From d2f2bc6fe31bb082ee3b0aafa5e501c903e1293b Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Thu, 5 Aug 2010 06:42:48 +0000 Subject: [PATCH] 2010-08-05 08:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * config/hbextern.hbs % Synced extern extractor regex queries between compilers. + Added NOTE that non-gcc extractors don't support dynamic lib as input, so they cannot be used to generate core .hbx files. * contrib/make.hbs % Deleted unused code that's really not needed anymore. --- harbour/ChangeLog | 9 +++++++++ harbour/config/hbextern.hbs | 14 ++++++-------- harbour/contrib/make.hbs | 11 ----------- 3 files changed, 15 insertions(+), 19 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 320be5edac..8ebc694f94 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,15 @@ The license applies to all entries newer than 2009-04-28. */ +2010-08-05 08:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * config/hbextern.hbs + % Synced extern extractor regex queries between compilers. + + Added NOTE that non-gcc extractors don't support dynamic lib + as input, so they cannot be used to generate core .hbx files. + + * contrib/make.hbs + % Deleted unused code that's really not needed anymore. + 2010-08-05 07:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * config/hbextern.hbs + Added HB_REBUILD_EXTERN support for msvc, pocc, watcom and bcc diff --git a/harbour/config/hbextern.hbs b/harbour/config/hbextern.hbs index c8e62c7a3c..2b1c4faac2 100644 --- a/harbour/config/hbextern.hbs +++ b/harbour/config/hbextern.hbs @@ -46,25 +46,23 @@ STATIC FUNCTION __hb_extern_get_list( cInputName ) LOCAL tmp LOCAL cCommand - LOCAL cRegex + LOCAL cRegex := "[[:space:]]_?HB_FUN_([A-Z0-9_]*)[[:space:]]" + /* NOTE: non-gcc extractor configs don't support dynamic libs as input. */ DO CASE - CASE "|" + GetEnv( "HB_COMPILER" ) $ "|gcc|mingw|mingw64|cygwin|djgpp" + CASE "|" + GetEnv( "HB_COMPILER" ) + "|" $ "|gcc|mingw|mingw64|cygwin|djgpp|" cCommand := "nm -g" + iif( GetEnv( "HB_PLATFORM" ) == "darwin", "", " --defined-only -C" ) + " {I}" - cRegex := "[[:blank:]]HB_FUN_(.*)[[:space:]]" - CASE "|" + GetEnv( "HB_COMPILER" ) $ "|msvc|msvc64|pocc|pocc64" - IF "|" + GetEnv( "HB_COMPILER" ) $ "|msvc|msvc64" + CASE "|" + GetEnv( "HB_COMPILER" ) + "|" $ "|msvc|msvc64|pocc|pocc64|" + IF "|" + GetEnv( "HB_COMPILER" ) + "|" $ "|msvc|msvc64|" cCommand := "dumpbin -symbols {I}" ELSE cCommand := "podump -symbols {I}" ENDIF - cRegex := "SECT[0-9A-Z][0-9A-Z ].*[Ee]xternal.*_?HB_FUN_(.*)[[:space:]]" + cRegex := "SECT[0-9A-Z][0-9A-Z ].*[Ee]xternal.*_?HB_FUN_([A-Z0-9_]*)[[:space:]]" CASE GetEnv( "HB_COMPILER" ) == "watcom" cCommand := "wlib {I}" - cRegex := "[[:space:]]_?HB_FUN_([A-Z0-9_]*)[[:space:]]" CASE GetEnv( "HB_COMPILER" ) == "bcc" cCommand := "tlib {I}, {T}" - cRegex := "[[:space:]]_?HB_FUN_([A-Z0-9_]*)" ENDCASE IF ! Empty( cCommand ) .AND. ; diff --git a/harbour/contrib/make.hbs b/harbour/contrib/make.hbs index 33a7dce224..c3fef164ad 100755 --- a/harbour/contrib/make.hbs +++ b/harbour/contrib/make.hbs @@ -467,7 +467,6 @@ STATIC FUNCTION call_hbmk2_hbinfo( cProjectPath, hProject ) IF ! Empty( tmp ) hb_FNameSplit( LTrim( tmp ), @cDir, @cName ) AAdd( hProject[ "aDept" ], { "nDepth" => Len( tmp ) - Len( LTrim( tmp ) ),; - "cFileName_HBC" => LTrim( tmp ),; "cFileName_HBP" => StrTran( PathNormalize( PathMakeAbsolute( FNameExtSet( PathSepToSelf( LTrim( tmp ) ), ".hbp" ), s_cRebase ) ), "\", "/" ) } ) ENDIF NEXT @@ -497,16 +496,6 @@ STATIC FUNCTION hbmk2_hbinfo_getitem( cString, cItem, lAll ) RETURN cRetVal -STATIC FUNCTION DepListToStr( aDeptHBC ) - LOCAL cOptionsLibDyn := "" - LOCAL hDept - - FOR EACH hDept IN aDeptHBC - cOptionsLibDyn += " " + hDept[ "cFileName_HBC" ] - NEXT - - RETURN cOptionsLibDyn - STATIC FUNCTION call_hbmk2( cProjectPath, cOptionsPre, lLibDyn, cStdErr, cStdOut ) LOCAL nErrorLevel LOCAL cOptionsLibDyn := ""