diff --git a/ChangeLog b/ChangeLog index 90fff94..903ea66 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2002-05-05 Bruno Haible + * 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 and newer. * include/cln/modules.h (CL_FORCE_LINK): New macro. diff --git a/doc/cln.tex b/doc/cln.tex index a3230cf..0a52fb3 100644 --- a/doc/cln.tex +++ b/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 $ CC="gcc -V 2.95.2" CFLAGS="-O2 -fno-exceptions" \ 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 @ignore @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, 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. 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 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 CLN as a static (or shared) library only, by calling @code{configure} with 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 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 @cindex GMP