summaryrefslogtreecommitdiff
path: root/strata/build-essential/stage1-binutils.morph
blob: 69a79d143114ca0ae8ea3eae2e85ad249a52a54a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
name: stage1-binutils
kind: chunk
build-system: autotools

configure-commands:
# We set the sysroot location dynamically at runtime by passing
# `--sysroot` to GCC, so we need to build a linker with sysroot support.
# We set it to a non-existent directory as a safety net to avoid looking
# at the host dirs in case we forget to set the sysroot.  Setting the
# lib path is vital to avoid the tools we build linking to the libraries
# on the host system; the '=' makes the path we give relative to the
# sysroot, which we can then set at runtime by passing -Wl,--sysroot to
# GCC.  Although nothing should be installed on /lib64, we configure the
# linker to look at that directory as well to make things more robust
# (currently GCC installs libraries to this directory at least on
# x86_64).

- |
  ./configure --prefix="$PREFIX" --disable-nls --disable-werror \
    --build=$(sh config.guess) \
    --host=$(sh config.guess) \
    --target=$TARGET_STAGE1 \
    --with-sysroot=/nonexistentdir --with-lib-path="=$PREFIX/lib:=$PREFIX/lib64"