blob: 9b58f275ce733d30afd0751887a4e0be30c5444e [file] [log] [blame]
dnl Process this file with autoconf to produce a configure script.
AC_INIT(vncviewer_unix/vncviewer.cxx)
PACKAGE=tightvnc
VERSION=1.5.0
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)
dnl dirty hack to prevent use of -g in CFLAGS and CXXFLAGS
ac_cv_prog_cc_g=no
ac_cv_prog_cxx_g=no
dnl Checks for programs.
AC_PROG_CC
AC_PROG_CXX
AC_PROG_RANLIB
AC_PROG_MAKE_SET
AC_LANG_CPLUSPLUS
case "`(uname -sr) 2>/dev/null`" in
"SunOS 5"*)
SOLARIS=yes
USE_MITSHM=yes
USE_SUN_OVL=yes
;;
"Linux"*)
LINUX=yes
USE_MITSHM=yes
;;
"IRIX 6"*)
X_LIBS="-L/usr/lib32"
USE_MITSHM=yes
USE_READDISPLAY=yes
;;
"LynxOS 2"*)
SJLJ_EXCEPTIONS=yes
;;
esac
dnl FIXME: Check for MIT-SHM properly, add a corresponding --with option.
if test "$USE_MITSHM" = yes; then
MITSHM_DEFINE="-DHAVE_MITSHM"
fi
AC_SUBST(MITSHM_DEFINE)
if test "$GCC" = yes; then
CFLAGS="$CFLAGS -Wall"
if test "$SOLARIS" = yes; then
CFLAGS="$CFLAGS -Wno-unknown-pragmas -Wno-implicit-int"
fi
fi
if test "$GXX" = yes; then
CXXFLAGS="$CXXFLAGS -Wall"
if test "$SOLARIS" = yes; then
CXXFLAGS="$CXXFLAGS -Wno-unknown-pragmas -fpermissive"
fi
if test "$SJLJ_EXCEPTIONS" = yes; then
CXXFLAGS="$CXXFLAGS -fsjlj-exceptions"
fi
fi
AC_PATH_XTRA
AC_ARG_WITH(installed-zlib,
[ --with-installed-zlib use the version of zlib which is installed on the
system instead of the one distributed with VNC])
if test "$with_installed_zlib" = yes; then
echo "using installed zlib"
ZLIB_LIB=-lz
else
ZLIB_DIR=zlib
ZLIB_INCLUDE='-I$(top_srcdir)/zlib'
ZLIB_LIB='$(top_srcdir)/zlib/libz.a'
echo "configuring zlib..."
(cd zlib; ./configure)
echo "...done configuring zlib"
fi
AC_SUBST(ZLIB_DIR)
AC_SUBST(ZLIB_INCLUDE)
AC_SUBST(ZLIB_LIB)
AC_ARG_WITH(installed-jpeg,
[ --with-installed-jpeg use the version of jpeg which is installed on the
system instead of the one distributed with VNC])
if test "$with_installed_jpeg" = yes; then
echo "using installed jpeg"
JPEG_LIB=-ljpeg
else
JPEG_DIR=jpeg/build
JPEG_INCLUDE='-I$(top_srcdir)/jpeg'
JPEG_LIB='$(top_srcdir)/jpeg/build/libjpeg.a'
echo "configuring jpeg..."
(mkdir jpeg/build; cd jpeg/build; ../configure)
echo "...done configuring jpeg"
fi
AC_SUBST(JPEG_DIR)
AC_SUBST(JPEG_INCLUDE)
AC_SUBST(JPEG_LIB)
AC_ARG_ENABLE(vncconfig,
[ --enable-vncconfig build the vncconfig utility (assumed by default),
use --disable-vncconfig to skip building vncconfig])
if test "$enable_vncconfig" = no; then
echo "vncconfig utility will not be built"
VNCCONFIG_DIR=
else
VNCCONFIG_DIR='vncconfig_unix'
fi
AC_SUBST(VNCCONFIG_DIR)
dnl Check for the XTest X11 extension library.
AC_CHECK_LIB(Xtst,XTestGrabControl,USE_XTEST=yes,USE_XTEST=,
["$X_LIBS" -lXext -lX11])
if test "$USE_XTEST" = yes; then
XTEST_DEFINE='-DHAVE_XTEST'
XTEST_LIB=-lXtst
else
echo Warning: No XTest extension, building x0vncserver view-only
XTEST_DEFINE=
XTEST_LIB=
fi
AC_SUBST(XTEST_DEFINE)
AC_SUBST(XTEST_LIB)
dnl Support for READDISPLAY (Irix) and SUN_OVL (Solaris) extensions
dnl FIXME: Implement corresponding --with options.
if test "$USE_READDISPLAY" = yes; then
READDISPLAY_DEFINE='-DHAVE_READDISPLAY'
elif test "$USE_SUN_OVL" = yes; then
READDISPLAY_DEFINE='-DHAVE_SUN_OVL'
else
READDISPLAY_DEFINE=
fi
AC_SUBST(READDISPLAY_DEFINE)
AC_CHECK_FUNC(vsnprintf,VSNPRINTF_DEFINE='-DHAVE_VSNPRINTF',VSNPRINTF_DEFINE=)
AC_SUBST(VSNPRINTF_DEFINE)
AC_CHECK_FUNC(strcasecmp,STRCASECMP_DEFINE='-DHAVE_STRCASECMP',
STRCASECMP_DEFINE=)
AC_SUBST(STRCASECMP_DEFINE)
AC_CHECK_FUNC(strncasecmp,STRNCASECMP_DEFINE='-DHAVE_STRNCASECMP',
STRNCASECMP_DEFINE=)
AC_SUBST(STRNCASECMP_DEFINE)
dnl Under Lynx/OS 2.3, we have to link with -lbsd to resolve
dnl gethostbyname, inet_addr, htons etc. Check if it's necessary.
dnl NOTE: Did not want to use AC_SEARCH_LIBS which would add
dnl -lbsd to LIBS. We set INET_LIB instead.
AC_LANG_SAVE
AC_LANG_C
AC_CHECK_FUNC(gethostbyname,INET_LIB_REQ=,INET_LIB_REQ=yes)
if test "$INET_LIB_REQ" = yes; then
AC_CHECK_LIB(bsd,gethostbyname,INET_LIB=-lbsd,INET_LIB=)
fi
AC_LANG_RESTORE
AC_SUBST(INET_LIB)
AC_MSG_CHECKING(for socklen_t)
AC_TRY_COMPILE(
[#include <sys/types.h>
#include <sys/socket.h>],
[socklen_t x;
accept(0, 0, &x);],
AC_MSG_RESULT(yes)
SOCKLEN_T_DEFINE='-DVNC_SOCKLEN_T=socklen_t',
AC_MSG_RESULT(using int)
SOCKLEN_T_DEFINE='-DVNC_SOCKLEN_T=int')
AC_SUBST(SOCKLEN_T_DEFINE)
AM_GNU_GETTEXT
BOILERPLATE=boilerplate.mk
if (sh -c "make --version" 2>/dev/null | grep GNU 2>&1 >/dev/null); then
if sh -c "vncmkdepend" >/dev/null 2>&1; then
BOILERPLATE="$BOILERPLATE:depend.mk"
fi
fi
AC_OUTPUT(Makefile:Makefile.in:$BOILERPLATE intl/Makefile po/Makefile.in \
rdr/Makefile:rdr/Makefile.in:$BOILERPLATE \
network/Makefile:network/Makefile.in:$BOILERPLATE \
Xregion/Makefile:Xregion/Makefile.in:$BOILERPLATE \
rfb/Makefile:rfb/Makefile.in:$BOILERPLATE \
tx/Makefile:tx/Makefile.in:$BOILERPLATE \
x0vncserver/Makefile:x0vncserver/Makefile.in:$BOILERPLATE \
vncviewer_unix/Makefile:vncviewer_unix/Makefile.in:$BOILERPLATE \
vncconfig_unix/Makefile:vncconfig_unix/Makefile.in:$BOILERPLATE \
vncpasswd/Makefile:vncpasswd/Makefile.in:$BOILERPLATE \
)