b5ca785d4c4579743fce42e9fdaaacd63192ecc3
_LITTLE_ENDIAN and _BIG_ENDIAN are built-in on some platforms/versions. Better use __ORDER_LITTLE_ENDIAN__, __ORDER_BIG_ENDIAN__ and __BYTE_ORDER__, which are standard for gcc and clang, and define them when they are missing. Also remove the special-case for FreeBSD, which is apprently not needed.
OpenLibm
OpenLibm is an effort to have a high quality, portable, standalone
C mathematical library (libm).
It can be used standalone in applications and programming language
implementations.
The project was born out of a need to have a good libm for the
Julia programming langage that worked
consistently across compilers and operating systems, and in 32-bit and
64-bit environments.
Platform support
OpenLibm builds on Linux, Mac OS X, Windows, FreeBSD, and OpenBSD. It builds with both GCC and clang. Although largely tested and widely used on x86 architectures, openlibm also supports ARM and powerPC.
Build instructions
- Use
maketo build OpenLibm. - Use
make USEGCC=1to build with GCC. This is the default on Linux and Windows. - Use
make USECLANG=1to build with clang. This is the default on OS X and FreeBSD. - Use
make ARCH=i386to build for i386. Other supported architectures are i486, i586, i686, x86_64, and various arm architectures. - On OpenBSD, you need to install GNU Make (port name:
gmake) and a recent version ofgcc(tested: 4.9.2), as the default version provided by OpenBSD is too old (4.2.1). If you use OpenBSD's port system for this (port name:gcc), runmake CC=egccto force Make to use the newergcc.
Acknowledgements
PowerPC support for openlibm was graciously sponsored by IBM.
Description
Languages
C
93.6%
Assembly
4.2%
CMake
1.4%
Makefile
0.3%
PHP
0.3%
Other
0.2%