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