Hi Przemek,

> 1. no extension is used for -cmp option
>   hbmk -hbcmp t.prg
>   generates object file "t" instead of "t.o"
> 2. hbmk -hbcmp t.c
>   the same problem as in pkt. 1

3. hbmk -hbcc t.c
>   does not call C compiler


I've most probably simply confused the two names (hbcc/hbcmp)
due the information received on the list, which I didn't double check.

I'll fix a silly typo which resulted in no extension for objects in
above cases.


> 4. automatic 1-st funtion detection does not work:
>   echo "proc p;? 'hello'" > t.prg && hbmk2 -n -q2 t.prg && ./t
>   Unrecoverable error 9012: Can't locate the starting procedure: 'MAIN'


I disabled it, because it needs multiple passes to C compiler,
I'd like to find some better solution to this. Also, the -n issue
is already a FAQ, so we should IMO find some solution for the
various startup proc problems as a whole (also -n1). Current
situation is rather confusing and also platform dependent.


> 5. it still creates binaries which uses harbour static libraries in *nixes


Did you install it? It will only create shared if installed to a system
location (where .so is expected to be available without burnt in
.so dirs that is). See my longer post to your previous mail about some
more refinement we can make here (like LD_PATH check for harbour*.so
example). You can also force it by adding line 'shareddef=yes' to hbmk.cfg.
hbmk.cfg will be picked from these locations: ~/.harbour, /etc/harbour,
bin/../etc/harbour, bin/../etc, bin. In that order.


> 6. -fullstatic does not work. When this switch is used -static parameter
>   should be passed to gcc. You cannot test it in MinGW because here
>   such functionality does not exists and system libraries cannot be
>   included.


I know. See my other post, I need your help, or more details instructions
what to fix exactly. I have no idea what the option means, just tried to
copy the logic from hbmk script. Pls use -trace and post the wrong and
fixed command lines.


> 7. The installation paths (LIB/INCLUDE) are not stripped:
>   hbmk2 -n -q2 -shared t -trace
>   hbmk: Harbour compiler command:
>   /home/druzus/CVS/harbour/out/bin/../bin/harbour t \
>         -i/home/druzus/CVS/harbour/out/bin/../include -n -q2
>   hbmk: C compiler command:
>   gcc t.c   -O3  -ot -I/home/druzus/CVS/harbour/out/bin/../include \
>         -L/home/druzus/CVS/harbour/out/bin/../lib -L/usr/X11R6/lib \
>         -Wl,--start-group -lharbour -lhbcplr -lhbdebug -lm -ldl -lrt \
>         -lncurses -lslang -lX11 -Wl,--end-group


It will only strip paths when installed on a system location.
I can enable it for all cases, but it might be dangerous if
links are used along the way. If you confirm this isn't a problem,
I'll enable it. By "stripping" I meant to remove the '/../' parts
of it, maybe you meant something else. Pls tell. :)

Brgds,
Viktor
_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to