4 # Skip installing headers during Xcode build (buildit uses installhdrs+install)
5 if [ "$ACTION" == build
]; then exit 0; fi
7 # Installs Libc header files
23 eval $(${SRCROOT}/xcodescripts/generate_features.pl --bash)
24 UNIFDEFARGS
=$(${SRCROOT}/xcodescripts/generate_features.pl --unifdef)
26 INCDIR
=${DSTROOT}/${PUBLIC_HEADERS_FOLDER_PATH}
27 LOCINCDIR
=${DSTROOT}/${PRIVATE_HEADERS_FOLDER_PATH}
28 SYSTEMFRAMEWORK
=${DSTROOT}/${INSTALL_PATH_PREFIX}/System
/Library
/Frameworks
/System.framework
29 KERNELFRAMEWORK
=${DSTROOT}/${INSTALL_PATH_PREFIX}/System
/Library
/Frameworks
/Kernel.framework
31 PRIVHDRS
=${SYSTEMFRAMEWORK}/Versions
/B
/PrivateHeaders
32 PRIVKERNELHDRS
=${KERNELFRAMEWORK}/Versions
/A
/PrivateHeaders
33 INSTALLMODE
=$([[ `id -u` -eq 0 ]] && echo 444 || echo 644)
36 ${SRCROOT}/gen
/get_compat.h
37 ${SRCROOT}/gen
/execinfo.h
121 if [ "x${FEATURE_LEGACY_RUNE_APIS}" == "x1" ]; then
122 INC_INSTHDRS
=( "${INC_INSTHDRS[@]}" rune.h
)
124 if [ "x${FEATURE_LEGACY_UTMP_APIS}" == "x1" ]; then
125 INC_INSTHDRS
=( "${INC_INSTHDRS[@]}" utmp.h
)
129 "${INC_INSTHDRS[@]/#/${SRCROOT}/include/}"
130 ${SRCROOT}/include
/FreeBSD
/nl_types.h
131 ${SRCROOT}/include
/NetBSD
/utmpx.h
132 ${SRCROOT}/stdtime
/FreeBSD
/tzfile.h
134 INSTHDRS
=( "${INSTHDRS[@]}" "${INC_INSTHDRS[@]}" )
136 INC_ARPA_INSTHDRS
=( ftp.h inet.h nameser_compat.h
telnet.h tftp.h
)
137 ARPA_INSTHDRS
=( "${INC_ARPA_INSTHDRS[@]/#/${SRCROOT}/include/arpa/}" )
139 if [ "x${FEATURE_THERM_NOTIFICATION_APIS}" == "x1" ]; then
140 INC_THERM_INSTHDRS
=( OSThermalNotification.h
)
141 THERM_INSTHDRS
=( "${INC_THERM_INSTHDRS[@]/#/${SRCROOT}/include/libkern/}" )
144 INC_PROTO_INSTHDRS
=( routed.h rwhod.h talkd.h timed.h
)
145 PROTO_INSTHDRS
=( "${INC_PROTO_INSTHDRS[@]/#/${SRCROOT}/include/protocols/}" )
147 INC_SECURE_INSTHDRS
=( _common.h _string.h _stdio.h
)
148 SECURE_INSTHDRS
=( "${INC_SECURE_INSTHDRS[@]/#/${SRCROOT}/include/secure/}" )
150 SYS_INSTHDRS
=( ${SRCROOT}/include
/sys
/acl.h
${SRCROOT}/include
/sys
/statvfs.h
)
152 INC_XLOCALE_INSTHDRS
=(
166 XLOCALE_INSTHDRS
=( "${INC_XLOCALE_INSTHDRS[@]/#/${SRCROOT}/include/xlocale/}" )
169 ${SRCROOT}/include
/_types
/_intmax_t.h
170 ${SRCROOT}/include
/_types
/_nl_item.h
171 ${SRCROOT}/include
/_types
/_uint16_t.h
172 ${SRCROOT}/include
/_types
/_uint32_t.h
173 ${SRCROOT}/include
/_types
/_uint64_t.h
174 ${SRCROOT}/include
/_types
/_uint8_t.h
175 ${SRCROOT}/include
/_types
/_uintmax_t.h
176 ${SRCROOT}/include
/_types
/_wctrans_t.h
177 ${SRCROOT}/include
/_types
/_wctype_t.h
181 ${SRCROOT}/darwin
/libc_private.h
182 ${SRCROOT}/gen
/assumes.h
183 ${SRCROOT}/gen
/utmpx_thread.h
184 ${SRCROOT}/nls
/FreeBSD
/msgcat.h
187 OS_LOCALHDRS
=( ${SRCROOT}/os
/assumes.h
${SRCROOT}/os
/debug_private.h
)
190 ${SRCROOT}/stdlib
/FreeBSD
/atexit.h
194 ${SRCROOT}/db
/btree
/FreeBSD
/btree.h
195 ${SRCROOT}/db
/btree
/FreeBSD
/bt_extern.h
199 ${SRCROOT}/include
/sys
/acl.h
200 ${SRCROOT}/include
/sys
/rbtree.h
201 ${SRCROOT}/include
/sys
/statvfs.h
203 PRIVUUID_INSTHDRS
=( ${SRCROOT}/uuid
/namespace.h
)
205 ${MKDIR} ${INCDIR}/arpa
206 ${MKDIR} ${INCDIR}/libkern
207 ${MKDIR} ${INCDIR}/malloc
208 ${MKDIR} ${INCDIR}/protocols
209 ${MKDIR} ${INCDIR}/secure
210 ${MKDIR} ${INCDIR}/sys
211 ${MKDIR} ${INCDIR}/xlocale
212 ${MKDIR} ${INCDIR}/_types
213 ${INSTALL} -m ${INSTALLMODE} ${INSTHDRS[@]} ${INCDIR}
214 ${INSTALL} -m ${INSTALLMODE} ${ARPA_INSTHDRS[@]} ${INCDIR}/arpa
215 if [ "x${FEATURE_MEM_NOTIFICATION_APIS}" == "x1" ]; then
216 ${INSTALL} -m ${INSTALLMODE} ${MEM_INSTHDRS[@]} ${INCDIR}/libkern
218 if [ "x${FEATURE_THERM_NOTIFICATION_APIS}" == "x1" ]; then
219 ${INSTALL} -m ${INSTALLMODE} ${THERM_INSTHDRS[@]} ${INCDIR}/libkern
221 ${INSTALL} -m ${INSTALLMODE} ${PROTO_INSTHDRS[@]} ${INCDIR}/protocols
222 ${INSTALL} -m ${INSTALLMODE} ${SECURE_INSTHDRS[@]} ${INCDIR}/secure
223 ${INSTALL} -m ${INSTALLMODE} ${SYS_INSTHDRS[@]} ${INCDIR}/sys
224 ${INSTALL} -m ${INSTALLMODE} ${XLOCALE_INSTHDRS[@]} ${INCDIR}/xlocale
225 ${INSTALL} -m ${INSTALLMODE} ${TYPES_INSTHDRS[@]} ${INCDIR}/_types
226 ${MKDIR} ${LOCINCDIR}
227 ${MKDIR} ${LOCINCDIR}/os
228 ${INSTALL} -m ${INSTALLMODE} ${LOCALHDRS[@]} ${LOCINCDIR}
229 ${INSTALL} -m ${INSTALLMODE} ${OS_LOCALHDRS[@]} ${LOCINCDIR}/os
230 ${MKDIR} ${PRIVHDRS}/btree
231 ${MKDIR} ${PRIVHDRS}/machine
232 ${MKDIR} ${PRIVHDRS}/uuid
233 ${MKDIR} ${PRIVHDRS}/sys
234 ${MKDIR} ${PRIVKERNELHDRS}/uuid
235 ${INSTALL} -m ${INSTALLMODE} ${PRIV_INSTHDRS[@]} ${PRIVHDRS}
236 ${INSTALL} -m ${INSTALLMODE} ${PRIV_BTREEHDRS[@]} ${PRIVHDRS}/btree
237 ${MV} ${INCDIR}/asm.h
${PRIVHDRS}/machine
238 ${INSTALL} -m ${INSTALLMODE} ${SYS_INSTHDRS[@]} ${PRIVHDRS}/sys
239 ${INSTALL} -m ${INSTALLMODE} ${PRIVUUID_INSTHDRS[@]} ${PRIVHDRS}/uuid
240 ${INSTALL} -m ${INSTALLMODE} ${PRIVUUID_INSTHDRS[@]} ${PRIVKERNELHDRS}/uuid
242 for i
in `${FIND} "${DSTROOT}" -name \*.h -print0 | ${XARGS} -0 ${GREP} -l '^//Begin-Libc'`; do
244 ${ECHO} ${ED} - $i \
< ${SRCROOT}/xcodescripts
/strip
-header.ed
&&
245 ${ED} - $i < ${SRCROOT}/xcodescripts
/strip
-header.ed
&&
246 ${CHMOD} u
-w $i || exit 1;
248 for i
in `${FIND} "${DSTROOT}" -name \*.h -print0 | ${XARGS} -0 ${FGREP} -l -e UNIFDEF -e OPEN_SOURCE`; do
251 ${ECHO} ${UNIFDEF} ${UNIFDEFARGS} $i.orig \
> $i &&
252 { ${UNIFDEF} ${UNIFDEFARGS} $i.orig
> $i || [ $?
-ne 2 ]; } &&
254 ${CHMOD} u
-w $i || exit 1;