43 lines
1.9 KiB
Plaintext
43 lines
1.9 KiB
Plaintext
|
# By default Rust will not export dynamic symbols from built executables.
|
||
|
# Python symbols need to be exported from executables in order for that
|
||
|
# executable to load Python extension modules, which are shared libraries.
|
||
|
# Otherwise, the extension module / shared library is unable to resolve
|
||
|
# Python symbols. This file contains target-specific configuration
|
||
|
# overrides to export dynamic symbols from executables.
|
||
|
#
|
||
|
# Ideally we would achieve this functionality via the build.rs build
|
||
|
# script. But custom compiler flags via build scripts apparently only
|
||
|
# support limited options.
|
||
|
|
||
|
[target.i686-unknown-linux-gnu]
|
||
|
rustflags = ["-C", "link-args=-Wl,-export-dynamic"]
|
||
|
|
||
|
[target.x86_64-unknown-linux-gnu]
|
||
|
rustflags = ["-C", "link-args=-Wl,-export-dynamic"]
|
||
|
|
||
|
[target.aarch64-apple-darwin]
|
||
|
rustflags = ["-C", "link-args=-rdynamic"]
|
||
|
|
||
|
[target.x86_64-apple-darwin]
|
||
|
rustflags = ["-C", "link-args=-rdynamic"]
|
||
|
|
||
|
# The Windows standalone_static distributions use the static CRT (/MT compiler
|
||
|
# flag). By default, Rust will build with the dynamically linked / DLL CRT
|
||
|
# (/MD compiler flag). `pyoxidizer build` should adjust RUSTFLAGS automatically
|
||
|
# when a standalone_static distribution is being used. But if invoking `cargo`
|
||
|
# directly, you'll need to override the default CRT linkage by either passing
|
||
|
# RUSTFLAGS="-C target-feature=+crt-static" or by commenting out the lines
|
||
|
# below. Note that use of `target-feature=+crt-static` will prevent
|
||
|
# standalone_dynamic distributions from working.
|
||
|
#
|
||
|
# The standalone_static distributions also have duplicate symbols and some
|
||
|
# build configurations will result in hard linker errors because of this. We
|
||
|
# also add the /FORCE:MULTIPLE linker argument to prevent this from being a
|
||
|
# fatal error.
|
||
|
|
||
|
#[target.i686-pc-windows-msvc]
|
||
|
#rustflags = ["-C", "target-feature=+crt-static", "-C", "link-args=/FORCE:MULTIPLE"]
|
||
|
#
|
||
|
#[target.x86_64-pc-windows-msvc]
|
||
|
#rustflags = ["-C", "target-feature=+crt-static", "-C", "link-args=/FORCE:MULTIPLE"]
|