blob: a31032b44917f5d23e617574af19d7dfa7d41369 [file] [log] [blame]
Adam Tkacfded0782008-03-22 11:20:54 +00001dnl Process this file with autoconf to produce a configure script.
Adam Tkac894d4e32008-04-14 13:53:45 +00002AC_PREREQ([2.61])
Adam Tkac0b7901f2008-03-27 17:14:35 +00003AC_INIT([librfb], [1.5.0a1], [http://www.tightvnc.com/bugs.html])
Adam Tkacfded0782008-03-22 11:20:54 +00004
Adam Tkacfded0782008-03-22 11:20:54 +00005dnl Checks for programs.
6AC_PROG_CC
7AC_PROG_CXX
Adam Tkac894d4e32008-04-14 13:53:45 +00008AC_PROG_INSTALL
Adam Tkacfded0782008-03-22 11:20:54 +00009AC_PROG_RANLIB
10AC_PROG_MAKE_SET
Adam Tkac894d4e32008-04-14 13:53:45 +000011AC_LANG([C++])
Adam Tkacfded0782008-03-22 11:20:54 +000012
13case "`(uname -sr) 2>/dev/null`" in
14"SunOS 5"*)
15 SOLARIS=yes
16 ;;
17"Linux"*)
18 LINUX=yes
19 ;;
20"IRIX 6"*)
21 X_LIBS="-L/usr/lib32"
22 ;;
23"LynxOS 2"*)
24 SJLJ_EXCEPTIONS=yes
25 ;;
26esac
27
28dnl FIXME: Remove duplication between this script and ../unix/configure.in
29if test "$GCC" = yes; then
30 CFLAGS="$CFLAGS -Wall"
31 if test "$SOLARIS" = yes; then
32 CFLAGS="$CFLAGS -Wno-unknown-pragmas -Wno-implicit-int"
33 fi
34fi
35if test "$GXX" = yes; then
36 CXXFLAGS="$CXXFLAGS -Wall"
37 if test "$SOLARIS" = yes; then
38 CXXFLAGS="$CXXFLAGS -Wno-unknown-pragmas -fpermissive"
39 fi
40 if test "$SJLJ_EXCEPTIONS" = yes; then
41 CXXFLAGS="$CXXFLAGS -fsjlj-exceptions"
42 fi
43fi
44
45dnl Checks for IRIX-specific Compression Library.
46AC_CHECK_LIB(cl, clQuerySchemeFromName,
47 [AC_DEFINE(HAVE_CL)
48 PLATFORM_CXXSRCS="$PLATFORM_CXXSRCS IrixCLJpegCompressor.cxx"
49 LIBS="$LIBS -lcl"])
50
51dnl Checks for IRIX-specific Digital Media libraries.
52AC_CHECK_LIB(dmedia, dmICCreate,
53 [AC_DEFINE(HAVE_DMEDIA)
54 PLATFORM_CXXSRCS="$PLATFORM_CXXSRCS IrixDMJpegCompressor.cxx"
55 PLATFORM_CXXSRCS="$PLATFORM_CXXSRCS IrixDMIC_RawToJpeg.cxx"
56 LIBS="$LIBS -ldmedia"])
57
58AC_SUBST(PLATFORM_CXXSRCS)
59
60AC_ARG_WITH(installed-zlib,
61[ --with-installed-zlib use the version of zlib which is installed on the
62 system instead of the one distributed with VNC])
63
64if test "$with_installed_zlib" = yes; then
65 echo "using installed zlib"
66 ZLIB_LIB=-lz
67else
68 ZLIB_DIR=zlib
69 ZLIB_INCLUDE='-I$(top_srcdir)/zlib'
70 ZLIB_LIB='$(top_srcdir)/zlib/libz.a'
71 echo "configuring zlib..."
72 (cd zlib; ./configure)
73 echo "...done configuring zlib"
74fi
75
76AC_SUBST(ZLIB_DIR)
77AC_SUBST(ZLIB_INCLUDE)
78AC_SUBST(ZLIB_LIB)
79
Adam Tkac894d4e32008-04-14 13:53:45 +000080AC_ARG_WITH([tight-jpeg],
81 AS_HELP_STRING([--with-tight-jpeg],
82 [use libjpeg which is distributed with VNC]),
83 [], [with_tight_jpeg='no'])
Adam Tkacfded0782008-03-22 11:20:54 +000084
Adam Tkac894d4e32008-04-14 13:53:45 +000085if test "x$with_tight_jpeg" = xno; then
86 AC_SEARCH_LIBS([jpeg_destroy_compress], [jpeg],
87 [JPEG_LIB='-ljpeg'],
88 [JPEG_DIR=jpeg
89 JPEG_INCLUDE='-I$(top_srcdir)/jpeg'
90 JPEG_LIB='$(top_srcdir)/jpeg/libjpeg.la'])
Adam Tkacfded0782008-03-22 11:20:54 +000091else
Adam Tkac894d4e32008-04-14 13:53:45 +000092 JPEG_DIR=jpeg
93 JPEG_INCLUDE='-I$(top_srcdir)/jpeg'
94 JPEG_LIB='$(top_srcdir)/jpeg/libjpeg.la'
Adam Tkacfded0782008-03-22 11:20:54 +000095fi
96
Adam Tkac894d4e32008-04-14 13:53:45 +000097AC_CONFIG_SUBDIRS([jpeg])
98
Adam Tkacfded0782008-03-22 11:20:54 +000099AC_SUBST(JPEG_DIR)
100AC_SUBST(JPEG_INCLUDE)
101AC_SUBST(JPEG_LIB)
102
103AC_CHECK_FUNC(vsnprintf,VSNPRINTF_DEFINE='-DHAVE_VSNPRINTF',VSNPRINTF_DEFINE=)
104AC_SUBST(VSNPRINTF_DEFINE)
105
106AC_CHECK_FUNC(strcasecmp,STRCASECMP_DEFINE='-DHAVE_STRCASECMP',
107 STRCASECMP_DEFINE=)
108AC_SUBST(STRCASECMP_DEFINE)
109
110AC_CHECK_FUNC(strncasecmp,STRNCASECMP_DEFINE='-DHAVE_STRNCASECMP',
111 STRNCASECMP_DEFINE=)
112AC_SUBST(STRNCASECMP_DEFINE)
113
114AC_MSG_CHECKING(for socklen_t)
115AC_TRY_COMPILE(
116[#include <sys/types.h>
117 #include <sys/socket.h>],
118[socklen_t x;
119accept(0, 0, &x);],
120AC_MSG_RESULT(yes)
121SOCKLEN_T_DEFINE='-DVNC_SOCKLEN_T=socklen_t',
122AC_MSG_RESULT(using int)
123SOCKLEN_T_DEFINE='-DVNC_SOCKLEN_T=int')
124AC_SUBST(SOCKLEN_T_DEFINE)
125
126BOILERPLATE=boilerplate.mk
127
128if (sh -c "make --version" 2>/dev/null | grep GNU 2>&1 >/dev/null); then
129 if sh -c "vncmkdepend" >/dev/null 2>&1; then
130 BOILERPLATE="$BOILERPLATE:depend.mk"
131 fi
132fi
133
134AC_OUTPUT(Makefile:Makefile.in:$BOILERPLATE \
135 rdr/Makefile:rdr/Makefile.in:$BOILERPLATE \
136 network/Makefile:network/Makefile.in:$BOILERPLATE \
137 Xregion/Makefile:Xregion/Makefile.in:$BOILERPLATE \
138 rfb/Makefile:rfb/Makefile.in:$BOILERPLATE \
139)