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)
update that c++ diarrhea. 830386d522bc9cac08202ded04ce501c56712db4 Sylvain BERTRAND 2023-08-08 19:58:39
cleanup 1f706f57277405496cd6432a339259801e9df90b Sylvain BERTRAND 2023-08-08 17:20:05
dwm: move from tag to toggletag 2f5184715c58a00b739857d295d375522f3f2535 Sylvain BERTRAND 2023-08-03 00:35:14
Gfx stack update e25ed24c7d1a9b145de3cad63dcd617c3b9bd6f5 Sylvain BERTRAND 2023-07-29 14:14:06
EDLF64.draft, reentrancy and thread safety f66313fdcb17b2fa8ba3f227bc26bfac94f189ee Sylvain BERTRAND 2023-07-29 14:13:12
clear a bit the EDLF64 draft. 4dd34b7fa5ae978dce295cc4a836e367d25f007d Sylvain BERTRAND 2023-07-25 14:06:13
EDLF64 re-entrancy/fix. 404ecd7028b1031ccbb88300c90674618819c5bd Sylvain BERTRAND 2023-07-18 20:30:58
Gfx stack update 8025b4f7dac102ccc5de280df2105e73a31f1910 Sylvain BERTRAND 2023-07-15 15:04:11
EDLF64: clean munmap of the executable itself 1ed67b684b7c154cbb7eea742cb8eef0c7790dbc Sylvain BERTRAND 2023-07-09 17:37:27
last ffpmeg before breaking nyanmp 36cded2ce51a6df8edfcffc71094695fa8ad871c Sylvain BERTRAND 2023-07-09 15:05:32
Gfx stack update b2050ef1941139d255c61c2c82e24e6de364c5b4 Sylvain BERTRAND 2023-07-08 16:58:03
improve EDLF64 draft 48938c705c4f10e898677ec6e321dfad8d892f3f Sylvain BERTRAND 2023-07-07 18:36:15
elf toolbox and less toxic format draft a2ab4235350f04975de513911b7a340e2eb50ef3 Sylvain BERTRAND 2023-07-07 17:26:40
update of some image pagkages 7d8a5e8a5e20ab58e585a5f9d4270054285dba8c Sylvain BERTRAND 2023-07-05 23:14:01
gcc 12.2 won't build c++ threading all the time. d8560808bd62a198bc446153602c658141238c01 Sylvain BERTRAND 2023-07-02 16:56:10
Gfx stack update 50e5991a466541ebb88456918f6cc0bad7e1bfb8 Sylvain BERTRAND 2023-07-01 13:19:49
refreshing various components 22c025e6a7019283775b45742a8095a26d1d9b51 Sylvain BERTRAND 2023-07-01 00:16:51
Gfx stack update d91a56e63cb4e61ce950166ee90977f9cb0f7c57 Sylvain BERTRAND 2023-06-24 17:28:11
Gfx stack update 5053fdee70c5a2656a39391f9ec0924b680cb63f Sylvain BERTRAND 2023-06-17 13:08:44
Gfx stack update a8f4d317da64e4728a07332d7b312b0163a9a117 Sylvain BERTRAND 2023-06-10 13:00:40
Commit 830386d522bc9cac08202ded04ce501c56712db4 - update that c++ diarrhea.
Author: Sylvain BERTRAND
Author date (UTC): 2023-08-08 19:58
Committer name: Sylvain BERTRAND
Committer date (UTC): 2023-08-08 19:58
Parent(s): 1f706f57277405496cd6432a339259801e9df90b
Signer:
Signing key:
Signing status: N
Tree: b8b93f9ab7c9137f2c1086a34218018b9e1c7eea
File Lines added Lines deleted
x64/elf/gcc.sh 1 1
x64/elf/gcc/binutils.sh 7 6
x64/elf/gcc/gcc.sh 22 22
File x64/elf/gcc.sh changed (mode: 100755) (index 393ddc5..51e780b)
... ... set -e
13 13 top_dir=$(readlink -f $(dirname $0)) top_dir=$(readlink -f $(dirname $0))
14 14 top_src_dir=/root/nyanlinux/src top_src_dir=/root/nyanlinux/src
15 15 top_build_dir=/run/x64/elf/build top_build_dir=/run/x64/elf/build
16 install_dir=/opt/toolchains/x64/elf/binutils-gcc/2.40-12.2.0
16 install_dir=/opt/toolchains/x64/elf/binutils-gcc/2.41-13.2.0
17 17 jobs_n=11 jobs_n=11
18 18
19 19 printf "TOP_DIR=$top_dir\n" printf "TOP_DIR=$top_dir\n"
File x64/elf/gcc/binutils.sh changed (mode: 100644) (index c5aa7f3..37fff92)
1 1 printf 'BUILDING BINUTILS\n' printf 'BUILDING BINUTILS\n'
2 2 mkdir -p $top_build_dir mkdir -p $top_build_dir
3 cp -f $top_src_dir/binutils-2.40.tar.xz $top_build_dir
4 rm -Rf $top_build_dir/binutils-2.40
3 cp -f $top_src_dir/binutils-2.41.tar.xz $top_build_dir
4 rm -Rf $top_build_dir/binutils-2.41
5 5 cd $top_build_dir cd $top_build_dir
6 tar xf binutils-2.40.tar.xz
6 tar xf binutils-2.41.tar.xz
7 7
8 8 # release distribution is broken, as usual. # release distribution is broken, as usual.
9 9 rm -Rf $top_build_dir/binutils rm -Rf $top_build_dir/binutils
 
... ... cd $top_build_dir/binutils
46 46 PATH_SAVED=$PATH PATH_SAVED=$PATH
47 47 export PATH=/nyan/make/current/bin:$top_build_dir/binutils/bin:$PATH export PATH=/nyan/make/current/bin:$top_build_dir/binutils/bin:$PATH
48 48 export AR=/nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin/x86_64-nyan2-linux-gnu-ar export AR=/nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin/x86_64-nyan2-linux-gnu-ar
49 $top_build_dir/binutils-2.40/configure \
49 $top_build_dir/binutils-2.41/configure \
50 50 --prefix=$install_dir \ --prefix=$install_dir \
51 51 --with-static-standard-libraries \ --with-static-standard-libraries \
52 52 --disable-shared \ --disable-shared \
 
... ... $top_build_dir/binutils-2.40/configure \
57 57 --with-mmap \ --with-mmap \
58 58 --disable-libctf \ --disable-libctf \
59 59 --disable-plugins \ --disable-plugins \
60 --disable-nls
60 --disable-nls \
61 --disable-multilib
61 62 unset AR unset AR
62 63 make -j $jobs_n make -j $jobs_n
63 64 make install make install
64 65 cd $top_build_dir cd $top_build_dir
65 rm -Rf binutils-2.40.tar.xz binutils-2.40 binutils
66 rm -Rf binutils-2.41.tar.xz binutils-2.41 binutils
66 67 export PATH=$PATH_SAVED export PATH=$PATH_SAVED
File x64/elf/gcc/gcc.sh changed (mode: 100644) (index 6c81f97..59642ba)
1 # XXX: gcc 12.2.0 is now requiring a c++11 compiler instead of c++98 (gcc 4.7.4).
1 # XXX: gcc 13.2.0 is now requiring a c++11 compiler instead of c++98 (gcc 4.7.4).
2 2 # gcc is monkey grade work, no better. This is an insult to humanity, accute toxicity. # gcc is monkey grade work, no better. This is an insult to humanity, accute toxicity.
3 3
4 4 printf 'BUILDING GCC\n' printf 'BUILDING GCC\n'
 
... ... cp -r /nyan/glibc/current/include/* $native_sys_hdr
11 11 cp -r /nyan/linux-headers/current/include/* $native_sys_hdr cp -r /nyan/linux-headers/current/include/* $native_sys_hdr
12 12
13 13 mkdir -p $top_build_dir mkdir -p $top_build_dir
14 cp -f $top_src_dir/gcc-12.2.0.tar.xz $top_build_dir
15 rm -Rf $top_build_dir/gcc-12.2.0
14 cp -f $top_src_dir/gcc-13.2.0.tar.xz $top_build_dir
15 rm -Rf $top_build_dir/gcc-13.2.0
16 16 cd $top_build_dir cd $top_build_dir
17 tar xf gcc-12.2.0.tar.xz
17 tar xf gcc-13.2.0.tar.xz
18 18
19 19 #=================================================================================================== #===================================================================================================
20 20 rm -Rf $top_build_dir/gcc rm -Rf $top_build_dir/gcc
 
... ... export LDFLAGS='-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -static -Wl,
82 82 export CFLAGS_FOR_TARGET='-O2 -pipe -fPIC' export CFLAGS_FOR_TARGET='-O2 -pipe -fPIC'
83 83 export LDFLAGS_FOR_TARGET="-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-s" export LDFLAGS_FOR_TARGET="-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-s"
84 84 export AR=$install_dir/bin/ar export AR=$install_dir/bin/ar
85 $top_build_dir/gcc-12.2.0/configure \
85 $top_build_dir/gcc-13.2.0/configure \
86 86 --prefix=$install_dir \ --prefix=$install_dir \
87 87 --disable-libquadmath \ --disable-libquadmath \
88 88 --disable-libada \ --disable-libada \
 
... ... $top_build_dir/gcc-12.2.0/configure \
107 107 --enable-languages=c,c++ \ --enable-languages=c,c++ \
108 108 --disable-libssp \ --disable-libssp \
109 109 --disable-default-ssp \ --disable-default-ssp \
110 --enable-link-mutex \
110 --enable-link-serialization \
111 111 --disable-host-shared \ --disable-host-shared \
112 112 --disable-multilib \ --disable-multilib \
113 113 --enable-explicit-exception-frame-registration \ --enable-explicit-exception-frame-registration \
 
... ... cat >$top_build_dir/libstdcxx/bin/cc <<EOF
138 138 #!/bin/sh #!/bin/sh
139 139 # We have a "fixed" cc, but if the build system really wants -nostdinc, adapt. # We have a "fixed" cc, but if the build system really wants -nostdinc, adapt.
140 140 local_cppflags="-nostdinc \ local_cppflags="-nostdinc \
141 -isystem /opt/toolchains/x64/elf/binutils-gcc/2.40-12.2.0/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include \
142 -isystem /opt/toolchains/x64/elf/binutils-gcc/2.40-12.2.0/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include-fixed \
141 -isystem /opt/toolchains/x64/elf/binutils-gcc/2.41-13.2.0/lib/gcc/x86_64-pc-linux-gnu/13.2.0/include \
142 -isystem /opt/toolchains/x64/elf/binutils-gcc/2.41-13.2.0/lib/gcc/x86_64-pc-linux-gnu/13.2.0/include-fixed \
143 143 -isystem $native_sys_hdr" -isystem $native_sys_hdr"
144 144
145 local_link='-B/opt/toolchains/x64/elf/binutils-gcc/2.40-12.2.0/lib64 -B/nyan/glibc/current/lib'
145 local_link='-B/opt/toolchains/x64/elf/binutils-gcc/2.41-13.2.0/lib64 -B/nyan/glibc/current/lib'
146 146
147 147 for arg in "\$@" for arg in "\$@"
148 148 do do
 
... ... do
153 153 local_link= local_link=
154 154 fi fi
155 155 done done
156 exec /opt/toolchains/x64/elf/binutils-gcc/2.40-12.2.0/bin/x86_64-pc-linux-gnu-gcc \$local_link \$local_cppflags "\$@"
156 exec /opt/toolchains/x64/elf/binutils-gcc/2.41-13.2.0/bin/x86_64-pc-linux-gnu-gcc \$local_link \$local_cppflags "\$@"
157 157 EOF EOF
158 158 chmod +x $top_build_dir/libstdcxx/bin/cc chmod +x $top_build_dir/libstdcxx/bin/cc
159 159
 
... ... cat >$top_build_dir/libstdcxx/bin/cxx <<EOF
161 161 #!/bin/sh #!/bin/sh
162 162 # We have a "fixed" cxx, but if the build system really wants -nostdinc or -nostdinc++, adapt. # We have a "fixed" cxx, but if the build system really wants -nostdinc or -nostdinc++, adapt.
163 163
164 local_link='-B/opt/toolchains/x64/elf/binutils-gcc/2.40-12.2.0/lib64 -B/nyan/glibc/current/lib'
164 local_link='-B/opt/toolchains/x64/elf/binutils-gcc/2.41-13.2.0/lib64 -B/nyan/glibc/current/lib'
165 165
166 166 for arg in "\$@" for arg in "\$@"
167 167 do do
 
... ... if test "\$have_nostdinc" = "yes"; then
179 179 local_cppflags= local_cppflags=
180 180 elif test "\$have_nostdincpp" = "yes"; then elif test "\$have_nostdincpp" = "yes"; then
181 181 local_cppflags="-nostdinc \ local_cppflags="-nostdinc \
182 -isystem /opt/toolchains/x64/elf/binutils-gcc/2.40-12.2.0/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include \
183 -isystem /opt/toolchains/x64/elf/binutils-gcc/2.40-12.2.0/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include-fixed \
182 -isystem /opt/toolchains/x64/elf/binutils-gcc/2.41-13.2.0/lib/gcc/x86_64-pc-linux-gnu/13.2.0/include \
183 -isystem /opt/toolchains/x64/elf/binutils-gcc/2.41-13.2.0/lib/gcc/x86_64-pc-linux-gnu/13.2.0/include-fixed \
184 184 -isystem $native_sys_hdr" -isystem $native_sys_hdr"
185 185 else else
186 186 local_cppflags="-nostdinc \ local_cppflags="-nostdinc \
187 -isystem /opt/toolchains/x64/elf/binutils-gcc/2.40-12.2.0/lib/gcc/x86_64-pc-linux-gnu/12.2.0/../../../../include/c++/12.2.0 \
188 -isystem /opt/toolchains/x64/elf/binutils-gcc/2.40-12.2.0/lib/gcc/x86_64-pc-linux-gnu/12.2.0/../../../../include/c++/12.2.0/x86_64-pc-linux-gnu \
189 -isystem /opt/toolchains/x64/elf/binutils-gcc/2.40-12.2.0/lib/gcc/x86_64-pc-linux-gnu/12.2.0/../../../../include/c++/12.2.0/backward \
190 -isystem /opt/toolchains/x64/elf/binutils-gcc/2.40-12.2.0/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include \
191 -isystem /opt/toolchains/x64/elf/binutils-gcc/2.40-12.2.0/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include-fixed \
187 -isystem /opt/toolchains/x64/elf/binutils-gcc/2.41-13.2.0/lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0 \
188 -isystem /opt/toolchains/x64/elf/binutils-gcc/2.41-13.2.0/lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/x86_64-pc-linux-gnu \
189 -isystem /opt/toolchains/x64/elf/binutils-gcc/2.41-13.2.0/lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/backward \
190 -isystem /opt/toolchains/x64/elf/binutils-gcc/2.41-13.2.0/lib/gcc/x86_64-pc-linux-gnu/13.2.0/include \
191 -isystem /opt/toolchains/x64/elf/binutils-gcc/2.41-13.2.0/lib/gcc/x86_64-pc-linux-gnu/13.2.0/include-fixed \
192 192 -isystem $native_sys_hdr" -isystem $native_sys_hdr"
193 193 fi fi
194 exec /opt/toolchains/x64/elf/binutils-gcc/2.40-12.2.0/bin/x86_64-pc-linux-gnu-gcc \$local_link \$local_cppflags "\$@"
194 exec /opt/toolchains/x64/elf/binutils-gcc/2.41-13.2.0/bin/x86_64-pc-linux-gnu-gcc \$local_link \$local_cppflags "\$@"
195 195 EOF EOF
196 196 chmod +x $top_build_dir/libstdcxx/bin/cxx chmod +x $top_build_dir/libstdcxx/bin/cxx
197 197
 
... ... chmod +x $top_build_dir/libstdcxx/bin/cxx
201 201 # We force it here, to allow a "standalone" build of libstdc++. # We force it here, to allow a "standalone" build of libstdc++.
202 202 if ! test -e $top_build_dir/libgcc/gthr-default.h;then if ! test -e $top_build_dir/libgcc/gthr-default.h;then
203 203 mkdir -p $top_build_dir/libgcc mkdir -p $top_build_dir/libgcc
204 ln -sTf $top_build_dir/gcc-12.2.0/libgcc/gthr-posix.h $top_build_dir/libgcc/gthr-default.h
204 ln -sTf $top_build_dir/gcc-13.2.0/libgcc/gthr-posix.h $top_build_dir/libgcc/gthr-default.h
205 205 fi fi
206 206
207 207 cd $top_build_dir/libstdcxx cd $top_build_dir/libstdcxx
 
... ... export CC=$top_build_dir/libstdcxx/bin/cc
211 211 export CFLAGS='-O2 -fPIC -pipe' export CFLAGS='-O2 -fPIC -pipe'
212 212 export CXX=$top_build_dir/libstdcxx/bin/cxx export CXX=$top_build_dir/libstdcxx/bin/cxx
213 213 export CXXFLAGS='-O2 -fPIC -pipe ' export CXXFLAGS='-O2 -fPIC -pipe '
214 export LDFLAGS='-L/opt/toolchains/x64/elf/binutils-gcc/2.40-12.2.0/lib64 -L/nyan/glibc/current/lib -Wl,-s'
214 export LDFLAGS='-L/opt/toolchains/x64/elf/binutils-gcc/2.41-13.2.0/lib64 -L/nyan/glibc/current/lib -Wl,-s'
215 215 export AR=$install_dir/bin/ar export AR=$install_dir/bin/ar
216 216 export RANLIB=$install_dir/bin/ranlib export RANLIB=$install_dir/bin/ranlib
217 $top_build_dir/gcc-12.2.0/libstdc++-v3/configure \
217 $top_build_dir/gcc-13.2.0/libstdc++-v3/configure \
218 218 --prefix=$install_dir \ --prefix=$install_dir \
219 219 --disable-multilib \ --disable-multilib \
220 220 --disable-libstdcxx-pch \ --disable-libstdcxx-pch \
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