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