@@ -6,16 +6,16 @@ TOOLCHAIN_NAME_BASE="%toolchain_name_base%"
6
6
TOOLCHAIN_DIR=" %toolchain_dir%"
7
7
XCODE_VERSION=" %xcode_version%"
8
8
9
- # Store the list of tools that will be overridden
10
- TOOL_NAMES_FILE=$( mktemp)
11
- echo " %tool_names_list%" > " $TOOL_NAMES_FILE "
12
-
13
9
# Get Xcode version and default toolchain path
14
10
DEFAULT_TOOLCHAIN=$( xcrun --find clang | sed ' s|/usr/bin/clang$||' )
15
11
XCODE_RAW_VERSION=$( xcodebuild -version | head -n 1)
16
12
17
- # Define toolchain names for reference only
13
+ TOOL_NAMES_FILE=$( mktemp)
14
+ echo " %tool_names_list%" > " $TOOL_NAMES_FILE "
15
+
18
16
HOME_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 "
19
19
20
20
mkdir -p " $TOOLCHAIN_DIR "
21
21
@@ -34,7 +34,6 @@ find "$DEFAULT_TOOLCHAIN" -type f -o -type l | while read -r file; do
34
34
for tool_name in $( cat " $TOOL_NAMES_FILE " ) ; do
35
35
if [[ " $base_name " == " $tool_name " ]]; then
36
36
# Skip creating a symlink for overridden tools
37
- echo " Skipping symlink for tool to be overridden: $base_name "
38
37
should_skip=1
39
38
break
40
39
fi
@@ -79,5 +78,8 @@ cat > "$TOOLCHAIN_DIR/ToolchainInfo.plist" << EOF
79
78
</plist>
80
79
EOF
81
80
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