xref: /haiku/src/system/libroot/posix/glibc/math/Jamfile (revision 17889a8c70dbb3d59c1412f6431968753c767bab)
1SubDir HAIKU_TOP src system libroot posix glibc math ;
2
3SubDirCcFlags -D_GNU_SOURCE -DUSE_IN_LIBIO ;
4
5local architectureObject ;
6for architectureObject in [ MultiArchSubDirSetup ] {
7	on $(architectureObject) {
8		local architecture = $(TARGET_PACKAGING_ARCH) ;
9
10		SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch
11			$(TARGET_ARCH) ;
12		SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch
13			generic ;
14		SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ;
15		SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc math ;
16		SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ;
17
18		UsePrivateHeaders libroot ;
19
20		# ppc, m68k and arm use regular doubles as long doubles (through
21		# aliases), so they must be built without these files.
22		# FIXME: ppc should use ldbl-128ibm, and m68k should probably use
23		# ldbl-96 as for x86.
24		local longDoubleObjects ;
25		switch $(architecture) {
26			case ppc : longDoubleObjects = ;
27			case m68k : longDoubleObjects = ;
28			case arm : longDoubleObjects = ;
29			case * : longDoubleObjects = cabsl.c cargl.c cimagl.c conjl.c creall.c k_casinhl.c ;
30		}
31
32		MergeObject <$(architecture)>posix_gnu_math.o :
33			cabs.c cabsf.c
34			carg.c cargf.c
35			cimag.c cimagf.c
36			conj.c conjf.c
37			creal.c crealf.c
38
39			k_casinh.c k_casinhf.c
40
41			$(longDoubleObjects)
42			;
43	}
44}
45