blob: 313c2a94e1d114e205bf677047d9f7f0e1eec4e8 [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
5 . ./config_build.mk
6 else
7 if test -f ./config_host.mk ; then
Tor Lillqvistcd2644d2012-02-10 13:34:42 +02008 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 Thiebaudfd9366c2011-12-24 19:25:58 -060011 fi
12 fi
13fi
Michael Stahl9360e442011-04-18 15:59:15 +000014if test -z "${SOLARENV}"; then
Michael Stahl9360e442011-04-18 15:59:15 +000015 echo "bootstrap: No environment set!"
16 exit 1
17fi
18
RĂ¼diger Timm87840aa2003-12-01 16:38:25 +000019# executables are *.exe for WNT. This variable is necessary since Cygwin 1.5.x
Norbert Thiebaud9115de52011-08-11 00:35:15 -050020# Use spawn instead of fork when building dmake on cygwin.
Tor Lillqvist85d44912011-05-16 18:46:27 +030021if test "$GUI_FOR_BUILD" = "WNT"; then
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000022 EXEEXT=".exe"
23 DMAKE_CONF="--enable-spawn"
RĂ¼diger Timm87840aa2003-12-01 16:38:25 +000024else
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000025 EXEEXT=""
26 DMAKE_CONF=""
Kurt Zenker9647a332006-07-05 21:07:20 +000027fi
Kurt Zenkerb2ffa9c2006-07-19 08:36:10 +000028export EXEEXT
Jens-Heiner Rechtien11cb1ba2000-09-18 15:18:56 +000029
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000030# ------------------------------------------------------------------------------
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000031# Build dmake
32
Kurt Zenker9647a332006-07-05 21:07:20 +000033if test "$BUILD_DMAKE" != "NO"; then
Jan Holesovskybbe16ac2010-12-02 18:03:33 +010034 if test ! -x "$SRC_ROOT/dmake/dmake$EXEEXT"; then
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000035 cd "$SRC_ROOT/dmake" || exit
Martin Hollmicheld611db52003-01-20 14:00:18 +000036
Tor Lillqvist85d44912011-05-16 18:46:27 +030037 # 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 Lillqvist593a19e2011-05-18 18:55:07 +030040 unset CC CXX AR NM OBJDUMP PKG_CONFIG RANLIB STRIP
Tor Lillqvist85d44912011-05-16 18:46:27 +030041 elif test "$CROSS_COMPILING" = "YES"; then
42 export CC="$CC_FOR_BUILD"
43 export CXX="$CXX_FOR_BUILD"
Tor Lillqvist593a19e2011-05-18 18:55:07 +030044 unset AR NM OBJDUMP PKG_CONFIG RANLIB STRIP
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000045 fi
Ken Foskey2aacc1a2002-10-09 12:17:17 +000046
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000047 # For normal unixy systems
48 if test -f "Makefile" ; then
49 $GNUMAKE distclean || exit
50 fi
Kurt Zenker9647a332006-07-05 21:07:20 +000051
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000052 ./configure $DMAKE_CONF || exit
Ken Foskey2aacc1a2002-10-09 12:17:17 +000053
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000054 ## invoke the gnu make command set by configure.
55 $GNUMAKE || exit
Vladimir Glazounovf991d6a2003-12-17 14:00:10 +000056
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000057 echo ""
58 echo "dmake has been successfully built"
Vladimir Glazounovf991d6a2003-12-17 14:00:10 +000059
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000060 cd ..
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000061 else
Tor Lillqvist85d44912011-05-16 18:46:27 +030062 echo "dmake/dmake already built"
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000063 fi
Kurt Zenker9647a332006-07-05 21:07:20 +000064fi
65
Tor Lillqvistf2063362011-06-04 14:59:34 +030066mkdir -p "$SOLARENV/$OUTPATH_FOR_BUILD/bin"
Kurt Zenker9647a332006-07-05 21:07:20 +000067if test "$BUILD_DMAKE" != "NO"; then
Tor Lillqvistf2063362011-06-04 14:59:34 +030068 cp -f "$SRC_ROOT/dmake/dmake$EXEEXT" "$SOLARENV/$OUTPATH_FOR_BUILD/bin" || exit
Vladimir Glazounovc64d4c52006-09-27 09:25:09 +000069 echo ""
Tor Lillqvistf2063362011-06-04 14:59:34 +030070 echo "dmake copied to $SOLARENV/$OUTPATH_FOR_BUILD/bin/dmake$EXEEXT"
Oliver Bolteafb4d612006-09-15 10:18:41 +000071fi
72
Norbert Thiebaude3e94f12011-12-17 10:54:24 -060073# build concat-deps
74echo "building concat-deps"
Norbert Thiebaud96515462011-12-18 05:15:53 -060075if [ "$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
78else
79 $CC_FOR_BUILD -O2 "$SOLARENV/bin/concat-deps.c" -o "$SOLARENV/bin/concat-deps" || exit
80fi
Norbert Thiebaud9115de52011-08-11 00:35:15 -050081#make sure build.pl is executable
Kurt Zenker9647a332006-07-05 21:07:20 +000082
83chmod +x "$SRC_ROOT/solenv/bin/build.pl"
84chmod +x "$SRC_ROOT/solenv/bin/zipdep.pl"
85chmod +x "$SRC_ROOT/solenv/bin/gccinstlib.pl"
Hans-Joachim Lankenaua9669262010-01-15 14:55:12 +010086
Tor Lillqvistf2063362011-06-04 14:59:34 +030087# 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: