1SubDir HAIKU_TOP src system libroot posix musl math x86_64 ;
2
3SubDirCcFlags -Wno-unused-but-set-variable ;
4
5SubDirSysHdrs [ FDirName $(SUBDIR) .. .. include ] ;
6UseHeaders [ FDirName $(SUBDIR) .. .. internal ] ;
7UseHeaders [ FDirName $(SUBDIR) .. .. arch generic ] ;
8
9local generics =
10	acos.c acosf.c acosh.c acoshf.c acoshl.c asin.c asinf.c
11	asinh.c asinhf.c asinhl.c atan2.c atan2f.c atan.c
12	atanf.c atanh.c atanhf.c atanhl.c
13	cbrt.c cbrtf.c cbrtl.c ceil.c ceilf.c copysign.c copysignf.c
14	copysignl.c __cos.c cos.c __cosdf.c cosf.c cosh.c coshf.c coshl.c
15	__cosl.c cosl.c erf.c erff.c erfl.c exp10.c exp10f.c exp10l.c exp2.c
16	exp2f.c exp2f_data.c exp.c exp_data.c expf.c expm1.c
17	expm1f.c __expo2.c __expo2f.c
18	fdim.c fdimf.c fdiml.c finite.c finitef.c
19	floor.c floorf.c fmal.c fmax.c fmaxf.c fmaxl.c
20	fmin.c fminf.c fminl.c fmod.c fmodf.c __fpclassify.c
21	__fpclassifyf.c __fpclassifyl.c frexp.c frexpf.c frexpl.c
22	hypot.c hypotf.c hypotl.c
23	ilogb.c ilogbf.c ilogbl.c
24	j0.c j0f.c j1.c j1f.c jn.c jnf.c
25	ldexp.c ldexpf.c ldexpl.c lgamma.c lgammaf.c lgammaf_r.c lgammal.c
26	lgamma_r.c llround.c llroundf.c
27	llroundl.c log10.c log10f.c log1p.c log1pf.c log2.c
28	log2_data.c log2f.c log2f_data.c logb.c logbf.c logbl.c log.c
29	log_data.c logf.c logf_data.c
30	lround.c lroundf.c lroundl.c
31	__math_divzero.c __math_divzerof.c __math_invalid.c __math_invalidf.c
32	__math_oflow.c __math_oflowf.c __math_uflow.c __math_uflowf.c
33	__math_xflow.c __math_xflowf.c modf.c modff.c modfl.c
34	nan.c nanf.c nanl.c nearbyint.c nearbyintf.c nearbyintl.c nextafter.c
35	nextafterf.c nextafterl.c nexttoward.c nexttowardf.c nexttowardl.c
36	__polevll.c pow.c pow_data.c powf.c powf_data.c powl.c
37	remainder.c remainderf.c __rem_pio2.c __rem_pio2f.c
38	__rem_pio2_large.c __rem_pio2l.c remquo.c remquof.c remquol.c rint.c
39	rintf.c round.c roundf.c roundl.c
40	scalb.c scalbf.c scalbln.c scalblnf.c scalblnl.c scalbn.c scalbnf.c
41	scalbnl.c __signbit.c __signbitf.c __signbitl.c signgam.c
42	significand.c significandf.c __sin.c sin.c sincos.c sincosf.c
43	sincosl.c __sindf.c sinf.c sinh.c sinhf.c sinhl.c __sinl.c sinl.c
44	__tan.c tan.c __tandf.c tanf.c tanh.c tanhf.c tanhl.c __tanl.c
45	tanl.c tgamma.c tgammaf.c tgammal.c trunc.c truncf.c
46	;
47
48local architectureObject ;
49for architectureObject in [ MultiArchSubDirSetup x86_64 ] {
50	on $(architectureObject) {
51		local architecture = $(TARGET_PACKAGING_ARCH) ;
52
53		UseHeaders [ FDirName $(SUBDIR) .. .. arch $(architecture) ] ;
54
55		MergeObject <$(architecture)>posix_musl_math.o :
56			acosl.s asinl.s atan2l.s atanl.s
57			ceill.s
58			exp2l.s expl.s expm1l.s
59			fabsf.s fabsl.s fabs.s floorl.s fmodl.s
60			__invtrigl.s
61			llrintf.s llrintl.s llrint.s
62			log10l.s log1pl.s log2l.s logl.s lrintf.s lrintl.s lrint.s
63			remainderl.s rintl.s
64			sqrtf.s sqrtl.s sqrt.s
65			truncl.s
66
67			fma.c
68			fmaf.c
69
70			$(generics)
71			;
72
73		SEARCH on [ FGristFiles $(generics) ] = [ FDirName $(SUBDIR) .. ] ;
74	}
75}
76