Skip to content
This repository has been archived by the owner on Nov 18, 2019. It is now read-only.

Make sure cargo sets the soname in the cdylib #5

Open
4 of 6 tasks
lu-zero opened this issue Nov 9, 2018 · 5 comments
Open
4 of 6 tasks

Make sure cargo sets the soname in the cdylib #5

lu-zero opened this issue Nov 9, 2018 · 5 comments
Labels
enhancement New feature or request

Comments

@lu-zero
Copy link
Owner

lu-zero commented Nov 9, 2018

There is an open issue about it. And my minimalist solution landed.

  • Have cargo provide a sane way to pass the linker line needed
  • Write the linker line for Linux
  • Write the linker line for MacOS
  • Write the linker line for Windows
    • -gnu variant
    • -msvc variant

I'd ask @dwbuiten to help on the Window part :)

@lu-zero
Copy link
Owner Author

lu-zero commented Dec 10, 2018

rust-lang/cargo#6298 is my attempt to solve it in a clean way.

@lu-zero lu-zero added the enhancement New feature or request label Dec 27, 2018
@lu-zero
Copy link
Owner Author

lu-zero commented Mar 29, 2019

The cargo part landed, now what remains is to come up with the makefile lines.

@lu-zero
Copy link
Owner Author

lu-zero commented May 25, 2019

https:/lu-zero/crav1e/tree/shared-objects contains the wip

cargo-c will hide most of this later.

@lu-zero
Copy link
Owner Author

lu-zero commented May 25, 2019

On macOS:

$ otool -L simple_encoding_installed
simple_encoding_installed:
	/usr/local/lib/librav1e.0.1.0.dylib (compatibility version 0.0.0, current version 0.1.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.250.1)

@lu-zero
Copy link
Owner Author

lu-zero commented May 25, 2019

On Linux:

$ ldd simple_encoding_installed
	linux-vdso64.so.1 (0x00007fff83cb0000)
	librav1e.so.0 => /usr/lib64/librav1e.so.0 (0x00007fff83aa0000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fff838a0000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007fff83870000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fff83820000)
	libgcc_s.so.1 => /usr/lib/gcc/powerpc64le-unknown-linux-gnu/9.1.0/libgcc_s.so.1 (0x00007fff837e0000)
	/lib64/ld64.so.2 (0x00007fff83cd0000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fff836c0000)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant