This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: where gcc -save-temps puts temporary files
- From: Andrew Haley <aph at redhat dot com>
- To: "Marty Leisner" <leisner at rochester dot rr dot com>
- Cc: gcc-help at gcc dot gnu dot org
- Date: Mon, 14 Jan 2008 10:13:12 +0000
- Subject: Re: where gcc -save-temps puts temporary files
- References: <200801132154.m0DLs1c4018117@dell2.home>
Marty Leisner writes:
> gcc -save-temps is defined to leave temporaries in the current directory.
> This works intuitively where the build writes the output files into the current
> directory. Not everything works that way.
>
> It seems it makes more sense to always leave it alongside the output...
>
> If I'm debugging a build (of something like the linux kernel) its
> calling the C compiler with
>
> gcc <flags> foo/bar/src.c -c -o <dest>foo/bar/src.o
>
> If I add -save-temps, it puts the .i and .s in the current directory...
>
> I found this not intuitive and has the following problems:
> 1) if current directory isn't writable, -save-temps won't work
> 2) if multiple files in subdirectories have the same name (and different
> paths) -save-temps will overwrite temporary files
>
> Comments? This would be an easy change to make. Would it be desirable
> to change the behavior of -save-temps?
I don't agree. It would make it impossible to follow a common
practice of cd'ing to a tmpdir and doing
gcc /foo/bar/baz.c -o /foo/build/baz.o -save-temps
This suggested change is a bad idea. Emitting to cwd is the most
convenient default for my usage.
Andrew.
--
Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SL4 1TE, UK
Registered in England and Wales No. 3798903