From 3d43725e29910db21e6b62094aa42f4318eff4d6 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Sun, 13 Feb 2011 21:45:06 +0000 Subject: [PATCH] 2011-02-13 22:42 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbrun/hbrun.prg * contrib/hbrun/hbrun.hbp + contrib/hbrun/plugins.prg + Added plugin support. + Added hbnetio management console to hbrun, as plugin. Use: "netio. " format to access it. Or enter netio command domain with ".netio" and use regular netio commands. Exit netio command domain with "." command. * package/winuni/mpkg_win_uni.bat * package/winuni/mpkg_win_uni.nsi * contrib/hbplist - Stdalone hbnetio management console is not built or included in distro anymore. Use hbrun. * contrib/hbrun/hbrun.prg * contrib/hbrun/hbrun.hbp + contrib/hbrun/headers.prg * Moved headers to separate file. * contrib/hbrun/pullext.prg * Minor. * contrib/hbnetio/utils/hbnetio/netioeng.prg * contrib/hbnetio/utils/hbnetio/netiocon.prg * Renamed entry function for console plugin. --- harbour/ChangeLog | 29 ++ .../hbnetio/utils/hbnetio/netiocon.prg | 2 +- .../hbnetio/utils/hbnetio/netioeng.prg | 2 +- harbour/contrib/hbplist | 1 - harbour/contrib/hbrun/hbrun.hbp | 6 + harbour/contrib/hbrun/hbrun.prg | 258 +++++++++++------- harbour/contrib/hbrun/headers.prg | 137 ++++++++++ harbour/contrib/hbrun/plugins.prg | 63 +++++ harbour/contrib/hbrun/pullext.prg | 4 +- harbour/package/winuni/mpkg_win_uni.bat | 1 - harbour/package/winuni/mpkg_win_uni.nsi | 1 - 11 files changed, 395 insertions(+), 109 deletions(-) create mode 100644 harbour/contrib/hbrun/headers.prg create mode 100644 harbour/contrib/hbrun/plugins.prg diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 465fd7b745..ddae9292a8 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,35 @@ The license applies to all entries newer than 2009-04-28. */ +2011-02-13 22:42 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * contrib/hbrun/hbrun.prg + * contrib/hbrun/hbrun.hbp + + contrib/hbrun/plugins.prg + + Added plugin support. + + Added hbnetio management console to hbrun, as plugin. + Use: "netio. " format to access it. + Or enter netio command domain with ".netio" and use + regular netio commands. Exit netio command domain with + "." command. + + * package/winuni/mpkg_win_uni.bat + * package/winuni/mpkg_win_uni.nsi + * contrib/hbplist + - Stdalone hbnetio management console is not built or + included in distro anymore. Use hbrun. + + * contrib/hbrun/hbrun.prg + * contrib/hbrun/hbrun.hbp + + contrib/hbrun/headers.prg + * Moved headers to separate file. + + * contrib/hbrun/pullext.prg + * Minor. + + * contrib/hbnetio/utils/hbnetio/netioeng.prg + * contrib/hbnetio/utils/hbnetio/netiocon.prg + * Renamed entry function for console plugin. + 2011-02-13 19:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + contrib/hbnetio/utils/hbnetio/netioeng.prg * contrib/hbnetio/utils/hbnetio/hbnetio.hbp diff --git a/harbour/contrib/hbnetio/utils/hbnetio/netiocon.prg b/harbour/contrib/hbnetio/utils/hbnetio/netiocon.prg index b66eb10f3c..2552cfc0af 100644 --- a/harbour/contrib/hbnetio/utils/hbnetio/netiocon.prg +++ b/harbour/contrib/hbnetio/utils/hbnetio/netiocon.prg @@ -50,7 +50,7 @@ PROCEDURE hbnetiocon_cmdUI( cIP, nPort, cPassword ) LOCAL lQuit - LOCAL netclictrl := hbrun_plugin() + LOCAL netclictrl := __hbrun_plugin() LOCAL netclictx LOCAL netcliID diff --git a/harbour/contrib/hbnetio/utils/hbnetio/netioeng.prg b/harbour/contrib/hbnetio/utils/hbnetio/netioeng.prg index b3133816f6..b7afc373cb 100644 --- a/harbour/contrib/hbnetio/utils/hbnetio/netioeng.prg +++ b/harbour/contrib/hbnetio/utils/hbnetio/netioeng.prg @@ -36,7 +36,7 @@ #define _NETIOCLI_hConIO 8 #define _NETIOCLI_MAX_ 8 -FUNCTION hbrun_plugin() +FUNCTION __hbrun_plugin() RETURN {; "id" => "netio",; "init" => {| hConIO, ... | hbnetiocon_init( hConIO, ... ) } ,; diff --git a/harbour/contrib/hbplist b/harbour/contrib/hbplist index 441d954c88..dc4c698ff5 100644 --- a/harbour/contrib/hbplist +++ b/harbour/contrib/hbplist @@ -34,7 +34,6 @@ hbmysql/hbmysql.hbp hbmzip/hbmzip.hbp # uses: minizip (locally hosted) hbnetio/hbnetio.hbp hbnetio/utils/hbnetio/hbnetio.hbp -hbnetio/utils/hbnetio/hbnetioc.hbp hbnf/hbnf.hbp hbodbc/hbodbc.hbp hbpgsql/hbpgsql.hbp diff --git a/harbour/contrib/hbrun/hbrun.hbp b/harbour/contrib/hbrun/hbrun.hbp index b5fecdcdac..c75992d300 100644 --- a/harbour/contrib/hbrun/hbrun.hbp +++ b/harbour/contrib/hbrun/hbrun.hbp @@ -19,6 +19,8 @@ hbrun.prg -request=__hbrun_extensions +headers.prg +plugins.prg pullext.prg -lhbcplr @@ -28,6 +30,10 @@ pullext.prg -icon={allwin}../../package/harb_win.ico -icon={os2}../../package/harb_os2.ico +# Plugins + +-I../hbnetio/utils/hbnetio + # Here comes the list of contribs linked in: # - Make sure to keep it in sync with pullext.prg. # - Do not add contribs which have external dependencies. diff --git a/harbour/contrib/hbrun/hbrun.prg b/harbour/contrib/hbrun/hbrun.prg index 2586e0ff2f..bbfc25c75b 100644 --- a/harbour/contrib/hbrun/hbrun.prg +++ b/harbour/contrib/hbrun/hbrun.prg @@ -51,12 +51,14 @@ * */ +#include "color.ch" #include "common.ch" #include "fileio.ch" #include "inkey.ch" #include "setcurs.ch" #include "hbgtinfo.ch" +#include "hbhrb.ch" /* NOTE: use hbextern library instead of #include "hbextern.ch" * in dynamic builds it will greatly reduce the size because @@ -70,15 +72,8 @@ REQUEST HB_GT_CGI REQUEST HB_GT_PCA REQUEST HB_GT_STD - -/* command to store header files in hash array */ -#command ADD HEADER TO FILE <(cFile)> => ; - #pragma __streaminclude <(cFile)>|\[ <(cFile)> \] := %s - - #define HB_HISTORY_LEN 500 #define HB_LINE_LEN 256 -#define HB_PROMPT "." STATIC s_nRow STATIC s_nCol := 0 @@ -156,7 +151,7 @@ PROCEDURE _APPMAIN( cFile, ... ) CASE ".prg" CASE ".hbs" IF Empty( getenv( "HBRUN_NOHEAD" ) ) - hHeaders := hbrun_CoreHeaderFiles() /* add core header files */ + hHeaders := __hbrun_CoreHeaderFiles() /* add core header files */ ENDIF cFile := HB_COMPILEBUF( hHeaders, hb_ProgName(), "-n2", "-w", "-es2", "-q0", ; @@ -180,88 +175,6 @@ PROCEDURE _APPMAIN( cFile, ... ) RETURN -STATIC FUNCTION hbrun_CoreHeaderFiles() - LOCAL hHeaders - -#ifdef HBRUN_WITH_HEADERS - - hHeaders := { => } - - ADD HEADER TO hHeaders FILE "achoice.ch" - ADD HEADER TO hHeaders FILE "assert.ch" - ADD HEADER TO hHeaders FILE "blob.ch" - ADD HEADER TO hHeaders FILE "box.ch" - ADD HEADER TO hHeaders FILE "button.ch" - ADD HEADER TO hHeaders FILE "color.ch" - ADD HEADER TO hHeaders FILE "common.ch" - ADD HEADER TO hHeaders FILE "dbedit.ch" - ADD HEADER TO hHeaders FILE "dbinfo.ch" - ADD HEADER TO hHeaders FILE "dbstruct.ch" - ADD HEADER TO hHeaders FILE "directry.ch" - ADD HEADER TO hHeaders FILE "error.ch" - ADD HEADER TO hHeaders FILE "fileio.ch" - ADD HEADER TO hHeaders FILE "getexit.ch" - ADD HEADER TO hHeaders FILE "hb.ch" - ADD HEADER TO hHeaders FILE "hbclass.ch" - ADD HEADER TO hHeaders FILE "hbcom.ch" - ADD HEADER TO hHeaders FILE "hbdebug.ch" - ADD HEADER TO hHeaders FILE "hbdyn.ch" - ADD HEADER TO hHeaders FILE "hbextcdp.ch" - ADD HEADER TO hHeaders FILE "hbextern.ch" - ADD HEADER TO hHeaders FILE "hbextlng.ch" - ADD HEADER TO hHeaders FILE "hbgfx.ch" - ADD HEADER TO hHeaders FILE "hbgfxdef.ch" - ADD HEADER TO hHeaders FILE "hbgtinfo.ch" - ADD HEADER TO hHeaders FILE "hbhrb.ch" - ADD HEADER TO hHeaders FILE "hbinkey.ch" - ADD HEADER TO hHeaders FILE "hblang.ch" - ADD HEADER TO hHeaders FILE "hblpp.ch" - ADD HEADER TO hHeaders FILE "hbmacro.ch" - ADD HEADER TO hHeaders FILE "hbmath.ch" - ADD HEADER TO hHeaders FILE "hbmemory.ch" - ADD HEADER TO hHeaders FILE "hbmemvar.ch" - ADD HEADER TO hHeaders FILE "hboo.ch" - ADD HEADER TO hHeaders FILE "hbpers.ch" - ADD HEADER TO hHeaders FILE "hbsetup.ch" - ADD HEADER TO hHeaders FILE "hbsix.ch" - ADD HEADER TO hHeaders FILE "hbsocket.ch" - ADD HEADER TO hHeaders FILE "hbstdgen.ch" - ADD HEADER TO hHeaders FILE "hbsxdef.ch" - ADD HEADER TO hHeaders FILE "hbthread.ch" - ADD HEADER TO hHeaders FILE "hbtrace.ch" - ADD HEADER TO hHeaders FILE "hbusrrdd.ch" - ADD HEADER TO hHeaders FILE "hbver.ch" - ADD HEADER TO hHeaders FILE "hbzlib.ch" - ADD HEADER TO hHeaders FILE "inkey.ch" - ADD HEADER TO hHeaders FILE "memoedit.ch" - ADD HEADER TO hHeaders FILE "ord.ch" - ADD HEADER TO hHeaders FILE "rddsys.ch" - ADD HEADER TO hHeaders FILE "reserved.ch" - ADD HEADER TO hHeaders FILE "set.ch" - ADD HEADER TO hHeaders FILE "setcurs.ch" - ADD HEADER TO hHeaders FILE "simpleio.ch" - ADD HEADER TO hHeaders FILE "std.ch" - ADD HEADER TO hHeaders FILE "tbrowse.ch" - ADD HEADER TO hHeaders FILE "harbour.hbx" - ADD HEADER TO hHeaders FILE "hbcpage.hbx" - ADD HEADER TO hHeaders FILE "hblang.hbx" - ADD HEADER TO hHeaders FILE "hbscalar.hbx" - ADD HEADER TO hHeaders FILE "hbusrrdd.hbx" - - #if defined( __PLATFORM__UNIX ) - hb_HCaseMatch( hHeaders, .T. ) - #else - hb_HCaseMatch( hHeaders, .F. ) - #endif - -#else - - hHeaders := NIL - -#endif /* HBRUN_WITH_HEADERS */ - - RETURN hHeaders - /* Public hbrun API */ FUNCTION hbrun_DirBase() RETURN s_cDirBase @@ -304,6 +217,95 @@ STATIC FUNCTION hbrun_FileSig( cFile ) RETURN cExt +#define _PLUGIN_hHRB 1 +#define _PLUGIN_hMethods 2 +#define _PLUGIN_ctx 3 +#define _PLUGIN_cID 4 +#define _PLUGIN_MAX_ 4 + +STATIC FUNCTION plugins_load( hPlugins ) + LOCAL hConIO := {; + "displine" => {| c | hbrun_ToConsole( c ) } ,; + "gethidden" => {|| hbrun_GetHidden() } } + + LOCAL plugin + LOCAL plugins := {} + LOCAL hHRBEntry + LOCAL cFile + + FOR EACH cFile IN hPlugins + + plugin := Array( _PLUGIN_MAX_ ) + plugin[ _PLUGIN_hHRB ] := NIL + + SWITCH Lower( hb_FNameExt( cFile:__enumKey() ) ) + CASE ".hbs" + CASE ".prg" + cFile := hb_compileFromBuf( cFile, "-n2", "-w", "-es2", "-q0" ) + IF cFile == NIL + EXIT + ENDIF + CASE ".hrb" + plugin[ _PLUGIN_hHRB ] := hb_hrbLoad( HB_HRB_BIND_FORCELOCAL, cFile ) + IF Empty( hHRBEntry := hb_hrbGetFunSym( plugin[ _PLUGIN_hHRB ], "__hbrun_plugin" ) ) + plugin[ _PLUGIN_hHRB ] := NIL + ENDIF + EXIT + ENDSWITCH + + IF ! Empty( plugin[ _PLUGIN_hHRB ] ) + plugin[ _PLUGIN_hMethods ] := Do( hHRBEntry ) + IF ! Empty( plugin[ _PLUGIN_hMethods ] ) + plugin[ _PLUGIN_ctx ] := Eval( plugin[ _PLUGIN_hMethods ][ "init" ], hConIO ) + IF ! Empty( plugin[ _PLUGIN_ctx ] ) + plugin[ _PLUGIN_cID ] := plugin[ _PLUGIN_hMethods ][ "id" ] + IF ! Empty( plugin[ _PLUGIN_cID ] ) + AAdd( plugins, plugin ) + ENDIF + ENDIF + ENDIF + ENDIF + NEXT + + RETURN plugins + +STATIC FUNCTION plugins_command( plugins, cCommand, cDomain ) + LOCAL plugin + + FOR EACH plugin IN plugins + IF Left( cCommand, Len( plugin[ _PLUGIN_cID ] ) + 1 ) == plugin[ _PLUGIN_cID ] + "." + IF Eval( plugin[ _PLUGIN_hMethods ][ "cmd" ], plugin[ _PLUGIN_ctx ], SubStr( cCommand, Len( plugin[ _PLUGIN_cID ] ) + 2 ) ) + RETURN .T. + ENDIF + ELSEIF !( cDomain == "." ) + IF Eval( plugin[ _PLUGIN_hMethods ][ "cmd" ], plugin[ _PLUGIN_ctx ], cDomain + cCommand ) + RETURN .T. + ENDIF + ENDIF + NEXT + + RETURN .F. + +STATIC FUNCTION plugins_valid_id( plugins, cID ) + LOCAL plugin + + FOR EACH plugin IN plugins + IF plugin[ _PLUGIN_cID ] == cID + RETURN .T. + ENDIF + NEXT + + RETURN .F. + +STATIC PROCEDURE plugins_unload( plugins ) + LOCAL plugin + + FOR EACH plugin IN plugins + Eval( plugin[ _PLUGIN_hMethods ][ "exit" ], plugin[ _PLUGIN_ctx ] ) + NEXT + + RETURN + STATIC PROCEDURE hbrun_Prompt( cCommand ) LOCAL GetList LOCAL cLine @@ -311,12 +313,17 @@ STATIC PROCEDURE hbrun_Prompt( cCommand ) LOCAL nHistIndex LOCAL bKeyUP, bKeyDown, bKeyIns, bKeyResize LOCAL lResize := .F. + LOCAL plugins + + LOCAL cDomain := "." IF hb_gtVersion( 0 ) == "CGI" OutErr( "hbrun: Error: Interactive session not possible with GTCGI terminal driver" + hb_eol() ) RETURN ENDIF + plugins := plugins_load( __hbrun_plugins() ) + CLEAR SCREEN SET SCOREBOARD OFF GetList := {} @@ -352,7 +359,7 @@ STATIC PROCEDURE hbrun_Prompt( cCommand ) nMaxRow := MaxRow() nMaxCol := MaxCol() - @ nMaxRow, 0 SAY HB_PROMPT + @ nMaxRow, 0 SAY cDomain @ nMaxRow, Col() GET cLine ; PICTURE "@KS" + hb_NToS( nMaxCol - Col() + 1 ) @@ -391,34 +398,81 @@ STATIC PROCEDURE hbrun_Prompt( cCommand ) LOOP ENDIF - IF EMPTY( s_aHistory ) .OR. ! ATAIL( s_aHistory ) == cLine - IF LEN( s_aHistory ) < HB_HISTORY_LEN - AADD( s_aHistory, cLine ) + IF Empty( s_aHistory ) .OR. ! ATail( s_aHistory ) == cLine + IF Len( s_aHistory ) < HB_HISTORY_LEN + AAdd( s_aHistory, cLine ) ELSE - ADEL( s_aHistory, 1 ) - s_aHistory[ LEN( s_aHistory ) ] := cLine + ADel( s_aHistory, 1 ) + s_aHistory[ Len( s_aHistory ) ] := cLine ENDIF ENDIF - nHistIndex := LEN( s_aHistory ) + 1 + nHistIndex := Len( s_aHistory ) + 1 cCommand := AllTrim( cLine, " " ) cLine := NIL @ nMaxRow, 0 CLEAR hbrun_Info( cCommand ) - hbrun_Exec( cCommand ) + IF ! Empty( cCommand ) + IF Left( cCommand, 1 ) == "." + IF cCommand == "." + cDomain := "." + ELSEIF plugins_valid_id( plugins, SubStr( cCommand, 2 ) ) + cDomain := SubStr( cCommand, 2 ) + "." + ENDIF + ELSE + IF ! plugins_command( plugins, cCommand, cDomain ) + hbrun_Exec( cCommand ) + ENDIF - IF s_nRow >= MaxRow() - Scroll( 2 + iif( Empty( hbrun_extensionlist() ), 0, 1 ), 0, MaxRow(), MaxCol(), 1 ) - s_nRow := MaxRow() - 1 + IF s_nRow >= MaxRow() + Scroll( 2 + iif( Empty( hbrun_extensionlist() ), 0, 1 ), 0, MaxRow(), MaxCol(), 1 ) + s_nRow := MaxRow() - 1 + ENDIF + ENDIF ENDIF - ENDDO + plugins_unload( plugins ) + RETURN /* ********************************************************************** */ +STATIC PROCEDURE hbrun_ToConsole( cText ) + QQOut( cText + hb_eol() ) + RETURN + +STATIC FUNCTION hbrun_GetHidden() + LOCAL GetList := {} + LOCAL cPassword := Space( 128 ) + LOCAL nSavedRow + LOCAL bKeyPaste + + QQOut( "Enter password: " ) + + nSavedRow := Row() + + AAdd( GetList, hb_Get():New( Row(), Col(), {| v | iif( PCount() == 0, cPassword, cPassword := v ) }, "cPassword", "@S" + hb_ntos( MaxCol() - Col() + 1 ), hb_ColorIndex( SetColor(), CLR_STANDARD ) + "," + hb_ColorIndex( SetColor(), CLR_STANDARD ) ) ) + ATail( GetList ):hideInput( .T. ) + ATail( GetList ):postBlock := {|| ! Empty( cPassword ) } + ATail( GetList ):display() + + SetCursor( iif( ReadInsert(), SC_INSERT, SC_NORMAL ) ) + bKeyPaste := SetKey( K_ALT_V, {|| hb_gtInfo( HB_GTI_CLIPBOARDPASTE ) } ) + + READ + + /* Positions the cursor on the line previously saved */ + SetPos( nSavedRow, MaxCol() - 1 ) + SetKey( K_ALT_V, bKeyPaste ) + + QQOut( hb_eol() ) + + RETURN AllTrim( cPassword ) + +/* ********************************************************************** */ + STATIC PROCEDURE hbrun_Usage() OutStd( 'Harbour "DOt Prompt" Console / runner ' + HBRawVersion() + hb_eol() +; diff --git a/harbour/contrib/hbrun/headers.prg b/harbour/contrib/hbrun/headers.prg new file mode 100644 index 0000000000..a71ebf840e --- /dev/null +++ b/harbour/contrib/hbrun/headers.prg @@ -0,0 +1,137 @@ +/* + * $Id$ + */ + +/* + * Harbour Project source code: + * Header puller + * + * Copyright 2010-2011 Przemyslaw Czerpak + * www - http://harbour-project.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +/* command to store header files in hash array */ +#command ADD HEADER TO FILE <(cFile)> => ; + #pragma __streaminclude <(cFile)>|\[ <(cFile)> \] := %s + +FUNCTION __hbrun_CoreHeaderFiles() + LOCAL hHeaders + +#ifdef HBRUN_WITH_HEADERS + + hHeaders := { => } + + ADD HEADER TO hHeaders FILE "achoice.ch" + ADD HEADER TO hHeaders FILE "assert.ch" + ADD HEADER TO hHeaders FILE "blob.ch" + ADD HEADER TO hHeaders FILE "box.ch" + ADD HEADER TO hHeaders FILE "button.ch" + ADD HEADER TO hHeaders FILE "color.ch" + ADD HEADER TO hHeaders FILE "common.ch" + ADD HEADER TO hHeaders FILE "dbedit.ch" + ADD HEADER TO hHeaders FILE "dbinfo.ch" + ADD HEADER TO hHeaders FILE "dbstruct.ch" + ADD HEADER TO hHeaders FILE "directry.ch" + ADD HEADER TO hHeaders FILE "error.ch" + ADD HEADER TO hHeaders FILE "fileio.ch" + ADD HEADER TO hHeaders FILE "getexit.ch" + ADD HEADER TO hHeaders FILE "hb.ch" + ADD HEADER TO hHeaders FILE "hbclass.ch" + ADD HEADER TO hHeaders FILE "hbcom.ch" + ADD HEADER TO hHeaders FILE "hbdebug.ch" + ADD HEADER TO hHeaders FILE "hbdyn.ch" + ADD HEADER TO hHeaders FILE "hbextcdp.ch" + ADD HEADER TO hHeaders FILE "hbextern.ch" + ADD HEADER TO hHeaders FILE "hbextlng.ch" + ADD HEADER TO hHeaders FILE "hbgfx.ch" + ADD HEADER TO hHeaders FILE "hbgfxdef.ch" + ADD HEADER TO hHeaders FILE "hbgtinfo.ch" + ADD HEADER TO hHeaders FILE "hbhrb.ch" + ADD HEADER TO hHeaders FILE "hbinkey.ch" + ADD HEADER TO hHeaders FILE "hblang.ch" + ADD HEADER TO hHeaders FILE "hblpp.ch" + ADD HEADER TO hHeaders FILE "hbmacro.ch" + ADD HEADER TO hHeaders FILE "hbmath.ch" + ADD HEADER TO hHeaders FILE "hbmemory.ch" + ADD HEADER TO hHeaders FILE "hbmemvar.ch" + ADD HEADER TO hHeaders FILE "hboo.ch" + ADD HEADER TO hHeaders FILE "hbpers.ch" + ADD HEADER TO hHeaders FILE "hbsetup.ch" + ADD HEADER TO hHeaders FILE "hbsix.ch" + ADD HEADER TO hHeaders FILE "hbsocket.ch" + ADD HEADER TO hHeaders FILE "hbstdgen.ch" + ADD HEADER TO hHeaders FILE "hbsxdef.ch" + ADD HEADER TO hHeaders FILE "hbthread.ch" + ADD HEADER TO hHeaders FILE "hbtrace.ch" + ADD HEADER TO hHeaders FILE "hbusrrdd.ch" + ADD HEADER TO hHeaders FILE "hbver.ch" + ADD HEADER TO hHeaders FILE "hbzlib.ch" + ADD HEADER TO hHeaders FILE "inkey.ch" + ADD HEADER TO hHeaders FILE "memoedit.ch" + ADD HEADER TO hHeaders FILE "ord.ch" + ADD HEADER TO hHeaders FILE "rddsys.ch" + ADD HEADER TO hHeaders FILE "reserved.ch" + ADD HEADER TO hHeaders FILE "set.ch" + ADD HEADER TO hHeaders FILE "setcurs.ch" + ADD HEADER TO hHeaders FILE "simpleio.ch" + ADD HEADER TO hHeaders FILE "std.ch" + ADD HEADER TO hHeaders FILE "tbrowse.ch" + ADD HEADER TO hHeaders FILE "harbour.hbx" + ADD HEADER TO hHeaders FILE "hbcpage.hbx" + ADD HEADER TO hHeaders FILE "hblang.hbx" + ADD HEADER TO hHeaders FILE "hbscalar.hbx" + ADD HEADER TO hHeaders FILE "hbusrrdd.hbx" + + #if defined( __PLATFORM__UNIX ) + hb_HCaseMatch( hHeaders, .T. ) + #else + hb_HCaseMatch( hHeaders, .F. ) + #endif + +#else + + hHeaders := NIL + +#endif /* HBRUN_WITH_HEADERS */ + + RETURN hHeaders diff --git a/harbour/contrib/hbrun/plugins.prg b/harbour/contrib/hbrun/plugins.prg new file mode 100644 index 0000000000..eeb8c80ce2 --- /dev/null +++ b/harbour/contrib/hbrun/plugins.prg @@ -0,0 +1,63 @@ +/* + * $Id$ + */ + +/* + * Harbour Project source code: + * plugin puller + * + * Copyright 2011 Viktor Szakats (harbour.01 syenar.hu) + * www - http://harbour-project.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +#command ADD PLUGIN TO FILE <(cFile)> => ; + #pragma __streaminclude <(cFile)>|\[ <(cFile)> \] := %s + +FUNCTION __hbrun_plugins() + LOCAL hPlugins + + hPlugins := { => } + + ADD PLUGIN TO hPlugins FILE "netioeng.prg" + + RETURN hPlugins diff --git a/harbour/contrib/hbrun/pullext.prg b/harbour/contrib/hbrun/pullext.prg index 90fb2d821c..0b38c9b1b9 100644 --- a/harbour/contrib/hbrun/pullext.prg +++ b/harbour/contrib/hbrun/pullext.prg @@ -50,11 +50,11 @@ * */ +#xtranslate PULLEXT => REQUEST __HBEXTERN____ ; AAdd( aList, Lower( <"cName"> ) ) + FUNCTION __hbrun_extensions() LOCAL aList := {} - #xtranslate PULLEXT => REQUEST __HBEXTERN____ ; AAdd( aList, Lower( <"cName"> ) ) - PULLEXT hbct PULLEXT hbexpat PULLEXT hbmemio diff --git a/harbour/package/winuni/mpkg_win_uni.bat b/harbour/package/winuni/mpkg_win_uni.bat index 2be0711254..9f835f114e 100644 --- a/harbour/package/winuni/mpkg_win_uni.bat +++ b/harbour/package/winuni/mpkg_win_uni.bat @@ -133,7 +133,6 @@ echo "%HB_DR%bin\hbrun.exe" >> _hbfiles echo "%HB_DR%bin\hbtest.exe" >> _hbfiles echo "%HB_DR%bin\hbformat.exe" >> _hbfiles echo "%HB_DR%bin\hbnetio.exe" >> _hbfiles -echo "%HB_DR%bin\hbnetioc.exe" >> _hbfiles if exist "%HB_DR%bin\hbide.exe" echo "%HB_DR%bin\hbide.exe" >> _hbfiles if exist "%HB_DR%bin\libgcc_s_dw2-1.dll" echo "%HB_DR%bin\libgcc_s_dw2-1.dll" >> _hbfiles if exist "%HB_DR%bin\mingwm10.dll" echo "%HB_DR%bin\mingwm10.dll" >> _hbfiles diff --git a/harbour/package/winuni/mpkg_win_uni.nsi b/harbour/package/winuni/mpkg_win_uni.nsi index 67c98fe9b7..2a88444494 100644 --- a/harbour/package/winuni/mpkg_win_uni.nsi +++ b/harbour/package/winuni/mpkg_win_uni.nsi @@ -100,7 +100,6 @@ Section "Main components" hb_main File "$%HB_ABSROOT%bin\hbtest.exe" File "$%HB_ABSROOT%bin\hbformat.exe" File "$%HB_ABSROOT%bin\hbnetio.exe" - File "$%HB_ABSROOT%bin\hbnetioc.exe" File "$%HB_ABSROOT%bin\*.hbs" File /nonfatal "$%HB_ABSROOT%bin\hbmk.hbc" File "$%HB_ABSROOT%bin\upx*.*"