]> git.saurik.com Git - wxWidgets.git/blame_incremental - configure.in
Unicode fix.
[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 vprintf/vsprintf() which are GNU extensions
468AC_FUNC_VPRINTF
469
470dnl check for vsnprintf() - a safe version of vsprintf()
471AC_CHECK_FUNCS(vsnprintf,
472 AC_DEFINE(HAVE_VSNPRINTF),
473 AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf)
474 )
475
476dnl check for vfork() (even if it's the same as fork() in modern Unices)
477AC_CHECK_FUNCS(vfork)
478
479POSIX4_LINK=
480AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP), [
481 AC_CHECK_LIB(posix4, nanosleep, [
482 AC_DEFINE(HAVE_NANOSLEEP)
483 POSIX4_LINK="-lposix4"
484 ], [
485 AC_CHECK_FUNCS(usleep,
486 AC_DEFINE(HAVE_USLEEP),
487 AC_MSG_WARN(Sleep() function will not work))
488 ])
489])
490
491dnl check for uname (POSIX) and gethostname (BSD)
492AC_CHECK_FUNCS(uname gethostname, break)
493
494dnl ###################
495dnl # checks typedefs #
496dnl ###################
497AC_TYPE_GETGROUPS
498dnl defines GETGROUPS_T
499AC_TYPE_MODE_T
500dnl defines mode_t if not already defined
501AC_TYPE_OFF_T
502dnl defines off_t if not already defined
503AC_TYPE_PID_T
504dnl defines pid_t if not already defined
505AC_TYPE_SIGNAL
506dnl defines RETSIGTYPE for the correct return type of signal
507AC_TYPE_SIZE_T
508dnl defines size_t if not already defined
509AC_TYPE_UID_T
510dnl defines uid_t and gid_t if not already defined
511
512dnl #####################
513dnl # checks structures #
514dnl #####################
515
516AC_HEADER_STAT
517dnl defines STAT_MACROS_BROKEN if S_ISDIR and S_ISREG
518dnl do not work properly
519AC_HEADER_TIME
520dnl defines TIME_WITH_SYS_TIME if time.h and sys/time.h can
521dnl both be included
522AC_STRUCT_ST_BLKSIZE
523dnl defines HAVE_ST_BLKSIZE if struct stat contains st_blksize
524AC_STRUCT_ST_BLOCKS
525dnl defines HAVE_ST_BLOCKS if struct stat contains st_blocks
526AC_STRUCT_ST_RDEV
527dnl defines HAVE_ST_RDEV if struct stat contains st_rdev
528AC_STRUCT_TM
529dnl defines TM_IN_SYS_TIME if struct tm is not in time.h
530AC_STRUCT_TIMEZONE
531dnl defines HAVE_ST_BLKSIZE if struct tm contains tm_zone
532dnl otherwise
533dnl defines HAVE_TZNAME if external array tzname is found
534
535dnl ###################################
536dnl # checks compiler characteristics #
537dnl ###################################
538
539AC_C_CONST
540dnl defines const to be empty if c-compiler does not support const fully
541AC_C_INLINE
542dnl defines inline to a sensible value for the c-compiler
543AC_C_CHAR_UNSIGNED
544dnl defines __CHAR_UNSIGNED__ if char is unsigned
545AC_C_LONG_DOUBLE
546dnl defines HAVE_LONGDOUBLE if compiler supports long double
547
548AC_C_BIGENDIAN
549dnl defines WORDS_BIGENDIAN if system is big endian
550
551dnl give some default values for cross-compiling
552AC_CHECK_SIZEOF(int *, 4)
553AC_CHECK_SIZEOF(int, 4)
554AC_CHECK_SIZEOF(long, 4)
555AC_CHECK_SIZEOF(long long, 0)
556dnl defines the size of certain types of variables in SIZEOF_<TYPE>
557
558dnl ######################
559dnl # check C++ features #
560dnl ######################
561
562AC_LANG_SAVE
563AC_LANG_CPLUSPLUS
564
565dnl check for iostream (as opposed to iostream.h) standard header
566AC_CHECK_HEADERS(iostream)
567if test "x$HAVE_IOSTREAM" = "x" ; then
568 AC_DEFINE(wxUSE_IOSTREAMH)
569fi
570
571dnl Check for existence of builtin 'bool' data type
572dnl
573dnl do nothing for cross-compilation - assume bool is not defined
574AC_MSG_CHECKING(if C++ compiler supports bool)
575AC_TRY_RUN([
576
577int main()
578{
579 bool b = true;
580
581 return 0;
582}
583 ],
584 AC_DEFINE(HAVE_BOOL) AC_MSG_RESULT(yes),
585 AC_MSG_RESULT(no),
586 AC_MSG_RESULT(no assumed for cross-compilation))
587
588dnl Check whether overloading on size_t/int parameter works
589AC_MSG_CHECKING(if size_t and int are different types)
590AC_TRY_RUN([
591#include <stdlib.h>
592
593void wxFoo(int i) { }
594void wxFoo(size_t n) { }
595
596int main()
597{
598 int i;
599 size_t n;
600 wxFoo(0);
601 wxFoo(1);
602 wxFoo(0u);
603 wxFoo(i);
604 wxFoo(n);
605
606 return 0;
607}
608
609 ],
610 AC_DEFINE(wxUSE_SIZE_T_STRING_OPERATOR) AC_MSG_RESULT(yes),
611 AC_MSG_RESULT(no),
612 AC_MSG_RESULT(no assumed for cross-compilation))
613
614AC_LANG_RESTORE
615
616dnl ############################
617dnl # checks library functions #
618dnl ############################
619
620dnl ##########################
621dnl # checks system services #
622dnl ##########################
623
624
625AC_SYS_LONG_FILE_NAMES
626dnl defines HAVE_LONG_FILENAMES if filenames longer then
627dnl 14 chars are supported
628
629dnl AC_SYS_RESTARTABLE_SYSCALLS
630dnl defines HAVE_RESTARTABLE_SYSCALLS if the system restarts a
631dnl system call that is interrupted
632dnl by a signal
633
634dnl #################
635dnl # checks PARSER #
636dnl #################
637
638dnl YACC checks
639dnl ===========
640AC_PROG_YACC
641dnl defines YACC with the appropriate command
642
643dnl LEX checks
644dnl ==========
645AC_PROG_LEX
646dnl defines LEX with the appropriate command
647dnl defines LEXLIB with the appropriate library
648dnl what type is yytext
649AC_DECL_YYTEXT
650dnl defines YYTEXT_POINTER if yytext is char*
651dnl defines LEX_OUTPUT_ROOT as to the base of the
652dnl filename output by the lexer
653
654dnl ###################################
655dnl ## Check for dynamic load module #
656dnl ###################################
657
658DL_LIBRARY=
659AC_CHECK_FUNCS(dlopen, AC_DEFINE(HAVE_LIBDL),
660[AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL) DL_LIBRARY="-ldl"],
661 [AC_CHECK_LIB(dld, dld_link, [AC_DEFINE(HAVE_DLD) DL_LIBRARY="-ldld"],
662 [AC_CHECK_FUNCS(shl_load, AC_DEFINE(HAVE_SHL_LOAD) )]
663 )]
664 )]
665)
666AC_SUBST(DL_LIBRARY)
667
668AC_CACHE_CHECK([for underscore before symbols], libltdl_cv_uscore, [
669 echo "main(){int i=1;} fnord(){int i=23; int ltuae=42;}" > conftest.c
670 ${CC} -c conftest.c > /dev/null
671 if (nm conftest.o | grep _fnord) > /dev/null; then
672 libltdl_cv_uscore=yes
673 else
674 libltdl_cv_uscore=no
675 fi
676 rm -f conftest*
677])
678
679if test x"$libltdl_cv_uscore" = xyes; then
680 if test x"$ac_cv_func_dlopen" = xyes ||
681 test x"$ac_cv_lib_dl_dlopen" = xyes ; then
682 AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
683 libltdl_cv_need_uscore, [dnl
684 AC_TRY_RUN([
685#include <dlfcn.h>
686#include <stdio.h>
687fnord() { int i=42;}
688main() { void *self, *ptr1, *ptr2; self=dlopen(NULL,RTLD_LAZY);
689 if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
690 if(ptr1 && !ptr2) exit(0); } exit(1); }
691], libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes,
692 libltdl_cv_need_uscore=no
693)])
694 fi
695fi
696
697if test x"$libltdl_cv_need_uscore" = xyes; then
698 AC_DEFINE(NEED_USCORE)
699fi
700
701dnl ##########################################
702dnl ## Check for specific library functions #
703dnl ##########################################
704
705dnl Checks for library functions.
706AC_CHECK_FUNCS(strerror)
707
708dnl ------------------------------------------------------------------------
709dnl main includes
710dnl ------------------------------------------------------------------------
711
712CHECK_INCLUDE="-I/usr/include $X_CFLAGS"
713CHECK_LIB="-L/lib -L/usr/lib $X_LIBS"
714
715dnl ------------------------------------------------------------------------
716dnl host system
717dnl ------------------------------------------------------------------------
718
719AC_CANONICAL_HOST
720canonical=$host
721configuration=$host_alias
722
723dnl ------------------------------------------------------------------------
724dnl system settings
725dnl ------------------------------------------------------------------------
726
727USE_UNIX=1
728
729USE_LINUX=
730USE_SGI=
731USE_HPUX=
732USE_SYSV=
733USE_SVR4=
734USE_AIX=
735USE_SUN=
736USE_SOLARIS=
737USE_SUNOS=
738USE_ALPHA=
739USE_OSF=
740USE_BSD=
741USE_FREEBSD=
742USE_VMS=
743USE_ULTRIX=
744USE_DATA_GENERAL=
745
746AC_DEFINE(__UNIX__)
747case "${canonical}" in
748 *-hp-hpux* )
749 USE_HPUX=1
750 AC_DEFINE(__HPUX__)
751 ;;
752 *-*-linux* )
753 USE_LINUX=1
754 AC_DEFINE(__LINUX__)
755 TMP=`uname -m`
756 if test "x$TMP" = "xalpha"
757 then
758 USE_ALPHA=1
759 AC_DEFINE(__ALPHA__)
760 fi
761 ;;
762 *-*-irix5* | *-*-irix6* )
763 USE_SGI=1
764 USE_SVR4=1
765 AC_DEFINE(__SGI__)
766 AC_DEFINE(__SVR4__)
767 ;;
768 *-*-solaris2* )
769 USE_SUN=1
770 USE_SOLARIS=1
771 USE_SVR4=1
772 AC_DEFINE(__SUN__)
773 AC_DEFINE(__SOLARIS__)
774 AC_DEFINE(__SVR4__)
775 ;;
776 *-*-sunos4* )
777 USE_SUN=1
778 USE_SUNOS=1
779 USE_BSD=1
780 AC_DEFINE(__SUN__)
781 AC_DEFINE(__SUNOS__)
782 AC_DEFINE(__BSD__)
783 ;;
784 *-*-freebsd* | *-*-netbsd*)
785 USE_BSD=1
786 USE_FREEBSD=1
787 AC_DEFINE(__FREEBSD__)
788 AC_DEFINE(__BSD__)
789 ;;
790 *-*-osf* )
791 USE_ALPHA=1
792 USE_OSF=1
793 AC_DEFINE(__ALPHA__)
794 AC_DEFINE(__OSF__)
795 ;;
796 *-*-dgux5* )
797 USE_ALPHA=1
798 USE_SVR4=1
799 AC_DEFINE(__ALPHA__)
800 AC_DEFINE(__SVR4__)
801 ;;
802 *-*-sysv5* )
803 USE_SYSV=1
804 USE_SVR4=1
805 AC_DEFINE(__SYSV__)
806 AC_DEFINE(__SVR4__)
807 ;;
808 *-*-aix* )
809 USE_AIX=1
810 USE_SYSV=1
811 USE_SVR4=1
812 AC_DEFINE(__AIX__)
813 AC_DEFINE(__SYSV__)
814 AC_DEFINE(__SVR4__)
815 ;;
816 *)
817 AC_MSG_ERROR(I don't know your system type.)
818esac
819
820dnl ------------------------------------------------------------------------
821dnl defaults for command options
822dnl ------------------------------------------------------------------------
823
824AC_OVERRIDES_PREPARE
825
826DEFAULT_wxUSE_GTK=1
827DEFAULT_wxUSE_QT=0
828DEFAULT_wxUSE_MOTIF=0
829
830DEFAULT_wxUSE_THREADS=0
831
832DEFAULT_wxUSE_SHARED=1
833DEFAULT_wxUSE_OPTIMISE=1
834DEFAULT_wxUSE_PROFILE=0
835DEFAULT_wxUSE_DEBUG_FLAG=0
836DEFAULT_wxUSE_DEBUG_INFO=0
837DEFAULT_wxUSE_MEM_TRACING=0
838DEFAULT_wxUSE_DMALLOC=0
839DEFAULT_wxUSE_APPLE_IEEE=1
840DEFAULT_wxUSE_IOSTREAMH=1
841
842DEFAULT_wxUSE_ZLIB=1
843DEFAULT_wxUSE_LIBPNG=1
844DEFAULT_wxUSE_LIBJPEG=1
845DEFAULT_wxUSE_ODBC=1
846
847DEFAULT_wxUSE_TIMEDATE=1
848DEFAULT_wxUSE_INTL=1
849DEFAULT_wxUSE_CONFIG=1
850DEFAULT_wxUSE_STREAMS=1
851DEFAULT_wxUSE_SOCKETS=1
852DEFAULT_wxUSE_SERIAL=1
853DEFAULT_wxUSE_DYNLIB_CLASS=1
854
855DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=1
856DEFAULT_WX_NORMALIZED_PS_FONTS=1
857DEFAULT_wxUSE_POSTSCRIPT=1
858
859DEFAULT_wxUSE_IPC=1
860DEFAULT_wxUSE_RESOURCES=1
861DEFAULT_wxUSE_CLIPBOARD=1
862DEFAULT_wxUSE_TOOLTIPS=1
863DEFAULT_wxUSE_DRAG_AND_DROP=1
864
865DEFAULT_wxUSE_MDI_ARCHITECTURE=1
866DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=1
867DEFAULT_wxUSE_PRINTING_ARCHITECTURE=1
868
869DEFAULT_wxUSE_PROLOGIO=1
870DEFAULT_wxUSE_WX_RESOURCES=1
871DEFAULT_wxUSE_RPC=0
872DEFAULT_wxUSE_HELP=1
873
874DEFAULT_wxUSE_UNICODE=0
875DEFAULT_wxUSE_WCSRTOMBS=0
876
877dnl ----------------------------------------------------------------
878dnl toolkit options
879dnl ----------------------------------------------------------------
880
881AC_OVERRIDES(gtk,gtk,
882**--with-gtk use GTK,
883wxUSE_GTK)
884
885AC_OVERRIDES(qt,qt,
886**--with-qt use Qt,
887wxUSE_QT)
888
889AC_OVERRIDES(motif,motif,
890**--with-motif use Motif/Lesstif,
891wxUSE_MOTIF)
892
893dnl ----------------------------------------------------------------
894dnl compile options
895dnl ----------------------------------------------------------------
896
897AC_OVERRIDES(shared,shared,
898**--with-shared create shared libraries,
899wxUSE_SHARED)
900
901AC_OVERRIDES(optimise,optimise,
902**--with-optimise create optimised code,
903wxUSE_OPTIMISE)
904
905AC_OVERRIDES(debug_flag,debug_flag,
906**--with-debug_flag create code with WXDEBUG define set to 1,
907wxUSE_DEBUG_FLAG)
908
909AC_OVERRIDES(debug_info,debug_info,
910**--with-debug_info create code with debuging information,
911wxUSE_DEBUG_INFO)
912
913AC_OVERRIDES(debug_gdb,debug_gdb,
914**--with-debug_gdb create code with extra GDB debuging information,
915wxUSE_DEBUG_GDB)
916
917AC_OVERRIDES(mem_tracing,mem_tracing,
918**--with-mem_traing create code with memory tracing,
919wxUSE_MEM_TRACING)
920
921AC_OVERRIDES(dmalloc,dmalloc,
922**--with-dmalloc use dmalloc memory debug library (www.letters.com/dmalloc/),
923wxUSE_DMALLOC)
924
925AC_OVERRIDES(profile,profile,
926**--with-profile create code with profiling information,
927wxUSE_PROFILE)
928
929AC_OVERRIDES(apple_ieee, apple_ieee,
930**--with_apple_ieee use the Apple IEEE codec,
931wxUSE_APPLE_IEEE)
932
933AC_OVERRIDES(threads,threads,
934**--with-threads for enabling threads,
935wxUSE_THREADS)
936
937AC_OVERRIDES(dynlib,dynlib,
938**--with-dynlib to compile wxLibrary class,
939wxUSE_DYNLIB_CLASS)
940
941dnl ----------------------------------------------------------------
942dnl user options for libraries
943dnl ----------------------------------------------------------------
944
945AC_OVERRIDES(zlib,zlib,
946**--without-zlib don't use zlib for LZW comression,
947wxUSE_ZLIB)
948
949AC_OVERRIDES(libpng,libpng,
950**--without-libpng don't use libpng (PNG image format),
951wxUSE_LIBPNG)
952
953AC_OVERRIDES(libjpeg,libjpeg,
954**--without-libjpeg don't use libjpeg (JPEG image format),
955wxUSE_LIBJPEG)
956
957AC_OVERRIDES(odbc,odbc,
958**--with-odbc use iODBC and wxODBC classes,
959wxUSE_ODBC)
960
961dnl ----------------------------------------------------------------
962dnl user options for non-GUI classes
963dnl ----------------------------------------------------------------
964
965AC_OVERRIDES(timedate, timedate,
966**--with-timedate use wxTime and wxDate classes,
967wxUSE_TIMEDATE)
968
969AC_OVERRIDES(intl,intl,
970**--with-intl use internationalization system,
971wxUSE_INTL)
972
973AC_OVERRIDES(config,config,
974**--with-config use wxConfig class,
975wxUSE_CONFIG)
976
977AC_OVERRIDES(streams,streams,
978**--with-streams use wxStream etc classes,
979wxUSE_STREAMS)
980
981AC_OVERRIDES(serial,serial,
982**--with-serial use class serialization,
983wxUSE_SERIAL)
984
985AC_OVERRIDES(sockets,sockets,
986**--with-sockets use wxSocket etc classes,
987wxUSE_SOCKETS)
988
989dnl ----------------------------------------------------------------
990dnl user options for PostScript
991dnl ----------------------------------------------------------------
992
993AC_OVERRIDES(afmfonts,afmfonts,
994**--with-afmfonts use Adobe Font Metric Font table,
995wxUSE_AFM_FOR_POSTSCRIPT)
996
997AC_OVERRIDES(normalized, normalized,
998**--with-PS-normalized use normalized PS fonts,
999WX_NORMALIZED_PS_FONTS)
1000
1001AC_OVERRIDES(postscript, postscript,
1002**--with-postscript use wxPostscriptDC device context,
1003wxUSE_POSTSCRIPT)
1004
1005dnl ----------------------------------------------------------------
1006dnl user options for wxString and Unicode
1007dnl ----------------------------------------------------------------
1008
1009AC_OVERRIDES(unicode,unicode,
1010**--with-unicode compile wxString with Unicode support,
1011wxUSE_UNICODE)
1012
1013AC_OVERRIDES(wcsrtombs,wcsrtombs,
1014**--with-wcsrtombs use wcsrtombs instead of (buggy in GNU libc5) wcstombs,
1015wxUSE_WCSRTOMBS)
1016
1017dnl ----------------------------------------------------------------
1018dnl user options for Prolog and Resources
1019dnl ----------------------------------------------------------------
1020
1021AC_OVERRIDES(wxresources,wxresources,
1022**--with-wxresources use wxWindows's resources,
1023wxUSE_WX_RESOURCES)
1024
1025AC_OVERRIDES(prologio,prologio,
1026**--with-prologio use Prolog IO library,
1027wxUSE_PROLOGIO)
1028
1029AC_OVERRIDES(rpc,RPC,
1030**--with-rpc use Prolog's remote procedure calls,
1031wxUSE_RPC)
1032
1033dnl ----------------------------------------------------------------
1034dnl user options for misc stuff
1035dnl ----------------------------------------------------------------
1036
1037AC_OVERRIDES(ipc,IPC,
1038**--with-ipc use interprocess communication (wxSocket etc.),
1039wxUSE_IPC)
1040
1041AC_OVERRIDES(resources,resources,
1042**--with-resources use X resources for saving information,
1043wxUSE_RESOURCES)
1044
1045AC_OVERRIDES(clipboard,clipboard,
1046**--with-clipboard use wxClipboard classes,
1047wxUSE_CLIPBOARD)
1048
1049AC_OVERRIDES(tooltips,tooltips,
1050**--with-tooltips use tooltips,
1051wxUSE_TOOLTIPS)
1052
1053AC_OVERRIDES(dnd,dnd,
1054**--with-dnd use Drag'n'Drop classes,
1055wxUSE_DRAG_AND_DROP)
1056
1057dnl ----------------------------------------------------------------
1058dnl user options for architectures
1059dnl ----------------------------------------------------------------
1060
1061AC_OVERRIDES(mdi,mdi,
1062**--with-mdi use multiple document interface architecture,
1063wxUSE_MDI_ARCHITECTURE)
1064
1065AC_OVERRIDES(docview,docview,
1066**--with-docview use document view architecture,
1067wxUSE_DOC_VIEW_ARCHITECTURE)
1068
1069AC_OVERRIDES(printarch,printarch,
1070**--with-printarch use printing architecture,
1071wxUSE_PRINTING_ARCHITECTURE)
1072
1073AC_OVERRIDES(help,help,
1074**--with-help use help (using external browser at present),
1075wxUSE_HELP)
1076
1077dnl ----------------------------------------------------------------
1078dnl Unix, obviously
1079dnl ----------------------------------------------------------------
1080
1081if test "$wxUSE_UNIX" = 1 ; then
1082 AC_DEFINE(__UNIX__)
1083fi
1084
1085dnl ----------------------------------------------------------------
1086dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
1087dnl ----------------------------------------------------------------
1088if test "$USE_LINUX" = 1; then
1089 AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
1090fi
1091
1092dnl ----------------------------------------------------------------
1093dnl search for toolkit (widget sets)
1094dnl ----------------------------------------------------------------
1095
1096TOOLKIT=
1097TOOLKIT_DEF=
1098
1099GUI_TK_INCLUDE=
1100GUI_TK_LIBRARY=
1101GUI_TK_LINK=
1102
1103WX_LINK=
1104
1105MAKEINCLUDE=
1106
1107if test "$wxUSE_GTK" = 1; then
1108 AM_PATH_GTK(1.0.0, [
1109 GUI_TK_INCLUDE="$GTK_CFLAGS"
1110 GUI_TK_LIBRARY="$GTK_LIBS"
1111 ], AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.X or 1.0.X?))
1112 TOOLKIT=GTK
1113 TOOLKIT_DEF=__WXGTK__
1114 WX_LINK=-lwx_gtk2
1115 MAKEINCLUDE=../gtk.inc
1116fi
1117
1118if test "$wxUSE_QT" = 1; then
1119 AC_MSG_CHECKING(for Qt includes)
1120 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,qapp.h)
1121 if test "$ac_find_includes" != "" ; then
1122 AC_MSG_RESULT(found $ac_find_includes)
1123 AC_MSG_CHECKING(for Qt library)
1124 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,qt)
1125 if test "$ac_find_libraries" != "" ; then
1126 AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
1127 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1128 CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link"
1129 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1130 AC_MSG_RESULT(found Qt at $ac_find_libraries)
1131 else
1132 AC_MSG_ERROR(no)
1133 fi
1134 else
1135 AC_MSG_ERROR(no)
1136 fi
1137 GUI_TK_LINK="-lX11 -lqt -lm"
1138 TOOLKIT=QT
1139 TOOLKIT_DEF=__WXQT__
1140 WX_LINK=-lwx_qt
1141 MAKEINCLUDE=../qt.inc
1142fi
1143
1144if test "$wxUSE_MOTIF" = 1; then
1145 AC_MSG_CHECKING(for Motif/Lesstif includes)
1146 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
1147 if test "$ac_find_includes" != "" ; then
1148 AC_MSG_RESULT(found $ac_find_includes)
1149 else
1150 AC_MSG_RESULT(no)
1151 AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h)
1152 fi
1153
1154 AC_MSG_CHECKING(for Motif/Lesstif library)
1155 AC_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
1156 if test "$ac_find_libraries" != "" ; then
1157 AC_INCLUDE_PATH_EXIST($ac_find_includes, $CHECK_INCLUDE)
1158 AC_LINK_PATH_EXIST($ac_find_libraries, $CHECK_LIB)
1159
1160 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1161 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1162 AC_MSG_RESULT(found at $ac_find_libraries)
1163 else
1164 AC_MSG_RESULT(no)
1165 AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
1166 fi
1167
1168 AC_MSG_CHECKING(for Xt library)
1169 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
1170 if test "$ac_find_libraries" != "" ; then
1171 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1172 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1173 AC_MSG_RESULT(found at $ac_find_libraries)
1174 else
1175 AC_MSG_RESULT(no)
1176 AC_MSG_ERROR(please set LDFLAGS to contain the location of libXt)
1177 fi
1178
1179 XPM_LINK=""
1180 AC_MSG_CHECKING(for Xpm library)
1181 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
1182 if test "$ac_find_libraries" != "" ; then
1183 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1184 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1185 XPM_LINK="-lXpm "
1186 AC_DEFINE(wxHAVE_LIB_XPM)
1187 AC_MSG_RESULT(found at $ac_find_libraries)
1188 else
1189 AC_MSG_RESULT(no)
1190 AC_MSG_WARN(library will be compiled without support for images in XPM format)
1191 fi
1192
1193 GUI_TK_LINK="-lXm $(XPM_LINK)-lXmu -lXt -lX11 -lm"
1194 GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK"
1195 TOOLKIT=MOTIF
1196 TOOLKIT_DEF=__WXMOTIF__
1197 WX_LINK=-lwx_motif2
1198 MAKEINCLUDE=../motif.inc
1199fi
1200
1201if test "$TOOLKIT" = ""; then
1202 AC_MSG_ERROR(You must specify a toolkit: --with-gtk --with-qt --with-motif)
1203fi
1204
1205AC_SUBST(GUI_TK_INCLUDE)
1206AC_SUBST(GUI_TK_LIBRARY)
1207AC_SUBST(GUI_TK_LINK)
1208
1209AC_SUBST(WX_LINK)
1210
1211AC_SUBST(TOOLKIT)
1212AC_SUBST(TOOLKIT_DEF)
1213
1214AC_SUBST(MAKEINCLUDE)
1215
1216dnl ----------------------------------------------------------------
1217dnl Register compile options for makefiles and setup.h
1218dnl ----------------------------------------------------------------
1219
1220EXTRA_LINK=
1221
1222WXDEBUG=
1223if test "$wxUSE_DEBUG_GDB" = 1 ; then
1224 wxUSE_DEBUG_INFO=1
1225 WXDEBUG="-ggdb"
1226fi
1227
1228if test "$wxUSE_DEBUG_INFO" = 1 ; then
1229 WXDEBUG="-g"
1230 wxUSE_OPTIMISE=0
1231fi
1232
1233AC_SUBST(WXDEBUG)
1234
1235if test "$wxUSE_DEBUG_FLAG" = 1 ; then
1236 AC_DEFINE_UNQUOTED(WXDEBUG,$wxUSE_DEBUG_FLAG)
1237 WXDEBUG_DEFINE="-D__WXDEBUG__"
1238 AC_SUBST(WXDEBUG_DEFINE)
1239else
1240 WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
1241 AC_SUBST(WXDEBUG_DEFINE)
1242fi
1243
1244if test "$wxUSE_MEM_TRACING" = 1 ; then
1245 AC_DEFINE_UNQUOTED(wxUSE_MEMORY_TRACING,$wxUSE_MEM_TRACING)
1246 AC_DEFINE_UNQUOTED(wxUSE_GLOBAL_MEMORY_OPERATORS,$wxUSE_MEM_TRACING)
1247fi
1248
1249if test "$wxUSE_DMALLOC" = 1 ; then
1250 EXTRA_LINK="$EXTRA_LINK -ldmalloc"
1251fi
1252AC_SUBST(EXTRA_LINK)
1253
1254PROFILE=
1255if test "$wxUSE_PROFILE" = 1 ; then
1256 PROFILE="-pg"
1257fi
1258AC_SUBST(PROFILE)
1259
1260CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
1261CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
1262if test "$wxUSE_OPTIMISE" = 0 ; then
1263 OPTIMISE=
1264else
1265 if test "$GCC" = yes ; then
1266 OPTIMISE="-O2"
1267 case "${canonical}" in
1268 i586-*-*|i686-*-* )
1269 OPTIMISE="${OPTIMISE} "
1270 ;;
1271 esac
1272 else
1273 OPTIMISE="-O"
1274 fi
1275fi
1276AC_SUBST(OPTIMISE)
1277
1278APPLE_IEEE=NONE
1279if test "$wxUSE_APPLE_IEEE" = 1 ; then
1280 APPLE_IEEE="APPLE_IEEE"
1281 AC_DEFINE_UNQUOTED(wxUSE_APPLE_IEEE,$wxUSE_APPLE_IEEE)
1282fi
1283
1284wxUSE_IOSTREAMH=$DEFAULT_wxUSE_IOSTREAMH
1285AC_DEFINE_UNQUOTED(wxUSE_IOSTREAMH,$wxUSE_IOSTREAMH)
1286
1287dnl ----------------------------------------------------------------
1288dnl Register library options for makefiles and setup.h
1289dnl ----------------------------------------------------------------
1290
1291if test "$wxUSE_ZLIB" = 1 ; then
1292 AC_DEFINE_UNQUOTED(wxUSE_ZLIB,$wxUSE_ZLIB)
1293 Z_C_SRC="\$(Z_C_SRC)"
1294fi
1295AC_SUBST(Z_C_SRC)
1296
1297if test "$wxUSE_LIBPNG" = 1 ; then
1298 AC_DEFINE_UNQUOTED(wxUSE_LIBPNG,$wxUSE_LIBPNG)
1299 PNG_C_SRC="\$(PNG_C_SRC)"
1300fi
1301AC_SUBST(PNG_C_SRC)
1302
1303if test "$wxUSE_LIBJPEG" = 1 ; then
1304 AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
1305 JPEG_C_SRC="\$(JPEG_C_SRC)"
1306fi
1307AC_SUBST(JPEG_C_SRC)
1308
1309JPEG_LINK=""
1310dnl if test "$wxUSE_LIBJPEG" = 1 ; then
1311dnl AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
1312dnl AC_CHECK_LIB(jpeg,main,,AC_MSG_ERROR("libjpeg is not available."))
1313dnl JPEG_LINK="-ljpeg"
1314dnl fi
1315AC_SUBST(JPEG_LINK)
1316
1317IODBC_C_SRC=""
1318if test "$wxUSE_ODBC" = 1 ; then
1319 AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC)
1320 IODBC_C_SRC="\$(IODBC_C_SRC)"
1321fi
1322AC_SUBST(IODBC_C_SRC)
1323
1324dnl ----------------------------------------------------------------
1325dnl Register non-GUI class options for makefiles and setup.h
1326dnl ----------------------------------------------------------------
1327
1328if test "$wxUSE_CONFIG" = 1 ; then
1329 AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG)
1330fi
1331
1332if test "$wxUSE_TIMEDATE" = 1 ; then
1333 AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE)
1334fi
1335
1336if test "$wxUSE_INTL" = 1 ; then
1337 AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL)
1338fi
1339
1340if test "$wxUSE_STREAMS" = 1 ; then
1341 AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS)
1342fi
1343
1344if test "$wxUSE_SOCKETS" = 1 ; then
1345 AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS)
1346fi
1347
1348if test "$wxUSE_SERIAL" = 1 ; then
1349 AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL)
1350fi
1351
1352dnl ------------------------------------------------------------------------
1353dnl wxSocket
1354dnl ------------------------------------------------------------------------
1355
1356if test "$wxUSE_SOCKETS" = "1"; then
1357 dnl determine the type of third argument for getsockname
1358 AC_MSG_CHECKING(the type of the third argument of getsockname)
1359 AC_TRY_COMPILE(
1360 [#include <sys/socket.h>],
1361 [socklen_t len; getsockname(0, NULL, &len);],
1362 AC_DEFINE(SOCKLEN_T, socklen_t) AC_MSG_RESULT(socklen_t),
1363 AC_TRY_COMPILE(
1364 [#include <sys/socket.h>],
1365 [size_t len; getsockname(0, NULL, &len);],
1366 AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t),
1367 AC_TRY_COMPILE(
1368 [#include <sys/socket.h>],
1369 [int len; getsockname(0, NULL, &len);],
1370 AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int),
1371 AC_MSG_RESULT(unknown)
1372 )
1373 )
1374 )
1375fi
1376
1377dnl ------------------------------------------------------------------------
1378dnl wxLibrary class
1379dnl ------------------------------------------------------------------------
1380
1381HAVE_DL_FUNCS=0
1382if test "$wxUSE_DYNLIB_CLASS" = "1"; then
1383 dnl the test is a bit complicated because we check for dlopen() both with
1384 dnl and without -ldl
1385 AC_CHECK_FUNCS(dlopen,
1386 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
1387 [AC_CHECK_LIB(dl, dlopen,
1388 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
1389 AC_CHECK_FUNCS(shl_load, [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1])
1390
1391 if test "$HAVE_DL_FUNCS" = 0; then
1392 AC_MSG_WARN("--with-dynlib will be disabled because no function was found to load a shared library on this platform")
1393
1394 wxUSE_DYNLIB_CLASS=0
1395 fi
1396fi
1397
1398if test "$wxUSE_DYNLIB_CLASS" = 1 ; then
1399 AC_DEFINE_UNQUOTED(wxUSE_DYNLIB_CLASS,$wxUSE_DYNLIB_CLASS)
1400fi
1401
1402dnl ----------------------------------------------------------------
1403dnl Register Prolog and Resources options for makefiles and setup.h
1404dnl ----------------------------------------------------------------
1405
1406if test "$wxUSE_RPC" = 1 ; then
1407 AC_DEFINE_UNQUOTED(wxUSE_RPC,$wxUSE_RPC)
1408fi
1409
1410if test "$wxUSE_WX_RESOURCES" = 1 ; then
1411 AC_DEFINE_UNQUOTED(wxUSE_WX_RESOURCES,$wxUSE_WX_RESOURCES)
1412fi
1413
1414if test "$wxUSE_PROLOGIO" = 1 ; then
1415 AC_DEFINE_UNQUOTED(wxUSE_PROLOGIO)
1416fi
1417
1418dnl ----------------------------------------------------------------
1419dnl Register PostScript options for makefiles and setup.h
1420dnl ----------------------------------------------------------------
1421
1422if test "$wxUSE_POSTSCRIPT" = 1 ; then
1423 AC_DEFINE_UNQUOTED(wxUSE_POSTSCRIPT)
1424fi
1425
1426AC_DEFINE_UNQUOTED(wxUSE_AFM_FOR_POSTSCRIPT,$wxUSE_AFM_FOR_POSTSCRIPT)
1427
1428AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS)
1429
1430dnl ----------------------------------------------------------------
1431dnl Register architecture options for makefiles and setup.h
1432dnl ----------------------------------------------------------------
1433
1434if test "$wxUSE_MDI_ARCHITECTURE" = 1 ; then
1435 AC_DEFINE_UNQUOTED(wxUSE_MDI_ARCHITECTURE,$wxUSE_MDI_ARCHITECTURE)
1436fi
1437
1438if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = 1 ; then
1439 AC_DEFINE_UNQUOTED(wxUSE_DOC_VIEW_ARCHITECTURE,$wxUSE_DOC_VIEW_ARCHITECTURE)
1440fi
1441
1442if test "$wxUSE_PRINTING_ARCHITECTURE" = 1 ; then
1443 AC_DEFINE_UNQUOTED(wxUSE_PRINTING_ARCHITECTURE,$wxUSE_PRINTING_ARCHITECTURE)
1444fi
1445
1446dnl ----------------------------------------------------------------
1447dnl Register wxString options for makefiles and setup.h
1448dnl ----------------------------------------------------------------
1449
1450if test "$wxUSE_UNICODE" = 1 ; then
1451 AC_DEFINE_UNQUOTED(wxUSE_UNICODE)
1452fi
1453
1454if test "$wxUSE_WCSRTOMBS" = 1 ; then
1455 AC_DEFINE_UNQUOTED(wxUSE_WCSRTOMBS)
1456fi
1457
1458dnl ----------------------------------------------------------------
1459dnl Register misc options for makefiles and setup.h
1460dnl ----------------------------------------------------------------
1461
1462if test "$wxUSE_IPC" = 1 ; then
1463 AC_DEFINE_UNQUOTED(wxUSE_IPC)
1464fi
1465
1466if test "$wxUSE_RESOURCES" = 1 ; then
1467 AC_DEFINE_UNQUOTED(wxUSE_RESOURCES,$wxUSE_RESOURCES)
1468fi
1469
1470if test "$wxUSE_CLIPBOARD" = 1 ; then
1471 AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD)
1472fi
1473
1474if test "$wxUSE_TOOLTIPS" = 1 ; then
1475 if test "$wxUSE_MOTIF" = 1; then
1476 AC_MSG_WARN(tooltips are not supported yet under Motif, sorry)
1477 wxUSE_TOOLTIPS=0
1478 fi
1479
1480 AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS)
1481fi
1482
1483if test "$wxUSE_DRAG_AND_DROP" = 1 ; then
1484 AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP)
1485fi
1486
1487dnl ----------------------------------------------------------------
1488dnl No effect yet
1489dnl ----------------------------------------------------------------
1490
1491HELP=NONE
1492if test "$wxUSE_HELP" = 1 ; then
1493 HELP="HELP"
1494 AC_DEFINE_UNQUOTED(wxUSE_HELP,$wxUSE_HELP)
1495fi
1496AC_SUBST(HELP)
1497
1498dnl ----------------------------------------------------------------
1499dnl thread support
1500dnl ----------------------------------------------------------------
1501
1502dnl defines UNIX_THREAD it contains the source file to use for threads. (GL)
1503dnl defines THREADS_LINK it contains the thread library to link with. (GL)
1504dnl defines wxUSE_THREADS if thread support is activated. (GL)
1505
1506THREADS_LINK=""
1507UNIX_THREAD=""
1508
1509if test "$wxUSE_THREADS" = "1"; then
1510 dnl find if POSIX threads are available
1511
1512 dnl standard lib name is pthread
1513 dnl We no longer test for pthread-0.7 as it breaks compilation on some
1514 dnl glibc2 systems, especially for static linkage.
1515 AC_CHECK_LIB(pthread, pthread_create, [
1516 UNIX_THREAD="unix/threadpsx.cpp"
1517 THREADS_LINK="pthread"
1518 ], [
1519 dnl thread functions are in libc_r under FreeBSD
1520 AC_CHECK_LIB(c_r, pthread_create, [
1521 UNIX_THREAD="unix/threadpsx.cpp"
1522 THREADS_LINK="c_r"
1523 ], [
1524 dnl VZ: SGI threads are not supported currently
1525 AC_CHECK_HEADER(sys/prctl.h, [
1526 UNIX_THREAD="gtk/threadsgi.cpp"
1527 ])
1528 ])
1529 ])
1530 if test "$THREADS_LINK" != ""; then
1531 AC_DEFINE(wxUSE_THREADS)
1532 else
1533 AC_MSG_WARN(No thread support on this system)
1534 fi
1535fi
1536
1537if test -z "$UNIX_THREAD"; then
1538 wxUSE_THREADS=0
1539fi
1540
1541dnl do other tests only if we are using threads
1542if test "$wxUSE_THREADS" = "1"; then
1543
1544 dnl define autoconf macro to check for given function in both pthread and
1545 dnl posix4 libraries
1546 dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
1547 dnl VZ: TODO
1548 dnl AC_DEFUN(AC_FUNC_THREAD,
1549 dnl [
1550 dnl AC_CHECK_LIB($THREADS_LINK, $1,
1551 dnl AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'),
1552 dnl [AC_CHECK_LIB("posix4", $1,
1553 dnl [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'))
1554 dnl POSIX4_LINK="-lposix4"
1555 dnl ])
1556 dnl ])
1557 dnl ])
1558
1559 AC_CHECK_HEADERS(sched.h)
1560
1561 AC_CHECK_LIB($THREADS_LINK, sched_yield,
1562 AC_DEFINE(HAVE_SCHED_YIELD),
1563 [AC_CHECK_LIB("posix4", sched_yield,
1564 [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK="-lposix4"],
1565 AC_MSG_WARN(wxThread::Yield() will not work properly)
1566 )]
1567 )
1568
1569 dnl VZ: we should be checking for all of the following functions instead:
1570 dnl 1. pthread_attr_getschedpolicy
1571 dnl 2. sched_get_priority_min and sched_get_priority_max
1572 dnl 3. pthread_attr_getschedparam and pthread_attr_setschedparam
1573 dnl but it seems that if the first one is there, the other ones are too (of
1574 dnl course the proper solution would be to implement AC_FUNC_THREAD above
1575 dnl and do test for them all - anyone?)
1576 AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy,
1577 AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
1578 [AC_CHECK_LIB("posix4", pthread_attr_getschedpolicy,
1579 [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) POSIX4_LINK="-lposix4"],
1580 AC_MSG_WARN(Setting thread priority will not work)
1581 )]
1582 )
1583
1584 AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
1585 AC_DEFINE(HAVE_PTHREAD_CANCEL),
1586 AC_MSG_WARN(wxThread::Kill() will not work properly))
1587
1588 THREADS_LINK="-l$THREADS_LINK"
1589fi
1590
1591AC_SUBST(UNIX_THREAD)
1592AC_SUBST(THREADS_LINK)
1593AC_SUBST(POSIX4_LINK)
1594
1595dnl ------------------------------------------------------------------------
1596dnl compiler options for shared libs
1597dnl ------------------------------------------------------------------------
1598
1599PICFLAGS=
1600CREATE_SHARED=
1601case "${canonical}" in
1602 *-hp-hpux* )
1603 if test "$GCC" != "yes" ; then
1604 CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE"
1605 CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE"
1606 PICFLAGS="+z"
1607 else
1608 PICFLAGS="-fPIC"
1609 fi
1610 LDFLAGS="-Wl,+s"
1611 CREATE_SHARED=sharedHpux
1612 ;;
1613
1614 *-*-linux* )
1615 PICFLAGS=-fPIC
1616 CREATE_SHARED=sharedLinux
1617 ;;
1618
1619 *-*-irix5* | *-*-irix6* )
1620 # PICFLAGS can remain empty, as pic is the default
1621 LDFLAGS="-Wl,+s"
1622 CREATE_SHARED=sharedIrix
1623 AC_DEFINE(SVR4)
1624 ;;
1625
1626 *-*-solaris2* )
1627 if test "$GCC" != "yes" ; then
1628 PICFLAGS="-KPIC"
1629 else
1630 PICFLAGS="-fPIC"
1631 fi
1632 CREATE_SHARED=sharedSolaris2
1633 AC_DEFINE(SVR4)
1634 ;;
1635
1636 *-*-sunos4* )
1637 if test "$GCC" != "yes" ; then
1638 PICFLAGS="-PIC"
1639 else
1640 PICFLAGS="-fPIC"
1641 fi
1642 LDFLAGS="-Wl,+s"
1643 CREATE_SHARED=sharedSunos4
1644 AC_DEFINE(BSD)
1645 ;;
1646
1647 *-*-freebsd* | *-*-netbsd*)
1648 PICFLAGS=-fPIC
1649 CREATE_SHARED=sharedBsd
1650 AC_DEFINE(BSD)
1651 ;;
1652
1653 *-*-osf* )
1654 PICFLAGS="-fPIC"
1655 CREATE_SHARED=sharedOSF
1656 ;;
1657
1658 *-*-dgux5* )
1659 if test "$GCC" != "yes" ; then
1660 PICFLAGS="-K PIC"
1661 else
1662 PICFLAGS="-fPIC"
1663 fi
1664 CREATE_SHARED=sharedDgux
1665 AC_DEFINE(SVR4)
1666 ;;
1667
1668 *-*-sysv5* )
1669 if test "$GCC" != "yes" ; then
1670 PICFLAGS="-K PIC"
1671 else
1672 PICFLAGS="-fPIC"
1673 fi
1674 CREATE_SHARED=sharedSysV
1675 AC_DEFINE(SVR4)
1676 ;;
1677
1678 *-*-aix* )
1679 if test "$GCC" != "yes" ; then
1680 PICFLAGS="-bM\:SRE"
1681 else
1682 PICFLAGS="-fPIC -D__SYSV__"
1683 fi
1684 CREATE_SHARED=sharedAIX
1685 AC_DEFINE(SYSV)
1686 ;;
1687
1688 *)
1689 CREATE_SHARED=
1690 PICFLAGS=
1691esac
1692
1693if test "x$GCC" = xyes; then
1694 CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL"
1695fi
1696
1697if test "x$GXX" = xyes; then
1698 if test "$wxUSE_MOTIF" = 1; then
1699 CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT"
1700 else
1701 CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT"
1702 fi
1703fi
1704
1705if test "$wxUSE_SHARED" != 1; then
1706 CREATE_SHARED=
1707 PICFLAGS=
1708fi
1709
1710AC_SUBST(OS)
1711AC_SUBST(PICFLAGS)
1712AC_SUBST(CREATE_SHARED)
1713
1714dnl ------------------------------------------------------------------------
1715dnl finish and clean-up
1716dnl ------------------------------------------------------------------------
1717
1718dnl add OS to list of configured
1719echo $OS >> system.list
1720
1721TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"`
1722AC_CONFIG_HEADER(./include/wx/${TOOLKIT_DIR}/setup.h:./setup/setup.hin)
1723
1724AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall)
1725
1726AC_OVERRIDES_DONE
1727