1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/nsprpub/pr/tests/Makefile.in Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,504 @@ 1.4 +# 1.5 +# This Source Code Form is subject to the terms of the Mozilla Public 1.6 +# License, v. 2.0. If a copy of the MPL was not distributed with this 1.7 +# file, You can obtain one at http://mozilla.org/MPL/2.0/. 1.8 + 1.9 + 1.10 +#! gmake 1.11 + 1.12 +MOD_DEPTH = ../.. 1.13 +topsrcdir = @top_srcdir@ 1.14 +srcdir = @srcdir@ 1.15 +VPATH = @srcdir@ 1.16 + 1.17 +include $(MOD_DEPTH)/config/autoconf.mk 1.18 + 1.19 +include $(topsrcdir)/config/config.mk 1.20 + 1.21 +DIRS = dll 1.22 + 1.23 +CSRCS = \ 1.24 + accept.c \ 1.25 + acceptread.c \ 1.26 + acceptreademu.c \ 1.27 + addrstr.c \ 1.28 + affinity.c \ 1.29 + alarm.c \ 1.30 + anonfm.c \ 1.31 + append.c \ 1.32 + atomic.c \ 1.33 + attach.c \ 1.34 + bigfile.c \ 1.35 + bigfile2.c \ 1.36 + bigfile3.c \ 1.37 + cleanup.c \ 1.38 + cltsrv.c \ 1.39 + concur.c \ 1.40 + cvar.c \ 1.41 + cvar2.c \ 1.42 + dceemu.c \ 1.43 + dlltest.c \ 1.44 + dtoa.c \ 1.45 + env.c \ 1.46 + errcodes.c \ 1.47 + errset.c \ 1.48 + exit.c \ 1.49 + fdcach.c \ 1.50 + fileio.c \ 1.51 + foreign.c \ 1.52 + forktest.c \ 1.53 + formattm.c \ 1.54 + fsync.c \ 1.55 + getai.c \ 1.56 + gethost.c \ 1.57 + getproto.c \ 1.58 + i2l.c \ 1.59 + initclk.c \ 1.60 + inrval.c \ 1.61 + instrumt.c \ 1.62 + intrio.c \ 1.63 + intrupt.c \ 1.64 + io_timeout.c \ 1.65 + ioconthr.c \ 1.66 + ipv6.c \ 1.67 + join.c \ 1.68 + joinkk.c \ 1.69 + joinku.c \ 1.70 + joinuk.c \ 1.71 + joinuu.c \ 1.72 + layer.c \ 1.73 + lazyinit.c \ 1.74 + libfilename.c \ 1.75 + lltest.c \ 1.76 + lock.c \ 1.77 + lockfile.c \ 1.78 + logfile.c \ 1.79 + logger.c \ 1.80 + makedir.c \ 1.81 + mbcs.c \ 1.82 + multiacc.c \ 1.83 + multiwait.c \ 1.84 + many_cv.c \ 1.85 + monref.c \ 1.86 + nameshm1.c \ 1.87 + nbconn.c \ 1.88 + nblayer.c \ 1.89 + nonblock.c \ 1.90 + ntioto.c \ 1.91 + ntoh.c \ 1.92 + obsints.c \ 1.93 + op_2long.c \ 1.94 + op_excl.c \ 1.95 + op_filnf.c \ 1.96 + op_filok.c \ 1.97 + op_noacc.c \ 1.98 + op_nofil.c \ 1.99 + openfile.c \ 1.100 + parent.c \ 1.101 + parsetm.c \ 1.102 + peek.c \ 1.103 + perf.c \ 1.104 + pipeping.c \ 1.105 + pipeping2.c \ 1.106 + pipepong.c \ 1.107 + pipepong2.c \ 1.108 + pipeself.c \ 1.109 + poll_er.c \ 1.110 + poll_nm.c \ 1.111 + poll_to.c \ 1.112 + pollable.c \ 1.113 + prfdbl.c \ 1.114 + prftest.c \ 1.115 + prftest1.c \ 1.116 + prftest2.c \ 1.117 + primblok.c \ 1.118 + priotest.c \ 1.119 + provider.c \ 1.120 + prpoll.c \ 1.121 + prpollml.c \ 1.122 + pushtop.c \ 1.123 + ranfile.c \ 1.124 + randseed.c \ 1.125 + reinit.c \ 1.126 + rmdir.c \ 1.127 + rwlockrank.c \ 1.128 + rwlocktest.c \ 1.129 + sel_spd.c \ 1.130 + selct_er.c \ 1.131 + selct_nm.c \ 1.132 + selct_to.c \ 1.133 + select2.c \ 1.134 + selintr.c \ 1.135 + sem.c \ 1.136 + sema.c \ 1.137 + semaerr.c \ 1.138 + semaerr1.c \ 1.139 + semaping.c \ 1.140 + semapong.c \ 1.141 + sendzlf.c \ 1.142 + server_test.c \ 1.143 + servr_kk.c \ 1.144 + servr_ku.c \ 1.145 + servr_uk.c \ 1.146 + servr_uu.c \ 1.147 + short_thread.c \ 1.148 + sigpipe.c \ 1.149 + socket.c \ 1.150 + sockopt.c \ 1.151 + sockping.c \ 1.152 + sockpong.c \ 1.153 + sprintf.c \ 1.154 + sproc_ch.c \ 1.155 + sproc_p.c \ 1.156 + stack.c \ 1.157 + stdio.c \ 1.158 + str2addr.c \ 1.159 + strod.c \ 1.160 + suspend.c \ 1.161 + switch.c \ 1.162 + system.c \ 1.163 + testbit.c \ 1.164 + testfile.c \ 1.165 + thrpool_server.c \ 1.166 + thrpool_client.c \ 1.167 + threads.c \ 1.168 + thruput.c \ 1.169 + timemac.c \ 1.170 + timetest.c \ 1.171 + tmoacc.c \ 1.172 + tmocon.c \ 1.173 + tpd.c \ 1.174 + vercheck.c \ 1.175 + version.c \ 1.176 + udpsrv.c \ 1.177 + writev.c \ 1.178 + xnotify.c \ 1.179 + y2k.c \ 1.180 + y2ktmo.c \ 1.181 + zerolen.c \ 1.182 + $(NULL) 1.183 + 1.184 +ifeq ($(OS_ARCH),WINCE) 1.185 +CFLAGS += -FImozce_shunt.h -Zi -UDEBUG -DNDEBUG 1.186 +LDOPTS += -link $(DIST)/lib/mozce_shunt.lib ws2.lib -DEBUG -DEBUGTYPE:CV -INCREMENTAL:NO -PDB:$(@:.exe=.pdb) 1.187 +endif 1.188 + 1.189 +ifeq ($(OS_TARGET),OS2) 1.190 +CSRCS += \ 1.191 + sleep.c \ 1.192 + stat.c \ 1.193 + yield.c \ 1.194 + $(NULL) 1.195 +endif 1.196 + 1.197 +ifeq (,$(filter-out WINCE WINNT OS2,$(OS_ARCH))) 1.198 +PROG_SUFFIX = .exe 1.199 +DLL_SUFFIX = .dll 1.200 +else 1.201 +PROG_SUFFIX = 1.202 +DLL_SUFFIX = 1.203 +endif 1.204 + 1.205 +PROGS = $(addprefix $(OBJDIR)/, $(CSRCS:.c=$(PROG_SUFFIX))) 1.206 + 1.207 +TARGETS = $(PROGS) 1.208 + 1.209 +INCLUDES = -I$(dist_includedir) -I$(topsrcdir)/pr/include -I$(topsrcdir)/pr/include/private 1.210 + 1.211 +ifeq ($(OS_ARCH), WINNT) 1.212 +ifdef NS_USE_GCC 1.213 + EXTRA_LIBS += -lws2_32 1.214 +else 1.215 + EXTRA_LIBS += ws2_32.lib 1.216 + LDOPTS = -NOLOGO -DEBUG -DEBUGTYPE:CV -INCREMENTAL:NO 1.217 + ifdef PROFILE 1.218 + LDOPTS += -PROFILE -MAP 1.219 + endif # profile 1.220 +endif # NS_USE_GCC 1.221 +endif 1.222 + 1.223 +ifeq ($(OS_ARCH),OS2) 1.224 +EXTRA_LIBS = $(OS_LIBS) 1.225 +LDOPTS = -Zomf -Zlinker /PM:VIO -Zlinker /ST:0x64000 1.226 +endif 1.227 + 1.228 +ifneq ($(OS_ARCH), WINNT) 1.229 +# Use an absolute pathname as the runtime library path (for the -R 1.230 +# or -rpath linker option or the LD_RUN_PATH environment variable). 1.231 +ifeq (,$(patsubst /%,,$(DIST))) 1.232 +# $(DIST) is already an absolute pathname. 1.233 +ABSOLUTE_LIB_DIR = $(dist_libdir) 1.234 +else 1.235 +# $(DIST) is a relative pathname: prepend the current directory. 1.236 +PWD = $(shell pwd) 1.237 +ABSOLUTE_LIB_DIR = $(PWD)/$(dist_libdir) 1.238 +endif 1.239 +endif 1.240 + 1.241 +ifeq ($(OS_ARCH), IRIX) 1.242 + ifeq ($(USE_CPLUS), 1) 1.243 + CC = CC 1.244 + endif 1.245 + LDOPTS += -rpath $(ABSOLUTE_LIB_DIR) 1.246 + ifdef NS_USE_GCC 1.247 + LDOPTS += -Wl,-rdata_shared 1.248 + else 1.249 + LDOPTS += -rdata_shared 1.250 + endif 1.251 +# For 6.x machines, include this flag 1.252 + ifeq ($(basename $(OS_RELEASE)),6) 1.253 + ifndef NS_USE_GCC 1.254 + ifeq ($(USE_N32),1) 1.255 + LDOPTS += -n32 1.256 + else 1.257 + LDOPTS += -32 1.258 + endif 1.259 + 1.260 + ifeq ($(USE_PTHREADS), 1) 1.261 + ifeq ($(OS_RELEASE), 6.2) 1.262 + LDOPTS += -Wl,-woff,85 1.263 + endif 1.264 + endif 1.265 + endif 1.266 + endif 1.267 +endif 1.268 + 1.269 +ifeq ($(OS_ARCH), OSF1) 1.270 + ifeq ($(USE_CPLUS), 1) 1.271 + CC = cxx 1.272 + endif 1.273 +# I haven't figured out how to pass -rpath to cc on OSF1 V3.2, so 1.274 +# we do static linking. 1.275 + ifeq (,$(filter-out V2.0 V3.2,$(OS_RELEASE))) 1.276 + LIBNSPR = $(dist_libdir)/libnspr$(MOD_MAJOR_VERSION).a 1.277 + LIBPLC = $(dist_libdir)/libplc$(MOD_MAJOR_VERSION).a 1.278 + EXTRA_LIBS = -lc_r 1.279 + else 1.280 + LDOPTS += -rpath $(ABSOLUTE_LIB_DIR) 1.281 + endif 1.282 +endif 1.283 + 1.284 +ifeq ($(OS_ARCH), HP-UX) 1.285 + LDOPTS += -z -Wl,+s,+b,$(ABSOLUTE_LIB_DIR) 1.286 + ifeq ($(USE_64),1) 1.287 + LDOPTS += +DD64 1.288 + endif 1.289 + ifeq ($(USE_PTHREADS),1) 1.290 + EXTRA_LIBS = $(LIBPTHREAD) 1.291 + endif 1.292 +endif 1.293 + 1.294 +# AIX 1.295 +ifeq ($(OS_ARCH),AIX) 1.296 + LDOPTS += -blibpath:$(ABSOLUTE_LIB_DIR):/usr/lib:/lib 1.297 + ifneq ($(OS_ARCH)$(OS_RELEASE),AIX4.1) 1.298 + LDOPTS += -brtl 1.299 + EXTRA_LIBS = -ldl 1.300 + endif 1.301 +endif 1.302 + 1.303 +# Solaris 1.304 +ifeq ($(OS_ARCH), SunOS) 1.305 + ifdef NS_USE_GCC 1.306 + LDOPTS += -Xlinker -R -Xlinker $(ABSOLUTE_LIB_DIR) 1.307 + else 1.308 + ifeq ($(USE_CPLUS), 1) 1.309 + CC = CC 1.310 + endif 1.311 + LDOPTS += -R $(ABSOLUTE_LIB_DIR) 1.312 + endif 1.313 + 1.314 + ifdef USE_PTHREADS 1.315 + EXTRA_LIBS = -lpthread 1.316 + endif 1.317 +endif # SunOS 1.318 + 1.319 +ifeq (,$(filter-out Linux GNU GNU_%,$(OS_ARCH))) 1.320 + LDOPTS += -Xlinker -rpath $(ABSOLUTE_LIB_DIR) 1.321 + ifeq ($(USE_PTHREADS),1) 1.322 + EXTRA_LIBS = -lpthread 1.323 + endif 1.324 +endif 1.325 + 1.326 +ifeq ($(OS_ARCH), SCOOS) 1.327 +# SCO Unix needs to link against -lsocket again even though we 1.328 +# already linked with these system libraries when we built libnspr.so. 1.329 +EXTRA_LIBS = -lsocket 1.330 +# This hardcodes in the executable programs the directory to find 1.331 +# libnspr.so etc. at program startup. Equivalent to the -R or -rpath 1.332 +# option for ld on other platforms. 1.333 +export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR) 1.334 +endif 1.335 + 1.336 +ifeq ($(OS_ARCH),OpenUNIX) 1.337 +export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR) 1.338 +ifeq ($(USE_PTHREADS),1) 1.339 +LDOPTS += -pthread 1.340 +endif 1.341 +endif 1.342 + 1.343 +ifeq ($(OS_ARCH), UNIXWARE) 1.344 +export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR) 1.345 +endif 1.346 + 1.347 +ifeq ($(OS_ARCH),FreeBSD) 1.348 +ifeq ($(USE_PTHREADS),1) 1.349 +LDOPTS += -pthread 1.350 +endif 1.351 +LDOPTS += -Xlinker -R $(ABSOLUTE_LIB_DIR) 1.352 +endif 1.353 + 1.354 +ifeq ($(OS_ARCH),OpenBSD) 1.355 +ifeq ($(USE_PTHREADS),1) 1.356 +LDOPTS += -pthread 1.357 +endif 1.358 +endif 1.359 + 1.360 +ifeq ($(OS_ARCH),BSD_OS) 1.361 +ifneq ($(OS_RELEASE),1.1) 1.362 +EXTRA_LIBS = -ldl 1.363 +endif 1.364 +endif 1.365 + 1.366 +ifeq ($(OS_ARCH),RISCOS) 1.367 +EXTRA_LIBS = -ldl 1.368 +endif 1.369 + 1.370 +ifeq ($(USE_PTHREADS),1) 1.371 +LIBPTHREAD = -lpthread 1.372 +ifeq ($(OS_ARCH),AIX) 1.373 +LIBPTHREAD = -lpthreads 1.374 +endif 1.375 +ifeq (,$(filter-out FreeBSD OpenBSD BSD_OS QNX Darwin OpenUNIX,$(OS_ARCH))) 1.376 +LIBPTHREAD = 1.377 +endif 1.378 +ifeq ($(OS_ARCH)$(basename $(OS_RELEASE)),HP-UXB.10) 1.379 +LIBPTHREAD = -ldce 1.380 +endif 1.381 +endif 1.382 + 1.383 +ifeq ($(OS_TARGET),Android) 1.384 +LIBPTHREAD = 1.385 +XCFLAGS = $(OS_CFLAGS) 1.386 +endif 1.387 + 1.388 +##################################################### 1.389 +# 1.390 +# The rules 1.391 +# 1.392 +##################################################### 1.393 + 1.394 +include $(topsrcdir)/config/rules.mk 1.395 + 1.396 +AIX_PRE_4_2 = 0 1.397 +ifeq ($(OS_ARCH),AIX) 1.398 +ifeq ($(OS_RELEASE),4.1) 1.399 +ifneq ($(USE_PTHREADS), 1) 1.400 +#AIX_PRE_4_2 = 1 1.401 +endif 1.402 +endif 1.403 +endif 1.404 + 1.405 +ifeq ($(AIX_PRE_4_2),1) 1.406 + 1.407 +# AIX releases prior to 4.2 need a special two-step linking hack 1.408 +# in order to both override the system select() and be able to 1.409 +# get at the original system select(). 1.410 +# 1.411 +# We use a pattern rule in ns/nspr20/config/rules.mk to generate 1.412 +# the .$(OBJ_SUFFIX) file from the .c source file, then do the 1.413 +# two-step linking hack below. 1.414 + 1.415 +$(OBJDIR)/%: $(OBJDIR)/%.$(OBJ_SUFFIX) 1.416 + @$(MAKE_OBJDIR) 1.417 + rm -f $@ $(AIX_TMP) 1.418 + $(CC) $(AIX_LINK_OPTS) -o $(AIX_TMP) $< $(dist_libdir)/libnspr$(MOD_MAJOR_VERSION).a 1.419 + $(CC) -o $@ $(AIX_TMP) $(AIX_WRAP) 1.420 + rm -f $(AIX_TMP) 1.421 + 1.422 +else 1.423 + 1.424 +# All platforms that are not AIX pre-4.2. 1.425 + 1.426 +$(OBJDIR)/%$(PROG_SUFFIX): $(OBJDIR)/%.$(OBJ_SUFFIX) 1.427 + @$(MAKE_OBJDIR) 1.428 +ifeq ($(NS_USE_GCC)_$(OS_ARCH),_WINNT) 1.429 + link $(LDOPTS) $(EXTRA_LDOPTS) $< $(LIBPLC) $(LIBNSPR) $(EXTRA_LIBS) -out:$@ 1.430 +ifdef MT 1.431 + @if test -f $@.manifest; then \ 1.432 + $(MT) -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;1; \ 1.433 + rm -f $@.manifest; \ 1.434 + fi 1.435 +endif 1.436 +else 1.437 + $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(EXTRA_LIBS) -o $@ 1.438 +endif # WINNT 1.439 +endif # AIX_PRE_4_2 1.440 + 1.441 +export:: $(TARGETS) 1.442 +clean:: 1.443 + rm -f $(TARGETS) 1.444 + 1.445 +# The following tests call BSD socket functions, so they need to link 1.446 +# with -lsocket on some platforms. 1.447 +ifeq ($(OS_ARCH),SunOS) 1.448 +ifeq ($(USE_IPV6),1) 1.449 +$(OBJDIR)/gethost: $(OBJDIR)/gethost.o 1.450 + $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) -lsocket $(EXTRA_LIBS) -o $@ 1.451 +endif 1.452 +$(OBJDIR)/prpoll: $(OBJDIR)/prpoll.o 1.453 + $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) -lsocket $(EXTRA_LIBS) -o $@ 1.454 +endif 1.455 + 1.456 +ifeq ($(USE_PTHREADS), 1) 1.457 +$(OBJDIR)/attach: $(OBJDIR)/attach.o 1.458 + $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@ 1.459 +$(OBJDIR)/foreign: $(OBJDIR)/foreign.o 1.460 + $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@ 1.461 +$(OBJDIR)/provider: $(OBJDIR)/provider.o 1.462 + $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@ 1.463 +$(OBJDIR)/socket: $(OBJDIR)/socket.o 1.464 + $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@ 1.465 +$(OBJDIR)/testfile: $(OBJDIR)/testfile.o 1.466 + $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@ 1.467 +endif 1.468 + 1.469 +# 1.470 +# Run the test programs with no arguments 1.471 +# 1.472 +# Test output goes to the file pointed to by the environment variable 1.473 +# NSPR_TEST_LOGFILE, if set, else to /dev/null 1.474 +# 1.475 +ECHO = echo 1.476 +PROGRAMS = $(notdir $(PROGS)) 1.477 +ifdef NSPR_TEST_LOGFILE 1.478 +LOGFILE = $(NSPR_TEST_LOGFILE) 1.479 +else 1.480 +ifeq (,$(filter-out WINNT OS2,$(OS_ARCH))) 1.481 +LOGFILE = nul 1.482 +else 1.483 +LOGFILE = /dev/null 1.484 +endif 1.485 +endif 1.486 + 1.487 +ifeq ($(OS_TARGET),Linux) 1.488 +ECHO = /bin/echo 1.489 +endif 1.490 + 1.491 +ALWAYS: 1.492 + 1.493 +runtests:: $(PROGS) ALWAYS 1.494 + @$(ECHO) "\nNSPR Test Results - $(OBJDIR)\n" 1.495 + @$(ECHO) "BEGIN\t\t\t`date`" 1.496 + @$(ECHO) "NSPR_TEST_LOGFILE\t$(LOGFILE)\n" 1.497 + @$(ECHO) "Test\t\t\tResult\n" 1.498 + @cd $(OBJDIR); for i in $(PROGRAMS); do \ 1.499 + $(ECHO) "$$i\c"; \ 1.500 + ./$$i >> $(LOGFILE) 2>&1 ; \ 1.501 + if [ 0 = $$? ] ; then \ 1.502 + $(ECHO) "\t\t\tPassed"; \ 1.503 + else \ 1.504 + $(ECHO) "\t\t\tFAILED"; \ 1.505 + fi; \ 1.506 + done 1.507 + @$(ECHO) "\nEND\t\t`date`\n"