dnl //////////////////////////////////////////////////////////////////////// dnl 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 $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 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], gtk_config_prefix="$withval", gtk_config_prefix="") AC_ARG_WITH(gtk-exec-prefix,[**--with-gtk-exec-prefix=PFX Exec prefix where GTK is installed], gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="") if test x$gtk_config_exec_prefix != x ; then gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix" if test x${GTK_CONFIG+set} != xset ; then GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config fi fi if test x$gtk_config_prefix != x ; then gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix" if test x${GTK_CONFIG+set} != xset ; then GTK_CONFIG=$gtk_config_prefix/bin/gtk-config fi fi AC_PATH_PROG(GTK_CONFIG, gtk-config, no) min_gtk_version=ifelse([$1], ,0.99.7,$1) AC_MSG_CHECKING(for GTK - version >= $min_gtk_version) no_gtk="" if test "$GTK_CONFIG" != "no" ; then GTK_CFLAGS=`$GTK_CONFIG --cflags` GTK_LIBS=`$GTK_CONFIG --libs` ac_save_CFLAGS="$CFLAGS" ac_save_LIBS="$LIBS" CFLAGS="$CFLAGS $GTK_CFLAGS" LIBS="$LIBS $GTK_LIBS" dnl dnl Now check if the installed GTK is sufficiently new. (Also sanity dnl checks the results of gtk-config to some extent dnl AC_TRY_RUN([ #include #include int main () { int major, minor, micro; if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, µ) != 3) { printf("%s, bad version string\n", "$min_gtk_version"); exit(1); } if (gtk_minor_version > 0) 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))); } ],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" else no_gtk=yes fi if test "x$no_gtk" = x ; then AC_MSG_RESULT(yes) ifelse([$2], , :, [$2]) else AC_MSG_RESULT(no) GTK_CFLAGS="" GTK_LIBS="" ifelse([$3], , :, [$3]) fi AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) ]) dnl ------------------------------------------------------------------------ dnl custom macros dnl ------------------------------------------------------------------------ AC_DEFUN(AC_OVERRIDES_PREPARE, [ rm -f ${OSTYPE}.system.cache.tmp touch ${OSTYPE}.system.cache.tmp touch ${OSTYPE}.system.cache ]) AC_DEFUN(AC_OVERRIDES_DONE, [ mv ${OSTYPE}.system.cache.tmp ${OSTYPE}.system.cache ]) dnl package,message,helpmessage,variable AC_DEFUN(AC_OVERRIDES, [ AC_MSG_CHECKING("for $2") AC_ARG_WITH($1,$3, [if test "x$with_$1" = xyes; then ac_cv_use_$1='$4="1"' else ac_cv_use_$1='$4="0"' fi], [ LINE=`grep "$4" ${OSTYPE}.system.cache` if test "x$LINE" != x ; then eval "DEFAULT_$LINE" fi ac_cv_use_$1='$4='$DEFAULT_$4 ]) eval "$ac_cv_use_$1" echo $ac_cv_use_$1 >> ${OSTYPE}.system.cache.tmp if test "$$4" = 1; then AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi ]) dnl package,message,helpmessage,variable AC_DEFUN(AC_OVERRIDES_OLD, [ AC_MSG_CHECKING("for $2") AC_CACHE_VAL(ac_cv_use_$1, [ AC_ARG_WITH($1,$3, [if test "x$with_$1" = xyes; then ac_cv_use_$1='$4="1"' else ac_cv_use_$1='$4="0"' fi],[ac_cv_use_$1='$4=$DEFAULT_$4']) ]) eval "$ac_cv_use_$1" if test "$$4" = 1; then AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi ]) AC_DEFUN(AC_PATH_FIND_INCLUDES, [ ac_find_includes= for ac_dir in $1; do if test -f "$ac_dir/$2"; then ac_find_includes=$ac_dir break fi done ]) AC_DEFUN(AC_PATH_FIND_LIBRARIES, [ ac_find_libraries= for ac_dir in $1; do for ac_extension in a so sl; do if test -f "$ac_dir/lib$2.$ac_extension"; then ac_find_libraries=$ac_dir break 2 fi done done ]) dnl Path to include, allready defined AC_DEFUN(AC_INCLUDE_PATH_EXIST, [ ac_path_to_include=$1 echo "$2" | grep "\-I$1" > /dev/null result=$? if test $result = 0; then ac_path_to_include="" else ac_path_to_include="-I$1" fi ]) dnl Path to link, allready defined AC_DEFUN(AC_LINK_PATH_EXIST, [ echo "$2" | grep "\-L$1" > /dev/null result=$? if test $result = 0; then ac_path_to_link="" else ac_path_to_link="-L$1" fi ]) dnl ------------------------------------------------------------------------ dnl Process this file with autoconf to produce a configure script. dnl ------------------------------------------------------------------------ AC_INIT(configure.in) dnl ------------------------------------------------------------------------ dnl Check platform dnl ------------------------------------------------------------------------ OS="${OSTYPE}" if test "x$OS" = "x"; then UNAME=`uname` AC_MSG_ERROR("The system variable OS has not been set" "please set is everytime befor compiling on this system" "A good example for this system would be:" "setenv OSTYPE $UNAME for csh as a SHELL" "EXPORT OSTYPE=$UNAME for sh as SHELL" "please set this and restart again." ) fi dnl ------------------------------------------------------------------------ dnl Set base directory dnl ------------------------------------------------------------------------ WXBASEDIR=`pwd` AC_SUBST(WXBASEDIR) 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/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 \ \ /usr/local/X11R6/include \ /usr/local/X11R5/include \ /usr/local/X11R4/include \ \ /usr/local/include/X11R6 \ /usr/local/include/X11R5 \ /usr/local/include/X11R4 \ \ /usr/X11/include \ /usr/include/X11 \ /usr/local/X11/include \ /usr/local/include/X11 \ \ /usr/X386/include \ /usr/x386/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 \ /usr/local/x11r5/include \ /usr/lpp/Xamples/include \ \ /usr/local/include/gtk \ /usr/local/include/qt \ /usr/include/qt \ \ /usr/openwin/include \ /usr/openwin/share/include \ " SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` " dnl ------------------------------------------------------------------------ dnl standard checks dnl ------------------------------------------------------------------------ dnl ################### dnl # checks programs # dnl ################### dnl C-compiler checks dnl ================= dnl use what compiler AC_PROG_CC dnl defines CC with the compiler to use dnl defines GCC with yes if using gcc dnl defines GCC empty if not using gcc dnl defines CFLAGS 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 both switches simultaniously dnl what is the c-preprocessor AC_PROG_CPP dnl defines CPP with the c-preprocessor dnl is -traditional needed for correct compilations AC_PROG_GCC_TRADITIONAL dnl adds -traditional for gcc if needed AC_LANG_SAVE dnl C++-compiler checks dnl =================== dnl use what compiler AC_PROG_CXX dnl defines CXX with the compiler to use dnl defines GXX with yes if using gxx dnl defines GXX empty if not using gxx dnl defines CXXFLAGS dnl what is the C++-preprocessor AC_PROG_CXXCPP dnl defines CXXCPP with the C++-preprocessor CXXFLAGS=`echo "$CXXFLAGS" | sed 's/-g//g'` AC_LANG_RESTORE dnl ranlib command dnl ============== AC_PROG_RANLIB dnl defines RANLIB with the appropriate command dnl ar command dnl ========== AC_CHECK_PROG(AR, ar, ar, ar) dnl defines AR with the appropriate command dnl install checks dnl ============== AC_PROG_INSTALL dnl defines INSTALL with the appropriate command dnl does ln -s works dnl ================ AC_PROG_LN_S dnl defines LN_S with the appropriate command dnl awk command dnl =========== AC_PROG_AWK dnl defines AWK with the appropriate command dnl ############### dnl # make checks # dnl ############### dnl check if VPATH works AC_MSG_CHECKING("make for VPATH support") dnl create Makefile cat - << EOF > confMake check : file cp \$? \$@ cp \$? final_file EOF if test ! -d sub ; then mkdir sub fi echo dummy > sub/file ${MAKE-make} -f confMake VPATH=sub 2> config.log > /dev/null RESULT=$? rm -f sub/file check final_file confMake rmdir sub if test "$RESULT" = 0; then AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) AC_MSG_ERROR( You need a make-utility that is able to use the variable VPATH correctly. If your version of make does not support VPATH correctly, please install GNU-make (possibly as gmake), and start configure with the following command: 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 #################### dnl # checks libraries # dnl #################### dnl find the X11 include and library files AC_PATH_XTRA dnl defines x_includes and x_libraries dnl ####################### dnl # checks header files # dnl ####################### AC_HEADER_DIRENT dnl defines DIR dnl defines MACRO HAVE_DIRENT_H if dirent.h exists dnl defines MACRO HAVE_SYS_NDIR_H if sys/ndir.h exists dnl defines MACRO HAVE_SYS_DIR_H if sys/dir.h exists dnl defines MACRO HAVE_NDIR_H if ndir.h exists 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_HEADERS(fcntl.h) dnl defines HAVE_FCNTL_H AC_CHECK_HEADERS(limits.h) dnl defines HAVE_LIMITS_h AC_CHECK_HEADERS(sys/file.h) dnl defines HAVE_SYS_FILE_H AC_CHECK_HEADERS(sys/time.h) dnl defines HAVE_SYS_TIME_H AC_CHECK_HEADERS(unistd.h) dnl defines HAVE_UNISTD_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_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 check for vprintf/vsprintf() which are GNU extensions AC_FUNC_VPRINTF dnl check for vsnprintf() which is another GNU extension AC_CHECK_FUNC(vsnprintf, AC_DEFINE(HAVE_VSNPRINTF)) AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_CHECK_HEADERS(iostream) if test "x$HAVE_IOSTREAM" = "x" ; then AC_DEFINE(wxUSE_IOSTREAMH) fi AC_LANG_RESTORE dnl defines HAVE_IOSTREAM dnl ################### dnl # checks typedefs # dnl ################### AC_TYPE_GETGROUPS dnl defines GETGROUPS_T AC_TYPE_MODE_T dnl defines mode_t if not already defined AC_TYPE_OFF_T dnl defines off_t if not already defined AC_TYPE_PID_T dnl defines pid_t if not already defined AC_TYPE_SIGNAL dnl defines RETSIGTYPE for the correct return type of signal AC_TYPE_SIZE_T dnl defines size_t if not already defined AC_TYPE_UID_T dnl defines uid_t and gid_t if not already defined dnl ##################### dnl # checks structures # dnl ##################### AC_HEADER_STAT 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 dnl defines HAVE_ST_BLKSIZE if struct stat contains st_blksize AC_STRUCT_ST_BLOCKS dnl defines HAVE_ST_BLOCKS if struct stat contains st_blocks 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 AC_STRUCT_TIMEZONE dnl defines HAVE_ST_BLKSIZE if struct tm contains tm_zone dnl otherwise 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 AC_C_INLINE dnl defines inline to a sensible value for the c-compiler AC_C_CHAR_UNSIGNED dnl defines __CHAR_UNSIGNED__ if char is unsigned AC_C_LONG_DOUBLE 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) AC_CHECK_SIZEOF(long long) dnl defines the size of certain types of variables in SIZEOF_??? dnl ############################ dnl # checks library functions # dnl ############################ dnl ########################## dnl # checks system services # dnl ########################## AC_SYS_LONG_FILE_NAMES 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 system call that is interrupted dnl by a signal dnl ################# dnl # checks PARSER # dnl ################# dnl YACC checks dnl =========== AC_PROG_YACC dnl defines YACC with the appropriate command dnl LEX checks dnl ========== AC_PROG_LEX dnl defines LEX with the appropriate command 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 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 ------------------------------------------------------------------------ CHECK_INCLUDE="-I/usr/include $X_CFLAGS" CHECK_LIB="-L/lib -L/usr/lib $X_LIBS" dnl ------------------------------------------------------------------------ dnl host system dnl ------------------------------------------------------------------------ AC_CANONICAL_HOST canonical=$host configuration=$host_alias dnl ------------------------------------------------------------------------ dnl system settings dnl ------------------------------------------------------------------------ USE_UNIX=1 USE_LINUX= USE_SGI= USE_HPUX= USE_SYSV= USE_SVR4= USE_AIX= USE_SUN= USE_SOLARIS= USE_SUNOS= USE_ALPHA= USE_OSF= USE_BSD= USE_FREEBSD= USE_VMS= USE_ULTRIX= USE_DATA_GENERAL= AC_DEFINE(__UNIX__) case "${canonical}" in *-hp-hpux* ) USE_HPUX=1 AC_DEFINE(__HPUX__) ;; *-*-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* ) USE_SGI=1 USE_SVR4=1 AC_DEFINE(__SGI__) AC_DEFINE(__SVR4__) ;; *-*-solaris2* ) USE_SUN=1 USE_SOLARIS=1 USE_SVR4=1 AC_DEFINE(__SUN__) AC_DEFINE(__SOLARIS__) AC_DEFINE(__SVR4__) ;; *-*-sunos4* ) USE_SUN=1 USE_SUNOS=1 USE_BSD=1 AC_DEFINE(__SUN__) AC_DEFINE(__SUNOS__) AC_DEFINE(__BSD__) ;; *-*-freebsd* | *-*-netbsd*) USE_BSD=1 USE_FREEBSD=1 AC_DEFINE(__FREEBSD__) AC_DEFINE(__BSD__) ;; *-*-osf* ) USE_ALPHA=1 USE_OSF=1 AC_DEFINE(__ALPHA__) AC_DEFINE(__OSF__) ;; *-*-dgux5* ) USE_ALPHA=1 USE_SVR4=1 AC_DEFINE(__ALPHA__) AC_DEFINE(__SVR4__) ;; *-*-sysv5* ) USE_SYSV=1 USE_SVR4=1 AC_DEFINE(__SYSV__) AC_DEFINE(__SVR4__) ;; *-*-aix* ) USE_AIX=1 USE_SYSV=1 USE_SVR4=1 AC_DEFINE(__AIX__) AC_DEFINE(__SYSV__) AC_DEFINE(__SVR4__) ;; *) AC_MSG_ERROR(I don't know your system type.) esac dnl ------------------------------------------------------------------------ dnl defaults for command options dnl ------------------------------------------------------------------------ AC_OVERRIDES_PREPARE 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=0 DEFAULT_wxUSE_ODBC=1 DEFAULT_wxUSE_TIMEDATE=1 DEFAULT_wxUSE_INTL=1 DEFAULT_wxUSE_CONFIG=1 DEFAULT_wxUSE_STREAMS=1 DEFAULT_wxUSE_SERIAL=1 DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=1 DEFAULT_WX_NORMALIZED_PS_FONTS=1 DEFAULT_wxUSE_POSTSCRIPT=1 DEFAULT_wxUSE_IPC=1 DEFAULT_wxUSE_RESOURCES=1 DEFAULT_wxUSE_CLIPBOARD=1 DEFAULT_wxUSE_TOOLTIPS=1 DEFAULT_wxUSE_DRAG_AND_DROP=1 DEFAULT_wxUSE_MDI_ARCHITECTURE=1 DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=1 DEFAULT_wxUSE_PRINTING_ARCHITECTURE=1 DEFAULT_wxUSE_PROLOGIO=1 DEFAULT_wxUSE_WX_RESOURCES=1 DEFAULT_wxUSE_RPC=0 DEFAULT_wxUSE_HELP=1 DEFAULT_wxUSE_UNICODE=1 DEFAULT_wxUSE_WCSRTOMBS=0 dnl ---------------------------------------------------------------- dnl toolkit options dnl ---------------------------------------------------------------- AC_OVERRIDES(gtk,gtk, **--with-gtk use GTK, wxUSE_GTK) AC_OVERRIDES(qt,qt, **--with-qt use Qt, wxUSE_QT) AC_OVERRIDES(motif,motif, **--with-motif use Motif/Lesstif, wxUSE_MOTIF) dnl ---------------------------------------------------------------- dnl compile options dnl ---------------------------------------------------------------- AC_OVERRIDES(shared,shared, **--with-shared create shared libraries, wxUSE_SHARED) AC_OVERRIDES(optimise,optimise, **--with-optimise create optimised code, wxUSE_OPTIMISE) AC_OVERRIDES(debug_flag,debug_flag, **--with-debug_flag create code with WXDEBUG define set to 1, wxUSE_DEBUG_FLAG) AC_OVERRIDES(debug_info,debug_info, **--with-debug_info create code with debuging information, 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, wxUSE_MEM_TRACING) AC_OVERRIDES(dmalloc,dmalloc, **--with-dmalloc use dmalloc memory debug library (www.letters.com/dmalloc/), wxUSE_DMALLOC) AC_OVERRIDES(profile,profile, **--with-profile create code with profiling information, wxUSE_PROFILE) AC_OVERRIDES(apple_ieee, apple_ieee, **--with_apple_ieee use the Apple IEEE codec, wxUSE_APPLE_IEEE) AC_OVERRIDES(threads,threads, **--with-threads for enabling threads, wxUSE_THREADS) dnl ---------------------------------------------------------------- dnl user options for libraries dnl ---------------------------------------------------------------- AC_OVERRIDES(zlib,zlib, **--with-zlib use zlib for LZW comression, wxUSE_ZLIB) AC_OVERRIDES(libpng,libpng, **--with-libpng use libpng (PNG image format), wxUSE_LIBPNG) AC_OVERRIDES(libjpeg,libjpeg, **--with-libjpeg use libjpeg (JPEG image format), wxUSE_LIBJPEG) AC_OVERRIDES(odbc,odbc, **--with-odbc use iODBC and wxODBC classes, wxUSE_ODBC) dnl ---------------------------------------------------------------- dnl user options for non-GUI classes dnl ---------------------------------------------------------------- AC_OVERRIDES(timedate, timedate, **--with-timedate use wxTime and wxDate classes, wxUSE_TIMEDATE) AC_OVERRIDES(intl,intl, **--with-intl use internationalization system, wxUSE_INTL) AC_OVERRIDES(config,config, **--with-config use wxConfig class, wxUSE_CONFIG) AC_OVERRIDES(streams,streams, **--with-streams use wxStream etc classes, wxUSE_STREAMS) AC_OVERRIDES(serial,serial, **--with-serial use class serialization, wxUSE_SERIAL) dnl ---------------------------------------------------------------- dnl user options for PostScript dnl ---------------------------------------------------------------- AC_OVERRIDES(afmfonts,afmfonts, **--with-afmfonts use Adobe Font Metric Font table, wxUSE_AFM_FOR_POSTSCRIPT) AC_OVERRIDES(normalized, normalized, **--with-PS-normalized use normalized PS fonts, WX_NORMALIZED_PS_FONTS) AC_OVERRIDES(postscript, postscript, **--with-postscript use wxPostscriptDC device context, 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 dnl ---------------------------------------------------------------- AC_OVERRIDES(wxresources,wxresources, **--with-wxresources use wxWindows's resources, wxUSE_WX_RESOURCES) AC_OVERRIDES(prologio,prologio, **--with-prologio use Prolog IO library, wxUSE_PROLOGIO) AC_OVERRIDES(rpc,RPC, **--with-rpc use Prolog's remote procedure calls, wxUSE_RPC) dnl ---------------------------------------------------------------- dnl user options for misc stuff dnl ---------------------------------------------------------------- AC_OVERRIDES(ipc,IPC, **--with-ipc use interprocess communication (wxSocket etc.), wxUSE_IPC) AC_OVERRIDES(resources,resources, **--with-resources use X resources for saving information, wxUSE_RESOURCES) AC_OVERRIDES(clipboard,clipboard, **--with-clipboard use wxClipboard classes, wxUSE_CLIPBOARD) AC_OVERRIDES(tooltips,tooltips, **--with-tooltips use tooltips, wxUSE_TOOLTIPS) AC_OVERRIDES(dnd,dnd, **--with-dnd use Drag'n'Drop classes, wxUSE_DRAG_AND_DROP) dnl ---------------------------------------------------------------- dnl user options for architectures dnl ---------------------------------------------------------------- AC_OVERRIDES(mdi,mdi, **--with-mdi use multiple document interface architecture, wxUSE_MDI_ARCHITECTURE) AC_OVERRIDES(docview,docview, **--with-docview use document view architecture, wxUSE_DOC_VIEW_ARCHITECTURE) AC_OVERRIDES(printarch,printarch, **--with-printarch use printing architecture, wxUSE_PRINTING_ARCHITECTURE) AC_OVERRIDES(help,help, **--with-help use help (using external browser at present), wxUSE_HELP) dnl ---------------------------------------------------------------- dnl Unix, obviously dnl ---------------------------------------------------------------- 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 ---------------------------------------------------------------- TOOLKIT= TOOLKIT_DEF= GUI_TK_INCLUDE= GUI_TK_LIBRARY= GUI_TK_LINK= WX_LINK= MAKEINCLUDE= if test "$wxUSE_GTK" = 1; then AM_PATH_GTK(1.0.4, [ GUI_TK_INCLUDE="$GTK_CFLAGS" GUI_TK_LIBRARY="$GTK_LIBS" ], AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.0.4 up-to 1.0.6?)) TOOLKIT=GTK TOOLKIT_DEF=__WXGTK__ WX_LINK=-lwx_gtk2 MAKEINCLUDE=../gtk.inc fi 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 AC_MSG_RESULT(found $ac_find_includes) AC_MSG_CHECKING(for Qt library) AC_PATH_FIND_LIBRARIES($SEARCH_LIB,qt) 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 Qt at $ac_find_libraries) else AC_MSG_ERROR(no) fi else AC_MSG_ERROR(no) fi GUI_TK_LINK="-lX11 -lqt -lm" TOOLKIT=QT TOOLKIT_DEF=__WXQT__ WX_LINK=-lwx_qt MAKEINCLUDE=../qt.inc fi 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) 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) 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) 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" AC_MSG_RESULT(found at $ac_find_libraries) else AC_MSG_ERROR(no) fi else AC_MSG_ERROR(no) fi else AC_MSG_ERROR(no) fi else AC_MSG_ERROR(no) fi GUI_TK_LINK="-lXm -lXpm -lXmu -lXt -lX11 -lm" GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK" TOOLKIT=MOTIF TOOLKIT_DEF="__WXMOTIF__ -D__LINUX__ -D__UNIX__" 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) 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) AC_SUBST(MAKEINCLUDE) dnl ---------------------------------------------------------------- dnl Register compile options for makefiles and setup.h dnl ---------------------------------------------------------------- EXTRA_LINK= WXDEBUG= if test "$wxUSE_DEBUG_GDB" = 1 ; then wxUSE_DEBUG_INFO=1 WXDEBUG="-ggdb" wxUSE_OPTIMISE=0 else if test "$wxUSE_DEBUG_INFO" = 1 ; then WXDEBUG="-g" wxUSE_OPTIMISE=0 else EXTRA_LINK="-s $EXTRA_LINK" fi fi AC_SUBST(WXDEBUG) 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 "$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 if test "$wxUSE_DMALLOC" = 1 ; then EXTRA_LINK="$EXTRA_LINK -ldmalloc" fi AC_SUBST(EXTRA_LINK) PROFILE= 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 "$wxUSE_OPTIMISE" = 0 ; then OPTIMISE= else if test "$GCC" = yes ; then OPTIMISE="-O2" case "${canonical}" in i586-*-*|i686-*-* ) OPTIMISE="${OPTIMISE} " ;; esac else OPTIMISE="-O" fi fi AC_SUBST(OPTIMISE) APPLE_IEEE=NONE if test "$wxUSE_APPLE_IEEE" = 1 ; then APPLE_IEEE="APPLE_IEEE" AC_DEFINE_UNQUOTED(wxUSE_APPLE_IEEE,$wxUSE_APPLE_IEEE) fi 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 "$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 "$wxUSE_LIBPNG" = 1 ; then AC_DEFINE_UNQUOTED(wxUSE_LIBPNG,$wxUSE_LIBPNG) PNG_C_SRC="\$(PNG_C_SRC)" fi AC_SUBST(PNG_C_SRC) JPEG_LINK="" if test "$wxUSE_LIBJPEG" = 1 ; then AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG) AC_CHECK_LIB(jpeg) JPEG_LINK="-ljpeg" 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 non-GUI class options for makefiles and setup.h dnl ---------------------------------------------------------------- if test "$wxUSE_CONFIG" = 1 ; then AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG) fi if test "$wxUSE_TIMEDATE" = 1 ; then AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE) fi if test "$wxUSE_INTL" = 1 ; then AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL) fi if test "$wxUSE_STREAMS" = 1 ; then AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS) fi if test "$wxUSE_SERIAL" = 1 ; then AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL) fi dnl ---------------------------------------------------------------- dnl Register Prolog and Resources options for makefiles and setup.h dnl ---------------------------------------------------------------- if test "$wxUSE_RPC" = 1 ; then AC_DEFINE_UNQUOTED(wxUSE_RPC,$wxUSE_RPC) fi if test "$wxUSE_WX_RESOURCES" = 1 ; then AC_DEFINE_UNQUOTED(wxUSE_WX_RESOURCES,$wxUSE_WX_RESOURCES) fi 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 "$wxUSE_POSTSCRIPT" = 1 ; then AC_DEFINE_UNQUOTED(wxUSE_POSTSCRIPT) fi AC_DEFINE_UNQUOTED(wxUSE_AFM_FOR_POSTSCRIPT,$wxUSE_AFM_FOR_POSTSCRIPT) AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS) dnl ---------------------------------------------------------------- dnl Register architecture options for makefiles and setup.h dnl ---------------------------------------------------------------- if test "$wxUSE_MDI_ARCHITECTURE" = 1 ; then AC_DEFINE_UNQUOTED(wxUSE_MDI_ARCHITECTURE,$wxUSE_MDI_ARCHITECTURE) fi if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = 1 ; then AC_DEFINE_UNQUOTED(wxUSE_DOC_VIEW_ARCHITECTURE,$wxUSE_DOC_VIEW_ARCHITECTURE) fi if test "$wxUSE_PRINTING_ARCHITECTURE" = 1 ; then AC_DEFINE_UNQUOTED(wxUSE_PRINTING_ARCHITECTURE,$wxUSE_PRINTING_ARCHITECTURE) fi dnl ---------------------------------------------------------------- dnl Register wxString options for makefiles and setup.h dnl ---------------------------------------------------------------- if test "$wxUSE_UNICODE" = 1 ; then AC_DEFINE_UNQUOTED(wxUSE_UNICODE) fi if test "$wxUSE_WCSRTOMBS" = 1 ; then AC_DEFINE_UNQUOTED(wxUSE_WCSRTOMBS) fi dnl ---------------------------------------------------------------- dnl Register misc options for makefiles and setup.h dnl ---------------------------------------------------------------- if test "$wxUSE_IPC" = 1 ; then AC_DEFINE_UNQUOTED(wxUSE_IPC) fi if test "$wxUSE_RESOURCES" = 1 ; then AC_DEFINE_UNQUOTED(wxUSE_RESOURCES,$wxUSE_RESOURCES) fi if test "$wxUSE_CLIPBOARD" = 1 ; then AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD) fi if test "$wxUSE_TOOLTIPS" = 1 ; then AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS) fi if test "$wxUSE_DRAG_AND_DROP" = 1 ; then AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP) fi dnl ---------------------------------------------------------------- dnl No effect yet dnl ---------------------------------------------------------------- HELP=NONE if test "$wxUSE_HELP" = 1 ; then HELP="HELP" AC_DEFINE_UNQUOTED(wxUSE_HELP,$wxUSE_HELP) fi AC_SUBST(HELP) dnl ---------------------------------------------------------------- dnl thread support dnl ---------------------------------------------------------------- THREADS_LINK="" UNIX_THREAD="" if test "$wxUSE_THREADS" = "1"; then 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" ]) ]) if test "$THREADS_LINK" != ""; then AC_DEFINE(wxUSE_THREADS) fi dnl -lposix4 seems to be required on Solaris AC_CHECK_LIB(posix4, printf, [ THREADS_LINK="$THREADS_LINK -lposix4" ]) fi if test "$wxUSE_MOTIF" = "1"; then UNIX_THREAD="motif/thread.cpp" fi if test -z "$UNIX_THREAD"; then wxUSE_THREADS=0 fi AC_SUBST(UNIX_THREAD) AC_SUBST(THREADS_LINK) 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) dnl ------------------------------------------------------------------------ dnl compiler options for shared libs dnl ------------------------------------------------------------------------ PICFLAGS= CREATE_SHARED= case "${canonical}" in *-hp-hpux* ) if test "$GCC" != "yes" ; then CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE" CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE" PICFLAGS="+z" else PICFLAGS="-fPIC" fi LDFLAGS="-Wl,+s" CREATE_SHARED=sharedHpux ;; *-*-linux* ) PICFLAGS=-fPIC CREATE_SHARED=sharedLinux ;; *-*-irix5* | *-*-irix6* ) # PICFLAGS can remain empty, as pic is the default LDFLAGS="-Wl,+s" CREATE_SHARED=sharedIrix AC_DEFINE(SVR4) ;; *-*-solaris2* ) if test "$GCC" != "yes" ; then PICFLAGS="-KPIC" else PICFLAGS="-fPIC" fi CREATE_SHARED=sharedSolaris2 AC_DEFINE(SVR4) ;; *-*-sunos4* ) if test "$GCC" != "yes" ; then PICFLAGS="-PIC" else PICFLAGS="-fPIC" fi LDFLAGS="-Wl,+s" CREATE_SHARED=sharedSunos4 AC_DEFINE(BSD) ;; *-*-freebsd* | *-*-netbsd*) PICFLAGS=-fPIC CREATE_SHARED=sharedBsd AC_DEFINE(BSD) ;; *-*-osf* ) PICFLAGS="-fPIC" CREATE_SHARED=sharedOSF ;; *-*-dgux5* ) if test "$GCC" != "yes" ; then PICFLAGS="-K PIC" else PICFLAGS="-fPIC" fi CREATE_SHARED=sharedDgux AC_DEFINE(SVR4) ;; *-*-sysv5* ) if test "$GCC" != "yes" ; then PICFLAGS="-K PIC" else PICFLAGS="-fPIC" fi CREATE_SHARED=sharedSysV AC_DEFINE(SVR4) ;; *-*-aix* ) if test "$GCC" != "yes" ; then PICFLAGS="-bM\:SRE" else PICFLAGS="-fPIC" fi CREATE_SHARED=sharedAIX AC_DEFINE(SYSV) ;; *) CREATE_SHARED= PICFLAGS= esac if test "x$GCC" = xyes; then CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL" fi if test "x$GXX" = xyes; then if test "$wxUSE_MOTIF" = 1; then CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT" else CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT" fi fi if test "$wxUSE_SHARED" != 1; then CREATE_SHARED= PICFLAGS= fi AC_SUBST(OS) AC_SUBST(PICFLAGS) AC_SUBST(CREATE_SHARED) dnl ------------------------------------------------------------------------ dnl finish and clean-up dnl ------------------------------------------------------------------------ dnl add OS to list of configured echo $OS >> system.list AC_CONFIG_HEADER(./include/wx/gtk/setup.h:./setup/setup.hin) AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall) AC_OVERRIDES_DONE