| #!/bin/sh |
| |
| if test -z "${SRC_ROOT}"; then |
| if test -f ./config_build.mk ; then |
| . ./config_build.mk |
| else |
| if test -f ./config_host.mk ; then |
| sed -e 's/^\(export .*=\)\(.*\)$/\1"\2"/' <config_host.mk >config_host.mk.sh |
| . ./config_host.mk.sh |
| rm config_host.mk.sh |
| fi |
| fi |
| fi |
| if test -z "${SOLARENV}"; then |
| echo "bootstrap: No environment set!" |
| exit 1 |
| fi |
| |
| # executables are *.exe for WNT. This variable is necessary since Cygwin 1.5.x |
| # Use spawn instead of fork when building dmake on cygwin. |
| if test "$GUI_FOR_BUILD" = "WNT"; then |
| EXEEXT=".exe" |
| DMAKE_CONF="--enable-spawn" |
| else |
| EXEEXT="" |
| DMAKE_CONF="" |
| fi |
| export EXEEXT |
| |
| # ------------------------------------------------------------------------------ |
| # Build dmake |
| |
| if test "$BUILD_DMAKE" != "NO"; then |
| if test ! -x "$SRC_ROOT/dmake/dmake$EXEEXT"; then |
| cd "$SRC_ROOT/dmake" || exit |
| |
| # If cross-compiling then don't use the cross compilers to build dmake. |
| if test "$GUI_FOR_BUILD" = "WNT"; then |
| # Let the Cygwin gcc be found |
| unset CC CXX AR NM OBJDUMP PKG_CONFIG RANLIB STRIP |
| elif test "$CROSS_COMPILING" = "YES"; then |
| export CC="$CC_FOR_BUILD" |
| export CXX="$CXX_FOR_BUILD" |
| unset AR NM OBJDUMP PKG_CONFIG RANLIB STRIP |
| fi |
| |
| # For normal unixy systems |
| if test -f "Makefile" ; then |
| $GNUMAKE distclean || exit |
| fi |
| |
| ./configure $DMAKE_CONF || exit |
| |
| ## invoke the gnu make command set by configure. |
| $GNUMAKE || exit |
| |
| echo "" |
| echo "dmake has been successfully built" |
| |
| cd .. |
| else |
| echo "dmake/dmake already built" |
| fi |
| fi |
| |
| mkdir -p "$SOLARENV/$OUTPATH_FOR_BUILD/bin" |
| if test "$BUILD_DMAKE" != "NO"; then |
| cp -f "$SRC_ROOT/dmake/dmake$EXEEXT" "$SOLARENV/$OUTPATH_FOR_BUILD/bin" || exit |
| echo "" |
| echo "dmake copied to $SOLARENV/$OUTPATH_FOR_BUILD/bin/dmake$EXEEXT" |
| fi |
| |
| # build concat-deps |
| echo "building concat-deps" |
| if [ "$COM_FOR_BUILD" = "MSC" ] ; then |
| # on cygwin force the use of gcc |
| gcc -O2 "$SOLARENV/bin/concat-deps.c" -o "$SOLARENV/bin/concat-deps" || exit |
| else |
| $CC_FOR_BUILD -O2 "$SOLARENV/bin/concat-deps.c" -o "$SOLARENV/bin/concat-deps" || exit |
| fi |
| #make sure build.pl is executable |
| |
| chmod +x "$SRC_ROOT/solenv/bin/build.pl" |
| chmod +x "$SRC_ROOT/solenv/bin/zipdep.pl" |
| chmod +x "$SRC_ROOT/solenv/bin/gccinstlib.pl" |
| |
| # Local Variables: |
| # mode: shell-script |
| # tab-width: 4 |
| # indent-tabs-mode: nil |
| # End: |
| |
| # vim:set shiftwidth=4 softtabstop=4 expandtab: |