summaryrefslogtreecommitdiffstats
path: root/examples/glibc.yml
blob: 0c5235a87fcb6c257435d92cd31853703294aac2 (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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
tasks:
  unpack:
    fetch:
      - name: 'glibc-2.34.tar.xz'
        sha256: '44d26a1fe20b8853a48f470ead01e4279e869ac149b195dda4e44a195d981ab2'
    run: |
      tar xf {{dldir}}/glibc-2.34.tar.xz

  configure:
    args:
      host: 'platform'
    inherit:
      task: 'unpack'
    build_depends:
      - recipe: 'gcc'
        task: 'install'
      - recipe: 'libgcc-initial'
        task: 'install'
    depends:
      - recipe: 'linux-uapi-headers'
        task: 'install'
    run: |
      CROSS_COMPILE={{build.prefix}}/bin/{{host.gnu_triplet}}-

      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.gnu_triplet}} \
        --host={{host.gnu_triplet}} \
        --prefix={{host.prefix}} \
        --includedir={{host.prefix}}/include \
        --libdir={{host.prefix}}/lib \
        --libexecdir={{host.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={{host.prefix}}/lib >> configparms
        echo sbindir={{host.prefix}}/bin >> configparms
        echo rootsbindir={{host.prefix}}/bin >> configparms

  compile:
    args:
      host: 'platform'
    inherit:
      task: 'configure'
    build_depends:
      - recipe: 'gcc'
        task: 'install'
      - recipe: 'libgcc-initial'
        task: 'install'
    depends:
      - recipe: 'linux-uapi-headers'
        task: 'install'
    run: |
      cd glibc-build
      make -j8

  install:
    args:
      host: 'platform'
    inherit:
      task: 'compile'
    build_depends:
      - recipe: 'gcc'
        task: 'install'
      - recipe: 'libgcc-initial'
        task: 'install'
    depends:
      - recipe: 'linux-uapi-headers'
        task: 'install'
    output:
      default:
        runtime_depends:
          - recipe: 'linux-uapi-headers'
            task: 'install'
    run: |
      cd glibc-build
      make install_root={{destdir}} install