Index: ossp-pkg/js/src/Makefile.in RCS File: /v/ossp/cvs/ossp-pkg/js/src/Attic/Makefile.in,v co -q -kk -p'1.1.1.1' '/v/ossp/cvs/ossp-pkg/js/src/Attic/Makefile.in,v' | diff -u - /dev/null -L'ossp-pkg/js/src/Makefile.in' 2>/dev/null --- ossp-pkg/js/src/Makefile.in +++ /dev/null 2024-05-20 23:45:31.000000000 +0200 @@ -1,410 +0,0 @@ -# -*- Mode: makefile -*- -# -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is Mozilla Communicator client code, released -# March 31, 1998. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either of the GNU General Public License Version 2 or later (the "GPL"), -# or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -DEPTH = ../.. -topsrcdir = @top_srcdir@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -include $(DEPTH)/config/autoconf.mk - -MODULE = js -LIBRARY_NAME = mozjs -LIB_IS_C_ONLY = 1 -GRE_MODULE = 1 - -ifeq (,$(filter-out WINNT WINCE,$(OS_ARCH))) -LIBRARY_NAME = js$(MOZ_BITS)$(VERSION_NUMBER) -RESFILE = js$(MOZ_BITS)40.res -endif - -PACKAGE_FILE = js.pkg - -# JavaScript must be built shared, even for static builds, as it is used by -# other modules which are always built shared. Failure to do so results in -# the js code getting copied into xpinstall and jsd as well as mozilla-bin, -# and then the static data cells used for locking no longer work. -FORCE_SHARED_LIB = 1 - -CSRCS = \ - jsapi.c \ - jsarena.c \ - jsarray.c \ - jsatom.c \ - jsbool.c \ - jscntxt.c \ - jsdate.c \ - jsdbgapi.c \ - jsdhash.c \ - jsdtoa.c \ - jsemit.c \ - jsexn.c \ - jsfun.c \ - jsgc.c \ - jshash.c \ - jsinterp.c \ - jslock.c \ - jslog2.c \ - jslong.c \ - jsmath.c \ - jsnum.c \ - jsobj.c \ - jsopcode.c \ - jsparse.c \ - jsprf.c \ - jsregexp.c \ - jsscan.c \ - jsscope.c \ - jsscript.c \ - jsstr.c \ - jsutil.c \ - jsxdrapi.c \ - jsxml.c \ - prmjtime.c \ - $(NULL) - -EXPORTS = \ - jsautocfg.h \ - js.msg \ - jsapi.h \ - jsarray.h \ - jsarena.h \ - jsatom.h \ - jsbit.h \ - jsbool.h \ - jsclist.h \ - jscntxt.h \ - jscompat.h \ - jsconfig.h \ - jsdate.h \ - jsdbgapi.h \ - jsdhash.h \ - jsemit.h \ - jsfun.h \ - jsgc.h \ - jshash.h \ - jsinterp.h \ - jslock.h \ - jslong.h \ - jsmath.h \ - jsnum.h \ - jsobj.h \ - jsopcode.tbl \ - jsopcode.h \ - jsosdep.h \ - jsotypes.h \ - jsparse.h \ - jsprf.h \ - jsprvtd.h \ - jspubtd.h \ - jsregexp.h \ - jsscan.h \ - jsscope.h \ - jsscript.h \ - jsstddef.h \ - jsstr.h \ - jstypes.h \ - jsutil.h \ - jsxdrapi.h \ - jsxml.h \ - $(NULL) - -ifeq (,$(filter-out WINNT WINCE,$(OS_ARCH))) -EXPORTS += jscpucfg.h -endif - -FDLIBM_LIBRARY = fdlibm/$(LIB_PREFIX)fdm.$(LIB_SUFFIX) -JSMATH_PRELINK = jsmathtemp.o -JS_SAFE_ARENA = 1 - -DASH_R = -r - -include $(topsrcdir)/config/config.mk - -EXTRA_DSO_LDOPTS += $(NSPR_LIBS) - -ifeq (,$(filter-out OS2 WINNT WINCE,$(OS_ARCH))) -SHARED_LIBRARY_LIBS += $(FDLIBM_LIBRARY) -endif - -# When using gcc the assembly is inlined in the C-file (see jslock.c) -ifeq ($(OS_ARCH),SunOS) -ifneq ($(OS_TEST),i86pc) -ifndef GNU_CC -ASFILES = lock_$(OS_ARCH).s -endif -endif -endif - -ifndef BUILD_OPT -MOCHAFILE = 1 -endif - -ifndef NSBUILDROOT -JSJAVA_STUBHEADERS = \ - -I$(topsrcdir)/sun-java/include/_gen \ - -I$(topsrcdir)/sun-java/netscape/javascript/_jri \ - -I$(topsrcdir)/sun-java/netscape/security/_jri -else -JSJAVA_STUBHEADERS = -I$(JRI_GEN_DIR) -I$(JDK_GEN_DIR) -endif - -JSJAVA_CFLAGS = \ - -I$(topsrcdir)/sun-java/md-include \ - -I$(topsrcdir)/sun-java/include \ - $(JSJAVA_STUBHEADERS) - -include $(topsrcdir)/config/rules.mk - -DEFINES += -DEXPORT_JS_API - -INCLUDES += -I$(srcdir) - -# MSVC '-Gy' cc flag and '/OPT:REF' linker flag cause JS_GetArgument and -# JS_GetLocalVariable to be folded to the same address by the linker, -# leading to a crash on startup. See bug 151066. So, in optimized builds, -# add the /OPT:NOICF flag, which turns off 'identical COMDAT folding'. -# -# N.B.: 'identical COMDAT folding' that folds functions whose addresses -# are taken violates the ISO C and C++ standards. -ifndef MOZ_DEBUG -ifeq (_WINNT,$(GNU_CC)_$(OS_ARCH)) -LDFLAGS += -OPT:NOICF -endif -endif - -GARBAGE += $(JSMATH_PRELINK) jscpucfg.o jsautocfg.h jsautocfg.tmp jscpucfg - -ifneq (,$(CROSS_COMPILE)$(filter-out WINNT,$(OS_ARCH))) -TARGETS += jscpucfg$(HOST_BIN_SUFFIX) -endif - -ifdef JS_SAFE_ARENA -DEFINES += -DJS_USE_SAFE_ARENA -endif - -ifdef JS_THREADSAFE -DEFINES += -DJS_THREADSAFE -endif - -ifdef JS_NO_THIN_LOCKS -DEFINES += -DJS_USE_ONLY_NSPR_LOCKS -endif - -ifdef JS_VERSION -DEFINES += -DJS_VERSION=$(JS_VERSION) -endif - -ifneq ($(findstring -L,$(NSPR_LIBS)),) -NSPR_STATIC_PATH = $(subst -L,,$(findstring -L,$(NSPR_LIBS))) -else -NSPR_STATIC_PATH = $(DIST)/lib -endif - -LDFLAGS += $(pathsubst -l%,$(NSPR_STATIC_PATH)/%.a,$(NSPR_LIBS)) - -# BeOS and HP-UX do not require the extra linking of "-lm" -ifeq (,$(filter BeOS HP-UX WINNT WINCE OpenVMS,$(OS_ARCH))) -LDFLAGS += -lm -endif - -# Prevent floating point errors caused by VC++ optimizations -ifeq ($(OS_ARCH)_$(GNU_CC),WINNT_) -ifeq (,$(filter-out 1200 1300 1310,$(_MSC_VER))) -CFLAGS += -Op -else -CFLAGS += -fp:precise -endif -endif # WINNT - -ifeq ($(OS_ARCH),FreeBSD) -LDFLAGS += -pthread -endif -ifeq ($(OS_ARCH),IRIX) -ifdef USE_N32 -DASH_R += -n32 -endif -endif -ifeq ($(OS_ARCH),Linux) -LDFLAGS += -ldl -endif -ifeq ($(OS_ARCH),OSF1) -LDFLAGS += -lc_r -endif -ifeq ($(OS_ARCH),SunOS) -ifeq ($(TARGET_CPU),sparc) - -ifdef JS_ULTRASPARC_OPTS -DEFINES += -DULTRA_SPARC -ifdef GNU_CC -CFLAGS += -Wa,-xarch=v8plus,-DULTRA_SPARC,-P,-L,-D_ASM,-D__STDC__=0 -CXXFLAGS += -Wa,-xarch=v8plus,-DULTRA_SPARC,-P,-L,-D_ASM,-D__STDC__=0,-K,PIC -else -ASFLAGS += -xarch=v8plus -DULTRA_SPARC -P -L -D_ASM -D__STDC__=0 -K PIC -endif # GNU_CC -endif # JS_ULTRASPARC_OPTS - -endif -ifeq ($(OS_RELEASE),4.1) -LDFLAGS += -ldl -lnsl -else -LDFLAGS += -lposix4 -ldl -lnsl -lsocket -endif -endif - -ifeq ($(OS_ARCH),QNX) -ifneq ($(OS_TARGET),NTO) -# Don't use wildcard here, because we only want this resolved at link time. -OBJS += fdlibm/*.o -endif -endif - -ifeq ($(OS_ARCH),IRIX) -ifndef GNU_CC -_COMPILE_CFLAGS = $(patsubst -O%,-O1,$(COMPILE_CFLAGS)) -jsapi.o jsarena.o jsarray.o jsatom.o jsemit.o jsfun.o jsinterp.o jsregexp.o jsparse.o jsopcode.o jsscript.o: %.o: %.c Makefile.in - $(REPORT_BUILD) - @$(MAKE_DEPS_AUTO) - $(CC) -o $@ -c $(_COMPILE_CFLAGS) $< -endif -endif - -# On OS/2 & win32 we are already linking against fdlibm, so don't bother -# creating jsmathtemp -ifeq (,$(filter OS2 WINNT OpenVMS,$(OS_ARCH))) -# special rule for jsmath.o since we want to incrementally link -# against fdlibm to pull in only what is needed -# Do this in a single step to avoid dependency problems -jsmath.o: jsmath.c $(FDLIBM_LIBRARY) Makefile.in - $(REPORT_BUILD) - @$(MAKE_DEPS_AUTO) - $(ELOG) $(CC) $(OUTOPTION)$(JSMATH_PRELINK) -c $(COMPILE_CFLAGS) $< -ifeq ($(OS_ARCH),QNX) -ifneq ($(OS_TARGET),NTO) - @cp $(JSMATH_PRELINK) $@ -else - $(LD) $(DASH_R) -o $@ $(JSMATH_PRELINK) $(FDLIBM_LIBRARY) -endif -else - $(LD) $(DASH_R) -o $@ $(JSMATH_PRELINK) $(FDLIBM_LIBRARY) -endif - @$(RM) -f $(JSMATH_PRELINK) -else -# Create dependency so we build fdlibm -jsmath.o: $(FDLIBM_LIBRARY) Makefile.in -endif - -# An AIX Optimization bug causes PR_dtoa() & JS_dtoa to produce wrong result. -# This suppresses optimization for this single compilation unit. -ifeq ($(OS_ARCH),AIX) -jsatom.o: jsatom.c Makefile.in - $(REPORT_BUILD) - @$(MAKE_DEPS_AUTO) - $(CC) -o $@ -c $(filter-out $(MOZ_OPTIMIZE_FLAGS), $(COMPILE_CFLAGS)) $< -jsdtoa.o: jsdtoa.c Makefile.in - $(REPORT_BUILD) - @$(MAKE_DEPS_AUTO) - $(CC) -o $@ -c $(filter-out $(MOZ_OPTIMIZE_FLAGS), $(COMPILE_CFLAGS)) $< -endif - -$(FDLIBM_LIBRARY): - $(MAKE) -C $(@D) $(@F) - -jsopcode.h jsopcode.c: jsopcode.tbl - -ifeq (,$(CROSS_COMPILE)$(filter-out WINNT,$(OS_ARCH))) -jsautocfg.h: - touch $@ -else -ifeq ($(OS_ARCH),WINCE) -jsautocfg.h: - touch $@ -else -jsautocfg.h: jscpucfg$(HOST_BIN_SUFFIX) - @rm -f $@ jsautocfg.tmp - ./jscpucfg > jsautocfg.tmp - mv jsautocfg.tmp $@ -endif -endif - -# jscpucfg is a strange target -# Needs to be built with the host compiler but needs to include -# the mdcpucfg for the target so it needs the appropriate target defines -ifdef HOST_NSPR_MDCPUCFG -HOST_CC := $(HOST_CC) -DMDCPUCFG=$(TARGET_NSPR_MDCPUCFG) -HOST_CFLAGS := $(patsubst -DXP_%,,$(HOST_CFLAGS)) -endif - -ifdef CROSS_COMPILE -# jscpucfg needs to know when it's supposed to produce a config for the target -JSCPUCFG_DEFINES = $(ACDEFINES) - -# This is incredibly hacky. Darwin NSPR uses the same MDCPUCFG for multiple -# processors, and determines which processor to configure for based on -# #ifdef i386. This macro is among the NSPR defines, but is also automatically -# defined by the compiler when building for i386. It therefore needs to be -# defined here if targeting i386, and explicitly undefined otherwise. -ifeq ($(OS_ARCH),Darwin) -ifeq ($(TARGET_CPU),powerpc) -JSCPUCFG_DEFINES += -Ui386 -else -JSCPUCFG_DEFINES += -Di386=1 -endif -endif -endif - -ifeq ($(OS_ARCH),QNX) -ifneq ($(OS_TARGET),NTO) -# QNX's compiler apparently can't build a binary directly from a source file. -jscpucfg.o: jscpucfg.c Makefile.in - $(HOST_CC) $(HOST_CFLAGS) -c $(JSCPUCFG_DEFINES) $(DEFINES) $(NSPR_CFLAGS) -o $@ $< - -jscpucfg: jscpucfg.o - $(HOST_CC) $(HOST_CFLAGS) $(JSCPUCFG_DEFINES) $(DEFINES) -o $@ $< -endif -else -ifeq ($(OS_ARCH),WINCE) -jscpucfg$(HOST_BIN_SUFFIX): - echo no need to build jscpucfg $< -else -jscpucfg$(HOST_BIN_SUFFIX): jscpucfg.c Makefile.in - $(HOST_CC) $(HOST_CFLAGS) $(JSCPUCFG_DEFINES) $(DEFINES) $(NSPR_CFLAGS) $(OUTOPTION)$@ $< -endif -endif -