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)

enhancement

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.
See Also: → 797508
Depends on: 824004
No longer depends on: 824004
Severity: normal → S3
Severity: S3 → N/A
Type: defect → enhancement
Priority: -- → P5
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.