Bug 1909163 - make select dropdowns more properly tabspecific, r=emilio
[gecko.git] / nsprpub / pr / tests / Makefile.in
bloba58a84692733a6c980e698131e1c6fe7a035bc13
1 #
2 # This Source Code Form is subject to the terms of the Mozilla Public
3 # License, v. 2.0. If a copy of the MPL was not distributed with this
4 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
7 #! gmake
9 MOD_DEPTH = ../..
10 topsrcdir = @top_srcdir@
11 srcdir = @srcdir@
12 VPATH = @srcdir@
14 include $(MOD_DEPTH)/config/autoconf.mk
16 include $(topsrcdir)/config/config.mk
18 DIRS = dll
20 CSRCS = \
21 abstract.c \
22 accept.c \
23 acceptread.c \
24 acceptreademu.c \
25 addrstr.c \
26 affinity.c \
27 alarm.c \
28 anonfm.c \
29 append.c \
30 atomic.c \
31 attach.c \
32 bigfile.c \
33 bigfile2.c \
34 bigfile3.c \
35 cleanup.c \
36 cltsrv.c \
37 concur.c \
38 cvar.c \
39 cvar2.c \
40 dceemu.c \
41 dlltest.c \
42 dtoa.c \
43 env.c \
44 errcodes.c \
45 errset.c \
46 exit.c \
47 fdcach.c \
48 fileio.c \
49 foreign.c \
50 forktest.c \
51 formattm.c \
52 fsync.c \
53 getai.c \
54 gethost.c \
55 getproto.c \
56 i2l.c \
57 initclk.c \
58 inrval.c \
59 instrumt.c \
60 intrio.c \
61 intrupt.c \
62 io_timeout.c \
63 ioconthr.c \
64 ipv6.c \
65 join.c \
66 joinkk.c \
67 joinku.c \
68 joinuk.c \
69 joinuu.c \
70 layer.c \
71 lazyinit.c \
72 libfilename.c \
73 lltest.c \
74 lock.c \
75 lockfile.c \
76 logfile.c \
77 logger.c \
78 makedir.c \
79 mbcs.c \
80 multiacc.c \
81 multiwait.c \
82 many_cv.c \
83 monref.c \
84 nameshm1.c \
85 nbconn.c \
86 nblayer.c \
87 nonblock.c \
88 ntioto.c \
89 ntoh.c \
90 obsints.c \
91 op_2long.c \
92 op_excl.c \
93 op_filnf.c \
94 op_filok.c \
95 op_noacc.c \
96 op_nofil.c \
97 openfile.c \
98 parent.c \
99 parsetm.c \
100 peek.c \
101 perf.c \
102 pipeping.c \
103 pipeping2.c \
104 pipepong.c \
105 pipepong2.c \
106 pipeself.c \
107 poll_er.c \
108 poll_nm.c \
109 poll_to.c \
110 pollable.c \
111 prfdbl.c \
112 prftest.c \
113 prftest1.c \
114 prftest2.c \
115 prfz.c \
116 primblok.c \
117 priotest.c \
118 provider.c \
119 prpoll.c \
120 prpollml.c \
121 pushtop.c \
122 ranfile.c \
123 randseed.c \
124 reinit.c \
125 rmdir.c \
126 rwlockrank.c \
127 rwlocktest.c \
128 sel_spd.c \
129 selct_er.c \
130 selct_nm.c \
131 selct_to.c \
132 select2.c \
133 selintr.c \
134 sem.c \
135 sema.c \
136 semaerr.c \
137 semaerr1.c \
138 semaping.c \
139 semapong.c \
140 sendzlf.c \
141 server_test.c \
142 servr_kk.c \
143 servr_ku.c \
144 servr_uk.c \
145 servr_uu.c \
146 short_thread.c \
147 sigpipe.c \
148 socket.c \
149 sockopt.c \
150 sockping.c \
151 sockpong.c \
152 sprintf.c \
153 stack.c \
154 stdio.c \
155 str2addr.c \
156 strod.c \
157 suspend.c \
158 switch.c \
159 system.c \
160 testbit.c \
161 testfile.c \
162 thrpool_server.c \
163 thrpool_client.c \
164 threads.c \
165 thruput.c \
166 timemac.c \
167 timetest.c \
168 tmoacc.c \
169 tmocon.c \
170 tpd.c \
171 vercheck.c \
172 version.c \
173 udpsrv.c \
174 writev.c \
175 xnotify.c \
176 y2k.c \
177 y2ktmo.c \
178 zerolen.c \
179 $(NULL)
181 ifeq ($(OS_ARCH),WINCE)
182 CFLAGS += -FImozce_shunt.h -Zi -UDEBUG -DNDEBUG
183 LDOPTS += -link $(DIST)/lib/mozce_shunt.lib ws2.lib -DEBUG -DEBUGTYPE:CV -INCREMENTAL:NO -PDB:$(@:.exe=.pdb)
184 endif
186 ifeq ($(OS_TARGET),OS2)
187 CSRCS += \
188 sleep.c \
189 stat.c \
190 yield.c \
191 $(NULL)
192 endif
194 ifeq (,$(filter-out WINCE WINNT OS2,$(OS_ARCH)))
195 PROG_SUFFIX = .exe
196 DLL_SUFFIX = .dll
197 else
198 PROG_SUFFIX =
199 DLL_SUFFIX =
200 endif
202 PROGS = $(addprefix $(OBJDIR)/, $(CSRCS:.c=$(PROG_SUFFIX)))
204 TARGETS = $(PROGS)
206 INCLUDES = -I$(dist_includedir) -I$(topsrcdir)/pr/include -I$(topsrcdir)/pr/include/private
208 ifeq ($(OS_ARCH), WINNT)
209 ifdef NS_USE_GCC
210 EXTRA_LIBS += -lws2_32
211 else
212 EXTRA_LIBS += ws2_32.lib
213 LDOPTS = -NOLOGO -DEBUG -DEBUGTYPE:CV -INCREMENTAL:NO
214 CFLAGS += -Fd$(@:.$(OBJ_SUFFIX)=.pdb)
215 ifdef PROFILE
216 LDOPTS += -PROFILE -MAP
217 endif # profile
218 endif # NS_USE_GCC
219 endif
221 ifeq ($(OS_ARCH),OS2)
222 EXTRA_LIBS = $(OS_LIBS)
223 LDOPTS = -Zomf -Zlinker /PM:VIO -Zlinker /ST:0x64000
224 endif
226 ifneq ($(OS_ARCH), WINNT)
227 # Use an absolute pathname as the runtime library path (for the -R
228 # or -rpath linker option or the LD_RUN_PATH environment variable).
229 ifeq (,$(patsubst /%,,$(DIST)))
230 # $(DIST) is already an absolute pathname.
231 ABSOLUTE_LIB_DIR = $(dist_libdir)
232 else
233 # $(DIST) is a relative pathname: prepend the current directory.
234 PWD = $(shell pwd)
235 ABSOLUTE_LIB_DIR = $(PWD)/$(dist_libdir)
236 endif
237 endif
239 ifeq ($(OS_ARCH), HP-UX)
240 LDOPTS += -z -Wl,+s,+b,$(ABSOLUTE_LIB_DIR)
241 ifeq ($(USE_64),1)
242 LDOPTS += +DD64
243 endif
244 ifeq ($(USE_PTHREADS),1)
245 EXTRA_LIBS = $(LIBPTHREAD)
246 endif
247 endif
249 # AIX
250 ifeq ($(OS_ARCH),AIX)
251 LDOPTS += -blibpath:$(ABSOLUTE_LIB_DIR):/usr/lib:/lib
252 ifneq ($(OS_ARCH)$(OS_RELEASE),AIX4.1)
253 LDOPTS += -brtl
254 EXTRA_LIBS = -ldl
255 endif
256 endif
258 # Solaris
259 ifeq ($(OS_ARCH), SunOS)
260 ifdef NS_USE_GCC
261 LDOPTS += -Xlinker -R -Xlinker $(ABSOLUTE_LIB_DIR)
262 else
263 ifeq ($(USE_CPLUS), 1)
264 CC = CC
265 endif
266 LDOPTS += -R $(ABSOLUTE_LIB_DIR)
267 endif
269 ifdef USE_PTHREADS
270 EXTRA_LIBS = -lpthread
271 endif
272 endif # SunOS
274 ifeq (,$(filter-out Linux GNU GNU_%,$(OS_ARCH)))
275 LDOPTS += -Xlinker -rpath $(ABSOLUTE_LIB_DIR)
276 ifeq ($(USE_PTHREADS),1)
277 EXTRA_LIBS = -lpthread
278 endif
279 endif
281 ifeq ($(OS_ARCH), SCOOS)
282 # SCO Unix needs to link against -lsocket again even though we
283 # already linked with these system libraries when we built libnspr.so.
284 EXTRA_LIBS = -lsocket
285 # This hardcodes in the executable programs the directory to find
286 # libnspr.so etc. at program startup. Equivalent to the -R or -rpath
287 # option for ld on other platforms.
288 export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)
289 endif
291 ifeq ($(OS_ARCH),OpenUNIX)
292 export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)
293 ifeq ($(USE_PTHREADS),1)
294 LDOPTS += -pthread
295 endif
296 endif
298 ifeq ($(OS_ARCH), UNIXWARE)
299 export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)
300 endif
302 ifeq ($(OS_ARCH),FreeBSD)
303 ifeq ($(USE_PTHREADS),1)
304 LDOPTS += -pthread
305 endif
306 LDOPTS += -Xlinker -R $(ABSOLUTE_LIB_DIR)
307 endif
309 ifeq ($(OS_ARCH),OpenBSD)
310 ifeq ($(USE_PTHREADS),1)
311 LDOPTS += -pthread
312 endif
313 endif
315 ifeq ($(OS_ARCH),BSD_OS)
316 ifneq ($(OS_RELEASE),1.1)
317 EXTRA_LIBS = -ldl
318 endif
319 endif
321 ifeq ($(OS_ARCH),RISCOS)
322 EXTRA_LIBS = -ldl
323 endif
325 ifeq ($(USE_PTHREADS),1)
326 LIBPTHREAD = -lpthread
327 ifeq ($(OS_ARCH),AIX)
328 LIBPTHREAD = -lpthreads
329 endif
330 ifeq (,$(filter-out FreeBSD OpenBSD BSD_OS QNX Darwin OpenUNIX,$(OS_ARCH)))
331 LIBPTHREAD =
332 endif
333 endif
335 ifeq ($(OS_TARGET),Android)
336 LIBPTHREAD =
337 XCFLAGS = $(OS_CFLAGS)
338 endif
340 #####################################################
342 # The rules
344 #####################################################
346 include $(topsrcdir)/config/rules.mk
348 AIX_PRE_4_2 = 0
349 ifeq ($(OS_ARCH),AIX)
350 ifeq ($(OS_RELEASE),4.1)
351 ifneq ($(USE_PTHREADS), 1)
352 #AIX_PRE_4_2 = 1
353 endif
354 endif
355 endif
357 ifeq ($(AIX_PRE_4_2),1)
359 # AIX releases prior to 4.2 need a special two-step linking hack
360 # in order to both override the system select() and be able to
361 # get at the original system select().
363 # We use a pattern rule in ns/nspr20/config/rules.mk to generate
364 # the .$(OBJ_SUFFIX) file from the .c source file, then do the
365 # two-step linking hack below.
367 $(OBJDIR)/%: $(OBJDIR)/%.$(OBJ_SUFFIX)
368 @$(MAKE_OBJDIR)
369 rm -f $@ $(AIX_TMP)
370 $(CC) $(AIX_LINK_OPTS) -o $(AIX_TMP) $< $(dist_libdir)/libnspr$(MOD_MAJOR_VERSION).a
371 $(CC) -o $@ $(AIX_TMP) $(AIX_WRAP)
372 rm -f $(AIX_TMP)
374 else
376 # All platforms that are not AIX pre-4.2.
378 $(OBJDIR)/%$(PROG_SUFFIX): $(OBJDIR)/%.$(OBJ_SUFFIX)
379 @$(MAKE_OBJDIR)
380 ifeq ($(NS_USE_GCC)_$(OS_ARCH),_WINNT)
381 link $(LDOPTS) $(EXTRA_LDOPTS) $< $(LIBPLC) $(LIBNSPR) $(EXTRA_LIBS) -out:$@
382 ifdef MT
383 @if test -f $@.manifest; then \
384 $(MT) -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;1; \
385 rm -f $@.manifest; \
387 endif
388 else
389 $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(EXTRA_LIBS) -o $@
390 endif # WINNT
391 endif # AIX_PRE_4_2
393 export:: $(TARGETS)
394 clean::
395 rm -f $(TARGETS)
397 # The following tests call BSD socket functions, so they need to link
398 # with -lsocket on some platforms.
399 ifeq ($(OS_ARCH),SunOS)
400 ifeq ($(USE_IPV6),1)
401 $(OBJDIR)/gethost: $(OBJDIR)/gethost.o
402 $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) -lsocket $(EXTRA_LIBS) -o $@
403 endif
404 $(OBJDIR)/prpoll: $(OBJDIR)/prpoll.o
405 $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) -lsocket $(EXTRA_LIBS) -o $@
406 endif
408 ifeq ($(USE_PTHREADS), 1)
409 $(OBJDIR)/attach: $(OBJDIR)/attach.o
410 $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@
411 $(OBJDIR)/foreign: $(OBJDIR)/foreign.o
412 $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@
413 $(OBJDIR)/provider: $(OBJDIR)/provider.o
414 $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@
415 $(OBJDIR)/socket: $(OBJDIR)/socket.o
416 $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@
417 $(OBJDIR)/testfile: $(OBJDIR)/testfile.o
418 $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@
419 endif
422 # Run the test programs with no arguments
424 # Test output goes to the file pointed to by the environment variable
425 # NSPR_TEST_LOGFILE, if set, else to /dev/null
427 ECHO = echo
428 PROGRAMS = $(notdir $(PROGS))
429 ifdef NSPR_TEST_LOGFILE
430 LOGFILE = $(NSPR_TEST_LOGFILE)
431 else
432 ifeq (,$(filter-out WINNT OS2,$(OS_ARCH)))
433 LOGFILE = nul
434 else
435 LOGFILE = /dev/null
436 endif
437 endif
439 ifeq ($(OS_TARGET),Linux)
440 ECHO = /bin/echo
441 endif
443 ALWAYS:
445 runtests:: $(PROGS) ALWAYS
446 $(topsrcdir)/pr/tests/runtests.sh $(DIST)