annotate gnu/make/make.sh @ 1142:f942ed650ab9

gnu/groff: initial import, closes #1144
author David Demelier <markand@malikania.fr>
date Tue, 24 Sep 2019 20:15:00 +0200
parents 3a40c84f9253
children 6710613b88b9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1115
297b5eef115e vanilla: change shebangs to /bin/sh
David Demelier <markand@malikania.fr>
parents: 1114
diff changeset
1 #!/bin/sh
74
b34f61c7454d dev/make: initial import, closes #1085
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 #
b34f61c7454d dev/make: initial import, closes #1085
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 # Copyright (c) 2019 David Demelier <markand@malikania.fr>
b34f61c7454d dev/make: initial import, closes #1085
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 #
b34f61c7454d dev/make: initial import, closes #1085
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 # Permission to use, copy, modify, and/or distribute this software for any
b34f61c7454d dev/make: initial import, closes #1085
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # purpose with or without fee is hereby granted, provided that the above
b34f61c7454d dev/make: initial import, closes #1085
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # copyright notice and this permission notice appear in all copies.
b34f61c7454d dev/make: initial import, closes #1085
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 #
b34f61c7454d dev/make: initial import, closes #1085
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
b34f61c7454d dev/make: initial import, closes #1085
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
b34f61c7454d dev/make: initial import, closes #1085
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
b34f61c7454d dev/make: initial import, closes #1085
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
b34f61c7454d dev/make: initial import, closes #1085
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
b34f61c7454d dev/make: initial import, closes #1085
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
b34f61c7454d dev/make: initial import, closes #1085
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
b34f61c7454d dev/make: initial import, closes #1085
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 #
b34f61c7454d dev/make: initial import, closes #1085
David Demelier <markand@malikania.fr>
parents:
diff changeset
17
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
18 PKGNAME=make
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
19 PKGVERSION=4.2.1
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
20 PKGREVISION=1
1107
7791d3dbfecf vanilla: consolidate licenses and many options
David Demelier <markand@malikania.fr>
parents: 1063
diff changeset
21 PKGLICENSE="GPLv30+"
1023
60d881a89c6a vanilla: fix many dependencies
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
22 PKGSUMMARY="GNU make"
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
23 PKGDOWNLOAD="http://ftp.gnu.org/gnu/$PKGNAME/$PKGNAME-$PKGVERSION.tar.gz"
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
24 PKGOPTIONS="GUILE NLS"
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
25
84
91dce8ec3969 dev/make: add NLS and GUILE options
David Demelier <markand@malikania.fr>
parents: 74
diff changeset
26 : ${CHOST:=$(uname -m)-linux-musl}
91dce8ec3969 dev/make: add NLS and GUILE options
David Demelier <markand@malikania.fr>
parents: 74
diff changeset
27 : ${CBUILD:=$(uname -m)-linux-musl}
500
d27efe5b1ea0 dev: convert packages to clang
David Demelier <markand@malikania.fr>
parents: 431
diff changeset
28 : ${CC:=clang}
84
91dce8ec3969 dev/make: add NLS and GUILE options
David Demelier <markand@malikania.fr>
parents: 74
diff changeset
29 : ${CFLAGS:=-O2}
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
30 : ${LDFLAGS:=}
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
31 : ${LIBS:=}
1063
ad3e2cbdcf24 vanilla: fix many packages
David Demelier <markand@malikania.fr>
parents: 1023
diff changeset
32 : ${GUILE:=no}
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
33 : ${NLS:=yes}
74
b34f61c7454d dev/make: initial import, closes #1085
David Demelier <markand@malikania.fr>
parents:
diff changeset
34
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
35 if [ "$GUILE" = "yes" ]; then
1023
60d881a89c6a vanilla: fix many dependencies
David Demelier <markand@malikania.fr>
parents: 1019
diff changeset
36 PKGDEPENDS="guile $PKGDEPENDS"
1063
ad3e2cbdcf24 vanilla: fix many packages
David Demelier <markand@malikania.fr>
parents: 1023
diff changeset
37 with_guile="--with-guile"
84
91dce8ec3969 dev/make: add NLS and GUILE options
David Demelier <markand@malikania.fr>
parents: 74
diff changeset
38 else
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
39 with_guile="--without-guile"
84
91dce8ec3969 dev/make: add NLS and GUILE options
David Demelier <markand@malikania.fr>
parents: 74
diff changeset
40 fi
147
605b4a7b264a vanilla: general cleanup
David Demelier <markand@malikania.fr>
parents: 145
diff changeset
41
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
42 if [ "$NLS" = "yes" ]; then
902
a133976e0783 vanilla: remove all origins, closes #2203
David Demelier <markand@malikania.fr>
parents: 831
diff changeset
43 PKGDEPENDS="gettext $PKGDEPENDS"
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
44 with_nls="--enable-nls"
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
45 else
84
91dce8ec3969 dev/make: add NLS and GUILE options
David Demelier <markand@malikania.fr>
parents: 74
diff changeset
46 with_nls="--disable-nls"
91dce8ec3969 dev/make: add NLS and GUILE options
David Demelier <markand@malikania.fr>
parents: 74
diff changeset
47 fi
91dce8ec3969 dev/make: add NLS and GUILE options
David Demelier <markand@malikania.fr>
parents: 74
diff changeset
48
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
49 build()
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
50 {
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
51 rm -rf $PKGNAME-$PKGVERSION
606
25cecc6dca48 vanilla: use POSIX shell and busybox tar
David Demelier <markand@malikania.fr>
parents: 549
diff changeset
52 tar xvf $PKGNAME-$PKGVERSION.tar.gz
25cecc6dca48 vanilla: use POSIX shell and busybox tar
David Demelier <markand@malikania.fr>
parents: 549
diff changeset
53 cd $PKGNAME-$PKGVERSION
74
b34f61c7454d dev/make: initial import, closes #1085
David Demelier <markand@malikania.fr>
parents:
diff changeset
54
1116
3a40c84f9253 gnu/make: use CC/CXX from build as default
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
55 # Change default CC/CXX/OBJC for a better compatibility.
3a40c84f9253 gnu/make: use CC/CXX from build as default
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
56 patch -p0 < ../patch-default.patch
3a40c84f9253 gnu/make: use CC/CXX from build as default
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
57
3a40c84f9253 gnu/make: use CC/CXX from build as default
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
58 case $CC in
3a40c84f9253 gnu/make: use CC/CXX from build as default
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
59 "gcc") CXX=g++ ;;
3a40c84f9253 gnu/make: use CC/CXX from build as default
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
60 "clang") CXX=clang++ ;;
3a40c84f9253 gnu/make: use CC/CXX from build as default
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
61 esac
3a40c84f9253 gnu/make: use CC/CXX from build as default
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
62
3a40c84f9253 gnu/make: use CC/CXX from build as default
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
63 sed -i -e "s|@CC@|$CC|" default.c
3a40c84f9253 gnu/make: use CC/CXX from build as default
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
64 sed -i -e "s|@CXX@|$CXX|" default.c
3a40c84f9253 gnu/make: use CC/CXX from build as default
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
65
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
66 CC="$CC" \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
67 CFLAGS="$CFLAGS" \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
68 LDFLAGS="$LDFLAGS" \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
69 LIBS="$LIBS" \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
70 ./configure \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
71 --build=$CBUILD \
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
72 --host=$CHOST \
549
bad483aace64 vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents: 500
diff changeset
73 --prefix= \
147
605b4a7b264a vanilla: general cleanup
David Demelier <markand@malikania.fr>
parents: 145
diff changeset
74 $with_guile \
605b4a7b264a vanilla: general cleanup
David Demelier <markand@malikania.fr>
parents: 145
diff changeset
75 $with_nls
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
76 make
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
77 make install DESTDIR=$DESTDIR
74
b34f61c7454d dev/make: initial import, closes #1085
David Demelier <markand@malikania.fr>
parents:
diff changeset
78
606
25cecc6dca48 vanilla: use POSIX shell and busybox tar
David Demelier <markand@malikania.fr>
parents: 549
diff changeset
79 cd ..
138
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
80 rm -rf $PKGNAME-$PKGVERSION
b3f3b8ed8cf2 dev: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
81 }