X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3fcdd07b5dc4cac5dab7b711fd168b2578aa680f..695237bccd652c60deba347117ba5ab32067880c:/configure.in?ds=sidebyside diff --git a/configure.in b/configure.in index b45216895b..3f740e77ac 100644 --- a/configure.in +++ b/configure.in @@ -1659,40 +1659,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) @@ -1703,8 +1763,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" @@ -1755,7 +1833,7 @@ fi ALL_OBJECTS="\$(GUIOBJS) \$(COMMONOBJS) \$(GENERICOBJS) \$(UNIXOBJS) \$(HTMLOBJS)" dnl ODBC objects are Unix only - if test "$(TOOLKIT)" != "MSW"; then + if test "$TOOLKIT" != "MSW"; then ALL_OBJECTS="${ALL_OBJECTS} \$(IODBCOBJS)" fi @@ -2092,7 +2170,8 @@ AC_CACHE_CHECK([for vsscanf], wx_cv_func_vsscanf, 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) @@ -2162,7 +2241,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! @@ -2175,7 +2254,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 @@ -2288,7 +2368,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 @@ -2355,6 +2435,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 @@ -2691,6 +2772,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,, @@ -2704,29 +2788,64 @@ 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 sockets" INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS protocol" @@ -2736,19 +2855,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 @@ -2788,6 +2921,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 @@ -3067,6 +3203,8 @@ fi if test "$wxUSE_STATUSBAR" = "yes"; then AC_DEFINE(wxUSE_STATUSBAR) + + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS statbar" fi if test "$wxUSE_TABDIALOG" = "yes"; then @@ -3350,9 +3488,12 @@ if test "$wxUSE_GUI" = "yes"; then ]) dnl It's needed in glcanvas/Makefile.in so we even have to subst this hack! - GL_TOOLKIT_DIR=$wx_cv_PATH_glcanvas + 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 from wxUSE_GUI