2011-03-02 04:38 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/hbmk2.es_PE.po
+ Added -pic[-] option and pic= .hbc command to enable PIC.
It's always enabled when using -hbdyn/-hbdynvm.
! Using -fPIC for bsd. (in sync with core make)
+ Added sunos/sparc PIC option, though to really kick in,
CPU detection should be implemented, or it should be
manually supplied using -cpu=sparc option.
Please review these.
* contrib/hblzf/3rd/liblzf/lzf_d.c
* contrib/hblzf/3rd/liblzf/lzfP.h
* contrib/hblzf/3rd/liblzf/LICENSE
* contrib/hblzf/3rd/liblzf/lzf.hbp
* contrib/hblzf/3rd/liblzf/liblzf.dif
* contrib/hblzf/3rd/liblzf/Changes
* contrib/hblzf/3rd/liblzf/README
* contrib/hblzf/3rd/liblzf/lzf_c.c
* update lzf to 3.6 [Tamas Tevesz]
* contrib/hbqt/qtgui/hbqt_init.cpp
* Renamed HBQT_PUSHEVENT() to HBQTGUI_EVENTPUSH().
* Commented this new function with a detailed TOFIX note,
with some notes needing more close inspection.
This commit is contained in:
@@ -16,17 +16,45 @@
|
||||
The license applies to all entries newer than 2009-04-28.
|
||||
*/
|
||||
|
||||
2011-03-02 04:38 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* utils/hbmk2/hbmk2.pt_BR.po
|
||||
* utils/hbmk2/hbmk2.hu_HU.po
|
||||
* utils/hbmk2/hbmk2.prg
|
||||
* utils/hbmk2/hbmk2.es_PE.po
|
||||
+ Added -pic[-] option and pic= .hbc command to enable PIC.
|
||||
It's always enabled when using -hbdyn/-hbdynvm.
|
||||
! Using -fPIC for bsd. (in sync with core make)
|
||||
+ Added sunos/sparc PIC option, though to really kick in,
|
||||
CPU detection should be implemented, or it should be
|
||||
manually supplied using -cpu=sparc option.
|
||||
Please review these.
|
||||
|
||||
* contrib/hblzf/3rd/liblzf/lzf_d.c
|
||||
* contrib/hblzf/3rd/liblzf/lzfP.h
|
||||
* contrib/hblzf/3rd/liblzf/LICENSE
|
||||
* contrib/hblzf/3rd/liblzf/lzf.hbp
|
||||
* contrib/hblzf/3rd/liblzf/liblzf.dif
|
||||
* contrib/hblzf/3rd/liblzf/Changes
|
||||
* contrib/hblzf/3rd/liblzf/README
|
||||
* contrib/hblzf/3rd/liblzf/lzf_c.c
|
||||
* update lzf to 3.6 [Tamas Tevesz]
|
||||
|
||||
* contrib/hbqt/qtgui/hbqt_init.cpp
|
||||
* Renamed HBQT_PUSHEVENT() to HBQTGUI_EVENTPUSH().
|
||||
* Commented this new function with a detailed TOFIX note,
|
||||
with some notes needing more close inspection.
|
||||
|
||||
2011-03-01 18:22 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
|
||||
* contrib/hbqt/qtgui/hbqt_init.cpp
|
||||
+ Added: HBQT_PUSHEVENT( <qObject>, <nQEventType>, <nKey>,
|
||||
+ Added: HBQT_PUSHEVENT( <qObject>, <nQEventType>, <nKey>,
|
||||
[nKeyboardModifiers], [cKey], [lRepeat=.f.], [ntimes=1] )
|
||||
|
||||
Current implementation is only for keyboard events, viz.,
|
||||
QEvent_KeyPress and QEvent_KeyRelease. Mouse events needs
|
||||
QPoint() to be present which is in the gtcore namespace,
|
||||
Current implementation is only for keyboard events, viz.,
|
||||
QEvent_KeyPress and QEvent_KeyRelease. Mouse events needs
|
||||
QPoint() to be present which is in the gtcore namespace,
|
||||
so needs a different approach as per current hbQT scenario,
|
||||
do the needful.
|
||||
|
||||
|
||||
2011-03-01 17:38 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
|
||||
* contrib/hbqt/qtnetwork/hbqt_init.cpp
|
||||
* contrib/hbqt/qtnetwork/hbqtnetwork.hbx
|
||||
|
||||
@@ -1,3 +1,14 @@
|
||||
3.6 Mon Feb 7 17:37:31 CET 2011
|
||||
- fixed hash calculation in C♯ version (Tiago Freitas Leal).
|
||||
- unroll copy for small sizes, use memcpy for larger sizes,
|
||||
greatly speeding up decompression in most cases.
|
||||
- finally disable rep movsb - it's a big loss on modern intel cpus,
|
||||
and only a small win on amd cpus.
|
||||
- improve C++ compatibility of the code.
|
||||
- slightly improve compressor speed.
|
||||
- halved memory requirements for compressor on 64 bit architectures,
|
||||
which can improve the speed quite a bit on older cpus.
|
||||
|
||||
3.5 Fri May 1 02:28:42 CEST 2009
|
||||
- lzf_compress did sometimes write one octet past the given output
|
||||
buffer (analyzed and nice testcase by Salvatore Sanfilippo).
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright (c) 2000-2007 Marc Alexander Lehmann <schmorp@schmorp.de>
|
||||
Copyright (c) 2000-2009 Marc Alexander Lehmann <schmorp@schmorp.de>
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modifica-
|
||||
tion, are permitted provided that the following conditions are met:
|
||||
|
||||
@@ -10,7 +10,7 @@ DESCRIPTION
|
||||
|
||||
A C♯ implementation without external dependencies is available, too.
|
||||
|
||||
I do not know for certain wether any patents in any countries apply
|
||||
I do not know for certain whether any patents in any countries apply
|
||||
to this algorithm, but at the moment it is believed that it is free
|
||||
from any patents. More importantly, it is also free to use in every
|
||||
software package (see LICENSE).
|
||||
@@ -20,7 +20,7 @@ DESCRIPTION
|
||||
|
||||
NOTE: This package contains a very bare-bones command-line utility
|
||||
which is neither optimized for speed nor for compression. This library
|
||||
is really intented to be used inside larger programs.
|
||||
is really intended to be used inside larger programs.
|
||||
|
||||
AUTHOR
|
||||
This library was written by Marc Lehmann <schmorp@schmorp.de> (See also
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
diff -urN liblzf.orig/lzf.h liblzf/lzf.h
|
||||
--- liblzf.orig/lzf.h 2011-01-04 15:34:58 +0000
|
||||
+++ liblzf/lzf.h 2011-01-04 14:30:25 +0000
|
||||
--- liblzf.orig/lzf.h 2011-03-01 17:34:48.870928894 +0100
|
||||
+++ liblzf/lzf.h 2011-03-01 17:34:48.910930654 +0100
|
||||
@@ -37,6 +37,10 @@
|
||||
#ifndef LZF_H
|
||||
#define LZF_H
|
||||
|
||||
@@ -19,8 +19,8 @@ lzf_c.c
|
||||
lzf_d.c
|
||||
|
||||
# ORIGIN http://liblzf.plan9.de
|
||||
# VER 3.5
|
||||
# URL http://dist.schmorp.de/liblzf/liblzf-3.5.tar.gz
|
||||
# VER 3.6
|
||||
# URL http://dist.schmorp.de/liblzf/liblzf-3.6.tar.gz
|
||||
# DIFF liblzf.dif
|
||||
#
|
||||
# MAP LICENSE
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
* the difference between 15 and 14 is very small
|
||||
* for small blocks (and 14 is usually a bit faster).
|
||||
* For a low-memory/faster configuration, use HLOG == 13;
|
||||
* For best compression, use 15 or 16 (or more, up to 23).
|
||||
* For best compression, use 15 or 16 (or more, up to 22).
|
||||
*/
|
||||
#ifndef HLOG
|
||||
# define HLOG 16
|
||||
@@ -93,15 +93,15 @@
|
||||
|
||||
/*
|
||||
* Avoid assigning values to errno variable? for some embedding purposes
|
||||
* (linux kernel for example), this is neccessary. NOTE: this breaks
|
||||
* the documentation in lzf.h.
|
||||
* (linux kernel for example), this is necessary. NOTE: this breaks
|
||||
* the documentation in lzf.h. Avoiding errno has no speed impact.
|
||||
*/
|
||||
#ifndef AVOID_ERRNO
|
||||
# define AVOID_ERRNO 0
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Wether to pass the LZF_STATE variable as argument, or allocate it
|
||||
* Whether to pass the LZF_STATE variable as argument, or allocate it
|
||||
* on the stack. For small-stack environments, define this to 1.
|
||||
* NOTE: this breaks the prototype in lzf.h.
|
||||
*/
|
||||
@@ -110,27 +110,63 @@
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Wether to add extra checks for input validity in lzf_decompress
|
||||
* Whether to add extra checks for input validity in lzf_decompress
|
||||
* and return EINVAL if the input stream has been corrupted. This
|
||||
* only shields against overflowing the input buffer and will not
|
||||
* detect most corrupted streams.
|
||||
* This check is not normally noticable on modern hardware
|
||||
* This check is not normally noticeable on modern hardware
|
||||
* (<1% slowdown), but might slow down older cpus considerably.
|
||||
*/
|
||||
#ifndef CHECK_INPUT
|
||||
# define CHECK_INPUT 1
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Whether to store pointers or offsets inside the hash table. On
|
||||
* 64 bit architetcures, pointers take up twice as much space,
|
||||
* and might also be slower. Default is to autodetect.
|
||||
*/
|
||||
/*#define LZF_USER_OFFSETS autodetect */
|
||||
|
||||
/*****************************************************************************/
|
||||
/* nothing should be changed below */
|
||||
|
||||
#ifdef __cplusplus
|
||||
# include <cstring>
|
||||
# include <climits>
|
||||
using namespace std;
|
||||
#else
|
||||
# include <string.h>
|
||||
# include <limits.h>
|
||||
#endif
|
||||
|
||||
#ifndef LZF_USE_OFFSETS
|
||||
# if defined (WIN32)
|
||||
# define LZF_USE_OFFSETS defined(_M_X64)
|
||||
# else
|
||||
# if __cplusplus > 199711L
|
||||
# include <cstdint>
|
||||
# else
|
||||
# include <stdint.h>
|
||||
# endif
|
||||
# define LZF_USE_OFFSETS (UINTPTR_MAX > 0xffffffffU)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
typedef unsigned char u8;
|
||||
|
||||
typedef const u8 *LZF_STATE[1 << (HLOG)];
|
||||
#if LZF_USE_OFFSETS
|
||||
# define LZF_HSLOT_BIAS ((const u8 *)in_data)
|
||||
typedef unsigned int LZF_HSLOT;
|
||||
#else
|
||||
# define LZF_HSLOT_BIAS 0
|
||||
typedef const u8 *LZF_HSLOT;
|
||||
#endif
|
||||
|
||||
typedef LZF_HSLOT LZF_STATE[1 << (HLOG)];
|
||||
|
||||
#if !STRICT_ALIGN
|
||||
/* for unaligned accesses we need a 16 bit datatype. */
|
||||
# include <limits.h>
|
||||
# if USHRT_MAX == 65535
|
||||
typedef unsigned short u16;
|
||||
# elif UINT_MAX == 65535
|
||||
@@ -142,17 +178,7 @@ typedef const u8 *LZF_STATE[1 << (HLOG)];
|
||||
#endif
|
||||
|
||||
#if ULTRA_FAST
|
||||
# if defined(VERY_FAST)
|
||||
# undef VERY_FAST
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if INIT_HTAB
|
||||
# ifdef __cplusplus
|
||||
# include <cstring>
|
||||
# else
|
||||
# include <string.h>
|
||||
# endif
|
||||
# undef VERY_FAST
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000-2008 Marc Alexander Lehmann <schmorp@schmorp.de>
|
||||
* Copyright (c) 2000-2010 Marc Alexander Lehmann <schmorp@schmorp.de>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modifica-
|
||||
* tion, are permitted provided that the following conditions are met:
|
||||
@@ -40,8 +40,8 @@
|
||||
|
||||
/*
|
||||
* don't play with this unless you benchmark!
|
||||
* decompression is not dependent on the hash function
|
||||
* the hashing function might seem strange, just believe me
|
||||
* the data format is not dependent on the hash function.
|
||||
* the hash function might seem strange, just believe me,
|
||||
* it works ;)
|
||||
*/
|
||||
#ifndef FRST
|
||||
@@ -89,9 +89,9 @@
|
||||
/*
|
||||
* compressed format
|
||||
*
|
||||
* 000LLLLL <L+1> ; literal
|
||||
* LLLooooo oooooooo ; backref L
|
||||
* 111ooooo LLLLLLLL oooooooo ; backref L+7
|
||||
* 000LLLLL <L+1> ; literal, L+1=1..33 octets
|
||||
* LLLooooo oooooooo ; backref L+1=1..7 octets, o+1=1..4096 offset
|
||||
* 111ooooo LLLLLLLL oooooooo ; backref L+8 octets, o+1=1..4096 offset
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -106,7 +106,6 @@ lzf_compress (const void *const in_data, unsigned int in_len,
|
||||
#if !LZF_STATE_ARG
|
||||
LZF_STATE htab;
|
||||
#endif
|
||||
const u8 **hslot;
|
||||
const u8 *ip = (const u8 *)in_data;
|
||||
u8 *op = (u8 *)out_data;
|
||||
const u8 *in_end = ip + in_len;
|
||||
@@ -133,10 +132,6 @@ lzf_compress (const void *const in_data, unsigned int in_len,
|
||||
|
||||
#if INIT_HTAB
|
||||
memset (htab, 0, sizeof (htab));
|
||||
# if 0
|
||||
for (hslot = htab; hslot < htab + HSIZE; hslot++)
|
||||
*hslot++ = ip;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
lit = 0; op++; /* start run */
|
||||
@@ -144,24 +139,23 @@ lzf_compress (const void *const in_data, unsigned int in_len,
|
||||
hval = FRST (ip);
|
||||
while (ip < in_end - 2)
|
||||
{
|
||||
LZF_HSLOT *hslot;
|
||||
|
||||
hval = NEXT (hval, ip);
|
||||
hslot = htab + IDX (hval);
|
||||
ref = *hslot; *hslot = ip;
|
||||
ref = *hslot + LZF_HSLOT_BIAS; *hslot = ip - LZF_HSLOT_BIAS;
|
||||
|
||||
if (1
|
||||
#if INIT_HTAB
|
||||
&& ref < ip /* the next test will actually take care of this, but this is faster */
|
||||
#endif
|
||||
&& (off = ip - ref - 1) < MAX_OFF
|
||||
&& ip + 4 < in_end
|
||||
&& ref > (u8 *)in_data
|
||||
#if STRICT_ALIGN
|
||||
&& ref[0] == ip[0]
|
||||
&& ref[1] == ip[1]
|
||||
&& ref[2] == ip[2]
|
||||
#if STRICT_ALIGN
|
||||
&& ((ref[1] << 8) | ref[0]) == ((ip[1] << 8) | ip[0])
|
||||
#else
|
||||
&& *(u16 *)ref == *(u16 *)ip
|
||||
&& ref[2] == ip[2]
|
||||
#endif
|
||||
)
|
||||
{
|
||||
@@ -223,6 +217,7 @@ lzf_compress (const void *const in_data, unsigned int in_len,
|
||||
}
|
||||
|
||||
*op++ = off;
|
||||
|
||||
lit = 0; op++; /* start run */
|
||||
|
||||
ip += len + 1;
|
||||
@@ -238,12 +233,12 @@ lzf_compress (const void *const in_data, unsigned int in_len,
|
||||
hval = FRST (ip);
|
||||
|
||||
hval = NEXT (hval, ip);
|
||||
htab[IDX (hval)] = ip;
|
||||
htab[IDX (hval)] = ip - LZF_HSLOT_BIAS;
|
||||
ip++;
|
||||
|
||||
# if VERY_FAST && !ULTRA_FAST
|
||||
hval = NEXT (hval, ip);
|
||||
htab[IDX (hval)] = ip;
|
||||
htab[IDX (hval)] = ip - LZF_HSLOT_BIAS;
|
||||
ip++;
|
||||
# endif
|
||||
#else
|
||||
@@ -252,7 +247,7 @@ lzf_compress (const void *const in_data, unsigned int in_len,
|
||||
do
|
||||
{
|
||||
hval = NEXT (hval, ip);
|
||||
htab[IDX (hval)] = ip;
|
||||
htab[IDX (hval)] = ip - LZF_HSLOT_BIAS;
|
||||
ip++;
|
||||
}
|
||||
while (len--);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000-2007 Marc Alexander Lehmann <schmorp@schmorp.de>
|
||||
* Copyright (c) 2000-2010 Marc Alexander Lehmann <schmorp@schmorp.de>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modifica-
|
||||
* tion, are permitted provided that the following conditions are met:
|
||||
@@ -43,12 +43,14 @@
|
||||
# define SET_ERRNO(n) errno = (n)
|
||||
#endif
|
||||
|
||||
#if USE_REP_MOVSB /* small win on amd, big loss on intel */
|
||||
#if (__i386 || __amd64) && __GNUC__ >= 3
|
||||
# define lzf_movsb(dst, src, len) \
|
||||
asm ("rep movsb" \
|
||||
: "=D" (dst), "=S" (src), "=c" (len) \
|
||||
: "0" (dst), "1" (src), "2" (len));
|
||||
#endif
|
||||
#endif
|
||||
|
||||
unsigned int
|
||||
lzf_decompress (const void *const in_data, unsigned int in_len,
|
||||
@@ -84,9 +86,17 @@ lzf_decompress (const void *const in_data, unsigned int in_len,
|
||||
#ifdef lzf_movsb
|
||||
lzf_movsb (op, ip, ctrl);
|
||||
#else
|
||||
do
|
||||
*op++ = *ip++;
|
||||
while (--ctrl);
|
||||
switch (ctrl)
|
||||
{
|
||||
case 32: *op++ = *ip++; case 31: *op++ = *ip++; case 30: *op++ = *ip++; case 29: *op++ = *ip++;
|
||||
case 28: *op++ = *ip++; case 27: *op++ = *ip++; case 26: *op++ = *ip++; case 25: *op++ = *ip++;
|
||||
case 24: *op++ = *ip++; case 23: *op++ = *ip++; case 22: *op++ = *ip++; case 21: *op++ = *ip++;
|
||||
case 20: *op++ = *ip++; case 19: *op++ = *ip++; case 18: *op++ = *ip++; case 17: *op++ = *ip++;
|
||||
case 16: *op++ = *ip++; case 15: *op++ = *ip++; case 14: *op++ = *ip++; case 13: *op++ = *ip++;
|
||||
case 12: *op++ = *ip++; case 11: *op++ = *ip++; case 10: *op++ = *ip++; case 9: *op++ = *ip++;
|
||||
case 8: *op++ = *ip++; case 7: *op++ = *ip++; case 6: *op++ = *ip++; case 5: *op++ = *ip++;
|
||||
case 4: *op++ = *ip++; case 3: *op++ = *ip++; case 2: *op++ = *ip++; case 1: *op++ = *ip++;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
else /* back reference */
|
||||
@@ -132,12 +142,39 @@ lzf_decompress (const void *const in_data, unsigned int in_len,
|
||||
len += 2;
|
||||
lzf_movsb (op, ref, len);
|
||||
#else
|
||||
*op++ = *ref++;
|
||||
*op++ = *ref++;
|
||||
switch (len)
|
||||
{
|
||||
default:
|
||||
len += 2;
|
||||
|
||||
do
|
||||
*op++ = *ref++;
|
||||
while (--len);
|
||||
if (op >= ref + len)
|
||||
{
|
||||
/* disjunct areas */
|
||||
memcpy (op, ref, len);
|
||||
op += len;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* overlapping, use octte by octte copying */
|
||||
do
|
||||
*op++ = *ref++;
|
||||
while (--len);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 9: *op++ = *ref++;
|
||||
case 8: *op++ = *ref++;
|
||||
case 7: *op++ = *ref++;
|
||||
case 6: *op++ = *ref++;
|
||||
case 5: *op++ = *ref++;
|
||||
case 4: *op++ = *ref++;
|
||||
case 3: *op++ = *ref++;
|
||||
case 2: *op++ = *ref++;
|
||||
case 1: *op++ = *ref++;
|
||||
case 0: *op++ = *ref++; /* two octets more */
|
||||
*op++ = *ref++;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -588,7 +588,15 @@ static void hbqt_lib_exit( void * cargo )
|
||||
HB_SYMBOL_UNUSED( cargo );
|
||||
}
|
||||
|
||||
HB_FUNC( HBQT_PUSHEVENT )
|
||||
#if 0
|
||||
/* TOFIX: Accept .prg level object already created instead of duplicating
|
||||
logic present in QKeyEvent.qth and QMouseEvent.qth.
|
||||
Check its type here.
|
||||
Another pending TOFIX is why this doesn't work, and why does it
|
||||
GPF even:
|
||||
QApplication():sendEvent( oWnd, QKeyEvent( QEvent_KeyPress, Qt_Key_X, Qt_NoModifier, "X", 0 ) )
|
||||
*/
|
||||
HB_FUNC( HBQTGUI_EVENTPUSH )
|
||||
{
|
||||
switch( hb_parni( 2 ) )
|
||||
{
|
||||
@@ -626,6 +634,7 @@ HB_FUNC( HBQT_PUSHEVENT )
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
HB_CALL_ON_STARTUP_BEGIN( _hbqtgui_init_ )
|
||||
hb_vmAtInit( hbqt_lib_init, NULL );
|
||||
|
||||
@@ -478,8 +478,8 @@ msgstr "las opciones regulares de compilador Harbour también son aceptadas.\\n(
|
||||
|
||||
#: hbmk2.prg:7960
|
||||
#, c-format
|
||||
msgid ".hbc options (they should come in separate lines): libs=[<libname[s]>], hbcs=[<.hbc file[s]>], gt=[gtname], syslibs=[<libname[s]>], frameworks=[<framework[s]>], prgflags=[Harbour flags], cflags=[C compiler flags], resflags=[resource compiler flags], ldflags=[linker flags], pflags=[flags for plugins], libpaths=[paths], sources=[source files], psources=[source files for plugins], incpaths=[paths], requests=[func], instfiles=[files], instpaths=[paths], autohbcs=[<.ch>:<.hbc>], plugins=[plugins], gui|mt|shared|nulrdd|debug|opt|map|implib|hbcppmm|strip|run|inc=[yes|no], cpp=[yes|no|def], warn=[max|yes|low|no|def], compr=[yes|no|def|min|max], head=[off|full|native|dep], skip=<reason>, stop=<reason>, echo=<text>\\nLines starting with '#' char are ignored"
|
||||
msgstr "Opciones de .hbc (que debe estar en líneas separadas): libs=[<libname[s]>], hbcs=[<.hbc file[s]>], gt=[gtname], syslibs=[<libname[s]>], frameworks=[<framework[s]>], prgflags=[Harbour flags], cflags=[C compiler flags], resflags=[resource compiler flags], ldflags=[linker flags], pflags=[flags for plugins], libpaths=[paths], sources=[source files], psources=[source files for plugins], incpaths=[paths], requests=[func], instfiles=[files], instpaths=[paths], autohbcs=[<.ch>:<.hbc>], plugins=[plugins], gui|mt|shared|nulrdd|debug|opt|map|implib|hbcppmm|strip|run|inc=[yes|no], cpp=[yes|no|def], warn=[max|yes|low|no|def], compr=[yes|no|def|min|max], head=[off|full|native|dep], skip=<reason>, stop=<reason>, echo=<text>\nLas líneas que empiezan con en carácter '#' son ignoradas"
|
||||
msgid ".hbc options (they should come in separate lines): libs=[<libname[s]>], hbcs=[<.hbc file[s]>], gt=[gtname], syslibs=[<libname[s]>], frameworks=[<framework[s]>], prgflags=[Harbour flags], cflags=[C compiler flags], resflags=[resource compiler flags], ldflags=[linker flags], pflags=[flags for plugins], libpaths=[paths], sources=[source files], psources=[source files for plugins], incpaths=[paths], requests=[func], instfiles=[files], instpaths=[paths], autohbcs=[<.ch>:<.hbc>], plugins=[plugins], gui|mt|pic|shared|nulrdd|debug|opt|map|implib|hbcppmm|strip|run|inc=[yes|no], cpp=[yes|no|def], warn=[max|yes|low|no|def], compr=[yes|no|def|min|max], head=[off|full|native|dep], skip=<reason>, stop=<reason>, echo=<text>\\nLines starting with '#' char are ignored"
|
||||
msgstr "Opciones de .hbc (que debe estar en líneas separadas): libs=[<libname[s]>], hbcs=[<.hbc file[s]>], gt=[gtname], syslibs=[<libname[s]>], frameworks=[<framework[s]>], prgflags=[Harbour flags], cflags=[C compiler flags], resflags=[resource compiler flags], ldflags=[linker flags], pflags=[flags for plugins], libpaths=[paths], sources=[source files], psources=[source files for plugins], incpaths=[paths], requests=[func], instfiles=[files], instpaths=[paths], autohbcs=[<.ch>:<.hbc>], plugins=[plugins], gui|mt|pic|shared|nulrdd|debug|opt|map|implib|hbcppmm|strip|run|inc=[yes|no], cpp=[yes|no|def], warn=[max|yes|low|no|def], compr=[yes|no|def|min|max], head=[off|full|native|dep], skip=<reason>, stop=<reason>, echo=<text>\nLas líneas que empiezan con en carácter '#' son ignoradas"
|
||||
|
||||
#: hbmk2.prg:7942 hbmk2.prg:11633
|
||||
#, c-format
|
||||
|
||||
@@ -1009,8 +1009,8 @@ msgstr "cél futtatása"
|
||||
|
||||
#: hbmk2.prg:7959
|
||||
#, c-format
|
||||
msgid ".hbc options (they should come in separate lines): libs=[<libname[s]>], hbcs=[<.hbc file[s]>], gt=[gtname], syslibs=[<libname[s]>], frameworks=[<framework[s]>], prgflags=[Harbour flags], cflags=[C compiler flags], resflags=[resource compiler flags], ldflags=[linker flags], pflags=[flags for plugins], libpaths=[paths], sources=[source files], psources=[source files for plugins], incpaths=[paths], requests=[func], instfiles=[files], instpaths=[paths], autohbcs=[<.ch>:<.hbc>], plugins=[plugins], gui|mt|shared|nulrdd|debug|opt|map|implib|hbcppmm|strip|run|inc=[yes|no], cpp=[yes|no|def], warn=[max|yes|low|no|def], compr=[yes|no|def|min|max], head=[off|full|native|dep], skip=<reason>, stop=<reason>, echo=<text>\\nLines starting with '#' char are ignored"
|
||||
msgstr ".hbc opciók (külön sorokba írandók): libs=[<libnevek>], hbcs=[<.hbc nevek>], gt=[gtnév], syslibs=[<libnevek>], frameworks=[<framework-ök>], prgflags=[Harbour opciók], cflags=[C fordító opciók], resflags=[erőforrás fordító kapcsolók], ldflags=[szerkesztő kapcsolók], libpaths=[útvonalak], sources=[forrás fájlok], incpaths=[útvonalak], instfiles=[fájlok], instpaths=[útvonalak], autohbcs=[<.ch>:<.hbc>], plugins=[plugin-ek], gui|mt|shared|nulrdd|debug|opt|hbcppmm|map|implib|strip|run|inc=[yes|no], cpp=[yes|no|def], warn=[max|yes|low|no|def], compr=[yes|no|def|min|max], head=[off|full|native|dep], skip=<ok>, stop=<ok>, echo=<szöveg>\\n'#' karakterrel kezdődő sorokat figyelmen kívül hagyja"
|
||||
msgid ".hbc options (they should come in separate lines): libs=[<libname[s]>], hbcs=[<.hbc file[s]>], gt=[gtname], syslibs=[<libname[s]>], frameworks=[<framework[s]>], prgflags=[Harbour flags], cflags=[C compiler flags], resflags=[resource compiler flags], ldflags=[linker flags], pflags=[flags for plugins], libpaths=[paths], sources=[source files], psources=[source files for plugins], incpaths=[paths], requests=[func], instfiles=[files], instpaths=[paths], autohbcs=[<.ch>:<.hbc>], plugins=[plugins], gui|mt|pic|shared|nulrdd|debug|opt|map|implib|hbcppmm|strip|run|inc=[yes|no], cpp=[yes|no|def], warn=[max|yes|low|no|def], compr=[yes|no|def|min|max], head=[off|full|native|dep], skip=<reason>, stop=<reason>, echo=<text>\\nLines starting with '#' char are ignored"
|
||||
msgstr ".hbc opciók (külön sorokba írandók): libs=[<libnevek>], hbcs=[<.hbc nevek>], gt=[gtnév], syslibs=[<libnevek>], frameworks=[<framework-ök>], prgflags=[Harbour opciók], cflags=[C fordító opciók], resflags=[erőforrás fordító kapcsolók], ldflags=[szerkesztő kapcsolók], libpaths=[útvonalak], sources=[forrás fájlok], incpaths=[útvonalak], instfiles=[fájlok], instpaths=[útvonalak], autohbcs=[<.ch>:<.hbc>], plugins=[plugin-ek], gui|mt|pic|shared|nulrdd|debug|opt|hbcppmm|map|implib|strip|run|inc=[yes|no], cpp=[yes|no|def], warn=[max|yes|low|no|def], compr=[yes|no|def|min|max], head=[off|full|native|dep], skip=<ok>, stop=<ok>, echo=<szöveg>\\n'#' karakterrel kezdődő sorokat figyelmen kívül hagyja"
|
||||
|
||||
#: hbmk2.prg:11633
|
||||
#, c-format
|
||||
|
||||
@@ -318,141 +318,142 @@ REQUEST hbmk_KEYW
|
||||
|
||||
#define _HBMK_lGUI 15
|
||||
#define _HBMK_lMT 16
|
||||
#define _HBMK_lDEBUG 17
|
||||
#define _HBMK_nHEAD 18
|
||||
#define _HBMK_aINCPATH 19
|
||||
#define _HBMK_lREBUILD 20
|
||||
#define _HBMK_lCLEAN 21
|
||||
#define _HBMK_lTRACE 22
|
||||
#define _HBMK_lDONTEXEC 23
|
||||
#define _HBMK_nHBMODE 24
|
||||
#define _HBMK_cUILNG 25
|
||||
#define _HBMK_cUICDP 26
|
||||
#define _HBMK_aLIBUSER 27
|
||||
#define _HBMK_aLIBUSERFWK 28
|
||||
#define _HBMK_aLIBUSERGT 29
|
||||
#define _HBMK_aLIBUSERSYS 30
|
||||
#define _HBMK_aLIBUSERSYSPRE 31
|
||||
#define _HBMK_aLIBPATH 32
|
||||
#define _HBMK_aINSTPATH 33
|
||||
#define _HBMK_aOPTC 34
|
||||
#define _HBMK_aOPTPRG 35
|
||||
#define _HBMK_aOPTRES 36
|
||||
#define _HBMK_aOPTL 37
|
||||
#define _HBMK_aOPTA 38
|
||||
#define _HBMK_aOPTD 39
|
||||
#define _HBMK_aOPTI 40
|
||||
#define _HBMK_lCPP 41
|
||||
#define _HBMK_lSHARED 42
|
||||
#define _HBMK_lSTATICFULL 43
|
||||
#define _HBMK_lSHAREDDIST 44
|
||||
#define _HBMK_lNULRDD 45
|
||||
#define _HBMK_lMAP 46
|
||||
#define _HBMK_lBEEP 47
|
||||
#define _HBMK_lSTRIP 48
|
||||
#define _HBMK_lOPTIM 49
|
||||
#define _HBMK_nCOMPR 50
|
||||
#define _HBMK_nWARN 51
|
||||
#define _HBMK_lRUN 52
|
||||
#define _HBMK_lINC 53
|
||||
#define _HBMK_lREBUILDPO 54
|
||||
#define _HBMK_lMINIPO 55
|
||||
#define _HBMK_lUNICODE 56
|
||||
#define _HBMK_nCONF 57
|
||||
#define _HBMK_lIGNOREERROR 58
|
||||
#define _HBMK_lIMPLIB 59
|
||||
#define _HBMK_lHBCPPMM 60
|
||||
#define _HBMK_aVAR 61
|
||||
#define _HBMK_hDEP 62
|
||||
#define _HBMK_lPIC 17
|
||||
#define _HBMK_lDEBUG 18
|
||||
#define _HBMK_nHEAD 19
|
||||
#define _HBMK_aINCPATH 20
|
||||
#define _HBMK_lREBUILD 21
|
||||
#define _HBMK_lCLEAN 22
|
||||
#define _HBMK_lTRACE 23
|
||||
#define _HBMK_lDONTEXEC 24
|
||||
#define _HBMK_nHBMODE 25
|
||||
#define _HBMK_cUILNG 26
|
||||
#define _HBMK_cUICDP 27
|
||||
#define _HBMK_aLIBUSER 28
|
||||
#define _HBMK_aLIBUSERFWK 29
|
||||
#define _HBMK_aLIBUSERGT 30
|
||||
#define _HBMK_aLIBUSERSYS 31
|
||||
#define _HBMK_aLIBUSERSYSPRE 32
|
||||
#define _HBMK_aLIBPATH 33
|
||||
#define _HBMK_aINSTPATH 34
|
||||
#define _HBMK_aOPTC 35
|
||||
#define _HBMK_aOPTPRG 36
|
||||
#define _HBMK_aOPTRES 37
|
||||
#define _HBMK_aOPTL 38
|
||||
#define _HBMK_aOPTA 39
|
||||
#define _HBMK_aOPTD 40
|
||||
#define _HBMK_aOPTI 41
|
||||
#define _HBMK_lCPP 42
|
||||
#define _HBMK_lSHARED 43
|
||||
#define _HBMK_lSTATICFULL 44
|
||||
#define _HBMK_lSHAREDDIST 45
|
||||
#define _HBMK_lNULRDD 46
|
||||
#define _HBMK_lMAP 47
|
||||
#define _HBMK_lBEEP 48
|
||||
#define _HBMK_lSTRIP 49
|
||||
#define _HBMK_lOPTIM 50
|
||||
#define _HBMK_nCOMPR 51
|
||||
#define _HBMK_nWARN 52
|
||||
#define _HBMK_lRUN 53
|
||||
#define _HBMK_lINC 54
|
||||
#define _HBMK_lREBUILDPO 55
|
||||
#define _HBMK_lMINIPO 56
|
||||
#define _HBMK_lUNICODE 57
|
||||
#define _HBMK_nCONF 58
|
||||
#define _HBMK_lIGNOREERROR 59
|
||||
#define _HBMK_lIMPLIB 60
|
||||
#define _HBMK_lHBCPPMM 61
|
||||
#define _HBMK_aVAR 62
|
||||
#define _HBMK_hDEP 63
|
||||
|
||||
#define _HBMK_lCreateLib 63
|
||||
#define _HBMK_lCreateDyn 64
|
||||
#define _HBMK_lCreateImpLib 65
|
||||
#define _HBMK_lCreatePPO 66
|
||||
#define _HBMK_lCreateHRB 67
|
||||
#define _HBMK_lCreateLib 64
|
||||
#define _HBMK_lCreateDyn 65
|
||||
#define _HBMK_lCreateImpLib 66
|
||||
#define _HBMK_lCreatePPO 67
|
||||
#define _HBMK_lCreateHRB 68
|
||||
|
||||
#define _HBMK_lDynVM 68
|
||||
#define _HBMK_lDynVM 69
|
||||
|
||||
#define _HBMK_lBLDFLGP 69
|
||||
#define _HBMK_lBLDFLGC 70
|
||||
#define _HBMK_lBLDFLGL 71
|
||||
#define _HBMK_lBLDFLGP 70
|
||||
#define _HBMK_lBLDFLGC 71
|
||||
#define _HBMK_lBLDFLGL 72
|
||||
|
||||
#define _HBMK_cFIRST 72
|
||||
#define _HBMK_aPRG 73
|
||||
#define _HBMK_aC 74
|
||||
#define _HBMK_aCPP 75
|
||||
#define _HBMK_aRESSRC 76
|
||||
#define _HBMK_aRESCMP 77
|
||||
#define _HBMK_aOBJUSER 78
|
||||
#define _HBMK_aICON 79
|
||||
#define _HBMK_cMANIFEST 80
|
||||
#define _HBMK_aIMPLIBSRC 81
|
||||
#define _HBMK_aDEF 82
|
||||
#define _HBMK_aINSTFILE 83
|
||||
#define _HBMK_hDEPTS 84
|
||||
#define _HBMK_aREQUEST 85
|
||||
#define _HBMK_cFIRST 73
|
||||
#define _HBMK_aPRG 74
|
||||
#define _HBMK_aC 75
|
||||
#define _HBMK_aCPP 76
|
||||
#define _HBMK_aRESSRC 77
|
||||
#define _HBMK_aRESCMP 78
|
||||
#define _HBMK_aOBJUSER 79
|
||||
#define _HBMK_aICON 80
|
||||
#define _HBMK_cMANIFEST 81
|
||||
#define _HBMK_aIMPLIBSRC 82
|
||||
#define _HBMK_aDEF 83
|
||||
#define _HBMK_aINSTFILE 84
|
||||
#define _HBMK_hDEPTS 85
|
||||
#define _HBMK_aREQUEST 86
|
||||
|
||||
#define _HBMK_aPO 86
|
||||
#define _HBMK_cHBL 87
|
||||
#define _HBMK_cHBLDir 88
|
||||
#define _HBMK_aLNG 89
|
||||
#define _HBMK_cPO 90
|
||||
#define _HBMK_aPO 87
|
||||
#define _HBMK_cHBL 88
|
||||
#define _HBMK_cHBLDir 89
|
||||
#define _HBMK_aLNG 90
|
||||
#define _HBMK_cPO 91
|
||||
|
||||
#define _HBMK_hPLUGINHRB 91
|
||||
#define _HBMK_hPLUGINVars 92
|
||||
#define _HBMK_aPLUGINPars 93
|
||||
#define _HBMK_hPLUGINExt 94
|
||||
#define _HBMK_hPLUGINHRB 92
|
||||
#define _HBMK_hPLUGINVars 93
|
||||
#define _HBMK_aPLUGINPars 94
|
||||
#define _HBMK_hPLUGINExt 95
|
||||
|
||||
#define _HBMK_lDEBUGTIME 95
|
||||
#define _HBMK_lDEBUGINC 96
|
||||
#define _HBMK_lDEBUGSTUB 97
|
||||
#define _HBMK_lDEBUGI18N 98
|
||||
#define _HBMK_lDEBUGDEPD 99
|
||||
#define _HBMK_lDEBUGPARS 100
|
||||
#define _HBMK_lDEBUGTIME 96
|
||||
#define _HBMK_lDEBUGINC 97
|
||||
#define _HBMK_lDEBUGSTUB 98
|
||||
#define _HBMK_lDEBUGI18N 99
|
||||
#define _HBMK_lDEBUGDEPD 100
|
||||
#define _HBMK_lDEBUGPARS 101
|
||||
|
||||
#define _HBMK_cCCPATH 101
|
||||
#define _HBMK_cCCPREFIX 102
|
||||
#define _HBMK_cCCPOSTFIX 103
|
||||
#define _HBMK_cCCEXT 104
|
||||
#define _HBMK_cCCPATH 102
|
||||
#define _HBMK_cCCPREFIX 103
|
||||
#define _HBMK_cCCPOSTFIX 104
|
||||
#define _HBMK_cCCEXT 105
|
||||
|
||||
#define _HBMK_cWorkDir 105
|
||||
#define _HBMK_cWorkDirDynSub 106
|
||||
#define _HBMK_nCmd_Esc 107
|
||||
#define _HBMK_nScr_Esc 108
|
||||
#define _HBMK_nCmd_FNF 109
|
||||
#define _HBMK_nScr_FNF 110
|
||||
#define _HBMK_nErrorLevel 111
|
||||
#define _HBMK_cWorkDir 106
|
||||
#define _HBMK_cWorkDirDynSub 107
|
||||
#define _HBMK_nCmd_Esc 108
|
||||
#define _HBMK_nScr_Esc 109
|
||||
#define _HBMK_nCmd_FNF 110
|
||||
#define _HBMK_nScr_FNF 111
|
||||
#define _HBMK_nErrorLevel 112
|
||||
|
||||
#define _HBMK_cPROGDIR 112
|
||||
#define _HBMK_cPROGNAME 113
|
||||
#define _HBMK_cPROGDIR 113
|
||||
#define _HBMK_cPROGNAME 114
|
||||
|
||||
#define _HBMK_hAUTOHBC 114 /* trigger header => .hbc associations */
|
||||
#define _HBMK_hAUTOHBCFOUND 115 /* trigger headers found */
|
||||
#define _HBMK_hAUTOHBC 115 /* trigger header => .hbc associations */
|
||||
#define _HBMK_hAUTOHBCFOUND 116 /* trigger headers found */
|
||||
|
||||
#define _HBMK_aDEPTHBC 116 /* .hbc references found */
|
||||
#define _HBMK_hDEPTSDIR 117 /* Header dirs found for dependencies */
|
||||
#define _HBMK_aDEPTHBC 117 /* .hbc references found */
|
||||
#define _HBMK_hDEPTSDIR 118 /* Header dirs found for dependencies */
|
||||
|
||||
#define _HBMK_lStopAfterInit 118
|
||||
#define _HBMK_lStopAfterHarbour 119
|
||||
#define _HBMK_lStopAfterInit 119
|
||||
#define _HBMK_lStopAfterHarbour 120
|
||||
|
||||
#define _HBMK_nCOMPVer 120
|
||||
#define _HBMK_lDEPIMPLIB 121 /* Generate import libs configured in dependecy specification */
|
||||
#define _HBMK_lInstForce 122 /* Force to install target even if was up to date */
|
||||
#define _HBMK_lAutoHBM 123 /* Toggles processing of hbmk.hbm file in current directory */
|
||||
#define _HBMK_lContainer 124 /* Target type: container */
|
||||
#define _HBMK_lShowLevel 125 /* Show project nesting level in all output lines */
|
||||
#define _HBMK_hFiles 126 /* Cache for the header parser (common for C and Harbour) */
|
||||
#define _HBMK_cDynLibPrefix 127 /* Dynamic lib filename prefix */
|
||||
#define _HBMK_cDynLibExt 128 /* Dynamic lib filename extension */
|
||||
#define _HBMK_aLINK 129 /* Links to be created and pointing to the target */
|
||||
#define _HBMK_hDEPTMACRO 130 /* Links to be created and pointing to the target */
|
||||
#define _HBMK_nCOMPVer 121
|
||||
#define _HBMK_lDEPIMPLIB 122 /* Generate import libs configured in dependecy specification */
|
||||
#define _HBMK_lInstForce 123 /* Force to install target even if was up to date */
|
||||
#define _HBMK_lAutoHBM 124 /* Toggles processing of hbmk.hbm file in current directory */
|
||||
#define _HBMK_lContainer 125 /* Target type: container */
|
||||
#define _HBMK_lShowLevel 126 /* Show project nesting level in all output lines */
|
||||
#define _HBMK_hFiles 127 /* Cache for the header parser (common for C and Harbour) */
|
||||
#define _HBMK_cDynLibPrefix 128 /* Dynamic lib filename prefix */
|
||||
#define _HBMK_cDynLibExt 129 /* Dynamic lib filename extension */
|
||||
#define _HBMK_aLINK 130 /* Links to be created and pointing to the target */
|
||||
#define _HBMK_hDEPTMACRO 131 /* Links to be created and pointing to the target */
|
||||
|
||||
#define _HBMK_aArgs 131
|
||||
#define _HBMK_nArgTarget 132
|
||||
#define _HBMK_lPause 133
|
||||
#define _HBMK_nLevel 134
|
||||
#define _HBMK_aArgs 132
|
||||
#define _HBMK_nArgTarget 133
|
||||
#define _HBMK_lPause 134
|
||||
#define _HBMK_nLevel 135
|
||||
|
||||
#define _HBMK_cHBX 135
|
||||
#define _HBMK_cHBX 136
|
||||
|
||||
#define _HBMK_MAX_ 136
|
||||
|
||||
@@ -954,6 +955,7 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel )
|
||||
hbmk[ _HBMK_lCPP ] := NIL
|
||||
hbmk[ _HBMK_lGUI ] := .F.
|
||||
hbmk[ _HBMK_lMT ] := .F.
|
||||
hbmk[ _HBMK_lPIC ] := .F.
|
||||
hbmk[ _HBMK_lDEBUG ] := .F.
|
||||
hbmk[ _HBMK_nHEAD ] := _HEAD_FULL
|
||||
hbmk[ _HBMK_lREBUILD ] := .F.
|
||||
@@ -2128,6 +2130,8 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel )
|
||||
CASE cParamL == "-fixshared" ; hbmk[ _HBMK_lSHARED ] := .T. ; hbmk[ _HBMK_lSTATICFULL ] := .F. ; hbmk[ _HBMK_lSHAREDDIST ] := .F.
|
||||
CASE cParamL == "-static" ; hbmk[ _HBMK_lSHARED ] := .F. ; hbmk[ _HBMK_lSTATICFULL ] := .F. ; hbmk[ _HBMK_lSHAREDDIST ] := NIL
|
||||
CASE cParamL == "-fullstatic" ; hbmk[ _HBMK_lSHARED ] := .F. ; hbmk[ _HBMK_lSTATICFULL ] := .T. ; hbmk[ _HBMK_lSHAREDDIST ] := NIL
|
||||
CASE cParamL == "-pic" ; hbmk[ _HBMK_lPIC ] := .T.
|
||||
CASE cParamL == "-pic-" ; hbmk[ _HBMK_lPIC ] := .F.
|
||||
CASE cParamL == "-nohblib" ; l_lNOHBLIB := .T.
|
||||
CASE cParamL == "-nohblib-" ; l_lNOHBLIB := .F.
|
||||
CASE cParamL == "-nomiscsyslib" ; l_lLIBSYSMISC := .F.
|
||||
@@ -2973,6 +2977,10 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel )
|
||||
hbmk[ _HBMK_cFIRST ] := SubStr( hbmk[ _HBMK_cFIRST ], 2 )
|
||||
ENDIF
|
||||
|
||||
IF hbmk[ _HBMK_lCreateDyn ]
|
||||
hbmk[ _HBMK_lPIC ] := .T.
|
||||
ENDIF
|
||||
|
||||
#if 0 /* disabled to experiment with '-hbdyn -shared' combination. */
|
||||
IF hbmk[ _HBMK_lCreateDyn ] .AND. hbmk[ _HBMK_lSHARED ]
|
||||
hbmk[ _HBMK_lSHARED ] := .F.
|
||||
@@ -3414,8 +3422,8 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF hbmk[ _HBMK_lCreateDyn ] .AND. ! HBMK_ISPLAT( "darwin|cygwin" )
|
||||
IF HBMK_ISPLAT( "hpux|sunos|linux" )
|
||||
IF hbmk[ _HBMK_lPIC ] .AND. ! HBMK_ISPLAT( "darwin|cygwin" )
|
||||
IF HBMK_ISPLAT( "bsd|hpux|sunos|linux" )
|
||||
AAdd( hbmk[ _HBMK_aOPTC ], "-fPIC" )
|
||||
ELSE
|
||||
AAdd( hbmk[ _HBMK_aOPTC ], "-fpic" )
|
||||
@@ -4519,8 +4527,12 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel )
|
||||
AAdd( hbmk[ _HBMK_aOPTL ], "-o {OE}" )
|
||||
ENDIF
|
||||
|
||||
IF hbmk[ _HBMK_lCreateDyn ]
|
||||
AAdd( hbmk[ _HBMK_aOPTC ], "-KPIC" )
|
||||
IF hbmk[ _HBMK_lPIC ]
|
||||
IF hbmk[ _HBMK_cPLAT ] == "sunos" .AND. hbmk[ _HBMK_cCPU ] == "sparc"
|
||||
AAdd( hbmk[ _HBMK_aOPTC ], "-xcode=pic32" )
|
||||
ELSE
|
||||
AAdd( hbmk[ _HBMK_aOPTC ], "-KPIC" )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
/* Add system libraries */
|
||||
@@ -4658,7 +4670,7 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel )
|
||||
AAdd( hbmk[ _HBMK_aOPTL ], "-o{OE}" )
|
||||
ENDIF
|
||||
|
||||
IF hbmk[ _HBMK_lCreateDyn ]
|
||||
IF hbmk[ _HBMK_lPIC ]
|
||||
AAdd( hbmk[ _HBMK_aOPTC ], "-Xpic" )
|
||||
ENDIF
|
||||
|
||||
@@ -9084,6 +9096,12 @@ STATIC FUNCTION HBC_ProcessOne( hbmk, cFileName, nNestingLevel )
|
||||
CASE ValueIsF( cLine ) ; hbmk[ _HBMK_lMT ] := .F.
|
||||
ENDCASE
|
||||
|
||||
CASE Lower( Left( cLine, Len( "pic=" ) ) ) == "pic=" ; cLine := SubStr( cLine, Len( "pic=" ) + 1 )
|
||||
DO CASE
|
||||
CASE ValueIsT( cLine ) ; hbmk[ _HBMK_lPIC ] := .T.
|
||||
CASE ValueIsF( cLine ) ; hbmk[ _HBMK_lPIC ] := .F.
|
||||
ENDCASE
|
||||
|
||||
CASE Lower( Left( cLine, Len( "shareddef=" ) ) ) == "shareddef=" ; cLine := SubStr( cLine, Len( "shareddef=" ) + 1 )
|
||||
IF hbmk[ _HBMK_lSHARED ] == NIL
|
||||
DO CASE
|
||||
@@ -11789,6 +11807,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lLong )
|
||||
{ "-main=<mainfunc>" , I_( "override the name of starting function/procedure" ) },;
|
||||
{ "-request=<func>" , I_( "force function/procedure to be linked" ) },;
|
||||
{ "-fullstatic" , I_( "link with all static libs" ) },;
|
||||
{ "-pic[-]" , I_( "create position independent object code (always enabled in -hbdyn/-hbdynvm modes)" ) },;
|
||||
{ "-[full|fix]shared" , I_( "create shared Harbour binaries without/with absolute dir reference to Harbour library (default: 'fullshared' when Harbour is installed on system location, 'fixshared' otherwise) (fix/full option in *nix only)" ) },;
|
||||
{ "-nulrdd[-]" , I_( "link with nulrdd" ) },;
|
||||
{ "-[no]debug" , I_( "add/exclude C compiler debug info. For Harbour level debug, use Harbour option -b as usual" ) },;
|
||||
@@ -11915,7 +11934,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lLong )
|
||||
I_( "Regular Harbour compiler options are also accepted.\n(see them with -harbourhelp option)" ),;
|
||||
hb_StrFormat( I_( "%1$s option file in hbmk2 directory is always processed if it exists. On *nix platforms ~/.harbour, /etc/harbour, <base>/etc/harbour, <base>/etc are checked (in that order) before the hbmk2 directory." ), _HBMK_AUTOHBC_NAME ),;
|
||||
hb_StrFormat( I_( "%1$s make script in current directory is always processed if it exists." ), _HBMK_AUTOHBM_NAME ),;
|
||||
I_( ".hbc options (they should come in separate lines): libs=[<libname[s]>], hbcs=[<.hbc file[s]>], gt=[gtname], syslibs=[<libname[s]>], frameworks=[<framework[s]>], prgflags=[Harbour flags], cflags=[C compiler flags], resflags=[resource compiler flags], ldflags=[linker flags], pflags=[flags for plugins], libpaths=[paths], sources=[source files], psources=[source files for plugins], incpaths=[paths], requests=[func], instfiles=[files], instpaths=[paths], autohbcs=[<.ch>:<.hbc>], plugins=[plugins], gui|mt|shared|nulrdd|debug|opt|map|implib|hbcppmm|strip|run|inc=[yes|no], cpp=[yes|no|def], warn=[max|yes|low|no|def], compr=[yes|no|def|min|max], head=[off|full|native|dep], skip=<reason>, stop=<reason>, echo=<text>\nLines starting with '#' char are ignored" ),;
|
||||
I_( ".hbc options (they should come in separate lines): libs=[<libname[s]>], hbcs=[<.hbc file[s]>], gt=[gtname], syslibs=[<libname[s]>], frameworks=[<framework[s]>], prgflags=[Harbour flags], cflags=[C compiler flags], resflags=[resource compiler flags], ldflags=[linker flags], pflags=[flags for plugins], libpaths=[paths], sources=[source files], psources=[source files for plugins], incpaths=[paths], requests=[func], instfiles=[files], instpaths=[paths], autohbcs=[<.ch>:<.hbc>], plugins=[plugins], gui|mt|pic|shared|nulrdd|debug|opt|map|implib|hbcppmm|strip|run|inc=[yes|no], cpp=[yes|no|def], warn=[max|yes|low|no|def], compr=[yes|no|def|min|max], head=[off|full|native|dep], skip=<reason>, stop=<reason>, echo=<text>\nLines starting with '#' char are ignored" ),;
|
||||
I_( "Platform filters are accepted in each .hbc line and with several options.\nFilter format: {[!][<plat>|<comp>|<cpu>|<keyword>]}. Filters can be combined using '&', '|' operators and grouped by parantheses. Ex.: {win}, {gcc}, {linux|darwin}, {win&!pocc}, {(win|linux)&!watcom}, {unix&mt&gui}, -cflag={win}-DMYDEF, -stop{dos}, -stop{!allwin}, {allwin|allmsvc|allgcc|allmingw|allicc|allpocc|unix}, {x86|x86_64|ia64|arm|mips|sh}, {debug|nodebug|gui|std|mt|st|shared|static|unicode|ascii|xhb}" ),;
|
||||
I_( "Certain .hbc lines (libs=, hbcs=, prgflags=, cflags=, ldflags=, libpaths=, instfiles=, instpaths=, echo=) and corresponding command line parameters will accept macros: ${hb_root}, ${hb_dir}, ${hb_name}, ${hb_plat}, ${hb_comp}, ${hb_build}, ${hb_cpu}, ${hb_bin}, ${hb_lib}, ${hb_dyn}, ${hb_inc}, ${<envvar>}. libpaths= also accepts %{hb_name} which translates to the name of the .hbc file under search." ),;
|
||||
I_( 'Options accepting macros also support command substitution. Enclose command inside ``, and, if the command contains space, also enclose in double quotes. F.e. "-cflag=`wx-config --cflags`", or ldflags={unix&gcc}"`wx-config --libs`".' ),;
|
||||
|
||||
@@ -478,8 +478,8 @@ msgstr "Opções usadas com o compilador Harbour também são aceitas."
|
||||
|
||||
#: hbmk2.prg:7960
|
||||
#, c-format
|
||||
msgid ".hbc options (they should come in separate lines): libs=[<libname[s]>], hbcs=[<.hbc file[s]>], gt=[gtname], syslibs=[<libname[s]>], frameworks=[<framework[s]>], prgflags=[Harbour flags], cflags=[C compiler flags], resflags=[resource compiler flags], ldflags=[linker flags], pflags=[flags for plugins], libpaths=[paths], sources=[source files], psources=[source files for plugins], incpaths=[paths], requests=[func], instfiles=[files], instpaths=[paths], autohbcs=[<.ch>:<.hbc>], plugins=[plugins], gui|mt|shared|nulrdd|debug|opt|map|implib|hbcppmm|strip|run|inc=[yes|no], cpp=[yes|no|def], warn=[max|yes|low|no|def], compr=[yes|no|def|min|max], head=[off|full|native|dep], skip=<reason>, stop=<reason>, echo=<text>\\nLines starting with '#' char are ignored"
|
||||
msgstr "As opções em um arquivo .hbc devem estar em linhas separadas e são: libs=[<libname[s]>], hbcs=[<.hbc file[s]>], gt=[gtname], syslibs=[<libname[s]>], frameworks=[<framework[s]>], prgflags=[flags do Harbour], cflags=[flags do compilador C], resflags=[flags do compilador de recursos], ldflags=[flags do linkeditor], libpaths=[paths], sources=[módulos fontes], incpaths=[paths], requests=[func], instfiles=[files], instpaths=[paths], autohbcs=[<.ch>:<.hbc>], plugins=[plugins], gui|mt|shared|nulrdd|debug|opt|hbcppmm|map|implib|strip|run|inc=[yes|no], cpp=[yes|no|def], warn=[max|yes|low|no|def], compr=[yes|no|def|min|max], head=[off|full|native|dep], skip=[yes|no], echo=<text>\\nLinhas iniciadas com '#' são interpretadas como comentários e serão ignoradas"
|
||||
msgid ".hbc options (they should come in separate lines): libs=[<libname[s]>], hbcs=[<.hbc file[s]>], gt=[gtname], syslibs=[<libname[s]>], frameworks=[<framework[s]>], prgflags=[Harbour flags], cflags=[C compiler flags], resflags=[resource compiler flags], ldflags=[linker flags], pflags=[flags for plugins], libpaths=[paths], sources=[source files], psources=[source files for plugins], incpaths=[paths], requests=[func], instfiles=[files], instpaths=[paths], autohbcs=[<.ch>:<.hbc>], plugins=[plugins], gui|mt|pic|shared|nulrdd|debug|opt|map|implib|hbcppmm|strip|run|inc=[yes|no], cpp=[yes|no|def], warn=[max|yes|low|no|def], compr=[yes|no|def|min|max], head=[off|full|native|dep], skip=<reason>, stop=<reason>, echo=<text>\\nLines starting with '#' char are ignored"
|
||||
msgstr "As opções em um arquivo .hbc devem estar em linhas separadas e são: libs=[<libname[s]>], hbcs=[<.hbc file[s]>], gt=[gtname], syslibs=[<libname[s]>], frameworks=[<framework[s]>], prgflags=[flags do Harbour], cflags=[flags do compilador C], resflags=[flags do compilador de recursos], ldflags=[flags do linkeditor], libpaths=[paths], sources=[módulos fontes], incpaths=[paths], requests=[func], instfiles=[files], instpaths=[paths], autohbcs=[<.ch>:<.hbc>], plugins=[plugins], gui|mt|pic|shared|nulrdd|debug|opt|hbcppmm|map|implib|strip|run|inc=[yes|no], cpp=[yes|no|def], warn=[max|yes|low|no|def], compr=[yes|no|def|min|max], head=[off|full|native|dep], skip=[yes|no], echo=<text>\\nLinhas iniciadas com '#' são interpretadas como comentários e serão ignoradas"
|
||||
|
||||
#: hbmk2.prg:7942 hbmk2.prg:11633
|
||||
#, c-format
|
||||
|
||||
Reference in New Issue
Block a user