mirror of
https://git.planet-casio.com/Lephenixnoir/OpenLibm.git
synced 2024-12-29 13:03:42 +01:00
OpenLIBM builds on linux.
Disable -std=c99 on linux for now, as gcc does freaks out in math_private.h on the definition of IEEE_WORD_ORDER, and defines ieee_double_shape_type twice. Disable building s_cbrtl.c for the time being as it requires ieeefp.h
This commit is contained in:
parent
6e43adff39
commit
7129663350
4 changed files with 37 additions and 12 deletions
3
Make.inc
3
Make.inc
|
@ -1,5 +1,5 @@
|
||||||
CC=gcc
|
CC=gcc
|
||||||
CFLAGS=-std=c99 -O2 -fPIC -I. -I../include -I../ld128 -I../src -D__BSD_VISIBLE -Wno-implicit-function-declaration
|
CFLAGS=-O2 -fPIC -I. -I../include -I../ld128 -I../src -D__BSD_VISIBLE -Wno-implicit-function-declaration
|
||||||
|
|
||||||
default: all
|
default: all
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@ endif
|
||||||
|
|
||||||
ifeq ($(OS), Darwin)
|
ifeq ($(OS), Darwin)
|
||||||
SHLIB_EXT = dylib
|
SHLIB_EXT = dylib
|
||||||
|
CFLAGS+=-std=c99
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Colors for make
|
# Colors for make
|
||||||
|
|
|
@ -39,12 +39,13 @@ SRCS+= s_copysignl.o s_fabsl.o s_llrintl.o s_lrintl.o s_modfl.o
|
||||||
# If long double != double use these; otherwise, we alias the double versions.
|
# If long double != double use these; otherwise, we alias the double versions.
|
||||||
SRCS+= e_acosl.o e_asinl.o e_atan2l.o e_fmodl.o \
|
SRCS+= e_acosl.o e_asinl.o e_atan2l.o e_fmodl.o \
|
||||||
e_hypotl.o e_remainderl.o e_sqrtl.o \
|
e_hypotl.o e_remainderl.o e_sqrtl.o \
|
||||||
s_atanl.o s_cbrtl.o s_ceill.o s_cosl.o s_cprojl.o \
|
s_atanl.o s_ceill.o s_cosl.o s_cprojl.o \
|
||||||
s_csqrtl.o s_floorl.o s_fmal.o \
|
s_csqrtl.o s_floorl.o s_fmal.o \
|
||||||
s_frexpl.o s_logbl.o s_nexttoward.o \
|
s_frexpl.o s_logbl.o s_nexttoward.o \
|
||||||
s_remquol.o \
|
s_remquol.o \
|
||||||
s_sinl.o s_tanl.o s_truncl.o w_cabsl.o \
|
s_sinl.o s_tanl.o s_truncl.o w_cabsl.o \
|
||||||
s_nextafterl.o s_rintl.o s_scalbnl.o
|
s_nextafterl.o s_rintl.o s_scalbnl.o
|
||||||
|
# s_cbrtl.o
|
||||||
|
|
||||||
# C99 complex functions
|
# C99 complex functions
|
||||||
SRCS+= s_ccosh.o s_ccoshf.o s_cexp.o s_cexpf.o \
|
SRCS+= s_ccosh.o s_ccoshf.o s_cexp.o s_cexpf.o \
|
||||||
|
|
|
@ -18,7 +18,30 @@
|
||||||
#define _MATH_PRIVATE_H_
|
#define _MATH_PRIVATE_H_
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#ifdef __APPLE__
|
||||||
#include <machine/endian.h>
|
#include <machine/endian.h>
|
||||||
|
#ifdef __arm__
|
||||||
|
#if defined(__VFP_FP__)
|
||||||
|
#define IEEE_WORD_ORDER BYTE_ORDER
|
||||||
|
#else
|
||||||
|
#define IEEE_WORD_ORDER BIG_ENDIAN
|
||||||
|
#endif
|
||||||
|
#else /* __arm__ */
|
||||||
|
#define IEEE_WORD_ORDER BYTE_ORDER
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __linux__
|
||||||
|
#include <endian.h>
|
||||||
|
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||||
|
#define IEEE_WORD_ORDER LITTLE_ENDIAN
|
||||||
|
#endif
|
||||||
|
#if __BYTE_ORDER == __BIG_ENDIAN
|
||||||
|
#define IEEE_WORD_ORDER BIG_ENDIAN
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <complex.h>
|
#include <complex.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -39,16 +62,6 @@
|
||||||
* ints.
|
* ints.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __arm__
|
|
||||||
#if defined(__VFP_FP__)
|
|
||||||
#define IEEE_WORD_ORDER BYTE_ORDER
|
|
||||||
#else
|
|
||||||
#define IEEE_WORD_ORDER BIG_ENDIAN
|
|
||||||
#endif
|
|
||||||
#else /* __arm__ */
|
|
||||||
#define IEEE_WORD_ORDER BYTE_ORDER
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if IEEE_WORD_ORDER == BIG_ENDIAN
|
#if IEEE_WORD_ORDER == BIG_ENDIAN
|
||||||
|
|
||||||
typedef union
|
typedef union
|
||||||
|
|
|
@ -18,8 +18,18 @@
|
||||||
#define _MATH_H_
|
#define _MATH_H_
|
||||||
|
|
||||||
#include <sys/cdefs.h>
|
#include <sys/cdefs.h>
|
||||||
|
#ifdef __APPLE__
|
||||||
#include <sys/_types.h>
|
#include <sys/_types.h>
|
||||||
#include <machine/_limits.h>
|
#include <machine/_limits.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __linux__
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <limits.h>
|
||||||
|
#define __pure2
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ANSI/POSIX
|
* ANSI/POSIX
|
||||||
|
|
Loading…
Reference in a new issue