diff --git a/harbour/ChangeLog b/harbour/ChangeLog index d0a1c06c41..caa46584d0 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,23 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-12-05 03:58 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * bin/postinst.bat + + Syncing C/C++ Harbour build mode with hbmk2 invocation + options in postinst phase. (please test) + Only required for mingw, but it's done for every compiler + for consistency, but only if it's overridden by user. + (so f.e. for msvc, C++ isn't enabled in this case. This + could be done on hbmk2 level however, but it would cause + a lot of 3rd party code to break so I didn't do it yet.) + + I didn't add logic to hbmk2 to inherit build-time C/C++ + setting, because it wouldn't work in cross-build situations, + and multi-target installations. + + * utils/hbmk2/hbmk2.prg + + Added comment on msvc C++ mode. + 2009-12-03 23:24 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) * contrib/hbide/hbide.ch + contrib/hbide/hbide.env @@ -27,10 +44,10 @@ + Started the possibility to switch to any compiler while building a project. ! Implemented tooltips on dialog components. + Added one more tab which holds the contents of hbide.env - residing alongside hbide.exe. + residing alongside hbide.exe. - NOTE: hbide.env is an experimental feature and as such name and location - of this file may change in future. + NOTE: hbide.env is an experimental feature and as such name and location + of this file may change in future. ! Few more artifacts corrected. @@ -45640,8 +45657,8 @@ method (non-C++ method is broken when using LTCG and potentially in other scenarios like IA64). Note, this doesn't mean we'd allow non-ANSI C usage inside Harbour, - so no C++ features are allowd. This won't cause any - drawbacks for the user AFAIK, if you know otherwise, pls + so no C++ features are allowed. This won't cause any + drawbacks for the users AFAIK, if you know otherwise, pls speak up. [Notice that we're using C++ mode for owatcom on all platforms.] diff --git a/harbour/bin/postinst.bat b/harbour/bin/postinst.bat index 86922c77b5..602cdfd648 100644 --- a/harbour/bin/postinst.bat +++ b/harbour/bin/postinst.bat @@ -49,6 +49,10 @@ if "%HB_SHELL%" == "nt" goto _SH_NT if "%HB_PLATFORM%" == "linux" goto _NO_DLL_BIN if "%HB_BUILD_DLL%" == "no" goto _NO_DLL_BIN + set HBMK_OPTIONS= + if "%HB_BUILD_MODE%" == "cpp" set HBMK_OPTIONS=%HBMK_OPTIONS% -cpp=yes + if "%HB_BUILD_MODE%" == "c" set HBMK_OPTIONS=%HBMK_OPTIONS% -cpp=no + echo ! Making shared version of Harbour binaries... "%HB_HOST_BIN_DIR%\hbmk2" -quiet -q0 -lng=en-EN -shared "-o%HB_BIN_INSTALL%\hbrun-dll" "%~dp0..\utils\hbrun\hbrun.hbp" "%HB_HOST_BIN_DIR%\hbmk2" -quiet -q0 -lng=en-EN -shared "-o%HB_BIN_INSTALL%\hbmk2-dll" "%~dp0..\utils\hbmk2\hbmk2.hbp" diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index c4cffba5e7..d97e0ff609 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -2939,6 +2939,15 @@ FUNCTION hbmk( aArgs, /* @ */ lPause ) CASE ( hbmk[ _HBMK_cPLAT ] == "win" .AND. hbmk[ _HBMK_cCOMP ] $ "msvc|msvc64|msvcia64|icc|iccia64" ) .OR. ; ( hbmk[ _HBMK_cPLAT ] == "wce" .AND. hbmk[ _HBMK_cCOMP ] == "msvcarm" ) /* NOTE: Cross-platform: wce/ARM on win/x86 */ + /* ; Not enabled yet, because it would cause a lot of 3rd party code to + break due to sloppy type conversions and other trivial coding errors + usually not noticed with C compilers. [vszakats] */ +#if 0 + IF hbmk[ _HBMK_lCPP ] == NIL + hbmk[ _HBMK_lCPP ] := .T. + ENDIF +#endif + IF Empty( nCCompVer ) /* Compatibility with Harbour GNU Make system */ IF hbmk[ _HBMK_cCOMP ] == "msvcarm" .AND. FindInPath( "clarm" )