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

Reply via email to