X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e2b8b0662c6132c0076dd703e80f9751caa439cf..0efe4a985555b3ef65ecfdf66202308ddac26284:/configure.in?ds=sidebyside diff --git a/configure.in b/configure.in index ca8ee2824d..92f49340d5 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" @@ -409,7 +409,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 @@ -456,7 +456,7 @@ dnl than checking it during run-time NEEDS_D_REENTRANT_FOR_R_FUNCS=0 dnl the list of all available toolkits -ALL_TOOLKITS="CYGWIN GTK MINGW MOTIF WINE" +ALL_TOOLKITS="CYGWIN GTK MINGW MOTIF WINE PM" dnl NB: these wxUSE_XXX constants have value of 0 or 1 unlike all the other ones dnl which are either yes or no @@ -464,6 +464,7 @@ DEFAULT_wxUSE_GTK=0 DEFAULT_wxUSE_MOTIF=0 DEFAULT_wxUSE_MSW=0 DEFAULT_wxUSE_WINE=0 +DEFAULT_wxUSE_PM=0 dnl these are the values which are really default for the given platform - dnl they're not cached and are only used if no --with-toolkit was given *and* @@ -472,6 +473,9 @@ DEFAULT_DEFAULT_wxUSE_GTK=0 DEFAULT_DEFAULT_wxUSE_MOTIF=0 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" @@ -567,11 +571,14 @@ 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 ;; *-*-beos* ) @@ -621,6 +628,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 @@ -709,6 +717,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 @@ -737,6 +746,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 @@ -759,7 +769,7 @@ else DEFAULT_wxUSE_LIBPNG=yes DEFAULT_wxUSE_LIBJPEG=yes DEFAULT_wxUSE_LIBTIFF=yes - DEFAULT_wxUSE_ODBC=yes + DEFAULT_wxUSE_ODBC=no DEFAULT_wxUSE_STD_IOSTREAM=no DEFAULT_wxUSE_FILE=yes @@ -820,11 +830,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 @@ -887,6 +898,7 @@ AC_ARG_WITH(motif, [ --with-motif use Motif/Lesstif], [wxUSE AC_ARG_WITH(wine, [ --with-wine use WINE], [wxUSE_WINE="$withval" CACHE_WINE=1 TOOLKIT_GIVEN=1]) AC_ARG_WITH(cygwin, [ --with-cygwin use Cygwin for MS-Windows], [wxUSE_CYGWIN="$withval" CACHE_CYGWIN=1 TOOLKIT_GIVEN=1]) AC_ARG_WITH(mingw, [ --with-mingw use GCC Minimal MS-Windows], [wxUSE_MINGW="$withval" CACHE_MINGW=1 TOOLKIT_GIVEN=1]) +AC_ARG_WITH(pm, [ --with-pm use OS/2 Presentation Manager], [wxUSE_PM="$withval" CACHE_PM=1 TOOLKIT_GIVEN=1]) AC_ARG_WITH(gtk-prefix, [ --with-gtk-prefix=PFX Prefix where GTK is installed], gtk_config_prefix="$withval", gtk_config_prefix="") @@ -914,6 +926,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) @@ -1036,7 +1049,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 @@ -1141,6 +1154,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 @@ -1189,6 +1203,22 @@ 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}` +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) ;; @@ -1217,6 +1247,7 @@ done dnl from "if wxUSE_GUI" else + PATH_IFS=':' AC_MSG_RESULT(base only) fi @@ -1394,6 +1425,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 \ @@ -1428,8 +1462,12 @@ dnl ---------------------------------------------------------------- dnl search for toolkit (widget sets) dnl ---------------------------------------------------------------- +AFMINSTALL= + if test "$wxUSE_GUI" = "yes"; then +USE_GUI=1 + TOOLKIT= TOOLKIT_INCLUDE= @@ -1441,12 +1479,10 @@ GUI_TK_LIBRARY= GUI_TK_LINK= WXGTK12= +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) @@ -1480,18 +1516,50 @@ 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 and - dnl 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?)) + 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.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, +dnl AM_PATH_GTK(1.2.1, +dnl WXGTK12=1, +dnl AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.1 or above?) +dnl ) +dnl ) TOOLKIT_INCLUDE="$GTK_CFLAGS" + +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)" @@ -1503,9 +1571,8 @@ if test "$wxUSE_GTK" = 1; then 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 @@ -1572,6 +1639,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) @@ -1597,40 +1666,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) @@ -1641,8 +1770,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" @@ -1661,19 +1808,46 @@ if test "$wxUSE_MOTIF" = 1; then GUIDIST=MOTIF_DIST fi +if test "$wxUSE_PM" = 1; then + TOOLKIT=PM + + GUIOBJS="\$(PM_GUIOBJS)" + GUIHEADERS="\$(PM_HEADERS)" + COMMONOBJS="\$(PM_COMMONOBJS)" + GENERICOBJS="\$(PM_GENERICOBJS)" + GUIDEPS="\$(PM_GUIDEPS)" + COMMONDEPS="\$(PM_COMMONDEPS)" + GENERICDEPS="\$(PM_GENERICDEPS)" + UNIXOBJS= + UNIXDEPS= + GUIDIST=GTK_DIST +fi + dnl the name of the directory where the files for this toolkit live -TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"` +if test "$TOOLKIT" != "PM" ; then + 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)" + + 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)" @@ -1685,17 +1859,34 @@ WX_LIBRARY="wx_${TOOLKIT_DIR}" 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)" + + 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 @@ -1741,7 +1932,9 @@ if test "$wxUSE_SHARED" = "yes"; then 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}" + fi ;; *-*-irix5* | *-*-irix6* ) if test "$GCC" = yes ; then @@ -1809,6 +2002,9 @@ if test "$wxUSE_SHARED" = "yes"; then WX_ALL="${WX_LIBRARY_NAME_STATIC}" ;; *-pc-os2_emx ) + dnl only static for now + WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}" + WX_ALL="${WX_LIBRARY_NAME_STATIC}" ;; *-*-beos* ) dnl can't use gcc under BeOS for shared library creation because it @@ -1979,14 +2175,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) @@ -2056,7 +2253,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! @@ -2069,7 +2266,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 @@ -2182,7 +2380,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 @@ -2208,6 +2406,11 @@ else fi fi +if test "$WXGTK13" = 1 ; then + AC_DEFINE_UNQUOTED(__WXGTK13__,$WXGTK13) + WXGTK12=1 +fi + if test "$WXGTK12" = 1 ; then AC_DEFINE_UNQUOTED(__WXGTK12__,$WXGTK12) fi @@ -2244,6 +2447,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 @@ -2257,16 +2461,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" @@ -2436,9 +2640,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 @@ -2504,9 +2712,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, @@ -2527,7 +2734,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, [ @@ -2575,6 +2788,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,, @@ -2588,31 +2804,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 @@ -2620,19 +2871,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 @@ -2672,6 +2937,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 @@ -2866,16 +3134,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 @@ -2951,6 +3220,8 @@ fi if test "$wxUSE_STATUSBAR" = "yes"; then AC_DEFINE(wxUSE_STATUSBAR) + + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS statbar" fi if test "$wxUSE_TABDIALOG" = "yes"; then @@ -3103,8 +3374,7 @@ 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" @@ -3119,12 +3389,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 drawing dynamic \ + font fractal image minimal richedit" dnl this is needed to be able to find AFM files - CPPFLAGS="$CPPFLAGS \$(EXTRADEFS)" + CPPFLAGS="$CPPFLAGS \$(EXTRADEFS) \$(APPEXTRADEFS)" else SAMPLES_SUBDIRS="" fi @@ -3133,7 +3403,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) @@ -3156,12 +3434,15 @@ 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) 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) @@ -3180,8 +3461,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) @@ -3203,17 +3489,42 @@ 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 + AC_CACHE_CHECK([glcanvas subdirectory to use], wx_cv_path_glcanvas, + [ + dnl Duh! glcanvas/$(TOOLKIT_DIR) doesn't work for msw because some + dnl genius called it "win" + if test "${TOOLKIT_DIR}" = "msw" ; then + wx_cv_path_glcanvas="win" + else + wx_cv_path_glcanvas="${TOOLKIT_DIR}" + fi + ]) + + dnl It's needed in glcanvas/Makefile.in so we even have to subst this hack! + GL_TOOLKIT_DIR=$wx_cv_path_glcanvas + AC_SUBST(GL_TOOLKIT_DIR) + + dnl another hack: we need to pass SAMPLES_SUBDIRS to the configure in + dnl samples and the only way to do it is, again, use the cache + wx_cv_path_samplesubdirs=$SAMPLES_SUBDIRS + AC_CONFIG_SUBDIRS(demos samples utils) 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 @@ -3224,70 +3535,36 @@ AC_OUTPUT([ src/makeprog.env src/makelib.env Makefile - samples/Makefile - samples/bombs/Makefile - samples/caret/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/image/Makefile - samples/internat/Makefile - samples/layout/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 @@ -3300,9 +3577,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}" ] )