Hi,

> First of all, I support your decision, don't get me wrong. Maybe this 
> statement be unnecessary.
> 
> I can (guessing) understand what Massimo said. Some modern 
> languages/development platforms allow this construction in a portable way 
> (Java, CLR, Python, Ruby, even Delphi could), some better than others on 
> results and implementations. It demands a deploy on development environment 
> to generate information about external libs (probably generating some like a 
> more complex .hbc) and It isn't just a compiler directive. Ok, is a little 
> bit different, but I think it is, in general, what Massimo wants. It has ways 
> to implement this in a good way. Maybe not be ease or even compensate to 
> implement it, but it's possible. Certain it requires lots of work.

I know how it's used in these language, but this doesn't 
really help us finding the exact way to implement this in 
Harbour. It has lots of components, and we have several parts 
to deal with, plus we have our own "coordinate system", 
goals and even heritage where this thing should be solved. 
If someone doesn't understand it, it's a pity.

Asking for more is nice, but repeating the same request like 
a parrot isn't. Sorry, but I find it a huge waste of time to 
write anything here, when it's ignored. If someone writes 
a request/question but doesn't read the answer, or isn't 
bothered to look up past discussion (or read INSTALL for that 
matter), I'm pretty sure it's not important enough to waste 
_more_ time on it.

> IMHO, in general I think this is *a little* better and ease to Harbour users 
> than build options although it isn't so ease to Harbour developers to 
> implement it. The question is:
> 
> Is it good to Harbour philosophy? I guess it is not.
> 
> Personally if I am the last Harbour user I would drop total portability and 
> compatibility with the past, specially I would drop multiple compilers and 
> dead platforms. A software without maintenance for 2 years is dead. Users 
> have the right to continue using these zombies, people are still using 
> Clipper :-). Harbour

Harbour's major point is being portable. If we ought to 
support more than one operation system, we will _have to_ 
support multiple compilers, too (and no, gcc isn't exactly 
the same on all platforms, nor is it available on all 
platforms).

We can (and we used to) drop compilers which are 
definitely dead, but it's not so easy, f.e. lots of ppl 
are still using BCC55, even though it's not developed 
since 10 years. So we do this, but it doesn't solve the 
problem, since usually we have more than 1 living 
compiler to support. And this is actually a quite 
huge advantage, since we're not stuck into one option. 
Even having 1 supported compiler isn't a solution, 
since if this becomes dead, we need to port to another 
one, which may or may not support actual favorite 
(non-standard, non-ANSI C, compiler specific) feature.

And what is forgotten many times: Harbour as a language 
isn't by definition tied to a C compiler. So far it was, 
but as a future development path we keep the possibility 
to completely drop it. Pls keep that in mind when thinking 
about any solution.

> Portability is a solution so as a problem too :-)

Yes.

> Setting dependencies in hbc and hbp files is more simple and good enough, 
> sure, but I just don't think it's a ton better than a good lib import 
> implementation in compiler, even considering portability. Anyway I think 
> Harbour has others priorities to be a better development platform that that.

Exactly. Such feature would require total integration 
of build tool and compiler (hbmk2 and harbour).
Meaning harbour compiler will in essence be dropped 
and all work would be done in hbmk2, which in turn 
gets much more intimate information from source 
parser (compiler) than now, most importantly embedded 
references of package names, and compiler would have 
to deal with .hbc parsing and automatic inclusion of 
referenced #include files, etc. It's essentially an 
"#package "mypkg[.hbc]" feature. Plus some sort of 
.hbc repository has to be solved. Looks like a lot 
of work to me and a lot of potential discussion along 
the way. It would also require that user understand 
and accept the .hbc concept, since it will be something 
similar to the one we have already.

BTW, if someone really wants to use the half-baked 
solution, we have #pragma BEGINDUMP/ENDDUMP since 
many years, which makes everyone free to use any 
sort of weird and C compiler dependent code embedded 
in .prg, including '#pragma lib', and whatever else 
that seems to be useful. I don't recommend it, but 
it works regardless.

Viktor

_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to