From 26c2a6fd7e5589ac7cd2cf510f701a322e7ebb9b Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Sat, 27 Sep 2008 07:16:10 +0000 Subject: [PATCH] 2008-09-27 09:15 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * include/hbthread.h % Disabled HB_USE_TLS for __BORLAND__ and __MINGW32__ for best performance. * contrib/hbwhat/whtmmcap.c ! Fixed some warnings under certain MinGW 4.3.2 installations. TODO: hbwhat users pls finish this fix. * utils/hbmake/hbmake.prg ! Fixed hbw32 to hbwin. * Win32 references changed to Windows. * make_gcc.sh * Not accepting CFLAGS anymore as custom C flags envvar. Pls use C_USR instead. * make_gcc.mak + Added wsock32 lib to Cygwin system liblist. ! Removed setting HB_OS_* macros explicitly. * make_b32.mak * make_vc.mak * Minor formatting. --- harbour/ChangeLog | 26 ++++++++++++++++++ harbour/contrib/hbwhat/whtmmcap.c | 8 ++++++ harbour/include/hbthread.h | 4 --- harbour/make_b32.mak | 2 +- harbour/make_gcc.mak | 4 +-- harbour/make_gcc.sh | 3 +-- harbour/make_vc.mak | 2 +- harbour/utils/hbmake/hbmake.prg | 44 +++++++++++++++---------------- 8 files changed, 61 insertions(+), 32 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 77d4521081..d8edccfc6c 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,32 @@ 2008-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org) */ +2008-09-27 09:15 UTC+0200 Viktor Szakats (harbour.01 syenar hu) + * include/hbthread.h + % Disabled HB_USE_TLS for __BORLAND__ and __MINGW32__ for + best performance. + + * contrib/hbwhat/whtmmcap.c + ! Fixed some warnings under certain MinGW 4.3.2 + installations. + TODO: hbwhat users pls finish this fix. + + * utils/hbmake/hbmake.prg + ! Fixed hbw32 to hbwin. + * Win32 references changed to Windows. + + * make_gcc.sh + * Not accepting CFLAGS anymore as custom C flags envvar. + Pls use C_USR instead. + + * make_gcc.mak + + Added wsock32 lib to Cygwin system liblist. + ! Removed setting HB_OS_* macros explicitly. + + * make_b32.mak + * make_vc.mak + * Minor formatting. + 2008-09-26 21:28 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/thread.c * release thread return value when is retrieve diff --git a/harbour/contrib/hbwhat/whtmmcap.c b/harbour/contrib/hbwhat/whtmmcap.c index 95eff07b53..d2486586fc 100644 --- a/harbour/contrib/hbwhat/whtmmcap.c +++ b/harbour/contrib/hbwhat/whtmmcap.c @@ -36,17 +36,25 @@ #define WM_CAP_GET_CAPSTREAMPTR (WM_CAP_START+ 1) +#ifndef WM_CAP_SET_CALLBACK_ERRORW #define WM_CAP_SET_CALLBACK_ERRORW (WM_CAP_UNICODE_START+ 2) +#endif #define WM_CAP_SET_CALLBACK_STATUSW (WM_CAP_UNICODE_START+ 3) +#ifndef WM_CAP_SET_CALLBACK_ERRORA #define WM_CAP_SET_CALLBACK_ERRORA (WM_CAP_START+ 2) +#endif #define WM_CAP_SET_CALLBACK_STATUSA (WM_CAP_START+ 3) #ifdef UNICODE #define WM_CAP_SET_CALLBACK_ERROR WM_CAP_SET_CALLBACK_ERRORW +#ifndef WM_CAP_SET_CALLBACK_STATUS #define WM_CAP_SET_CALLBACK_STATUS WM_CAP_SET_CALLBACK_STATUSW +#endif #else #define WM_CAP_SET_CALLBACK_ERROR WM_CAP_SET_CALLBACK_ERRORA +#ifndef WM_CAP_SET_CALLBACK_STATUS #define WM_CAP_SET_CALLBACK_STATUS WM_CAP_SET_CALLBACK_STATUSA #endif +#endif #define WM_CAP_SET_CALLBACK_YIELD (WM_CAP_START+ 4) diff --git a/harbour/include/hbthread.h b/harbour/include/hbthread.h index 4ff83e798c..691c374306 100644 --- a/harbour/include/hbthread.h +++ b/harbour/include/hbthread.h @@ -314,10 +314,6 @@ extern void hb_threadMutexUnlockAll( void ); */ # if defined( _MSC_VER ) # define HB_USE_TLS -# elif defined( __BORLANDC__ ) && !defined( __CODEGUARD__ ) -# define HB_USE_TLS -# elif defined( __MINGW32__ ) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 3 -# define HB_USE_TLS # elif defined( __GNUC__ ) && __GNUC__ >= 3 && \ defined( __GLIBC__ ) && defined( __GLIBC_MINOR__ ) && \ ( __GLIBC__ > 2 || ( __GLIBC__ == 2 && __GLIBC_MINOR__ >= 6 ) ) && \ diff --git a/harbour/make_b32.mak b/harbour/make_b32.mak index e50e705fba..ec480fceed 100644 --- a/harbour/make_b32.mak +++ b/harbour/make_b32.mak @@ -82,7 +82,7 @@ MKLIB = tlib.exe #********************************************************** -# Some definitions cannot be kept in Common.mak +# Some definitions cannot be kept in common.mak # due to serious limitations of Microsoft Nmake DLL_OBJS = $(TMP_DLL_OBJS:$(OBJ_DIR)=$(DLL_OBJ_DIR)) diff --git a/harbour/make_gcc.mak b/harbour/make_gcc.mak index 3a5a527f64..534cb5d080 100644 --- a/harbour/make_gcc.mak +++ b/harbour/make_gcc.mak @@ -145,7 +145,7 @@ VMMT_LIB_OBJS = $(subst $(OBJ_DIR),$(MT_OBJ_DIR),$(VM_LIB_OBJS)) # Do not perform an extra compilation phase for shared libraries # if gcc -fPIC compilation flag is already passed to a makefile -ifeq ($(findstring -fPIC,$(C_USR) $(CFLAGS)),-fPIC) +ifeq ($(findstring -fPIC,$(C_USR)),-fPIC) DLL_OBJS := $(TMP_DLL_OBJS) else DLL_OBJS := $(patsubst $(OBJ_DIR)%,$(DLL_OBJ_DIR)%,$(TMP_DLL_OBJS)) @@ -165,7 +165,7 @@ endif # Main "include" directory INCLUDE_DIR := include -CFLAGS := -W -Wall -I$(INCLUDE_DIR) $(C_USR) $(CFLAGS) -I$(OBJ_DIR) +CFLAGS := -W -Wall -I$(INCLUDE_DIR) $(C_USR) -I$(OBJ_DIR) CFLAGSMT := -DHB_MT_VM $(CFLAGSMT) #----------- ifndef GCC_NOOPTIM diff --git a/harbour/make_gcc.sh b/harbour/make_gcc.sh index 0f479de2f7..b4a24b870d 100755 --- a/harbour/make_gcc.sh +++ b/harbour/make_gcc.sh @@ -75,7 +75,7 @@ case "$HB_ARCHITECTURE" in ;; cyg) HB_OS="CYGWIN" GT_LIST="${GT_LIST} WIN WVT GUI" - OS_LIBS="-luser32 -lwinspool -lgdi32" + OS_LIBS="-luser32 -lwinspool -lwsock32 -lgdi32" ;; dos) HB_OS="DOS" GT_LIST="DOS" @@ -170,7 +170,6 @@ do done GT_LIST=$GT_TEMP -export C_USR="$C_USR -DHB_OS_$HB_OS" export HB_OS_LIBS="$HB_OS_LIBS $OS_LIBS" export HB_GT_LIST="$HB_GT_LIST $GT_LIST" export HB_GT_OBJS="$HB_GT_OBJS $GT_OBJS" diff --git a/harbour/make_vc.mak b/harbour/make_vc.mak index 4f9e1b8041..fe00a67127 100644 --- a/harbour/make_vc.mak +++ b/harbour/make_vc.mak @@ -97,7 +97,7 @@ MKLIB = lib.exe #********************************************************** -# Some definitions cannot be kept in Common.mak +# Some definitions cannot be kept in common.mak # due to serious limitations of Microsoft Nmake # Nmake does not support macros in string diff --git a/harbour/utils/hbmake/hbmake.prg b/harbour/utils/hbmake/hbmake.prg index 08e4a43cd9..a585d5fc29 100644 --- a/harbour/utils/hbmake/hbmake.prg +++ b/harbour/utils/hbmake/hbmake.prg @@ -112,7 +112,7 @@ STATIC s_cLinkCommands := "" STATIC s_lLinux := .F. STATIC s_lUnix := .F. STATIC s_lOS2 := .F. -STATIC s_lWin32 := .F. +STATIC s_lWindows := .F. STATIC s_lBcc := .F. // Borland C compiler STATIC s_lPocc := .F. // Pelles C compiler STATIC s_lMSVcc := .F. // MS-Visual C compiler @@ -1057,7 +1057,7 @@ FUNCTION SetBuild( nFHandle ) NEXT //IF !s_lLinux .and. s_lMinGW - IF s_lWin32 .OR. s_lOS2 .OR. s_lMinGW + IF s_lWindows .OR. s_lOS2 .OR. s_lMinGW FClose( s_nMakeFileHandle ) s_nMakeFileHandle:= F_ERROR // Invalid handle now file is closed ENDIF @@ -1352,7 +1352,7 @@ FUNCTION CreateMakeFile( cFile, lCreateAndCompile ) LOCAL lMediator := .F. LOCAL lApollo := .F. - LOCAL cOS := IIF( s_lUnix, "Unix", IIF( s_lLinux, "Linux", iif(s_lOS2,"OS/2","Win32") ) ) + LOCAL cOS := IIF( s_lUnix, "Unix", IIF( s_lLinux, "Linux", iif(s_lOS2,"OS/2","Windows") ) ) LOCAL cCompiler := IIF( s_lLinux .OR. s_lGcc, "GCC",iif(s_lPocc,"POCC",iif(s_lMSVcc,"MSVC","BCC"))) // Contrib GUI Libs @@ -1676,7 +1676,7 @@ While .t. @ 01,01 SAY s_aLangMessages[ 28 ] @ 01,16,06,21 GET cOS; - LISTBOX { "Win32", "OS/2", "Linux","Unix" }; + LISTBOX { "Windows", "OS/2", "Linux","Unix" }; MESSAGE s_aLangMessages[ 49 ]; STATE OsSpec(getlist,1,@cOS); DROPDOWN @@ -1702,7 +1702,7 @@ While .t. @ 02,16,08,26 GET cRdd; LISTBOX { "None","RDDADS","Mediator","Apollo"}; - WHEN cOS == "Win32" .or. cOS == "Linux"; + WHEN cOS == "Windows" .or. cOS == "Linux"; DROPDOWN; MESSAGE s_aLangMessages[ 52 ] @@ -1715,7 +1715,7 @@ While .t. @ 02,53 GET lUseHarbourDll; CHECKBOX; CAPTION "use harbour[.dll|.so]" style "[X ]"; - WHEN cOS == "Win32" .or. cOS == "Linux"; + WHEN cOS == "Windows" .or. cOS == "Linux"; MESSAGE s_aLangMessages[ 55 ] @ 03,01 SAY "Obj Files Dir"; @@ -2934,7 +2934,7 @@ FUNCTION ScanInclude( cFile, lRecursive, cExclExtent, aFiles) // Provisions for recursive scanning // Add current file to list, making it by default the first in the list - IF s_lWin32 + IF s_lWindows IF AScan(aFiles, {| x | Lower( x ) == Lower( cFnam + cExt ) } ) == 0 // Case IN-sensitive! AAdd(aFiles, cFnam + cExt ) ENDIF @@ -2996,7 +2996,7 @@ FUNCTION ScanInclude( cFile, lRecursive, cExclExtent, aFiles) ENDIF IF Len(cInclude) > 0 // Still Ok, add to list? - IF s_lWin32 + IF s_lWindows IF AScan(aFiles, {| x | Lower( x ) == Lower( cInclude ) } ) == 0 // Case IN-sensitive! AAdd(aFiles, (cInclude) ) // recursive scanning @@ -3282,7 +3282,7 @@ FUNCTION CreateLibMakeFile( cFile ) LOCAL aOutC := {} LOCAL aSrcC := Directory( "*.c" ) - LOCAL cOS := IIF( s_lLinux, "Linux", "Win32") + LOCAL cOS := IIF( s_lLinux, "Linux", "Windows") LOCAL cCompiler := IIF( s_lLinux, "GCC",IIF(s_lMSVcc,"MSVC",IIF(s_lPocc,"POCC","BCC"))) LOCAL cLibName := PADR( Left( cFile, At( ".", cFile ) - 1 ) ,40) @@ -3526,7 +3526,7 @@ FUNCTION CreateLibMakeFile( cFile ) @ 01,01 SAY s_aLangMessages[ 28 ] @ 01,17,06,24 GET cOS; - LISTBOX { "Win32", "OS/2", "Linux" }; + LISTBOX { "Windows", "OS/2", "Linux" }; MESSAGE s_aLangMessages[ 49 ]; STATE OsSpec(getlist,1,@cOS); DROPDOWN @@ -4577,7 +4577,7 @@ RETURN .T. *-------------------------- FUNCTION CheckCompiler(cOS) *-------------------------- -RETURN ( ("Win32" $ cOS) .or. ("Linux" $ cOS) ) +RETURN ( ("Windows" $ cOS) .or. ("Linux" $ cOS) ) *------------------------------ FUNCTION SetThisLibs(aTempLibs) @@ -5755,7 +5755,7 @@ FUNCTION GetInstaledLibs( clibs, lGcc ) aadd( aDefLib, "hbrtl" + cSuffix ) aadd( aDefLib, "hbclipsm" + cSuffix ) aadd( aDefLib, "hbtip" + cSuffix ) - aadd( aDefLib, "hbw32" + cSuffix ) + aadd( aDefLib, "hbwin" + cSuffix ) aadd( aDefLib, "hbvm" + cSuffix ) aadd( aDefLib, "hbziparc" + cSuffix ) @@ -5882,12 +5882,12 @@ FUNCTION CmdLineParam( cFile, cCmdParams ) s_cEOL := hb_OSNewLine() s_nLang := GETUSERLANG() /* In hbmlang.c */ - cTemp := UPPER( OS() ) - s_lOS2 := ( "OS/2" $ cTemp ) - s_lLinux := ( "LINUX" $ cTemp ) - s_lWin32 := ( "WINDOWS" $ cTemp ) - s_lUnix := ( "UNIX" $ cTemp .OR. ; - "HP-UX" $ cTemp ) + cTemp := UPPER( OS() ) + s_lOS2 := ( "OS/2" $ cTemp ) + s_lLinux := ( "LINUX" $ cTemp ) + s_lWindows := ( "WINDOWS" $ cTemp ) + s_lUnix := ( "UNIX" $ cTemp .OR. ; + "HP-UX" $ cTemp ) DO CASE CASE s_lOS2 /* OS/2 */ @@ -5900,9 +5900,9 @@ FUNCTION CmdLineParam( cFile, cCmdParams ) s_lLinux := s_lGcc := .T. s_cEditor := "mcedit" - CASE s_lWin32 /* Windows */ + CASE s_lWindows /* Windows */ - s_lWin32 := s_lBcc := .T. + s_lWindows := s_lBcc := .T. s_cEditor := "edit" CASE s_lUnix /* UXIX */ @@ -5912,8 +5912,8 @@ FUNCTION CmdLineParam( cFile, cCmdParams ) OTHERWISE /* Unknown OS - setup for windows as default */ - s_lWin32 := s_lBcc := .T. - s_cEditor := "edit" + s_lWindows := s_lBcc := .T. + s_cEditor := "edit" END CASE