summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/libtool/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/libtool/package.py')
-rw-r--r--var/spack/repos/builtin/packages/libtool/package.py22
1 files changed, 19 insertions, 3 deletions
diff --git a/var/spack/repos/builtin/packages/libtool/package.py b/var/spack/repos/builtin/packages/libtool/package.py
index eca530ce0c..9e9005ccc5 100644
--- a/var/spack/repos/builtin/packages/libtool/package.py
+++ b/var/spack/repos/builtin/packages/libtool/package.py
@@ -46,8 +46,24 @@ class Libtool(AutotoolsPackage):
join_path(self.prefix.share, 'aclocal'))
def setup_dependent_package(self, module, dependent_spec):
- # Automake is very likely to be a build dependency,
- # so we add the tools it provides to the dependent module
- executables = ['libtoolize', 'libtool']
+ # Automake is very likely to be a build dependency, so we add
+ # the tools it provides to the dependent module. Some build
+ # systems differentiate between BSD libtool (e.g., Darwin) and
+ # GNU libtool, so also add 'glibtool' and 'glibtoolize' to the
+ # list of executables.
+ executables = ['libtoolize', 'libtool', 'glibtoolize', 'glibtool']
for name in executables:
setattr(module, name, self._make_executable(name))
+
+ @run_after('install')
+ def post_install(self):
+ # Some platforms name GNU libtool and GNU libtoolize
+ # 'glibtool' and 'glibtoolize', respectively, to differentiate
+ # them from BSD libtool and BSD libtoolize. On these BSD
+ # platforms, build systems sometimes expect to use the assumed
+ # GNU commands glibtool and glibtoolize instead of the BSD
+ # variant; this happens frequently, for instance, on Darwin
+ symlink(join_path(self.prefix.bin, 'libtoolize'),
+ join_path(self.prefix.bin, 'glibtoolize'))
+ symlink(join_path(self.prefix.bin, 'libtoolize'),
+ join_path(self.prefix.bin, 'glibtoolize'))