diff --git a/harbour/ChangeLog b/harbour/ChangeLog index aed5ffd8e3..d991c4ff65 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,18 @@ 2008-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org) */ +2008-10-18 10:56 UTC+0200 Viktor Szakats (harbour.01 syenar hu) + * common.mak + * make_b32.mak + * make_vc.mak + * make_gcc.mak + % Harbour command line configuration moved to common.mak. + + * source/rtl/tclass.prg + * source/rtl/tget.prg + + NOTE added to tclass.prg. + * Minor formatting. + 2008-10-18 10:27 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * include/hbapi.h * source/common/hbgete.c diff --git a/harbour/common.mak b/harbour/common.mak index 3cfea92b3c..ab70217882 100644 --- a/harbour/common.mak +++ b/harbour/common.mak @@ -82,6 +82,23 @@ HB_INC_INSTALL = $(HB_INSTALL_PREFIX)\include HB_LIB_INSTALL = $(HB_INSTALL_PREFIX)\lib !endif +# Main "Include" directory +INCLUDE_DIR = include + +#********************************************************** +# Harbour Compiler Flags +#********************************************************** + +HBFLAGSCMN = -i$(INCLUDE_DIR) -q0 -w3 -es2 -km -l $(PRG_USR) +!if "$(HB_BUILD_DEBUG)" == "yes" +HBFLAGSCMN = $(HBFLAGSCMN) -l- +!endif +!if "$(HB_BUILD_WINCE)" == "yes" +HBFLAGSCMN = $(HBFLAGSCMN) -D__PLATFORM__WINCE +!endif +HARBOURFLAGS = -n $(HBFLAGSCMN) +HARBOURFLAGSDLL= -n1 $(HBFLAGSCMN) + #********************************************************** # Directory macros. These should never have to change. #********************************************************** diff --git a/harbour/make_b32.mak b/harbour/make_b32.mak index bd35943701..4348b5dfe3 100644 --- a/harbour/make_b32.mak +++ b/harbour/make_b32.mak @@ -78,11 +78,6 @@ VMMT_LIB_OBJS = $(VM_LIB_OBJS:$(OBJ_DIR)=$(MT_OBJ_DIR)) # C compiler, Harbour compiler and Linker flags. #********************************************************** -# Main "Include" directory -INCLUDE_DIR = include - -#********************************************************** - # C Compiler Flags CFLAGS = -I$(INCLUDE_DIR) -I$(OBJ_DIR) $(C_USR) CFLAGSMT = -DHB_MT_VM @@ -109,16 +104,6 @@ CEXEFLAGSDLL = $(HB_BCCDLL_DYNRT) $(CLIBFLAGS) #********************************************************** -# Harbour Compiler Flags -HBFLAGSCMN = -i$(INCLUDE_DIR) -q0 -w3 -es2 -km -l $(PRG_USR) -!if "$(HB_BUILD_DEBUG)" == "yes" -HBFLAGSCMN = $(HBFLAGSCMN) -l- -!endif -HARBOURFLAGS = -n $(HBFLAGSCMN) -HARBOURFLAGSDLL= -n1 $(HBFLAGSCMN) - -#********************************************************** - # Linker Flags LDFLAGS = -Gn -C -ap -Tpe -L$(LIB_DIR) -L$(BIN_DIR) $(L_USR) LDFLAGSDLL = -Gn -C -aa -Tpd -Gi -L$(LIB_DIR) $(L_USR) @@ -150,7 +135,7 @@ ARFLAGS = /P32 $(A_USR) #********************************************************** # General *.prg --> *.obj COMPILE rule for STATIC Libraries {$(ALL_SRC_DIRS)}.prg{$(OBJ_DIR)}$(OBJEXT): - $(HB) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $** + $(HB) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $** $(CC) $(CLIBFLAGS) -o$@ $(OBJ_DIR)\$&.c #********************************************************** @@ -161,7 +146,7 @@ ARFLAGS = /P32 $(A_USR) #********************************************************** # General *.prg --> *.obj COMPILE rule for STATIC MT Libraries {$(ALL_SRC_DIRS)}.prg{$(MT_OBJ_DIR)}$(OBJEXT): - $(HB) $(HARBOURFLAGS) -o$(MT_OBJ_DIR)\ $** + $(HB) $(HARBOURFLAGS) -o$(MT_OBJ_DIR)\ $** $(CC) $(CLIBFLAGS) $(CFLAGSMT) -o$@ $(MT_OBJ_DIR)\$&.c #********************************************************** @@ -172,7 +157,7 @@ ARFLAGS = /P32 $(A_USR) #********************************************************** # General *.prg --> *.obj COMPILE rule for SHARED Libraries {$(ALL_LIB_SRC_DIRS)}.prg{$(DLL_OBJ_DIR)}$(OBJEXT): - $(HB) $(HARBOURFLAGSDLL) -o$(DLL_OBJ_DIR)\ $** + $(HB) $(HARBOURFLAGSDLL) -o$(DLL_OBJ_DIR)\ $** $(CC) $(CLIBFLAGSDLL) -o$@ $(DLL_OBJ_DIR)\$&.c #********************************************************** diff --git a/harbour/make_gcc.mak b/harbour/make_gcc.mak index 36964ba9d9..63793c980b 100644 --- a/harbour/make_gcc.mak +++ b/harbour/make_gcc.mak @@ -146,9 +146,6 @@ endif # C compiler flags #********************************************************** -# Main "include" directory -INCLUDE_DIR := include - CFLAGS := -W -Wall -I$(INCLUDE_DIR) $(C_USR) -I$(OBJ_DIR) CFLAGSMT := -DHB_MT_VM #----------- @@ -172,17 +169,6 @@ CLIBFLAGSDLL := -fPIC $(CLIBFLAGSDLL) endif endif -#********************************************************** -# Harbour Compiler Flags -#********************************************************** - -HBFLAGSCMN := -i$(INCLUDE_DIR) -q0 -w3 -es2 -km -l $(PRG_USR) -ifeq ($(HB_BUILD_DEBUG),yes) -HBFLAGSCMN := $(HBFLAGSCMN) -l- -endif -HARBOURFLAGS := -n $(HBFLAGSCMN) -HARBOURFLAGSDLL:= -n1 $(HBFLAGSCMN) - #********************************************************** # Linker Flags #********************************************************** diff --git a/harbour/make_vc.mak b/harbour/make_vc.mak index b65d160434..70ee383111 100644 --- a/harbour/make_vc.mak +++ b/harbour/make_vc.mak @@ -95,11 +95,6 @@ VMMT_LIB_OBJS = $(VM_LIB_OBJS:obj\vc=obj\vc_mt) # C compiler, Harbour compiler and Linker flags. #********************************************************** -# Main "Include" directory -INCLUDE_DIR = include - -#********************************************************** - # C Compiler Flags !if "$(HB_BUILD_WINCE)" == "yes" @@ -162,19 +157,6 @@ CEXEFLAGSDLL = -MT$(DBGMARKER) $(CLIBFLAGS) #********************************************************** -# Harbour Compiler Flags -HBFLAGSCMN = -i$(INCLUDE_DIR) -q0 -w3 -es2 -km -l $(PRG_USR) -!if "$(HB_BUILD_DEBUG)" == "yes" -HBFLAGSCMN = $(HBFLAGSCMN) -l- -!endif -!if "$(HB_BUILD_WINCE)" == "yes" -HBFLAGSCMN = $(HBFLAGSCMN) -D__PLATFORM__WINCE -!endif -HARBOURFLAGS = -n $(HBFLAGSCMN) -HARBOURFLAGSDLL= -n1 $(HBFLAGSCMN) - -#********************************************************** - # Linker Flags !if "$(HB_BUILD_WINCE)" == "yes" LDFLAGS = /NOLOGO /SUBSYSTEM:WINDOWSCE,4.20 /MACHINE:ARM /ARMPADCODE \ diff --git a/harbour/source/rtl/tclass.prg b/harbour/source/rtl/tclass.prg index 3990e7a363..48ddfe1dd5 100644 --- a/harbour/source/rtl/tclass.prg +++ b/harbour/source/rtl/tclass.prg @@ -61,7 +61,7 @@ * Use of __cls_param function to allow multiple superclass declaration * Suppress of SetType and SetInit not more nedded * Delegation and forwarding - * Preparing the InitClass class method (not working !! ) + * Preparing the InitClass class method (not working !!) * * Copyright 1999 Eddie Runia * Support for inheritance @@ -71,10 +71,13 @@ * */ -/* Harbour Class HBClass to build classes */ - +/* NOTE: This .prg is also used by the debugger subsystem, + therefore we need this switch to avoid an infinite + loop when launching it. [vszakats] */ #pragma DEBUGINFO=OFF +/* Harbour Class HBClass to build classes */ + #include "common.ch" #include "hboo.ch" @@ -82,7 +85,8 @@ REQUEST HBObject FUNCTION HBClass() - STATIC s_hClass /* NOTE: Automatically default to NIL */ + STATIC s_hClass /* NOTE: Automatically defaults to NIL */ + LOCAL hClass IF s_hClass == NIL .AND. __clsLockDef( @s_hClass ) @@ -204,8 +208,7 @@ STATIC FUNCTION New( cClassName, xSuper, sClassFunc, lModuleFriendly ) RETURN QSelf() -/* STATIC PROCEDURE Create( MetaClass ) */ -STATIC PROCEDURE Create() +STATIC PROCEDURE Create( /* MetaClass */ ) LOCAL Self := QSelf() LOCAL n @@ -320,7 +323,7 @@ STATIC PROCEDURE AddData( cData, xInit, cType, nScope, lNoinit ) ELSEIF c $ "NI" /* Numeric or Integer */ xInit := 0 ELSEIF c == "D" /* Date */ - xInit := Ctod("") + xInit := hb_SToD() ENDIF ENDIF @@ -347,7 +350,8 @@ STATIC PROCEDURE AddClassData( cData, xInit, cType, nScope, lNoInit ) DEFAULT lNoInit TO .F. DEFAULT nScope TO HB_OO_CLSTP_EXPORTED - nScope := HB_BITOR( nScope, HB_OO_CLSTP_CLASS ); + + nScope := hb_bitOr( nScope, HB_OO_CLSTP_CLASS ) /* Default Init for Logical and numeric */ IF ! lNoInit .AND. cType != NIL .AND. xInit == NIL @@ -357,7 +361,7 @@ STATIC PROCEDURE AddClassData( cData, xInit, cType, nScope, lNoInit ) ELSEIF c $ "NI" /* Numeric or Integer */ xInit := 0 ELSEIF c == "D" /* Date */ - xInit := Ctod("") + xInit := hb_SToD() ENDIF ENDIF @@ -397,7 +401,8 @@ STATIC PROCEDURE AddMethod( cMethod, nFuncPtr, nScope ) STATIC PROCEDURE AddClsMethod( cMethod, nFuncPtr, nScope ) DEFAULT nScope TO HB_OO_CLSTP_EXPORTED - nScope := HB_BITOR( nScope, HB_OO_CLSTP_CLASS ); + + nScope := hb_bitOr( nScope, HB_OO_CLSTP_CLASS ) AAdd( QSelf():aClsMethods, { cMethod, nFuncPtr, nScope } ) diff --git a/harbour/source/rtl/tget.prg b/harbour/source/rtl/tget.prg index 7f7dd88ed7..571c3a4b3c 100644 --- a/harbour/source/rtl/tget.prg +++ b/harbour/source/rtl/tget.prg @@ -1667,10 +1667,10 @@ METHOD DeleteAll() CLASS Get CASE ::cType == "C" xValue := Space( ::nMaxlen ) CASE ::cType == "N" - xValue := 0 + xValue := 0 ::lMinus2 := .F. CASE ::cType == "D" - xValue := CToD( "" ) + xValue := hb_SToD() CASE ::cType == "L" xValue := .F. ENDCASE