Adam Tkac | fded078 | 2008-03-22 11:20:54 +0000 | [diff] [blame] | 1 | dnl Process this file with autoconf to produce a configure script. |
Adam Tkac | 894d4e3 | 2008-04-14 13:53:45 +0000 | [diff] [blame] | 2 | AC_PREREQ([2.61]) |
Adam Tkac | 0b7901f | 2008-03-27 17:14:35 +0000 | [diff] [blame] | 3 | AC_INIT([librfb], [1.5.0a1], [http://www.tightvnc.com/bugs.html]) |
Adam Tkac | fded078 | 2008-03-22 11:20:54 +0000 | [diff] [blame] | 4 | |
Adam Tkac | fded078 | 2008-03-22 11:20:54 +0000 | [diff] [blame] | 5 | dnl Checks for programs. |
| 6 | AC_PROG_CC |
| 7 | AC_PROG_CXX |
Adam Tkac | 894d4e3 | 2008-04-14 13:53:45 +0000 | [diff] [blame] | 8 | AC_PROG_INSTALL |
Adam Tkac | fded078 | 2008-03-22 11:20:54 +0000 | [diff] [blame] | 9 | AC_PROG_RANLIB |
| 10 | AC_PROG_MAKE_SET |
Adam Tkac | 894d4e3 | 2008-04-14 13:53:45 +0000 | [diff] [blame] | 11 | AC_LANG([C++]) |
Adam Tkac | fded078 | 2008-03-22 11:20:54 +0000 | [diff] [blame] | 12 | |
| 13 | case "`(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 | ;; |
| 26 | esac |
| 27 | |
| 28 | dnl FIXME: Remove duplication between this script and ../unix/configure.in |
| 29 | if 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 |
| 34 | fi |
| 35 | if 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 |
| 43 | fi |
| 44 | |
| 45 | dnl Checks for IRIX-specific Compression Library. |
| 46 | AC_CHECK_LIB(cl, clQuerySchemeFromName, |
| 47 | [AC_DEFINE(HAVE_CL) |
| 48 | PLATFORM_CXXSRCS="$PLATFORM_CXXSRCS IrixCLJpegCompressor.cxx" |
| 49 | LIBS="$LIBS -lcl"]) |
| 50 | |
| 51 | dnl Checks for IRIX-specific Digital Media libraries. |
| 52 | AC_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 | |
| 58 | AC_SUBST(PLATFORM_CXXSRCS) |
| 59 | |
Adam Tkac | 4cb954c | 2008-04-14 14:07:37 +0000 | [diff] [blame^] | 60 | AC_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 Tkac | fded078 | 2008-03-22 11:20:54 +0000 | [diff] [blame] | 64 | |
Adam Tkac | 4cb954c | 2008-04-14 14:07:37 +0000 | [diff] [blame^] | 65 | if 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 Tkac | fded078 | 2008-03-22 11:20:54 +0000 | [diff] [blame] | 71 | else |
Adam Tkac | 4cb954c | 2008-04-14 14:07:37 +0000 | [diff] [blame^] | 72 | ZLIB_DIR=zlib |
| 73 | ZLIB_INCLUDE='-I$(top_srcdir)/zlib' |
| 74 | ZLIB_LIB='$(top_srcdir)/zlib/libz.la' |
Adam Tkac | fded078 | 2008-03-22 11:20:54 +0000 | [diff] [blame] | 75 | fi |
| 76 | |
| 77 | AC_SUBST(ZLIB_DIR) |
| 78 | AC_SUBST(ZLIB_INCLUDE) |
| 79 | AC_SUBST(ZLIB_LIB) |
| 80 | |
Adam Tkac | 4cb954c | 2008-04-14 14:07:37 +0000 | [diff] [blame^] | 81 | AC_CONFIG_SUBDIRS([zlib]) |
| 82 | |
Adam Tkac | 894d4e3 | 2008-04-14 13:53:45 +0000 | [diff] [blame] | 83 | AC_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 Tkac | fded078 | 2008-03-22 11:20:54 +0000 | [diff] [blame] | 87 | |
Adam Tkac | 894d4e3 | 2008-04-14 13:53:45 +0000 | [diff] [blame] | 88 | if 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 Tkac | fded078 | 2008-03-22 11:20:54 +0000 | [diff] [blame] | 94 | else |
Adam Tkac | 894d4e3 | 2008-04-14 13:53:45 +0000 | [diff] [blame] | 95 | JPEG_DIR=jpeg |
| 96 | JPEG_INCLUDE='-I$(top_srcdir)/jpeg' |
| 97 | JPEG_LIB='$(top_srcdir)/jpeg/libjpeg.la' |
Adam Tkac | fded078 | 2008-03-22 11:20:54 +0000 | [diff] [blame] | 98 | fi |
| 99 | |
Adam Tkac | 894d4e3 | 2008-04-14 13:53:45 +0000 | [diff] [blame] | 100 | AC_CONFIG_SUBDIRS([jpeg]) |
| 101 | |
Adam Tkac | fded078 | 2008-03-22 11:20:54 +0000 | [diff] [blame] | 102 | AC_SUBST(JPEG_DIR) |
| 103 | AC_SUBST(JPEG_INCLUDE) |
| 104 | AC_SUBST(JPEG_LIB) |
| 105 | |
| 106 | AC_CHECK_FUNC(vsnprintf,VSNPRINTF_DEFINE='-DHAVE_VSNPRINTF',VSNPRINTF_DEFINE=) |
| 107 | AC_SUBST(VSNPRINTF_DEFINE) |
| 108 | |
| 109 | AC_CHECK_FUNC(strcasecmp,STRCASECMP_DEFINE='-DHAVE_STRCASECMP', |
| 110 | STRCASECMP_DEFINE=) |
| 111 | AC_SUBST(STRCASECMP_DEFINE) |
| 112 | |
| 113 | AC_CHECK_FUNC(strncasecmp,STRNCASECMP_DEFINE='-DHAVE_STRNCASECMP', |
| 114 | STRNCASECMP_DEFINE=) |
| 115 | AC_SUBST(STRNCASECMP_DEFINE) |
| 116 | |
| 117 | AC_MSG_CHECKING(for socklen_t) |
| 118 | AC_TRY_COMPILE( |
| 119 | [#include <sys/types.h> |
| 120 | #include <sys/socket.h>], |
| 121 | [socklen_t x; |
| 122 | accept(0, 0, &x);], |
| 123 | AC_MSG_RESULT(yes) |
| 124 | SOCKLEN_T_DEFINE='-DVNC_SOCKLEN_T=socklen_t', |
| 125 | AC_MSG_RESULT(using int) |
| 126 | SOCKLEN_T_DEFINE='-DVNC_SOCKLEN_T=int') |
| 127 | AC_SUBST(SOCKLEN_T_DEFINE) |
| 128 | |
| 129 | BOILERPLATE=boilerplate.mk |
| 130 | |
| 131 | if (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 |
| 135 | fi |
| 136 | |
| 137 | AC_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 | ) |