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 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); } 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 ------------------------------------------------------------------------ SEARCH_INCLUDE="\ /usr/Motif1.2/include \ \ /usr/X11R6/include \ /usr/X11R5/include \ /usr/X11R4/include \ \ /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/local/include \ /usr/unsupported/include \ /usr/athena/include \ /usr/local/x11r5/include \ /usr/lpp/Xamples/include \ \ /usr/local/include/gtk \ /usr/X11R6/include/Xm \ /usr/X11/include/Xm \ /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 config.log 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_HEADER(fcntl.h) dnl defines HAVE_FCNTL_H AC_CHECK_HEADER(limits.h) dnl defines HAVE_LIMITS_h AC_CHECK_HEADER(sys/file.h) dnl defines HAVE_SYS_FILE_H AC_CHECK_HEADER(sys/time.h) dnl defines HAVE_SYS_TIME_H AC_CHECK_HEADER(unistd.h) dnl defines HAVE_UNISTD_H dnl As it needs Linux 2.1.x for the moment: check whether the file exists (GL). AC_CHECK_HEADER(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 ################### 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) 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 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= case "${canonical}" in *-hp-hpux* ) USE_HPUX=1 AC_DEFINE(__HPUX__) ;; *-*-linux* ) USE_LINUX=1 AC_DEFINE(__LINUX__) ;; *-*-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_USE_GTK=1 DEFAULT_USE_QT=0 DEFAULT_USE_MOTIF=0 DEFAULT_USE_THREADS=1 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_COMBOBOX=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_WX_NORMALIZED_PS_FONTS=1 DEFAULT_USE_POSTSCRIPT=1 DEFAULT_USE_IPC=1 DEFAULT_USE_RESOURCES=1 DEFAULT_USE_CONSTRAINTS=1 DEFAULT_USE_CLIPBOARD=0 DEFAULT_USE_DND=1 DEFAULT_USE_MDI_ARCHITECTURE=1 DEFAULT_USE_DOC_VIEW_ARCHITECTURE=1 DEFAULT_USE_PRINTING_ARCHITECTURE=1 DEFAULT_USE_PROLOGIO=1 DEFAULT_USE_WX_RESOURCES=1 DEFAULT_USE_RPC=0 DEFAULT_USE_OPENGL=0 DEFAULT_USE_METAFILE=0 DEFAULT_USE_WXGRAPH=0 DEFAULT_USE_WXTREE=0 DEFAULT_USE_HELP=0 dnl ---------------------------------------------------------------- dnl toolkit options dnl ---------------------------------------------------------------- AC_OVERRIDES(gtk,gtk, **--with-gtk use GTK, USE_GTK) AC_OVERRIDES(qt,qt, **--with-qt use Qt, USE_QT) AC_OVERRIDES(motif,motif, **--with-motif use Motif/Lesstif, USE_MOTIF) dnl ---------------------------------------------------------------- dnl compile options dnl ---------------------------------------------------------------- AC_OVERRIDES(shared,shared, **--with-shared create shared libraries, USE_SHARED) AC_OVERRIDES(optimise,optimise, **--with-optimise create optimised code, USE_OPTIMISE) AC_OVERRIDES(debug_flag,debug_flag, **--with-debug_flag create code with WXDEBUG define set to 1, USE_DEBUG_FLAG) AC_OVERRIDES(debug_info,debug_info, **--with-debug_info create code with debuging information, USE_DEBUG_INFO) AC_OVERRIDES(mem_tracing,mem_tracing, **--with-mem_traing create code with memory tracing, USE_MEM_TRACING) AC_OVERRIDES(dmalloc,dmalloc, **--with-dmalloc use dmalloc memory debug library (www.letters.com/dmalloc/), USE_DMALLOC) AC_OVERRIDES(profile,profile, **--with-profile create code with profiling information, USE_PROFILE) AC_OVERRIDES(apple_ieee, apple_ieee, **--with_apple_ieee use the Apple IEEE codec, USE_APPLE_IEEE) 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) AC_OVERRIDES(libpng,libpng, **--with-libpng use libpng (PNG image format), USE_LIBPNG) 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(combobox,combobox, **--with-combobox use wxComboBox class, USE_COMBOBOX) 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) dnl ---------------------------------------------------------------- dnl user options for non-GUI classes 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) AC_OVERRIDES(intl,intl, **--with-intl use internationalization system, USE_INTL) AC_OVERRIDES(config,config, **--with-config use wxConfig class, USE_CONFIG) AC_OVERRIDES(streams,streams, **--with-streams use wxStream etc classes, USE_STREAMS) AC_OVERRIDES(serial,serial, **--with-serial use class serialization, USE_SERIAL) AC_OVERRIDES(file,file, **--with-file use wxFile class, USE_FILE) AC_OVERRIDES(textfile,textfile, **--with-textfile use wxTextFile class, USE_TEXTFILE) dnl ---------------------------------------------------------------- dnl user options for PostScript dnl ---------------------------------------------------------------- AC_OVERRIDES(afmfonts,afmfonts, **--with-afmfonts use Adobe Font Metric Font table, USE_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, USE_POSTSCRIPT) dnl ---------------------------------------------------------------- dnl user options for Prolog and Resources dnl ---------------------------------------------------------------- AC_OVERRIDES(wxresources,wxresources, **--with-wxresources use wxWindows's resources, USE_WX_RESOURCES) AC_OVERRIDES(prologio,prologio, **--with-prologio use Prolog IO library, USE_PROLOGIO) AC_OVERRIDES(rpc,RPC, **--with-rpc use Prolog's remote procedure calls, USE_RPC) dnl ---------------------------------------------------------------- dnl user options for misc stuff dnl ---------------------------------------------------------------- AC_OVERRIDES(ipc,IPC, **--with-ipc use interprocess communication (wxSocket etc.), USE_IPC) AC_OVERRIDES(resources,resources, **--with-resources use X resources for saving information, USE_RESOURCES) AC_OVERRIDES(clipboard,clipboard, **--with-clipboard use wxClipboard classes, USE_CLIPBOARD) 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) dnl ---------------------------------------------------------------- dnl user options for architectures dnl ---------------------------------------------------------------- AC_OVERRIDES(mdi,mdi, **--with-mdi use multiple document interface architecture, USE_MDI_ARCHITECTURE) AC_OVERRIDES(docview,docview, **--with-docview use document view architecture, USE_DOC_VIEW_ARCHITECTURE) AC_OVERRIDES(printarch,printarch, **--with-printarch use printing architecture, USE_PRINTING_ARCHITECTURE) 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 AC_DEFINE(__UNIX__) fi dnl ---------------------------------------------------------------- dnl search for toolkit (widget sets) dnl ---------------------------------------------------------------- TOOLKIT= TOOLKIT_DEF= GUI_TK_INCLUDE= GUI_TK_LIBRARY= GUI_TK_LINK= MAKEINCLUDE= if test "$USE_GTK" = 1; then AM_PATH_GTK(0.99.7, [ 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?)) TOOLKIT=GTK TOOLKIT_DEF=__WXGTK__ MAKEINCLUDE=../gtk.inc fi if test "$USE_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="-lXext -lX11 -lqt -lm" TOOLKIT=QT TOOLKIT_DEF=__WXQT__ 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" TOOLKIT=MOTIF TOOLKIT_DEF=__WXMOTIF__ 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(TOOLKIT) AC_SUBST(TOOLKIT_DEF) AC_SUBST(MAKEINCLUDE) dnl ---------------------------------------------------------------- dnl Register compile options for makefiles and setup.h dnl ---------------------------------------------------------------- WXDEBUG= if test "$USE_DEBUG_INFO" = 1 ; then WXDEBUG="-g -O0" fi AC_SUBST(WXDEBUG) if test "$USE_DEBUG_FLAG" = 1 ; then AC_DEFINE_UNQUOTED(WXDEBUG,$USE_DEBUG_FLAG) WXDEBUG_DEFINE="-D__WXDEBUG__" AC_SUBST(WXDEBUG_DEFINE) fi if test "$USE_MEM_TRACING" = 1 ; then AC_DEFINE_UNQUOTED(USE_MEMORY_TRACING,$USE_MEM_TRACING) AC_DEFINE_UNQUOTED(USE_GLOBAL_MEMORY_OPERATORS,$USE_MEM_TRACING) fi EXTRA_LINK= if test "$USE_DMALLOC" = 1 ; then EXTRA_LINK="$EXTRA_LINK -ldmalloc" fi AC_SUBST(EXTRA_LINK) PROFILE= if test "$USE_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 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 "$USE_APPLE_IEEE" = 1 ; then APPLE_IEEE="APPLE_IEEE" AC_DEFINE_UNQUOTED(USE_APPLE_IEEE,$USE_APPLE_IEEE) fi USE_IOSTREAMH=$DEFAULT_USE_IOSTREAMH AC_DEFINE_UNQUOTED(USE_IOSTREAMH,$USE_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) fi if test "$USE_GDK_IMLIB" = 1 ; then AC_DEFINE_UNQUOTED(USE_GDK_IMLIB,$USE_GDK_IMLIB) fi if test "$USE_LIBPNG" = 1 ; then AC_DEFINE_UNQUOTED(USE_LIBPNG,$USE_LIBPNG) fi if test "$USE_ODBC" = 1 ; then AC_DEFINE_UNQUOTED(USE_ODBC,$USE_ODBC) fi dnl ---------------------------------------------------------------- dnl Register GUI-control options for makefiles and setup.h dnl ---------------------------------------------------------------- if test "$USE_GAUGE" = 1 ; then AC_DEFINE_UNQUOTED(USE_GAUGE,$USE_GAUGE) fi if test "$USE_COMBOBOX" = 1 ; then AC_DEFINE_UNQUOTED(USE_COMBOBOX,$USE_COMBOBOX) fi if test "$USE_SCROLLBAR" = 1 ; then AC_DEFINE_UNQUOTED(USE_SCROLLBAR,$USE_SCROLLBAR) fi if test "$USE_LISTCTRL" = 1 ; then AC_DEFINE_UNQUOTED(USE_LISTCTRL,$USE_LISTCTRL) fi if test "$USE_TREECTRL" = 1 ; then AC_DEFINE_UNQUOTED(USE_TREECTRL,$USE_TREECTRL) fi if test "$USE_GRID" = 1 ; then AC_DEFINE_UNQUOTED(USE_GRID,$USE_GRID) fi if test "$USE_TAB_DIALOG" = 1 ; then AC_DEFINE_UNQUOTED(USE_TAB_DIALOG,$USE_TAB_DIALOG) fi if test "$USE_NOTEBOOK" = 1 ; then AC_DEFINE_UNQUOTED(USE_NOTEBOOK,$USE_NOTEBOOK) fi 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) fi if test "$USE_TIMEDATE" = 1 ; then AC_DEFINE_UNQUOTED(USE_TIMEDATE,$USE_TIMEDATE) fi if test "$USE_FRACTION" = 1 ; then AC_DEFINE_UNQUOTED(USE_FRACTION,$USE_FRACTION) fi if test "$USE_LOG" = 1 ; then AC_DEFINE_UNQUOTED(USE_LOG,$USE_LOG) fi if test "$USE_INTL" = 1 ; then AC_DEFINE_UNQUOTED(USE_INTL,$USE_INTL) fi if test "$USE_STREAMS" = 1 ; then AC_DEFINE_UNQUOTED(USE_STREAMS,$USE_STREAMS) fi if test "$USE_SERIAL" = 1 ; then AC_DEFINE_UNQUOTED(USE_SERIAL,$USE_SERIAL) fi if test "$USE_FILE" = 1 ; then AC_DEFINE_UNQUOTED(USE_FILE,$USE_FILE) fi if test "$USE_TEXTFILE" = 1 ; then AC_DEFINE_UNQUOTED(USE_TEXTFILE,$USE_TEXTFILE) 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) fi if test "$USE_WX_RESOURCES" = 1 ; then AC_DEFINE_UNQUOTED(USE_WX_RESOURCES,$USE_WX_RESOURCES) fi if test "$USE_PROLOGIO" = 1 ; then AC_DEFINE_UNQUOTED(USE_PROLOGIO) fi dnl ---------------------------------------------------------------- dnl Register PostScript options for makefiles and setup.h dnl ---------------------------------------------------------------- if test "$USE_POSTSCRIPT" = 1 ; then AC_DEFINE_UNQUOTED(USE_POSTSCRIPT) fi AC_DEFINE_UNQUOTED(USE_AFM_FOR_POSTSCRIPT,$USE_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 "$USE_MDI_ARCHITECTURE" = 1 ; then AC_DEFINE_UNQUOTED(USE_MDI_ARCHITECTURE,$USE_MDI_ARCHITECTURE) fi if test "$USE_DOC_VIEW_ARCHITECTURE" = 1 ; then AC_DEFINE_UNQUOTED(USE_DOC_VIEW_ARCHITECTURE,$USE_DOC_VIEW_ARCHITECTURE) fi if test "$USE_PRINTING_ARCHITECTURE" = 1 ; then AC_DEFINE_UNQUOTED(USE_PRINTING_ARCHITECTURE,$USE_PRINTING_ARCHITECTURE) fi dnl ---------------------------------------------------------------- dnl Register misc options for makefiles and setup.h dnl ---------------------------------------------------------------- if test "$USE_IPC" = 1 ; then AC_DEFINE_UNQUOTED(USE_IPC) 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) fi dnl ---------------------------------------------------------------- dnl No effect dnl ---------------------------------------------------------------- METAFILE=NONE if test "$USE_METAFILE" = 1 ; then METAFILE="METAFILE" AC_DEFINE_UNQUOTED(USE_METAFILE,$USE_METAFILE) 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) 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 ---------------------------------------------------------------- AC_CHECK_LIB(dl,main,[DL_LIBRARY=-ldl],[DL_LIBRARY=]) AC_SUBST(DL_LIBRARY) dnl ---------------------------------------------------------------- dnl thread support dnl ---------------------------------------------------------------- USE_THREADS=1 THREADS_LINK="" UNIX_THREAD="gtk/threadno.cpp" AC_OVERRIDES(threads,threads, **--without-threads Force disabling threads, USE_THREADS) dnl AC_ARG_WITH(threads, dnl [**--without-threads Force disabling threads ], dnl [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" ]) fi if test -z "$UNIX_THREAD"; then USE_THREADS=0 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) 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 fi else AC_MSG_ERROR(no) fi fi dnl ---------------------------------------------------------------- dnl left-over dnl ---------------------------------------------------------------- USE_GLX=$USE_OPENGL if test "$USE_OPENGL" != 1; then OPENGL_LIBRARIES= OPENGL_INCLUDE= OPENGL_LINK= GLCANVAS=NONE fi AC_DEFINE_UNQUOTED(USE_GLX,$USE_GLX) AC_SUBST(OPENGL_INCLUDE) AC_SUBST(OPENGL_LIBRARY) AC_SUBST(OPENGL_LINK) AC_SUBST(GLCANVAS) dnl ------------------------------------------------------------------------ dnl compiler options for shared libs dnl ------------------------------------------------------------------------ PICFLAGS= CREATE_SHARED= case "${canonical}" in *-hp-hpux* ) if test "${CC}" != "gcc" ; 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 "${CC}" != "gcc" ; then PICFLAGS="-KPIC" else PICFLAGS="-fPIC" fi CREATE_SHARED=sharedSolaris2 AC_DEFINE(SVR4) ;; *-*-sunos4* ) if test "${CC}" != "gcc" ; 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 "${CC}" != "gcc" ; then PICFLAGS="-K PIC" else PICFLAGS="-fPIC" fi CREATE_SHARED=sharedDgux AC_DEFINE(SVR4) ;; *-*-sysv5* ) if test "${CC}" != "gcc" ; then PICFLAGS="-K PIC" else PICFLAGS="-fPIC" fi CREATE_SHARED=sharedSysV AC_DEFINE(SVR4) ;; *-*-aix* ) if test "${CC}" != "gcc" ; 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" fi if test "x$GXX" = xyes; then CXXFLAGS="${CXXFLAGS} -Wall" fi if test "$USE_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