* GCC COMPILE OPTIONS
@ 2006-11-08 7:30 Lalit Seth
2006-11-08 15:54 ` Ian Lance Taylor
0 siblings, 1 reply; 9+ messages in thread
From: Lalit Seth @ 2006-11-08 7:30 UTC (permalink / raw)
To: gcc-help
Hi All,
I like to knw why we use "gmake bootstrap-lean" to compile GCC instead
of "gmake". How they are different and what behaviour changes are
there in 2 cases for GCC compiler.
Thanks
Lalit Seth
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: GCC COMPILE OPTIONS
2006-11-08 7:30 GCC COMPILE OPTIONS Lalit Seth
@ 2006-11-08 15:54 ` Ian Lance Taylor
2006-11-08 17:32 ` Tim Prince
0 siblings, 1 reply; 9+ messages in thread
From: Ian Lance Taylor @ 2006-11-08 15:54 UTC (permalink / raw)
To: Lalit Seth; +Cc: gcc-help
"Lalit Seth" <sethlalitwo@gmail.com> writes:
> I like to knw why we use "gmake bootstrap-lean" to compile GCC instead
> of "gmake". How they are different and what behaviour changes are
> there in 2 cases for GCC compiler.
We have no idea why you do that.
The difference is that during bootstrap-lean old stages are removed
when they are no longer needed. That is, bootstrap-lean uses less
disk space. There is no difference in the compiler.
Ian
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: GCC COMPILE OPTIONS
2006-11-08 15:54 ` Ian Lance Taylor
@ 2006-11-08 17:32 ` Tim Prince
2006-11-10 11:30 ` Lalit Seth
0 siblings, 1 reply; 9+ messages in thread
From: Tim Prince @ 2006-11-08 17:32 UTC (permalink / raw)
To: Ian Lance Taylor; +Cc: Lalit Seth, gcc-help
Ian Lance Taylor wrote:
> "Lalit Seth" <sethlalitwo@gmail.com> writes:
>
>> I like to knw why we use "gmake bootstrap-lean" to compile GCC instead
>> of "gmake". How they are different and what behaviour changes are
>> there in 2 cases for GCC compiler.
>
> We have no idea why you do that.
>
> The difference is that during bootstrap-lean old stages are removed
> when they are no longer needed. That is, bootstrap-lean uses less
> disk space. There is no difference in the compiler.
>
I thought OP might be asking why it took so long for gcc build to
implement a default which should know when bootstrap is required. Only
the recent versions can build from scratch without explicit bootstrap
option.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: GCC COMPILE OPTIONS
2006-11-08 17:32 ` Tim Prince
@ 2006-11-10 11:30 ` Lalit Seth
2006-11-10 11:34 ` Andrew Haley
0 siblings, 1 reply; 9+ messages in thread
From: Lalit Seth @ 2006-11-10 11:30 UTC (permalink / raw)
To: gcc-help
I have experienced that GCC fails to compile with gmake but gets
successfully compiled when gmake bootstrap-lean is used. Why so. This
was on HPUX 11.11 for version 3.3.2
On 11/8/06, Tim Prince <timothyprince@sbcglobal.net> wrote:
> Ian Lance Taylor wrote:
> > "Lalit Seth" <sethlalitwo@gmail.com> writes:
> >
> >> I like to knw why we use "gmake bootstrap-lean" to compile GCC instead
> >> of "gmake". How they are different and what behaviour changes are
> >> there in 2 cases for GCC compiler.
> >
> > We have no idea why you do that.
> >
> > The difference is that during bootstrap-lean old stages are removed
> > when they are no longer needed. That is, bootstrap-lean uses less
> > disk space. There is no difference in the compiler.
> >
> I thought OP might be asking why it took so long for gcc build to
> implement a default which should know when bootstrap is required. Only
> the recent versions can build from scratch without explicit bootstrap
> option.
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: GCC COMPILE OPTIONS
2006-11-10 11:30 ` Lalit Seth
@ 2006-11-10 11:34 ` Andrew Haley
0 siblings, 0 replies; 9+ messages in thread
From: Andrew Haley @ 2006-11-10 11:34 UTC (permalink / raw)
To: Lalit Seth; +Cc: gcc-help
Please don't top-post.
Lalit Seth writes:
> I have experienced that GCC fails to compile with gmake but gets
> successfully compiled when gmake bootstrap-lean is used. Why so.
Probably because your system compiler is broken.
> This was on HPUX 11.11 for version 3.3.2
>
> On 11/8/06, Tim Prince <timothyprince@sbcglobal.net> wrote:
> > Ian Lance Taylor wrote:
> > > "Lalit Seth" <sethlalitwo@gmail.com> writes:
> > >
> > >> I like to knw why we use "gmake bootstrap-lean" to compile GCC instead
> > >> of "gmake". How they are different and what behaviour changes are
> > >> there in 2 cases for GCC compiler.
> > >
> > > We have no idea why you do that.
> > >
> > > The difference is that during bootstrap-lean old stages are removed
> > > when they are no longer needed. That is, bootstrap-lean uses less
> > > disk space. There is no difference in the compiler.
> > >
> > I thought OP might be asking why it took so long for gcc build to
> > implement a default which should know when bootstrap is required. Only
> > the recent versions can build from scratch without explicit bootstrap
> > option.
> >
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: gcc compile options
@ 2001-07-06 11:33 Peter Kurpis
0 siblings, 0 replies; 9+ messages in thread
From: Peter Kurpis @ 2001-07-06 11:33 UTC (permalink / raw)
To: carlanunes; +Cc: gcc-help
> I have one more question regarding the creation of a
> shared library...
>
> Should I use the g++ command with the -Wl options or
> can I use the ld command directly? Which one is
> better?
In general, I think g++ -shared is more convenient,
because it silently includes libstdc++.so.* , for
instance. But I think either can be used, although
to be honest, I've not used nor seen ld used to
build shared libs from c++ modules.
(When creating an executable, gcc and g++ are even
more handy, since they link in the startup module
(usually called something like crt.o ), etcetera,
whereas with ld , I think you'd have to be explicit
about these things.)
BTW, you may need to use -fpic when compiling source
code that you plan to link into a shared lib.
One way to see how things are commonly done on your
system is to examine native makefiles. Besides looking
at them with an editor, you can also (with GNU make,
which you probably have on your system) do e.g.
make -np | grep "^CPPFLAGS"
to see how CPPFLAGS is defined. (The -n turns off
any actual building.) Or, you can see how a particular
target would be build (again, without actually building
anything) with e.g.
make -n mylib.so
assuming there's a target called mylib.so .
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: gcc compile options
@ 2001-07-05 18:40 Peter Kurpis
0 siblings, 0 replies; 9+ messages in thread
From: Peter Kurpis @ 2001-07-05 18:40 UTC (permalink / raw)
To: carlanunes; +Cc: gcc-help
> have to do the following: compile multi-thread C++
> programs, generate an executable file and create a
> shared library with a list of exported external
> symbols of the shared object files. I need to do that
> in three distinct steps since I have to use a make
> file previously developed for use on AIX (VisualAge
> C++ compiler).
>
> I'm thiinking of using the folowing commands
> ("make-like") to compile and create an executable
> file, but I don't know how to create shared libraries
> and export the symbols...
>
> compile:
> gcc -x c++ -g -Iincdir -c srcdir/*.c objdir/*.o
> -mthreads
Use g++ to compile c++ code, not gcc -x c++ . Also,
you need to use -o to specify the output file.
If you are writing a makefile, I would guess you just
need to specify the standard make variables, e.g.
CXX = g++
CPPFLAGS = -g -Iincdir
and use make's implicit rule for .cc files.
> create the executable:
> gcc -lsomelib -o execfile objfiles
The order of libs and objfiles matters, as the linker
only makes one pass through the command line resolving
symbols. Ordinarily, libs resolve symbols in your
objfiles, so
g++ -o execfile objfiles -lsomelib
Note again the use of g++. It has knowledge of what to
link against implicitly, a different set of things than
gcc.
To create a shared library, since you are using the GNU
ld (inherently configured into gcc):
g++ -shared -o sharedlib objfiles
I haven't looked up whether you can create a list of
exported symbols at link time -- you probably can, and
you can pass the option to ld via
-Wl,-xxx where xxx is the option string. (See man ld
for the right thing.) Alternatively, you can use nm
and grep to do the same thing.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: gcc compile options
2001-07-05 17:12 Carla Nunes
@ 2001-07-05 18:15 ` Alexandre Oliva
0 siblings, 0 replies; 9+ messages in thread
From: Alexandre Oliva @ 2001-07-05 18:15 UTC (permalink / raw)
To: Carla Nunes; +Cc: gcc-help
On Jul 5, 2001, Carla Nunes <carlanunes@yahoo.com> wrote:
> compile:
> gcc -x c++ -g -Iincdir -c srcdir/*.c objdir/*.o -mthreads
Use g++ instead of gcc -x c++.
Note that it doesn't make sense to list object files when you use -c:
only source files can be listed. In this case, you can use -o to
specify the output object file name, but then, you can only specify
one source file per compilation.
> gcc -lsomelib -o execfile objfiles
Always list libraries after object files they depend on.
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist *Please* write to mailing lists, not to me
^ permalink raw reply [flat|nested] 9+ messages in thread
* gcc compile options
@ 2001-07-05 17:12 Carla Nunes
2001-07-05 18:15 ` Alexandre Oliva
0 siblings, 1 reply; 9+ messages in thread
From: Carla Nunes @ 2001-07-05 17:12 UTC (permalink / raw)
To: gcc-help
Hi!
I'm just getting started using the GCC compiler, and I
have to do the following: compile multi-thread C++
programs, generate an executable file and create a
shared library with a list of exported external
symbols of the shared object files. I need to do that
in three distinct steps since I have to use a make
file previously developed for use on AIX (VisualAge
C++ compiler).
I'm thiinking of using the folowing commands
("make-like") to compile and create an executable
file, but I don't know how to create shared libraries
and export the symbols...
compile:
gcc -x c++ -g -Iincdir -c srcdir/*.c objdir/*.o
-mthreads
-x c++ ---> c++ language
-g ---> to debug
-I ---> include directory
-c ---> to generate the .o files. do not link.
-mthreads ---> allows to handle with thread-safe
exception
create the executable:
gcc -lsomelib -o execfile objfiles
-lsomelib ---> i need to use some special libs
Any help will be welcome.
Thanks, Carla.
BTW, I'm using the GCC version 2.96-RH that comes with
Red Hat 7.1.
__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
http://personal.mail.yahoo.com/
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2006-11-10 11:34 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-11-08 7:30 GCC COMPILE OPTIONS Lalit Seth
2006-11-08 15:54 ` Ian Lance Taylor
2006-11-08 17:32 ` Tim Prince
2006-11-10 11:30 ` Lalit Seth
2006-11-10 11:34 ` Andrew Haley
-- strict thread matches above, loose matches on Subject: below --
2001-07-06 11:33 gcc compile options Peter Kurpis
2001-07-05 18:40 Peter Kurpis
2001-07-05 17:12 Carla Nunes
2001-07-05 18:15 ` Alexandre Oliva
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).