From: Paul G. <pga...@te...> - 2000-12-07 01:02:16
|
Hi folks, On 6 Dec 2000, at 12:04, the Illustrious Paul Sokolovsky wrote: > Hello Paul, > > Paul Garceau wrote on Tuesday, December 05, 2000: > > > > PG> On 5 Dec 2000, at 2:13, the Illustrious Paul Sokolovsky > wrote: > > >> Hello Danny, > >> > >> Danny Smith wrote on Tuesday, December 05, 2000: > >> > >> > >> DS> Thanks for the clarification. I will do some more testing > >> with c++, DS> excluding libstdc++ from auto-import. Could > >> --exclude-libs= be an DS> explicit command line option? > >> > >> If you will add it ;-) > >> > >> DS> Of course, if libstdc++ was dll that would solve a lot of > >> problems. > >> > >> That's exactly what I wanted to ask - I have an idea to > >> provide > >> both static and dynamic libstdc++ with gcc. This will mean > >> dunamic will be selected by default (unless linked with > >> --static). Any comments? > > PG> Hmm...if you're talking about modifying gcc/g++ > default setting PG> to dynamic, I disagree. allow me to rephrase: if you're talking about modifying ld default linking to always link a .dll as the default lib type, I disagree. ld, unless otherwise informed, will always assume static libs are being linked. It also assumes that any thing with the switch -l in the command line (again unless otherwise informed) is to be found in the lib/ directory and has a postfix of ".a" (static lib) and a prefix of "lib". As an example: When -lmoldname is invoked on the command line: gcc foo.c -ofoo.exe -lmoldname ld makes the following assumptions: A) "look for a file called "libmoldname.a" in the default lib/ directory. B) If "libmoldname.a" is found then B.1) "link this file" into foo.exe (else) B.2) if "libmoldname.a" is not found then B.3) generate an exception stating that there is nothing called "libmoldname.a" in the default /lib directory and exit linking phase accordingly. --- end of linking process The above process is what defines "default" linking for "ld". Changing this default linking to use .dlls instead of static (.a) libs is, imho, a mistake. One that can only be compounded given the most recent release of Xfree86(v4); a release which requires DirectX to generate X-Windows graphics output. Xfree86 has already been implemented and tested for Linux under Cygwin (-mno-cygwin not set), and it is not very long now before people will want to use Xfree86 while having the -mno-cygwin switch set. Peace, Paul G. Nothing real can be threatened. Nothing unreal exists. |