2010-03-13 15:01 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)

* config/global.mk
  * utils/hbmk2/hbmk2.prg
    + Added autodetection for Equation Solution mingw64 builds.

  * INSTALL
    + Added link to Equation Solution mingw releases.

  * src/vm/itemapi.c
    * Formatting.
This commit is contained in:
Viktor Szakats
2010-03-13 14:07:12 +00:00
parent 55fd7ac76e
commit 0cae7b71e1
5 changed files with 96 additions and 93 deletions

View File

@@ -17,6 +17,17 @@
past entries belonging to author(s): Viktor Szakats.
*/
2010-03-13 15:01 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
* utils/hbmk2/hbmk2.prg
+ Added autodetection for Equation Solution mingw64 builds.
* INSTALL
+ Added link to Equation Solution mingw releases.
* src/vm/itemapi.c
* Formatting.
2010-03-13 01:53 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbxbp/xbp.ch
* contrib/hbxbp/xbpgeneric.prg
@@ -24,7 +35,7 @@
AppName() -> APPTYPE_PM
LastAppEvent( mp1, mp2, oXbp, nThreadID ) -> nEvent
NextAppEvent( mp1, mp2, oXbp ) ->nEvent
; Please test on real-life scenario. Forward your findings.
I cannot test them extensively without real-time code.

View File

@@ -1276,6 +1276,7 @@ HARBOUR
MinGW [win, *nix, free, open-soource]
http://www.tdragon.net/recentgcc/ (unofficial, recommended)
http://www.mingw.org/ (official, rarely updated, MSYS home)
http://www.equation.com/servlet/equation.cmd?fa=fortran (unofficial)
MinGW x64 [win, *nix, free, open-source]
http://mingw-w64.org/
http://mingw-w64.sourceforge.net/

View File

@@ -704,102 +704,112 @@ ifeq ($(HB_COMPILER),)
$(error ! Error: DJGPP cross-builds are only possible on 32-bit Windows hosts)
endif
else
# tdragon DWARF-2 build
HB_COMP_PATH := $(call find_in_path,gcc-dw2)
ifneq ($(HB_COMP_PATH),)
HB_COMPILER := mingw
HB_CCPOSTFIX := -dw2
else
HB_COMP_PATH := $(call find_in_path,gcc)
# Equation Solution build (requires x86_64 host)
HB_COMP_PATH := $(call find_in_path,x86_64-pc-mingw32-gcc)
ifneq ($(HB_COMP_PATH),)
HB_COMPILER := mingw
HB_COMPILER := mingw64
HB_CPU := x86_64
else
HB_COMP_PATH := $(call find_in_path,wpp386)
HB_COMP_PATH := $(call find_in_path,gcc)
ifneq ($(HB_COMP_PATH),)
HB_COMPILER := watcom
$(eval $(call detect_watcom_platform))
HB_COMPILER := mingw
else
HB_COMP_PATH := $(call find_in_path,clarm)
HB_COMP_PATH := $(call find_in_path,wpp386)
ifneq ($(HB_COMP_PATH),)
HB_COMPILER_VER := 710
HB_COMPILER := msvcarm
HB_PLATFORM := wce
HB_CPU := arm
HB_COMPILER := watcom
$(eval $(call detect_watcom_platform))
else
HB_COMP_PATH := $(call find_in_path,armasm)
HB_COMP_PATH := $(call find_in_path,clarm)
ifneq ($(HB_COMP_PATH),)
HB_COMPILER_VER := 710
HB_COMPILER := msvcarm
HB_PLATFORM := wce
HB_CPU := arm
else
HB_COMP_PATH := $(call find_in_path,idis)
HB_COMP_PATH := $(call find_in_path,armasm)
ifneq ($(HB_COMP_PATH),)
HB_COMPILER := iccia64
HB_CPU := ia64
HB_COMPILER := msvcarm
HB_PLATFORM := wce
HB_CPU := arm
else
HB_COMP_PATH := $(call find_in_path,icl)
HB_COMP_PATH := $(call find_in_path,idis)
ifneq ($(HB_COMP_PATH),)
HB_COMPILER := icc
HB_COMPILER := iccia64
HB_CPU := ia64
else
HB_COMP_PATH := $(call find_in_path,ml64)
HB_COMP_PATH := $(call find_in_path,icl)
ifneq ($(HB_COMP_PATH),)
HB_COMPILER := msvc64
HB_CPU := x86_64
HB_COMPILER := icc
else
HB_COMP_PATH := $(call find_in_path,ias)
HB_COMP_PATH := $(call find_in_path,ml64)
ifneq ($(HB_COMP_PATH),)
HB_COMPILER := msvcia64
HB_CPU := ia64
HB_COMPILER := msvc64
HB_CPU := x86_64
else
HB_COMP_PATH := $(call find_in_path,cl)
HB_COMP_PATH := $(call find_in_path,ias)
ifneq ($(HB_COMP_PATH),)
HB_COMPILER := msvc
ifneq ($(findstring VC98,$(HB_COMP_PATH)),)
HB_COMPILER_VER := 600
else ifneq ($(findstring 2003,$(HB_COMP_PATH)),)
HB_COMPILER_VER := 700
else ifneq ($(findstring 8/,$(HB_COMP_PATH)),)
HB_COMPILER_VER := 800
else ifneq ($(findstring 9.0,$(HB_COMP_PATH)),)
HB_COMPILER_VER := 900
else ifneq ($(findstring 10.0,$(HB_COMP_PATH)),)
HB_COMPILER_VER := 1000
endif
HB_COMPILER := msvcia64
HB_CPU := ia64
else
HB_COMP_PATH := $(call find_in_path,bcc32)
HB_COMP_PATH := $(call find_in_path,cl)
ifneq ($(HB_COMP_PATH),)
HB_COMPILER := bcc
HB_COMPILER := msvc
ifneq ($(findstring VC98,$(HB_COMP_PATH)),)
HB_COMPILER_VER := 600
else ifneq ($(findstring 2003,$(HB_COMP_PATH)),)
HB_COMPILER_VER := 700
else ifneq ($(findstring 8/,$(HB_COMP_PATH)),)
HB_COMPILER_VER := 800
else ifneq ($(findstring 9.0,$(HB_COMP_PATH)),)
HB_COMPILER_VER := 900
else ifneq ($(findstring 10.0,$(HB_COMP_PATH)),)
HB_COMPILER_VER := 1000
endif
else
HB_COMP_PATH := $(call find_in_path,pocc)
HB_COMP_PATH := $(call find_in_path,bcc32)
ifneq ($(HB_COMP_PATH),)
ifneq ($(call find_in_path_raw,coredll.lib,$(LIB)),)
HB_PLATFORM := wce
HB_COMPILER := poccarm
HB_CPU := arm
else
ifneq ($(call find_in_path_raw,dbgeng.lib,$(LIB)),)
HB_COMPILER := pocc64
HB_CPU := x86_64
else
HB_COMPILER := pocc
endif
endif
HB_COMPILER := bcc
else
HB_COMP_PATH := $(call find_in_path,xcc)
HB_COMP_PATH := $(call find_in_path,pocc)
ifneq ($(HB_COMP_PATH),)
HB_COMPILER := xcc
else
HB_COMP_PATH := $(call find_in_path,i686-w64-mingw32-gcc)
ifneq ($(HB_COMP_PATH),)
HB_COMPILER := mingw64
HB_CCPREFIX := i686-w64-mingw32-
HB_CPU := x86_64
ifneq ($(call find_in_path_raw,coredll.lib,$(LIB)),)
HB_PLATFORM := wce
HB_COMPILER := poccarm
HB_CPU := arm
else
ifeq ($(HB_HOST_CPU),x86_64)
HB_COMP_PATH := $(call find_in_path,x86_64-w64-mingw32-gcc)
ifneq ($(HB_COMP_PATH),)
HB_COMPILER := mingw64
HB_CCPREFIX := x86_64-w64-mingw32-
HB_CPU := x86_64
ifneq ($(call find_in_path_raw,dbgeng.lib,$(LIB)),)
HB_COMPILER := pocc64
HB_CPU := x86_64
else
HB_COMPILER := pocc
endif
endif
else
HB_COMP_PATH := $(call find_in_path,xcc)
ifneq ($(HB_COMP_PATH),)
HB_COMPILER := xcc
else
# mingw-w64 build
HB_COMP_PATH := $(call find_in_path,i686-w64-mingw32-gcc)
ifneq ($(HB_COMP_PATH),)
HB_COMPILER := mingw64
HB_CCPREFIX := i686-w64-mingw32-
HB_CPU := x86_64
else
ifeq ($(HB_HOST_CPU),x86_64)
# mingw-w64 build
HB_COMP_PATH := $(call find_in_path,x86_64-w64-mingw32-gcc)
ifneq ($(HB_COMP_PATH),)
HB_COMPILER := mingw64
HB_CCPREFIX := x86_64-w64-mingw32-
HB_CPU := x86_64
endif
endif
endif
endif

View File

@@ -2221,13 +2221,10 @@ HB_BOOL hb_itemStrBuf( char * szResult, PHB_ITEM pNumber, int iSize, int iDec )
HB_BOOL fNeg;
if( iDec < 0 )
{
iDec = 0;
}
if( iDec > 0 )
{
iPos = iDot = iSize - iDec - 1;
}
else
{
iPos = iSize;
@@ -2278,9 +2275,7 @@ HB_BOOL hb_itemStrBuf( char * szResult, PHB_ITEM pNumber, int iSize, int iDec )
}
if( iPos > 0 )
{
memset( szResult, ' ', iPos );
}
if( iDec > 0 && iPos >= 0 )
{
@@ -2291,14 +2286,10 @@ HB_BOOL hb_itemStrBuf( char * szResult, PHB_ITEM pNumber, int iSize, int iDec )
if( iFirst < 0 )
{
if( szResult[ iPos ] != '0' )
{
iFirst = iPos - 1;
}
}
else if( iPos - iFirst >= iPrec )
{
break;
}
}
}
@@ -2309,13 +2300,10 @@ HB_BOOL hb_itemStrBuf( char * szResult, PHB_ITEM pNumber, int iSize, int iDec )
int iZer, iLast;
if( iFirst < 0 )
{
iZer = 0;
}
else
{
iZer = iSize - iFirst - iPrec - ( iDec > 0 ? 1 : 0 );
}
dFract = modf( dFract * doBase, &dDig );
iLast = ( int ) ( dDig + 0.01 );
@@ -2341,18 +2329,15 @@ HB_BOOL hb_itemStrBuf( char * szResult, PHB_ITEM pNumber, int iSize, int iDec )
if( iZer > 0 )
{
if( iDec == 0 || iPos <= iDot + 1 )
{
iLast = szResult[ iPos ] >= '5' ? 1 : 0;
}
szResult[ iPos ] = '0';
--iZer;
}
else if( iLast > 0 )
{
if( szResult[ iPos ] == '9' )
{
szResult[ iPos ] = '0';
}
else
{
if( szResult[ iPos ] < '0' ) /* '-' or ' ' */
@@ -2364,26 +2349,21 @@ HB_BOOL hb_itemStrBuf( char * szResult, PHB_ITEM pNumber, int iSize, int iDec )
{
szResult[ iPos ]++;
if( iFirst < 0 )
{
iFirst = iPos;
}
}
break;
}
}
else
{
break;
}
}
}
if( fNeg && iFirst >= 0 && iPos >= 0 )
{
iPos = ( iDot > 0 && iFirst >= iDot ) ? iDot - 2 : iFirst - 1;
if( iPos >= 0 )
{
szResult[ iPos ] = '-';
}
}
}
}

View File

@@ -1080,8 +1080,9 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
watcom also keeps a cl.exe in its binary dir. */
#if ! defined( __PLATFORM__UNIX )
aCOMPDET := { { {|| FindInPath( "cygstart" ) }, "cygwin" },;
{ {|| FindInPath( "gcc-dw2" ) }, "mingw", "", "-dw2" },;
{ {|| FindInPath( hbmk[ _HBMK_cCCPREFIX ] + "gcc" + hbmk[ _HBMK_cCCPOSTFIX ] ) }, "mingw" },;
{ {|| FindInPath( "gcc-dw2" ) }, "mingw", "", "-dw2" },; /* tdragon DWARF-2 build */
{ {|| FindInPath( "x86_64-pc-mingw32-gcc" ) }, "mingw64" },; /* Equation Solution build */
{ {|| FindInPath( hbmk[ _HBMK_cCCPREFIX ] + "gcc" + hbmk[ _HBMK_cCCPOSTFIX ] ) }, "mingw" },;
{ {|| iif( ! Empty( GetEnv( "WATCOM" ) ),;
FindInPath( "wpp386" ),;
NIL ) }, "watcom" },;
@@ -1098,8 +1099,8 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
{ {|| iif( ( tmp1 := FindInPath( "icl" ) ) != NIL .AND. "itanium" $ Lower( tmp1 ), tmp1, NIL ) }, "iccia64" },;
{ {|| FindInPath( "icl" ) }, "icc" },;
{ {|| FindInPath( "xcc" ) }, "xcc" },;
{ {|| FindInPath( "i686-w64-mingw32-gcc" ) }, "mingw64", "i686-w64-mingw32-" },;
{ {|| FindInPath( "x86_64-w64-mingw32-gcc" ) }, "mingw64", "x86_64-w64-mingw32-" }}
{ {|| FindInPath( "i686-w64-mingw32-gcc" ) }, "mingw64", "i686-w64-mingw32-" },; /* mingw-w64 build */
{ {|| FindInPath( "x86_64-w64-mingw32-gcc" ) }, "mingw64", "x86_64-w64-mingw32-" }} /* mingw-w64 build */
#endif
aCOMPSUP := { "mingw", "msvc", "bcc", "watcom", "icc", "pocc", "xcc", "cygwin",;
"mingw64", "msvc64", "msvcia64", "iccia64", "pocc64" }