2009-06-06 16:07 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

* INSTALL
    * Made clear that GNU Make installation isn't needed for mingw
      targets.

  * include/hbextern.ch
    + Added HB_EXECMSG().

  * contrib/xhb/tests/xhb.hbc
    + Added hbct, hbtip and hbwin (on Windows) to emulate xhb, which
      has these libs as part of the core.

  * utils/hbmk2/hbmk2.prg
    + Environment variables can not be used as filters.
      If an envvar with the name of the filter exists and it's
      value isn't "0" or "no", it's considered a match.
    - Deleted -EHsc-/-EHsc/-EHs-c- switch variant from msvc C flag list.
      This was copied from Harbour Make files, and most probably they
      aren't necessary even there, especially since they are set
      inconsistently (differently) for depending on msvc compiler
      version and win/wce target. These flags deal with exception
      handling, so I doubt any core code (with the exception of hbqt)
      would need it.
    + Added some level of internal support for build modes
      (release, debug, fulldebug) and unicode/ascii selection. Added
      to TODO anyway, will continue with them in the future.
This commit is contained in:
Viktor Szakats
2009-06-06 14:07:51 +00:00
parent 6b88ee5fac
commit 2b5d2600aa
5 changed files with 75 additions and 22 deletions

View File

@@ -17,6 +17,33 @@
past entries belonging to author(s): Viktor Szakats.
*/
2009-06-06 16:07 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
* Made clear that GNU Make installation isn't needed for mingw
targets.
* include/hbextern.ch
+ Added HB_EXECMSG().
* contrib/xhb/tests/xhb.hbc
+ Added hbct, hbtip and hbwin (on Windows) to emulate xhb, which
has these libs as part of the core.
* utils/hbmk2/hbmk2.prg
+ Environment variables can not be used as filters.
If an envvar with the name of the filter exists and it's
value isn't "0" or "no", it's considered a match.
- Deleted -EHsc-/-EHsc/-EHs-c- switch variant from msvc C flag list.
This was copied from Harbour Make files, and most probably they
aren't necessary even there, especially since they are set
inconsistently (differently) for depending on msvc compiler
version and win/wce target. These flags deal with exception
handling, so I doubt any core code (with the exception of hbqt)
would need it.
+ Added some level of internal support for build modes
(release, debug, fulldebug) and unicode/ascii selection. Added
to TODO anyway, will continue with them in the future.
2009-06-06 14:31 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbvm.h
* harbour/source/vm/hvm.c

View File

@@ -48,9 +48,11 @@ HOW TO BUILD AND INSTALL HARBOUR FROM SOURCE
belonging to other C compilers are interfering with your setup.
For the list of supported compilers, please look up the
relevant section in this file.
3.) Make sure to have GNU Make. Certain older versions and builds
are untested and may not work. We recommend the one distributed
by MinGW team. Use this link to get it:
3.) Make sure to have GNU Make. If you build for MinGW target,
you can skip this point, since you already have GNU Make ready
to use. Certain older GNU Make versions and builds are untested
and may not work. We recommend the one distributed by MinGW team.
Use this link to get it:
https://sourceforge.net/project/showfiles.php?group_id=2435&package_id=23918
If you have it, you have three choices:
- Copy mingw32-make.exe or make.exe into a separate directory

View File

@@ -3,3 +3,8 @@
#
libs=xhb
# xhb has these as part of core, so we're adding them to emulate it.
# They are not needed to use xhb lib itself.
libs=hbct hbtip
{allwin}libs=hbwin

View File

@@ -889,6 +889,7 @@ EXTERNAL HB_APARAMS
EXTERNAL HB_PVALUE
EXTERNAL HB_FORNEXT
EXTERNAL HB_EXECFROMARRAY
EXTERNAL HB_EXECMSG
EXTERNAL HB_METHODNAME
EXTERNAL HB_SETMACRO
EXTERNAL HB_STOD

View File

@@ -79,6 +79,9 @@
writing, most of them has one created.
Thank you. [vszakats] */
/* TODO: Support debug/release modes. Some default setting can be set
accordingly, and user can use it to further tweak settings. */
/* TODO: Support unicode/non-unicode build modes. */
/* TODO: Create temporary .c files with mangled names, to avoid
incidentally overwriting existing .c file with the same name.
Problems to solve: -hbcc compatibility (the feature has to be
@@ -160,6 +163,10 @@ REQUEST hbmk_KEYW
#define _HBMODE_HB10 1
#define _HBMODE_XHB 2
#define _CONF_RELEASE 0 /* No debug */
#define _CONF_DEBUG 1 /* Harbour level debug */
#define _CONF_FULLDEBUG 2 /* Harbour + C level debug */
#define _LNG_MARKER "${lng}"
#define _HBMK_CFG_NAME "hbmk.cfg"
@@ -231,23 +238,25 @@ REQUEST hbmk_KEYW
#define _HBMK_lINC 44
#define _HBMK_lREBUILDPO 45
#define _HBMK_lMINIPO 46
#define _HBMK_lUNICODE 47
#define _HBMK_nCONF 48
#define _HBMK_aPO 47
#define _HBMK_cHBL 48
#define _HBMK_aLNG 49
#define _HBMK_cPO 50
#define _HBMK_aPO 49
#define _HBMK_cHBL 50
#define _HBMK_aLNG 51
#define _HBMK_cPO 52
#define _HBMK_lDEBUGTIME 51
#define _HBMK_lDEBUGINC 52
#define _HBMK_lDEBUGSTUB 53
#define _HBMK_lDEBUGI18N 54
#define _HBMK_lDEBUGTIME 53
#define _HBMK_lDEBUGINC 54
#define _HBMK_lDEBUGSTUB 55
#define _HBMK_lDEBUGI18N 56
#define _HBMK_cCCPATH 55
#define _HBMK_cCCPREFIX 56
#define _HBMK_cCCPATH 57
#define _HBMK_cCCPREFIX 58
#define _HBMK_lUTF8 57
#define _HBMK_lUTF8 59
#define _HBMK_MAX_ 58
#define _HBMK_MAX_ 59
#ifndef _HBMK_EMBEDDED_
@@ -577,6 +586,8 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
hbmk[ _HBMK_lINC ] := .F.
hbmk[ _HBMK_lREBUILDPO ] := .F.
hbmk[ _HBMK_lMINIPO ] := .F.
hbmk[ _HBMK_lUNICODE ] := .F.
hbmk[ _HBMK_nCONF ] := _CONF_RELEASE
hbmk[ _HBMK_lDEBUGTIME ] := .F.
hbmk[ _HBMK_lDEBUGINC ] := .F.
@@ -2572,13 +2583,13 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
IF hbmk[ _HBMK_lOPTIM ]
IF hbmk[ _HBMK_cCOMP ] == "msvcarm"
IF Empty( GetEnv( "HB_VISUALC_VER_PRE80" ) )
cOpt_CompC += " -Od -Os -Gy -GS- -EHsc- -Gm -Zi -GR-"
cOpt_CompC += " -Od -Os -Gy -GS- -Gm -Zi -GR-"
ELSE
cOpt_CompC += " -Oxsb1 -EHsc -YX -GF"
cOpt_CompC += " -Oxsb1 -YX -GF"
ENDIF
ELSE
IF Empty( GetEnv( "HB_VISUALC_VER_PRE80" ) )
cOpt_CompC += " -Ot2b1 -EHs-c-"
cOpt_CompC += " -Ot2b1"
ELSE
cOpt_CompC += " -Ogt2yb1p -GX- -G6 -YX"
ENDIF
@@ -5872,11 +5883,13 @@ FUNCTION hbmk_CPU( hbmk )
RETURN ""
FUNCTION hbmk_KEYW( hbmk, cKeyword )
LOCAL tmp
IF cKeyword == iif( hbmk[ _HBMK_lMT ] , "mt" , "st" ) .OR. ;
cKeyword == iif( hbmk[ _HBMK_lGUI ] , "gui" , "std" ) .OR. ;
cKeyword == iif( hbmk[ _HBMK_lDEBUG ] , "debug" , "nodebug" ) .OR. ;
cKeyword == iif( hbmk[ _HBMK_lSHARED ], "shared", "static" )
IF cKeyword == iif( hbmk[ _HBMK_lMT ] , "mt" , "st" ) .OR. ;
cKeyword == iif( hbmk[ _HBMK_lGUI ] , "gui" , "std" ) .OR. ;
cKeyword == iif( hbmk[ _HBMK_lDEBUG ] , "debug" , "nodebug" ) .OR. ;
cKeyword == iif( hbmk[ _HBMK_lSHARED ] , "shared" , "static" ) .OR. ;
cKeyword == iif( hbmk[ _HBMK_lUNICODE ], "unicode" , "ascii" )
RETURN .T.
ENDIF
@@ -5899,6 +5912,11 @@ FUNCTION hbmk_KEYW( hbmk, cKeyword )
RETURN .T.
ENDIF
tmp := GetEnv( cKeyword )
IF ! Empty( tmp ) .AND. !( tmp == "0" ) .AND. !( Lower( tmp ) == "no" )
RETURN .T.
ENDIF
RETURN .F.
STATIC PROCEDURE GetUILangCDP( /* @ */ cLNG, /* @ */ cCDP )