From dfdacf0e5fa9f87a02506f3cf7c0a68c46e53c14 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Mon, 6 Apr 2009 12:19:56 +0000 Subject: [PATCH] 2009-04-06 13:19 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * utils/hbmk2/hbmk2.prg ! Fixed finding shared libs since /lib// lib path autodetection was added. Please test. + Added -traceonly cmdline switch which will display all commands to be executed, without actually executing them. Notice that this isn't a complete "dry" run, as some temp files will may be created and normally created temp files are deleted along the process. * contrib/hbqt/Makefile ! Fix to include statement. --- harbour/ChangeLog | 28 ++++++++++++++++------- harbour/contrib/hbqt/Makefile | 2 +- harbour/utils/hbmk2/hbmk2.prg | 43 +++++++++++++++++++++++------------ 3 files changed, 49 insertions(+), 24 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index c91e3ec5a8..2436e95fd4 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,18 @@ 2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org) */ +2009-04-06 13:19 UTC+0200 Viktor Szakats (harbour.01 syenar hu) + * utils/hbmk2/hbmk2.prg + ! Fixed finding shared libs since /lib// lib path + autodetection was added. Please test. + + Added -traceonly cmdline switch which will display all commands to + be executed, without actually executing them. Notice that this isn't + a complete "dry" run, as some temp files will may be created and + normally created temp files are deleted along the process. + + * contrib/hbqt/Makefile + ! Fix to include statement. + 2009-04-05 14:03 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/hbqt/generator/hbqtgen.prg * harbour/contrib/hbqt/generator/qt45.qtp @@ -21,7 +33,7 @@ 2009-04-05 12:57 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) + harbour/contrib/hbqt/tests/wvtext.prg + Added wvtext.prg [ already in harbour/tests ] modified - to invoke QT dialogs. This demo is far from production + to invoke QT dialogs. This demo is far from production environment abd is just a future concept of implementation what we can achieve with QT with least efforts. @@ -140,13 +152,13 @@ This layout will be useful for future extensions. - We can spread anything outside of these blocks wheatever + We can spread anything outside of these blocks wheatever is required. - The engine has been reworked and enhanced to a + The engine has been reworked and enhanced to a great extent. At this moment about 99% functions are compiled properly. Except for one warning everypiece compiles fine: - : warning: taking address of temporary + : warning: taking address of temporary which is the result of code like as below: /* * QIcon icon () const @@ -155,17 +167,17 @@ { hb_retptr( &( ( QIcon ) hbqt_par_QAbstractButton( 1 )->icon() ) ); } - is spread all over. I have no clue how to suppress it. + is spread all over. I have no clue how to suppress it. This is why I have not posted the files in root folder. NOTE: Make system fails for , Viktor? The demoqt.prg is updated with many features. Just play. - And an Experiment: /tests/wvtext.prg can be updated to work with - QT Widgets. Though this is not the end goal of QT, you may take + And an Experiment: /tests/wvtext.prg can be updated to work with + QT Widgets. Though this is not the end goal of QT, you may take advantage of QT's powerful yet simple classes to embed in your console applications. - + 2009-04-05 09:53 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * utils/hbmk2/hbmk2.prg + Enabled rtlink/blinker parsing code, so now hbmk2 will diff --git a/harbour/contrib/hbqt/Makefile b/harbour/contrib/hbqt/Makefile index b668e2f47b..cfc3c339b2 100644 --- a/harbour/contrib/hbqt/Makefile +++ b/harbour/contrib/hbqt/Makefile @@ -51,7 +51,7 @@ ifneq ($(strip $(HB_INC_QT_OK)),) HB_USER_CFLAGS += $(foreach d, $(HB_INC_QT_OK), -I$(d)) -include Makefile_gen +include $(TOP)$(ROOT)contrib/hbqt/Makefile_gen include $(TOP)$(ROOT)config/header.cf INSTALL_RULE_HEADERS := $(INSTALL_RULE) diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index 8b5671f228..956bb9a93f 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -205,6 +205,7 @@ FUNCTION Main( ... ) LOCAL s_cHB_INSTALL_PREFIX LOCAL s_cHB_BIN_INSTALL LOCAL s_cHB_LIB_INSTALL + LOCAL s_cHB_DYN_INSTALL LOCAL s_cHB_INC_INSTALL LOCAL s_aPRG @@ -251,6 +252,7 @@ FUNCTION Main( ... ) LOCAL s_lMAP := .F. LOCAL s_lSTRIP := .F. LOCAL s_lTRACE := .F. + LOCAL s_lDONTEXEC := .F. LOCAL s_lBLDFLGP := .F. LOCAL s_lBLDFLGC := .F. LOCAL s_lBLDFLGL := .F. @@ -401,7 +403,7 @@ FUNCTION Main( ... ) tmp == "blinker" t_lInfo := .F. ; lStopAfterHarbour := .F. ; lStopAfterCComp := .F. ; lAcceptLDClipper := .T. IF t_lInfo - OutStd( "hbmk: Enabled -hblnk (Clipper legacy) option." + hb_osNewLine() ) + OutStd( "hbmk: Enabled -hblnk (Clipper compatibility) option." + hb_osNewLine() ) ENDIF CASE Right( tmp, 5 ) == "hblib" .OR. ; Left( tmp, 5 ) == "hblib" @@ -714,6 +716,8 @@ FUNCTION Main( ... ) /* Finish detecting bin/lib/include dirs */ + s_aLIBPATH := {} + IF Empty( s_cHB_BIN_INSTALL ) s_cHB_BIN_INSTALL := PathNormalize( s_cHB_INSTALL_PREFIX ) + "bin" ENDIF @@ -722,6 +726,7 @@ FUNCTION Main( ... ) IF hb_DirExists( tmp := PathNormalize( s_cHB_INSTALL_PREFIX ) + "lib" +; hb_osPathSeparator() + t_cARCH +; hb_osPathSeparator() + t_cCOMP ) + s_cHB_DYN_INSTALL := PathNormalize( s_cHB_INSTALL_PREFIX ) + "lib" s_cHB_LIB_INSTALL := tmp ELSE s_cHB_LIB_INSTALL := PathNormalize( s_cHB_INSTALL_PREFIX ) + "lib" @@ -731,18 +736,22 @@ FUNCTION Main( ... ) s_cHB_INC_INSTALL := PathNormalize( s_cHB_INSTALL_PREFIX ) + "include" ENDIF + DEFAULT s_cHB_DYN_INSTALL TO s_cHB_LIB_INSTALL + IF t_lInfo - OutStd( "hbmk: Using Harbour: " + s_cHB_BIN_INSTALL + " " + s_cHB_INC_INSTALL + " " + s_cHB_LIB_INSTALL + hb_osNewLine() ) + OutStd( "hbmk: Using Harbour: " + s_cHB_BIN_INSTALL + " " + s_cHB_INC_INSTALL + " " + s_cHB_LIB_INSTALL + " " + s_cHB_DYN_INSTALL + hb_osNewLine() ) ENDIF s_cHB_BIN_INSTALL := PathSepToTarget( s_cHB_BIN_INSTALL ) s_cHB_LIB_INSTALL := PathSepToTarget( s_cHB_LIB_INSTALL ) + s_cHB_DYN_INSTALL := PathSepToTarget( s_cHB_DYN_INSTALL ) s_cHB_INC_INSTALL := PathSepToTarget( s_cHB_INC_INSTALL ) - s_aLIBPATH := {} - /* Add main Harbour library dir to lib path list */ AAddNotEmpty( s_aLIBPATH, s_cHB_LIB_INSTALL ) + IF ! Empty( s_cHB_DYN_INSTALL ) + AAddNotEmpty( s_aLIBPATH, s_cHB_DYN_INSTALL ) + ENDIF /* Process environment */ @@ -899,6 +908,7 @@ FUNCTION Main( ... ) CASE cParamL == "-trace" ; s_lTRACE := .T. CASE cParamL == "-trace-" .OR. ; cParamL == "-notrace" ; s_lTRACE := .F. + CASE cParamL == "-traceonly" ; s_lTRACE := .T. ; s_lDONTEXEC := .T. CASE Left( cParamL, 6 ) == "-main=" @@ -1117,7 +1127,7 @@ FUNCTION Main( ... ) OutStd( "hbmk: Harbour compiler command:" + hb_osNewLine() + ArrayToList( aCommand ) + hb_osNewLine() ) ENDIF - IF ( tmp := hb_compile( "", aCommand ) ) != 0 + IF ! s_lDONTEXEC .AND. ( tmp := hb_compile( "", aCommand ) ) != 0 OutErr( "hbmk: Error: Running Harbour compiler. " + hb_ntos( tmp ) + hb_osNewLine() + ArrayToList( aCommand ) + hb_osNewLine() ) PauseForKey() RETURN 6 @@ -1138,7 +1148,7 @@ FUNCTION Main( ... ) OutStd( "hbmk: Harbour compiler command:" + hb_osNewLine() + cCommand + hb_osNewLine() ) ENDIF - IF ( tmp := hb_run( cCommand ) ) != 0 + IF ! s_lDONTEXEC .AND. ( tmp := hb_run( cCommand ) ) != 0 OutErr( "hbmk: Error: Running Harbour compiler. " + hb_ntos( tmp ) + ":" + hb_osNewLine() + cCommand + hb_osNewLine() ) PauseForKey() RETURN 6 @@ -1174,7 +1184,7 @@ FUNCTION Main( ... ) IF lSysLoc cPrefix := "" ELSE - cPrefix := PathNormalize( s_cHB_LIB_INSTALL ) + cPrefix := PathNormalize( s_cHB_DYN_INSTALL ) ENDIF #if 1 cPostfix := "" @@ -1949,7 +1959,7 @@ FUNCTION Main( ... ) ENDIF /* Do entry function detection on platform required and supported */ - IF ! lStopAfterCComp .AND. s_cMAIN == NIL + IF ! s_lDONTEXEC .AND. ! lStopAfterCComp .AND. s_cMAIN == NIL tmp := iif( Lower( FN_ExtGet( s_cFIRST ) ) == ".prg" .OR. Empty( FN_ExtGet( s_cFIRST ) ), FN_ExtSet( s_cFIRST, ".c" ), s_cFIRST ) IF ! Empty( tmp := getFirstFunc( tmp ) ) s_cMAIN := tmp @@ -2115,7 +2125,7 @@ FUNCTION Main( ... ) ENDIF ENDIF - IF ( tmp := hb_run( cCommand ) ) != 0 + IF ! s_lDONTEXEC .AND. ( tmp := hb_run( cCommand ) ) != 0 OutErr( "hbmk: Error: Running resource compiler. " + hb_ntos( tmp ) + ":" + hb_osNewLine() + cCommand + hb_osNewLine() ) nErrorLevel := 8 ENDIF @@ -2162,7 +2172,7 @@ FUNCTION Main( ... ) OutStd( "hbmk: C compiler command:" + hb_osNewLine() + cCommand + hb_osNewLine() ) ENDIF - IF ( tmp := hb_run( cCommand ) ) != 0 + IF ! s_lDONTEXEC .AND. ( tmp := hb_run( cCommand ) ) != 0 OutErr( "hbmk: Error: Running C compiler. " + hb_ntos( tmp ) + ":" + hb_osNewLine() + cCommand + hb_osNewLine() ) nErrorLevel := 6 EXIT @@ -2195,7 +2205,7 @@ FUNCTION Main( ... ) ENDIF ENDIF - IF ( tmp := hb_run( cCommand ) ) != 0 + IF ! s_lDONTEXEC .AND. ( tmp := hb_run( cCommand ) ) != 0 OutErr( "hbmk: Error: Running C compiler. " + hb_ntos( tmp ) + ":" + hb_osNewLine() + cCommand + hb_osNewLine() ) nErrorLevel := 6 ENDIF @@ -2252,7 +2262,7 @@ FUNCTION Main( ... ) ENDIF ENDIF - IF ( tmp := hb_run( cCommand ) ) != 0 + IF ! s_lDONTEXEC .AND. ( tmp := hb_run( cCommand ) ) != 0 OutErr( "hbmk: Error: Running linker. " + hb_ntos( tmp ) + ":" + hb_osNewLine() + cCommand + hb_osNewLine() ) nErrorLevel := 7 ENDIF @@ -2296,7 +2306,7 @@ FUNCTION Main( ... ) ENDIF ENDIF - IF ( tmp := hb_run( cCommand ) ) != 0 + IF ! s_lDONTEXEC .AND. ( tmp := hb_run( cCommand ) ) != 0 OutErr( "hbmk: Error: Running lib command. " + hb_ntos( tmp ) + ":" + hb_osNewLine() + cCommand + hb_osNewLine() ) nErrorLevel := 7 ENDIF @@ -2342,7 +2352,7 @@ FUNCTION Main( ... ) ENDIF ENDIF - IF ( tmp := hb_run( cCommand ) ) != 0 + IF ! s_lDONTEXEC .AND. ( tmp := hb_run( cCommand ) ) != 0 OutErr( "hbmk: Error: Running dynamic lib link command. " + hb_ntos( tmp ) + ":" + hb_osNewLine() + cCommand + hb_osNewLine() ) nErrorLevel := 7 ENDIF @@ -2381,7 +2391,9 @@ FUNCTION Main( ... ) IF s_lTRACE OutStd( "hbmk: Running executable:" + hb_osNewLine() + PathSepToTarget( s_cPROGNAME ) + hb_osNewLine() ) ENDIF - nErrorLevel := hb_run( PathSepToTarget( s_cPROGNAME ) ) + IF ! s_lDONTEXEC + nErrorLevel := hb_run( PathSepToTarget( s_cPROGNAME ) ) + ENDIF ENDIF ENDIF ENDIF @@ -3603,6 +3615,7 @@ STATIC PROCEDURE ShowHelp( lLong ) " -[no]strip strip (no strip) binaries" ,; " -[no]fmstat enable/disable runtime memory statistics (gcc builds only)" ,; " -[no]trace show commands executed" ,; + " -traceonly show commands to be executed, but don't execute them" ,; " -[no]run run/don't run the created executable" ,; " -nohbp do not process .hbp files in current directory" ,; "" ,;