2013-03-12 13:29 UTC+0100 Viktor Szakats (harbour syenar.net)

* src/rtl/hbstrfmt.c
    ! fixed GPF regression after 2013-02-12 12:49 UTC+0100
      when parameter was missing for d, x, X, f types

  * utils/hbmk2/hbmk2.*.po
  * utils/hbmk2/hbmk2.prg
    + show warning when both -inc and -rebuild[all] options are
      unconditionally passed together on command-line or inside
      one make file.
      These instruct hbmk2 to do all the extra work involved
      with an incremental build, but to do it _every time_, making
      it effectively _not_ incremental, only leaving temp files
      in workdir, slower and thus probably not what one wants.
      (EXPERIMENTAL)
      Best practice is to put -inc inside the .hbp file, and
      use -rebuild[all] on command-line when a rebuild is needed.
    * minor cleanup to two existing warnings
    + documented exit code when -run is used
    + further clarified .hbp file format in help

  + contrib/hbbz2/3rd/bz2/bz2.dif
  * contrib/hbbz2/3rd/bz2/bz2.hbp
  * contrib/hbbz2/3rd/bz2/bzlib_pr.h
    ! fixed libbzip2 header bug where it cannot link
      mixed C/C++ builds with option -DBZ_NO_STDIO enabled

  + config/win/tcc.mk
  * include/hbdefs.h
  * include/hbfloat.h
  * include/hbinit.h
  * src/3rd/png/Makefile
  * src/common/hbprintf.c
  * src/common/hbver.c
  * src/rtl/arc4.c
  * src/rtl/gtwvt/gtwvt.c
  * src/rtl/hbsocket.c
  * src/vm/extrap.c
  * src/vm/hvm.c
  * src/vm/mainstd.c
  * utils/hbmk2/hbmk2.prg
    + added rough and experimental Tiny C Compiler support.
      Some Harbour features disabled. Some hunks quick and dirty.
      Needs: set HB_COMPILER=tcc; set HB_PLATFORM=win; set HB_BUILD_DYN=no
      Final Harbour apps fail in GT initialization.
This commit is contained in:
Viktor Szakats
2013-03-12 12:33:03 +00:00
parent acd703ceb7
commit d34bbd6ca3
22 changed files with 316 additions and 96 deletions

View File

@@ -10,6 +10,52 @@
* Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment
*/
2013-03-12 13:29 UTC+0100 Viktor Szakats (harbour syenar.net)
* src/rtl/hbstrfmt.c
! fixed GPF regression after 2013-02-12 12:49 UTC+0100
when parameter was missing for d, x, X, f types
* utils/hbmk2/hbmk2.*.po
* utils/hbmk2/hbmk2.prg
+ show warning when both -inc and -rebuild[all] options are
unconditionally passed together on command-line or inside
one make file.
These instruct hbmk2 to do all the extra work involved
with an incremental build, but to do it _every time_, making
it effectively _not_ incremental, only leaving temp files
in workdir, slower and thus probably not what one wants.
(EXPERIMENTAL)
Best practice is to put -inc inside the .hbp file, and
use -rebuild[all] on command-line when a rebuild is needed.
* minor cleanup to two existing warnings
+ documented exit code when -run is used
+ further clarified .hbp file format in help
+ contrib/hbbz2/3rd/bz2/bz2.dif
* contrib/hbbz2/3rd/bz2/bz2.hbp
* contrib/hbbz2/3rd/bz2/bzlib_pr.h
! fixed libbzip2 header bug where it cannot link
mixed C/C++ builds with option -DBZ_NO_STDIO enabled
+ config/win/tcc.mk
* include/hbdefs.h
* include/hbfloat.h
* include/hbinit.h
* src/3rd/png/Makefile
* src/common/hbprintf.c
* src/common/hbver.c
* src/rtl/arc4.c
* src/rtl/gtwvt/gtwvt.c
* src/rtl/hbsocket.c
* src/vm/extrap.c
* src/vm/hvm.c
* src/vm/mainstd.c
* utils/hbmk2/hbmk2.prg
+ added rough and experimental Tiny C Compiler support.
Some Harbour features disabled. Some hunks quick and dirty.
Needs: set HB_COMPILER=tcc; set HB_PLATFORM=win; set HB_BUILD_DYN=no
Final Harbour apps fail in GT initialization.
2013-03-11 18:43 UTC+0100 Viktor Szakats (harbour syenar.net)
* contrib/xhb/dbf2txt.c
! missing header after 2013-03-08 13:32 UTC+0100

63
harbour/config/win/tcc.mk Normal file
View File

@@ -0,0 +1,63 @@
#
# $Id$
#
HB_BUILD_SHARED := no
OBJ_EXT := .o
LIB_PREF := lib
LIB_EXT := .a
CC := tcc.exe
CC_IN := -c
CC_OUT := -o
CFLAGS += -I. -I$(HB_HOST_INC)
ifneq ($(HB_BUILD_WARN),no)
CFLAGS += -W -Wall
# CFLAGS += -Wextra
else
CFLAGS += -Wmissing-braces -Wreturn-type -Wformat
ifneq ($(HB_BUILD_MODE),cpp)
CFLAGS += -Wimplicit-int -Wimplicit-function-declaration
endif
endif
ifneq ($(HB_BUILD_OPTIM),no)
CFLAGS += -O3
endif
ifeq ($(HB_BUILD_DEBUG),yes)
CFLAGS += -g
endif
#RC := windres
#RC_OUT := -o$(subst x,x, )
#RCFLAGS += -I. -I$(HB_HOST_INC) -O coff
LD := $(CC)
LD_OUT := -o$(subst x,x, )
LIBPATHS := $(foreach dir,$(LIB_DIR) $(3RDLIB_DIR),-L$(dir))
LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(3RDLIBS) $(SYSLIBS),-l$(lib))
# Add the standard C entry
ifneq ($(HB_LINKING_RTL),)
ifeq ($(HB_MAIN),)
LDLIBS += -lhbmainstd
endif
endif
LDFLAGS += $(LIBPATHS)
AR := tiny_libmaker.exe
AR_RULE = ( $(AR) $(ARFLAGS) $(HB_AFLAGS) $(HB_USER_AFLAGS) $(LIB_DIR)/$@ $^ ) || ( $(RM) $(subst /,$(DIRSEP),$(LIB_DIR)/$@) && $(FALSE) )
DY := $(CC)
DFLAGS += -shared $(LIBPATHS)
DY_OUT := $(LD_OUT)
DLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(3RDLIBS) $(SYSLIBS),-l$(lib))
DY_RULE = $(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ $^ $(DLIBS)
include $(TOP)$(ROOT)config/rules.mk

View File

@@ -0,0 +1,17 @@
diff -urN bz2.orig\bzlib_pr.h bz2\bzlib_pr.h
--- bz2.orig\bzlib_pr.h Mon Mar 11 20:32:51 2013
+++ bz2\bzlib_pr.h Mon Mar 11 20:32:51 2013
@@ -85,7 +85,13 @@
#else
+#ifdef __cplusplus
+extern "C" {
+#endif
extern void bz_internal_error ( int errcode );
+#ifdef __cplusplus
+}
+#endif
#define AssertH(cond,errcode) \
{ if (!(cond)) bz_internal_error ( errcode ); }
#define AssertD(cond,msg) do { } while (0)

View File

@@ -33,7 +33,7 @@ randtabl.c
# ORIGIN http://www.bzip.org/
# VER 1.0.6
# URL http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz
# DIFF
# DIFF bz2.dif
#
# MAP LICENSE
# MAP blocksort.c blocksor.c

View File

@@ -85,7 +85,13 @@ extern void BZ2_bz__AssertH__fail ( int errcode );
#else
#ifdef __cplusplus
extern "C" {
#endif
extern void bz_internal_error ( int errcode );
#ifdef __cplusplus
}
#endif
#define AssertH(cond,errcode) \
{ if (!(cond)) bz_internal_error ( errcode ); }
#define AssertD(cond,msg) do { } while (0)

View File

@@ -63,7 +63,7 @@
#include "hbver.h"
#if defined( __XCC__ ) || defined( __POCC__ ) || defined( __LCC__ ) || \
defined( __MINGW32__ ) || defined( __DMC__ ) || \
defined( __MINGW32__ ) || defined( __DMC__ ) || defined( __TINYC__ ) || \
( defined( _MSC_VER ) && _MSC_VER >= 1600 ) || \
( defined( __BORLANDC__ ) && __BORLANDC__ >= 1410 ) || \
( defined( __WATCOMC__ ) && __WATCOMC__ >= 1270 ) || \

View File

@@ -68,6 +68,10 @@
# define __C99FEATURES__
#endif
#if defined( __TINYC__ )
#define __NO_ISOCEXT
#endif
#include "hbapi.h"
#if defined( __DJGPP__ )

View File

@@ -165,7 +165,8 @@ extern HB_EXPORT PHB_SYMB hb_vmProcessSymbols( PHB_SYMB pSymbols, HB_USHORT uiSy
#elif defined( HB_GNUC_STARTUP ) || \
defined( __GNUC__ ) || \
defined( __SUNPRO_C ) || defined( __SUNPRO_CC ) || \
defined( __DCC__ )
defined( __DCC__ ) || \
defined( __TINYC__ ) /* TOFIX: __TINYC__ */
#if defined( HB_PRAGMA_STARTUP ) || defined( HB_DATASEG_STARTUP )
#error Wrong macros set for startup code - clean your make/env settings.

View File

@@ -28,7 +28,7 @@ C_SOURCES := \
pngwtran.c \
pngwutil.c \
ifeq ($(filter $(HB_COMPILER),poccarm xcc),)
ifeq ($(filter $(HB_COMPILER),poccarm xcc tcc),)
_DET_DSP_NAME := libpng
_DET_VAR_INC_ := HB_INC_PNG

View File

@@ -118,7 +118,7 @@
#if ( defined( __BORLANDC__ ) && __BORLANDC__ < 1410 ) || \
( defined( __WATCOMC__ ) && __WATCOMC__ < 1270 ) || \
defined( HB_OS_QNX ) || defined( HB_OS_SYMBIAN ) || \
defined( __DCC__ ) || defined( __ACK__ ) || \
defined( __DCC__ ) || defined( __TINYC__ ) || defined( __ACK__ ) || \
( defined( __DJGPP__ ) && \
( __DJGPP__ < 2 || ( __DJGPP__ == 2 && __DJGPP_MINOR__ <= 3 ) ) ) || \
( defined( _MSC_VER ) && \
@@ -172,6 +172,7 @@
defined( __WATCOMC__ ) || defined( __MINGW32CE__ ) || defined( HB_OS_CYGWIN ) || \
defined( HB_OS_BEOS ) || defined( HB_OS_IPHONE ) || defined( HB_OS_SYMBIAN ) || \
defined( __OpenBSD__ ) || defined( __NetBSD__ ) || defined( __DragonFly__ ) || \
defined( __TINYC__ ) || \
( defined( __FreeBSD_version ) && __FreeBSD_version < 603000 ) || \
defined( HB_OS_ANDROID ) || \
( defined( HB_OS_WIN_CE ) && defined( __POCC__ ) ) || defined( HB_OS_MINIX )

View File

@@ -940,6 +940,14 @@ char * hb_verCompiler( void )
iVerPatch = 0;
#endif
#elif defined( __TINYC__ )
pszName = "Tiny C Compiler";
iVerMajor = __TINYC__ / 100;
iVerMinor = ( __TINYC__ % 100 ) / 10;
iVerPatch = ( __TINYC__ % 100 ) % 10;
#elif defined( __PCC__ )
pszName = "Portable C Compiler";

View File

@@ -63,8 +63,10 @@
#endif
#if defined( HB_OS_WIN )
# include <wincrypt.h>
# include <process.h>
# if ! defined( __TINYC__ )
# include <wincrypt.h>
# include <process.h>
# endif
#elif defined( HB_OS_DOS ) || defined( HB_OS_OS2 )
# include <sys/types.h>
# include <process.h>
@@ -169,9 +171,9 @@ static HB_ISIZ read_all( int fd, HB_U8 * buf, size_t count )
return ( HB_ISIZ ) numread;
}
#endif /* ! HB_OS_WIN */
#endif /* HB_OS_UNIX */
#if defined( HB_OS_WIN ) && ! defined( __DMC__ )
#if defined( HB_OS_WIN ) && ! defined( __DMC__ ) && ! defined( __TINYC__ )
#define TRY_SEED_MS_CRYPTOAPI
static int arc4_seed_win32( void )

View File

@@ -121,6 +121,15 @@ static HB_CRITICAL_NEW( s_wvtMtx );
# define HB_GTWVT_LONG_PTR LONG_PTR
#endif
#if defined( __TINYC__ )
#undef GetWindowLongPtr
#define GetWindowLongPtr GetWindowLong
#undef SetWindowLongPtr
#define SetWindowLongPtr SetWindowLong
#undef HB_GTWVT_LONG_PTR
#define HB_GTWVT_LONG_PTR LONG
#endif
#ifndef WS_OVERLAPPEDWINDOW
#define WS_OVERLAPPEDWINDOW ( WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX )
#endif
@@ -129,15 +138,15 @@ static HB_CRITICAL_NEW( s_wvtMtx );
#define _WVT_WS_NORESIZE ( WS_OVERLAPPEDWINDOW & ~( WS_THICKFRAME ) )
#define _WVT_WS_MAXED ( WS_OVERLAPPEDWINDOW & ~( WS_MAXIMIZEBOX ) )
/*
* Left for testing to someone with multi monitor workspace on older platforms
/* Left for testing to someone with multi monitor workspace on older platforms */
#if 0
#ifndef NO_MULTIMON
#if WINVER < 0x0500
#define COMPILE_MULTIMON_STUBS
#include <multimon.h>
#if WINVER < 0x0500
#define COMPILE_MULTIMON_STUBS
#include <multimon.h>
#endif
#endif
#endif
*/
static PHB_GTWVT s_wvtWindows[ WVT_MAX_WINDOWS ];
static int s_wvtCount = 0;

View File

@@ -52,7 +52,8 @@
#include "hbsocket.h"
#if ( defined( HB_OS_DOS ) && ! defined( HB_HAS_WATT ) ) || defined( HB_OS_SYMBIAN )
#if ( defined( HB_OS_DOS ) && ! defined( HB_HAS_WATT ) ) || \
defined( HB_OS_SYMBIAN ) || defined( __TINYC__ )
# if ! defined( HB_SOCKET_OFF )
# define HB_SOCKET_OFF
# endif

View File

@@ -241,7 +241,7 @@ PHB_ITEM hb_strFormat( PHB_ITEM pItemReturn, PHB_ITEM pItemFormat, int iCount, P
int iSize, iExtra;
fSign = 0;
if( HB_IS_NUMERIC( pItem ) )
if( pItem && HB_IS_NUMERIC( pItem ) )
{
iSize = sizeof( HB_MAXINT ) * 3 + 1;
pStr2 = pStr = ( char * ) hb_xgrab( iSize + 1 );
@@ -260,7 +260,7 @@ PHB_ITEM hb_strFormat( PHB_ITEM pItemReturn, PHB_ITEM pItemFormat, int iCount, P
pStr2++;
}
}
else if( HB_IS_LOGICAL( pItem ) )
else if( pItem && HB_IS_LOGICAL( pItem ) )
{
iSize = 1;
if( hb_itemGetL( pItem ) )
@@ -351,7 +351,7 @@ PHB_ITEM hb_strFormat( PHB_ITEM pItemReturn, PHB_ITEM pItemFormat, int iCount, P
const char * pStr2;
int iSize, iExtra, iD;
if( HB_IS_NUMERIC( pItem ) )
if( pItem && HB_IS_NUMERIC( pItem ) )
{
hb_itemGetNLen( pItem, &iSize, &iD );

View File

@@ -85,7 +85,9 @@
# endif
#elif defined( HB_OS_WIN )
# include <windows.h>
# include <tlhelp32.h>
# if ! defined( __TINYC__ )
# include <tlhelp32.h>
# endif
# if defined( HB_OS_WIN_CE )
# include "hbwince.h"
# endif
@@ -103,7 +105,7 @@
static HB_BYTE * s_signal_stack[ SIGSTKSZ ];
#endif
#if defined( HB_OS_WIN )
#if defined( HB_OS_WIN ) && ! defined( __TINYC__ )
static LONG WINAPI hb_winExceptionHandler( struct _EXCEPTION_POINTERS * pExceptionInfo )
{
@@ -525,7 +527,7 @@ static void hb_signalExceptionHandler( int sig, siginfo_t * si, void * ucp )
void hb_vmSetExceptionHandler( void )
{
#if defined( HB_OS_WIN ) && ! defined( HB_OS_WIN_CE )
#if defined( HB_OS_WIN ) && ! defined( HB_OS_WIN_CE ) && ! defined( __TINYC__ )
{
LPTOP_LEVEL_EXCEPTION_FILTER ef = SetUnhandledExceptionFilter( hb_winExceptionHandler );
HB_SYMBOL_UNUSED( ef );

View File

@@ -12225,7 +12225,8 @@ HB_LANG_REQUEST( HB_LANG_DEFAULT )
# define HB_FORCE_LINK_MAIN hb_forceLinkMainWin
#elif defined( __WATCOMC__ ) && ( defined( HB_OS_LINUX ) || defined( HB_OS_OS2 ) || defined( HB_OS_WIN ) )
#elif ( defined( __WATCOMC__ ) || defined( __TINYC__ ) ) && \
( defined( HB_OS_LINUX ) || defined( HB_OS_OS2 ) || defined( HB_OS_WIN ) )
# define HB_FORCE_LINK_MAIN hb_forceLinkMainStd

View File

@@ -73,7 +73,8 @@ char ** __crt0_glob_function( char * _arg )
}
#endif
#if defined( __WATCOMC__ ) && ( defined( HB_OS_LINUX ) || defined( HB_OS_OS2 ) || defined( HB_OS_WIN ) )
#if ( defined( __WATCOMC__ ) || defined( __TINYC__ ) ) && \
( defined( HB_OS_LINUX ) || defined( HB_OS_OS2 ) || defined( HB_OS_WIN ) )
void hb_forceLinkMainStd( void ) {}
#endif

View File

@@ -88,8 +88,8 @@ msgstr "Compilador C detectado '%1$s' saltado porque requiere librerías del nú
#: hbmk2.prg:1691 hbmk2.prg:2291 hbmk2.prg:2463
#, c-format
msgid "Warning: Invalid -main value ignored: %1$s"
msgstr "Advertencia: Opción -main no válida, se ignora: %1$s"
msgid "Warning: Invalid -main= value ignored: %1$s"
msgstr "Advertencia: Opción -main= no válida, se ignora: %1$s"
#: hbmk2.prg:1295 hbmk2.prg:1667 hbmk2.prg:1750
#, c-format
@@ -133,7 +133,7 @@ msgstr "Procesando script local: %1$s"
#: hbmk2.prg:4127 hbmk2.prg:5633 hbmk2.prg:6212
#, c-format
msgid "Warning: C/C++ compiler script could not be created, continuing in command line."
msgid "Warning: C/C++ compiler script could not be created, continuing in command-line."
msgstr "Advertencia: Script para compilador C/C++ no puede ser creado, continuando en la línea de comandos."
#: hbmk2.prg:4457 hbmk2.prg:6002 hbmk2.prg:6599
@@ -168,7 +168,7 @@ msgstr "Las opciones también se pueden especificar en la variable de entorno %1
#: hbmk2.prg:4378 hbmk2.prg:5916 hbmk2.prg:6484 hbmk2.prg:6513
#, c-format
msgid "Warning: Dynamic lib link script could not be created, continuing in command line."
msgid "Warning: Dynamic lib link script could not be created, continuing in command-line."
msgstr "Advertencia: Script para enlace de librería dinámica no puede ser creado, continuando en la línea de comandos."
#: hbmk2.prg:4240 hbmk2.prg:5758 hbmk2.prg:6337
@@ -188,7 +188,7 @@ msgstr "Script para enlace de librería dinámica:"
#: hbmk2.prg:4290 hbmk2.prg:5819 hbmk2.prg:6400
#, c-format
msgid "Warning: Link script could not be created, continuing in command line."
msgid "Warning: Link script could not be created, continuing in command-line."
msgstr "Advertencia: Script de enlace no puede ser creado, continuando en la línea de comandos."
#: hbmk2.prg:4298 hbmk2.prg:5827 hbmk2.prg:6408
@@ -258,7 +258,7 @@ msgstr "Creando librería dinámica... %1$s"
#: hbmk2.prg:3991 hbmk2.prg:5469 hbmk2.prg:6042
#, c-format
msgid "Warning: Resource compiler script could not be created, continuing in command line."
msgid "Warning: Resource compiler script could not be created, continuing in command-line."
msgstr "Advertencia: Script para compilador de Recursos no puede ser creado, continuando en la línea de comandos."
#: hbmk2.prg:3772 hbmk2.prg:5106 hbmk2.prg:5623
@@ -293,7 +293,7 @@ msgstr "Advertencia: No se puede eliminar destino existente '%1$s'."
#: hbmk2.prg:7960 hbmk2.prg:11650 hbmk2.prg:13120
#, c-format
msgid "Most .hbc lines (libs=, hbcs=, prgflags=, cflags=, ldflags=, libpaths=, instfiles=, instpaths=, echo=) and corresponding command line parameters will accept macros: ${hb_root}, ${hb_dir}, ${hb_dirname}, ${hb_name}, ${hb_self}, ${hb_curdir}, ${hb_tempdir}, ${hb_targetname}, ${hb_targettype}, ${hb_plat}, ${hb_comp}, ${hb_comp_ver}, ${hb_build}, ${hb_cpu}, ${hb_work}, ${hb_workdynsub}, ${hb_dynprefix}, ${hb_dynsuffix}, ${hb_dynext}, ${hb_ver}, ${hb_verstr}, ${hb_major}, ${hb_minor}, ${hb_release}, ${hb_status}, ${hb_revision}, ${hb_host_plat}, ${hb_host_plat_unix}, ${hb_bin}, ${hb_lib}, ${hb_lib3rd}, ${hb_dyn}, ${hb_inc}, ${hb_first}, ${hb_outputdir}, ${hb_outputname}, ${hb_level}, ${<envvar>}. libpaths= also accepts %{hb_name} which translates to the name of the .hbc file under search."
msgid "Most .hbc lines (libs=, hbcs=, prgflags=, cflags=, ldflags=, libpaths=, instfiles=, instpaths=, echo=) and corresponding command-line parameters will accept macros: ${hb_root}, ${hb_dir}, ${hb_dirname}, ${hb_name}, ${hb_self}, ${hb_curdir}, ${hb_tempdir}, ${hb_targetname}, ${hb_targettype}, ${hb_plat}, ${hb_comp}, ${hb_comp_ver}, ${hb_build}, ${hb_cpu}, ${hb_work}, ${hb_workdynsub}, ${hb_dynprefix}, ${hb_dynsuffix}, ${hb_dynext}, ${hb_ver}, ${hb_verstr}, ${hb_major}, ${hb_minor}, ${hb_release}, ${hb_status}, ${hb_revision}, ${hb_host_plat}, ${hb_host_plat_unix}, ${hb_bin}, ${hb_lib}, ${hb_lib3rd}, ${hb_dyn}, ${hb_inc}, ${hb_first}, ${hb_outputdir}, ${hb_outputname}, ${hb_level}, ${<envvar>}. libpaths= also accepts %{hb_name} which translates to the name of the .hbc file under search."
msgstr "Algunas opciones del archivo .hbc (libs=, hbcs=, prgflags=, cflags=, ldflags=, libpaths=, instfiles=, instpaths=, echo=) y sus correspondientes parámetros de línea de comando aceptan las siguientes macros: ${hb_root}, ${hb_dir}, ${hb_dirname}, ${hb_name}, ${hb_self}, ${hb_curdir}, ${hb_tempdir}, ${hb_targetname}, ${hb_targettype}, ${hb_plat}, ${hb_comp}, ${hb_comp_ver}, ${hb_build}, ${hb_cpu}, ${hb_work}, ${hb_workdynsub}, ${hb_dynprefix}, ${hb_dynsuffix}, ${hb_dynext}, ${hb_ver}, ${hb_verstr}, ${hb_major}, ${hb_minor}, ${hb_release}, ${hb_status}, ${hb_revision}, ${hb_host_plat}, ${hb_host_plat_unix}, ${hb_bin}, ${hb_lib}, ${hb_lib3rd}, ${hb_dyn}, ${hb_inc}, ${hb_first}, ${hb_outputdir}, ${hb_outputname}, ${hb_level}, ${<envvar>}. libpaths= tambien acepta %{hb_name} que se traduce en el nombre del archivo. hbc bajo búsqueda."
#: hbmk2.prg:4258 hbmk2.prg:5785 hbmk2.prg:6364
@@ -378,7 +378,7 @@ msgstr "%1$s hace script en el directorio actual siempre se procesa, si existe."
#: hbmk2.prg:4439 hbmk2.prg:5984 hbmk2.prg:6581
#, c-format
msgid "Warning: Lib script could not be created, continuing in command line."
msgid "Warning: Lib script could not be created, continuing in command-line."
msgstr "Advertencia: Script para creación de librería no puede ser creado, continuando en la línea de comandos."
#: hbmk2.prg:4396 hbmk2.prg:5934 hbmk2.prg:6531
@@ -483,7 +483,7 @@ msgstr "para después de la creación de los archivos objeto\ncrear un enlace/co
#: hbmk2.prg:7960
#, c-format
msgid "<script> can be:\n <@script> or <script.hbm>: command line options in file\n <script.hbp>: command line options in file, it also marks a new target if specified on the command line\n <script.hbc>: package configuration file."
msgid "<script> can be:\n <@script> or <script.hbm>: command-line options in file\n <script.hbp>: command-line options in file, it also marks a new target if specified on the command-line\n <script.hbc>: package configuration file."
msgstr "<script> puede ser: <@script>, <script.hbm> o <script.hbp>: opciones de línea de comandos en el archivo,también marca un nuevo objetivo, si se especifica en el <script.hbc> de línea de comandos n: archivo de configuración del paquete."
#: hbmk2.prg:7942 hbmk2.prg:11633 hbmk2.prg:13102
@@ -1308,7 +1308,7 @@ msgstr "Error: Falta dependencia: %1$s"
#: hbmk2.prg:11650 hbmk2.prg:13120
#, c-format
msgid "<script> can be:\n <@script> or <script.hbm>: command line options in file\n <script.hbp>: command line options in file, it also marks a new target if specified on the command line\n <script.hbc>: package configuration file"
msgid "<script> can be:\n <@script> or <script.hbm>: command-line options in file\n <script.hbp>: command-line options in file, it also marks a new target if specified on the command-line\n <script.hbc>: package configuration file"
msgstr "<script> puede ser:\n <@script> o <script.hbm>: comandos de opciones de línea en el archivo\n <script.hbp>: comandos de opciones de línea en el archivo, también marca un nuevo destino si se especifica en la línea de comandos\n <script.hbc>: archivo de configuración de paquetes"
#: hbmk2.prg:11633 hbmk2.prg:13102
@@ -1468,8 +1468,8 @@ msgstr "Destino(s) actualizados"
#: hbmk2.prg:2471
#, c-format
msgid "Warning: Invalid -request value ignored: %1$s"
msgstr "Advertencia: -request no válido, valor ignorado: %1$s"
msgid "Warning: Invalid -request= value ignored: %1$s"
msgstr "Advertencia: -request= no válido, valor ignorado: %1$s"
#: hbmk2.prg:6843
#, c-format

View File

@@ -4,12 +4,12 @@
#: hbmk2.prg:3992 hbmk2.prg:5469 hbmk2.prg:6042
#, c-format
msgid "Warning: Resource compiler script could not be created, continuing in command line."
msgid "Warning: Resource compiler script could not be created, continuing in command-line."
msgstr "Figyelem: Erőforrás fordító parancsállománya ne hozható létre, folytatás parancssorban."
#: hbmk2.prg:4379 hbmk2.prg:5916 hbmk2.prg:6484 hbmk2.prg:6513
#, c-format
msgid "Warning: Dynamic lib link script could not be created, continuing in command line."
msgid "Warning: Dynamic lib link script could not be created, continuing in command-line."
msgstr "Figyelem: Dinamikus függvénykönyvtár parancsállománya nem hozható létre, folytatás parancssorban."
#: hbmk2.prg:7941 hbmk2.prg:11633 hbmk2.prg:13102
@@ -104,7 +104,7 @@ msgstr "A szűrők az egyes .hbc sorokban használhatók és számos opció eset
#: hbmk2.prg:4128 hbmk2.prg:5633 hbmk2.prg:6212
#, c-format
msgid "Warning: C/C++ compiler script could not be created, continuing in command line."
msgid "Warning: C/C++ compiler script could not be created, continuing in command-line."
msgstr "Figyelem: C/C++ fordító parancsállománya ne hozható létre, folytatás parancssorban."
#: hbmk2.prg:7941 hbmk2.prg:11633 hbmk2.prg:13102
@@ -189,8 +189,8 @@ msgstr "Hiba: %1$s"
#: hbmk2.prg:1692 hbmk2.prg:2291 hbmk2.prg:2463
#, c-format
msgid "Warning: Invalid -main value ignored: %1$s"
msgstr "Figyelem: Hibás -main érték figyelmen kívül hagyva: %1$s"
msgid "Warning: Invalid -main= value ignored: %1$s"
msgstr "Figyelem: Hibás -main= érték figyelmen kívül hagyva: %1$s"
#: hbmk2.prg:4610
#, c-format
@@ -394,7 +394,7 @@ msgstr ""
#: hbmk2.prg:7959
#, c-format
msgid "<script> can be:\n <@script> or <script.hbm>: command line options in file\n <script.hbp>: command line options in file, it also marks a new target if specified on the command line\n <script.hbc>: package configuration file."
msgid "<script> can be:\n <@script> or <script.hbm>: command-line options in file\n <script.hbp>: command-line options in file, it also marks a new target if specified on the command-line\n <script.hbc>: package configuration file."
msgstr ""
#: hbmk2.prg:1105 hbmk2.prg:1450 hbmk2.prg:1561
@@ -589,12 +589,12 @@ msgstr "C fordító optimalizálási szintjét állítja (alapértelmezés: be)"
#: hbmk2.prg:4291 hbmk2.prg:5819 hbmk2.prg:6400
#, c-format
msgid "Warning: Link script could not be created, continuing in command line."
msgid "Warning: Link script could not be created, continuing in command-line."
msgstr "Figyelem: Szerkesztő parancsállománya ne hozható létre, folytatás parancssorban."
#: hbmk2.prg:4440 hbmk2.prg:5984 hbmk2.prg:6581
#, c-format
msgid "Warning: Lib script could not be created, continuing in command line."
msgid "Warning: Lib script could not be created, continuing in command-line."
msgstr "Figyelem: Statikus függvénykönyvtár létrehozás parancsállománya nem hozható létre, folytatás parancssorban."
#: hbmk2.prg:7941 hbmk2.prg:11633 hbmk2.prg:13102
@@ -984,7 +984,7 @@ msgstr "GUI/konzol alkalmazás létrehozása"
#: hbmk2.prg:7959 hbmk2.prg:11650 hbmk2.prg:13120
#, c-format
msgid "Most .hbc lines (libs=, hbcs=, prgflags=, cflags=, ldflags=, libpaths=, instfiles=, instpaths=, echo=) and corresponding command line parameters will accept macro variables. libpaths= also accepts %{hb_name} which translates to the name of the .hbc file under search."
msgid "Most .hbc lines (libs=, hbcs=, prgflags=, cflags=, ldflags=, libpaths=, instfiles=, instpaths=, echo=) and corresponding command-line parameters will accept macro variables. libpaths= also accepts %{hb_name} which translates to the name of the .hbc file under search."
msgstr "A legtöbb .hbc opcióban és parancssori megfelelőikben (libs=, hbcs=, prgflags=, cflags=, ldflags=, libpaths=, instfiles=, instpaths=, echo=) használhatók makró változókat. libpaths= also accepts %{hb_name} which translates to the name of the .hbc file under search."
#: hbmk2.prg:7941 hbmk2.prg:11633 hbmk2.prg:13102
@@ -1304,7 +1304,7 @@ msgstr ""
#: hbmk2.prg:11650 hbmk2.prg:13120
#, c-format
msgid "<script> can be:\n <@script> or <script.hbm>: command line options in file\n <script.hbp>: command line options in file, it also marks a new target if specified on the command line\n <script.hbc>: package configuration file"
msgid "<script> can be:\n <@script> or <script.hbm>: command-line options in file\n <script.hbp>: command-line options in file, it also marks a new target if specified on the command-line\n <script.hbc>: package configuration file"
msgstr ""
#: hbmk2.prg:11633 hbmk2.prg:13102
@@ -1464,7 +1464,7 @@ msgstr ""
#: hbmk2.prg:2471
#, c-format
msgid "Warning: Invalid -request value ignored: %1$s"
msgid "Warning: Invalid -request= value ignored: %1$s"
msgstr ""
#: hbmk2.prg:6843

View File

@@ -1260,6 +1260,8 @@ STATIC PROCEDURE hbmk_harbour_dirlayout_init( hbmk )
STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExitStr )
LOCAL nStart := hb_MilliSeconds()
LOCAL hbmk
LOCAL aLIB_BASE_EXTERN
@@ -1431,14 +1433,13 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
LOCAL aThreads
LOCAL thread
LOCAL nStart := hb_MilliSeconds()
LOCAL lDoSupportDetection
LOCAL lDeleteWorkDir := .F.
LOCAL lHBMAINDLLP
LOCAL cStdOutErr
LOCAL aParamINC
hbmk := hbmk_new( .F. )
@@ -1899,10 +1900,11 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
{ {|| iif( ( tmp1 := FindInPath( "icl.exe" ) ) != NIL .AND. "itanium" $ Lower( tmp1 ), tmp1, NIL ) }, "iccia64" }, ;
{ {|| FindInPath( "icl.exe" ) }, "icc" }, ;
{ {|| FindInPath( "xCC.exe" ) }, "xcc" }, ;
{ {|| FindInPath( "tcc.exe" ) }, "tcc" }, ;
{ {|| FindInPath( "dmc.exe" ) }, "dmc" } }
#endif
aCOMPSUP := { ;
"mingw", "msvc", "clang", "bcc", "watcom", "icc", "pocc", "xcc", ;
"mingw", "msvc", "clang", "bcc", "watcom", "icc", "pocc", "xcc", "tcc", ;
"mingw64", "msvc64", "msvcia64", "bcc64", "iccia64", "pocc64" }
l_aLIBHBGT := { "gtwin", "gtwvt", "gtgui" }
hbmk[ _HBMK_cGTDEFAULT ] := "gtwin"
@@ -2469,7 +2471,7 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
/* Command line option were already processed in the first pass, ignore those. */
IF ! Empty( aParam[ _PAR_cFileName ] )
_hbmk_OutErr( hbmk, hb_StrFormat( I_( "Warning: Ignored option valid only on command line: %1$s" ), ParamToString( aParam ) ) )
_hbmk_OutErr( hbmk, hb_StrFormat( I_( "Warning: Ignored option valid only on command-line: %1$s" ), ParamToString( aParam ) ) )
ENDIF
/* -env options used inside makefiles */
@@ -2608,12 +2610,14 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
hbmk[ _HBMK_lINC ] := .T.
IF nLevel == 1
hbmk[ _HBMK_lREBUILD ] := .T.
IncPointlessPair( hbmk, @aParamINC, aParam, cParamL, "-rebuild" )
ENDIF
CASE cParamL == "-rebuildall"
hbmk[ _HBMK_lINC ] := .T.
hbmk[ _HBMK_lREBUILD ] := .T.
IncPointlessPair( hbmk, @aParamINC, aParam, cParamL, "-rebuildall" )
CASE cParamL == "-rebuildpo" ; hbmk[ _HBMK_lREBUILDPO ] := .T.
CASE cParamL == "-minipo" ; hbmk[ _HBMK_lMINIPO ] := .T.
@@ -2622,8 +2626,8 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
CASE cParamL == "-nominipo" ; hbmk[ _HBMK_lMINIPO ] := .F. ; LegacyWarning( hbmk, aParam, "-minipo-" ) /* Compatibility */
#endif
CASE cParamL == "-clean" ; hbmk[ _HBMK_lINC ] := .T. ; hbmk[ _HBMK_lCLEAN ] := .T.
CASE cParamL == "-inc" ; hbmk[ _HBMK_lINC ] := .T.
CASE cParamL == "-inc-" ; hbmk[ _HBMK_lINC ] := .F.
CASE cParamL == "-inc" ; hbmk[ _HBMK_lINC ] := .T. ; IncPointlessPair( hbmk, @aParamINC, aParam, cParamL, "-inc" )
CASE cParamL == "-inc-" ; hbmk[ _HBMK_lINC ] := .F. ; aParamINC := NIL
#ifdef HB_LEGACY_LEVEL4
CASE cParamL == "-noinc" ; hbmk[ _HBMK_lINC ] := .F. ; LegacyWarning( hbmk, aParam, "-inc-" ) /* Compatibility */
#endif
@@ -2853,7 +2857,7 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
IF IsValidHarbourID( cParam := SubStr( cParam, 7 ) )
l_cMAIN := "@" + cParam
ELSE
_hbmk_OutErr( hbmk, hb_StrFormat( I_( "Warning: Invalid -main value ignored: %1$s" ), cParam ) )
_hbmk_OutErr( hbmk, hb_StrFormat( I_( "Warning: Invalid -main= value ignored: %1$s" ), cParam ) )
ENDIF
CASE Left( cParamL, 9 ) == "-request="
@@ -2861,7 +2865,7 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
IF IsValidHarbourID( cParam := SubStr( cParam, 10 ) )
AAddNew( hbmk[ _HBMK_aREQUEST ], Upper( cParam ) )
ELSE
_hbmk_OutErr( hbmk, hb_StrFormat( I_( "Warning: Invalid -request value ignored: %1$s" ), cParam ) )
_hbmk_OutErr( hbmk, hb_StrFormat( I_( "Warning: Invalid -request= value ignored: %1$s" ), cParam ) )
ENDIF
CASE Left( cParamL, 3 ) == "-gt"
@@ -4242,6 +4246,7 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
( hbmk[ _HBMK_cPLAT ] == "win" .AND. hbmk[ _HBMK_cCOMP ] == "mingw" ) .OR. ;
( hbmk[ _HBMK_cPLAT ] == "win" .AND. hbmk[ _HBMK_cCOMP ] == "mingw64" ) .OR. ;
( hbmk[ _HBMK_cPLAT ] == "win" .AND. hbmk[ _HBMK_cCOMP ] == "clang" ) .OR. ;
( hbmk[ _HBMK_cPLAT ] == "win" .AND. hbmk[ _HBMK_cCOMP ] == "tcc" ) .OR. ;
( hbmk[ _HBMK_cPLAT ] == "wce" .AND. hbmk[ _HBMK_cCOMP ] == "mingw" ) .OR. ;
( hbmk[ _HBMK_cPLAT ] == "wce" .AND. hbmk[ _HBMK_cCOMP ] == "mingwarm" )
@@ -4254,13 +4259,17 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
cLibPrefix := "-l"
cLibExt := ""
cObjExt := ".o"
IF hbmk[ _HBMK_cCOMP ] == "clang"
DO CASE
CASE hbmk[ _HBMK_cCOMP ] == "clang"
cBin_CompCPP := hbmk[ _HBMK_cCCPREFIX ] + "clang++" + hbmk[ _HBMK_cCCSUFFIX ] + hbmk[ _HBMK_cCCEXT ]
cBin_CompC := iif( hbmk[ _HBMK_lCPP ] != NIL .AND. hbmk[ _HBMK_lCPP ], cBin_CompCPP, hbmk[ _HBMK_cCCPREFIX ] + "clang" + hbmk[ _HBMK_cCCSUFFIX ] + hbmk[ _HBMK_cCCEXT ] )
ELSE
CASE hbmk[ _HBMK_cCOMP ] == "tcc"
cBin_CompCPP := "tcc.exe"
cBin_CompC := cBin_CompCPP
OTHERWISE
cBin_CompCPP := hbmk[ _HBMK_cCCPREFIX ] + "g++" + hbmk[ _HBMK_cCCSUFFIX ] + hbmk[ _HBMK_cCCEXT ]
cBin_CompC := iif( hbmk[ _HBMK_lCPP ] != NIL .AND. hbmk[ _HBMK_lCPP ], cBin_CompCPP, hbmk[ _HBMK_cCCPREFIX ] + "gcc" + hbmk[ _HBMK_cCCSUFFIX ] + hbmk[ _HBMK_cCCEXT ] )
ENDIF
ENDCASE
cOpt_CompC := "-c"
IF hbmk[ _HBMK_lOPTIM ]
cOpt_CompC += " -O3"
@@ -4319,7 +4328,11 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
cLibPathSep := " "
cLibLibExt := ".a"
cImpLibExt := cLibLibExt
cBin_Lib := hbmk[ _HBMK_cCCPREFIX ] + "ar" + hbmk[ _HBMK_cCCEXT ]
IF hbmk[ _HBMK_cCOMP ] == "tcc"
cBin_Lib := "tiny_libmaker.exe"
ELSE
cBin_Lib := hbmk[ _HBMK_cCCPREFIX ] + "ar" + hbmk[ _HBMK_cCCEXT ]
ENDIF
#if defined( __PLATFORM__WINDOWS )
hbmk[ _HBMK_nCmd_Esc ] := _ESC_DBLQUOTE
#endif
@@ -4333,14 +4346,28 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
ENDIF
cBin_LibHBX := hbmk[ _HBMK_cCCPREFIX ] + "nm" + hbmk[ _HBMK_cCCEXT ]
cOpt_LibHBX := "-g --defined-only -C {LI}"
IF !( hbmk[ _HBMK_cPLAT ] == "wce" )
IF hbmk[ _HBMK_lGUI ]
AAdd( hbmk[ _HBMK_aOPTL ], "-mwindows" )
IF hbmk[ _HBMK_cCOMP ] == "tcc"
DO CASE
CASE hbmk[ _HBMK_cPLAT ] == "wce"
AAdd( hbmk[ _HBMK_aOPTL ], "-Wl,-subsystem=wince" )
CASE hbmk[ _HBMK_lGUI ]
AAdd( hbmk[ _HBMK_aOPTL ], "-Wl,-subsystem=gui" )
IF ! l_lNOHBLIB
l_cCMAIN := "hb_forceLinkMainWin"
ENDIF
ELSE
AAdd( hbmk[ _HBMK_aOPTL ], "-mconsole" )
OTHERWISE
AAdd( hbmk[ _HBMK_aOPTL ], "-Wl,-subsystem=console" )
ENDCASE
ELSE
IF !( hbmk[ _HBMK_cPLAT ] == "wce" )
IF hbmk[ _HBMK_lGUI ]
AAdd( hbmk[ _HBMK_aOPTL ], "-mwindows" )
IF ! l_lNOHBLIB
l_cCMAIN := "hb_forceLinkMainWin"
ENDIF
ELSE
AAdd( hbmk[ _HBMK_aOPTL ], "-mconsole" )
ENDIF
ENDIF
ENDIF
IF hbmk[ _HBMK_lSTATICFULL ]
@@ -6592,7 +6619,7 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
FClose( fhnd )
cOpt_Res := "@" + cScriptFile
ELSE
_hbmk_OutErr( hbmk, I_( "Warning: Resource compiler script could not be created, continuing in command line." ) )
_hbmk_OutErr( hbmk, I_( "Warning: Resource compiler script could not be created, continuing in command-line." ) )
ENDIF
ENDIF
@@ -6768,7 +6795,7 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
FClose( fhnd )
cOpt_CompCLoop := "@" + cScriptFile
ELSE
_hbmk_OutErr( hbmk, I_( "Warning: C/C++ compiler script could not be created, continuing in command line." ) )
_hbmk_OutErr( hbmk, I_( "Warning: C/C++ compiler script could not be created, continuing in command-line." ) )
ENDIF
ENDIF
@@ -6962,7 +6989,7 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
FClose( fhnd )
cOpt_Link := "@" + cScriptFile
ELSE
_hbmk_OutErr( hbmk, I_( "Warning: Link script could not be created, continuing in command line." ) )
_hbmk_OutErr( hbmk, I_( "Warning: Link script could not be created, continuing in command-line." ) )
ENDIF
ENDIF
@@ -7052,7 +7079,7 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
cOpt_Dyn := StrTran( cOpt_Dyn, "{SCRIPT_MINGW}" )
tmp := FNameEscape( cScriptFile, nOpt_Esc, nOpt_FNF )
ELSE
_hbmk_OutErr( hbmk, I_( "Warning: Dynamic lib link script could not be created, continuing in command line." ) )
_hbmk_OutErr( hbmk, I_( "Warning: Dynamic lib link script could not be created, continuing in command-line." ) )
ENDIF
ENDIF
@@ -7082,7 +7109,7 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
FClose( fhnd )
cOpt_Dyn := "@" + cScriptFile
ELSE
_hbmk_OutErr( hbmk, I_( "Warning: Dynamic lib link script could not be created, continuing in command line." ) )
_hbmk_OutErr( hbmk, I_( "Warning: Dynamic lib link script could not be created, continuing in command-line." ) )
ENDIF
ENDIF
@@ -7154,7 +7181,7 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
FClose( fhnd )
cOpt_Lib := "@" + cScriptFile
ELSE
_hbmk_OutErr( hbmk, I_( "Warning: Lib script could not be created, continuing in command line." ) )
_hbmk_OutErr( hbmk, I_( "Warning: Lib script could not be created, continuing in command-line." ) )
ENDIF
ENDIF
@@ -7520,6 +7547,29 @@ STATIC PROCEDURE ProcEnvOption( cValue )
RETURN
STATIC PROCEDURE IncPointlessPair( hbmk, /* @ */ aParam1, aParam2, cParam2L, cOption )
IF aParam1 != NIL .AND. ; /* there was a previous option */
aParam1[ _PAR_cFileName ] == aParam2[ _PAR_cFileName ] .AND. ; /* same location */
Lower( aParam2[ _PAR_cParam ] ) == cOption .AND. ; /* no condition/filter used */
!( aParam1[ 4 ] == aParam2[ _PAR_cParam ] ) /* different effective option */
_hbmk_OutErr( hbmk, hb_StrFormat( ;
iif( Empty( aParam1[ _PAR_cFileName ] ), ;
I_( "Warning: Pointless usage of %1$s and %2$s options together on command-line." ), ;
I_( "Warning: Pointless usage of %1$s and %2$s options together in '%3$s' line %4$d and %5$d." ) ), ;
aParam1[ _PAR_cParam ], ;
aParam2[ _PAR_cParam ], ;
aParam1[ _PAR_cFileName ], ;
aParam1[ _PAR_nLine ], ;
aParam2[ _PAR_nLine ] ) )
ENDIF
aParam1 := AClone( aParam2 )
AAdd( aParam1, cParam2L ) /* [ 4 ] */
RETURN
STATIC FUNCTION ParamToString( aParam )
RETURN iif( Empty( aParam[ _PAR_cFileName ] ), ;
hb_StrFormat( "'%1$s'", aParam[ _PAR_cParam ] ), ; /* on the command line */
@@ -10503,7 +10553,7 @@ STATIC FUNCTION HBC_ProcessOne( hbmk, cFileName, nNestingLevel )
AAddNew( hbmk[ _HBMK_aRESSRC ], tmp )
NEXT
CASE hb_FNameExt( cItemL ) == ".def"
FOR EACH tmp IN FN_Expand( cItem, .F. )
FOR EACH tmp IN FN_Expand( cItem, .F. )
AAddNew( hbmk[ _HBMK_aDEF ], tmp )
NEXT
CASE hb_FNameExt( cItemL ) == ".res"
@@ -10513,11 +10563,11 @@ STATIC FUNCTION HBC_ProcessOne( hbmk, cFileName, nNestingLevel )
/* For MinGW/EMX GCC family add .res files as source input, as they
will need to be converted to coff format with windres (just
like plain .rc files) before feeding them to gcc. */
FOR EACH tmp IN FN_Expand( cItem, .F. )
FOR EACH tmp IN FN_Expand( cItem, .F. )
AAddNew( hbmk[ _HBMK_aRESSRC ], tmp )
NEXT
ELSE
FOR EACH tmp IN FN_Expand( cItem, .F. )
FOR EACH tmp IN FN_Expand( cItem, .F. )
AAddNew( hbmk[ _HBMK_aRESCMP ], tmp )
NEXT
ENDIF
@@ -12822,7 +12872,7 @@ STATIC FUNCTION hbmk_CPU( hbmk )
HBMK_ISCOMP( "mingw|msvc|pocc|watcom|bcc|xcc" ) .OR. ;
( hbmk[ _HBMK_cPLAT ] == "win" .AND. hbmk[ _HBMK_cCOMP ] == "icc" )
RETURN "x86"
CASE HBMK_ISCOMP( "gcc|icc|clang|sunpro|diab|pcc" )
CASE HBMK_ISCOMP( "gcc|icc|clang|sunpro|diab|pcc|tcc" )
/* TOFIX: This is not necessarily correct, since these inherit the
default CPU architecture from OS default, by and large,
and targets can be overridden using user options. */
@@ -12916,7 +12966,7 @@ FUNCTION hbmk_KEYW( hbmk, cFileName, cKeyword, cValue, cOperator )
"|win|wce|dos|os2" + ;
"|bsd|hpux|sunos|beos|qnx|android|vxworks|symbian|linux|darwin|cygwin|minix|aix" + ;
"|msvc|msvc64|msvcia64|msvcarm" + ;
"|pocc|pocc64|poccarm|xcc" + ;
"|pocc|pocc64|poccarm|xcc|tcc" + ;
"|mingw|mingw64|mingwarm|bcc|bcc64|watcom" + ;
"|gcc|gccomf|djgpp" + ;
"|hblib|hbdyn|hbdynvm|hbimplib|hbexe" + ;
@@ -15686,7 +15736,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lMore, lLong )
LOCAL aHdr_Opt_LongCmd := { ;
"", ;
I_( "Options below are available on command line:" ) }
I_( "Options below are available on command-line:" ) }
LOCAL aLst_Opt_LongCmd := { ;
NIL, ;
@@ -15801,7 +15851,8 @@ STATIC PROCEDURE ShowHelp( hbmk, lMore, lLong )
{ hb_ntos( _EXIT_MISSDEPT ) , ExitCodeStr( _EXIT_MISSDEPT ) }, ;
{ hb_ntos( _EXIT_PLUGINPREALL ) , ExitCodeStr( _EXIT_PLUGINPREALL ) }, ;
{ hb_ntos( _EXIT_DEEPPROJNESTING ) , ExitCodeStr( _EXIT_DEEPPROJNESTING ) }, ;
{ hb_ntos( _EXIT_STOP ) , ExitCodeStr( _EXIT_STOP ) } }
{ hb_ntos( _EXIT_STOP ) , ExitCodeStr( _EXIT_STOP ) }, ;
{ I_( "<other>" ) , I_( "when -run option is used, the exit code will be the one returned by the target executable" ) } }
LOCAL aHdr_EnvVar := { ;
"", ;
@@ -15839,9 +15890,16 @@ STATIC PROCEDURE ShowHelp( hbmk, lMore, lLong )
LOCAL aLst_File := { ;
NIL, ;
{ "*.hbp" , I_( "project file. Can contain command line options, expected to create an output. Lines beginning with '#' character are ignored, otherwise newline is optional, same rules apply as for the command-line. Each .hbp file reference will be executed as a sub-project." ) }, ;
{ "*.hbm" , I_( "collection of options. Can be used to collect common ones into a file and include that into project files. Lines beginning with '#' character are ignored, otherwise newline is optional, same rules apply as for the command-line." ) }, ;
{ "*.hbc" , I_( "collection of options that accompany components (aka 'libs', aka packages). Use different syntax than command-line and .hbp/.hbm files. Lines beginning with '#' character are ignored, each directive must be placed in separate lines." ) }, ;
{ "*.hbp" , I_( "project file. Can contain any number of command-line options, which are expected " + ;
"to create an output. Lines beginning with '#' character are ignored, otherwise " + ;
"newline is optional and options are space separated, just like on the command-line. " + ;
"You must enclose option containing space in double quotes. Each .hbp file " + ;
"reference will be executed as a sub-project." ) }, ;
{ "*.hbm" , I_( "collection of options. Can be used to collect common ones into a file and " + ;
"include that into project files. Uses same format as .hbp files." ) }, ;
{ "*.hbc" , I_( "collection of options that accompany components (aka 'libs', aka packages). " + ;
"Use different syntax than command-line and .hbp/.hbm files. Lines beginning " + ;
"with '#' character are ignored, each directive must be placed in separate lines." ) }, ;
{ "*.ch" , I_( "if passed directly as a source file, it will be used as additional standard header" ) }, ;
{ _HBMK_AUTOHBC_NAME , hb_StrFormat( I_( "standard .hbc file that gets automatically processed, if present. Possible location(s) (in order of precedence) [*]: %1$s" ), ArrayToList( AutoConfPathList( .F., hbmk[ _HBMK_lMarkdown ] ), ", " ) ) }, ;
{ _HBMK_AUTOHBM_NAME , I_( "optional .hbm file residing in current working directory, which gets automatically processed before other options" ) }, ;
@@ -16129,9 +16187,9 @@ STATIC PROCEDURE ShowHelp( hbmk, lMore, lLong )
LOCAL aLst_Notes := { ;
NIL, ;
I_( e"<script> can be:\n <@script> or <script.hbm>: command line options in file\n" + ;
e" <script.hbp>: command line options in file, it also marks a new target " + ;
e"if specified on the command line\n" + ;
I_( e"<script> can be:\n <@script> or <script.hbm>: command-line options in file\n" + ;
e" <script.hbp>: command-line options in file, it also marks a new target " + ;
e"if specified on the command-line\n" + ;
e" <script.hbc>: package configuration file" ), ;
I_( "Source filename without extension will load the .hbp file, if such .hbp " + ;
e"file exists in current directory. If not, .prg extension will be used." ), ;
@@ -16150,7 +16208,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lMore, lLong )
e"{(win|linux)&!watcom}, {unix&mt&gui}, -cflag={win}-DMYDEF, -stop{dos}, " + ;
e"-stop{!allwin}" ), ;
I_( "Most .hbc lines (libs=, hbcs=, prgflags=, cflags=, ldflags=, libpaths=, " + ;
"instfiles=, instpaths=, echo=) and corresponding command line parameters " + ;
"instfiles=, instpaths=, echo=) and corresponding command-line parameters " + ;
"will accept macro variables. libpaths= also accepts %{hb_name} which " + ;
"translates to the name of the .hbc file under search." ), ;
I_( e"Options accepting macro variables also support command substitution. " + ;
@@ -16402,7 +16460,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lMore, lLong )
AEval( aHdr_ExampleLib, {| tmp | OutOpt( hbmk, tmp, 0 ) } )
AEval( aLst_ExampleLib, {| tmp | OutOpt( hbmk, tmp, -1 ) } )
AEval( aHdr_Exit, {| tmp | OutHdr( hbmk, tmp + _OUT_EOL ) } )
AEval( aLst_Exit, {| tmp | OutOpt( hbmk, tmp, 8 ) } )
AEval( aLst_Exit, {| tmp | OutOpt( hbmk, tmp, 10 ) } )
ENDIF
AEval( aHdr_Notes, {| tmp | OutHdr( hbmk, tmp + _OUT_EOL ) } )
IF ! hbmk[ _HBMK_lShellMode ]

View File

@@ -88,8 +88,8 @@ msgstr "Compilador C detectado '%1$s' porém ignorado porque as bibliotecas nece
#: hbmk2.prg:1691 hbmk2.prg:2291 hbmk2.prg:2463
#, c-format
msgid "Warning: Invalid -main value ignored: %1$s"
msgstr "Atenção: Opção -main inválida sendo ignorada: %1$s"
msgid "Warning: Invalid -main= value ignored: %1$s"
msgstr "Atenção: Opção -main= inválida sendo ignorada: %1$s"
#: hbmk2.prg:1295 hbmk2.prg:1667 hbmk2.prg:1750
#, c-format
@@ -133,7 +133,7 @@ msgstr "Processando script local: %1$s"
#: hbmk2.prg:4127 hbmk2.prg:5633 hbmk2.prg:6212
#, c-format
msgid "Warning: C/C++ compiler script could not be created, continuing in command line."
msgid "Warning: C/C++ compiler script could not be created, continuing in command-line."
msgstr "Atenção: Script para o compilador C/C++ não pode ser criado, continuando com a linha de comando."
#: hbmk2.prg:4457 hbmk2.prg:6002 hbmk2.prg:6599
@@ -168,7 +168,7 @@ msgstr "As opções também podem ser especificados na variável de ambiente %1$
#: hbmk2.prg:4378 hbmk2.prg:5916 hbmk2.prg:6484 hbmk2.prg:6513
#, c-format
msgid "Warning: Dynamic lib link script could not be created, continuing in command line."
msgid "Warning: Dynamic lib link script could not be created, continuing in command-line."
msgstr "Atenção: Script para linkagem da biblioteca dinâmica não pode ser criado, continuando com a linha de comando."
#: hbmk2.prg:4240 hbmk2.prg:5758 hbmk2.prg:6337
@@ -188,7 +188,7 @@ msgstr "Script para linkagem da biblioteca dinâmica:"
#: hbmk2.prg:4290 hbmk2.prg:5819 hbmk2.prg:6400
#, c-format
msgid "Warning: Link script could not be created, continuing in command line."
msgid "Warning: Link script could not be created, continuing in command-line."
msgstr "Atenção: Script de linkagem não pode ser criado, continuando com a linha de comando."
#: hbmk2.prg:4298 hbmk2.prg:5827 hbmk2.prg:6408
@@ -258,7 +258,7 @@ msgstr "Criando biblioteca dinâmica... %1$s"
#: hbmk2.prg:3991 hbmk2.prg:5469 hbmk2.prg:6042
#, c-format
msgid "Warning: Resource compiler script could not be created, continuing in command line."
msgid "Warning: Resource compiler script could not be created, continuing in command-line."
msgstr "Atenção: Script para o compilador de Recursos não pode ser criado, continuando com a linha de comando."
#: hbmk2.prg:3772 hbmk2.prg:5106 hbmk2.prg:5623
@@ -293,7 +293,7 @@ msgstr "Atenção: Não foi possível excluir o alvo '%1$s'."
#: hbmk2.prg:7960 hbmk2.prg:11650 hbmk2.prg:13120
#, c-format
msgid "Most .hbc lines (libs=, hbcs=, prgflags=, cflags=, ldflags=, libpaths=, instfiles=, instpaths=, echo=) and corresponding command line parameters will accept macros: ${hb_root}, ${hb_dir}, ${hb_dirname}, ${hb_name}, ${hb_self}, ${hb_curdir}, ${hb_tempdir}, ${hb_targetname}, ${hb_targettype}, ${hb_plat}, ${hb_comp}, ${hb_comp_ver}, ${hb_build}, ${hb_cpu}, ${hb_work}, ${hb_workdynsub}, ${hb_dynprefix}, ${hb_dynsuffix}, ${hb_dynext}, ${hb_ver}, ${hb_verstr}, ${hb_major}, ${hb_minor}, ${hb_release}, ${hb_status}, ${hb_revision}, ${hb_host_plat}, ${hb_host_plat_unix}, ${hb_bin}, ${hb_lib}, ${hb_lib3rd}, ${hb_dyn}, ${hb_inc}, ${hb_first}, ${hb_outputdir}, ${hb_outputname}, ${hb_level}, ${<envvar>}. libpaths= also accepts %{hb_name} which translates to the name of the .hbc file under search."
msgid "Most .hbc lines (libs=, hbcs=, prgflags=, cflags=, ldflags=, libpaths=, instfiles=, instpaths=, echo=) and corresponding command-line parameters will accept macros: ${hb_root}, ${hb_dir}, ${hb_dirname}, ${hb_name}, ${hb_self}, ${hb_curdir}, ${hb_tempdir}, ${hb_targetname}, ${hb_targettype}, ${hb_plat}, ${hb_comp}, ${hb_comp_ver}, ${hb_build}, ${hb_cpu}, ${hb_work}, ${hb_workdynsub}, ${hb_dynprefix}, ${hb_dynsuffix}, ${hb_dynext}, ${hb_ver}, ${hb_verstr}, ${hb_major}, ${hb_minor}, ${hb_release}, ${hb_status}, ${hb_revision}, ${hb_host_plat}, ${hb_host_plat_unix}, ${hb_bin}, ${hb_lib}, ${hb_lib3rd}, ${hb_dyn}, ${hb_inc}, ${hb_first}, ${hb_outputdir}, ${hb_outputname}, ${hb_level}, ${<envvar>}. libpaths= also accepts %{hb_name} which translates to the name of the .hbc file under search."
msgstr "Algumas opções do .hbc (libs=, hbcs=, prgflags=, cflags=, ldflags=, libpaths=, instfiles=, instpaths=, echo=) e seus correspondentes parâmetros de linha-de-comando aceitam as seguintes macros: ${hb_root}, ${hb_dir}, ${hb_dirname}, ${hb_name}, ${hb_self}, ${hb_curdir}, ${hb_tempdir}, ${hb_targetname}, ${hb_targettype}, ${hb_plat}, ${hb_comp}, ${hb_comp_ver}, ${hb_build}, ${hb_cpu}, ${hb_work}, ${hb_workdynsub}, ${hb_dynprefix}, ${hb_dynsuffix}, ${hb_dynext}, ${hb_ver}, ${hb_verstr}, ${hb_major}, ${hb_minor}, ${hb_release}, ${hb_status}, ${hb_revision}, ${hb_host_plat}, ${hb_host_plat_unix}, ${hb_bin}, ${hb_lib}, ${hb_lib3rd}, ${hb_dyn}, ${hb_inc}, ${hb_first}, ${hb_outputdir}, ${hb_outputname}, ${hb_level}, ${<envvar>}. libpaths= também aceitam %{hb_name} que se traduz como o nome do arquivo .hbc sob pesquisa."
#: hbmk2.prg:4258 hbmk2.prg:5785 hbmk2.prg:6364
@@ -378,7 +378,7 @@ msgstr "O script %1$s no diretório atual será sempre processado se existir."
#: hbmk2.prg:4439 hbmk2.prg:5984 hbmk2.prg:6581
#, c-format
msgid "Warning: Lib script could not be created, continuing in command line."
msgid "Warning: Lib script could not be created, continuing in command-line."
msgstr "Atenção: Script para criação da biblioteca não pode ser criado, continuando com a linha de comando."
#: hbmk2.prg:4396 hbmk2.prg:5934 hbmk2.prg:6531
@@ -483,7 +483,7 @@ msgstr "interromper após criar os arquivos objetos\ncriar um link ou copiar o %
#: hbmk2.prg:7960
#, c-format
msgid "<script> can be:\n <@script> or <script.hbm>: command line options in file\n <script.hbp>: command line options in file, it also marks a new target if specified on the command line\n <script.hbc>: package configuration file."
msgid "<script> can be:\n <@script> or <script.hbm>: command-line options in file\n <script.hbp>: command-line options in file, it also marks a new target if specified on the command-line\n <script.hbc>: package configuration file."
msgstr "<script> pode ser <@script> (no formato .hbm), <script.hbm>, <script.hbp> (denotando um novo alvo) ou <script.hbc>."
#: hbmk2.prg:7942 hbmk2.prg:11633 hbmk2.prg:13102
@@ -1308,7 +1308,7 @@ msgstr ""
#: hbmk2.prg:11650 hbmk2.prg:13120
#, c-format
msgid "<script> can be:\n <@script> or <script.hbm>: command line options in file\n <script.hbp>: command line options in file, it also marks a new target if specified on the command line\n <script.hbc>: package configuration file"
msgid "<script> can be:\n <@script> or <script.hbm>: command-line options in file\n <script.hbp>: command-line options in file, it also marks a new target if specified on the command-line\n <script.hbc>: package configuration file"
msgstr ""
#: hbmk2.prg:11633 hbmk2.prg:13102
@@ -1468,7 +1468,7 @@ msgstr ""
#: hbmk2.prg:2471
#, c-format
msgid "Warning: Invalid -request value ignored: %1$s"
msgid "Warning: Invalid -request= value ignored: %1$s"
msgstr ""
#: hbmk2.prg:6843