summaryrefslogtreecommitdiff
path: root/elements/gnu-toolchain/stage2-libstdcxx.bst
blob: db6f8a620e1e1d928102b09d17dd8cee0fba1662 (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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
kind: manual

sources:
- kind: git
  url: upstream:gcc-tarball
  track: baserock/gnu-toolchain
  ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06

depends:
- filename: gnu-toolchain/stage1.bst
  type: build
- gnu-toolchain/stage2-linux-api-headers.bst
- gnu-toolchain/stage2-glibc.bst

variables:
  prefix: /tools

environment:
  PATH: /tools/bin:/usr/bin:/bin:/usr/sbin:/sbin

config:
  configure-commands:
  - mkdir o

  # Configure flag notes:
  #  1. The thread C++ library cannot be built, as the thread C library
  #     was not build in stage1-gcc.
  #  2. Prevents the installation of precompiled include files, which are
  #     not needed at this stage.
  #  3. From LFS: the header location of C++ needs to be explicitly given
  #     as we are running the configure script from the top-level
  #     directory.
  - |
    export STAGE2_SYSROOT="$(dirname $(dirname $(pwd)))"
    # -fPIC must be given, otherwise it will not be possible to create
    # shared libraries linked to libstdc++
    export CPPFLAGS="--sysroot=$STAGE2_SYSROOT -fPIC"
    export LDFLAGS="--sysroot=$STAGE2_SYSROOT"
    cd o && ../libstdc++-v3/configure                           \
              --build=$(sh ../config.guess)                     \
              --host="%{target-stage1}"                         \
              --target="%{target-stage1}"                       \
              --prefix="%{prefix}"                              \
              --disable-nls                                     \
              --disable-shared                                  \
              --disable-multilib                                \
      `# [1]` --disable-libstdcxx-threads                       \
      `# [2]` --disable-libstdcxx-pch                           \
      `# [3]` --with-gxx-include-dir=/tools/%{target-stage1}/include/c++/4.9.2

  build-commands:
  - cd o && make

  install-commands:
  - cd o && make DESTDIR="%{install-root}" install