--- /dev/null
+#!/bin/sh
+
+if [ -z "${INSTALL_DIR}" -o -z "${PRIVATE_HEADERS_FOLDER_PATH}" ]; then
+ echo "Cannot update headers, missing ENV vars"
+ exit 1
+fi
+
+SPI_BASE="${INSTALL_DIR}/${PRIVATE_HEADERS_FOLDER_PATH}"
+
+for H in \
+ DHCPClientPreferences.h \
+ SCDynamicStore.h \
+ SCDynamicStoreCopyDHCPInfo.h \
+ SCDynamicStoreCopySpecific.h \
+ SCDynamicStoreKey.h \
+ SCNetworkConfiguration.h \
+ SCNetworkConnection.h \
+ SCPreferences.h \
+ SCPreferencesPath.h \
+ SCPreferencesSetSpecific.h \
+ SCSchemaDefinitions.h \
+ SystemConfiguration.h \
+
+do
+ HACK=$(echo "_DO_NOT_INCLUDE_${H}" | tr '[:lower:]' '[:upper:]' | sed -e 's/\./_/')
+ cat <<_END_OF_INPUT > "${SPI_BASE}/_${H}"
+#ifndef ${HACK}
+#define ${HACK}
+
+/*
+ * WARNING WARNING WARNING WARNING WARNING
+ *
+ * This is a PRIVATE/INTERNAL header file that is on the to-be-removed soon
+ * list. Please update your project to use :
+ * #include <SystemConfiguration/${H}>
+ * or :
+ * #include <SystemConfiguration/SystemConfiguration.h>
+ *
+ * WARNING WARNING WARNING WARNING WARNING
+ */
+#ifndef NO_TAPI_WARNINGS
+#warning "Please #include <SystemConfiguration/${H}>, NOT <SystemConfiguration/_${H}>. See rdar://41937689 for details"
+#endif // NO_TAPI_WARNINGS
+
+#endif // ${HACK}
+
+#include <SystemConfiguration/${H}>
+_END_OF_INPUT
+done
+
+exit