blob: 078e7b95b54064a2c2a32b8d24a79ba68115097b [file] [log] [blame]
Adam Tkacae2c6452008-03-20 11:48:41 +00001dnl Process this file with autoconf to produce a configure script.
2
3AC_INIT([tightvnc], [1.5.0a1], [http://www.tightvnc.com/bugs.html])
4AM_INIT_AUTOMAKE([-Wall foreign dist-bzip2])
5
6dnl Checks for programs.
Adam Tkac214522e2008-03-20 13:30:22 +00007AM_GNU_GETTEXT([external])
8AM_GNU_GETTEXT_VERSION([0.17])
Adam Tkacae2c6452008-03-20 11:48:41 +00009AC_PROG_CC
10AC_PROG_CXX
11AC_PROG_LIBTOOL
12AC_PROG_MAKE_SET
13AC_LANG([C++])
14
15saved_cflags="$CFLAGS"
16saved_cxxflags="$CXXFLAGS"
17CFLAGS="$CFLAGS -Wall -Wextra"
18CXXFLAGS="$CXXFLAGS -Wall -Wextra"
19
20AC_MSG_CHECKING([if compiler supports -Wall and -Werror flags])
21AC_COMPILE_IFELSE(
22 [AC_LANG_PROGRAM([])],
23 [AC_MSG_RESULT([yes])],
24 [AC_MSG_RESULT([no])
25 CFLAGS="$saved_cflags"
26 CXXFLAGS="$saved_cxxflags"])
27
28AC_SUBST([COMMON_DIR], ['$(top_srcdir)/common'])
29AC_SUBST([UNIX_DIR], ['$(top_srcdir)/unix'])
30AC_SUBST([TX_DIR], ['$(UNIX_DIR)/tx'])
Adam Tkacae2c6452008-03-20 11:48:41 +000031AC_SUBST([RFB_LIBS], ['$(COMMON_DIR)/rfb/librfb.la'])
32AC_SUBST([RDR_LIBS], ['$(COMMON_DIR)/rdr/librdr.la'])
33AC_SUBST([NETWORK_LIBS], ['$(COMMON_DIR)/network/libnetwork.la'])
34AC_SUBST([TX_LIBS], ['$(TX_DIR)/libtx.la'])
35
Adam Tkacae2c6452008-03-20 11:48:41 +000036dnl XXX this statement really bother me
37case "`(uname -sr) 2>/dev/null`" in
38"SunOS 5"*)
39 SOLARIS=yes
40 USE_MITSHM=yes
41 USE_SUN_OVL=yes
42 ;;
43"Linux"*)
44 LINUX=yes
45 USE_MITSHM=yes
46 ;;
47"IRIX 6"*)
48 X_LIBS="-L/usr/lib32"
49 USE_MITSHM=yes
50 USE_READDISPLAY=yes
51 ;;
52"LynxOS 2"*)
53 SJLJ_EXCEPTIONS=yes
54 ;;
55esac
56
57dnl FIXME: Check for MIT-SHM properly, add a corresponding --with option.
58if test "$USE_MITSHM" = yes; then
Adam Tkac214522e2008-03-20 13:30:22 +000059 AC_DEFINE([HAVE_MITSHM], 1, [Define if you have MIT-SHM extension])
Adam Tkacae2c6452008-03-20 11:48:41 +000060fi
Adam Tkacae2c6452008-03-20 11:48:41 +000061
62if test "$GCC" = yes; then
63 if test "$SOLARIS" = yes; then
64 CFLAGS="$CFLAGS -Wno-unknown-pragmas -Wno-implicit-int"
65 fi
66fi
67if test "$GXX" = yes; then
68 if test "$SOLARIS" = yes; then
69 CXXFLAGS="$CXXFLAGS -Wno-unknown-pragmas -fpermissive"
70 fi
71 if test "$SJLJ_EXCEPTIONS" = yes; then
72 CXXFLAGS="$CXXFLAGS -fsjlj-exceptions"
73 fi
74fi
75
76AC_PATH_XTRA
77
78AC_ARG_ENABLE([vncconfig],
79 AS_HELP_STRING([--enable-vncconfig],
80 [build the vncconfig utility(default yes)]),
81 [BUILD_VNCCONFIG="$enableval"], [BUILD_VNCCONFIG="yes"])
82AM_CONDITIONAL([VNCCONFIG], [test "x$BUILD_VNCCONFIG" = xyes])
83
84dnl Check for the XTest X11 extension library.
85AC_SEARCH_LIBS([XTestGrabControl], [Xtst],
86 [AC_DEFINE([HAVE_XTEST], [], [Define if you have Xtst library])],
Adam Tkacbee114a2008-03-21 15:22:30 +000087 [AC_MSG_WARN([No XTest extension, building x0vncserver view-only])],
88 [-lXext -lX11])
Adam Tkacae2c6452008-03-20 11:48:41 +000089
90dnl Support for READDISPLAY (Irix) and SUN_OVL (Solaris) extensions
91dnl FIXME: Implement corresponding --with options.
92if test "$USE_READDISPLAY" = yes; then
93 AC_DEFINE([HAVE_READDISPLAY], [], [Define if you have READDISPLAY extension])
94elif test "$USE_SUN_OVL" = yes; then
95 AC_DEFINE([HAVE_SUN_OVL], [], [Define if you have SUN_OVL extension])
96fi
97
98dnl Under Lynx/OS 2.3, we have to link with -lbsd to resolve
99dnl gethostbyname, inet_addr, htons etc. Check if it's necessary.
100AC_SEARCH_LIBS([gethostbyname], [c bsd])
101
102
103dnl Checks for IRIX-specific Compression Library.
104AC_SEARCH_LIBS([clQuerySchemeFromName], [cl],
105 [AC_DEFINE([HAVE_CL], [], [Define if you have cl library])
106 USE_CL=yes])
107AM_CONDITIONAL([CL], [test "x$USE_CL" = xyes])
108
109dnl Checks for IRIX-specific Digital Media libraries.
110AC_SEARCH_LIBS([dmICCreate], [dmedia],
111 [AC_DEFINE([HAVE_DMEDIA], [], [Define if you have dmedia library])
112 USE_DMEDIA=yes])
113AM_CONDITIONAL([DMEDIA], [test "x$USE_DMEDIA" = xyes])
114
Adam Tkac62a5eb32008-03-21 12:13:13 +0000115
116AC_CONFIG_SUBDIRS([common/zlib])
Adam Tkacae2c6452008-03-20 11:48:41 +0000117AC_SEARCH_LIBS([inflate], [z], [],
Adam Tkac62a5eb32008-03-21 12:13:13 +0000118 [ZLIB_LIBS='$(COMMON_DIR)/zlib/libz.la'
Adam Tkacae2c6452008-03-20 11:48:41 +0000119 VNC_ZLIB=yes])
120AM_CONDITIONAL([ZLIB], [test "x$VNC_ZLIB" = xyes])
121AC_SUBST(ZLIB_LIBS)
122
Adam Tkac62a5eb32008-03-21 12:13:13 +0000123dnl AC_CONFIG_SUBDIRS([common/jpeg])
Adam Tkacae2c6452008-03-20 11:48:41 +0000124AC_SEARCH_LIBS([jpeg_destroy_compress], [jpeg], [],
Adam Tkacae2c6452008-03-20 11:48:41 +0000125 [JPEG_LIBS='$(COMMON_DIR)/jpeg/libjpeg.a'
126 VNC_JPEG=yes])
127AM_CONDITIONAL([JPEG], [test "x$VNC_JPEG" = xyes])
128AC_SUBST(JPEG_LIBS)
129
130AC_CHECK_FUNCS_ONCE([vsnprintf strcasecmp strncasecmp])
131
132AC_MSG_CHECKING([for socklen_t])
133AC_COMPILE_IFELSE(
134 [AC_LANG_PROGRAM(
135 [[#include <sys/types.h>
136 #include <sys/socket.h>]],
137 [[socklen_t x;
138 accept(0, 0, &x);]])],
139 [AC_MSG_RESULT([yes])
140 AC_DEFINE([VNC_SOCKLEN_T], [socklen_t], [Define to socklen_t or int])],
141 [AC_MSG_RESULT([using int])
142 AC_DEFINE([VNC_SOCKLEN_T], [int], [Define to socklen_t or int])])
143
Adam Tkac214522e2008-03-20 13:30:22 +0000144AC_CONFIG_HEADER([config.h])
145
Adam Tkacae2c6452008-03-20 11:48:41 +0000146AC_CONFIG_FILES([Makefile
Adam Tkac214522e2008-03-20 13:30:22 +0000147 po/Makefile.in
Adam Tkacae2c6452008-03-20 11:48:41 +0000148 common/Makefile
149 common/rdr/Makefile
150 common/network/Makefile
151 common/Xregion/Makefile
152 common/rfb/Makefile
153 unix/Makefile
154 unix/tx/Makefile
155 unix/x0vncserver/Makefile
156 unix/vncviewer/Makefile
157 unix/vncconfig/Makefile
158 unix/vncpasswd/Makefile])
159AC_OUTPUT