Hi Viktor
>> ----------
>> A remark :
>>
>> Newly updated files for unix like systems do not try to build
>> import libraries from respective packages. I was against this
>> move from the begining, because it is a user's responsibility
>> to have/create required import libraries, not a harbour one.
>> Not to mention that some packages may include those libraries
>> in their distributions, in which case these libraries should
>> be used instead. And last but not least, adding automatic import
>
> Yes, mostly unusable, unless you use MSVC.
>
>> feature horribly complicates the whole alternative make system,
>
> Horribly complicated: One command for BCC, some more batch lines
> and a GNU tool for MSVC. Are you serious?
Of course I am. To me it looks like you seem to be kidding.
Or worst - manipulating.
Here is how, for example, make_vc.bat from hbfbird looks
with this option included :
*************************************************************
rem
rem $Id: make_vc.bat 8248 2008-01-27 16:25:45Z vszakats $
rem
if not "%ADS_DIR%" == "" goto DIR_OK
echo ---------------------------------------------------------------
echo IMPORTANT: You'll need Advantage Client Engine installed and
echo these envvars set to successfully build this library:
echo set ADS_VER=8
echo set ADS_DIR=C:\ads\acesdk
echo ---------------------------------------------------------------
goto POST_EXIT
:DIR_OK
set CFLAGS=-I%ADS_DIR%
if "%ADS_VER%" == "" goto DEFAULT_VER
set CFLAGS=%CFLAGS% -DADS_REQUIRE_VERSION=%ADS_VER%
:DEFAULT_VER
set HB_DLL_NAME=ace32
if exist "%ADS_DIR%\32bit\%HB_DLL_NAME%.dll" set
HB_DLL_DIR=%ADS_DIR%\32bit
if exist "%ADS_DIR%\Redistribute\%HB_DLL_NAME%.dll" set
HB_DLL_DIR=%ADS_DIR%\Redistribute
if exist "%ADS_DIR%\%HB_DLL_NAME%.dll" set
HB_DLL_DIR=%ADS_DIR%
if exist "%SystemRoot%\system32\%HB_DLL_NAME%.dll" set
HB_DLL_DIR=%SystemRoot%\system32
echo Using this .dll: %HB_DLL_DIR%\%HB_DLL_NAME%.dll
rem ---------------------------------------------------------------
call ..\mtpl_vc.bat %1 %2 %3 %4 %5 %6 %7 %8 %9
rem ---------------------------------------------------------------
set _HB_INSTALL_PREFIX=%HB_INSTALL_PREFIX%
if "%_HB_INSTALL_PREFIX%" == "" set _HB_INSTALL_PREFIX=..\..
set _HB_LIB_INSTALL=%HB_LIB_INSTALL%
if "%_HB_LIB_INSTALL%" == "" set _HB_LIB_INSTALL=%_HB_INSTALL_PREFIX%\lib
if "%1" == "clean" goto POST_CLEAN
if "%1" == "Clean" goto POST_CLEAN
if "%1" == "CLEAN" goto POST_CLEAN
if "%1" == "install" goto POST_INSTALL
if "%1" == "Install" goto POST_INSTALL
if "%1" == "INSTALL" goto POST_INSTALL
:POST_BUILD
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%\%HB_DLL_NAME%.dll > _dump.tmp
echo.LIBRARY %HB_DLL_DIR%\%HB_DLL_NAME%.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%\%HB_DLL_NAME%.lib
del _dump.tmp
del _temp.def
del _temp.sed
rem ---------------------------------------------------------------
goto POST_EXIT
:POST_CLEAN
if exist ..\..\lib\%_HB_CC_NAME%\%HB_DLL_NAME%.lib del
..\..\lib\%_HB_CC_NAME%\%HB_DLL_NAME%.lib > nul
if exist ..\..\lib\%_HB_CC_NAME%\%HB_DLL_NAME%.exp del
..\..\lib\%_HB_CC_NAME%\%HB_DLL_NAME%.exp > nul
if exist %_HB_LIB_INSTALL%\%HB_DLL_NAME%.lib del
%_HB_LIB_INSTALL%\%HB_DLL_NAME%.lib > nul
goto POST_EXIT
:POST_INSTALL
if exist %_HB_LIB_INSTALL%\%HB_DLL_NAME%.lib del
%_HB_LIB_INSTALL%\%HB_DLL_NAME%.lib
if exist ..\..\lib\%_HB_CC_NAME%\%HB_DLL_NAME%.lib copy
..\..\lib\%_HB_CC_NAME%\%HB_DLL_NAME%.lib %_HB_LIB_INSTALL%
goto POST_EXIT
:POST_EXIT
set CFLAGS=
set HB_DLL_NAME=
set HB_DLL_DIR=
*************************************************************
and here is how it looks without this option :
*************************************************************
rem
rem $Id: make_vc.bat 8248 2008-01-27 16:25:45Z vszakats $
rem
if not "%FIREBIRD_INC%" == "" goto DIR_OK
echo ---------------------------------------------------------------
echo IMPORTANT: You'll need Firebird package and this envvar
echo to be set to successfully build this library:
echo set FIREBIRD_INC=C:\Firebird
echo ---------------------------------------------------------------
exit 1
:DIR_OK
set CFLAGS=-I%FIREBIRD_INC%\include
call ..\mtpl_vc.bat %1 %2 %3 %4 %5 %6 %7 %8 %9
*************************************************************
Everybody can conclude himself what is complicated and what is not.
> How horribly complicated the whole GNU and non-GNU make systems
> are, compared to that...?
What are you talking about here ? I don't understand.
>> requires additional tools, not included in harbour, and is not
>> compatible with systems which do not require it at all. So I am
>> going to remove it after the release process finishes from the
>> rest of non GNU makefiles/batfiles.
>> ----------
>
> I can see this remark, and while being _your_ opinion, pls
> don't remove existing functionality from Harbour, without
> group consent or discussion.
This funcionality *was* added to Harbour *without* group
consensus. It was only your *arbitrary* decision, which
*ignored* others opinions (like mine). Problems with ace.h
show that it was not the first time unfortunately. Unlike
in your case, in my case, the group seems to support my
decision (Przemek's last post).
> I personally miss this feature for GCC, as everyone will have
> to deal with it manually. GCC has a tool for this which
> could make the process fully automatic, in one line (dlltool).
>
> It's a great addition that you plan to _remove_ existing
> functionality for personal reasons, and paint it as an
> improvement. I fail to see how this will move Harbour forward.
"Great addition" ? "for personal reasons" ? "paint a an improvement" ?
It stops to be funny. It seems this problem reaches your "ego". I don't
know why. From my POV, you have *no arguments*, so you are even ready to
say not true things, like :
"[ yes, external tool requirement would be better to be dropped,
but unfortunately no better solution came up in the lengthy
discussion back then, and 'sed' is free and std GNU tool, so
we're true to the spirit. ]"
--
Marek
----------------------------------------------------------------------
Timbaland w Twojej komorce !
Sprawdz >>> http://link.interia.pl/f1d0c
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour