blob: 12bb558867317200011bf27076603c409c613a2c [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])],
87 [AC_MSG_WARN([No XTest extension, building x0vncserver view-only])])
88
89dnl Support for READDISPLAY (Irix) and SUN_OVL (Solaris) extensions
90dnl FIXME: Implement corresponding --with options.
91if test "$USE_READDISPLAY" = yes; then
92 AC_DEFINE([HAVE_READDISPLAY], [], [Define if you have READDISPLAY extension])
93elif test "$USE_SUN_OVL" = yes; then
94 AC_DEFINE([HAVE_SUN_OVL], [], [Define if you have SUN_OVL extension])
95fi
96
97dnl Under Lynx/OS 2.3, we have to link with -lbsd to resolve
98dnl gethostbyname, inet_addr, htons etc. Check if it's necessary.
99AC_SEARCH_LIBS([gethostbyname], [c bsd])
100
101
102dnl Checks for IRIX-specific Compression Library.
103AC_SEARCH_LIBS([clQuerySchemeFromName], [cl],
104 [AC_DEFINE([HAVE_CL], [], [Define if you have cl library])
105 USE_CL=yes])
106AM_CONDITIONAL([CL], [test "x$USE_CL" = xyes])
107
108dnl Checks for IRIX-specific Digital Media libraries.
109AC_SEARCH_LIBS([dmICCreate], [dmedia],
110 [AC_DEFINE([HAVE_DMEDIA], [], [Define if you have dmedia library])
111 USE_DMEDIA=yes])
112AM_CONDITIONAL([DMEDIA], [test "x$USE_DMEDIA" = xyes])
113
Adam Tkac62a5eb32008-03-21 12:13:13 +0000114
115AC_CONFIG_SUBDIRS([common/zlib])
Adam Tkacae2c6452008-03-20 11:48:41 +0000116AC_SEARCH_LIBS([inflate], [z], [],
Adam Tkac62a5eb32008-03-21 12:13:13 +0000117 [ZLIB_LIBS='$(COMMON_DIR)/zlib/libz.la'
Adam Tkacae2c6452008-03-20 11:48:41 +0000118 VNC_ZLIB=yes])
119AM_CONDITIONAL([ZLIB], [test "x$VNC_ZLIB" = xyes])
120AC_SUBST(ZLIB_LIBS)
121
Adam Tkac62a5eb32008-03-21 12:13:13 +0000122dnl AC_CONFIG_SUBDIRS([common/jpeg])
Adam Tkacae2c6452008-03-20 11:48:41 +0000123AC_SEARCH_LIBS([jpeg_destroy_compress], [jpeg], [],
Adam Tkacae2c6452008-03-20 11:48:41 +0000124 [JPEG_LIBS='$(COMMON_DIR)/jpeg/libjpeg.a'
125 VNC_JPEG=yes])
126AM_CONDITIONAL([JPEG], [test "x$VNC_JPEG" = xyes])
127AC_SUBST(JPEG_LIBS)
128
129AC_CHECK_FUNCS_ONCE([vsnprintf strcasecmp strncasecmp])
130
131AC_MSG_CHECKING([for socklen_t])
132AC_COMPILE_IFELSE(
133 [AC_LANG_PROGRAM(
134 [[#include <sys/types.h>
135 #include <sys/socket.h>]],
136 [[socklen_t x;
137 accept(0, 0, &x);]])],
138 [AC_MSG_RESULT([yes])
139 AC_DEFINE([VNC_SOCKLEN_T], [socklen_t], [Define to socklen_t or int])],
140 [AC_MSG_RESULT([using int])
141 AC_DEFINE([VNC_SOCKLEN_T], [int], [Define to socklen_t or int])])
142
Adam Tkac214522e2008-03-20 13:30:22 +0000143AC_CONFIG_HEADER([config.h])
144
Adam Tkacae2c6452008-03-20 11:48:41 +0000145AC_CONFIG_FILES([Makefile
Adam Tkac214522e2008-03-20 13:30:22 +0000146 po/Makefile.in
Adam Tkacae2c6452008-03-20 11:48:41 +0000147 common/Makefile
148 common/rdr/Makefile
149 common/network/Makefile
150 common/Xregion/Makefile
151 common/rfb/Makefile
152 unix/Makefile
153 unix/tx/Makefile
154 unix/x0vncserver/Makefile
155 unix/vncviewer/Makefile
156 unix/vncconfig/Makefile
157 unix/vncpasswd/Makefile])
158AC_OUTPUT