nsprpub/pr/src/Makefile.in

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     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/.
     6 #! gmake
     8 MOD_DEPTH	= ../..
     9 topsrcdir	= @top_srcdir@
    10 srcdir		= @srcdir@
    11 VPATH		= @srcdir@
    13 include $(MOD_DEPTH)/config/autoconf.mk
    15 include $(topsrcdir)/config/config.mk
    17 DIRS = io linking malloc md memory misc threads
    19 ifeq ($(USE_PTHREADS), 1)
    20 	DIRS += pthreads
    21 endif
    23 ifeq ($(USE_BTHREADS), 1)
    24 	DIRS += bthreads
    25 endif
    27 ifeq ($(USE_CPLUS), 1)
    28 	DIRS += cplus
    29 endif
    31 #
    32 # Define platform-dependent OS_LIBS
    33 #
    35 ifeq ($(OS_ARCH),SunOS)
    36 MAPFILE = $(OBJDIR)/nsprmap.sun
    37 GARBAGE += $(MAPFILE)
    38 ifdef NS_USE_GCC
    39 ifdef GCC_USE_GNU_LD
    40 MKSHLIB += -Wl,--version-script,$(MAPFILE)
    41 else
    42 MKSHLIB += -Wl,-M,$(MAPFILE)
    43 endif
    44 else
    45 MKSHLIB += -M $(MAPFILE)
    46 endif
    47 #
    48 # In Solaris 2.6 or earlier, -lrt is called -lposix4.
    49 # 
    50 LIBRT_TEST=$(firstword $(sort 5.7 $(OS_RELEASE)))
    51 ifeq (5.7, $(LIBRT_TEST))
    52 LIBRT=-lrt
    53 else
    54 LIBRT=-lposix4
    55 endif
    57 ifdef USE_PTHREADS
    58 OS_LIBS			= -lpthread ${LIBRT} -lsocket -lnsl -ldl -lc
    59 else
    60 OS_LIBS			= -lsocket -lnsl -ldl -lc
    61 endif	# USE_PTHREADS
    62 ifeq ($(CPU_ARCH),sparc)
    63 ifndef USE_64
    64 DSO_LDOPTS	+= -Wl,-f,\$$ORIGIN/cpu/\$$ISALIST/lib$(ULTRASPARC_LIBRARY)$(LIBRARY_VERSION).so
    65 endif
    66 endif	# sparc
    67 endif	# SunOS
    69 ifeq ($(OS_ARCH), IRIX)
    70 ifeq ($(USE_PTHREADS), 1)
    71 OS_LIBS = -lpthread
    72 endif
    73 OS_LIBS += -lc
    74 endif
    76 ifeq ($(OS_ARCH),AIX)
    77 DSO_LDOPTS	+= -binitfini::_PR_Fini
    78 OS_LIBS		= -lodm -lcfg
    79 ifeq ($(CLASSIC_NSPR),1)
    80 ifeq ($(OS_RELEASE),4.1)
    81 OS_LIBS		+= -lsvld -lc
    82 else
    83 OS_LIBS		+= -ldl -lc
    84 endif
    85 else
    86 ifeq ($(OS_RELEASE),4.1)
    87 OS_LIBS		+= -lpthreads -lsvld -lC_r -lC -lc_r -lm /usr/lib/libc.a
    88 else
    89 OS_LIBS		+= -lpthreads -ldl -lC_r -lC -lc_r -lm /usr/lib/libc.a
    90 endif
    91 endif
    92 endif
    94 # On AIX, we override malloc in non-pthread versions.  On AIX 4.2 or
    95 # above, this requires that we use the rtl-enabled version of libc.a.
    96 ifeq ($(OS_ARCH),AIX)
    97 ifneq (,$(filter-out 3.2 4.1,$(OS_RELEASE)))
    98 ifneq ($(USE_PTHREADS),1)
    99 BUILD_AIX_RTL_LIBC = 1
   100 AIX_RTL_LIBC	= $(OBJDIR)/libc.a
   101 endif
   102 endif
   103 endif
   105 ifeq ($(OS_ARCH),OS2)
   106 MAPFILE = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION).def
   107 ADD_TO_DEF_FILE = cat $(srcdir)/os2extra.def >> $(MAPFILE)
   108 GARBAGE += $(MAPFILE)
   109 MKSHLIB += $(MAPFILE)
   110 endif
   112 ifeq ($(OS_ARCH),OSF1)
   113 ifeq ($(USE_PTHREADS), 1)
   114 OS_LIBS 	= -lpthread -lrt
   115 endif
   116 ifneq ($(OS_RELEASE),V2.0)
   117 OS_LIBS		+= -lc_r
   118 endif
   119 endif
   121 # Linux, GNU/Hurd, and GNU/kFreeBSD systems
   122 ifneq (,$(filter Linux GNU%,$(OS_ARCH)))
   123 ifeq ($(USE_PTHREADS), 1)
   124 ifeq ($(OS_TARGET),Android)
   125 # Android has no libpthread.so in NDK
   126 OS_LIBS		= -ldl
   127 else
   128 OS_LIBS		= -lpthread -ldl
   129 endif
   130 else
   131 OS_LIBS		= -ldl
   132 endif
   133 ifneq ($(OS_TARGET),Android)
   134 # Android has no librt - realtime functions are in libc
   135 OS_LIBS		+= -lrt
   136 endif
   137 endif
   139 ifeq ($(OS_ARCH),HP-UX)
   140 ifeq ($(USE_PTHREADS), 1)
   141 ifeq (,$(filter-out B.10.10 B.10.20,$(OS_RELEASE)))
   142 OS_LIBS 	= -ldce
   143 else
   144 OS_LIBS 	= -lpthread -lrt
   145 endif
   146 endif
   147 ifeq ($(PTHREADS_USER), 1)
   148 OS_LIBS 	= -lpthread
   149 endif
   150 ifeq ($(basename $(OS_RELEASE)),A.09)
   151 OS_LIBS		+= -ldld -L/lib/pa1.1 -lm
   152 else
   153 OS_LIBS		+= -ldld -lm -lc
   154 endif
   155 ifneq ($(OS_TEST),ia64)
   156 ifndef USE_64
   157 DSO_LDOPTS	+= +I PR_HPUX10xInit
   158 endif
   159 endif
   160 endif
   162 ifeq ($(OS_ARCH),UNIXWARE)
   163 OS_LIBS		= -lsocket -lc
   164 endif
   166 ifeq ($(OS_ARCH),WINNT)
   167 ifdef NS_USE_GCC
   168 OS_LIBS		= -ladvapi32 -lws2_32 -lwinmm
   169 else
   170 OS_LIBS		= advapi32.lib ws2_32.lib winmm.lib
   171 endif
   172 endif
   174 ifeq ($(OS_ARCH),WINCE)
   175 OS_LIBS		= ws2.lib
   176 endif
   178 ifeq ($(OS_TARGET),Android)
   179 OS_LIBS		+= -llog
   180 endif
   182 ifeq ($(OS_TARGET),MacOSX)
   183 OS_LIBS		= -framework CoreServices -framework CoreFoundation
   184 endif
   186 EXTRA_LIBS += $(OS_LIBS)
   188 #
   189 # Define platform-dependent OBJS
   190 #
   192 OBJS = \
   193     $(OBJDIR)/prvrsion.$(OBJ_SUFFIX) \
   194     io/$(OBJDIR)/prfdcach.$(OBJ_SUFFIX) \
   195     io/$(OBJDIR)/prmwait.$(OBJ_SUFFIX) \
   196     io/$(OBJDIR)/prmapopt.$(OBJ_SUFFIX) \
   197     io/$(OBJDIR)/priometh.$(OBJ_SUFFIX) \
   198     io/$(OBJDIR)/pripv6.$(OBJ_SUFFIX) \
   199     io/$(OBJDIR)/prlayer.$(OBJ_SUFFIX) \
   200     io/$(OBJDIR)/prlog.$(OBJ_SUFFIX) \
   201     io/$(OBJDIR)/prmmap.$(OBJ_SUFFIX) \
   202     io/$(OBJDIR)/prpolevt.$(OBJ_SUFFIX) \
   203     io/$(OBJDIR)/prprf.$(OBJ_SUFFIX) \
   204     io/$(OBJDIR)/prscanf.$(OBJ_SUFFIX) \
   205     io/$(OBJDIR)/prstdio.$(OBJ_SUFFIX) \
   206     threads/$(OBJDIR)/prcmon.$(OBJ_SUFFIX) \
   207 	threads/$(OBJDIR)/prrwlock.$(OBJ_SUFFIX) \
   208 	threads/$(OBJDIR)/prtpd.$(OBJ_SUFFIX) \
   209     linking/$(OBJDIR)/prlink.$(OBJ_SUFFIX) \
   210     malloc/$(OBJDIR)/prmalloc.$(OBJ_SUFFIX) \
   211     malloc/$(OBJDIR)/prmem.$(OBJ_SUFFIX) \
   212     md/$(OBJDIR)/prosdep.$(OBJ_SUFFIX) \
   213     memory/$(OBJDIR)/prshm.$(OBJ_SUFFIX) \
   214     memory/$(OBJDIR)/prshma.$(OBJ_SUFFIX) \
   215     memory/$(OBJDIR)/prseg.$(OBJ_SUFFIX) \
   216     misc/$(OBJDIR)/pralarm.$(OBJ_SUFFIX) \
   217     misc/$(OBJDIR)/pratom.$(OBJ_SUFFIX) \
   218     misc/$(OBJDIR)/prcountr.$(OBJ_SUFFIX) \
   219     misc/$(OBJDIR)/prdtoa.$(OBJ_SUFFIX) \
   220     misc/$(OBJDIR)/prenv.$(OBJ_SUFFIX) \
   221     misc/$(OBJDIR)/prerr.$(OBJ_SUFFIX) \
   222     misc/$(OBJDIR)/prerror.$(OBJ_SUFFIX) \
   223     misc/$(OBJDIR)/prerrortable.$(OBJ_SUFFIX) \
   224     misc/$(OBJDIR)/prinit.$(OBJ_SUFFIX) \
   225     misc/$(OBJDIR)/prinrval.$(OBJ_SUFFIX) \
   226     misc/$(OBJDIR)/pripc.$(OBJ_SUFFIX) \
   227     misc/$(OBJDIR)/prlog2.$(OBJ_SUFFIX) \
   228     misc/$(OBJDIR)/prlong.$(OBJ_SUFFIX) \
   229     misc/$(OBJDIR)/prnetdb.$(OBJ_SUFFIX) \
   230     misc/$(OBJDIR)/praton.$(OBJ_SUFFIX) \
   231     misc/$(OBJDIR)/prolock.$(OBJ_SUFFIX)	 \
   232     misc/$(OBJDIR)/prrng.$(OBJ_SUFFIX)	 \
   233     misc/$(OBJDIR)/prsystem.$(OBJ_SUFFIX) \
   234     misc/$(OBJDIR)/prthinfo.$(OBJ_SUFFIX) \
   235     misc/$(OBJDIR)/prtpool.$(OBJ_SUFFIX) \
   236     misc/$(OBJDIR)/prtrace.$(OBJ_SUFFIX) \
   237     misc/$(OBJDIR)/prtime.$(OBJ_SUFFIX)
   239 ifdef USE_PTHREADS
   240 OBJS += \
   241     pthreads/$(OBJDIR)/ptsynch.$(OBJ_SUFFIX) \
   242     pthreads/$(OBJDIR)/ptio.$(OBJ_SUFFIX) \
   243     pthreads/$(OBJDIR)/ptthread.$(OBJ_SUFFIX) \
   244     pthreads/$(OBJDIR)/ptmisc.$(OBJ_SUFFIX)
   245 else
   246 OBJS += \
   247     io/$(OBJDIR)/prdir.$(OBJ_SUFFIX) \
   248     io/$(OBJDIR)/prfile.$(OBJ_SUFFIX) \
   249     io/$(OBJDIR)/prio.$(OBJ_SUFFIX) \
   250     io/$(OBJDIR)/prsocket.$(OBJ_SUFFIX) \
   251     misc/$(OBJDIR)/pripcsem.$(OBJ_SUFFIX)
   253 ifndef USE_BTHREADS
   254 OBJS += \
   255 	threads/$(OBJDIR)/prcthr.$(OBJ_SUFFIX) \
   256 	threads/$(OBJDIR)/prdump.$(OBJ_SUFFIX) \
   257 	threads/$(OBJDIR)/prmon.$(OBJ_SUFFIX) \
   258 	threads/$(OBJDIR)/prsem.$(OBJ_SUFFIX) \
   259 	threads/combined/$(OBJDIR)/prucpu.$(OBJ_SUFFIX) \
   260 	threads/combined/$(OBJDIR)/prucv.$(OBJ_SUFFIX) \
   261 	threads/combined/$(OBJDIR)/prulock.$(OBJ_SUFFIX) \
   262 	threads/combined/$(OBJDIR)/prustack.$(OBJ_SUFFIX) \
   263 	threads/combined/$(OBJDIR)/pruthr.$(OBJ_SUFFIX)
   264 endif
   266 endif
   268 ifeq ($(USE_CPLUS), 1)
   269 OBJS += \
   270 	cplus/$(OBJDIR)/rcbase.$(OBJ_SUFFIX) \
   271 	cplus/$(OBJDIR)/rccv.$(OBJ_SUFFIX) \
   272 	cplus/$(OBJDIR)/rcfileio.$(OBJ_SUFFIX) \
   273 	cplus/$(OBJDIR)/rcinrval.$(OBJ_SUFFIX) \
   274 	cplus/$(OBJDIR)/rcio.$(OBJ_SUFFIX) \
   275 	cplus/$(OBJDIR)/rclock.$(OBJ_SUFFIX) \
   276 	cplus/$(OBJDIR)/rcnetdb.$(OBJ_SUFFIX) \
   277 	cplus/$(OBJDIR)/rcnetio.$(OBJ_SUFFIX) \
   278 	cplus/$(OBJDIR)/rcthread.$(OBJ_SUFFIX) \
   279 	cplus/$(OBJDIR)/rctime.$(OBJ_SUFFIX)
   280 endif
   282 ifeq ($(OS_ARCH), WINNT)
   283 RES=$(OBJDIR)/nspr.res
   284 RESNAME=nspr.rc
   285 endif # WINNT
   287 include $(srcdir)/md/$(PR_MD_ARCH_DIR)/objs.mk
   288 ifdef USE_BTHREADS
   289 include $(srcdir)/bthreads/objs.mk
   290 endif
   292 LIBRARY_NAME = nspr
   293 LIBRARY_VERSION = $(MOD_MAJOR_VERSION)
   295 RELEASE_LIBS = $(TARGETS)
   297 include $(topsrcdir)/config/rules.mk
   299 ifeq ($(BUILD_AIX_RTL_LIBC),1)
   300 TARGETS		+= $(AIX_RTL_LIBC)
   301 # XXX is this a shared library?
   302 endif
   304 #
   305 # Version information generation (begin)
   306 #
   307 ECHO = echo
   308 INCLUDES = -I$(dist_includedir) -I$(topsrcdir)/pr/include -I$(topsrcdir)/pr/include/private
   309 TINC = $(OBJDIR)/_pr_bld.h
   311 ifeq ($(OS_TARGET),OS2)
   312 PROD = nspr$(MOD_MAJOR_VERSION).$(DLL_SUFFIX)
   313 else
   314 PROD = $(notdir $(SHARED_LIBRARY))
   315 endif
   317 NOW = $(MOD_DEPTH)/config/$(OBJDIR)/now
   318 SH_DATE = $(shell date "+%Y-%m-%d %T")
   319 SH_NOW = $(shell $(NOW))
   321 ifeq ($(NS_USE_GCC)_$(OS_ARCH),_WINNT)
   322 	SUF = i64
   323 else
   324 	SUF = LL
   325 endif
   327 DEFINES		+= -D_NSPR_BUILD_
   329 GARBAGE += $(TINC)
   331 $(TINC):
   332 	@$(MAKE_OBJDIR)
   333 	@$(ECHO) '#define _BUILD_STRING "$(SH_DATE)"' > $(TINC)
   334 	@if test ! -z "$(SH_NOW)"; then \
   335 	    $(ECHO) '#define _BUILD_TIME $(SH_NOW)$(SUF)' >> $(TINC); \
   336 	else \
   337 	    true; \
   338 	fi
   339 	@$(ECHO) '#define _PRODUCTION "$(PROD)"' >> $(TINC)
   342 $(OBJDIR)/prvrsion.$(OBJ_SUFFIX): prvrsion.c $(TINC)
   343 ifeq ($(NS_USE_GCC)_$(OS_ARCH),_WINNT)
   344 	$(CC) -Fo$@ -c $(CFLAGS) -I$(OBJDIR) $<
   345 else
   346 	$(CC) -o $@ -c $(CFLAGS) -I$(OBJDIR) $<
   347 endif
   348 #
   349 # Version information generation (end)
   350 #
   353 # We use a 'build' target here to ensure that we build $(TARGETS) after
   354 # looping over $(DIRS) to create the object files in a parallel build.
   355 # Recipe commands are executed sequentially in a parallel build while
   356 # target dependencies are executed in parallel.
   357 export::
   358 	$(MAKE) build
   360 #
   361 # The Client build wants the shared libraries in $(dist_bindir)
   362 # so we also install them there.
   363 #
   365 build:: $(TARGETS)
   366 	$(INSTALL) -m 444 $(TARGETS) $(dist_libdir)
   367 ifdef SHARED_LIBRARY
   368 ifeq ($(OS_ARCH),HP-UX)
   369 	$(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_libdir)
   370 	$(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_bindir)
   371 else
   372 	$(INSTALL) -m 444 $(SHARED_LIBRARY) $(dist_bindir)
   373 endif
   374 endif
   376 ifeq ($(BUILD_AIX_RTL_LIBC),1)
   377 $(AIX_RTL_LIBC): /usr/ccs/lib/libc.a
   378 	rtl_enable -o $@ $<
   379 endif

mercurial