diff options
| author | Michael Forney <mforney@mforney.org> | 2020-02-12 22:13:36 -0800 |
|---|---|---|
| committer | Michael Forney <mforney@mforney.org> | 2020-02-12 22:13:36 -0800 |
| commit | fc943fe9446596224a461132d3ee7b5765586f1f (patch) | |
| tree | 09cecc13f3457679d4b98e83c51131a4653d2262 /pkg | |
| parent | 409b3d8bcda0de2ba29c4c8e6cd160c3404178ef (diff) | |
musl: Install headers and object files
Also, use -fPIC for all objects to allow for building PIEs.
Diffstat (limited to 'pkg')
| -rw-r--r-- | pkg/musl/gen.lua | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/pkg/musl/gen.lua b/pkg/musl/gen.lua index 793fc877..f981750e 100644 --- a/pkg/musl/gen.lua +++ b/pkg/musl/gen.lua @@ -1,7 +1,8 @@ local arch = 'x86_64' cflags{ - '-D _XOPEN_SOURCE=700', + '-fPIC', '-nostdinc', + '-D _XOPEN_SOURCE=700', '-I $srcdir/arch/'..arch, '-I $srcdir/arch/generic', '-I $outdir', @@ -29,6 +30,7 @@ pkg.hdrs = { copy('$outdir/include/bits', '$srcdir/arch/generic/bits', bits), '$outdir/include/bits/alltypes.h', '$outdir/include/bits/syscall.h', + install=true, } pkg.deps = { '$dir/headers', @@ -56,17 +58,15 @@ for _, src in pairs(srcmap) do end lib('libc.a', srcs) -build('cc', '$outdir/crt1.o', '$srcdir/crt/crt1.c') -build('cc', '$outdir/crti.o', '$srcdir/crt/crti.c') -build('cc', '$outdir/crtn.o', '$srcdir/crt/crtn.c') -build('cc', '$outdir/rcrt1.o', '$srcdir/crt/rcrt1.c', {cflags='$cflags -fPIC'}) +file('lib/libc.a', '644', '$outdir/libc.a') -phony('startfiles', { - '$outdir/libc.a', - '$outdir/crt1.o', - '$outdir/crti.o', - '$outdir/crtn.o', - '$outdir/rcrt1.o', -}) +local startfiles = {'$outdir/libc.a'} +for _, obj in ipairs{'crt1.o', 'crti.o', 'crtn.o', 'rcrt1.o'} do + local out = '$outdir/'..obj + build('cc', out, '$srcdir/crt/'..obj:gsub('%.o$', '.c')) + file('lib/'..obj, '644', out) + table.insert(startfiles, out) +end +phony('startfiles', startfiles) fetch 'git' |
