summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbaserock-bootstrap11
-rwxr-xr-xmorph6
-rw-r--r--morphlib/builder.py2
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"
diff --git a/morph b/morph
index 92fe5d76..b8dc093e 100755
--- a/morph
+++ b/morph
@@ -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)