2015-02-01 14:36:16 +01:00
|
|
|
# OpenLibm
|
2012-08-19 08:22:43 +02:00
|
|
|
|
2018-04-07 00:55:51 +02:00
|
|
|
[![Travis](https://travis-ci.org/JuliaLang/openlibm.svg?branch=master)](https://travis-ci.org/JuliaLang/openlibm)
|
|
|
|
[![AppVeyor](https://ci.appveyor.com/api/projects/status/30kn644g79f0x6va/branch/master?svg=true)](https://ci.appveyor.com/project/ararslan/openlibm/branch/master)
|
2015-01-05 19:18:29 +01:00
|
|
|
|
2014-12-04 12:49:05 +01:00
|
|
|
[OpenLibm](http://www.openlibm.org) is an effort to have a high quality, portable, standalone
|
2014-06-20 20:09:44 +02:00
|
|
|
C mathematical library ([`libm`](http://en.wikipedia.org/wiki/libm)).
|
2014-06-22 13:46:23 +02:00
|
|
|
It can be used standalone in applications and programming language
|
2014-12-04 20:14:29 +01:00
|
|
|
implementations.
|
2011-12-31 08:18:43 +01:00
|
|
|
|
2014-06-22 13:46:23 +02:00
|
|
|
The project was born out of a need to have a good `libm` for the
|
|
|
|
[Julia programming langage](http://www.julialang.org) that worked
|
|
|
|
consistently across compilers and operating systems, and in 32-bit and
|
|
|
|
64-bit environments.
|
2012-01-06 05:35:01 +01:00
|
|
|
|
2015-02-01 14:36:16 +01:00
|
|
|
## Platform support
|
2012-07-03 17:30:34 +02:00
|
|
|
|
2017-09-22 22:22:43 +02:00
|
|
|
OpenLibm builds on Linux, Mac OS X, Windows, FreeBSD, OpenBSD, and DragonFly BSD.
|
|
|
|
It builds with both GCC and clang. Although largely tested and widely
|
2018-04-06 23:04:45 +02:00
|
|
|
used on x86 architectures, OpenLibm also supports ARM and
|
|
|
|
PowerPC.
|
2012-07-03 17:30:34 +02:00
|
|
|
|
2015-02-01 14:36:16 +01:00
|
|
|
## Build instructions
|
2014-06-12 09:22:21 +02:00
|
|
|
|
2018-04-06 23:04:45 +02:00
|
|
|
1. Use GNU Make to build OpenLibm. This is `make` on most systems, but `gmake` on BSDs.
|
2015-02-01 14:38:33 +01:00
|
|
|
2. Use `make USEGCC=1` to build with GCC. This is the default on
|
2014-12-04 20:14:29 +01:00
|
|
|
Linux and Windows.
|
2018-04-06 23:04:45 +02:00
|
|
|
3. Use `make USECLANG=1` to build with clang. This is the default on OS X, FreeBSD,
|
|
|
|
and OpenBSD.
|
2016-03-03 10:23:33 +01:00
|
|
|
4. Architectures are auto-detected. Use `make ARCH=i386` to force a
|
|
|
|
build for i386. Other supported architectures are i486, i586, and
|
|
|
|
i686. GCC 4.8 is the minimum requirement for correct codegen on
|
|
|
|
older 32-bit architectures.
|
2016-02-27 08:24:11 +01:00
|
|
|
|
|
|
|
## Acknowledgements
|
|
|
|
|
|
|
|
PowerPC support for openlibm was graciously sponsored by IBM.
|