mirror of
https://github.com/linuxboot/heads.git
synced 2024-12-19 21:17:55 +00:00
Make modules not depend on build path (issue #1).
Use --prefix="" to ensure that no destination paths are in libraries. Use -fdebug-prefix-map to rewrite build path so that it does not appear in the executables. Use -gno-record-gcc-switches to ensure that the -fdebug-prefix-map does not appear in the executables.
This commit is contained in:
parent
19cb1bcb73
commit
1411dffb6a
5
Makefile
5
Makefile
@ -19,7 +19,10 @@ BOARD ?= qemu
|
|||||||
# If musl-libc is being used in the initrd, set the heads_cc
|
# If musl-libc is being used in the initrd, set the heads_cc
|
||||||
# variable to point to it.
|
# variable to point to it.
|
||||||
musl_dep := musl
|
musl_dep := musl
|
||||||
heads_cc := $(INSTALL)/bin/musl-gcc
|
heads_cc := $(INSTALL)/bin/musl-gcc \
|
||||||
|
-fdebug-prefix-map=$(pwd)=heads \
|
||||||
|
-gno-record-gcc-switches \
|
||||||
|
|
||||||
#heads_cc := $(HOME)/install/x86_64-linux-musl/x86_64-linux-musl/bin/gcc
|
#heads_cc := $(HOME)/install/x86_64-linux-musl/x86_64-linux-musl/bin/gcc
|
||||||
|
|
||||||
all: $(BOARD).rom
|
all: $(BOARD).rom
|
||||||
|
@ -8,18 +8,23 @@ cryptsetup_tar := cryptsetup-$(cryptsetup_version).tar.xz
|
|||||||
cryptsetup_url := https://www.kernel.org/pub/linux/utils/cryptsetup/v1.7/cryptsetup-$(cryptsetup_version).tar.xz
|
cryptsetup_url := https://www.kernel.org/pub/linux/utils/cryptsetup/v1.7/cryptsetup-$(cryptsetup_version).tar.xz
|
||||||
cryptsetup_hash := af2b04e8475cf40b8d9ffd97a1acfa73aa787c890430afd89804fb544d6adc02
|
cryptsetup_hash := af2b04e8475cf40b8d9ffd97a1acfa73aa787c890430afd89804fb544d6adc02
|
||||||
|
|
||||||
|
# Use an empty prefix so that the executables will not include the
|
||||||
|
# build path.
|
||||||
cryptsetup_configure := ./configure \
|
cryptsetup_configure := ./configure \
|
||||||
CC="$(heads_cc)" \
|
CC="$(heads_cc)" \
|
||||||
CFLAGS="-I$(INSTALL)/include" \
|
|
||||||
LDFLAGS="-L$(INSTALL)/lib" \
|
|
||||||
--host i386-elf-linux \
|
--host i386-elf-linux \
|
||||||
--prefix "$(INSTALL)" \
|
--prefix "" \
|
||||||
--disable-gcrypt-pbkdf2 \
|
--disable-gcrypt-pbkdf2 \
|
||||||
--with-crypto_backend=kernel \
|
--with-crypto_backend=kernel \
|
||||||
|
|
||||||
|
# but after building, replace prefix so that they will be installed
|
||||||
|
# in the correct directory.
|
||||||
cryptsetup_target := \
|
cryptsetup_target := \
|
||||||
-j 8 \
|
-j 8 \
|
||||||
install
|
&& $(MAKE) \
|
||||||
|
-C $(build)/$(cryptsetup_dir) \
|
||||||
|
prefix="$(INSTALL)" \
|
||||||
|
install
|
||||||
|
|
||||||
cryptsetup_output := \
|
cryptsetup_output := \
|
||||||
src/.libs/cryptsetup \
|
src/.libs/cryptsetup \
|
||||||
|
16
modules/gpg
16
modules/gpg
@ -8,10 +8,15 @@ gpg_tar := gnupg-$(gpg_version).tar.bz2
|
|||||||
gpg_url := https://www.gnupg.org/ftp/gcrypt/gnupg/$(gpg_tar)
|
gpg_url := https://www.gnupg.org/ftp/gcrypt/gnupg/$(gpg_tar)
|
||||||
gpg_hash := 6b47a3100c857dcab3c60e6152e56a997f2c7862c1b8b2b25adf3884a1ae2276
|
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 \
|
gpg_configure := ./configure \
|
||||||
CC="$(heads_cc)" \
|
CC="$(heads_cc)" \
|
||||||
--host i386-elf-linux \
|
--host i386-elf-linux \
|
||||||
--prefix $(INSTALL) \
|
--prefix "" \
|
||||||
--disable-bzip2 \
|
--disable-bzip2 \
|
||||||
--disable-gpg \
|
--disable-gpg \
|
||||||
--disable-gpgsm \
|
--disable-gpgsm \
|
||||||
@ -32,7 +37,14 @@ gpg_configure := ./configure \
|
|||||||
--disable-dns-cert \
|
--disable-dns-cert \
|
||||||
--disable-regex \
|
--disable-regex \
|
||||||
|
|
||||||
gpg_target := -j 8 install
|
# 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 8 \
|
||||||
|
&& $(MAKE) -C $(build)/$(gpg_dir) \
|
||||||
|
exec_prefix=$(pwd)/install \
|
||||||
|
datarootdir=$(pwd)/install/share \
|
||||||
|
install
|
||||||
|
|
||||||
gpg_output := g10/gpgv
|
gpg_output := g10/gpgv
|
||||||
|
|
||||||
|
@ -8,10 +8,14 @@ libuuid_hash := 46af3275291091009ad7f1b899de3d0cea0252737550e7919d17237997db5644
|
|||||||
|
|
||||||
libuuid_configure := ./configure \
|
libuuid_configure := ./configure \
|
||||||
CC="$(heads_cc)" \
|
CC="$(heads_cc)" \
|
||||||
--prefix $(INSTALL) \
|
--prefix "" \
|
||||||
--host i386-elf-linux \
|
--host i386-elf-linux \
|
||||||
|
|
||||||
libuuid_target := install
|
libuuid_target := -j 8 && \
|
||||||
|
$(MAKE) \
|
||||||
|
-C "$(build)/$(libuuid_dir)" \
|
||||||
|
prefix="$(INSTALL)" \
|
||||||
|
install
|
||||||
|
|
||||||
libuuid_libraries := .libs/libuuid.so
|
libuuid_libraries := .libs/libuuid.so
|
||||||
libuuid_depends := $(musl_dep)
|
libuuid_depends := $(musl_dep)
|
||||||
|
@ -8,10 +8,14 @@ popt_hash := e728ed296fe9f069a0e005003c3d6b2dde3d9cad453422a10d6558616d304cc8
|
|||||||
|
|
||||||
popt_configure := ./configure \
|
popt_configure := ./configure \
|
||||||
CC="$(heads_cc)" \
|
CC="$(heads_cc)" \
|
||||||
--prefix $(INSTALL) \
|
--prefix "" \
|
||||||
--host i386-elf-linux \
|
--host i386-elf-linux \
|
||||||
|
|
||||||
popt_target := install
|
popt_target := -j 8 \
|
||||||
|
&& $(MAKE) \
|
||||||
|
-C "$(build)/$(popt_dir)" \
|
||||||
|
prefix="$(INSTALL)" \
|
||||||
|
install
|
||||||
|
|
||||||
popt_libraries := ./libs/libpopt.so
|
popt_libraries := ./libs/libpopt.so
|
||||||
popt_depends := $(musl_dep)
|
popt_depends := $(musl_dep)
|
||||||
|
@ -10,10 +10,14 @@ qrencode_output := .libs/libqrencode.so.$(qrencode_version)
|
|||||||
|
|
||||||
qrencode_configure := ./configure \
|
qrencode_configure := ./configure \
|
||||||
CC="$(heads_cc)" \
|
CC="$(heads_cc)" \
|
||||||
--prefix $(INSTALL) \
|
--prefix "" \
|
||||||
--without-tools \
|
--without-tools \
|
||||||
--host i386-elf-linux \
|
--host i386-elf-linux \
|
||||||
|
|
||||||
qrencode_target := install
|
qrencode_target := -j 8 \
|
||||||
|
&& $(MAKE) \
|
||||||
|
-C "$(build)/$(qrencode_dir)" \
|
||||||
|
prefix="$(INSTALL)" \
|
||||||
|
install
|
||||||
|
|
||||||
qrencode_depends := $(musl_dep)
|
qrencode_depends := $(musl_dep)
|
||||||
|
Loading…
Reference in New Issue
Block a user