Uh oh!
There was an error while loading. Please reload this page.
Add correct shared library naming on OS X - #7687
Conversation
rvagg
commented
Jul 13, 2016
sgtm, @nodejs/build? |
There was a problem hiding this comment.
Style: space before ==. You can fold the if into the preceding else, saves a level of indent.
(In case you're not a pythonista, the keyword is elif.)
bnoordhuis
commented
Jul 13, 2016
It's kind of nasty to duplicate the logic in two places. It's arguably better to set a variable in configure and use that. |
sxa
commented
Jul 13, 2016
True @bnoordhuis - I was just following the same pattern that was already in place for splitting Windows/Linux. I'll look at modifying it to use a variable for the shlib filename as you suggest (although it may still be cleaner overall to have the darwin-specific switch for the directory prefix in install.py instead of having that passed through) I'm looking separately at AIX too which generally uses .a as the suffix so abstracting this out as you suggest will make that simpler. |
sxa
commented
Jul 15, 2016
@bnoordhuis Updates done to have the shared lib suffixes differences only into configure. In theory we could abstract this over windows as well and use a prefix variable too, but I'd propose that be done separately if we want it. |
There was a problem hiding this comment.
Can you make sure lines stay < 80 columns?
Nit: «macOS». Or «OS X». |
LGTM with nit. Can you rebase and squash? EDIT: Note that the commit log should conform to the guidelines from CONTRIBUTING.md. |
2ca7ded to
4edb4cbComparesxa
commented
Jul 18, 2016
Should all be good now - have adjusted the commit log too. |
ChALkeR
commented
Jul 18, 2016
The commit message should have a |
jasnell
commented
Aug 4, 2016
@nodejs/build ... any further thoughts on this? |
bnoordhuis
commented
Aug 4, 2016
Still LGTM but s/Add/add/ on the first line of the commit log. Whoever lands this can fix that up. |
jasnell
commented
Aug 4, 2016
mhdawson
commented
Aug 5, 2016
LGTM, @jasnell you planning to land ? I'll try to take a look tomorrow AM and land if you have not already. |
jasnell
commented
Aug 5, 2016
Go for it. I'm stepping away from the laptop for a while tonight On Thursday, August 4, 2016, Michael Dawson notifications@github.com
|
mhdawson
commented
Aug 5, 2016
CI run had some failures, don't think they are related, but just in case: https://ci.nodejs.org/job/node-test-pull-request/3538/ |
mhdawson
commented
Aug 5, 2016
@sxa555, Was just about to land but seems that the windows shared lib patch was landed and there is now a conflict. Can you rebase and then let me know and I'll land. |
jbergstroem
commented
Aug 5, 2016
LGTM with commit message nit (ref Bens comment) |
The build system currently creates a shared library on OS X with the same name as on Linux i.e. libnode.so.48. This is inconsistent with the conventions on OS X which uses libnode.48.so This commit changes the build process and install.py (used by make binary) to build with the correct name on OS X when the --shared configure parameter is used.
The build system currently creates a shared library on OS X with the same name as on Linux i.e. libnode.so.48. This is inconsistent with the conventions on OS X which uses libnode.48.so This commit changes the build process and install.py (used by make binary) to build with the correct name on OS X when the --shared configure parameter is used. PR-URL: #7687 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
mhdawson
commented
Aug 9, 2016
Landed as a722205 |
The build system currently creates a shared library on OS X with the same name as on Linux i.e. libnode.so.48. This is inconsistent with the conventions on OS X which uses libnode.48.so This commit changes the build process and install.py (used by make binary) to build with the correct name on OS X when the --shared configure parameter is used. PR-URL: #7687 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Conflicts: node.gyp
MylesBorins
commented
Sep 30, 2016
This is not landing cleanly on v4.x. Would someone be willing to do a manual backport? |
sxa
commented
Oct 4, 2016
@thealphanerd Yeah I'll take a look at it - I have a set of changes kicking around that I've used to get it working on V4 already. It was on my list to push them back when I get some time :-) |
MylesBorins
commented
Oct 24, 2016
ping @sxa555 |
sxa
commented
Oct 26, 2016
@thealphanerd ping accepted :-) We don't currently have any of the shared library stuff in v4.x so it's not a trivial matter of just doing the name change for OS/X. I do want to get it into V4 though and have got a bit of time for it now (and as per earlier comment I have had it working - just need to get a PR in for it). |
MylesBorins
commented
Oct 26, 2016
@sxa555 awesome! Keep me in the loop if you need any support at all |
WIP: Add soname & fix make install PR-URL: nodejs#6994 Ref: nodejs#9385 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Fedor Indutny <fedor@indutny.com> The build system currently creates a shared library on OS X with the same name as on Linux i.e. libnode.so.48. This is inconsistent with the conventions on OS X which uses libnode.48.dylib This commit changes the build process and install.py (used by make binary) to build with the correct name on OS X when the --shared configure parameter is used. PR-URL: nodejs#7687 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
PR-URL: nodejs#7687 Ref: nodejs#9385 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Fedor Indutny <fedor@indutny.com> The build system currently creates a shared library on OS X with the same name as on Linux i.e. libnode.so.48. This is inconsistent with the conventions on OS X which uses libnode.48.dylib This commit changes the build process and install.py (used by make binary) to build with the correct name on OS X when the --shared configure parameter is used. PR-URL: nodejs#7687 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
WIP: Add soname & fix make install PR-URL: nodejs#6994 Ref: nodejs#9385 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Fedor Indutny <fedor@indutny.com> The build system currently creates a shared library on OS X with the same name as on Linux i.e. libnode.so.48. This is inconsistent with the conventions on OS X which uses libnode.48.dylib This commit changes the build process and install.py (used by make binary) to build with the correct name on OS X when the --shared configure parameter is used. PR-URL: nodejs#7687 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Checklist
make -j4 test(UNIX), orvcbuild test nosign(Windows) passesAffected core subsystem(s)
Build system
Description of change
The build system currently creates a shared library on OS/X with the same name as on Linux
i.e. libnode.so.48. This is inconsistent with the conventions on OS/X which uses libnode.48.dylib
This change modifies the build process and install.py (used by make binary) to build with the
correct name on OS/X when the --shared configure parameter is used. Without these changes,
"make binary" with CONFIG_FLAGS=--shared fails on the install.py step