Commit graph

61 commits

Author SHA1 Message Date
Lephenixnoir
65aaba96e1
install: trim the set of installed headers (and libm.a)
This is because all of these headers are included in direct style with
no subfolder so we need them to be in a quite public `include/` folder.
The Makefile installs in `include/openlibm/` but this only works with
extra `-I` flags that are quite annoying to enforce.

With this change, the only OpenLibm headers that are installed are named
`openlibm_*.h`, which is sufficient in terms of namespacing.

Also add a symlink libm.a -> libopenlibm.a.
2022-08-19 16:02:05 +02:00
Lephenixnoir
1cf5a91b46
make: add the sh3eb folder to the clean target 2021-05-21 14:07:39 +02:00
Lephenixnoir
44c1cbb8eb
sh3eb: add suport for the sh3eb softfp platform 2020-10-24 13:55:39 +02:00
Keno Fischer
b34f107e24
Fix Apple Silicon build (#214)
My previous Apple Silicon build went through, so I thought it already
worked, but it turns out it accidentally built an armv7 build instead.
This actually fixes the Apple Silicon build. One thing to note in
particular is that on Apple Silicong `long double` is the same as
`double` while on Linux `long double` is a 128 bit double-double
format.

Co-authored-by: Elliot Saba <staticfloat@gmail.com>
2020-09-03 18:27:17 -04:00
Daniel Mendler
72f33a3bf9 wasm32 support (#192) 2019-04-14 15:11:03 -07:00
Dan Horák
2a1e56858a s390(x) port 2018-11-07 12:11:15 +01:00
Mo Zhou
ad9673e637 Makefile: clean mips/*.o 2018-06-04 09:38:27 +00:00
Alex Arslan
48c6c2c2ac
Use cp -RpP instead of cp -a
OpenBSD does not support cp -a, and cp -RpP should work on all
platforms.
2018-04-06 14:06:14 -07:00
Yichao Yu
238a90959f Fix compilation on AArch64
The 128bit double directory is missing and was never used....
2017-10-21 09:58:16 -04:00
Elliot Saba
c21453060d Cleanup ARCH handling, reorganize AArch64 and Make.inc.
* Previously, behavior differed if the same value of `ARCH` was defined
  within `Make.inc` or defined on the command line.  Don't do that.

* Provide saner defaults for `ARCH` and `MARCH`, and more importantly,
  allow for the proper overriding of both.

* Split `AArch64` code further away from the other `arm` code.
2017-01-16 11:44:14 -08:00
Tracy Wadleigh
6708c96b06 Generate libopenlibm.dll.a for windows. 2016-08-27 16:55:43 -07:00
Arjen Roodselaar
4002a91a44 Split install into subtargets
When building a cross-compile toolchain for a freestanding platform one may not
want to build and install shared objects.
2016-07-19 14:26:15 -07:00
Elliot Saba
4d0bc52385 Version libopenlibm properly 2016-05-16 23:42:16 -07:00
Viral B. Shah
5840cef4ad Install all the headers in includdir/openlibm 2016-02-24 10:34:57 +05:30
Viral B. Shah
28e2b87335 Install cdefs-compat.h as well in usr/include/openlibm 2016-02-24 10:10:35 +05:30
Viral B. Shah
7654216ccf Merge pull request #110 from iblis17/master
FreeBSD has different pkg-config dir: /usr/local/libdata/
2016-02-23 11:21:12 -08:00
Simon Byrne
830dc991f3 Support powerpc
This fixes #113, based on files from FreeBSD. Tested on machine hosted by [OSUOSL](http://osuosl.org/services/powerdev/).
2016-02-23 11:08:14 +00:00
Iblis Lin
37559aa18c FreeBSD has different pkg-config dir: /usr/local/libdata/ 2016-01-19 23:08:57 +08:00
Peter Colberg
b9658f49e6 Fail if library symlinks cannot be created
libopenlibm.$(SHLIB_EXT).$(SOMAJOR) is required for running tests.
2015-11-13 13:45:37 -05:00
Peter Colberg
0aef1f7009 Clean up and test make clean 2015-11-13 13:43:44 -05:00
Peter Colberg
bab41fc510 Test shared library
Add make check target that builds and runs the tests.
2015-11-12 14:56:08 -05:00
Alexander Light
f70240ded5 Add support for cross compiling with ARCH=name
This is rather basic. A clean is needed to get rid of artifacts from
previous runs with other architectures.

Note this requires PR #88 to work because without it x86 is broken.

Closes #89
2015-03-01 15:09:22 -05:00
Ed Schouten
bc3f903bc2 Move public headers into include/ and private headers into src/.
While there, also modify the install target. We should make sure to
install all openlibm*.h headers. There is still some work to be done:
openlibm_fenv_*.h still depends on some additional bits. I'd propose
that we eventually create an include/openlibm_cdefs.h that contains all
of the macros we need.
2015-01-11 16:35:32 +01:00
Tony Kelman
619f810223 add -f flag to cp in install target 2015-01-06 21:26:48 -08:00
Thomas Leonard
3ac6130b34 Remove test binaries too on "make clean" 2015-01-05 10:35:11 +00:00
Milan Bouchet-Valat
1f77ae0208 Separate SOVERSION from release version
Needed to break API in 0.4 without calling it 1.0.
2014-07-27 12:54:54 +02:00
Elliot Saba
b038823eaa Tweak SONAME handling 2014-06-12 14:35:26 -07:00
Thomas Leonard
f22d7db106 Fixed build on ARM
Removed all long double support, since ARM doesn't have long doubles.
2014-05-26 10:55:49 +01:00
Thomas Leonard
5b16546ddd Added pkg-config support 2014-05-19 15:30:10 +01:00
Thomas Leonard
15fa3252fc Merge noinc branch 2014-05-19 15:29:33 +01:00
Tony Kelman
716317b71e Install libopenlibm.dll to bindir
skip dll versioning on Windows
2014-04-08 09:39:50 -07:00
Viral B. Shah
876c3384a1 Merge pull request #47 from JuliaLang/headers
Install bsd_asm.h and bsd_cdefs.h to $(includedir)/openlibm/$(ARCH)
2014-04-06 14:09:16 +05:30
Elliot Saba
e1d3d9ff43 Change to use $(CC) instead of $(FC), as we no longer have fortran in this repo 2014-04-05 11:51:26 -07:00
Milan Bouchet-Valat
360d282729 Install bsd_asm.h and bsd_cdefs.h to $(includedir)/openlibm/ 2014-03-31 09:51:10 +02:00
Isaiah Norton
e9c0ba7ad6 distclean: clean everything 2014-03-06 00:25:33 -05:00
Elliot Saba
ea52e04b6d Revert "Install everything in the include/ directory into $(prefix)/include/openlibm."
This reverts commit eb2f4d4b44.
2014-02-08 21:36:49 -08:00
Elliot Saba
eb2f4d4b44 Install everything in the include/ directory into $(prefix)/include/openlibm.
Note that software wishing to compile against `openlibm` should add `-I$(prefix)/include/openlibm` to their `CFLAGS`.

Closes #41
2014-02-08 18:37:33 -08:00
Kevin Squire
e76564b1d1 Force library symbolic links to overwrite, and ignore errors.
Fixes issue noted here:
https://groups.google.com/forum/#!searchin/julia-users/libopenlibm%7Csort:relevance%7Cspell:false/julia-users/6O4szE23D94/-YElnTwo63YJ
2014-01-13 10:56:35 -08:00
Milan Bouchet-Valat
b462578393 Use $(includedir) instead of hardcoding $(prefix)/include 2014-01-07 21:57:50 +01:00
Milan Bouchet-Valat
bb40f6c7a8 Change PREFIX and LIBDIR to lowercase
This is the standard name.
2014-01-07 21:54:15 +01:00
Milan Bouchet-Valat
251814ebb3 Set SONAME
Inspired from what openspecfun does.
2014-01-07 21:38:10 +01:00
Viral B. Shah
71d942f730 libdir, DESTDIR, and soname updates. 2014-01-05 02:07:17 +05:30
Viral B. Shah
d28fae9774 Remove amos and Faddeeva - they are now in openspecfun 2013-12-23 23:00:42 +05:30
Viral B. Shah
c5b47b3589 Build libopenlibm-extras separately 2012-12-31 17:01:08 -05:00
Viral B. Shah
c977aa998f Add Makefile.extras to build libopenlibm-extras.
Replace amos with slatec
2012-12-31 16:37:05 -05:00
Jameson Nash
07085279a1 use $(AR) variable instead of ar 2012-12-29 02:58:14 -05:00
Steven G. Johnson
b892df1d9f added Faddeeva package from http://ab-initio.mit.edu/Faddeeva for complex error functions 2012-12-20 14:35:14 -05:00
Sébastien Villemot
1bbda18695 Inject FFLAGS, CFLAGS, LDFLAGS where missing 2012-12-18 17:50:02 +01:00
Viral B. Shah
e8bf368573 Include AMOS in OpenLibm. 2012-10-29 15:00:54 +05:30
Viral B. Shah
1ac594e475 Quiet the clang build.
Rename cleanall target to distclean.
2012-10-27 10:17:38 +05:30