Closed
Bug 298532
Opened 19 years ago
Closed 19 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•19 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•19 years ago
|
Attachment #187095 -
Flags: review?(cls)
Updated•19 years ago
|
Attachment #187095 -
Flags: approval1.8b3?
Comment 2•19 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•19 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•19 years ago
|
Attachment #187095 -
Flags: review?(cls) → approval1.8b3?
Updated•19 years ago
|
Attachment #187095 -
Flags: approval1.8b3?
Comment 4•19 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•19 years ago
|
||
Attachment #187095 -
Attachment is obsolete: true
Attachment #187541 -
Flags: review?(mark)
Assignee | ||
Updated•19 years ago
|
Attachment #187541 -
Flags: review?(mark)
Attachment #187541 -
Flags: review?(cls)
Attachment #187541 -
Flags: review+
Assignee | ||
Updated•19 years ago
|
Attachment #187541 -
Flags: review?(cls)
Assignee | ||
Comment 6•19 years ago
|
||
Checked in on trunk and NSS_3_10_BRANCH ~14:20 PDT. Thanks, wtc.
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Comment 7•19 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•19 years ago
|
||
Whoops, forgot - nss.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Comment 9•19 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•19 years ago
|
||
OK, will implement that here too.
Comment 11•19 years ago
|
||
Patch checked into the NSS_CLIENT_TAG for mozilla1.8b3 and aviary1.1a2.
Status: REOPENED → RESOLVED
Closed: 19 years ago → 19 years ago
Resolution: --- → FIXED
Target Milestone: --- → 3.10.1
Assignee | ||
Comment 12•19 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•19 years ago
|
Attachment #187745 -
Flags: review?(wtchang) → review+
Comment 13•19 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
•