|
81 | 81 | fi |
82 | 82 |
|
83 | 83 | cd llvm-project/compiler-rt |
84 | | -# Use a staging directory in case parts of the resource dir are immutable |
85 | | -WORKDIR=$(mktemp -d); trap "rm -rf $WORKDIR" 0 |
| 84 | + |
| 85 | +INSTALL_PREFIX="$CLANG_RESOURCE_DIR" |
| 86 | + |
| 87 | +if [ -h "$CLANG_RESOURCE_DIR/include" ]; then |
| 88 | + # Symlink to system headers; use a staging directory in case parts |
| 89 | + # of the resource dir are immutable |
| 90 | + WORKDIR="$(mktemp -d)"; trap "rm -rf $WORKDIR" 0 |
| 91 | + INSTALL_PREFIX="$WORKDIR/install" |
| 92 | +fi |
| 93 | + |
86 | 94 |
|
87 | 95 | for arch in $ARCHS; do |
88 | 96 | if [ -n "$SANITIZERS" ]; then |
@@ -125,23 +133,24 @@ for arch in $ARCHS; do |
125 | 133 | -DCMAKE_CXX_FLAGS_INIT="$CFGUARD_CFLAGS" \ |
126 | 134 | $SRC_DIR |
127 | 135 | cmake --build . ${CORES:+-j${CORES}} |
128 | | - cmake --install . --prefix "${WORKDIR}/install" |
| 136 | + cmake --install . --prefix "$INSTALL_PREFIX" |
129 | 137 | mkdir -p "$PREFIX/$arch-w64-mingw32/bin" |
130 | 138 | if [ -n "$SANITIZERS" ]; then |
131 | | - mv "${WORKDIR}/install/lib/windows/"*.dll "$PREFIX/$arch-w64-mingw32/bin" |
| 139 | + mv "$INSTALL_PREFIX/lib/windows/"*.dll "$PREFIX/$arch-w64-mingw32/bin" |
132 | 140 | fi |
133 | 141 | INSTALLED=1 |
134 | 142 | cd .. |
135 | 143 | done |
136 | 144 |
|
137 | | -if [ -z "$INSTALLED" ]; then |
138 | | - # Don't try to move the installed files in place, if nothing was |
139 | | - # installed (e.g. if building with --build-sanitizers but not for x86). |
140 | | - exit 0 |
141 | | -fi |
| 145 | +if [ "$INSTALL_PREFIX" != "$CLANG_RESOURCE_DIR" ]; then |
| 146 | + if [ -z "$INSTALLED" ]; then |
| 147 | + # Don't try to move the installed files in place, if nothing was |
| 148 | + # installed (e.g. if building with --build-sanitizers but not for x86). |
| 149 | + exit 0 |
| 150 | + fi |
142 | 151 |
|
143 | | -if [ -h "$CLANG_RESOURCE_DIR/include" ]; then |
144 | 152 | # symlink to system headers - skip copy |
145 | | - rm -rf ${WORKDIR}/install/include |
| 153 | + rm -rf "$INSTALL_PREFIX/include" |
| 154 | + |
| 155 | + cp -r "$INSTALL_PREFIX/." $CLANG_RESOURCE_DIR |
146 | 156 | fi |
147 | | -cp -r ${WORKDIR}/install/. $CLANG_RESOURCE_DIR |
|
0 commit comments