X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f3cb6592e97f338d6546d42588e9af7cbb8e1bd0..47ff78ff4f31fbf7c798fefd5512313d31119073:/configure.in?ds=sidebyside diff --git a/configure.in b/configure.in index 5cb887560b..c3b5a9d9e2 100644 --- a/configure.in +++ b/configure.in @@ -4,14 +4,15 @@ dnl Top-level configure.in for wxWindows by Robert Roebling, Wolfram Gloger dnl and Martin Sperl. dnl dnl This script is under the wxWindows licence. -dnl +dnl $Id$ dnl //////////////////////////////////////////////////////////////////////// + dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS dnl AC_DEFUN(AM_PATH_GTK, -[dnl +[dnl dnl Get the cflags and libraries from the gtk-config script dnl AC_ARG_WITH(gtk-prefix,[**--with-gtk-prefix=PFX Prefix where GTK is installed], @@ -51,7 +52,7 @@ dnl #include #include -int +int main () { int major, minor, micro; @@ -61,9 +62,11 @@ main () exit(1); } + if (gtk_minor_version == 1) return FALSE; + return !((gtk_major_version > major) || - ((gtk_major_version == major) && (gtk_minor_version > minor)) || - ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro))); + ((gtk_major_version == major) && (gtk_minor_version > minor)) || + ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro))); } ],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) CFLAGS="$ac_save_CFLAGS" @@ -73,7 +76,7 @@ main () fi if test "x$no_gtk" = x ; then AC_MSG_RESULT(yes) - ifelse([$2], , :, [$2]) + ifelse([$2], , :, [$2]) else AC_MSG_RESULT(no) GTK_CFLAGS="" @@ -183,7 +186,7 @@ AC_DEFUN(AC_INCLUDE_PATH_EXIST, if test $result = 0; then ac_path_to_include="" else - ac_path_to_include="-I$1" + ac_path_to_include="-I$1" fi ]) @@ -195,7 +198,7 @@ AC_DEFUN(AC_LINK_PATH_EXIST, if test $result = 0; then ac_path_to_link="" else - ac_path_to_link="-L$1" + ac_path_to_link="-L$1" fi ]) @@ -233,13 +236,26 @@ dnl ------------------------------------------------------------------------ dnl search path for includes and libraries dnl ------------------------------------------------------------------------ +dnl VZ: added standard locations for Xm.h for Irix, HP-UX and SunOS (19.02.99) SEARCH_INCLUDE="\ + /usr/Motif-1.2/include \ + /usr/Motif-2.1/include \ + \ + /usr/include/Motif1.2 \ + /opt/xpm/include/X11 \ + \ /usr/Motif1.2/include \ - \ + /usr/dt/include \ + /usr/include/Xm \ + \ /usr/X11R6/include \ /usr/X11R5/include \ /usr/X11R4/include \ \ + /usr/X11R6/lib \ + /usr/X11R5/lib \ + /usr/X11R4/lib \ + \ /usr/include/X11R6 \ /usr/include/X11R5 \ /usr/include/X11R4 \ @@ -262,6 +278,9 @@ SEARCH_INCLUDE="\ /usr/XFree86/include/X11 \ \ /usr/include \ + /usr/include/gtk \ + /usr/include/gdk \ + /usr/include/glib \ /usr/local/include \ /usr/unsupported/include \ /usr/athena/include \ @@ -269,16 +288,14 @@ SEARCH_INCLUDE="\ /usr/lpp/Xamples/include \ \ /usr/local/include/gtk \ - /usr/X11R6/include/Xm \ - /usr/X11/include/Xm \ + /usr/local/include/qt \ /usr/include/qt \ \ /usr/openwin/include \ /usr/openwin/share/include \ " -SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` \ - " +SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` " dnl ------------------------------------------------------------------------ dnl standard checks @@ -301,7 +318,7 @@ CFLAGS=`echo "$CFLAGS" | sed 's/-g//g'` dnl does compiler support -c and -o simultaniously AC_PROG_CC_C_O -dnl defines NO_MINUS_C_MINUS_O if compiler does not accept +dnl defines NO_MINUS_C_MINUS_O if compiler does not accept dnl both switches simultaniously dnl what is the c-preprocessor AC_PROG_CPP @@ -353,6 +370,11 @@ dnl =========== AC_PROG_AWK dnl defines AWK with the appropriate command +dnl strip command +dnl ============= +AC_CHECK_PROG(STRIP, strip, strip, true) +dnl defines STRIP as strip or nothing if not found + dnl ############### dnl # make checks # dnl ############### @@ -371,8 +393,8 @@ fi echo dummy > sub/file ${MAKE-make} -f confMake VPATH=sub 2> config.log > /dev/null RESULT=$? -rm -f sub/file check final_file config.log confMake -rmdir sub +rm -f sub/file check final_file confMake +rmdir sub if test "$RESULT" = 0; then AC_MSG_RESULT(yes) else @@ -387,7 +409,7 @@ export MAKE=gmake; ./configure for sh-type shells setenv MAKE gmake; ./configure for csh-type shells Also please do remember to use gmake in this case every time you are trying to compile. -) +) fi dnl #################### @@ -411,24 +433,76 @@ AC_HEADER_STDC dnl defines STDC_HEADERS if ANSI-C header AC_HEADER_SYS_WAIT dnl defines HAVE_SYS_WAIT_H if sys/wait.h exist and is POSIX.1 -AC_CHECK_HEADER(fcntl.h) +AC_CHECK_HEADERS(fcntl.h) dnl defines HAVE_FCNTL_H -AC_CHECK_HEADER(limits.h) +AC_CHECK_HEADERS(limits.h) dnl defines HAVE_LIMITS_h -AC_CHECK_HEADER(sys/file.h) +AC_CHECK_HEADERS(sys/file.h) dnl defines HAVE_SYS_FILE_H -AC_CHECK_HEADER(sys/time.h) +AC_CHECK_HEADERS(sys/time.h) dnl defines HAVE_SYS_TIME_H -AC_CHECK_HEADER(unistd.h) +AC_CHECK_HEADERS(unistd.h) dnl defines HAVE_UNISTD_H +AC_CHECK_HEADERS(wchar.h) +dnl defines HAVE_WCHAR_H +AC_CHECK_HEADERS(wcstr.h) +dnl defines HAVE_WCSTR_H +AC_CHECK_HEADERS(fnmatch.h) +dnl defines HAVE_FNMATCH_H dnl As it needs Linux 2.1.x for the moment: check whether the file exists (GL). -AC_CHECK_HEADER(linux/joystick.h) +AC_CHECK_HEADERS(linux/joystick.h) GTK_JOYSTICK="" if test "$ac_cv_header_linux_joystick_h" = "yes"; then GTK_JOYSTICK="gtk/joystick.cpp" fi AC_SUBST(GTK_JOYSTICK) +dnl some systems (AIX) define some of string function in strings.h +AC_CHECK_HEADERS(strings.h) + +dnl ####################### +dnl # check for functions # +dnl ####################### + +dnl check for wcslen +AC_CHECK_LIB(c, wcslen, [ + AC_DEFINE(HAVE_WCSLEN) + WCHAR_LINK="" + ], [ + AC_CHECK_LIB(w, wcslen, [ + AC_DEFINE(HAVE_WCSLEN) + WCHAR_LINK="-lw" + ]) + ]) +AC_SUBST(WCHAR_LINK) + +dnl check for vprintf/vsprintf() which are GNU extensions +AC_FUNC_VPRINTF + +dnl check for vsnprintf() - a safe version of vsprintf() +AC_CHECK_FUNCS(vsnprintf, + AC_DEFINE(HAVE_VSNPRINTF), + AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf) + ) + +dnl check for vfork() (even if it's the same as fork() in modern Unices) +AC_CHECK_FUNCS(vfork) + +POSIX4_LINK= +AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP), [ + AC_CHECK_LIB(posix4, nanosleep, [ + AC_DEFINE(HAVE_NANOSLEEP) + POSIX4_LINK="-lposix4" + ], [ + AC_CHECK_FUNCS(usleep, + AC_DEFINE(HAVE_USLEEP), + AC_MSG_WARN(Sleep() function will not work)) + ]) +]) + +dnl check for uname (POSIX) and gethostname (BSD) +AC_CHECK_FUNCS(uname gethostname, break) + dnl ################### dnl # checks typedefs # dnl ################### @@ -452,16 +526,16 @@ dnl # checks structures # dnl ##################### AC_HEADER_STAT -dnl defines STAT_MACROS_BROKEN if S_ISDIR and S_ISREG +dnl defines STAT_MACROS_BROKEN if S_ISDIR and S_ISREG dnl do not work properly AC_HEADER_TIME dnl defines TIME_WITH_SYS_TIME if time.h and sys/time.h can dnl both be included -AC_STRUCT_ST_BLKSIZE +AC_STRUCT_ST_BLKSIZE dnl defines HAVE_ST_BLKSIZE if struct stat contains st_blksize -AC_STRUCT_ST_BLOCKS +AC_STRUCT_ST_BLOCKS dnl defines HAVE_ST_BLOCKS if struct stat contains st_blocks -AC_STRUCT_ST_RDEV +AC_STRUCT_ST_RDEV dnl defines HAVE_ST_RDEV if struct stat contains st_rdev AC_STRUCT_TM dnl defines TM_IN_SYS_TIME if struct tm is not in time.h @@ -473,7 +547,6 @@ dnl defines HAVE_TZNAME if external array tzname is found dnl ################################### dnl # checks compiler characteristics # dnl ################################### -dnl AC_C_CROSS AC_C_CONST dnl defines const to be empty if c-compiler does not support const fully @@ -487,10 +560,70 @@ dnl defines HAVE_LONGDOUBLE if compiler supports long double AC_C_BIGENDIAN dnl defines WORDS_BIGENDIAN if system is big endian -AC_CHECK_SIZEOF(int *) -AC_CHECK_SIZEOF(int) -AC_CHECK_SIZEOF(long) -dnl defines the size of certain types of variables in SIZEOF_??? +dnl give some default values for cross-compiling +AC_CHECK_SIZEOF(int *, 4) +AC_CHECK_SIZEOF(int, 4) +AC_CHECK_SIZEOF(long, 4) +AC_CHECK_SIZEOF(long long, 0) +dnl defines the size of certain types of variables in SIZEOF_ + +dnl ###################### +dnl # check C++ features # +dnl ###################### + +AC_LANG_SAVE +AC_LANG_CPLUSPLUS + +dnl check for iostream (as opposed to iostream.h) standard header +AC_CHECK_HEADERS(iostream) +if test "x$HAVE_IOSTREAM" = "x" ; then + AC_DEFINE(wxUSE_IOSTREAMH) +fi + +dnl Check for existence of builtin 'bool' data type +dnl +dnl do nothing for cross-compilation - assume bool is not defined +AC_MSG_CHECKING(if C++ compiler supports bool) +AC_TRY_RUN([ + +int main() +{ + bool b = true; + + return 0; +} + ], + AC_DEFINE(HAVE_BOOL) AC_MSG_RESULT(yes), + AC_MSG_RESULT(no), + AC_MSG_RESULT(no assumed for cross-compilation)) + +dnl Check whether overloading on size_t/int parameter works +AC_MSG_CHECKING(if size_t and int are different types) +AC_TRY_RUN([ +#include + +void wxFoo(int i) { } +void wxFoo(size_t n) { } + +int main() +{ + int i; + size_t n; + wxFoo(0); + wxFoo(1); + wxFoo(0u); + wxFoo(i); + wxFoo(n); + + return 0; +} + + ], + AC_DEFINE(wxUSE_SIZE_T_STRING_OPERATOR) AC_MSG_RESULT(yes), + AC_MSG_RESULT(no), + AC_MSG_RESULT(no assumed for cross-compilation)) + +AC_LANG_RESTORE dnl ############################ dnl # checks library functions # @@ -506,10 +639,10 @@ dnl defines HAVE_LONG_FILENAMES if filenames longer then dnl 14 chars are supported dnl AC_SYS_RESTARTABLE_SYSCALLS -dnl defines HAVE_RESTARTABLE_SYSCALLS if the system restarts a +dnl defines HAVE_RESTARTABLE_SYSCALLS if the system restarts a dnl system call that is interrupted dnl by a signal - + dnl ################# dnl # checks PARSER # dnl ################# @@ -527,9 +660,63 @@ dnl defines LEXLIB with the appropriate library dnl what type is yytext AC_DECL_YYTEXT dnl defines YYTEXT_POINTER if yytext is char* -dnl defines LEX_OUTPUT_ROOT as to the base of the +dnl defines LEX_OUTPUT_ROOT as to the base of the dnl filename output by the lexer +dnl ################################### +dnl ## Check for dynamic load module # +dnl ################################### + +DL_LIBRARY= +AC_CHECK_FUNCS(dlopen, AC_DEFINE(HAVE_LIBDL), +[AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL) DL_LIBRARY="-ldl"], + [AC_CHECK_LIB(dld, dld_link, [AC_DEFINE(HAVE_DLD) DL_LIBRARY="-ldld"], + [AC_CHECK_FUNCS(shl_load, AC_DEFINE(HAVE_SHL_LOAD) )] + )] + )] +) +AC_SUBST(DL_LIBRARY) + +AC_CACHE_CHECK([for underscore before symbols], libltdl_cv_uscore, [ + echo "main(){int i=1;} fnord(){int i=23; int ltuae=42;}" > conftest.c + ${CC} -c conftest.c > /dev/null + if (nm conftest.o | grep _fnord) > /dev/null; then + libltdl_cv_uscore=yes + else + libltdl_cv_uscore=no + fi + rm -f conftest* +]) + +if test x"$libltdl_cv_uscore" = xyes; then + if test x"$ac_cv_func_dlopen" = xyes || + test x"$ac_cv_lib_dl_dlopen" = xyes ; then + AC_CACHE_CHECK([whether we have to add an underscore for dlsym], + libltdl_cv_need_uscore, [dnl + AC_TRY_RUN([ +#include +#include +fnord() { int i=42;} +main() { void *self, *ptr1, *ptr2; self=dlopen(NULL,RTLD_LAZY); + if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord"); + if(ptr1 && !ptr2) exit(0); } exit(1); } +], libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes, + libltdl_cv_need_uscore=no +)]) + fi +fi + +if test x"$libltdl_cv_need_uscore" = xyes; then + AC_DEFINE(NEED_USCORE) +fi + +dnl ########################################## +dnl ## Check for specific library functions # +dnl ########################################## + +dnl Checks for library functions. +AC_CHECK_FUNCS(strerror) + dnl ------------------------------------------------------------------------ dnl main includes dnl ------------------------------------------------------------------------ @@ -551,7 +738,6 @@ dnl ------------------------------------------------------------------------ USE_UNIX=1 - USE_LINUX= USE_SGI= USE_HPUX= @@ -569,6 +755,7 @@ USE_VMS= USE_ULTRIX= USE_DATA_GENERAL= +AC_DEFINE(__UNIX__) case "${canonical}" in *-hp-hpux* ) USE_HPUX=1 @@ -577,14 +764,20 @@ case "${canonical}" in *-*-linux* ) USE_LINUX=1 AC_DEFINE(__LINUX__) + TMP=`uname -m` + if test "x$TMP" = "xalpha" + then + USE_ALPHA=1 + AC_DEFINE(__ALPHA__) + fi ;; - *-*-irix5* | *-*-irix6* ) + *-*-irix5* | *-*-irix6* ) USE_SGI=1 USE_SVR4=1 AC_DEFINE(__SGI__) AC_DEFINE(__SVR4__) ;; - *-*-solaris2* ) + *-*-solaris2* ) USE_SUN=1 USE_SOLARIS=1 USE_SVR4=1 @@ -592,7 +785,7 @@ case "${canonical}" in AC_DEFINE(__SOLARIS__) AC_DEFINE(__SVR4__) ;; - *-*-sunos4* ) + *-*-sunos4* ) USE_SUN=1 USE_SUNOS=1 USE_BSD=1 @@ -606,25 +799,25 @@ case "${canonical}" in AC_DEFINE(__FREEBSD__) AC_DEFINE(__BSD__) ;; - *-*-osf* ) + *-*-osf* ) USE_ALPHA=1 USE_OSF=1 AC_DEFINE(__ALPHA__) AC_DEFINE(__OSF__) ;; - *-*-dgux5* ) + *-*-dgux5* ) USE_ALPHA=1 USE_SVR4=1 AC_DEFINE(__ALPHA__) AC_DEFINE(__SVR4__) ;; - *-*-sysv5* ) + *-*-sysv5* ) USE_SYSV=1 USE_SVR4=1 AC_DEFINE(__SYSV__) AC_DEFINE(__SVR4__) ;; - *-*-aix* ) + *-*-aix* ) USE_AIX=1 USE_SYSV=1 USE_SVR4=1 @@ -642,66 +835,56 @@ dnl ------------------------------------------------------------------------ AC_OVERRIDES_PREPARE -DEFAULT_USE_GTK=1 -DEFAULT_USE_QT=0 -DEFAULT_USE_MOTIF=0 - -DEFAULT_USE_SHARED=1 -DEFAULT_USE_OPTIMISE=1 -DEFAULT_USE_PROFILE=0 -DEFAULT_USE_DEBUG_FLAG=0 -DEFAULT_USE_DEBUG_INFO=0 -DEFAULT_USE_MEM_TRACING=0 -DEFAULT_USE_DMALLOC=0 -DEFAULT_USE_APPLE_IEEE=1 -DEFAULT_USE_IOSTREAMH=1 - -DEFAULT_USE_ZLIB=1 -DEFAULT_USE_GDK_IMLIB=1 -DEFAULT_USE_LIBPNG=1 -DEFAULT_USE_ODBC=1 - -DEFAULT_USE_GAUGE=1 -DEFAULT_USE_SCROLLBAR=1 -DEFAULT_USE_LISTCTRL=1 -DEFAULT_USE_TREECTRL=1 -DEFAULT_USE_GRID=1 -DEFAULT_USE_TAB_DIALOG=1 -DEFAULT_USE_NOTEBOOK=1 - -DEFAULT_USE_TIMEDATE=1 -DEFAULT_USE_FRACTION=1 -DEFAULT_USE_LOG=1 -DEFAULT_USE_INTL=1 -DEFAULT_USE_CONFIG=1 -DEFAULT_USE_STREAMS=1 -DEFAULT_USE_SERIAL=1 -DEFAULT_USE_FILE=1 -DEFAULT_USE_TEXTFILE=1 - -DEFAULT_USE_AFM_FOR_POSTSCRIPT=1 +DEFAULT_wxUSE_GTK=1 +DEFAULT_wxUSE_QT=0 +DEFAULT_wxUSE_MOTIF=0 + +DEFAULT_wxUSE_THREADS=0 + +DEFAULT_wxUSE_SHARED=1 +DEFAULT_wxUSE_OPTIMISE=1 +DEFAULT_wxUSE_PROFILE=0 +DEFAULT_wxUSE_DEBUG_FLAG=0 +DEFAULT_wxUSE_DEBUG_INFO=0 +DEFAULT_wxUSE_MEM_TRACING=0 +DEFAULT_wxUSE_DMALLOC=0 +DEFAULT_wxUSE_APPLE_IEEE=1 +DEFAULT_wxUSE_IOSTREAMH=1 + +DEFAULT_wxUSE_ZLIB=1 +DEFAULT_wxUSE_LIBPNG=1 +DEFAULT_wxUSE_LIBJPEG=1 +DEFAULT_wxUSE_ODBC=1 + +DEFAULT_wxUSE_TIMEDATE=1 +DEFAULT_wxUSE_INTL=1 +DEFAULT_wxUSE_CONFIG=1 +DEFAULT_wxUSE_STREAMS=1 +DEFAULT_wxUSE_SOCKETS=1 +DEFAULT_wxUSE_SERIAL=1 +DEFAULT_wxUSE_DYNLIB_CLASS=1 + +DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=1 DEFAULT_WX_NORMALIZED_PS_FONTS=1 -DEFAULT_USE_POSTSCRIPT=1 +DEFAULT_wxUSE_POSTSCRIPT=1 -DEFAULT_USE_IPC=1 -DEFAULT_USE_RESOURCES=1 -DEFAULT_USE_CONSTRAINTS=1 -DEFAULT_USE_CLIPBOARD=0 -DEFAULT_USE_DND=1 +DEFAULT_wxUSE_IPC=1 +DEFAULT_wxUSE_RESOURCES=1 +DEFAULT_wxUSE_CLIPBOARD=1 +DEFAULT_wxUSE_TOOLTIPS=1 +DEFAULT_wxUSE_DRAG_AND_DROP=1 -DEFAULT_USE_MDI_ARCHITECTURE=1 -DEFAULT_USE_DOC_VIEW_ARCHITECTURE=1 -DEFAULT_USE_PRINTING_ARCHITECTURE=1 +DEFAULT_wxUSE_MDI_ARCHITECTURE=1 +DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=1 +DEFAULT_wxUSE_PRINTING_ARCHITECTURE=1 -DEFAULT_USE_PROLOGIO=1 -DEFAULT_USE_WX_RESOURCES=1 -DEFAULT_USE_RPC=0 +DEFAULT_wxUSE_PROLOGIO=1 +DEFAULT_wxUSE_WX_RESOURCES=1 +DEFAULT_wxUSE_RPC=0 +DEFAULT_wxUSE_HELP=1 -DEFAULT_USE_OPENGL=0 -DEFAULT_USE_METAFILE=0 -DEFAULT_USE_WXGRAPH=0 -DEFAULT_USE_WXTREE=0 -DEFAULT_USE_HELP=0 +DEFAULT_wxUSE_UNICODE=0 +DEFAULT_wxUSE_WCSRTOMBS=0 dnl ---------------------------------------------------------------- dnl toolkit options @@ -709,15 +892,15 @@ dnl ---------------------------------------------------------------- AC_OVERRIDES(gtk,gtk, **--with-gtk use GTK, -USE_GTK) +wxUSE_GTK) AC_OVERRIDES(qt,qt, **--with-qt use Qt, -USE_QT) +wxUSE_QT) AC_OVERRIDES(motif,motif, **--with-motif use Motif/Lesstif, -USE_MOTIF) +wxUSE_MOTIF) dnl ---------------------------------------------------------------- dnl compile options @@ -725,91 +908,67 @@ dnl ---------------------------------------------------------------- AC_OVERRIDES(shared,shared, **--with-shared create shared libraries, -USE_SHARED) +wxUSE_SHARED) AC_OVERRIDES(optimise,optimise, **--with-optimise create optimised code, -USE_OPTIMISE) +wxUSE_OPTIMISE) AC_OVERRIDES(debug_flag,debug_flag, **--with-debug_flag create code with WXDEBUG define set to 1, -USE_DEBUG_FLAG) +wxUSE_DEBUG_FLAG) AC_OVERRIDES(debug_info,debug_info, **--with-debug_info create code with debuging information, -USE_DEBUG_INFO) +wxUSE_DEBUG_INFO) + +AC_OVERRIDES(debug_gdb,debug_gdb, +**--with-debug_gdb create code with extra GDB debuging information, +wxUSE_DEBUG_GDB) AC_OVERRIDES(mem_tracing,mem_tracing, **--with-mem_traing create code with memory tracing, -USE_MEM_TRACING) +wxUSE_MEM_TRACING) AC_OVERRIDES(dmalloc,dmalloc, **--with-dmalloc use dmalloc memory debug library (www.letters.com/dmalloc/), -USE_DMALLOC) +wxUSE_DMALLOC) AC_OVERRIDES(profile,profile, **--with-profile create code with profiling information, -USE_PROFILE) +wxUSE_PROFILE) AC_OVERRIDES(apple_ieee, apple_ieee, **--with_apple_ieee use the Apple IEEE codec, -USE_APPLE_IEEE) +wxUSE_APPLE_IEEE) + +AC_OVERRIDES(threads,threads, +**--with-threads for enabling threads, +wxUSE_THREADS) + +AC_OVERRIDES(dynlib,dynlib, +**--with-dynlib to compile wxLibrary class, +wxUSE_DYNLIB_CLASS) dnl ---------------------------------------------------------------- dnl user options for libraries dnl ---------------------------------------------------------------- AC_OVERRIDES(zlib,zlib, -**--with-zlib use zlib for LZW comression, -USE_ZLIB) - -AC_OVERRIDES(gdk_imlib,gdk_imlib, -**--with-gdk_imlib use Raster's gdk_imlib (Image library), -USE_GDK_IMLIB) +**--without-zlib don't use zlib for LZW comression, +wxUSE_ZLIB) AC_OVERRIDES(libpng,libpng, -**--with-libpng use libpng (PNG image format), -USE_LIBPNG) +**--without-libpng don't use libpng (PNG image format), +wxUSE_LIBPNG) + +AC_OVERRIDES(libjpeg,libjpeg, +**--without-libjpeg don't use libjpeg (JPEG image format), +wxUSE_LIBJPEG) AC_OVERRIDES(odbc,odbc, **--with-odbc use iODBC and wxODBC classes, -USE_ODBC) - -AC_OVERRIDES(opengl,opengl, -**--with-opengl use OpenGL (or Mesa), -USE_OPENGL) - -dnl ---------------------------------------------------------------- -dnl user options for GUI control classes -dnl ---------------------------------------------------------------- - -AC_OVERRIDES(gauge,gauge, -**--with-gauge use wxGauge class, -USE_GAUGE) - -AC_OVERRIDES(scrollbar,scrollbar, -**--with-scrollbar use wxScrollbar class, -USE_SCROLLBAR) - -AC_OVERRIDES(listctrl,listctrl, -**--with-listctrl use wxListCtrl class, -USE_LISTCTRL) - -AC_OVERRIDES(treectrl,treectrl, -**--with-treectrl use wxTreeCtrl class, -USE_TREECTRL) - -AC_OVERRIDES(grid,grid, -**--with-grid use wxGrid class, -USE_GRID) - -AC_OVERRIDES(tab_dialog,tab_dialog, -**--with-tab_dialog use wxTabDia class, -USE_TAB_DIALOG) - -AC_OVERRIDES(notebook,notebook, -**--with-notebook use wxNotebook class, -USE_NOTEBOOK) +wxUSE_ODBC) dnl ---------------------------------------------------------------- dnl user options for non-GUI classes @@ -817,39 +976,27 @@ dnl ---------------------------------------------------------------- AC_OVERRIDES(timedate, timedate, **--with-timedate use wxTime and wxDate classes, -USE_TIMEDATE) - -AC_OVERRIDES(fraction,fraction, -**--with-fraction use wxFraction class, -USE_FRACTION) - -AC_OVERRIDES(log,log, -**--with-log use logging system, -USE_LOG) +wxUSE_TIMEDATE) AC_OVERRIDES(intl,intl, **--with-intl use internationalization system, -USE_INTL) +wxUSE_INTL) AC_OVERRIDES(config,config, **--with-config use wxConfig class, -USE_CONFIG) +wxUSE_CONFIG) AC_OVERRIDES(streams,streams, **--with-streams use wxStream etc classes, -USE_STREAMS) +wxUSE_STREAMS) AC_OVERRIDES(serial,serial, **--with-serial use class serialization, -USE_SERIAL) +wxUSE_SERIAL) -AC_OVERRIDES(file,file, -**--with-file use wxFile class, -USE_FILE) - -AC_OVERRIDES(textfile,textfile, -**--with-textfile use wxTextFile class, -USE_TEXTFILE) +AC_OVERRIDES(sockets,sockets, +**--with-sockets use wxSocket etc classes, +wxUSE_SOCKETS) dnl ---------------------------------------------------------------- dnl user options for PostScript @@ -857,7 +1004,7 @@ dnl ---------------------------------------------------------------- AC_OVERRIDES(afmfonts,afmfonts, **--with-afmfonts use Adobe Font Metric Font table, -USE_AFM_FOR_POSTSCRIPT) +wxUSE_AFM_FOR_POSTSCRIPT) AC_OVERRIDES(normalized, normalized, **--with-PS-normalized use normalized PS fonts, @@ -865,7 +1012,19 @@ WX_NORMALIZED_PS_FONTS) AC_OVERRIDES(postscript, postscript, **--with-postscript use wxPostscriptDC device context, -USE_POSTSCRIPT) +wxUSE_POSTSCRIPT) + +dnl ---------------------------------------------------------------- +dnl user options for wxString and Unicode +dnl ---------------------------------------------------------------- + +AC_OVERRIDES(unicode,unicode, +**--with-unicode compile wxString with Unicode support, +wxUSE_UNICODE) + +AC_OVERRIDES(wcsrtombs,wcsrtombs, +**--with-wcsrtombs use wcsrtombs instead of (buggy in GNU libc5) wcstombs, +wxUSE_WCSRTOMBS) dnl ---------------------------------------------------------------- dnl user options for Prolog and Resources @@ -873,15 +1032,15 @@ dnl ---------------------------------------------------------------- AC_OVERRIDES(wxresources,wxresources, **--with-wxresources use wxWindows's resources, -USE_WX_RESOURCES) +wxUSE_WX_RESOURCES) AC_OVERRIDES(prologio,prologio, **--with-prologio use Prolog IO library, -USE_PROLOGIO) +wxUSE_PROLOGIO) AC_OVERRIDES(rpc,RPC, **--with-rpc use Prolog's remote procedure calls, -USE_RPC) +wxUSE_RPC) dnl ---------------------------------------------------------------- dnl user options for misc stuff @@ -889,23 +1048,23 @@ dnl ---------------------------------------------------------------- AC_OVERRIDES(ipc,IPC, **--with-ipc use interprocess communication (wxSocket etc.), -USE_IPC) +wxUSE_IPC) AC_OVERRIDES(resources,resources, **--with-resources use X resources for saving information, -USE_RESOURCES) +wxUSE_RESOURCES) AC_OVERRIDES(clipboard,clipboard, **--with-clipboard use wxClipboard classes, -USE_CLIPBOARD) +wxUSE_CLIPBOARD) + +AC_OVERRIDES(tooltips,tooltips, +**--with-tooltips use tooltips, +wxUSE_TOOLTIPS) AC_OVERRIDES(dnd,dnd, **--with-dnd use Drag'n'Drop classes, -USE_DND) - -AC_OVERRIDES(constraints,constrains, -**--with-constraints use layout-constraints system, -USE_CONSTRAINTS) +wxUSE_DRAG_AND_DROP) dnl ---------------------------------------------------------------- dnl user options for architectures @@ -913,46 +1072,35 @@ dnl ---------------------------------------------------------------- AC_OVERRIDES(mdi,mdi, **--with-mdi use multiple document interface architecture, -USE_MDI_ARCHITECTURE) +wxUSE_MDI_ARCHITECTURE) AC_OVERRIDES(docview,docview, **--with-docview use document view architecture, -USE_DOC_VIEW_ARCHITECTURE) +wxUSE_DOC_VIEW_ARCHITECTURE) AC_OVERRIDES(printarch,printarch, **--with-printarch use printing architecture, -USE_PRINTING_ARCHITECTURE) +wxUSE_PRINTING_ARCHITECTURE) + +AC_OVERRIDES(help,help, +**--with-help use help (using external browser at present), +wxUSE_HELP) -dnl ---------------------------------------------------------------- -dnl user options with no effect yet -dnl ---------------------------------------------------------------- -dnl -dnl AC_OVERRIDES(metafile, metafile, -dnl **--with-metafile use metafile (no effect), -dnl USE_METAFILE) -dnl -dnl AC_OVERRIDES(help,help, -dnl **--with-help use help (no effect), -dnl USE_HELP) -dnl -dnl AC_OVERRIDES(wxgraph,wxgraph, -dnl **--with-wxgraph use wxgraph (no effect), -dnl USE_WXGRAPH) -dnl -dnl AC_OVERRIDES(wxtree,wxtree, -dnl **--with-wxtree use wxtree (no effect), -dnl USE_WXTREE) -dnl -dnl AC_OVERRIDES(package,message,helpmessage,variable) -dnl dnl ---------------------------------------------------------------- dnl Unix, obviously dnl ---------------------------------------------------------------- -if test "$USE_UNIX" = 1 ; then +if test "$wxUSE_UNIX" = 1 ; then AC_DEFINE(__UNIX__) fi +dnl ---------------------------------------------------------------- +dnl Linux: test for libc5/glibc2: glibc2 has gettext() included +dnl ---------------------------------------------------------------- +if test "$USE_LINUX" = 1; then + AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2)) +fi + dnl ---------------------------------------------------------------- dnl search for toolkit (widget sets) dnl ---------------------------------------------------------------- @@ -964,20 +1112,27 @@ GUI_TK_INCLUDE= GUI_TK_LIBRARY= GUI_TK_LINK= +WX_LINK= + MAKEINCLUDE= -if test "$USE_GTK" = 1; then - AM_PATH_GTK(0.99.7, [ +WXGTK12= + +if test "$wxUSE_GTK" = 1; then + AM_PATH_GTK(1.0.0, [ GUI_TK_INCLUDE="$GTK_CFLAGS" GUI_TK_LIBRARY="$GTK_LIBS" - ], AC_MSG_ERROR(Are gtk-config and the GTK in path and up-to-date?)) - AC_DEFINE(__WXGTK__) + ], AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.X or 1.0.X?)) TOOLKIT=GTK TOOLKIT_DEF=__WXGTK__ + WX_LINK=-lwx_gtk2 MAKEINCLUDE=../gtk.inc + AM_PATH_GTK(1.2.0, [ + WXGTK12=1 + ]) fi -if test "$USE_QT" = 1; then +if test "$wxUSE_QT" = 1; then AC_MSG_CHECKING(for Qt includes) AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,qapp.h) if test "$ac_find_includes" != "" ; then @@ -996,47 +1151,80 @@ if test "$USE_QT" = 1; then else AC_MSG_ERROR(no) fi - GUI_TK_LINK="-lXext -lX11 -lqt -lm" - AC_DEFINE(__WXQT__) + GUI_TK_LINK="-lX11 -lqt -lm" TOOLKIT=QT TOOLKIT_DEF=__WXQT__ + WX_LINK=-lwx_qt MAKEINCLUDE=../qt.inc fi -if test "$USE_MOTIF" = 1; then - AC_MSG_CHECKING(for Motif/Lesstif includes) - AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,Xm.h) - if test "$ac_find_includes" != "" ; then - AC_MSG_RESULT(found $ac_find_includes) - AC_MSG_CHECKING(for Motif or Lesstif library) - AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xm) - if test "$ac_find_libraries" != "" ; then - AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE) - AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB) - CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link" - CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include" - AC_MSG_RESULT(found at $ac_find_libraries) - else - AC_MSG_ERROR(no) - fi - else - AC_MSG_ERROR(no) - fi - GUI_TK_LINK="-lXext -lXt -lX11 -lXm -lm" - AC_DEFINE(__WXMOTIF__) - TOOLKIT=MOTIF - TOOLKIT_DEF=__WXMOTIF__ - MAKEINCLUDE=../motif.inc +if test "$wxUSE_MOTIF" = 1; then + AC_MSG_CHECKING(for Motif/Lesstif includes) + AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h) + if test "$ac_find_includes" != "" ; then + AC_MSG_RESULT(found $ac_find_includes) + else + AC_MSG_RESULT(no) + AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h) + fi + + AC_MSG_CHECKING(for Motif/Lesstif library) + AC_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm) + if test "$ac_find_libraries" != "" ; then + AC_INCLUDE_PATH_EXIST($ac_find_includes, $CHECK_INCLUDE) + AC_LINK_PATH_EXIST($ac_find_libraries, $CHECK_LIB) + + CHECK_LINK="$CHECK_LIB $ac_path_to_link" + CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include" + AC_MSG_RESULT(found at $ac_find_libraries) + else + AC_MSG_RESULT(no) + AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm) + fi + + AC_MSG_CHECKING(for Xt library) + AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt) + if test "$ac_find_libraries" != "" ; then + AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB) + CHECK_LINK="$CHECK_LIB $ac_path_to_link" + AC_MSG_RESULT(found at $ac_find_libraries) + else + AC_MSG_RESULT(no) + AC_MSG_ERROR(please set LDFLAGS to contain the location of libXt) + fi + + XPM_LINK="" + AC_MSG_CHECKING(for Xpm library) + AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm) + if test "$ac_find_libraries" != "" ; then + AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB) + CHECK_LINK="$CHECK_LIB $ac_path_to_link" + XPM_LINK="-lXpm " + AC_DEFINE(wxHAVE_LIB_XPM) + AC_MSG_RESULT(found at $ac_find_libraries) + else + AC_MSG_RESULT(no) + AC_MSG_WARN(library will be compiled without support for images in XPM format) + fi + + GUI_TK_LINK="-lXm $(XPM_LINK)-lXmu -lXt -lX11 -lm" + GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK" + TOOLKIT=MOTIF + TOOLKIT_DEF=__WXMOTIF__ + WX_LINK=-lwx_motif2 + MAKEINCLUDE=../motif.inc fi if test "$TOOLKIT" = ""; then - AC_MSG_ERROR(You must specify a toolkit: --with-gtk --with-qt --with-motif) + AC_MSG_ERROR(You must specify a toolkit: --with-gtk --with-qt --with-motif) fi AC_SUBST(GUI_TK_INCLUDE) AC_SUBST(GUI_TK_LIBRARY) AC_SUBST(GUI_TK_LINK) +AC_SUBST(WX_LINK) + AC_SUBST(TOOLKIT) AC_SUBST(TOOLKIT_DEF) @@ -1046,38 +1234,53 @@ dnl ---------------------------------------------------------------- dnl Register compile options for makefiles and setup.h dnl ---------------------------------------------------------------- +if test "$WXGTK12" = 1 ; then + AC_DEFINE_UNQUOTED(__WXGTK12__,$WXGTK12) +fi + +EXTRA_LINK= + WXDEBUG= -if test "$USE_DEBUG_INFO" = 1 ; then - WXDEBUG="-g -O0" +if test "$wxUSE_DEBUG_GDB" = 1 ; then + wxUSE_DEBUG_INFO=1 + WXDEBUG="-ggdb" +fi + +if test "$wxUSE_DEBUG_INFO" = 1 ; then + WXDEBUG="-g" + wxUSE_OPTIMISE=0 fi + AC_SUBST(WXDEBUG) -if test "$USE_DEBUG_FLAG" = 1 ; then - AC_DEFINE_UNQUOTED(WXDEBUG,$USE_DEBUG_FLAG) +if test "$wxUSE_DEBUG_FLAG" = 1 ; then + AC_DEFINE_UNQUOTED(WXDEBUG,$wxUSE_DEBUG_FLAG) WXDEBUG_DEFINE="-D__WXDEBUG__" AC_SUBST(WXDEBUG_DEFINE) +else + WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS" + AC_SUBST(WXDEBUG_DEFINE) fi -if test "$USE_MEM_TRACING" = 1 ; then - AC_DEFINE_UNQUOTED(USE_MEMORY_TRACING,$USE_MEM_TRACING) - dnl AC_DEFINE_UNQUOTED(USE_GLOBAL_MEMORY_OPERATORS,$USE_MEM_TRACING) +if test "$wxUSE_MEM_TRACING" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_MEMORY_TRACING,$wxUSE_MEM_TRACING) + AC_DEFINE_UNQUOTED(wxUSE_GLOBAL_MEMORY_OPERATORS,$wxUSE_MEM_TRACING) fi -EXTRA_LINK= -if test "$USE_DMALLOC" = 1 ; then +if test "$wxUSE_DMALLOC" = 1 ; then EXTRA_LINK="$EXTRA_LINK -ldmalloc" fi AC_SUBST(EXTRA_LINK) PROFILE= -if test "$USE_PROFILE" = 1 ; then +if test "$wxUSE_PROFILE" = 1 ; then PROFILE="-pg" fi AC_SUBST(PROFILE) CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" ` CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" ` -if test "$USE_OPTIMISE" = 0 ; then +if test "$wxUSE_OPTIMISE" = 0 ; then OPTIMISE= else if test "$GCC" = yes ; then @@ -1094,131 +1297,259 @@ fi AC_SUBST(OPTIMISE) APPLE_IEEE=NONE -if test "$USE_APPLE_IEEE" = 1 ; then +if test "$wxUSE_APPLE_IEEE" = 1 ; then APPLE_IEEE="APPLE_IEEE" - AC_DEFINE_UNQUOTED(USE_APPLE_IEEE,$USE_APPLE_IEEE) + AC_DEFINE_UNQUOTED(wxUSE_APPLE_IEEE,$wxUSE_APPLE_IEEE) fi -USE_IOSTREAMH=$DEFAULT_USE_IOSTREAMH -AC_DEFINE_UNQUOTED(USE_IOSTREAMH,$USE_IOSTREAMH) +wxUSE_IOSTREAMH=$DEFAULT_wxUSE_IOSTREAMH +AC_DEFINE_UNQUOTED(wxUSE_IOSTREAMH,$wxUSE_IOSTREAMH) dnl ---------------------------------------------------------------- dnl Register library options for makefiles and setup.h dnl ---------------------------------------------------------------- -if test "$USE_ZLIB" = 1 ; then - AC_DEFINE_UNQUOTED(USE_ZLIB,$USE_ZLIB) +if test "$wxUSE_ZLIB" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_ZLIB,$wxUSE_ZLIB) + Z_C_SRC="\$(Z_C_SRC)" fi +AC_SUBST(Z_C_SRC) -if test "$USE_GDK_IMLIB" = 1 ; then - AC_DEFINE_UNQUOTED(USE_GDK_IMLIB,$USE_GDK_IMLIB) +if test "$wxUSE_LIBPNG" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_LIBPNG,$wxUSE_LIBPNG) + PNG_C_SRC="\$(PNG_C_SRC)" fi +AC_SUBST(PNG_C_SRC) -if test "$USE_LIBPNG" = 1 ; then - AC_DEFINE_UNQUOTED(USE_LIBPNG,$USE_LIBPNG) +if test "$wxUSE_LIBJPEG" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG) + JPEG_C_SRC="\$(JPEG_C_SRC)" fi - -if test "$USE_ODBC" = 1 ; then - AC_DEFINE_UNQUOTED(USE_ODBC,$USE_ODBC) +AC_SUBST(JPEG_C_SRC) + +JPEG_LINK="" +dnl if test "$wxUSE_LIBJPEG" = 1 ; then +dnl AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG) +dnl AC_CHECK_LIB(jpeg,main,,AC_MSG_ERROR("libjpeg is not available.")) +dnl JPEG_LINK="-ljpeg" +dnl fi +AC_SUBST(JPEG_LINK) + +IODBC_C_SRC="" +if test "$wxUSE_ODBC" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC) + IODBC_C_SRC="\$(IODBC_C_SRC)" fi +AC_SUBST(IODBC_C_SRC) dnl ---------------------------------------------------------------- -dnl Register GUI-control options for makefiles and setup.h +dnl thread support dnl ---------------------------------------------------------------- -if test "$USE_GAUGE" = 1 ; then - AC_DEFINE_UNQUOTED(USE_GAUGE,$USE_GAUGE) -fi - -if test "$USE_SCROLLBAR" = 1 ; then - AC_DEFINE_UNQUOTED(USE_SCROLLBAR,$USE_SCROLLBAR) -fi +dnl defines UNIX_THREAD it contains the source file to use for threads. (GL) +dnl defines THREADS_LINK it contains the thread library to link with. (GL) +dnl defines wxUSE_THREADS if thread support is activated. (GL) -if test "$USE_LISTCTRL" = 1 ; then - AC_DEFINE_UNQUOTED(USE_LISTCTRL,$USE_LISTCTRL) -fi +THREADS_LINK="" +UNIX_THREAD="" -if test "$USE_TREECTRL" = 1 ; then - AC_DEFINE_UNQUOTED(USE_TREECTRL,$USE_TREECTRL) +if test "$wxUSE_THREADS" = "1"; then + dnl find if POSIX threads are available + + dnl standard lib name is pthread + dnl We no longer test for pthread-0.7 as it breaks compilation on some + dnl glibc2 systems, especially for static linkage. + AC_CHECK_LIB(pthread, pthread_create, [ + UNIX_THREAD="unix/threadpsx.cpp" + THREADS_LINK="pthread" + ], [ + dnl thread functions are in libc_r under FreeBSD + AC_CHECK_LIB(c_r, pthread_create, [ + UNIX_THREAD="unix/threadpsx.cpp" + THREADS_LINK="c_r" + ], [ + dnl VZ: SGI threads are not supported currently + AC_CHECK_HEADER(sys/prctl.h, [ + UNIX_THREAD="gtk/threadsgi.cpp" + ]) + ]) + ]) + if test "$THREADS_LINK" != ""; then + AC_DEFINE(wxUSE_THREADS) + else + AC_MSG_WARN(No thread support on this system) + fi fi -if test "$USE_GRID" = 1 ; then - AC_DEFINE_UNQUOTED(USE_GRID,$USE_GRID) +if test -z "$UNIX_THREAD"; then + wxUSE_THREADS=0 fi -if test "$USE_TAB_DIALOG" = 1 ; then - AC_DEFINE_UNQUOTED(USE_TAB_DIALOG,$USE_TAB_DIALOG) +dnl do other tests only if we are using threads +if test "$wxUSE_THREADS" = "1"; then + + dnl define autoconf macro to check for given function in both pthread and + dnl posix4 libraries + dnl usage: AC_FUNC_THREAD(FUNCTION_NAME) + dnl VZ: TODO + dnl AC_DEFUN(AC_FUNC_THREAD, + dnl [ + dnl AC_CHECK_LIB($THREADS_LINK, $1, + dnl AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'), + dnl [AC_CHECK_LIB("posix4", $1, + dnl [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z')) + dnl POSIX4_LINK="-lposix4" + dnl ]) + dnl ]) + dnl ]) + + AC_CHECK_HEADERS(sched.h) + + AC_CHECK_LIB($THREADS_LINK, sched_yield, + AC_DEFINE(HAVE_SCHED_YIELD), + [AC_CHECK_LIB("posix4", sched_yield, + [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK="-lposix4"], + AC_MSG_WARN(wxThread::Yield() will not work properly) + )] + ) + + dnl VZ: we should be checking for all of the following functions instead: + dnl 1. pthread_attr_getschedpolicy + dnl 2. sched_get_priority_min and sched_get_priority_max + dnl 3. pthread_attr_getschedparam and pthread_attr_setschedparam + dnl but it seems that if the first one is there, the other ones are too (of + dnl course the proper solution would be to implement AC_FUNC_THREAD above + dnl and do test for them all - anyone?) + AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy, + AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS), + [AC_CHECK_LIB("posix4", pthread_attr_getschedpolicy, + [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) POSIX4_LINK="-lposix4"], + AC_MSG_WARN(Setting thread priority will not work) + )] + ) + + AC_CHECK_LIB($THREADS_LINK, pthread_cancel, + AC_DEFINE(HAVE_PTHREAD_CANCEL), + AC_MSG_WARN(wxThread::Kill() will not work properly)) + + THREADS_LINK="-l$THREADS_LINK" fi -if test "$USE_NOTEBOOK" = 1 ; then - AC_DEFINE_UNQUOTED(USE_NOTEBOOK,$USE_NOTEBOOK) -fi +AC_SUBST(UNIX_THREAD) +AC_SUBST(THREADS_LINK) +AC_SUBST(POSIX4_LINK) dnl ---------------------------------------------------------------- dnl Register non-GUI class options for makefiles and setup.h dnl ---------------------------------------------------------------- -if test "$USE_CONFIG" = 1 ; then - AC_DEFINE_UNQUOTED(USE_CONFIG,$USE_CONFIG) +if test "$wxUSE_CONFIG" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG) fi -if test "$USE_TIMEDATE" = 1 ; then - AC_DEFINE_UNQUOTED(USE_TIMEDATE,$USE_TIMEDATE) +if test "$wxUSE_TIMEDATE" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE) fi -if test "$USE_FRACTION" = 1 ; then - AC_DEFINE_UNQUOTED(USE_FRACTION,$USE_FRACTION) +if test "$wxUSE_INTL" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL) fi -if test "$USE_LOG" = 1 ; then - AC_DEFINE_UNQUOTED(USE_LOG,$USE_LOG) +if test "$wxUSE_STREAMS" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS) fi -if test "$USE_INTL" = 1 ; then - AC_DEFINE_UNQUOTED(USE_INTL,$USE_INTL) +if test "$wxUSE_SOCKETS" = 1 ; then + if test "$wxUSE_THREADS" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS) + else + AC_MSG_WARN(sockets or only supported with threads) + wxUSE_SOCKETS=0 + fi fi -if test "$USE_STREAMS" = 1 ; then - AC_DEFINE_UNQUOTED(USE_STREAMS,$USE_STREAMS) +if test "$wxUSE_SERIAL" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL) fi -if test "$USE_SERIAL" = 1 ; then - AC_DEFINE_UNQUOTED(USE_SERIAL,$USE_SERIAL) +dnl ------------------------------------------------------------------------ +dnl wxSocket +dnl ------------------------------------------------------------------------ + +if test "$wxUSE_SOCKETS" = "1"; then + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + dnl determine the type of third argument for getsockname + AC_MSG_CHECKING(the type of the third argument of getsockname) + AC_TRY_COMPILE( + [#include ], + [socklen_t len; getsockname(0, NULL, &len);], + AC_DEFINE(SOCKLEN_T, socklen_t) AC_MSG_RESULT(socklen_t), + AC_TRY_COMPILE( + [#include ], + [size_t len; getsockname(0, NULL, &len);], + AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t), + AC_TRY_COMPILE( + [#include ], + [int len; getsockname(0, NULL, &len);], + AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int), + AC_MSG_RESULT(unknown) + ) + ) + ) + AC_LANG_RESTORE fi -if test "$USE_FILE" = 1 ; then - AC_DEFINE_UNQUOTED(USE_FILE,$USE_FILE) +dnl ------------------------------------------------------------------------ +dnl wxLibrary class +dnl ------------------------------------------------------------------------ + +HAVE_DL_FUNCS=0 +if test "$wxUSE_DYNLIB_CLASS" = "1"; then + dnl the test is a bit complicated because we check for dlopen() both with + dnl and without -ldl + AC_CHECK_FUNCS(dlopen, + [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1], + [AC_CHECK_LIB(dl, dlopen, + [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])]) + AC_CHECK_FUNCS(shl_load, [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1]) + + if test "$HAVE_DL_FUNCS" = 0; then + AC_MSG_WARN("--with-dynlib will be disabled because no function was found to load a shared library on this platform") + + wxUSE_DYNLIB_CLASS=0 + fi fi -if test "$USE_TEXTFILE" = 1 ; then - AC_DEFINE_UNQUOTED(USE_TEXTFILE,$USE_TEXTFILE) +if test "$wxUSE_DYNLIB_CLASS" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_DYNLIB_CLASS,$wxUSE_DYNLIB_CLASS) fi dnl ---------------------------------------------------------------- dnl Register Prolog and Resources options for makefiles and setup.h dnl ---------------------------------------------------------------- -if test "$USE_RPC" = 1 ; then - AC_DEFINE_UNQUOTED(USE_RPC,$USE_RPC) +if test "$wxUSE_RPC" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_RPC,$wxUSE_RPC) fi -if test "$USE_WX_RESOURCES" = 1 ; then - AC_DEFINE_UNQUOTED(USE_WX_RESOURCES,$USE_WX_RESOURCES) +if test "$wxUSE_WX_RESOURCES" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_WX_RESOURCES,$wxUSE_WX_RESOURCES) fi -if test "$USE_PROLOGIO" = 1 ; then - AC_DEFINE_UNQUOTED(USE_PROLOGIO) +if test "$wxUSE_PROLOGIO" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_PROLOGIO) fi dnl ---------------------------------------------------------------- dnl Register PostScript options for makefiles and setup.h dnl ---------------------------------------------------------------- -if test "$USE_POSTSCRIPT" = 1 ; then - AC_DEFINE_UNQUOTED(USE_POSTSCRIPT) +if test "$wxUSE_POSTSCRIPT" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_POSTSCRIPT) fi -AC_DEFINE_UNQUOTED(USE_AFM_FOR_POSTSCRIPT,$USE_AFM_FOR_POSTSCRIPT) +AC_DEFINE_UNQUOTED(wxUSE_AFM_FOR_POSTSCRIPT,$wxUSE_AFM_FOR_POSTSCRIPT) AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS) @@ -1226,202 +1557,73 @@ dnl ---------------------------------------------------------------- dnl Register architecture options for makefiles and setup.h dnl ---------------------------------------------------------------- -if test "$USE_MDI_ARCHITECTURE" = 1 ; then - AC_DEFINE_UNQUOTED(USE_MDI_ARCHITECTURE,$USE_MDI_ARCHITECTURE) +if test "$wxUSE_MDI_ARCHITECTURE" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_MDI_ARCHITECTURE,$wxUSE_MDI_ARCHITECTURE) fi -if test "$USE_DOC_VIEW_ARCHITECTURE" = 1 ; then - AC_DEFINE_UNQUOTED(USE_DOC_VIEW_ARCHITECTURE,$USE_DOC_VIEW_ARCHITECTURE) +if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_DOC_VIEW_ARCHITECTURE,$wxUSE_DOC_VIEW_ARCHITECTURE) fi -if test "$USE_PRINTING_ARCHITECTURE" = 1 ; then - AC_DEFINE_UNQUOTED(USE_PRINTING_ARCHITECTURE,$USE_PRINTING_ARCHITECTURE) +if test "$wxUSE_PRINTING_ARCHITECTURE" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_PRINTING_ARCHITECTURE,$wxUSE_PRINTING_ARCHITECTURE) fi dnl ---------------------------------------------------------------- -dnl Register misc options for makefiles and setup.h +dnl Register wxString options for makefiles and setup.h dnl ---------------------------------------------------------------- -if test "$USE_IPC" = 1 ; then - AC_DEFINE_UNQUOTED(USE_IPC) +if test "$wxUSE_UNICODE" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_UNICODE) fi -if test "$USE_RESOURCES" = 1 ; then - AC_DEFINE_UNQUOTED(USE_RESOURCES,$USE_RESOURCES) -fi - -if test "$USE_CLIPBOARD" = 1 ; then - AC_DEFINE_UNQUOTED(USE_CLIPBOARD,$USE_CLIPBOARD) -fi - -if test "$USE_DND" = 1 ; then - AC_DEFINE_UNQUOTED(USE_DND,$USE_DND) -fi - -if test "$USE_CONSTRAINTS" = 1 ; then - AC_DEFINE_UNQUOTED(USE_CONSTRAINTS,$USE_CONSTRAINTS) +if test "$wxUSE_WCSRTOMBS" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_WCSRTOMBS) fi dnl ---------------------------------------------------------------- -dnl No effect +dnl Register misc options for makefiles and setup.h dnl ---------------------------------------------------------------- -METAFILE=NONE -if test "$USE_METAFILE" = 1 ; then - METAFILE="METAFILE" - AC_DEFINE_UNQUOTED(USE_METAFILE,$USE_METAFILE) +if test "$wxUSE_IPC" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_IPC) fi -AC_SUBST(METAFILE) -HELP=NONE -if test "$USE_HELP" = 1 ; then - HELP="HELP" - AC_DEFINE_UNQUOTED(USE_HELP,$USE_HELP) -fi -AC_SUBST(HELP) - -WXGRAPH=NONE -if test "$USE_WXGRAPH" = 1 ; then - WXGRAPH="WXGRAPH" - AC_DEFINE_UNQUOTED(USE_WXGRAPH,$USE_WXGRAPH) -fi -AC_SUBST(WXGRAPH) - -WXTREE=NONE -if test "$USE_WXTREE" = 1 ; then - WXTREE="WXTREE" - AC_DEFINE_UNQUOTED(USE_WXTREE,$USE_WXTREE) +if test "$wxUSE_RESOURCES" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_RESOURCES,$wxUSE_RESOURCES) fi -AC_SUBST(WXTREE) - -GLCANVAS=NONE -if test "$USE_OPENGL" = 1 ; then - GLCANVAS="GLCANVAS" -fi - -dnl ---------------------------------------------------------------- -dnl select dynamic loader (used by iODBC to load drivers) -dnl ---------------------------------------------------------------- - -DL_LIBRARY=-ldl - -AC_SUBST(DL_LIBRARY) -dnl ---------------------------------------------------------------- -dnl thread support -dnl ---------------------------------------------------------------- - -USE_THREADS=1 -THREADS_LINK="" -UNIX_THREAD="" - -AC_ARG_WITH(threads, -[**--without-threads Force disabling threads ], -[USE_THREADS="$withval"]) - -if test "$USE_THREADS" = "1"; then - UNIX_THREAD="gtk/threadno.cpp" - - dnl For glibc 2 users who have the old libc 5 too - - AC_CHECK_LIB(pthread-0.7, pthread_create, [ - UNIX_THREAD="gtk/threadpsx.cpp" - THREADS_LINK="-lpthread-0.7" - ],[ - AC_CHECK_HEADER(sys/prctl.h, [ - UNIX_THREAD="gtk/threadsgi.cpp" - ]) - - dnl pthread_create is always available in pthread but it seems not to be - dnl the case for pthread_setcanceltype. - - AC_CHECK_LIB(pthread, pthread_setcanceltype, [ - UNIX_THREAD="gtk/threadpsx.cpp" - THREADS_LINK="-lpthread" - ]) - ]) - AC_CHECK_LIB(pthreads, pthread_setcanceltype, [ - UNIX_THREAD="gtk/threadpsx.cpp" - THREADS_LINK="-lpthreads" - ]) +if test "$wxUSE_CLIPBOARD" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD) fi -if test -z "$UNIX_THREAD"; then - USE_THREADS=0 +if test "$wxUSE_TOOLTIPS" = 1 ; then + if test "$wxUSE_MOTIF" = 1; then + AC_MSG_WARN(tooltips are not supported yet under Motif) + wxUSE_TOOLTIPS=0 + fi + AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS) fi -AC_SUBST(UNIX_THREAD) -AC_SUBST(THREADS_LINK) -AC_DEFINE(USE_THREADS) - -dnl defines UNIX_THREAD it contains the source file to use for threads. (GL) -dnl defines THREADS_LINK it contains the thread library to link with. (GL) -dnl defines USE_THREADS if thread support is activated. (GL) - -dnl ---------------------------------------------------------------- -dnl search for opengl -dnl ---------------------------------------------------------------- - -OPENGL_INCLUDE= -OPENGL_LIBRARY= -OPENGL_LINK= - -if test "$USE_OPENGL" = 1; then - dnl checking OPENGL includes - AC_MSG_CHECKING(for OpenGL includes) - AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,GL/gl.h) - if test "$ac_find_includes" != "" ; then - OPENGL_INCLUDE="-I$ac_find_includes" - AC_MSG_RESULT(found $ac_find_includes) - dnl checking OPENGL libraries - AC_MSG_CHECKING(for OpenGL library) - AC_PATH_FIND_LIBRARIES($SEARCH_LIB,GL) - if test "$ac_find_libraries" != "" ; then - AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE) - AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB) - CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link" - CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include" - OPENGL_LIBRARY="$ac_path_to_link" - OPENGL_INCLUDE="$ac_path_to_include" - OPENGL_LINK="-lGL" - AC_MSG_RESULT(found OpenGL at $ac_find_libraries) +if test "$wxUSE_DRAG_AND_DROP" = 1 ; then + if test "$WXGTK12" = 1 ; then + AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP) else - AC_PATH_FIND_LIBRARIES($SEARCH_LIB,MesaGL) - if test "$ac_find_libraries" != "" ; then - AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE) - AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB) - CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link" - CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include" - OPENGL_LIBRARY="$ac_path_to_link" - OPENGL_INCLUDE="$ac_path_to_include" - OPENGL_LINK="-lMesaGL" - AC_MSG_RESULT(found MESA at $ac_find_libraries) - else - AC_MSG_ERROR(no) - fi + AC_MSG_WARN(drag and drop is only supported under GTK 1.2) + wxUSE_DRAG_AND_DROP=0 fi - else - AC_MSG_ERROR(no) - fi fi dnl ---------------------------------------------------------------- -dnl left-over +dnl No effect yet dnl ---------------------------------------------------------------- -USE_GLX=$USE_OPENGL -if test "$USE_OPENGL" != 1; then - OPENGL_LIBRARIES= - OPENGL_INCLUDE= - OPENGL_LINK= - GLCANVAS=NONE +HELP=NONE +if test "$wxUSE_HELP" = 1 ; then + HELP="HELP" + AC_DEFINE_UNQUOTED(wxUSE_HELP,$wxUSE_HELP) fi - -AC_DEFINE_UNQUOTED(USE_GLX,$USE_GLX) -AC_SUBST(OPENGL_INCLUDE) -AC_SUBST(OPENGL_LIBRARY) -AC_SUBST(OPENGL_LINK) -AC_SUBST(GLCANVAS) +AC_SUBST(HELP) dnl ------------------------------------------------------------------------ dnl compiler options for shared libs @@ -1430,9 +1632,8 @@ dnl ------------------------------------------------------------------------ PICFLAGS= CREATE_SHARED= case "${canonical}" in - *-hp-hpux* ) - if test "${CC}" != "gcc" ; then + if test "$GCC" != "yes" ; then CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE" CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE" PICFLAGS="+z" @@ -1448,15 +1649,15 @@ case "${canonical}" in CREATE_SHARED=sharedLinux ;; - *-*-irix5* | *-*-irix6* ) + *-*-irix5* | *-*-irix6* ) # PICFLAGS can remain empty, as pic is the default LDFLAGS="-Wl,+s" CREATE_SHARED=sharedIrix AC_DEFINE(SVR4) ;; - *-*-solaris2* ) - if test "${CC}" != "gcc" ; then + *-*-solaris2* ) + if test "$GCC" != "yes" ; then PICFLAGS="-KPIC" else PICFLAGS="-fPIC" @@ -1465,8 +1666,8 @@ case "${canonical}" in AC_DEFINE(SVR4) ;; - *-*-sunos4* ) - if test "${CC}" != "gcc" ; then + *-*-sunos4* ) + if test "$GCC" != "yes" ; then PICFLAGS="-PIC" else PICFLAGS="-fPIC" @@ -1482,13 +1683,13 @@ case "${canonical}" in AC_DEFINE(BSD) ;; - *-*-osf* ) + *-*-osf* ) PICFLAGS="-fPIC" CREATE_SHARED=sharedOSF ;; - *-*-dgux5* ) - if test "${CC}" != "gcc" ; then + *-*-dgux5* ) + if test "$GCC" != "yes" ; then PICFLAGS="-K PIC" else PICFLAGS="-fPIC" @@ -1497,8 +1698,8 @@ case "${canonical}" in AC_DEFINE(SVR4) ;; - *-*-sysv5* ) - if test "${CC}" != "gcc" ; then + *-*-sysv5* ) + if test "$GCC" != "yes" ; then PICFLAGS="-K PIC" else PICFLAGS="-fPIC" @@ -1507,11 +1708,11 @@ case "${canonical}" in AC_DEFINE(SVR4) ;; - *-*-aix* ) - if test "${CC}" != "gcc" ; then + *-*-aix* ) + if test "$GCC" != "yes" ; then PICFLAGS="-bM\:SRE" else - PICFLAGS="-fPIC" + PICFLAGS="-fPIC -D__SYSV__" fi CREATE_SHARED=sharedAIX AC_DEFINE(SYSV) @@ -1523,14 +1724,18 @@ case "${canonical}" in esac if test "x$GCC" = xyes; then - CFLAGS="${CFLAGS} -Wall" + CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL" fi if test "x$GXX" = xyes; then - CXXFLAGS="${CXXFLAGS} -Wall" + if test "$wxUSE_MOTIF" = 1; then + CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT" + else + CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT" + fi fi -if test "$USE_SHARED" != 1; then +if test "$wxUSE_SHARED" != 1; then CREATE_SHARED= PICFLAGS= fi @@ -1546,7 +1751,10 @@ dnl ------------------------------------------------------------------------ dnl add OS to list of configured echo $OS >> system.list -AC_CONFIG_HEADER(./include/wx/gtk/setup.h:./setup/setup.hin) +TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"` +AC_CONFIG_HEADER(./include/wx/${TOOLKIT_DIR}/setup.h:./setup/setup.hin) + AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall) AC_OVERRIDES_DONE +