2009-12-03 16:03 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)

* config/global.mk
   * utils/hbmk2/hbmk2.prg
     + Added autodetection of DWARF-2 build of mingw.
       This is mingw build is required for QT 4.6.0.

   * utils/hbmk2/hbmk2.prg
     ! Fixed to consider HB_CCPOSTFIX setting when trying to autodetect gcc/win, gcc/wce.
This commit is contained in:
Viktor Szakats
2009-12-03 15:04:28 +00:00
parent d409d69959
commit 9d9ba42925
3 changed files with 78 additions and 57 deletions

View File

@@ -17,6 +17,15 @@
past entries belonging to author(s): Viktor Szakats.
*/
2009-12-03 16:03 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
* utils/hbmk2/hbmk2.prg
+ Added autodetection of DWARF-2 build of mingw.
This is mingw build is required for QT 4.6.0.
* utils/hbmk2/hbmk2.prg
! Fixed to consider HB_CCPOSTFIX setting when trying to autodetect gcc/win, gcc/wce.
2009-12-03 14:56 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-mkimp.bat
- Deleted creation of QT implibs for mingw. Enough to use what's

View File

@@ -713,88 +713,94 @@ ifeq ($(HB_COMPILER),)
$(error ! Error: DJGPP cross-builds are only possible on 32-bit Windows hosts)
endif
else
HB_COMP_PATH := $(call find_in_path,gcc)
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,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_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
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_COMPILER := msvcarm
HB_PLATFORM := wce
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
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_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_COMPILER := msvc64
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
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
else
ifneq ($(call find_in_path_raw,dbgeng.lib,$(LIB)),)
HB_COMPILER := pocc64
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-
ifneq ($(call find_in_path_raw,coredll.lib,$(LIB)),)
HB_PLATFORM := wce
HB_COMPILER := poccarm
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-
ifneq ($(call find_in_path_raw,dbgeng.lib,$(LIB)),)
HB_COMPILER := pocc64
else
HB_COMPILER := pocc
endif
endif
else
HB_COMP_PATH := $(call find_in_path,xcc)
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-
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-
endif
endif
endif
endif
@@ -903,6 +909,7 @@ ifeq ($(HB_COMPILER),)
endif
export HB_CCPATH
export HB_CCPREFIX
export HB_CCPOSTFIX
endif
ifeq ($(HB_PLATFORM),)

View File

@@ -176,6 +176,7 @@ REQUEST hbmk_KEYW
#define _COMPDET_bBlock 1
#define _COMPDET_cCOMP 2
#define _COMPDET_cCCPREFIX 3 /* optional */
#define _COMPDET_cCCPOSTFIX 4 /* optional */
#define _COMPDETE_bBlock 1
#define _COMPDETE_cPLAT 2
@@ -1018,7 +1019,8 @@ FUNCTION hbmk( aArgs, /* @ */ lPause )
watcom also keeps a cl.exe in its binary dir. */
#if ! defined( __PLATFORM__UNIX )
aCOMPDET := { { {|| FindInPath( "cygstart" ) }, "cygwin" },;
{ {|| FindInPath( hbmk[ _HBMK_cCCPREFIX ] + "gcc" ) }, "mingw" },;
{ {|| FindInPath( "gcc-dw2" ) }, "mingw", "", "-dw2" },;
{ {|| FindInPath( hbmk[ _HBMK_cCCPREFIX ] + "gcc" + hbmk[ _HBMK_cCCPOSTFIX ] ) }, "mingw" },;
{ {|| iif( ! Empty( GetEnv( "WATCOM" ) ),;
FindInPath( "wpp386" ),;
NIL ) }, "watcom" },;
@@ -1051,7 +1053,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause )
l_aLIBSYSMISC := { "winspool", "comctl32", "comdlg32", "shell32", "uuid", "ole32", "oleaut32", "mpr", "winmm", "mapi32", "imm32", "msimg32", "wininet" }
CASE hbmk[ _HBMK_cPLAT ] == "wce"
#if ! defined( __PLATFORM__UNIX )
aCOMPDET := { { {|| FindInPath( hbmk[ _HBMK_cCCPREFIX ] + "gcc" ) }, "mingwarm" },;
aCOMPDET := { { {|| FindInPath( hbmk[ _HBMK_cCCPREFIX ] + "gcc" + hbmk[ _HBMK_cCCPOSTFIX ] ) }, "mingwarm" },;
{ {|| FindInPath( "clarm" ) }, "msvcarm" },;
{ {|| FindInPath( "armasm" ) }, "msvcarm" },;
{ {|| FindInPath( "pocc" ) }, "poccarm" },;
@@ -1257,6 +1259,9 @@ FUNCTION hbmk( aArgs, /* @ */ lPause )
IF Len( aCOMPDET[ tmp ] ) >= _COMPDET_cCCPREFIX
hbmk[ _HBMK_cCCPREFIX ] := aCOMPDET[ tmp ][ _COMPDET_cCCPREFIX ]
ENDIF
IF Len( aCOMPDET[ tmp ] ) >= _COMPDET_cCCPOSTFIX
hbmk[ _HBMK_cCCPOSTFIX ] := aCOMPDET[ tmp ][ _COMPDET_cCCPOSTFIX ]
ENDIF
EXIT
ELSE
IF hbmk[ _HBMK_lInfo ]