Difference between revisions of "CLN"

From CBLFS
Jump to navigationJump to search
m (Versioning.)
 
(10 intermediate revisions by 2 users not shown)
Line 5: Line 5:
 
|}
 
|}
  
== Introduction to CLN ==
+
----
  
Class Library for Numbers (CLN) is a C++ library for computations with all kinds of numbers.  The CLN package implements elementary functions (+, -, *, /, sqrt, comparisons, ...), logical functions (logical and, or, not, ...), and transcendental functions (exponential, logarithmic, trigonometric, hyperbolic functions and their inverse functions).
+
{{Package-Introduction|Class Library for Numbers (CLN) is a C++ library for computations with all kinds of numbers.  The CLN package implements elementary functions (+, -, *, /, sqrt, comparisons, ...), logical functions (logical and, or, not, ...), and transcendental functions (exponential, logarithmic, trigonometric, hyperbolic functions and their inverse functions).|http://www.ginac.de/CLN/}}
  
 
== Dependencies ==
 
== Dependencies ==
  
'''NOTE:''' From the CLN documentation, "Only GNU make 3.77 is unusable for CLN; other versions work fine."
+
{{Note|From the CLN documentation, "Only GNU make 3.77 is unusable for CLN; other versions work fine."}}
  
 
=== Optional ===
 
=== Optional ===
Line 20: Line 20:
 
Compile the package:
 
Compile the package:
  
  ./configure --prefix=/usr &&
+
./configure --prefix=/usr \
  make
+
    --htmldir=/usr/share/doc/cln-{{CLN-Version}}/html \
 +
    --dvidir=/usr/share/doc/cln-{{CLN-Version}} &&
 +
make
  
 
Install the package:
 
Install the package:
  
  make install
+
make install
  
 
== Multilib ==
 
== Multilib ==
Line 33: Line 35:
 
Compile the package:
 
Compile the package:
  
  CC="gcc ${BUILD32}" ./configure --prefix=/usr --libdir=/usr/lib &&
+
CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" \
  make
+
./configure --prefix=/usr \
 +
--htmldir=/usr/share/doc/cln-{{CLN-Version}}/html \
 +
--dvidir=/usr/share/doc/cln-{{CLN-Version}} &&
 +
make
  
 
Install the package:
 
Install the package:
  
  make install &&
+
make install &&
  mv -v /usr/bin/cln-config{,-32}
+
mv -v /usr/bin/cln-config{,-32} &&
 +
mv -v /usr/include/cln/intparam{,-32}.h
  
 
=== N32 ===
 
=== N32 ===
Line 45: Line 51:
 
Compile the package:
 
Compile the package:
  
  CC="gcc ${BUILDN32}" ./configure --prefix=/usr --libdir=/usr/lib32 &&
+
CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32}" \
  make
+
./configure --prefix=/usr --libdir=/usr/lib32 \
 +
--htmldir=/usr/share/doc/cln-{{CLN-Version}}/html \
 +
--dvidir=/usr/share/doc/cln-{{CLN-Version}} &&
 +
make
  
 
Install the package:
 
Install the package:
  
  make install &&
+
make install &&
  mv -v /usr/bin/cln-config{,-n32}
+
mv -v /usr/bin/cln-config{,-n32} &&
 +
mv -v /usr/include/cln/intparam{,-n32}.h
  
 
=== 64Bit ===
 
=== 64Bit ===
Line 57: Line 67:
 
Compile the package:
 
Compile the package:
  
  CC="gcc ${BUILD64}" ./configure --prefix=/usr --libdir=/usr/lib64 &&
+
CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" \
  make
+
./configure --prefix=/usr --libdir=/usr/lib64 \
 +
--htmldir=/usr/share/doc/cln-{{CLN-Version}}/html \
 +
--dvidir=/usr/share/doc/cln-{{CLN-Version}} &&
 +
make
  
 
Install the package:
 
Install the package:
  
  make install
+
make install &&
  mv -v /usr/bin/cln-config{,-64} &&
+
mv -v /usr/bin/cln-config{,-64} &&
  ln -sfv multiarch_wrapper /usr/bin/cln-config
+
ln -sfv multiarch_wrapper /usr/bin/cln-config &&
 +
mv -v /usr/include/cln/intparam{,-64}.h
  
== Installed Files ==
+
{{Stub-Header|intparam|/usr/include/cln}}
  
* '''Installed Programs:''' cln-config
+
= Contents =
* '''Installed Libraries:''' libcln.{a,la,so}
 
  
=== Short Description ===
+
{|style="text-align: left"
 +
|-valign="top"
 +
!Installed Directories:
 +
|None
 +
|-valign="top"
 +
!Installed Programs:
 +
|cln-config
 +
|-valign="top"
 +
!Installed Libraries:
 +
|libcln.so, libcln.la, libcln.a
 +
|-valign="top"
 +
!Symlinks:
 +
|None
 +
|}
  
* '''cln-config:''' A shell script that you can use to determine the compiler and linker command line options required to compile and link a program with CLN.
+
== Short Description ==
* '''libcln:''' The library.
+
 
 +
{|style="text-align: left"
 +
|-valign="top"
 +
!cln-config:
 +
|A shell script that you can use to determine the compiler and linker command line options required to compile and link a program with CLN.
 +
|-valign="top"
 +
!libcln:
 +
|The C++ library.
 +
|}
 +
 
 +
[[Category:Science_Engineering]]

Latest revision as of 10:18, 18 August 2008

Download Source: http://www.ginac.de/CLN/cln-1.3.0.tar.bz2

Introduction to CLN

Class Library for Numbers (CLN) is a C++ library for computations with all kinds of numbers. The CLN package implements elementary functions (+, -, *, /, sqrt, comparisons, ...), logical functions (logical and, or, not, ...), and transcendental functions (exponential, logarithmic, trigonometric, hyperbolic functions and their inverse functions).

Project Homepage: http://www.ginac.de/CLN/

Dependencies

Caution.png

Note

From the CLN documentation, "Only GNU make 3.77 is unusable for CLN; other versions work fine."

Optional

Non-Multilib

Compile the package:

./configure --prefix=/usr \
    --htmldir=/usr/share/doc/cln-1.3.0/html \
    --dvidir=/usr/share/doc/cln-1.3.0 &&
make

Install the package:

make install

Multilib

32Bit

Compile the package:

CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" \
./configure --prefix=/usr \
--htmldir=/usr/share/doc/cln-1.3.0/html \
--dvidir=/usr/share/doc/cln-1.3.0 &&
make

Install the package:

make install &&
mv -v /usr/bin/cln-config{,-32}  &&
mv -v /usr/include/cln/intparam{,-32}.h

N32

Compile the package:

CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32}" \
./configure --prefix=/usr --libdir=/usr/lib32 \
--htmldir=/usr/share/doc/cln-1.3.0/html \
--dvidir=/usr/share/doc/cln-1.3.0 &&
make

Install the package:

make install &&
mv -v /usr/bin/cln-config{,-n32}  &&
mv -v /usr/include/cln/intparam{,-n32}.h

64Bit

Compile the package:

CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" \
./configure --prefix=/usr --libdir=/usr/lib64 \
--htmldir=/usr/share/doc/cln-1.3.0/html \
--dvidir=/usr/share/doc/cln-1.3.0 &&
make

Install the package:

make install &&
mv -v /usr/bin/cln-config{,-64} &&
ln -sfv multiarch_wrapper /usr/bin/cln-config  &&
mv -v /usr/include/cln/intparam{,-64}.h

Creating a Stub Header (Multilib Only)

Creating a Generic Stub Header

cat > /usr/include/cln/intparam.h << "EOF"
/* intparam.h - Stub Header  */
#ifndef __STUB__INTPARAM_H__
#define __STUB__INTPARAM_H__

#if defined(__x86_64__) || \
    defined(__sparc64__) || \
    defined(__arch64__) || \
    defined(__powerpc64__) || \
    defined (__s390x__)
# include "intparam-64.h"
#else
# include "intparam-32.h"
#endif

#endif /* __STUB__INTPARAM_H__ */
EOF

Creating a Stub Header For Mips

cat > /usr/include/cln/intparam.h << "EOF"
/* intparam.h - Stub Header  */
#ifndef __STUB__INTPARAM_H__
#define __STUB__INTPARAM_H__

#include <sgidefs.h>

#if (_MIPS_SIM == _ABIO32)
# include "intparam-32.h"
#elif (_MIPS_SIM == _ABIN32)
# include "intparam-n32.h"
#elif (_MIPS_SIM == _ABI64)
# include "intparam-64.h"
#endif

#endif /* __STUB__INTPARAM_H__ */
EOF

Contents

Installed Directories: None
Installed Programs: cln-config
Installed Libraries: libcln.so, libcln.la, libcln.a
Symlinks: None

Short Description

cln-config: A shell script that you can use to determine the compiler and linker command line options required to compile and link a program with CLN.
libcln: The C++ library.
Retrieved from "?title=CLN&oldid=15001"