tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

Makefile.in (9134B)


      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/.
      5 
      6 
      7 #! gmake
      8 
      9 MOD_DEPTH	= ../..
     10 topsrcdir	= @top_srcdir@
     11 srcdir		= @srcdir@
     12 VPATH		= @srcdir@
     13 
     14 include $(MOD_DEPTH)/config/autoconf.mk
     15 
     16 include $(topsrcdir)/config/config.mk
     17 
     18 DIRS = dll
     19 
     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 stat.c		    \
    155 stdio.c		    \
    156 str2addr.c		\
    157 strod.c			\
    158 suspend.c		\
    159 switch.c		\
    160 system.c		\
    161 testbit.c    	\
    162 testfile.c    	\
    163 thrpool_server.c \
    164 thrpool_client.c \
    165 threads.c 	  	\
    166 thruput.c 	  	\
    167 timemac.c		\
    168 timetest.c		\
    169 tmoacc.c        \
    170 tmocon.c        \
    171 tpd.c			\
    172 vercheck.c		\
    173 version.c	    \
    174 udpsrv.c	    \
    175 writev.c        \
    176 xnotify.c       \
    177 y2k.c           \
    178 y2ktmo.c        \
    179 zerolen.c       \
    180 $(NULL)
    181 
    182 ifeq ($(OS_ARCH),WINCE)
    183 CFLAGS += -FImozce_shunt.h -Zi -UDEBUG -DNDEBUG
    184 LDOPTS += -link $(DIST)/lib/mozce_shunt.lib ws2.lib -DEBUG -DEBUGTYPE:CV -INCREMENTAL:NO -PDB:$(@:.exe=.pdb)
    185 endif
    186 
    187 ifeq (,$(filter-out WINCE WINNT,$(OS_ARCH)))
    188 PROG_SUFFIX = .exe
    189 DLL_SUFFIX = .dll
    190 else
    191 PROG_SUFFIX =
    192 DLL_SUFFIX = 
    193 endif
    194 
    195 PROGS = $(addprefix $(OBJDIR)/, $(CSRCS:.c=$(PROG_SUFFIX)))
    196 
    197 TARGETS = $(PROGS)
    198 
    199 INCLUDES = -I$(dist_includedir) -I$(topsrcdir)/pr/include -I$(topsrcdir)/pr/include/private
    200 
    201 ifeq ($(OS_ARCH), WINNT)
    202 ifdef NS_USE_GCC
    203  EXTRA_LIBS += -lws2_32
    204 else
    205  EXTRA_LIBS += ws2_32.lib
    206  LDOPTS = -NOLOGO -DEBUG -DEBUGTYPE:CV -INCREMENTAL:NO
    207  CFLAGS += -Fd$(@:.$(OBJ_SUFFIX)=.pdb)
    208  ifdef PROFILE
    209    LDOPTS += -PROFILE -MAP
    210  endif # profile
    211 endif # NS_USE_GCC
    212 endif
    213 
    214 ifneq ($(OS_ARCH), WINNT)
    215 # Use an absolute pathname as the runtime library path (for the -R
    216 # or -rpath linker option or the LD_RUN_PATH environment variable).
    217 ifeq (,$(patsubst /%,,$(DIST)))
    218 # $(DIST) is already an absolute pathname.
    219 ABSOLUTE_LIB_DIR = $(dist_libdir)
    220 else
    221 # $(DIST) is a relative pathname: prepend the current directory.
    222 PWD = $(shell pwd)
    223 ABSOLUTE_LIB_DIR = $(PWD)/$(dist_libdir)
    224 endif
    225 endif
    226 
    227 ifeq ($(OS_ARCH), HP-UX)
    228    LDOPTS += -z -Wl,+s,+b,$(ABSOLUTE_LIB_DIR)
    229    ifeq ($(USE_64),1)
    230        LDOPTS += +DD64
    231    endif
    232    ifeq ($(USE_PTHREADS),1)
    233        EXTRA_LIBS = $(LIBPTHREAD)
    234    endif
    235 endif
    236 
    237 # AIX
    238 ifeq ($(OS_ARCH),AIX)
    239    LDOPTS += -blibpath:$(ABSOLUTE_LIB_DIR):/usr/lib:/lib
    240    ifneq ($(OS_ARCH)$(OS_RELEASE),AIX4.1)
    241        LDOPTS += -brtl
    242        EXTRA_LIBS = -ldl
    243    endif
    244 endif
    245 
    246 # Solaris
    247 ifeq ($(OS_ARCH), SunOS)
    248    ifdef NS_USE_GCC
    249        LDOPTS += -Xlinker -R -Xlinker $(ABSOLUTE_LIB_DIR)
    250    else
    251        ifeq ($(USE_CPLUS), 1)
    252            CC = CC
    253        endif
    254        LDOPTS += -R $(ABSOLUTE_LIB_DIR)
    255    endif
    256 
    257    ifdef USE_PTHREADS
    258        EXTRA_LIBS = -lpthread
    259    endif
    260 endif # SunOS
    261 
    262 ifeq (,$(filter-out Linux GNU GNU_%,$(OS_ARCH)))
    263    LDOPTS += -Xlinker -rpath $(ABSOLUTE_LIB_DIR)
    264    ifeq ($(USE_PTHREADS),1)
    265        EXTRA_LIBS = -lpthread
    266    endif
    267 endif
    268 
    269 ifeq ($(OS_ARCH), SCOOS)
    270 # SCO Unix needs to link against -lsocket again even though we
    271 # already linked with these system libraries when we built libnspr.so.
    272 EXTRA_LIBS = -lsocket
    273 # This hardcodes in the executable programs the directory to find
    274 # libnspr.so etc. at program startup.  Equivalent to the -R or -rpath 
    275 # option for ld on other platforms.
    276 export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)
    277 endif
    278 
    279 ifeq ($(OS_ARCH),OpenUNIX)
    280 export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)
    281 ifeq ($(USE_PTHREADS),1)
    282 LDOPTS += -pthread
    283 endif
    284 endif
    285 
    286 ifeq ($(OS_ARCH),FreeBSD)
    287 ifeq ($(USE_PTHREADS),1)
    288 LDOPTS += -pthread
    289 endif
    290 LDOPTS += -Xlinker -R $(ABSOLUTE_LIB_DIR)
    291 endif
    292 
    293 ifeq ($(OS_ARCH),OpenBSD)
    294 ifeq ($(USE_PTHREADS),1)
    295 LDOPTS += -pthread
    296 endif
    297 endif
    298 
    299 ifeq ($(OS_ARCH),BSD_OS)
    300 ifneq ($(OS_RELEASE),1.1)
    301 EXTRA_LIBS = -ldl
    302 endif
    303 endif
    304 
    305 ifeq ($(OS_ARCH),RISCOS)
    306 EXTRA_LIBS = -ldl
    307 endif
    308 
    309 ifeq ($(USE_PTHREADS),1)
    310 LIBPTHREAD = -lpthread
    311 ifeq ($(OS_ARCH),AIX)
    312 LIBPTHREAD = -lpthreads
    313 endif
    314 ifeq (,$(filter-out FreeBSD OpenBSD BSD_OS QNX Darwin OpenUNIX,$(OS_ARCH)))
    315 LIBPTHREAD =
    316 endif
    317 endif
    318 
    319 ifeq ($(OS_TARGET),Android)
    320 LIBPTHREAD =
    321 XCFLAGS = $(OS_CFLAGS)
    322 endif
    323 
    324 #####################################################
    325 #
    326 # The rules
    327 #
    328 #####################################################
    329 
    330 include $(topsrcdir)/config/rules.mk
    331 
    332 AIX_PRE_4_2 = 0
    333 ifeq ($(OS_ARCH),AIX)
    334 ifeq ($(OS_RELEASE),4.1)
    335 ifneq ($(USE_PTHREADS), 1)
    336 #AIX_PRE_4_2 = 1
    337 endif
    338 endif
    339 endif
    340 
    341 ifeq ($(AIX_PRE_4_2),1)
    342 
    343 # AIX releases prior to 4.2 need a special two-step linking hack
    344 # in order to both override the system select() and be able to 
    345 # get at the original system select().
    346 #
    347 # We use a pattern rule in ns/nspr20/config/rules.mk to generate
    348 # the .$(OBJ_SUFFIX) file from the .c source file, then do the
    349 # two-step linking hack below.
    350 
    351 $(OBJDIR)/%: $(OBJDIR)/%.$(OBJ_SUFFIX)
    352 @$(MAKE_OBJDIR)
    353 rm -f $@ $(AIX_TMP)
    354 $(CC) $(AIX_LINK_OPTS) -o $(AIX_TMP) $< $(dist_libdir)/libnspr$(MOD_MAJOR_VERSION).a
    355 $(CC) -o $@ $(AIX_TMP) $(AIX_WRAP)
    356 rm -f $(AIX_TMP)
    357 
    358 else
    359 
    360 # All platforms that are not AIX pre-4.2.
    361 
    362 $(OBJDIR)/%$(PROG_SUFFIX): $(OBJDIR)/%.$(OBJ_SUFFIX)
    363 @$(MAKE_OBJDIR)
    364 ifeq ($(NS_USE_GCC)_$(OS_ARCH),_WINNT)
    365 link $(LDOPTS) $(EXTRA_LDOPTS) $< $(LIBPLC) $(LIBNSPR) $(EXTRA_LIBS) -out:$@
    366 ifdef MT
    367 @if test -f $@.manifest; then \
    368 	$(MT) -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;1; \
    369 	rm -f $@.manifest; \
    370 fi
    371 endif
    372 else
    373 $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(EXTRA_LIBS) -o $@
    374 endif # WINNT
    375 endif # AIX_PRE_4_2
    376 
    377 export:: $(TARGETS)
    378 clean::
    379 rm -f $(TARGETS) runtests
    380 
    381 # The following tests call BSD socket functions, so they need to link
    382 # with -lsocket on some platforms.
    383 ifeq ($(OS_ARCH),SunOS)
    384 ifeq ($(USE_IPV6),1)
    385 $(OBJDIR)/gethost: $(OBJDIR)/gethost.o
    386 $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) -lsocket $(EXTRA_LIBS) -o $@
    387 endif
    388 $(OBJDIR)/prpoll: $(OBJDIR)/prpoll.o
    389 $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) -lsocket $(EXTRA_LIBS) -o $@
    390 endif
    391 
    392 ifeq ($(USE_PTHREADS), 1)
    393 $(OBJDIR)/attach: $(OBJDIR)/attach.o
    394 $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@
    395 $(OBJDIR)/foreign: $(OBJDIR)/foreign.o
    396 $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@
    397 $(OBJDIR)/provider: $(OBJDIR)/provider.o
    398 $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@
    399 $(OBJDIR)/socket: $(OBJDIR)/socket.o
    400 $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@
    401 $(OBJDIR)/testfile: $(OBJDIR)/testfile.o
    402 $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@
    403 endif
    404 
    405 #
    406 # Run the test programs with no arguments
    407 #
    408 # Test output goes to the file pointed to by the environment variable
    409 # NSPR_TEST_LOGFILE, if set, else to /dev/null
    410 #
    411 ECHO = echo
    412 PROGRAMS = $(notdir $(PROGS))
    413 ifdef NSPR_TEST_LOGFILE
    414 LOGFILE = $(NSPR_TEST_LOGFILE)
    415 else
    416 ifeq (,$(filter-out WINNT,$(OS_ARCH)))
    417 LOGFILE = nul
    418 else
    419 LOGFILE = /dev/null
    420 endif
    421 endif
    422 
    423 ifeq ($(OS_TARGET),Linux)
    424 ECHO = /bin/echo
    425 endif
    426 
    427 ALWAYS:
    428 
    429 runtests:: $(PROGS) ALWAYS
    430 $(topsrcdir)/pr/tests/runtests.sh $(DIST)