summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorprospanclaudebot <[email protected]>2026-07-17 23:04:47 +0000
committerprospanclaudebot <[email protected]>2026-07-17 23:04:47 +0000
commit1eb78df95df8f37ba241aa91e7df3e11d0664a57 (patch)
tree62461313259169339b355c523bee1c0aa2ea2a13
parent3e74c9b9667df6c4e128c0a995c4d5f99d2152e5 (diff)
downloadwasm-gcc-overlay-1eb78df95df8f37ba241aa91e7df3e11d0664a57.tar.gz
wasm-gcc-overlay-1eb78df95df8f37ba241aa91e7df3e11d0664a57.zip
🌭 gcc-9999: симлинк реального драйвера вместо скелет-обёртки (xgcc not found)
Обёртка ссылалась на build-tree xgcc, в install его нет. Убрал --program-prefix, автодетект установленного <target>-gcc в PREFIX/bin -> /usr/bin. WAT-чейн пока вручную. Co-Authored-By: Claude Opus 4.8 <[email protected]>
-rw-r--r--cross-wasm32-wasi/gcc/gcc-9999.ebuild11
1 files changed, 7 insertions, 4 deletions
diff --git a/cross-wasm32-wasi/gcc/gcc-9999.ebuild b/cross-wasm32-wasi/gcc/gcc-9999.ebuild
index 7fe89eb..2c8e536 100644
--- a/cross-wasm32-wasi/gcc/gcc-9999.ebuild
+++ b/cross-wasm32-wasi/gcc/gcc-9999.ebuild
@@ -34,7 +34,6 @@ src_configure() {
econf \
--target="${CTARGET}" \
--prefix="${PREFIX}" \
- --program-prefix="${CTARGET}-" \
--enable-languages=c \
--without-headers --with-newlib \
--disable-shared --disable-threads --disable-libssp \
@@ -48,7 +47,11 @@ src_compile() {
src_install() {
emake DESTDIR="${D}" install-gcc
- # обёртка пайплайна tc/: xgcc(WAT) -> wat2wasm(объект) -> wasm-ld(линк)
- newbin "${FILESDIR}"/wasm32-wasi-gcc.sh "${CTARGET}-cc"
- dosym "${CTARGET}-cc" /usr/bin/"${CTARGET}-gcc"
+ # кросс-драйвер ставится в ${PREFIX}/bin (имя = <target>-gcc); автодетект и вывод в PATH
+ local drv
+ drv=$(cd "${ED}${PREFIX}/bin" && ls | grep -E '(^|-)gcc$' | grep -v -- '-nm\|-ar\|-ranlib' | head -n1)
+ [[ -n ${drv} ]] || die "не нашёл gcc-драйвер в ${PREFIX}/bin"
+ dosym "${PREFIX}/bin/${drv}" "/usr/bin/${CTARGET}-gcc"
+ elog "wasm-gcc драйвер: ${PREFIX}/bin/${drv} -> /usr/bin/${CTARGET}-gcc"
+ elog "ПАЙПЛАЙН .c->.wasm (WAT->wat2wasm->wasm-ld) — обёртка ещё не автоматизирована, пока вручную как в tc/"
}