summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrelyea%netscape.com <devnull@localhost>2001-04-24 16:45:53 +0000
committerrelyea%netscape.com <devnull@localhost>2001-04-24 16:45:53 +0000
commit5e8425cc51213e5af6998bc2a83b0c6b3b33bffc (patch)
tree91e840a1d465a85a1db760da5e1d49e933237791
parente89137662320f024e0de6b4dacfaa37a4d572f59 (diff)
downloadnss-hg-5e8425cc51213e5af6998bc2a83b0c6b3b33bffc.tar.gz
Add client requested features to coreconf:
building cross platform. targetting the Objects to a separate tree.
-rw-r--r--security/coreconf/OS2.mk4
-rw-r--r--security/coreconf/UNIX.mk5
-rw-r--r--security/coreconf/WIN32.mk4
-rw-r--r--security/coreconf/location.mk13
-rw-r--r--security/coreconf/nsinstall/Makefile9
-rw-r--r--security/coreconf/rules.mk101
-rw-r--r--security/coreconf/ruleset.mk5
7 files changed, 58 insertions, 83 deletions
diff --git a/security/coreconf/OS2.mk b/security/coreconf/OS2.mk
index 1a85c76db..03edadf4a 100644
--- a/security/coreconf/OS2.mk
+++ b/security/coreconf/OS2.mk
@@ -173,7 +173,11 @@ endif # XP_OS2_VACPP
# OS/2 use nsinstall that is included in the toolkit.
# since we do not wish to support and maintain 3 version of nsinstall in mozilla, nspr and nss
+ifdef BUILD_TREE
+NSINSTALL_DIR = $(BUILD_TREE)/nss
+else
NSINSTALL_DIR = $(CORE_DEPTH)/coreconf/nsinstall
+endif
# NSINSTALL = $(NSINSTALL_DIR)/$(OBJDIR_NAME)/nsinstall
NSINSTALL = nsinstall # HCT4OS2
INSTALL = $(NSINSTALL)
diff --git a/security/coreconf/UNIX.mk b/security/coreconf/UNIX.mk
index cbeac85fd..b47bb8ac4 100644
--- a/security/coreconf/UNIX.mk
+++ b/security/coreconf/UNIX.mk
@@ -46,8 +46,13 @@ else
DEFINES += -DDEBUG -UNDEBUG -DDEBUG_$(shell whoami)
endif
+ifdef BUILD_TREE
+NSINSTALL_DIR = $(BUILD_TREE)/nss
+NSINSTALL = $(BUILD_TREE)/nss/nsinstall
+else
NSINSTALL_DIR = $(CORE_DEPTH)/coreconf/nsinstall
NSINSTALL = $(NSINSTALL_DIR)/$(OBJDIR_NAME)/nsinstall
+endif
MKDEPEND_DIR = $(CORE_DEPTH)/coreconf/mkdepend
MKDEPEND = $(MKDEPEND_DIR)/$(OBJDIR_NAME)/mkdepend
diff --git a/security/coreconf/WIN32.mk b/security/coreconf/WIN32.mk
index 61563e49a..f961e3e51 100644
--- a/security/coreconf/WIN32.mk
+++ b/security/coreconf/WIN32.mk
@@ -46,7 +46,11 @@ AR += -NOLOGO -OUT:"$@"
RANLIB = echo
BSDECHO = echo
+ifdef BUILD_TREE
+NSINSTALL_DIR = $(BUILD_TREE)/nss
+else
NSINSTALL_DIR = $(CORE_DEPTH)/coreconf/nsinstall
+endif
NSINSTALL = nsinstall
MKDEPEND_DIR = $(CORE_DEPTH)/coreconf/mkdepend
diff --git a/security/coreconf/location.mk b/security/coreconf/location.mk
index 7bb967d42..6e1bc2649 100644
--- a/security/coreconf/location.mk
+++ b/security/coreconf/location.mk
@@ -39,13 +39,20 @@
# Figure out where the binary code lives.
#
+ifdef BUILD_TREE
+BUILD = $(BUILD_TREE)/nss/$(LIBRARY_NAME)
+OBJDIR = $(BUILD_TREE)/nss/$(LIBRARY_NAME)
+VPATH = $(BUILD_TREE)/nss/$(LIBRARY_NAME)
+DEPENDENCIES = $(BUILD_TREE)/nss/$(LIBRARY_NAME)/.md
+else
+
BUILD = $(PLATFORM)
OBJDIR = $(PLATFORM)
-
-DIST = $(CORE_DEPTH)/../dist/$(PLATFORM)
-
VPATH = $(NSINSTALL_DIR)/$(PLATFORM)
DEPENDENCIES = $(PLATFORM)/.md
+endif
+
+DIST = $(SOURCE_PREFIX)/$(PLATFORM)
ifdef BUILD_DEBUG_GC
DEFINES += -DDEBUG_GC
diff --git a/security/coreconf/nsinstall/Makefile b/security/coreconf/nsinstall/Makefile
index 77fd9dacc..80534139c 100644
--- a/security/coreconf/nsinstall/Makefile
+++ b/security/coreconf/nsinstall/Makefile
@@ -42,6 +42,7 @@ PLSRCS = nfspwd.pl
PROGRAM = nsinstall
+
include $(DEPTH)/coreconf/config.mk
ifeq (,$(filter-out OS2 WINNT,$(OS_ARCH)))
@@ -50,6 +51,14 @@ else
TARGETS = $(PROGRAM) $(PLSRCS:.pl=)
endif
+ifdef NATIVE_CC
+CC=$(NATIVE_CC)
+endif
+
+ifdef NATIVE_FLAGS
+OS_CFLAGS=$(NATIVE_FLAGS)
+endif
+
include $(DEPTH)/coreconf/rules.mk
# Redefine MAKE_OBJDIR for just this directory
diff --git a/security/coreconf/rules.mk b/security/coreconf/rules.mk
index 8d27188ed..869747f12 100644
--- a/security/coreconf/rules.mk
+++ b/security/coreconf/rules.mk
@@ -52,6 +52,13 @@ endif
platform::
@echo $(OBJDIR_NAME)
+ifeq ($(OS_ARCH), WINNT)
+USE_NT_C_SYNTAX=1
+endif
+
+ifdef XP_OS2_VACPP
+USE_NT_C_SYTNAX=1
+endif
#
# IMPORTS will always be associated with a component. Therefore,
@@ -282,23 +289,7 @@ alltags:
$(PROGRAM): $(OBJS) $(EXTRA_LIBS)
@$(MAKE_OBJDIR)
ifeq ($(OS_ARCH),WINNT)
-ifeq ($(OS_TARGET),WIN16)
- echo system windows >w16link
- echo option map >>w16link
- echo option oneautodata >>w16link
- echo option heapsize=32K >>w16link
- echo debug watcom all >>w16link
- echo name $@ >>w16link
- echo file >>w16link
- echo $(W16OBJS) , >>w16link
- echo $(W16LDFLAGS) >> w16link
- echo library >>w16link
- echo winsock.lib >>w16link
- $(LINK) @w16link.
- rm w16link
-else
$(MKPROG) $(OBJS) -Fe$@ -link $(LDFLAGS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS)
-endif
else
ifdef XP_OS2_VACPP
$(MKPROG) -Fe$@ $(CFLAGS) $(OBJS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS)
@@ -306,9 +297,6 @@ else
$(MKPROG) -o $@ $(CFLAGS) $(OBJS) $(LDFLAGS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS)
endif
endif
-ifneq ($(POLICY),)
- -$(PLCYPATCH) $(PLCYPATCH_ARGS) $@
-endif
get_objs:
@echo $(OBJS)
@@ -319,10 +307,6 @@ $(LIBRARY): $(OBJS)
$(AR) $(OBJS)
$(RANLIB) $@
-ifeq ($(OS_TARGET), WIN16)
-$(IMPORT_LIBRARY): $(SHARED_LIBRARY)
- wlib +$(SHARED_LIBRARY)
-endif
ifeq ($(OS_ARCH),OS2)
$(IMPORT_LIBRARY): $(OBJS)
@@ -332,8 +316,12 @@ $(IMPORT_LIBRARY): $(OBJS)
endif
ifdef SHARED_LIBRARY_LIBS
+ifdef BUILD_TREE
+SUB_SHLOBJS = $(foreach dir,$(SHARED_LIBRARY_DIRS),$(shell $(MAKE) -C $(dir) --no-print-directory get_objs))
+else
SUB_SHLOBJS = $(foreach dir,$(SHARED_LIBRARY_DIRS),$(addprefix $(dir)/,$(shell $(MAKE) -C $(dir) --no-print-directory get_objs)))
endif
+endif
$(SHARED_LIBRARY): $(OBJS) $(MAPFILE)
@$(MAKE_OBJDIR)
@@ -348,22 +336,7 @@ ifeq ($(OS_ARCH)$(OS_RELEASE), AIX4.1)
-bM:SRE -bnoentry $(OS_LIBS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS)
else
ifeq ($(OS_ARCH), WINNT)
-ifeq ($(OS_TARGET), WIN16)
- echo system windows dll initinstance >w16link
- echo option map >>w16link
- echo option oneautodata >>w16link
- echo option heapsize=32K >>w16link
- echo debug watcom all >>w16link
- echo name $@ >>w16link
- echo file >>w16link
- echo $(W16OBJS) >>w16link
- echo $(W16LIBS) >>w16link
- echo libfile libentry >>w16link
- $(LINK) @w16link.
- rm w16link
-else
$(LINK_DLL) -MAP $(DLLBASE) $(OBJS) $(SUB_SHLOBJS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS) $(LD_LIBS)
-endif
else
ifeq ($(OS_ARCH),OS2)
@cmd /C "echo LIBRARY $(notdir $(basename $(SHARED_LIBRARY))) INITINSTANCE TERMINSTANCE >$@.def"
@@ -384,9 +357,6 @@ ifeq ($(OS_ARCH),OpenVMS)
endif
endif
endif
-ifneq ($(POLICY),)
- -$(PLCYPATCH) $(PLCYPATCH_ARGS) $@
-endif
ifeq ($(OS_ARCH), WINNT)
$(RES): $(RESNAME)
@@ -435,23 +405,22 @@ WCCFLAGS1 := $(subst /,\\,$(CFLAGS))
WCCFLAGS2 := $(subst -I,-i=,$(WCCFLAGS1))
WCCFLAGS3 := $(subst -D,-d,$(WCCFLAGS2))
-$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.c
+
+$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): $(OBJDIR)/%.c
@$(MAKE_OBJDIR)
-ifeq ($(OS_ARCH), WINNT)
-ifeq ($(OS_TARGET), WIN16)
- echo $(WCCFLAGS3) >w16wccf
- $(CC) -zq -fo$(OBJDIR)\\$(PROG_PREFIX)$*$(OBJ_SUFFIX) @w16wccf $*.c
- rm w16wccf
+ifdef USE_NT_C_SYNTAX
+ $(CC) -Fo$@ -c $(CFLAGS) $(OBJDIR)/$*.c
else
- $(CC) -Fo$@ -c $(CFLAGS) $*.c
+ $(CC) -o $@ -c $(CFLAGS) $(OBJDIR)/$*.c
endif
-else
-ifdef XP_OS2_VACPP
+
+$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.c
+ @$(MAKE_OBJDIR)
+ifdef USE_NT_C_SYNTAX
$(CC) -Fo$@ -c $(CFLAGS) $*.c
else
$(CC) -o $@ -c $(CFLAGS) $*.c
endif
-endif
ifneq ($(OS_ARCH), WINNT)
$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.s
@@ -469,7 +438,7 @@ $(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.S
$(OBJDIR)/$(PROG_PREFIX)%: %.cpp
@$(MAKE_OBJDIR)
-ifeq ($(OS_ARCH), WINNT)
+ifdef USE_NT_C_SYNTAX
$(CCC) -Fo$@ -c $(CFLAGS) $<
else
$(CCC) -o $@ -c $(CFLAGS) $<
@@ -489,38 +458,22 @@ ifdef STRICT_CPLUSPLUS_SUFFIX
$(CCC) -o $@ -c $(CFLAGS) $(OBJDIR)/t_$*.cc
rm -f $(OBJDIR)/t_$*.cc
else
-ifeq ($(OS_ARCH),WINNT)
- $(CCC) -Fo$@ -c $(CFLAGS) $*.cpp
-else
-ifdef XP_OS2_VACPP
+ifdef USE_NT_C_SYNTAX
$(CCC) -Fo$@ -c $(CFLAGS) $*.cpp
else
$(CCC) -o $@ -c $(CFLAGS) $*.cpp
endif
-endif
endif #STRICT_CPLUSPLUS_SUFFIX
%.i: %.cpp
-ifeq ($(OS_TARGET), WIN16)
- echo $(WCCFLAGS3) >w16wccf
- $(CCC) -pl -fo=$* @w16wccf $*.cpp
- rm w16wccf
-else
$(CCC) -C -E $(CFLAGS) $< > $*.i
-endif
%.i: %.c
-ifeq ($(OS_TARGET), WIN16)
- echo $(WCCFLAGS3) >w16wccf
- $(CC) -pl -fo=$* @w16wccf $*.c
- rm w16wccf
-else
ifeq ($(OS_ARCH),WINNT)
$(CC) -C /P $(CFLAGS) $<
else
$(CC) -C -E $(CFLAGS) $< > $*.i
endif
-endif
ifneq ($(OS_ARCH), WINNT)
%.i: %.s
@@ -808,11 +761,6 @@ endif
# Copy each element of EXPORTS to $(SOURCE_XP_DIR)/public/$(MODULE)/
#
PUBLIC_EXPORT_DIR = $(SOURCE_XP_DIR)/public/$(MODULE)
-ifeq ($(OS_ARCH),WINNT)
-ifeq ($(OS_TARGET),WIN16)
-PUBLIC_EXPORT_DIR = $(SOURCE_XP_DIR)/public/win16
-endif
-endif
ifneq ($(EXPORTS),)
$(PUBLIC_EXPORT_DIR)::
@@ -828,11 +776,6 @@ endif
# Duplicate export rule for private exports, with different directories
PRIVATE_EXPORT_DIR = $(SOURCE_XP_DIR)/private/$(MODULE)
-ifeq ($(OS_ARCH),WINNT)
-ifeq ($(OS_TARGET),WIN16)
-PRIVATE_EXPORT_DIR = $(SOURCE_XP_DIR)/public/win16
-endif
-endif
ifneq ($(PRIVATE_EXPORTS),)
$(PRIVATE_EXPORT_DIR)::
diff --git a/security/coreconf/ruleset.mk b/security/coreconf/ruleset.mk
index 3733c41fd..52ff8d127 100644
--- a/security/coreconf/ruleset.mk
+++ b/security/coreconf/ruleset.mk
@@ -195,7 +195,10 @@ ifndef OBJS
$(CSRCS:.c=$(OBJ_SUFFIX)) \
$(CPPSRCS:.cpp=$(OBJ_SUFFIX)) \
$(ASFILES:$(ASM_SUFFIX)=$(OBJ_SUFFIX))
- OBJS = $(addprefix $(OBJDIR)/$(PROG_PREFIX), $(SIMPLE_OBJS))
+ OBJS = $(BUILT_CSRCS:.c=$(OBJ_SUFFIX)) \
+ $(BUILT_CPPSRCS:.cpp=$(OBJ_SUFFIX)) \
+ $(BUILT_ASFILES:$(ASM_SUFFIX)=$(OBJ_SUFFIX)) \
+ $(addprefix $(OBJDIR)/$(PROG_PREFIX), $(SIMPLE_OBJS))
endif
ifeq ($(OS_TARGET), WIN16)