diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 5c64219515..46c03f140f 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,18 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-12-21 15:46 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/src/vm/Makefile + * enable HB_HVM_ALL=yes in OpenWatcom C builds - it does not cause such + huge compile time overheads as in C++ mode + + * harbour/src/vm/dynlibhb.c + * generate TODO warning also in DOS builds when HB_LIBLOAD()/HB_LIBFREE() + is unsupported + + * harbour/include/hbwince.h + ! fixed recent modification + 2009-12-21 14:28 UTC+0500 April White (april users.sourceforge.net) * contrib/hbbtree/hb_btree.c * store a const to a var to be written to file in place of diff --git a/harbour/include/hbwince.h b/harbour/include/hbwince.h index 2e1449249f..bc4aeba7a5 100644 --- a/harbour/include/hbwince.h +++ b/harbour/include/hbwince.h @@ -71,89 +71,91 @@ extern int remove( const char * filename ); extern int system( const char * string ); extern char * strerror( int errnum ); -#if defined( HB_OS_WIN_USED ) && defined( _MSC_VER ) +#if defined( HB_OS_WIN_USED ) - #ifndef MAX_COMPUTERNAME_LENGTH - #define MAX_COMPUTERNAME_LENGTH 31 - #define SEM_FAILCRITICALERRORS 0x0001 - #define FILE_TYPE_CHAR 0x0002 - #define STD_INPUT_HANDLE ((DWORD)-10) - #define STD_OUTPUT_HANDLE ((DWORD)-11) - #define STD_ERROR_HANDLE ((DWORD)-12) - #define LOCKFILE_FAIL_IMMEDIATELY 0x00000001 - #define LOCKFILE_EXCLUSIVE_LOCK 0x00000002 - #define OEM_FIXED_FONT SYSTEM_FONT - #define WM_NCMOUSEMOVE 0x00A0 - #define WM_QUERYENDSESSION 0x0011 - #define WM_ENTERIDLE 0x0121 - #define SM_CMOUSEBUTTONS 43 - #define PROOF_QUALITY 2 - #define LR_LOADFROMFILE 0x0010 - #ifndef DRIVE_UNKNOWN - #define DRIVE_UNKNOWN 0 + #if defined( _MSC_VER ) + #ifndef MAX_COMPUTERNAME_LENGTH + #define MAX_COMPUTERNAME_LENGTH 31 + #define SEM_FAILCRITICALERRORS 0x0001 + #define FILE_TYPE_CHAR 0x0002 + #define STD_INPUT_HANDLE ((DWORD)-10) + #define STD_OUTPUT_HANDLE ((DWORD)-11) + #define STD_ERROR_HANDLE ((DWORD)-12) + #define LOCKFILE_FAIL_IMMEDIATELY 0x00000001 + #define LOCKFILE_EXCLUSIVE_LOCK 0x00000002 + #define OEM_FIXED_FONT SYSTEM_FONT + #define WM_NCMOUSEMOVE 0x00A0 + #define WM_QUERYENDSESSION 0x0011 + #define WM_ENTERIDLE 0x0121 + #define SM_CMOUSEBUTTONS 43 + #define PROOF_QUALITY 2 + #define LR_LOADFROMFILE 0x0010 + #ifndef DRIVE_UNKNOWN + #define DRIVE_UNKNOWN 0 + #endif #endif - #endif - DWORD WINAPI GetEnvironmentVariableA( LPCSTR name, LPSTR value, DWORD size ); - BOOL WINAPI SetEnvironmentVariableA( LPCSTR name, LPCSTR value ); - LPSTR WINAPI GetEnvironmentStringsA( void ); - BOOL WINAPI GetProcessTimes( HANDLE hprocess, - LPFILETIME lpCreationTime, LPFILETIME lpExitTime, - LPFILETIME lpKernelTime, LPFILETIME lpUserTime ); - BOOL WINAPI GetUserNameA( LPSTR buffer, LPDWORD len ); - BOOL WINAPI GetUserNameW( LPWSTR buffer, LPDWORD len ); - BOOL WINAPI GetComputerNameA( LPSTR buffer, LPDWORD len ); - BOOL WINAPI GetComputerNameW( LPWSTR buffer, LPDWORD len ); - DWORD WINAPI GetCurrentDirectoryA( DWORD len, LPSTR buffer ); - DWORD WINAPI GetCurrentDirectoryW( DWORD len, LPWSTR buffer ); - BOOL WINAPI SetCurrentDirectoryA( LPCSTR dirname ); - BOOL WINAPI SetCurrentDirectoryW( LPCWSTR dirname ); - BOOL WINAPI LockFile( HANDLE hFile, - DWORD dwFileOffsetLow, DWORD dwFileOffsetHigh, - DWORD nNumberOfBytesToLockLow, DWORD nNumberOfBytesToLockHigh ); - BOOL WINAPI LockFileEx( HANDLE hFile, - DWORD dwFlags, DWORD dwReserved, - DWORD nNumberOfBytesToLockLow, - DWORD nNumberOfBytesToLockHigh, LPOVERLAPPED lpOverlapped ); - BOOL WINAPI UnlockFile( HANDLE hFile, - DWORD dwFileOffsetLow, DWORD dwFileOffsetHigh, - DWORD nNumberOfBytesToUnlockLow, DWORD nNumberOfBytesToUnlockHigh ); - BOOL WINAPI UnlockFileEx( HANDLE hFile, DWORD dwReserved, - DWORD nNumberOfBytesToUnlockLow, - DWORD nNumberOfBytesToUnlockHigh, LPOVERLAPPED lpOverlapped ); - BOOL WINAPI GetVolumeInformationA( LPCSTR p1, LPSTR p2, DWORD p3, PDWORD p4, - PDWORD p5, PDWORD p6, LPSTR p7, DWORD p8 ); - UINT WINAPI SetErrorMode( UINT mode ); - HANDLE WINAPI CreateFileA( LPCSTR filename, DWORD access, - DWORD sharing, LPSECURITY_ATTRIBUTES sa, - DWORD creation, DWORD attributes, HANDLE tmplt ); - BOOL WINAPI MoveFileA( LPCSTR fn1, LPCSTR fn2 ); - BOOL WINAPI DeleteFileA( LPCSTR path ); - BOOL WINAPI RemoveDirectoryA( LPCSTR path ); - BOOL WINAPI CreateDirectoryA( LPCSTR path, LPSECURITY_ATTRIBUTES attr ); - BOOL WINAPI SetFileAttributesA( LPCSTR filename, DWORD attr ); - BOOL WINAPI CharToOemBuffA( LPCSTR src, LPSTR dst, DWORD len ); - BOOL WINAPI OemToCharBuffA( LPCSTR src, LPSTR dst, DWORD len ); - HANDLE WINAPI FindFirstFileA( LPCSTR path, WIN32_FIND_DATAA * data ); - BOOL WINAPI FindNextFileA( HANDLE handle, WIN32_FIND_DATAA * data ); - BOOL WINAPI GetVersionExA( OSVERSIONINFOA * v ); - HANDLE WINAPI GetStdHandle( DWORD nStdHandle ); - DWORD WINAPI GetFileType( HANDLE handle ); - HMODULE WINAPI GetModuleHandleA( LPCSTR modulename ); - HINSTANCE WINAPI LoadLibraryA( LPCSTR libname ); - DWORD WINAPI GetTempPathA( DWORD size, LPSTR buffer ); - UINT WINAPI GetTempFileNameA( LPCSTR tmpdir, LPCSTR prefix, UINT unique, LPSTR filename ); - BOOL WINAPI GetDiskFreeSpaceA( LPCSTR path, PDWORD pdwSectorsPerCluster, - PDWORD pdwBytesPerSector, - PDWORD pdwNumberOfFreeClusters, PDWORD pdwTotalNumberOfClusters ); - BOOL WINAPI Beep( DWORD dwFreq, DWORD dwDurat ); - int WINAPI SetTextCharacterExtra( HDC hdc, int i ); - BOOL WINAPI GetKeyboardState( PBYTE p ); - BOOL WINAPI SetKeyboardState( PBYTE p ); + DWORD WINAPI GetEnvironmentVariableA( LPCSTR name, LPSTR value, DWORD size ); + BOOL WINAPI SetEnvironmentVariableA( LPCSTR name, LPCSTR value ); + LPSTR WINAPI GetEnvironmentStringsA( void ); + BOOL WINAPI GetProcessTimes( HANDLE hprocess, + LPFILETIME lpCreationTime, LPFILETIME lpExitTime, + LPFILETIME lpKernelTime, LPFILETIME lpUserTime ); + BOOL WINAPI GetUserNameA( LPSTR buffer, LPDWORD len ); + BOOL WINAPI GetUserNameW( LPWSTR buffer, LPDWORD len ); + BOOL WINAPI GetComputerNameA( LPSTR buffer, LPDWORD len ); + BOOL WINAPI GetComputerNameW( LPWSTR buffer, LPDWORD len ); + DWORD WINAPI GetCurrentDirectoryA( DWORD len, LPSTR buffer ); + DWORD WINAPI GetCurrentDirectoryW( DWORD len, LPWSTR buffer ); + BOOL WINAPI SetCurrentDirectoryA( LPCSTR dirname ); + BOOL WINAPI SetCurrentDirectoryW( LPCWSTR dirname ); + BOOL WINAPI LockFile( HANDLE hFile, + DWORD dwFileOffsetLow, DWORD dwFileOffsetHigh, + DWORD nNumberOfBytesToLockLow, DWORD nNumberOfBytesToLockHigh ); + BOOL WINAPI LockFileEx( HANDLE hFile, + DWORD dwFlags, DWORD dwReserved, + DWORD nNumberOfBytesToLockLow, + DWORD nNumberOfBytesToLockHigh, LPOVERLAPPED lpOverlapped ); + BOOL WINAPI UnlockFile( HANDLE hFile, + DWORD dwFileOffsetLow, DWORD dwFileOffsetHigh, + DWORD nNumberOfBytesToUnlockLow, DWORD nNumberOfBytesToUnlockHigh ); + BOOL WINAPI UnlockFileEx( HANDLE hFile, DWORD dwReserved, + DWORD nNumberOfBytesToUnlockLow, + DWORD nNumberOfBytesToUnlockHigh, LPOVERLAPPED lpOverlapped ); + BOOL WINAPI GetVolumeInformationA( LPCSTR p1, LPSTR p2, DWORD p3, PDWORD p4, + PDWORD p5, PDWORD p6, LPSTR p7, DWORD p8 ); + UINT WINAPI SetErrorMode( UINT mode ); + HANDLE WINAPI CreateFileA( LPCSTR filename, DWORD access, + DWORD sharing, LPSECURITY_ATTRIBUTES sa, + DWORD creation, DWORD attributes, HANDLE tmplt ); + BOOL WINAPI MoveFileA( LPCSTR fn1, LPCSTR fn2 ); + BOOL WINAPI DeleteFileA( LPCSTR path ); + BOOL WINAPI RemoveDirectoryA( LPCSTR path ); + BOOL WINAPI CreateDirectoryA( LPCSTR path, LPSECURITY_ATTRIBUTES attr ); + BOOL WINAPI SetFileAttributesA( LPCSTR filename, DWORD attr ); + BOOL WINAPI CharToOemBuffA( LPCSTR src, LPSTR dst, DWORD len ); + BOOL WINAPI OemToCharBuffA( LPCSTR src, LPSTR dst, DWORD len ); + HANDLE WINAPI FindFirstFileA( LPCSTR path, WIN32_FIND_DATAA * data ); + BOOL WINAPI FindNextFileA( HANDLE handle, WIN32_FIND_DATAA * data ); + BOOL WINAPI GetVersionExA( OSVERSIONINFOA * v ); + HANDLE WINAPI GetStdHandle( DWORD nStdHandle ); + DWORD WINAPI GetFileType( HANDLE handle ); + HMODULE WINAPI GetModuleHandleA( LPCSTR modulename ); + HINSTANCE WINAPI LoadLibraryA( LPCSTR libname ); + DWORD WINAPI GetTempPathA( DWORD size, LPSTR buffer ); + UINT WINAPI GetTempFileNameA( LPCSTR tmpdir, LPCSTR prefix, UINT unique, LPSTR filename ); + BOOL WINAPI GetDiskFreeSpaceA( LPCSTR path, PDWORD pdwSectorsPerCluster, + PDWORD pdwBytesPerSector, + PDWORD pdwNumberOfFreeClusters, PDWORD pdwTotalNumberOfClusters ); + BOOL WINAPI Beep( DWORD dwFreq, DWORD dwDurat ); + int WINAPI SetTextCharacterExtra( HDC hdc, int i ); + BOOL WINAPI GetKeyboardState( PBYTE p ); + BOOL WINAPI SetKeyboardState( PBYTE p ); - int WINAPI FrameRect( HDC hDC, CONST RECT * lprc, HBRUSH hbr ); - BOOL WINAPI FloodFill( HDC hdc, int x, int y, COLORREF color); - BOOL WINAPI Arc( HDC hdc, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4); + int WINAPI FrameRect( HDC hDC, CONST RECT * lprc, HBRUSH hbr ); + BOOL WINAPI FloodFill( HDC hdc, int x, int y, COLORREF color); + BOOL WINAPI Arc( HDC hdc, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4); + #endif /* _MSC_VER */ #if defined( __POCC__ ) || defined( __XCC__ ) #ifndef GlobalAlloc @@ -179,15 +181,16 @@ extern char * strerror( int errnum ); #endif #ifndef GlobalFlags #define GlobalFlags(lp) LocalFlags(lp) + #endif #endif - #endif -#endif /* HB_OS_WIN_USED && _MSC_VER */ -#if !defined( GetEnvironmentVariable ) - DWORD WINAPI GetEnvironmentVariableW( LPCWSTR name, LPWSTR value, DWORD size ); - DWORD WINAPI GetEnvironmentVariableA( LPCSTR name, LPSTR value, DWORD size ); - #define GetEnvironmentVariable GetEnvironmentVariableW -#endif + #if !defined( GetEnvironmentVariable ) + DWORD WINAPI GetEnvironmentVariableW( LPCWSTR name, LPWSTR value, DWORD size ); + DWORD WINAPI GetEnvironmentVariableA( LPCSTR name, LPSTR value, DWORD size ); + #define GetEnvironmentVariable GetEnvironmentVariableW + #endif + +#endif /* HB_OS_WIN_USED */ #endif /* HB_OS_WIN_CE */ diff --git a/harbour/src/vm/Makefile b/harbour/src/vm/Makefile index 500bc1bc7e..4037c7b270 100644 --- a/harbour/src/vm/Makefile +++ b/harbour/src/vm/Makefile @@ -10,7 +10,9 @@ ifeq ($(HB_HVM_ALL),) HB_HVM_ALL := yes ifeq ($(HB_COMPILER),watcom) - HB_HVM_ALL := no + ifeq ($(HB_BUILD_MODE),cpp) + HB_HVM_ALL := no + endif endif ifeq ($(HB_COMPILER),bcc) HB_HVM_ALL := no diff --git a/harbour/src/vm/dynlibhb.c b/harbour/src/vm/dynlibhb.c index 1c2ac4e441..37dddcbbc3 100644 --- a/harbour/src/vm/dynlibhb.c +++ b/harbour/src/vm/dynlibhb.c @@ -128,7 +128,7 @@ HB_FUNC( HB_LIBLOAD ) } #elif defined( HB_HAS_DLFCN ) hDynLib = ( void * ) dlopen( hb_parc( 1 ), RTLD_LAZY | RTLD_GLOBAL ); -#elif !defined( HB_OS_DOS ) +#else { int TODO; }