Closed
Bug 298532
Opened 20 years ago
Closed 20 years ago
NSS support for Mac 10.4u ("universal") SDK
Categories
(NSS :: Build, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
3.10.2
People
(Reporter: mark, Assigned: mark)
References
Details
Attachments
(2 files, 1 obsolete file)
1.26 KB,
patch
|
mark
:
review+
|
Details | Diff | Splinter Review |
1.07 KB,
patch
|
wtc
:
review+
|
Details | Diff | Splinter Review |
NSS companion to bug 298529. Need to properly interpret SDK version number now
that Apple's broken with tradition and stuck letters in it.
NSS doesn't have the fallback code I wrote of, so the build currently fails in
pathsub.c.
Assignee | ||
Comment 1•20 years ago
|
||
This makes nss able to figure out what MacOSX10.4u.sdk is all about by
replacing some of the logic with the same perl used in mozilla's and nspr's
configure. It also removes the reliance on the hard-coded powerpc word for
obvious reasons.
wtc, not that I'm interested in cross-compiling at the moment, but it seems to
me that nss is already incapable of cross-compilation on Darwin, if only
because of the reliance on OS_TEST. The introduction of CPU_ARCH_LONG
continues this trend. If cross is supposed to work, let's figure out something
better now.
Attachment #187095 -
Flags: review?(wtchang)
Attachment #187095 -
Flags: approval1.8b3?
Assignee | ||
Updated•20 years ago
|
Attachment #187095 -
Flags: review?(cls)
Updated•20 years ago
|
Attachment #187095 -
Flags: approval1.8b3?
Comment 2•20 years ago
|
||
Comment on attachment 187095 [details] [diff] [review]
Repair Darwin.mk
r=wtc. A suggestion:
>+CPU_ARCH_LONG = $(shell uname -p)
It is better to use := instead of = here. The difference is that
:= only invokes the shell function at the time of definition, but
= invokes the shell function at the time of variable substitution.
If there are multiple instances of $(CPU_ARCH_LONG), we will win by
using := .
I would also move the definition of CPU_ARCH_LONG right above the
following line, to make it clear that it is only used in that line.
>+ DARWIN_TARGET_ARCH_LIB := $(CPU_ARCH_LONG)-apple-darwin$(shell echo $NEXT_ROOT | perl -pe 's/MacOSX10\.([\d]*)//;if ($$1) {$$_=$$1+4;} else {$$_="'${OS_RELEASE}'";s/(\d+)//;$$_=$$1;}')
Attachment #187095 -
Flags: review?(wtchang) → review+
Assignee | ||
Comment 3•20 years ago
|
||
OK, we'll go with the suggestion from your comments. Could you also shed some
light on the cross-compiling question from comment 4? Thanks.
Status: NEW → ASSIGNED
Assignee | ||
Updated•20 years ago
|
Attachment #187095 -
Flags: review?(cls) → approval1.8b3?
Updated•20 years ago
|
Attachment #187095 -
Flags: approval1.8b3?
Comment 4•20 years ago
|
||
NSS's coreconf build system supports cross compiling for a different
OS, but it doesn't support cross compiling for a different CPU
architecture.
Mozilla currently cross compiles NSS for a different CPU
architecture using this hack inside mozilla/security/manager/Makefile.in.
http://lxr.mozilla.org/security/source/security/manager/Makefile.in#126
126 ifdef CROSS_COMPILE
127 DEFAULT_GMAKE_FLAGS += \
128 NSINSTALL="$(NSINSTALL)" \
129 NATIVE_CC="$(HOST_CC)" \
130 CC="$(CC)" \
131 CCC="$(CXX)" \
132 LINK="$(LD)" \
133 AS="$(AS)" \
134 AR='$(AR) $(AR_FLAGS:$@=$$@)' \
135 RANLIB="$(RANLIB)" \
136 RC="$(RC) $(RCFLAGS)" \
137 OS_ARCH="$(OS_ARCH)" \
138 CPU_ARCH="$(TARGET_CPU)" \
139 $(NULL)
140 SKIP_CHK=1
141 endif
This hack currently only works for cross compiling for
Linux/ARM on an Linux system. To extend this hack to Mac OS X,
I believe you need to override CPU_ARCH_LONG or
DARWIN_TARGET_ARCH_LIB. Alternatively, we can redefine
the existing CPU_ARCH and replace CPU_ARCH_LONG with
CPU_ARCH.
Comment 5•20 years ago
|
||
Attachment #187095 -
Attachment is obsolete: true
Attachment #187541 -
Flags: review?(mark)
Assignee | ||
Updated•20 years ago
|
Attachment #187541 -
Flags: review?(mark)
Attachment #187541 -
Flags: review?(cls)
Attachment #187541 -
Flags: review+
Assignee | ||
Updated•20 years ago
|
Attachment #187541 -
Flags: review?(cls)
Assignee | ||
Comment 6•20 years ago
|
||
Checked in on trunk and NSS_3_10_BRANCH ~14:20 PDT. Thanks, wtc.
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Comment 7•20 years ago
|
||
Mark, we still need to get this patch into the NSS_CLIENT_TAG,
which is used by the Mozilla trunk. Getting the patch into
the NSS trunk and NSS_3_10_BRANCH is just a prerequisite.
Assignee | ||
Comment 8•20 years ago
|
||
Whoops, forgot - nss.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Comment 9•20 years ago
|
||
Mark, NSS should also use -fPIC and export MACOSX_DEPLOYMENT_TARGET.
When building Mozilla, MACOSX_DEPLOYMENT_TARGET is inherited from
Mozilla's environment. But NSS itself should also export it, at
least for standalone NSS builds.
Assignee | ||
Comment 10•20 years ago
|
||
OK, will implement that here too.
Comment 11•20 years ago
|
||
Patch checked into the NSS_CLIENT_TAG for mozilla1.8b3 and aviary1.1a2.
Status: REOPENED → RESOLVED
Closed: 20 years ago → 20 years ago
Resolution: --- → FIXED
Target Milestone: --- → 3.10.1
Assignee | ||
Comment 12•20 years ago
|
||
MACOSX_DEPLOYMENT_TARGET needs no special treatment. Just setting that
variable before making NSS is the only knob the builder needs.
This patch introduces -fPIC to DSO_CFLAGS for Darwin in NSS.
Attachment #187745 -
Flags: review?(wtchang)
Updated•20 years ago
|
Attachment #187745 -
Flags: review?(wtchang) → review+
Comment 13•20 years ago
|
||
Comment on attachment 187745 [details] [diff] [review]
-fPIC for NSS/Darwin
I checked in this patch on the NSS trunk for NSS 3.11.
Checking in Darwin.mk;
/cvsroot/mozilla/security/coreconf/Darwin.mk,v <-- Darwin.mk
new revision: 1.12; previous revision: 1.11
done
Since -fPIC is the default, there is no hurry to get this into
any release branch or NSS_CLIENT_TAG.
Updated•19 years ago
|
Target Milestone: 3.10.1 → 3.10.2
You need to log in
before you can comment on or make changes to this bug.
Description
•