556 Commits

Author SHA1 Message Date
Vilius Sutkus '89
87e5f0b3f2
CMake updates (#302)
* Add BUILD_SHARED_LIBS option to choose between shared and static lib

* Fix build break for Android aarch64

* Install built target

* Set the correct version number

* Don't add include dirs through CFlags. Include dirs are already set as target property

* Install all relevant headers, not just from include dir

* Update note about BUILD_SHARED_LIBS in README.md

* Fix mistake in README.md, option(BUILD_SHARED_LIBS ON) sets the lib to shared by default
2024-06-19 15:02:50 -04:00
Sergey Fedorov
d9f2b0f21a
Minor fix-ups for Darwin PowerPC (#303)
* openlibm_fenv.h: fix PowerPC macro for Darwin

* openlibm_fenv_powerpc.h: check if __BYTE_ORDER__ is actually defined

* fpmath.h: fix PowerPC macro for Darwin
2024-06-19 15:01:51 -04:00
ryan-filmware
b3a6e991a4
build: use clang instead of llvm-gcc (#300)
Modern clang works just fine, also llvm-gcc is nowhere to be found.
2024-04-03 00:31:00 -04:00
Oscar Smith
b42f035afb
Merge pull request #297 from JuliaMath/dependabot/github_actions/codecov/codecov-action-4
Bump codecov/codecov-action from 3 to 4
2024-02-01 16:38:58 -05:00
dependabot[bot]
3b6700bcfe
Bump codecov/codecov-action from 3 to 4
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3 to 4.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-01 21:14:40 +00:00
inky
4b83beb208
CI: Setup cross build test (#296)
* build: allow set TOOLPREFIX

* readme: add cross build steps

* ci: Setup cross build

* ci: use var in step name

* ci: split build / build test

* ci: add more arch

* ci: update ppc triple

* ci: update actions/checkout

* ci: todo: fix arm cross build

* ci: add more misp ci

* ci: remove mips64, mips64el

* ci: add more ppc ci

* ci: reopen arm CI
2024-02-01 12:26:31 -05: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
dependabot[bot]
d3be5dfe07
Bump actions/checkout from 2 to 4 (#294)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-16 17:30:51 -05:00
Viral B. Shah
bc36005af8
Create dependabot.yml 2024-01-16 17:28:48 -05:00
Viral B. Shah
1e3511e407
Delete .github/FUNDING.yml 2024-01-16 17:27:58 -05:00
Viral B. Shah
ae59af701d
Update README.md 2024-01-16 17:26:56 -05:00
Ryonald Teofilo
f3eec73a3f
Correct long double check in CMakeLists.txt and remove duplicate definitions for static library builds too (#293)
* Fix mistake in CMakeLists.txt, only add sources in ld128 if long double isn't the same as double + aarch64

* Update README to mention that cmake build now defaults to shared library
2024-01-16 17:26:18 -05:00
Ryonald Teofilo
b31c64529c
Add support for building shared library with CMake (#291)
* Add support to build openlibm as a shared library using cmake by not compiling the C implementation when a native one exists

* Add CMake static and shared library build instruction and also added info about support for loongarch64

---------

Co-authored-by: Viral B. Shah <ViralBShah@users.noreply.github.com>
2024-01-11 10:36:14 +05:30
inky
bd591aaf08
Readme: add new arch: loongarch64 (#287) 2024-01-11 10:34:47 +05:30
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
Ryonald Teofilo
a010123801
Add CMake support (#286)
* Add CMakeLists file to build with CMake, tested with MinGW on Windows x64 and Apple Clang on MacOS arm64

* Use regex to ensure 'AppleClang' also passes under Clang
2024-01-10 09:50:58 +05:30
MarcusCalhoun-Lopez
12f5ffcc99
Fix Apple PowerPC build (#276)
Apple versions of GCC define __ppc__ instead of __powerpc__

Fixes #275
2023-06-24 23:26:52 -04:00
Keno Fischer
1d2c5e3bf5
Restore original fdlibm copyright on sincos files (#265)
These files are derived from the original fdlibm sin/cos files.
While we do already preserve that license notice in LICENSE.md
(so there's no actual license compliance issue here), it's
cleaner to have the copyright notice in the file as well, in
case somebody copies the file out of the repo.
2022-10-18 11:58:47 -07:00
Mark Kittisopikul
0edf8d6929
Remove non-working www subdomain from OpenLibm (#261) 2022-06-06 15:27:33 -07:00
Keno Fischer
ae2d916985
Correctly round double precision sqrt (#256)
As discussed in https://github.com/JuliaLang/julia/pull/43786, openlibm's sqrt function is incorrectly rounded for i387. IEEE requires correct rounding for these functions and LLVM relies on it. Fix that by setting the precision in the FPU control word (see e.g. e_ceil.S for similar FPU modifications).
2022-01-19 18:43:52 -05:00
Viral B. Shah
81d5e1603a
Add fmod assembly version (#255)
From https://github.com/freebsd/freebsd-src/tree/master/lib/msun/amd64
2021-11-14 22:12:34 -05:00
Viral B. Shah
465ca0a842
Update README.md 2021-11-09 21:32:18 -05:00
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
Viral B. Shah
ed7aea3e2b
Bump version to 0.8 (#248)
Bump the SOVERSION as well since we have some new exports and such.
2021-09-14 12:35:03 -04:00
jeremyd2019
69bb2804da
Another Windows ARM64 fix (#253)
* Another Windows ARM64 fix

include stdint.h to be sure that uint64_t can be used.
This header already had references to uint32_t, so I assumed it was safe to use those typedefs, but a compile error revealed it was not always.

* fix munged whitespace
2021-09-11 08:00:13 -04:00
jeremyd2019
3d4a902f31
Fixes for Windows ARM64 (#251)
* aarch64_fpmath.h: deal with LLP64 (Windows ARM64)

use uint64_t instead of unsigned long, as unsigned long is only 32 bits on Windows

* Make.inc: WINNT aarch64 long double is double

Add to list along with Darwin
2021-09-10 00:09:04 -04: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
Dilum Aluthge
f88e52a89e
CI (Windows): set msys2 {0} as the default shell for all Windows steps (#247) 2021-09-09 19:21:05 -04:00
Dilum Aluthge
b48a2f7019
CI (Linux and macOS): Remove the arch variable, which currently has no effect (#246) 2021-09-09 19:18:40 -04:00
Dilum Aluthge
2a47fa5994
CI: A variety of miscellaneous tweaks (#244) 2021-09-09 19:11:54 -04:00
jeremyd2019
d0ef09a62d
prefix symbols with _ for 32-bit x86 Windows (#242)
In a case that I believe can only be hit for Clang i686-*-windows-gnu (AKA MinGW), symbols in asm need to be prefixed with `_`.  Fixes #237
2021-09-09 19:04:44 -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
Viral B. Shah
6ea5fa2408
Merge pull request #240 from JuliaMath/vs/msys
Update ci.yml for Windows and msys2
2021-09-08 20:57:11 -04:00
Viral B. Shah
437c139718
Update ci.yml 2021-09-08 20:54:41 -04:00
Viral B. Shah
e9932670c3
Update ci.yml 2021-09-08 20:53:52 -04:00
Viral B. Shah
4a36c50b97
Update ci.yml 2021-09-08 20:53:03 -04:00
Viral B. Shah
24cec17953
Update ci.yml 2021-09-08 20:46:41 -04:00
Viral B. Shah
d26ed9871c
Update ci.yml 2021-09-08 20:39:10 -04:00
Viral B. Shah
7b9602507e
Update ci.yml 2021-09-08 20:37:22 -04:00
Viral B. Shah
7af65db469
Update ci.yml 2021-09-08 20:33:38 -04:00
Viral B. Shah
a2e053ee1f Revert "Update ci.yml"
This reverts commit 4a52bb0dcc8730f7b8bf677c402b240b72c3df73.
2021-09-08 20:27:54 -04:00
Viral B. Shah
4a52bb0dcc
Update ci.yml 2021-09-08 20:26:07 -04:00
Viral B. Shah
fb10fcf746
Update ci.yml 2021-09-08 14:35:21 -04:00
Viral B. Shah
abf5aaacaf
Update ci.yml 2021-09-08 14:32:56 -04:00
Viral B. Shah
98dcc48ba5
Update ci.yml 2021-09-08 14:31:01 -04:00
Viral B. Shah
ff822f3e47
Update ci.yml 2021-09-08 14:29:53 -04:00
Viral B. Shah
ab8d1ad003
Update ci.yml 2021-09-08 14:22:34 -04:00
Viral B. Shah
4d97e2d5aa
Update ci.yml 2021-09-08 14:10:07 -04:00
Viral B. Shah
72caeab740
Update ci.yml 2021-09-08 13:49:18 -04:00