@@ -6,16 +6,16 @@ TOOLCHAIN_NAME_BASE="%toolchain_name_base%"
66TOOLCHAIN_DIR=" %toolchain_dir%"
77XCODE_VERSION=" %xcode_version%"
88
9- # Store the list of tools that will be overridden
10- TOOL_NAMES_FILE=$( mktemp)
11- echo " %tool_names_list%" > " $TOOL_NAMES_FILE "
12-
139# Get Xcode version and default toolchain path
1410DEFAULT_TOOLCHAIN=$( xcrun --find clang | sed ' s|/usr/bin/clang$||' )
1511XCODE_RAW_VERSION=$( xcodebuild -version | head -n 1)
1612
17- # Define toolchain names for reference only
13+ TOOL_NAMES_FILE=$( mktemp)
14+ echo " %tool_names_list%" > " $TOOL_NAMES_FILE "
15+
1816HOME_TOOLCHAIN_NAME=" BazelRulesXcodeProj${XCODE_VERSION} "
17+ USER_TOOLCHAIN_PATH=" /Users/$( id -un) /Library/Developer/Toolchains/${HOME_TOOLCHAIN_NAME} .xctoolchain"
18+ BUILT_TOOLCHAIN_PATH=" $PWD /$TOOLCHAIN_DIR "
1919
2020mkdir -p " $TOOLCHAIN_DIR "
2121
@@ -34,7 +34,6 @@ find "$DEFAULT_TOOLCHAIN" -type f -o -type l | while read -r file; do
3434 for tool_name in $( cat " $TOOL_NAMES_FILE " ) ; do
3535 if [[ " $base_name " == " $tool_name " ]]; then
3636 # Skip creating a symlink for overridden tools
37- echo " Skipping symlink for tool to be overridden: $base_name "
3837 should_skip=1
3938 break
4039 fi
@@ -79,5 +78,8 @@ cat > "$TOOLCHAIN_DIR/ToolchainInfo.plist" << EOF
7978</plist>
8079EOF
8180
82- # Clean up
83- rm -f " $TOOL_NAMES_FILE "
81+ mkdir -p " $( dirname " $USER_TOOLCHAIN_PATH " ) "
82+ if [[ -e " $USER_TOOLCHAIN_PATH " || -L " $USER_TOOLCHAIN_PATH " ]]; then
83+ rm -rf " $USER_TOOLCHAIN_PATH "
84+ fi
85+ ln -sf " $BUILT_TOOLCHAIN_PATH " " $USER_TOOLCHAIN_PATH "
0 commit comments