]> git.draconx.ca Git - upkg.git/blob - bootstrap
Use GLib detection macros from dxcommon.
[upkg.git] / bootstrap
1 #!/bin/sh
2 #
3 # Copyright © 2011-2012, 2015 Nick Bowler
4 #
5 # Simple script to get started from a fresh git checkout.
6 #
7 # License WTFPL2: Do What The Fuck You Want To Public License, version 2.
8 # This is free software: you are free to do what the fuck you want to.
9 # There is NO WARRANTY, to the extent permitted by law.
10
11 scriptname=$0
12
13 err() {
14         printf '%s: %s\n' "$scriptname" "$@" 1>&2
15 }
16
17 die() {
18         err "$@"
19         exit 1
20 }
21
22 : ${LIBTOOLIZE=libtoolize}
23 : ${AUTORECONF=autoreconf}
24 : ${GNULIB=gnulib}
25 : ${GIT=git}
26 : ${PERL=perl}
27
28 $GIT submodule update --init || err "Failed to update submodules from git."
29
30 if test -x $GNULIB/gnulib-tool; then
31         $GNULIB/gnulib-tool --update -S || die "Failed to update Gnulib."
32 else
33         die "Gnulib sources are not properly installed in gnulib/."
34 fi
35
36 $PERL common/scripts/fix-gnulib.pl -o lib/gnulib.mk -i lib/gnulib.mk.in \
37         || die "Failed to fixup Gnulib makefile fragment."
38
39 # Frustratingly, libtoolize has changed the name of its nonrecursive ltdl
40 # makefile output, which broke all packages depending on previous documented
41 # behaviour.  Work around the issue by renaming the output.
42 rm -f libltdl/ltdl.mk
43 $LIBTOOLIZE -f || die "Failed to run libtoolize."
44 test ! -f libltdl/Makefile.inc || mv -f libltdl/Makefile.inc libltdl/ltdl.mk.in
45 test ! -f libltdl/ltdl.mk || mv -f libltdl/ltdl.mk libltdl/ltdl.mk.in
46
47 $PERL common/scripts/fix-ltdl.pl -o libltdl/ltdl.mk -i libltdl/ltdl.mk.in \
48         || die "Failed to fixup libltdl makefile fragment."
49
50 # Punt some automake-generated files so that Gentoo's wrapper script doesn't
51 # try to detect the automake version in use.
52 rm -f Makefile.in aclocal.m4
53 LIBTOOLIZE=true $AUTORECONF -fis