Skip to content

Commit

Permalink
gyp: backport GYP fix to fix AIX shared suffix
Browse files Browse the repository at this point in the history
Required to support the shared library builds on AIX - this sets the
shared library suffix within GYP to .a instead of .so on AIX
My patch: https://codereview.chromium.org/2492233002/ was landed as
as part of this one which fixed some other (not required, but
included for completeness of the backport) changes:

PR-URL: https://github.com/nodejs/node/pull9675
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Ref: https://codereview.chromium.org/2511733005/
  • Loading branch information
Stewart Addison authored and rvagg committed Aug 9, 2018
1 parent 6cd84b8 commit 8aedbfd
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 17 deletions.
7 changes: 4 additions & 3 deletions gyp/AUTHORS
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# Names should be added to this file like so:
# Name or Organization <email address>

Google Inc.
Bloomberg Finance L.P.
Yandex LLC
Google Inc. <*@google.com>
Bloomberg Finance L.P. <*@bloomberg.net>
IBM Inc. <*@*.ibm.com>
Yandex LLC <*@yandex-team.ru>

Steven Knight <knight@baldmt.com>
Ryan Norton <rnorton10@gmail.com>
Expand Down
26 changes: 14 additions & 12 deletions gyp/PRESUBMIT.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,23 +73,15 @@
]


def CheckChangeOnUpload(input_api, output_api):
report = []
report.extend(input_api.canned_checks.PanProjectChecks(
input_api, output_api))
return report


def CheckChangeOnCommit(input_api, output_api):
report = []

def _LicenseHeader(input_api):
# Accept any year number from 2009 to the current year.
current_year = int(input_api.time.strftime('%Y'))
allowed_years = (str(s) for s in reversed(xrange(2009, current_year + 1)))

years_re = '(' + '|'.join(allowed_years) + ')'

# The (c) is deprecated, but tolerate it until it's removed from all files.
license = (
return (
r'.*? Copyright (\(c\) )?%(year)s Google Inc\. All rights reserved\.\n'
r'.*? Use of this source code is governed by a BSD-style license that '
r'can be\n'
Expand All @@ -98,8 +90,18 @@ def CheckChangeOnCommit(input_api, output_api):
'year': years_re,
}

def CheckChangeOnUpload(input_api, output_api):
report = []
report.extend(input_api.canned_checks.PanProjectChecks(
input_api, output_api, license_header=_LicenseHeader(input_api)))
return report


def CheckChangeOnCommit(input_api, output_api):
report = []

report.extend(input_api.canned_checks.PanProjectChecks(
input_api, output_api, license_header=license))
input_api, output_api, license_header=_LicenseHeader(input_api)))
report.extend(input_api.canned_checks.CheckTreeIsOpen(
input_api, output_api,
'http://gyp-status.appspot.com/status',
Expand Down
10 changes: 8 additions & 2 deletions gyp/pylib/gyp/generator/make.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,10 @@ def CalculateVariables(default_variables, params):
if flavor == 'android':
operating_system = 'linux' # Keep this legacy behavior for now.
default_variables.setdefault('OS', operating_system)
default_variables.setdefault('SHARED_LIB_SUFFIX', '.so')
if flavor == 'aix':
default_variables.setdefault('SHARED_LIB_SUFFIX', '.a')
else:
default_variables.setdefault('SHARED_LIB_SUFFIX', '.so')
default_variables.setdefault('SHARED_LIB_DIR','$(builddir)/lib.$(TOOLSET)')
default_variables.setdefault('LIB_DIR', '$(obj).$(TOOLSET)')

Expand Down Expand Up @@ -1369,7 +1372,10 @@ def ComputeOutputBasename(self, spec):
if target[:3] == 'lib':
target = target[3:]
target_prefix = 'lib'
target_ext = '.so'
if self.flavor == 'aix':
target_ext = '.a'
else:
target_ext = '.so'
elif self.type == 'none':
target = '%s.stamp' % target
elif self.type != 'executable':
Expand Down

0 comments on commit 8aedbfd

Please sign in to comment.