Date: Wed, 2 Jul 1997 10:55:36 +0300 (IDT) From: Eli Zaretskii To: Nate Eldredge cc: djgpp AT delorie DOT com Subject: Re: Debugging version of C library In-Reply-To: <199707011818.LAA18708@adit.ap.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Precedence: bulk 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.