File builders/binutils-2.41-tcc-08c777053cb3b7f4f5d33bb0beeb82787d30ebe0/0/binutils-2.41/builder.sh added (mode: 100644) (index 0000000..1659acd) |
|
1 |
|
src_name=binutils |
|
2 |
|
version=${pkg_name##*-} |
|
3 |
|
tcc_pkg_git_commit=$(printf "$pkg_path" | grep -E -o 'tcc-[[:digit:]abcdef]+') |
|
4 |
|
slot=0 |
|
5 |
|
archive_name=binutils-$version.tar.xz |
|
6 |
|
toolchain_name=$src_name-$version-$tcc_pkg_git_commit |
|
7 |
|
url0=http://ftpmirror.gnu.org/binutils/$archive_name |
|
8 |
|
|
|
9 |
|
pkg_dir=$pkgs_dir_root/$toolchain_name/$src_name-$version |
|
10 |
|
rm -Rf $pkg_dir |
|
11 |
|
mkdir -p $pkgs_dir_root/$toolchain_name |
|
12 |
|
cp -f $src_dir_root/$archive_name $pkgs_dir_root/$toolchain_name |
|
13 |
|
cd $pkgs_dir_root/$toolchain_name |
|
14 |
|
tar xf $archive_name |
|
15 |
|
|
|
16 |
|
build_dir=$builds_dir_root/$toolchain_name/$pkg_name |
|
17 |
|
rm -Rf $build_dir |
|
18 |
|
mkdir -p $build_dir |
|
19 |
|
cd $build_dir |
|
20 |
|
|
|
21 |
|
bfd_sub_conf_opts="\ |
|
22 |
|
--with-mmap \ |
|
23 |
|
" |
|
24 |
|
binutils_sub_conf_opts="\ |
|
25 |
|
--disable-libctf \ |
|
26 |
|
--disable-rpath \ |
|
27 |
|
" |
|
28 |
|
ld_gas_bfd_sub_conf_opts="\ |
|
29 |
|
--disable-plugins \ |
|
30 |
|
--disable-nls \ |
|
31 |
|
" |
|
32 |
|
|
|
33 |
|
# Usual autotools/meson/cmake crap. |
|
34 |
|
mkdir $build_dir/bin |
|
35 |
|
cat >$build_dir/bin/makeinfo <<EOF |
|
36 |
|
#!/bin/sh |
|
37 |
|
printf "Makeinfo crap detected!\n" |
|
38 |
|
EOF |
|
39 |
|
chmod +x $build_dir/bin/makeinfo |
|
40 |
|
|
|
41 |
|
PATH_SAVED=$PATH |
|
42 |
|
export PATH="\ |
|
43 |
|
$build_dir/bin:\ |
|
44 |
|
/nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin:\ |
|
45 |
|
/nyan/make/current/bin:\ |
|
46 |
|
$PATH\ |
|
47 |
|
" |
|
48 |
|
target_gnu_triple=$(basename "$(ls -d /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin/*-gcc)") |
|
49 |
|
target_gnu_triple=${target_gnu_triple%-gcc} |
|
50 |
|
|
|
51 |
|
# nm and ar were configured first with build system ones |
|
52 |
|
|
|
53 |
|
# XXX: the "--static" option is special as it will setup the autotools and libtool to generate |
|
54 |
|
# static executables. |
|
55 |
|
export "CC_FOR_BUILD=$target_gnu_triple-gcc \ |
|
56 |
|
-isystem /nyan/glibc/current/include \ |
|
57 |
|
-isystem /nyan/linux-headers/current/include \ |
|
58 |
|
-B/nyan/glibc/current/lib \ |
|
59 |
|
-L/nyan/glibc/current/lib \ |
|
60 |
|
-Wl,-s \ |
|
61 |
|
--static" |
|
62 |
|
export "CFLAGS_FOR_BUILD=-O2 -pipe -fPIC" |
|
63 |
|
# don't pass CPP or the brain damage autotools/meson/cmake/etc will get it all wrong |
|
64 |
|
export "CPPFLAGS=\ |
|
65 |
|
-I/nyan/zlib/current/include \ |
|
66 |
|
-isystem /nyan/glibc/current/include \ |
|
67 |
|
-isystem /nyan/linux-headers/current/include" |
|
68 |
|
export "CFLAGS=-O2 -pipe -fPIC" |
|
69 |
|
|
|
70 |
|
# XXX: the "--static" option is special as it will setup the autotools and libtool to generate |
|
71 |
|
# static executables. |
|
72 |
|
export "LDFLAGS=-B/nyan/glibc/current/lib \ |
|
73 |
|
-L/nyan/glibc/current/lib \ |
|
74 |
|
-L/nyan/zlib/current/lib \ |
|
75 |
|
-Wl,-s \ |
|
76 |
|
-static-libgcc \ |
|
77 |
|
--static" |
|
78 |
|
# you must add the CPPFLAGS and LDFLAGS here to please that horrible autotools/meson/cmake/etc |
|
79 |
|
export "CC=$target_gnu_triple-gcc $CPPFLAGS $LDFLAGS" |
|
80 |
|
export "AR=$target_gnu_triple-ar" |
|
81 |
|
$pkg_dir/configure \ |
|
82 |
|
--prefix=/nyan/toolchains/binutils-tcc/$toolchain_name/$slot \ |
|
83 |
|
--program-prefix=$target_gnu_triple- \ |
|
84 |
|
--enable-gold=no \ |
|
85 |
|
--enable-gprofng=no \ |
|
86 |
|
--with-system-zlib \ |
|
87 |
|
--with-static-standard-libraries \ |
|
88 |
|
--disable-multilib \ |
|
89 |
|
--disable-plugins \ |
|
90 |
|
--enable-serial-host-configure \ |
|
91 |
|
--enable-serial-build-configure \ |
|
92 |
|
--enable-serial-target-configure \ |
|
93 |
|
--enable-year2038 \ |
|
94 |
|
$bfd_sub_conf_opts \ |
|
95 |
|
$binutils_sub_conf_opts \ |
|
96 |
|
$ld_gas_bfd_sub_conf_opts |
|
97 |
|
unset CC_FOR_BUILD |
|
98 |
|
unset CFLAGS_FOR_BUILD |
|
99 |
|
unset CPPFLAGS |
|
100 |
|
unset CFLAGS |
|
101 |
|
unset LDFLAGS |
|
102 |
|
unset CC |
|
103 |
|
unset CXX |
|
104 |
|
unset AR |
|
105 |
|
|
|
106 |
|
make -j $threads_n |
|
107 |
|
make install |
|
108 |
|
|
|
109 |
|
rm -Rf /nyan/toolchains/binutils-tcc/$toolchain_name/$slot/share |
|
110 |
|
rm -Rf /nyan/toolchains/binutils-tcc/$toolchain_name/$slot/lib/*.la |
|
111 |
|
|
|
112 |
|
export PATH=$PATH_SAVED |
|
113 |
|
unset PATH_SAVED |
|
114 |
|
unset target_gnu_triple |
|
115 |
|
rm -f $pkgs_dir_root/$toolchain_name/$archive_name |
|
116 |
|
rm -Rf $build_dir $pkg_dir $builds_dir_root/$toolchain_name $pkgs_dir_root/$toolchain_name |
File builders/binutils-2.41-tcc-08c777053cb3b7f4f5d33bb0beeb82787d30ebe0/0/tcc-08c777053cb3b7f4f5d33bb0beeb82787d30ebe0/Makefile added (mode: 100644) (index 0000000..f248e84) |
|
1 |
|
# |
|
2 |
|
# Tiny C Compiler Makefile for libtcc1.a |
|
3 |
|
# |
|
4 |
|
|
|
5 |
|
TOP = .. |
|
6 |
|
include $(TOP)/Makefile |
|
7 |
|
VPATH = $(TOPSRC)/lib $(TOPSRC)/win32/lib |
|
8 |
|
T = $(or $(CROSS_TARGET),$(NATIVE_TARGET),unknown) |
|
9 |
|
X = $(if $(CROSS_TARGET),$(CROSS_TARGET)-) |
|
10 |
|
|
|
11 |
|
XTCC ?= $(TOP)/$(X)tcc$(EXESUF) |
|
12 |
|
XCC = $(XTCC) |
|
13 |
|
XAR = $(XTCC) -ar |
|
14 |
|
# XXX: This is what is missing from upstream. |
|
15 |
|
XFLAGS-unx = -B$(TOPSRC) -I$(TOPSRC)/include |
|
16 |
|
XFLAGS-win = -B$(TOPSRC)/win32 -I$(TOPSRC)/include |
|
17 |
|
XFLAGS = $(XFLAGS$(XCFG)) -I$(TOP) |
|
18 |
|
XCFG = $(or $(findstring -win,$T),-unx) |
|
19 |
|
S = $(if $(findstring yes,$(SILENT)),@$(info * $@)) |
|
20 |
|
|
|
21 |
|
# in order to use gcc, type: make <target>-libtcc1-usegcc=yes |
|
22 |
|
arm-libtcc1-usegcc ?= no |
|
23 |
|
|
|
24 |
|
# This makes bounds checking 40%..60% faster. |
|
25 |
|
#x86_64-libtcc1-usegcc=yes |
|
26 |
|
#i386-libtcc1-usegcc=yes |
|
27 |
|
|
|
28 |
|
ifeq "$($(T)-libtcc1-usegcc)" "yes" |
|
29 |
|
XCC = $(CC) |
|
30 |
|
XAR = $(AR) |
|
31 |
|
XFLAGS = $(CFLAGS) -fPIC -gdwarf -fno-omit-frame-pointer -Wno-unused-function -Wno-unused-variable |
|
32 |
|
endif |
|
33 |
|
|
|
34 |
|
ifneq ($(CONFIG_backtrace),no) |
|
35 |
|
# only for native compiler |
|
36 |
|
ifneq ($(CONFIG_bcheck),no) |
|
37 |
|
$(X)BCHECK_O = bcheck.o |
|
38 |
|
endif |
|
39 |
|
$(X)BT_O = bt-exe.o bt-log.o |
|
40 |
|
$(X)B_O = $(BCHECK_O) bt-exe.o bt-log.o bt-dll.o |
|
41 |
|
endif |
|
42 |
|
$(X)BT_O += tcov.o |
|
43 |
|
|
|
44 |
|
DSO_O = dsohandle.o |
|
45 |
|
|
|
46 |
|
I386_O = libtcc1.o alloca.o alloca-bt.o stdatomic.o atomic.o builtin.o $(BT_O) |
|
47 |
|
X86_64_O = libtcc1.o alloca.o alloca-bt.o stdatomic.o atomic.o builtin.o $(BT_O) |
|
48 |
|
ARM_O = libtcc1.o armeabi.o alloca.o armflush.o stdatomic.o atomic.o builtin.o $(BT_O) |
|
49 |
|
ARM64_O = lib-arm64.o stdatomic.o atomic.o builtin.o $(BT_O) |
|
50 |
|
RISCV64_O = lib-arm64.o stdatomic.o atomic.o builtin.o $(BT_O) |
|
51 |
|
WIN_O = crt1.o crt1w.o wincrt1.o wincrt1w.o dllcrt1.o dllmain.o |
|
52 |
|
|
|
53 |
|
OBJ-i386 = $(I386_O) $(BCHECK_O) $(DSO_O) |
|
54 |
|
OBJ-x86_64 = $(X86_64_O) va_list.o $(BCHECK_O) $(DSO_O) |
|
55 |
|
OBJ-x86_64-osx = $(X86_64_O) va_list.o $(BCHECK_O) |
|
56 |
|
OBJ-i386-win32 = $(I386_O) chkstk.o $(B_O) $(WIN_O) |
|
57 |
|
OBJ-x86_64-win32 = $(X86_64_O) chkstk.o $(B_O) $(WIN_O) |
|
58 |
|
OBJ-arm64 = $(ARM64_O) $(BCHECK_O) $(DSO_O) |
|
59 |
|
OBJ-arm64-osx = $(ARM64_O) $(BCHECK_O) |
|
60 |
|
OBJ-arm = $(ARM_O) $(BCHECK_O) $(DSO_O) |
|
61 |
|
OBJ-arm-fpa = $(ARM_O) $(DSO_O) |
|
62 |
|
OBJ-arm-fpa-ld = $(ARM_O) $(DSO_O) |
|
63 |
|
OBJ-arm-vfp = $(ARM_O) $(DSO_O) |
|
64 |
|
OBJ-arm-eabi = $(ARM_O) $(DSO_O) |
|
65 |
|
OBJ-arm-eabihf = $(ARM_O) $(DSO_O) |
|
66 |
|
OBJ-arm-wince = $(ARM_O) $(WIN_O) |
|
67 |
|
OBJ-riscv64 = $(RISCV64_O) $(BCHECK_O) $(DSO_O) |
|
68 |
|
|
|
69 |
|
OBJ-extra = $(filter $(B_O),$(OBJ-$T)) |
|
70 |
|
OBJ-libtcc1 = $(addprefix $(X),$(filter-out $(OBJ-extra),$(OBJ-$T))) |
|
71 |
|
|
|
72 |
|
ALL = $(addprefix $(TOP)/,$(X)libtcc1.a $(OBJ-extra)) |
|
73 |
|
|
|
74 |
|
all: $(ALL) |
|
75 |
|
|
|
76 |
|
$(TOP)/$(X)libtcc1.a : $(OBJ-libtcc1) |
|
77 |
|
$S$(XAR) rcs $@ $^ |
|
78 |
|
|
|
79 |
|
$(X)%.o : %.c |
|
80 |
|
$S$(XCC) -c $< -o $@ $(XFLAGS) |
|
81 |
|
|
|
82 |
|
$(X)%.o : %.S |
|
83 |
|
$S$(XCC) -c $< -o $@ $(XFLAGS) |
|
84 |
|
|
|
85 |
|
$(TOP)/%.o : %.c |
|
86 |
|
$S$(XCC) -c $< -o $@ $(XFLAGS) |
|
87 |
|
|
|
88 |
|
$(TOP)/bcheck.o : XFLAGS += -bt $(if $(CONFIG_musl),-DTCC_MUSL) |
|
89 |
|
$(TOP)/bt-exe.o : $(TOP)/tccrun.c |
|
90 |
|
|
|
91 |
|
$(X)crt1w.o : crt1.c |
|
92 |
|
$(X)wincrt1w.o : wincrt1.c |
|
93 |
|
|
|
94 |
|
clean : |
|
95 |
|
rm -f *.a *.o $(ALL) |
File builders/binutils-2.41-tcc-08c777053cb3b7f4f5d33bb0beeb82787d30ebe0/0/tcc-08c777053cb3b7f4f5d33bb0beeb82787d30ebe0/builder.sh added (mode: 100644) (index 0000000..3ebd7f6) |
|
1 |
|
src_name=tinycc |
|
2 |
|
version=${pkg_name##*-} |
|
3 |
|
git_commit=$version |
|
4 |
|
binutils_pkg_version=$(printf "$pkg_path" | grep -E -o 'binutils-[[:digit:].]+') |
|
5 |
|
slot=0 |
|
6 |
|
toolchain_name=$binutils_pkg_version-tcc-$version |
|
7 |
|
url0=https://repo.or.cz/$src_name.git |
|
8 |
|
|
|
9 |
|
pkg_dir=$pkgs_dir_root/$toolchain_name/tcc-$version |
|
10 |
|
rm -Rf $pkg_dir |
|
11 |
|
mkdir -p $pkgs_dir_root/$toolchain_name |
|
12 |
|
cp -Hr $src_dir_root/$src_name $pkgs_dir_root/$toolchain_name/tcc-$version |
|
13 |
|
|
|
14 |
|
PATH_SAVED=$PATH |
|
15 |
|
export PATH="\ |
|
16 |
|
/nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin:\ |
|
17 |
|
/nyan/git/current/bin:\ |
|
18 |
|
/nyan/make/current/bin:\ |
|
19 |
|
$PATH\ |
|
20 |
|
" |
|
21 |
|
target_gnu_triple=$(basename "$(ls -d /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin/*-gcc)") |
|
22 |
|
target_gnu_triple=${target_gnu_triple%-gcc} |
|
23 |
|
|
|
24 |
|
cd $pkg_dir |
|
25 |
|
|
|
26 |
|
if test x$git_commit != x; then |
|
27 |
|
git reset --hard |
|
28 |
|
git checkout $git_commit |
|
29 |
|
fi |
|
30 |
|
|
|
31 |
|
# fix lib building on unix in separate build dir, been there like forever |
|
32 |
|
cp -f $nyan_root/builders/$toolchain_name/$slot/$pkg_name/Makefile $pkg_dir/lib |
|
33 |
|
|
|
34 |
|
build_dir=$builds_dir_root/$toolchain_name/tcc-$version |
|
35 |
|
rm -Rf $build_dir |
|
36 |
|
mkdir -p $build_dir |
|
37 |
|
cd $build_dir |
|
38 |
|
|
|
39 |
|
# XXX: in order to build the target libtcc, the host tcc must have the target system headers |
|
40 |
|
# builtin with --sysincludepaths. |
|
41 |
|
$pkg_dir/configure \ |
|
42 |
|
--prefix=/nyan/toolchains/binutils-tcc/$toolchain_name/$slot \ |
|
43 |
|
--cross-prefix=$target_gnu_triple- \ |
|
44 |
|
"--cc=gcc \ |
|
45 |
|
-static-libgcc \ |
|
46 |
|
-isystem /nyan/glibc/current/include \ |
|
47 |
|
-isystem /nyan/linux-headers/current/include \ |
|
48 |
|
-B/nyan/glibc/current/lib \ |
|
49 |
|
-L/nyan/glibc/current/lib \ |
|
50 |
|
-Wl,-s \ |
|
51 |
|
-O2 -pipe -fPIC" \ |
|
52 |
|
--enable-static \ |
|
53 |
|
--sysincludepaths=/nyan/glibc/current/include:/nyan/linux-headers/current/include \ |
|
54 |
|
--libpaths= \ |
|
55 |
|
--crtprefix= |
|
56 |
|
make -j $threads_n |
|
57 |
|
make install |
|
58 |
|
|
|
59 |
|
mv -f /nyan/toolchains/binutils-tcc/$toolchain_name/$slot/bin/tcc /nyan/toolchains/binutils-tcc/$toolchain_name/$slot/bin/$target_gnu_triple-tcc |
|
60 |
|
ln -sTf $target_gnu_triple-tcc /nyan/toolchains/binutils-tcc/$toolchain_name/$slot/bin/$target_gnu_triple-cc |
|
61 |
|
|
|
62 |
|
export PATH=$PATH_SAVED |
|
63 |
|
unset PATH_SAVED |
|
64 |
|
unset target_gnu_triple |
|
65 |
|
rm -Rf $build_dir $pkg_dir $builds_dir_root/$toolchain_name $pkgs_dir_root/$toolchain_name |