Closed
Bug 822805
Opened 12 years ago
Closed 11 months ago
Support building NSS with OBJDIRs completely outside the source directory
Categories
(NSS :: Build, enhancement, P5)
NSS
Build
Tracking
(Not tracked)
RESOLVED
INACTIVE
People
(Reporter: briansmith, Unassigned)
References
Details
Gecko contains this workaround to build with the OBJDIR outside of the source dirctory:
http://mxr.mozilla.org/mozilla-central/source/security/build/Makefile.in?rev=6a0ed6484811#151
# Hack to force NSS build system to use "normal" object directories
DEFAULT_GMAKE_FLAGS += BUILD='$(MOZ_BUILD_ROOT)/security/$$(subst $(ABS_topsrcdir)/security/,,$$(CURDIR))'
DEFAULT_GMAKE_FLAGS += BUILD_TREE='$$(BUILD)' OBJDIR='$$(BUILD)' DEPENDENCIES='$$(BUILD)/.deps' SINGLE_SHLIB_DIR='$$(BUILD)'
DEFAULT_GMAKE_FLAGS += SOURCE_XP_DIR=$(ABS_DIST)
We should build support for this into the NSS build system, and make it the default.
Currently, our workflow is something like this:
cvs co NSPR NSS
cd mozilla/security/nss
make nss_build_all
which puts output files in mozilla/dist/$(OBJDIR_NAME) and throughout mozilla/security/nss/.../$(OBJDIR_NAME)
With the proposed Mercurial layout, we will have a workflow like this:
# "mozilla" could actually be any name
export BASEDIR=mozilla
mkdir $BASEDIR
cd $BASEDIR
hg clone http://hg.mozilla.org/nspr
hg clone http://hg.mozilla.org/nss
cd nss
make nss_build_all
I propose that the dist directory should be $BASEDIR/dist/$(OBJDIR_NAME) and that all intermediate files are generated Gecko-style under that directory.
We can test this is working by verifying that the build succeeds when the source directory is read-only.
Updated•2 years ago
|
Severity: normal → S3
Updated•1 year ago
|
Severity: S3 → N/A
Type: defect → enhancement
Priority: -- → P5
Updated•11 months ago
|
Status: NEW → RESOLVED
Closed: 11 months ago
Resolution: --- → INACTIVE
You need to log in
before you can comment on or make changes to this bug.
Description
•