logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git
commit: fc943fe9446596224a461132d3ee7b5765586f1f
parent 409b3d8bcda0de2ba29c4c8e6cd160c3404178ef
Author: Michael Forney <mforney@mforney.org>
Date:   Wed, 12 Feb 2020 22:13:36 -0800

musl: Install headers and object files

Also, use -fPIC for all objects to allow for building PIEs.

Diffstat:

Mpkg/musl/gen.lua24++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)

diff --git 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'