Hi Marek,
[...]
One drawback which was mentioned on the list, is that we
have a different license for the compiler lib, the RTL
libs and pbly also PCRE.
O s... ;-), I completly forgot about. But it means that
we have problem with .dll (.so) builds also, haven't we ?
I investigated a problem a little bit more, and it seems that
the problem is *only* with compiler lib - it's pure GPL. Pcre
is licenced under BSD, so it is *not a problem*. This clearly
means that compiler lib *should not* be included in dll/so
builds, and end users should be explicitly warned about this
issue. I guess it has been done already, but I think it should
be clearly documented somehow. I have no idea how however :(.
For one, we should definitely have separate lib/dlls, other
than that we have COPYING / LICENSE docs which must be included
in all distribution files we generate.
Actually I think we're currently missing these docs from
binary builds, maybe even source files, which should be
corrected in 1.0[RC]
I'm glad PCRE can be included w/o problems. What do you
think about including zlib source code / binaries in our
future distributions?
> We also have some mutually exclusive libs.
Also, since GTs and RDDs are "plugin" type of libs, I wouldn't mix
them either in the global one. So, we might end up with a few
separate libs at the end.
Actually - if I see this correctly - the latest changes in
the GNU make system have the benefit that it seems now much
easier to generate one global lib (Thanks a lot to
Ryszard for this work), than it would have been before.
Yes, I appreciate Ryszard's contribution very much. And yours,
and Przemek's, and all others :).
Having so many libs has nothing to do with any decisions
in the past, it was just how the project evolved, and some
new modules where simply put into new dirs (which is
perfectly okey) and all these automatically got separate libs.
This is a possible simplified lib layout:
- harbour (hbcpage + hbcommon + hbdebug + hblang + hbmacro + hbpp
+ hbrdd + hbrtl + hbvm + hbrddusr + hbsix + hbhsx)
- hbcomp
- hbpcre
- gt*
- rdd*
- hbmain*
- hbnulrdd
This was already mentioned on the list not long ago, and
there was not too many reactions to it.
That's a proposition which seems resonable, but let's discuss
it after the release :).
Although the release has not been done yet ;-), I'd like to say
that after some investigation my opinion is that it's enough to
have only two libs : harbour static lib and compiler static lib.
Also harbour dll(so) should not contain compiler lib.
Other combinations are completly *not* rational to me.
To me it seems this can a possible static lib layout after
reading your mail:
- harbour (now including hbpcre too)
- hbcomp
- gt*
- rdd*
- hbmain*
- hbnulrdd
_Technically_ all gt* and rdd* could be included in 'harbour' lib.
But I'm not sure I'd like it that way, since it hides the fact
that these are plugins. More opinions would be welcome, here.
As for hbmain*, I'm not 100% sure of its purpose, or what is the
reason these have to be separate libs. (even if I hold the copyright
for vm/main.c... it has been a long time)
I'm also unsure about the exact purpose of hbnulrdd.
Brgds,
Viktor
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour