X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1db8dc4a2b5b664e922b9d049320ec0354e0eccf..551fe3a6f024a542d26ce8da202d76d8c83f3a6f:/configure.in diff --git a/configure.in b/configure.in index 8656fdcddd..3910159caf 100644 --- a/configure.in +++ b/configure.in @@ -1553,10 +1553,6 @@ USE_GUI=1 TOOLKIT= TOOLKIT_INCLUDE= -GUIOBJS= -COMMONOBJS= -GENERICOBJS= - GUI_TK_LIBRARY= GUI_TK_LINK= @@ -1598,12 +1594,6 @@ if test "$wxUSE_CYGWIN" = 1 || test "$wxUSE_MINGW" = 1 ; then fi TOOLKIT=MSW - - GUIOBJS="\$(MSW_GUIOBJS)" - GUIHEADERS="\$(MSW_HEADERS)" - COMMONOBJS="\$(MSW_COMMONOBJS)" - GENERICOBJS="\$(MSW_GENERICOBJS)" - UNIXOBJS= GUIDIST=MSW_DIST dnl we should calculate these @@ -1651,19 +1641,9 @@ 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)" - GENERICOBJS="\$(GTK_GENERICOBJS)" - GUIDEPS="\$(GTK_GUIDEPS)" - COMMONDEPS="\$(GTK_COMMONDEPS)" - GENERICDEPS="\$(GTK_GENERICDEPS)" - UNIXOBJS="\$(UNIX_OBJS)" - UNIXDEPS="\$(UNIX_DEPS)" + TOOLKIT=GTK GUIDIST=GTK_DIST dnl test for XIM support in libgdk @@ -1709,16 +1689,6 @@ if test "$wxUSE_WINE" = 1; then GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK" WXWINE=1 TOOLKIT=MSW - - GUIHEADERS="\$(MSW_HEADERS)" - GUIOBJS="\$(MSW_GUIOBJS)" - COMMONOBJS="\$(MSW_COMMONOBJS)" - GENERICOBJS="\$(MSW_GENERICOBJS)" - GUIDEPS="\$(MSW_GUIDEPS)" - COMMONDEPS="\$(MSW_COMMONDEPS)" - GENERICDEPS="\$(MSW_GENERICDEPS)" - UNIXOBJS="\$(UNIX_OBJS)" - UNIXDEPS="\$(UNIX_DEPS)" GUIDIST=MSW_DIST fi @@ -1895,39 +1865,17 @@ if test "$wxUSE_MOTIF" = 1; then GUI_TK_LINK="-lXm $XPM_LINK -lXmu -lXext -lXt -lX11" GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK" TOOLKIT=MOTIF - - GUIHEADERS="\$(MOTIF_HEADERS)" - GUIOBJS="\$(MOTIF_GUIOBJS)" - COMMONOBJS="\$(MOTIF_COMMONOBJS)" - GENERICOBJS="\$(MOTIF_GENERICOBJS)" - GUIDEPS="\$(MOTIF_GUIDEPS)" - COMMONDEPS="\$(MOTIF_COMMONDEPS)" - GENERICDEPS="\$(MOTIF_GENERICDEPS)" - UNIXOBJS="\$(UNIX_OBJS)" - UNIXDEPS="\$(UNIX_DEPS)" GUIDIST=MOTIF_DIST fi if test "$wxUSE_MAC" = 1; then TOOLKIT=MAC - UNIXOBJS="\$(UNIX_OBJS)" - UNIXDEPS="\$(UNIX_DEPS)" dnl we can't call this MAC_DIST or autoconf thinks its a macro GUIDIST=MACX_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 @@ -1955,10 +1903,8 @@ fi 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 + if test "$TOOLKIT" != "MSW" -a "$wxUSE_ODBC" = "yes" ; then + ALL_OBJECTS="${ALL_OBJECTS} \$(IODBCOBJS)" fi if test "$wxUSE_LIBJPEG" = "yes" ; then @@ -2018,12 +1964,6 @@ else dnl distribute only wxBase sources/headers GUIDIST="BASE_DIST" DISTDIR="wxBase" - - dnl Apple MAC OS X specific extras - if test "$USE_UNIX" = 1 ; then - ALL_OBJECTS="${ALL_OBJECTS} dl_macosx.o" - ALL_DEPFILES="${ALL_DEPFILES} dl_macosx.d" - fi fi dnl the name of the (libtool) library @@ -2150,7 +2090,7 @@ if test "$wxUSE_SHARED" = "yes"; then fi ;; *-*-darwin* ) - SHARED_LD="libtool -dynamic -o" + SHARED_LD="${CXX} -dynamic -dylib -o" PIC_FLAG="-fPIC" if test "$wxUSE_OPENGL" = "yes"; then WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS CREATE_INSTALLED_LINKS_GL" @@ -2159,6 +2099,16 @@ if test "$wxUSE_SHARED" = "yes"; then WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS" WX_ALL="CREATE_LINKS" fi + dnl the name of the shared library + WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}-${WX_RELEASE}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}.dylib" + WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY}_gl-${WX_RELEASE}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}.dylib" + dnl the name of the links to the shared library + WX_LIBRARY_LINK1="lib${WX_LIBRARY}-${WX_RELEASE}.${WX_CURRENT}.dylib" + WX_LIBRARY_LINK2="lib${WX_LIBRARY}-${WX_RELEASE}.dylib" + WX_LIBRARY_LINK3="lib${WX_LIBRARY}.dylib" + WX_LIBRARY_LINK1_GL="lib${WX_LIBRARY}_gl-${WX_RELEASE}.${WX_CURRENT}.dylib" + WX_LIBRARY_LINK2_GL="lib${WX_LIBRARY}_gl-${WX_RELEASE}.dylib" + WX_LIBRARY_LINK3_GL="lib${WX_LIBRARY}_gl.dylib" ;; *-*-osf* ) SHARED_LD="${CXX} -shared -o" @@ -2387,6 +2337,11 @@ dnl end... dnl if we fail to find vsnprintf, also try for _vsnprintf as that is what dnl we'll find under MSW if it exists. +dnl final note: AC_TRY_COMPILE will only be executed if there is nothing in +dnl the cache so we have to do AC_DEFINE(HAVE_VSNPRINTF) below and not inside +dnl it or the symbol wouldn't be defined for the 2nd and subsequent configure +dnl runs + dnl check for vsnprintf() - a safe version of vsprintf() AC_CACHE_CHECK([for vsnprintf], wx_cv_func_vsnprintf, [ @@ -2409,7 +2364,6 @@ AC_CACHE_CHECK([for vsnprintf], wx_cv_func_vsnprintf, vsnprintf(s, 42, fmt, argp); va_end(argp); ], [ - AC_DEFINE(HAVE_VSNPRINTF) wx_cv_func_vsnprintf=yes ], [ AC_TRY_COMPILE([ @@ -2431,15 +2385,19 @@ AC_CACHE_CHECK([for vsnprintf], wx_cv_func_vsnprintf, _vsnprintf(s, 42, fmt, argp); va_end(argp); ], [ - AC_DEFINE(HAVE_VSNPRINTF) wx_cv_func_vsnprintf=yes ], [ - AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf) wx_cv_func_vsnprintf=no ]) ]) ]) +if test "$wx_cv_func_vsnprintf" = yes; then + AC_DEFINE(HAVE_VSNPRINTF) +else + AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf) +fi + dnl check for vsscanf() AC_CACHE_CHECK([for vsscanf], wx_cv_func_vsscanf, [ @@ -2460,13 +2418,16 @@ AC_CACHE_CHECK([for vsscanf], wx_cv_func_vsscanf, vsscanf("42", fmt, argp); va_end(argp); ], [ - AC_DEFINE(HAVE_VSSCANF) wx_cv_func_vsscanf=yes ], [ wx_cv_func_vsscanf=no ]) ]) +if test "$wx_cv_func_vsscanf" = yes; then + AC_DEFINE(HAVE_VSSCANF) +fi + AC_LANG_RESTORE dnl the following tests are for Unix(like) systems only @@ -2632,6 +2593,8 @@ if test "$wxUSE_THREADS" = "yes" ; then dnl AIX calls the library libpthreads - thanks IBM! if test "$USE_AIX" = 1; then THREADS_LIB=pthreads + elif test "$USE_MAC" = 1; then + THREADS_LIB=cc_dynamic else THREADS_LIB=pthread fi @@ -2735,12 +2698,66 @@ if test "$wxUSE_THREADS" = "yes" ; then pthread_cleanup_pop(0); ], [ wx_cv_func_pthread_cleanup_push=yes - AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS) ], [ wx_cv_func_pthread_cleanup_push=no ]) ]) + if test "$wx_cv_func_pthread_cleanup_push" = "yes"; then + AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS) + fi + + dnl mutexattr_t initialization is done in quite different ways on different + dnl platforms, so check for a few things: + dnl + dnl HAVE_MUTEX_RECURSIVE means that we can create recursive mutexes + dnl HAVE_MUTEXATTR_SETTYPE means that we do it using + dnl pthread_mutexattr_settype(PTHREAD_MUTEX_RECURSIVE) and if it is not + dnl defined, we do it by directly assigned + dnl PTHREAD_MUTEX_RECURSIVE_MUTEX_INITIALIZER_NP to attr + +#ifdef HAVE_PTHREAD_MUTEXATTR_T +#elif defined(HAVE_PTHREAD_RECURSIVE_MUTEX_INITIALIZER) + + AC_CACHE_CHECK([for pthread_mutexattr_t], wx_cv_type_pthread_mutexattr_t, + [ + AC_TRY_COMPILE([#include ], + [ + pthread_mutexattr_t attr; + pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); + ], [ + wx_cv_type_pthread_mutexattr_t=yes + ], [ + wx_cv_type_pthread_mutexattr_t=no + ] + ) + ]) + + if test "$wx_cv_type_pthread_mutexattr_t" = "yes"; then + AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_T) + else + dnl don't despair, there may be another way to do it + AC_CACHE_CHECK([for PTHREAD_RECURSIVE_MUTEX_INITIALIZER], + wx_cv_type_pthread_rec_mutex_init, + [ + AC_TRY_COMPILE([#include ], + [ + pthread_mutex_t attr = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP; + ], [ + wx_cv_type_pthread_rec_mutex_init=yes + ], [ + wx_cv_type_pthread_rec_mutex_init=no + ] + ) + ]) + if test "$wx_cv_type_pthread_rec_mutex_init"="yes"; then + AC_DEFINE(HAVE_PTHREAD_RECURSIVE_MUTEX_INITIALIZER) + else + dnl this may break code working elsewhere, so at least warn about it + AC_MSG_WARN([wxMutex won't be recursive on this platform]) + fi + fi + THREADS_LINK="-l$THREADS_LINK" dnl building MT programs under Solaris with the native compiler requires -mt @@ -2758,9 +2775,11 @@ fi if test "$wxUSE_THREADS" = "yes"; then AC_DEFINE(wxUSE_THREADS) - dnl must define _REENTRANT for multithreaded code - CFLAGS="${CFLAGS} -D_REENTRANT" - CXXFLAGS="${CXXFLAGS} -D_REENTRANT" + dnl must define _REENTRANT for multithreaded code except for Mac OS X + if test "$wxUSE_MAC" = "0"; then + CFLAGS="${CFLAGS} -D_REENTRANT" + CXXFLAGS="${CXXFLAGS} -D_REENTRANT" + fi SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS thread" else @@ -2796,7 +2815,7 @@ if test "$WXWINE" = 1 ; then fi if test "$wxUSE_MAC" = 1 ; then - TOOLKIT_DEF="${TOOLKIT_DEF} -D__UNIX__ -DTARGET_CARBON" + TOOLKIT_DEF="${TOOLKIT_DEF} -D__UNIX__ -D__POWERPC__ -DTARGET_CARBON" TOOLKIT_INCLUDE="${TOOLKIT_INCLUDE}" fi @@ -2843,12 +2862,13 @@ fi DEP_INFO_FLAGS= CODE_GEN_FLAGS= +CODE_GEN_FLAGS_CXX= if test "$GCC" = yes ; then if test "$wxUSE_NO_RTTI" = "yes" ; then - CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fno-rtti" + CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS -fno-rtti" fi if test "$wxUSE_NO_EXCEPTIONS" = "yes" ; then - CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fno-exceptions" + CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS -fno-exceptions" fi if test "$wxUSE_PERMISSIVE" = "yes" ; then CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fpermissive" @@ -3463,9 +3483,6 @@ if test "$wxUSE_ODBC" = "yes" ; then AC_DEFINE(wxUSE_ODBC) WXODBCFLAG="-D_IODBC_" SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db" - IODBCOBJS="\$(IODBC_OBJS)" -else - IODBCOBJS= fi dnl ---------------------------------------------------------------- @@ -3562,6 +3579,11 @@ if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then wxUSE_DRAG_AND_DROP=no fi + if test "$wxUSE_MAC" = 1; then + AC_MSG_WARN([Drag and drop is not yet supported under Mac OS X]) + wxUSE_DRAG_AND_DROP=no + fi + if test "$USE_WIN32" = 1; then dnl check for ole headers and disable DnD if not present (earlier dnl versions of mingw32 don't have them) @@ -3877,7 +3899,7 @@ dnl dnl note that we always link with -lm except for Mac OS X dnl extended.c uses floor() and is always linked in if test "$USE_MAC" = 1 ; then - EXTRA_LIBS="$LIBS $POSIX4_LINK $INET_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $DL_LINK $ZLIB_LINK -framework System" + EXTRA_LIBS="$LIBS $POSIX4_LINK $INET_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $DL_LINK $ZLIB_LINK -Llib -lxpm -framework Carbon -framework System" CFLAGS="${CFLAGS} -fpascal-strings" CPPFLAGS="${CPPFLAGS} -fpascal-strings" else @@ -3977,6 +3999,7 @@ AC_SUBST(SHARED_LD) AC_SUBST(PIC_FLAG) AC_SUBST(DEP_INFO_FLAGS) AC_SUBST(CODE_GEN_FLAGS) +AC_SUBST(CODE_GEN_FLAGS_CXX) AC_SUBST(BURNT_LIBRARY_NAME) AC_SUBST(BURNT_LIBRARY_NAME_GL) AC_SUBST(WX_TARGET_LIBRARY_SONAME) @@ -3996,16 +4019,6 @@ AC_SUBST(TOOLKIT_INCLUDE) AC_SUBST(WXCONFIG_INCLUDE) dnl what to compile -AC_SUBST(GUIHEADERS) -AC_SUBST(GUIOBJS) -AC_SUBST(COMMONOBJS) -AC_SUBST(GENERICOBJS) -AC_SUBST(GUIDEPS) -AC_SUBST(COMMONDEPS) -AC_SUBST(GENERICDEPS) -AC_SUBST(IODBCOBJS) -AC_SUBST(UNIXOBJS) -AC_SUBST(UNIXDEPS) AC_SUBST(ALL_OBJECTS) AC_SUBST(ALL_DEPFILES) @@ -4095,7 +4108,7 @@ AC_OUTPUT([ dnl the debian build process wants setup.h in the lib subdir so we dnl can pretend wxWin is already installed, so we *copy* it there - + if test ! -d lib; then mkdir lib fi @@ -4112,7 +4125,7 @@ AC_OUTPUT([ mkdir lib/wx/include/wx/${TOOLKIT_NAME} fi if test -f setup.h; then - cp -f setup.h lib/wx/include/wx/${TOOLKIT_NAME}/setup.h + cp -fp setup.h lib/wx/include/wx/${TOOLKIT_NAME}/setup.h fi dnl *move* setup.h to its final place @@ -4127,7 +4140,7 @@ AC_OUTPUT([ mkdir include/wx/${TOOLKIT_DIR} fi if test -f setup.h; then - mv -f setup.h include/wx/${TOOLKIT_DIR}/setup.h + cp -fp setup.h include/wx/${TOOLKIT_DIR}/setup.h fi ],