Commit a6ab9d0a authored by Jeff Garzik's avatar Jeff Garzik
Browse files

merge from HEAD

parent 975c085b
......@@ -23,3 +23,5 @@ stamp-gc-h
testgdate
testgdateparser
glibconfig-sysdefs.h
glib.spec
stamp-h.in
Original Authors
----------------
Peter Mattis <petm@xcf.berkeley.edu>
Spencer Kimball <spencer@xcf.berkeley.edu>
Josh MacDonald <jmacd@xcf.berkeley.edu>
Peter Mattis <petm@xcf.berkeley.edu>
Spencer Kimball <spencer@xcf.berkeley.edu>
Josh MacDonald <jmacd@xcf.berkeley.edu>
Please do not mail the original authors asking questions about this
version of GLib.
Other people who made significant
improvements to GLIB (shamelessly
ripped from the ChangeLog, listed
in alphabetical order)
---------------------------------
Raja R Harinath <harinath@cs.umn.edu>
Tim Janik <timj@gtk.org>
Paolo Molaro <lupus@debian.org>
Manish Singh <yosh@gimp.org>
Owen Taylor <otaylor@gtk.org>
Also, thanks to Shawn T. Amundson <amundson@gtk.org>
for doing releases of GLIB.
GLib Team
---------
Shawn T. Amundson <amundson@gimp.org>
Jeff Garzik <jgarzik@pobox.com>
Raja R Harinath <harinath@cs.umn.edu>
Tim Janik <timj@gtk.org>
Elliot Lee <sopwith@redhat.com>
Tor Lillqvist <tml@iki.fi>
Paolo Molaro <lupus@debian.org>
Havoc Pennington <hp@pobox.com>
Manish Singh <yosh@gimp.org>
Owen Taylor <otaylor@gtk.org>
Sebastian Wilhelmi <wilhelmi@ira.uka.de>
There are also many others who have contributed patches and fixes;
we thank them, for helping us in advancing GLIB.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Simple install procedure
========================
% gzip -cd glib-1.1.15.tar.gz | tar xvf - # unpack the sources
% cd glib-1.1.15 # change to the toplevel directory
% gzip -cd glib-1.2.0.tar.gz | tar xvf - # unpack the sources
% cd glib-1.2.0 # change to the toplevel directory
% ./configure # run the `configure' script
% make # build GLIB
[ Become root if necessary ]
......
......@@ -14,7 +14,7 @@ INCLUDES = -DG_LOG_DOMAIN=g_log_domain_glib @GLIB_DEBUG_FLAGS@
EXTRA_DIST = \
glib.m4 \
glib.spec \
glib.spec.in \
acglib.m4 \
sanity_check \
README.win32 \
......@@ -100,3 +100,6 @@ sanity:
snapshot:
$(MAKE) dist distdir=$(PACKAGE)`date +"%y%m%d"`
dist-hook:
cp glib.spec $(distdir)
\ No newline at end of file
What's new in GLib 1.2.0 (since GLib 1.0.x):
* GLib is distributed seperatedly from Gtk+
* Win32 Portability
* Threading support
* GModule mechanism (implemented in an extra library) which wraps dynamic
object code loading facilities in a portable manner
* GIOChannel structure to encapsulate the IPC mechanism
* GQuarks and datasets
* GRelations for n-way mapping of certain data
* An n-way tree implementation
* GDate functionality for calendar date manipulations
* GAllocator type and assocated functions
* Added generic callback maintenance functions (ghook)
* Generic functions for TAB completions
* Endian defines (G_*_ENDIAN)
* g_log() mechanism for logging of messages at different log levels
* Generic main-loop mechanism
* New glib-config helper script
* Many more API extensions
Overview of Changes in GLib 1.1.16:
* Allocate smaller pools of memory for glists, gslists, gnodes
* Bug Fixes
Overview of Changes in GLib 1.1.15:
* HPUX 11 thread system detection should now work
......
General Information
===================
This is GLib version 1.1.15. GLib, is a library which includes support
This is GLib version 1.2.0. GLib is a library which includes support
routines for C such as lists, trees, hashes, memory allocation, and
many other things.
Versions of GLib prior to 1.1.0 are distributed with GTK+ versions prior
to 1.1.0.
The official ftp site is:
ftp://ftp.gtk.org/pub/gtk
......
For more information about the port or GLib, GTk+ and the GIMP to
native Windows, see http://www.iki.fi/tml/gimp/win32/ . ("Native"
means that we use the Win32 API only, and not any POSIX emulation
layer except that provided by the Microsoft runtime C library, and the
pthreads emulation library.)
As for now, only the Microsoft compiler and tools are really
supported. Before compiling, check the BIN definition in
makefile.msc. Compile with `nmake -f makefile.msc`. Install with
`nmake -f makefile.msc install`. Cygwin (without cygwin runtime,
i.e. "mingw32"), and maybe LCC-Win32 support will be added later.
When using the cygwin compiler and tools *with* the cygwin runtime the
native Windows, and pre-built binary packages, see
http://www.iki.fi/tml/gimp/win32/ . "Native" means that we use the
Win32 API only, and not any POSIX emulation layer except that provided
by the Microsoft runtime C library. Additionally the pthreads
emulation library is used.
As for now, to build GLib on Win32, you need the Microsoft compiler
and tools. Both the compiler from MSVC 5.0 and MSVC 6.0 have been used
successfully.
Before building you must get the pthreads library for Windows from
http://sourceware.cygnus.com/pthreads-win32/. Edit the location of the
pthreads library and include files in makefile.msc. Also edit the BIN
definition in makefile.msc.
Build with `nmake -f makefile.msc`. Install with `nmake -f
makefile.msc install`.
Support for building using the cygwin tools (without depending on the
cygwin runtime, i.e. "mingw32"), and maybe LCC-Win32 might be added
later. When using the cygwin tools *with* the cygwin runtime the
normal Unix configuration method should work as if on Unix (knock on
wood).
With a little work, it might be possible to use the ./configure
mechanism also with a "mingw32" configuration. I.e. building GLib for
Win32 would use the cygwin tools (and dll), but the produced libraries
would not depend on the cygwin runtime being present.
Win32 would use the cygwin tools (and runtime), but the produced
libraries would not depend on the cygwin runtime being present.
The following preprocessor macros are used for conditional compilation
related to Win32:
- WIN32 is defined when compiling for the Win32 platform, regardless
if using the X11 or Win32 GUI API (of course, in the case of GLib, this
dimension isn't significant), regardless whether using a more
or less complete Unix emulation runtime layer (like Cygwin) or not.
if using the X11 or Win32 windowing API (in the case of GLib, this
dimension isn't significant), regardless whether using a more or
less complete POSIX emulation runtime layer (like Cygwin) or not.
- NATIVE_WIN32 is defined when compiling for Win32, *and* without
any Unix emulation, other that to the extent provided by the
any POSIX emulation, other that to the extent provided by the
(Microsoft) C library, or the pthreads-win32 library. For instance,
pathnames use the native Windows syntax.
......@@ -41,6 +50,5 @@ also, and in that case _MSC_VER wouldn't be defined.
Some of the usage of these macros is probably a bit mixed up, and will
have to be straightened out when actually trying other combinations.
The thread support uses the pthreads for Win32 package available from
http://sourceware.cygnus.com/pthreads-win32/, which isn't ready yet,
and thus really should not be relied upon.
The pthreads for Win32 package that the thread support uses isn't
released yet, and thus threads really should not be relied upon.
......@@ -46,9 +46,12 @@
#undef HAVE_BROKEN_WCTYPE
#undef HAVE_DOPRNT
#undef HAVE_FLOAT_H
#undef HAVE_GETPWUID_R
#undef HAVE_GETPWUID_R_POSIX
#undef HAVE_LIMITS_H
#undef HAVE_LONG_DOUBLE
#undef HAVE_POLL
#undef HAVE_PTHREAD_GETSPECIFIC_POSIX
#undef HAVE_PWD_H
#undef HAVE_SYS_PARAM_H
#undef HAVE_SYS_POLL_H
......@@ -92,7 +95,6 @@
#undef G_THREAD_SOURCE
#undef HAVE_GETPWUID_R_POSIX
/* #undef PACKAGE */
/* #undef VERSION */
......
......@@ -55,13 +55,14 @@
#define G_HAVE___INLINE 1
#define GLIB_MAJOR_VERSION 1
#define GLIB_MINOR_VERSION 1
#define GLIB_MICRO_VERSION 15
#define GLIB_MINOR_VERSION 2
#define GLIB_MICRO_VERSION 0
#define GLIB_INTERFACE_AGE 0
#define GLIB_BINARY_AGE 0
#define G_THREAD_SOURCE "gthread-posix.c"
#define G_THREADS_IMPL_POSIX
#define HAVE_PTHREAD_GETSPECIFIC_POSIX 1
/* The number of bytes in a char. */
#define SIZEOF_CHAR 1
......
......@@ -15,6 +15,10 @@ cflags_set=${CFLAGS+set}
# we rewrite this file
rm -f glibconfig-sysdefs.h
dnl we 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
#
# The following version number definitions apply to GLib and GModule
# as a whole, so if changes occoured in either of them, they are both
# treated with the same interface and binary age.
......@@ -28,11 +32,14 @@ rm -f glibconfig-sysdefs.h
# set GLIB_BINARY_AGE and GLIB_INTERFACE_AGE to 0.
#
GLIB_MAJOR_VERSION=1
GLIB_MINOR_VERSION=1
GLIB_MICRO_VERSION=15
GLIB_INTERFACE_AGE=2
GLIB_BINARY_AGE=2
GLIB_MINOR_VERSION=3
GLIB_MICRO_VERSION=0
GLIB_INTERFACE_AGE=0
GLIB_BINARY_AGE=0
GLIB_VERSION=$GLIB_MAJOR_VERSION.$GLIB_MINOR_VERSION.$GLIB_MICRO_VERSION
dnl
AC_DIVERT_POP()dnl
AC_SUBST(GLIB_VERSION)
# libtool versioning
......@@ -67,7 +74,18 @@ AM_MAINTAINER_MODE
AC_CANONICAL_HOST
AC_ARG_ENABLE(debug, [ --enable-debug=[no/minimum/yes] turn on debugging [default=minimum]],,enable_debug=minimum)
dnl figure debugging default, prior to $ac_help setup
dnl
AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
if test `expr $GLIB_MINOR_VERSION \% 2` = 1 ; then
debug_default=yes
else
debug_default=minimum
fi
AC_DIVERT_POP()dnl
dnl declare --enable-* args and collect ac_help strings
AC_ARG_ENABLE(debug, [ --enable-debug=[no/minimum/yes] turn on debugging [default=$debug_default]],,enable_debug=$debug_default)
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(ansi, [ --enable-ansi turn on strict ansi [default=no]],
......@@ -447,7 +465,7 @@ dnl *** g_module checks ***
dnl ***********************
G_MODULE_LIBS=
G_MODULE_LDFLAGS=
G_MODULE_IMPL=
dnl G_MODULE_IMPL= don't reset, so cmd-line can override
G_MODULE_NEED_USCORE=0
G_MODULE_HAVE_DLERROR=0
dnl *** dlopen() and dlsym() in system libraries
......@@ -579,11 +597,13 @@ LIBS_NOT_FOUND_1="I can't find the libraries for the thread implementation
"
LIBS_NOT_FOUND_2=". Please choose another thread implementation or
provide information on your thread implementation."
provide information on your thread implementation.
You can also run 'configure --disable-threads'
to compile without thread support."
FUNC_NO_GETPWUID_R="the 'g_get_(user_name|real_name|home_dir|tmp_dir)'
functions will not be MT-safe during their first call because
there is no 'getpwuid_r' on your system."
there is no working 'getpwuid_r' on your system."
FUNC_NO_LOCALTIME_R="the 'g_date_set_time' function will not be MT-safe
because there is no 'localtime_r' on your system."
......@@ -739,7 +759,24 @@ if test x"$have_threads" != xnone; then
CFLAGS="$CFLAGS $G_THREAD_CFLAGS"
AC_CHECK_FUNCS(localtime_r rand_r)
if test "$ac_cv_header_pwd_h" = "yes"; then
AC_CHECK_FUNCS(getpwuid_r)
AC_MSG_CHECKING([for getpwuid_r])
AC_CACHE_VAL(ac_cv_func_getpwuid_r,
[AC_TRY_RUN([#include <errno.h>
int main () { char buffer[10000], *pointer;
char getpwuid_r (long, void*, void*,
int, void*);
errno = 0;
getpwuid_r (0, &buffer, &buffer,
sizeof (buffer), &pointer);
return errno == ENOSYS;}],
[ac_cv_func_getpwuid_r=yes],
[ac_cv_func_getpwuid_r=no])])
if test "$ac_cv_func_getpwuid_r" = yes; then
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_GETPWUID_R)
else
AC_MSG_RESULT(no)
fi
if test "$ac_cv_func_getpwuid_r" = "yes"; then
AC_MSG_CHECKING(whether getpwuid_r is posix like)
# getpwuid_r(0, NULL, NULL, 0) is the signature on
......@@ -753,6 +790,15 @@ if test x"$have_threads" != xnone; then
AC_DEFINE(HAVE_GETPWUID_R_POSIX)])
fi
fi
if test x"$have_threads" = xposix; then
AC_MSG_CHECKING(whether pthread_getspecific is posix like)
# PCThreads has pthread_getspecific(pthread_key_t, void **);
AC_TRY_COMPILE([#include <pthread.h>],
[pthread_getspecific(0,NULL);],
[AC_MSG_RESULT(no)],
[AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_PTHREAD_GETSPECIFIC_POSIX)])
fi
LIBS="$glib_save_LIBS"
CFLAGS="$glib_save_CFLAGS"
fi
......@@ -957,8 +1003,8 @@ struct _GStaticMutex
};
#define G_STATIC_MUTEX_INIT { NULL, { { $g_mutex_contents} } }
#define g_static_mutex_get_mutex(mutex) \
(g_thread_use_default_impl ? ((GMutex*) &(mutex).aligned_pad_u) : \
g_static_mutex_get_mutex_impl (&(mutex).runtime_mutex))
(g_thread_use_default_impl ? ((GMutex*) &((mutex)->aligned_pad_u)) : \
g_static_mutex_get_mutex_impl (&((mutex)->runtime_mutex)))
_______EOF
else
cat >>$outfile <<_______EOF
......@@ -966,7 +1012,7 @@ $g_enable_threads_def G_THREADS_ENABLED
#define G_THREADS_IMPL_$g_threads_impl_def
typedef struct _GMutex* GStaticMutex;
#define G_STATIC_MUTEX_INIT NULL
#define g_static_mutex_get_mutex(mutex) (g_static_mutex_get_mutex_impl (&(mutex)))
#define g_static_mutex_get_mutex(mutex) (g_static_mutex_get_mutex_impl (mutex))
_______EOF
fi
......@@ -1245,6 +1291,7 @@ g_mutex_contents="$glib_cv_byte_contents_gmutex"
])
AC_OUTPUT([
glib.spec
Makefile
glib-config
gmodule/gmoduleconf.h
......
.TH GLIB 1 "16 December 1998" Version 1.1.15
.TH GLIB 1 "16 December 1998" Version 1.2.0
.SH NAME
glib-config - script to get information about the installed version of GLib
.SH SYNOPSIS
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment