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

build: Updates for AIX npm support - part 1 #3114

Closed
wants to merge 1 commit into from

Commits on Oct 23, 2015

  1. build: Updates for AIX npm support - part 1

    This PR is the first step enabling support for native modules
    for AIX.  The main issue is that unlike linux where all
    symbols within the Node executable are available to the shared
    library for a native module (npm), on AIX the symbols must
    be explicitly exported.  In addition, when the shared library is
    built it must be linked using a list of the available symbols.
    
    This patch covers the changes need to:
    
     1) Export the symbols when building the node executable
     2) Generate the file listing the symbols that can be used when
        building the shared library.
    
    For AIX, it breaks the build process into 2 steps.  The first builds
    a static library and then generates a node.exp file which contains
    the symbols from that library.  The second builds the node executable
    and uses the node.exp file to specify which symbols should be
    exported.  In addition, it save the node.exp file so that it can
    later be used in the creation of the shared library when building
    a native module.
    
    The following additional steps will be required in dependent projects
    to fully enable AIX for native modules and are being worked
    separately:
    
     - Updates to node-gyp to use node.exp when creating the
       shared library for a native module
     - Fixes to gyp related to copying files as covered in
          https://codereview.chromium.org/1368133002/patch/1/10001
     - Pulling in updated gyp versions to Node and node-gyp
     - Pulling latest libuv
    
    These changes were done to minimize the change to other platforms
    by working within the existing structure to add the 2 step process
    for AIX without changing the process for other platforms.
    mhdawson committed Oct 23, 2015
    Configuration menu
    Copy the full SHA
    3565bb5 View commit details
    Browse the repository at this point in the history