annotate dev/gcc/gcc.sh @ 534:1214c226dfa0

perl: use new FHS
author David Demelier <markand@malikania.fr>
date Wed, 10 Apr 2019 20:18:00 +0200
parents c6c29dc90899
children bad483aace64
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
82
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #!/bin/sh
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 #
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 # Copyright (c) 2019 David Demelier <markand@malikania.fr>
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 #
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 # Permission to use, copy, modify, and/or distribute this software for any
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # purpose with or without fee is hereby granted, provided that the above
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # copyright notice and this permission notice appear in all copies.
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 #
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 #
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
17
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
18 PKGNAME=gcc
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
19 PKGVERSION=8.3.0
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
20 PKGREVISION=1
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
21 PKGLICENSE="GPLv3+"
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
22 PKGSUMMARY="GNU compiler collections"
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
23 PKGDOWNLOAD="ftp://gcc.gnu.org/pub/gcc/releases/$PKGNAME-$PKGVERSION/$PKGNAME-$PKGVERSION.tar.xz"
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
24 PKGDEPENDS="lib/zlib lib/gmp lib/mpfr lib/mpc"
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
25 PKGOPTIONS="NLS"
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
26
82
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 : ${CHOST:=$(uname -m)-linux-musl}
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 : ${CBUILD:=$(uname -m)-linux-musl}
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 : ${CTARGET:=$(uname -m)-linux-musl}
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
30 : ${CC:=gcc}
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
31 : ${CFLAGS:=-O2}
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
32 : ${CXX:=g++}
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
33 : ${CXXFLAGS:=-O2}
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
34 : ${LDFLAGS:=}
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
35 : ${LIBS:=}
147
605b4a7b264a vanilla: general cleanup
David Demelier <markand@malikania.fr>
parents: 138
diff changeset
36 : ${NLS:=yes}
82
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
37
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
38 if [ "$NLS" = "yes" ]; then
431
515778c3a417 vanilla: core/gettext is only required for build
David Demelier <markand@malikania.fr>
parents: 382
diff changeset
39 PKGDEPENDS="core/gettext:build $PKGDEPENDS"
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
40 with_nls="--enable-nls"
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
41 else
82
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 with_nls="--disable-nls"
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 fi
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
44
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
45 build()
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
46 {
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
47 rm -rf $PKGNAME-$PKGVERSION
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
48 tar xvaf $PKGNAME-$PKGVERSION.tar.xz
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
49 pushd $PKGNAME-$PKGVERSION
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
50
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
51 # on vanilla we use /lib rather than /lib64.
371
b62eafa38603 dev/gcc: disable libgomp, use lib/openmp instead
David Demelier <markand@malikania.fr>
parents: 252
diff changeset
52 sed -i -e '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
b62eafa38603 dev/gcc: disable libgomp, use lib/openmp instead
David Demelier <markand@malikania.fr>
parents: 252
diff changeset
53 sed -i -e 's/lib64/lib/' gcc/config/i386/linux64.h
82
3600de78994f dev/gcc: initial import, closes #1075
David Demelier <markand@malikania.fr>
parents:
diff changeset
54
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
55 mkdir build && pushd build
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
56 CC="$CC" \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
57 CFLAGS="$CFLAGS" \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
58 CXX="$CXX" \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
59 CXXFLAGS="$CXXFLAGS" \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
60 LDFLAGS="$LDFLAGS" \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
61 LIBS="$LIBS" \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
62 ../configure \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
63 --build=$CBUILD \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
64 --host=$CHOST \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
65 --target=$CTARGET \
520
c6c29dc90899 dev: use new FHS
David Demelier <markand@malikania.fr>
parents: 479
diff changeset
66 --prefix=/ \
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
67 --enable-languages=c,c++ \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
68 --enable-threads=posix \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
69 --enable-__cxa_atexit \
520
c6c29dc90899 dev: use new FHS
David Demelier <markand@malikania.fr>
parents: 479
diff changeset
70 --libdir=/lib \
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
71 --with-system-zlib \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
72 --enable-shared \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
73 --enable-tls \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
74 --enable-default-pie \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
75 --enable-default-ssp \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
76 --disable-multilib \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
77 --disable-bootstrap \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
78 --disable-libsanitizer \
371
b62eafa38603 dev/gcc: disable libgomp, use lib/openmp instead
David Demelier <markand@malikania.fr>
parents: 252
diff changeset
79 --disable-libgomp \
b62eafa38603 dev/gcc: disable libgomp, use lib/openmp instead
David Demelier <markand@malikania.fr>
parents: 252
diff changeset
80 --with-pkgversion="Vanilla 0.1" \
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
81 --disable-static \
371
b62eafa38603 dev/gcc: disable libgomp, use lib/openmp instead
David Demelier <markand@malikania.fr>
parents: 252
diff changeset
82 $with_nls
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
83 make
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
84 make install DESTDIR=$DESTDIR
382
ebca5f1df2e4 vanilla: remove libtool files
David Demelier <markand@malikania.fr>
parents: 371
diff changeset
85 rm -f usr/lib/lib{atomic,cc1,itm,mpx,mpxwrappers,quadmath}.la
ebca5f1df2e4 vanilla: remove libtool files
David Demelier <markand@malikania.fr>
parents: 371
diff changeset
86 rm -f usr/lib/lib{ssp,ssp_nonshared}.la
ebca5f1df2e4 vanilla: remove libtool files
David Demelier <markand@malikania.fr>
parents: 371
diff changeset
87 rm -f usr/lib/libstdc++{,fs}.la
ebca5f1df2e4 vanilla: remove libtool files
David Demelier <markand@malikania.fr>
parents: 371
diff changeset
88 rm -f usr/lib/libsupc++.la
ebca5f1df2e4 vanilla: remove libtool files
David Demelier <markand@malikania.fr>
parents: 371
diff changeset
89 rm -f usr/lib/gcc/x86_64-linux-musl/8.3.0/plugin/libcc1plugin.la
ebca5f1df2e4 vanilla: remove libtool files
David Demelier <markand@malikania.fr>
parents: 371
diff changeset
90 rm -f usr/lib/gcc/x86_64-linux-musl/8.3.0/plugin/libcp1plugin.la
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
91 popd
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
92
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
93 popd
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
94 rm -rf $PKGNAME-$PKGVERSION
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 82
diff changeset
95 }