Test for the existence of getcwd, and use it only when found.
[platform/upstream/glib.git] / configure.in
index b1a074a..6c3f314 100644 (file)
@@ -19,7 +19,7 @@ dnl we need to AC_DIVERT_PUSH/AC_DIVERT_POP these variable definitions so they
 dnl are available for $ac_help expansion (don't we all *love* autoconf?)
 AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
 #
 dnl are available for $ac_help expansion (don't we all *love* autoconf?)
 AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
 #
-# The following version number definitions apply to GLib, GModule and GThread
+# The following version number definitions apply to GLib, GModule, GObject and GThread
 # as a whole, so if changes occoured in any of them, they are all
 # treated with the same interface and binary age.
 #
 # as a whole, so if changes occoured in any of them, they are all
 # treated with the same interface and binary age.
 #
@@ -72,7 +72,7 @@ AC_DEFINE_UNQUOTED(GLIB_INTERFACE_AGE, $GLIB_INTERFACE_AGE)
 AC_DEFINE_UNQUOTED(GLIB_BINARY_AGE, $GLIB_BINARY_AGE)
 
 dnl Initialize libtool
 AC_DEFINE_UNQUOTED(GLIB_BINARY_AGE, $GLIB_BINARY_AGE)
 
 dnl Initialize libtool
-AM_PROG_LIBTOOL
+AC_PROG_LIBTOOL
 
 dnl Initialize maintainer mode
 AM_MAINTAINER_MODE
 
 dnl Initialize maintainer mode
 AM_MAINTAINER_MODE
@@ -105,6 +105,7 @@ AC_ARG_ENABLE(debug, [  --enable-debug=[no/minimum/yes] turn on debugging [defau
 AC_ARG_ENABLE(msg-prefix, [  --enable-msg-prefix     turn on program name and PID prefixing of messages and warnings],,enable_msg_prefix=no)
 AC_ARG_ENABLE(mem_check, [  --enable-mem-check      turn on malloc/free sanity checking [default=no]],,enable_mem_check=no)
 AC_ARG_ENABLE(mem_profile, [  --enable-mem-profile    turn on malloc profiling atexit [default=no]],,enable_mem_profile=no)
 AC_ARG_ENABLE(msg-prefix, [  --enable-msg-prefix     turn on program name and PID prefixing of messages and warnings],,enable_msg_prefix=no)
 AC_ARG_ENABLE(mem_check, [  --enable-mem-check      turn on malloc/free sanity checking [default=no]],,enable_mem_check=no)
 AC_ARG_ENABLE(mem_profile, [  --enable-mem-profile    turn on malloc profiling atexit [default=no]],,enable_mem_profile=no)
+AC_ARG_ENABLE(gc_friendly, [  --enable-gc-friendly    turn on garbage collector friendliness [default=no]],,enable_gc_friendly=no)
 AC_ARG_ENABLE(ansi, [  --enable-ansi           turn on strict ansi [default=no]],
                    , enable_ansi=no)
 AC_ARG_ENABLE(threads, [  --enable-threads        turn on basic thread support [default=yes]
 AC_ARG_ENABLE(ansi, [  --enable-ansi           turn on strict ansi [default=no]],
                    , enable_ansi=no)
 AC_ARG_ENABLE(threads, [  --enable-threads        turn on basic thread support [default=yes]
@@ -132,6 +133,15 @@ else
   AC_MSG_RESULT(no)
 fi
 
   AC_MSG_RESULT(no)
 fi
 
+AC_MSG_CHECKING(whether to enable garbage collector friendliness)
+if test "x$enable_gc_friendly" = "xyes"; then
+  AC_DEFINE(ENABLE_GC_FRIENDLY, 1)
+  AC_SUBST(ENABLE_GC_FRIENDLY)
+  AC_MSG_RESULT(yes)
+else
+  AC_MSG_RESULT(no)
+fi
+
 if test "x$enable_debug" = "xyes"; then
   test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
   GLIB_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
 if test "x$enable_debug" = "xyes"; then
   test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
   GLIB_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
@@ -211,6 +221,8 @@ AC_HEADER_STDC
 # Checks for library functions.
 AC_FUNC_VPRINTF
 
 # Checks for library functions.
 AC_FUNC_VPRINTF
 
+AC_FUNC_ALLOCA
+
 AC_CHECK_FUNCS(atexit on_exit)
 
 AC_CHECK_SIZEOF(char)
 AC_CHECK_FUNCS(atexit on_exit)
 
 AC_CHECK_SIZEOF(char)
@@ -295,7 +307,7 @@ esac
 # check for bytesex stuff
 AC_C_BIGENDIAN
 
 # check for bytesex stuff
 AC_C_BIGENDIAN
 
-# xhexk for header files
+# check for header files
 AC_CHECK_HEADERS(float.h, AC_DEFINE(HAVE_FLOAT_H))
 AC_CHECK_HEADERS(limits.h, AC_DEFINE(HAVE_LIMITS_H))
 AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
 AC_CHECK_HEADERS(float.h, AC_DEFINE(HAVE_FLOAT_H))
 AC_CHECK_HEADERS(limits.h, AC_DEFINE(HAVE_LIMITS_H))
 AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
@@ -308,11 +320,25 @@ AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
 AC_CHECK_HEADERS(values.h, AC_DEFINE(HAVE_VALUES_H))
 AC_CHECK_HEADERS(stdint.h, AC_DEFINE(HAVE_VALUES_H))
 
 AC_CHECK_HEADERS(values.h, AC_DEFINE(HAVE_VALUES_H))
 AC_CHECK_HEADERS(stdint.h, AC_DEFINE(HAVE_VALUES_H))
 
+AC_MSG_CHECKING(whether make is GNU Make)
+STRIP_BEGIN=
+STRIP_END=
+if $ac_make --version 2>/dev/null | grep '^GNU Make ' >/dev/null ; then
+        STRIP_BEGIN='$(strip $(STRIP_DUMMY)'
+        STRIP_END=')'
+        AC_MSG_RESULT(yes)
+else
+        AC_MSG_RESULT(no)
+fi
+STRIP_DUMMY=
+AC_SUBST(STRIP_DUMMY)
+AC_SUBST(STRIP_BEGIN)
+AC_SUBST(STRIP_END)
+
 # check additional type sizes
 size_includes=["
 #include <stdarg.h>
 #include <stdio.h>
 # check additional type sizes
 size_includes=["
 #include <stdarg.h>
 #include <stdio.h>
-#include <stdlib.h>
 #include <ctype.h>
 #include <string.h>
 "]
 #include <ctype.h>
 #include <string.h>
 "]
@@ -331,7 +357,7 @@ GLIB_SIZEOF([$size_includes], ptrdiff_t, ptrdiff_t)
 GLIB_SIZEOF([$size_includes], intmax_t, intmax_t)
 
 # Check for some functions
 GLIB_SIZEOF([$size_includes], intmax_t, intmax_t)
 
 # Check for some functions
-AC_CHECK_FUNCS(lstat strerror strsignal memmove vsnprintf strcasecmp strncasecmp poll)
+AC_CHECK_FUNCS(lstat strerror strsignal memmove vsnprintf strcasecmp strncasecmp poll getcwd)
 
 # Check if bcopy can be used for overlapping copies, if memmove isn't found.
 # The check is borrowed from the PERL Configure script.
 
 # Check if bcopy can be used for overlapping copies, if memmove isn't found.
 # The check is borrowed from the PERL Configure script.
@@ -374,7 +400,7 @@ fi
 AC_MSG_CHECKING(for sys_siglist)
 AC_TRY_LINK(, [
 extern char *sys_siglist[];
 AC_MSG_CHECKING(for sys_siglist)
 AC_TRY_LINK(, [
 extern char *sys_siglist[];
-strlen (sys_siglist[0]);
+exit (sys_siglist[0]);
 ], glib_ok=yes, glib_ok=no)
 AC_MSG_RESULT($glib_ok)
 if test $glib_ok = no; then
 ], glib_ok=yes, glib_ok=no)
 AC_MSG_RESULT($glib_ok)
 if test $glib_ok = no; then
@@ -424,6 +450,33 @@ AC_CACHE_VAL(glib_cv_sane_realloc,[
 ])
 AC_MSG_RESULT($glib_cv_sane_realloc)
 
 ])
 AC_MSG_RESULT($glib_cv_sane_realloc)
 
+dnl Check for nl_langinfo and CODESET
+
+AC_MSG_CHECKING([for nl_langinfo (CODESET)])
+AC_TRY_COMPILE([#include <langinfo.h>],
+       [char *codeset = nl_langinfo (CODESET);],
+   AC_DEFINE(HAVE_CODESET)
+   have_codeset=yes,
+   have_codeset=no)
+AC_MSG_RESULT($have_codeset)
+
+
+dnl ****************************************
+dnl *** strlcpy/strlcat                  ***
+dnl ****************************************
+# Check for strlcpy
+AC_MSG_CHECKING(for strlcpy/strlcat)
+AC_TRY_LINK([#include <stdlib.h>
+#include <string.h>], [
+char *p = malloc(10);
+(void) strlcpy(p, "hi", 10);
+(void) strlcat(p, "bye", 10);
+], glib_ok=yes, glib_ok=no)
+AC_MSG_RESULT($glib_ok)
+if test $glib_ok = yes; then
+    AC_DEFINE(HAVE_STRLCPY)
+fi
+  
 
 dnl **********************
 dnl *** va_copy checks ***
 
 dnl **********************
 dnl *** va_copy checks ***
@@ -748,13 +801,16 @@ case $have_threads in
                        
                        LIBS="$glib_save_LIBS $add_thread_lib"
                        
                        
                        LIBS="$glib_save_LIBS $add_thread_lib"
                        
-                       AC_MSG_CHECKING(for pthread_create$IN)
+                       AC_MSG_CHECKING(for pthread_create/pthread_join$IN)
                        AC_TRY_RUN([#include <pthread.h> 
                        AC_TRY_RUN([#include <pthread.h> 
-                               void* func(void* data) {}
+                               int check_me = 0;
+                               void* func(void* data) {check_me = 42;}
                                 main()
                                { pthread_t t; 
                                 main()
                                { pthread_t t; 
-                                 exit(pthread_create (&t, $defattr, func, 
-                                               NULL));
+                                 void *ret;
+                                 pthread_create (&t, $defattr, func, NULL);
+                                 pthread_join (t, &ret);
+                                 exit (check_me != 42);
                                }],
                                [AC_MSG_RESULT(yes)
                                G_THREAD_LIBS="$add_thread_lib"
                                }],
                                [AC_MSG_RESULT(yes)
                                G_THREAD_LIBS="$add_thread_lib"
@@ -1040,6 +1096,42 @@ GLIB_SYSDEFS(
        glibconfig-sysdefs.h,
        =)
 
        glibconfig-sysdefs.h,
        =)
 
+dnl **************************
+dnl *** Checks for gtk-doc ***
+dnl **************************
+
+AC_ARG_WITH(html-dir, [  --with-html-dir=PATH path to installed docs ])
+
+if test "x$with_html_dir" = "x" ; then
+  HTML_DIR='${datadir}/gtk-doc/html'
+else
+  HTML_DIR=$with_html_dir
+fi
+
+AC_SUBST(HTML_DIR)
+
+
+AC_CHECK_PROG(GTKDOC, gtkdoc-mkdb, true, false)
+AM_CONDITIONAL(HAVE_GTK_DOC, $GTKDOC)
+AC_SUBST(HAVE_GTK_DOC)
+
+AC_CHECK_PROG(DB2HTML, db2html, true, false)
+AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
+
+dnl Let people disable the gtk-doc stuff.
+AC_ARG_ENABLE(gtk-doc, [  --enable-gtk-doc  Use gtk-doc to build documentation [default=auto]], enable_gtk_doc="$enableval", enable_gtk_doc=auto)
+
+if test x$enable_gtk_doc = xauto ; then
+  if test x$GTKDOC = xtrue ; then
+    enable_gtk_doc=yes
+  else
+    enable_gtk_doc=no 
+  fi
+fi
+
+dnl NOTE: We need to use a separate automake conditional for this
+dnl       to make this work with the tarballs.
+AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
 
 dnl ******************************
 dnl *** output the whole stuff ***
 
 dnl ******************************
 dnl *** output the whole stuff ***
@@ -1074,10 +1166,6 @@ case "$CONFIG_OTHER" in
 #ifndef GLIBCONFIG_H
 #define GLIBCONFIG_H
 
 #ifndef GLIBCONFIG_H
 #define GLIBCONFIG_H
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
 _______EOF
 
        if test x$glib_limits_h = xyes; then
 _______EOF
 
        if test x$glib_limits_h = xyes; then
@@ -1092,12 +1180,19 @@ _______EOF
        if test x$g_mutex_header_file != x; then
          echo '#include <'"$g_mutex_header_file"'>' >> $outfile
        fi
        if test x$g_mutex_header_file != x; then
          echo '#include <'"$g_mutex_header_file"'>' >> $outfile
        fi
+       if test "$glib_header_alloca_h" = "yes"; then
+         echo  '#include <alloca.h>' >> $outfile
+       fi
        if test x$glib_sys_poll_h = xyes; then
          echo '#define GLIB_HAVE_SYS_POLL_H' >> $outfile
        fi
 
        cat >> $outfile <<_______EOF
 
        if test x$glib_sys_poll_h = xyes; then
          echo '#define GLIB_HAVE_SYS_POLL_H' >> $outfile
        fi
 
        cat >> $outfile <<_______EOF
 
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
 #define G_MINFLOAT     $glib_mf
 #define G_MAXFLOAT     $glib_Mf
 #define G_MINDOUBLE    $glib_md
 #define G_MINFLOAT     $glib_mf
 #define G_MAXFLOAT     $glib_Mf
 #define G_MINDOUBLE    $glib_md
@@ -1152,9 +1247,23 @@ ${glib_extension}typedef unsigned $gint64 guint64;
 #define G_GINT64_FORMAT $gint64_format
 #define G_GUINT64_FORMAT $guint64_format
 #define G_GINT64_CONSTANT(val) $gint64_constant
 #define G_GINT64_FORMAT $gint64_format
 #define G_GUINT64_FORMAT $guint64_format
 #define G_GINT64_CONSTANT(val) $gint64_constant
+
 _______EOF
        fi
 
 _______EOF
        fi
 
+       case x$glib_size_t in
+        x2) echo "typedef gint16  gssize;" >> $outfile
+            echo "typedef guint16 gsize;"  >> $outfile
+            ;;
+        x4) echo "typedef gint32  gssize;" >> $outfile
+            echo "typedef guint32 gsize;"  >> $outfile
+            ;;
+        x8) echo "typedef gint64  gssize;" >> $outfile
+            echo "typedef guint64 gsize;"  >> $outfile
+            ;;
+       *)  echo "#error size of size_t is unknown" >> $outfile
+            ;;
+        esac
 
        if test -z "$glib_unknown_void_p"; then
          cat >>$outfile <<_______EOF
 
        if test -z "$glib_unknown_void_p"; then
          cat >>$outfile <<_______EOF
@@ -1287,6 +1396,8 @@ esac
 # on variable expansion in case labels.  Look at the generated config.status
 # for a hint.
 
 # on variable expansion in case labels.  Look at the generated config.status
 # for a hint.
 
+glib_header_alloca_h="$ac_cv_header_alloca_h"
+
 case xyes in
 x$ac_cv_header_float_h)
   glib_float_h=yes
 case xyes in
 x$ac_cv_header_float_h)
   glib_float_h=yes
@@ -1371,6 +1482,7 @@ $ac_cv_sizeof_long_long)
   gint64_constant='(G_GNUC_EXTENSION (val##LL))'
   ;;
 esac
   gint64_constant='(G_GNUC_EXTENSION (val##LL))'
   ;;
 esac
+glib_size_t=$glib_cv_sizeof_size_t
 
 gintbits=`expr $ac_cv_sizeof_int \* 8`
 glongbits=`expr $ac_cv_sizeof_long \* 8`
 
 gintbits=`expr $ac_cv_sizeof_int \* 8`
 glongbits=`expr $ac_cv_sizeof_long \* 8`
@@ -1477,7 +1589,7 @@ case $host in
   *-*-cygwin*)
     glib_os="#define G_OS_UNIX
 #define G_WITH_CYGWIN"
   *-*-cygwin*)
     glib_os="#define G_OS_UNIX
 #define G_WITH_CYGWIN"
-    ;;
+v    ;;
   *)
     glib_os="#define G_OS_UNIX"
     ;;
   *)
     glib_os="#define G_OS_UNIX"
     ;;
@@ -1485,17 +1597,27 @@ esac
 ])
 
 AC_OUTPUT([
 ])
 
 AC_OUTPUT([
+glib-2.0.pc
+gmodule-2.0.pc
+gthread-2.0.pc
+gobject-2.0.pc
 glib.spec
 Makefile
 glib.spec
 Makefile
-glib-config
+glib-config-2.0
+build/Makefile
+build/win32/Makefile
 gmodule/gmoduleconf.h
 gmodule/Makefile
 gmodule/gmoduleconf.h
 gmodule/Makefile
+gobject/Makefile
 gthread/Makefile
 docs/Makefile
 docs/glib-config.1
 gthread/Makefile
 docs/Makefile
 docs/glib-config.1
+docs/reference/Makefile
+docs/reference/glib/Makefile
+docs/reference/gobject/Makefile
 tests/Makefile
 ],[case "$CONFIG_FILES" in
 tests/Makefile
 ],[case "$CONFIG_FILES" in
-*glib-config*)chmod +x glib-config;;
+*glib-config-2.0*)chmod +x glib-config-2.0;;
 esac
 echo ""
 echo " *** IMPORTANT *** "
 esac
 echo ""
 echo " *** IMPORTANT *** "
@@ -1507,12 +1629,6 @@ echo ""
 echo "  * You should not base stable software on this version of GLib."
 echo "  * GNOME developers should use a stable version of GLib."
 echo ""
 echo "  * You should not base stable software on this version of GLib."
 echo "  * GNOME developers should use a stable version of GLib."
 echo ""
-echo "Distributions should *NOT* ship a development package of this GLib."
-echo "Do not ship the headers and do not ship the glib-config script.  These"
-echo "things will conflict with the stable 1.2 series.  Package only enough"
-echo "to satisfy the requirements of some other package.  Package only the"
-echo "library itself.  Doing otherwise will do no favors to the community."
-echo ""
 echo "If you install this version of GLib, we strongly recommend that you"
 echo "install it in a different prefix than GLib 1.2.  Use --prefix as an"
 echo "argument to configure to do this.  Otherwise, you will not be able to"
 echo "If you install this version of GLib, we strongly recommend that you"
 echo "install it in a different prefix than GLib 1.2.  Use --prefix as an"
 echo "argument to configure to do this.  Otherwise, you will not be able to"