diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 058df19ab0..6d642cae67 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,36 @@ 2002-12-01 13:30 UTC+0100 Foo Bar */ +2007-11-11 13:45 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * source/rtl/tbrowse.prg + ! Fixed to compile with HB_C52_STRICT. + + * contrib/rdd_ads/make_vc.bat + * contrib/odbc/make_vc.bat + ! Fixed .dll to .lib generation to work using GNU sed. + (now it doesn't need exports.sed anymore). + NOTE: I'm not sure if the batch tricks will work + on every flavour of Windows. It should for + W2K and above though, probably NT too. + ! Fixed to pick .dlls from HB_DLL_DIR, which when not + defined points to system32 dir. + ; I know "sed" dependency is not optimal, but we can remove + this later if we have better solution, until then + it cannot hurt and it's better than nothing. + "sed" is a free tool included in mingw32, cygwin, + and also downloadable as a self-contained .exe from + the gnuwin32 project: + http://gnuwin32.sourceforge.net/packages/sed.htm + Direct link to bin package: + http://gnuwin32.sourceforge.net/downlinks/sed-bin-zip.php + (it cannot hurt to have this in ones "utils" dir anyway :) + + * contrib/odbc/make_b32.bat + - contrib/odbc/odbc32.def + - Removed .def file from repository. .lib have to + be generated from live .dll instead of this old + .def. + 2007-11-11 12:51 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/std.ch ! SET STRICTREAD command definition fixed. diff --git a/harbour/contrib/odbc/make_b32.bat b/harbour/contrib/odbc/make_b32.bat index 44b23c1479..4e4075767c 100644 --- a/harbour/contrib/odbc/make_b32.bat +++ b/harbour/contrib/odbc/make_b32.bat @@ -36,7 +36,7 @@ if "%1" == "INSTALL" goto INSTALL :BUILD - implib ..\..\lib\%HB_CC_NAME%\odbc32.lib odbc32.def + implib ..\..\lib\%HB_CC_NAME%\odbc32.lib odbc32.dll %HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log if errorlevel 1 notepad make_%HB_CC_NAME%.log diff --git a/harbour/contrib/odbc/make_vc.bat b/harbour/contrib/odbc/make_vc.bat index fb51e1e2aa..db6f03a3c2 100644 --- a/harbour/contrib/odbc/make_vc.bat +++ b/harbour/contrib/odbc/make_vc.bat @@ -15,6 +15,7 @@ rem set HB_MAKE_PROGRAM= rem set HB_MAKE_FLAGS= rem --------------------------------------------------------------- +if "%HB_DLL_DIR%" == "" set HB_DLL_DIR=%SystemRoot%\system32 if "%HB_CC_NAME%" == "" set HB_CC_NAME=vc if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=nmake.exe set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak @@ -36,7 +37,23 @@ if "%1" == "INSTALL" goto INSTALL :BUILD - LIB /MACHINE:X86 /DEF:odbc32.def /OUT:..\..\lib\%HB_CC_NAME%\odbc32.lib + rem --------------------------------------------------------------- + rem This .dll to .lib conversion needs GNU sed.exe in the path + rem --------------------------------------------------------------- + echo./[ \t]*ordinal hint/,/^^[ \t]*Summary/{> _temp.sed + echo. /^^[ \t]\+[0-9]\+/{>> _temp.sed + echo. s/^^[ \t]\+[0-9]\+[ \t]\+[0-9A-Fa-f]\+[ \t]\+[0-9A-Fa-f]\+[ \t]\+\(.*\)/\1/p>> _temp.sed + echo. }>> _temp.sed + echo.}>> _temp.sed + DUMPBIN /EXPORTS %HB_DLL_DIR%\odbc32.dll > _dump.tmp + echo LIBRARY %HB_DLL_DIR%\odbc32.dll > _temp.def + echo EXPORTS >> _temp.def + sed -nf _temp.sed < _dump.tmp >> _temp.def + LIB /MACHINE:X86 /DEF:_temp.def /OUT:..\..\lib\%HB_CC_NAME%\odbc32.lib + del _dump.tmp + del _temp.def + del _temp.sed + rem --------------------------------------------------------------- %HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log if errorlevel 1 notepad make_%HB_CC_NAME%.log diff --git a/harbour/contrib/odbc/odbc32.def b/harbour/contrib/odbc/odbc32.def deleted file mode 100644 index 1de6edbcbf..0000000000 --- a/harbour/contrib/odbc/odbc32.def +++ /dev/null @@ -1,180 +0,0 @@ -LIBRARY ODBC32 - -EXPORTS - CloseODBCPerfData @078 - CollectODBCPerfData @079 - CursorLibLockDbc @080 - CursorLibLockDesc @081 - CursorLibLockStmt @082 - CursorLibTransact @084 - LockHandle @086 - ODBCGetTryWaitValue @083 - ODBCInternalConnectW @087 - ODBCQualifyFileDSNW @300 - ODBCSetTryWaitValue @085 - ODBCSharedHardConnect @088 - ODBCSharedHardDisconnect @089 - ODBCSharedPerfMon @090 - ODBCSharedSoftConnect @091 - ODBCSharedSoftDisconnect @092 - ODBCSharedTraceFlag @299 - OpenODBCPerfData @093 - PostComponentError @094 - PostODBCComponentError @095 - PostODBCError @096 - SQLAllocConnect @000 - SQLAllocEnv @001 - SQLAllocHandle @023 - SQLAllocHandleStd @076 - SQLAllocStmt @002 - SQLBindCol @003 - SQLBindParam @024 - SQLBindParameter @071 - SQLBrowseConnect @054 - SQLBrowseConnectA @254 - SQLBrowseConnectW @154 - SQLBulkOperations @077 - SQLCancel @004 - SQLCloseCursor @025 - SQLColAttribute @026 - SQLColAttributeA @226 - SQLColAttributeW @126 - SQLColAttributes @005 - SQLColAttributesA @205 - SQLColAttributesW @105 - SQLColumnPrivileges @055 - SQLColumnPrivilegesA @255 - SQLColumnPrivilegesW @155 - SQLColumns @039 - SQLColumnsA @239 - SQLColumnsW @139 - SQLConnect @006 - SQLConnectA @206 - SQLConnectW @106 - SQLCopyDesc @027 - SQLDataSources @056 - SQLDataSourcesA @256 - SQLDataSourcesW @156 - SQLDescribeCol @007 - SQLDescribeColA @207 - SQLDescribeColW @107 - SQLDescribeParam @057 - SQLDisconnect @008 - SQLDriverConnect @040 - SQLDriverConnectA @240 - SQLDriverConnectW @140 - SQLDrivers @070 - SQLDriversA @270 - SQLDriversW @170 - SQLEndTran @028 - SQLError @009 - SQLErrorA @209 - SQLErrorW @109 - SQLExecDirect @010 - SQLExecDirectA @210 - SQLExecDirectW @110 - SQLExecute @011 - SQLExtendedFetch @058 - SQLFetch @012 - SQLFetchScroll @029 - SQLForeignKeys @059 - SQLForeignKeysA @259 - SQLForeignKeysW @159 - SQLFreeConnect @013 - SQLFreeEnv @014 - SQLFreeHandle @030 - SQLFreeStmt @015 - SQLGetConnectAttr @031 - SQLGetConnectAttrA @231 - SQLGetConnectAttrW @131 - SQLGetConnectOption @041 - SQLGetConnectOptionA @241 - SQLGetConnectOptionW @141 - SQLGetCursorName @016 - SQLGetCursorNameA @216 - SQLGetCursorNameW @116 - SQLGetData @042 - SQLGetDescField @032 - SQLGetDescFieldA @232 - SQLGetDescFieldW @132 - SQLGetDescRec @033 - SQLGetDescRecA @233 - SQLGetDescRecW @133 - SQLGetDiagField @034 - SQLGetDiagFieldA @234 - SQLGetDiagFieldW @134 - SQLGetDiagRec @035 - SQLGetDiagRecA @235 - SQLGetDiagRecW @135 - SQLGetEnvAttr @036 - SQLGetFunctions @043 - SQLGetInfo @044 - SQLGetInfoA @244 - SQLGetInfoW @144 - SQLGetStmtAttr @037 - SQLGetStmtAttrA @237 - SQLGetStmtAttrW @137 - SQLGetStmtOption @045 - SQLGetTypeInfo @046 - SQLGetTypeInfoA @246 - SQLGetTypeInfoW @146 - SQLMoreResults @060 - SQLNativeSql @061 - SQLNativeSqlA @261 - SQLNativeSqlW @161 - SQLNumParams @062 - SQLNumResultCols @017 - SQLParamData @047 - SQLParamOptions @063 - SQLPrepare @018 - SQLPrepareA @218 - SQLPrepareW @118 - SQLPrimaryKeys @064 - SQLPrimaryKeysA @264 - SQLPrimaryKeysW @164 - SQLProcedureColumns @065 - SQLProcedureColumnsA @265 - SQLProcedureColumnsW @165 - SQLProcedures @066 - SQLProceduresA @266 - SQLProceduresW @166 - SQLPutData @048 - SQLRowCount @019 - SQLSetConnectAttr @038 - SQLSetConnectAttrA @238 - SQLSetConnectAttrW @138 - SQLSetConnectOption @049 - SQLSetConnectOptionA @249 - SQLSetConnectOptionW @149 - SQLSetCursorName @020 - SQLSetCursorNameA @220 - SQLSetCursorNameW @120 - SQLSetDescField @072 - SQLSetDescFieldA @272 - SQLSetDescFieldW @172 - SQLSetDescRec @073 - SQLSetEnvAttr @074 - SQLSetParam @021 - SQLSetPos @067 - SQLSetScrollOptions @068 - SQLSetStmtAttr @075 - SQLSetStmtAttrA @275 - SQLSetStmtAttrW @175 - SQLSetStmtOption @050 - SQLSpecialColumns @051 - SQLSpecialColumnsA @251 - SQLSpecialColumnsW @151 - SQLStatistics @052 - SQLStatisticsA @252 - SQLStatisticsW @152 - SQLTablePrivileges @069 - SQLTablePrivilegesA @269 - SQLTablePrivilegesW @169 - SQLTables @053 - SQLTablesA @253 - SQLTablesW @153 - SQLTransact @022 - SearchStatusCode @097 - VFreeErrors @098 - VRetrieveDriverErrorsRowCol @099 - ValidateErrorQueue @100 diff --git a/harbour/contrib/rdd_ads/make_vc.bat b/harbour/contrib/rdd_ads/make_vc.bat index 9d446317c1..27d8ed33c7 100644 --- a/harbour/contrib/rdd_ads/make_vc.bat +++ b/harbour/contrib/rdd_ads/make_vc.bat @@ -15,6 +15,7 @@ rem set HB_MAKE_PROGRAM= rem set HB_MAKE_FLAGS= rem --------------------------------------------------------------- +if "%HB_DLL_DIR%" == "" set HB_DLL_DIR=%SystemRoot%\system32 if "%HB_CC_NAME%" == "" set HB_CC_NAME=vc if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=nmake.exe set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak @@ -37,13 +38,21 @@ if "%1" == "INSTALL" goto INSTALL :BUILD rem --------------------------------------------------------------- - DUMPBIN /EXPORTS ace32.dll > _dump.tmp - echo LIBRARY ace32.dll > _temp.def + rem This .dll to .lib conversion needs GNU sed.exe in the path + rem --------------------------------------------------------------- + echo./[ \t]*ordinal hint/,/^^[ \t]*Summary/{> _temp.sed + echo. /^^[ \t]\+[0-9]\+/{>> _temp.sed + echo. s/^^[ \t]\+[0-9]\+[ \t]\+[0-9A-Fa-f]\+[ \t]\+[0-9A-Fa-f]\+[ \t]\+\(.*\)/\1/p>> _temp.sed + echo. }>> _temp.sed + echo.}>> _temp.sed + DUMPBIN /EXPORTS %HB_DLL_DIR%\ace32.dll > _dump.tmp + echo LIBRARY %HB_DLL_DIR%\ace32.dll > _temp.def echo EXPORTS >> _temp.def - sed -nf exports.sed < _dump.tmp >> _temp.def + sed -nf _temp.sed < _dump.tmp >> _temp.def LIB /MACHINE:X86 /DEF:_temp.def /OUT:..\..\lib\%HB_CC_NAME%\ace32.lib del _dump.tmp del _temp.def + del _temp.sed rem --------------------------------------------------------------- %HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log diff --git a/harbour/source/rtl/tbrowse.prg b/harbour/source/rtl/tbrowse.prg index bcfbd68255..3eabffe235 100644 --- a/harbour/source/rtl/tbrowse.prg +++ b/harbour/source/rtl/tbrowse.prg @@ -475,7 +475,6 @@ METHOD insColumn( nPos, oCol ) CLASS TBrowse if nPos >= 1 if nPos > ::nColumns -#endif ::Moved() /* TOFIX: This logic should go inside ::configure() */ @@ -488,8 +487,10 @@ METHOD insColumn( nPos, oCol ) CLASS TBrowse AAdd( ::aColsPos, 0 ) AAdd( ::aColsInfo, ::InitColumn( oCol, .F. ) ) -#ifndef HB_C52_STRICT + ::Configure( 2 ) + else +#endif ::Moved() /* TOFIX: This logic should go inside ::configure() */ @@ -509,12 +510,10 @@ METHOD insColumn( nPos, oCol ) CLASS TBrowse ::aColsPos[ nPos ] := 0 ::aColsInfo[ nPos ] := ::InitColumn( oCol, .F. ) - endif -#endif - - ::Configure( 2 ) + ::Configure( 2 ) #ifndef HB_C52_STRICT + endif endif #endif