]> git.saurik.com Git - wxWidgets.git/blame - configure.in
ignore this :-)
[wxWidgets.git] / configure.in
CommitLineData
bcf1fa6b
RR
1dnl ////////////////////////////////////////////////////////////////////////
2dnl
3dnl Top-level configure.in for wxWindows by Robert Roebling, Wolfram Gloger
4dnl and Martin Sperl.
5dnl
6dnl This script is under the wxWindows licence.
2904eefd 7dnl $Id$
bcf1fa6b
RR
8dnl ////////////////////////////////////////////////////////////////////////
9
10dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
11dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
12dnl
13AC_DEFUN(AM_PATH_GTK,
c2933500 14[dnl
bcf1fa6b
RR
15dnl Get the cflags and libraries from the gtk-config script
16dnl
f3cb6592 17AC_ARG_WITH(gtk-prefix,[**--with-gtk-prefix=PFX Prefix where GTK is installed],
bcf1fa6b 18 gtk_config_prefix="$withval", gtk_config_prefix="")
f3cb6592 19AC_ARG_WITH(gtk-exec-prefix,[**--with-gtk-exec-prefix=PFX Exec prefix where GTK is installed],
bcf1fa6b
RR
20 gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
21
22 if test x$gtk_config_exec_prefix != x ; then
23 gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
24 if test x${GTK_CONFIG+set} != xset ; then
25 GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
26 fi
27 fi
28 if test x$gtk_config_prefix != x ; then
29 gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
30 if test x${GTK_CONFIG+set} != xset ; then
31 GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
32 fi
33 fi
34
35 AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
36 min_gtk_version=ifelse([$1], ,0.99.7,$1)
37 AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
38 no_gtk=""
39 if test "$GTK_CONFIG" != "no" ; then
40 GTK_CFLAGS=`$GTK_CONFIG --cflags`
41 GTK_LIBS=`$GTK_CONFIG --libs`
42 ac_save_CFLAGS="$CFLAGS"
43 ac_save_LIBS="$LIBS"
44 CFLAGS="$CFLAGS $GTK_CFLAGS"
45 LIBS="$LIBS $GTK_LIBS"
46dnl
47dnl Now check if the installed GTK is sufficiently new. (Also sanity
48dnl checks the results of gtk-config to some extent
49dnl
50 AC_TRY_RUN([
51#include <gtk/gtk.h>
52#include <stdio.h>
53
c2933500 54int
bcf1fa6b
RR
55main ()
56{
57 int major, minor, micro;
58
59 if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, &micro) != 3) {
60 printf("%s, bad version string\n", "$min_gtk_version");
61 exit(1);
62 }
63
f3855ef0
RR
64 if (gtk_minor_version > 0) return FALSE;
65
bcf1fa6b 66 return !((gtk_major_version > major) ||
c2933500
VZ
67 ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
68 ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)));
bcf1fa6b
RR
69}
70],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
71 CFLAGS="$ac_save_CFLAGS"
72 LIBS="$ac_save_LIBS"
73 else
74 no_gtk=yes
75 fi
76 if test "x$no_gtk" = x ; then
77 AC_MSG_RESULT(yes)
c2933500 78 ifelse([$2], , :, [$2])
bcf1fa6b
RR
79 else
80 AC_MSG_RESULT(no)
81 GTK_CFLAGS=""
82 GTK_LIBS=""
83 ifelse([$3], , :, [$3])
84 fi
85 AC_SUBST(GTK_CFLAGS)
86 AC_SUBST(GTK_LIBS)
87])
88
89dnl ------------------------------------------------------------------------
90dnl custom macros
91dnl ------------------------------------------------------------------------
92
93AC_DEFUN(AC_OVERRIDES_PREPARE,
94[
95rm -f ${OSTYPE}.system.cache.tmp
96touch ${OSTYPE}.system.cache.tmp
97touch ${OSTYPE}.system.cache
98])
99
100AC_DEFUN(AC_OVERRIDES_DONE,
101[
102mv ${OSTYPE}.system.cache.tmp ${OSTYPE}.system.cache
103])
104
105dnl package,message,helpmessage,variable
106AC_DEFUN(AC_OVERRIDES,
107[
108AC_MSG_CHECKING("for $2")
109AC_ARG_WITH($1,$3,
110[if test "x$with_$1" = xyes; then
111 ac_cv_use_$1='$4="1"'
112else
113 ac_cv_use_$1='$4="0"'
114fi],
115[
116 LINE=`grep "$4" ${OSTYPE}.system.cache`
117 if test "x$LINE" != x ; then
118 eval "DEFAULT_$LINE"
119 fi
120 ac_cv_use_$1='$4='$DEFAULT_$4
121])
122eval "$ac_cv_use_$1"
123echo $ac_cv_use_$1 >> ${OSTYPE}.system.cache.tmp
124if test "$$4" = 1; then
125 AC_MSG_RESULT(yes)
126else
127 AC_MSG_RESULT(no)
128fi
129])
130
131dnl package,message,helpmessage,variable
132AC_DEFUN(AC_OVERRIDES_OLD,
133[
134AC_MSG_CHECKING("for $2")
135AC_CACHE_VAL(ac_cv_use_$1,
136[
137AC_ARG_WITH($1,$3,
138[if test "x$with_$1" = xyes; then
139 ac_cv_use_$1='$4="1"'
140else
141 ac_cv_use_$1='$4="0"'
142fi],[ac_cv_use_$1='$4=$DEFAULT_$4'])
143])
144eval "$ac_cv_use_$1"
145
146if test "$$4" = 1; then
147 AC_MSG_RESULT(yes)
148else
149 AC_MSG_RESULT(no)
150fi
151])
152
153AC_DEFUN(AC_PATH_FIND_INCLUDES,
154[
155ac_find_includes=
156for ac_dir in $1;
157 do
158 if test -f "$ac_dir/$2"; then
159 ac_find_includes=$ac_dir
160 break
161 fi
162 done
163])
164
165AC_DEFUN(AC_PATH_FIND_LIBRARIES,
166[
167ac_find_libraries=
168for ac_dir in $1;
169 do
170 for ac_extension in a so sl; do
171 if test -f "$ac_dir/lib$2.$ac_extension"; then
172 ac_find_libraries=$ac_dir
173 break 2
174 fi
175 done
176 done
177])
178
179dnl Path to include, allready defined
180AC_DEFUN(AC_INCLUDE_PATH_EXIST,
181[
182 ac_path_to_include=$1
183 echo "$2" | grep "\-I$1" > /dev/null
184 result=$?
185 if test $result = 0; then
186 ac_path_to_include=""
187 else
c2933500 188 ac_path_to_include="-I$1"
bcf1fa6b
RR
189 fi
190])
191
192dnl Path to link, allready defined
193AC_DEFUN(AC_LINK_PATH_EXIST,
194[
195 echo "$2" | grep "\-L$1" > /dev/null
196 result=$?
197 if test $result = 0; then
198 ac_path_to_link=""
199 else
c2933500 200 ac_path_to_link="-L$1"
bcf1fa6b
RR
201 fi
202])
203
204dnl ------------------------------------------------------------------------
205dnl Process this file with autoconf to produce a configure script.
206dnl ------------------------------------------------------------------------
207
208AC_INIT(configure.in)
209
210dnl ------------------------------------------------------------------------
211dnl Check platform
212dnl ------------------------------------------------------------------------
213
214OS="${OSTYPE}"
215
216if test "x$OS" = "x"; then
217 UNAME=`uname`
218 AC_MSG_ERROR("The system variable OS has not been set"
219 "please set is everytime befor compiling on this system"
220 "A good example for this system would be:"
221 "setenv OSTYPE $UNAME for csh as a SHELL"
222 "EXPORT OSTYPE=$UNAME for sh as SHELL"
223 "please set this and restart again."
224 )
225fi
226
227dnl ------------------------------------------------------------------------
228dnl Set base directory
229dnl ------------------------------------------------------------------------
230
231WXBASEDIR=`pwd`
232AC_SUBST(WXBASEDIR)
233
234dnl ------------------------------------------------------------------------
235dnl search path for includes and libraries
236dnl ------------------------------------------------------------------------
237
ebefb2f3 238dnl VZ: added standard locations for Xm.h for Irix, HP-UX and SunOS (19.02.99)
bcf1fa6b 239SEARCH_INCLUDE="\
ebefb2f3
VZ
240 /usr/Motif-1.2/include \
241 /usr/Motif-2.1/include \
242 \
243 /usr/include/Motif1.2 \
244 /opt/xpm/include/X11 \
245 \
bcf1fa6b 246 /usr/Motif1.2/include \
ebefb2f3 247 /usr/dt/include \
db2150a1 248 /usr/include/Xm \
c2933500 249 \
bcf1fa6b
RR
250 /usr/X11R6/include \
251 /usr/X11R5/include \
252 /usr/X11R4/include \
253 \
76153302
RR
254 /usr/X11R6/lib \
255 /usr/X11R5/lib \
256 /usr/X11R4/lib \
257 \
bcf1fa6b
RR
258 /usr/include/X11R6 \
259 /usr/include/X11R5 \
260 /usr/include/X11R4 \
261 \
262 /usr/local/X11R6/include \
263 /usr/local/X11R5/include \
264 /usr/local/X11R4/include \
265 \
266 /usr/local/include/X11R6 \
267 /usr/local/include/X11R5 \
268 /usr/local/include/X11R4 \
269 \
270 /usr/X11/include \
271 /usr/include/X11 \
272 /usr/local/X11/include \
273 /usr/local/include/X11 \
274 \
275 /usr/X386/include \
276 /usr/x386/include \
277 /usr/XFree86/include/X11 \
278 \
279 /usr/include \
f3855ef0
RR
280 /usr/include/gtk \
281 /usr/include/gdk \
282 /usr/include/glib \
bcf1fa6b
RR
283 /usr/local/include \
284 /usr/unsupported/include \
285 /usr/athena/include \
286 /usr/local/x11r5/include \
287 /usr/lpp/Xamples/include \
288 \
289 /usr/local/include/gtk \
d18ed59a 290 /usr/local/include/qt \
bcf1fa6b
RR
291 /usr/include/qt \
292 \
293 /usr/openwin/include \
294 /usr/openwin/share/include \
295 "
296
ebefb2f3 297SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` "
bcf1fa6b
RR
298
299dnl ------------------------------------------------------------------------
300dnl standard checks
301dnl ------------------------------------------------------------------------
302
303dnl ###################
304dnl # checks programs #
305dnl ###################
306
307dnl C-compiler checks
308dnl =================
309dnl use what compiler
310AC_PROG_CC
311dnl defines CC with the compiler to use
312dnl defines GCC with yes if using gcc
313dnl defines GCC empty if not using gcc
314dnl defines CFLAGS
315
316CFLAGS=`echo "$CFLAGS" | sed 's/-g//g'`
317
318dnl does compiler support -c and -o simultaniously
319AC_PROG_CC_C_O
c2933500 320dnl defines NO_MINUS_C_MINUS_O if compiler does not accept
bcf1fa6b
RR
321dnl both switches simultaniously
322dnl what is the c-preprocessor
323AC_PROG_CPP
324dnl defines CPP with the c-preprocessor
325dnl is -traditional needed for correct compilations
326AC_PROG_GCC_TRADITIONAL
327dnl adds -traditional for gcc if needed
328
329AC_LANG_SAVE
330
331dnl C++-compiler checks
332dnl ===================
333dnl use what compiler
334AC_PROG_CXX
335dnl defines CXX with the compiler to use
336dnl defines GXX with yes if using gxx
337dnl defines GXX empty if not using gxx
338dnl defines CXXFLAGS
339dnl what is the C++-preprocessor
340AC_PROG_CXXCPP
341dnl defines CXXCPP with the C++-preprocessor
342
343CXXFLAGS=`echo "$CXXFLAGS" | sed 's/-g//g'`
344
345AC_LANG_RESTORE
346
347dnl ranlib command
348dnl ==============
349AC_PROG_RANLIB
350dnl defines RANLIB with the appropriate command
351
352dnl ar command
353dnl ==========
354AC_CHECK_PROG(AR, ar, ar, ar)
355dnl defines AR with the appropriate command
356
357dnl install checks
358dnl ==============
359AC_PROG_INSTALL
360dnl defines INSTALL with the appropriate command
361
362dnl does ln -s works
363dnl ================
364AC_PROG_LN_S
365dnl defines LN_S with the appropriate command
366
367dnl awk command
368dnl ===========
369AC_PROG_AWK
370dnl defines AWK with the appropriate command
371
372dnl ###############
373dnl # make checks #
374dnl ###############
375dnl check if VPATH works
376AC_MSG_CHECKING("make for VPATH support")
377dnl create Makefile
378cat - << EOF > confMake
379check : file
380 cp \$? \$@
381 cp \$? final_file
382EOF
383
384if test ! -d sub ; then
385 mkdir sub
386fi
387echo dummy > sub/file
388${MAKE-make} -f confMake VPATH=sub 2> config.log > /dev/null
389RESULT=$?
851b9459 390rm -f sub/file check final_file confMake
c2933500 391rmdir sub
bcf1fa6b
RR
392if test "$RESULT" = 0; then
393 AC_MSG_RESULT(yes)
394else
395 AC_MSG_RESULT(no)
396 AC_MSG_ERROR(
397You need a make-utility that is able to use the variable
398VPATH correctly.
399If your version of make does not support VPATH correctly,
400please install GNU-make (possibly as gmake), and start
401configure with the following command:
402export MAKE=gmake; ./configure for sh-type shells
403setenv MAKE gmake; ./configure for csh-type shells
404Also please do remember to use gmake in this case every time
405you are trying to compile.
c2933500 406)
bcf1fa6b
RR
407fi
408
409dnl ####################
410dnl # checks libraries #
411dnl ####################
412
413dnl find the X11 include and library files
414AC_PATH_XTRA
415dnl defines x_includes and x_libraries
416
417dnl #######################
418dnl # checks header files #
419dnl #######################
420AC_HEADER_DIRENT
421dnl defines DIR
422dnl defines MACRO HAVE_DIRENT_H if dirent.h exists
423dnl defines MACRO HAVE_SYS_NDIR_H if sys/ndir.h exists
424dnl defines MACRO HAVE_SYS_DIR_H if sys/dir.h exists
425dnl defines MACRO HAVE_NDIR_H if ndir.h exists
426AC_HEADER_STDC
427dnl defines STDC_HEADERS if ANSI-C header
428AC_HEADER_SYS_WAIT
429dnl defines HAVE_SYS_WAIT_H if sys/wait.h exist and is POSIX.1
a4876ea4 430AC_CHECK_HEADERS(fcntl.h)
bcf1fa6b 431dnl defines HAVE_FCNTL_H
a4876ea4 432AC_CHECK_HEADERS(limits.h)
bcf1fa6b 433dnl defines HAVE_LIMITS_h
a4876ea4 434AC_CHECK_HEADERS(sys/file.h)
bcf1fa6b 435dnl defines HAVE_SYS_FILE_H
a4876ea4 436AC_CHECK_HEADERS(sys/time.h)
bcf1fa6b 437dnl defines HAVE_SYS_TIME_H
a4876ea4 438AC_CHECK_HEADERS(unistd.h)
bcf1fa6b 439dnl defines HAVE_UNISTD_H
a4876ea4
KB
440AC_CHECK_HEADERS(fnmatch.h)
441dnl defines HAVE_FNMATCH_H
bcf1fa6b 442dnl As it needs Linux 2.1.x for the moment: check whether the file exists (GL).
a4876ea4 443AC_CHECK_HEADERS(linux/joystick.h)
bcf1fa6b
RR
444GTK_JOYSTICK=""
445if test "$ac_cv_header_linux_joystick_h" = "yes"; then
446 GTK_JOYSTICK="gtk/joystick.cpp"
447fi
448AC_SUBST(GTK_JOYSTICK)
449
35c9d958
KB
450dnl check for vprintf/vsprintf() which are GNU extensions
451AC_FUNC_VPRINTF
518b5d2f
VZ
452
453dnl check for several standard functions we use if they are available
454AC_CHECK_FUNCS(vsnprintf vfork)
afb74891
VZ
455
456dnl check for usleep() and nanosleep() which is better in MT programs
518b5d2f
VZ
457dnl AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP),
458dnl [
459dnl AC_CHECK_LIB(posix4, nanosleep,
460dnl AC_DEFINE(HAVE_NANOSLEEP),
461dnl AC_CHECK_FUNCS(usleep))
462dnl ]
463dnl )
464AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP),
465[AC_CHECK_LIB(posix4, nanosleep, AC_DEFINE(HAVE_NANOSLEEP),
466 [AC_CHECK_FUNCS(usleep, AC_DEFINE(HAVE_USLEEP),
467 AC_MSG_WARN(Sleep() function will not work)
468 )]
469 )]
470)
471
472dnl check for uname (POSIX) and gethostname (BSD)
473AC_CHECK_FUNCS(uname gethostname, break)
35c9d958 474
32cbeff4
KB
475AC_LANG_SAVE
476AC_LANG_CPLUSPLUS
477AC_CHECK_HEADERS(iostream)
478if test "x$HAVE_IOSTREAM" = "x" ; then
479 AC_DEFINE(wxUSE_IOSTREAMH)
480fi
481AC_LANG_RESTORE
482
483dnl defines HAVE_IOSTREAM
bcf1fa6b
RR
484dnl ###################
485dnl # checks typedefs #
486dnl ###################
487AC_TYPE_GETGROUPS
488dnl defines GETGROUPS_T
489AC_TYPE_MODE_T
490dnl defines mode_t if not already defined
491AC_TYPE_OFF_T
492dnl defines off_t if not already defined
493AC_TYPE_PID_T
494dnl defines pid_t if not already defined
495AC_TYPE_SIGNAL
496dnl defines RETSIGTYPE for the correct return type of signal
497AC_TYPE_SIZE_T
498dnl defines size_t if not already defined
499AC_TYPE_UID_T
500dnl defines uid_t and gid_t if not already defined
501
502dnl #####################
503dnl # checks structures #
504dnl #####################
505
506AC_HEADER_STAT
c2933500 507dnl defines STAT_MACROS_BROKEN if S_ISDIR and S_ISREG
bcf1fa6b
RR
508dnl do not work properly
509AC_HEADER_TIME
510dnl defines TIME_WITH_SYS_TIME if time.h and sys/time.h can
511dnl both be included
c2933500 512AC_STRUCT_ST_BLKSIZE
bcf1fa6b 513dnl defines HAVE_ST_BLKSIZE if struct stat contains st_blksize
c2933500 514AC_STRUCT_ST_BLOCKS
bcf1fa6b 515dnl defines HAVE_ST_BLOCKS if struct stat contains st_blocks
c2933500 516AC_STRUCT_ST_RDEV
bcf1fa6b
RR
517dnl defines HAVE_ST_RDEV if struct stat contains st_rdev
518AC_STRUCT_TM
519dnl defines TM_IN_SYS_TIME if struct tm is not in time.h
520AC_STRUCT_TIMEZONE
521dnl defines HAVE_ST_BLKSIZE if struct tm contains tm_zone
522dnl otherwise
523dnl defines HAVE_TZNAME if external array tzname is found
524
525dnl ###################################
526dnl # checks compiler characteristics #
527dnl ###################################
528dnl AC_C_CROSS
529
530AC_C_CONST
531dnl defines const to be empty if c-compiler does not support const fully
532AC_C_INLINE
533dnl defines inline to a sensible value for the c-compiler
534AC_C_CHAR_UNSIGNED
535dnl defines __CHAR_UNSIGNED__ if char is unsigned
536AC_C_LONG_DOUBLE
537dnl defines HAVE_LONGDOUBLE if compiler supports long double
538
539AC_C_BIGENDIAN
540dnl defines WORDS_BIGENDIAN if system is big endian
541
542AC_CHECK_SIZEOF(int *)
543AC_CHECK_SIZEOF(int)
544AC_CHECK_SIZEOF(long)
6c56b261 545AC_CHECK_SIZEOF(long long)
bcf1fa6b
RR
546dnl defines the size of certain types of variables in SIZEOF_???
547
548dnl ############################
549dnl # checks library functions #
550dnl ############################
551
552dnl ##########################
553dnl # checks system services #
554dnl ##########################
555
556
557AC_SYS_LONG_FILE_NAMES
558dnl defines HAVE_LONG_FILENAMES if filenames longer then
559dnl 14 chars are supported
560
561dnl AC_SYS_RESTARTABLE_SYSCALLS
c2933500 562dnl defines HAVE_RESTARTABLE_SYSCALLS if the system restarts a
bcf1fa6b
RR
563dnl system call that is interrupted
564dnl by a signal
c2933500 565
bcf1fa6b
RR
566dnl #################
567dnl # checks PARSER #
568dnl #################
569
570dnl YACC checks
571dnl ===========
572AC_PROG_YACC
573dnl defines YACC with the appropriate command
574
575dnl LEX checks
576dnl ==========
577AC_PROG_LEX
578dnl defines LEX with the appropriate command
579dnl defines LEXLIB with the appropriate library
580dnl what type is yytext
581AC_DECL_YYTEXT
582dnl defines YYTEXT_POINTER if yytext is char*
c2933500 583dnl defines LEX_OUTPUT_ROOT as to the base of the
bcf1fa6b
RR
584dnl filename output by the lexer
585
cd5bf2a6
RR
586dnl ###################################
587dnl ## Check for dynamic load module #
588dnl ###################################
589
590DL_LIBRARY=
591AC_CHECK_FUNCS(dlopen, AC_DEFINE(HAVE_LIBDL),
592[AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL) DL_LIBRARY="-ldl"],
593 [AC_CHECK_LIB(dld, dld_link, [AC_DEFINE(HAVE_DLD) DL_LIBRARY="-ldld"],
594 [AC_CHECK_FUNCS(shl_load, AC_DEFINE(HAVE_SHL_LOAD) )]
595 )]
596 )]
597)
598AC_SUBST(DL_LIBRARY)
599
600AC_CACHE_CHECK([for underscore before symbols], libltdl_cv_uscore, [
601 echo "main(){int i=1;} fnord(){int i=23; int ltuae=42;}" > conftest.c
602 ${CC} -c conftest.c > /dev/null
603 if (nm conftest.o | grep _fnord) > /dev/null; then
604 libltdl_cv_uscore=yes
605 else
606 libltdl_cv_uscore=no
607 fi
608 rm -f conftest*
609])
610
611if test x"$libltdl_cv_uscore" = xyes; then
612 if test x"$ac_cv_func_dlopen" = xyes ||
613 test x"$ac_cv_lib_dl_dlopen" = xyes ; then
614 AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
615 libltdl_cv_need_uscore, [dnl
616 AC_TRY_RUN([
617#include <dlfcn.h>
618#include <stdio.h>
619fnord() { int i=42;}
620main() { void *self, *ptr1, *ptr2; self=dlopen(NULL,RTLD_LAZY);
621 if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
c2933500 622 if(ptr1 && !ptr2) exit(0); } exit(1); }
cd5bf2a6
RR
623], libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes,
624 libltdl_cv_need_uscore=no
625)])
626 fi
627fi
628
629if test x"$libltdl_cv_need_uscore" = xyes; then
630 AC_DEFINE(NEED_USCORE)
631fi
632
633dnl ##########################################
634dnl ## Check for specific library functions #
635dnl ##########################################
636
637dnl Checks for library functions.
638AC_CHECK_FUNCS(strerror)
639
bcf1fa6b
RR
640dnl ------------------------------------------------------------------------
641dnl main includes
642dnl ------------------------------------------------------------------------
643
644CHECK_INCLUDE="-I/usr/include $X_CFLAGS"
645CHECK_LIB="-L/lib -L/usr/lib $X_LIBS"
646
647dnl ------------------------------------------------------------------------
648dnl host system
649dnl ------------------------------------------------------------------------
650
651AC_CANONICAL_HOST
652canonical=$host
653configuration=$host_alias
654
655dnl ------------------------------------------------------------------------
656dnl system settings
657dnl ------------------------------------------------------------------------
658
659USE_UNIX=1
660
bcf1fa6b
RR
661USE_LINUX=
662USE_SGI=
663USE_HPUX=
664USE_SYSV=
665USE_SVR4=
666USE_AIX=
667USE_SUN=
668USE_SOLARIS=
669USE_SUNOS=
670USE_ALPHA=
671USE_OSF=
672USE_BSD=
673USE_FREEBSD=
674USE_VMS=
675USE_ULTRIX=
676USE_DATA_GENERAL=
677
f780dc86 678AC_DEFINE(__UNIX__)
bcf1fa6b
RR
679case "${canonical}" in
680 *-hp-hpux* )
681 USE_HPUX=1
682 AC_DEFINE(__HPUX__)
683 ;;
684 *-*-linux* )
685 USE_LINUX=1
686 AC_DEFINE(__LINUX__)
e0e680d2
KB
687 TMP=`uname -m`
688 if test "x$TMP" = "xalpha"
689 then
690 USE_ALPHA=1
691 AC_DEFINE(__ALPHA__)
692 fi
bcf1fa6b 693 ;;
c2933500 694 *-*-irix5* | *-*-irix6* )
bcf1fa6b
RR
695 USE_SGI=1
696 USE_SVR4=1
697 AC_DEFINE(__SGI__)
698 AC_DEFINE(__SVR4__)
699 ;;
c2933500 700 *-*-solaris2* )
bcf1fa6b
RR
701 USE_SUN=1
702 USE_SOLARIS=1
703 USE_SVR4=1
704 AC_DEFINE(__SUN__)
705 AC_DEFINE(__SOLARIS__)
706 AC_DEFINE(__SVR4__)
707 ;;
c2933500 708 *-*-sunos4* )
bcf1fa6b
RR
709 USE_SUN=1
710 USE_SUNOS=1
711 USE_BSD=1
712 AC_DEFINE(__SUN__)
713 AC_DEFINE(__SUNOS__)
714 AC_DEFINE(__BSD__)
715 ;;
716 *-*-freebsd* | *-*-netbsd*)
717 USE_BSD=1
718 USE_FREEBSD=1
719 AC_DEFINE(__FREEBSD__)
720 AC_DEFINE(__BSD__)
721 ;;
c2933500 722 *-*-osf* )
bcf1fa6b
RR
723 USE_ALPHA=1
724 USE_OSF=1
725 AC_DEFINE(__ALPHA__)
726 AC_DEFINE(__OSF__)
727 ;;
c2933500 728 *-*-dgux5* )
bcf1fa6b
RR
729 USE_ALPHA=1
730 USE_SVR4=1
731 AC_DEFINE(__ALPHA__)
732 AC_DEFINE(__SVR4__)
733 ;;
c2933500 734 *-*-sysv5* )
bcf1fa6b
RR
735 USE_SYSV=1
736 USE_SVR4=1
737 AC_DEFINE(__SYSV__)
738 AC_DEFINE(__SVR4__)
739 ;;
c2933500 740 *-*-aix* )
bcf1fa6b
RR
741 USE_AIX=1
742 USE_SYSV=1
743 USE_SVR4=1
744 AC_DEFINE(__AIX__)
745 AC_DEFINE(__SYSV__)
746 AC_DEFINE(__SVR4__)
747 ;;
748 *)
749 AC_MSG_ERROR(I don't know your system type.)
750esac
751
752dnl ------------------------------------------------------------------------
753dnl defaults for command options
754dnl ------------------------------------------------------------------------
755
756AC_OVERRIDES_PREPARE
757
6fbf0513 758DEFAULT_wxUSE_GTK=1
8248314d
VZ
759DEFAULT_wxUSE_QT=0
760DEFAULT_wxUSE_MOTIF=0
bcf1fa6b 761
8710cf5c 762DEFAULT_wxUSE_THREADS=0
cb43b372 763
8248314d
VZ
764DEFAULT_wxUSE_SHARED=1
765DEFAULT_wxUSE_OPTIMISE=1
766DEFAULT_wxUSE_PROFILE=0
767DEFAULT_wxUSE_DEBUG_FLAG=0
768DEFAULT_wxUSE_DEBUG_INFO=0
769DEFAULT_wxUSE_MEM_TRACING=0
770DEFAULT_wxUSE_DMALLOC=0
771DEFAULT_wxUSE_APPLE_IEEE=1
772DEFAULT_wxUSE_IOSTREAMH=1
773
774DEFAULT_wxUSE_ZLIB=1
8248314d 775DEFAULT_wxUSE_LIBPNG=1
cd743a6f 776DEFAULT_wxUSE_LIBJPEG=0
8710cf5c 777DEFAULT_wxUSE_ODBC=1
8248314d 778
8248314d 779DEFAULT_wxUSE_TIMEDATE=1
8248314d
VZ
780DEFAULT_wxUSE_INTL=1
781DEFAULT_wxUSE_CONFIG=1
782DEFAULT_wxUSE_STREAMS=1
d28e1977 783DEFAULT_wxUSE_SOCKETS=1
8248314d 784DEFAULT_wxUSE_SERIAL=1
eb9bbf52 785DEFAULT_wxUSE_DYNLIB_CLASS=1
8248314d
VZ
786
787DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=1
bcf1fa6b 788DEFAULT_WX_NORMALIZED_PS_FONTS=1
8248314d 789DEFAULT_wxUSE_POSTSCRIPT=1
bcf1fa6b 790
8248314d
VZ
791DEFAULT_wxUSE_IPC=1
792DEFAULT_wxUSE_RESOURCES=1
8b53e5a2 793DEFAULT_wxUSE_CLIPBOARD=1
ff8bfdbb 794DEFAULT_wxUSE_TOOLTIPS=1
ac57418f 795DEFAULT_wxUSE_DRAG_AND_DROP=1
bcf1fa6b 796
8248314d
VZ
797DEFAULT_wxUSE_MDI_ARCHITECTURE=1
798DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=1
799DEFAULT_wxUSE_PRINTING_ARCHITECTURE=1
bcf1fa6b 800
8248314d
VZ
801DEFAULT_wxUSE_PROLOGIO=1
802DEFAULT_wxUSE_WX_RESOURCES=1
803DEFAULT_wxUSE_RPC=0
e9aad10a 804DEFAULT_wxUSE_HELP=1
bcf1fa6b 805
fb4e5803
VZ
806DEFAULT_wxUSE_UNICODE=1
807DEFAULT_wxUSE_WCSRTOMBS=0
808
bcf1fa6b
RR
809dnl ----------------------------------------------------------------
810dnl toolkit options
811dnl ----------------------------------------------------------------
812
813AC_OVERRIDES(gtk,gtk,
814**--with-gtk use GTK,
8248314d 815wxUSE_GTK)
bcf1fa6b
RR
816
817AC_OVERRIDES(qt,qt,
818**--with-qt use Qt,
8248314d 819wxUSE_QT)
bcf1fa6b
RR
820
821AC_OVERRIDES(motif,motif,
822**--with-motif use Motif/Lesstif,
8248314d 823wxUSE_MOTIF)
bcf1fa6b
RR
824
825dnl ----------------------------------------------------------------
826dnl compile options
827dnl ----------------------------------------------------------------
828
829AC_OVERRIDES(shared,shared,
830**--with-shared create shared libraries,
8248314d 831wxUSE_SHARED)
bcf1fa6b
RR
832
833AC_OVERRIDES(optimise,optimise,
834**--with-optimise create optimised code,
8248314d 835wxUSE_OPTIMISE)
bcf1fa6b
RR
836
837AC_OVERRIDES(debug_flag,debug_flag,
838**--with-debug_flag create code with WXDEBUG define set to 1,
8248314d 839wxUSE_DEBUG_FLAG)
bcf1fa6b
RR
840
841AC_OVERRIDES(debug_info,debug_info,
842**--with-debug_info create code with debuging information,
8248314d 843wxUSE_DEBUG_INFO)
bcf1fa6b 844
2904eefd
KB
845AC_OVERRIDES(debug_gdb,debug_gdb,
846**--with-debug_gdb create code with extra GDB debuging information,
847wxUSE_DEBUG_GDB)
848
bcf1fa6b
RR
849AC_OVERRIDES(mem_tracing,mem_tracing,
850**--with-mem_traing create code with memory tracing,
8248314d 851wxUSE_MEM_TRACING)
bcf1fa6b
RR
852
853AC_OVERRIDES(dmalloc,dmalloc,
854**--with-dmalloc use dmalloc memory debug library (www.letters.com/dmalloc/),
8248314d 855wxUSE_DMALLOC)
bcf1fa6b
RR
856
857AC_OVERRIDES(profile,profile,
858**--with-profile create code with profiling information,
8248314d 859wxUSE_PROFILE)
bcf1fa6b
RR
860
861AC_OVERRIDES(apple_ieee, apple_ieee,
862**--with_apple_ieee use the Apple IEEE codec,
8248314d 863wxUSE_APPLE_IEEE)
bcf1fa6b 864
ac57418f
RR
865AC_OVERRIDES(threads,threads,
866**--with-threads for enabling threads,
867wxUSE_THREADS)
868
eb9bbf52
VZ
869AC_OVERRIDES(dynlib,dynlib,
870**--with-dynlib to compile wxLibrary class,
871wxUSE_DYNLIB_CLASS)
872
bcf1fa6b
RR
873dnl ----------------------------------------------------------------
874dnl user options for libraries
875dnl ----------------------------------------------------------------
876
877AC_OVERRIDES(zlib,zlib,
878**--with-zlib use zlib for LZW comression,
8248314d 879wxUSE_ZLIB)
bcf1fa6b 880
bcf1fa6b
RR
881AC_OVERRIDES(libpng,libpng,
882**--with-libpng use libpng (PNG image format),
8248314d 883wxUSE_LIBPNG)
bcf1fa6b 884
2fff5f08
VS
885AC_OVERRIDES(libjpeg,libjpeg,
886**--with-libjpeg use libjpeg (JPEG image format),
887wxUSE_LIBJPEG)
888
bcf1fa6b
RR
889AC_OVERRIDES(odbc,odbc,
890**--with-odbc use iODBC and wxODBC classes,
8248314d 891wxUSE_ODBC)
bcf1fa6b 892
bcf1fa6b
RR
893dnl ----------------------------------------------------------------
894dnl user options for non-GUI classes
895dnl ----------------------------------------------------------------
896
897AC_OVERRIDES(timedate, timedate,
898**--with-timedate use wxTime and wxDate classes,
8248314d 899wxUSE_TIMEDATE)
bcf1fa6b 900
bcf1fa6b
RR
901AC_OVERRIDES(intl,intl,
902**--with-intl use internationalization system,
8248314d 903wxUSE_INTL)
bcf1fa6b
RR
904
905AC_OVERRIDES(config,config,
906**--with-config use wxConfig class,
8248314d 907wxUSE_CONFIG)
bcf1fa6b
RR
908
909AC_OVERRIDES(streams,streams,
910**--with-streams use wxStream etc classes,
8248314d 911wxUSE_STREAMS)
bcf1fa6b
RR
912
913AC_OVERRIDES(serial,serial,
914**--with-serial use class serialization,
8248314d 915wxUSE_SERIAL)
bcf1fa6b 916
35a4dab7
GL
917AC_OVERRIDES(sockets,sockets,
918**--with-sockets use wxSocket etc classes,
919wxUSE_SOCKETS)
920
bcf1fa6b
RR
921dnl ----------------------------------------------------------------
922dnl user options for PostScript
923dnl ----------------------------------------------------------------
924
925AC_OVERRIDES(afmfonts,afmfonts,
926**--with-afmfonts use Adobe Font Metric Font table,
8248314d 927wxUSE_AFM_FOR_POSTSCRIPT)
bcf1fa6b
RR
928
929AC_OVERRIDES(normalized, normalized,
930**--with-PS-normalized use normalized PS fonts,
931WX_NORMALIZED_PS_FONTS)
932
933AC_OVERRIDES(postscript, postscript,
934**--with-postscript use wxPostscriptDC device context,
8248314d 935wxUSE_POSTSCRIPT)
bcf1fa6b 936
fb4e5803
VZ
937dnl ----------------------------------------------------------------
938dnl user options for wxString and Unicode
939dnl ----------------------------------------------------------------
940
941AC_OVERRIDES(unicode,unicode,
942**--with-unicode compile wxString with Unicode support,
943wxUSE_UNICODE)
944
945AC_OVERRIDES(wcsrtombs,wcsrtombs,
946**--with-wcsrtombs use wcsrtombs instead of (buggy in GNU libc5) wcstombs,
947wxUSE_WCSRTOMBS)
948
bcf1fa6b
RR
949dnl ----------------------------------------------------------------
950dnl user options for Prolog and Resources
951dnl ----------------------------------------------------------------
952
953AC_OVERRIDES(wxresources,wxresources,
954**--with-wxresources use wxWindows's resources,
8248314d 955wxUSE_WX_RESOURCES)
bcf1fa6b
RR
956
957AC_OVERRIDES(prologio,prologio,
958**--with-prologio use Prolog IO library,
8248314d 959wxUSE_PROLOGIO)
bcf1fa6b
RR
960
961AC_OVERRIDES(rpc,RPC,
962**--with-rpc use Prolog's remote procedure calls,
8248314d 963wxUSE_RPC)
bcf1fa6b
RR
964
965dnl ----------------------------------------------------------------
966dnl user options for misc stuff
967dnl ----------------------------------------------------------------
968
969AC_OVERRIDES(ipc,IPC,
970**--with-ipc use interprocess communication (wxSocket etc.),
8248314d 971wxUSE_IPC)
bcf1fa6b
RR
972
973AC_OVERRIDES(resources,resources,
974**--with-resources use X resources for saving information,
8248314d 975wxUSE_RESOURCES)
bcf1fa6b
RR
976
977AC_OVERRIDES(clipboard,clipboard,
978**--with-clipboard use wxClipboard classes,
8248314d 979wxUSE_CLIPBOARD)
bcf1fa6b 980
ff8bfdbb
VZ
981AC_OVERRIDES(tooltips,tooltips,
982**--with-tooltips use tooltips,
983wxUSE_TOOLTIPS)
984
bcf1fa6b
RR
985AC_OVERRIDES(dnd,dnd,
986**--with-dnd use Drag'n'Drop classes,
ac57418f 987wxUSE_DRAG_AND_DROP)
bcf1fa6b
RR
988
989dnl ----------------------------------------------------------------
990dnl user options for architectures
991dnl ----------------------------------------------------------------
992
993AC_OVERRIDES(mdi,mdi,
994**--with-mdi use multiple document interface architecture,
8248314d 995wxUSE_MDI_ARCHITECTURE)
bcf1fa6b
RR
996
997AC_OVERRIDES(docview,docview,
998**--with-docview use document view architecture,
8248314d 999wxUSE_DOC_VIEW_ARCHITECTURE)
bcf1fa6b
RR
1000
1001AC_OVERRIDES(printarch,printarch,
1002**--with-printarch use printing architecture,
8248314d 1003wxUSE_PRINTING_ARCHITECTURE)
bcf1fa6b 1004
e9aad10a
KB
1005AC_OVERRIDES(help,help,
1006**--with-help use help (using external browser at present),
1007wxUSE_HELP)
1008
bcf1fa6b
RR
1009dnl ----------------------------------------------------------------
1010dnl Unix, obviously
1011dnl ----------------------------------------------------------------
1012
8248314d 1013if test "$wxUSE_UNIX" = 1 ; then
bcf1fa6b
RR
1014 AC_DEFINE(__UNIX__)
1015fi
1016
6d5977df
KB
1017dnl ----------------------------------------------------------------
1018dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
1019dnl ----------------------------------------------------------------
1020if test "$USE_LINUX" = 1; then
91845ada 1021 AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
6d5977df
KB
1022fi
1023
bcf1fa6b
RR
1024dnl ----------------------------------------------------------------
1025dnl search for toolkit (widget sets)
1026dnl ----------------------------------------------------------------
1027
1028TOOLKIT=
1029TOOLKIT_DEF=
1030
1031GUI_TK_INCLUDE=
1032GUI_TK_LIBRARY=
1033GUI_TK_LINK=
1034
76153302
RR
1035WX_LINK=
1036
bcf1fa6b
RR
1037MAKEINCLUDE=
1038
8248314d 1039if test "$wxUSE_GTK" = 1; then
fee04295 1040 AM_PATH_GTK(1.0.4, [
bcf1fa6b
RR
1041 GUI_TK_INCLUDE="$GTK_CFLAGS"
1042 GUI_TK_LIBRARY="$GTK_LIBS"
f3855ef0 1043 ], AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.0.4 up-to 1.0.6?))
bcf1fa6b
RR
1044 TOOLKIT=GTK
1045 TOOLKIT_DEF=__WXGTK__
8710cf5c 1046 WX_LINK=-lwx_gtk2
bcf1fa6b
RR
1047 MAKEINCLUDE=../gtk.inc
1048fi
1049
8248314d 1050if test "$wxUSE_QT" = 1; then
bcf1fa6b
RR
1051 AC_MSG_CHECKING(for Qt includes)
1052 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,qapp.h)
1053 if test "$ac_find_includes" != "" ; then
1054 AC_MSG_RESULT(found $ac_find_includes)
1055 AC_MSG_CHECKING(for Qt library)
1056 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,qt)
1057 if test "$ac_find_libraries" != "" ; then
1058 AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
1059 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1060 CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link"
1061 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1062 AC_MSG_RESULT(found Qt at $ac_find_libraries)
1063 else
1064 AC_MSG_ERROR(no)
1065 fi
1066 else
1067 AC_MSG_ERROR(no)
1068 fi
76153302 1069 GUI_TK_LINK="-lX11 -lqt -lm"
bcf1fa6b
RR
1070 TOOLKIT=QT
1071 TOOLKIT_DEF=__WXQT__
76153302 1072 WX_LINK=-lwx_qt
bcf1fa6b
RR
1073 MAKEINCLUDE=../qt.inc
1074fi
1075
8248314d 1076if test "$wxUSE_MOTIF" = 1; then
bcf1fa6b 1077 AC_MSG_CHECKING(for Motif/Lesstif includes)
ebefb2f3 1078 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,Xm/Xm.h)
bcf1fa6b
RR
1079 if test "$ac_find_includes" != "" ; then
1080 AC_MSG_RESULT(found $ac_find_includes)
76153302 1081 AC_MSG_CHECKING(for Motif/Lesstif library)
bcf1fa6b
RR
1082 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xm)
1083 if test "$ac_find_libraries" != "" ; then
1084 AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
1085 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
76153302 1086 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
bcf1fa6b
RR
1087 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1088 AC_MSG_RESULT(found at $ac_find_libraries)
76153302
RR
1089 AC_MSG_CHECKING(for Xt library)
1090 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
1091 if test "$ac_find_libraries" != "" ; then
1092 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1093 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1094 AC_MSG_RESULT(found at $ac_find_libraries)
892dbe99
RR
1095 AC_MSG_CHECKING(for Xpm library)
1096 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
1097 if test "$ac_find_libraries" != "" ; then
1098 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1099 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1100 AC_MSG_RESULT(found at $ac_find_libraries)
1101 else
1102 AC_MSG_ERROR(no)
1103 fi
76153302
RR
1104 else
1105 AC_MSG_ERROR(no)
1106 fi
bcf1fa6b
RR
1107 else
1108 AC_MSG_ERROR(no)
1109 fi
1110 else
1111 AC_MSG_ERROR(no)
1112 fi
c2933500 1113
8c739649
RR
1114 GUI_TK_LINK="-lXm -lXpm -lXmu -lXt -lX11 -lm"
1115 GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK"
bcf1fa6b 1116 TOOLKIT=MOTIF
c2933500 1117 TOOLKIT_DEF=__WXMOTIF__
b75867a6 1118 WX_LINK=-lwx_motif2
bcf1fa6b
RR
1119 MAKEINCLUDE=../motif.inc
1120fi
1121
1122if test "$TOOLKIT" = ""; then
c2933500 1123 AC_MSG_ERROR(You must specify a toolkit: --with-gtk --with-qt --with-motif)
bcf1fa6b
RR
1124fi
1125
1126AC_SUBST(GUI_TK_INCLUDE)
1127AC_SUBST(GUI_TK_LIBRARY)
1128AC_SUBST(GUI_TK_LINK)
1129
76153302
RR
1130AC_SUBST(WX_LINK)
1131
bcf1fa6b
RR
1132AC_SUBST(TOOLKIT)
1133AC_SUBST(TOOLKIT_DEF)
1134
1135AC_SUBST(MAKEINCLUDE)
1136
1137dnl ----------------------------------------------------------------
1138dnl Register compile options for makefiles and setup.h
1139dnl ----------------------------------------------------------------
1140
8c739649
RR
1141EXTRA_LINK=
1142
bcf1fa6b 1143WXDEBUG=
2904eefd
KB
1144if test "$wxUSE_DEBUG_GDB" = 1 ; then
1145 wxUSE_DEBUG_INFO=1
f6c6dd8c
RR
1146 WXDEBUG="-ggdb"
1147 wxUSE_OPTIMISE=0
2904eefd
KB
1148else
1149 if test "$wxUSE_DEBUG_INFO" = 1 ; then
1150 WXDEBUG="-g"
1151 wxUSE_OPTIMISE=0
2d17d68f 1152 else
8c739649 1153 EXTRA_LINK="-s $EXTRA_LINK"
f0bec3de 1154 fi
bcf1fa6b
RR
1155fi
1156AC_SUBST(WXDEBUG)
1157
8248314d
VZ
1158if test "$wxUSE_DEBUG_FLAG" = 1 ; then
1159 AC_DEFINE_UNQUOTED(WXDEBUG,$wxUSE_DEBUG_FLAG)
bcf1fa6b
RR
1160 WXDEBUG_DEFINE="-D__WXDEBUG__"
1161 AC_SUBST(WXDEBUG_DEFINE)
f96aa4d9
RR
1162else
1163 WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
1164 AC_SUBST(WXDEBUG_DEFINE)
bcf1fa6b
RR
1165fi
1166
8248314d
VZ
1167if test "$wxUSE_MEM_TRACING" = 1 ; then
1168 AC_DEFINE_UNQUOTED(wxUSE_MEMORY_TRACING,$wxUSE_MEM_TRACING)
1169 AC_DEFINE_UNQUOTED(wxUSE_GLOBAL_MEMORY_OPERATORS,$wxUSE_MEM_TRACING)
bcf1fa6b
RR
1170fi
1171
8248314d 1172if test "$wxUSE_DMALLOC" = 1 ; then
bcf1fa6b
RR
1173 EXTRA_LINK="$EXTRA_LINK -ldmalloc"
1174fi
1175AC_SUBST(EXTRA_LINK)
1176
1177PROFILE=
8248314d 1178if test "$wxUSE_PROFILE" = 1 ; then
bcf1fa6b
RR
1179 PROFILE="-pg"
1180fi
1181AC_SUBST(PROFILE)
1182
1183CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
1184CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
8248314d 1185if test "$wxUSE_OPTIMISE" = 0 ; then
bcf1fa6b
RR
1186 OPTIMISE=
1187else
1188 if test "$GCC" = yes ; then
1189 OPTIMISE="-O2"
1190 case "${canonical}" in
1191 i586-*-*|i686-*-* )
1192 OPTIMISE="${OPTIMISE} "
1193 ;;
1194 esac
1195 else
1196 OPTIMISE="-O"
1197 fi
1198fi
1199AC_SUBST(OPTIMISE)
1200
1201APPLE_IEEE=NONE
8248314d 1202if test "$wxUSE_APPLE_IEEE" = 1 ; then
bcf1fa6b 1203 APPLE_IEEE="APPLE_IEEE"
8248314d 1204 AC_DEFINE_UNQUOTED(wxUSE_APPLE_IEEE,$wxUSE_APPLE_IEEE)
bcf1fa6b
RR
1205fi
1206
8248314d
VZ
1207wxUSE_IOSTREAMH=$DEFAULT_wxUSE_IOSTREAMH
1208AC_DEFINE_UNQUOTED(wxUSE_IOSTREAMH,$wxUSE_IOSTREAMH)
bcf1fa6b
RR
1209
1210dnl ----------------------------------------------------------------
1211dnl Register library options for makefiles and setup.h
1212dnl ----------------------------------------------------------------
1213
8248314d
VZ
1214if test "$wxUSE_ZLIB" = 1 ; then
1215 AC_DEFINE_UNQUOTED(wxUSE_ZLIB,$wxUSE_ZLIB)
ac57418f 1216 Z_C_SRC="\$(Z_C_SRC)"
bcf1fa6b 1217fi
ac57418f 1218AC_SUBST(Z_C_SRC)
bcf1fa6b 1219
8248314d 1220if test "$wxUSE_LIBPNG" = 1 ; then
c2933500 1221 AC_DEFINE_UNQUOTED(wxUSE_LIBPNG,$wxUSE_LIBPNG)
ac57418f 1222 PNG_C_SRC="\$(PNG_C_SRC)"
bcf1fa6b 1223fi
ac57418f 1224AC_SUBST(PNG_C_SRC)
bcf1fa6b 1225
2fff5f08
VS
1226JPEG_LINK=""
1227if test "$wxUSE_LIBJPEG" = 1 ; then
1228 AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
c2933500 1229 AC_CHECK_LIB(jpeg)
2fff5f08
VS
1230 JPEG_LINK="-ljpeg"
1231fi
1232AC_SUBST(JPEG_LINK)
1233
84b46c35 1234IODBC_C_SRC=""
8248314d 1235if test "$wxUSE_ODBC" = 1 ; then
c2933500 1236 AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC)
84b46c35 1237 IODBC_C_SRC="\$(IODBC_C_SRC)"
bcf1fa6b 1238fi
84b46c35 1239AC_SUBST(IODBC_C_SRC)
bcf1fa6b 1240
bcf1fa6b
RR
1241dnl ----------------------------------------------------------------
1242dnl Register non-GUI class options for makefiles and setup.h
1243dnl ----------------------------------------------------------------
1244
8248314d
VZ
1245if test "$wxUSE_CONFIG" = 1 ; then
1246 AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG)
bcf1fa6b
RR
1247fi
1248
8248314d
VZ
1249if test "$wxUSE_TIMEDATE" = 1 ; then
1250 AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE)
bcf1fa6b
RR
1251fi
1252
8248314d
VZ
1253if test "$wxUSE_INTL" = 1 ; then
1254 AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL)
bcf1fa6b
RR
1255fi
1256
8248314d
VZ
1257if test "$wxUSE_STREAMS" = 1 ; then
1258 AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS)
bcf1fa6b
RR
1259fi
1260
370ae202
RR
1261if test "$wxUSE_SOCKETS" = 1 ; then
1262 AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS)
1263fi
1264
8248314d
VZ
1265if test "$wxUSE_SERIAL" = 1 ; then
1266 AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL)
bcf1fa6b
RR
1267fi
1268
eb9bbf52
VZ
1269dnl ------------------------------------------------------------------------
1270dnl wxLibrary class
1271dnl ------------------------------------------------------------------------
1272
1273HAVE_DL_FUNCS=0
1274if test "$wxUSE_DYNLIB_CLASS" = "1"; then
1275 dnl the test is a bit complicated because we check for dlopen() both with
1276 dnl and without -ldl
1277 AC_CHECK_FUNCS(dlopen,
1278 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
1279 [AC_CHECK_LIB(dl, dlopen,
1280 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
1281 AC_CHECK_FUNCS(shl_load, [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1])
1282
1283 if test "$HAVE_DL_FUNCS" = 0; then
1284 AC_MSG_WARN("--with-dynlib will be disabled because no function was found to load a shared library on this platform")
1285
1286 wxUSE_DYNLIB_CLASS=0
1287 fi
1288fi
1289
1290if test "$wxUSE_DYNLIB_CLASS" = 1 ; then
1291 AC_DEFINE_UNQUOTED(wxUSE_DYNLIB_CLASS,$wxUSE_DYNLIB_CLASS)
1292fi
1293
bcf1fa6b
RR
1294dnl ----------------------------------------------------------------
1295dnl Register Prolog and Resources options for makefiles and setup.h
1296dnl ----------------------------------------------------------------
1297
8248314d
VZ
1298if test "$wxUSE_RPC" = 1 ; then
1299 AC_DEFINE_UNQUOTED(wxUSE_RPC,$wxUSE_RPC)
bcf1fa6b
RR
1300fi
1301
8248314d
VZ
1302if test "$wxUSE_WX_RESOURCES" = 1 ; then
1303 AC_DEFINE_UNQUOTED(wxUSE_WX_RESOURCES,$wxUSE_WX_RESOURCES)
bcf1fa6b
RR
1304fi
1305
8248314d
VZ
1306if test "$wxUSE_PROLOGIO" = 1 ; then
1307 AC_DEFINE_UNQUOTED(wxUSE_PROLOGIO)
bcf1fa6b
RR
1308fi
1309
1310dnl ----------------------------------------------------------------
1311dnl Register PostScript options for makefiles and setup.h
1312dnl ----------------------------------------------------------------
1313
8248314d
VZ
1314if test "$wxUSE_POSTSCRIPT" = 1 ; then
1315 AC_DEFINE_UNQUOTED(wxUSE_POSTSCRIPT)
bcf1fa6b
RR
1316fi
1317
8248314d 1318AC_DEFINE_UNQUOTED(wxUSE_AFM_FOR_POSTSCRIPT,$wxUSE_AFM_FOR_POSTSCRIPT)
bcf1fa6b
RR
1319
1320AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS)
1321
1322dnl ----------------------------------------------------------------
1323dnl Register architecture options for makefiles and setup.h
1324dnl ----------------------------------------------------------------
1325
8248314d
VZ
1326if test "$wxUSE_MDI_ARCHITECTURE" = 1 ; then
1327 AC_DEFINE_UNQUOTED(wxUSE_MDI_ARCHITECTURE,$wxUSE_MDI_ARCHITECTURE)
bcf1fa6b
RR
1328fi
1329
8248314d
VZ
1330if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = 1 ; then
1331 AC_DEFINE_UNQUOTED(wxUSE_DOC_VIEW_ARCHITECTURE,$wxUSE_DOC_VIEW_ARCHITECTURE)
bcf1fa6b
RR
1332fi
1333
8248314d
VZ
1334if test "$wxUSE_PRINTING_ARCHITECTURE" = 1 ; then
1335 AC_DEFINE_UNQUOTED(wxUSE_PRINTING_ARCHITECTURE,$wxUSE_PRINTING_ARCHITECTURE)
bcf1fa6b
RR
1336fi
1337
fb4e5803
VZ
1338dnl ----------------------------------------------------------------
1339dnl Register wxString options for makefiles and setup.h
1340dnl ----------------------------------------------------------------
1341
1342if test "$wxUSE_UNICODE" = 1 ; then
1343 AC_DEFINE_UNQUOTED(wxUSE_UNICODE)
1344fi
1345
1346if test "$wxUSE_WCSRTOMBS" = 1 ; then
1347 AC_DEFINE_UNQUOTED(wxUSE_WCSRTOMBS)
1348fi
1349
bcf1fa6b
RR
1350dnl ----------------------------------------------------------------
1351dnl Register misc options for makefiles and setup.h
1352dnl ----------------------------------------------------------------
1353
8248314d
VZ
1354if test "$wxUSE_IPC" = 1 ; then
1355 AC_DEFINE_UNQUOTED(wxUSE_IPC)
bcf1fa6b
RR
1356fi
1357
8248314d
VZ
1358if test "$wxUSE_RESOURCES" = 1 ; then
1359 AC_DEFINE_UNQUOTED(wxUSE_RESOURCES,$wxUSE_RESOURCES)
bcf1fa6b
RR
1360fi
1361
8248314d
VZ
1362if test "$wxUSE_CLIPBOARD" = 1 ; then
1363 AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD)
bcf1fa6b
RR
1364fi
1365
ff8bfdbb
VZ
1366if test "$wxUSE_TOOLTIPS" = 1 ; then
1367 AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS)
1368fi
1369
ac57418f
RR
1370if test "$wxUSE_DRAG_AND_DROP" = 1 ; then
1371 AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP)
bcf1fa6b
RR
1372fi
1373
1374dnl ----------------------------------------------------------------
ac57418f 1375dnl No effect yet
bcf1fa6b
RR
1376dnl ----------------------------------------------------------------
1377
bcf1fa6b 1378HELP=NONE
8248314d 1379if test "$wxUSE_HELP" = 1 ; then
bcf1fa6b 1380 HELP="HELP"
8248314d 1381 AC_DEFINE_UNQUOTED(wxUSE_HELP,$wxUSE_HELP)
bcf1fa6b
RR
1382fi
1383AC_SUBST(HELP)
1384
bcf1fa6b
RR
1385dnl ----------------------------------------------------------------
1386dnl thread support
1387dnl ----------------------------------------------------------------
1388
91845ada
VZ
1389dnl defines UNIX_THREAD it contains the source file to use for threads. (GL)
1390dnl defines THREADS_LINK it contains the thread library to link with. (GL)
1391dnl defines wxUSE_THREADS if thread support is activated. (GL)
1392
bcf1fa6b 1393THREADS_LINK=""
ac57418f 1394UNIX_THREAD=""
bcf1fa6b 1395
d18ed59a 1396if test "$wxUSE_THREADS" = "1"; then
926c550d 1397 dnl For glibc 2 users who have the old libc 5 too
bcf1fa6b 1398
926c550d 1399 AC_CHECK_LIB(pthread-0.7, pthread_create, [
518b5d2f 1400 UNIX_THREAD="unix/threadpsx.cpp"
91845ada 1401 THREADS_LINK="pthread-0.7"
926c550d
GL
1402 ],[
1403 AC_CHECK_HEADER(sys/prctl.h, [
1404 UNIX_THREAD="gtk/threadsgi.cpp"
1405 ])
1406
1407 dnl pthread_create is always available in pthread but it seems not to be
1408 dnl the case for pthread_setcanceltype.
bcf1fa6b 1409
926c550d 1410 AC_CHECK_LIB(pthread, pthread_setcanceltype, [
518b5d2f 1411 UNIX_THREAD="unix/threadpsx.cpp"
91845ada 1412 THREADS_LINK="pthread"
926c550d
GL
1413 ])
1414 ])
f3855ef0 1415
c2933500
VZ
1416 if test "x$THREADS_LINK" = "x"; then
1417 dnl thread functions are in libc_r under FreeBSD
1418 AC_CHECK_LIB(c_r, pthread_create,
1419 [
518b5d2f 1420 UNIX_THREAD="unix/threadpsx.cpp"
91845ada 1421 THREADS_LINK="c_r"
c2933500
VZ
1422 ])
1423 fi
1424
ac57418f
RR
1425 if test "$THREADS_LINK" != ""; then
1426 AC_DEFINE(wxUSE_THREADS)
1427 fi
bcf1fa6b
RR
1428fi
1429
1430if test -z "$UNIX_THREAD"; then
d18ed59a 1431 wxUSE_THREADS=0
bcf1fa6b
RR
1432fi
1433
91845ada
VZ
1434dnl do other tests only if we are using threads
1435if test "$wxUSE_THREADS" = "1"; then
1436 THREADS_LINK2=""
72914c56
VZ
1437
1438 AC_CHECK_HEADERS(sched.h)
1439
91845ada
VZ
1440 AC_CHECK_LIB($THREADS_LINK, sched_yield,
1441 AC_DEFINE(HAVE_SCHED_YIELD),
1442 [AC_CHECK_LIB("posix4", sched_yield,
1443 [AC_DEFINE(HAVE_SCHED_YIELD) THREADS_LINK2="-lposix4"],
1444 AC_MSG_WARN(wxThread::Yield() will not work properly)
1445 )]
1446 )
1447
1448 AC_CHECK_LIB($THREADS_LINK, sched_get_priority_min,
1449 AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
1450 [AC_CHECK_LIB("posix4", sched_get_priority_min,
1451 [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) THREADS_LINK2="-lposix4"],
1452 AC_MSG_WARN(Setting thread priority will not work)
1453 )]
1454 )
1455
1456 AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
1457 AC_DEFINE(HAVE_PTHREAD_CANCEL),
1458 AC_MSG_WARN(wxThread::Kill() will not work properly))
1459
1460 THREADS_LINK="-l$THREADS_LINK $THREADS_LINK2"
1461fi
1462
bcf1fa6b
RR
1463AC_SUBST(UNIX_THREAD)
1464AC_SUBST(THREADS_LINK)
bcf1fa6b 1465
bcf1fa6b
RR
1466dnl ------------------------------------------------------------------------
1467dnl compiler options for shared libs
1468dnl ------------------------------------------------------------------------
1469
1470PICFLAGS=
1471CREATE_SHARED=
1472case "${canonical}" in
bcf1fa6b 1473 *-hp-hpux* )
7cacdad3 1474 if test "$GCC" != "yes" ; then
bcf1fa6b
RR
1475 CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE"
1476 CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE"
1477 PICFLAGS="+z"
1478 else
1479 PICFLAGS="-fPIC"
1480 fi
1481 LDFLAGS="-Wl,+s"
1482 CREATE_SHARED=sharedHpux
1483 ;;
1484
1485 *-*-linux* )
1486 PICFLAGS=-fPIC
1487 CREATE_SHARED=sharedLinux
1488 ;;
1489
c2933500 1490 *-*-irix5* | *-*-irix6* )
bcf1fa6b
RR
1491 # PICFLAGS can remain empty, as pic is the default
1492 LDFLAGS="-Wl,+s"
1493 CREATE_SHARED=sharedIrix
1494 AC_DEFINE(SVR4)
1495 ;;
1496
c2933500 1497 *-*-solaris2* )
7cacdad3 1498 if test "$GCC" != "yes" ; then
bcf1fa6b
RR
1499 PICFLAGS="-KPIC"
1500 else
1501 PICFLAGS="-fPIC"
1502 fi
1503 CREATE_SHARED=sharedSolaris2
1504 AC_DEFINE(SVR4)
1505 ;;
1506
c2933500 1507 *-*-sunos4* )
7cacdad3 1508 if test "$GCC" != "yes" ; then
bcf1fa6b
RR
1509 PICFLAGS="-PIC"
1510 else
1511 PICFLAGS="-fPIC"
1512 fi
1513 LDFLAGS="-Wl,+s"
1514 CREATE_SHARED=sharedSunos4
1515 AC_DEFINE(BSD)
1516 ;;
1517
1518 *-*-freebsd* | *-*-netbsd*)
1519 PICFLAGS=-fPIC
1520 CREATE_SHARED=sharedBsd
1521 AC_DEFINE(BSD)
1522 ;;
1523
c2933500 1524 *-*-osf* )
bcf1fa6b
RR
1525 PICFLAGS="-fPIC"
1526 CREATE_SHARED=sharedOSF
1527 ;;
1528
c2933500 1529 *-*-dgux5* )
7cacdad3 1530 if test "$GCC" != "yes" ; then
bcf1fa6b
RR
1531 PICFLAGS="-K PIC"
1532 else
1533 PICFLAGS="-fPIC"
1534 fi
1535 CREATE_SHARED=sharedDgux
1536 AC_DEFINE(SVR4)
1537 ;;
1538
c2933500 1539 *-*-sysv5* )
7cacdad3 1540 if test "$GCC" != "yes" ; then
bcf1fa6b
RR
1541 PICFLAGS="-K PIC"
1542 else
1543 PICFLAGS="-fPIC"
1544 fi
1545 CREATE_SHARED=sharedSysV
1546 AC_DEFINE(SVR4)
1547 ;;
1548
c2933500 1549 *-*-aix* )
7cacdad3 1550 if test "$GCC" != "yes" ; then
bcf1fa6b
RR
1551 PICFLAGS="-bM\:SRE"
1552 else
1553 PICFLAGS="-fPIC"
1554 fi
1555 CREATE_SHARED=sharedAIX
1556 AC_DEFINE(SYSV)
1557 ;;
1558
1559 *)
1560 CREATE_SHARED=
1561 PICFLAGS=
1562esac
1563
1564if test "x$GCC" = xyes; then
cd5bf2a6 1565 CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL"
bcf1fa6b
RR
1566fi
1567
1568if test "x$GXX" = xyes; then
f6c6dd8c 1569 if test "$wxUSE_MOTIF" = 1; then
06f46ad1 1570 CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT"
f6c6dd8c 1571 else
06f46ad1 1572 CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT"
f6c6dd8c 1573 fi
bcf1fa6b
RR
1574fi
1575
8248314d 1576if test "$wxUSE_SHARED" != 1; then
bcf1fa6b
RR
1577 CREATE_SHARED=
1578 PICFLAGS=
1579fi
1580
1581AC_SUBST(OS)
1582AC_SUBST(PICFLAGS)
1583AC_SUBST(CREATE_SHARED)
1584
1585dnl ------------------------------------------------------------------------
1586dnl finish and clean-up
1587dnl ------------------------------------------------------------------------
1588
1589dnl add OS to list of configured
1590echo $OS >> system.list
1591
c98f0421 1592AC_CONFIG_HEADER(./include/wx/gtk/setup.h:./setup/setup.hin)
f3cb6592 1593AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall)
bcf1fa6b
RR
1594
1595AC_OVERRIDES_DONE
518b5d2f 1596