blob: 4be7128b2a26cc802bce1a380a92ef2f43e06384 [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
Adam Tkac4cb954c2008-04-14 14:07:37 +000060AC_ARG_WITH([tight-zlib],
61 AS_HELP_STRING([--with-tight-zlib],
62 [use libz which is distributed with VNC]),
63 [], [with_tight_zlib='no'])
Adam Tkacfded0782008-03-22 11:20:54 +000064
Adam Tkac4cb954c2008-04-14 14:07:37 +000065if test "x$with_tight_zlib" = xno; then
66 AC_SEARCH_LIBS([inflateEnd], [z],
67 [ZLIB_LIB='-lz'],
68 [ZLIB_DIR=zlib
69 ZLIB_INCLUDE='-I$(top_srcdir)/zlib'
70 ZLIB_LIB='$(top_srcdir)/zlib/libz.la'])
Adam Tkacfded0782008-03-22 11:20:54 +000071else
Adam Tkac4cb954c2008-04-14 14:07:37 +000072 ZLIB_DIR=zlib
73 ZLIB_INCLUDE='-I$(top_srcdir)/zlib'
74 ZLIB_LIB='$(top_srcdir)/zlib/libz.la'
Adam Tkacfded0782008-03-22 11:20:54 +000075fi
76
77AC_SUBST(ZLIB_DIR)
78AC_SUBST(ZLIB_INCLUDE)
79AC_SUBST(ZLIB_LIB)
80
Adam Tkac4cb954c2008-04-14 14:07:37 +000081AC_CONFIG_SUBDIRS([zlib])
82
Adam Tkac894d4e32008-04-14 13:53:45 +000083AC_ARG_WITH([tight-jpeg],
84 AS_HELP_STRING([--with-tight-jpeg],
85 [use libjpeg which is distributed with VNC]),
86 [], [with_tight_jpeg='no'])
Adam Tkacfded0782008-03-22 11:20:54 +000087
Adam Tkac894d4e32008-04-14 13:53:45 +000088if test "x$with_tight_jpeg" = xno; then
89 AC_SEARCH_LIBS([jpeg_destroy_compress], [jpeg],
90 [JPEG_LIB='-ljpeg'],
91 [JPEG_DIR=jpeg
92 JPEG_INCLUDE='-I$(top_srcdir)/jpeg'
93 JPEG_LIB='$(top_srcdir)/jpeg/libjpeg.la'])
Adam Tkacfded0782008-03-22 11:20:54 +000094else
Adam Tkac894d4e32008-04-14 13:53:45 +000095 JPEG_DIR=jpeg
96 JPEG_INCLUDE='-I$(top_srcdir)/jpeg'
97 JPEG_LIB='$(top_srcdir)/jpeg/libjpeg.la'
Adam Tkacfded0782008-03-22 11:20:54 +000098fi
99
Adam Tkac894d4e32008-04-14 13:53:45 +0000100AC_CONFIG_SUBDIRS([jpeg])
101
Adam Tkacfded0782008-03-22 11:20:54 +0000102AC_SUBST(JPEG_DIR)
103AC_SUBST(JPEG_INCLUDE)
104AC_SUBST(JPEG_LIB)
105
106AC_CHECK_FUNC(vsnprintf,VSNPRINTF_DEFINE='-DHAVE_VSNPRINTF',VSNPRINTF_DEFINE=)
107AC_SUBST(VSNPRINTF_DEFINE)
108
109AC_CHECK_FUNC(strcasecmp,STRCASECMP_DEFINE='-DHAVE_STRCASECMP',
110 STRCASECMP_DEFINE=)
111AC_SUBST(STRCASECMP_DEFINE)
112
113AC_CHECK_FUNC(strncasecmp,STRNCASECMP_DEFINE='-DHAVE_STRNCASECMP',
114 STRNCASECMP_DEFINE=)
115AC_SUBST(STRNCASECMP_DEFINE)
116
117AC_MSG_CHECKING(for socklen_t)
118AC_TRY_COMPILE(
119[#include <sys/types.h>
120 #include <sys/socket.h>],
121[socklen_t x;
122accept(0, 0, &x);],
123AC_MSG_RESULT(yes)
124SOCKLEN_T_DEFINE='-DVNC_SOCKLEN_T=socklen_t',
125AC_MSG_RESULT(using int)
126SOCKLEN_T_DEFINE='-DVNC_SOCKLEN_T=int')
127AC_SUBST(SOCKLEN_T_DEFINE)
128
129BOILERPLATE=boilerplate.mk
130
131if (sh -c "make --version" 2>/dev/null | grep GNU 2>&1 >/dev/null); then
132 if sh -c "vncmkdepend" >/dev/null 2>&1; then
133 BOILERPLATE="$BOILERPLATE:depend.mk"
134 fi
135fi
136
137AC_OUTPUT(Makefile:Makefile.in:$BOILERPLATE \
138 rdr/Makefile:rdr/Makefile.in:$BOILERPLATE \
139 network/Makefile:network/Makefile.in:$BOILERPLATE \
140 Xregion/Makefile:Xregion/Makefile.in:$BOILERPLATE \
141 rfb/Makefile:rfb/Makefile.in:$BOILERPLATE \
142)