summaryrefslogtreecommitdiffstats
path: root/examples/glibc.yml
blob: 19d5f855d9ce96118dfa87cf0a67d099a1ff2066 (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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
tasks:
  unpack:
    fetch:
      - name: 'glibc-2.34.tar.xz'
        sha256: '44d26a1fe20b8853a48f470ead01e4279e869ac149b195dda4e44a195d981ab2'
    run: |
      tar xf "${DLDIR}/glibc-2.34.tar.xz"

  configure:
    inherit:
      task: 'glibc:unpack'
    build_depends:
      - task: 'binutils:install'
      - task: 'gcc:install'
      - task: 'libgcc-initial:install'
    target_depends:
      - task: 'linux-uapi-headers:install'
    run: |
      BUILD=x86_64-linux-gnu
      HOST=aarch64-linux-gnu

      CROSS_COMPILE=${BUILD_PREFIX}/bin/${HOST}-

      export BUILD_CC=gcc
      export CC=${CROSS_COMPILE}gcc
      export CXX=${CROSS_COMPILE}g++
      export AR=${CROSS_COMPILE}ar
      export NM=${CROSS_COMPILE}nm
      export RANLIB=${CROSS_COMPILE}ranlib
      export READELF=${CROSS_COMPILE}readelf

      mkdir glibc-build
      cd glibc-build
      ../glibc-2.34/configure \
        --build="${BUILD}" \
        --host=${HOST} \
        --prefix="${PREFIX}" \
        --includedir="${PREFIX}/include" \
        --libdir="${PREFIX}/lib" \
        --libexecdir="${PREFIX}/lib" \
        --enable-add-ons \
        --enable-obsolete-rpc \
        --enable-kernel=2.6.32 \
        --enable-bind-now \
        --disable-profile \
        --enable-stackguard-randomization \
        --enable-lock-elision \
        --disable-werror

        echo 'slibdir=/usr/lib' >> configparms
        echo 'sbindir=/usr/bin' >> configparms
        echo 'rootsbindir=/usr/bin' >> configparms

  compile:
    inherit:
      task: 'glibc:configure'
    build_depends:
      - task: 'binutils:install'
      - task: 'gcc:install'
      - task: 'libgcc-initial:install'
    target_depends:
      - task: 'linux-uapi-headers:install'
    run: |
      cd glibc-build
      make -j8

  install:
    inherit:
      task: 'glibc:compile'
    build_depends:
      - task: 'binutils:install'
      - task: 'gcc:install'
      - task: 'libgcc-initial:install'
    target_depends:
      - task: 'linux-uapi-headers:install'
    run: |
      cd glibc-build
      make install_root="${DESTDIR}" install