Commit Graph

143 Commits

Author SHA1 Message Date
Ryan Lortie
f9eb9eed10 Rework the build system for a new tests approach
Perform a substantial cleanup of the build system with respect to
building and installing testcases.

First, Makefile.decl has been renamed glib.mk and substantially
expanded.  We intend to add more stuff here in the future, like canned
rules for mkenums, marshallers, resources, etc.

By default, tests are no longer compiled as part of 'make'.  They will
be built when 'make check' is run.  The old behaviour can be obtained
with --enable-always-build-tests.

--disable-modular-tests is gone (because tests are no longer built by
default).  There is no longer any way to cause 'make check' to be a
no-op, but that's not very useful anyway.

A new glibtests.m4 file is introduced.  Along with glib.mk, this
provides for consistent handling of --enable-installed-tests and
--enable-always-build-tests (mentioned above).

Port our various test-installing Makefiles to the new framework.

This patch substantially improves the situation in the toplevel tests/
directory.  Things are now somewhat under control there.  There were
some tests being built that weren't even being run and we run those now.
The long-running GObject performance tests in this directory have been
removed from 'make check' because they take too long.

As an experiment, 'make check' now runs the testcases on win32 builds,
by default.  We can't run them under gtester (since it uses a pipe to
communicate with the subprocess) so just toss them in TESTS.  Most of
them are passing on win32.

Things are not quite done here, but this patch is already a substantial
improvement.  More to come.
2013-05-31 23:12:15 -04:00
Ryan Lortie
614f6c5e70 Add new API checking utility
Add a test script to make sure that (with a few exceptions) only symbols
that start with 'g_' are being exported from our public libraries.

https://bugzilla.gnome.org/show_bug.cgi?id=692029
2013-01-18 13:57:07 -05:00
Colin Walters
cff536c99e mkinstalldirs: Delete from version control
This is installed by automake.  By maintaining it in git, we create
merge conflicts as people build with different versions of automake.

Just use 'mkdir -p' instead in gettext.  Should be portable enough.

https://bugzilla.gnome.org/show_bug.cgi?id=686839
2012-10-29 09:39:36 -04:00
Colin Walters
f084b60377 build: Add --disable-modular-tests build option
This patch solves two problems:

First, it allows builders to optionally cut the circular dependency
between dbus and glib by disabling the modular tests (just like how
the tests can be disabled in dbus).

Second, the tests are entirely pointless to build if cross-compiling.

It also moves us slightly closer to the long term future we want where
the tests are a separate ./configure invocation and run against the
INSTALLED glib, not the one in the source tree. This would allow us to
run the tests constantly, not just when glib is built.

https://bugzilla.gnome.org/show_bug.cgi?id=667806
2012-04-15 11:15:54 -04:00
Ryan Lortie
306aa62ea5 drop -uninstalled.pc files
These were meant to provide the ability to use GLib directly out of its
build tree but have a couple of rather serious limitations that prevent
their serious use:

 - these files only worked with programs built using libtool

 - for non-trivial uses, other environment variables will need to be
   setup to allow GLib to function properly

 - the system doesn't stack well when attempting to use multiple
   libraries all uninstalled

The jhbuild --prefix= style system works much better in every way, so we
remove this old hack.
2011-10-16 19:14:18 -04:00
Matthias Clasen
a21ee644c8 Don't distribute MAINTAINERS
...it does not exist anymore.
2011-08-29 19:02:33 -04:00
Colin Walters
5f7be6c67d build: Use --disable-maintainer-mode for distcheck
Otherwise due to weird things like gtk-doc.make copying files back
into the source directory, we may run into the maintainer mode
bits mistakenly attempting to rerun.
2011-07-05 10:20:48 -04:00
Colin Walters
9053ad07ba Fix a srcdir!=builddir issue, and export that we support it
Future jhbuild versions will consume the BUILD API and automatically
use a builddir, so mark us as supporting it.
2011-06-21 10:30:07 -04:00
Javier Jardón
de56aca0b5 Clean autotools config a bit
New requirements:
autoconf >= 2.62
automake >= 1.10
libtool >= 2.2
2010-07-13 19:36:37 +02:00
Ryan Lortie
83d67bf2e7 move glibconfig.h to glib/ 2010-07-12 15:33:05 -04:00
Matthias Clasen
d9dc570c59 Add ACLOCAL_AMFLAGS to Makefile.am
Patch by Vincent Untz, bug 570036
2010-07-10 20:02:48 -04:00
Matthias Clasen
cca48bd5b9 Add support for coverage reports with lcov
Patch by Patrick Hulin, bug #501057.
2010-06-20 22:46:47 -04:00
Ryan Lortie
fcbddd746b Add 'if' that was absorbed by $(AM_V_GEN)
From commit 1b8ee5196e
2010-06-17 09:38:39 -04:00
Christian Persch
1b8ee5196e Sprinkle some $(AM_V_GEN) around to make the build more silent. 2010-06-15 22:01:02 -04:00
Tor Lillqvist
9af8b83211 Add GWin32InputStream and GWin32OutputStream classes
Correspond to GUnixInputStream and GUnixOutputStream. No true async
support though. But that is how the Win32 API is, for files not
explicitly opened for so-called overlapped IO.

The API to create these streams takes Win32 HANDLEs. Not file
descriptors, because file descriptors are specific to the C library
used. The user code and GLib might be using different C libraries.

Also add a test program for the new classes, and a gio-windows-2.0.pc
file.
2010-04-19 11:54:56 +03:00
Tor Lillqvist
8202728f06 Install gio-unix-2.0.pc only on Unix
The gio-unix-2.0 headers are installed only on Unix anyway.
2009-12-22 00:48:34 +02:00
Matthias Clasen
20774c5663 Add a rule to generate ChangeLog
We use the same rule pango uses to create a ChangeLog file with
the help of git-log. The format is somewhat different from traditional
ChangeLog, but it contains the relevant information.
2009-04-02 23:42:29 -04:00
Matthias Clasen
785bed2e18 Update README files to refer to git
Update various README files to refer to git instead of svn.
Add a README.commits that is pretty much a copy of the same file
in GTK+. Also discontinue ChangeLog files.
2009-03-31 19:39:16 -04:00
Matthias Clasen
ec48fa8fc2 2.19.1
svn path=/trunk/; revision=7717
2008-12-01 14:44:26 +00:00
12:58:54 Tim Janik
a9287f0cdf fixed build order to build gobject after gmodule gthread so gobject tests
2008-02-07 12:58:54  Tim Janik  <timj@imendio.com>

        * Makefile.am: fixed build order to build gobject after gmodule gthread
        so gobject tests can be threaded.



svn path=/trunk/; revision=6480
2008-02-07 12:00:34 +00:00
Matthias Clasen
48ba9ea756 2.15.0
svn path=/trunk/; revision=6180
2007-12-21 00:37:41 +00:00
Behdad Esfahbod
942f84e6c9 Don't descend into build/. (#500875)
2007-12-01  Behdad Esfahbod  <behdad@gnome.org>

        * Makefile.am: Don't descend into build/. (#500875)


svn path=/trunk/; revision=6012
2007-12-01 23:46:17 +00:00
Alexander Larsson
3781343738 gio/ docs/reference/gio Merged gio-standalone into glib.
2007-11-26  Alexander Larsson  <alexl@redhat.com>

        * Makefile.am:
        * configure.in:
        * gio-2.0-uninstalled.pc.in:
        * gio-2.0.pc.in: 
        * gio-unix-2.0-uninstalled.pc.in:
        * gio-unix-2.0.pc.in:
	* gio/
	* docs/reference/gio
	Merged gio-standalone into glib.
	
        * glib/glibintl.h:
        * glib/gutils.c:
	Export glib_gettext so that gio can use it
	Add P_ (using same domain for now)
	Add I_ as g_intern_static_string


svn path=/trunk/; revision=5941
2007-11-26 16:13:05 +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
284c7e559b Add AM_PROG_CC_C_O.
2007-11-09  Matthias Clasen <mclasen@redhat.com>

        * configure.in: Add AM_PROG_CC_C_O.

        * Makefile.am: Remove the install-exec-local hook and use
        configexecincludedir_DATA instead, in an attempt to avoid
        automake 1.9 <> 1.10 incompatibilities.

        * glib/Makefile.am: Rename MIRRORING_TAB_SOURCES, since
        automake 1.10 complains.


svn path=/trunk/; revision=5848
2007-11-09 23:40:41 +00:00
Matthias Clasen
11c7634af3 Use MKDIRS_P instead of mkinstalldirs.
2007-11-08  Matthias Clasen <mclasen@redhat.com>

        * Makefile.am: Use MKDIRS_P instead of mkinstalldirs.



svn path=/trunk/; revision=5829
2007-11-09 01:33:40 +00:00
Matthias Clasen
0b434a3cbd 2.14.0
svn path=/trunk/; revision=5674
2007-08-04 03:03:02 +00:00
Tor Lillqvist
420262f515 Makefile.am Add the references to build back.
2007-04-15  Tor Lillqvist  <tml@novell.com>

	* Makefile.am
	* configure: Add the references to build back.


svn path=/trunk/; revision=5451
2007-04-15 11:44:41 +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
Michael Natterer
99b531f425 configure.in remove references to build/ until a proper decision has been
2007-01-02  Michael Natterer  <mitch@imendio.com>

	* configure.in
	* Makefile.am: remove references to build/ until a proper decision
	has been made what to do with it.


svn path=/trunk/; revision=5189
2007-01-02 10:40:27 +00:00
Matthias Clasen
0b8901daee dist all changelogs 2006-03-09 05:31:52 +00:00
Brian Cameron
e9cc05b828 Added gmodule-no-export-2.0-uninstalled.pc.in to allow building of other
2005-05-06  Brian Cameron  <brian.cameron@sun.com>

        * configure.in, gmodule-no-export-2.0-uninstalled.pc.in,
          Makefile.am:  Added gmodule-no-export-2.0-uninstalled.pc.in
          to allow building of other libraries like pango when
          glib is uninstalled.
2005-05-06 21:54:52 +00:00
Owen Taylor
5a18db1986 Add missing ChangeLog.pre*
2005-01-10  Owen Taylor  <otaylor@redhat.com>

        * Makefile.am (EXTRA_DIST): Add missing ChangeLog.pre*
2005-01-10 16:08:48 +00:00
Matthias Clasen
117ae23f5d Generate and distribute gmodule-export-2.0.pc, which is currently just a
2005-01-07  Matthias Clasen  <mclasen@redhat.com>

	* configure.in:
	* Makefile.am: Generate and distribute gmodule-export-2.0.pc,
	which is currently just a copy of gmodule-2.0.pc, but makes
	it explicit that it adds --export-dynamic.

	* gmodule-export-2.0.pc.in: Copy of gmodule-2.0.pc.in.
2005-01-07 15:20:15 +00:00
Matthias Clasen
846e5140c3 Add gmodule-no-export-2.0.pc.in
2004-11-16  Matthias Clasen  <mclasen@redhat.com>

	* Makefile.am (EXTRA_DIST):
	* configure.in (AC_CONFIG_FILES): Add gmodule-no-export-2.0.pc.in

	* gmodule-no-export-2.0.pc.in: Add a variants of gmodule-2.0.pc.in
	which doesn't add -Wl,--export-dynamic, since Pango or GTK+ don't
	need it.  (#125627, Owen Taylor)
2004-11-17 03:33:05 +00:00
Matthias Clasen
6179b0620b Fix #132858, Sven Neumann, patch by James Henstridge:
2004-07-21  Matthias Clasen  <mclasen@redhat.com>

	Fix #132858, Sven Neumann, patch by James Henstridge:

	* glib-gettextize.in: modify so that mkinstalldirs will
	get installed into auxdir.

	* Makefile.am (gettext_SCRIPTS): install mkinstalldirs.
2004-07-21 18:14:54 +00:00
Soeren Sandmann
0192c59937 === Released 2.5.0 ===
Sun Jul 18 19:40:30 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	* === Released 2.5.0 ===

	* Makefile.am (BUILT_EXTRA_DIST): move gtk-doc.make here.
2004-07-18 17:44:23 +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
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
ff78c76b46 Include ChangeLog.pre-2-2.
2003-02-11  Tor Lillqvist  <tml@iki.fi>

	* Makefile.am (EXTRA_DIST): Include ChangeLog.pre-2-2.
2003-02-11 18:02:53 +00:00
Owen Taylor
305742130f Remove references to glib.spec. (#102231)
Thu Jan 30 16:45:13 2003  Owen Taylor  <otaylor@redhat.com>

        * Makefile.am: Remove references to glib.spec.
        (#102231)

        * configure.in: Don't generate glib.spec.
2003-01-30 21:47:23 +00:00
Tor Lillqvist
90f62a657f Don't distribute glib-zip.
2003-01-04  Tor Lillqvist  <tml@iki.fi>

	* Makefile.am (BUILT_EXTRA_DIST): Don't distribute glib-zip.
2003-01-04 17:14:35 +00:00
Owen Taylor
83fbec4d46 [ merged from stable ]
Mon May  6 11:48:08 2002  Owen Taylor  <otaylor@redhat.com>

	[ merged from stable ]

        * Makefile.am (EXTRA_DIST): Add ChangeLog.pre-2-0 (#78641)

        * m4macros/glib-2.0.m4: save CFLAGS/LIBS properly when
        compiling "what went wrong" test case. (#79330)

        * m4macros/glib-2.0.m4: Remove reference to editing
        pkg-config script. (From Jim Gettys)

        * configure.in: (Look for dyld interfaces before dlopen()
        since OS X can have both. Patch from Jacob Berkman,
        #80438)
2002-05-06 16:07:03 +00:00
Owen Taylor
dac25522cd Updates.
Fri Mar  8 00:15:29 2002  Owen Taylor  <otaylor@redhat.com>

        * README.in: Updates.

        * README.in: Add warnings about current encoding problems with .po
        files and error logging functions.

        * configure.in: Check for bind_textdomain_codeset().

        * glib/gutils.c (_glib_gettext): Call
        bind_textdomain_codeset, if present.

        * INSTALL.in: Some updates.

        * AUTHORS: Updates.

        * Makefile.am (EXTRA_DIST): Remove TODO.xml from EXTRA_DIST.

        * docs/Makefile.am (EXTRA_DIST): Remove Changes-2.0.txt
        from EXTRA_DIST.
2002-03-08 05:48:03 +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
Hans Breuer
2665d8cefd moved warning to error pragmas to their own file to not force 'good
2002-01-05  Hans Breuer  <hans@breuer.org>

	* glibconfig.h.win32.in
	  msvc_recommended_pragmas.h (new file) : moved warning to
	error pragmas to their own file to not force 'good practice'
	programming in downstream libs and apps. Instead the new header
	will be used by -FImsvc_recommended_pragmas.h in gnome/cvs
	makefile.msc
	* */makefile.msc.in : use -FImsvc_recommended_pragmas.h

	* makefile.am : add msvc_recommended_pragmas.h to EXTRA_DIST
2002-01-05 19:11:32 +00:00
Owen Taylor
4ab50f038b Version 11, interface, binary age 0.
Thu Nov 22 13:14:18 2001  Owen Taylor  <otaylor@redhat.com>

        * configure.in (GLIB_MICRO_VERSION): Version 11,
        interface, binary age 0.

        * NEWS: Updated.

        * tests/Makefile.am (libmoduletestplugin_[ab]_la_LDFLAGS):
        Add dummy -rpath argument. On some (but not all) platforms,
        libtool will only build a convenience library without this.
        (#63486, Dan Winship)

        * Makefile.am (EXTRA_DIST): Add README.in, INSTALL.in -
        autoconf-2.5x checks for 'make dist' in the tarball
        when you make distcheck.

        * glib/Makefile.am (EXTRA_DIST): Distribute
        makefile.msc/mingw.in, glib.rc.in.

        * tests/patterntest.c: Include string.h.

        * glib/gpattern.c (g_utf8_reverse): doc parsing fix.
2001-11-22 18:56:12 +00:00
Tim Janik
79208c7cf6 provide g_newa(ctype, count) on top of g_alloca() like we provide g_new()
Wed Nov 14 07:34:24 2001  Tim Janik  <timj@gtk.org>

        * glib/galloca.h (g_newa): provide g_newa(ctype, count) on top of
        g_alloca() like we provide g_new() on top of g_malloc().
2001-11-14 07:50:12 +00:00
Tor Lillqvist
a0781a1747 New file, used to build distribution packages for Windows.
2001-10-30  Tor Lillqvist  <tml@iki.fi>

	* glib-zip.in: New file, used to build distribution packages for
	Windows.

	* configure.in: Expand it.

	* Makefile.am: Distribute it.

	* config.h.win32.in: Update to match currently produced config.h
2001-10-29 22:33:34 +00:00