Adam Tkac | fded078 | 2008-03-22 11:20:54 +0000 | [diff] [blame] | 1 | dnl Process this file with autoconf to produce a configure script. |
Adam Tkac | bf98c21 | 2008-04-17 15:25:41 +0000 | [diff] [blame] | 2 | AC_PREREQ([2.61]) |
| 3 | AC_INIT([tightvnc], [1.5.0a1], [http://www.tightvnc.com/bugs.html]) |
Adam Tkac | fded078 | 2008-03-22 11:20:54 +0000 | [diff] [blame] | 4 | |
Adam Tkac | bf98c21 | 2008-04-17 15:25:41 +0000 | [diff] [blame] | 5 | AC_CONFIG_SUBDIRS([../common]) |
Adam Tkac | fded078 | 2008-03-22 11:20:54 +0000 | [diff] [blame] | 6 | |
| 7 | dnl Checks for programs. |
| 8 | AC_PROG_CC |
| 9 | AC_PROG_CXX |
| 10 | AC_PROG_RANLIB |
| 11 | AC_PROG_MAKE_SET |
Adam Tkac | bf98c21 | 2008-04-17 15:25:41 +0000 | [diff] [blame] | 12 | AC_LANG([C++]) |
Adam Tkac | fded078 | 2008-03-22 11:20:54 +0000 | [diff] [blame] | 13 | |
| 14 | case "`(uname -sr) 2>/dev/null`" in |
| 15 | "SunOS 5"*) |
| 16 | SOLARIS=yes |
| 17 | USE_MITSHM=yes |
| 18 | USE_SUN_OVL=yes |
| 19 | ;; |
| 20 | "Linux"*) |
| 21 | LINUX=yes |
| 22 | USE_MITSHM=yes |
| 23 | ;; |
| 24 | "IRIX 6"*) |
| 25 | X_LIBS="-L/usr/lib32" |
| 26 | USE_MITSHM=yes |
| 27 | USE_READDISPLAY=yes |
| 28 | ;; |
| 29 | "LynxOS 2"*) |
| 30 | SJLJ_EXCEPTIONS=yes |
| 31 | ;; |
| 32 | esac |
| 33 | |
| 34 | dnl FIXME: Check for MIT-SHM properly, add a corresponding --with option. |
| 35 | if test "$USE_MITSHM" = yes; then |
| 36 | MITSHM_DEFINE="-DHAVE_MITSHM" |
| 37 | fi |
| 38 | AC_SUBST(MITSHM_DEFINE) |
| 39 | |
| 40 | if test "$GCC" = yes; then |
| 41 | CFLAGS="$CFLAGS -Wall" |
| 42 | if test "$SOLARIS" = yes; then |
| 43 | CFLAGS="$CFLAGS -Wno-unknown-pragmas -Wno-implicit-int" |
| 44 | fi |
| 45 | fi |
| 46 | if test "$GXX" = yes; then |
| 47 | CXXFLAGS="$CXXFLAGS -Wall" |
| 48 | if test "$SOLARIS" = yes; then |
| 49 | CXXFLAGS="$CXXFLAGS -Wno-unknown-pragmas -fpermissive" |
| 50 | fi |
| 51 | if test "$SJLJ_EXCEPTIONS" = yes; then |
| 52 | CXXFLAGS="$CXXFLAGS -fsjlj-exceptions" |
| 53 | fi |
| 54 | fi |
| 55 | |
| 56 | dnl Check for IRIX-specific Compression Library. |
| 57 | AC_CHECK_LIB(cl, clQuerySchemeFromName, |
| 58 | [AC_DEFINE(HAVE_CL) |
| 59 | CL_LIB=-lcl]) |
| 60 | AC_SUBST(CL_LIB) |
| 61 | |
| 62 | dnl Check for IRIX-specific Digital Media libraries. |
| 63 | AC_CHECK_LIB(dmedia, dmICCreate, |
| 64 | [AC_DEFINE(HAVE_DMEDIA) |
| 65 | DMEDIA_LIB=-ldmedia]) |
| 66 | AC_SUBST(DMEDIA_LIB) |
| 67 | |
| 68 | AC_PATH_XTRA |
| 69 | |
| 70 | AC_ARG_WITH(installed-zlib, |
| 71 | [ --with-installed-zlib use the version of zlib which is installed on the |
| 72 | system instead of the one distributed with VNC]) |
| 73 | |
| 74 | if test "$with_installed_zlib" = yes; then |
| 75 | echo "using installed zlib" |
| 76 | ZLIB_LIB=-lz |
| 77 | else |
| 78 | ZLIB_DIR='$(COMMON)/zlib' |
| 79 | ZLIB_INCLUDE='-I$(COMMON)/zlib' |
| 80 | ZLIB_LIB='$(COMMON)/zlib/libz.a' |
| 81 | fi |
| 82 | |
| 83 | AC_SUBST(ZLIB_DIR) |
| 84 | AC_SUBST(ZLIB_INCLUDE) |
| 85 | AC_SUBST(ZLIB_LIB) |
| 86 | |
| 87 | AC_ARG_WITH(installed-jpeg, |
| 88 | [ --with-installed-jpeg use the version of jpeg which is installed on the |
| 89 | system instead of the one distributed with VNC]) |
| 90 | |
| 91 | if test "$with_installed_jpeg" = yes; then |
| 92 | echo "using installed jpeg" |
| 93 | JPEG_LIB=-ljpeg |
| 94 | else |
| 95 | JPEG_DIR='$(COMMON)/jpeg/build' |
| 96 | JPEG_INCLUDE='-I$(COMMON)/jpeg' |
| 97 | JPEG_LIB='$(COMMON)/jpeg/build/libjpeg.a' |
| 98 | fi |
| 99 | |
| 100 | AC_SUBST(JPEG_DIR) |
| 101 | AC_SUBST(JPEG_INCLUDE) |
| 102 | AC_SUBST(JPEG_LIB) |
| 103 | |
| 104 | AC_ARG_ENABLE(vncconfig, |
| 105 | [ --enable-vncconfig build the vncconfig utility (assumed by default), |
| 106 | use --disable-vncconfig to skip building vncconfig]) |
| 107 | if test "$enable_vncconfig" = no; then |
| 108 | echo "vncconfig utility will not be built" |
| 109 | VNCCONFIG_DIR= |
| 110 | else |
| 111 | VNCCONFIG_DIR='vncconfig' |
| 112 | fi |
| 113 | AC_SUBST(VNCCONFIG_DIR) |
| 114 | |
| 115 | dnl Check for the XTest X11 extension library. |
| 116 | AC_CHECK_LIB(Xtst,XTestGrabControl,USE_XTEST=yes,USE_XTEST=, |
| 117 | ["$X_LIBS" -lXext -lX11]) |
| 118 | if test "$USE_XTEST" = yes; then |
| 119 | XTEST_DEFINE='-DHAVE_XTEST' |
| 120 | XTEST_LIB=-lXtst |
| 121 | else |
| 122 | echo Warning: No XTest extension, building x0vncserver view-only |
| 123 | XTEST_DEFINE= |
| 124 | XTEST_LIB= |
| 125 | fi |
| 126 | AC_SUBST(XTEST_DEFINE) |
| 127 | AC_SUBST(XTEST_LIB) |
| 128 | |
| 129 | dnl Support for READDISPLAY (Irix) and SUN_OVL (Solaris) extensions |
| 130 | dnl FIXME: Implement corresponding --with options. |
| 131 | if test "$USE_READDISPLAY" = yes; then |
| 132 | READDISPLAY_DEFINE='-DHAVE_READDISPLAY' |
| 133 | elif test "$USE_SUN_OVL" = yes; then |
| 134 | READDISPLAY_DEFINE='-DHAVE_SUN_OVL' |
| 135 | else |
| 136 | READDISPLAY_DEFINE= |
| 137 | fi |
| 138 | AC_SUBST(READDISPLAY_DEFINE) |
| 139 | |
| 140 | dnl Under Lynx/OS 2.3, we have to link with -lbsd to resolve |
| 141 | dnl gethostbyname, inet_addr, htons etc. Check if it's necessary. |
| 142 | dnl NOTE: Did not want to use AC_SEARCH_LIBS which would add |
| 143 | dnl -lbsd to LIBS. We set INET_LIB instead. |
| 144 | AC_LANG_SAVE |
| 145 | AC_LANG_C |
| 146 | AC_CHECK_FUNC(gethostbyname,INET_LIB_REQ=,INET_LIB_REQ=yes) |
| 147 | if test "$INET_LIB_REQ" = yes; then |
| 148 | AC_CHECK_LIB(bsd,gethostbyname,INET_LIB=-lbsd,INET_LIB=) |
| 149 | fi |
| 150 | AC_LANG_RESTORE |
| 151 | AC_SUBST(INET_LIB) |
| 152 | |
Adam Tkac | 57004b3 | 2008-04-17 15:40:15 +0000 | [diff] [blame] | 153 | dnl AM_GNU_GETTEXT |
Adam Tkac | fded078 | 2008-03-22 11:20:54 +0000 | [diff] [blame] | 154 | |
| 155 | BOILERPLATE=boilerplate.mk |
| 156 | |
| 157 | if (sh -c "make --version" 2>/dev/null | grep GNU 2>&1 >/dev/null); then |
| 158 | if sh -c "vncmkdepend" >/dev/null 2>&1; then |
| 159 | BOILERPLATE="$BOILERPLATE:depend.mk" |
| 160 | fi |
| 161 | fi |
| 162 | |
| 163 | AC_OUTPUT(Makefile:common.mk:Makefile.in:$BOILERPLATE \ |
| 164 | tx/Makefile:common.mk:tx/Makefile.in:$BOILERPLATE \ |
| 165 | x0vncserver/Makefile:common.mk:x0vncserver/Makefile.in:$BOILERPLATE \ |
| 166 | vncviewer/Makefile:common.mk:vncviewer/Makefile.in:$BOILERPLATE \ |
| 167 | vncconfig/Makefile:common.mk:vncconfig/Makefile.in:$BOILERPLATE \ |
| 168 | vncpasswd/Makefile:common.mk:vncpasswd/Makefile.in:$BOILERPLATE \ |
| 169 | intl/Makefile \ |
| 170 | po/Makefile.in \ |
| 171 | ) |