Skip to content

Commit 9d415ad

Browse files
committed
what
1 parent 7a402b8 commit 9d415ad

1 file changed

Lines changed: 16 additions & 4 deletions

File tree

.github/workflows/build.yml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -137,14 +137,26 @@ jobs:
137137
target_env=$(echo "${{ matrix.target }}" | tr '-' '_')
138138
prefix="${{ matrix.osxcross_prefix }}"
139139
osxcross_bin="$(dirname "$(command -v "${prefix}-clang")")"
140-
export PATH="${osxcross_bin}:${PATH}"
140+
ld_candidate=""
141+
for name in "${prefix}-ld" "${prefix}-ld64" "ld64" "ld"; do
142+
if [ -x "${osxcross_bin}/${name}" ]; then
143+
ld_candidate="${osxcross_bin}/${name}"
144+
break
145+
fi
146+
done
147+
toolchain_bin="$(mktemp -d)"
148+
if [ -n "${ld_candidate}" ]; then
149+
ln -s "${ld_candidate}" "${toolchain_bin}/ld"
150+
ln -s "${ld_candidate}" "${toolchain_bin}/ld64"
151+
fi
152+
export PATH="${toolchain_bin}:${osxcross_bin}:${PATH}"
141153
export "CC_${target_env}=${osxcross_bin}/${prefix}-clang"
142154
export "CXX_${target_env}=${osxcross_bin}/${prefix}-clang++"
143155
export "AR_${target_env}=${osxcross_bin}/${prefix}-ar"
144156
export "RANLIB_${target_env}=${osxcross_bin}/${prefix}-ranlib"
145-
export "CFLAGS_${target_env}=-B${osxcross_bin}"
146-
export "CXXFLAGS_${target_env}=-B${osxcross_bin}"
147-
export "LDFLAGS_${target_env}=-B${osxcross_bin}"
157+
export "CFLAGS_${target_env}=-B${toolchain_bin} -B${osxcross_bin} -fuse-ld=ld64"
158+
export "CXXFLAGS_${target_env}=-B${toolchain_bin} -B${osxcross_bin} -fuse-ld=ld64"
159+
export "LDFLAGS_${target_env}=-B${toolchain_bin} -B${osxcross_bin} -fuse-ld=ld64"
148160
cargo build --bins --workspace --release --target ${{ matrix.target }}
149161
mkdir -p dist
150162
cp target/${{ matrix.target }}/release/plumeimpactor dist/plumeimpactor-macos-${{ matrix.suffix }}

0 commit comments

Comments
 (0)