blob: d395c89b3bc815d13007f28cb6e3025956c08ea9 [file] [log] [blame]
Adam Tkac8aee1a82009-09-04 12:08:56 +00001dnl Process this file with autoconf to produce a configure script.
2AC_PREREQ([2.57])
3AC_INIT([tigervnc], [0.0.91], [http://www.tigervnc.org])
4AM_INIT_AUTOMAKE([-Wall foreign dist-bzip2])
5
6AC_CONFIG_SUBDIRS([common/jpeg common/zlib])
7
8AC_CONFIG_HEADERS([config.h])
9
10dnl Checks for programs.
11AC_PROG_CC
12AC_PROG_CXX
13AC_PROG_LIBTOOL
14AC_LANG([C++])
15dnl AM_GNU_GETTEXT([external])
16dnl AM_GNU_GETTEXT_VERSION([0.14.1])
17
18case "`(uname -sr) 2>/dev/null`" in
19"SunOS 5"*)
20 SOLARIS=yes
21 USE_MITSHM=yes
22 USE_SUN_OVL=yes
23 ;;
24"IRIX 6"*)
25 LDFLAGS="-L/usr/lib32 $LDFLAGS"
26 USE_MITSHM=yes
27 USE_READDISPLAY=yes
28 ;;
29"LynxOS 2"*)
30 SJLJ_EXCEPTIONS=yes
31 ;;
32esac
33
Adam Tkac48c3d0c2009-09-04 12:32:07 +000034BUILD_WIN=
Adam Tkac8aee1a82009-09-04 12:08:56 +000035case "$host_os" in
36mingw*)
37 CPPFLAGS="$CPPFLAGS -DWINVER=0x0500 -D_WIN32_IE=0x0500"
38 CXXFLAGS="$CXXFLAGS -mthreads"
Adam Tkac48c3d0c2009-09-04 12:32:07 +000039 BUILD_WIN=yes
Adam Tkac8aee1a82009-09-04 12:08:56 +000040 ;;
41esac
Adam Tkac48c3d0c2009-09-04 12:32:07 +000042AM_CONDITIONAL([BUILD_WIN], [test "x$BUILD_WIN" = xyes])
Adam Tkac8aee1a82009-09-04 12:08:56 +000043
44dnl FIXME: Check for MIT-SHM properly, add a corresponding --with option.
45if test "$USE_MITSHM" = yes; then
46 MITSHM_DEFINE="-DHAVE_MITSHM"
47fi
48AC_SUBST(MITSHM_DEFINE)
49
50if test "$GCC" = yes; then
51 CFLAGS="$CFLAGS -Wall"
52 if test "$SOLARIS" = yes; then
53 CFLAGS="$CFLAGS -Wno-unknown-pragmas -Wno-implicit-int"
54 fi
55fi
56if test "$GXX" = yes; then
57 CXXFLAGS="$CXXFLAGS -Wall"
58 if test "$SOLARIS" = yes; then
59 CXXFLAGS="$CXXFLAGS -Wno-unknown-pragmas -fpermissive"
60 fi
61 if test "$SJLJ_EXCEPTIONS" = yes; then
62 CXXFLAGS="$CXXFLAGS -fsjlj-exceptions"
63 fi
64fi
65
66AC_PATH_XTRA
67
68VNCCONFIG_DIR='vncconfig'
69AC_ARG_ENABLE([vncconfig],
70 AS_HELP_STRING([--enable-vncconfig],
71 [build the vncconfig utility (default yes)]),
72 [if test "$enableval" = no; then VNCCONFIG_DIR=; fi ], [])
73AC_SUBST(VNCCONFIG_DIR)
74
75dnl Check for the XTest X11 extension library.
76AC_CHECK_LIB(Xtst,XTestGrabControl,USE_XTEST=yes,USE_XTEST=,
77 ["$X_LIBS" -lXext -lX11])
78if test "$USE_XTEST" = yes; then
79 XTEST_DEFINE='-DHAVE_XTEST'
80 XTEST_LIB=-lXtst
81else
82 echo Warning: No XTest extension, building x0vncserver view-only
83 XTEST_DEFINE=
84 XTEST_LIB=
85fi
86AC_SUBST(XTEST_DEFINE)
87AC_SUBST(XTEST_LIB)
88
89dnl Support for READDISPLAY (Irix) and SUN_OVL (Solaris) extensions
90dnl FIXME: Implement corresponding --with options.
91if test "$USE_READDISPLAY" = yes; then
92 READDISPLAY_DEFINE='-DHAVE_READDISPLAY'
93elif test "$USE_SUN_OVL" = yes; then
94 READDISPLAY_DEFINE='-DHAVE_SUN_OVL'
95else
96 READDISPLAY_DEFINE=
97fi
98AC_SUBST(READDISPLAY_DEFINE)
99
100dnl Under Lynx/OS 2.3, we have to link with -lbsd to resolve
101dnl gethostbyname, inet_addr, htons etc. Check if it's necessary.
102dnl NOTE: Did not want to use AC_SEARCH_LIBS which would add
103dnl -lbsd to LIBS. We set INET_LIB instead.
104AC_LANG_SAVE
105AC_LANG_C
106AC_CHECK_FUNC(gethostbyname,INET_LIB_REQ=,INET_LIB_REQ=yes)
107if test "$INET_LIB_REQ" = yes; then
108 AC_CHECK_LIB(bsd,gethostbyname,INET_LIB=-lbsd,INET_LIB=)
109fi
110AC_LANG_RESTORE
111AC_SUBST(INET_LIB)
112
113dnl Check for zlib library
114INCLUDED_ZLIB=no
115AC_ARG_WITH([included-zlib],
116 AS_HELP_STRING([--with-included-zlib],
117 [use libz which is distributed with VNC]),
118 [INCLUDED_ZLIB=yes],
119 [AC_SEARCH_LIBS([inflateEnd], [z], [], [INCLUDED_ZLIB=yes])])
120
121AM_CONDITIONAL([INCLUDED_ZLIB], [ test "x$INCLUDED_ZLIB" = xyes ])
122AC_CONFIG_SUBDIRS([zlib])
123
124dnl Check for libjpeg library
125INCLUDED_JPEG=yes
126AC_ARG_WITH([system-jpeg],
127 AS_HELP_STRING([--with-system-jpeg],
128 [use libjpeg which is distributed with the O/S]),
129 [AC_SEARCH_LIBS([jpeg_destroy_compress], [jpeg],
130 [INCLUDED_JPEG=no], [])],
131 [])
132
133AM_CONDITIONAL([INCLUDED_JPEG], [ test "x$INCLUDED_JPEG" = xyes ])
134AC_CONFIG_SUBDIRS([jpeg])
135
136AC_CHECK_FUNCS([vsnprintf snprintf strcasecmp strncasecmp])
137
138# IPv6 related functions
139AC_CHECK_FUNCS([inet_ntop getaddrinfo])
140
141AC_CHECK_TYPES([socklen_t], [], [], [[#include <sys/socket.h>]])
142
143AC_CHECK_HEADERS([sys/select.h])
144
145AC_OUTPUT([
146Makefile
147common/Makefile
148common/os/Makefile
149common/rdr/Makefile
150common/network/Makefile
151common/Xregion/Makefile
152common/rfb/Makefile
153unix/Makefile
154unix/tx/Makefile
155unix/x0vncserver/Makefile
156unix/vncviewer/Makefile
157unix/vncconfig/Makefile
158unix/vncpasswd/Makefile
159])