heads/modules/gpg
Trammell Hudson c40748aa25
Build time configuration for startup scripts and modules.
This addresses multiple issues:

* Issue #63: initrd is build fresh each time, so tracked files do not matter.
* Issue #144: build time configuration
* Issue #123: allows us to customize the startup experience
* Issue #122: manual start-xen will go away
* Issue #25: tpmtotp PCRs are updated after reading the secret
* Issue #16: insmod now meaures modules
2017-03-31 11:18:46 -04:00

52 lines
1.5 KiB
Plaintext

modules-$(CONFIG_GPG) += gpg
# we install gpgv 1.4, which is an older version that has fewer
# dependencies. This may need to be revisted later.
gpg_version := 1.4.21
gpg_dir := gnupg-$(gpg_version)
gpg_tar := gnupg-$(gpg_version).tar.bz2
gpg_url := https://www.gnupg.org/ftp/gcrypt/gnupg/$(gpg_tar)
gpg_hash := 6b47a3100c857dcab3c60e6152e56a997f2c7862c1b8b2b25adf3884a1ae2276
# For reproducibility reasons we have to override the exec_prefix
# and datarootdir on the configure line so that the Makefiles will
# be generated with the correct paths, but then re-write them when
# we use the install target so that they will be copied to the correct
# location.
gpg_configure := ./configure \
CC="$(heads_cc)" \
--host i386-elf-linux \
--prefix "" \
--disable-bzip2 \
--disable-gpg \
--disable-gpgsm \
--disable-asm \
--disable-agent \
--disable-scdaemon \
--disable-tools \
--disable-doc \
--disable-exec \
--disable-photo-viewers \
--disable-keyserver-helpers \
--disable-ldap \
--disable-hkp \
--disable-finger \
--disable-ccid-driver \
--disable-dns-srv \
--disable-dns-pka \
--disable-dns-cert \
--disable-regex \
# Run one build to generate the executables with the pre-defined
# exec_prefix and datarootdir, then a second make to install the binaries
# into our actual target location
gpg_target := -j $(MAKE_JOBS) \
&& $(MAKE) -C $(build)/$(gpg_dir) \
exec_prefix=$(pwd)/install \
datarootdir=$(pwd)/install/share \
install
gpg_output := g10/gpgv
gpg_depends := $(musl_dep)