@@ -175,6 +175,14 @@ KNOWN_SETTINGS=(
175
175
swift-runtime-enable-dtrace " 0" " Enable runtime dtrace support"
176
176
swift-runtime-enable-leak-checker " 0" " Enable leaks checking routines in the runtime"
177
177
use-gold-linker " " " Enable using the gold linker"
178
+ darwin-toolchain-bundle-identifier " " " CFBundleIdentifier for xctoolchain info plist"
179
+ darwin-toolchain-display-name " " " Display Name for xctoolcain info plist"
180
+ darwin-toolchain-name " " " Directory name for xctoolchain"
181
+ darwin-toolchain-version " " " Version for xctoolchain info plist and installer pkg"
182
+ darwin-toolchain-application-cert " " " Application Cert name to codesign xctoolchain"
183
+ darwin-toolchain-installer-cert " " " Installer Cert name to create installer pkg"
184
+ darwin-toolchain-installer-package " " " The path to installer pkg"
185
+
178
186
)
179
187
180
188
function toupper() {
@@ -2114,6 +2122,36 @@ if [[ "${INSTALLABLE_PACKAGE}" ]] ; then
2114
2122
echo " --- Copy swift-stdlib-tool ---"
2115
2123
cp " ${SWIFT_SOURCE_DIR} /utils/swift-stdlib-tool-substitute" " ${INSTALL_DESTDIR} /${INSTALL_PREFIX} /bin/swift-stdlib-tool"
2116
2124
fi
2125
+
2126
+ # Create plist for xctoolchain.
2127
+ echo " -- Create Info.plist --"
2128
+ PLISTBUDDY_BIN=" /usr/libexec/PlistBuddy"
2129
+
2130
+ DARWIN_TOOLCHAIN_INSTALL_LOCATION=" /Library/Developer/Toolchains/${DARWIN_TOOLCHAIN_NAME} .xctoolchain"
2131
+ DARWIN_TOOLCHAIN_INFO_PLIST=" ${INSTALL_DESTDIR} /${TOOLCHAIN_PREFIX} /Info.plist"
2132
+ DARWIN_TOOLCHAIN_REPORT_URL=" https://bugs.swift.org/"
2133
+
2134
+ echo " -- Removing: ${DARWIN_TOOLCHAIN_INFO_PLIST} "
2135
+ rm -f ${DARWIN_TOOLCHAIN_INFO_PLIST}
2136
+
2137
+ ${PLISTBUDDY_BIN} -c " Add DisplayName string '${DARWIN_TOOLCHAIN_DISPLAY_NAME} '" " ${DARWIN_TOOLCHAIN_INFO_PLIST} "
2138
+ ${PLISTBUDDY_BIN} -c " Add Version string '${DARWIN_TOOLCHAIN_VERSION} '" " ${DARWIN_TOOLCHAIN_INFO_PLIST} "
2139
+ ${PLISTBUDDY_BIN} -c " Add CFBundleIdentifier string '${DARWIN_TOOLCHAIN_BUNDLE_IDENTIFIER} '" " ${DARWIN_TOOLCHAIN_INFO_PLIST} "
2140
+ ${PLISTBUDDY_BIN} -c " Add ReportProblemURL string '${DARWIN_TOOLCHAIN_REPORT_URL} '" " ${DARWIN_TOOLCHAIN_INFO_PLIST} "
2141
+ ${PLISTBUDDY_BIN} -c " Add OverrideEnvironment::DYLD_LIBRARY_PATH string '${DARWIN_TOOLCHAIN_INSTALL_LOCATION} /usr/lib'" " ${DARWIN_TOOLCHAIN_INFO_PLIST} "
2142
+ chmod a+r " ${DARWIN_TOOLCHAIN_INFO_PLIST} "
2143
+
2144
+ if [[ " ${DARWIN_TOOLCHAIN_APPLICATION_CERT} " ]] ; then
2145
+ echo " -- Codesign xctoolchain --"
2146
+ " ${SWIFT_SOURCE_DIR} /utils/toolchain-codesign" " ${DARWIN_TOOLCHAIN_APPLICATION_CERT} " " ${INSTALL_DESTDIR} /${TOOLCHAIN_PREFIX} "
2147
+ fi
2148
+ if [[ " ${DARWIN_TOOLCHAIN_INSTALLER_PACKAGE} " ]] ; then
2149
+ echo " -- Create Installer --"
2150
+ " ${SWIFT_SOURCE_DIR} /utils/toolchain-installer" " ${INSTALL_DESTDIR} /${TOOLCHAIN_PREFIX} " " ${DARWIN_TOOLCHAIN_BUNDLE_IDENTIFIER} " \
2151
+ " ${DARWIN_TOOLCHAIN_INSTALLER_CERT} " " ${DARWIN_TOOLCHAIN_INSTALLER_PACKAGE} " " ${DARWIN_TOOLCHAIN_INSTALL_LOCATION} " \
2152
+ " ${DARWIN_TOOLCHAIN_VERSION} "
2153
+ fi
2154
+
2117
2155
(cd " ${INSTALL_DESTDIR} " &&
2118
2156
tar -c -z -f " ${INSTALLABLE_PACKAGE} " " ${TOOLCHAIN_PREFIX/# \/ } " )
2119
2157
else
0 commit comments