|
|
|
dnl Process this file with autoconf to produce a configure script.
|
|
|
|
dnl The macros which aren't shipped with the autotools are stored in the
|
|
|
|
dnl Tools/config directory in .m4 files.
|
|
|
|
|
|
|
|
AC_INIT([VisualNaCro],[0.1],[http://libvncserver.sourceforge.net])
|
|
|
|
AC_PREREQ(2.54)
|
|
|
|
AC_CANONICAL_HOST
|
|
|
|
AM_INIT_AUTOMAKE
|
|
|
|
|
|
|
|
dnl Checks for programs.
|
|
|
|
AC_CHECK_PROG(SWIG,swig)
|
|
|
|
AC_CHECK_PROG(LIBVNCSERVERCONFIG,libvncserver-config,yes,no)
|
|
|
|
if test "$LIBVNCSERVERCONFIG" != "yes"; then
|
|
|
|
AC_MSG_ERROR([Need to have libvncserver-config in PATH])
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
AC_PROG_CC
|
|
|
|
AC_PROG_RANLIB
|
|
|
|
AC_EXEEXT
|
|
|
|
AC_OBJEXT
|
|
|
|
|
|
|
|
LIBVNCSERVERCFLAGS=`libvncserver-config --cflags`
|
|
|
|
LIBVNCSERVERLIBS=`libvncserver-config --libs`
|
|
|
|
AC_SUBST(LIBVNCSERVERCFLAGS)
|
|
|
|
AC_SUBST(LIBVNCSERVERLIBS)
|
|
|
|
|
|
|
|
dnl Checks for header files.
|
|
|
|
AC_HEADER_STDC
|
|
|
|
|
|
|
|
dnl How to specify include directories that may be system directories.
|
|
|
|
# -I should not be used on system directories (GCC)
|
|
|
|
if test "$GCC" = yes; then
|
|
|
|
ISYSTEM="-isystem "
|
|
|
|
else
|
|
|
|
ISYSTEM="-I"
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
# Set info about shared libraries.
|
|
|
|
AC_SUBST(SO)
|
|
|
|
AC_SUBST(LDSHARED)
|
|
|
|
AC_SUBST(CCSHARED)
|
|
|
|
AC_SUBST(LINKFORSHARED)
|
|
|
|
|
|
|
|
# SO is the extension of shared libraries `(including the dot!)
|
|
|
|
AC_MSG_CHECKING(SO)
|
|
|
|
if test -z "$SO"
|
|
|
|
then
|
|
|
|
case $host in
|
|
|
|
*-*-hp*) SO=.sl;;
|
|
|
|
*-*-darwin*) SO=.bundle;;
|
|
|
|
*-*-cygwin* | *-*-mingw*) SO=.dll;;
|
|
|
|
*) SO=.so;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
AC_MSG_RESULT($SO)
|
|
|
|
|
|
|
|
# LDSHARED is the ld *command* used to create shared library
|
|
|
|
# -- "ld" on SunOS 4.x.x, "ld -G" on SunOS 5.x, "ld -shared" on IRIX 5
|
|
|
|
# (Shared libraries in this instance are shared modules to be loaded into
|
|
|
|
# Python, as opposed to building Python itself as a shared library.)
|
|
|
|
AC_MSG_CHECKING(LDSHARED)
|
|
|
|
if test -z "$LDSHARED"
|
|
|
|
then
|
|
|
|
case $host in
|
|
|
|
*-*-aix*) LDSHARED="\$(srcdir)/ld_so_aix \$(CC)";;
|
|
|
|
*-*-cygwin* | *-*-mingw*)
|
|
|
|
if test "$GCC" = yes; then
|
|
|
|
LDSHARED="dllwrap --driver-name gcc --dlltool dlltool --export-all-symbols --as as --dllname \$(LIBPREFIX)\$(TARGET)\$(SO)"
|
|
|
|
else
|
|
|
|
if test "cl" = $CC ; then
|
|
|
|
# Microsoft Visual C++ (MSVC)
|
|
|
|
LDSHARED="$CC -nologo -LD"
|
|
|
|
else
|
|
|
|
# Unknown compiler try gcc approach
|
|
|
|
LDSHARED="$CC -shared"
|
|
|
|
fi
|
|
|
|
fi ;;
|
|
|
|
*-*-irix5*) LDSHARED="ld -shared";;
|
|
|
|
*-*-irix6*) LDSHARED="ld ${SGI_ABI} -shared -all";;
|
|
|
|
*-*-sunos4*) LDSHARED="ld";;
|
|
|
|
*-*-solaris*) LDSHARED="ld -G";;
|
|
|
|
*-*-hp*) LDSHARED="ld -b";;
|
|
|
|
*-*-osf*) LDSHARED="ld -shared -expect_unresolved \"*\"";;
|
|
|
|
*-sequent-sysv4) LDSHARED="ld -G";;
|
|
|
|
*-*-next*)
|
|
|
|
if test "$ns_dyld"
|
|
|
|
then LDSHARED='$(CC) $(LDFLAGS) -bundle -prebind'
|
|
|
|
else LDSHARED='$(CC) $(CFLAGS) -nostdlib -r';
|
|
|
|
fi
|
|
|
|
if test "$with_next_framework" ; then
|
|
|
|
LDSHARED="$LDSHARED \$(LDLIBRARY)"
|
|
|
|
fi ;;
|
|
|
|
*-*-linux*) LDSHARED="gcc -shared";;
|
|
|
|
*-*-dgux*) LDSHARED="ld -G";;
|
|
|
|
*-*-freebsd3*) LDSHARED="gcc -shared";;
|
|
|
|
*-*-freebsd* | *-*-openbsd*) LDSHARED="ld -Bshareable";;
|
|
|
|
*-*-netbsd*)
|
|
|
|
if [[ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]]
|
|
|
|
then
|
|
|
|
LDSHARED="cc -shared"
|
|
|
|
else
|
|
|
|
LDSHARED="ld -Bshareable"
|
|
|
|
fi;;
|
|
|
|
*-sco-sysv*) LDSHARED="cc -G -KPIC -Ki486 -belf -Wl,-Bexport";;
|
|
|
|
*-*-darwin*) LDSHARED="cc -bundle -undefined suppress -flat_namespace";;
|
|
|
|
*) LDSHARED="ld";;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
AC_MSG_RESULT($LDSHARED)
|
|
|
|
# CCSHARED are the C *flags* used to create objects to go into a shared
|
|
|
|
# library (module) -- this is only needed for a few systems
|
|
|
|
AC_MSG_CHECKING(CCSHARED)
|
|
|
|
if test -z "$CCSHARED"
|
|
|
|
then
|
|
|
|
case $host in
|
|
|
|
*-*-hp*) if test "$GCC" = yes;
|
|
|
|
then CCSHARED="-fpic";
|
|
|
|
else CCSHARED="+z";
|
|
|
|
fi;;
|
|
|
|
*-*-linux*) CCSHARED="-fpic";;
|
|
|
|
*-*-freebsd* | *-*-openbsd*) CCSHARED="-fpic";;
|
|
|
|
*-*-netbsd*) CCSHARED="-fPIC";;
|
|
|
|
*-sco-sysv*) CCSHARED="-KPIC -dy -Bdynamic";;
|
|
|
|
*-*-irix6*) case $CC in
|
|
|
|
*gcc*) CCSHARED="-shared";;
|
|
|
|
*) CCSHARED="";;
|
|
|
|
esac;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
AC_MSG_RESULT($CCSHARED)
|
|
|
|
|
|
|
|
# RPATH is the path used to look for shared library files.
|
|
|
|
AC_MSG_CHECKING(RPATH)
|
|
|
|
if test -z "$RPATH"
|
|
|
|
then
|
|
|
|
case $host in
|
|
|
|
*-*-solaris*) RPATH='-R. -R$(exec_prefix)/lib';;
|
|
|
|
*-*-irix*) RPATH='-rpath .:$(exec_prefix)/lib';;
|
|
|
|
*-*-linux*) RPATH='-Xlinker -rpath $(exec_prefix)/lib -Xlinker -rpath .';;
|
|
|
|
*) RPATH='';;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
AC_MSG_RESULT($RPATH)
|
|
|
|
AC_SUBST(RPATH)
|
|
|
|
|
|
|
|
# LINKFORSHARED are the flags passed to the $(CC) command that links
|
|
|
|
# the a few executables -- this is only needed for a few systems
|
|
|
|
|
|
|
|
AC_MSG_CHECKING(LINKFORSHARED)
|
|
|
|
if test -z "$LINKFORSHARED"
|
|
|
|
then
|
|
|
|
case $host in
|
|
|
|
*-*-aix*) LINKFORSHARED='-Wl,-bE:$(srcdir)/python.exp -lld';;
|
|
|
|
*-*-hp*)
|
|
|
|
LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";;
|
|
|
|
*-*-linux*) LINKFORSHARED="-Xlinker -export-dynamic";;
|
|
|
|
*-*-next*) LINKFORSHARED="-u libsys_s";;
|
|
|
|
*-sco-sysv*) LINKFORSHARED="-Bdynamic -dy -Wl,-Bexport";;
|
|
|
|
*-*-irix6*) LINKFORSHARED="-all";;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
AC_MSG_RESULT($LINKFORSHARED)
|
|
|
|
|
|
|
|
# This variation is needed on OS-X because there is no (apparent) consistency in shared libary naming.
|
|
|
|
# Sometimes .bundle works, but sometimes .so is needed. It depends on the target language
|
|
|
|
|
|
|
|
# Optional CFLAGS used to silence compiler warnings on some platforms.
|
|
|
|
|
|
|
|
AC_SUBST(PLATFLAGS)
|
|
|
|
case $host in
|
|
|
|
*-*-darwin*) PLATFLAGS="-Wno-long-double";;
|
|
|
|
*) PLATFLAGS="";;
|
|
|
|
esac
|
|
|
|
|
|
|
|
#----------------------------------------------------------------
|
|
|
|
# Look for Perl5
|
|
|
|
#----------------------------------------------------------------
|
|
|
|
|
|
|
|
PERLBIN=
|
|
|
|
|
|
|
|
AC_ARG_WITH(perl5,[ --with-perl5=path Set location of Perl5 executable],[ PERLBIN="$withval"], [PERLBIN=])
|
|
|
|
|
|
|
|
# First figure out what the name of Perl5 is
|
|
|
|
|
|
|
|
if test -z "$PERLBIN"; then
|
|
|
|
AC_CHECK_PROGS(PERL, perl perl5.8.1 perl5.6.1 perl5.6.0 perl5.004 perl5.003 perl5.002 perl5.001 perl5 perl)
|
|
|
|
else
|
|
|
|
PERL="$PERLBIN"
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
AC_MSG_CHECKING(for Perl5 header files)
|
|
|
|
if test -n "$PERL"; then
|
|
|
|
PERL5DIR=`($PERL -e 'use Config; print $Config{archlib}, "\n";') 2>/dev/null`
|
|
|
|
if test "$PERL5DIR" != ""; then
|
|
|
|
dirs="$PERL5DIR $PERL5DIR/CORE"
|
|
|
|
PERL5EXT=none
|
|
|
|
for i in $dirs; do
|
|
|
|
if test -r $i/perl.h; then
|
|
|
|
AC_MSG_RESULT($i)
|
|
|
|
PERL5EXT="$i"
|
|
|
|
break;
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
if test "$PERL5EXT" = none; then
|
|
|
|
PERL5EXT="$PERL5DIR/CORE"
|
|
|
|
AC_MSG_RESULT(could not locate perl.h...using $PERL5EXT)
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_MSG_CHECKING(for Perl5 library)
|
|
|
|
PERL5LIB=`($PERL -e 'use Config; $_=$Config{libperl}; s/^lib//; s/$Config{_a}$//; print $_, "\n"') 2>/dev/null`
|
|
|
|
if test "$PERL5LIB" = "" ; then
|
|
|
|
AC_MSG_RESULT(not found)
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT($PERL5LIB)
|
|
|
|
fi
|
|
|
|
AC_MSG_CHECKING(for Perl5 compiler options)
|
|
|
|
PERL5CCFLAGS=`($PERL -e 'use Config; print $Config{ccflags}, "\n"' | sed "s/-I/$ISYSTEM/") 2>/dev/null`
|
|
|
|
if test "$PERL5CCFLAGS" = "" ; then
|
|
|
|
AC_MSG_RESULT(not found)
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT($PERL5CCFLAGS)
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT(unable to determine perl5 configuration)
|
|
|
|
PERL5EXT=$PERL5DIR
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT(could not figure out how to run perl5)
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Cygwin (Windows) needs the library for dynamic linking
|
|
|
|
case $host in
|
|
|
|
*-*-cygwin* | *-*-mingw*) PERL5DYNAMICLINKING="-L$PERL5EXT -l$PERL5LIB";;
|
|
|
|
*)PERL5DYNAMICLINKING="";;
|
|
|
|
esac
|
|
|
|
|
|
|
|
AC_SUBST(PERL)
|
|
|
|
AC_SUBST(PERL5EXT)
|
|
|
|
AC_SUBST(PERL5DYNAMICLINKING)
|
|
|
|
AC_SUBST(PERL5LIB)
|
|
|
|
AC_SUBST(PERL5CCFLAGS)
|
|
|
|
|
|
|
|
#----------------------------------------------------------------
|
|
|
|
# Miscellaneous
|
|
|
|
#----------------------------------------------------------------
|
|
|
|
|
|
|
|
AC_CONFIG_FILES([Makefile])
|
|
|
|
AC_OUTPUT
|
|
|
|
|
|
|
|
dnl configure.in ends here
|