mirror of
https://github.com/roc-lang/roc.git
synced 2025-10-02 08:11:12 +00:00
Attempt to statically link hosts
This commit is contained in:
parent
f499c7b056
commit
d776798e32
6 changed files with 34 additions and 28 deletions
|
@ -37,29 +37,12 @@ fn link_linux(
|
|||
.args(&[
|
||||
"-arch",
|
||||
arch_str(target),
|
||||
"/usr/lib/x86_64-linux-gnu/crti.o",
|
||||
"/usr/lib/x86_64-linux-gnu/crtn.o",
|
||||
"/usr/lib/x86_64-linux-gnu/Scrt1.o",
|
||||
"-dynamic-linker",
|
||||
"/lib64/ld-linux-x86-64.so.2",
|
||||
// Inputs
|
||||
dest_filename.to_str().unwrap(), // app.o
|
||||
host_input_path.to_str().unwrap(), // host.o
|
||||
// Output
|
||||
"-o",
|
||||
binary_path.to_str().unwrap(), // app
|
||||
// Inputs
|
||||
host_input_path.to_str().unwrap(), // host.o
|
||||
dest_filename.to_str().unwrap(), // app.o
|
||||
// Libraries - see https://github.com/rtfeldman/roc/pull/554#discussion_r496365925
|
||||
// for discussion and further references
|
||||
"-lc",
|
||||
"-lm",
|
||||
"-lpthread",
|
||||
"-ldl",
|
||||
"-lrt",
|
||||
"-lutil",
|
||||
"-lc_nonshared",
|
||||
"-lc++",
|
||||
"-lunwind",
|
||||
// "-lgcc", // TODO will eventually need compiler_rt from gcc or something - see https://github.com/rtfeldman/roc/pull/554#discussion_r496370840
|
||||
])
|
||||
.spawn()
|
||||
}
|
||||
|
|
31
examples/quicksort/platform/build-linux.sh
Executable file
31
examples/quicksort/platform/build-linux.sh
Executable file
|
@ -0,0 +1,31 @@
|
|||
#!/bin/bash
|
||||
|
||||
clang -c host.c -o c_host.o
|
||||
rustc host.rs -o rust_host.o
|
||||
|
||||
# Linking - see https://github.com/rtfeldman/roc/pull/554#discussion_r496365925
|
||||
# for discussion and further references
|
||||
#
|
||||
# TODO will eventually need compiler_rt from -lgcc or something - see https://github.com/rtfeldman/roc/pull/554#discussion_r496370840
|
||||
ld -r -static \
|
||||
-L /usr/lib/x86_64-linux-musl \
|
||||
-L /usr/lib/llvm-10/lib \
|
||||
-L /usr/lib/x86_64-linux-gnu \
|
||||
-dynamic-linker /lib64/ld-linux-x86-64.so.2 \
|
||||
/usr/lib/x86_64-linux-gnu/crti.o \
|
||||
/usr/lib/x86_64-linux-gnu/crtn.o \
|
||||
/usr/lib/x86_64-linux-gnu/Scrt1.o \
|
||||
-lc \
|
||||
-lm \
|
||||
-lpthread \
|
||||
-ldl \
|
||||
-lrt \
|
||||
-lutil \
|
||||
-lc++abi \
|
||||
-lunwind \
|
||||
c_host.o \
|
||||
rust_host.o \
|
||||
-o host.o
|
||||
|
||||
rm -f c_host.o
|
||||
rm -f rust_host.o
|
|
@ -1,8 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
clang -c host/src/host.c -o c_host.o
|
||||
rustc host/src/host.rs -o rust_host.o
|
||||
ld -r c_host.o rust_host.o -o host.o
|
||||
|
||||
rm -f c_host.o
|
||||
rm -f rust_host.o
|
Loading…
Add table
Add a link
Reference in a new issue