diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 5a59ed60f0..ecbf264eb2 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,17 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-07-16 13:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/config/global.cf + ! fixed HB_BIN_COMPILE exporting - it should be done only for + cross builds when it's fixed location + + * harbour/harbour-win-spec + * harbour/harbour-wce-spec + * harbour/make_gnu_xmingw.sh + * harbour/make_gnu_xmingwce.sh + * updated for recent modifications + 2009-07-16 12:46 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/win/watcom.cf * added SYS NT to link options - it's default in Windows builds but diff --git a/harbour/config/global.cf b/harbour/config/global.cf index 5cebb3028d..8b9c1cc064 100644 --- a/harbour/config/global.cf +++ b/harbour/config/global.cf @@ -206,12 +206,13 @@ ifneq ($(HB_HOST_ARCH)$(HB_HOST_CPU),$(HB_ARCHITECTURE)$(HB_CPU)) $(warning Warning: HB_BIN_COMPILE not specified. Couldn't find native build.) else $(info HB_BIN_COMPILE not specified. Automatically set to: $(HB_BIN_COMPILE)) + export HB_BIN_COMPILE endif endif endif endif ifneq ($(HB_HOST_FLAG_),done) - HB_HOST_FLAG_=done + export HB_HOST_FLAG_=done # Setup platform macros (undefine host, define target) ifeq ($(HB_HOST_ARCH),win) HB_USER_PRGFLAGS += -undef:__PLATFORM__WINDOWS @@ -278,7 +279,7 @@ ifeq ($(HB_INC_COMPILE),) endif # export some variables to eliminate repeated setting in recursive calls -export HB_HOST_ARCH HB_BIN_COMPILE HB_HOST_FLAG_ +export HB_HOST_ARCH include $(TOP)$(ROOT)config/$(HB_ARCHITECTURE)/global.cf include $(TOP)$(ROOT)config/globsh.cf diff --git a/harbour/harbour-wce-spec b/harbour/harbour-wce-spec index 052fb62781..f0075924fa 100644 --- a/harbour/harbour-wce-spec +++ b/harbour/harbour-wce-spec @@ -98,11 +98,7 @@ export HB_COMPILER=mingwarm export HB_BIN_COMPILE="$(pwd)/bin/linux/gcc" -export CC_HB_USER_CFLAGS="" -export HB_USER_CFLAGS="$CC_HB_USER_CFLAGS" -export HB_USER_PRGFLAGS="-D__PLATFORM__WINDOWS -undef:__PLATFORM__UNIX -undef:__PLATFORM__LINUX" -export HB_USER_LDFLAGS="${CC_HB_USER_LDFLAGS}" -export CC_HB_USER_PRGFLAGS="-D__PLATFORM__WINCE ${HB_USER_PRGFLAGS}" +export CC_HB_USER_PRGFLAGS="-D__PLATFORM__WINCE -D__PLATFORM__WINDOWS -undef:__PLATFORM__UNIX -undef:__PLATFORM__LINUX" export HB_CCPATH="%{hb_ccpath}:" export HB_CCPREFIX="%{hb_ccpref}" @@ -131,11 +127,7 @@ export HB_COMPILER=mingwarm export HB_BIN_COMPILE="$(pwd)/bin/linux/gcc" -export CC_HB_USER_CFLAGS="" -export HB_USER_CFLAGS="$CC_HB_USER_CFLAGS" -export HB_USER_PRGFLAGS="-D__PLATFORM__WINDOWS -undef:__PLATFORM__UNIX -undef:__PLATFORM__LINUX" -export HB_USER_LDFLAGS="${CC_HB_USER_LDFLAGS}" -export CC_HB_USER_PRGFLAGS="-D__PLATFORM__WINCE ${HB_USER_PRGFLAGS}" +export CC_HB_USER_PRGFLAGS="-D__PLATFORM__WINCE -D__PLATFORM__WINDOWS -undef:__PLATFORM__UNIX -undef:__PLATFORM__LINUX" export HB_CCPATH="%{hb_ccpath}:" export HB_CCPREFIX="%{hb_ccpref}" diff --git a/harbour/harbour-win-spec b/harbour/harbour-win-spec index 1c23debed0..986a195cee 100644 --- a/harbour/harbour-win-spec +++ b/harbour/harbour-win-spec @@ -98,11 +98,7 @@ export HB_COMPILER=mingw export HB_BIN_COMPILE="$(pwd)/bin/linux/gcc" -export CC_HB_USER_CFLAGS="" -export HB_USER_CFLAGS="$CC_HB_USER_CFLAGS" export CC_HB_USER_PRGFLAGS="-D__PLATFORM__WINDOWS -undef:__PLATFORM__UNIX -undef:__PLATFORM__LINUX" -export HB_USER_PRGFLAGS="$CC_HB_USER_PRGFLAGS" -export HB_USER_LDFLAGS="${CC_HB_USER_LDFLAGS}" export HB_CCPATH="%{hb_ccpath}:" export HB_CCPREFIX="%{hb_ccpref}" @@ -131,11 +127,7 @@ export HB_COMPILER=mingw export HB_BIN_COMPILE="$(pwd)/bin/linux/gcc" -export CC_HB_USER_CFLAGS="" -export HB_USER_CFLAGS="$CC_HB_USER_CFLAGS" export CC_HB_USER_PRGFLAGS="-D__PLATFORM__WINDOWS -undef:__PLATFORM__UNIX -undef:__PLATFORM__LINUX" -export HB_USER_PRGFLAGS="$CC_HB_USER_PRGFLAGS" -export HB_USER_LDFLAGS="${CC_HB_USER_LDFLAGS}" export HB_CCPATH="%{hb_ccpath}:" export HB_CCPREFIX="%{hb_ccpref}" diff --git a/harbour/make_gnu_xmingw.sh b/harbour/make_gnu_xmingw.sh index 0f9f1b1918..bfec136919 100755 --- a/harbour/make_gnu_xmingw.sh +++ b/harbour/make_gnu_xmingw.sh @@ -8,11 +8,6 @@ # Copyright 2003-2005 by Phil Krylov # -cleanup() -{ - rm -fR "${HB_BIN_COMPILE}" -} - UNAME=`uname` UNAMEL=`echo "$UNAME"|tr A-Z a-z` UNAMEU=`echo "$UNAME"|tr a-z A-Z` @@ -33,17 +28,12 @@ else esac fi -CC_HB_USER_PRGFLAGS="" if [ "$HB_HOST_ARCH" != "win" ]; then - CC_HB_USER_PRGFLAGS="-D__PLATFORM__WINDOWS -undef:__PLATFORM__UNIX -undef:__PLATFORM__$UNAMEU" + export CC_HB_USER_PRGFLAGS="-D__PLATFORM__WINDOWS -undef:__PLATFORM__UNIX -undef:__PLATFORM__$UNAMEU" fi -[ -z "$HB_INSTALL_PREFIX" ] && \ +[ -n "$HB_INSTALL_PREFIX" ] || \ export HB_INSTALL_PREFIX="/usr/local/mingw32-harbour" -export CC_HB_USER_CFLAGS="" -export HB_USER_CFLAGS="$CC_HB_USER_CFLAGS $HB_USER_CFLAGS" -export CC_HB_USER_PRGFLAGS -export HB_USER_PRGFLAGS="$CC_HB_USER_PRGFLAGS $HB_USER_PRGFLAGS" # try to detect MinGW cross-compiler location # using some default platform settings @@ -102,64 +92,13 @@ if [ ! -x ${MINGW_PREFIX}/bin/${HB_CCPREFIX}gcc ] && \ exit 1 fi -HB_CCPATH="$MINGW_PREFIX/bin:$MINGW_PREFIX/$TARGET/bin:" -PATH="$HB_CCPATH$PATH" - -export PATH HB_CCPATH HB_CCPREFIX - +export HB_CCPATH="${MINGW_PREFIX}/bin:${MINGW_PREFIX}/${TARGET}/bin:" +export PATH="${HB_CCPATH}${PATH}" +export HB_CCPREFIX export HB_TOOLS_PREF="hbw" export HB_XBUILD="win" [ "${HB_HOST_BUILD}" = "all" ] || export HB_HOST_BUILD="lib" -export HB_BIN_COMPILE="/tmp/hb-xmingw-$$" -rm -fR "${HB_BIN_COMPILE}" -trap cleanup EXIT >/dev/null 2>&1 -mkdir ${HB_BIN_COMPILE} - -DIR=`cd $(dirname $0);pwd` -if [ -z "${HB_COMP_PATH}" ]; then - if which harbour > /dev/null 2>&1; then - HB_COMP_PATH=`which harbour 2> /dev/null` - else - HB_COMP_PATH="$DIR/source/main/$HB_HOST_ARCH/$HB_HOST_COMP/harbour" - fi -fi - -if [ -x "${HB_COMP_PATH}" ]; then - ln -s "${HB_COMP_PATH}" ${HB_BIN_COMPILE}/harbour.exe -else - echo "You must have a working 'harbour' executable for your platform on your PATH." - exit 1 -fi - -if [ -z "${HB_PPGEN_PATH}" ]; then - if which hbpp &> /dev/null; then - HB_PPGEN_PATH=`which hbpp 2> /dev/null` - elif [ -x "${DIR}/source/pp/${HB_HOST_ARCH}/${HB_HOST_COMP}/hbpp" ]; then - HB_PPGEN_PATH="${DIR}/source/pp/${HB_HOST_ARCH}/${HB_HOST_COMP}/hbpp" - else - DIR=`dirname ${HB_COMP_PATH}` - if [ -x "${DIR}/hbpp" ]; then - HB_PPGEN_PATH="${DIR}/hbpp" - else - HB_PPGEN_PATH="$DIR/source/pp/$HB_HOST_ARCH/$HB_HOST_COMP/hbpp" - fi - fi -fi -if [ -d "${HB_PPGEN_PATH}" ]; then - if [ -x "${HB_PPGEN_PATH}/hbpp" ]; then - HB_PPGEN_PATH="${HB_PPGEN_PATH}/hbpp" - fi -fi -if [ -x "${HB_PPGEN_PATH}" ] && [ -f "${HB_PPGEN_PATH}" ]; then - ln -s ${HB_PPGEN_PATH} ${HB_BIN_COMPILE}/hbpp.exe - HB_PPGEN_PATH="${HB_BIN_COMPILE}" -else - echo "You must have a working 'hbpp' executable for your platform on your PATH." - exit 1 -fi -export HB_PPGEN_PATH - case "$1" in tgz|gnu) ext=$1 @@ -170,7 +109,3 @@ case "$1" in . `dirname $0`/make_gnu.sh "$@" ;; esac - -stat="$?" -cleanup -exit "${stat}" diff --git a/harbour/make_gnu_xmingwce.sh b/harbour/make_gnu_xmingwce.sh index 730024edf7..cbc940b63e 100755 --- a/harbour/make_gnu_xmingwce.sh +++ b/harbour/make_gnu_xmingwce.sh @@ -8,11 +8,6 @@ # Copyright 2007 by Przemyslaw Czerpak (druzus/at/priv.onet.pl) # -cleanup() -{ - rm -fR "${HB_BIN_COMPILE}" -} - UNAME=`uname` UNAMEL=`echo "$UNAME"|tr A-Z a-z` UNAMEU=`echo "$UNAME"|tr a-z A-Z` @@ -33,38 +28,27 @@ else esac fi -CC_HB_USER_PRGFLAGS="" if [ "$HB_HOST_ARCH" != "win" ] && \ [ "$HB_HOST_ARCH" != "wce" ]; then - CC_HB_USER_PRGFLAGS="$CC_HB_USER_PRGFLAGS -D__PLATFORM__WINDOWS -undef:__PLATFORM__UNIX -undef:__PLATFORM__$UNAMEU" + export CC_HB_USER_PRGFLAGS="-D__PLATFORM__WINDOWS -undef:__PLATFORM__UNIX -undef:__PLATFORM__$UNAMEU" fi -[ -z "$HB_INSTALL_PREFIX" ] && \ +[ -n "$HB_INSTALL_PREFIX" ] || \ export HB_INSTALL_PREFIX="/usr/local/arm-wince-mingwce-harbour" -export CC_HB_USER_CFLAGS="" -export HB_USER_CFLAGS="$CC_HB_USER_CFLAGS $HB_USER_CFLAGS" -export CC_HB_USER_PRGFLAGS -export HB_USER_PRGFLAGS="$CC_HB_USER_PRGFLAGS $HB_USER_PRGFLAGS" -# default cegcc instalation path +# default mingwce instalation path [ -z "$HB_CCPATH" ] && HB_CCPATH="/opt/mingw32ce/bin" -if [ "$HB_HOST_ARCH" != "win" ] && \ - [ "$HB_HOST_ARCH" != "wce" ]; then - export PATH="$HB_CCPATH:$PATH" -fi - -# cegcc executables prefix - this -# has changed in cegcc/gcc4.3.0 +# mingwce executables prefix - this if [ -z "$HB_CCPREFIX" ]; then if [ -x "${HB_CCPATH}/arm-wince-mingw32ce-gcc" ]; then - export HB_CCPREFIX="arm-wince-mingw32ce-" + HB_CCPREFIX="arm-wince-mingw32ce-" else if [ -x "${HB_CCPATH}/arm-mingw32ce-gcc" ]; then - export HB_CCPREFIX="arm-mingw32ce-" + HB_CCPREFIX="arm-mingw32ce-" else - echo "cegcc compiler executable not found. Ensure you have cegcc package installed in" - echo "/opt/mingw32ce dir, or (alternatively) set environment variable HB_CCPATH to a cegcc" + echo "mingwce compiler executable not found. Ensure you have mingwce package installed in" + echo "/opt/mingw32ce dir, or (alternatively) set environment variable HB_CCPATH to a mingwce" echo "installation directory" exit 1 fi @@ -72,59 +56,12 @@ if [ -z "$HB_CCPREFIX" ]; then fi export HB_CCPATH="${HB_CCPATH}:" +export PATH="${HB_CCPATH}${PATH}" +export HB_CCPREFIX export HB_TOOLS_PREF="hbce" export HB_XBUILD="wce" [ "${HB_HOST_BUILD}" = "all" ] || export HB_HOST_BUILD="lib" -export HB_BIN_COMPILE="/tmp/hb-${HB_CCPREFIX}-$$" -rm -fR "${HB_BIN_COMPILE}" -trap cleanup EXIT >/dev/null 2>&1 -mkdir ${HB_BIN_COMPILE} - -DIR=`cd $(dirname $0);pwd` -if [ -z "${HB_COMP_PATH}" ]; then - if which harbour > /dev/null 2>&1; then - HB_COMP_PATH=`which harbour 2> /dev/null` - else - HB_COMP_PATH="$DIR/source/main/$HB_HOST_ARCH/$HB_HOST_COMP/harbour" - fi -fi - -if [ -x "${HB_COMP_PATH}" ]; then - ln -s "${HB_COMP_PATH}" ${HB_BIN_COMPILE}/harbour.exe -else - echo "You must have a working 'harbour' executable for your platform on your PATH." - exit 1 -fi - -if [ -z "${HB_PPGEN_PATH}" ]; then - if which hbpp &> /dev/null; then - HB_PPGEN_PATH=`which hbpp 2> /dev/null` - elif [ -x "${DIR}/source/pp/${HB_HOST_ARCH}/${HB_HOST_COMP}/hbpp" ]; then - HB_PPGEN_PATH="${DIR}/source/pp/${HB_HOST_ARCH}/${HB_HOST_COMP}/hbpp" - else - DIR=`dirname ${HB_COMP_PATH}` - if [ -x "${DIR}/hbpp" ]; then - HB_PPGEN_PATH="${DIR}/hbpp" - else - HB_PPGEN_PATH="$DIR/source/pp/$HB_HOST_ARCH/$HB_HOST_COMP/hbpp" - fi - fi -fi -if [ -d "${HB_PPGEN_PATH}" ]; then - if [ -x "${HB_PPGEN_PATH}/hbpp" ]; then - HB_PPGEN_PATH="${HB_PPGEN_PATH}/hbpp" - fi -fi -if [ -x "${HB_PPGEN_PATH}" ] && [ -f "${HB_PPGEN_PATH}" ]; then - ln -s ${HB_PPGEN_PATH} ${HB_BIN_COMPILE}/hbpp.exe - HB_PPGEN_PATH="${HB_BIN_COMPILE}" -else - echo "You must have a working 'hbpp' executable for your platform on your PATH." - exit 1 -fi -export HB_PPGEN_PATH - case "$1" in tgz|gnu) ext=$1 @@ -135,7 +72,3 @@ case "$1" in . `dirname $0`/make_gnu.sh "$@" ;; esac - -stat="$?" -cleanup -exit "${stat}"