blob: 4fe08766bfb2ed04d4c7144986a4869367f2044a (
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
|
#!/bin/sh -e
#
# This file is part of musl-mod: modified version of Musl libc library.
# musl-mod in general and this file specifically are available under
# MIT license. See COPYRIGHT file.
#
defined() {
[ x"$2" = x ] && echo $1 is undefined && exit 1
echo $1 = $2
}
pexec() {
echo $@
$@
}
print_help() {
cat <<EOF
$0: configuration script for compiling musl
--help print this help
--prefix=<dir> directory where to install musl
EOF
exit 0
}
prefix=/tmp
for arg; do
case $arg in
--prefix=*)
prefix=${arg#--prefix=}
;;
--help)
print_help
;;
*)
echo $args: unknown argument && exit 1
;;
esac
done
: ${CC:=gcc}
: ${LD:=ld}
arch=x86_64
gcc_prefix=$(dirname $(gcc -print-libgcc-file-name))
tool_cflags="-Wall -nostdinc -Wno-main \
-ffreestanding -fno-pic -fno-stack-protector \
-Igenerated/include -Iarch/$arch \
-I${gcc_prefix}/include -Iarch/generic"
cflags="$tool_cflags $CFLAGS"
echo prefix = $prefix >config.mk
[ -f tools/musl-make ] && exit 0
pexec $CC $cflags -c -o tools/common.o tools/common.c
pexec $CC $cflags -c -o tools/musl-make.o tools/musl-make.c
pexec $LD -nostdlib -o tools/musl-make tools/musl-make.o tools/common.o
|