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

* harbour/source/rtl/math.c
     ! Fixed GPF when compiled under Bcc with -tWR switch

   * harbour/makefile.bc
   * harbour/make_b32.bat
     ! Fixed compilation of Harbour DLL with dynamic RTL
     * Added INSTALL rule.

   * harbour/makefile.vc
   * harbour/make_vc.bat
     ! Fixed header description of makefile
     * Added INSTALL rule.
This commit is contained in:
Marek Paliwoda
2006-07-20 20:07:11 +00:00
parent fffc205acc
commit f8c854b08f
6 changed files with 134 additions and 54 deletions

View File

@@ -8,23 +8,37 @@
2002-12-01 13:30 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
* harbour/source/rtl/gtpca/gtpca.c
* harbour/source/rtl/gtstd/gtstd.c
! redirect STDOUT() to console only when stdout is a tty device.
2006-07-20 22:00 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl)
* harbour/source/rtl/math.c
! Fixed GPF when compiled under Bcc with -tWR switch
* harbour/makefile.bc
* harbour/make_b32.bat
! Fixed compilation of Harbour DLL with dynamic RTL
* Added INSTALL rule.
* harbour/makefile.vc
* harbour/make_vc.bat
! Fixed header description of makefile
* Added INSTALL rule.
+ Added batch file to compare PP results between Harbour and
2006-07-20 12:36 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
+ harbour/utils/hbpptest/compare.bat
+ harbour/utils/hbpptest/.cvsignore
* harbour/utils/hbpptest/pp_test.prg
+ Added batch file to compare PP results between Harbour and
CA-Cl*pper.
2006-07-20 11:40 UTC+0100 Ryszard Glab <rglab//imid.med.pl>
* source/pp/ppcore.c
* fixed bugs which I introduced
and harbour and next use diff utility to compare outputs -
* utils/hbpptest/pretest.prg
* added more test cases
+ utils/hbpptest/pp_test.prg
@@ -35,7 +49,7 @@
2006-07-18 21:26 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/hvm.c
! fixed executing EXIT procedures after external to BEGIN SEQUENCE / END
BREAK - now by default we are taking the same action as after QUIT
what seems to be intention of Clipper authors. When HVM is compiled
with HB_C52_STRICT macro then we will try to emulate real Clipper
@@ -63,7 +77,7 @@
+ Note added about __dbfList() to debugger source.
* harbour/source/rtl/dbedit.prg
! Comment typos.
2006-07-18 12:20 UTC+0100 Ryszard Glab <rglab//imid.med.pl>
* source/pp/ppcore.c
@@ -78,7 +92,7 @@
! fixed problems reported by Marek with EXIT procedures after my
last commit
+ Updates/fixes and more translated texts for Czech
2006-07-18 10:21 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
* harbour/source/lang/msgcs852.c
* harbour/source/lang/msgcsiso.c
* harbour/source/lang/msgcskam.c

View File

@@ -26,19 +26,15 @@ rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
rem ---------------------------------------------------------------
:BUILD
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -r -fmakefile.bc %1 %2 %3 > make_b32.log
if errorlevel 1 goto BUILD_ERR
rem ---------------------------------------------------------------
:BUILD_OK
copy bin\b32\*.exe bin\*.* > nul
copy lib\b32\*.lib lib\*.* > nul
goto EXIT
rem ---------------------------------------------------------------
@@ -52,7 +48,7 @@ rem ---------------------------------------------------------------
:CLEAN
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% /f makefile.bc CLEAN > make_b32.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f makefile.bc CLEAN > make_b32.log
rem In this case, the makefile handles most cleanup.
@@ -61,4 +57,23 @@ rem ---------------------------------------------------------------
rem ---------------------------------------------------------------
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=.
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f makefile.bc INSTALL > make_b32.log
goto EXIT
rem ---------------------------------------------------------------
:EXIT
rem set HB_MAKE_PROGRAM=
rem set HB_INSTALL_PREFIX=
rem set HB_BIN_INSTALL=
rem set HB_LIB_INSTALL=
rem set HB_INC_INSTALL=

View File

@@ -26,19 +26,15 @@ rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
rem ---------------------------------------------------------------
:BUILD
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% /f makefile.vc %1 %2 %3 > make_vc.log
if errorlevel 1 goto BUILD_ERR
rem ---------------------------------------------------------------
:BUILD_OK
copy bin\vc\*.exe bin\*.* > nul
copy lib\vc\*.lib lib\*.* > nul
goto EXIT
rem ---------------------------------------------------------------
@@ -61,4 +57,17 @@ rem ---------------------------------------------------------------
rem ---------------------------------------------------------------
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=.
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% /f makefile.vc INSTALL > make_vc.log
goto EXIT
rem ---------------------------------------------------------------
:EXIT

View File

@@ -18,26 +18,28 @@
#
# CFLAGS - Extra C compiler options for libraries and for
# executables
# CLIBFLAGS - Extra C compiler options for the libraries
# C_USR - Extra C compiler options for libraries and for
# executables (GNU make compatible envvar)
# HARBOURFLAGS - Extra Harbour compiler options
# HB_GT_LIB - To override the default GT driver
# (search for HB_GT_LIBS for a list of values)
# CLIBFLAGS - Extra C compiler options for the static libraries
# CLIBFLAGSDLL - Extra C compiler options for the shared libraries
#
# LDFLAGS - Extra linker options for the static libraries
# LDFLAGSDLL - Extra linker options for the shared libraries
#
# HARBOURFLAGS - Extra Harbour compiler options for static libs/exes
# HARBOURFLAGSDLL - Extra Harbour compiler options for shared libraries
# PRG_USR - Extra Harbour compiler options
# (GNU make compatible envvar)
# HB_GT_LIB - To override the default GT driver
# (search for HB_GT_LIBS for a list of values)
# HB_BUILD_DEBUG - If set to yes causes to compile with debug info
# HB_BUILD_VERBOSE - enables echoing commands being executed
# BCCDLL_WITH_DYNRT - If set to -tWR causes taht harbour-bc.dll
# BCCDLL_WITH_DYNRT - If set to -tWR causes that harbour-bc.dll
# will use dynamic runtime library (recommended)
#
# HB_DOC_PDF - Turns on the .PDF file support in the HBDOC utility.
# Note that this will require the pdflib contrib.
#
# NOTE: BCC_NOSTARTUP must be defined for Borland C++ 5.3 to make it work.
#
# ---------------------------------------------------------------
# "echo." intentionally used instead of "echo", to avoid conflicts
# with external commands named echo.
@@ -97,6 +99,9 @@ CFLAGS = -I$(INCLUDE_DIR) $(C_USR) $(CFLAGS)
!if "$(HB_BUILD_DEBUG)" == "yes"
CFLAGS = -y -v $(CFLAGS)
!endif
!if "$(BCCDLL_WITH_DYNRT)" == "-tWR"
RTLIBSUFFIX = i
!endif
CLIBFLAGS = -c -q $(CFLAGS) $(CLIBFLAGS)
CLIBFLAGSDLL = -D__EXPORT__ -tWM $(BCCDLL_WITH_DYNRT) $(CLIBFLAGS) $(CLIBFLAGSDLL)
CEXEFLAGSDLL = -tWM $(BCCDLL_WITH_DYNRT) $(CLIBFLAGS) $(CEXEFLAGSDLL)
@@ -107,7 +112,7 @@ HBFLAGSCMN = -i$(INCLUDE_DIR) -q0 -w -es2 -gc0 $(PRG_USR)
HBFLAGSCMN = $(HBFLAGSCMN) -dPDF
!endif
HARBOURFLAGS = -n $(HBFLAGSCMN) $(HARBOURFLAGS)
HARBOURFLAGSDLL= -D__EXPORT__ -n1 $(HBFLAGSCMN) $(HARBOURFLAGSDLL)
HARBOURFLAGSDLL= -D__EXPORT__ -n1 -l $(HBFLAGSCMN) $(HARBOURFLAGSDLL)
# Linker Flags
LDFLAGS = -ap -Tpe -Gn -C -L$(LIB_DIR) -L$(BIN_DIR) $(LDFLAGS)
@@ -130,7 +135,7 @@ ARFLAGS = /P32
# Include Common Object list files
# shared between Msvc and Borland
!include Common.mak
!include common.mak
#**********************************************************
@@ -197,7 +202,7 @@ DLL_OBJS = $(TMP_DLL_OBJS:$(OBJ_DIR)=$(DLL_OBJ_DIR))
#**********************************************************
# General Library BUILD rule
.obj.lib:
{$(OBJ_DIR)}.obj{$(LIB_DIR)}.lib:
IF EXIST "$@" $(DEL) "$@" > NUL
$(MKLIB) "$@" $(ARFLAGS) @&&!
+$(**: = &^
@@ -248,6 +253,21 @@ doClean:
#**********************************************************
install : doInstall
INSTALL : doInstall
doInstall:
-if exist $(HB_BIN_INSTALL)\nul if exist $(BIN_DIR)\*.dll copy /B /Y $(BIN_DIR)\*.dll $(HB_BIN_INSTALL) > nul
-if exist $(HB_LIB_INSTALL)\nul if exist $(BIN_DIR)\*.lib copy /B /Y $(BIN_DIR)\*.lib $(HB_LIB_INSTALL) > nul
-if exist $(HB_LIB_INSTALL)\nul if exist $(LIB_DIR)\*.lib copy /B /Y $(LIB_DIR)\*.lib $(HB_LIB_INSTALL) > nul
!if "$(HB_INSTALL_PREFIX)" != "."
-if exist $(HB_INC_INSTALL)\nul copy /A /Y include\*.api $(HB_INC_INSTALL) > nul
-if exist $(HB_INC_INSTALL)\nul copy /A /Y include\*.ch $(HB_INC_INSTALL) > nul
-if exist $(HB_INC_INSTALL)\nul copy /A /Y include\*.h $(HB_INC_INSTALL) > nul
!endif
#**********************************************************
$(HB_DEST_DIRS):
!if not exist $@\nul mkdir $@
@@ -549,7 +569,7 @@ $(STANDARD_STATIC_HBLIBS)
$(HARBOUR_DLL) :: BasicLibs BasicExes
$(HARBOUR_DLL) :: $(DLL_OBJS)
$(LINKER) $(LDFLAGSDLL) @&&!
c0d32.obj $**, $@,, cw32.lib import32.lib
c0d32.obj $**, $@,, cw32mt$(RTLIBSUFFIX).lib import32.lib
!
#**********************************************************
#
@@ -559,7 +579,7 @@ c0d32.obj $**, $@,, cw32.lib import32.lib
$(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
c0x32.obj $**, $@,,$(HARBOUR_DLL:.dll=.lib) cw32mt$(RTLIBSUFFIX).lib import32.lib
!
#----------------------------------------------------------
#$(DLL_OBJ_DIR)\hbtest.obj : $(HBTEST_DIR)\hbtest.prg

View File

@@ -3,7 +3,7 @@
#
#
# Makefile for Harbour Project for Borland C/C++ 5.x compilers
# Makefile for Harbour Project for Msvc 6.0/7.1 compilers
#
# ---------------------------------------------------------------
@@ -16,16 +16,22 @@
# NOTE: You can use these envvars to configure the make process:
# (note that these are all optional)
#
# CFLAGS - Extra C compiler options for libraries and for
# executables
# CLIBFLAGS - Extra C compiler options for the libraries
# C_USR - Extra C compiler options for libraries and for
# executables (GNU make compatible envvar)
# HARBOURFLAGS - Extra Harbour compiler options
# HB_GT_LIB - To override the default GT driver
# (search for HB_GT_LIBS for a list of values)
# PRG_USR - Extra Harbour compiler options
# (GNU make compatible envvar)
# CFLAGS - Extra C compiler options for libraries and for
# executables
# C_USR - Extra C compiler options for libraries and for
# executables (GNU make compatible envvar)
# CLIBFLAGS - Extra C compiler options for the static libraries
# CLIBFLAGSDLL - Extra C compiler options for the shared libraries
#
# LDFLAGS - Extra linker options for the static libraries
# LDFLAGSDLL - Extra linker options for the shared libraries
#
# HARBOURFLAGS - Extra Harbour compiler options for static libs/exes
# HARBOURFLAGSDLL - Extra Harbour compiler options for shared libraries
# PRG_USR - Extra Harbour compiler options
# (GNU make compatible envvar)
# HB_GT_LIB - To override the default GT driver
# (search for HB_GT_LIBS for a list of values)
# 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
@@ -33,10 +39,6 @@
# HB_DOC_PDF - Turns on the .PDF file support in the HBDOC utility.
# Note that this will require the pdflib contrib.
#
# NOTE: BCC_NOSTARTUP must be defined for Borland C++ 5.3 to make it work.
#
# ---------------------------------------------------------------
# "echo." intentionally used instead of "echo", to avoid conflicts
# with external commands named echo.
@@ -124,7 +126,7 @@ LDFLAGSDLL = /DEBUG $(LDFLAGSDLL)
# Include Common Object list files
# shared between Msvc and Borland
!include Common.mak
!include common.mak
#**********************************************************
@@ -641,6 +643,7 @@ CLEAN: doClean
doClean:
-if exist *.idb $(DEL) *.idb > nul
-if exist *.pch $(DEL) *.pch > nul
-if exist *.pdb $(DEL) *.pdb > 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
@@ -661,6 +664,21 @@ doClean:
#**********************************************************
install : doInstall
INSTALL : doInstall
doInstall:
-if exist $(HB_BIN_INSTALL)\nul if exist $(BIN_DIR)\*.dll copy /B /Y $(BIN_DIR)\*.dll $(HB_BIN_INSTALL) > nul
-if exist $(HB_LIB_INSTALL)\nul if exist $(BIN_DIR)\*.lib copy /B /Y $(BIN_DIR)\*.lib $(HB_LIB_INSTALL) > nul
-if exist $(HB_LIB_INSTALL)\nul if exist $(LIB_DIR)\*.lib copy /B /Y $(LIB_DIR)\*.lib $(HB_LIB_INSTALL) > nul
!if "$(HB_INSTALL_PREFIX)" != "."
-if exist $(HB_INC_INSTALL)\nul copy /A /Y include\*.api $(HB_INC_INSTALL) > nul
-if exist $(HB_INC_INSTALL)\nul copy /A /Y include\*.ch $(HB_INC_INSTALL) > nul
-if exist $(HB_INC_INSTALL)\nul copy /A /Y include\*.h $(HB_INC_INSTALL) > nul
!endif
#**********************************************************
$(HB_DEST_DIRS):
!if not exist $@\nul mkdir $@

View File

@@ -134,7 +134,11 @@ int hb_mathIsMathErr (void)
/* route C math lib errors to Harbour error handling */
#if defined(HB_MATH_HANDLER)
int matherr (struct exception * err)
int
#ifdef __BORLANDC__
HB_EXPORT
#endif
matherr (struct exception * err)
{
int retval;
HB_MATH_HANDLERPROC mathHandler;
@@ -259,7 +263,7 @@ int hb_mathErrSet( double dResult, double arg1, double arg2, char * szFunc, int
s_hb_exc.type = HB_MATH_ERR_OVERFLOW;
s_hb_exc.error = "Calculation result too large to represent";
break;
#endif
#endif
default:
s_hb_exc.type = HB_MATH_ERR_UNKNOWN;
s_hb_exc.error = "Unknown math error";