Skip to content

Commit 5ee9fae

Browse files
committed
Rework libomp.a search logic in dune
- Replace fragile cp chain with a robust loop - Add Ubuntu/Debian /usr/lib/x86_64-linux-gnu/ paths - Remove touch hack to ensure real library is found - Added wildcard support for GCC versioned paths
1 parent 973be36 commit 5ee9fae

1 file changed

Lines changed: 17 additions & 5 deletions

File tree

src/quickjs/dune

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,23 @@
5353
(rule
5454
(targets libomp.a)
5555
(action (bash "
56-
cp /usr/local/Cellar/libomp/17.0.6/lib/libomp.a . &> /dev/null \
57-
|| cp /usr/lib/libgomp.a libomp.a &> /dev/null \
58-
|| cp /usr/lib/gcc/x86_64-linux-gnu/*/libgomp.a libomp.a &> /dev/null \
59-
|| cp /usr/lib/gcc/aarch64-redhat-linux/15/libgomp.a libomp.a &> /dev/null \
60-
|| touch libomp.a
56+
OUT=\"libomp.a\"
57+
PAWTHS=\"
58+
/usr/local/Cellar/libomp/17.0.6/lib/libomp.a
59+
/usr/lib/x86_64-linux-gnu/libomp.a
60+
/usr/lib/x86_64-linux-gnu/libgomp.a
61+
/usr/lib/libgomp.a
62+
/usr/lib/gcc/x86_64-linux-gnu/*/libgomp.a
63+
/usr/lib/gcc/aarch64-redhat-linux/*/libgomp.a
64+
\"
65+
for p in $PAWTHS; do
66+
if ls $p >/dev/null 2>&1; then
67+
cp $p \"$OUT\"
68+
exit 0
69+
fi
70+
done
71+
echo \"Error: Could not find libomp.a or libgomp.a\" >&2
72+
exit 1
6173
"))
6274
(mode standard)
6375
)

0 commit comments

Comments
 (0)