| Norbert Thiebaud | aa09a9b | 2011-10-07 14:10:10 -0500 | [diff] [blame] | 1 | #!/bin/sh |
| Kurt Zenker | 9647a33 | 2006-07-05 21:07:20 +0000 | [diff] [blame] | 2 | |
| Norbert Thiebaud | fd9366c | 2011-12-24 19:25:58 -0600 | [diff] [blame] | 3 | if test -z "${SRC_ROOT}"; then |
| 4 | if test -f ./config_build.mk ; then |
| 5 | . ./config_build.mk |
| 6 | else |
| 7 | if test -f ./config_host.mk ; then |
| Tor Lillqvist | cd2644d | 2012-02-10 13:34:42 +0200 | [diff] [blame] | 8 | sed -e 's/^\(export .*=\)\(.*\)$/\1"\2"/' <config_host.mk >config_host.mk.sh |
| 9 | . ./config_host.mk.sh |
| 10 | rm config_host.mk.sh |
| Norbert Thiebaud | fd9366c | 2011-12-24 19:25:58 -0600 | [diff] [blame] | 11 | fi |
| 12 | fi |
| 13 | fi |
| Michael Stahl | 9360e44 | 2011-04-18 15:59:15 +0000 | [diff] [blame] | 14 | if test -z "${SOLARENV}"; then |
| Michael Stahl | 9360e44 | 2011-04-18 15:59:15 +0000 | [diff] [blame] | 15 | echo "bootstrap: No environment set!" |
| 16 | exit 1 |
| 17 | fi |
| 18 | |
| RĂ¼diger Timm | 87840aa | 2003-12-01 16:38:25 +0000 | [diff] [blame] | 19 | # executables are *.exe for WNT. This variable is necessary since Cygwin 1.5.x |
| Norbert Thiebaud | 9115de5 | 2011-08-11 00:35:15 -0500 | [diff] [blame] | 20 | # Use spawn instead of fork when building dmake on cygwin. |
| Tor Lillqvist | 85d4491 | 2011-05-16 18:46:27 +0300 | [diff] [blame] | 21 | if test "$GUI_FOR_BUILD" = "WNT"; then |
| Vladimir Glazounov | c64d4c5 | 2006-09-27 09:25:09 +0000 | [diff] [blame] | 22 | EXEEXT=".exe" |
| 23 | DMAKE_CONF="--enable-spawn" |
| RĂ¼diger Timm | 87840aa | 2003-12-01 16:38:25 +0000 | [diff] [blame] | 24 | else |
| Vladimir Glazounov | c64d4c5 | 2006-09-27 09:25:09 +0000 | [diff] [blame] | 25 | EXEEXT="" |
| 26 | DMAKE_CONF="" |
| Kurt Zenker | 9647a33 | 2006-07-05 21:07:20 +0000 | [diff] [blame] | 27 | fi |
| Kurt Zenker | b2ffa9c | 2006-07-19 08:36:10 +0000 | [diff] [blame] | 28 | export EXEEXT |
| Jens-Heiner Rechtien | 11cb1ba | 2000-09-18 15:18:56 +0000 | [diff] [blame] | 29 | |
| Vladimir Glazounov | c64d4c5 | 2006-09-27 09:25:09 +0000 | [diff] [blame] | 30 | # ------------------------------------------------------------------------------ |
| Vladimir Glazounov | c64d4c5 | 2006-09-27 09:25:09 +0000 | [diff] [blame] | 31 | # Build dmake |
| 32 | |
| Kurt Zenker | 9647a33 | 2006-07-05 21:07:20 +0000 | [diff] [blame] | 33 | if test "$BUILD_DMAKE" != "NO"; then |
| Jan Holesovsky | bbe16ac | 2010-12-02 18:03:33 +0100 | [diff] [blame] | 34 | if test ! -x "$SRC_ROOT/dmake/dmake$EXEEXT"; then |
| Vladimir Glazounov | c64d4c5 | 2006-09-27 09:25:09 +0000 | [diff] [blame] | 35 | cd "$SRC_ROOT/dmake" || exit |
| Martin Hollmichel | d611db5 | 2003-01-20 14:00:18 +0000 | [diff] [blame] | 36 | |
| Tor Lillqvist | 85d4491 | 2011-05-16 18:46:27 +0300 | [diff] [blame] | 37 | # If cross-compiling then don't use the cross compilers to build dmake. |
| 38 | if test "$GUI_FOR_BUILD" = "WNT"; then |
| 39 | # Let the Cygwin gcc be found |
| Tor Lillqvist | 593a19e | 2011-05-18 18:55:07 +0300 | [diff] [blame] | 40 | unset CC CXX AR NM OBJDUMP PKG_CONFIG RANLIB STRIP |
| Tor Lillqvist | 85d4491 | 2011-05-16 18:46:27 +0300 | [diff] [blame] | 41 | elif test "$CROSS_COMPILING" = "YES"; then |
| 42 | export CC="$CC_FOR_BUILD" |
| 43 | export CXX="$CXX_FOR_BUILD" |
| Tor Lillqvist | 593a19e | 2011-05-18 18:55:07 +0300 | [diff] [blame] | 44 | unset AR NM OBJDUMP PKG_CONFIG RANLIB STRIP |
| Vladimir Glazounov | c64d4c5 | 2006-09-27 09:25:09 +0000 | [diff] [blame] | 45 | fi |
| Ken Foskey | 2aacc1a | 2002-10-09 12:17:17 +0000 | [diff] [blame] | 46 | |
| Vladimir Glazounov | c64d4c5 | 2006-09-27 09:25:09 +0000 | [diff] [blame] | 47 | # For normal unixy systems |
| 48 | if test -f "Makefile" ; then |
| 49 | $GNUMAKE distclean || exit |
| 50 | fi |
| Kurt Zenker | 9647a33 | 2006-07-05 21:07:20 +0000 | [diff] [blame] | 51 | |
| Vladimir Glazounov | c64d4c5 | 2006-09-27 09:25:09 +0000 | [diff] [blame] | 52 | ./configure $DMAKE_CONF || exit |
| Ken Foskey | 2aacc1a | 2002-10-09 12:17:17 +0000 | [diff] [blame] | 53 | |
| Vladimir Glazounov | c64d4c5 | 2006-09-27 09:25:09 +0000 | [diff] [blame] | 54 | ## invoke the gnu make command set by configure. |
| 55 | $GNUMAKE || exit |
| Vladimir Glazounov | f991d6a | 2003-12-17 14:00:10 +0000 | [diff] [blame] | 56 | |
| Vladimir Glazounov | c64d4c5 | 2006-09-27 09:25:09 +0000 | [diff] [blame] | 57 | echo "" |
| 58 | echo "dmake has been successfully built" |
| Vladimir Glazounov | f991d6a | 2003-12-17 14:00:10 +0000 | [diff] [blame] | 59 | |
| Vladimir Glazounov | c64d4c5 | 2006-09-27 09:25:09 +0000 | [diff] [blame] | 60 | cd .. |
| Vladimir Glazounov | c64d4c5 | 2006-09-27 09:25:09 +0000 | [diff] [blame] | 61 | else |
| Tor Lillqvist | 85d4491 | 2011-05-16 18:46:27 +0300 | [diff] [blame] | 62 | echo "dmake/dmake already built" |
| Vladimir Glazounov | c64d4c5 | 2006-09-27 09:25:09 +0000 | [diff] [blame] | 63 | fi |
| Kurt Zenker | 9647a33 | 2006-07-05 21:07:20 +0000 | [diff] [blame] | 64 | fi |
| 65 | |
| Tor Lillqvist | f206336 | 2011-06-04 14:59:34 +0300 | [diff] [blame] | 66 | mkdir -p "$SOLARENV/$OUTPATH_FOR_BUILD/bin" |
| Kurt Zenker | 9647a33 | 2006-07-05 21:07:20 +0000 | [diff] [blame] | 67 | if test "$BUILD_DMAKE" != "NO"; then |
| Tor Lillqvist | f206336 | 2011-06-04 14:59:34 +0300 | [diff] [blame] | 68 | cp -f "$SRC_ROOT/dmake/dmake$EXEEXT" "$SOLARENV/$OUTPATH_FOR_BUILD/bin" || exit |
| Vladimir Glazounov | c64d4c5 | 2006-09-27 09:25:09 +0000 | [diff] [blame] | 69 | echo "" |
| Tor Lillqvist | f206336 | 2011-06-04 14:59:34 +0300 | [diff] [blame] | 70 | echo "dmake copied to $SOLARENV/$OUTPATH_FOR_BUILD/bin/dmake$EXEEXT" |
| Oliver Bolte | afb4d61 | 2006-09-15 10:18:41 +0000 | [diff] [blame] | 71 | fi |
| 72 | |
| Norbert Thiebaud | e3e94f1 | 2011-12-17 10:54:24 -0600 | [diff] [blame] | 73 | # build concat-deps |
| 74 | echo "building concat-deps" |
| Norbert Thiebaud | 9651546 | 2011-12-18 05:15:53 -0600 | [diff] [blame] | 75 | if [ "$COM_FOR_BUILD" = "MSC" ] ; then |
| 76 | # on cygwin force the use of gcc |
| 77 | gcc -O2 "$SOLARENV/bin/concat-deps.c" -o "$SOLARENV/bin/concat-deps" || exit |
| 78 | else |
| 79 | $CC_FOR_BUILD -O2 "$SOLARENV/bin/concat-deps.c" -o "$SOLARENV/bin/concat-deps" || exit |
| 80 | fi |
| Norbert Thiebaud | 9115de5 | 2011-08-11 00:35:15 -0500 | [diff] [blame] | 81 | #make sure build.pl is executable |
| Kurt Zenker | 9647a33 | 2006-07-05 21:07:20 +0000 | [diff] [blame] | 82 | |
| 83 | chmod +x "$SRC_ROOT/solenv/bin/build.pl" |
| 84 | chmod +x "$SRC_ROOT/solenv/bin/zipdep.pl" |
| 85 | chmod +x "$SRC_ROOT/solenv/bin/gccinstlib.pl" |
| Hans-Joachim Lankenau | a966926 | 2010-01-15 14:55:12 +0100 | [diff] [blame] | 86 | |
| Tor Lillqvist | f206336 | 2011-06-04 14:59:34 +0300 | [diff] [blame] | 87 | # Local Variables: |
| 88 | # mode: shell-script |
| 89 | # tab-width: 4 |
| 90 | # indent-tabs-mode: nil |
| 91 | # End: |
| 92 | |
| 93 | # vim:set shiftwidth=4 softtabstop=4 expandtab: |