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

Reply via email to