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

Resolve OS X build problems (issue 63). #72

Merged
merged 1 commit into from
Dec 10, 2015
Merged

Conversation

jcflack
Copy link
Contributor

@jcflack jcflack commented Dec 10, 2015

In the nar-maven-plugin, shared and plugin are interchangeable on
platforms other than Darwin, but on Darwin they produce two different
link commands (a plugin gets the -bundle option).

The distinction (on Darwin) is a shared object is something exporting
some API that the process loading it will call into, but a plugin/bundle
also expects to be able to call back into API provided by the thing that
loaded it. PL/Java fits in the second category, so may as well call it a
plugin; won't change much on other platforms, but makes a difference on
Darwin.

When linking a plugin, the Darwin linker wants the -bundle_loader option
to identify the program that will be loading the plugin (postgres, in
this case). It verifies that the symbols unresolved in the plugin itself
really will be found in the program that loads it.

Update the packaging script to reflect the change from shared to plugin
in the object path.

In the nar-maven-plugin, 'shared' and 'plugin' are interchangeable on
platforms other than Darwin, but on Darwin they produce two different
link commands (a 'plugin' gets the '-bundle' option).

The distinction (on Darwin) is a shared object is something exporting
some API that the process loading it will call into, but a plugin/bundle
also expects to be able to call back into API provided by the thing that
loaded it. PL/Java fits in the second category, so may as well call it a
plugin; won't change much on other platforms, but makes a difference on
Darwin.

When linking a plugin, the Darwin linker wants the -bundle_loader option
to identify the program that will be loading the plugin (postgres, in
this case). It verifies that the symbols unresolved in the plugin itself
really will be found in the program that loads it.

Update the packaging script to reflect the change from shared to plugin
in the object path.
jcflack added a commit that referenced this pull request Dec 10, 2015
Merge rebased bug/master/issue63 fix.

Before rebasing, this was PR #69 for 3 weeks, and dblanch has confirmed it builds well,
so, merging.
@jcflack jcflack merged commit f0c07c6 into master Dec 10, 2015
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.

1 participant