Make --with-threads=none mean, that we want thread support, but no default
authorSebastian Wilhelmi <wilhelmi@ira.uka.de>
Wed, 31 Oct 2001 15:40:52 +0000 (15:40 +0000)
committerSebastian Wilhelmi <wilhelmi@src.gnome.org>
Wed, 31 Oct 2001 15:40:52 +0000 (15:40 +0000)
2001-10-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

* configure.in: Make --with-threads=none mean, that we want thread
support, but no default thread implementation. This also was the
original intention, but disapeared around 1998... So it doesn't
seem to be the most requested feature, but we went far to make it
possible in the code, so I resurrected this feature.

* INSTALL.in: Describe the --enable-gc-friendly, --disable-threads
and --with-threads options of configure.

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-12
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
INSTALL.in
configure.in

index 962fc99..b6a6db3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2001-10-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
 
+       * configure.in: Make --with-threads=none mean, that we want thread
+       support, but no default thread implementation. This also was the
+       original intention, but disapeared around 1998... So it doesn't
+       seem to be the most requested feature, but we went far to make it
+       possible in the code, so I resurrected this feature.
+
+       * INSTALL.in: Describe the --enable-gc-friendly, --disable-threads
+       and --with-threads options of configure.
+
        * glib/gmain.c (g_main_context_acquire, g_main_context_release,
        g_main_context_wait): Use the right conditional (G_THREADS_ENABLED
        instead of G_THREAD_ENABLED). Also remove wrong
index 962fc99..b6a6db3 100644 (file)
@@ -1,5 +1,14 @@
 2001-10-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
 
+       * configure.in: Make --with-threads=none mean, that we want thread
+       support, but no default thread implementation. This also was the
+       original intention, but disapeared around 1998... So it doesn't
+       seem to be the most requested feature, but we went far to make it
+       possible in the code, so I resurrected this feature.
+
+       * INSTALL.in: Describe the --enable-gc-friendly, --disable-threads
+       and --with-threads options of configure.
+
        * glib/gmain.c (g_main_context_acquire, g_main_context_release,
        g_main_context_wait): Use the right conditional (G_THREADS_ENABLED
        instead of G_THREAD_ENABLED). Also remove wrong
index 962fc99..b6a6db3 100644 (file)
@@ -1,5 +1,14 @@
 2001-10-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
 
+       * configure.in: Make --with-threads=none mean, that we want thread
+       support, but no default thread implementation. This also was the
+       original intention, but disapeared around 1998... So it doesn't
+       seem to be the most requested feature, but we went far to make it
+       possible in the code, so I resurrected this feature.
+
+       * INSTALL.in: Describe the --enable-gc-friendly, --disable-threads
+       and --with-threads options of configure.
+
        * glib/gmain.c (g_main_context_acquire, g_main_context_release,
        g_main_context_wait): Use the right conditional (G_THREADS_ENABLED
        instead of G_THREAD_ENABLED). Also remove wrong
index 962fc99..b6a6db3 100644 (file)
@@ -1,5 +1,14 @@
 2001-10-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
 
+       * configure.in: Make --with-threads=none mean, that we want thread
+       support, but no default thread implementation. This also was the
+       original intention, but disapeared around 1998... So it doesn't
+       seem to be the most requested feature, but we went far to make it
+       possible in the code, so I resurrected this feature.
+
+       * INSTALL.in: Describe the --enable-gc-friendly, --disable-threads
+       and --with-threads options of configure.
+
        * glib/gmain.c (g_main_context_acquire, g_main_context_release,
        g_main_context_wait): Use the right conditional (G_THREADS_ENABLED
        instead of G_THREAD_ENABLED). Also remove wrong
index 962fc99..b6a6db3 100644 (file)
@@ -1,5 +1,14 @@
 2001-10-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
 
+       * configure.in: Make --with-threads=none mean, that we want thread
+       support, but no default thread implementation. This also was the
+       original intention, but disapeared around 1998... So it doesn't
+       seem to be the most requested feature, but we went far to make it
+       possible in the code, so I resurrected this feature.
+
+       * INSTALL.in: Describe the --enable-gc-friendly, --disable-threads
+       and --with-threads options of configure.
+
        * glib/gmain.c (g_main_context_acquire, g_main_context_release,
        g_main_context_wait): Use the right conditional (G_THREADS_ENABLED
        instead of G_THREAD_ENABLED). Also remove wrong
index 962fc99..b6a6db3 100644 (file)
@@ -1,5 +1,14 @@
 2001-10-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
 
+       * configure.in: Make --with-threads=none mean, that we want thread
+       support, but no default thread implementation. This also was the
+       original intention, but disapeared around 1998... So it doesn't
+       seem to be the most requested feature, but we went far to make it
+       possible in the code, so I resurrected this feature.
+
+       * INSTALL.in: Describe the --enable-gc-friendly, --disable-threads
+       and --with-threads options of configure.
+
        * glib/gmain.c (g_main_context_acquire, g_main_context_release,
        g_main_context_wait): Use the right conditional (G_THREADS_ENABLED
        instead of G_THREAD_ENABLED). Also remove wrong
index 962fc99..b6a6db3 100644 (file)
@@ -1,5 +1,14 @@
 2001-10-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
 
+       * configure.in: Make --with-threads=none mean, that we want thread
+       support, but no default thread implementation. This also was the
+       original intention, but disapeared around 1998... So it doesn't
+       seem to be the most requested feature, but we went far to make it
+       possible in the code, so I resurrected this feature.
+
+       * INSTALL.in: Describe the --enable-gc-friendly, --disable-threads
+       and --with-threads options of configure.
+
        * glib/gmain.c (g_main_context_acquire, g_main_context_release,
        g_main_context_wait): Use the right conditional (G_THREADS_ENABLED
        instead of G_THREAD_ENABLED). Also remove wrong
index 962fc99..b6a6db3 100644 (file)
@@ -1,5 +1,14 @@
 2001-10-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
 
+       * configure.in: Make --with-threads=none mean, that we want thread
+       support, but no default thread implementation. This also was the
+       original intention, but disapeared around 1998... So it doesn't
+       seem to be the most requested feature, but we went far to make it
+       possible in the code, so I resurrected this feature.
+
+       * INSTALL.in: Describe the --enable-gc-friendly, --disable-threads
+       and --with-threads options of configure.
+
        * glib/gmain.c (g_main_context_acquire, g_main_context_release,
        g_main_context_wait): Use the right conditional (G_THREADS_ENABLED
        instead of G_THREAD_ENABLED). Also remove wrong
index 9a535fd..58067f7 100644 (file)
@@ -46,6 +46,34 @@ A few of the more important ones:
 *  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                            [ Defaults to the value given to --prefix ]
 
+*  --enable-gc-friendly    When enabled all memory freed by the application,
+                           but retained by GLib for performance reasons  
+                           is set to zero, thus making deployed garbage
+                           collection or memory profiling tools detect 
+                           unlinked memory correctly. This will make GLib 
+                           slightly slower.
+                           [ Disabled by default ]
+
+* --disable-threads        Do not compile GLib to be multi thread safe. GLib
+                           will be slightly faster then. This is however not
+                           recommended, as many programs rely on GLib being 
+                           multi thread safe.
+                           [ Enabled by default ]
+
+* --with-threads=[none/posix/dce/solaris/win32] Specify a thread 
+                           implementation to use. 
+                           * 'posix' and 'dce' can be used interchangeable 
+                             to mean the different versions of posix 
+                             threads. configure tries to find out, which 
+                             one is installed. 
+                           * 'solaris' uses the native Solaris thread
+                             implementation. 
+                           * 'none' means that GLib will be thread safe, 
+                             but does not have a default thread 
+                             implementation. This has to be supplied to 
+                             g_thread_init() by the programmer. 
+                           [ Determined by configure by default ]
+
 Options can be given to the compiler and linker by setting
 environment variables before running configure. A few of the more
 important ones:
index 96f01c5..9ec45fe 100644 (file)
@@ -1021,9 +1021,6 @@ AC_ARG_WITH(threads, [  --with-threads=[none/posix/dce/solaris/win32] specify a
 if test "x$enable_threads" = "xno"; then
         want_threads=no
 fi
-if test "x$want_threads" = "xnone"; then
-       want_threads=no
-fi
 
 dnl error and warning message
 dnl *************************
@@ -1065,7 +1062,10 @@ POSIX_NO_PRIORITIES="I can not find the minimal and maximal priorities for
 dnl determination of thread implementation
 dnl ***************************************
 
-have_threads=none
+# have_threads=no   means no thread support
+# have_threads=none means no default thread implementation
+
+have_threads=no
 if test "x$want_threads" = xyes || test "x$want_threads" = xsolaris; then
                case $host in
                        *-*-solaris*)
@@ -1080,12 +1080,12 @@ if test "x$want_threads" = xyes || test "x$want_threads" = xposix \
        GTHREAD_COMPILE_IMPL_DEFINES="-D_POSIX4_DRAFT_SOURCE -D_POSIX4A_DRAFT10_SOURCE -U_OSF_SOURCE"
        glib_save_CPPFLAGS="$CPPFLAGS"
        CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
-        if test "x$have_threads" = xnone; then
+        if test "x$have_threads" = xno; then
                 AC_TRY_COMPILE([#include <pthread.h>],
                        [pthread_attr_t attr; pthread_attr_init(&attr);],
                        have_threads=posix)
         fi
-        if test "x$have_threads" = xnone; then
+        if test "x$have_threads" = xno; then
                 AC_TRY_COMPILE([#include <pthread.h>],
                        [pthread_attr_t attr; pthread_attr_create(&attr);],
                        have_threads=posix)
@@ -1099,10 +1099,13 @@ if test "x$want_threads" = xyes || test "x$want_threads" = xwin32; then
                ;;
        esac
 fi
+if test "x$want_threads" = xnone; then
+       have_threads=none
+fi
 
 AC_MSG_CHECKING(for thread implementation)
 
-if test "x$have_threads" = xnone && test "x$want_threads" != xno; then
+if test "x$have_threads" = xno && test "x$want_threads" != xno; then
        AC_MSG_RESULT(none available)
         AC_MSG_WARN($THREAD_NO_IMPLEMENTATION)
 else
@@ -1117,7 +1120,7 @@ G_THREAD_LIBS=
 G_THREAD_LIBS_EXTRA=
 G_THREAD_CFLAGS=
 
-if test x"$have_threads" != xnone; then
+if test x"$have_threads" != xno; then
 
     G_THREAD_CFLAGS="-D_REENTRANT" # good default guess
 
@@ -1305,7 +1308,7 @@ AC_MSG_RESULT($G_THREAD_LIBS)
 dnl check for mt safe function variants and some posix functions
 dnl ************************************************************
 
-if test x"$have_threads" != xnone; then
+if test x"$have_threads" != xno; then
        glib_save_LIBS="$LIBS"
        # we are not doing the following for now, as this might require glib 
        # to always be linked with the thread libs on some platforms. 
@@ -1425,7 +1428,7 @@ if test x"$have_threads" != xnone; then
        elif test x"$have_threads" = xwin32; then
                # It's a pointer to a private struct
                GLIB_SIZEOF(,struct _GThreadData *, system_thread)
-       else # solaris threads
+       elif test x"$have_threads" = xsolaris; then 
                GLIB_SIZEOF([#include <thread.h>], thread_t, system_thread)
        fi
 
@@ -1439,10 +1442,6 @@ if test x"$have_threads" != xnone; then
        if test "$ac_cv_func_localtime_r" != "yes"; then
                AC_MSG_WARN($FUNC_NO_LOCALTIME_R)
        fi
-else 
-       # If no thread implementation exists, we will provide enough
-       # space for a pointer
-       GLIB_SIZEOF(, void*, system_thread)
 fi     
 
 AC_DEFINE_UNQUOTED(G_THREAD_SOURCE,"gthread-$have_threads.c",
@@ -2102,7 +2101,7 @@ esac
 g_have_eilseq=$have_eilseq
 
 case x$have_threads in
-xnone) g_enable_threads_def="#undef";;
+xno)   g_enable_threads_def="#undef";;
 *)     g_enable_threads_def="#define";;
 esac
 
@@ -2110,7 +2109,11 @@ g_threads_impl_def=$g_threads_impl
 
 g_mutex_has_default="$mutex_has_default"
 g_mutex_sizeof="$glib_cv_sizeof_gmutex"
-g_system_thread_sizeof="$glib_cv_sizeof_system_thread"
+if test x"$glib_cv_sizeof_system_thread" != x; then
+  g_system_thread_sizeof="$glib_cv_sizeof_system_thread"
+else
+  g_system_thread_sizeof="$ac_cv_sizeof_void_p"
+fi
 g_mutex_contents="$glib_cv_byte_contents_gmutex"
 
 g_module_suffix="$glib_gmodule_suffix"