32 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
Matthias Clasen
ab328469f5 Silence automake
automake doesn't like INCLUDES anymore.
2013-02-02 22:54:15 -05:00
Ryan Lortie
346aa683de Fix visibility for glib/ and gio/ submodules
We have various sub directories in glib/ and gio/ (eg: inotify, gnulib,
pcre, xdgmime, etc.) that build convenience libraries that are then
included into libglib and libgio.  The files in these directories need
to be built with the same visibility policy as the files in the first
level directories, so add CFLAGS for them all.

This wasn't a problem when the visibility flags were set directly in
CFLAGS but then we had to deal with some modules that we built that we
explicitly wanted to export symbols from.

For now, we can keep things the way they are because it's less hacky and
although it's a theoretical hazard to forget these CFLAGS, we rarely add
new subdirectories to the build.
2013-01-18 13:23:40 -05:00
Dan Winship
b8c13a01b6 win32: misc warning fixes
https://bugzilla.gnome.org/show_bug.cgi?id=688109
2012-11-15 14:19:06 -05:00
Ryan Lortie
b3b7ea8e22 Replace -I with $(glib_INCLUDES) and friends
Stop using ad hoc -I in all of our Makefile.am.  Use the new variables
instead.
2010-08-06 13:10:34 -04:00
paul
9f6faaffb6 Add $(top_builddir)/glib to includes
This is required to find glibconfig.h during srcdir != builddir builds
2010-08-05 09:08:34 -04:00
Ryan Lortie
2e53e50244 glib/: fully remove galias hacks 2010-07-07 19:34:35 -04:00
Tor Lillqvist
56f54c0ebc Bug 167569 - g_string_append_printf crashes on win32 when used with a NULL
2009-02-27  Tor Lillqvist  <tml@novell.com>

	Bug 167569 - g_string_append_printf crashes on win32 when used
	with a NULL argument

	* glib/gnulib/vasnprintf.c (vasnprintf): Add workaround for buggy
	programs. Patch by Owen.


svn path=/trunk/; revision=7917
2009-02-27 07:46:32 +00:00
Tor Lillqvist
b1557680dd glib/gprintf.c Don't define _GNU_SOURCE on Windows, as _GNU_SOURCE has
2008-09-30  Tor Lillqvist  <tml@novell.com>

	* glib/gprintf.c
	* glib/gnulib/vasnprintf.c: Don't define _GNU_SOURCE on Windows,
	as _GNU_SOURCE has unintended side effects when compiling against
	newest mingw headers.


svn path=/trunk/; revision=7563
2008-09-30 14:04:35 +00:00
Johan Dahlin
761424465a Include "config.h" instead of <config.h> Command used: find -name
2008-06-21  Johan Dahlin  <jdahlin@async.com.br>

    * *.[ch]: Include "config.h" instead of <config.h>
    Command used:
    find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g'
    Rubberstamped by Mitch


svn path=/trunk/; revision=7092
2008-06-22 15:10:51 +00:00
Tor Lillqvist
fbecd2e8ae wint_t is short on Windows, and gcc warns: "wint_t is promoted to int when
2008-05-29  Tor Lillqvist  <tml@novell.com>

	* glib/gnulib/printf-args.c (printf_fetchargs): wint_t is short on
	Windows, and gcc warns: "wint_t is promoted to int when passed
	through ... (so you should pass int not wint_t to va_arg)." So do
	that then.


svn path=/trunk/; revision=6956
2008-05-29 02:43:49 +00:00
Hans Breuer
b877c83cdc removed -GD to compile with msvc9 (vs2008) with less complains
2007-12-09  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc glib/makefile.msc.in : removed -GD to compile
	with msvc9 (vs2008) with less complains
	
	* glibconfig.h.win32.in : #define G_HAVE_ISO_VARARGS 1 for
	msv8 (vs2005) and above
	
	* glib/gfileutils.c : s/stricmp/_stricmp/
	* msvc_recommended_pragmas.h : work around Microsoft's premature 
	attempt to deprecate the C-Library

	* tests/makefile.msc.in : added checksum-test


svn path=/trunk/; revision=6076
2007-12-09 14:38:26 +00:00
Behdad Esfahbod
a38a770636 Fix EXTRA_DIST automake warnings. (#501107)
2007-12-03  Behdad Esfahbod  <behdad@gnome.org>

        * glib/gnulib/Makefile.am: Fix EXTRA_DIST automake warnings. (#501107)


svn path=/trunk/; revision=6029
2007-12-04 00:35:42 +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
Hans Breuer
770b29bad2 define PCRE_STATIC to reflect the inclusion of pcre as LIB, not
2007-03-17  Hans Breuer  <hans@breuer.org>

	* glib/makefile.msc.in glib/pcre/makefile.msc 
	  glib/update-pcre/update.sh : define PCRE_STATIC to reflect the 
	inclusion of pcre as LIB, not stand-alone DLL. Also set NEWLINE=-1
	to match any newline by default, use of ../../build/win32/make.msc

	* glib/gregex.h : minimal includes of <glib/*.H> instead of <glib.h>

	* glib/gnulib/makefile.msc : make use of ../../build/win32/make.msc

	* tests/regex-test.c(verbose): don't pass a string containing '%' 
	as first parameter to g_print ()
	(test_match) : for the unexpected case output pattern and string
	escaped

	* tests/child-test.c tests/slice-color.c : fix c99ism
	* tests/slice-test.c : fix c99ism and gccism
	* tests/mapping-test.c tests/base-64-tests.c : don't 
	#include <unistd.h> unconditionally
	* tests/option-test.c : use G_GINT64_CONSTANT() instead of direct LL

	* tests/makefile.msc.in : more tests build


svn path=/trunk/; revision=5423
2007-03-17 09:49:09 +00:00
Tor Lillqvist
b91d083561 Add -I$(top_srcdir)/glib so that gregex.h finds <glib.h>.
2007-03-15  Tor Lillqvist  <tml@novell.com>

	* glib/gnulib/Makefile.am (INCLUDES): Add -I$(top_srcdir)/glib so
	that gregex.h finds <glib.h>.

	* glib/update-pcre/Makefille.am-1: Add -DGLIB_COMPILATION so that
	we don't think g_ascii_table is dllimport.

	* glib/pcre/Makefile.am: Corresponding change.

	* glib/update-pcre/notdll.patch: New file. Drop
	dllimport/dllexport magic for the pcre symbols.

	* glib/update-pcre/Makefile.am: Dist it.

	* glib/update-pcre/update.sh: Apply notdll.patch.

	* glib/pcre/pcre.h: Corresponding change.

2007-03-15  Tor Lillqvist  <tml@novell.com>

	* glib/gtypes.h: Add comment to avoid misleading people with the
	large number of digits in G_PI etc. (#404338)


svn path=/trunk/; revision=5410
2007-03-15 15:17:17 +00:00
Michael Natterer
feb07512f0 removed all .cvsignore files. SVN doesn't need them.
2007-01-03  Michael Natterer  <mitch@imendio.com>

	* removed all .cvsignore files. SVN doesn't need them.


svn path=/trunk/; revision=5198
2007-01-03 11:22:36 +00:00
Matthias Clasen
558383d62c Fix bug 161288:
2006-12-18  Matthias Clasen  <mclasen@redhat.com>

        Fix bug 161288:

        * configure.in: Check for wcslen.

        * glib/gnulib/vasnprintf.c: Handle wcslen missing.
2006-12-18 14:38:07 +00:00
Behdad Esfahbod
3fb0fb2ef4 Add $(GLIB_DEBUG_FLAGS). (#362543, Peter Kjellerstedt)
2006-10-16  Behdad Esfahbod  <behdad@gnome.org>

        * glib/gnulib/Makefile.am: Add $(GLIB_DEBUG_FLAGS).  (#362543,
        Peter Kjellerstedt)
2006-10-16 12:51:54 +00:00
Matthias Clasen
48876d7fb5 Fix PLT issues 2006-09-30 14:06:45 +00:00
Tor Lillqvist
0d37c815d9 Fix crash when printing large 64-bit values on Win32 using the %I64x
2006-08-20  Tor Lillqvist  <tml@novell.com>

	* glib/gnulib/vasnprintf.c (vasnprintf): Fix crash when printing
	large 64-bit values on Win32 using the %I64x format. (#351034,
	Neil Piercy)
2006-08-20 13:39:48 +00:00
Matthias Clasen
1e795591bb Make long long printing work if snprintf is not available. (#332841,
2006-04-05  Matthias Clasen  <mclasen@redhat.com>

	* glib/gnulib/vasnprintf.c (vasnprintf): Make
	long long printing work if snprintf is not
	available.  (#332841, Michael McDonald)
2006-04-05 15:06:15 +00:00
Matthias Clasen
fb8e4a91e3 Undef libc functions before defining them, since they may also be macros.
2004-10-23  Matthias Clasen  <mclasen@redhat.com>

	* glib/gnulib/g-gnulib.h: Undef libc functions before defining
	them, since they may also be macros.  (#155177, Andrea Campi)
2004-10-24 01:15:08 +00:00
Matthias Clasen
eff7b0c9f2 Add top_srcdir to make srcdir != . work. (#145166, Kaz Sasayama)
Mon Jul  5 18:42:30 2004  Matthias Clasen  <maclas@gmx.de>

	* glib/gnulib/Makefile.am (INCLUDES): Add top_srcdir to
	make srcdir != . work.  (#145166, Kaz Sasayama)
2004-07-05 22:45:16 +00:00
Tor Lillqvist
267009b913 Handle empty digit string for precision correctly. (#142400)
2004-05-14  Tor Lillqvist  <tml@iki.fi>

	* glib/gnulib/vasnprintf.c (vasnprintf): Handle empty digit string
	for precision correctly. (#142400)

	For backward compatibility with the Trio implementation, make "ll"
	format modifer work on Win32, too. Change into "I64" before
	passing to the system printf. (#142433)

	* tests/printf-test.c (main): Add tests for the above.
2004-05-14 04:58:19 +00:00
Hans Breuer
a23e28657d added makefile.msc to EXTRA_DIST fixes #141563, Steve Lhomme
2004-05-01  Hans Breuer  <hans@breuer.org>

	* glib/gnulib/Makefile.am : added makefile.msc to EXTRA_DIST
	fixes #141563, Steve Lhomme
2004-05-01 13:48:24 +00:00
Matthias Clasen
76433d5365 Fix 64bit printing for MSVC builds (#119292, Hans Breuer):
Sun Nov  2 01:47:31 2003  Matthias Clasen  <maclas@gmx.de>

	Fix 64bit printing for MSVC builds (#119292, Hans Breuer):

	* configure.in (HAVE_INT64_AND_I64): Define for MSVC to
	include support for printing __int64 with format %I64 in
	the gnulib printf wrappers.
	* glib/gnulib/printf-args.h (enum arg_type): Add TYPE_INT64
	and TYPE_UINT64.
	* glib/gnulib/printf-args.h (struct argument): Add a_int64 and
	a_uint64 members.
	* glib/gnulib/printf-args.c (printf_fetchargs): Support
	TYPE_INT64 and TYPE_UINT64.
	* glib/gnulib/printf-parse.c (printf_parse): Parse I64 format
	modifier and map formats to TYPE_INT64.
	* glib/gnulib/vasnprintf.c (vasnprintf): Print TYPE_INT64 with
	format modifier I64.
	* glib/gnulib/README: Document the __int64 support.
2003-11-02 00:54:02 +00:00
Tor Lillqvist
5d097b8591 Force shared library (DLL) only on Windows. (I don't think that is
2003-10-24  Tor Lillqvist  <tml@iki.fi>

	* configure.in: Force shared library (DLL) only on Windows.
	(I don't think that is controversial?) Remove unnecessary
	AC_LIBTOOL_WIN32_DLL. Don't use -D_REENTRANT on
	Win32, it is not used by mingw or MSVC headers.

	* config.h.win32.in
	* glibconfig.h.win32.in: Match what configure produces.

	* glib/gconvert.c
	* glib/gutils.c: Mark a couple of functions and variables that
	aren't public as static.

	* glib/gnulib/g-gnulib.h: Undef HAVE_SNPRINTF before (re)defining
	it potentially differently, to silence compiler.

	* glib/glib.def: Add some missing entries.

	* tests/gobject/Makefile.am (LDADD): Reorder, put libgobject after
	libtestgobject.

	* tests/gobject/ifaceproperties.c (main): NULL-terminate arg list
	to g_object_set() and _get().
2003-10-24 03:41:22 +00:00
Matthias Clasen
9a76ff17c1 Make the various printf feature test macros reflect the system printf,
2003-10-05  Matthias Clasen  <maclas@gmx.de>

	* configure.in: Make the various printf feature test macros
	reflect the system printf, even when using the included printf.
	In particular, don't force HAVE_C99_SNPRINTF, since g-gnulib.h
	needs that test result.  (#122973)

	* glib/gprintf.c (g_vasprintf): Don't rely on HAVE_VASPRINTF,
	directly check for _g_vasprintf.

	* glib/gprintfint.h (_g_vasprintf): Only define _g_vasprintf()
	if vasprintf() is available.

	* glib/gnulib/printf.c (_g_gnulib_vfprintf): Don't write
	trailing nul to the file. (#122973)

	* acinclude.m4 (AC_FUNC_VSNPRINTF_C99): Make the test
	detect non-C99-compliance of AIX 5.1 and Solaris
	vsnprintf().  (#122496)
2003-10-04 23:24:02 +00:00
Anders Carlsson
12eae9a669 Add .cvsignore 2003-08-13 08:39:41 +00:00
Hans Breuer
1fd50a1454 for msvc build
2003-08-05  Hans Breuer  <hans@breuer.org>

	* glib/gnulib/makefile.msc : (new file) for msvc build

	* glib/gnulib/vasnprintf.c : use glib/galloc.h

	* glib/gnulib/printf.h : #include <stdio.h> for FILE*

	* glib/makefile.msc.in : replace trio with gnulib

	* glib/glib.def : updated externals

	* glib/guniprop.c : fix for guniprop.c(582) : error C2082:
	redefinition of formal parameter 'len'
2003-08-05 22:21:19 +00:00
Matthias Clasen
3389a051da Add gnulib vasnprintf(). 2003-07-28 22:58:01 +00:00