sylware / nyanlinux (public) (License: AFFERO GPLv3) (since 2019-09-09) (hash sha1)
scripts for a lean, from scratch, amd hardware, linux distro
List of commits:
Subject Hash Author Date (UTC)
toolchains:binutils-tcc:cleanup with update c8a4848b40b7ba29fc38c6858e5d92378e55c3a2 Sylvain BERTRAND 2023-10-14 11:15:25
toolchains:binutils-tcc:remove old builders 2809d01f09af3cdecf6d2722f7f6feadcb32fa4a Sylvain BERTRAND 2023-10-14 11:14:25
Gfx stack update d444a573afb5bc68d2834df4cf9e33c5d9631fa6 Sylvain BERTRAND 2023-10-07 16:30:11
busybox:1.36.1 update ea16f25b30bf4205e0e5b99e169ef9431d5d557c Sylvain BERTRAND 2023-10-04 13:04:21
EDLF64:preliminary bootstrap work 24cc54e74c72c242e4113aadadda396da86fb56a Sylvain BERTRAND 2023-10-01 13:16:55
Gfx stack update 5f12d0b10418e3116bdf3ee0152b7e30f24f36c7 Sylvain BERTRAND 2023-09-30 14:03:41
Gfx stack udate 25da82b769c08ef07394a360d1d4c035c15e2d3e Sylvain BERTRAND 2023-09-23 13:53:13
Gfx stack update a35951b14766105c30f239aa0af037357d69d576 Sylvain BERTRAND 2023-09-16 13:06:46
Gfx stack and EDLF64 draft update 49bf9fc4675d23aa501d3f89ce36d702a284d1f4 Sylvain BERTRAND 2023-09-09 15:02:03
mesa cleanup 2c2206c739d6c66fe38bdfeb5eb1e4662023fe17 Sylvain BERTRAND 2023-09-02 15:57:52
Gfx stack update and more 4d115c508205a8080ff77f58ff1fcb8adbc8d295 Sylvain BERTRAND 2023-09-02 14:28:23
onetouch: update with disablewifi c18796f8aff16603804900d0dc5a4c8a56a44622 Sylvain BERTRAND 2023-08-24 13:21:12
binutils-tinycc: update 01e603aab2ae33fff1fb0116b250cd9c61891503 Sylvain BERTRAND 2023-08-22 10:57:48
nyanmp: update bbd1b8576770f3d0a818744767e802c626aef977 Sylvain BERTRAND 2023-08-13 20:56:48
Gfx stack update 87e87e1667b52802e05cca455ef6d0fabc1e14db Sylvain BERTRAND 2023-08-12 19:55:36
doc fixes fbea1d2712d6ac940171c305a4365685ae4ea2b3 Sylvain BERTRAND 2023-08-11 15:01:33
glibc is lost cb48e764d36c6e6a17fd3b86057cd9d16372866b Sylvain BERTRAND 2023-08-11 01:43:24
alsa-lib-1.2.9 3ab47daf0697640797409403e89479750e1df3a4 Sylvain BERTRAND 2023-08-09 13:13:44
update that c++ diarrhea. 830386d522bc9cac08202ded04ce501c56712db4 Sylvain BERTRAND 2023-08-08 19:58:39
cleanup 1f706f57277405496cd6432a339259801e9df90b Sylvain BERTRAND 2023-08-08 17:20:05
Commit c8a4848b40b7ba29fc38c6858e5d92378e55c3a2 - toolchains:binutils-tcc:cleanup with update
Author: Sylvain BERTRAND
Author date (UTC): 2023-10-14 11:15
Committer name: Sylvain BERTRAND
Committer date (UTC): 2023-10-14 11:15
Parent(s): 2809d01f09af3cdecf6d2722f7f6feadcb32fa4a
Signer:
Signing key:
Signing status: N
Tree: 9c71a3ae17883ae917d75b88e22d40cf480bc251
File Lines added Lines deleted
builders/binutils-2.41-tcc-08c777053cb3b7f4f5d33bb0beeb82787d30ebe0/0/binutils-2.41/builder.sh 116 0
builders/binutils-2.41-tcc-08c777053cb3b7f4f5d33bb0beeb82787d30ebe0/0/tcc-08c777053cb3b7f4f5d33bb0beeb82787d30ebe0/Makefile 95 0
builders/binutils-2.41-tcc-08c777053cb3b7f4f5d33bb0beeb82787d30ebe0/0/tcc-08c777053cb3b7f4f5d33bb0beeb82787d30ebe0/builder.sh 65 0
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
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/sylware/nyanlinux

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/sylware/nyanlinux

Clone this repository using git:
git clone git://git.rocketgit.com/user/sylware/nyanlinux

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main