Allow to run on Windows lacking CreateSymbolicLinkW()
[cygwin-setup.git] / bootstrap.sh
blobb5bf87be03a8716d6d2a19a1385516069da026ca
1 #! /bin/bash
2 # Used to setup the configure.in, autoheader and Makefile.in's if configure
3 # has not been generated. This script is only needed for developers when
4 # configure has not been run, or if a Makefile.am in a non-configured directory
5 # has been updated
7 builddir=`pwd`
8 srcdir=`dirname "$0"`
10 bootstrap() {
11 if "$@"; then
12 true # Everything OK
13 else
14 echo "$1 failed"
15 echo "Autotool bootstrapping failed. You will need to investigate and correct" ;
16 echo "before you can develop on this source tree"
17 exit 1
21 cd "$srcdir"
23 # Make sure we are running in the right directory
24 if [ ! -f main.cc ]; then
25 echo "You must run this script from the directory containing it"
26 exit 1
29 if [[ "$1" =~ "--host=" ]]; then
30 host="${1#--host=}"
31 elif hash x86_64-w64-mingw32-g++ 2> /dev/null; then
32 host="x86_64-w64-mingw32"
33 elif hash i686-w64-mingw32-g++ 2> /dev/null; then
34 host="i686-w64-mingw32"
35 else
36 echo "mingw32 or mingw64 target g++ required for building setup"
37 exit 1
40 export ACLOCAL_PATH=$($host-g++ --print-sysroot)/mingw/share/aclocal
42 # Make sure cfgaux exists
43 mkdir -p cfgaux
45 # Bootstrap the autotool subsystems
46 echo "bootstrapping in $srcdir"
47 bootstrap aclocal
48 # bootstrap autoheader
49 bootstrap libtoolize --automake
50 bootstrap autoconf
51 bootstrap automake --foreign --add-missing
53 # Run bootstrap in required subdirs, iff it has not yet been run
54 echo "bootstrapping in $srcdir/libgetopt++"
55 cd libgetopt++ && ./bootstrap.sh
57 if test -n "$NOCONFIGURE"; then
58 echo "Skipping configure per request"
59 exit 0
62 cd "$builddir"
64 build=`$srcdir/cfgaux/config.guess`
66 echo "running configure"
67 $srcdir/configure -C --build=$build --host=$host "$@"
69 exit $?