2006-07-18 08:00 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl)

* harbour/source/vm/mainwin.c
     ! Fixed compilation in C mode under Msvc

   * harbour/include/hbapi.h
     * Added HB_EXPORT to hb_symbolNew()

   * harbour/makefile.bc
   * harbour/makefile.vc
   * harbour/make_b32.bat
   * harbour/make_vc.bat
   * harbour/Common.mak
     ! Fixed compilation of Harbour DLL
     ! Fixed compilation of HbPPTest.exe
     % Improved building of customized Harbour DLL
     % Some more minor fixes and improvements
This commit is contained in:
Marek Paliwoda
2006-07-18 06:07:59 +00:00
parent f844d53197
commit 7abd0077a3
8 changed files with 578 additions and 482 deletions

View File

@@ -8,6 +8,23 @@
2002-12-01 13:30 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
+ Minor improvements.
2006-07-18 09:55 UTC+0200 Enrico Maria Giordano <e.m.giordano@emagsoftware.it>
* fixed time in previous updates
2006-07-18 08:00 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl)
* harbour/source/vm/mainwin.c
! Fixed compilation in C mode under Msvc
* harbour/include/hbapi.h
* Added HB_EXPORT to hb_symbolNew()
* harbour/makefile.bc
* harbour/makefile.vc
* harbour/make_b32.bat
* harbour/make_vc.bat
* harbour/Common.mak
! Fixed compilation of Harbour DLL
! Fixed compilation of HbPPTest.exe
% Improved building of customized Harbour DLL
@@ -46,7 +63,7 @@
* harbour/source/rdd/dbcmd.c
! fixed possible access to uninitialized variable in __dbApp()/__dbCopy()
- Removed a strange extension which looked like a mistake
2006-07-17 03:43 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
* harbour/source/rtl/dbedit.prg
% Optimized codeblock creation.
@@ -76,8 +93,8 @@
+ harbour/source/rdd/dbdelim.prg
- harbour/source/rtl/dbjoin.prg
+ harbour/source/rdd/dbjoin.prg
* Moved three RDD related internal function source files
to the RDD library. (They did depend on each other
- harbour/source/rtl/dbsdf.prg
+ harbour/source/rdd/dbsdf.prg
* harbour/source/rtl/Makefile
* harbour/source/rdd/Makefile
* harbour/common.mak
@@ -93,7 +110,7 @@
* harbour/source/rdd/dbtotal.prg
* harbour/source/rdd/dbupdat.prg
* harbour/source/rdd/rddord.prg
! Problem where error condition was not detected if BREAK didn't
* harbour/source/rtl/dbdelim.prg
* harbour/source/rtl/dbedit.prg
* harbour/source/rtl/dbjoin.prg
% Cleanups, minor optimizations.
@@ -118,10 +135,10 @@
DBEDIT() is left TODO for review (refix).
* harbour/source/rtl/tbrowse.prg
- Removed compiler+RTL __dbList() hack which
made it incompatible with CA-Cl*pper. The
hack targeted an XBase++ extension, but it's
compatible even without the hack. Tested with
* Minor cleanup.
* harbour/include/hbexpra.c
* harbour/source/vm/arrayshb.c
* harbour/source/rdd/dblist.prg
- Removed compiler+RTL __dbList() hack which
made it incompatible with CA-Cl*pper. The
@@ -212,7 +229,7 @@
* source/compiler/hblbl.c
* source/compiler/hbpcode.c
* source/compiler/hbstripl.c
* fixed compilation of code that uses '@' pass by
* source/macro/macroa.c
* source/macro/macrob.c
* source/macro/macroc.c
* source/vm/hvm.c
@@ -236,7 +253,7 @@
You can use the reserved property:
:__withobject
to access/assign the controlling object.
*implicit startup functions are removed from the list of
*fixed support for command line response file (@file.clp)
to be compatible with Clipper (Clipper genertes a single
obj file)
*fixed memory leaks when there is a fatal error in autoopened
@@ -244,10 +261,10 @@
*implicit startup functions are removed from the list of
functions before generation of output code
#xcommand SET <var1> [, <varN>] WITH <val> =>
* source/pp/ppcomp.c
* source/pp/pplib.c
* source/pp/ppcore.c
order then declared) -this fixes the following long
* redefinition of #define no longer causes a memory leak
* fixed repeatable optional clauses
#xcommand SET <var1> [, <varN>] WITH <val> =>
<var1>:=<val>[; <varN>:=<val>]
@@ -272,7 +289,7 @@
error if there is no method
* doc/en/clipper.txt
! Fixed not resetting the error block when used on a table containing
* added documentation for WITH OBJECT usage
2006-07-13 16:49 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
* harbour/source/rdd/dbtotal.prg
@@ -371,7 +388,7 @@
* harbour/source/vm/itemapi.c
* make hb_itemClear() safe for not allocated stack items
+ Generalized linker flags (LDFLAGS) and small exe generation
2006-07-10 20:43 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
By Marek Paliwoda:

View File

@@ -11,10 +11,8 @@
#
# Macro to show/hide executed commands
#
!ifdef HB_BUILD_VERBOSE
HIDE =
!else
HIDE = @
!if "$(HB_BUILD_VERBOSE)" != "yes"
.SILENT:
!endif
#**********************************************************
@@ -26,7 +24,18 @@ HIDE = @
BIN_DIR = bin\$(CC_DIRNAME)
OBJ_DIR = obj\$(CC_DIRNAME)
LIB_DIR = lib\$(CC_DIRNAME)
DLL_OBJ_DIR = obj\dll\$(CC_DIRNAME)
DLL_ROOTDIR = obj\dll
DLL_OBJ_DIR = $(DLL_ROOTDIR)\$(CC_DIRNAME)
# Targets Destination Directories
HB_DEST_DIRS = \
$(BIN_DIR) \
$(OBJ_DIR) \
$(LIB_DIR) \
\
$(DLL_ROOTDIR) \
$(DLL_OBJ_DIR)
COMMON_DIR = source\common
PP_DIR = source\pp
@@ -69,7 +78,7 @@ HBPDF_DIR = contrib\pdflib
#**********************************************************
# Where Bcc-Make should look for C and PRG sources
ALL_SRC_DIRS_TMP=\
ALL_LIB_SRC_DIRS_TMP=\
$(OBJ_DIR);\
$(COMMON_DIR);\
$(PP_DIR);\
@@ -92,17 +101,25 @@ $(GTPCA_DIR);\
$(GTSTD_DIR);\
$(GTWIN_DIR);\
$(GTWVT_DIR);\
$(GTGUI_DIR);\
$(HARBOUR_DIR);\
$(HBPP_DIR);\
$(GTGUI_DIR)\
ALL_EXE_SRC_DIRS_TMP=\
$(HBPPTEST_DIR);\
$(HBRUN_DIR);\
$(HBTEST_DIR);\
$(HBDOC_DIR);\
$(HBMAKE_DIR);\
$(HBVER_DIR)
$(HBVER_DIR)\
ALL_SRC_DIRS = $(ALL_SRC_DIRS_TMP: =)
ALL_SRC_DIRS_TMP=\
$(ALL_LIB_SRC_DIRS_TMP);\
$(HARBOUR_DIR);\
$(HBPP_DIR);\
$(ALL_EXE_SRC_DIRS_TMP)\
ALL_LIB_SRC_DIRS = $(ALL_LIB_SRC_DIRS_TMP: =)
ALL_EXE_SRC_DIRS = $(ALL_EXE_SRC_DIRS_TMP: =)
ALL_SRC_DIRS = $(ALL_SRC_DIRS_TMP: =)
#**********************************************************
#**********************************************************
@@ -147,6 +164,7 @@ HBMAKE_EXE = $(BIN_DIR)\hbmake.exe
HBVER_EXE = $(BIN_DIR)\hbverfix.exe
HARBOUR_DLL = $(BIN_DIR)\harbour-$(CC_DIRNAME).dll
HBTESTDLL_EXE= $(BIN_DIR)\hbtest-dll.exe
#**********************************************************
@@ -879,7 +897,7 @@ HB_BUILD_TARGETS = \
# variable HB_BUILD_DLL to yes
!if "$(HB_BUILD_DLL)" == "yes"
HB_BUILD_TARGETS = $(HB_BUILD_TARGETS) $(HARBOUR_DLL)
HB_BUILD_TARGETS = $(HB_BUILD_TARGETS) $(HARBOUR_DLL) $(HBTESTDLL_EXE)
!endif
#**********************************************************

View File

@@ -102,7 +102,7 @@ HB_EXTERN_BEGIN
/*
* In Harbour VM HB_IT_BYREF is never ORed with item type. It can be used
* as stand alone type for locals and statics passed by reference or with
* as stand alone type for locals and statics passed by reference or with
* HB_IT_MEMVAR for memvars passed by reference so this macro is less usable.
* only the hb_parinfo() function can return HB_TYPE as HB_IT_BYREF ORed
* with real type but this value is never set as item type.
@@ -503,7 +503,7 @@ extern void * hb_xRefResize( void * pMem, ULONG ulSave, ULONG ulSize ); /*
#if 0
/*
/*
* I used this macros only to test some speed overhead,
* They may not be supported in the future so please do
* not create any code which needs them. [druzus]
@@ -695,7 +695,7 @@ extern HB_EXPORT HB_HANDLE hb_dynsymAreaHandle( PHB_DYNS pDynSym ); /* return wo
extern HB_EXPORT void hb_dynsymSetAreaHandle( PHB_DYNS pDynSym, int iArea ); /* set work area number for a given dynamic symbol */
/* Symbol management */
extern PHB_SYMB hb_symbolNew( char * szName ); /* create a new symbol */
extern HB_EXPORT PHB_SYMB hb_symbolNew( char * szName ); /* create a new symbol */
/* Command line and environment argument management */
extern HB_EXPORT void hb_cmdargInit( int argc, char * argv[] ); /* initialize command line argument API's */

View File

@@ -11,7 +11,7 @@ rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_BUILD_MODE=C
rem set HB_BUILD_MODE=P
rem set HB_BUILD_DLL=yes
rem set HB_BUILD_DEBUG=yes
rem set HB_BUILD_VERBOSE=yes
@@ -30,15 +30,6 @@ rem ---------------------------------------------------------------
:BUILD
if not exist obj\nul md obj
if not exist obj\b32\nul md obj\b32
if not exist obj\dll\nul md obj\dll
if not exist obj\dll\b32\nul md obj\dll\b32
if not exist lib\nul md lib
if not exist lib\b32\nul md lib\b32
if not exist bin\nul md bin
if not exist bin\b32\nul md bin\b32
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -r -fmakefile.bc %1 %2 %3 > make_b32.log
if errorlevel 1 goto BUILD_ERR
@@ -61,24 +52,9 @@ rem ---------------------------------------------------------------
:CLEAN
if exist bin\b32\*.exe del bin\b32\*.exe
if exist bin\b32\*.dll del bin\b32\*.dll
if exist bin\b32\*.lib del bin\b32\*.lib
if exist bin\b32\*.tds del bin\b32\*.tds
if exist bin\b32\*.map del bin\b32\*.map
if exist lib\b32\*.lib del lib\b32\*.lib
if exist lib\b32\*.bak del lib\b32\*.bak
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% /f makefile.bc CLEAN > make_b32.log
if exist obj\dll\b32\*.obj del obj\dll\b32\*.obj
if exist obj\dll\b32\*.c del obj\dll\b32\*.c
if exist obj\dll\b32\*.h del obj\dll\b32\*.h
if exist obj\b32\*.obj del obj\b32\*.obj
if exist obj\b32\*.c del obj\b32\*.c
if exist obj\b32\*.h del obj\b32\*.h
if exist lib\*.lib del lib\*.lib
rem In this case, the makefile handles most cleanup.
if exist make_b32.log del make_b32.log
goto EXIT

View File

@@ -30,15 +30,6 @@ rem ---------------------------------------------------------------
:BUILD
if not exist obj\nul md obj
if not exist obj\vc\nul md obj\vc
if not exist obj\dll\nul md obj\dll
if not exist obj\dll\vc\nul md obj\dll\vc
if not exist lib\nul md lib
if not exist lib\vc\nul md lib\vc
if not exist bin\nul md bin
if not exist bin\vc\nul md bin\vc
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% /f makefile.vc %1 %2 %3 > make_vc.log
if errorlevel 1 goto BUILD_ERR
@@ -61,7 +52,7 @@ rem ---------------------------------------------------------------
:CLEAN
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% /f makefile.vc CLEAN
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% /f makefile.vc CLEAN > make_vc.log
rem In this case, the makefile handles most cleanup.

View File

@@ -89,30 +89,32 @@ MKLIB = tlib.exe
# Main "Include" directory
INCLUDE_DIR = include
# C Compiler Flags
CFLAGS = -I$(INCLUDE_DIR) $(C_USR) $(CFLAGS)
!ifndef BCC_NOOPTIM
CFLAGS = -O2 $(CFLAGS)
!endif
!if "$(HB_BUILD_DEBUG)" == "yes"
CFLAGS = -y -v $(CFLAGS)
!endif
CLIBFLAGS = -c -q $(CFLAGS) $(CLIBFLAGS)
CLIBFLAGSDLL = -D__EXPORT__ -tWM $(BCCDLL_WITH_DYNRT) $(CLIBFLAGS) $(CLIBFLAGSDLL)
CEXEFLAGSDLL = -tWM $(BCCDLL_WITH_DYNRT) $(CLIBFLAGS) $(CEXEFLAGSDLL)
!ifdef HB_BUILD_DEBUG
CLIBFLAGS = -y -v $(CLIBFLAGS)
!endif
CLIBFLAGSDLL = -D__EXPORT__ -DHB_FM_STATISTICS_OFF -tWM $(BCCDLL_WITH_DYNRT) $(CLIBFLAGS)
HARBOURFLAGS = -i$(INCLUDE_DIR) -n -q0 -w -es2 -gc0 $(PRG_USR) $(HARBOURFLAGS)
LDFLAGS = $(LDFLAGS)
!ifdef HB_BUILD_DEBUG
LDFLAGS = -v $(LDFLAGS)
!endif
LDFLAGSDLL = -aa -Gn -C -Tpd -Gi $(LDFLAGSDLL)
# Harbour Compiler Flags
HBFLAGSCMN = -i$(INCLUDE_DIR) -q0 -w -es2 -gc0 $(PRG_USR)
!ifdef HB_DOC_PDF
HARBOURFLAGS = $(HARBOURFLAGS) -dPDF
HBFLAGSCMN = $(HBFLAGSCMN) -dPDF
!endif
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)
!if "$(HB_BUILD_DEBUG)" == "yes"
LDFLAGS = -v $(LDFLAGS)
LDFLAGSDLL = -v $(LDFLAGSDLL)
!endif
#**********************************************************
@@ -149,27 +151,42 @@ DLL_OBJS = $(TMP_DLL_OBJS:$(OBJ_DIR)=$(DLL_OBJ_DIR))
# General *.c --> *.obj COMPILE rule for STATIC Libraries
{$(ALL_SRC_DIRS)}.c{$(OBJ_DIR)}.obj:
$(HIDE)$(CC) $(CLIBFLAGS) -o$@ $<
$(CC) $(CLIBFLAGS) -o$@ $<
#**********************************************************
# General *.prg --> *.obj COMPILE rule for STATIC Libraries
{$(ALL_SRC_DIRS)}.prg{$(OBJ_DIR)}.obj:
$(HIDE)$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$(OBJ_DIR)\\
$(HIDE)$(CC) $(CLIBFLAGS) -o$@ $(OBJ_DIR)\$&.c
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $**
$(CC) $(CLIBFLAGS) -o$@ $(OBJ_DIR)\$&.c
#**********************************************************
# General *.c --> *.obj COMPILE rule for SHARED Libraries
{$(ALL_SRC_DIRS)}.c{$(DLL_OBJ_DIR)}.obj:
$(HIDE)$(CC) $(CLIBFLAGSDLL) -o$@ $<
{$(ALL_LIB_SRC_DIRS)}.c{$(DLL_OBJ_DIR)}.obj:
$(CC) $(CLIBFLAGSDLL) -o$@ $<
#**********************************************************
# General *.prg --> *.obj COMPILE rule for SHARED Libraries
{$(ALL_SRC_DIRS)}.prg{$(DLL_OBJ_DIR)}.obj:
$(HIDE)$(HARBOUR_EXE) -D__EXPORT__ $(HARBOURFLAGS) $** -o$(DLL_OBJ_DIR)\\
$(HIDE)$(CC) $(CLIBFLAGSDLL) -o$@ $(DLL_OBJ_DIR)\$&.c
{$(ALL_LIB_SRC_DIRS)}.prg{$(DLL_OBJ_DIR)}.obj:
$(HARBOUR_EXE) $(HARBOURFLAGSDLL) -o$(DLL_OBJ_DIR)\ $**
$(CC) $(CLIBFLAGSDLL) -o$@ $(DLL_OBJ_DIR)\$&.c
#**********************************************************
# General *.c --> *.obj COMPILE rules for EXECUTABLES,
# which use Harbour SHARED Library compiled as DLL
{$(ALL_EXE_SRC_DIRS)}.c{$(DLL_OBJ_DIR)}.obj:
$(CC) $(CEXEFLAGSDLL) -o$@ $<
#**********************************************************
# General *.prg --> *.obj COMPILE rules for EXECUTABLES,
# which use Harbour SHARED Library compiled as DLL
{$(ALL_EXE_SRC_DIRS)}.prg{$(DLL_OBJ_DIR)}.obj:
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(DLL_OBJ_DIR)\ $**
$(CC) $(CEXEFLAGSDLL) -o$@ $(DLL_OBJ_DIR)\$&.c
#**********************************************************
#**********************************************************
@@ -181,8 +198,8 @@ DLL_OBJS = $(TMP_DLL_OBJS:$(OBJ_DIR)=$(DLL_OBJ_DIR))
# General Library BUILD rule
.obj.lib:
$(HIDE)IF EXIST "$@" $(DEL) "$@" > NUL
$(HIDE)$(MKLIB) "$@" $(ARFLAGS) @&&!
IF EXIST "$@" $(DEL) "$@" > NUL
$(MKLIB) "$@" $(ARFLAGS) @&&!
+$(**: = &^
+)
@@ -196,7 +213,7 @@ DLL_OBJS = $(TMP_DLL_OBJS:$(OBJ_DIR)=$(DLL_OBJ_DIR))
#**********************************************************
all : $(HB_BUILD_TARGETS)
all : $(HB_DEST_DIRS) $(HB_BUILD_TARGETS)
#
# Helper targets
@@ -208,21 +225,31 @@ StdLibs : $(STANDARD_STATIC_HBLIBS)
#**********************************************************
clean:
-@if exist $(BIN_DIR)\*.exe $(DEL) $(BIN_DIR)\*.exe > nul
-@if exist $(BIN_DIR)\*.tds $(DEL) $(BIN_DIR)\*.tds > nul
-@if exist $(BIN_DIR)\*.map $(DEL) $(BIN_DIR)\*.map > nul
-@if exist $(BIN_DIR)\*.dll $(DEL) $(BIN_DIR)\*.dll > nul
-@if exist $(BIN_DIR)\*.lib $(DEL) $(BIN_DIR)\*.lib > nul
-@if exist $(LIB_DIR)\*.lib $(DEL) $(LIB_DIR)\*.lib > nul
-@if exist $(LIB_DIR)\*.bak $(DEL) $(LIB_DIR)\*.bak > nul
-@if exist $(OBJ_DIR)\*.obj $(DEL) $(OBJ_DIR)\*.obj > nul
-@if exist $(OBJ_DIR)\*.c $(DEL) $(OBJ_DIR)\*.c > nul
-@if exist $(OBJ_DIR)\*.h $(DEL) $(OBJ_DIR)\*.h > nul
-@if exist $(DLL_OBJ_DIR)\*.obj $(DEL) $(DLL_OBJ_DIR)\*.obj > nul
-@if exist $(DLL_OBJ_DIR)\*.c $(DEL) $(DLL_OBJ_DIR)\*.c > nul
-@if exist $(DLL_OBJ_DIR)\*.h $(DEL) $(DLL_OBJ_DIR)\*.h > nul
# -@if exist make_b32.log $(DEL) make_b32.log
clean: doClean
CLEAN: doClean
doClean:
-if exist $(BIN_DIR)\*.exe $(DEL) $(BIN_DIR)\*.exe > nul
-if exist $(BIN_DIR)\*.tds $(DEL) $(BIN_DIR)\*.tds > nul
-if exist $(BIN_DIR)\*.tr? $(DEL) $(BIN_DIR)\*.tr? > nul
-if exist $(BIN_DIR)\*.map $(DEL) $(BIN_DIR)\*.map > nul
-if exist $(BIN_DIR)\*.dll $(DEL) $(BIN_DIR)\*.dll > nul
-if exist $(BIN_DIR)\*.lib $(DEL) $(BIN_DIR)\*.lib > nul
-if exist $(LIB_DIR)\*.lib $(DEL) $(LIB_DIR)\*.lib > nul
-if exist $(LIB_DIR)\*.bak $(DEL) $(LIB_DIR)\*.bak > nul
-if exist $(OBJ_DIR)\*.obj $(DEL) $(OBJ_DIR)\*.obj > nul
-if exist $(OBJ_DIR)\*.c $(DEL) $(OBJ_DIR)\*.c > nul
-if exist $(OBJ_DIR)\*.h $(DEL) $(OBJ_DIR)\*.h > nul
-if exist $(DLL_OBJ_DIR)\*.obj $(DEL) $(DLL_OBJ_DIR)\*.obj > nul
-if exist $(DLL_OBJ_DIR)\*.c $(DEL) $(DLL_OBJ_DIR)\*.c > nul
-if exist $(DLL_OBJ_DIR)\*.h $(DEL) $(DLL_OBJ_DIR)\*.h > nul
-if exist bin\*.exe $(DEL) bin\*.exe
-if exist lib\*.lib $(DEL) lib\*.lib
#**********************************************************
$(HB_DEST_DIRS):
!if not exist $@\nul mkdir $@
#**********************************************************
#
@@ -230,167 +257,167 @@ clean:
#
#**********************************************************
$(COMMON_LIB) : $(COMMON_LIB_OBJS)
$(HIDE)IF EXIST "$(COMMON_LIB)" $(DEL) "$(COMMON_LIB)" > NUL
$(HIDE)$(MKLIB) "$(COMMON_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(COMMON_LIB)" $(DEL) "$(COMMON_LIB)" > NUL
$(MKLIB) "$(COMMON_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
#**********************************************************
$(PP_LIB) : $(PP_LIB_OBJS)
$(HIDE)IF EXIST "$(PP_LIB)" $(DEL) "$(PP_LIB)" > NUL
$(HIDE)$(MKLIB) "$(PP_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(PP_LIB)" $(DEL) "$(PP_LIB)" > NUL
$(MKLIB) "$(PP_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
#**********************************************************
$(VM_LIB) :: BasicExes
$(VM_LIB) :: $(VM_LIB_OBJS)
$(HIDE)IF EXIST "$(VM_LIB)" $(DEL) "$(VM_LIB)" > NUL
$(HIDE)$(MKLIB) "$(VM_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(VM_LIB)" $(DEL) "$(VM_LIB)" > NUL
$(MKLIB) "$(VM_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
#**********************************************************
$(RTL_LIB) :: BasicExes
$(RTL_LIB) :: $(RTL_LIB_OBJS)
$(HIDE)IF EXIST "$(RTL_LIB)" $(DEL) "$(RTL_LIB)" > NUL
$(HIDE)$(MKLIB) "$(RTL_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(RTL_LIB)" $(DEL) "$(RTL_LIB)" > NUL
$(MKLIB) "$(RTL_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
#**********************************************************
$(MACRO_LIB) : $(MACRO_LIB_OBJS)
$(HIDE)IF EXIST "$(MACRO_LIB)" $(DEL) "$(MACRO_LIB)" > NUL
$(HIDE)$(MKLIB) "$(MACRO_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(MACRO_LIB)" $(DEL) "$(MACRO_LIB)" > NUL
$(MKLIB) "$(MACRO_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
#**********************************************************
$(DEBUG_LIB) :: BasicExes
$(DEBUG_LIB) :: $(DEBUG_LIB_OBJS)
$(HIDE)IF EXIST "$(DEBUG_LIB)" $(DEL) "$(DEBUG_LIB)" > NUL
$(HIDE)$(MKLIB) "$(DEBUG_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(DEBUG_LIB)" $(DEL) "$(DEBUG_LIB)" > NUL
$(MKLIB) "$(DEBUG_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
#**********************************************************
$(LANG_LIB) : $(LANG_LIB_OBJS)
$(HIDE)IF EXIST "$(LANG_LIB)" $(DEL) "$(LANG_LIB)" > NUL
$(HIDE)$(MKLIB) "$(LANG_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(LANG_LIB)" $(DEL) "$(LANG_LIB)" > NUL
$(MKLIB) "$(LANG_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
#**********************************************************
$(CODEPAGE_LIB) : $(CODEPAGE_LIB_OBJS)
$(HIDE)IF EXIST "$(CODEPAGE_LIB)" $(DEL) "$(CODEPAGE_LIB)" > NUL
$(HIDE)$(MKLIB) "$(CODEPAGE_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(CODEPAGE_LIB)" $(DEL) "$(CODEPAGE_LIB)" > NUL
$(MKLIB) "$(CODEPAGE_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
#**********************************************************
$(RDD_LIB) :: BasicExes
$(RDD_LIB) :: $(RDD_LIB_OBJS)
$(HIDE)IF EXIST "$(RDD_LIB)" $(DEL) "$(RDD_LIB)" > NUL
$(HIDE)$(MKLIB) "$(RDD_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(RDD_LIB)" $(DEL) "$(RDD_LIB)" > NUL
$(MKLIB) "$(RDD_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
#**********************************************************
$(NULSYS_LIB) : $(NULSYS_LIB_OBJS)
$(HIDE)IF EXIST "$(NULSYS_LIB)" $(DEL) "$(NULSYS_LIB)" > NUL
$(HIDE)$(MKLIB) "$(NULSYS_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(NULSYS_LIB)" $(DEL) "$(NULSYS_LIB)" > NUL
$(MKLIB) "$(NULSYS_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
#**********************************************************
$(DBFNTX_LIB) :: BasicExes
$(DBFNTX_LIB) :: $(DBFNTX_LIB_OBJS)
$(HIDE)IF EXIST "$(DBFNTX_LIB)" $(DEL) "$(DBFNTX_LIB)" > NUL
$(HIDE)$(MKLIB) "$(DBFNTX_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(DBFNTX_LIB)" $(DEL) "$(DBFNTX_LIB)" > NUL
$(MKLIB) "$(DBFNTX_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
#**********************************************************
$(DBFCDX_LIB) : $(DBFCDX_LIB_OBJS)
$(HIDE)IF EXIST "$(DBFCDX_LIB)" $(DEL) "$(DBFCDX_LIB)" > NUL
$(HIDE)$(MKLIB) "$(DBFCDX_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(DBFCDX_LIB)" $(DEL) "$(DBFCDX_LIB)" > NUL
$(MKLIB) "$(DBFCDX_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
#**********************************************************
$(DBFFPT_LIB) : $(DBFFPT_LIB_OBJS)
$(HIDE)IF EXIST "$(DBFFPT_LIB)" $(DEL) "$(DBFFPT_LIB)" > NUL
$(HIDE)$(MKLIB) "$(DBFFPT_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(DBFFPT_LIB)" $(DEL) "$(DBFFPT_LIB)" > NUL
$(MKLIB) "$(DBFFPT_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
#**********************************************************
$(HBSIX_LIB) : $(HBSIX_LIB_OBJS)
$(HIDE)IF EXIST "$(HBSIX_LIB)" $(DEL) "$(HBSIX_LIB)" > NUL
$(HIDE)$(MKLIB) "$(HBSIX_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(HBSIX_LIB)" $(DEL) "$(HBSIX_LIB)" > NUL
$(MKLIB) "$(HBSIX_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
#**********************************************************
$(HSX_LIB) : $(HSX_LIB_OBJS)
$(HIDE)IF EXIST "$(HSX_LIB)" $(DEL) "$(HSX_LIB)" > NUL
$(HIDE)$(MKLIB) "$(HSX_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(HSX_LIB)" $(DEL) "$(HSX_LIB)" > NUL
$(MKLIB) "$(HSX_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
#**********************************************************
$(USRRDD_LIB) : $(USRRDD_LIB_OBJS)
$(HIDE)IF EXIST "$(USRRDD_LIB)" $(DEL) "$(USRRDD_LIB)" > NUL
$(HIDE)$(MKLIB) "$(USRRDD_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(USRRDD_LIB)" $(DEL) "$(USRRDD_LIB)" > NUL
$(MKLIB) "$(USRRDD_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
#**********************************************************
$(GTCGI_LIB) : $(GTCGI_LIB_OBJS)
$(HIDE)IF EXIST "$(GTCGI_LIB)" $(DEL) "$(GTCGI_LIB)" > NUL
$(HIDE)$(MKLIB) "$(GTCGI_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(GTCGI_LIB)" $(DEL) "$(GTCGI_LIB)" > NUL
$(MKLIB) "$(GTCGI_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
#**********************************************************
$(GTDOS_LIB) : $(GTDOS_LIB_OBJS)
$(HIDE)IF EXIST "$(GTDOS_LIB)" $(DEL) "$(GTDOS_LIB)" > NUL
$(HIDE)$(MKLIB) "$(GTDOS_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(GTDOS_LIB)" $(DEL) "$(GTDOS_LIB)" > NUL
$(MKLIB) "$(GTDOS_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
#**********************************************************
$(GTPCA_LIB) : $(GTPCA_LIB_OBJS)
$(HIDE)IF EXIST "$(GTPCA_LIB)" $(DEL) "$(GTPCA_LIB)" > NUL
$(HIDE)$(MKLIB) "$(GTPCA_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(GTPCA_LIB)" $(DEL) "$(GTPCA_LIB)" > NUL
$(MKLIB) "$(GTPCA_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
#**********************************************************
$(GTSTD_LIB) : $(GTSTD_LIB_OBJS)
$(HIDE)IF EXIST "$(GTSTD_LIB)" $(DEL) "$(GTSTD_LIB)" > NUL
$(HIDE)$(MKLIB) "$(GTSTD_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(GTSTD_LIB)" $(DEL) "$(GTSTD_LIB)" > NUL
$(MKLIB) "$(GTSTD_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
#**********************************************************
$(GTWIN_LIB) : $(GTWIN_LIB_OBJS)
$(HIDE)IF EXIST "$(GTWIN_LIB)" $(DEL) "$(GTWIN_LIB)" > NUL
$(HIDE)$(MKLIB) "$(GTWIN_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(GTWIN_LIB)" $(DEL) "$(GTWIN_LIB)" > NUL
$(MKLIB) "$(GTWIN_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
#**********************************************************
$(GTWVT_LIB) : $(GTWVT_LIB_OBJS)
$(HIDE)IF EXIST "$(GTWVT_LIB)" $(DEL) "$(GTWVT_LIB)" > NUL
$(HIDE)$(MKLIB) "$(GTWVT_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(GTWVT_LIB)" $(DEL) "$(GTWVT_LIB)" > NUL
$(MKLIB) "$(GTWVT_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
#**********************************************************
$(GTGUI_LIB) : $(GTGUI_LIB_OBJS)
$(HIDE)IF EXIST "$(GTGUI_LIB)" $(DEL) "$(GTGUI_LIB)" > NUL
$(HIDE)$(MKLIB) "$(GTGUI_LIB)" $(ARFLAGS) @&&!
IF EXIST "$(GTGUI_LIB)" $(DEL) "$(GTGUI_LIB)" > NUL
$(MKLIB) "$(GTGUI_LIB)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
@@ -404,8 +431,8 @@ $(GTGUI_LIB) : $(GTGUI_LIB_OBJS)
#
$(HARBOUR_EXE) :: BasicLibs
$(HARBOUR_EXE) :: $(HARBOUR_EXE_OBJS)
$(HIDE)IF EXIST "$(HARBOUR_EXE)" $(DEL) "$(HARBOUR_EXE)" > NUL
$(HIDE)$(CC) @&&!
IF EXIST "$(HARBOUR_EXE)" $(DEL) "$(HARBOUR_EXE)" > NUL
$(CC) @&&!
$(CFLAGS)
-e$(HARBOUR_EXE)
$(**: = ^
@@ -419,8 +446,8 @@ $(PP_LIB)
#
$(HBPP_EXE) :: BasicLibs
$(HBPP_EXE) :: $(HBPP_EXE_OBJS)
$(HIDE)IF EXIST "$(HBPP_EXE)" $(DEL) "$(HBPP_EXE)" > NUL
$(HIDE)$(CC) @&&!
IF EXIST "$(HBPP_EXE)" $(DEL) "$(HBPP_EXE)" > NUL
$(CC) @&&!
$(CFLAGS)
-e$(HBPP_EXE)
$(**: = ^
@@ -434,8 +461,8 @@ $(PP_LIB)
#
$(HBPPTEST_EXE) :: BasicLibs BasicExes StdLibs
$(HBPPTEST_EXE) :: $(HBPPTEST_EXE_OBJS)
$(HIDE)IF EXIST "$(HBPPTEST_EXE)" $(DEL) "$(HBPPTEST_EXE)" > NUL
$(HIDE)$(CC) @&&!
IF EXIST "$(HBPPTEST_EXE)" $(DEL) "$(HBPPTEST_EXE)" > NUL
$(CC) @&&!
$(CFLAGS)
-e$(HBPPTEST_EXE)
$(**: = ^
@@ -449,8 +476,8 @@ $(PP_LIB)
#
$(HBRUN_EXE) :: BasicLibs BasicExes StdLibs
$(HBRUN_EXE) :: $(HBRUN_EXE_OBJS)
$(HIDE)IF EXIST "$(HBRUN_EXE)" $(DEL) "$(HBRUN_EXE)" > NUL
$(HIDE)$(CC) @&&!
IF EXIST "$(HBRUN_EXE)" $(DEL) "$(HBRUN_EXE)" > NUL
$(CC) @&&!
$(CFLAGS)
-e$(HBRUN_EXE)
$(**: = ^
@@ -463,8 +490,8 @@ $(STANDARD_STATIC_HBLIBS)
#
$(HBTEST_EXE) :: BasicLibs BasicExes StdLibs
$(HBTEST_EXE) :: $(HBTEST_EXE_OBJS)
$(HIDE)IF EXIST "$(HBTEST_EXE)" $(DEL) "$(HBTEST_EXE)" > NUL
$(HIDE)$(CC) @&&!
IF EXIST "$(HBTEST_EXE)" $(DEL) "$(HBTEST_EXE)" > NUL
$(CC) @&&!
$(CFLAGS)
-e$(HBTEST_EXE)
$(**: = ^
@@ -478,8 +505,8 @@ $(STANDARD_STATIC_HBLIBS)
$(HBDOC_EXE) :: BasicLibs BasicExes StdLibs
$(HBDOC_EXE) :: $(HBDOC_EXE_OBJS)
$(HIDE)IF EXIST "$(HBDOC_EXE)" $(DEL) "$(HBDOC_EXE)" > NUL
$(HIDE)$(CC) @&&!
IF EXIST "$(HBDOC_EXE)" $(DEL) "$(HBDOC_EXE)" > NUL
$(CC) @&&!
$(CFLAGS)
-e$(HBDOC_EXE)
$(**: = ^
@@ -492,8 +519,8 @@ $(STANDARD_STATIC_HBLIBS)
#
$(HBMAKE_EXE) :: BasicLibs BasicExes StdLibs
$(HBMAKE_EXE) :: $(HBMAKE_EXE_OBJS)
$(HIDE)IF EXIST "$(HBMAKE_EXE)" $(DEL) "$(HBMAKE_EXE)" > NUL
$(HIDE)$(CC) @&&!
IF EXIST "$(HBMAKE_EXE)" $(DEL) "$(HBMAKE_EXE)" > NUL
$(CC) @&&!
$(CFLAGS)
-e$(HBMAKE_EXE)
$(**: = ^
@@ -506,8 +533,8 @@ $(STANDARD_STATIC_HBLIBS)
#
$(HBVER_EXE) :: BasicLibs BasicExes StdLibs
$(HBVER_EXE) :: $(HBVER_EXE_OBJS)
$(HIDE)IF EXIST "$(HBVER_EXE)" $(DEL) "$(HBVER_EXE)" > NUL
$(HIDE)$(CC) @&&!
IF EXIST "$(HBVER_EXE)" $(DEL) "$(HBVER_EXE)" > NUL
$(CC) @&&!
$(CFLAGS)
-e$(HBVER_EXE)
$(**: = ^
@@ -521,10 +548,27 @@ $(STANDARD_STATIC_HBLIBS)
#**********************************************************
$(HARBOUR_DLL) :: BasicLibs BasicExes
$(HARBOUR_DLL) :: $(DLL_OBJS)
$(HIDE)$(LINKER) $(LDFLAGSDLL) @&&!
$** c0d32.obj, $@,, cw32.lib import32.lib
$(LINKER) $(LDFLAGSDLL) @&&!
c0d32.obj $**, $@,, cw32.lib import32.lib
!
#**********************************************************
#
# DLL EXECUTABLE Targets
#
#**********************************************************
$(HBTESTDLL_EXE) :: BasicLibs BasicExes
$(HBTESTDLL_EXE) :: $(DLL_OBJ_DIR)\mainstd.obj $(HBTEST_EXE_OBJS:$(OBJ_DIR)=$(DLL_OBJ_DIR))
$(LINKER) $(LDFLAGS) @&&!
c0x32.obj $**, $@,,$(HARBOUR_DLL:.dll=.lib) cw32.lib import32.lib
!
#----------------------------------------------------------
#$(DLL_OBJ_DIR)\hbtest.obj : $(HBTEST_DIR)\hbtest.prg
# $(HARBOUR_EXE) $(HARBOURFLAGS) -o$(DLL_OBJ_DIR)\ $**
# $(CC) $(CLIBFLAGSDLL) -o$@ $(DLL_OBJ_DIR)\$&.c
#----------------------------------------------------------
$(DLL_OBJ_DIR)\mainstd.obj : $(VM_DIR)\mainstd.c
$(CC) $(CEXEFLAGSDLL) -o$@ $**
#**********************************************************
#**********************************************************
#**********************************************************
@@ -533,57 +577,57 @@ $** c0d32.obj, $@,, cw32.lib import32.lib
#**********************************************************
$(OBJ_DIR)\macroy.c : $(MACRO_DIR)\macro.y
$(HIDE)bison --no-line -p hb_comp -d $** -o$@
bison --no-line -p hb_comp -d $** -o$@
$(OBJ_DIR)\macrol.c : $(MACRO_DIR)\macro.l
$(HIDE)flex -Phb_comp -i -8 -o$@ $**
flex -Phb_comp -i -8 -o$@ $**
$(OBJ_DIR)\macroy.obj : $(OBJ_DIR)\macroy.c
$(OBJ_DIR)\macrol.obj : $(OBJ_DIR)\macrol.c
$(HIDE)$(ECHO) > $(OBJ_DIR)\unistd.h
$(HIDE)$(CC) $(CLIBFLAGS) -I$(OBJ_DIR) -o$@ $**
$(HIDE)$(DEL) $(OBJ_DIR)\unistd.h
$(ECHO) > $(OBJ_DIR)\unistd.h
$(CC) $(CLIBFLAGS) -I$(OBJ_DIR) -o$@ $**
$(DEL) $(OBJ_DIR)\unistd.h
#**********************************************************
$(OBJ_DIR)\harboury.c : $(HARBOUR_DIR)\harbour.y
$(HIDE)bison --no-line -d $** -o$@
bison --no-line -d $** -o$@
$(OBJ_DIR)\harbourl.c : $(HARBOUR_DIR)\harbour.l
$(HIDE)flex -i -8 -o$@ $**
flex -i -8 -o$@ $**
$(OBJ_DIR)\harboury.obj : $(OBJ_DIR)\harboury.c
$(OBJ_DIR)\harbourl.obj : $(OBJ_DIR)\harbourl.c
$(HIDE)$(ECHO) > $(OBJ_DIR)\unistd.h
$(HIDE)$(CC) $(CLIBFLAGS) -I$(OBJ_DIR) -o$@ $**
$(HIDE)$(DEL) $(OBJ_DIR)\unistd.h
$(ECHO) > $(OBJ_DIR)\unistd.h
$(CC) $(CLIBFLAGS) -I$(OBJ_DIR) -o$@ $**
$(DEL) $(OBJ_DIR)\unistd.h
#**********************************************************
$(DLL_OBJ_DIR)\macroy.c : $(MACRO_DIR)\macro.y
$(HIDE)bison --no-line -p hb_comp -d $** -o$@
bison --no-line -p hb_comp -d $** -o$@
$(DLL_OBJ_DIR)\macrol.c : $(MACRO_DIR)\macro.l
$(HIDE)flex -Phb_comp -i -8 -o$@ $**
flex -Phb_comp -i -8 -o$@ $**
$(DLL_OBJ_DIR)\macroy.obj : $(DLL_OBJ_DIR)\macroy.c
$(DLL_OBJ_DIR)\macrol.obj : $(DLL_OBJ_DIR)\macrol.c
$(HIDE)$(ECHO) > $(DLL_OBJ_DIR)\unistd.h
$(HIDE)$(CC) $(CLIBFLAGS) -I$(DLL_OBJ_DIR) -o$@ $**
$(HIDE)$(DEL) $(DLL_OBJ_DIR)\unistd.h
$(ECHO) > $(DLL_OBJ_DIR)\unistd.h
$(CC) $(CLIBFLAGS) -I$(DLL_OBJ_DIR) -o$@ $**
$(DEL) $(DLL_OBJ_DIR)\unistd.h
#**********************************************************
$(DLL_OBJ_DIR)\harboury.c : $(HARBOUR_DIR)\harbour.y
$(HIDE)bison --no-line -d $** -o$@
bison --no-line -d $** -o$@
$(DLL_OBJ_DIR)\harbourl.c : $(HARBOUR_DIR)\harbour.l
$(HIDE)flex -i -8 -o$@ $**
flex -i -8 -o$@ $**
$(DLL_OBJ_DIR)\harboury.obj : $(DLL_OBJ_DIR)\harboury.c
$(DLL_OBJ_DIR)\harbourl.obj : $(DLL_OBJ_DIR)\harbourl.c
$(HIDE)$(ECHO) > $(DLL_OBJ_DIR)\unistd.h
$(HIDE)$(CC) $(CLIBFLAGS) -I$(DLL_OBJ_DIR) -o$@ $**
$(HIDE)$(DEL) $(DLL_OBJ_DIR)\unistd.h
$(ECHO) > $(DLL_OBJ_DIR)\unistd.h
$(CC) $(CLIBFLAGS) -I$(DLL_OBJ_DIR) -o$@ $**
$(DEL) $(DLL_OBJ_DIR)\unistd.h
#**********************************************************

File diff suppressed because it is too large Load Diff

View File

@@ -58,10 +58,14 @@
#if defined(HB_OS_WIN_32)
#if defined(_MSC_VER)
#ifdef __cplusplus
extern "C" {
#endif
LONG WINAPI hb_UnhandledExceptionFilter( struct _EXCEPTION_POINTERS * ExceptionInfo );
#ifdef __cplusplus
};
#endif
#endif
#define MAX_ARGS 128