New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature request: decouple --enable-bundled-libs #94

Closed
mojca opened this Issue Sep 29, 2018 · 6 comments

Comments

Projects
None yet
3 participants
@mojca

mojca commented Sep 29, 2018

While trying to update dvisvgm in MacPorts I noticed that some new libraries are needed which have not been packaged yet (for example xxhash). All of these libraries (brotli, potrace, woff2, xxhash, ...) are bundled in the sources, so they are easy to use, but I did not find an easy way to only use the bundled xxhash, while using other libraries from the distribution. There is a configure option --enable-bundled-libs, but that one is an "all-or-nothing" switch.

See also this thread:

@norbusan

@norbusan

This comment has been minimized.

Show comment
Hide comment
@norbusan

norbusan Sep 29, 2018

Yes, on Debian I have packaged xxhash before updating the binaries. There is no single switch for each of the libs, just a catch all. Thus, you either have to package the missing ones, or completely use the included ones.

norbusan commented Sep 29, 2018

Yes, on Debian I have packaged xxhash before updating the binaries. There is no single switch for each of the libs, just a catch all. Thus, you either have to package the missing ones, or completely use the included ones.

@norbusan

This comment has been minimized.

Show comment
Hide comment

norbusan commented Sep 29, 2018

@norbusan

This comment has been minimized.

Show comment
Hide comment
@norbusan

norbusan Sep 29, 2018

See also https://tug.org/pipermail/tlbuild/2018q3/004291.html for a patch to enable external libs and still make sure that the actually shared libs are included in the load process.

norbusan commented Sep 29, 2018

See also https://tug.org/pipermail/tlbuild/2018q3/004291.html for a patch to enable external libs and still make sure that the actually shared libs are included in the load process.

@mgieseki

This comment has been minimized.

Show comment
Hide comment
@mgieseki

mgieseki Oct 2, 2018

Owner

Thanks for the feedback. The current solution is probably too restrictive. I'll see if I can replace the all-or-nothing approach with something more flexible. I prefer not to hardcode the library names when linking against the system libs, though.

Owner

mgieseki commented Oct 2, 2018

Thanks for the feedback. The current solution is probably too restrictive. I'll see if I can replace the all-or-nothing approach with something more flexible. I prefer not to hardcode the library names when linking against the system libs, though.

@mgieseki mgieseki self-assigned this Oct 2, 2018

@norbusan

This comment has been minimized.

Show comment
Hide comment
@norbusan

norbusan Oct 2, 2018

@mgieseki Indeed, hard coding the lib names is not good, but on Debian I can do this because there is no other provider of libraries, so the names are known.

It is probably a bit a pain, but best would be to have --enable-system-foobar together with --foobar-include and --foobar-ldflags (or similar) for each of the additional libraries.

You can look into the TL automake sources for inspirations.

Thanks a lot

Norbert

norbusan commented Oct 2, 2018

@mgieseki Indeed, hard coding the lib names is not good, but on Debian I can do this because there is no other provider of libraries, so the names are known.

It is probably a bit a pain, but best would be to have --enable-system-foobar together with --foobar-include and --foobar-ldflags (or similar) for each of the additional libraries.

You can look into the TL automake sources for inspirations.

Thanks a lot

Norbert

@mgieseki

This comment has been minimized.

Show comment
Hide comment
@mgieseki

mgieseki Oct 10, 2018

Owner

I've changed the behavior of --disable-bundled-libs so that the build system now only links the shared libs if they are actually available. Otherwise, it falls back to the bundled version. If possible, please try out the latest version from the master branch and let me know if there are any further issues.

Owner

mgieseki commented Oct 10, 2018

I've changed the behavior of --disable-bundled-libs so that the build system now only links the shared libs if they are actually available. Otherwise, it falls back to the bundled version. If possible, please try out the latest version from the master branch and let me know if there are any further issues.

@mgieseki mgieseki added this to the 2.6.1 milestone Oct 10, 2018

@mgieseki mgieseki added the feature label Oct 10, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment