2001-09-26 Tor Lillqvist <tml@iki.fi>
* configure.in: Retract my change earlier today. Don't preset
autoconf variables in a try to match both mingw and MSVC. Instead,
he who packages a prebuilt GLib developer distribution for Win32
runs configure twice: once for mingw, once for MSVC, and then uses
diff -D on the glibconfig.h files to generate a suitably ifdeffed
glibconfig.h for distribution that suits both compilers. (Ditto
for config.h, although that file wouldn't be distributed in a
developer package, but in a source package for Win32 users who
want to build GLib but can't use configure.)
* glibconfig.h.win32.in
* config.h.win32.in: Generated by using diff -D as described above.
* tests/makefile.mingw.in (.c.exe): Correct name of gthread (import)
library.
gthread:
2001-09-26 Tor Lillqvist <tml@iki.fi>
* makefile.mingw.in: Fix couple of typos.
* gthread.def: Add g_thread_init_with_errorcheck_mutexes.
2001-09-25 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread-impl.c: Corrected the array size (cough, cough). Pointed
out by gpablo@intersystems.com.ar. Fixes#61065.
2001-09-25 Tor Lillqvist <tml@iki.fi>
* configure.in: More Win32 automake macros. For .def files:
GLIB_DEF, GMODULE_DEF, GOBJECT_DEF and GTHREAD_DEF. For .exp
files: TESTGMODULE_EXP (for programs that need to export symbols,
just testgmodule here). A new conditional, MS_LIB_AVAILABLE to
test whether the Microsoft librarian ("ar") is available to build
MS import libraries.
* glib/Makefile.am
* gmodule/Makefile.am: Use above. New rule to build MS import
library.
* glib/makefile.msc.in
* tests/makefile.msc.in
* tests/makefile.mingw.in: Use same DLL and import library names as
libtool.
gmodule:
2001-09-25 Tor Lillqvist <tml@iki.fi>
* makefile.mingw.in: Fix missing end @ in @LT_CURRENT@.
* makefile.msc.in: Use same DLL and import library names as
libtool.
gobject:
2001-09-25 Tor Lillqvist <tml@iki.fi>
* Makefile.am: Use new macros for .def file, and check for
MS_LIB_AVAILABLE, new rule to build MS import library.
* makefile.msc.in: Use same DLL and import library names as
libtool.
gthread:
2001-09-25 Tor Lillqvist <tml@iki.fi>
* Makefile.am: Use new macros for .def file, and check for
MS_LIB_AVAILABLE, new rule to build MS import library.
* makefile.msc.in: Use same DLL and import library names as
libtool.
2001-09-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/gthread.h (GThreadFunctions): Add thread_equal function to
allow for platform defined function to compare two threads.
* glib/gthread.c: Use g_thread_functions_for_glib_use.thread_equal
when non-NULL instead of ==.
* gthread/gthread-posix.c: Add g_thread_equal_posix_impl and
add to the function vector g_thread_functions_for_glib_use_default.
* gthread/gthread-solaris.c, gthread/gthread-win32.c: Add NULL
as equal function, as on those two platforms you don't need an
equal function.
2001-09-17 Tor Lillqvist <tml@iki.fi>
* configure.in: Add variable for LT_CURRENT minus LT_AGE (the
suffix used by libtool on Win32 for DLLs). Set variables for the
compiled resource files on Windows. Handle the native Win32
gthread stuff.
* glib/Makefile.am
* gmodule/Makefile.am
* gobject/Makefile.am: (Win32) Add minor hacks to link in the object
file produced from the resource file. Use the lt-compile-resource
script from the build module. The non-hack way would be to teach
libtool, autoconf and automake about .rc files (which are a kind
of source code, after all, that gets compiled to object
files). But then there would be problems for those who wouldn't have
bleeding edge auto* and libtool.
* glib/glib.def
* gobject/gobject.def: Updates.
* glib/glib.rc.in
* gmodule/gmodule.rc.in
* gobject/gobject.rc.in
* gthread/gthread.rc.in: Update InternalName and OriginalFilename to
match libtool's naming convention for DLLs.
* glib/gutils.c: Ditto when constructing the DLL name in the
definition for GLIB_LOCALE_DIR.
* glib/makefile.mingw.in
* gmodule/makefile.mingw.in
* gobject/makefile.mingw.in
* gthread/makefile.mingw.in: Update import library names.
2001-09-04 Tor Lillqvist <tml@iki.fi>
* README.win32: Update. Don't mention pthreads.
* build-dll: Remove, moved to the build module.
* glibconfig.h.win32.in: Don't mention pthreds here, either.
* glib/gstrfuncs.c: Mark the correct variable for export from DLL.
* glib/giowin32.c (g_io_win32_msg_create_watch): Owen forgot to
rename the win32_watch_funcs variable here, too.
* */makefile.mingw.in: Don't use version number in import library
name. Use whole version number in DLL name. Use build-dll from the
build module.
2001-08-30 Tor Lillqvist <tml@iki.fi>
After being away for about five months, I'm back working on
this... For now, still using same build setup for Win32. Probably
will change to not including version numbers in the import library
names, though. (But the DLL names would still include them,
possibly even also the micro version number.) That would be more
Unix-like. Also, will have to check out newest mingw tool versions
to see if the build-dll script now can be retired.
* makefile.mingw
* makefile.msc: New files, no need to generate from .in as
they don't contain references to automake variables.
* makefile.mingw.in
* makefile.msc.in: Removed.
* glib.rc.in: Remove
* glib/glib.rc.in: Moved here.
* Makefile.am
* glib/Makefile.am: Corresponding changes.
* glib/glib.def: Fix typo, add new entries.
* glib/gspawn-win32-helper.c: More debugging. Doesn't work
currently (or then it never has on Win2k, which I now use?)
* glib/gstrfuncs.c
* glib/gstrfuncs.h: Mark g_ascii_table for export/import on Win32.
* */makefile.mingw.in: Reflect new location of glib library.
Tue Jun 26 11:43:46 2001 Owen Taylor <otaylor@redhat.com>
* configure.in Makefile.am *.[ch] glib/*.[ch] glib/Makefile.am:
Move glib library into a subdirectory, make all GLib include
files include as <glib/glist.h>
* tests/testglib.c tests/testgdate.c tests/testgdateparser.c
tests/timeloop.c tests/timeloop-basic.c: Move all tests into
the tests/ subdirectory.
2001-05-22 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread-win32.c (g_cond_wait_internal): Also return TRUE for
late arrived signals. Thanks to Steven Brooks
<umbrook0@cs.umanitoba.ca> for pointing out.
2001-05-22 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* config.h.win32.in: Removed POSIX_*. Defined G_THREAD_SOURCE to
"gthread-win32.c".
* glibconfig.h.win32.in: Define G_HAVE_ISO_VARARGS for gcc, don't
know about MSC. Define G_THREADS_IMPL_WIN32 instead of
G_THREADS_IMPL_POSIX and define the right static mutex macros and
types.
* build/win32/make.mingw (CXX): Removed PTHREAD defs. Added
-O2 -Wall to compile flags.
* gthread/gthread-impl.c (g_thread_init): Move the thread
implementation initialization to before assigning
GThreadFuncs, which now is just struct assigned and not
memcpy'ed. Completed check for zero members of GThreadFuncs.
* gthread/makefile.mingw: Don't link to pthread anymore.
* gthread/gthread-win32.c: New file for native thread support for
win32. Thanks to Hans Breuer <hans@breuer.org> to got me
kickstarted.
* gthread/Makefile.am: Also distribute gthread-win32.c.
Fri May 4 04:14:45 2001 Tim Janik <timj@gtk.org>
* gthread-posix.c (g_cond_timed_wait_posix_impl): don't g_assert()
the user specified time, but g_return_val_if_fail() here.
2001-04-03 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread-posix.c: Added special case for priorities on
FreeBSD. Thanks to David Reid <dreid@jetnet.co.uk> for the info.
* gthread-impl.c: Made two macros safe with ().
2001-03-10 Tor Lillqvist <tml@iki.fi>
* */Makefile.am: Use the _LIBADD dependencies on libglib only on
Win32.
* gobject/gobject.def: Add a couple of missing entries.
2001-02-21 Tor Lillqvist <tml@iki.fi>
* Makefile.am: Use libglib-1.3.la from top_builddir. Invoke
libtool with -no-undefined for Win32 and Cygwin.
* gthread-impl.c (g_thread_init): Win32 code snippet used also on
Cygwin.
2001-02-21 Tor Lillqvist <tml@iki.fi>
* gutils.c (g_path_is_absolute): Match also UNC paths on Win32.
* gthread.h: Include gtypes.h to be sure to get GLIB_VAR
definition, remove definition from here.
* gunicode.h: Remove duplicate GLIB_VAR definition from here, too.
* gutils.c: (Win32) Use USERPROFILE as home dir if present. On
Win2k, HOMEDRIVE and HOMEPATH aren't reliable.
* Makefile.am (INCLUDES): Add -DGLIB_COMPILATION.
* makefile.mingw.in: Remove install target, Windows isn't Unix.
* testgdate.c
* testgdateparser.c
* testglib.c: Undefine GLIB_COMPILATION.
* glib.def: Updates.
* .cvsignore
* */.cvsignore: Ignore also .obj, .dll, .lib and .exe files.
2001-02-15 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* acconfig.h, configure.in: Reverted the changes necessary to
enlarge the system thread for G_THREAD_USE_PID_SURROGATE.
* gthread.c: Now implement G_THREAD_USE_PID_SURROGATE in gthread.c
instead of gthread/gthread-posix.c. While the latter has the
advantage, that it is conceptually cleaner, it makes
g_thread_self_posix_impl _very_ slow and that hurts
GStaticRecMutex and other things. So the new version is less
clean, but faster.
* gthread-posix.c: Removed the G_THREAD_USE_PID_SURROGATE
implementation, which is now in gthread.c.
2001-01-30 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread/gthread-impl.c (g_thread_init_with_errorcheck_mutexes): Call
g_thread_impl_init(), as g_thread_init won't call it.
* glib/glib-sections.txt, glib/tmpl/threads.sgml: Added
g_static_mutex_free
* gthread.c, gthread.h: Added g_static_mutex_free to allow using
GStaticMutexes with limited lifetime without leaking.
* configure.in: GStaticMutex doesn't have to provide extra space
for debugging information for G_ERRORCHECK_MUTEXES, as then the
non-default implementation (runtime_mutex) is used anyway.
2001-01-30 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread.h (g_cond_wait): Added debug information for
g_mutex_free calls, if G_ERRORCHECK_MUTEXES is defined.
* gthread/gthread-impl.c (g_mutex_free_errorcheck_impl): Fixed it for
real. Sorry for this mess. It looked like a real obvious fix, so I
didn't check. Bad boy. Added some casts to quiet the compiler.
2001-01-29 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread.c: Broadcast the condition, if there are waiting
readers, as all might read at the same time. Only signal the
writer thread, if there are no more readers.
* gthread/gthread-impl.c (g_mutex_free_errorcheck_impl): Add
new check to errorcheck mutexes to abort, if a locked mutex is freed.
2001-01-25 Tor Lillqvist <tml@iki.fi>
* makefile.mingw.in
* */makefile.mingw.in: Protect the rule to rebuild makefile.mingw
if makefile.mingw.in has changed with a check if said .in file
exists. (This rule is mainly a convenience for yours truly.)
2001-01-03 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread-solaris.c, gthread-posix.c: Made g_thread_min_stack_size
static.
2CVS: ----------------------------------------------------------------------
2000-11-28 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread-impl.c: Revamped errorcheck mutexes and added errorcheck
cond_wait() and cond_timed_wait() funtions. This makes he whole
thing work. Now we only show the location of the locking/unlocking
for -DG_ERRORCHECK_MUTEXES and not the name of the mutex.
* gthread.c: Set the thread data before locking the mutex, because
the locking call might use g_thread_self ().
* gthread.h: Do only show the location of the locking/unlocking
for -DG_ERRORCHECK_MUTEXES and not the name of the mutex. Add the
errorcheck capability for g_cond_wait and g_cond_timed_wait as
well.
2000-11-21 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Add a surrogate for thread priorities using PID
niceness for systems with no thread priorities and different PIDs
for threads of the same process (most notably: Linux). Define
G_THREAD_USE_PID_SURROGATE in that case, as used by
gthread-posix.c. Also make the system thread bigger by
sizeof (long) to contain the thread's PID.
* gfileutils.c: Include stdlib.h for mkstemp prototype.
* gthread.c: Add priority range checks to the affected functions.
* gthreadpool.c: Remove unused variable.
* gthread-impl.c, gthread-posix.c, gthread-solaris.c: Removed
g_thread_map_priority function in favour of the
g_thread_priority_map array. Initialize the array with
PRIORITY_{...}_VALUE, if available and interpolate beetween the
bounds if .._NORMAL_.. and .._HIGH_.. are not available.
* gthread-posix.c: If we should use the PID niceness as a
surrogate for thread priorities (G_THREAD_USE_PID_SURROGATE is
defined), then disable normal priority handling and use PIDs and
setpriority() instead. Depends on the thread to write its PID into
the place after the thread id right after thread creation.
2000-11-15 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Check for the sched.h header and include it on
gthread/gthread-posix.c if available.
* gthread-posix.c: Include <sched.h> if available.
* configure.in: Add -D_POSIX4_DRAFT_SOURCE to
GTHREAD_COMPILE_IMPL_DEFINES. Also add -D_POSIX4A_DRAFT10_SOURCE
to G_THREAD_CFLAGS. Really deploy GTHREAD_COMPILE_IMPL_DEFINES,
when searching for thread libs. Look for sched_* functions in
-lrte as well. All of that is necessary on DG/UX.
* configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADERS in
various places to make it work more reliable, to make it accept
macros instead of functions etc.
* configure.in: Replace some NULL's for checks with 0 to make it
work without stdio.h everywhere.
* configure.in, gutils.c: changed the test for getpwuid_r to first
test for a posix version and then for a non-posix version. No code
change in gutils.c. Again this change deals better with getpwuid_r
being a macro and not a function. Most of the above with kind help
from Tethys <tet@isengard.europe.dg.com>. This fixes Bug #13403.
2000-10-25 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* Makefile.am : Add @GLIB_DEBUG_FLAGS@ to INCLUDES for accessing
-DG_ENABLE_DEBUG as needed in gthread-posix.c.
* gthread-posix.c: Revamped error handling for native thread
function calls. Now EPERM errors are ignored for some commands and
only a warning message is output once (at first occurrence).
gmodule:
* Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).
gobject:
* Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).
(*): Remove traces of @STRIP_{BEGIN,END}@.
gthread:
* Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).
docs/reference:
'make distcheck' fixes.
* glib/Makefile.am (EXTRA_DIST): Add $(DOC_MODULE)-decl.txt.
(html): Run 'gtkdoc-fixxref' in $(srcdir).
(dist-check-gtkdoc): Add missing quote.
(dist-hook): Copy in dependency order, so that none of the
makerules are fired in a tarball build.
* gobject/Makefile.am: Likewise.
toplevel:
Remove need for acconfig.h, and misc. cleanups.
* acglib.m4 (GLIB_SIZEOF): Add 'autoheader' comment to
AC_DEFINE_UNQUOTED.
(GLIB_BYTE_CONTENTS): Likewise.
* configure.in: Add 'autoheader' comments to all AC_DEFINE(...)
and AC_DEFINE_UNQUOTED(...) lines.
Replace AC_MSG_CHECKING/AC_CACHE_VAL with AC_CACHE_CHECK.
(AM_PROG_LIBTOOL): Move after AC_PROG_CC.
* acconfig.h: Empty out.
* Makefile.am (BUILT_EXTRA_DIST): New variable. List 'dist'able
files that are created in the builddir.
(dist-hook): Handle those files.
(libglib_1_3_la_SOURCES): Remove @ALLOCA@. @ALLOCA@ should only
be used in an _LDADD or _LIBADD, since it expands (if necessary)
to 'alloca.o'.
* tests/Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).
2000-10-06 Tor Lillqvist <tml@iki.fi>
* makefile.msc.in: Revamp to be like makefile.mingw.in, make
the MSVC build actually work again.
* gmodule/makefile.msc.in
* gobject/makefile.msc.in
* gthread/makefile.msc.in: New files, like their mingw counterparts.
* gmodule/Makefile.am
* gobject/Makefile.am
* gthread/Makefile.am: Make and distribute them.
* */makefile.mingw.in: Allow override of GLib version number from
the build/win32/module.defs file.
* glib.def: Add new entry point.
Fixes from Hans Breuer:
* glib.h (struct DIR): Keep the last readdir result cached inside
the DIR struct, to enable several DIRs being open simultaneously.
* gwin32.c (g_win32_readdir): Use the above instead of static.
* giowin32.c (g_io_channel_win32_make_pollfd): Insert cast to keep
MSVC happy.
2000-09-29 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in, glib.h: Added errorcheck mutexes. These are
activated through the preprocessor symbol
G_ERRORCHECK_MUTEXES. Need to add an extra word to StaticMutex in
order to achieve this. g_(static_)mutex_* functions instrument the
mutex operations with mutex name and location, when compiled with
-DG_ERRORCHECK_MUTEXES. g_thread_init activates the errorcheck
mutexes, when compiled with -DG_ERRORCHECK_MUTEXES.
* gthread/gthread-impl.c: Added errorcheck mutexes. New
exported function
g_thread_init_with_errorcheck_mutexes, which is called instead of
g_thread_init, when compiled with -DG_ERRORCHECK_MUTEXES. New
static functions
g_mutex_(new|lock|trylock|unlock|free)_errorcheck_impl to
implement errorcheck mutexes.
* gthread/gthread-posix.impl.c, gthread/gthread-solaris-impl.c:
Define the size of a mutex.
2000-09-06 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib.h, gtimer.c, tests/thread-test.c:
s/G_MICROSEC/G_USEC_PER_SEC/
* gthread/gthread-posix.c, gthread/gthread-solaris.c:
s/G_MICROSEC/G_USEC_PER_SEC/ and s/G_NANOSEC/G_NSEC_PER_SEC/
2000-09-01 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib.h: Include gerror.h before it is used for some g_thread_*
functions.
* gthread.c, gthreadpool.c, glib.h: Enable error reporting for
thread creation, namly for g_thread_create, g_thread_pool_new,
g_thread_pool_push and g_thread_pool_set_max_threads.
* tests/thread-test.c, tests/threadpool-test.c: Adapted
accordingly.
* gthread-posix.c (g_thread_create_posix_impl): Use GError to
report errors.
Wed Jul 26 12:59:31 2000 Tim Janik <timj@gtk.org>
* *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
updates the license headers to the GNU Lesser General Public License,
as well as updating the copyright year to 2000.
2000-07-15 Tor Lillqvist <tml@iki.fi>
* Makefile.am (SUBDIRS): Include the "build" module in GLib, too,
to make it more self-contained. If your CVS client doesn't
automatically get it, do a cvs get build in glib.
* */makefile.mingw.in: Include make.mingw from build in the glib
source directory.
Fri Jul 14 12:22:49 2000 Owen Taylor <otaylor@redhat.com>
* configure.in Makefile.am glib-config.m4 glib.m4: Move
glib-config to glib-config-2.0 move glib.m4 to
glib-2.0.m4
* Makefile.am gobject/Makefile.am gmodule/Makefile.am
gthread/Makefile.am tests/Makefile.am: Change
library names to libglib-1.3.la, etc, so that we
can distinguish glib-1.2 and glib-2.0 on the linkline.
* Makefile.am gobject/Makefile.am gmodule/Makefile.am:
Move include files into /usr/include/glib-2.0.
Thu Jul 6 18:54:49 2000 Owen Taylor <otaylor@redhat.com>
* docs/Makefile.am (EXTRA_DIST): Remove info files
from the build.
2000-05-13 Tor Lillqvist <tml@iki.fi>
* makefile.mingw.in
* tests/makefile.mingw.in
* build-dll: Rename makefile.cygwin(.in) to
makefile.mingw(.in), which better describes what it is. Move the
build of gmodule, gthread and gobject DLLs to makefiles in those
directories. Move resource file handling and build number bump to
build-dll, where it sits much cleaner.
* README.win32
* Makefile.am (EXTRA_DIST): Update accordingly.
* glib.h: Add G_PI, G_PI_2, G_PI_4, G_E, G_LN2, G_LN10 and
G_SQRT2. M_PI etc aren't necessarily in <math.h> in strict ISO C
implementations.
* glib.def: Add g_strcanon.
* gtree.c (g_tree_node_rotate_left): Remove unused variables.
* gwin32.c (g_win32_opendir): Remove unneeded statement.
gmodule:
* makefile.mingw.in: New file, with gmodule stuff
moved from ../makefile.mingw.in.
* Makefile.am: Add to EXTRA_DIST, and add rule to make makefile.mingw.
gobject:
* makefile.mingw.in
* gobject.def
* gobject.rc.in: New files, for Win32 (mingw) build.
* Makefile.am: Add to EXTRA_DIST. Add rules to produce the
corresponding non-*.in files.
* gtype.h: (Win32:) Mark _g_type_fundamental_last for
export/import from DLL.
gthread:
* makefile.mingw.in: New file, with gthread stuff moved from
../makefile.mingw.in.
* Makefile.am: Add to EXTRA_DIST, add rule to build makefile.mingw.
2000-04-25 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread-solaris.c (g_mutex_new_solaris_impl): Changed the scope
of the initialized mutex to USYNC_THREAD. Thanks to Soeren
Sandmann <sandmann@daimi.au.dk> for pointing that out.
2000-03-24 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* Makefile.am, gthread/Makefile.am, gmodule/Makefile.am,
tests/Makefile.am: Added various win32 related *.in files to
EXTRA_DIST to let 'make distcheck' procude all the corresponding
files, which it silently fails to do currently.