blob: 50e337343455e8d0c0b2d1eb5f15d55a5da1ee1f [file] [log] [blame]
Constantin Kaplinskyb30ae7f2006-05-25 05:04:46 +00001dnl Process this file with autoconf to produce a configure script.
Constantin Kaplinskya3b60c42006-06-02 04:07:49 +00002AC_INIT(vncviewer/vncviewer.cxx)
Constantin Kaplinskyb30ae7f2006-05-25 05:04:46 +00003
4PACKAGE=tightvnc
5VERSION=1.5.0
6AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
7AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
8AC_SUBST(PACKAGE)
9AC_SUBST(VERSION)
10
Constantin Kaplinskya3b60c42006-06-02 04:07:49 +000011dnl Configure the common directory
12echo "configuring common..."
13(cd ../common; ./configure $*)
14echo "...done configuring common"
15
Constantin Kaplinskyb30ae7f2006-05-25 05:04:46 +000016dnl dirty hack to prevent use of -g in CFLAGS and CXXFLAGS
17ac_cv_prog_cc_g=no
18ac_cv_prog_cxx_g=no
19
20dnl Checks for programs.
21AC_PROG_CC
22AC_PROG_CXX
23AC_PROG_RANLIB
24AC_PROG_MAKE_SET
25AC_LANG_CPLUSPLUS
26
27case "`(uname -sr) 2>/dev/null`" in
28"SunOS 5"*)
29 SOLARIS=yes
30 USE_MITSHM=yes
31 USE_SUN_OVL=yes
32 ;;
33"Linux"*)
34 LINUX=yes
35 USE_MITSHM=yes
36 ;;
37"IRIX 6"*)
38 X_LIBS="-L/usr/lib32"
39 USE_MITSHM=yes
40 USE_READDISPLAY=yes
41 ;;
42"LynxOS 2"*)
43 SJLJ_EXCEPTIONS=yes
44 ;;
45esac
46
47dnl FIXME: Check for MIT-SHM properly, add a corresponding --with option.
48if test "$USE_MITSHM" = yes; then
49 MITSHM_DEFINE="-DHAVE_MITSHM"
50fi
51AC_SUBST(MITSHM_DEFINE)
52
53if test "$GCC" = yes; then
54 CFLAGS="$CFLAGS -Wall"
55 if test "$SOLARIS" = yes; then
56 CFLAGS="$CFLAGS -Wno-unknown-pragmas -Wno-implicit-int"
57 fi
58fi
59if test "$GXX" = yes; then
60 CXXFLAGS="$CXXFLAGS -Wall"
61 if test "$SOLARIS" = yes; then
62 CXXFLAGS="$CXXFLAGS -Wno-unknown-pragmas -fpermissive"
63 fi
64 if test "$SJLJ_EXCEPTIONS" = yes; then
65 CXXFLAGS="$CXXFLAGS -fsjlj-exceptions"
66 fi
67fi
68
Constantin Kaplinskya8748812007-09-05 09:29:06 +000069dnl Check for IRIX-specific Digital Media libraries.
70AC_CHECK_LIB(dmedia, dmICCreate,
71 [AC_DEFINE(HAVE_DMEDIA)
72 DMEDIA_LIB=-ldmedia])
73AC_SUBST(DMEDIA_LIB)
74
Constantin Kaplinskyb30ae7f2006-05-25 05:04:46 +000075AC_PATH_XTRA
76
77AC_ARG_WITH(installed-zlib,
78[ --with-installed-zlib use the version of zlib which is installed on the
79 system instead of the one distributed with VNC])
80
81if test "$with_installed_zlib" = yes; then
82 echo "using installed zlib"
83 ZLIB_LIB=-lz
84else
Constantin Kaplinskya3b60c42006-06-02 04:07:49 +000085 ZLIB_DIR='$(COMMON)/zlib'
86 ZLIB_INCLUDE='-I$(COMMON)/zlib'
87 ZLIB_LIB='$(COMMON)/zlib/libz.a'
Constantin Kaplinskyb30ae7f2006-05-25 05:04:46 +000088fi
89
90AC_SUBST(ZLIB_DIR)
91AC_SUBST(ZLIB_INCLUDE)
92AC_SUBST(ZLIB_LIB)
93
94AC_ARG_WITH(installed-jpeg,
95[ --with-installed-jpeg use the version of jpeg which is installed on the
96 system instead of the one distributed with VNC])
97
98if test "$with_installed_jpeg" = yes; then
99 echo "using installed jpeg"
100 JPEG_LIB=-ljpeg
101else
Constantin Kaplinskya3b60c42006-06-02 04:07:49 +0000102 JPEG_DIR='$(COMMON)/jpeg/build'
103 JPEG_INCLUDE='-I$(COMMON)/jpeg'
104 JPEG_LIB='$(COMMON)/jpeg/build/libjpeg.a'
Constantin Kaplinskyb30ae7f2006-05-25 05:04:46 +0000105fi
106
107AC_SUBST(JPEG_DIR)
108AC_SUBST(JPEG_INCLUDE)
109AC_SUBST(JPEG_LIB)
110
111AC_ARG_ENABLE(vncconfig,
112[ --enable-vncconfig build the vncconfig utility (assumed by default),
113 use --disable-vncconfig to skip building vncconfig])
114if test "$enable_vncconfig" = no; then
115 echo "vncconfig utility will not be built"
116 VNCCONFIG_DIR=
117else
Constantin Kaplinskya3b60c42006-06-02 04:07:49 +0000118 VNCCONFIG_DIR='vncconfig'
Constantin Kaplinskyb30ae7f2006-05-25 05:04:46 +0000119fi
120AC_SUBST(VNCCONFIG_DIR)
121
122dnl Check for the XTest X11 extension library.
123AC_CHECK_LIB(Xtst,XTestGrabControl,USE_XTEST=yes,USE_XTEST=,
124["$X_LIBS" -lXext -lX11])
125if test "$USE_XTEST" = yes; then
126 XTEST_DEFINE='-DHAVE_XTEST'
127 XTEST_LIB=-lXtst
128else
129 echo Warning: No XTest extension, building x0vncserver view-only
130 XTEST_DEFINE=
131 XTEST_LIB=
132fi
133AC_SUBST(XTEST_DEFINE)
134AC_SUBST(XTEST_LIB)
135
136dnl Support for READDISPLAY (Irix) and SUN_OVL (Solaris) extensions
137dnl FIXME: Implement corresponding --with options.
138if test "$USE_READDISPLAY" = yes; then
139 READDISPLAY_DEFINE='-DHAVE_READDISPLAY'
140elif test "$USE_SUN_OVL" = yes; then
141 READDISPLAY_DEFINE='-DHAVE_SUN_OVL'
142else
143 READDISPLAY_DEFINE=
144fi
145AC_SUBST(READDISPLAY_DEFINE)
146
Constantin Kaplinskyb30ae7f2006-05-25 05:04:46 +0000147dnl Under Lynx/OS 2.3, we have to link with -lbsd to resolve
148dnl gethostbyname, inet_addr, htons etc. Check if it's necessary.
149dnl NOTE: Did not want to use AC_SEARCH_LIBS which would add
150dnl -lbsd to LIBS. We set INET_LIB instead.
151AC_LANG_SAVE
152AC_LANG_C
153AC_CHECK_FUNC(gethostbyname,INET_LIB_REQ=,INET_LIB_REQ=yes)
154if test "$INET_LIB_REQ" = yes; then
155 AC_CHECK_LIB(bsd,gethostbyname,INET_LIB=-lbsd,INET_LIB=)
156fi
157AC_LANG_RESTORE
158AC_SUBST(INET_LIB)
159
Constantin Kaplinskyb30ae7f2006-05-25 05:04:46 +0000160AM_GNU_GETTEXT
161
162BOILERPLATE=boilerplate.mk
163
164if (sh -c "make --version" 2>/dev/null | grep GNU 2>&1 >/dev/null); then
165 if sh -c "vncmkdepend" >/dev/null 2>&1; then
166 BOILERPLATE="$BOILERPLATE:depend.mk"
167 fi
168fi
169
Constantin Kaplinskya3b60c42006-06-02 04:07:49 +0000170AC_OUTPUT(Makefile:common.mk:Makefile.in:$BOILERPLATE \
171 tx/Makefile:common.mk:tx/Makefile.in:$BOILERPLATE \
172 x0vncserver/Makefile:common.mk:x0vncserver/Makefile.in:$BOILERPLATE \
173 vncviewer/Makefile:common.mk:vncviewer/Makefile.in:$BOILERPLATE \
174 vncconfig/Makefile:common.mk:vncconfig/Makefile.in:$BOILERPLATE \
175 vncpasswd/Makefile:common.mk:vncpasswd/Makefile.in:$BOILERPLATE \
176 intl/Makefile \
177 po/Makefile.in \
Constantin Kaplinskyb30ae7f2006-05-25 05:04:46 +0000178)