initial import of gmodule.
[platform/upstream/glib.git] / configure.in
index bb4f00b..b9a4a20 100644 (file)
@@ -14,9 +14,9 @@ cflags_set=${CFLAGS+set}
 #
 GLIB_MAJOR_VERSION=1
 GLIB_MINOR_VERSION=1
-GLIB_MICRO_VERSION=0
-GLIB_INTERFACE_AGE=0
-GLIB_BINARY_AGE=0
+GLIB_MICRO_VERSION=2
+GLIB_INTERFACE_AGE=1
+GLIB_BINARY_AGE=2
 GLIB_VERSION=$GLIB_MAJOR_VERSION.$GLIB_MINOR_VERSION.$GLIB_MICRO_VERSION
 AC_SUBST(GLIB_VERSION)
 
@@ -41,6 +41,8 @@ AM_CONFIG_HEADER(glibconfig.h)
 AC_DEFINE_UNQUOTED(GLIB_MAJOR_VERSION, $GLIB_MAJOR_VERSION)
 AC_DEFINE_UNQUOTED(GLIB_MINOR_VERSION, $GLIB_MINOR_VERSION)
 AC_DEFINE_UNQUOTED(GLIB_MICRO_VERSION, $GLIB_MICRO_VERSION)
+AC_DEFINE_UNQUOTED(GLIB_INTERFACE_AGE, $GLIB_INTERFACE_AGE)
+AC_DEFINE_UNQUOTED(GLIB_BINARY_AGE, $GLIB_BINARY_AGE)
 
 dnl Initialize libtool
 AM_PROG_LIBTOOL
@@ -57,22 +59,22 @@ AC_ARG_ENABLE(mem_profile, [  --enable-mem-profile=[no/yes] turn on malloc profi
 AC_ARG_ENABLE(ansi, [  --enable-ansi           turn on strict ansi [default=no]],
                    , enable_ansi=no)
 
-echo -n "Enabling memory checking... "
+AC_MSG_CHECKING(whether to enable memory checking)
 if test "x$enable_mem_check" = "xyes"; then
   AC_DEFINE(ENABLE_MEM_CHECK, 1)
   AC_SUBST(ENABLE_MEM_CHECK)
-  echo "yes"
+  AC_MSG_RESULT(yes)
 else
-  echo "no"
+  AC_MSG_RESULT(no)
 fi
 
-echo -n "Enabling memory profiling... "
+AC_MSG_CHECKING(whether to enable memory profiling)
 if test "x$enable_mem_profile" = "xyes"; then
   AC_DEFINE(ENABLE_MEM_PROFILE, 1)
   AC_SUBST(ENABLE_MEM_PROFILE)
-  echo "yes"
+  AC_MSG_RESULT(yes)
 else
-  echo "no"
+  AC_MSG_RESULT(no)
 fi
 
 if test "x$enable_debug" = "xyes"; then
@@ -120,6 +122,7 @@ AC_CHECK_SIZEOF(short)
 AC_CHECK_SIZEOF(long)
 AC_CHECK_SIZEOF(int)
 AC_CHECK_SIZEOF(void *)
+AC_CHECK_SIZEOF(long long)
 
 # long doubles were not used, and a portability problem 
 # AC_C_LONG_DOUBLE
@@ -134,7 +137,7 @@ AC_CHECK_HEADERS(values.h, AC_DEFINE(HAVE_VALUES_H))
 AC_CHECK_FUNCS(strerror strsignal memmove vsnprintf strcasecmp)
 
 # Check for sys_errlist
-AC_MSG_CHECKING(sys_errlist)
+AC_MSG_CHECKING(for sys_errlist)
 AC_TRY_LINK(, [
 extern char *sys_errlist[];
 extern int sys_nerr;
@@ -146,7 +149,7 @@ if test $glib_ok = no; then
 fi
 
 # Check for sys_siglist
-AC_MSG_CHECKING(sys_siglist)
+AC_MSG_CHECKING(for sys_siglist)
 AC_TRY_LINK(, [
 extern char *sys_siglist[];
 sys_siglist[1][0] = 0;
@@ -156,21 +159,22 @@ if test $glib_ok = no; then
     AC_DEFINE(NO_SYS_SIGLIST)
 fi
 
-# Check for sys/select.h
-
-AC_MSG_CHECKING([fd_set and sys/select])
+# Check if <sys/select.h> needs to be included for fd_set
+AC_MSG_CHECKING([for fd_set])
 AC_TRY_COMPILE([#include <sys/types.h>],
         [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
-if test $gtk_ok = no; then
+if test $gtk_ok = yes; then
+    AC_MSG_RESULT([yes, found in sys/types.h])
+else
     AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes)
     if test $gtk_ok = yes; then
         AC_DEFINE(HAVE_SYS_SELECT_H)
+        AC_MSG_RESULT([yes, found in sys/select.h])
+    else
+       AC_DEFINE(NO_FD_SET)
+       AC_MSG_RESULT(no)
     fi
 fi
-AC_MSG_RESULT($gtk_ok)
-if test $gtk_ok = no; then
-    AC_DEFINE(NO_FD_SET)
-fi
 
 # This stuff is here, only so that we can define these
 # things in glibconfig.h. If ../config.h was installed
@@ -218,4 +222,87 @@ if test $gtk_ok = no; then
 fi
 AC_MSG_RESULT($gtk_ok)
 
-AC_OUTPUT([Makefile glib-config],[chmod +x glib-config])
+dnl ***********************
+dnl *** g_module checks ***
+dnl ***********************
+G_MODULE_LIBS=
+G_MODULE_LDFLAGS=
+G_MODULE_IMPL=
+G_MODULE_NEED_USCORE=0
+G_MODULE_HAVE_DLERROR=0
+dnl *** dlopen() in system libraries
+if test -z "$G_MODULE_IMPL"; then
+       AC_CHECK_FUNC(dlopen,
+               G_MODULE_IMPL=G_MODULE_IMPL_DL
+       ,)
+fi
+dnl *** dlopen() in libdl
+if test -z "$G_MODULE_IMPL"; then
+       AC_CHECK_LIB(dl, dlopen,
+               G_MODULE_LIBS=-ldl
+               G_MODULE_IMPL=G_MODULE_IMPL_DL
+       ,)
+fi
+dnl *** shl_load() in libdld (HP-UX)
+if test -z "$G_MODULE_IMPL"; then
+       G_MODULE_LDFLAGS='-Wl,-E'
+       AC_CHECK_LIB(dld, shl_load,
+               G_MODULE_LIBS=-ldld
+               G_MODULE_IMPL=G_MODULE_IMPL_DLD
+       ,)
+fi
+dnl *** additional checks for G_MODULE_IMPL_DL
+if test "$G_MODULE_IMPL" = "G_MODULE_IMPL_DL"; then
+       if test -d /usr/include/linux; then
+               G_MODULE_LDFLAGS='-rdynamic'
+       fi
+       LIBS_orig="$LIBS"
+       LDFLAGS_orig="$LDFLAGS"
+       LIBS="$LIBS $G_MODULE_LIBS"
+       LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
+dnl *** check whether we need preceeding underscores
+       AC_MSG_CHECKING(for preceeding underscore in symbols)
+       AC_CACHE_VAL(glib_cv_uscore,[
+               AC_TRY_RUN([
+               #include <dlfcn.h>
+               int glib_underscore_test (void) { return 42; }
+               int main() {
+                 void *f1 = (void*)0, *f2 = (void*)0, *handle;
+                 handle = dlopen ((void*)0, 0);
+                 if (handle) {
+                   f1 = dlsym (handle, "glib_underscore_test");
+                   f2 = dlsym (handle, "_glib_underscore_test");
+                 } return !(f2 && !f1);
+               }],
+                       glib_cv_uscore=yes
+                       G_MODULE_NEED_USCORE=1
+               ,
+                       glib_cv_uscore=no
+                       G_MODULE_NEED_USCORE=0
+               ,)
+       ])
+       AC_MSG_RESULT($glib_cv_uscore)
+       LDFLAGS="$LDFLAGS_orig"
+dnl *** check for having dlerror()
+       AC_CHECK_FUNC(dlerror,
+               G_MODULE_HAVE_DLERROR=1,
+               G_MODULE_HAVE_DLERROR=0)
+       LIBS="$LIBS_orig"
+fi
+dnl *** done, have e got an implementation?
+if test -z "$G_MODULE_IMPL"; then
+       G_MODULE_IMPL=0
+fi
+AC_SUBST(G_MODULE_IMPL)
+AC_SUBST(G_MODULE_LIBS)
+AC_SUBST(G_MODULE_LDFLAGS)
+AC_SUBST(G_MODULE_HAVE_DLERROR)
+AC_SUBST(G_MODULE_NEED_USCORE)
+
+
+AC_OUTPUT([
+Makefile
+glib-config
+gmodule/gmoduleconf.h
+gmodule/Makefile
+],[chmod +x glib-config])