2008-02-22 22:28 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl)

* harbour/make_b32.mak
    * Synchronized with make_vc.mak regarding HB_BUILD_ST and HB_BUILD_MODE
      environment usage. There is still a difference between make_b32.mak
      and make_vc.mak, because under BCC - ST mode is default, while under
      MSVC - MT mode is default. To use MT mode under BCC one needs to
      set HB_BUILD_ST to something different than a word "yes". For example:
      set HB_BUILD_ST=no. The difference comes from the fact that so far
      BCC build has always been done in ST mode. It will be changed after
      a 1.0 release. Please note that harbour.dll is *always* built in MT
      mode under BCC and MSVC.

  * harbour/make_vc.mak
    ! Forced MT mode for harbour.dll
    * Minor formating

  * harbour/contrib/mtpl_vc.mak
    ! Fixed compilation using ST mode

  * harbour/contrib/mtpl_b32.mak
    ! Fixed compilation of CPP files
    + Added ST/MT handling logic

  * harbour/contrib/hbziparch/make_b32.bat
    ! Fixed compilation on some BCC instalations
This commit is contained in:
Marek Paliwoda
2008-02-22 21:27:13 +00:00
parent 6a7620a2ee
commit 92b7fb4258
6 changed files with 119 additions and 19 deletions

View File

@@ -8,6 +8,32 @@
2002-12-01 13:30 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
2008-02-22 22:28 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl)
* harbour/make_b32.mak
* Synchronized with make_vc.mak regarding HB_BUILD_ST and HB_BUILD_MODE
environment usage. There is still a difference between make_b32.mak
and make_vc.mak, because under BCC - ST mode is default, while under
MSVC - MT mode is default. To use MT mode under BCC one needs to
set HB_BUILD_ST to something different than a word "yes". For example:
set HB_BUILD_ST=no. The difference comes from the fact that so far
BCC build has always been done in ST mode. It will be changed after
a 1.0 release. Please note that harbour.dll is *always* built in MT
mode under BCC and MSVC.
* harbour/make_vc.mak
! Forced MT mode for harbour.dll
* Minor formating
* harbour/contrib/mtpl_vc.mak
! Fixed compilation using ST mode
* harbour/contrib/mtpl_b32.mak
! Fixed compilation of CPP files
+ Added ST/MT handling logic
* harbour/contrib/hbziparch/make_b32.bat
! Fixed compilation on some BCC instalations
2008-02-22 03:42 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
* added -xhgtk switch for linking with xHGtk library
@@ -30,7 +56,7 @@
* harbour/contrib/hbct/ctwin.h
* harbour/contrib/hbct/ctwfunc.c
* overload ReadKey() method for future window moving when scroll lock
is set and for KEYREAD() implementation.
is set and for KEYREAD() implementation.
* store real last key value in CTWIN GT.
2008-02-21 22:17 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl)

View File

@@ -3,7 +3,7 @@ rem
rem $Id$
rem
set CFLAGS=-Iinclude
set CFLAGS=-Iinclude -D_RWSTD_NO_NEW_HEADER
call ..\mtpl_b32.bat %1 %2 %3 %4 %5 %6 %7 %8 %9

View File

@@ -23,6 +23,10 @@
#**********************************************************
HB_ARCHITECTURE = w32
#**********************************************************
!ifndef HB_ROOT
HB_ROOT = ..\..
!endif
@@ -99,15 +103,45 @@ MKLIB = tlib.exe
#**********************************************************
!if !$d(BCC_NOOPTIM)
CFLAGS = -O2 $(CFLAGS)
# BORLAND has ST mode as default
!if "$(HB_BUILD_ST)" == ""
HB_BUILD_ST = yes
!endif
CFLAGS = -I$(INCLUDE_DIR) -d $(C_USR) $(CFLAGS)
#**********************************************************
# In which mode compile Harbour C or CPP
!if "$(HB_BUILD_MODE)" == "cpp"
HB_BUILD_MODE = -P
!else
HB_BUILD_MODE =
!endif
#**********************************************************
CFLAGS = -I$(INCLUDE_DIR) -d $(C_USR) $(CFLAGS) $(HB_BUILD_MODE)
#-----------
!if "$(HB_BUILD_DEBUG)" == "yes"
CFLAGS = -y -v $(CFLAGS)
!endif
#-----------
!if !$d(BCC_NOOPTIM)
CFLAGS = -O2 $(CFLAGS)
!endif
#-----------
!if "$(HB_BUILD_ST)" != "yes"
CFLAGS = -tWM $(CFLAGS)
!endif
#-----------
#**********************************************************
CLIBFLAGS = -c -q $(CFLAGS) $(CLIBFLAGS)
CLIBFLAGSDEBUG = -v $(CLIBFLAGS)
HARBOURFLAGS = -i$(INCLUDE_DIR) -n -q0 -w2 -es2 -gc0 $(PRG_USR) $(HARBOURFLAGS)
LDFLAGS = $(LDFLAGS)
LDFLAGS = $(LDFLAGS)
#**********************************************************
# This is needed, otherwise the libs may overflow when
# debug info is requested with -v -y
@@ -128,12 +162,12 @@ $(OBJ_DIR);\
#**********************************************************
# General *.cpp --> *.obj COMPILE rule for STATIC Libraries
{$(ALL_LIB_SRC_DIRS)}.cpp{$(OBJ_DIR)}$(OBJEXT):
$(CC) $(CLIBFLAGS) -o$@ $<
$(CC) $(CLIBFLAGS: -P= ) -P -o$@ $<
#**********************************************************
# General *.prg --> *.obj COMPILE rule for STATIC Libraries
{$(ALL_LIB_SRC_DIRS)}.prg{$(OBJ_DIR)}$(OBJEXT):
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $**
$(CC) $(CLIBFLAGS) -o$@ $(OBJ_DIR)\$&.c
$(CC) $(CLIBFLAGS) -P -o$@ $(OBJ_DIR)\$&.c
#**********************************************************
!include common.mak

View File

@@ -107,6 +107,8 @@ HB_BUILD_MODE = P
HB_BUILD_MODE = C
!endif
#**********************************************************
# C Compiler Flags
!if $(HB_VISUALC_VER) >= 80
CFLAGS_VER = -Ot2b1 -FD -Gs -D_CRT_SECURE_NO_DEPRECATE
@@ -124,10 +126,14 @@ CFLAGS = -Zi $(CFLAGS)
DBGMARKER = d
!endif
#-----------
!if "$(HB_BUILD_ST)" != "yes"
CFLAGS = -MT$(DBGMARKER) $(CFLAGS)
!endif
#-----------
#**********************************************************
CLIBFLAGS = -c $(CFLAGS) $(CLIBFLAGS)
CLIBFLAGSDEBUG = -Zi $(CLIBFLAGS)
HARBOURFLAGS = -i$(INCLUDE_DIR) -n -q0 -w2 -es2 -gc0 $(PRG_USR) $(HARBOURFLAGS)
LDFLAGS = $(LDFLAGS)

View File

@@ -37,8 +37,10 @@
# gtstd (default),gtcgi,gtwin,gtwvt
# HB_GT_LIB - To override the default GT driver
# (search for HB_GT_LIBS for a list of values)
# HB_BUILD_ST - If set to yes builds harbour in SingleThread mode
# HB_BUILD_DLL - If set to yes enables building harbour VM+RTL
# dll in addition to normal static build
# HB_BUILD_MODE - If set to cpp causes to compile in C++ mode
# HB_BUILD_DEBUG - If set to yes causes to compile with debug info
# HB_BUILD_VERBOSE - enables echoing commands being executed
# HB_REBUILD_PARSER - If set to yes force preprocessing new rules by
@@ -68,6 +70,11 @@ HB_ARCHITECTURE = w32
HB_GT_LIB = gtwin
!endif
# BORLAND has ST mode as default
!if "$(HB_BUILD_ST)" == ""
HB_BUILD_ST = yes
!endif
#**********************************************************
CC = bcc32.exe
@@ -99,8 +106,11 @@ DLL_OBJS = $(TMP_DLL_OBJS:$(OBJ_DIR)=$(DLL_OBJ_DIR))
# Main "Include" directory
INCLUDE_DIR = include
#**********************************************************
# C Compiler Flags
CFLAGS = -I$(INCLUDE_DIR) $(C_USR) $(CFLAGS) -I$(OBJ_DIR)
CFLAGS = -I$(INCLUDE_DIR) $(C_USR) $(CFLAGS) -I$(OBJ_DIR)
#-----------
!ifndef BCC_NOOPTIM
CFLAGS = -O2 $(CFLAGS)
@@ -115,6 +125,10 @@ CFLAGS = -I$(INCLUDE_DIR) $(C_USR) $(CFLAGS) -I$(OBJ_DIR)
RTLIBSUFFIX = i
!endif
#-----------
!if "$(HB_BUILD_ST)" != "yes"
CFLAGS = -tWM $(CFLAGS)
!endif
#-----------
!if "$(HB_GT_DEFAULT)" != ""
CFLAGS = -DHB_GT_DEFAULT=$(HB_GT_DEFAULT:gt=) $(CFLAGS)
!endif
@@ -123,9 +137,15 @@ CFLAGS = -I$(INCLUDE_DIR) $(C_USR) $(CFLAGS) -I$(OBJ_DIR)
CFLAGS = -DHB_GT_LIB=$(HB_GT_LIB:gt=) $(CFLAGS)
!endif
#-----------
#**********************************************************
CLIBFLAGS = -c -q $(CFLAGS) $(CLIBFLAGS)
CLIBFLAGSDLL = -D__EXPORT__ -tWM $(BCCDLL_WITH_DYNRT) $(CLIBFLAGS) $(CLIBFLAGSDLL)
CEXEFLAGSDLL = -tWM $(BCCDLL_WITH_DYNRT) $(CLIBFLAGS) $(CEXEFLAGSDLL)
CLIBFLAGSxxx = $(BCCDLL_WITH_DYNRT) $(CLIBFLAGS: -tWM= )
CLIBFLAGSDLL = -D__EXPORT__ -tWM $(CLIBFLAGSxxx) $(CLIBFLAGSDLL)
CEXEFLAGSDLL = -tWM $(CLIBFLAGSxxx) $(CEXEFLAGSDLL)
#**********************************************************
# Harbour Compiler Flags
HBFLAGSCMN = -i$(INCLUDE_DIR) -q0 -w2 -es2 -gc0 -kM $(PRG_USR)
@@ -135,6 +155,8 @@ HBFLAGSCMN = -i$(INCLUDE_DIR) -q0 -w2 -es2 -gc0 -kM $(PRG_USR)
HARBOURFLAGS = -n $(HBFLAGSCMN) $(HARBOURFLAGS)
HARBOURFLAGSDLL= -D__EXPORT__ -n1 $(HBFLAGSCMN) $(HARBOURFLAGSDLL)
#**********************************************************
# Linker Flags
LDFLAGS = -ap -Tpe -Gn -C -L$(LIB_DIR) -L$(BIN_DIR) $(LDFLAGS)
LDFLAGSDLL = -aa -Gn -C -Tpd -Gi -L$(LIB_DIR) $(LDFLAGSDLL)

View File

@@ -108,6 +108,8 @@ DLL_OBJS = $(TMP_DLL_OBJS:obj\vc=obj\dll\vc)
# Main "Include" directory
INCLUDE_DIR = include
#**********************************************************
# In which mode compile Harbour C or CPP
!if "$(HB_BUILD_MODE)" == "cpp"
HB_BUILD_MODE = P
@@ -115,6 +117,8 @@ HB_BUILD_MODE = P
HB_BUILD_MODE = C
!endif
#**********************************************************
# C Compiler Flags
!if $(HB_VISUALC_VER) >= 80
CFLAGS_VER = -Ot2b1 -EHs-c- -FD -Gs -D_CRT_SECURE_NO_DEPRECATE
@@ -131,6 +135,10 @@ CFLAGS = -Zi $(CFLAGS)
DBGMARKER = d
!endif
#-----------
if "$(HB_BUILD_ST)" != "yes"
CFLAGS = -MT$(DBGMARKER) $(CFLAGS)
!endif
#-----------
!if "$(HB_GT_DEFAULT)" != ""
CFLAGS = -D"HB_GT_DEFAULT=$(HB_GT_DEFAULT:gt=)" $(CFLAGS)
!endif
@@ -139,14 +147,16 @@ CFLAGS = -D"HB_GT_DEFAULT=$(HB_GT_DEFAULT:gt=)" $(CFLAGS)
CFLAGS = -D"HB_GT_LIB=$(HB_GT_LIB:gt=)" $(CFLAGS)
!endif
#-----------
if "$(HB_BUILD_ST)" != "yes"
CFLAGS = -MT$(DBGMARKER) $(CFLAGS)
!endif
#-----------
#**********************************************************
CLIBFLAGS = -c $(CFLAGS) $(CLIBFLAGS)
CLIBFLAGSDLL = -D__EXPORT__ $(CLIBFLAGS) $(CLIBFLAGSDLL)
CEXEFLAGSDLL = $(CLIBFLAGS) $(CEXEFLAGSDLL)
CLIBFLAGSxxx = $(CLIBFLAGS: -MT= )
CLIBFLAGSxxx = $(CLIBFLAGSxxx: -MTd= )
CLIBFLAGSDLL = -D__EXPORT__ -MT$(DBGMARKER) $(CLIBFLAGS) $(CLIBFLAGSDLL)
CEXEFLAGSDLL = -MT$(DBGMARKER) $(CLIBFLAGS) $(CEXEFLAGSDLL)
#**********************************************************
# Harbour Compiler Flags
HBFLAGSCMN = -i$(INCLUDE_DIR) -q0 -w2 -es2 -gc0 -kM $(PRG_USR)
@@ -156,6 +166,8 @@ HBFLAGSCMN = $(HBFLAGSCMN) -dPDF
HARBOURFLAGS = -n $(HBFLAGSCMN) $(HARBOURFLAGS)
HARBOURFLAGSDLL= -D__EXPORT__ -n1 $(HBFLAGSCMN) $(HARBOURFLAGSDLL)
#**********************************************************
# Linker Flags
LDFLAGS = /NOLOGO /SUBSYSTEM:console /OPT:WIN98 /LIBPATH:$(LIB_DIR) $(LDFLAGS)
LDFLAGSDLL = /NOLOGO /DLL /OPT:WIN98 /LIBPATH:$(LIB_DIR) $(LDFLAGSDLL)