From aedb632e4ac2d9af32247182eef3b95d3234a0df Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Tue, 15 Jun 2010 16:08:38 +0000 Subject: [PATCH] 2010-06-15 18:06 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * INSTALL + Added Mac OS X QT pkg recommended link. * ChangeLog * Updated list of pending issue on QNX system. * contrib/hbmysql/mysql.c ! Fixed version guard around mysql_get_server_version() call to check against the documented version number this function appeared. * utils/hbmk2/hbmk2.prg ! Fix for *nix filename escaping code. ! Fixed to escape and decorate filename in entry function detection external call using nm tool. ; Patches by Tamas Tevesz. --- harbour/ChangeLog | 28 +++++++++++++++++++++++++--- harbour/INSTALL | 8 +++++--- harbour/contrib/hbmysql/mysql.c | 2 +- harbour/utils/hbmk2/hbmk2.prg | 14 +++----------- 4 files changed, 34 insertions(+), 18 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 8c6739d0be..547bf393df 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,24 @@ The license applies to all entries newer than 2009-04-28. */ +2010-06-15 18:06 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * INSTALL + + Added Mac OS X QT pkg recommended link. + + * ChangeLog + * Updated list of pending issue on QNX system. + + * contrib/hbmysql/mysql.c + ! Fixed version guard around mysql_get_server_version() call + to check against the documented version number this + function appeared. + + * utils/hbmk2/hbmk2.prg + ! Fix for *nix filename escaping code. + ! Fixed to escape and decorate filename in entry function + detection external call using nm tool. + ; Patches by Tamas Tevesz. + 2010-06-15 08:33 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/resources/setup.ui + Added few more settings. @@ -256,10 +274,14 @@ ; TOFIX/TODO: - hbrun seems to misdetect the width of the terminal - Clean some hacks in QNX port - - platform autodetection - - retest whole port from vanilla SVN source, test MT - linkage. + - platform autodetection missing - TODO_CRTSCTS + - pgsql/mysql/openssl dependent libs don't build due + to missing constants/functions. + ! Due to missing $(realpath), locally hosted packages + are never detected, which causes hbmk2 to miss pcre lib. + - retest whole port from vanilla SVN source, test MT + linkage. [DONE] - '[ "$BASH" ] || exec bash $0 "$@"' causes error (f.e. when running postinst.sh) [DONE] diff --git a/harbour/INSTALL b/harbour/INSTALL index 7f68e552a8..38d93e55ce 100644 --- a/harbour/INSTALL +++ b/harbour/INSTALL @@ -1407,14 +1407,16 @@ HARBOUR HB_WITH_QT - Nokia QT (GUI) [win, wce, os2, darwin, linux, free, open-source] http://qt.nokia.com/products/ http://get.qt.nokia.com/qt/source/ + Recommended OS X binary package: + http://get.qt.nokia.com/qt/source/qt-mac-cocoa-opensource-4.6.3.dmg Currently supported Windows binary package: http://get.qt.nokia.com/qt/source/qt-win-opensource-4.5.3-mingw.exe http://get.qt.nokia.com/qt/source/qt-win-opensource-4.6.3-mingw.exe - How to create static and MSVC builds: + How to create Windows static and MSVC builds: http://doc.trolltech.com/4.5/deployment-windows.html NOTES: - - QT 4.5.x requires MinGW builds with SJLJ stack frame unwinding. - - QT 4.6.x requires MinGW builds with DWARF-2 stack frame unwinding. + - Windows QT 4.5.x requires MinGW builds with SJLJ stack frame unwinding. + - Windows QT 4.6.x requires MinGW builds with DWARF-2 stack frame unwinding. (mingw official 4.4.0 or upper, or mingw tdm with dwarf update) HB_WITH_SQLITE3 - sqlite3 [multiplatform, free, open-source] http://www.sqlite.org/ diff --git a/harbour/contrib/hbmysql/mysql.c b/harbour/contrib/hbmysql/mysql.c index 9d6c5afd5b..1b47402159 100644 --- a/harbour/contrib/hbmysql/mysql.c +++ b/harbour/contrib/hbmysql/mysql.c @@ -224,7 +224,7 @@ HB_FUNC( MYSQL_GET_SERVER_VERSION ) /* long mysql_get_server_version( MYSQL * ) if( mysql ) { -#if MYSQL_VERSION_ID > 32399 +#if MYSQL_VERSION_ID >= 40100 hb_retnl( ( long ) mysql_get_server_version( mysql ) ); #else const char * szVer = mysql_get_server_info( mysql ); diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index 726b64a170..5229de2391 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -7259,8 +7259,6 @@ STATIC FUNCTION DirUnbuild( cDir ) STATIC FUNCTION FN_Escape( cFileName, nEscapeMode, nFNNotation ) LOCAL cDir, cName, cExt, cDrive - LOCAL cChar - LOCAL tmp DEFAULT nEscapeMode TO _ESC_NONE #if defined( __PLATFORM__WINDOWS ) .OR. ; @@ -7324,14 +7322,7 @@ STATIC FUNCTION FN_Escape( cFileName, nEscapeMode, nFNNotation ) ENDIF EXIT CASE _ESC_NIX - tmp := "" - FOR EACH cChar IN cFileName - IF cChar $ " \|&;<>()$`'" + Chr( 34 ) - tmp += "\" - ENDIF - tmp += cChar - NEXT - cFileName := tmp + cFileName := "'" + StrTran( cFileName, "'", "'\''" ) + "'" EXIT CASE _ESC_BACKSLASH cFileName := StrTran( cFileName, "\", "\\" ) @@ -8210,7 +8201,8 @@ STATIC FUNCTION getFirstFunc( hbmk, cFile ) /* do nothing */ ELSEIF ! Empty( cExecNM := FindInPath( hbmk[ _HBMK_cCCPREFIX ] + "nm" ) ) cFuncList := "" - hb_processRun( cExecNM + " " + cFile + " -g -n" + iif( hbmk[ _HBMK_cCOMP ] == "darwin", "", " --defined-only -C" ),, @cFuncList ) + hb_processRun( cExecNM + " " + FN_Escape( cFile, hbmk[ _HBMK_nCmd_Esc ], hbmk[ _HBMK_nCmd_FNF ] ) + ; + " -g -n" + iif( hbmk[ _HBMK_cCOMP ] == "darwin", "", " --defined-only -C" ),, @cFuncList ) IF ( n := At( " T HB_FUN_", cFuncList ) ) != 0 n += 10 ELSEIF ( n := At( " T _HB_FUN_", cFuncList ) ) != 0