]> git.saurik.com Git - apple/libc.git/blob - Makefile.features
Libc-498.1.5.tar.gz
[apple/libc.git] / Makefile.features
1 .include "Platforms/${RC_TARGET_CONFIG}/Makefile.inc"
2
3 ${SYMROOTINC}/${MACHINE_ARCH}/libc-features.h:
4 mkdir -p ${.TARGET:H}
5 echo creating ${.TARGET}
6 @echo '#ifndef _LIBC_FEATURES_H_' > ${.TARGET}
7 @echo '#define _LIBC_FEATURES_H_' >> ${.TARGET}
8 @echo >> ${.TARGET}
9 .ifdef FEATURE_LEGACY_RUNE_APIS
10 @echo '#define LEGACY_RUNE_APIS 1' >> ${.TARGET}
11 .else
12 @echo '/* #undef LEGACY_RUNE_APIS */' >> ${.TARGET}
13 .endif
14 .ifdef FEATURE_LEGACY_UTMP_APIS
15 @echo '#define LEGACY_UTMP_APIS 1' >> ${.TARGET}
16 .else
17 @echo '/* #undef LEGACY_UTMP_APIS */' >> ${.TARGET}
18 .endif
19 .ifdef FEATURE_MOVE_LOCALTIME
20 @echo '#define UNIFDEF_MOVE_LOCALTIME 1' >> ${.TARGET}
21 .else
22 @echo '/* #undef UNIFDEF_MOVE_LOCALTIME */' >> ${.TARGET}
23 .endif
24 .ifdef FEATURE_ONLY_LONG_DOUBLE_IS_DOUBLE
25 @echo '#if !__DARWIN_LONG_DOUBLE_IS_DOUBLE' >> ${.TARGET}
26 @echo '# error Feature mismatch: __DARWIN_LONG_DOUBLE_IS_DOUBLE == 0' >> ${.TARGET}
27 @echo '#endif /* !__DARWIN_LONG_DOUBLE_IS_DOUBLE */' >> ${.TARGET}
28 @echo '#define LDBL_COMPAT 1' >> ${.TARGET}
29 .else
30 @echo '#if __DARWIN_LONG_DOUBLE_IS_DOUBLE' >> ${.TARGET}
31 @echo '# if !defined(LDBL_COMPAT)' >> ${.TARGET}
32 @echo '# error Feature mismatch: __DARWIN_LONG_DOUBLE_IS_DOUBLE == 1' >> ${.TARGET}
33 @echo '# endif /* !LDBL_COMPAT */' >> ${.TARGET}
34 @echo '#elif defined(LDBL_COMPAT)' >> ${.TARGET}
35 @echo '# error Feature mismatch: __DARWIN_LONG_DOUBLE_IS_DOUBLE == 0' >> ${.TARGET}
36 @echo '#endif /* LDBL_COMPAT */' >> ${.TARGET}
37 .endif
38 .ifdef FEATURE_ONLY_1050_VARIANTS
39 @echo '#if !__DARWIN_ONLY_VERS_1050' >> ${.TARGET}
40 @echo '# error Feature mismatch: __DARWIN_ONLY_VERS_1050 == 0' >> ${.TARGET}
41 @echo '#endif /* !__DARWIN_ONLY_VERS_1050 */' >> ${.TARGET}
42 .else
43 @echo '#if __DARWIN_ONLY_VERS_1050' >> ${.TARGET}
44 @echo '# error Feature mismatch: __DARWIN_ONLY_VERS_1050 == 1' >> ${.TARGET}
45 @echo '#endif /* __DARWIN_ONLY_VERS_1050 */' >> ${.TARGET}
46 .endif
47 .ifdef FEATURE_ONLY_UNIX_CONFORMANCE
48 @echo '#if !__DARWIN_ONLY_UNIX_CONFORMANCE' >> ${.TARGET}
49 @echo '# error Feature mismatch: __DARWIN_ONLY_UNIX_CONFORMANCE == 0' >> ${.TARGET}
50 @echo '#endif /* !__DARWIN_ONLY_UNIX_CONFORMANCE */' >> ${.TARGET}
51 .else
52 @echo '#if __DARWIN_ONLY_UNIX_CONFORMANCE' >> ${.TARGET}
53 @echo '# error Feature mismatch: __DARWIN_ONLY_UNIX_CONFORMANCE == 1' >> ${.TARGET}
54 @echo '#endif /* __DARWIN_ONLY_UNIX_CONFORMANCE */' >> ${.TARGET}
55 .endif
56 .ifdef FEATURE_ONLY_64_BIT_INO_T
57 @echo '#if !__DARWIN_ONLY_64_BIT_INO_T' >> ${.TARGET}
58 @echo '# error Feature mismatch: __DARWIN_ONLY_64_BIT_INO_T == 0' >> ${.TARGET}
59 @echo '#endif /* !__DARWIN_ONLY_64_BIT_INO_T */' >> ${.TARGET}
60 .else
61 @echo '#if __DARWIN_ONLY_64_BIT_INO_T' >> ${.TARGET}
62 @echo '# error Feature mismatch: __DARWIN_ONLY_64_BIT_INO_T == 1' >> ${.TARGET}
63 @echo '#endif /* __DARWIN_ONLY_64_BIT_INO_T */' >> ${.TARGET}
64 .endif
65 .ifdef FEATURE_PATCH_3375657
66 @echo '#define __APPLE_PR3375657_HACK__ 1' >> ${.TARGET}
67 .else
68 @echo '/* #undef __APPLE_PR3375657_HACK__ */' >> ${.TARGET}
69 .endif
70 .ifdef FEATURE_PATCH_3417676
71 @echo '#define __APPLE_PR3417676_HACK__ 1' >> ${.TARGET}
72 .else
73 @echo '/* #undef __APPLE_PR3417676_HACK__ */' >> ${.TARGET}
74 .endif
75 .ifdef FEATURE_PATCH_5243343
76 @echo '#define PR_5243343 1' >> ${.TARGET}
77 .else
78 @echo '/* #undef PR_5243343 */' >> ${.TARGET}
79 .endif
80 .ifdef FEATURE_PLOCKSTAT
81 @echo '#define PLOCKSTAT 1' >> ${.TARGET}
82 .else
83 @echo '/* #undef PLOCKSTAT */' >> ${.TARGET}
84 .endif
85 .ifdef FEATURE_TIMEZONE_CHANGE_NOTIFICATION
86 @echo '#define NOTIFY_TZ 1' >> ${.TARGET}
87 .else
88 @echo '/* #undef NOTIFY_TZ */' >> ${.TARGET}
89 .endif
90 @echo >> ${.TARGET}
91 @echo '#endif /* _LIBC_FEATURES_H_ */' >> ${.TARGET}
92
93 .ifdef FEATURE_LEGACY_64_APIS
94 UNIFDEFARGS += -DUNIFDEF_LEGACY_64_APIS
95 .else
96 UNIFDEFARGS += -UUNIFDEF_LEGACY_64_APIS
97 .endif
98 .ifdef FEATURE_LEGACY_RUNE_APIS
99 UNIFDEFARGS += -DUNIFDEF_LEGACY_RUNE_APIS
100 .else
101 UNIFDEFARGS += -UUNIFDEF_LEGACY_RUNE_APIS
102 .endif
103 .ifdef FEATURE_LEGACY_UTMP_APIS
104 UNIFDEFARGS += -DUNIFDEF_LEGACY_UTMP_APIS
105 .else
106 UNIFDEFARGS += -UUNIFDEF_LEGACY_UTMP_APIS
107 .endif
108 .ifdef FEATURE_MOVE_LOCALTIME
109 UNIFDEFARGS += -DUNIFDEF_MOVE_LOCALTIME
110 .else
111 UNIFDEFARGS += -UUNIFDEF_MOVE_LOCALTIME
112 .endif