blob: 6f2d5ef0eecf723a9ad39dbeda248cc69b6bdafd [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])
Adam Tkacb514bc72009-12-21 15:02:35 +00003AC_INIT([tigervnc], [1.0.90], [http://www.tigervnc.org])
Pierre Ossmanee6d50c2010-03-19 15:46:35 +00004AC_CONFIG_AUX_DIR([.])
Adam Tkac8aee1a82009-09-04 12:08:56 +00005AM_INIT_AUTOMAKE([-Wall foreign dist-bzip2])
6
7AC_CONFIG_SUBDIRS([common/jpeg common/zlib])
8
9AC_CONFIG_HEADERS([config.h])
10
11dnl Checks for programs.
12AC_PROG_CC
13AC_PROG_CXX
14AC_PROG_LIBTOOL
15AC_LANG([C++])
Adam Tkac8cfa1ed2009-09-07 10:34:58 +000016AM_GNU_GETTEXT([external])
17AM_GNU_GETTEXT_VERSION([0.14.1])
Adam Tkac8aee1a82009-09-04 12:08:56 +000018
19case "`(uname -sr) 2>/dev/null`" in
20"SunOS 5"*)
21 SOLARIS=yes
22 USE_MITSHM=yes
23 USE_SUN_OVL=yes
24 ;;
25"IRIX 6"*)
26 LDFLAGS="-L/usr/lib32 $LDFLAGS"
27 USE_MITSHM=yes
28 USE_READDISPLAY=yes
29 ;;
30"LynxOS 2"*)
31 SJLJ_EXCEPTIONS=yes
32 ;;
33esac
34
Adam Tkac48c3d0c2009-09-04 12:32:07 +000035BUILD_WIN=
Adam Tkac8aee1a82009-09-04 12:08:56 +000036case "$host_os" in
37mingw*)
38 CPPFLAGS="$CPPFLAGS -DWINVER=0x0500 -D_WIN32_IE=0x0500"
39 CXXFLAGS="$CXXFLAGS -mthreads"
Adam Tkac48c3d0c2009-09-04 12:32:07 +000040 BUILD_WIN=yes
Adam Tkac08c5d472009-09-04 13:19:19 +000041 AC_CHECK_TOOL([WINDRES], windres, [AC_MSG_ERROR(windres not found)])
Adam Tkac8aee1a82009-09-04 12:08:56 +000042 ;;
43esac
Adam Tkac48c3d0c2009-09-04 12:32:07 +000044AM_CONDITIONAL([BUILD_WIN], [test "x$BUILD_WIN" = xyes])
Adam Tkac8aee1a82009-09-04 12:08:56 +000045
46dnl FIXME: Check for MIT-SHM properly, add a corresponding --with option.
47if test "$USE_MITSHM" = yes; then
48 MITSHM_DEFINE="-DHAVE_MITSHM"
49fi
50AC_SUBST(MITSHM_DEFINE)
51
52if test "$GCC" = yes; then
53 CFLAGS="$CFLAGS -Wall"
54 if test "$SOLARIS" = yes; then
55 CFLAGS="$CFLAGS -Wno-unknown-pragmas -Wno-implicit-int"
56 fi
57fi
58if test "$GXX" = yes; then
59 CXXFLAGS="$CXXFLAGS -Wall"
60 if test "$SOLARIS" = yes; then
61 CXXFLAGS="$CXXFLAGS -Wno-unknown-pragmas -fpermissive"
62 fi
63 if test "$SJLJ_EXCEPTIONS" = yes; then
64 CXXFLAGS="$CXXFLAGS -fsjlj-exceptions"
65 fi
66fi
67
68AC_PATH_XTRA
69
70VNCCONFIG_DIR='vncconfig'
71AC_ARG_ENABLE([vncconfig],
72 AS_HELP_STRING([--enable-vncconfig],
73 [build the vncconfig utility (default yes)]),
74 [if test "$enableval" = no; then VNCCONFIG_DIR=; fi ], [])
75AC_SUBST(VNCCONFIG_DIR)
76
77dnl Check for the XTest X11 extension library.
78AC_CHECK_LIB(Xtst,XTestGrabControl,USE_XTEST=yes,USE_XTEST=,
79 ["$X_LIBS" -lXext -lX11])
80if test "$USE_XTEST" = yes; then
81 XTEST_DEFINE='-DHAVE_XTEST'
82 XTEST_LIB=-lXtst
83else
84 echo Warning: No XTest extension, building x0vncserver view-only
85 XTEST_DEFINE=
86 XTEST_LIB=
87fi
88AC_SUBST(XTEST_DEFINE)
89AC_SUBST(XTEST_LIB)
90
91dnl Support for READDISPLAY (Irix) and SUN_OVL (Solaris) extensions
92dnl FIXME: Implement corresponding --with options.
93if test "$USE_READDISPLAY" = yes; then
94 READDISPLAY_DEFINE='-DHAVE_READDISPLAY'
95elif test "$USE_SUN_OVL" = yes; then
96 READDISPLAY_DEFINE='-DHAVE_SUN_OVL'
97else
98 READDISPLAY_DEFINE=
99fi
100AC_SUBST(READDISPLAY_DEFINE)
101
102dnl Under Lynx/OS 2.3, we have to link with -lbsd to resolve
103dnl gethostbyname, inet_addr, htons etc. Check if it's necessary.
104dnl NOTE: Did not want to use AC_SEARCH_LIBS which would add
105dnl -lbsd to LIBS. We set INET_LIB instead.
106AC_LANG_SAVE
107AC_LANG_C
108AC_CHECK_FUNC(gethostbyname,INET_LIB_REQ=,INET_LIB_REQ=yes)
109if test "$INET_LIB_REQ" = yes; then
110 AC_CHECK_LIB(bsd,gethostbyname,INET_LIB=-lbsd,INET_LIB=)
111fi
112AC_LANG_RESTORE
113AC_SUBST(INET_LIB)
114
115dnl Check for zlib library
116INCLUDED_ZLIB=no
117AC_ARG_WITH([included-zlib],
118 AS_HELP_STRING([--with-included-zlib],
119 [use libz which is distributed with VNC]),
120 [INCLUDED_ZLIB=yes],
121 [AC_SEARCH_LIBS([inflateEnd], [z], [], [INCLUDED_ZLIB=yes])])
122
123AM_CONDITIONAL([INCLUDED_ZLIB], [ test "x$INCLUDED_ZLIB" = xyes ])
124AC_CONFIG_SUBDIRS([zlib])
125
126dnl Check for libjpeg library
127INCLUDED_JPEG=yes
128AC_ARG_WITH([system-jpeg],
129 AS_HELP_STRING([--with-system-jpeg],
130 [use libjpeg which is distributed with the O/S]),
131 [AC_SEARCH_LIBS([jpeg_destroy_compress], [jpeg],
132 [INCLUDED_JPEG=no], [])],
133 [])
134
135AM_CONDITIONAL([INCLUDED_JPEG], [ test "x$INCLUDED_JPEG" = xyes ])
136AC_CONFIG_SUBDIRS([jpeg])
137
138AC_CHECK_FUNCS([vsnprintf snprintf strcasecmp strncasecmp])
139
Pierre Ossman657806f2010-02-12 09:06:15 +0000140# Network functions
141AC_SEARCH_LIBS([inet_aton], [resolv])
Pierre Ossman40659972010-02-12 09:19:32 +0000142AC_CHECK_FUNCS([inet_aton])
Pierre Ossman657806f2010-02-12 09:06:15 +0000143
Adam Tkac8aee1a82009-09-04 12:08:56 +0000144# IPv6 related functions
145AC_CHECK_FUNCS([inet_ntop getaddrinfo])
146
147AC_CHECK_TYPES([socklen_t], [], [], [[#include <sys/socket.h>]])
148
149AC_CHECK_HEADERS([sys/select.h])
150
Pierre Ossmanf2180b22009-12-23 09:51:37 +0000151# Needed for WinVNC, but not part of mingw yet
152AC_CHECK_DECLS([CLSID_ActiveDesktop], [BUILD_WINVNC=yes], [],
153 [[#include <windows.h>
154 #include <shlguid.h>
155 ]])
156AM_CONDITIONAL([BUILD_WINVNC], [ test "x$BUILD_WINVNC" = xyes ])
157
Adam Tkac8aee1a82009-09-04 12:08:56 +0000158AC_OUTPUT([
159Makefile
160common/Makefile
161common/os/Makefile
162common/rdr/Makefile
163common/network/Makefile
164common/Xregion/Makefile
165common/rfb/Makefile
166unix/Makefile
167unix/tx/Makefile
168unix/x0vncserver/Makefile
169unix/vncviewer/Makefile
170unix/vncconfig/Makefile
171unix/vncpasswd/Makefile
Adam Tkac08c5d472009-09-04 13:19:19 +0000172win/Makefile
173win/vncviewer/Makefile
174win/rfb_win32/Makefile
Adam Tkac934f63c2009-10-12 15:54:59 +0000175win/vncconfig/Makefile
176win/winvnc/Makefile
Adam Tkac8cfa1ed2009-09-07 10:34:58 +0000177po/Makefile.in
Adam Tkac8aee1a82009-09-04 12:08:56 +0000178])