Browse Source

Recommendation for g++-3.1 users.

master
Bruno Haible 23 years ago
parent
commit
bcf970403e
  1. 3
      ChangeLog
  2. 15
      doc/cln.tex

3
ChangeLog

@ -1,5 +1,8 @@
2002-05-05 Bruno Haible <bruno@clisp.org> 2002-05-05 Bruno Haible <bruno@clisp.org>
* doc/cln.tex (Building the library): Give some recommendations for
g++ 3.0 and 3.1.
Force link-time references despite optimizations done by g++ 2.95 Force link-time references despite optimizations done by g++ 2.95
and newer. and newer.
* include/cln/modules.h (CL_FORCE_LINK): New macro. * include/cln/modules.h (CL_FORCE_LINK): New macro.

15
doc/cln.tex

@ -357,6 +357,9 @@ $ CC="gcc -V egcs-2.91.60" CFLAGS="-O -g" \
CXX="g++ -V egcs-2.91.60" CXXFLAGS="-O -g" ./configure CXX="g++ -V egcs-2.91.60" CXXFLAGS="-O -g" ./configure
$ CC="gcc -V 2.95.2" CFLAGS="-O2 -fno-exceptions" \ $ CC="gcc -V 2.95.2" CFLAGS="-O2 -fno-exceptions" \
CXX="g++ -V 2.95.2" CFLAGS="-O2 -fno-exceptions" ./configure CXX="g++ -V 2.95.2" CFLAGS="-O2 -fno-exceptions" ./configure
$ CC="gcc -V 3.0.4" CFLAGS="-O2 -finline-limit=1000 -fno-exceptions" \
CXX="g++ -V 3.0.4" CFLAGS="-O2 -finline-limit=1000 -fno-exceptions" \
./configure
@end example @end example
@ignore @ignore
@comment cl_modules.h requires g++ @comment cl_modules.h requires g++
@ -396,7 +399,10 @@ Currently CLN works only with the GNU @code{g++} compiler, and only in
optimizing mode. So you should specify at least @code{-O} in the CXXFLAGS, optimizing mode. So you should specify at least @code{-O} in the CXXFLAGS,
or no CXXFLAGS at all. (If CXXFLAGS is not set, CLN will use @code{-O}.) or no CXXFLAGS at all. (If CXXFLAGS is not set, CLN will use @code{-O}.)
If you use @code{g++} gcc-2.95.x or gcc-3.0, I recommend adding
If you use @code{g++} 3.0.x or 3.1, I recommend adding
@samp{-finline-limit=1000} to the CXXFLAGS. This is essential for good code.
If you use @code{g++} gcc-2.95.x or gcc-3.0.x , I recommend adding
@samp{-fno-exceptions} to the CXXFLAGS. This will likely generate better code. @samp{-fno-exceptions} to the CXXFLAGS. This will likely generate better code.
If you use @code{g++} from gcc-2.95.x on Sparc, add either @samp{-O}, If you use @code{g++} from gcc-2.95.x on Sparc, add either @samp{-O},
@ -408,6 +414,9 @@ library. Also, on OSF/1 or Tru64 using gcc-2.95.x, you should specify
@samp{--disable-shared} because of linker problems with duplicate symbols @samp{--disable-shared} because of linker problems with duplicate symbols
in shared libraries. in shared libraries.
If you use @code{g++} from gcc-3.1, it will need 235 MB of virtual memory.
You might need some swap space if your machine doesn't have 512 MB of RAM.
By default, both a shared and a static library are built. You can build By default, both a shared and a static library are built. You can build
CLN as a static (or shared) library only, by calling @code{configure} with CLN as a static (or shared) library only, by calling @code{configure} with
the option @samp{--disable-shared} (or @samp{--disable-static}). While the option @samp{--disable-shared} (or @samp{--disable-static}). While
@ -416,6 +425,10 @@ on all architectures. Try disabling them if you run into linker
problems. Also, they are generally somewhat slower than static problems. Also, they are generally somewhat slower than static
libraries so runtime-critical applications should be linked statically. libraries so runtime-critical applications should be linked statically.
If you use @code{g++} from gcc-3.1 with option @samp{-g}, you will need
some disk space: 335 MB for building as both a shared and a static library,
or 130 MB when building as a shared library only.
@subsection Using the GNU MP Library @subsection Using the GNU MP Library
@cindex GMP @cindex GMP

Loading…
Cancel
Save