On Sat, 23 May 2009, Szak�ts Viktor wrote:
Hi,
>> Looks that the library list contains:
>> -lgttrm -lgtxwc -lgtcrs -lgtsln
>> which do not exist in Windows builds.
>> I've found that -lgtxwc -lgtcrs -lgtsln are added by:
>> libdynhas=gtxwc
>> libdynhas=gtcrs
>> libdynhas=gtsln
>> in hbmk.cfg from native hbmk2 build. I think that hbmk2 should ignore any
>> settings from hbmk.cfg if it has incompatible 'arch' or 'comp' settings
>> to the one used by user in command line. Anyhow here I can create some
>> custom hbmk2 and hbmk.cfg copy for cross builds but how to disable default
>> GT (-lgttrm)?
> I think the best solution here is to generate a little bit different
> hbmk.cfg at build time:
> libdynhas={linux}gtxwc
> libdynhas={linux}gtcrs
> libdynhas={linux}gtsln
> Can you make a try with these settings in both native and cross-compile
> mode?
Thanks for the hint it resolves the problem and default GT is also here
as gtdef=.
I suggest to add such condition to all options in hbmk.cfg and also with
compiler protection so it will look like:
arch=linux
comp={linux}gcc
gtdef={linux&gcc}gttrm
libdynhas={linux&gcc}gtxwc
libdynhas={linux&gcc}gtcrs
libdynhas={linux&gcc}gtsln
If you agree I'll commit it.
The next thing is setting HB_INSTALL_PREFIX.
Autodetection works until I'll do not use -comp=mingwarm switch,
If I set it then I have message:
hbmk: Error: HB_INSTALL_PREFIX not set, failed to autodetect
It's caused by .exe extension when hbmk2 looks for harbour binaries.
Can you resolve it?, f.e. ignore auto detection when user forces cross
compiling.
The second interesting thing is -trace output. hbmk2 shows:
/home/druzus/CVS/harbour/out-cmg-tst/bin/harbour.exe -n2 hbmk2.prg \
-i/home/druzus/CVS/harbour/out-cmg-tst/include \
-undef:__PLATFORM__LINUX -undef:__PLATFORM__UNIX \
-D__PLATFORM__WINDOWS -D__PLATFORM__WINCE
Harbour 1.1.0dev (Rev. 11106)
Copyright (c) 1999-2009, http://www.harbour-project.org/
Compiling 'hbmk2.prg'...
Lines 6453, Functions/Procedures 80
Generating C source output to 'hbmk2.c'... Done.
hbmk: C compiler command:
but /home/druzus/CVS/harbour/out-cmg-tst/bin/harbour.exe for sure
cannot be executed because it's WinCE executable. I even removed
whole /home/druzus/CVS/harbour/out-cmg-tst/bin directory and executed
hbmk2 -comp=mingwarm ...
and it was working still printing above command.
I guess it's result of some desynchronization between real executed
commands and messages showed by trace. IMHO such things should be fixed
because they makes debugging very hard and hbmk2 always have to show
real executed command.
best regards,
Przemek
_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour