Commit Graph

65 Commits

Author SHA1 Message Date
alnyan 4413af583b alnyan/yggdrasil: fix riscv64 build 2025-02-26 18:14:08 +02:00
inky fc3646625f test: add target to gen coverage report (#295)
* test: add target to gen coverage report

* test: show branch coverage

* ci: setup codecov

* Readme: add codecov badge

* ci: upload coverage report

* test: add note for CODE_COVERAGE flag
2024-01-20 09:14:10 -06:00
A1phaN eb5330efad Support for loongarch64 architecture (#280)
* Support for loongarch64 architecture

* fix compile error
2024-01-10 09:53:48 +05:30
Siva Mahadevan acf58d235e build: fix pkgconfig cflags and libdir variables (#284) 2024-01-10 09:52:08 +05:30
xctan 428e7af214 Support for riscv64 architecture (#254)
Changes needed for riscv64 support have been added.
Code for openlibm_fenv_riscv.h, riscv_fpmath.h and fenv.c
was taken from https://github.com/freebsd/freebsd
2021-11-09 21:31:45 -05:00
jeremyd2019 a9568fbd22 [Windows] install import library to libdir (#249)
import libraries need to go in libdir (`/lib`), while dlls need to be on the PATH so need to be installed to shlibdir (`/bin`)
2021-09-10 00:06:52 -04:00
jeremyd2019 60dec83e33 msys2 ci (#243)
* add msys2 ci job

* run CI on any branch

* install base-devel on msys2

* remove soname and nodefaultlibs flags from mingw

* avoid soname on Windows

* add OLM_DLLEXPORT to signgam

it needs to be exported from the DLL also

* define IMPORT_EXPORTS on WINNT

While there are function export thunks in the import library that allow the linker to do the right thing for functions even if this is not set, it is required for the linker to do the right thing with variables being imported from a DLL (namely, signgam)

* add OLM_DLLEXPORT to openlibm_fenv_i387.h

seems this whole header was overlooked

* Update openlibm_fenv_i387.h

include openlibm_defs.h for OLM_DLLEXPORT
2021-09-09 18:49:37 -04: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