diff --git a/harbour/ChangeLog b/harbour/ChangeLog index b249e12d07..2957da2805 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,31 @@ 2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org) */ +2009-03-14 14:37 UTC+0100 Viktor Szakats (harbour.01 syenar hu) + * make_gnu_xmingwce.sh + - Disabled modifying PATH when host OS is Windows. + ; NOTE: Hack. + + * include/hbtrace.h + + Added HB_EXPORT. + + * doc/whatsnew.txt + * contrib/hbfimage/fi_winfu.c + * contrib/hbfimage/fi_wrp.c + * contrib/hbfimage/Makefile + - Restored previous state, because latest changed addressing + Linux build failure were causing problems for the Windows + platform. + ; TOFIX: We must clean our types, to avoid these problems + and all bad hacks to work it around. + + * mpkg_win.bat + * mpkg_win.nsi + + Added files ChangeLog, TODO, ERRATA, INSTALL to root dir. + * Some changed to batch targeting robustness for situations + which cannot normally happen in normal cases, but it's + useful for debugging. + 2009-03-13 23:21 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * make_gnu.bat * config/win/global.cf diff --git a/harbour/contrib/hbfimage/Makefile b/harbour/contrib/hbfimage/Makefile index e4eb49d501..ac15d30835 100644 --- a/harbour/contrib/hbfimage/Makefile +++ b/harbour/contrib/hbfimage/Makefile @@ -9,6 +9,9 @@ LIBNAME=hbfimage HB_INC_FREEIMAGE_OK = ifneq ($(HB_ARCHITECTURE),dos) +# disabled until a proper solution is found for type collision +ifneq ($(HB_ARCHITECTURE),linux) +ifneq ($(HB_ARCHITECTURE),darwin) ifeq ($(HB_INC_FREEIMAGE),) ifeq ($(HB_XBUILD),) @@ -42,3 +45,9 @@ install:: else include $(TOP)$(ROOT)config/none.cf endif +else +include $(TOP)$(ROOT)config/none.cf +endif +else +include $(TOP)$(ROOT)config/none.cf +endif diff --git a/harbour/contrib/hbfimage/fi_winfu.c b/harbour/contrib/hbfimage/fi_winfu.c index ab95514757..e61a6fc169 100644 --- a/harbour/contrib/hbfimage/fi_winfu.c +++ b/harbour/contrib/hbfimage/fi_winfu.c @@ -50,10 +50,15 @@ * */ + #define HB_OS_WIN_USED #include "hbapi.h" +#include "hbapiitm.h" +#include "hbstack.h" #include "hbapierr.h" +#include "hbapifs.h" +#include "hbvm.h" #if defined(HB_OS_WIN) diff --git a/harbour/contrib/hbfimage/fi_wrp.c b/harbour/contrib/hbfimage/fi_wrp.c index a7957f6351..9025c0f52e 100644 --- a/harbour/contrib/hbfimage/fi_wrp.c +++ b/harbour/contrib/hbfimage/fi_wrp.c @@ -50,18 +50,17 @@ * */ -#define HB_DONT_DEFINE_BOOL -#define HB_DONT_DEFINE_LONG -#define HB_DONT_DEFINE_BYTE +#define HB_OS_WIN_USED -#if defined(WINNT) || defined(_Windows) || defined(__NT__) || defined(_WIN32) || defined(__WINDOWS_386__) || defined(__WIN32__) || defined(__CYGWIN__) - #if !defined(_WINDOWS_) && ( defined(__GNUC__) || defined(__POCC__) || defined(__XCC__) ) || defined(__WATCOMC__) - #define _WINDOWS_ - #endif -#endif -/* Hack to workaround FreeImage.h trying to #include */ -#if defined(__BORLANDC__) - #define _MSC_VER +#include "hbapi.h" +#include "hbapiitm.h" +#include "hbstack.h" +#include "hbapierr.h" +#include "hbapifs.h" +#include "hbvm.h" + +#if defined(HB_OS_WIN) && !defined(_WINDOWS_) && ( defined(__GNUC__) || defined(__POCC__) || defined(__XCC__) ) || defined(__WATCOMC__) + #define _WINDOWS_ #endif #ifdef HAVE_CONFIG_H @@ -70,11 +69,6 @@ #include "FreeImage.h" -#include "hbapi.h" -#include "hbapiitm.h" -#include "hbapierr.h" -#include "hbvm.h" - /* ************************* WRAPPED FUNCTIONS ****************************** */ /* static for error handler (see below FI_SETOUTPUTMESSAGE ) */ diff --git a/harbour/doc/whatsnew.txt b/harbour/doc/whatsnew.txt index 026e61c7b9..8d0d4377fc 100644 --- a/harbour/doc/whatsnew.txt +++ b/harbour/doc/whatsnew.txt @@ -296,7 +296,6 @@ Core Contrib ============================= -- hbfimage fixed to compile on Linux and Darwin. - hbblat new Blat interface class for Windows (Contributed by Francesco Saverio Giudice). - hbmzip fixed GPF in HB_ZIPDELETEFILE() when file has comment. @@ -402,6 +401,8 @@ Known build issues - Windows 64-bit builds may generate a large amount of type conversion warnings. This is currently normal and will be addressed in a future version. +- Contrib hbfimage won't currently compile on Linux/Darwin + systems. This will be addressed in a future version. - Contrib hbsqlit3 will not embed foreign sqlite3 library code for Pelles C 4.5 and Open Watcom 1.7 due to fatal compile problems. For these compilers you will have to supply sqlite3 library diff --git a/harbour/include/hbtrace.h b/harbour/include/hbtrace.h index 89fa5a2a32..7407a0893c 100644 --- a/harbour/include/hbtrace.h +++ b/harbour/include/hbtrace.h @@ -212,15 +212,15 @@ HB_EXTERN_BEGIN */ #define HB_TRACE_STEALTH(l, x) HB_ECHO_STEALTH_##l(x) -extern const char * hb_tr_file_; -extern int hb_tr_line_; -extern int hb_tr_level_; +extern HB_EXPORT const char * hb_tr_file_; +extern HB_EXPORT int hb_tr_line_; +extern HB_EXPORT int hb_tr_level_; -extern int hb_tracestate( int new_state ); -extern int hb_tracelevel( int new_level ); +extern HB_EXPORT int hb_tracestate( int new_state ); +extern HB_EXPORT int hb_tracelevel( int new_level ); -extern int hb_tr_level( void ); -extern void hb_tr_trace( const char * fmt, ... ) HB_PRINTF_FORMAT( 1, 2 ); +extern HB_EXPORT int hb_tr_level( void ); +extern HB_EXPORT void hb_tr_trace( const char * fmt, ... ) HB_PRINTF_FORMAT( 1, 2 ); HB_EXTERN_END diff --git a/harbour/make_gnu_xmingwce.sh b/harbour/make_gnu_xmingwce.sh index e27d5c4f2b..c379234e75 100755 --- a/harbour/make_gnu_xmingwce.sh +++ b/harbour/make_gnu_xmingwce.sh @@ -47,7 +47,10 @@ export HB_USER_PRGFLAGS="$CC_HB_USER_PRGFLAGS $HB_USER_PRGFLAGS" # default cegcc instalation path [ -z "$CCPATH" ] && CCPATH="/opt/mingw32ce/bin" -export PATH="$CCPATH:$PATH" + +if [ "$HB_HOST_ARCH" != "win" ]; then + export PATH="$CCPATH:$PATH" +fi # cegcc executables prefix - this # has changed in cegcc/gcc4.3.0 diff --git a/harbour/mpkg_win.bat b/harbour/mpkg_win.bat index ca095aaa3a..26d695e740 100644 --- a/harbour/mpkg_win.bat +++ b/harbour/mpkg_win.bat @@ -40,7 +40,7 @@ set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include set HB_DOC_INSTALL=%HB_INSTALL_PREFIX%\doc rem ; Pre-build cleanup -if exist %HB_INSTALL_BASE% rmdir /q /s %HB_INSTALL_BASE% +if exist %HB_INSTALL_PREFIX% rmdir /q /s %HB_INSTALL_PREFIX% rem ; Option setup set HB_BUILD_DLL=yes @@ -62,11 +62,11 @@ if exist "%HB_BIN_INSTALL%\*.lib" del "%HB_BIN_INSTALL%\*.lib" if exist "%HB_BIN_INSTALL%\*.exp" del "%HB_BIN_INSTALL%\*.exp" rem ; Post-build installation -xcopy /D /Y ChangeLog "%HB_INSTALL_PREFIX%" -xcopy /D /Y COPYING "%HB_INSTALL_PREFIX%" -xcopy /D /Y ERRATA "%HB_INSTALL_PREFIX%" -xcopy /D /Y INSTALL "%HB_INSTALL_PREFIX%" -xcopy /D /Y TODO "%HB_INSTALL_PREFIX%" +xcopy /D /Y ChangeLog "%HB_INSTALL_PREFIX%\" +xcopy /D /Y COPYING "%HB_INSTALL_PREFIX%\" +xcopy /D /Y ERRATA "%HB_INSTALL_PREFIX%\" +xcopy /D /Y INSTALL "%HB_INSTALL_PREFIX%\" +xcopy /D /Y TODO "%HB_INSTALL_PREFIX%\" rem ; Build installer package makensis.exe %~dp0mpkg_win.nsi @@ -75,13 +75,14 @@ rem ; Build .zip package if exist %HB_PKGNAME%.zip del %HB_PKGNAME%.zip pushd cd %HB_INSTALL_BASE% -zip -X -r -o %~dp0%HB_PKGNAME%.zip * +zip -X -r -o %~dp0%HB_PKGNAME%.zip . -i %HB_DIRNAME%\* popd :MK_ERROR rem ; Cleanup -if "%1" == "--deltemp" rmdir /q /s %HB_INSTALL_BASE% +if "%1" == "--deltemp" rmdir /q /s %HB_INSTALL_PREFIX% +if "%1" == "--deltemp" rmdir /q %HB_INSTALL_BASE% endlocal diff --git a/harbour/mpkg_win.nsi b/harbour/mpkg_win.nsi index fd6286e2f3..7441d33002 100644 --- a/harbour/mpkg_win.nsi +++ b/harbour/mpkg_win.nsi @@ -72,7 +72,12 @@ Section "Main components" hb_main ; Set output path to the installation directory. SetOutPath $INSTDIR + File /oname=COPYING "$%HB_DOC_INSTALL%\license.txt" + File /nonfatal "$%HB_INSTALL_PREFIX%\ChangeLog" + File /nonfatal "$%HB_INSTALL_PREFIX%\ERRATA" + File /nonfatal "$%HB_INSTALL_PREFIX%\INSTALL" + File /nonfatal "$%HB_INSTALL_PREFIX%\TODO" SetOutPath $INSTDIR\bin File "$%HB_BIN_INSTALL%\*.*" @@ -153,13 +158,12 @@ Section "Uninstall" ; Remove files and uninstaller RMDir /r $INSTDIR - ; Remove shortcuts, if any - Delete "$SMPROGRAMS\Harbour Project\*.*" - ; Remove directories used - RMDir "$SMPROGRAMS\Harbour Project\Links" - RMDir "$SMPROGRAMS\Harbour Project" - RMDir "$INSTDIR" + Delete "$SMPROGRAMS\Harbour Project\Links\*.*" + RMDir "$SMPROGRAMS\Harbour Project\Links" + Delete "$SMPROGRAMS\Harbour Project\*.*" + RMDir "$SMPROGRAMS\Harbour Project" + RMDir "$INSTDIR" Delete "$DESKTOP\Harbour Project.lnk"