xref: /haiku/src/system/libroot/posix/glibc/arch/ppc/Jamfile (revision 7d6915b4d08ffe728cd38af02843d5e98ddfe0db)
1SubDir HAIKU_TOP src system libroot posix glibc arch ppc ;
2
3SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch ppc ;
4SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch generic ;
5SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ;
6SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc stdlib ;
7SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc math ;
8SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc libio ;
9SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ;
10
11SubDirHdrs $(HAIKU_TOP) src system libroot posix glibc arch generic ;
12
13UsePrivateHeaders libroot ;
14
15
16if $(OPTIM) = -O0 {
17	OPTIM = -O ;
18}
19
20# don't compile with debugging
21DEBUG = 0 ;
22
23SubDirCcFlags -D_GNU_SOURCE -D_IEEE_LIBM ;
24
25# Note: There is no *l() support yet. Our compiler says sizeof(long double) = 8,
26# while there are only 96 and 128 bit implementation in glibc.
27local genericSources =
28	branred.c
29	cmp.c dbl2mpn.c divrem.c
30	doasin.c dosincos.c
31	halfulp.c
32	memrchr.c
33	mpa.c mpatan.c mpatan2.c mpexp.c mplog.c mpn2dbl.c
34	mpn2flt.c mpn2ldbl.c mpsqrt.c mptan.c
35	mul.c mul_n.c
36	sincos32.c
37	slowexp.c
38	slowpow.c
39
40	e_acos.c e_acosf.c # e_acosl.c
41	e_acosh.c e_acoshf.c # e_acoshl.c
42	e_asin.c e_asinf.c # e_asinl.c
43	e_atan2.c e_atan2f.c # e_atan2l.c
44	e_atanh.c e_atanhf.c # e_atanhl.c
45	e_cosh.c e_coshf.c # e_coshl.c
46	e_exp.c e_expf.c
47	e_fmod.c e_fmodf.c # e_fmodl.c
48	e_gamma_r.c e_gammaf_r.c
49	e_hypot.c e_hypotf.c # e_hypotl.c
50	e_j0.c e_j0f.c
51	e_j1.c e_j1f.c
52	e_jn.c e_jnf.c
53	e_lgamma_r.c e_lgammaf_r.c
54	e_log.c e_logf.c
55	e_log10.c e_log10f.c
56	e_pow.c e_powf.c # e_powl.c
57	e_rem_pio2f.c
58	e_remainder.c e_remainderf.c # e_remainderl.c
59	e_scalb.c e_scalbf.c # e_scalbl.c
60	e_sinh.c e_sinhf.c # e_sinhl.c
61	k_cos.c k_cosf.c
62	k_sin.c k_sinf.c
63	k_rem_pio2.c k_rem_pio2f.c # k_rem_pio2l.c
64	k_tan.c k_tanf.c
65	s_asinh.c s_asinhf.c # s_asinhl.c
66	s_atan.c s_atanf.c # s_atanl.c
67	s_cbrt.c s_cbrtf.c # s_cbrtl.c
68	s_ceil.c s_ceilf.c # s_ceill.c
69	s_cos.c s_cosf.c
70	s_erf.c s_erff.c # s_erfl.c
71	s_expm1f.c s_expm1.c
72	s_finite.c s_finitef.c # s_finitel.c
73	s_floor.c s_floorf.c # s_floorl.c
74	s_fma.c s_fmaf.c # s_fmal.c
75	s_fpclassify.c s_fpclassifyf.c # s_fpclassifyl.c
76	s_frexp.c s_frexpf.c # s_frexpl.c
77	s_ilogb.c s_ilogbf.c
78	s_isinf.c s_isinff.c # s_isinfl.c
79	s_ldexp.c s_ldexpf.c # s_ldexpl.c
80	s_llrint.c s_llrintf.c # s_llrintl.c
81	s_log1p.c s_log1pf.c
82	s_logb.c s_logbf.c # s_logbl.c
83	s_lrint.c s_lrintf.c # s_lrintl.c
84	s_lround.c s_lroundf.c
85	s_modf.c s_modff.c # s_modfl.c
86	s_nan.c s_nanf.c # s_nanl.c
87	# s_nexttoward.c s_nexttowardf.c s_nexttowardl.c
88	s_round.c s_roundf.c # s_roundl.c
89	s_scalbn.c s_scalbnf.c # s_scalbnl.c
90	s_signbit.c s_signbitf.c # s_signbitl.c
91	s_significand.c s_significandf.c
92	s_signgam.c
93	s_sin.c s_sinf.c # s_sinl.c
94	s_sincos.c s_sincosf.c
95	s_tan.c s_tanf.c
96	s_tanh.c s_tanhf.c
97	s_trunc.c s_truncf.c
98	t_exp.c
99	w_acos.c w_acosf.c # w_acosl.c
100	w_acosh.c w_acoshf.c # w_acoshl.c
101	w_atan2.c w_atan2f.c # w_atan2l.c
102	w_asin.c w_asinf.c # w_asinl.c
103	w_atanh.c w_atanhf.c # w_atanhl.c
104	w_cosh.c w_coshf.c # w_coshl.c
105	w_drem.c w_dremf.c # w_dreml.c
106	w_exp.c w_expf.c # w_expl.c
107	w_fmod.c w_fmodf.c # w_fmodl.c
108	w_hypot.c w_hypotf.c # w_hypotl.c
109	w_j0.c w_j0f.c
110	w_j1.c w_j1f.c
111	w_jn.c w_jnf.c
112	w_lgamma.c w_lgammaf.c
113	w_lgamma_r.c w_lgammaf_r.c
114	w_log.c w_logf.c # w_logl.c
115	w_log10.c w_log10f.c # w_log10l.c
116	w_pow.c w_powf.c # w_powl.c
117	w_remainder.c w_remainderf.c # w_remainderl.c
118	w_scalb.c w_scalbf.c # w_scalbl.c
119	w_sinh.c w_sinhf.c # w_sinhl.c
120	w_tgamma.c w_tgammaf.c # w_tgammal.c
121	;
122
123local architectureObject ;
124for architectureObject in [ MultiArchSubDirSetup ppc ] {
125	on $(architectureObject) {
126		local architecture = $(TARGET_PACKAGING_ARCH) ;
127
128		MergeObject <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_generic.o :
129			$(genericSources)
130			;
131
132		MergeObject <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_other.o :
133			add_n.S
134			addmul_1.S
135			feholdexcpt.c fraiseexcpt.c fesetenv.c fesetround.c ftestexcept.c
136			ldbl2mpn.c
137			lshift.S rshift.S
138			mul_1.S
139			sub_n.S
140			submul_1.S
141
142			e_sqrt.c e_sqrtf.c # e_sqrtl.c
143			s_copysign.S s_copysignf.S # s_copysignl.S
144			s_fabs.S s_fabsf.S # s_fabsl.S
145			s_fdim.c s_fdimf.c # s_fdiml.S
146			s_fmax.S s_fmaxf.S # s_fmaxl.S
147			s_fmin.S s_fminf.S # s_fminl.S
148			s_isnan.c s_isnanf.S
149			s_rint.c s_rintf.c # s_rintl.c
150			t_sqrt.c
151			w_sqrt.c w_sqrtf.c # w_sqrtl.c
152			;
153
154		MergeObjectFromObjects <$(architecture)>posix_gnu_arch_$(TARGET_ARCH).o
155			: :
156			<$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_generic.o
157			<$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_other.o
158			;
159
160		SEARCH on [ FGristFiles $(genericSources) ]
161			= [ FDirName $(HAIKU_TOP) src system libroot posix glibc arch
162				generic ] ;
163	}
164}
165