blob: 073f69a70e905efaa9217ff32990ead3caa04285 [file] [log] [blame]
Norbert Thiebaudaa09a9b2011-10-07 14:10:10 -05001#!/bin/sh
Kurt Zenker9647a332006-07-05 21:07:20 +00002
Norbert Thiebaudfd9366c2011-12-24 19:25:58 -06003if test -z "${SRC_ROOT}"; then
4 if test -f ./config_build.mk ; then
David Tardon54724982012-03-23 08:45:49 +01005 sed -e 's/^\s*\(export [A-Z0-9_]*=\)\(.*\)$/\1"\2"/' <config_build.mk >config_build.mk.sh
Tor Lillqvist94d553b2012-03-05 20:38:29 +02006 . ./config_build.mk.sh
7 rm config_build.mk.sh
Norbert Thiebaudfd9366c2011-12-24 19:25:58 -06008 else
9 if test -f ./config_host.mk ; then
David Tardon54724982012-03-23 08:45:49 +010010 sed -e 's/^\s*\(export [A-Z0-9_]*=\)\(.*\)$/\1"\2"/' <config_host.mk >config_host.mk.sh
Tor Lillqvistcd2644d2012-02-10 13:34:42 +020011 . ./config_host.mk.sh
12 rm config_host.mk.sh
Norbert Thiebaudfd9366c2011-12-24 19:25:58 -060013 fi
14 fi
15fi
Michael Stahl9360e442011-04-18 15:59:15 +000016if test -z "${SOLARENV}"; then
Michael Stahl9360e442011-04-18 15:59:15 +000017 echo "bootstrap: No environment set!"
18 exit 1
19fi
20
RĂ¼diger Timm87840aa2003-12-01 16:38:25 +000021# executables are *.exe for WNT. This variable is necessary since Cygwin 1.5.x
Norbert Thiebaud9115de52011-08-11 00:35:15 -050022# Use spawn instead of fork when building dmake on cygwin.
Tor Lillqvist85d44912011-05-16 18:46:27 +030023if test "$GUI_FOR_BUILD" = "WNT"; then
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000024 EXEEXT=".exe"
25 DMAKE_CONF="--enable-spawn"
RĂ¼diger Timm87840aa2003-12-01 16:38:25 +000026else
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000027 EXEEXT=""
28 DMAKE_CONF=""
Kurt Zenker9647a332006-07-05 21:07:20 +000029fi
Kurt Zenkerb2ffa9c2006-07-19 08:36:10 +000030export EXEEXT
Jens-Heiner Rechtien11cb1ba2000-09-18 15:18:56 +000031
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000032# ------------------------------------------------------------------------------
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000033# Build dmake
34
Kurt Zenker9647a332006-07-05 21:07:20 +000035if test "$BUILD_DMAKE" != "NO"; then
Jan Holesovskybbe16ac2010-12-02 18:03:33 +010036 if test ! -x "$SRC_ROOT/dmake/dmake$EXEEXT"; then
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000037 cd "$SRC_ROOT/dmake" || exit
Martin Hollmicheld611db52003-01-20 14:00:18 +000038
Tor Lillqvist85d44912011-05-16 18:46:27 +030039 # If cross-compiling then don't use the cross compilers to build dmake.
40 if test "$GUI_FOR_BUILD" = "WNT"; then
41 # Let the Cygwin gcc be found
Tor Lillqvist593a19e2011-05-18 18:55:07 +030042 unset CC CXX AR NM OBJDUMP PKG_CONFIG RANLIB STRIP
Tor Lillqvist85d44912011-05-16 18:46:27 +030043 elif test "$CROSS_COMPILING" = "YES"; then
44 export CC="$CC_FOR_BUILD"
45 export CXX="$CXX_FOR_BUILD"
Tor Lillqvist593a19e2011-05-18 18:55:07 +030046 unset AR NM OBJDUMP PKG_CONFIG RANLIB STRIP
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000047 fi
Ken Foskey2aacc1a2002-10-09 12:17:17 +000048
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000049 # For normal unixy systems
50 if test -f "Makefile" ; then
51 $GNUMAKE distclean || exit
52 fi
Kurt Zenker9647a332006-07-05 21:07:20 +000053
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000054 ./configure $DMAKE_CONF || exit
Ken Foskey2aacc1a2002-10-09 12:17:17 +000055
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000056 ## invoke the gnu make command set by configure.
57 $GNUMAKE || exit
Vladimir Glazounovf991d6a2003-12-17 14:00:10 +000058
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000059 echo ""
60 echo "dmake has been successfully built"
Vladimir Glazounovf991d6a2003-12-17 14:00:10 +000061
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000062 cd ..
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000063 else
Tor Lillqvist85d44912011-05-16 18:46:27 +030064 echo "dmake/dmake already built"
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000065 fi
Kurt Zenker9647a332006-07-05 21:07:20 +000066fi
67
Tor Lillqvistf2063362011-06-04 14:59:34 +030068mkdir -p "$SOLARENV/$OUTPATH_FOR_BUILD/bin"
Kurt Zenker9647a332006-07-05 21:07:20 +000069if test "$BUILD_DMAKE" != "NO"; then
Tor Lillqvistf2063362011-06-04 14:59:34 +030070 cp -f "$SRC_ROOT/dmake/dmake$EXEEXT" "$SOLARENV/$OUTPATH_FOR_BUILD/bin" || exit
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000071 echo ""
Tor Lillqvistf2063362011-06-04 14:59:34 +030072 echo "dmake copied to $SOLARENV/$OUTPATH_FOR_BUILD/bin/dmake$EXEEXT"
Oliver Bolteafb4d612006-09-15 10:18:41 +000073fi
74
Norbert Thiebaude3e94f12011-12-17 10:54:24 -060075# build concat-deps
76echo "building concat-deps"
Norbert Thiebaud96515462011-12-18 05:15:53 -060077if [ "$COM_FOR_BUILD" = "MSC" ] ; then
78 # on cygwin force the use of gcc
79 gcc -O2 "$SOLARENV/bin/concat-deps.c" -o "$SOLARENV/bin/concat-deps" || exit
80else
81 $CC_FOR_BUILD -O2 "$SOLARENV/bin/concat-deps.c" -o "$SOLARENV/bin/concat-deps" || exit
82fi
Norbert Thiebaud9115de52011-08-11 00:35:15 -050083#make sure build.pl is executable
Kurt Zenker9647a332006-07-05 21:07:20 +000084
85chmod +x "$SRC_ROOT/solenv/bin/build.pl"
86chmod +x "$SRC_ROOT/solenv/bin/zipdep.pl"
87chmod +x "$SRC_ROOT/solenv/bin/gccinstlib.pl"
Hans-Joachim Lankenaua9669262010-01-15 14:55:12 +010088
Tor Lillqvistf2063362011-06-04 14:59:34 +030089# Local Variables:
90# mode: shell-script
91# tab-width: 4
92# indent-tabs-mode: nil
93# End:
94
95# vim:set shiftwidth=4 softtabstop=4 expandtab: