Skip to content
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

Fix the static build on Darwin #54

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

spl
Copy link

@spl spl commented Apr 18, 2019

No description provided.

@spl spl mentioned this pull request Apr 24, 2019
@spl
Copy link
Author

spl commented Aug 2, 2019

Ping! What do you think about this change? I think it should be uncontroversial since it's the same thing done for Linux. (Also, I'd hate to leave this unfixed in the next release.)

pkgw added a commit to pkgw/tectonic that referenced this pull request Dec 23, 2019
By "semi-static" I mean that the final binary is not statically linked, but
that it only dynamically links with core system libraries. Higher-level like
harfbuzz are linked into the executable statically. This is accomplished by an
environment variable TECTONIC_PKGCONFIG_FORCE_SEMI_STATIC=1, since I
discovered that the pkg-config-rs library's logic for encouraging static
linking will turn it off in the common case that our static libraries live in
standard system prefixes.

Unfortunately, graphite2 seems to have issues with its various static builds
(e.g. silnrsi/graphite#54) so we won't always get a
super-minimal list of dependencies, but this seems to get us most of the way
there, and I've coded it so that we should start doing better if/when
graphite2 is fixed.
burrbull pushed a commit to burrbull/tectonic that referenced this pull request Oct 29, 2020
By "semi-static" I mean that the final binary is not statically linked, but
that it only dynamically links with core system libraries. Higher-level like
harfbuzz are linked into the executable statically. This is accomplished by an
environment variable TECTONIC_PKGCONFIG_FORCE_SEMI_STATIC=1, since I
discovered that the pkg-config-rs library's logic for encouraging static
linking will turn it off in the common case that our static libraries live in
standard system prefixes.

Unfortunately, graphite2 seems to have issues with its various static builds
(e.g. silnrsi/graphite#54) so we won't always get a
super-minimal list of dependencies, but this seems to get us most of the way
there, and I've coded it so that we should start doing better if/when
graphite2 is fixed.
burrbull pushed a commit to burrbull/tectonic that referenced this pull request Oct 30, 2020
By "semi-static" I mean that the final binary is not statically linked, but
that it only dynamically links with core system libraries. Higher-level like
harfbuzz are linked into the executable statically. This is accomplished by an
environment variable TECTONIC_PKGCONFIG_FORCE_SEMI_STATIC=1, since I
discovered that the pkg-config-rs library's logic for encouraging static
linking will turn it off in the common case that our static libraries live in
standard system prefixes.

Unfortunately, graphite2 seems to have issues with its various static builds
(e.g. silnrsi/graphite#54) so we won't always get a
super-minimal list of dependencies, but this seems to get us most of the way
there, and I've coded it so that we should start doing better if/when
graphite2 is fixed.
@mgood7123
Copy link

applied in #69

@blacktm
Copy link

blacktm commented Feb 7, 2022

Hello! Would also love to see this get merged and enable static libraries for Homebrew, the macOS package manager.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants