2011-04-23 02:07 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

* INSTALL
    + Added TROUBLESHOOTING/9.: how to submit logs to dev list.
      Please read it.

  * src/rtl/diskspac.c
  * src/rtl/disksphb.c
    ! Fixed possible MT race condition in DISKSPACE()/HB_DISKSPACE()
      where no value could be returned.

  * src/rtl/gtwvt/gtwvt.c
    * Changed to use WS_EX_COMPOSITED instead of WS_EX_LAYERED.
      This works on XP and above (previous one also worked on W2K),
      and I mean this as another round of live testing, as WS_EX_LAYERED
      turned out to be causing strange flickers (maybe hardware
      induced, I don't know) on some non-virtualized/non-remote
      OS installations. Maybe this will work better. If not, even
      this will be deleted. Then maybe software/DC double-buffering
      will be the ultimate soltion.
    % Dropped fiddling with SetLayeredWindowAttributes() call.
    * Formatting.

  * contrib/make.hbs
    + Added 'verbose' keyword. Equivalent to HB_BUILD_VERBOSE=yes.
    + Added 'rebuild' keyword. (Equivalent to 'clean all')

  * contrib/3rd/sqlite3/sqlite3.hbp
    ! Added workaround for gcc/mingw bug in 4.5.0 and 4.5.1
      revisions where it shows compile error when iso89 c dialect
      is selected. Now in 4.5.x gnu89 is used instead to avoid it.

  * contrib/hbplist
    - Disabled gtwvg due to build breakage.
This commit is contained in:
Viktor Szakats
2011-04-23 00:08:55 +00:00
parent 87fafe4ade
commit 81aaba495a
8 changed files with 79 additions and 36 deletions

View File

@@ -16,6 +16,40 @@
The license applies to all entries newer than 2009-04-28.
*/
2011-04-23 02:07 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
+ Added TROUBLESHOOTING/9.: how to submit logs to dev list.
Please read it.
* src/rtl/diskspac.c
* src/rtl/disksphb.c
! Fixed possible MT race condition in DISKSPACE()/HB_DISKSPACE()
where no value could be returned.
* src/rtl/gtwvt/gtwvt.c
* Changed to use WS_EX_COMPOSITED instead of WS_EX_LAYERED.
This works on XP and above (previous one also worked on W2K),
and I mean this as another round of live testing, as WS_EX_LAYERED
turned out to be causing strange flickers (maybe hardware
induced, I don't know) on some non-virtualized/non-remote
OS installations. Maybe this will work better. If not, even
this will be deleted. Then maybe software/DC double-buffering
will be the ultimate soltion.
% Dropped fiddling with SetLayeredWindowAttributes() call.
* Formatting.
* contrib/make.hbs
+ Added 'verbose' keyword. Equivalent to HB_BUILD_VERBOSE=yes.
+ Added 'rebuild' keyword. (Equivalent to 'clean all')
* contrib/3rd/sqlite3/sqlite3.hbp
! Added workaround for gcc/mingw bug in 4.5.0 and 4.5.1
revisions where it shows compile error when iso89 c dialect
is selected. Now in 4.5.x gnu89 is used instead to avoid it.
* contrib/hbplist
- Disabled gtwvg due to build breakage.
2011-04-22 16:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
+ config/minix/clang.mk
+ Added new compiler for minix. [Tamas Tevesz]

View File

@@ -1264,6 +1264,17 @@ HARBOUR
8. Try to do no or only small modifications at once to command examples
included in this document. If it doesn't work, fall back to documented
examples as is.
9. If everything fails and you are to report a problem to the developers,
make sure to include your OS version/language/CPU architecture,
harbour revision, C compiler name/release and version, environment
variables and verbose log output containing _both stderr and stdout in
one combined stream_ (use 'make > log.txt 2>&1'). Enable verbose
mode using 'HB_BUILD_VERBOSE=yes'.
Complete log output is rarely necessary, but always make sure to include
the top of the output (lines starting with '!') and the area where
problematic behavior occurred. Compress your log using zip or gzip if
it is larger than 25KB.
Without these, your chances are lower to get useful or any response.
11. QUICK START TO BUILD YOUR OWN HARBOUR APPLICATIONS

View File

@@ -35,6 +35,9 @@
-cflag=-DSQLITE_THREADSAFE=0{minix}
-cflag=-DSQLITE_OMIT_LOAD_EXTENSION=1{minix}
# mingw 4.5.0/4.5.1 revisions fail compiling in iso90 mode. It's fixed in 4.5.2.
-c=gnu90{allgcc&HB_COMP_VER='45'}
sqlite3.c
# ORIGIN http://www.sqlite.org/

View File

@@ -3,7 +3,7 @@
#
gtalleg/gtalleg.hbp
gtwvg/gtwvg.hbp
#gtwvg/gtwvg.hbp
hbblat/hbblat.hbp
hbblink/hbblink.hbp
hbbz2/hbbz2.hbp # uses: bz2 (locally hosted)

View File

@@ -66,6 +66,7 @@ STATIC s_cReBase
PROCEDURE Main( ... )
LOCAL hProjectList
LOCAL aParams
s_cBase := ""
s_cReBase := ""
@@ -91,11 +92,17 @@ PROCEDURE Main( ... )
LoadProjectListFromFile( hProjectList, s_cHome + "hbplist" )
LoadProjectListFromString( hProjectList, GetEnv( "HB_BUILD_ADDONS" ) )
aParams := hb_AParams()
IF AScanL( aParams, "verbose" ) > 0
hb_setenv( "HB_BUILD_VERBOSE", "yes" )
ENDIF
/* Build */
IF Empty( GetEnv( "HB_HOST_BIN_DIR" ) )
Standalone( hb_AParams(), hProjectList )
Standalone( aParams, hProjectList )
ELSE
GNUMake( hb_AParams(), hProjectList )
GNUMake( aParams, hProjectList )
ENDIF
RETURN
@@ -128,6 +135,8 @@ PROCEDURE Standalone( aParams, hProjectList )
AScanL( aParams, "all" ) > 0 .AND. ;
AScanL( aParams, "all" ) > AScanL( aParams, "clean" )
nAction := _ACT_INC_REBUILD
CASE AScanL( aParams, "rebuild" ) > 0
nAction := _ACT_INC_REBUILD
CASE AScanL( aParams, "clean" ) > 0 .AND. ;
AScanL( aParams, "install" ) > 0 .AND. ;
AScanL( aParams, "install" ) > AScanL( aParams, "clean" )
@@ -154,7 +163,9 @@ PROCEDURE Standalone( aParams, hProjectList )
IF !( Lower( tmp ) == "install" ) .AND. ;
!( Lower( tmp ) == "clean" ) .AND. ;
!( Lower( tmp ) == "all" ) .AND. ;
!( Lower( tmp ) == "first" )
!( Lower( tmp ) == "first" ) .AND. ;
!( Lower( tmp ) == "rebuild" ) .AND. ;
!( Lower( tmp ) == "verbose" )
cOptionsUser += " " + tmp
@@ -267,6 +278,8 @@ PROCEDURE GNUMake( aParams, hProjectList )
ELSE
nAction := _ACT_INC
ENDIF
CASE AScanL( aParams, "rebuild" ) > 0
nAction := _ACT_INC_REBUILD
OTHERWISE
nAction := _ACT_INC
ENDCASE

View File

@@ -164,9 +164,8 @@ HB_FUNC( DISKSPACE )
static P_GDFSE s_pGetDiskFreeSpaceEx = NULL;
static HB_BOOL s_fInit = HB_FALSE;
if( !s_fInit )
if( ! s_fInit )
{
s_fInit = HB_TRUE;
s_pGetDiskFreeSpaceEx = ( P_GDFSE )
#if defined( UNICODE )
GetProcAddress( GetModuleHandle( hb_iswin9x() ? TEXT( "unicows.dll" ) : TEXT( "kernel32.dll" ) ),
@@ -175,6 +174,7 @@ HB_FUNC( DISKSPACE )
GetProcAddress( GetModuleHandle( TEXT( "kernel32.dll" ) ),
"GetDiskFreeSpaceExA" );
#endif
s_fInit = HB_TRUE;
}
if( s_pGetDiskFreeSpaceEx )

View File

@@ -225,9 +225,8 @@ HB_FUNC( HB_DISKSPACE )
static P_GDFSE s_pGetDiskFreeSpaceEx = NULL;
static HB_BOOL s_fInit = HB_FALSE;
if( !s_fInit )
if( ! s_fInit )
{
s_fInit = HB_TRUE;
s_pGetDiskFreeSpaceEx = ( P_GDFSE )
#if defined( UNICODE )
GetProcAddress( GetModuleHandle( hb_iswin9x() ? TEXT( "unicows.dll" ) : TEXT( "kernel32.dll" ) ),
@@ -236,6 +235,7 @@ HB_FUNC( HB_DISKSPACE )
GetProcAddress( GetModuleHandle( TEXT( "kernel32.dll" ) ),
"GetDiskFreeSpaceExA" );
#endif
s_fInit = HB_TRUE;
}
if( s_pGetDiskFreeSpaceEx )
{

View File

@@ -84,8 +84,8 @@
#include "gtwvt.h"
#ifndef WS_EX_LAYERED
#define WS_EX_LAYERED 0x00080000
#ifndef WS_EX_COMPOSITED
#define WS_EX_COMPOSITED 0x02000000
#endif
#ifndef LWA_ALPHA
@@ -157,7 +157,7 @@ static void hb_gt_wvt_RegisterClass( HINSTANCE hInstance )
WNDCLASS wndclass;
memset( &wndclass, 0, sizeof( wndclass ) );
wndclass.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;
wndclass.style = CS_DBLCLKS;
wndclass.lpfnWndProc = hb_gt_wvt_WndProc;
/* wndclass.cbClsExtra = 0; */
/* wndclass.cbWndExtra = 0; */
@@ -1879,31 +1879,15 @@ static void hb_gt_wvt_CreateWindow( PHB_GTWVT pWVT )
static HB_BOOL hb_gt_wvt_CreateConsoleWindow( PHB_GTWVT pWVT )
{
if( !pWVT->hWnd )
if( ! pWVT->hWnd )
{
hb_gt_wvt_CreateWindow( pWVT );
if( !pWVT->hWnd )
if( ! pWVT->hWnd )
hb_errInternal( 10001, "Failed to create WVT window", NULL, NULL );
#if ! defined( HB_OS_WIN_CE )
if( ! GetSystemMetrics( SM_REMOTESESSION ) )
{
typedef BOOL ( WINAPI * P_SLWA )( HWND, COLORREF, BYTE, DWORD );
P_SLWA pSetLayeredWindowAttributes = ( P_SLWA )
GetProcAddress( GetModuleHandle( TEXT( "user32.dll" ) ),
"SetLayeredWindowAttributes" );
if( pSetLayeredWindowAttributes )
{
SetWindowLongPtr( pWVT->hWnd, GWL_EXSTYLE, GetWindowLongPtr( pWVT->hWnd, GWL_EXSTYLE ) | WS_EX_LAYERED );
pSetLayeredWindowAttributes( pWVT->hWnd,
( COLORREF ) 0, /* COLORREF crKey */
255, /* BYTE bAlpha */
LWA_ALPHA /* DWORD dwFlags */ );
}
}
SetWindowLongPtr( pWVT->hWnd, GWL_EXSTYLE, GetWindowLongPtr( pWVT->hWnd, GWL_EXSTYLE ) | WS_EX_COMPOSITED );
#endif
/* Set icon */
@@ -1991,12 +1975,10 @@ static HB_BOOL hb_gt_wvt_FullScreen( PHB_GT pGT )
rt.bottom = 0;
#ifdef MONITOR_DEFAULTTONEAREST
pMonitorFromWindow = ( P_MFW )
GetProcAddress( GetModuleHandle( TEXT( "user32.dll" ) ),
"MonitorFromWindow" );
pGetMonitorInfo = ( P_GMI )
GetProcAddress( GetModuleHandle( TEXT( "user32.dll" ) ),
"GetMonitorInfo" );
pMonitorFromWindow = ( P_MFW ) GetProcAddress( GetModuleHandle( TEXT( "user32.dll" ) ),
"MonitorFromWindow" );
pGetMonitorInfo = ( P_GMI ) GetProcAddress( GetModuleHandle( TEXT( "user32.dll" ) ),
"GetMonitorInfo" );
if( pMonitorFromWindow && pGetMonitorInfo )
{