2010-07-21 20:37 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/stuff.c
! Fixed GPF in STUFF() when HB_SIZE is signed value.
(HB_SIZE_SIGNED mode)
* contrib/make.hbs
% Normalized some dirs to give cleaner and shorter output.
+ Shows HB_BUILD_CONTRIBS value.
! Fixed to only generate doc once for multi-hbp packages (HBQT f.e.).
% Internal cleanups.
* contrib/hbqt/hbmk2_plugin_qt.hbs
+ Honor HB_WITH_QT also on OS/2.
* Internal. Feedback is still not perfect.
* utils/hbmk2/hbmk2.prg
+ Normalize implib source dirs, -o dirs, -workdir dirs.
+ Implibs automatically generated for dependencies are now put
in the 'implib' install target category, so they can be controlled
separately.
* contrib/hbpost.hbm
! Fixed to only install new automatic implibs when HB_BUILD_IMPLIB=yes.
; TODO: Rename this setting to HB_INSTALL_IMPLIB (or some better
name). Now implib are always made, this setting only controls
whether to install them (f.e. we don't want to install them
when creating package for distribution).
- Deleted stuff belonging to stdalone -hbimplib targets. This
method is deprecated inside contrib area.
* config/global.mk
- Do not show HB_CONTRIBLIBS value anymore.
This commit is contained in:
@@ -16,6 +16,39 @@
|
||||
The license applies to all entries newer than 2009-04-28.
|
||||
*/
|
||||
|
||||
2010-07-21 20:37 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* src/rtl/stuff.c
|
||||
! Fixed GPF in STUFF() when HB_SIZE is signed value.
|
||||
(HB_SIZE_SIGNED mode)
|
||||
|
||||
* contrib/make.hbs
|
||||
% Normalized some dirs to give cleaner and shorter output.
|
||||
+ Shows HB_BUILD_CONTRIBS value.
|
||||
! Fixed to only generate doc once for multi-hbp packages (HBQT f.e.).
|
||||
% Internal cleanups.
|
||||
|
||||
* contrib/hbqt/hbmk2_plugin_qt.hbs
|
||||
+ Honor HB_WITH_QT also on OS/2.
|
||||
* Internal. Feedback is still not perfect.
|
||||
|
||||
* utils/hbmk2/hbmk2.prg
|
||||
+ Normalize implib source dirs, -o dirs, -workdir dirs.
|
||||
+ Implibs automatically generated for dependencies are now put
|
||||
in the 'implib' install target category, so they can be controlled
|
||||
separately.
|
||||
|
||||
* contrib/hbpost.hbm
|
||||
! Fixed to only install new automatic implibs when HB_BUILD_IMPLIB=yes.
|
||||
; TODO: Rename this setting to HB_INSTALL_IMPLIB (or some better
|
||||
name). Now implib are always made, this setting only controls
|
||||
whether to install them (f.e. we don't want to install them
|
||||
when creating package for distribution).
|
||||
- Deleted stuff belonging to stdalone -hbimplib targets. This
|
||||
method is deprecated inside contrib area.
|
||||
|
||||
* config/global.mk
|
||||
- Do not show HB_CONTRIBLIBS value anymore.
|
||||
|
||||
2010-07-21 16:14 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* contrib/hbblat/hbblat.hbp
|
||||
! Added missed flag for bcc. (was there in .hbi)
|
||||
|
||||
@@ -302,12 +302,6 @@ ifeq ($(HB_INIT_DONE),)
|
||||
ifneq ($(HB_BUILD_PARTS),)
|
||||
$(info ! HB_BUILD_PARTS: $(HB_BUILD_PARTS))
|
||||
endif
|
||||
ifneq ($(HB_CONTRIBLIBS),)
|
||||
$(info ! HB_CONTRIBLIBS: $(HB_CONTRIBLIBS))
|
||||
endif
|
||||
ifneq ($(HB_CONTRIB_ADDONS),)
|
||||
$(info ! HB_CONTRIB_ADDONS: $(HB_CONTRIB_ADDONS))
|
||||
endif
|
||||
ifneq ($(HB_EXTERNALLIBS),)
|
||||
$(info ! HB_EXTERNALLIBS: $(HB_EXTERNALLIBS))
|
||||
endif
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
# These are mandatory in Harbour SVN, they will always
|
||||
# override project options.
|
||||
|
||||
"{HB_BUILD_PARTS='lib'&!(hbimplib|hblib)}-stop=! Skipped because HB_BUILD_PARTS=lib"
|
||||
"{HB_BUILD_PARTS='lib'&!hblib}-stop=! Skipped because HB_BUILD_PARTS=lib"
|
||||
|
||||
-prgflag=-w3
|
||||
-prgflag=-es2
|
||||
@@ -36,13 +36,14 @@
|
||||
|
||||
{(hbdyn|hbexe)&HB_BUILD_SHARED='yes'}-shared
|
||||
|
||||
{hblib|hbimplib}-o../lib/${hb_plat}/${hb_comp}${hb_build}/
|
||||
{hblib}-o../lib/${hb_plat}/${hb_comp}${hb_build}/
|
||||
{hbexe|hbdyn}-o../bin/${hb_plat}/${hb_comp}${hb_build}/
|
||||
|
||||
{hblib|hbimplib}-workdir=../lib/${hb_plat}/${hb_comp}${hb_build}/${hb_work}/${hb_outputname}${hb_workdynsub}
|
||||
{hblib}-workdir=../lib/${hb_plat}/${hb_comp}${hb_build}/${hb_work}/${hb_outputname}${hb_workdynsub}
|
||||
{hbexe|hbdyn}-workdir=../bin/${hb_plat}/${hb_comp}${hb_build}/${hb_work}/${hb_outputname}${hb_workdynsub}
|
||||
|
||||
{_HB_BUILD_INSTALL&(hblib|(hbimplib&HB_BUILD_IMPLIB='yes'))}-instpath=${_HB_LIB_INSTALL}/
|
||||
{_HB_BUILD_INSTALL&hblib}-instpath=${_HB_LIB_INSTALL}/
|
||||
{_HB_BUILD_INSTALL&hbexe}-instpath=${_HB_BIN_INSTALL}/
|
||||
{_HB_BUILD_INSTALL&hbdyn}-instpath=${_HB_DYN_INSTALL}/
|
||||
{_HB_BUILD_INSTALL&hblib}-instpath=inc:${_HB_INC_INSTALL}/
|
||||
{_HB_BUILD_INSTALL&HB_BUILD_IMPLIB='yes'}-instpath=implib:${_HB_LIB_INSTALL}/
|
||||
|
||||
@@ -135,122 +135,126 @@ FUNCTION hbmk2_plugin_qt( hbmk2 )
|
||||
CASE "pre_prg"
|
||||
|
||||
IF ! hbmk2[ "lCLEAN" ] .AND. ;
|
||||
! Empty( hbmk2[ "vars" ][ "aQRC_Src" ] ) .AND. ;
|
||||
! Empty( hbmk2[ "vars" ][ "cRCC_BIN" ] )
|
||||
! Empty( hbmk2[ "vars" ][ "aQRC_Src" ] )
|
||||
|
||||
/* Execute 'rcc' commands on input files */
|
||||
IF ! Empty( hbmk2[ "vars" ][ "cRCC_BIN" ] )
|
||||
|
||||
FOR EACH cSrc, cDst, cPRG IN hbmk2[ "vars" ][ "aQRC_Src" ], hbmk2[ "vars" ][ "aQRC_Dst" ], hbmk2[ "vars" ][ "aQRC_PRG" ]
|
||||
/* Execute 'rcc' commands on input files */
|
||||
|
||||
IF hbmk2[ "lINC" ] .AND. ! hbmk2[ "lREBUILD" ]
|
||||
lBuildIt := ! hb_FGetDateTime( cDst, @tDst ) .OR. ;
|
||||
! hb_FGetDateTime( cSrc, @tSrc ) .OR. ;
|
||||
tSrc > tDst
|
||||
ELSE
|
||||
lBuildIt := .T.
|
||||
ENDIF
|
||||
FOR EACH cSrc, cDst, cPRG IN hbmk2[ "vars" ][ "aQRC_Src" ], hbmk2[ "vars" ][ "aQRC_Dst" ], hbmk2[ "vars" ][ "aQRC_PRG" ]
|
||||
|
||||
IF lBuildIt
|
||||
|
||||
cCommand := hbmk2[ "vars" ][ "cRCC_BIN" ] +;
|
||||
" -binary" +;
|
||||
" " + hbmk2_FNameEscape( hbmk2_PathSepToTarget( hbmk2, cSrc ), hbmk2[ "nCmd_Esc" ], hbmk2[ "nCmd_FNF" ] ) +;
|
||||
" -o " + hbmk2_FNameEscape( hbmk2_PathSepToTarget( hbmk2, cDst ), hbmk2[ "nCmd_Esc" ], hbmk2[ "nCmd_FNF" ] )
|
||||
|
||||
IF hbmk2[ "lTRACE" ]
|
||||
IF ! hbmk2[ "lQUIET" ]
|
||||
hbmk2_OutStd( hbmk2, I_( "'rcc' command:" ) )
|
||||
ENDIF
|
||||
hbmk2_OutStdRaw( cCommand )
|
||||
IF hbmk2[ "lINC" ] .AND. ! hbmk2[ "lREBUILD" ]
|
||||
lBuildIt := ! hb_FGetDateTime( cDst, @tDst ) .OR. ;
|
||||
! hb_FGetDateTime( cSrc, @tSrc ) .OR. ;
|
||||
tSrc > tDst
|
||||
ELSE
|
||||
lBuildIt := .T.
|
||||
ENDIF
|
||||
|
||||
IF ! hbmk2[ "lDONTEXEC" ]
|
||||
IF ( nError := hb_processRun( cCommand ) ) != 0
|
||||
hbmk2_OutErr( hbmk2, hb_StrFormat( I_( "Error: Running 'rcc' executable. %1$s" ), hb_ntos( nError ) ) )
|
||||
IF ! hbmk2[ "lQUIET" ]
|
||||
hbmk2_OutErrRaw( cCommand )
|
||||
ENDIF
|
||||
IF ! hbmk2[ "lIGNOREERROR" ]
|
||||
cRetVal := "error"
|
||||
EXIT
|
||||
ENDIF
|
||||
ELSE
|
||||
/* Create little .prg stub which includes the binary */
|
||||
cTmp := "/* WARNING: Automatically generated source file. DO NOT EDIT! */" + hb_eol() +;
|
||||
hb_eol() +;
|
||||
"#pragma -km+" + hb_eol() +;
|
||||
hb_eol() +;
|
||||
"FUNCTION hbqtres_" + hbmk2_FNameToSymbol( hbmk2_FNameNameGet( cSrc ) ) + "()" + hb_eol() +;
|
||||
" #pragma __binarystreaminclude " + Chr( 34 ) + hbmk2_FNameNameExtGet( cDst ) + Chr( 34 ) + "|RETURN %s" + hb_eol()
|
||||
IF lBuildIt
|
||||
|
||||
IF ! hb_MemoWrit( cPRG, cTmp )
|
||||
hbmk2_OutErr( hbmk2, hb_StrFormat( "Error: Cannot create file: %1$s", cPRG ) )
|
||||
cCommand := hbmk2[ "vars" ][ "cRCC_BIN" ] +;
|
||||
" -binary" +;
|
||||
" " + hbmk2_FNameEscape( hbmk2_PathSepToTarget( hbmk2, cSrc ), hbmk2[ "nCmd_Esc" ], hbmk2[ "nCmd_FNF" ] ) +;
|
||||
" -o " + hbmk2_FNameEscape( hbmk2_PathSepToTarget( hbmk2, cDst ), hbmk2[ "nCmd_Esc" ], hbmk2[ "nCmd_FNF" ] )
|
||||
|
||||
IF hbmk2[ "lTRACE" ]
|
||||
IF ! hbmk2[ "lQUIET" ]
|
||||
hbmk2_OutStd( hbmk2, I_( "'rcc' command:" ) )
|
||||
ENDIF
|
||||
hbmk2_OutStdRaw( cCommand )
|
||||
ENDIF
|
||||
|
||||
IF ! hbmk2[ "lDONTEXEC" ]
|
||||
IF ( nError := hb_processRun( cCommand ) ) != 0
|
||||
hbmk2_OutErr( hbmk2, hb_StrFormat( I_( "Error: Running 'rcc' executable. %1$s" ), hb_ntos( nError ) ) )
|
||||
IF ! hbmk2[ "lQUIET" ]
|
||||
hbmk2_OutErrRaw( cCommand )
|
||||
ENDIF
|
||||
IF ! hbmk2[ "lIGNOREERROR" ]
|
||||
cRetVal := "error"
|
||||
EXIT
|
||||
ENDIF
|
||||
ELSE
|
||||
/* Create little .prg stub which includes the binary */
|
||||
cTmp := "/* WARNING: Automatically generated source file. DO NOT EDIT! */" + hb_eol() +;
|
||||
hb_eol() +;
|
||||
"#pragma -km+" + hb_eol() +;
|
||||
hb_eol() +;
|
||||
"FUNCTION hbqtres_" + hbmk2_FNameToSymbol( hbmk2_FNameNameGet( cSrc ) ) + "()" + hb_eol() +;
|
||||
" #pragma __binarystreaminclude " + Chr( 34 ) + hbmk2_FNameNameExtGet( cDst ) + Chr( 34 ) + "|RETURN %s" + hb_eol()
|
||||
|
||||
IF ! hb_MemoWrit( cPRG, cTmp )
|
||||
hbmk2_OutErr( hbmk2, hb_StrFormat( "Error: Cannot create file: %1$s", cPRG ) )
|
||||
IF ! hbmk2[ "lIGNOREERROR" ]
|
||||
cRetVal := "error"
|
||||
EXIT
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
NEXT
|
||||
NEXT
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF ! hbmk2[ "lCLEAN" ] .AND. ;
|
||||
! Empty( hbmk2[ "vars" ][ "aUIC_Src" ] ) .AND. ;
|
||||
! Empty( hbmk2[ "vars" ][ "cUIC_BIN" ] )
|
||||
! Empty( hbmk2[ "vars" ][ "aUIC_Src" ] )
|
||||
|
||||
/* Execute 'uic' commands on input files */
|
||||
IF ! Empty( hbmk2[ "vars" ][ "cUIC_BIN" ] )
|
||||
|
||||
FOR EACH cSrc, cDst IN hbmk2[ "vars" ][ "aUIC_Src" ], hbmk2[ "vars" ][ "aUIC_Dst" ]
|
||||
/* Execute 'uic' commands on input files */
|
||||
|
||||
IF hbmk2[ "lINC" ] .AND. ! hbmk2[ "lREBUILD" ]
|
||||
lBuildIt := ! hb_FGetDateTime( cDst, @tDst ) .OR. ;
|
||||
! hb_FGetDateTime( cSrc, @tSrc ) .OR. ;
|
||||
tSrc > tDst
|
||||
ELSE
|
||||
lBuildIt := .T.
|
||||
ENDIF
|
||||
FOR EACH cSrc, cDst IN hbmk2[ "vars" ][ "aUIC_Src" ], hbmk2[ "vars" ][ "aUIC_Dst" ]
|
||||
|
||||
IF lBuildIt
|
||||
|
||||
FClose( hb_FTempCreateEx( @cTmp ) )
|
||||
|
||||
cCommand := hbmk2[ "vars" ][ "cUIC_BIN" ] +;
|
||||
" " + hbmk2_FNameEscape( hbmk2_PathSepToTarget( hbmk2, cSrc ), hbmk2[ "nCmd_Esc" ], hbmk2[ "nCmd_FNF" ] ) +;
|
||||
" -o " + hbmk2_FNameEscape( cTmp, hbmk2[ "nCmd_Esc" ], hbmk2[ "nCmd_FNF" ] )
|
||||
|
||||
IF hbmk2[ "lTRACE" ]
|
||||
IF ! hbmk2[ "lQUIET" ]
|
||||
hbmk2_OutStd( hbmk2, I_( "'uic' command:" ) )
|
||||
ENDIF
|
||||
hbmk2_OutStdRaw( cCommand )
|
||||
IF hbmk2[ "lINC" ] .AND. ! hbmk2[ "lREBUILD" ]
|
||||
lBuildIt := ! hb_FGetDateTime( cDst, @tDst ) .OR. ;
|
||||
! hb_FGetDateTime( cSrc, @tSrc ) .OR. ;
|
||||
tSrc > tDst
|
||||
ELSE
|
||||
lBuildIt := .T.
|
||||
ENDIF
|
||||
|
||||
IF ! hbmk2[ "lDONTEXEC" ]
|
||||
IF ( nError := hb_processRun( cCommand ) ) != 0
|
||||
hbmk2_OutErr( hbmk2, hb_StrFormat( I_( "Error: Running 'uic' executable. %1$s" ), hb_ntos( nError ) ) )
|
||||
IF lBuildIt
|
||||
|
||||
FClose( hb_FTempCreateEx( @cTmp ) )
|
||||
|
||||
cCommand := hbmk2[ "vars" ][ "cUIC_BIN" ] +;
|
||||
" " + hbmk2_FNameEscape( hbmk2_PathSepToTarget( hbmk2, cSrc ), hbmk2[ "nCmd_Esc" ], hbmk2[ "nCmd_FNF" ] ) +;
|
||||
" -o " + hbmk2_FNameEscape( cTmp, hbmk2[ "nCmd_Esc" ], hbmk2[ "nCmd_FNF" ] )
|
||||
|
||||
IF hbmk2[ "lTRACE" ]
|
||||
IF ! hbmk2[ "lQUIET" ]
|
||||
hbmk2_OutErrRaw( cCommand )
|
||||
hbmk2_OutStd( hbmk2, I_( "'uic' command:" ) )
|
||||
ENDIF
|
||||
IF ! hbmk2[ "lIGNOREERROR" ]
|
||||
FErase( cTmp )
|
||||
cRetVal := "error"
|
||||
EXIT
|
||||
ENDIF
|
||||
ELSE
|
||||
IF ! uic_to_prg( hbmk2, cTmp, cDst, hbmk2_FNameToSymbol( hbmk2_FNameNameGet( cSrc ) ) )
|
||||
hbmk2_OutStdRaw( cCommand )
|
||||
ENDIF
|
||||
|
||||
IF ! hbmk2[ "lDONTEXEC" ]
|
||||
IF ( nError := hb_processRun( cCommand ) ) != 0
|
||||
hbmk2_OutErr( hbmk2, hb_StrFormat( I_( "Error: Running 'uic' executable. %1$s" ), hb_ntos( nError ) ) )
|
||||
IF ! hbmk2[ "lQUIET" ]
|
||||
hbmk2_OutErrRaw( cCommand )
|
||||
ENDIF
|
||||
IF ! hbmk2[ "lIGNOREERROR" ]
|
||||
FErase( cTmp )
|
||||
cRetVal := "error"
|
||||
EXIT
|
||||
ENDIF
|
||||
ELSE
|
||||
IF ! uic_to_prg( hbmk2, cTmp, cDst, hbmk2_FNameToSymbol( hbmk2_FNameNameGet( cSrc ) ) )
|
||||
IF ! hbmk2[ "lIGNOREERROR" ]
|
||||
FErase( cTmp )
|
||||
cRetVal := "error"
|
||||
EXIT
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
FErase( cTmp )
|
||||
ENDIF
|
||||
FErase( cTmp )
|
||||
ENDIF
|
||||
NEXT
|
||||
NEXT
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
EXIT
|
||||
@@ -258,46 +262,48 @@ FUNCTION hbmk2_plugin_qt( hbmk2 )
|
||||
CASE "pre_c"
|
||||
|
||||
IF ! hbmk2[ "lCLEAN" ] .AND. ;
|
||||
! Empty( hbmk2[ "vars" ][ "aMOC_Src" ] ) .AND. ;
|
||||
! Empty( hbmk2[ "vars" ][ "cMOC_BIN" ] )
|
||||
! Empty( hbmk2[ "vars" ][ "aMOC_Src" ] )
|
||||
|
||||
/* Execute 'moc' commands on input files */
|
||||
IF ! Empty( hbmk2[ "vars" ][ "cMOC_BIN" ] )
|
||||
|
||||
FOR EACH cSrc, cDst IN hbmk2[ "vars" ][ "aMOC_Src" ], hbmk2[ "vars" ][ "aMOC_Dst" ]
|
||||
/* Execute 'moc' commands on input files */
|
||||
|
||||
IF hbmk2[ "lINC" ] .AND. ! hbmk2[ "lREBUILD" ]
|
||||
lBuildIt := ! hb_FGetDateTime( cDst, @tDst ) .OR. ;
|
||||
! hb_FGetDateTime( cSrc, @tSrc ) .OR. ;
|
||||
tSrc > tDst
|
||||
ELSE
|
||||
lBuildIt := .T.
|
||||
ENDIF
|
||||
FOR EACH cSrc, cDst IN hbmk2[ "vars" ][ "aMOC_Src" ], hbmk2[ "vars" ][ "aMOC_Dst" ]
|
||||
|
||||
IF lBuildIt
|
||||
|
||||
cCommand := hbmk2[ "vars" ][ "cMOC_BIN" ] +;
|
||||
" " + hbmk2_FNameEscape( hbmk2_PathSepToTarget( hbmk2, cSrc ), hbmk2[ "nCmd_Esc" ], hbmk2[ "nCmd_FNF" ] ) +;
|
||||
" -o " + hbmk2_FNameEscape( hbmk2_PathSepToTarget( hbmk2, cDst ), hbmk2[ "nCmd_Esc" ], hbmk2[ "nCmd_FNF" ] )
|
||||
|
||||
IF hbmk2[ "lTRACE" ]
|
||||
IF ! hbmk2[ "lQUIET" ]
|
||||
hbmk2_OutStd( hbmk2, I_( "'moc' command:" ) )
|
||||
ENDIF
|
||||
hbmk2_OutStdRaw( cCommand )
|
||||
IF hbmk2[ "lINC" ] .AND. ! hbmk2[ "lREBUILD" ]
|
||||
lBuildIt := ! hb_FGetDateTime( cDst, @tDst ) .OR. ;
|
||||
! hb_FGetDateTime( cSrc, @tSrc ) .OR. ;
|
||||
tSrc > tDst
|
||||
ELSE
|
||||
lBuildIt := .T.
|
||||
ENDIF
|
||||
|
||||
IF ! hbmk2[ "lDONTEXEC" ] .AND. ( nError := hb_processRun( cCommand ) ) != 0
|
||||
hbmk2_OutErr( hbmk2, hb_StrFormat( I_( "Error: Running 'moc' executable. %1$s" ), hb_ntos( nError ) ) )
|
||||
IF ! hbmk2[ "lQUIET" ]
|
||||
hbmk2_OutErrRaw( cCommand )
|
||||
IF lBuildIt
|
||||
|
||||
cCommand := hbmk2[ "vars" ][ "cMOC_BIN" ] +;
|
||||
" " + hbmk2_FNameEscape( hbmk2_PathSepToTarget( hbmk2, cSrc ), hbmk2[ "nCmd_Esc" ], hbmk2[ "nCmd_FNF" ] ) +;
|
||||
" -o " + hbmk2_FNameEscape( hbmk2_PathSepToTarget( hbmk2, cDst ), hbmk2[ "nCmd_Esc" ], hbmk2[ "nCmd_FNF" ] )
|
||||
|
||||
IF hbmk2[ "lTRACE" ]
|
||||
IF ! hbmk2[ "lQUIET" ]
|
||||
hbmk2_OutStd( hbmk2, I_( "'moc' command:" ) )
|
||||
ENDIF
|
||||
hbmk2_OutStdRaw( cCommand )
|
||||
ENDIF
|
||||
IF ! hbmk2[ "lIGNOREERROR" ]
|
||||
cRetVal := "error"
|
||||
EXIT
|
||||
|
||||
IF ! hbmk2[ "lDONTEXEC" ] .AND. ( nError := hb_processRun( cCommand ) ) != 0
|
||||
hbmk2_OutErr( hbmk2, hb_StrFormat( I_( "Error: Running 'moc' executable. %1$s" ), hb_ntos( nError ) ) )
|
||||
IF ! hbmk2[ "lQUIET" ]
|
||||
hbmk2_OutErrRaw( cCommand )
|
||||
ENDIF
|
||||
IF ! hbmk2[ "lIGNOREERROR" ]
|
||||
cRetVal := "error"
|
||||
EXIT
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
NEXT
|
||||
NEXT
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
EXIT
|
||||
@@ -334,7 +340,7 @@ STATIC FUNCTION qt_tool_detect( hbmk2, cName, cEnvQT, cEnvHB )
|
||||
! hb_FileExists( cBIN := GetEnv( "HB_QTPATH" ) + cName )
|
||||
|
||||
cBIN := ""
|
||||
IF hbmk2[ "cPLAT" ] == "win"
|
||||
IF hbmk2[ "cPLAT" ] $ "win|os2"
|
||||
|
||||
hb_AIns( aEnvList, 1, "HB_WITH_QT", .T. )
|
||||
|
||||
@@ -342,7 +348,7 @@ STATIC FUNCTION qt_tool_detect( hbmk2, cName, cEnvQT, cEnvHB )
|
||||
|
||||
IF GetEnv( "HB_WITH_QT" ) == "no"
|
||||
/* Return silently. It shall fail at dependency detection inside hbmk2 */
|
||||
RETURN ""
|
||||
RETURN NIL
|
||||
ELSE
|
||||
IF ! hb_FileExists( cBIN := hbmk2_PathNormalize( GetEnv( "HB_WITH_QT" ) + "\..\bin\" + cName + ".exe" ) )
|
||||
hbmk2_OutErr( hbmk2, hb_StrFormat( "Warning: HB_WITH_QT points to incomplete QT installation. '%1$s' executable not found.", cName ) )
|
||||
|
||||
@@ -179,7 +179,6 @@ PROCEDURE Standalone( ... )
|
||||
|
||||
LOCAL cBinDir
|
||||
LOCAL hProject
|
||||
LOCAL cProject
|
||||
LOCAL cDir
|
||||
|
||||
LOCAL cOptions
|
||||
@@ -258,7 +257,7 @@ PROCEDURE Standalone( ... )
|
||||
aPairList := {}
|
||||
|
||||
FOR EACH hProject IN s_hPackageList[ "." ]
|
||||
call_hbmk2_hbinfo( cBinDir, s_cBase + "." + "/" + hProject[ "cFileName" ], hProject )
|
||||
call_hbmk2_hbinfo( cBinDir, s_cBase + hProject[ "cFileName" ], hProject )
|
||||
DeptLinesToDeptPairList( aPairList, ".", hProject[ "aDept" ] )
|
||||
NEXT
|
||||
|
||||
@@ -270,8 +269,9 @@ PROCEDURE Standalone( ... )
|
||||
IF cDir == "." .AND. hProject[ "cType" ] $ "hbhrb|hbppo"
|
||||
LOOP
|
||||
ENDIF
|
||||
cProject := s_cBase + iif( cDir == ".", "", s_cHome ) + cDir + "/" + hProject[ "cFileName" ]
|
||||
call_hbmk2( cBinDir, cProject, iif( cDir == ".", cOptions + cOptionsUser, "" ), "" )
|
||||
call_hbmk2( cBinDir,;
|
||||
s_cBase + iif( cDir == ".", "", s_cHome + cDir + "/" ) + hProject[ "cFileName" ],;
|
||||
iif( cDir == ".", cOptions + cOptionsUser, "" ), "" )
|
||||
NEXT
|
||||
NEXT
|
||||
ENDIF
|
||||
@@ -333,6 +333,10 @@ PROCEDURE GNUMake( ... )
|
||||
cFilter := GetEnv( "HB_CONTRIBLIBS" )
|
||||
ENDIF
|
||||
|
||||
IF ! Empty( cFilter )
|
||||
OutStd( "! HB_BUILD_CONTRIBS: " + cFilter + hb_eol() )
|
||||
ENDIF
|
||||
|
||||
IF cFilter == "no"
|
||||
ErrorLevel( 0 )
|
||||
RETURN
|
||||
@@ -446,19 +450,20 @@ PROCEDURE GNUMake( ... )
|
||||
OutStd( hb_StrFormat( "! Contribs %1$s...", hActions[ nAction ] ) + hb_eol() )
|
||||
|
||||
FOR EACH cDir IN aSortedList DESCEND
|
||||
FOR EACH hProject IN s_hPackageList[ cDir ]
|
||||
|
||||
cProject := s_cBase + cDir + "/" + hProject[ "cFileName" ]
|
||||
IF Empty( aFilter ) .OR. ;
|
||||
iif( lFilterNegative,;
|
||||
AScan( aFilter, {| tmp | tmp == cDir } ) == 0,;
|
||||
AScan( aFilter, {| tmp | tmp == cDir } ) > 0 )
|
||||
|
||||
IF Empty( aFilter ) .OR. ;
|
||||
iif( lFilterNegative,;
|
||||
AScan( aFilter, {| tmp | tmp == cDir } ) == 0,;
|
||||
AScan( aFilter, {| tmp | tmp == cDir } ) > 0 )
|
||||
FOR EACH hProject IN s_hPackageList[ cDir ]
|
||||
|
||||
IF hProject[ "cType" ] $ "hbhrb|hbppo"
|
||||
LOOP
|
||||
ENDIF
|
||||
|
||||
cProject := s_cBase + cDir + "/" + hProject[ "cFileName" ]
|
||||
|
||||
call_hbmk2( cBinDir, cProject, cOptions, "" )
|
||||
|
||||
/* Highly experimental */
|
||||
@@ -468,16 +473,16 @@ PROCEDURE GNUMake( ... )
|
||||
|
||||
call_hbmk2( cBinDir, cProject, cOptions, " -hbdyn -nohblib- -implib " + FNameExtSet( cProject, ".hbc" ) )
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
/* Compile documentation */
|
||||
IF nAction == _ACT_INC_INST .OR. ;
|
||||
nAction == _ACT_INC_REBUILD_INST
|
||||
mk_hbd( PathSepToSelf( cDir ) )
|
||||
ENDIF
|
||||
ELSE
|
||||
/* OutStd( hb_StrFormat( "! project '%1$s' skipped", cProject ) + hb_eol() ) */
|
||||
/* Compile documentation */
|
||||
IF nAction == _ACT_INC_INST .OR. ;
|
||||
nAction == _ACT_INC_REBUILD_INST
|
||||
mk_hbd( PathSepToSelf( cDir ) )
|
||||
ENDIF
|
||||
NEXT
|
||||
ELSE
|
||||
/* OutStd( hb_StrFormat( "! package '%1$s' skipped due to custom filter", cDir ) + hb_eol() ) */
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
OutStd( hb_eol() )
|
||||
|
||||
@@ -68,10 +68,10 @@ HB_FUNC( STUFF )
|
||||
if( nPos > 0 )
|
||||
nPos--;
|
||||
|
||||
if( nPos > nText )
|
||||
if( nPos < 0 || nPos > nText )
|
||||
nPos = nText;
|
||||
|
||||
if( nDel > nText - nPos )
|
||||
if( nDel < 0 || nDel > nText - nPos )
|
||||
nDel = nText - nPos;
|
||||
|
||||
if( ( nTotalLen = nText + nInsert - nDel ) > 0 )
|
||||
|
||||
@@ -2054,16 +2054,16 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
hb_FNameSplit( tmp, @cDir, @cName, @cExt )
|
||||
DO CASE
|
||||
CASE Empty( cDir )
|
||||
tmp := PathMakeAbsolute( tmp, aParam[ _PAR_cFileName ] )
|
||||
tmp := PathNormalize( PathMakeAbsolute( tmp, aParam[ _PAR_cFileName ] ) )
|
||||
hb_FNameSplit( tmp, @cDir, @cName, @cExt )
|
||||
IF hbmk[ _HBMK_cPROGDIR ] == NIL
|
||||
hbmk[ _HBMK_cPROGDIR ] := cDir
|
||||
ENDIF
|
||||
hbmk[ _HBMK_cPROGNAME ] := FNameNameExtGet( tmp )
|
||||
CASE ! Empty( cDir ) .AND. Empty( cName ) .AND. Empty( cExt )
|
||||
hbmk[ _HBMK_cPROGDIR ] := PathMakeAbsolute( cDir, aParam[ _PAR_cFileName ] )
|
||||
hbmk[ _HBMK_cPROGDIR ] := PathNormalize( PathMakeAbsolute( cDir, aParam[ _PAR_cFileName ] ) )
|
||||
OTHERWISE /* ! Empty( cDir ) .AND. !( Empty( cName ) .AND. Empty( cExt ) ) */
|
||||
hbmk[ _HBMK_cPROGDIR ] := PathMakeAbsolute( cDir, aParam[ _PAR_cFileName ] )
|
||||
hbmk[ _HBMK_cPROGDIR ] := PathNormalize( PathMakeAbsolute( cDir, aParam[ _PAR_cFileName ] ) )
|
||||
hbmk[ _HBMK_cPROGNAME ] := FNameNameExtGet( tmp )
|
||||
ENDCASE
|
||||
ENDIF
|
||||
@@ -2224,7 +2224,7 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
|
||||
CASE Left( cParamL, Len( "-workdir=" ) ) == "-workdir="
|
||||
|
||||
hbmk[ _HBMK_cWorkDir ] := PathMakeAbsolute( PathSepToSelf( MacroProc( hbmk, SubStr( cParam, Len( "-workdir=" ) + 1 ), aParam[ _PAR_cFileName ] ) ), aParam[ _PAR_cFileName ] )
|
||||
hbmk[ _HBMK_cWorkDir ] := PathNormalize( PathMakeAbsolute( PathSepToSelf( MacroProc( hbmk, SubStr( cParam, Len( "-workdir=" ) + 1 ), aParam[ _PAR_cFileName ] ) ), aParam[ _PAR_cFileName ] ) )
|
||||
|
||||
CASE Left( cParamL, Len( "-vcshead=" ) ) == "-vcshead="
|
||||
|
||||
@@ -4256,7 +4256,7 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
/* ; */
|
||||
|
||||
IF ! hbmk[ _HBMK_lStopAfterInit ] .AND. hbmk[ _HBMK_lCreateImpLib ] .AND. ! lDumpInfo
|
||||
DoIMPLIB( hbmk, bBlk_ImpLib, cLibLibPrefix, cLibLibExt, hbmk[ _HBMK_aIMPLIBSRC ], hbmk[ _HBMK_cPROGNAME ] )
|
||||
DoIMPLIB( hbmk, bBlk_ImpLib, cLibLibPrefix, cLibLibExt, hbmk[ _HBMK_aIMPLIBSRC ], hbmk[ _HBMK_cPROGNAME ], "" )
|
||||
hbmk[ _HBMK_lStopAfterInit ] := .T.
|
||||
ENDIF
|
||||
|
||||
@@ -4494,7 +4494,7 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
IF ! hbmk[ _HBMK_lStopAfterInit ] .AND. hbmk[ _HBMK_lDEPIMPLIB ] .AND. ISBLOCK( bBlk_ImpLib )
|
||||
FOR EACH tmp IN hbmk[ _HBMK_hDEP ]
|
||||
IF tmp[ _HBMKDEP_lFound ] .AND. ! Empty( tmp[ _HBMKDEP_aIMPLIBSRC ] )
|
||||
DoIMPLIB( hbmk, bBlk_ImpLib, cLibLibPrefix, cLibLibExt, tmp[ _HBMKDEP_aIMPLIBSRC ], tmp[ _HBMKDEP_cIMPLIBDST ] )
|
||||
DoIMPLIB( hbmk, bBlk_ImpLib, cLibLibPrefix, cLibLibExt, tmp[ _HBMKDEP_aIMPLIBSRC ], tmp[ _HBMKDEP_cIMPLIBDST ], "implib" )
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDIF
|
||||
@@ -5905,7 +5905,7 @@ STATIC PROCEDURE vxworks_env_init( hbmk )
|
||||
|
||||
RETURN
|
||||
|
||||
STATIC PROCEDURE DoIMPLIB( hbmk, bBlk_ImpLib, cLibLibPrefix, cLibLibExt, aIMPLIBSRC, cPROGNAME )
|
||||
STATIC PROCEDURE DoIMPLIB( hbmk, bBlk_ImpLib, cLibLibPrefix, cLibLibExt, aIMPLIBSRC, cPROGNAME, cInstCat )
|
||||
LOCAL cMakeImpLibDLL
|
||||
LOCAL tmp, tmp1
|
||||
LOCAL nNotFound
|
||||
@@ -5929,7 +5929,7 @@ STATIC PROCEDURE DoIMPLIB( hbmk, bBlk_ImpLib, cLibLibPrefix, cLibLibExt, aIMPLIB
|
||||
SWITCH Eval( bBlk_ImpLib, cMakeImpLibDLL, tmp, ArrayToList( hbmk[ _HBMK_aOPTI ] ) )
|
||||
CASE _HBMK_IMPLIB_OK
|
||||
hbmk_OutStd( hbmk, hb_StrFormat( I_( "Created import library: %1$s <= %2$s" ), tmp, cMakeImpLibDLL ) )
|
||||
AAddNewINST( hbmk[ _HBMK_aINSTFILE ], { "", tmp }, .T. )
|
||||
AAddNewINST( hbmk[ _HBMK_aINSTFILE ], { cInstCat, tmp }, .T. )
|
||||
EXIT
|
||||
CASE _HBMK_IMPLIB_FAILED
|
||||
hbmk_OutErr( hbmk, hb_StrFormat( I_( "Error: Failed creating import library %1$s from %2$s." ), tmp, cMakeImpLibDLL ) )
|
||||
@@ -6818,7 +6818,7 @@ STATIC FUNCTION dep_try_pkg_detection( hbmk, dep )
|
||||
hbmk[ _HBMK_hDEPTSDIR ][ cIncludeDir ] := NIL
|
||||
/* Adjust implib source names with component path */
|
||||
FOR EACH tmp IN dep[ _HBMKDEP_aIMPLIBSRC ]
|
||||
tmp := PathMakeAbsolute( tmp, DirAddPathSep( cIncludeDir ) )
|
||||
tmp := PathNormalize( PathMakeAbsolute( tmp, DirAddPathSep( cIncludeDir ) ) )
|
||||
NEXT
|
||||
ENDIF
|
||||
IF hbmk[ _HBMK_lDEBUGDEPD ]
|
||||
@@ -6854,7 +6854,7 @@ STATIC FUNCTION dep_try_header_detection( hbmk, dep )
|
||||
hbmk[ _HBMK_hDEPTSDIR ][ dep[ _HBMKDEP_cFound ] ] := NIL
|
||||
/* Adjust implib source names with component path */
|
||||
FOR EACH tmp IN dep[ _HBMKDEP_aIMPLIBSRC ]
|
||||
tmp := PathMakeAbsolute( tmp, DirAddPathSep( dep[ _HBMKDEP_cFound ] ) )
|
||||
tmp := PathNormalize( PathMakeAbsolute( tmp, DirAddPathSep( dep[ _HBMKDEP_cFound ] ) ) )
|
||||
NEXT
|
||||
dep[ _HBMKDEP_lFound ] := .T.
|
||||
dep[ _HBMKDEP_lFoundLOCAL ] := ( aINCPATH:__enumIndex() == 2 )
|
||||
|
||||
Reference in New Issue
Block a user