lib/manifest.mn
author Jan-Marek Glogowski <glogow@fbihome.de>
Tue, 05 May 2020 12:29:36 +0000
changeset 15596 f3a0ef69c0569c8512845075a48e796bc08bf636
parent 12629 ff46d3e5e503389e56838478f1a59e91803f1e9a
permissions -rw-r--r--
Bug 290526 Drop double-colon usage and add directory depends r=rrelyea Double-colon rule behaviour isn't really compatible with parallel build. This gets rid of all of them, so we can codify the directory dependencies. This leaves just three problems, which aren't really fixable with the current build system without completely replacing it: * everything depends on nsinstall * everything depends on installed headers * ckfw child directories depend on the build parent libs This is handled by the prepare_build target. Overall this allows most if the build to run in parallel. P.S. the release_md:: has to stay :-( P.P.S. no clue, why freebl must use libs: instead of using the TARGETS and .PHONY variables Differential Revision: https://phabricator.services.mozilla.com/D69023

# 
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
CORE_DEPTH = ..
DEPTH      = ..

# Building softoken (and freebl) only requires that the paths
# to the locations where the util headers and libraries were
# previously installed by a prior util-only build - likely in
# in a system location that varies with the distribution. This
# cannot be addressed here and requires that downstream package
# mantainers add suitable modifications. Building full nss will
# not have that problem as everything is available.

SOFTOKEN_SRCDIRS=
NSS_SRCDIRS=

ifndef NSS_BUILD_UTIL_ONLY
SOFTOKEN_SRCDIRS = \
	$(FREEBL_SRCDIR) \
	$(SQLITE_SRCDIR) \
	$(DBM_SRCDIR) \
	$(SOFTOKEN_SRCDIR) \
	$(NULL)
ifndef NSS_BUILD_SOFTOKEN_ONLY
# the rest of nss
NSS_SRCDIRS = \
	base dev pki \
	$(LIBPKIX_SRCDIR) \
	certdb certhigh pk11wrap cryptohi nss \
	$(ZLIB_SRCDIR) ssl \
	pkcs7 pkcs12 smime \
	crmf jar \
	ckfw $(SYSINIT_SRCDIR) \
	$(NULL)
endif
endif

freebl: util
sysinit: util
softoken: util dbm sqlite freebl
nss: certhigh cryptohi pk11wrap certdb pki dev base libpkix util
smime: nss pkcs12 pkcs7
ssl: nss freebl
ckfw: nss

#
# organized by DLL
#
#  softoken and prereqs.
#  stan (not a separate dll yet)
#  libpkix (not a separate dll)
#  nss base (traditional)
#  ssl
#  smime
#  ckfw (builtins module)
#  crmf jar (not dll's)
DIRS = \
	$(UTIL_SRCDIR) \
	$(SOFTOKEN_SRCDIRS) \
	$(NSS_SRCDIRS) \
	$(NULL)

#  fortcrypt  is no longer built

#
# these dirs are not built at the moment
#
#NOBUILD_DIRS = jar