Commit Graph

153 Commits

Author SHA1 Message Date
Emmanuele Bassi
6d1d9cf1b5 gobject: Add GBinding
GBinding is a simple, opaque object that represents a binding between a
property on a GObject instance (source) and property on another GObject
instance (target).

https://bugzilla.gnome.org/show_bug.cgi?id=348080
2010-06-15 16:06:18 +01:00
Alexander Larsson
8e41be13ef Add dtrace and systemtap support for gobject
This adds static markers and systemtap tapsets for:

* type creation
* object lifetimes (creation, ref, unref, dispose, finalize)
* signal creation and emission

Signal emissions and finalization marker have a corresponding
*_end (or *-end in dtrace) version that is when the corresponding
operation is finished.

https://bugzilla.gnome.org/show_bug.cgi?id=606044
2010-05-27 14:51:41 -04:00
Matthias Clasen
8db946fdfb Clean up man page handling
Remove all formatted man pages from git, and use the same
Makefile fragment in all doc dirs.
2010-05-21 22:28:42 -04:00
Tor Lillqvist
226cc663e4 Avoid much of duplication in lists of source files
Don't keep the lists of source files for libglib, libgobject and
libgio in the VS project files in addition to the canonical location,
the corresponding Makefile.am files.

Instead, generate the corresponding .vcproj files at make dist time
using the C preprocessor, from template files called .vcprojin. We
still list explicitly in the .vcprojin files some of the
Windows-specific source files, and the sources files of gnulib and
pcre.
2010-03-21 16:15:02 +02:00
Benjamin Otte
11d4e59712 Move the boxed private type data to TypeNode
This way we don't need to keep a custom array that we bsearch on (and
that isn't threadsafe) but can use the gtype.c machinery that is
threadsafe. And fast, too!

https://bugzilla.gnome.org/show_bug.cgi?id=554887
2010-01-25 15:30:38 +01:00
Alexander Larsson
94b8613b5f Use unconditional thread calls in gio and gobject
If threads are available we always enable threads in gobject, which
means all gio/gobject code can enable the unconditional thread calls.

This is a minor optimization since we avoid a bunch of unnecessary
is-threads-enabled checks.

https://bugzilla.gnome.org/show_bug.cgi?id=606775
2010-01-12 21:37:50 +01:00
Alexander Larsson
fa2bced1f3 Enable threads in g_type_init()
This means threads will be supported for all gobject libraries/applications
and initialized early enough to not cause any problems.

This solves the problem of libraries needing threadsafety. Previosly
they just called g_threads_init() anyway, which often works but sometimes
breaks in unexpected ways.

See this thread for more details:
http://mail.gnome.org/archives/gtk-devel-list/2009-November/msg00208.html

https://bugzilla.gnome.org/show_bug.cgi?id=606775
2010-01-12 21:37:29 +01:00
Alexander Larsson
75ce4741f9 Add GAtomicArray for RCU-style lockless updates
This adds supports for a lock-less a non-shrinking growable array.
You can use it to do reads using no locks, as long as your read-code
can handle that during the read transaction the object can be modified
by another writer (but it will not change size or be freed), and you
can only trust the result once the transaction has finished successfully.

This doesn't free things like RCU normally does, instead it pushes the
memory on a free list that is reused for other atomic arrays.
2009-11-30 20:48:50 +01:00
Matthias Clasen
e9fe53980b Fix --runtime-libdir option
For stable releases, it needs to take LT_REVISION into account, not
hardcode 0.
2009-09-29 23:08:03 -04:00
Alexander Larsson
e657dee578 Use right soname for gdb autoloaded python files
We need to look at LT_REVISION too to get the right filename.
This was just hardcoded to zero before which is obviously wrong.
2009-09-28 15:48:17 +02:00
Matthias Clasen
cc95c60c69 Fix location of gdb macros
These files need to be put in a location that corresponds to the
location of the libraries, so we need to take the runtime-libdir
path into account.
2009-09-24 10:26:46 -04:00
Matthias Clasen
4c633ff0b5 2.22.0 2009-09-22 16:57:08 -04:00
Alexander Larsson
efe9169234 Initial support for gdb python macros
This includes support for gobject pointer pretty printing and
signal frame compression in backtraces.

https://bugzilla.gnome.org/show_bug.cgi?id=595619
2009-09-21 15:39:00 +02:00
David Zeuthen
0ccd18bc83 Bug 586675 – Runtime library location
Introduce an option to specify the runtime location for libraries via
a relative path to libdir.

Signed-off-by: David Zeuthen <davidz@redhat.com>
2009-06-23 12:58:35 -04:00
Tor Lillqvist
a076a30457 Set LIB_EXE_MACHINE_FLAG to either X86 or X64 on Windows. AC_SUBST it.
2008-07-27  Tor Lillqvist  <tml@novell.com>

	* configure.in: Set LIB_EXE_MACHINE_FLAG to either X86 or X64 on
	Windows. AC_SUBST it.

	* */Makefile.am: Correspondingly, pass appropriate -machine
	flag to lib.exe when producing the import library for the MS
	toolchain.


svn path=/trunk/; revision=7255
2008-07-27 15:54:15 +00:00
Michael Natterer
ca5fa5691c don't define G_DISABLE_SINGLE_INCLUDES, it's in the global CPPFLAGS now.
2008-05-28  Michael Natterer  <mitch@imendio.com>

	* Makefile.am: don't define G_DISABLE_SINGLE_INCLUDES, it's in
	the global CPPFLAGS now.


svn path=/trunk/; revision=6952
2008-05-28 16:16:55 +00:00
Michael Natterer
b6cf0addba Makefile.am. build with G_DISABLE_SINGLE_INCLUDES to prevent code from
2008-05-05  Michael Natterer  <mitch@imendio.com>

	* Makefile.am. build with G_DISABLE_SINGLE_INCLUDES to prevent
	code from being checked in that breaks the build of applications
	which use G_DISABLE_SINGLE_INCLUDES.


svn path=/trunk/; revision=6876
2008-05-05 15:04:00 +00:00
Tor Lillqvist
336cc8436b configure.in More work on enabling static building on Windows. When
2008-04-21  Tor Lillqvist  <tml@novell.com>

	* configure.in
	* */Makefile.am: More work on enabling static building on
	Windows. When building statically: Also define
	GOBJECT_STATIC_COMPILATION in glibconfig.h so that also the
	variables in gparamspecs.h get declared without any
	dllimport/dllexport decorations. Don't install .def files which
	obviously have no meaning for static libraries. Don't create MS
	import libraries. Don't do any resource object files.


svn path=/trunk/; revision=6866
2008-04-21 08:38:36 +00:00
Tor Lillqvist
e2ee29dd2c Don't bother defining Autoconf variables for glib.def, gmodule.def,
2008-03-16  Tor Lillqvist  <tml@novell.com>

	* configure.in: Don't bother defining Autoconf variables for
	glib.def, gmodule.def, gobject.def and gthread.def when this can
	be handled easily in */Makefile.am which are the only files that
	use them. Remove also TESTGMODULE_EXP which isn't used at all.

	* */Makefile.am: Corrsponding changes.


svn path=/trunk/; revision=6722
2008-03-16 10:16:57 +00:00
18:41:22 Tim Janik
fcee4e1931 integrate tests/.
2008-02-05 18:41:22  Tim Janik  <timj@imendio.com>

        * Makefile.am: integrate tests/.

        * tests/: new directory for libgobject tests.

        * tests/Makefile.am: build and run threadtests.

        * tests/threadtests.c: test multi-threaded initializers for
        object classes and interfaces.



svn path=/trunk/; revision=6452
2008-02-05 17:42:09 +00:00
Matthias Clasen
0c01c6f1ad Replace INCLUDES by AM_CPPFLAGS, other cleanups.
2007-11-24  Matthias Clasen  <mclasen@redhat.com>

        * */Makefile.am: Replace INCLUDES by AM_CPPFLAGS, other
        cleanups.



svn path=/trunk/; revision=5932
2007-11-25 04:22:45 +00:00
21:06:47 Tim Janik
1e55738f31 initialize automake variables EXTRA_DIST and TEST_PROGS for unconditional
2007-11-21 21:06:47  Tim Janik  <timj@imendio.com>

	* Makefile.decl: initialize automake variables EXTRA_DIST and
	TEST_PROGS for unconditional appending via += in other makefiles.
	define recursive test targets: test, test-report, perf-report,
	full-report, as described here:
      http://mail.gnome.org/archives/gtk-devel-list/2007-November/msg00000.html

	* Makefile.am:
	* build/win32/vs8/Makefile.am, build/win32/dirent/Makefile.am:
	* build/win32/Makefile.am, build/Makefile.am:
	* docs/Makefile.am, docs/reference/Makefile.am:
	* docs/reference/glib/Makefile.am, docs/reference/gobject/Makefile.am:
	* gmodule/Makefile.am, tests/Makefile.am:
	* tests/refcount/Makefile.am, tests/gobject/Makefile.am:
	* glib/update-pcre/Makefile.am, glib/libcharset/Makefile.am:
	* glib/tests/Makefile.am, glib/pcre/Makefile.am:
	* glib/gnulib/Makefile.am, gobject/Makefile.am, m4macros/Makefile.am:
	* gthread/Makefile.am, glib/Makefile.am:
	include $(top_srcdir)/Makefile.decl, adapted EXTRA_DIST assignments.

	* glib/tests/Makefile.am: removed example testing rules.

	* glib/tests/testing.c: conditionalized performance and slow tests.

	* glib/gtestutils.h:
	* glib/gtestutils.c: work around g_test_config_vars not changing its
	exported value after value assignments, aparently due to symbol aliases.

	* glib/gtester.c: fixed off-by-one error which produced junk in logs.

	* configure.in: check for python >= 2.4 and provide $PYTHON for scripts.


svn path=/trunk/; revision=5914
2007-11-21 20:09:46 +00:00
Matthias Clasen
912027f0df Some file list updates (#398069, Owen Taylor)
2007-01-19  Matthias Clasen  <mclasen@redhat.com>

        Some file list updates (#398069, Owen Taylor)

        * docs/Changes-2.0.txt
        * docs/reference/README.cvs-commits
        * glib.spec.in: Remove obsolete files

        * tests/Makefile.am:
        * glib/libcharset/Makefile.am:
        * gobject/Makefile.am:
        * Makefile.am: Add some missing files to EXTRA_DIST

        * tests/timeloop-basic.c: Make it build
        * HACKING: Small updates


svn path=/trunk/; revision=5302
2007-01-19 15:50:30 +00:00
Behdad Esfahbod
5e4364aac6 Include pltcheck.sh in EXTRA_DIST, and remove redefinition of TESTS.
2006-10-02  Behdad Esfahbod  <behdad@gnome.org>

        * glib/Makefile.am:
        * gobject/Makefile.am:
        Include pltcheck.sh in EXTRA_DIST, and remove redefinition of TESTS.
        (#358966)
2006-10-02 18:03:50 +00:00
Matthias Clasen
20b39ffafa Fix some issues with PLT entries. 2006-09-30 13:59:01 +00:00
Tor Lillqvist
d22f051252 Don't use autoconf variables for the resource object files on Win32 any
2005-07-09  Tor Lillqvist  <tml@novell.com>

	* configure.in: Don't use autoconf variables for the resource
	object files on Win32 any longer. Instead handle that in the
	Makefile.am files. Check for windres.

	* glibconfig.h.win32.in: Minor tuning to match the
	configure-produced glibconfig.h closely.

	* */Makefile.am: Don't use the scripts in build/win32 to
	compile the .rc file into a resource object file. (This means
	we loose the build number increment magic, but I doubt it was
	that useful anyway.) Instead use windres directly. To pass the
	normal .o file produced by windres through libtool, which
	wants .lo files, pass it directly to the linker using a -Wl
	option.

	* */*.rc.in: Thus replace BUILDNUMBER with 0.
2005-07-08 23:04:06 +00:00
Tor Lillqvist
2e13949ab6 libtool installs/uninstalls the import library, no need to do it
2005-06-26  Tor Lillqvist  <tml@novell.com>

	* Makefile.am: libtool installs/uninstalls the import library, no
	need to do it ourselves. Do still install/uninstall the .def file,
	though.
2005-06-26 18:07:13 +00:00
Tor Lillqvist
80d0d5690f glib/Makefile.am gmodule/Makefile.am Current GNU tools do understand the
2005-06-24  Tor Lillqvist  <tml@novell.com>

	* glib/Makefile.am
	* gmodule/Makefile.am
	* gobject/Makefile.am: Current GNU tools do understand the
	PRIVATE keyword.

	* glib/gfileutils.c (g_mkdir_with_parents): Return error with
	EINVAL also for empty pathnames.
	(g_build_pathname_va): Fix typo.
2005-06-24 13:26:45 +00:00
Matthias Clasen
604ad5fa3d 2.7.0 2005-06-10 15:48:25 +00:00
Matthias Clasen
3448a27829 Make work again.
2005-03-14  Matthias Clasen  <mclasen@redhat.com>

	* abicheck.sh: Make work again.

	* gsourceclosure.c: Fix a typo.

	Make PLT-reduction work with gcc4, and don't include
	everything in gobjectalias.h:

	* gobject.symbols: Group symbols by header and source
	file.
	* makegobjectalias.pl: Protect definitions by the same
	preprocessor symbols used to guard the headers. Move
	the alias declarations to a separate file which is
	produced when calling makegalias.pl -def
	* Makefile.am (gobjectaliasdef.c): Add a rule to
	build this file.
	* *.c: Include gobjectalias.h after the other i
        GLib headers, include gobjectaliasdef.c at the bottom.
2005-03-14 06:47:51 +00:00
Tor Lillqvist
b8997fbe90 Don't distribute glib.def. (#167496, J. Ali Harlow)
2005-02-24  Tor Lillqvist  <tml@novell.com>

	* Makefile.am (BUILT_EXTRA_DIST): Don't distribute
	glib.def. (#167496, J. Ali Harlow)

	* gobject/Makefile.am (EXTRA_DIST): Don't distribute
	gobject.def. (#167496, J. Ali Harlow)
2005-02-24 23:52:35 +00:00
Matthias Clasen
1adf109e5d Define a HAVE_GNUC_VISIBILITY automake conditional.
2005-02-04  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Define a HAVE_GNUC_VISIBILITY automake
	conditional.

	* glib/Makefile.am (TESTS): Only check the abi if
	the compiler supports visibility, otherwise we
	know there will be (harmless) extra symbols.
	(#166181, Ed Avis)
2005-02-05 03:02:20 +00:00
Owen Taylor
de67d93121 Add gmodule-export-2.0.pc to AC_CONFIG_FILES.
2005-01-11  Owen Taylor <otaylor@redhat.com>

        * configure.in: Add gmodule-export-2.0.pc to AC_CONFIG_FILES.

        * glib/Makefile.am gobject/Makefile.am gthread/Makefile.am:
        Use grep | head -n 1 instead of grep -m 1 which doesn't work
        with slightly older versions of GNU grep in
        install-libtool-import-lib rule.
2005-01-11 20:39:00 +00:00
Tor Lillqvist
bd77b4b4a9 configure.in glib/Makefile.am Win32 cross-compilation fixes. (#163144, J.
2005-01-06  Tor Lillqvist  <tml@iki.fi>

	* configure.in
	* glib/Makefile.am
	* gobject/Makefile.am: Win32 cross-compilation fixes. (#163144,
	J. Ali Harlow)
2005-01-06 19:15:49 +00:00
Tor Lillqvist
b687214a7c glib/Makefile.am glib.def and gobject.def are generated, not in $(srcdir).
2005-01-06  Tor Lillqvist  <tml@iki.fi>

	* glib/Makefile.am
	* gobject/Makefile.am: glib.def and gobject.def are generated, not
	in $(srcdir). (#163143, J. Ali Harlow)
2005-01-06 17:18:12 +00:00
Matthias Clasen
b1f6eaf987 Add an OS_LINUX conditional.
2004-12-27  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Add an OS_LINUX conditional.

	* glib/Makefile.am (TESTS): Only check the ABI on
	linux, since the shell script is not portable, and libtool
	deficiencies may distort the ABI on other platforms.  (#161741)
2004-12-27 06:55:08 +00:00
Tor Lillqvist
b42a73ec9f glib/Makefile.am (glib.def) gcc -E complains "linker unused because
2004-11-30  Tor Lillqvist  <tml@iki.fi>

	* glib/Makefile.am (glib.def)
	* gobject/Makefile.am (gobject.def): gcc -E complains "linker
	unused because linking not done" if told to preprocess an
	*.symbols file. Use '-' and redirection to pass it as standard
	input instead.
2004-11-30 21:55:48 +00:00
Matthias Clasen
e761d2e3a6 Use the perl found by configure. (#149826, Morten Welinder)
2004-11-29  Matthias Clasen  <mclasen@redhat.com>

	* Makefile.am: Use the perl found by configure.  (#149826,
	Morten Welinder)
2004-11-29 05:42:41 +00:00
Matthias Clasen
c1dee8766e Forgotten commit. 2004-11-23 19:40:13 +00:00
Matthias Clasen
0680744fbb Fix a problem with the PLT reduction changes which caused the internal
2004-11-23  Matthias Clasen  <mclasen@redhat.com>

	Fix a problem with the PLT reduction changes which caused the
	internal aliases to lose all attributes.

	* glib/glib.symbols: Add attribute annotations.
	* glib/makegalias.pl: Keep attribute annotations, but strip PRIVATE.
	* glib/Makefile.am (glib.def): Strip attribute annotations, but keep
	PRIVATE.
2004-11-23 17:56:58 +00:00
J. Ali Harlow
6e6e8682c9 Use embedded tab rather than '\t' escape sequence. (#157951)
2004-11-11  J. Ali Harlow  <ali@juiblex.co.uk>

 	* gobject/Makefile.am:
 	* glib/Makefile.am (gtk.def): Use embedded tab rather than '\t'
 	escape sequence. (#157951)
2004-11-11 14:48:45 +00:00
Matthias Clasen
1cb5534a51 Fix srcdir != builddir builds. (#156447, Thomas Fitzsimmons)
2004-10-27  Matthias Clasen  <mclasen@redhat.com>

	* Makefile.am (gobjectalias.h): Fix srcdir != builddir
	builds.  (#156447, Thomas Fitzsimmons)
2004-10-27 04:42:51 +00:00
Tor Lillqvist
4f89335660 [Win32] Add code to remove the bug-compatibility entries (see #134813, and
2004-09-22  Tor Lillqvist  <tml@iki.fi>

	* Makefile.am (install-libtool-import-lib): [Win32] Add code to
	remove the bug-compatibility entries (see #134813, and related
	comments below) from the import library. The PRIVATE keyword in
	the .def file is supposed to mean that, but it isn't implemented
	yet by GNU ld.

	* makegobjectalias.pl: In case the symbol is followed by some
	stuff ("PRIVATE") that's intended for the .def file, use just the
	actual symbol.

	* gobject.symbols: For binary bug compatibility on Win32, add the
	g_slist_remove_all and g_unichar_validate symbols inside #ifdef
	INCLUDE_INTERNAL_SYMBOLS. (See #134813 and log entries from March
	below.)
2004-09-22 22:41:02 +00:00
Matthias Clasen
36e34772d8 2.5.3 2004-09-18 21:03:46 +00:00
Matthias Clasen
465c7d1ead Implement the same PLT reduction technique used in GTK+:
2004-09-16  Matthias Clasen  <mclasen@redhat.com>

	Implement the same PLT reduction technique used in GTK+:

	* Makefile.am: Generate gobjectalias.h from gobject.symbols.
	(BUILT_SOURCES): Add gobjectalias.h.

	* makegobjectalias.pl: Script to generate gobjectalias.h.

	* *.c: Include gobjectalias.h
2004-09-16 18:52:40 +00:00
Matthias Clasen
88e7569e65 Add ABI control using the same technique that is used in GTK+.
2004-09-16  Matthias Clasen  <mclasen@redhat.com>

	Add ABI control using the same technique that is used in GTK+.

	* gobject.symbols: Master list of symbols.

	* gobject.def: Removed. It is now generated from gobject.symbols.

	* Makefile.am (gobject.def): Generate from gobject.symbols.
	(TESTS): Add abicheck.sh
	(EXTRA_DIST): Add abicheck.sh
	(export_symbols): Don't export _-prefixed symbols.

	* gtype.h:
	* gtype.c: Move the declarations of the various _init() functions
	to the header, and mark them as G_GNUC_INTERNAL.
2004-09-16 18:33:02 +00:00
Tor Lillqvist
fd64571b80 Update.
2004-03-06  Tor Lillqvist  <tml@iki.fi>

	* README.win32: Update.

	* configure.in
	* Makefile.am
	* */Makefile.am: Drop the hand-written makefile.mingw(.in)
	files. They haven't been maintained in a long time. As several
	people have managed to build GLib for Win32 using the
	autoconfiscation mechanism, there is no real reason to even try to
	maintain the hand-written mingw makefiles.
2004-03-06 07:37:46 +00:00
Owen Taylor
32bc3c4197 Add g_signal_accumulator_true_handled(), to do TRUE-stops-emit signals.
Fri Sep 12 16:31:40 2003  Owen Taylor  <otaylor@redhat.com>

        * gsignal.[ch]: Add g_signal_accumulator_true_handled(), to
        do TRUE-stops-emit signals.

        * Makefile.am: Move testoverride.c and testifaceinit.c to
        tests/gobject.
2003-09-12 20:33:31 +00:00
Owen Taylor
6bd3d8bcf6 Add a detailed test case for interface initialization, testing the ability
Wed Aug 27 01:25:40 2003  Owen Taylor  <otaylor@redhat.com>

        * Makefile.am testifaceinit.c: Add a detailed test case
        for interface initialization, testing the ability to
        add interfaces during class initialization and the ordering
        of interface base_init, class init, and interface_init.
        (Expected to fail at the moment.)
2003-08-27 05:28:39 +00:00
Tor Lillqvist
a44c1da1c4 glib/Makefile.am gmodule/Makefile.am gobject/Makefile.am Use srcdir also
2003-08-13  Tor Lillqvist  <tml@iki.fi>

	* glib/Makefile.am
	* gmodule/Makefile.am
	* gobject/Makefile.am
	* gthread/Makefile.am: Use srcdir also in references to the .def
	files. (#118885, Jeff Bonggren)
2003-08-13 00:24:21 +00:00
Matthias Clasen
54f796b1b6 New macros to check for XML catalog contents and path, borrowed from
2003-06-17  Matthias Clasen  <maclas@gmx.de>

	* acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
	macros to check for XML catalog contents and path, borrowed from
	gtk-doc.
	* configure.in: New option --enable-man to enable regeneration of
	man pages from Docbook, if the necessary tools are found.

	* gobject/Makefile.am: Add rule to regenerate man pages from
	Docbook.
	(man_MANS): Add glib-mkenums.1, glib-genmarshal.1 and gobject-query.1.
	(content_files): Add glib-mkenums.xml, glib-genmarshal.xml and
	gobject-query.xml.

	* gobject/glib-mkenums.xml:
	* gobject/glib-genmarshal.xml:
	* gobject/gobject-query.xml: New refentries.

	* gobject/glib-mkenums.1:
	* gobject/glib-genmarshal.1:
	* gobject/gobject-query.1: Man pages generated from the .xml
	sources.

	* gobject/gobject-docs.sgml: Include glib-mkenums.xml,
	glib-genmarshal.xml and gobject-query.xml.

	* glib/Makefile.am: Add rule to regenerate man pages from
	Docbook.
	(man_MANS): Add glib-gettextize.1.
	(content_files): Add glib-gettextize.xml.

	* glib/glib-gettextize.xml: New refentry.

	* glib/glib-gettextize.1: Man page generated from the .xml source.

	* glib/glib-docs.sgml: Include glib-gettextize.xml.
2003-06-17 23:08:37 +00:00
James Henstridge
c4391cbf37 require automake 1.7. Add calls to libtoolize and gtkdocize. Clean up some
2003-03-01  James Henstridge  <james@daa.com.au>

    * autogen.sh: require automake 1.7.  Add calls to libtoolize and
    gtkdocize.  Clean up some of the error messages.

    * configure.in: move version declaration to the top of the file
    (before AC_INIT), using M4 macros.
    GLIB_AC_DIVERT_BEFORE_HELP() calls no longer necessary, due to use
    of M4 macro expansion in help messages instead.
    Convert AC_ARG_WITH/AC_ARG_ENABLE calls to use AC_HELP_STRING to
    format help strings.  Use quadrigraphs to get square brackets to
    show correctly.
    Replace gtk-doc checks with a call to GTK_DOC_CHECK() macro.
    Use AC_CONFIG_COMMANDS([glibconfig.h], ...) to output
    glibconfig.h, so that "./config.status glibconfig.h" works.
    Add an extra AC_CONFIG_FILES call listing other files we want
    generated by config.status protected by an "if false" block.  This
    way automake generates the rules needed to rebuild the files for
    us.
    Add quotes in various places.

    * docs/reference/*/Makefile.am: convert to use the common
    gtk-doc.make file.  This localises the complexity to a single
    makefile fragment maintained with gtk-doc itself.

    * */Makefile.am: remove unneeded rules to build win32 files with
    config.status.  Automake now does this for us.
    Replace instances of @FOO@ with $(FOO) where appropriate -- this
    allows automake to do a better job checking the makefile.
    Add some files to DISTCLEANFILES where appropriate

    * Makefile.am: use the DISTCHECK_CONFIGURE_FLAGS variable to
    ensure that --enable-gtk-doc is passed to configure during a
    distcheck.  Remove the custom distcheck, since the standard one
    will now do.

    * gobject/Makefile.am: switch to BUILT_SOURCES, since that now
    works.
2003-03-04 10:10:48 +00:00
Tor Lillqvist
933b7ba4b6 [Win32] Install also the .def files, to help users generate import
2003-01-04  Tor Lillqvist  <tml@iki.fi>

	* {glib,gmodule,gobject,gthread}/Makefile.am:
	[Win32] Install also the .def files, to help users generate
	import libraries for other compilers. Uninstall, too.

	* glib-zip.in: Include .def files from above.
2003-01-04 06:47:14 +00:00
Manish Singh
d1f37d5053 add -DG_DISABLED_DEPRECATED
Tue Oct 15 15:07:45 2002  Manish Singh  <yosh@gimp.org>

        * gmodule/Makefile.am gobject/Makefile.am gthread/Makefile.am:
        add -DG_DISABLED_DEPRECATED

        * tests/gio-test.c tests/mainloop-test.c tests/string-test.c
        tests/testglib.c test/tree-test.c tests/unicode-collate.c
        tests/unicode-normalize.c: Deprecation cleanup
2002-10-15 22:16:57 +00:00
Michael Natterer
46bf6d8a81 added a new conditional CROSS_COMPILING which indicates ($build != $host).
2002-05-07  Michael Natterer  <mitch@gimp.org>

	* configure.in: added a new conditional CROSS_COMPILING which
	indicates ($build != $host). If it is set, look for
	glib-genmarshal in PATH. Error out if it was not found.

2002-05-07  Michael Natterer  <mitch@gimp.org>

	* Makefile.am: use the glib-genmarshal found at configure time
	if CROSS_COMPILING is set, use the one which was just built
	otherwise.
2002-05-07 15:41:24 +00:00
Owen Taylor
fc8fd6f8cb Default to --disable-gtk-doc, to avoid Jade setup hassles.
Sun Mar  3 21:09:24 2002  Owen Taylor  <otaylor@redhat.com>

        * configure.in: Default to --disable-gtk-doc, to avoid
        Jade setup hassles.

        * autogen.sh: Add --enable-gtk-doc.

        * configure.in: Default to --disable-static to go
        along with Pango, GTK+ where we need to do that for
        bin-compat reasons.

        * Makefile.am: Add a slightly modified distcheck rule
        that passes --enable-gtk-doc to the configure inside.
        (So that 'make dist' succeeds inside.)

        * configure.in *.pc.in **/Makefile.am m4macros/glib-2.0.m4
        tests/makefile.mingw.in: Switch everything over to
        glib-2.0.
2002-03-05 05:18:23 +00:00
Matthias Clasen
b9c695f47c Remove references to gruntime. This includes renaming the test program
* docs/debugging.txt, gobject/glib-genmarshal.c,
	gobject/glib-genmarshal.1, gobject/Makefile.am, gobject/gtype.c:
	Remove references to gruntime. This includes renaming the test
	program testgruntime to testgobject and the debug envvar
	GRUNTIME_DEBUG to GOBJECT_DEBUG.  (#50877)
2002-02-26 21:23:52 +00:00
Owen Taylor
d7c8890961 Rename testgruntime to testgobject.
Tue Feb 26 10:51:00 2002  Owen Taylor  <otaylor@redhat.com>

        * Makefile.am (testgobject_LDADD): Rename testgruntime
        to testgobject.
2002-02-26 15:53:54 +00:00
James Henstridge
f15dcf60e6 add rules to build it.
2001-12-14  James Henstridge  <james@daa.com.au>

	* Makefile.am: add rules to build it.

	* testoverride.c: test program for closure override/chaining.
2001-12-14 04:48:56 +00:00
Owen Taylor
5852eace66 Include gtypes.h not gobject/gtype.h
Sat Nov 17 14:10:35 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/gbsearcharray.h: Include gtypes.h not gobject/gtype.h

	* glib/glib-object.h gobject/*.h: Prevent headers from
	being included directly except when compiling GObject.

	* gobject/gvaluecollector.h: Include glib-object.h so that
	this file can be included directly, since we don't
	include it _from_ glib-object.h.

	* gobject/gtype.c: Remove struct _GValue hack since we
	now include glib/gvaluecollector.h which simply pulls in
        glib-object.h.
2001-11-18 00:38:48 +00:00
Tim Janik
35bf561f5f add API for chaining: g_signal_chain_from_overridden() and
Tue Nov 13 23:18:10 2001  Tim Janik  <timj@gtk.org>

        * gsignal.[hc]: add API for chaining:
        g_signal_chain_from_overridden() and g_signal_override_class_closure(),
        implementation yet to come.

        * gtype.[hc], Makefile.am: provide G_LOG_DOMAIN as compile flag.

        * gparam.[hc]: s/g_param_get/g_param_spec_get/ for get_nick,
        get_name and get_blurb, to be consistent with the rest of the
        g_param_spec_*() functions.

        * gparamspecs.[hc]: got rid of bogus GClosure paramspec.
        G_TYPE_CLOSURE is a boxed type already.
2001-11-14 03:02:22 +00:00
Owen Taylor
404bb824c9 Generate glib-mkenums from glib-mkenums.in, substituting in path to perl.
Mon Oct 29 11:05:15 2001  Owen Taylor  <otaylor@redhat.com>

	* glib-mkenums.in: Generate glib-mkenums from glib-mkenums.in,
	substituting in path to perl.  (#63093, Dan Winship)

	* Makefile.am (bin_SCRIPTS): Remove hack to copy glib-mkenums
	from srcdir.

Mon Oct 29 10:59:36 2001  Owen Taylor  <otaylor@redhat.com>

	* configure.in: Check for path to Perl, add gobject/glib-mkenums
2001-10-29 16:13:36 +00:00
Tor Lillqvist
20af1ed309 If we have built the MSVC import library, install it. Install the gcc
2001-10-23  Tor Lillqvist  <tml@iki.fi>

	* {glib,gmodule,gobject,gthread}/Makefile.am: (Win32): If we
	have built the MSVC import library, install it. Install the
	gcc import library. Also support uninstall.
2001-10-22 22:14:26 +00:00
Tor Lillqvist
1c8de25a5e More Win32 automake macros. For .def files: GLIB_DEF, GMODULE_DEF,
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-25 06:03:23 +00:00
Tor Lillqvist
020b44f5ac Add variable for LT_CURRENT minus LT_AGE (the suffix used by libtool on
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-17 00:41:39 +00:00
Owen Taylor
be84346358 Move gbsearcharray.[ch] to glib as a private ininstalled header.
Sat Sep  8 14:13:57 2001  Owen Taylor  <otaylor@redhat.com>

       * gobject/Makefile.am: Move gbsearcharray.[ch] to glib
       as a private ininstalled header.
2001-09-08 18:23:04 +00:00
Owen Taylor
0038581ed4 Implement.
Mon Aug 27 14:55:27 2001  Owen Taylor  <otaylor@redhat.com>

	* gsourceclosure.[ch] (g_source_set_closure): Implement.

	* gsourceclosure.[ch]: Add GType's for GIOChannel, GIOCondition.

Mon Aug 27 14:56:12 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/gmain.h: Add closure_marshal/closure_callback
	fields to GSourceFuncs for use by g_source_set_closure().

	* glib/gmain.c glib/giounix.c glib/giowin32.c
	  glib/gmain.h: Export the SourceFuncs vtables so GObject
	can use them to figure out closure callbacks/marshallers
	for the default source types.
2001-09-03 22:13:16 +00:00
Owen Taylor
2fd6b001fb Move glib library into a subdirectory, make all GLib include files include
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-06-26 16:01:21 +00:00
Tim Janik
3b346e3581 remove left-over usages of an anonymous GBoxed typedef.
Mon Jun 11 17:07:06 2001  Tim Janik  <timj@gtk.org>

        * gboxed.[hc]: remove left-over usages of an anonymous GBoxed typedef.

        * gobjectnotifyqueue.c: moved property notify queue implementation
        bits into this function.

        * gparam.[hc]: added g_param_spec_pool_belongings(), completed
        g_param_spec_pool_list(). added GParameter for _setv() functions.

        * gobject.[hc]: use gobjectnotifyqueue.h implementation now.
        got rid of properties_changed signal.
        new functions g_object_newv(), g_object_class_list_properties().
        removed "properties_changed" signal.

        * gtype.[hc]: added g_type_depth() to figure number of parent
        types + 1 for a type.

        * gsignal.h: add g_signal_connect() (as per owen's request) and
        g_signal_connect_swapped().
2001-06-19 12:13:22 +00:00
Havoc Pennington
9ba71698c0 link to ./libgobject-1.3.la since an installed libgobject was somehow
2001-06-13  Havoc Pennington  <hp@redhat.com>

	* Makefile.am (progs_LDADD): link to ./libgobject-1.3.la
	since an installed libgobject was somehow being found; think
	it's a libtool bug, but this workaround should do for now.
2001-06-13 16:57:53 +00:00
Havoc Pennington
7ab9d6380d updated
2001-06-11  Havoc Pennington  <hp@redhat.com>

	* NEWS: updated

	* configure.in (GLIB_MICRO_VERSION): increment version to 1.3.6

2001-06-12  Havoc Pennington  <hp@redhat.com>

	* Makefile.am (glib-mkenums): don't put $(srcdir)/glib-mkenums in
	bin_SCRIPTS, that breaks make install. Instead put 'glib-mkenums'
	in bin_SCRIPTS and cp it into builddir
2001-06-12 20:05:43 +00:00
Sebastian Wilhelmi
4d8aba8947 Fix typo.
2001-05-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Fix typo.

	* gobject/Makefile.am (EXTRA_DIST): Really distribute
        glib-mkenums, now that bin_SCRIPTS doesn't seem to care about
        doing so anymore.
2001-05-28 11:16:33 +00:00
Sebastian Wilhelmi
475193bda8 made 'make distcheck' happy.
2001-05-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

        * Makefile.am (bin_SCRIPTS): made 'make distcheck' happy.
2001-05-22 14:31:26 +00:00
Owen Taylor
33888fc0c8 Add inter-library dependencies.
Sun May 13 10:31:17 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/Makefile.am gobject/Makefile.am gmodule/Makefile.am:
	Add inter-library dependencies.

	* acinclude.m4: Remove libtool macros.

	* autogen.sh: Require libtool-1.4, automake-1.4p1.
2001-05-16 18:35:39 +00:00
James Henstridge
af170c2d8c glib-mkenums is not a compiled program, so shouldn't be in the
2001-05-05  James Henstridge  <james@daa.com.au>

        * Makefile.am: glib-mkenums is not a compiled program, so shouldn't
        be in the bin_PROGRAMS primary.  Put it in bin_SCRIPTS instead, and
        removed the glib_mkenums_SOURCES var.
2001-05-05 08:38:35 +00:00
Tim Janik
abc5cbbe3e made hook ids a gulong.
Sun Apr 29 00:37:34 2001  Tim Janik  <timj@gtk.org>

        * ghook.[hc]: made hook ids a gulong.

Sat Apr 28 23:39:42 2001  Tim Janik  <timj@gtk.org>

        * gsignal.[hc]: made signal handler and emission hook ids gulongs.
        (signal_handlers_foreach_matched_R): only invoke callback for handlers
        that are not disconnected (id>0).
        (signal_emit_R): prevent invocation of signal handlers during the
        emission they were connected within.

        * glib-mkenums: publically installed perl-script to parse C code
        enums and generate descriptions thereof.
        * glib-mkenums.1: assorted man page.
2001-04-29 03:04:27 +00:00
Tor Lillqvist
8f69a82ccb Use the _LIBADD dependencies on libglib only on Win32.
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-03-10 20:03:53 +00:00
Tor Lillqvist
137d3248c7 Use G_BEGIN_DECLS and G_END_DECLS.
2001-02-21  Tor Lillqvist  <tml@iki.fi>

	* *.h: Use G_BEGIN_DECLS and G_END_DECLS.

	* Makefile.am: Use libglib-1.3.la from top_builddir. Invoke
	libtool with -no-undefined for Win32 and Cygwin.
2001-03-09 21:39:51 +00:00
Tim Janik
43b692c8eb test program. covers run first/last/cleanup signal handlers, return value
Fri Mar  9 14:57:17 2001  Tim Janik  <timj@gtk.org>

        * testgruntime.c: test program. covers run first/last/cleanup signal
        handlers, return value accumulator, signal string returns, and
        interface types in signal arguments.

        * gtype.c (g_type_value_table_peek): for interface types without
        value table, try looking up a value table from an instantiatable
        prerequisite type (this is safe as an interface may only have
        one instantiatable prerequisiste).
        (type_check_is_value_type_U): same here.

        * gsignal.c (g_signal_newv): assert that return types never have
        G_SIGNAL_TYPE_STATIC_SCOPE set.
        (g_signal_newc): only create class closure if the class_offset is not
        0.
2001-03-09 14:02:30 +00:00
Tim Janik
37e4b8c87e changed prototype of g_boxed_type_register_static() to contain an optional
Wed Mar  7 09:36:33 2001  Tim Janik  <timj@gtk.org>

	* gboxed.[hc]: changed prototype of g_boxed_type_register_static()
	to contain an optional init function and a hint at whether the
	boxed structure uses ref counting internally.
	added g_value_set_boxed_take_ownership().
	made G_TYPE_BOXED an abstract value type.

	* genums.[hc]: made G_TYPE_ENUM and G_TYPE_FLAGS abstract value
	types.

	* glib-genmarshal.c: argument type changes, preparation for third-party
	arg specification.

	* gobject.[hc]: cleaned up get/set property code.
	added g_strdup_value_contents() to improve warnings.

	* gparam.[hc]: added g_param_value_convert(), taking over responsibility
	of the old g_value_convert(). added G_PARAM_LAX_VALIDATION flag so
	validation alterations may be valid a part of the property setting
	process.

	* gparamspecs.[hc]: made value comparisons stable (for sort applications).
	added GParamSpecValueArray, a param spec for value arrays and
	GParamSpecClosure. nuked the value exchange functions and
	GParamSpecCCallback.

	* gtype.[hc]: catch unintialized usages of the type system with
	g_return_val_if_uninitialized(). introduced G_TYPE_FLAG_VALUE_ABSTRACT
	to flag types that introduce a value table, but can't be used for
	g_value_init(). cleaned up reserved type ids.

	* gvalue.[hc]: code cleanups and saner checking.
	nuked the value exchange API. implemented value transformations, we
	can't really "convert" values, rather transforms are an anylogy to
	C casts, real conversions need a param spec for validation, which is
	why g_param_value_convert() does real conversions now.

	* gvaluearray.[hc]: new files that implement a GValueArray, a struct
	that can hold inhomogeneous arrays of value (to that extend that it
	also allowes undefined values, i.e. G_VALUE_TYPE(value)==0).
	this is exposed to the type system as a boxed type.

	* gvaluetransform.c: new file implementing most of the former value
	exchange functions as single-sided transformations.

	* gvaluetypes.[hc]: nuked G_TYPE_CCALLBACK, added
	g_value_set_string_take_ownership().

	* *.h: s/G_IS_VALUE_/G_VALUE_HOLDS_/.

	* *.[hc]: many fixes and cleanups.

	* many warning improvements.

Tue Feb 27 18:35:15 2001  Tim Janik  <timj@gtk.org>

	* gobject.c (g_object_get_valist): urg, pass G_VALUE_NOCOPY_CONTENTS
	into G_VALUE_LCOPY(), this needs proper documenting.

	* gparam.c: fixed G_PARAM_USER_MASK.

	* gtype.c (type_data_make_W):
	(type_data_last_unref_Wm): fixed invalid memory freeing.

	* gobject.c (g_object_last_unref): destroy signal handlers associated
	with object, right before finalization.

	* gsignal.c (g_signal_parse_name): catch destroyed nodes or signals
	that don't actually support details.

	* gobject.[hc]: got rid of property trailers. nuked GObject
	properties "data" and the "signal" variants.
	(g_object_connect): new convenience function to do multiple
	signal connections at once.
	(g_object_disconnect): likewise, for disconnections.

	* gparam.[hc] (g_param_spec_pool_lookup): took out trailer support.

	* gvalue.[hc]: marked g_value_fits_pointer() and g_value_peek_pointer()
	as private (the latter got renamed from g_value_get_as_pointer()).

Wed Mar  7 09:32:06 2001  Tim Janik  <timj@gtk.org>

        * glib-object.h: add gvaluearray.h.

        * gstring.[hc]: fixup naming of g_string_sprint*.

        * gtypes.h: fixed GCompareDataFunc naming.

Wed Mar  7 09:33:27 2001  Tim Janik  <timj@gtk.org>

        * gobject/Makefile.am: shuffled rules to avoid excessive
        rebuilds.

        * gobject/gobject-sections.txt: updates.

        * gobject/tmpl/*: bunch of updates, added another patch
        from Eric Lemings <eric.b.lemings@lmco.com>.
2001-03-07 14:46:45 +00:00
Sebastian Wilhelmi
1d3de4d2d0 Avoid rebuilding everything everytime.
2001-03-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* Makefile.am: Avoid rebuilding everything everytime.
2001-03-07 13:33:45 +00:00
Tor Lillqvist
b6fef45d5a Change order of libs, put progs_LDADD last. Needed for cygwin, says
2001-02-04  Tor Lillqvist  <tml@iki.fi>

	* tests/Makefile.am (thread_LDADD): Change order of libs,
	put progs_LDADD last. Needed for cygwin, says jbdoll@kepri.re.kr.

2001-02-04  Tor Lillqvist  <tml@iki.fi>

	* Makefile.am (progs_LDADD): Change order of libs to libgobject
	first, then libglib. Needed for cygwin, says jbdoll@kepri.re.kr.
2001-02-03 22:32:10 +00:00
Tim Janik
484f2ee732 urg managed to forget this last time ;(
Wed Dec 13 09:31:26 2000  Tim Janik  <timj@gtk.org>

        * gparamspecs.[hc]: add G_TYPE_PARAM_BOXED implementation.

        * gobject.[hc]: minor fixes.
2000-12-13 08:36:17 +00:00
Tim Janik
43fb65bd39 clean up after elliot, wonder what his mother has to do on a daily basis. 2000-12-12 22:40:00 +00:00
Elliot Lee
8f7579774c GMainContext useful in implementing some additional styles of main loop
* gmain.c, gmain.h (g_main_context_new, g_main_context_destroy): GMainContext useful
in implementing some additional styles of main loop usage.  To do this, however, Joe
Hacker needs to be able to create/destroy GMainContext's at will. This is just an
export of existing functionality, rather than new functionality.

They are listed in the "Low level functions for implementing custom main loops"
section of the header file, to avoid confusing people.

* gobject/Makefile.am:
  . You have to 'touch oldest-source-stamp' if you want to avoid having
  the Makefile constantly rebuild itself.
  . Fix marshaller generation rules to work with srcdir != builddir
    (there were issues with trying to run "./glib-genmarshal", etc.)
2000-12-12 19:34:41 +00:00
Tim Janik
e773d7dba6 fixed dealing with collection/lcopy of NULL values.
Mon Dec 11 04:44:11 2000  Tim Janik  <timj@gtk.org>

	* gboxed.c: fixed dealing with collection/lcopy of NULL values.

	* gclosure.h: removed insane ramblings, added G_CALLBACK() a casting
	convenience macro.

	* Makefile.am: cleanups, marshaller generation rules.

	* gmarshal.[hc]: new files with GRuntime standard marshallers.

	* glib-genmarshal.c: fix log domain, support gruntime standard
	marshallers, suport G_TYPE_PARAM, come with extern "C" and
	#include gmarshal.h.

	* glib-genmarshal.1: reflect glib-genmarshal.c updates.

	* gobject.[hc]: implement object constructor. rework parameter
	changed notification queueing, we support queue freezes now and
	don't dispatch from an idle handler anymore.
	parameter->property rename hassle.
	implemented ::properties_changed and ::notify::* signals for
	property change notification (the later supports property names
	as details). added signal connection and named data properties.
	(g_signal_connect_object): new function to setup while_alive
	connections.
	(g_object_class_install_property): sink properties now, since they
	are initially floating.
	(g_object_steal_data):
	(g_object_set_data_full):
	(g_object_set_data):
	(g_object_get_data): set/get data by using g_datalist_*() functions
	directly.
	(g_object_queue_param_changed): nuked.
	(g_object_freeze_notify): start queueing of property changes (freeze/
	thaw calls stack).
	(g_object_notify): announce changes of a certain property directly.
	(g_object_thaw_notify): process queue of property changes, therefore
	emitting GObject::notify::detail with detail being the changed
	properties names.
	(G_OBJECT_WARN_INVALID_PROPERTY_ID): saner macro variant of former
	G_WARN_INVALID_PARAM_ID().

	* gparam.[hc]: param specs are now initially floating and need to be
	sunken with g_param_spec_sink(), support G_TYPE_PARAM values.
	added G_PARAM_CONSTRUCT and G_PARAM_CONSTRUCT_ONLY parameter flags,
	required by GObjectClass.constructor().

	* gparamspecs.[hc]: added GParamSpecParam, GParamSpecPointer and
	GParamSpecCCallback, param specs for G_TYPE_PARAM, G_TYPE_POINTER
	and G_TYPE_CCALLBACK respectively.

	* gsignal.[hc]: cleanups.
	(signal_id_lookup): after walking the anchestry, try interfaces as well.
	(g_signal_new): new function to create signals from varargs type list.
	(g_signal_connect_closure): closure connection variant that works from
	signal name+detail.
	(g_signal_connect_data): c handler connection variant that works from
	signal name+detail.
	(g_signal_emit_valist): emit signal for an instance with paraneters
	collected from a va_list.
	(g_signal_emit): emit signal, taking parameters from varargs list.
	(g_signal_emit_by_name): same as g_signal_emit, working from
	signal name+detail.
	(signal_emit_R): return whether return_value needs to be altered.

	* gtype.[hc]: set log-domain to GRuntime, i'm slowly getting to all
	the points that need to reflect the upcoming rename.
	melt g_type_conforms_to() functionality into g_type_is_a(), as that
	is what we really want (liskov substitution principle).
	assorted changes to other files due to conforms_to->is_a.

	* gvalue.[hc]: implemented g_value_set_instance() that sets a value
	from an instantiatable type via the value_table's collect_value()
	function (based on an idea from James Henstridge <james@daa.com.au>).
	cleanups/fixes.

	* gvaluetypes.[hc]: implement G_TYPE_CCALLBACK and G_TYPE_PARAM.
2000-12-12 07:32:00 +00:00
Owen Taylor
b1376c12d9 Up version to 1.3.2
Mon Nov 13 14:00:20 2000  Owen Taylor  <otaylor@redhat.com>

	* configure.in: Up version to 1.3.2

	* gconvert.h (enum GConvertError): Remove trailing ,

	* gfileutils.c (g_file_open_tmp): Fix comment to
	properly describe return value.
2000-11-13 19:01:28 +00:00
Owen Taylor
7d4a8d2c4c New basic implementation of GTypePlugin interface as a GObject.
Sun Nov  5 13:21:28 2000  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am gtypemodule.[ch]: New basic implementation of
	GTypePlugin interface as a GObject. Dynamically loaded modules can
	register any number of types and interface on the module.
2000-11-11 00:03:19 +00:00
Owen Taylor
56f81205cf revert accidentally commited change 2000-11-05 15:29:14 +00:00
Owen Taylor
a453526f35 When appending handlers and not matching on signal_id, use
Sun Nov  5 10:25:40 2000  Owen Taylor  <otaylor@redhat.com>

	* gsignal.c (handlers_find): When appending handlers and
	not matching on signal_id, use hlist->signal_id instead of
	signal_id. Having the correct signal_id when unreffing
	the handlers makes things work a lot better.
2000-11-05 15:27:31 +00:00
Tim Janik
83c45024e3 fixed a bag full of subtle bugs of immensive screw-up potential in
Sun Nov  5 05:22:55 2000  Tim Janik  <timj@gtk.org>

        * gsignal.c:
        fixed a bag full of subtle bugs of immensive screw-up potential in
        handlers_find(), luckily no one found out about them yet ;)
        fixed signal_handlers_foreach_matched_R() so it operates on an
        initial handler list snapshot provided by handlers_find() to work
        around general reentrancy problems and to avoid multiple callback()
        invocations on the same handlers.
        this code is now officially 80% bug free (10% remaining for interface
        types, and 10% remaining for destroyed signals ;)

Sat Nov  4 02:01:33 2000  Tim Janik  <timj@gtk.org>

        * gsignal.c (_g_signals_destroy): valid signal nodes start out at 1.

        * gtypeplugin.[hc]: new files holding a GTypePlugin interface
        implementation that provides the API required by GType to deal with
        dynamically loadable types.

        * gtype.[hc]: displace any GTypePlugin business to gtypeplugin.h.
2000-11-05 05:07:26 +00:00
Sebastian Wilhelmi
752f18cc24 Remove empty SUBDIRS line _again_, as that _still_ prevents 'make dist'
2000-10-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* Makefile.am: Remove empty SUBDIRS line _again_, as that _still_
	prevents 'make dist' from working.
2000-10-26 12:01:15 +00:00
Tim Janik
ee23c09e83 added newly added gobject/ headers.
Tue Oct 24 22:09:14 2000  Tim Janik  <timj@gtk.org>

        * glib-object.h: added newly added gobject/ headers.

        * gmesage.c: print g_message() output to stderr instead of stdout.

Wed Oct 25 20:27:02 2000  Tim Janik  <timj@gtk.org>

        * gtype.c (g_type_free_instance): for the moment, freeing object
        structures will fill their memory portion with 0xAA. there's a
        FIXME there, remove this line at a later point.

Tue Oct 24 23:10:26 2000  Tim Janik  <timj@gtk.org>

        * glib-genmarshal.1:
        * glib-genmarshal.c: added publically installed marshaller generator.

        * gtype.h: added G_TYPE_INSTANCE_GET_INTERFACE() to retrive a certain
        interface VTable from instances.

Mon Oct 23 08:28:15 2000  Tim Janik  <timj@gtk.org>

        * gobject.[hc]: new functions for closure maintenance:
        (g_object_watch_closure): maintain validity of the object and
        the closure for objects that are used as data part of a closure.
        (g_cclosure_new_object): convenience function to create C closures
        that have an object as data argument.
        (g_closure_new_object): convenience function to create closures
        that have an object as data argument.

        * gclosure.[hc]: implementation of GClosure mechanism.
        a closure is basically an encapsulation of a callback function
        and its environment. ideally, most places supporting callback
        functions will simply take a GClosure* pointer and thus unify
        callback environments wrg destroy notification etc.
        GClosure provides destroy notifiers for arbitrary data pointers,
        reference counting, invalidation notification (it can be invalidated
        which is merely a deactivate state) and a marshallinbg abstraction.
        GCClosure is also provided in these files, they present a specialized
        GClosure implementation for C language callbacks.

        * genum.c: macro cleanups.

        * gboxed.[hc]: new files, for boxed type abstraction.
        (g_boxed_copy): copy a boxed structure
        (g_boxed_free): free a boxed structure
        (g_value_set_boxed):
        (g_value_get_boxed): standard GValue functions for boxed types
        (g_boxed_type_register_static): convenience function for easy
        introduction of new G_TYPE_BOXED derivatives.

        * gparam.[hc]: introduced g_param_type_register_static(), a short hand
        for creation of new GParamSpec derived types.

        * gtype.[hc]: many fixes, introduced ability to flag individual
        type nodes as ABSTRACT upon registration, added value_peek_pointer()
        to the value table to peek at GValue contents as a pointer for types
        that support this. fixed up GValue checks.

        * gvalue.[hc]: added g_value_fits_pointer() and g_value_get_as_pointer()
        to peek at the value contents as pointer.

        * *.[hc]: adaptions to type macro fixes and changes in the type
        registration API.

        * many const corrections over the place.

Sat Oct 21 02:49:56 2000  Tim Janik  <timj@gtk.org>

        * gtype.c (g_type_conforms_to): this function basically behaves like
        and is_a check, except that it _additionally_ features interfaces
        for instantiatable types. enforce this in the second branch as well
        (`type' conforms_to `type') even if `type' is not an interface type.

Fri Oct 20 15:31:04 2000  Tim Janik  <timj@gtk.org>

        * gvaluetypes.[hc]: added G_TYPE_POINTER implementation from jrb.

        * gtype.[hc]:
        * gobject.c:
        * gvaluetypes.c: added GTypeValueTable.value_peek_pointer and
        suitable implementations of this for G_TYPE_STRING, G_TYPE_OBJECT
        and G_TYPE_POINTER.

Mon Aug 21 04:13:37 2000  Tim Janik  <timj@gtk.org>

        * gbsearcharray.[hc]: long standing needed generic implementation
        of a binary searchable, sorted and dynamically sized array.
2000-10-25 20:36:35 +00:00
Raja R Harinath
a626a650e5 gmodule: New variable. (dist-hook): Handle $(BUILT_EXTRA_DIST).
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-16 01:02:19 +00:00
Tor Lillqvist
8e847255e8 Revamp to be like makefile.mingw.in, make the MSVC build actually work
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-10-06 21:32:59 +00:00
Sebastian Wilhelmi
273d0c7b93 Remove empty SUBDIRS line, as that prevents make dist from working.
2000-09-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* Makefile.am: Remove empty SUBDIRS line, as that prevents make
	dist from working.
2000-09-25 14:28:56 +00:00
Elliot Lee
8f2c74a5b2 Fix inclusion of config.h
Fix inclusion of config.h
2000-08-21 23:06:11 +00:00
Owen Taylor
eb023508ad Move glib-config to glib-config-2.0 move glib.m4 to glib-2.0.m4
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-07-14 19:22:54 +00:00
Owen Taylor
ae13475277 dist fixes.
Thu Jul  6 15:30:27 2000  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am (EXTRA_DIST): dist fixes.

	* gobject.c: Add a global variable glib_debug_objects
	(not in header file) to control object tracing.
2000-07-06 20:18:12 +00:00
Tim Janik
09f8e937f2 define gstring in terms of gchar*. this typedef reflects the type name of
Fri Jun 23 17:20:26 2000  Tim Janik  <timj@gtk.org>

        * glib.h: define gstring in terms of gchar*. this typedef reflects
        the type name of the primitive G_TYPE_STRING in the gobject module.

Sat Jun 24 23:03:04 2000  Tim Janik  <timj@gtk.org>

        * gtype.[hc]: provide G_TYPE_CHAR, G_TYPE_UCHAR, G_TYPE_BOOLEAN,
        G_TYPE_INT, G_TYPE_UINT, G_TYPE_LONG, G_TYPE_ULONG, G_TYPE_FLOAT,
        G_TYPE_DOUBLE and G_TYPE_STRING fundamental types.
        added a GTypeValueTable* pointer to GTypeInfo structure for types
        to implement GValue handling functions.
        GTypeValueTable contains the following members:
          value_init(): initialize a GValue structure.
          value_free(): free GValue structure contents (optional).
          value_copy(): copy one GValue contents to another GValue structure of
          collect_type: varargs collection type for the first variable argument
          to be collected by collect_value().
          collect_value(): variable arguments collection function (optional).
          lcopy_type: varargs collection type for the first variable argument
          to be location copyied by lcopy_value().
          lcopy_value(): variable arguments location copy function (optional).
        g_type_value_table_peek(): new function to retrive the GTypeValueTable*
        for a type node. ValueTables get inherited from parent types, unless
        overridden through the GTypeInfo structure. internally, GTypeValueTable
        support means an added overhead of one pointer per static or used
        dynamic type node.
        g_type_add_class_cache_func(): provide a cache_func/data pair to be
        called  prior to a type nodes last_unref() function, this can be used
        to prevent premature class destruction. multiple installed cache_func()
        will be chained upon last_unref() untill one of them returns TRUE.
        the cache_func()s have to check the type id passed in to figure whether
        they actually wants to cache the class of this type (since any types are
        routed through the cache_func() chain).
        g_type_remove_class_cache_func(): remove a previously installed
        cache_func/data pair. the cache maintained by this function has to be
        clear when calling g_type_remove_class_cache_func() to avoid leaks.
        g_type_class_unref_uncached(): class unref function for cache_func()
        implementations, unreferences a class omitting the cache chain (and
        therefore unref->cache->unref->... loops).

        * gvaluetypes.[hc]: provide the value setters/getters for the primitive
        fundamental types boolean, char, uchar, int, uint, long, ulong, float,
        double and string.

        * gvalue.[hc]: provide G_TYPE_IS_VALUE() in terms of whether a
        GTypeValueTable is provided for this type.
        removed g_value_init_default(), g_value_validate(), g_value_defaults(),
        g_value_set_default() and g_values_cmp() as these are supplied by the
        GParamSpec API now.
        moved g_values_exchange() into the "implementation details" section,
        since it just provides the underlying functionality for
        g_value_convert().

        * gvaluecollector.h: renamed the varargs value container from
        GParamCValue to GTypeCValue as the value collection methods are
        supplied by the type system now.
        G_PARAM_COLLECT_VALUE() and G_PARAM_LCOPY_VALUE() got renamed to
        G_VALUE_COLLECT() and G_VALUE_LCOPY() and operate without a
        GParamSpec structure now.

        * genums.h: macros cleanups/fixes.

        * genum.c: provide G_TYPE_ENUM and G_TYPE_FLAGS type
        and assorted g_value_{s|g}et_{enum|flags}() implementations.

        * gobject.[hc]:
        provide G_IS_VALUE_OBJECT(), G_TYPE_OBJECT ValueTable methods
        and g_value_{s|g}et_object().

        * gparam.[hc]: reduced class to value_set_default(),
        value_validate() and values_cmp(). also parameters now need to fill
        in a GType value_type; field to indicate the GValue type they
        are handling. provide g_param_value_set_default(),
        g_param_value_defaults(), g_param_value_validate() and
        g_param_values_cmp().

        * gparamspecs.[hc]: got rid of the g_value_* functions and
        the G_IS_VALUE_* macros. adapted param spec implementations
        according to the GParamSpecClass changes.
2000-06-24 22:30:10 +00:00