www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/07/02/03:56:15

Date: Wed, 2 Jul 1997 10:55:36 +0300 (IDT)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
To: Nate Eldredge <eldredge AT ap DOT net>
cc: djgpp AT delorie DOT com
Subject: Re: Debugging version of C library
In-Reply-To: <199707011818.LAA18708@adit.ap.net>
Message-ID: <Pine.SUN.3.91.970702105448.27453A-100000@is>
MIME-Version: 1.0

On Tue, 1 Jul 1997, Nate Eldredge wrote:

> >A straightforward way is to recompile the library with -g.  However,
> >since rebuilding the library is not easy,
> 
> Why is that?

I could say ``because life is hard'' ;-)

But seriously, it's not easy because building a multi-directory
project in one swell whoop is tricky, even on Unix.  Please keep in
mind that DOS lacks some basic development tools which are essential
for such tasks.  It's true that most of those tools have been ported
to DJGPP over the last year or so, but the libc build procedure
predates those ports.

> I have tried to rebuild it occasionally. When it does work
> sucessfully I compare `nm' outputs on the original and the new one and find
> the new one missing some symbols, therefore I'm always too afraid to put it
> into general use.

You should report these problems if they bother you enough to not use
your rebuilds.  The differences can probably be disregarded, but it's
impossible to tell for sure without seeing them.

Did you try to say "ar tv libc.a" and compare the contents of the two
library versions?

> Another gripe: Would it be too much trouble to use one big Makefile instead
> of that silly `rmake' stuff?
          ^^^^^ 
Please do not use words like ``silly'' for work done by somebody else.
`rmake' (as most of the library) was written by DJ Delorie, and I
trust him that he wrote that for a very good reason.  If you want to
know why, please ask him.

> It annoys me that an attempt to do the make
> tries to rebuild the entire library. I think it should just recompile the
> stuff I have changed and `ar' them into the existing library.

It is not easy to make such an automated procedure.  Besides the
complex directory structure, there are other problems, like
interdependence between various parts of it (e.g., the stub depends on
djasm, which in turn depends on the library functions it calls, etc.)

If you want to fully appreciate the problems, you might consider
trying to build the library any other way; I'm sure you will see the
difficulties only too soon.  The rules of the game are to use only
stock DOS programs and tools available as part of DJGPP, and not
require anything beyond native MS-DOS environment (e.g., a procedure
that requires Linux or even Windows 95 won't do).

> IMHO, if you're going to distribute the sources, they ought to be able to
> rebuild easily and work.

That is certainly something to strive for.  However, sometimes you are
glad if it works at all, no matter how hard it is.  The usual rule in
DJGPP is that whoever does something gets to choose the tools to do
that.  Since the sources are freely available, anybody who can do
better and cares enough, is invited to improve on the original work
and submit the results for the benefit of future generations.

In fact, I think somebody is working on the problem of making the
library builds easier right now.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019