From 6983757f3fb67f8a73e756a10122ad42c434d098 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Wed, 9 Sep 2009 07:16:21 +0000 Subject: [PATCH] 2009-09-09 09:15 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * config/darwin/clang.mk + Disable -c option to avoid warnings when --analyze user option is used. * utils/hbmk2/hbmk2.prg ! Implemented fix from hbmk script for shared mingw targets in GUI mode. * bin/hb-func.sh ! Synced wce .dll name with rest of Harbour. --- harbour/ChangeLog | 11 +++++++++++ harbour/bin/hb-func.sh | 2 +- harbour/config/darwin/clang.mk | 6 +++++- harbour/utils/hbmk2/hbmk2.prg | 21 ++++++++++++++++++--- 4 files changed, 35 insertions(+), 5 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index dcccfe9509..db46e10c4d 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,16 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-09-09 09:15 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * config/darwin/clang.mk + + Disable -c option to avoid warnings when --analyze user option is used. + + * utils/hbmk2/hbmk2.prg + ! Implemented fix from hbmk script for shared mingw targets in GUI mode. + + * bin/hb-func.sh + ! Synced wce .dll name with rest of Harbour. + 2009-09-09 02:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * updated hb* script to work with import library and new @@ -31,6 +41,7 @@ hbmk2 tst.prg -shared -gtwvt -mwindows ./tst.exe -> Unrecoverable error 10001: It's not a GUI program + [DONE] 2009-09-08 23:23 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * utils/hbmk2/hbmk2.prg diff --git a/harbour/bin/hb-func.sh b/harbour/bin/hb-func.sh index cc28f65a5d..d4f768d454 100755 --- a/harbour/bin/hb-func.sh +++ b/harbour/bin/hb-func.sh @@ -74,7 +74,7 @@ get_hbver_so() if [ "${HB_COMPILER}" = "mingw64" ]; then hb_ver="${hb_ver}-x64" elif [ "${HB_COMPILER}" = "mingwarm" ]; then - hb_ver="${hb_ver}-arm" + hb_ver="${hb_ver}-wce-arm" fi else hb_ver=`get_hbver "${hb_rootdir}"` diff --git a/harbour/config/darwin/clang.mk b/harbour/config/darwin/clang.mk index e18b7d61cb..fab2b69fb6 100644 --- a/harbour/config/darwin/clang.mk +++ b/harbour/config/darwin/clang.mk @@ -14,7 +14,11 @@ LIB_PREF := lib LIB_EXT := .a CC := $(HB_CCACHE) $(HB_CCPREFIX)$(HB_CMP)$(HB_CCPOSTFIX) -CC_IN := -c +ifneq ($(filter --analyze, $(HB_USER_CFLAGS)),) + CC_IN := +else + CC_IN := -c +endif # NOTE: The ending space after -o is important, please preserve it. # Now solved with '$(subst x,x, )' expression. CC_OUT := -o$(subst x,x, ) diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index 0784ca865d..82b7f3fb61 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -544,6 +544,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) LOCAL l_cHBPOSTFIX := "" LOCAL l_lNOHBLIB := .F. LOCAL l_lLIBSYSMISC := .T. + LOCAL l_cCMAIN := NIL /* hbmk2 lib ordering tries to satisfy linkers which require this (mingw*, linux/gcc, bsd/gcc and dos/djgpp), but this won't solve @@ -2269,6 +2270,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) IF !( hbmk[ _HBMK_cPLAT ] == "wce" ) IF hbmk[ _HBMK_lGUI ] AAdd( hbmk[ _HBMK_aOPTL ], "-mwindows" ) + l_cCMAIN := "hb_forceLinkMainWin" ELSE AAdd( hbmk[ _HBMK_aOPTL ], "-mconsole" ) ENDIF @@ -2316,7 +2318,11 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) "harbour" + cDL_Version_Alter ) } ENDCASE - l_aLIBSHAREDPOST := { "hbmainstd", "hbmainwin" } + IF hbmk[ _HBMK_lGUI ] + l_aLIBSHAREDPOST := { "hbmainwin" } + ELSE + l_aLIBSHAREDPOST := { "hbmainstd" } + ENDIF IF hbmk[ _HBMK_cCOMP ] $ "mingw|mingw64|mingwarm" cBin_Res := hbmk[ _HBMK_cCCPREFIX ] + "windres" + cCCEXT @@ -3323,7 +3329,8 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) IF ! lStopAfterCComp .AND. ; ( l_cMAIN != NIL .OR. ; ! Empty( hbmk[ _HBMK_aLIBUSERGT ] ) .OR. ; - hbmk[ _HBMK_cGT ] != NIL ) + hbmk[ _HBMK_cGT ] != NIL ) .OR. ; + l_cCMAIN != NIL l_cCSTUB := DirAddPathSep( cWorkDir ) + "_hbmkaut.c" @@ -3368,14 +3375,22 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) '/* You can safely delete it. */' + Chr( 10 ) +; '' + Chr( 10 ) +; '#include "hbapi.h"' + Chr( 10 ) - IF ! Empty( array ) + IF ! Empty( array ) .OR. l_cCMAIN != NIL AEval( array, {|tmp, i| array[ i ] := FuncNameEncode( tmp ) } ) cFile += '' + Chr( 10 ) AEval( array, {|tmp| cFile += 'HB_FUNC_EXTERN( ' + tmp + ' );' + Chr( 10 ) } ) + IF l_cCMAIN != NIL + cFile += '' + Chr( 10 ) + cFile += 'HB_EXTERN_C void ' + l_cCMAIN + '( void );' + Chr( 10 ) + ENDIF cFile += '' + Chr( 10 ) cFile += 'void _hb_lnk_ForceLink_hbmk( void )' + Chr( 10 ) cFile += '{' + Chr( 10 ) AEval( array, {|tmp| cFile += ' HB_FUNC_EXEC( ' + tmp + ' );' + Chr( 10 ) } ) + IF l_cCMAIN != NIL + cFile += '' + Chr( 10 ) + cFile += ' ' + l_cCMAIN + '();' + Chr( 10 ) + ENDIF cFile += '}' + Chr( 10 ) cFile += '' + Chr( 10 ) ENDIF