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