summaryrefslogtreecommitdiff
path: root/strata/build-essential/stage1-binutils.morph
blob: 0543f17dd9e8dd679fb6b22fcd6fb4547a8de546 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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).

- |
  case "$MORPH_ARCH" in
      mips64*)  ARCH_FLAGS="--with-arch=octeon2" ;;
  esac
  TARGET_STAGE1=`echo $TARGET_STAGE1 | sed -e 's/bootstrap-linux-gnu/linux-musl/'`
  ./configure --prefix="$PREFIX" --disable-nls --disable-werror \
    --build=$(sh config.guess) \
    --host=$(sh config.guess) \
    --target=$TARGET_STAGE1 \
    $ARCH_FLAGS \
    --with-sysroot=/nonexistentdir --with-lib-path="=$PREFIX/lib:=$PREFIX/lib64"