glib/tests/Makefile.am

207 lines
5.7 KiB
Makefile
Raw Normal View History

Make refcounting threadsafe by using atomic operations. (#166020, Wim 2005-07-15 Matthias Clasen <mclasen@redhat.com> Make refcounting threadsafe by using atomic operations. (#166020, Wim Taymans) * gobject.c: Use a recursive lock to protect the notify queue. (g_object_unref): Get rid of g_object_last_unref and do the last unref handling in g_object_unref. (g_object_ref, g_object_unref): Use atomic operations. * gsignal.c (struct _HandlerMatch): Use a full integer for the ref_count field. (handler_ref, handler_unref_R): Use atomic operations. * gparam.c (g_param_spec_ref, g_param_spec_unref): Use atomic operations instead of a lock to make the refcounting threadsafe. * gclosure.c (g_closure_ref, g_closure_unref): Use atomic operations. This is more complicated here, since the refcount is stored in a bitfield, so we also have to access all other bitfield members atomically. * gsignal.c (handlers_find): Read the meta_marshal flag of the closure atomically. * tests/Makefile.am (SUBDIRS): Add tests/refcount * configure.in: Add tests/refcount * tests/refcount/properties.c: Test property changes from multiple threads. * tests/refcount/signals.c: Test signal emission from multiple threads. * tests/refcount/objects.c: Test refcounting from multiple threads. * tests/refcount/objects2.c: * tests/refcount/properties2.c: Tests to measure the overhead of threadsafe refcounting. * glib/giochannel.c (g_io_channel_ref, g_io_channel_unref): Use atomic operations to make refcounting threadsafe. (#166020, Wim Taymans)
2005-07-15 18:51:10 +02:00
SUBDIRS=gobject refcount
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 11:10:48 +01:00
INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/glib -I$(top_srcdir)/gmodule $(GLIB_DEBUG_FLAGS)
EFENCE=
libglib = $(top_builddir)/glib/libglib-2.0.la
libgthread = $(top_builddir)/gthread/libgthread-2.0.la
libgmodule = $(top_builddir)/gmodule/libgmodule-2.0.la
libgobject = $(top_builddir)/gobject/libgobject-2.0.la
if PLATFORM_WIN32
libadd_libgmodule = $(libgmodule)
libadd_libglib = $(libglib)
no_undefined = -no-undefined
module_test_exp = module-test.exp
module-test.exp: module-test.o
dlltool --output-exp module-test.exp module-test.o
spawn_test_win32_gui = spawn-test-win32-gui
spawn_test_win32_gui_LDFLAGS = -mwindows
endif
EXTRA_DIST = \
$(test_scripts) \
makefile.msc.in \
casefold.txt \
casemap.txt \
gen-casefold-txt.pl \
gen-casemap-txt.pl \
iochannel-test-infile \
utf8.txt
BUILT_EXTRA_DIST = \
makefile.msc
2000-10-16 03:02:19 +02:00
if HAVE_CXX
CXX_TEST = cxx-test
cxx_test_LDADD = $(progs_ldadd)
cxx_test_SOURCES = cxx-test.C
else
CXX_TEST =
endif
if ENABLE_TIMELOOP
timeloop = timeloop timeloop-closure
endif
noinst_PROGRAMS = testglib testgdate testgdateparser unicode-normalize unicode-collate $(timeloop)
testglib_LDADD = $(libglib)
patterntest_LDADD = $(libglib)
testgdate_LDADD = $(libglib)
testgdateparser_LDADD = $(libglib)
unicode_normalize_LDADD = $(libglib)
if ENABLE_TIMELOOP
timeloop_LDADD = $(libglib)
timeloop_closure_LDADD = $(libglib) $(libgobject)
endif
test_programs = \
atomic-test \
array-test \
$(CXX_TEST) \
child-test \
completion-test \
convert-test \
date-test \
dirname-test \
2003-07-26 11:24:46 +02:00
file-test \
2003-07-28 21:30:05 +02:00
env-test \
gio-test \
hash-test \
iochannel-test \
keyfile-test \
list-test \
mainloop-test \
mapping-test \
markup-escape-test \
module-test \
node-test \
option-test \
patterntest \
printf-test \
queue-test \
asyncqueue-test \
qsort-test \
rand-test \
relation-test \
shell-test \
slist-test \
slice-test \
slice-color \
spawn-test \
$(spawn_test_win32_gui) \
strfunc-test \
string-test \
strtod-test \
thread-test \
threadpool-test \
tree-test \
type-test \
unicode-caseconv \
unicode-encoding \
utf8-validate \
utf8-pointer \
uri-test
test_scripts = run-markup-tests.sh run-collate-tests.sh
test_script_support_programs = markup-test unicode-collate
check_PROGRAMS = $(test_programs) $(test_script_support_programs)
TESTS = $(test_programs) $(test_scripts)
TESTS_ENVIRONMENT = srcdir=$(srcdir) \
LIBCHARSET_ALIAS_DIR=$(top_builddir)/glib/libcharset \
MALLOC_CHECK_=2 \
MALLOC_PERTURB_=$$(($$RANDOM % 256))
progs_ldadd = $(EFENCE) $(libglib) $(EFENCE)
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 11:10:48 +01:00
thread_ldadd = $(libgthread) $(G_THREAD_LIBS) $(progs_ldadd)
module_ldadd = $(libgmodule) $(G_MODULE_LIBS) $(progs_ldadd)
atomic_test_LDADD = $(progs_ldadd)
array_test_LDADD = $(progs_ldadd)
child_test_LDADD = $(thread_ldadd)
completion_test_LDADD = $(progs_ldadd)
convert_test_LDADD = $(progs_ldadd)
date_test_LDADD = $(progs_ldadd)
dirname_test_LDADD = $(progs_ldadd)
2003-07-26 11:24:46 +02:00
file_test_LDADD = $(progs_ldadd)
2003-07-28 21:30:05 +02:00
env_test_LDADD = $(progs_ldadd)
gio_test_LDADD = $(progs_ldadd)
hash_test_LDADD = $(progs_ldadd)
iochannel_test_LDADD = $(progs_ldadd)
keyfile_test_LDADD = $(progs_ldadd)
list_test_LDADD = $(progs_ldadd)
mainloop_test_LDADD = $(thread_ldadd)
markup_test_LDADD = $(progs_ldadd)
mapping_test_LDADD = $(progs_ldadd)
markup_escape_test_LDADD = $(progs_ldadd)
module_test_LDADD = $(module_ldadd) $(module_test_exp)
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 11:10:48 +01:00
module_test_LDFLAGS = $(G_MODULE_LDFLAGS)
node_test_LDADD = $(progs_ldadd)
option_test_LDADD = $(progs_ldadd)
printf_test_LDADD = $(progs_ldadd)
queue_test_LDADD = $(progs_ldadd)
asyncqueue_test_LDADD = $(thread_ldadd)
qsort_test_LDADD = $(progs_ldadd)
rand_test_LDADD = $(progs_ldadd)
relation_test_LDADD = $(progs_ldadd)
shell_test_LDADD = $(progs_ldadd)
slist_test_LDADD = $(progs_ldadd)
slice_test_SOURCES = slice-test.c memchunks.c
slice_test_LDADD = $(thread_ldadd)
slice_color_SOURCES = slice-color.c memchunks.c
slice_color_LDADD = $(thread_ldadd)
spawn_test_LDADD = $(progs_ldadd)
strfunc_test_LDADD = $(progs_ldadd)
string_test_LDADD = $(progs_ldadd)
strtod_test_LDADD = $(progs_ldadd) -lm
thread_test_LDADD = $(thread_ldadd)
threadpool_test_LDADD = $(thread_ldadd)
tree_test_LDADD = $(progs_ldadd)
type_test_LDADD = $(progs_ldadd)
unicode_encoding_LDADD = $(progs_ldadd)
unicode_caseconv_LDADD = $(progs_ldadd)
unicode_collate_LDADD = $(progs_ldadd)
utf8_validate_LDADD = $(progs_ldadd)
utf8_pointer_LDADD = $(progs_ldadd)
uri_test_LDADD = $(progs_ldadd)
lib_LTLIBRARIES = libmoduletestplugin_a.la libmoduletestplugin_b.la
# Prevent those libs from being installed
install-libLTLIBRARIES:
:
libmoduletestplugin_a_la_SOURCES = libmoduletestplugin_a.c
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 11:10:48 +01:00
libmoduletestplugin_a_la_LDFLAGS = $(G_MODULE_LDFLAGS) -avoid-version -module $(no_undefined) -rpath $(libdir)
libmoduletestplugin_a_la_LIBADD = $(G_MODULE_LIBS) $(libadd_libgmodule) $(libadd_libglib)
libmoduletestplugin_b_la_SOURCES = libmoduletestplugin_b.c
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 11:10:48 +01:00
libmoduletestplugin_b_la_LDFLAGS = $(G_MODULE_LDFLAGS) -avoid-version -module $(no_undefined) -rpath $(libdir)
libmoduletestplugin_b_la_LIBADD = $(G_MODULE_LIBS) $(libadd_libgmodule) $(libadd_libglib)
2000-10-16 03:02:19 +02:00
dist-hook: $(BUILT_EXTRA_DIST)
files='$(BUILT_EXTRA_DIST)'; \
for f in $$files; do \
if test -f $$f; then d=.; else d=$(srcdir); fi; \
cp $$d/$$f $(distdir) || exit 1; done
mkdir $(distdir)/markups; \
for f in $(srcdir)/markups/* ; do \
2005-11-18 14:58:48 +01:00
cp $$f $(distdir)/markups; done
mkdir $(distdir)/collate; \
for f in $(srcdir)/collate/* ; do \
2005-11-18 14:58:48 +01:00
if test -f $$f; then cp $$f $(distdir)/collate; fi; done
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 11:10:48 +01:00
2005-06-10 17:48:25 +02:00
DISTCLEANFILES = iochannel-test-outfile \
2005-06-30 23:01:58 +02:00
file-test-get-contents \
maptest \
2005-11-18 14:58:48 +01:00
mapchild \
collate.out