Open Bug 822805 Opened 12 years ago Updated 2 years ago

Support building NSS with OBJDIRs completely outside the source directory

Categories

(NSS :: Build, defect)

defect

Tracking

(Not tracked)

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.
Depends on: 824004
No longer depends on: 824004
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.