diff options
-rwxr-xr-x | baserock-bootstrap | 11 | ||||
-rwxr-xr-x | morph | 6 | ||||
-rw-r--r-- | morphlib/builder.py | 2 |
3 files changed, 15 insertions, 4 deletions
diff --git a/baserock-bootstrap b/baserock-bootstrap index 0e2b3a9e..72d9e018 100755 --- a/baserock-bootstrap +++ b/baserock-bootstrap @@ -16,8 +16,10 @@ export LC_ALL=C if (uname -m | grep arm) >/dev/null; then export LFS_TGT=$(uname -m)-lfs-linux-gnueabi + export TARGET_CFLAGS="-march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard" else export LFS_TGT=$(uname -m)-lfs-linux-gnu + export TARGET_CFLAGS= fi HOST_CAT=`which cat` @@ -84,7 +86,8 @@ pass1_build_with_morph() --dump-memory-profile=none \ --keep-path \ --prefix="$tools" \ - --toolchain-target="$LFS_TGT" + --toolchain-target="$LFS_TGT" \ + --target-cflags="$TARGET_CFLAGS" } pass2_get_morph() @@ -216,7 +219,8 @@ python ./morph --verbose build \ --log=/baserock/morph.log \ --dump-memory-profile=none \ --keep-path \ - --bundle-server="$GIT_BUNDLES" + --bundle-server="$GIT_BUNDLES" \ + --target-cflags="$TARGET_CFLAGS" EOF $HOST_CHMOD +x "$LFS/baserock/build.sh" local do_chroot="$BASEDIR/do-chroot.bash" @@ -346,7 +350,8 @@ python ./morph --verbose build \ --log=/baserock/morph.log \ --dump-memory-profile=none \ --keep-path \ - --bundle-server="$GIT_BUNDLES" + --bundle-server="$GIT_BUNDLES" \ + --target-cflags="$TARGET_CFLAGS" EOF $HOST_CHMOD +x "$LFS/baserock/build_pass3.sh" local do_chroot="$BASEDIR/do-chroot.bash" @@ -63,6 +63,11 @@ class Morph(cliapp.Application): 'to build tools for', metavar='TOOLCHAIN_TARGET', default=defaults['toolchain-target']) + self.settings.string(['target-cflags'], + 'inject additional CFLAGS into the environment ' + 'that is used to build chunks', + metavar='CFLAGS', + default='') self.settings.string(['tempdir'], 'temporary directory to use for builds ' '(this is separate from just setting $TMPDIR ' @@ -477,6 +482,7 @@ class Morph(cliapp.Application): env['PATH'] = '/sbin:/usr/sbin:/bin:/usr/bin' env['TOOLCHAIN_TARGET'] = self.settings['toolchain-target'] + env['CFLAGS'] = self.settings['target-cflags'] env['PREFIX'] = self.settings['prefix'] env['BOOTSTRAP'] = 'true' if self.settings['bootstrap'] else 'false' if tools is not None: diff --git a/morphlib/builder.py b/morphlib/builder.py index 2463108e..cbf4b299 100644 --- a/morphlib/builder.py +++ b/morphlib/builder.py @@ -562,7 +562,7 @@ class Builder(object): # pragma: no cover self.indent = 0 # create build environment string in advance env_names = ("USER", "USERNAME", "LOGNAME", - "TOOLCHAIN_TARGET", "PREFIX", "BOOTSTRAP") + "TOOLCHAIN_TARGET", "PREFIX", "BOOTSTRAP", "CFLAGS") env = app.clean_env() self.build_env = ''.join(k + env[k] for k in env_names) |