blob: 875785ee5dd13e76d001589af6d3ea5deab1f44f [file] [log] [blame]
Adam Tkacfded0782008-03-22 11:20:54 +00001dnl Process this file with autoconf to produce a configure script.
Adam Tkacbf98c212008-04-17 15:25:41 +00002AC_PREREQ([2.61])
3AC_INIT([tightvnc], [1.5.0a1], [http://www.tightvnc.com/bugs.html])
Adam Tkacfded0782008-03-22 11:20:54 +00004
Adam Tkacbf98c212008-04-17 15:25:41 +00005AC_CONFIG_SUBDIRS([../common])
Adam Tkacfded0782008-03-22 11:20:54 +00006
7dnl Checks for programs.
8AC_PROG_CC
9AC_PROG_CXX
10AC_PROG_RANLIB
11AC_PROG_MAKE_SET
Adam Tkacbf98c212008-04-17 15:25:41 +000012AC_LANG([C++])
Adam Tkacfded0782008-03-22 11:20:54 +000013
14case "`(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 ;;
32esac
33
34dnl FIXME: Check for MIT-SHM properly, add a corresponding --with option.
35if test "$USE_MITSHM" = yes; then
36 MITSHM_DEFINE="-DHAVE_MITSHM"
37fi
38AC_SUBST(MITSHM_DEFINE)
39
40if 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
45fi
46if 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
54fi
55
56dnl Check for IRIX-specific Compression Library.
57AC_CHECK_LIB(cl, clQuerySchemeFromName,
58 [AC_DEFINE(HAVE_CL)
59 CL_LIB=-lcl])
60AC_SUBST(CL_LIB)
61
62dnl Check for IRIX-specific Digital Media libraries.
63AC_CHECK_LIB(dmedia, dmICCreate,
64 [AC_DEFINE(HAVE_DMEDIA)
65 DMEDIA_LIB=-ldmedia])
66AC_SUBST(DMEDIA_LIB)
67
68AC_PATH_XTRA
69
70AC_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
74if test "$with_installed_zlib" = yes; then
75 echo "using installed zlib"
76 ZLIB_LIB=-lz
77else
78 ZLIB_DIR='$(COMMON)/zlib'
79 ZLIB_INCLUDE='-I$(COMMON)/zlib'
80 ZLIB_LIB='$(COMMON)/zlib/libz.a'
81fi
82
83AC_SUBST(ZLIB_DIR)
84AC_SUBST(ZLIB_INCLUDE)
85AC_SUBST(ZLIB_LIB)
86
87AC_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
91if test "$with_installed_jpeg" = yes; then
92 echo "using installed jpeg"
93 JPEG_LIB=-ljpeg
94else
95 JPEG_DIR='$(COMMON)/jpeg/build'
96 JPEG_INCLUDE='-I$(COMMON)/jpeg'
97 JPEG_LIB='$(COMMON)/jpeg/build/libjpeg.a'
98fi
99
100AC_SUBST(JPEG_DIR)
101AC_SUBST(JPEG_INCLUDE)
102AC_SUBST(JPEG_LIB)
103
104AC_ARG_ENABLE(vncconfig,
105[ --enable-vncconfig build the vncconfig utility (assumed by default),
106 use --disable-vncconfig to skip building vncconfig])
107if test "$enable_vncconfig" = no; then
108 echo "vncconfig utility will not be built"
109 VNCCONFIG_DIR=
110else
111 VNCCONFIG_DIR='vncconfig'
112fi
113AC_SUBST(VNCCONFIG_DIR)
114
115dnl Check for the XTest X11 extension library.
116AC_CHECK_LIB(Xtst,XTestGrabControl,USE_XTEST=yes,USE_XTEST=,
117["$X_LIBS" -lXext -lX11])
118if test "$USE_XTEST" = yes; then
119 XTEST_DEFINE='-DHAVE_XTEST'
120 XTEST_LIB=-lXtst
121else
122 echo Warning: No XTest extension, building x0vncserver view-only
123 XTEST_DEFINE=
124 XTEST_LIB=
125fi
126AC_SUBST(XTEST_DEFINE)
127AC_SUBST(XTEST_LIB)
128
129dnl Support for READDISPLAY (Irix) and SUN_OVL (Solaris) extensions
130dnl FIXME: Implement corresponding --with options.
131if test "$USE_READDISPLAY" = yes; then
132 READDISPLAY_DEFINE='-DHAVE_READDISPLAY'
133elif test "$USE_SUN_OVL" = yes; then
134 READDISPLAY_DEFINE='-DHAVE_SUN_OVL'
135else
136 READDISPLAY_DEFINE=
137fi
138AC_SUBST(READDISPLAY_DEFINE)
139
140dnl Under Lynx/OS 2.3, we have to link with -lbsd to resolve
141dnl gethostbyname, inet_addr, htons etc. Check if it's necessary.
142dnl NOTE: Did not want to use AC_SEARCH_LIBS which would add
143dnl -lbsd to LIBS. We set INET_LIB instead.
144AC_LANG_SAVE
145AC_LANG_C
146AC_CHECK_FUNC(gethostbyname,INET_LIB_REQ=,INET_LIB_REQ=yes)
147if test "$INET_LIB_REQ" = yes; then
148 AC_CHECK_LIB(bsd,gethostbyname,INET_LIB=-lbsd,INET_LIB=)
149fi
150AC_LANG_RESTORE
151AC_SUBST(INET_LIB)
152
153AM_GNU_GETTEXT
154
155BOILERPLATE=boilerplate.mk
156
157if (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
161fi
162
163AC_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)