]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
trying to fix memory leak in wxListCtrl (attributes not deleted)
[wxWidgets.git] / configure.in
index 36a527a432765c2434d31c9db455906db9845445..af9e9a81d5b0cb1220bc0c5cfd4b8f6910dc546a 100644 (file)
@@ -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"
@@ -1514,7 +1514,17 @@ 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.3, WXGTK12=1, AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.3 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,
@@ -1525,7 +1535,20 @@ 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
@@ -1541,9 +1564,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
@@ -1723,16 +1745,22 @@ 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
+        ALL_OBJECTS="${ALL_OBJECTS} \$(IODBCOBJS)"
+    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)"
@@ -1744,19 +1772,33 @@ 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
 
     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
@@ -2043,8 +2085,8 @@ 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
              )
 ])
 
@@ -2313,6 +2355,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
 
@@ -2573,9 +2616,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,
@@ -2596,7 +2638,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,
         [
@@ -3020,6 +3068,8 @@ fi
 
 if test "$wxUSE_STATUSBAR" = "yes"; then
     AC_DEFINE(wxUSE_STATUSBAR)
+
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS statbar"
 fi
 
 if test "$wxUSE_TABDIALOG" = "yes"; then
@@ -3259,8 +3309,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)
@@ -3284,15 +3339,26 @@ AC_PROG_MAKE_SET
 
 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)
+
+    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
@@ -3303,84 +3369,6 @@ AC_OUTPUT([
             src/makeprog.env
             src/makelib.env
             Makefile
-            demos/Makefile
-            demos/bombs/Makefile
-            demos/dbbrowse/Makefile
-            demos/forty/Makefile
-            demos/fractal/Makefile
-            demos/life/Makefile
-            demos/poem/Makefile
-            samples/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/exec/Makefile
-            samples/font/Makefile
-            samples/grid/Makefile
-            samples/help/Makefile
-            samples/image/Makefile
-            samples/internat/Makefile
-            samples/ipc/Makefile
-            samples/layout/Makefile
-            samples/listctrl/Makefile
-            samples/mdi/Makefile
-            samples/minifram/Makefile
-            samples/minimal/Makefile
-            samples/dialup/Makefile
-            samples/newgrid/Makefile
-            samples/notebook/Makefile
-            samples/png/Makefile
-            samples/printing/Makefile
-            samples/proplist/Makefile
-            samples/propsize/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/sockets/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
-            utils/makegen/Makefile
-            utils/HelpGen/Makefile
-            utils/HelpGen/src/Makefile
-            utils/tex2rtf/Makefile
-            utils/tex2rtf/src/Makefile
-            utils/hhp2cached/Makefile
-            utils/dialoged/Makefile
-            utils/dialoged/src/Makefile
           ],
           [
             chmod +x wx-config