On Mon, 22 Feb 2010, Szak�ts Viktor wrote: Hi,
> >>> -LE:/Sviluppo/gcc/v3.3.5/usr/lib/gcc-lib/i386-pc-os2-emx/3.3.5 > >>> E:/SVILUPPO/GCC/V3.3.5/ is where I decided to put GCC on my system, while > >>> the > >>> last 3.3.5 in the path depends on GCC version and so it changes from > >>> release > >>> to release. > >> Is '/gcc/3.3.5/' a mandatory element of the base dir, or > >> local user preference? I mean, may I simple install it > >> to 'E:/os2stuff/gcc/' instead of 'E:/Sviluppo/gcc/v3.3.5/'? > > Sure. > This means we can't use base path to get version > information needed to form paths for ld.exe. > To me it's unclear how to make this automatic or > elegant. Calling LD directly usually creates more or less serious problems because some important switches set by GCC automatically may not be added by us. BTW the problem is caused by too long list of files passed from GCC to LD because GCC does not use intermediate files. But maybe it's possible to use small trick. DJGPP and as I can see OS2 GNU ports expands @<filename> used in parameters. So maybe we can simply create 2 files. One with GCC/LD options only and with reference to second file __flst__.tmp will have list of object files. Such reference can be stored in first file as: '-Wl,@__flst__.tmp'. If gcc expects at least one .o file then we can pass first object file directly as GCC parameter and not include in __flst__.tmp. If Maurilio or David can verify it works then we can use such method and it should resolve the problem. best regards, Przemek _______________________________________________ Harbour mailing list (attachment size limit: 40KB) [email protected] http://lists.harbour-project.org/mailman/listinfo/harbour
