now build by default.
+2000-06-05 Richard Kreckel <kreckel@ginac.de>
+
+ * doc/*, INSTALL: Mention that both shared and static library are
+ are now build by default.
+
2000-05-31 Bruno Haible <haible@clisp.cons.org>
* tests/exam_I_floor.cc (integer_floor_tests): Add one more entry.
generate better code.
If you use g++ version egcs-2.91.x (egcs-1.1) or gcc-2.95.x on Sparc, add
-either "-O" or "-O2 -fno-schedule-insns" to the CXXFLAGS. With full "-O2",
-g++ miscompiles the division routines. Also, for --enable-shared to work, you
-need egcs-1.1.2 or newer.
+either "-O", "-O1" or "-O2 -fno-schedule-insns" to the CXXFLAGS. With full
+"-O2", g++ miscompiles the division routines. Also, if you have g++ version
+egcs-1.1.1 or older on Sparc, you must specify --disable-shared because g++
+would miscompile parts of the library.
On MIPS (SGI Irix 6), pass option "--without-gmp" to configure. gmp does
not work when compiled in "n32" binary format on Irix.
-2000-05-xx, version 1.1.0
+2000-06-xx, version 1.1.0
=========================
Implementation changes
<HTML>
<HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 2 June 2000 -->
<TITLE>CLN, a Class Library for Numbers</TITLE>
</HEAD>
<P>
If you use <CODE>g++</CODE> version egcs-2.91.x (egcs-1.1) or gcc-2.95.x on Sparc,
-add either <SAMP>`-O'</SAMP> or <SAMP>`-O2 -fno-schedule-insns'</SAMP> to the CXXFLAGS.
-With full <SAMP>`-O2'</SAMP>, <CODE>g++</CODE> miscompiles the division routines. Also, for
---enable-shared to work, you need egcs-1.1.2 or newer.
+add either <SAMP>`-O'</SAMP>, <SAMP>`-O1'</SAMP> or <SAMP>`-O2 -fno-schedule-insns'</SAMP> to the
+CXXFLAGS. With full <SAMP>`-O2'</SAMP>, <CODE>g++</CODE> miscompiles the division routines.
+Also, if you have <CODE>g++</CODE> version egcs-1.1.1 or older on Sparc, you must
+specify <SAMP>`--disable-shared'</SAMP> because <CODE>g++</CODE> would miscompile parts of
+the library.
<P>
-By default, only a static library is built. You can build CLN as a shared
-library too, by calling <CODE>configure</CODE> with the option <SAMP>`--enable-shared'</SAMP>.
-To get it built as a shared library only, call <CODE>configure</CODE> with the options
-<SAMP>`--enable-shared --disable-static'</SAMP>.
-
-
-<P>
-If you use <CODE>g++</CODE> version egcs-2.91.x (egcs-1.1) on Sparc, you cannot
-use <SAMP>`--enable-shared'</SAMP> because <CODE>g++</CODE> would miscompile parts of the
-library.
+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</CODE> with
+the option <SAMP>`--disable-shared'</SAMP> (or <SAMP>`--disable-static'</SAMP>). While
+shared libraries are usually more convenient to use, they may not work
+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.
<P>
-Starting with version 1.0.4, CLN may be configured to make use of a
+Starting with version 1.1, CLN may be configured to make use of a
preinstalled <CODE>gmp</CODE> library. Please make sure that you have at
least <CODE>gmp</CODE> version 3.0 installed since earlier versions are
unsupported and likely not to work. Enabling this feature by calling
<P><HR><P>
-This document was generated on 19 May 2000 using
+This document was generated on 2 June 2000 using
<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A> 1.56k.
</BODY>
</HTML>
will likely generate better code.
If you use `g++' version egcs-2.91.x (egcs-1.1) or gcc-2.95.x on Sparc,
-add either `-O' or `-O2 -fno-schedule-insns' to the CXXFLAGS. With
-full `-O2', `g++' miscompiles the division routines. Also, for
--enable-shared to work, you need egcs-1.1.2 or newer.
-
-By default, only a static library is built. You can build CLN as a
-shared library too, by calling `configure' with the option
-`--enable-shared'. To get it built as a shared library only, call
-`configure' with the options `--enable-shared --disable-static'.
-
-If you use `g++' version egcs-2.91.x (egcs-1.1) on Sparc, you cannot
-use `--enable-shared' because `g++' would miscompile parts of the
-library.
+add either `-O', `-O1' or `-O2 -fno-schedule-insns' to the CXXFLAGS.
+With full `-O2', `g++' miscompiles the division routines. Also, if you
+have `g++' version egcs-1.1.1 or older on Sparc, you must specify
+`--disable-shared' because `g++' would miscompile parts of the library.
+
+By default, both a shared and a static library are built. You can build
+CLN as a static (or shared) library only, by calling `configure' with
+the option `--disable-shared' (or `--disable-static'). While shared
+libraries are usually more convenient to use, they may not work 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.
* Menu:
Using the GNU MP Library
------------------------
-Starting with version 1.0.4, CLN may be configured to make use of a
+Starting with version 1.1, CLN may be configured to make use of a
preinstalled `gmp' library. Please make sure that you have at least
`gmp' version 3.0 installed since earlier versions are unsupported and
likely not to work. Enabling this feature by calling `configure' with
Node: Make utility\7f6882
Node: Sed utility\7f7068
Node: Building the library\7f7388
-Node: Using the GNU MP Library\7f10609
-Node: Installing the library\7f11487
-Node: Cleaning up\7f12210
-Node: Ordinary number types\7f12535
-Node: Exact numbers\7f14882
-Node: Floating-point numbers\7f16047
-Node: Complex numbers\7f19626
-Node: Conversions\7f20123
-Node: Functions on numbers\7f23589
-Node: Constructing numbers\7f24292
-Node: Constructing integers\7f24664
-Node: Constructing rational numbers\7f24954
-Node: Constructing floating-point numbers\7f25429
-Node: Constructing complex numbers\7f26549
-Node: Elementary functions\7f26913
-Node: Elementary rational functions\7f29382
-Node: Elementary complex functions\7f29954
-Node: Comparisons\7f30782
-Node: Rounding functions\7f32681
-Node: Roots\7f38458
-Node: Transcendental functions\7f40339
-Node: Exponential and logarithmic functions\7f40895
-Node: Trigonometric functions\7f42912
-Node: Hyperbolic functions\7f46263
-Node: Euler gamma\7f48336
-Node: Riemann zeta\7f49252
-Node: Functions on integers\7f49808
-Node: Logical functions\7f50096
-Node: Number theoretic functions\7f56049
-Node: Combinatorial functions\7f57416
-Node: Functions on floating-point numbers\7f58094
-Node: Conversion functions\7f61325
-Node: Conversion to floating-point numbers\7f61605
-Node: Conversion to rational numbers\7f63828
-Node: Random number generators\7f64882
-Node: Obfuscating operators\7f66556
-Node: Input/Output\7f68286
-Node: Internal and printed representation\7f68496
-Node: Input functions\7f71038
-Node: Output functions\7f75589
-Node: Rings\7f79325
-Node: Modular integers\7f81249
-Node: Modular integer rings\7f81449
-Node: Functions on modular integers\7f83539
-Node: Symbolic data types\7f86549
-Node: Strings\7f86812
-Node: Symbols\7f87877
-Node: Univariate polynomials\7f88779
-Node: Univariate polynomial rings\7f89037
-Node: Functions on univariate polynomials\7f93991
-Node: Special polynomials\7f97772
-Node: Internals\7f98492
-Node: Why C++ ?\7f98706
-Node: Memory efficiency\7f100206
-Node: Speed efficiency\7f100904
-Node: Garbage collection\7f101988
-Node: Using the library\7f102815
-Node: Compiler options\7f103349
-Node: Include files\7f104267
-Node: An Example\7f107908
-Node: Debugging support\7f111058
-Node: Customizing\7f113408
-Node: Error handling\7f113636
-Node: Floating-point underflow\7f114210
-Node: Customizing I/O\7f114849
-Node: Customizing the memory allocator\7f115142
-Node: Index\7f116099
+Node: Using the GNU MP Library\7f10776
+Node: Installing the library\7f11652
+Node: Cleaning up\7f12375
+Node: Ordinary number types\7f12700
+Node: Exact numbers\7f15047
+Node: Floating-point numbers\7f16212
+Node: Complex numbers\7f19791
+Node: Conversions\7f20288
+Node: Functions on numbers\7f23754
+Node: Constructing numbers\7f24457
+Node: Constructing integers\7f24829
+Node: Constructing rational numbers\7f25119
+Node: Constructing floating-point numbers\7f25594
+Node: Constructing complex numbers\7f26714
+Node: Elementary functions\7f27078
+Node: Elementary rational functions\7f29547
+Node: Elementary complex functions\7f30119
+Node: Comparisons\7f30947
+Node: Rounding functions\7f32846
+Node: Roots\7f38623
+Node: Transcendental functions\7f40504
+Node: Exponential and logarithmic functions\7f41060
+Node: Trigonometric functions\7f43077
+Node: Hyperbolic functions\7f46428
+Node: Euler gamma\7f48501
+Node: Riemann zeta\7f49417
+Node: Functions on integers\7f49973
+Node: Logical functions\7f50261
+Node: Number theoretic functions\7f56214
+Node: Combinatorial functions\7f57581
+Node: Functions on floating-point numbers\7f58259
+Node: Conversion functions\7f61490
+Node: Conversion to floating-point numbers\7f61770
+Node: Conversion to rational numbers\7f63993
+Node: Random number generators\7f65047
+Node: Obfuscating operators\7f66721
+Node: Input/Output\7f68451
+Node: Internal and printed representation\7f68661
+Node: Input functions\7f71203
+Node: Output functions\7f75754
+Node: Rings\7f79490
+Node: Modular integers\7f81414
+Node: Modular integer rings\7f81614
+Node: Functions on modular integers\7f83704
+Node: Symbolic data types\7f86714
+Node: Strings\7f86977
+Node: Symbols\7f88042
+Node: Univariate polynomials\7f88944
+Node: Univariate polynomial rings\7f89202
+Node: Functions on univariate polynomials\7f94156
+Node: Special polynomials\7f97937
+Node: Internals\7f98657
+Node: Why C++ ?\7f98871
+Node: Memory efficiency\7f100371
+Node: Speed efficiency\7f101069
+Node: Garbage collection\7f102153
+Node: Using the library\7f102980
+Node: Compiler options\7f103514
+Node: Include files\7f104432
+Node: An Example\7f108073
+Node: Debugging support\7f111223
+Node: Customizing\7f113573
+Node: Error handling\7f113801
+Node: Floating-point underflow\7f114375
+Node: Customizing I/O\7f115014
+Node: Customizing the memory allocator\7f115307
+Node: Index\7f116264
\1f
End Tag Table
%DVIPSCommandLine: /usr/local/teTeX/bin/ix86-linux-libc6/dvips -D600 -o
%+ cln.ps cln.dvi
%DVIPSParameters: dpi=600, compressed
-%DVIPSSource: TeX output 2000.05.19:1449
+%DVIPSSource: TeX output 2000.06.02:1711
%%BeginProcSet: texc.pro
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
6C1500A26C5C6C5C6C5C6C5C6C5C6C5C013F90C7FCEB07F822227BA72D>15
D E
%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fr cmr10 10.95 83
-/Fr 83 128 df<DA03FFEB0FE0021F9038C07FF8913AFE00F1F81CD901F890383BE03ED9
+%DVIPSBitmapFont: Fr cmr10 10.95 82
+/Fr 82 128 df<DA03FFEB0FE0021F9038C07FF8913AFE00F1F81CD901F890383BE03ED9
07E090387FC07F49489038FF80FF49485AD93F005C013E167E017E163C6F48130049147E
AEB91280A3D800FCC7007EC7FCB3AE486C14FF277FFFF83F13FFA338407FBF35>11
D<EC03FC91383FFF809138FE03C0903901F00060D907E07FD90F8013F84948487E491303
EA383CEA1FF8EA07E02B3A7EA630>I<001FB61280A29039E0003F0090C7127E001E14FE
001C495A5D0018495A003813075D0030495A141F4A5A92C7FC147EC712FE495A5C495A13
075C495A011FEB0180EB3F801400137E13FE485A491303485A000715005B48485B001F5C
-485A90C7123F007E49B4FCB7FCA221277EA628>I<B812F0A22C0280982D>I<001C130E00
-7EEB1F80007F133F39FF807FC0A3397F003F80007E131F001CEB0E001A0977BD2D>127
-D E
+485A90C7123F007E49B4FCB7FCA221277EA628>I<001C130E007EEB1F80007F133F39FF
+807FC0A3397F003F80007E131F001CEB0E001A0977BD2D>127 D
+E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fs cmbx12 14.4 62
/Fs 62 123 df<EEFFF8031F13FF92B612C0020315F0020F9038C00FF8913A3FFC0001FC
%%Page: 4 6
4 5 bop -30 -116 a Fr(Chapter)30 b(2:)41 b(Installation)2999
b(4)-30 299 y Fp(CXX)336 b Fr(Sp)s(eci\014es)30 b(the)g(C)p
-Fp(++)g Fr(compiler.)-30 466 y Fp(CXXFLAGS)96 b Fr(Flags)32
+Fp(++)g Fr(compiler.)-30 462 y Fp(CXXFLAGS)96 b Fr(Flags)32
b(to)f(b)s(e)f(giv)m(en)h(to)g(the)g(C)p Fp(++)e Fr(compiler)h(when)f
(compiling)h(programs)f(\(not)i(when)f(linking\).)-30
-638 y(Examples:)210 774 y Fp($)47 b(CC="gcc")f(CFLAGS="-O")f(CXX="g++")
-g(CXXFLAGS="-O")f(./configure)210 878 y($)j(CC="gcc)f(-V)h(2.7.2")g
-(CFLAGS="-O)e(-g")h(\\)305 982 y(CXX="g++)g(-V)h(2.7.2")f(CXXFLAGS="-O)
-f(-g")i(./configure)210 1086 y($)g(CC="gcc)f(-V)h(2.8.1")g(CFLAGS="-O)e
-(-fno-exceptions")e(\\)305 1189 y(CXX="g++)j(-V)h(2.8.1")f
-(CXXFLAGS="-O)f(-fno-exceptions")e(./configure)210 1293
+627 y(Examples:)210 759 y Fp($)47 b(CC="gcc")f(CFLAGS="-O")f(CXX="g++")
+g(CXXFLAGS="-O")f(./configure)210 863 y($)j(CC="gcc)f(-V)h(2.7.2")g
+(CFLAGS="-O)e(-g")h(\\)305 967 y(CXX="g++)g(-V)h(2.7.2")f(CXXFLAGS="-O)
+f(-g")i(./configure)210 1071 y($)g(CC="gcc)f(-V)h(2.8.1")g(CFLAGS="-O)e
+(-fno-exceptions")e(\\)305 1175 y(CXX="g++)j(-V)h(2.8.1")f
+(CXXFLAGS="-O)f(-fno-exceptions")e(./configure)210 1278
y($)k(CC="gcc)f(-V)h(egcs-2.91.60")e(CFLAGS="-O2)f(-fno-exceptions")g
-(\\)305 1397 y(CXX="g++)i(-V)h(egcs-2.91.60")d(CFLAGS="-O2)h
-(-fno-exceptions")e(./configure)-30 1540 y Fr(Note)32
+(\\)305 1382 y(CXX="g++)i(-V)h(egcs-2.91.60")d(CFLAGS="-O2)h
+(-fno-exceptions")e(./configure)-30 1520 y Fr(Note)32
b(that)g(for)e(these)i(en)m(vironmen)m(t)e(v)-5 b(ariables)32
b(to)f(tak)m(e)i(e\013ect,)g(y)m(ou)e(ha)m(v)m(e)h(to)f(set)h(them)e
-(\(assuming)g(a)h(Bourne-)-30 1649 y(compatible)i(shell\))g(on)g(the)g
+(\(assuming)g(a)h(Bourne-)-30 1630 y(compatible)i(shell\))g(on)g(the)g
(same)f(line)h(as)g(the)g Fp(configure)d Fr(command.)46
b(If)32 b(y)m(ou)h(made)f(the)h(settings)h(in)e(earlier)-30
-1759 y(shell)g(commands,)e(y)m(ou)i(ha)m(v)m(e)h(to)g
+1740 y(shell)g(commands,)e(y)m(ou)i(ha)m(v)m(e)h(to)g
Fp(export)d Fr(the)i(en)m(vironmen)m(t)f(v)-5 b(ariables)33
b(b)s(efore)e(calling)i Fp(configure)p Fr(.)43 b(In)31
-b(a)h Fp(csh)-30 1868 y Fr(shell,)f(y)m(ou)g(ha)m(v)m(e)g(to)g(use)f
+b(a)h Fp(csh)-30 1849 y Fr(shell,)f(y)m(ou)g(ha)m(v)m(e)g(to)g(use)f
(the)h(`)p Fp(setenv)p Fr(')e(command)f(for)i(setting)i(eac)m(h)f(of)g
-(the)f(en)m(vironmen)m(t)g(v)-5 b(ariables.)-30 2011
+(the)f(en)m(vironmen)m(t)g(v)-5 b(ariables.)-30 1987
y(On)28 b(Lin)m(ux,)h Fp(g++)f Fr(needs)h(15)g(MB)h(to)g(compile)f(the)
g(tests.)41 b(So)28 b(y)m(ou)i(should)e(b)s(etter)h(ha)m(v)m(e)h(17)g
-(MB)f(sw)m(ap)g(space)h(and)-30 2120 y(1)h(MB)g(ro)s(om)e(in)h
-($TMPDIR.)-30 2263 y(If)h(y)m(ou)h(use)g Fp(g++)e Fr(v)m(ersion)j
+(MB)f(sw)m(ap)g(space)h(and)-30 2097 y(1)h(MB)g(ro)s(om)e(in)h
+($TMPDIR.)-30 2235 y(If)h(y)m(ou)h(use)g Fp(g++)e Fr(v)m(ersion)j
(2.7.x,)g(don't)f(add)f(`)p Fp(-O2)p Fr(')g(to)i(the)f(CXXFLA)m(GS,)g
(b)s(ecause)g(`)p Fp(g++)d(-O)p Fr(')j(generates)h(b)s(etter)-30
-2372 y(co)s(de)e(for)f(CLN)g(than)g(`)p Fp(g++)g(-O2)p
-Fr('.)-30 2515 y(If)44 b(y)m(ou)h(use)f Fp(g++)g Fr(v)m(ersion)h(2.8.x)
+2345 y(co)s(de)e(for)f(CLN)g(than)g(`)p Fp(g++)g(-O2)p
+Fr('.)-30 2483 y(If)44 b(y)m(ou)h(use)f Fp(g++)g Fr(v)m(ersion)h(2.8.x)
h(or)e(egcs-2.91.x)k(\(a.k.a.)85 b(egcs-1.1\))47 b(or)e(gcc-2.95.x,)52
-b(I)44 b(recommend)e(adding)-30 2625 y(`)p Fp(-fno-exceptions)p
+b(I)44 b(recommend)e(adding)-30 2593 y(`)p Fp(-fno-exceptions)p
Fr(')27 b(to)k(the)f(CXXFLA)m(GS.)i(This)d(will)i(lik)m(ely)h(generate)
-g(b)s(etter)e(co)s(de.)-30 2767 y(If)54 b(y)m(ou)g(use)g
-Fp(g++)f Fr(v)m(ersion)i(egcs-2.91.x)i(\(egcs-1.1\))h(or)c(gcc-2.95.x)j
-(on)d(Sparc,)60 b(add)54 b(either)g(`)p Fp(-O)p Fr(')g(or)h(`)p
-Fp(-O2)-30 2877 y(-fno-schedule-insns)p Fr(')26 b(to)32
-b(the)f(CXXFLA)m(GS.)h(With)g(full)f(`)p Fp(-O2)p Fr(',)g
-Fp(g++)f Fr(miscompiles)g(the)i(division)f(routines.)-30
-2986 y(Also,)g(for)f({enable-shared)h(to)g(w)m(ork,)g(y)m(ou)g(need)f
-(egcs-1.1.2)k(or)c(new)m(er.)-30 3129 y(By)44 b(default,)j(only)c(a)h
-(static)h(library)e(is)h(built.)79 b(Y)-8 b(ou)44 b(can)g(build)e(CLN)h
-(as)h(a)g(shared)e(library)h(to)s(o,)48 b(b)m(y)43 b(call-)-30
-3238 y(ing)c Fp(configure)e Fr(with)i(the)g(option)h(`)p
-Fp(--enable-shared)p Fr('.)63 b(T)-8 b(o)40 b(get)g(it)g(built)e(as)i
-(a)f(shared)g(library)g(only)-8 b(,)42 b(call)-30 3348
-y Fp(configure)28 b Fr(with)i(the)g(options)h(`)p Fp(--enable-shared)c
-(--disable-static)p Fr('.)-30 3490 y(If)34 b(y)m(ou)h(use)g
-Fp(g++)e Fr(v)m(ersion)j(egcs-2.91.x)h(\(egcs-1.1\))h(on)d(Sparc,)g(y)m
-(ou)g(cannot)h(use)e(`)p Fp(--enable-shared)p Fr(')d(b)s(ecause)-30
-3600 y Fp(g++)e Fr(w)m(ould)i(miscompile)e(parts)h(of)g(the)h(library)
--8 b(.)-30 3840 y Fn(2.2.1)63 b(Using)42 b(the)f(GNU)g(MP)h(Library)-30
-4041 y Fr(Starting)27 b(with)g(v)m(ersion)g(1.0.4,)i(CLN)e(ma)m(y)f(b)s
-(e)g(con\014gured)g(to)h(mak)m(e)g(use)f(of)h(a)g(preinstalled)g
-Fp(gmp)f Fr(library)-8 b(.)40 b(Please)-30 4150 y(mak)m(e)g(sure)f
+g(b)s(etter)e(co)s(de.)-30 2731 y(If)37 b(y)m(ou)g(use)g
+Fp(g++)g Fr(v)m(ersion)g(egcs-2.91.x)k(\(egcs-1.1\))f(or)e(gcc-2.95.x)i
+(on)d(Sparc,)i(add)e(either)g(`)p Fp(-O)p Fr(',)i(`)p
+Fp(-O1)p Fr(')e(or)h(`)p Fp(-O2)-30 2840 y(-fno-schedule-insns)p
+Fr(')26 b(to)32 b(the)f(CXXFLA)m(GS.)h(With)g(full)f(`)p
+Fp(-O2)p Fr(',)g Fp(g++)f Fr(miscompiles)g(the)i(division)f(routines.)
+-30 2950 y(Also,)41 b(if)e(y)m(ou)g(ha)m(v)m(e)g Fp(g++)f
+Fr(v)m(ersion)h(egcs-1.1.1)j(or)c(older)h(on)f(Sparc,)j(y)m(ou)d(m)m
+(ust)g(sp)s(ecify)g(`)p Fp(--disable-shared)p Fr(')-30
+3060 y(b)s(ecause)30 b Fp(g++)g Fr(w)m(ould)g(miscompile)f(parts)h(of)h
+(the)f(library)-8 b(.)-30 3198 y(By)32 b(default,)g(b)s(oth)f(a)h
+(shared)e(and)h(a)h(static)h(library)e(are)h(built.)44
+b(Y)-8 b(ou)32 b(can)g(build)f(CLN)g(as)g(a)h(static)h(\(or)f(shared\))
+-30 3307 y(library)k(only)-8 b(,)38 b(b)m(y)f(calling)g
+Fp(configure)d Fr(with)i(the)h(option)f(`)p Fp(--disable-shared)p
+Fr(')d(\(or)j(`)p Fp(--disable-static)p Fr('\).)-30 3417
+y(While)f(shared)e(libraries)g(are)i(usually)e(more)g(con)m(v)m(enien)m
+(t)j(to)e(use,)h(they)f(ma)m(y)f(not)h(w)m(ork)g(on)g(all)g(arc)m
+(hitectures.)-30 3527 y(T)-8 b(ry)32 b(disabling)g(them)g(if)g(y)m(ou)h
+(run)d(in)m(to)k(link)m(er)e(problems.)45 b(Also,)34
+b(they)f(are)f(generally)i(somewhat)e(slo)m(w)m(er)h(than)-30
+3636 y(static)f(libraries)e(so)h(run)m(time-critical)h(applications)f
+(should)e(b)s(e)h(link)m(ed)h(statically)-8 b(.)-30 3868
+y Fn(2.2.1)63 b(Using)42 b(the)f(GNU)g(MP)h(Library)-30
+4064 y Fr(Starting)32 b(with)f(v)m(ersion)g(1.1,)i(CLN)e(ma)m(y)g(b)s
+(e)f(con\014gured)h(to)h(mak)m(e)f(use)g(of)g(a)h(preinstalled)f
+Fp(gmp)g Fr(library)-8 b(.)43 b(Please)-30 4174 y(mak)m(e)d(sure)f
(that)h(y)m(ou)g(ha)m(v)m(e)h(at)f(least)h Fp(gmp)e Fr(v)m(ersion)h
(3.0)h(installed)f(since)g(earlier)h(v)m(ersions)f(are)g(unsupp)s
-(orted)-30 4260 y(and)30 b(lik)m(ely)i(not)f(to)h(w)m(ork.)41
+(orted)-30 4283 y(and)30 b(lik)m(ely)i(not)f(to)h(w)m(ork.)41
b(Enabling)31 b(this)f(feature)h(b)m(y)g(calling)h Fp(configure)c
Fr(with)j(the)f(option)i(`)p Fp(--with-gmp)p Fr(')c(is)-30
-4369 y(kno)m(wn)i(to)h(b)s(e)f(quite)h(a)f(b)s(o)s(ost)g(for)g(CLN's)g
-(p)s(erformance.)-30 4512 y(If)35 b(y)m(ou)g(ha)m(v)m(e)i(installed)f
+4393 y(kno)m(wn)i(to)h(b)s(e)f(quite)h(a)f(b)s(o)s(ost)g(for)g(CLN's)g
+(p)s(erformance.)-30 4531 y(If)35 b(y)m(ou)g(ha)m(v)m(e)i(installed)f
(the)f Fp(gmp)f Fr(library)h(and)f(its)i(header)f(\014le)g(in)g(some)g
-(place)h(where)e(y)m(our)i(compiler)e(cannot)-30 4622
+(place)h(where)e(y)m(our)i(compiler)e(cannot)-30 4641
y(\014nd)27 b(it)j(b)m(y)f(default,)h(y)m(ou)f(m)m(ust)f(help)h
Fp(configure)d Fr(b)m(y)j(setting)h Fp(CPPFLAGS)d Fr(and)h
Fp(LDFLAGS)p Fr(.)38 b(Here)30 b(is)f(an)g(example:)210
-4758 y Fp($)47 b(CC="gcc")f(CFLAGS="-O2")e(CXX="g++")i(CXXFLAGS="-O2)e
-(-fno-exceptions")f(\\)305 4862 y(CPPFLAGS="-I/opt/gmp/inclu)o(de")e
+4773 y Fp($)47 b(CC="gcc")f(CFLAGS="-O2")e(CXX="g++")i(CXXFLAGS="-O2)e
+(-fno-exceptions")f(\\)305 4877 y(CPPFLAGS="-I/opt/gmp/inclu)o(de")e
(LDFLAGS="-L/opt/gmp/lib")g(./configure)k(--with-gmp)-30
-5139 y Fs(2.3)68 b(Installing)47 b(the)e(library)-30
+5144 y Fs(2.3)68 b(Installing)47 b(the)e(library)-30
5340 y Fr(As)30 b(with)g(an)m(y)h(auto)s(con\014guring)f(GNU)h(soft)m
(w)m(are,)h(installation)h(is)d(as)h(easy)g(as)f(this:)p
eop
This will likely generate better code.
If you use @code{g++} version egcs-2.91.x (egcs-1.1) or gcc-2.95.x on Sparc,
-add either @samp{-O} or @samp{-O2 -fno-schedule-insns} to the CXXFLAGS.
-With full @samp{-O2}, @code{g++} miscompiles the division routines. Also, for
---enable-shared to work, you need egcs-1.1.2 or newer.
+add either @samp{-O}, @samp{-O1} or @samp{-O2 -fno-schedule-insns} to the
+CXXFLAGS. With full @samp{-O2}, @code{g++} miscompiles the division routines.
+Also, if you have @code{g++} version egcs-1.1.1 or older on Sparc, you must
+specify @samp{--disable-shared} because @code{g++} would miscompile parts of
+the library.
-By default, only a static library is built. You can build CLN as a shared
-library too, by calling @code{configure} with the option @samp{--enable-shared}.
-To get it built as a shared library only, call @code{configure} with the options
-@samp{--enable-shared --disable-static}.
-
-If you use @code{g++} version egcs-2.91.x (egcs-1.1) on Sparc, you cannot
-use @samp{--enable-shared} because @code{g++} would miscompile parts of the
-library.
+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
+shared libraries are usually more convenient to use, they may not work
+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.
@subsection Using the GNU MP Library
@cindex GMP
-Starting with version 1.0.4, CLN may be configured to make use of a
+Starting with version 1.1, CLN may be configured to make use of a
preinstalled @code{gmp} library. Please make sure that you have at
least @code{gmp} version 3.0 installed since earlier versions are
unsupported and likely not to work. Enabling this feature by calling
This will likely generate better code.
If you use @code{g++} version egcs-2.91.x (egcs-1.1) or gcc-2.95.x on Sparc,
-add either @samp{-O} or @samp{-O2 -fno-schedule-insns} to the CXXFLAGS.
-With full @samp{-O2}, @code{g++} miscompiles the division routines. Also, for
---enable-shared to work, you need egcs-1.1.2 or newer.
+add either @samp{-O}, @samp{-O1} or @samp{-O2 -fno-schedule-insns} to the
+CXXFLAGS. With full @samp{-O2}, @code{g++} miscompiles the division routines.
+Also, if you have @code{g++} version egcs-1.1.1 or older on Sparc, you must
+specify @samp{--disable-shared} because @code{g++} would miscompile parts of
+the library.
-By default, only a static library is built. You can build CLN as a shared
-library too, by calling @code{configure} with the option @samp{--enable-shared}.
-To get it built as a shared library only, call @code{configure} with the options
-@samp{--enable-shared --disable-static}.
-
-If you use @code{g++} version egcs-2.91.x (egcs-1.1) on Sparc, you cannot
-use @samp{--enable-shared} because @code{g++} would miscompile parts of the
-library.
+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
+shared libraries are usually more convenient to use, they may not work
+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.
@menu
@subsection Using the GNU MP Library
@cindex GMP
-Starting with version 1.0.4, CLN may be configured to make use of a
+Starting with version 1.1, CLN may be configured to make use of a
preinstalled @code{gmp} library. Please make sure that you have at
least @code{gmp} version 3.0 installed since earlier versions are
unsupported and likely not to work. Enabling this feature by calling
<HTML>
<HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 2 June 2000 -->
<TITLE>CLN, a Class Library for Numbers - 1. Introduction</TITLE>
</HEAD>
<HTML>
<HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 2 June 2000 -->
<TITLE>CLN, a Class Library for Numbers - 10. Internals</TITLE>
</HEAD>
<HTML>
<HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 2 June 2000 -->
<TITLE>CLN, a Class Library for Numbers - 11. Using the library</TITLE>
</HEAD>
<HTML>
<HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 2 June 2000 -->
<TITLE>CLN, a Class Library for Numbers - 12. Customizing</TITLE>
</HEAD>
<HTML>
<HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 2 June 2000 -->
<TITLE>CLN, a Class Library for Numbers - Index</TITLE>
</HEAD>
<HTML>
<HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 2 June 2000 -->
<TITLE>CLN, a Class Library for Numbers - 2. Installation</TITLE>
</HEAD>
<P>
If you use <CODE>g++</CODE> version egcs-2.91.x (egcs-1.1) or gcc-2.95.x on Sparc,
-add either <SAMP>`-O'</SAMP> or <SAMP>`-O2 -fno-schedule-insns'</SAMP> to the CXXFLAGS.
-With full <SAMP>`-O2'</SAMP>, <CODE>g++</CODE> miscompiles the division routines. Also, for
---enable-shared to work, you need egcs-1.1.2 or newer.
+add either <SAMP>`-O'</SAMP>, <SAMP>`-O1'</SAMP> or <SAMP>`-O2 -fno-schedule-insns'</SAMP> to the
+CXXFLAGS. With full <SAMP>`-O2'</SAMP>, <CODE>g++</CODE> miscompiles the division routines.
+Also, if you have <CODE>g++</CODE> version egcs-1.1.1 or older on Sparc, you must
+specify <SAMP>`--disable-shared'</SAMP> because <CODE>g++</CODE> would miscompile parts of
+the library.
<P>
-By default, only a static library is built. You can build CLN as a shared
-library too, by calling <CODE>configure</CODE> with the option <SAMP>`--enable-shared'</SAMP>.
-To get it built as a shared library only, call <CODE>configure</CODE> with the options
-<SAMP>`--enable-shared --disable-static'</SAMP>.
-
-
-<P>
-If you use <CODE>g++</CODE> version egcs-2.91.x (egcs-1.1) on Sparc, you cannot
-use <SAMP>`--enable-shared'</SAMP> because <CODE>g++</CODE> would miscompile parts of the
-library.
+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</CODE> with
+the option <SAMP>`--disable-shared'</SAMP> (or <SAMP>`--disable-static'</SAMP>). While
+shared libraries are usually more convenient to use, they may not work
+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.
<P>
-Starting with version 1.0.4, CLN may be configured to make use of a
+Starting with version 1.1, CLN may be configured to make use of a
preinstalled <CODE>gmp</CODE> library. Please make sure that you have at
least <CODE>gmp</CODE> version 3.0 installed since earlier versions are
unsupported and likely not to work. Enabling this feature by calling
<HTML>
<HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 2 June 2000 -->
<TITLE>CLN, a Class Library for Numbers - 3. Ordinary number types</TITLE>
</HEAD>
<HTML>
<HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 2 June 2000 -->
<TITLE>CLN, a Class Library for Numbers - 4. Functions on numbers</TITLE>
</HEAD>
<HTML>
<HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 2 June 2000 -->
<TITLE>CLN, a Class Library for Numbers - 5. Input/Output</TITLE>
</HEAD>
<HTML>
<HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 2 June 2000 -->
<TITLE>CLN, a Class Library for Numbers - 6. Rings</TITLE>
</HEAD>
<HTML>
<HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 2 June 2000 -->
<TITLE>CLN, a Class Library for Numbers - 7. Modular integers</TITLE>
</HEAD>
<HTML>
<HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 2 June 2000 -->
<TITLE>CLN, a Class Library for Numbers - 8. Symbolic data types</TITLE>
</HEAD>
<HTML>
<HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 2 June 2000 -->
<TITLE>CLN, a Class Library for Numbers - 9. Univariate polynomials</TITLE>
</HEAD>
<HTML>
<HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 2 June 2000 -->
<TITLE>CLN, a Class Library for Numbers - Table of Contents</TITLE>
</HEAD>
<LI><A NAME="TOC74" HREF="cln_13.html#SEC74">Index</A>
</UL>
<P><HR><P>
-This document was generated on 19 May 2000 using
+This document was generated on 2 June 2000 using
<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A> 1.56k.
</BODY>
</HTML>