X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e8d2f694e532c2bdce5e7ecc6b3709fdf6c3d68..3c002e048dfd61706f718e68a468f3e5488f8dc0:/configure.in diff --git a/configure.in b/configure.in index c3846a6da0..9e995e02e4 100644 --- a/configure.in +++ b/configure.in @@ -38,7 +38,7 @@ AC_DEFUN(AM_PATH_GTK, no_gtk="" if test "$GTK_CONFIG" != "no" ; then GTK_CFLAGS=`$GTK_CONFIG --cflags` - GTK_LIBS=`$GTK_CONFIG --libs` + GTK_LIBS=`$GTK_CONFIG --libs gthread` ac_save_CFLAGS="$CFLAGS" ac_save_LIBS="$LIBS" CFLAGS="$CFLAGS $GTK_CFLAGS" @@ -288,6 +288,52 @@ AC_DEFUN(WX_ARG_CACHE_FLUSH, mv ${wx_arg_cache_file}.tmp ${wx_arg_cache_file} ]) +dnl this macro checks for a three-valued command line --with argument: +dnl possible arguments are 'yes', 'no', or 'sys' +dnl usage: WX_ARG_SYS_WITH(option, helpmessage, variable-name) +AC_DEFUN(WX_ARG_SYS_WITH, + [ + AC_MSG_CHECKING("for --with-$1") + no_cache=0 + AC_ARG_WITH($1, $2, + [ + if test "$withval" = yes; then + ac_cv_use_$1='$3=yes' + elif test "$withval" = no; then + ac_cv_use_$1='$3=no' + elif test "$withval" = sys; then + ac_cv_use_$1='$3=sys' + else + AC_MSG_ERROR([Invalid value for --with-$1: should be yes, no or sys]) + fi + ], + [ + LINE=`grep "$3" ${wx_arg_cache_file}` + if test "x$LINE" != x ; then + eval "DEFAULT_$LINE" + else + no_cache=1 + fi + + ac_cv_use_$1='$3='$DEFAULT_$3 + ]) + + eval "$ac_cv_use_$1" + if test "$no_cache" != 1; then + echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp + fi + + if test "$$3" = yes; then + AC_MSG_RESULT(yes) + elif test "$$3" = no; then + AC_MSG_RESULT(no) + elif test "$$3" = sys; then + AC_MSG_RESULT(system version) + else + AC_MSG_ERROR([Invalid value for --with-$1: should be yes, no or sys]) + fi + ]) + dnl this macro checks for a command line argument and caches the result dnl usage: WX_ARG_WITH(option, helpmessage, variable-name) AC_DEFUN(WX_ARG_WITH, @@ -409,7 +455,7 @@ dnl WX_INTERFACE_AGE = 0 WX_MAJOR_VERSION_NUMBER=2 WX_MINOR_VERSION_NUMBER=1 -WX_RELEASE_NUMBER=12 +WX_RELEASE_NUMBER=14 WX_INTERFACE_AGE=0 WX_BINARY_AGE=0 @@ -475,6 +521,8 @@ DEFAULT_DEFAULT_wxUSE_MSW=0 DEFAULT_DEFAULT_wxUSE_WINE=0 DEFAULT_DEFAULT_wxUSE_PM=0 +PROGRAM_EXT= + dnl to support a new system, you need to add its canonical name (as determined dnl by config.sub or specified by the configure command line) to this "case" dnl and also define the shared library flags below - search for @@ -569,11 +617,13 @@ case "${host}" in AC_DEFINE(__GNUWIN32__) AC_DEFINE(STRICT) AC_DEFINE(WINVER, 0x0400) + PROGRAM_EXT=".exe" DEFAULT_DEFAULT_wxUSE_MSW=1 ;; *-pc-os2_emx ) AC_DEFINE(__EMX__) + PROGRAM_EXT=".exe" DEFAULT_DEFAULT_wxUSE_PM=1 ;; @@ -624,6 +674,7 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_THREADS=yes DEFAULT_wxUSE_SHARED=yes + DEFAULT_wxUSE_BURNT_NAME=no DEFAULT_wxUSE_OPTIMISE=yes DEFAULT_wxUSE_PROFILE=no DEFAULT_wxUSE_NO_DEPS=no @@ -647,6 +698,7 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_LIBJPEG=no DEFAULT_wxUSE_LIBTIFF=no DEFAULT_wxUSE_ODBC=no + DEFAULT_wxUSE_OPENGL=no DEFAULT_wxUSE_STD_IOSTREAM=no DEFAULT_wxUSE_FILE=no @@ -692,6 +744,7 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_PROGRESSDLG=no DEFAULT_wxUSE_MINIFRAME=no DEFAULT_wxUSE_HTML=no + DEFAULT_wxUSE_FILESYSTEM=no DEFAULT_wxUSE_FS_INET=no DEFAULT_wxUSE_FS_ZIP=no DEFAULT_wxUSE_BUSYINFO=no @@ -712,6 +765,7 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_LISTBOX=no DEFAULT_wxUSE_LISTCTRL=no DEFAULT_wxUSE_NOTEBOOK=no + DEFAULT_wxUSE_PLOT=no DEFAULT_wxUSE_RADIOBOX=no DEFAULT_wxUSE_RADIOBTN=no DEFAULT_wxUSE_SASH=no @@ -740,6 +794,7 @@ else DEFAULT_wxUSE_THREADS=yes DEFAULT_wxUSE_SHARED=yes + DEFAULT_wxUSE_BURNT_NAME=no DEFAULT_wxUSE_OPTIMISE=yes DEFAULT_wxUSE_PROFILE=no DEFAULT_wxUSE_NO_DEPS=no @@ -762,7 +817,8 @@ else DEFAULT_wxUSE_LIBPNG=yes DEFAULT_wxUSE_LIBJPEG=yes DEFAULT_wxUSE_LIBTIFF=yes - DEFAULT_wxUSE_ODBC=yes + DEFAULT_wxUSE_ODBC=no + DEFAULT_wxUSE_OPENGL=no DEFAULT_wxUSE_STD_IOSTREAM=no DEFAULT_wxUSE_FILE=yes @@ -808,6 +864,7 @@ else DEFAULT_wxUSE_PROGRESSDLG=yes DEFAULT_wxUSE_MINIFRAME=yes DEFAULT_wxUSE_HTML=yes + DEFAULT_wxUSE_FILESYSTEM=yes DEFAULT_wxUSE_FS_INET=yes DEFAULT_wxUSE_FS_ZIP=yes DEFAULT_wxUSE_BUSYINFO=yes @@ -823,11 +880,12 @@ else DEFAULT_wxUSE_COMBOBOX=yes DEFAULT_wxUSE_GAUGE=yes DEFAULT_wxUSE_GRID=yes - DEFAULT_wxUSE_NEW_GRID=no + DEFAULT_wxUSE_NEW_GRID=yes DEFAULT_wxUSE_IMAGLIST=yes DEFAULT_wxUSE_LISTBOX=yes DEFAULT_wxUSE_LISTCTRL=yes DEFAULT_wxUSE_NOTEBOOK=yes + DEFAULT_wxUSE_PLOT=yes DEFAULT_wxUSE_RADIOBOX=yes DEFAULT_wxUSE_RADIOBTN=yes DEFAULT_wxUSE_SASH=yes @@ -897,16 +955,16 @@ AC_ARG_WITH(gtk-prefix, [ --with-gtk-prefix=PFX Prefix where GTK is instal 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="") -WX_ARG_WITH(libpng, [ --with-libpng use libpng (PNG image format)], wxUSE_LIBPNG) -WX_ARG_WITH(libjpeg, [ --with-libjpeg use libjpeg (JPEG file format)], wxUSE_LIBJPEG) -WX_ARG_WITH(libtiff, [ --with-libtiff use libtiff (TIFF file format)], wxUSE_LIBTIFF) +WX_ARG_SYS_WITH(libpng, [ --with-libpng use libpng (PNG image format)], wxUSE_LIBPNG) +WX_ARG_SYS_WITH(libjpeg, [ --with-libjpeg use libjpeg (JPEG file format)], wxUSE_LIBJPEG) +WX_ARG_SYS_WITH(libtiff, [ --with-libtiff use libtiff (TIFF file format)], wxUSE_LIBTIFF) WX_ARG_WITH(opengl, [ --with-opengl use OpenGL (or Mesa)], wxUSE_OPENGL) fi dnl for GUI only WX_ARG_WITH(dmalloc, [ --with-dmalloc use dmalloc library (www.letters.com/dmalloc)], wxUSE_DMALLOC) -WX_ARG_WITH(zlib, [ --with-zlib use zlib for LZW compression], wxUSE_ZLIB) +WX_ARG_SYS_WITH(zlib, [ --with-zlib use zlib for LZW compression], wxUSE_ZLIB) WX_ARG_WITH(odbc, [ --with-odbc use the IODBC and wxODBC classes], wxUSE_ODBC) dnl ==================== @@ -918,6 +976,7 @@ dnl compile options dnl --------------------------------------------------------------------------- WX_ARG_ENABLE(shared, [ --enable-shared create shared library code], wxUSE_SHARED) +WX_ARG_ENABLE(burnt_name, [ --enable-burnt_name create set name in shared library ], wxUSE_BURNT_NAME) WX_ARG_ENABLE(optimise, [ --enable-optimise create optimised code], wxUSE_OPTIMISE) WX_ARG_ENABLE(debug, [ --enable-debug same as debug_flag and debug_info], wxUSE_DEBUG) @@ -971,6 +1030,7 @@ WX_ARG_ENABLE(wcsrtombs, [ --enable-wcsrtombs use wcsrtombs instead of WX_ARG_ENABLE(wxprintfv, [ --enable-wxprintfv use wxWindows implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF) WX_ARG_ENABLE(joystick, [ --enable-joystick compile in joystick support (Linux only)], wxUSE_JOYSTICK) WX_ARG_ENABLE(std_iostreams, [ --enable-std_iostreams use standard C++ stream classes], wxUSE_STD_IOSTREAM) +WX_ARG_ENABLE(filesystem, [ --enable-filesystem use virtual file systems classes], wxUSE_FILESYSTEM) WX_ARG_ENABLE(fs_inet, [ --enable-fs_inet use virtual HTTP/FTP filesystems], wxUSE_FS_INET) WX_ARG_ENABLE(fs_zip, [ --enable-fs_zip use virtual ZIP filesystems], wxUSE_FS_ZIP) WX_ARG_ENABLE(zipstream, [ --enable-zipstream use wxZipInputStream], wxUSE_ZIPSTREAM) @@ -1040,7 +1100,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then DEFAULT_wxUSE_CHOICE=yes DEFAULT_wxUSE_GAUGE=yes DEFAULT_wxUSE_GRID=yes - DEFAULT_wxUSE_NEW_GRID=no + DEFAULT_wxUSE_NEW_GRID=yes DEFAULT_wxUSE_IMAGLIST=yes DEFAULT_wxUSE_LISTBOX=yes DEFAULT_wxUSE_LISTCTRL=yes @@ -1145,6 +1205,7 @@ WX_ARG_ENABLE(tooltips, [ --enable-tooltips use wxToolTip class], wxUS WX_ARG_ENABLE(splines, [ --enable-splines use spline drawing code], wxUSE_SPLINES) WX_ARG_ENABLE(validators, [ --enable-validators use wxValidator and derived classes], wxUSE_VALIDATORS) WX_ARG_ENABLE(busyinfo, [ --enable-busyinfo use wxBusyInfo], wxUSE_BUSYINFO) +WX_ARG_ENABLE(plot, [ --enable-plot use wxPlot], wxUSE_PLOT) dnl --------------------------------------------------------------------------- dnl support for image formats that do not rely on external library @@ -1191,7 +1252,23 @@ else fi dnl we suppose that expr exists... -NUM_TOOLKITS=`expr ${wxUSE_GTK:-0} + ${wxUSE_MOTIF:-0} + ${wxUSE_WINE:-0} + ${wxUSE_MINGW:-0} + ${wxUSE_CYGWIN:-0} + ${wxUSE_PM:-0}` +NUM_TOOLKITS=`expr ${wxUSE_GTK:-0} + ${wxUSE_MOTIF:-0} + ${wxUSE_WINE:-0} + ${wxUSE_MINGW:-0} + ${wxUSE_CYGWIN:-0}` + +dnl Allow wxUSE_PM only for OS/2 with EMX. +dnl Path separator; ':' for unix. +dnl Stem for flex output; lexyy for OS/2, lex.yy otherwise +dnl Extension for programs; '.exe' for OS/2 and msw builds (set later). +case "${host}" in + *-pc-os2_emx ) + NUM_TOOLKITS=`expr ${NUM_TOOLKITS} + ${wxUSE_PM:-0}` + # PATH_IFS is autodetected by OS/2's configure (usually ';') + LEX_STEM="lexyy" + ;; + *) + PATH_IFS=':' + LEX_STEM="lex.yy" + ;; +esac case "$NUM_TOOLKITS" in 1) @@ -1221,6 +1298,7 @@ done dnl from "if wxUSE_GUI" else + PATH_IFS=':' AC_MSG_RESULT(base only) fi @@ -1398,6 +1476,9 @@ SEARCH_INCLUDE="\ /usr/x386/include \ /usr/XFree86/include/X11 \ \ + X:/XFree86/include \ + X:/XFree86/include/X11 \ + \ /usr/include/gtk \ /usr/local/include/gtk \ /usr/include/glib \ @@ -1432,8 +1513,12 @@ dnl ---------------------------------------------------------------- dnl search for toolkit (widget sets) dnl ---------------------------------------------------------------- +AFMINSTALL= + if test "$wxUSE_GUI" = "yes"; then +USE_GUI=1 + TOOLKIT= TOOLKIT_INCLUDE= @@ -1449,9 +1534,6 @@ WXGTK13= WXWINE= -dnl Extension for programs; '.exe' for msw builds -PROGRAM_EXT= - if test "$wxUSE_CYGWIN" = 1 || test "$wxUSE_MINGW" = 1 ; then if test "$cross_compiling" = "yes" ; then AC_MSG_WARN(Cross compiling --- skipping windows.h check) @@ -1485,13 +1567,22 @@ if test "$wxUSE_CYGWIN" = 1 || test "$wxUSE_MINGW" = 1 ; then GENERICOBJS="\$(MSW_GENERICOBJS)" UNIXOBJS= GUIDIST=MSW_DIST - PROGRAM_EXT=.exe fi if test "$wxUSE_GTK" = 1; then dnl avoid calling AM_PATH_GTK twice, so check first for the newer version dnl and only then, if it wasn't found, for an older one - AM_PATH_GTK(1.2.1, WXGTK12=1, AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.1 or above?)) + AM_PATH_GTK(1.2.3, WXGTK12=1) + + if test "$WXGTK12" != 1; then + AC_MSG_ERROR([ + Please check that gtk-config is in path, the directory + where GTK+ libraries are installed (returned by + 'gtk-config --libs' command) is in LD_LIBRARY_PATH or + equivalent variable and GTK+ is version 1.2.3 or above. + ]) + fi + dnl it doesn't really work with 1.3.0 now... dnl AM_PATH_GTK(1.3.0, dnl WXGTK13=1, @@ -1502,9 +1593,24 @@ dnl ) dnl ) TOOLKIT_INCLUDE="$GTK_CFLAGS" - GUI_TK_LIBRARY="$GTK_LIBS -lgthread" + +dnl Appending gthreads as it was done here is not portable, instead +dnl we now call "gtk-config --libs gthread" which sets the right library +dnl name for us. The following hacks are no longer required. + + GUI_TK_LIBRARY="$GTK_LIBS" + +dnl dnl On FreeBSD, the libs are called gtk12 etc, so we must append gthread12 +dnl echo $GTK_LIBS | fgrep -q "glib12" +dnl if test $? = 0 ; then +dnl GUI_TK_LIBRARY="$GTK_LIBS -gthread12" +dnl else +dnl GUI_TK_LIBRARY="$GTK_LIBS -lgthread" +dnl fi TOOLKIT=GTK + AFMINSTALL=afminstall + GUIOBJS="\$(GTK_GUIOBJS)" GUIHEADERS="\$(GTK_HEADERS)" COMMONOBJS="\$(GTK_COMMONOBJS)" @@ -1516,9 +1622,8 @@ dnl ) UNIXDEPS="\$(UNIX_DEPS)" GUIDIST=GTK_DIST -dnl test for XIM support in libgdk -AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM)) - + dnl test for XIM support in libgdk + AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM)) fi if test "$wxUSE_WINE" = 1; then @@ -1585,6 +1690,8 @@ if test "$wxUSE_MOTIF" = 1; then GUI_TK_LIBRARY="$X_LIBS" TOOLKIT_INCLUDE="$X_CFLAGS" + AFMINSTALL=afminstall + dnl manual check for X11 headers/libs dnl dnl AC_MSG_CHECKING(for X11 headers) @@ -1610,40 +1717,100 @@ if test "$wxUSE_MOTIF" = 1; then dnl AC_MSG_ERROR(please set LDFLAGS to contain the location of libX11) dnl fi + COMPILED_X_PROGRAM=0 + AC_MSG_CHECKING(for Motif/Lesstif headers) WX_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) + AC_TRY_COMPILE( + [ + #include + ], + [ + int version; + + version = xmUseVersion; + ], + [ + AC_MSG_RESULT(found in default search path) + COMPILED_X_PROGRAM=1 + ], + [ + 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) - WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm) - if test "$ac_find_libraries" != "" ; then - WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE) - WX_LINK_PATH_EXIST($ac_find_libraries, $GUI_TK_LIBRARY) + if test "$COMPILED_X_PROGRAM" = 0; then + AC_MSG_CHECKING(for Motif/Lesstif library) + WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm) + if test "$ac_find_libraries" != "" ; then + WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE) + WX_LINK_PATH_EXIST($ac_find_libraries, $GUI_TK_LIBRARY) - GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link" - TOOLKIT_INCLUDE="$TOOLKIT_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 + GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link" + TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE $ac_path_to_include" + AC_MSG_RESULT(found at $ac_find_libraries) + else + dnl it might happen that we found headers in one of the standard + dnl paths but the libs are elsewhere - we do need to try to + dnl compile a sample program then here + AC_TRY_COMPILE( + [ + #include + ], + [ + int version; - AC_MSG_CHECKING(for Xt library) - WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt) - if test "$ac_find_libraries" != "" ; then - WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY) - GUI_TK_LIBRARY="$GUI_TK_LIBRARY $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) + version = xmUseVersion; + ], + [ + AC_MSG_RESULT(found in default search path) + COMPILED_X_PROGRAM=1 + ], + [ + AC_MSG_RESULT(no) + AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm) + ] + ) + fi fi + dnl we don't need this as we used AC_PATH_XTRA above which does it for us + dnl + dnl dnl if we already compiled a sample program, X libs are surely there + dnl if test "$COMPILED_X_PROGRAM" = 0; then + dnl AC_MSG_CHECKING(for Xt library) + dnl WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt) + dnl if test "$ac_find_libraries" != "" ; then + dnl WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY) + dnl GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link" + dnl AC_MSG_RESULT(found at $ac_find_libraries) + dnl else + dnl AC_TRY_COMPILE + dnl ( + dnl [ + dnl #include + dnl ], + dnl [ + dnl char *p; + dnl p = XtMalloc(5); + dnl ], + dnl [ + dnl AC_MSG_RESULT(found in default search path) + dnl COMPILED_X_PROGRAM=1 + dnl ], + dnl [ + dnl AC_MSG_RESULT(no) + dnl AC_MSG_ERROR(please set LDFLAGS to contain the location of libXt) + dnl ] + dnl ) + dnl fi + dnl fi + XPM_LINK="" AC_MSG_CHECKING(for Xpm library) WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm) @@ -1654,8 +1821,26 @@ if test "$wxUSE_MOTIF" = 1; then 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) + AC_TRY_COMPILE( + [ + #include + ], + [ + int version; + + version = XpmLibraryVersion(); + ], + [ + XPM_LINK="-lXpm " + AC_DEFINE(wxHAVE_LIB_XPM) + AC_MSG_RESULT(found in default search path) + COMPILED_X_PROGRAM=0 + ], + [ + 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 -lXext -lXt -lX11 -lm" @@ -1691,21 +1876,29 @@ fi dnl the name of the directory where the files for this toolkit live if test "$TOOLKIT" != "PM" ; then - TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"` + TOOLKIT_DIR=`echo ${TOOLKIT} | tr "[[A-Z]]" "[[a-z]]"` else TOOLKIT_DIR="os2" fi -dnl the symbol which allows conditional compilation for the given toolkit -TOOLKIT_DEF="-D__WX${TOOLKIT}__" + dnl the symbol which allows conditional compilation for the given toolkit + TOOLKIT_DEF="-D__WX${TOOLKIT}__" -dnl the name of the (libtool) library -WX_LIBRARY="wx_${TOOLKIT_DIR}" + dnl the name of the (libtool) library + WX_LIBRARY="wx_${TOOLKIT_DIR}" dnl the sources, their dependenices and the headers - ALL_OBJECTS="\$(GUIOBJS) \$(COMMONOBJS) \$(GENERICOBJS) \$(UNIXOBJS) \$(HTMLOBJS) \$(IODBCOBJS)" + ALL_OBJECTS="\$(GUIOBJS) \$(COMMONOBJS) \$(GENERICOBJS) \$(UNIXOBJS) \$(HTMLOBJS) \$(OGLOBJS)" + + dnl ODBC objects are Unix only + if test "$TOOLKIT" != "MSW"; then + if test "$wxUSE_ODBC" = "yes" ; then + ALL_OBJECTS="${ALL_OBJECTS} \$(IODBCOBJS)" + fi + fi + if test "$wxUSE_LIBJPEG" = "yes" ; then - ALL_OBJECTS="${ALL_OBJECTS} \$(JPEGOBJS)" + ALL_OBJECTS="${ALL_OBJECTS} \$(JPEGOBJS)" fi if test "$wxUSE_LIBTIFF" = "yes" ; then ALL_OBJECTS="${ALL_OBJECTS} \$(TIFFOBJS)" @@ -1716,33 +1909,56 @@ WX_LIBRARY="wx_${TOOLKIT_DIR}" if test "$wxUSE_ZLIB" = "yes" ; then ALL_OBJECTS="${ALL_OBJECTS} \$(ZLIBOBJS)" fi - ALL_DEPFILES="\$(GUIDEPS) \$(COMMONDEPS) \$(GENERICDEPS) \$(UNIXDEPS) \$(HTMLDEPS)" - ALL_HEADERS="\$(GUIHEADERS) \$(HTML_HEADERS) \$(UNIX_HEADERS) \$(PROTOCOL_HEADERS) \$(GENERIC_HEADERS) \$(WX_HEADERS)" + ALL_DEPFILES="\$(GUIDEPS) \$(COMMONDEPS) \$(GENERICDEPS) \$(UNIXDEPS) \$(HTMLDEPS) \$(OGLDEPS)" + + PORT_FILES="src/\$(TOOLKITDIR)/files.lst" + RPM_FILES="src/\$(TOOLKITDIR)/rpmfiles.lst" + RPM_SPEC="wx\$(TOOLKIT).spec" + + dnl distribute samples/demos/utils with GUI versions + GUIDIST="${GUIDIST} SAMPLES_DIST DEMOS_DIST UTILS_DIST MISC_DIST" + DISTDIR="wx\$(TOOLKIT)" else - dnl leave all TOOLKIT_XXX vars empty + USE_GUI=0 + + TOOLKIT_DIR="base" + TOOLKIT_DEF="-D__WXBASE__" dnl the sources, their dependenices and the headers - ALL_OBJECTS="\$(BASE_OBJS)" - ALL_DEPFILES="\${BASE_DEPS}" - ALL_HEADERS="\${BASE_HEADERS}" + ALL_OBJECTS="\$(BASE_OBJS) \${BASE_UNIX_OBJS}" + ALL_DEPFILES="\${BASE_DEPS} \${BASE_UNIX_DEPS}" dnl building wxBase only WX_LIBRARY="wxbase" + + PORT_FILES="src/files.lst" + RPM_FILES="src/rpmfiles.lst" + RPM_SPEC="wxBase.spec" + + dnl distribute only wxBase sources/headers + GUIDIST="BASE_DIST" + DISTDIR="wxBase" fi dnl the name of the (libtool) library WX_LIBRARY_NAME="lib${WX_LIBRARY}.la" +WX_LIBRARY_NAME_GL="lib${WX_LIBRARY}_gl.la" dnl the name of the static library WX_LIBRARY_NAME_STATIC="lib${WX_LIBRARY}.a" +WX_LIBRARY_NAME_STATIC_GL="lib${WX_LIBRARY}_gl.a" dnl the name of the shared library WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}-${WX_RELEASE}.so.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}" +WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY}_gl-${WX_RELEASE}.so.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}" dnl the name of the links to the shared library WX_LIBRARY_LINK1="lib${WX_LIBRARY}-${WX_RELEASE}.so.${WX_CURRENT}" WX_LIBRARY_LINK2="lib${WX_LIBRARY}-${WX_RELEASE}.so" WX_LIBRARY_LINK3="lib${WX_LIBRARY}.so" +WX_LIBRARY_LINK1_GL="lib${WX_LIBRARY}_gl-${WX_RELEASE}.so.${WX_CURRENT}" +WX_LIBRARY_LINK2_GL="lib${WX_LIBRARY}_gl-${WX_RELEASE}.so" +WX_LIBRARY_LINK3_GL="lib${WX_LIBRARY}_gl.so" dnl shared library settings SHARED_LD= @@ -1764,16 +1980,29 @@ if test "$wxUSE_SHARED" = "yes"; then PIC_FLAG="+Z" fi WX_LIBRARY_NAME_SHARED="libwx_${TOOLKIT_DIR}.sl" - WX_ALL=${WX_LIBRARY_NAME_SHARED} + WX_LIBRARY_NAME_SHARED_GL="libwx_${TOOLKIT_DIR}_gl.sl" + if test "$wxUSE_OPENGL" = "yes"; then + WX_ALL="${WX_LIBRARY_NAME_SHARED} ${WX_LIBRARY_NAME_SHARED_GL}" + else + WX_ALL="${WX_LIBRARY_NAME_SHARED}" + fi ;; dnl in fact, these settings are for any platform using gcc *-*-linux* ) SHARED_LD="${CC} -shared -o" PIC_FLAG="-fPIC" - WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS" - WX_ALL="CREATE_LINKS" - dnl BURNT_LIBRARY_NAME="-Wl,-soname -Wl,${WX_LIBRARY_NAME_SHARED}" + if test "$wxUSE_BURNT_NAME" = "yes" ; then + BURNT_LIBRARY_NAME="-Wl,-soname,${WX_LIBRARY_LINK1}" + BURNT_LIBRARY_NAME_GL="-Wl,-soname,${WX_LIBRARY_LINK1_GL}" + fi + if test "$wxUSE_OPENGL" = "yes"; then + WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS CREATE_INSTALLED_LINKS_GL" + WX_ALL="CREATE_LINKS CREATE_LINKS_GL" + else + WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS" + WX_ALL="CREATE_LINKS" + fi ;; *-*-irix5* | *-*-irix6* ) if test "$GCC" = yes ; then @@ -1782,8 +2011,13 @@ if test "$wxUSE_SHARED" = "yes"; then else SHARED_LD="${CXX} -shared -o" fi - WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS" - WX_ALL="CREATE_LINKS" + if test "$wxUSE_OPENGL" = "yes"; then + WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS CREATE_INSTALLED_LINKS_GL" + WX_ALL="CREATE_LINKS CREATE_LINKS_GL" + else + WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS" + WX_ALL="CREATE_LINKS" + fi ;; *-*-solaris2* ) if test "$GCC" = yes ; then @@ -1793,8 +2027,13 @@ if test "$wxUSE_SHARED" = "yes"; then SHARED_LD="${CXX} -G -o" PIC_FLAG="-KPIC" fi - WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS" - WX_ALL="CREATE_LINKS" + if test "$wxUSE_OPENGL" = "yes"; then + WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS CREATE_INSTALLED_LINKS_GL" + WX_ALL="CREATE_LINKS CREATE_LINKS_GL" + else + WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS" + WX_ALL="CREATE_LINKS" + fi ;; *-*-sunos4* ) SHARED_LD="${CC} -shared -o" @@ -1833,11 +2072,13 @@ if test "$wxUSE_SHARED" = "yes"; then *-*-cygwin32* ) dnl only static for now WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}" + WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_STATIC_GL}" WX_ALL="${WX_LIBRARY_NAME_STATIC}" ;; *-*-mingw32* ) dnl only static for now WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}" + WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_STATIC_GL}" WX_ALL="${WX_LIBRARY_NAME_STATIC}" ;; *-pc-os2_emx ) @@ -1860,10 +2101,12 @@ if test "$wxUSE_SHARED" = "yes"; then dnl set target to shared if not explicitly chose static before if test "x$WX_TARGET_LIBRARY" = "x"; then WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_SHARED}" + WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_SHARED_GL}" fi else dnl set target to static WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}" + WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_STATIC_GL}" WX_ALL="${WX_LIBRARY_NAME_STATIC}" fi @@ -2014,14 +2257,15 @@ AC_CACHE_CHECK([for vsscanf], wx_cv_func_vsscanf, AC_DEFINE(HAVE_VSSCANF) wx_cv_func_vsscanf=yes ], - wx_cv_func_vsscanf=no, - wx_cv_func_vsscanf=no + wx_cv_func_vsscanf=no, + wx_cv_func_vsscanf=no ) ]) AC_LANG_RESTORE -if test "$USE_UNIX" = 1; then +dnl under MSW we always have Sleep() +if test "$TOOLKIT" != "MSW"; then dnl check for vfork() (even if it's the same as fork() in modern Unices) AC_CHECK_FUNCS(vfork) @@ -2091,7 +2335,7 @@ if test "x$INET_LINK" != "x"; then fi fi -dnl Unix +dnl if !MSW dnl =========================================================================== dnl Now we have all the info we need - use it! @@ -2104,7 +2348,8 @@ dnl --------------------------------------------------------------------------- dnl thread support for Unix (always available under Win32) dnl --------------------------------------------------------------------------- -if test "$USE_UNIX" = 1; then +dnl under MSW we always have thread support +if test "$TOOLKIT" != "MSW"; then dnl the code below: dnl defines THREADS_OBJ which contains the object files to build @@ -2217,7 +2462,7 @@ if test "$wxUSE_THREADS" = "yes" ; then THREADS_LINK="-l$THREADS_LINK" fi -dnl from if USE_UNIX +dnl from if !MSW fi if test "$wxUSE_THREADS" = "yes"; then @@ -2284,6 +2529,7 @@ fi if test "$wxUSE_MEM_TRACING" = "yes" ; then AC_DEFINE(wxUSE_MEMORY_TRACING) AC_DEFINE(wxUSE_GLOBAL_MEMORY_OPERATORS) + AC_DEFINE(wxUSE_DEBUG_NEW_ALWAYS) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS memcheck" fi @@ -2297,16 +2543,16 @@ if test "$wxUSE_PROFILE" = "yes" ; then fi DEP_INFO_FLAGS= +CODE_GEN_FLAGS= if test "$GCC" = yes ; then if test "$wxUSE_NO_RTTI" = "yes" ; then - WXDEBUG_DEFINE="$WXDEBUG_DEFINE -fno-rtti" + CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fno-rtti" fi if test "$wxUSE_NO_EXCEPTIONS" = "yes" ; then - WXDEBUG_DEFINE="$WXDEBUG_DEFINE -fno-exceptions" + CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fno-exceptions" fi if test "$wxUSE_PERMISSIVE" = "yes" ; then - CFLAGS="${CFLAGS} -fpermissive" - CXXFLAGS="${CXXFLAGS} -fpermissive" + CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fpermissive" fi if test "$wxUSE_NO_DEPS" = "no" ; then DEP_INFO_FLAGS="-MMD" @@ -2336,43 +2582,89 @@ dnl Optional libraries dnl --------------------------------------------------------------------------- ZLIB_INCLUDE= -if test "$wxUSE_ZLIB" = "yes" ; then +if test "$wxUSE_ZLIB" = "yes" -o "$wxUSE_ZLIB" = "sys" ; then AC_DEFINE(wxUSE_ZLIB) - ZLIB_INCLUDE="-I\${top_srcdir}/src/zlib" + if test "$wxUSE_ZLIB" = "yes" ; then + ZLIB_INCLUDE="-I\${top_srcdir}/src/zlib" + else + ZLIB_LINK= + AC_CHECK_HEADER(zlib.h, AC_CHECK_LIB(z, deflate, ZLIB_LINK="-lz")) + if test "x$ZLIB_LINK" = "x" ; then + AC_MSG_ERROR(system zlib compression library not found! Use --with-zlib=yes to use built-in zlib) + fi + fi fi PNG_INCLUDE= -if test "$wxUSE_LIBPNG" = "yes" ; then +if test "$wxUSE_LIBPNG" = "yes" -o "$wxUSE_LIBPNG" = "sys" ; then AC_DEFINE(wxUSE_LIBPNG) - PNG_INCLUDE="-I\${top_srcdir}/src/png" + dnl for the check below to have a chance to succeed, we must already have + dnl libz somewhere + if test "$wxUSE_LIBPNG" = "sys" -a "$wxUSE_ZLIB" != "sys" ; then + AC_MSG_WARN([--with-libpng=sys doesn't work without --with-zlib=sys, will compile the built-in libpng instead]) + wxUSE_LIBPNG=yes + fi + + if test "$wxUSE_LIBPNG" = "yes" ; then + PNG_INCLUDE="-I\${top_srcdir}/src/png" + else + PNG_LINK= + AC_CHECK_HEADER(png.h, + AC_CHECK_LIB(png, png_check_sig, + PNG_LINK="-lpng", + , + [-lz -lm]) + ) + if test "x$PNG_LINK" = "x" ; then + AC_MSG_ERROR(system png library not found! Use --with-libpng=yes to use the built-in libpng) + fi + fi + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS png" fi JPEG_INCLUDE= -if test "$wxUSE_LIBJPEG" = "yes" ; then +if test "$wxUSE_LIBJPEG" = "yes" -o "$wxUSE_LIBJPEG" = "sys" ; then AC_DEFINE(wxUSE_LIBJPEG) - JPEG_INCLUDE="-I\${top_srcdir}/src/jpeg" + if test "$wxUSE_LIBJPEG" = "yes" ; then + JPEG_INCLUDE="-I\${top_srcdir}/src/jpeg" + else + JPEG_LINK= + AC_CHECK_HEADER(jpeglib.h, AC_CHECK_LIB(jpeg, jpeg_read_header, JPEG_LINK="-ljpeg")) + if test "x$JPEG_LINK" = "x" ; then + AC_MSG_ERROR(system jpeg library not found! Use --with-libjpeg=yes to use the built-in one) + fi + fi fi TIFF_INCLUDE= -if test "$wxUSE_LIBTIFF" = "yes" ; then +if test "$wxUSE_LIBTIFF" = "yes" -o "$wxUSE_LIBTIFF" = "sys" ; then AC_DEFINE(wxUSE_LIBTIFF) - TIFF_INCLUDE="-I\${top_srcdir}/src/tiff" + if test "$wxUSE_LIBTIFF" = "yes" ; then + TIFF_INCLUDE="-I\${top_srcdir}/src/tiff" + else + TIFF_LINK= + AC_CHECK_HEADER(tiffio.h, AC_CHECK_LIB(tiff, TIFFError, + TIFF_LINK="-ltiff", + , + -lm)) + if test "x$TIFF_LINK" = "x" ; then + AC_MSG_ERROR(system tiff library not found! Use --with-libtiff=yes to use the built-in one) + fi + fi fi if test "$wxUSE_OPENGL" = "yes"; then AC_CHECK_HEADER(GL/gl.h, [ - AC_CHECK_LIB(GL, glInitNames, [ + AC_DEFINE(wxUSE_OPENGL) + AC_DEFINE(wxUSE_GLCANVAS) + AC_CHECK_LIB(GL, glFlush, [ OPENGL_LINK="-lGL" - AC_DEFINE(wxUSE_OPENGL) - UTILS_SUBDIRS="$UTILS_SUBDIRS glcanvas/src" ],[ - AC_CHECK_LIB(MesaGL, glInitNames, [ + AC_CHECK_LIB(MesaGL, glFlush, [ OPENGL_LINK="-lMesaGL" - AC_DEFINE(wxUSE_OPENGL) - UTILS_SUBDIRS="$UTILS_SUBDIRS glcanvas/src" - ],wxUSE_OPENGL=0) - ],wxUSE_OPENGL=0) + ],) + ],) ],wxUSE_OPENGL=0) fi @@ -2422,6 +2714,10 @@ if test "$wxUSE_FILE" = "yes"; then AC_DEFINE(wxUSE_FILE) fi +if test "$wxUSE_FILESYSTEM" = "yes"; then + AC_DEFINE(wxUSE_FILESYSTEM) +fi + if test "$wxUSE_FS_INET" = "yes"; then AC_DEFINE(wxUSE_FS_INET) fi @@ -2476,9 +2772,13 @@ if test "$wxUSE_LONGLONG" = "yes"; then AC_DEFINE(wxUSE_LONGLONG) fi +if test "$wxUSE_PLOT" = "yes"; then + AC_DEFINE(wxUSE_PLOT) +fi + if test "$wxUSE_DIALUP_MANAGER" = "yes" ; then AC_DEFINE(wxUSE_DIALUP_MANAGER) - SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS nettest" + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dialup" fi if test "$wxUSE_STREAMS" = "yes" ; then @@ -2544,9 +2844,8 @@ if test "$wxUSE_TIMEDATE" = "yes"; then dnl as we want $wx_cv_var_timezone to be expanded, use AC_DEFINE_UNQUOTED AC_DEFINE_UNQUOTED(WX_TIMEZONE, $wx_cv_var_timezone) - dnl check for localtime (POSIX), gettimeofday (SVr4, BSD 4.3) and ftime - dnl (V7, BSD 4.3) - AC_CHECK_FUNCS(localtime gettimeofday ftime, break) + dnl check for localtime (it's POSIX, but the check can do no harm...) + AC_CHECK_FUNCS(localtime) if test "$ac_cv_func_localtime" = "yes"; then AC_CACHE_CHECK(for tm_gmtoff in struct tm, @@ -2567,7 +2866,13 @@ if test "$wxUSE_TIMEDATE" = "yes"; then wx_cv_struct_tm_has_gmtoff=no ) ]) - elif test "$ac_cv_func_gettimeofday" = "yes"; then + fi + + dnl check for gettimeofday (SVr4, BSD 4.3) and ftime (V7, BSD 4.3) for the + dnl function to be used for high resolution timers + AC_CHECK_FUNCS(gettimeofday ftime, break) + + if test "$ac_cv_func_gettimeofday" = "yes"; then AC_CACHE_CHECK([whether gettimeofday takes two arguments], wx_cv_func_gettimeofday_has_2_args, [ @@ -2615,6 +2920,9 @@ dnl ------------------------------------------------------------------------ dnl wxSocket dnl ------------------------------------------------------------------------ +dnl under MSW we always have sockets +if test "$TOOLKIT" != "MSW"; then + if test "$wxUSE_SOCKETS" = "yes"; then dnl under Solaris, socket functions live in -lsocket AC_CHECK_FUNC(socket,, @@ -2628,31 +2936,66 @@ if test "$wxUSE_SOCKETS" = "yes"; then ) fi +fi +dnl if !MSW + if test "$wxUSE_SOCKETS" = "yes" ; 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, 0, &len);], - AC_DEFINE(SOCKLEN_T, socklen_t) AC_MSG_RESULT(socklen_t), - AC_TRY_COMPILE( - [#include ], - [size_t len; getsockname(0, 0, &len);], - AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t), + AC_CACHE_CHECK([what is the type of the third argument of getsockname], + wx_cv_type_getsockname3, + [ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE( - [#include ], - [int len; getsockname(0, 0, &len);], - AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int), - AC_MSG_RESULT(unknown) + [ + #include + #include + ], + [ + socklen_t len; + getsockname(0, 0, &len); + ], + wx_cv_type_getsockname3=socklen_t, + AC_TRY_COMPILE( + [ + #include + #include + ], + [ + size_t len; + getsockname(0, 0, &len); + ], + wx_cv_type_getsockname3=size_t, + AC_TRY_COMPILE( + [ + #include + #include + ], + [ + int len; + getsockname(0, 0, &len); + ], + wx_cv_type_getsockname3=int, + wx_cv_type_getsockname3=unknown + ) + ) ) - ) - ) - AC_LANG_RESTORE + AC_LANG_RESTORE + ]) + + if test "$wx_cv_type_getsockname3" = "unknown"; then + wxUSE_SOCKETS=no + AC_MSG_WARN([Couldn't find socklen_t synonym for this system]) + else + AC_DEFINE_UNQUOTED(SOCKLEN_T, $wx_cv_type_getsockname3) + fi +fi + +if test "$wxUSE_SOCKETS" = "yes" ; then AC_DEFINE(wxUSE_SOCKETS) - SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS wxsocket" + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sockets" INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS protocol" fi @@ -2660,19 +3003,33 @@ dnl --------------------------------------------------------------------------- dnl Joystick support dnl --------------------------------------------------------------------------- +dnl under MSW we always have joystick support +if test "$TOOLKIT" != "MSW"; then + if test "$wxUSE_JOYSTICK" = 1; then dnl joystick support is only for Linux 2.1.x or greater AC_CHECK_HEADERS(linux/joystick.h) - if test "$ac_cv_header_linux_joystick_h" = "yes"; then + if test "$ac_cv_header_linux_joystick_h" != "yes"; then + wxUSE_JOYSTICK=0 + AC_MSG_WARN(Joystick not supported yb this system, disabled) + fi +fi + +fi +dnl if !MSW + +if test "$wxUSE_JOYSTICK" = 1; then AC_DEFINE(wxUSE_JOYSTICK) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest" - fi fi dnl ------------------------------------------------------------------------ dnl DLL support dnl ------------------------------------------------------------------------ +dnl under MSW we always have LoadLibrary/GetProcAddress +if test "$TOOLKIT" != "MSW"; then + HAVE_DL_FUNCS=0 HAVE_SHL_FUNCS=0 if test "$wxUSE_DYNLIB_CLASS" = "yes"; then @@ -2712,6 +3069,9 @@ if test "$wxUSE_DYNLIB_CLASS" = "yes"; then fi fi +fi +dnl if !MSW + if test "$wxUSE_DYNLIB_CLASS" = "yes" ; then AC_DEFINE(wxUSE_DYNLIB_CLASS) else @@ -2906,16 +3266,17 @@ if test "$wxUSE_GAUGE" = "yes"; then AC_DEFINE(wxUSE_GAUGE) fi -if test "$wxUSE_GRID" = "yes"; then - AC_DEFINE(wxUSE_GRID) - SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid" -fi - if test "$wxUSE_NEW_GRID" = "yes"; then + wxUSE_GRID="yes" AC_DEFINE(wxUSE_NEW_GRID) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS newgrid" fi +if test "$wxUSE_GRID" = "yes"; then + AC_DEFINE(wxUSE_GRID) + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid" +fi + if test "$wxUSE_IMAGLIST" = "yes"; then AC_DEFINE(wxUSE_IMAGLIST) fi @@ -2991,6 +3352,8 @@ fi if test "$wxUSE_STATUSBAR" = "yes"; then AC_DEFINE(wxUSE_STATUSBAR) + + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS statbar" fi if test "$wxUSE_TABDIALOG" = "yes"; then @@ -3124,12 +3487,12 @@ dnl --------------------------------------------------------------------------- dnl Output the makefiles and such from the results found above dnl --------------------------------------------------------------------------- -GUILIBS="$GUI_TK_LIBRARY $OPENGL_LINK $LIBPNG_LINK $ZLIB_LINK $TOOLKIT_LINK" +GUILIBS="$GUI_TK_LIBRARY $OPENGL_LINK $TOOLKIT_LINK" dnl all additional libraries (except wxWindows itself) we link with -EXTRA_LIBS="$LIBS $POSIX4_LINK $INET_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $DL_LINK" +EXTRA_LIBS="$LIBS $ZLIB_LINK $POSIX4_LINK $INET_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $DL_LINK" if test "$wxUSE_GUI" = "yes"; then - EXTRA_LIBS="$EXTRA_LIBS $GUILIBS" + EXTRA_LIBS="$EXTRA_LIBS $GUILIBS $PNG_LINK $JPEG_LINK $TIFF_LINK" fi dnl all the libraries needed to link wxWindows programs when using the @@ -3137,14 +3500,13 @@ dnl makefile system without libtool LD_LIBS="\${top_builddir}/lib/${WX_LIBRARY_NAME_STATIC} $EXTRA_LIBS" dnl all -I options we must pass to the compiler -INCLUDES="-I. -I\${top_builddir}/include -I\${top_srcdir}/include $ZLIB_INCLUDE $PNG_INCLUDE $JPEG_INCLUDE $TIFF_INCLUDE $TOOLKIT_INCLUDE" +INCLUDES="-I. -I\${top_builddir}/include -I\${top_srcdir}/include -I\${top_srcdir}/contrib/include $ZLIB_INCLUDE $PNG_INCLUDE $JPEG_INCLUDE $TIFF_INCLUDE $TOOLKIT_INCLUDE" dnl C/C++ compiler options used to compile wxWindows if test "$GXX" = yes ; then dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror" CXXWARNINGS="-Wall" - dnl FIXME: there is one weird warning in docview.h:71 which prevents me from - dnl doing this... (VZ) + dnl should enable this one day... dnl CXXWARNINGS="-Wall -Werror" fi EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG $PROFILE $OPTIMISE $INCLUDES" @@ -3159,12 +3521,12 @@ if test "$wxUSE_GUI" = "yes"; then dnl library features they need are present) dnl TODO some samples are never built so far: - dnl mfc, nativdlg, oleauto, ownerdrw, proplist - SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS bombs controls dialogs drawing dynamic \ - font forty fractal image minimal richedit wxpoem" + dnl ipc, mfc, nativdlg, oleauto, ownerdrw, proplist + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS controls dialogs dragimag drawing dynamic \ + font fractal image menu minimal richedit" dnl this is needed to be able to find AFM files - CPPFLAGS="$CPPFLAGS \$(EXTRADEFS)" + CPPFLAGS="$CPPFLAGS \$(EXTRADEFS) \$(APPEXTRADEFS)" else SAMPLES_SUBDIRS="" fi @@ -3173,7 +3535,15 @@ dnl for convenience, sort the samples in alphabetical order dnl dnl FIXME For some mysterious reasons, sometimes the directories are duplicated dnl in this list - hence uniq. But normally, this shouldn't be needed! -SAMPLES_SUBDIRS="`echo $SAMPLES_SUBDIRS | tr -s ' ' | tr ' ' '\n' | sort | uniq | tr '\n' ' '`" +dnl +dnl Unfortunately, there is a bug in OS/2's tr, such that +dnl tr ' ' '\n' introduces DOS-like line breaks, whereas tr '\n' ' ' +dnl only removes the Unix-like part of the introduced line break. +SAMPLES_SUBDIRS="`echo $SAMPLES_SUBDIRS | tr -s ' ' | tr ' ' '\n' | sort | uniq | tr '\n' ' '| tr -d '\r'`" + +dnl makefile variables +AC_SUBST(LEX_STEM) +AC_SUBST(PATH_IFS) dnl global options AC_SUBST(WX_MAJOR_VERSION_NUMBER) @@ -3189,6 +3559,16 @@ AC_SUBST(WX_LIBRARY_LINK2) AC_SUBST(WX_LIBRARY_LINK3) AC_SUBST(PROGRAM_EXT) +dnl global gl options +AC_SUBST(WX_LIBRARY_NAME_GL) +AC_SUBST(WX_LIBRARY_NAME_STATIC_GL) +AC_SUBST(WX_LIBRARY_NAME_SHARED_GL) +AC_SUBST(WX_LIBRARY_GL) +AC_SUBST(WX_TARGET_LIBRARY_GL) +AC_SUBST(WX_LIBRARY_LINK1_GL) +AC_SUBST(WX_LIBRARY_LINK2_GL) +AC_SUBST(WX_LIBRARY_LINK3_GL) + dnl are we supposed to create the links? AC_SUBST(WX_ALL) AC_SUBST(WX_ALL_INSTALLED) @@ -3196,12 +3576,16 @@ AC_SUBST(WX_ALL_INSTALLED) AC_SUBST(SHARED_LD) AC_SUBST(PIC_FLAG) AC_SUBST(DEP_INFO_FLAGS) +AC_SUBST(CODE_GEN_FLAGS) AC_SUBST(BURNT_LIBRARY_NAME) +AC_SUBST(BURNT_LIBRARY_NAME_GL) dnl debugging options AC_SUBST(WXDEBUG_DEFINE) dnl toolkit options +AC_SUBST(USE_GUI) +AC_SUBST(AFMINSTALL) AC_SUBST(TOOLKIT) AC_SUBST(TOOLKIT_DEF) AC_SUBST(TOOLKIT_DIR) @@ -3220,8 +3604,13 @@ AC_SUBST(UNIXOBJS) AC_SUBST(UNIXDEPS) AC_SUBST(ALL_OBJECTS) AC_SUBST(ALL_DEPFILES) -AC_SUBST(ALL_HEADERS) + +dnl distribution vars AC_SUBST(GUIDIST) +AC_SUBST(PORT_FILES) +AC_SUBST(DISTDIR) +AC_SUBST(RPM_SPEC) +AC_SUBST(RPM_FILES) dnl additional subdirectories where we will build AC_SUBST(SRC_SUBDIRS) @@ -3243,17 +3632,30 @@ dnl itself (this is macro is required if SUBDIRS variable is used in Makefile.am dnl - and we do use it) AC_PROG_MAKE_SET +dnl move setup.h back if available +if test -d include; then + if test -d include/wx; then + if test -d include/wx/${TOOLKIT_DIR}; then + if test -f include/wx/${TOOLKIT_DIR}/setup.h; then + mv -f include/wx/${TOOLKIT_DIR}/setup.h setup.h + fi + fi + fi +fi + AC_CONFIG_HEADER(setup.h:setup.h.in) -dnl Duh! glcanvas/$(TOOLKIT_DIR) doesn't work for msw because some -dnl genius called it "win" -if test "${TOOLKIT_DIR}" = "msw" ; then - GL_TOOLKIT_DIR="win" -else - GL_TOOLKIT_DIR="${TOOLKIT_DIR}" +dnl some more GUI only things +if test "$wxUSE_GUI" = "yes"; then + dnl we need to pass SAMPLES_SUBDIRS (and some other) to the configure in + dnl samples and the only way to do it is, again, use the cache + wx_cv_path_samplesubdirs=$SAMPLES_SUBDIRS + wx_cv_path_ifs=$PATH_IFS + wx_cv_program_ext=$PROGRAM_EXT + wx_cv_target_library=$WX_TARGET_LIBRARY + AC_CONFIG_SUBDIRS(demos samples utils contrib) fi -dnl It's needed in glcanvas/Makefile.in so we even have to subst this hack! -AC_SUBST(GL_TOOLKIT_DIR) +dnl from wxUSE_GUI dnl create each of the files in the space separated list from the file.in dnl (the original file name may be overriden by appending another name after a @@ -3264,74 +3666,36 @@ AC_OUTPUT([ src/makeprog.env src/makelib.env Makefile - samples/Makefile - samples/bombs/Makefile - samples/caret/Makefile - samples/calendar/Makefile - samples/checklst/Makefile - samples/config/Makefile - samples/controls/Makefile - samples/console/Makefile - samples/db/Makefile - samples/dialogs/Makefile - samples/docview/Makefile - samples/docvwmdi/Makefile - samples/dnd/Makefile - samples/drawing/Makefile - samples/forty/Makefile - samples/font/Makefile - samples/fractal/Makefile - samples/grid/Makefile - samples/help/Makefile - samples/image/Makefile - samples/internat/Makefile - samples/layout/Makefile - samples/life/Makefile - samples/listctrl/Makefile - samples/mdi/Makefile - samples/minifram/Makefile - samples/minimal/Makefile - samples/nettest/Makefile - samples/newgrid/Makefile - samples/notebook/Makefile - samples/png/Makefile - samples/printing/Makefile - samples/proplist/Makefile - samples/richedit/Makefile - samples/resource/Makefile - samples/sashtest/Makefile - samples/scroll/Makefile - samples/scrollsub/Makefile - samples/splitter/Makefile - samples/text/Makefile - samples/thread/Makefile - samples/toolbar/Makefile - samples/treectrl/Makefile - samples/typetest/Makefile - samples/validate/Makefile - samples/wxpoem/Makefile - samples/wxsocket/Makefile - samples/wizard/Makefile - samples/html/Makefile - samples/html/about/Makefile - samples/html/help/Makefile - samples/html/printing/Makefile - samples/html/helpview/Makefile - samples/html/test/Makefile - samples/html/zip/Makefile - samples/html/virtual/Makefile - samples/html/widget/Makefile - utils/Makefile - utils/wxMMedia2/Makefile - utils/wxMMedia2/lib/Makefile - utils/wxMMedia2/sample/Makefile - utils/glcanvas/Makefile - utils/glcanvas/${GL_TOOLKIT_DIR}/Makefile - utils/ogl/Makefile - utils/ogl/src/Makefile ], [ chmod +x wx-config + mv wx-config wx${TOOLKIT_DIR}-config + ${LN_S} wx${TOOLKIT_DIR}-config wx-config + + dnl the debian installer wants setup.h to be in the lib subdir + dnl so we *copy* it there + + if test ! -d lib; then + mkdir lib + fi + if test ! -d lib/wx; then + mkdir lib/wx + fi + if test ! -d lib/wx/include; then + mkdir lib/wx/include + fi + if test ! -d lib/wx/include/wx; then + mkdir lib/wx/include/wx + fi + if test ! -d lib/wx/include/wx/${TOOLKIT_DIR}; then + mkdir lib/wx/include/wx/${TOOLKIT_DIR} + fi + if test -f setup.h; then + cp -f setup.h lib/wx/include/wx/${TOOLKIT_DIR}/setup.h + fi + + dnl *move* setup.h to its final place + if test ! -d include; then mkdir include fi @@ -3344,9 +3708,11 @@ AC_OUTPUT([ if test -f setup.h; then mv -f setup.h include/wx/${TOOLKIT_DIR}/setup.h fi + ], [ TOOLKIT_DIR="${TOOLKIT_DIR}" + LN_S="${LN_S}" ] )