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
* 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
* 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
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>
Changes needed for mips suport have been added.
Code for openlibm_fenv_mips.h, mips_fpmath.h and fenv.c
was taken from https://github.com/freebsd/freebsd
* 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.
With this patch I have been able to successfully compile Openlibm on OpenBSD 5.7 (x86_64) using the following command:
gmake GCC=egcc GXX=eg++ USEGCC=1 ARCH=x86_64
(I had to install gcc 4.9 from ports, as Openlibm does not compile with the default compiler shipped with OpenBSD 5.7, which is gcc 4.2.1).