On Win32, create separate .exp file for module-test.o and link with that.
[platform/upstream/glib.git] / tests / Makefile.am
1 INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/glib -I$(top_srcdir)/gmodule @GLIB_DEBUG_FLAGS@
2
3 EFENCE=
4
5 libglib = $(top_builddir)/glib/libglib-1.3.la
6 libgthread = $(top_builddir)/gthread/libgthread-1.3.la
7 libgmodule = $(top_builddir)/gmodule/libgmodule-1.3.la
8 libgobject = $(top_builddir)/gobject/libgobject-1.3.la
9
10 if PLATFORM_WIN32
11 libadd_libgmodule = $(libgmodule)
12 libadd_libglib = $(libglib)
13 no_undefined = -no-undefined
14
15 module_test_exp = module-test.exp
16
17 module-test.exp: module-test.o
18         dlltool --output-exp module-test.exp module-test.o
19 endif
20
21 EXTRA_DIST =                                    \
22         $(test_scripts)                         \
23         makefile.msc.in                         \
24         makefile.mingw.in                       \
25         casefold.txt                            \
26         casemap.txt                             \
27         gen-casefold-txt.pl                     \
28         gen-casemap-txt.pl                      \
29         iochannel-test-infile                   \
30         utf8.txt
31
32 BUILT_EXTRA_DIST =                              \
33         makefile.mingw                          \
34         makefile.msc
35
36 if HAVE_CXX
37 CXX_TEST = cxx-test
38 cxx_test_LDADD = $(progs_LDADD)
39 cxx_test_SOURCES = cxx-test.C
40 else
41 CXX_TEST =
42 endif
43
44 if ENABLE_TIMELOOP
45 timeloop = timeloop timeloop-closure
46 endif
47 noinst_PROGRAMS = testglib patterntest testgdate testgdateparser unicode-normalize unicode-collate $(timeloop)
48 testglib_LDADD = $(libglib)
49 patterntest_LDADD = $(libglib)
50 testgdate_LDADD = $(libglib)
51 testgdateparser_LDADD = $(libglib)
52 unicode_normalize_LDADD = $(libglib)
53 unicode_collate_LDADD = $(libglib)
54 if ENABLE_TIMELOOP
55 timeloop_LDADD = $(libglib)
56 timeloop_closure_LDADD = $(libglib) $(libgobject)
57 endif
58
59 # mainloop-test removed for now until it is fixed
60
61 test_programs =                                 \
62         array-test                              \
63         $(CXX_TEST)                             \
64         date-test                               \
65         dirname-test                            \
66         gio-test                                \
67         hash-test                               \
68         iochannel-test                          \
69         list-test                               \
70         mainloop-test                           \
71         module-test                             \
72         node-test                               \
73         queue-test                              \
74         qsort-test                              \
75         rand-test                               \
76         relation-test                           \
77         shell-test                              \
78         slist-test                              \
79         spawn-test                              \
80         strfunc-test                            \
81         string-test                             \
82         strtod-test                             \
83         thread-test                             \
84         threadpool-test                         \
85         tree-test                               \
86         type-test                               \
87         unicode-caseconv                        \
88         unicode-encoding                        \
89         uri-test
90
91 test_scripts = run-markup-tests.sh
92
93 test_script_support_programs = markup-test
94
95 check_PROGRAMS = $(test_programs) $(test_script_support_programs)
96
97 TESTS = $(test_programs) $(test_scripts)
98 TESTS_ENVIRONMENT = srcdir=$(srcdir)
99
100 progs_LDADD = $(EFENCE) $(libglib) $(EFENCE)
101 thread_LDADD = $(libgthread) @G_THREAD_LIBS@ $(progs_LDADD)
102 module_LDADD = $(libgmodule) @G_MODULE_LIBS@ $(progs_LDADD)
103
104 array_test_LDADD = $(progs_LDADD)
105 date_test_LDADD = $(progs_LDADD)
106 dirname_test_LDADD = $(progs_LDADD)
107 gio_test_LDADD = $(progs_LDADD)
108 hash_test_LDADD = $(progs_LDADD)
109 iochannel_test_LDADD = $(progs_LDADD)
110 list_test_LDADD = $(progs_LDADD)
111 mainloop_test_LDADD = $(thread_LDADD)
112 markup_test_LDADD = $(progs_LDADD)
113 module_test_LDADD = $(module_LDADD) $(module_test_exp)
114 module_test_LDFLAGS = @G_MODULE_LDFLAGS@
115 node_test_LDADD = $(progs_LDADD)
116 queue_test_LDADD = $(progs_LDADD)
117 qsort_test_LDADD = $(progs_LDADD)
118 rand_test_LDADD = $(progs_LDADD)
119 relation_test_LDADD = $(progs_LDADD)
120 shell_test_LDADD = $(progs_LDADD)
121 slist_test_LDADD = $(progs_LDADD)
122 spawn_test_LDADD = $(progs_LDADD)
123 strfunc_test_LDADD = $(progs_LDADD)
124 string_test_LDADD = $(progs_LDADD)
125 strtod_test_LDADD = $(progs_LDADD) -lm
126 thread_test_LDADD = $(thread_LDADD)
127 threadpool_test_LDADD = $(thread_LDADD)
128 tree_test_LDADD = $(progs_LDADD)
129 type_test_LDADD = $(progs_LDADD)
130 unicode_encoding_LDADD = $(progs_LDADD)
131 unicode_caseconv_LDADD = $(progs_LDADD)
132 uri_test_LDADD = $(progs_LDADD)
133
134 lib_LTLIBRARIES = libmoduletestplugin_a.la libmoduletestplugin_b.la
135
136 # Prevent those libs from being installed
137 install-libLTLIBRARIES:
138         :
139
140 libmoduletestplugin_a_la_SOURCES = libmoduletestplugin_a.c
141 libmoduletestplugin_a_la_LDFLAGS = @G_MODULE_LDFLAGS@ -avoid-version -module $(no_undefined)
142 libmoduletestplugin_a_la_LIBADD = @G_MODULE_LIBS@ $(libadd_libgmodule) $(libadd_libglib)
143
144 libmoduletestplugin_b_la_SOURCES = libmoduletestplugin_b.c
145 libmoduletestplugin_b_la_LDFLAGS = @G_MODULE_LDFLAGS@ -avoid-version -module $(no_undefined)
146 libmoduletestplugin_b_la_LIBADD = @G_MODULE_LIBS@ $(libadd_libgmodule) $(libadd_libglib)
147
148 makefile.mingw: $(top_builddir)/config.status $(top_srcdir)/tests/makefile.mingw.in
149         cd $(top_builddir) && CONFIG_FILES=tests/$@ CONFIG_HEADERS= $(SHELL) ./config.status
150
151 makefile.msc: $(top_builddir)/config.status $(top_srcdir)/tests/makefile.msc.in
152         cd $(top_builddir) && CONFIG_FILES=tests/$@ CONFIG_HEADERS= $(SHELL) ./config.status
153
154 dist-hook: $(BUILT_EXTRA_DIST)
155         files='$(BUILT_EXTRA_DIST)'; \
156         for f in $$files; do \
157           if test -f $$f; then d=.; else d=$(srcdir); fi; \
158           cp $$d/$$f $(distdir) || exit 1; done
159         mkdir $(distdir)/markups;          \
160         for f in $(srcdir)/markups/* ; do  \
161           cp $$f $(distdir)/markups;       \
162         done