summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormiheer vaidya <v.miheer@gmail.com>2021-05-14 01:33:32 -0600
committerGitHub <noreply@github.com>2021-05-14 09:33:32 +0200
commit702f343fb1e85bca8a850e6a6a9c011d4bef353f (patch)
treecf64310e3757e849598b76bd0bdfc67c30b56881
parent0d92c39d470c78554036c393a42d65067894d033 (diff)
downloadspack-702f343fb1e85bca8a850e6a6a9c011d4bef353f.tar.gz
spack-702f343fb1e85bca8a850e6a6a9c011d4bef353f.tar.bz2
spack-702f343fb1e85bca8a850e6a6a9c011d4bef353f.tar.xz
spack-702f343fb1e85bca8a850e6a6a9c011d4bef353f.zip
emacs: add support for native compilation on master (#23493)
* Emacs native compilation on master * emacs: Mark tools correctly as build dependency
-rw-r--r--var/spack/repos/builtin/packages/emacs/package.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/var/spack/repos/builtin/packages/emacs/package.py b/var/spack/repos/builtin/packages/emacs/package.py
index d8a45bcd5a..b879bd9170 100644
--- a/var/spack/repos/builtin/packages/emacs/package.py
+++ b/var/spack/repos/builtin/packages/emacs/package.py
@@ -33,6 +33,7 @@ class Emacs(AutotoolsPackage, GNUMirrorPackage):
description="Select an X toolkit (gtk, athena)"
)
variant('tls', default=False, description="Build Emacs with gnutls")
+ variant('native', default=False, description="enable native compilation of elisp")
depends_on('pkgconfig', type='build')
@@ -49,12 +50,14 @@ class Emacs(AutotoolsPackage, GNUMirrorPackage):
depends_on('gtkplus', when='+X toolkit=gtk')
depends_on('gnutls', when='+tls')
depends_on('jpeg')
- depends_on('m4', when="@master:")
- depends_on('autoconf', when="@master:")
- depends_on('automake', when="@master:")
- depends_on('libtool', when="@master:")
+ depends_on('m4', type='build', when="@master:")
+ depends_on('autoconf', type='build', when="@master:")
+ depends_on('automake', type='build', when="@master:")
+ depends_on('libtool', type='build', when="@master:")
+ depends_on('gcc@11: +strip languages=jit', when="+native")
conflicts('@:26.3', when='platform=darwin os=catalina')
+ conflicts('+native', when='@:27.99.99', msg="native compilation require @master")
@when('platform=darwin')
def setup_build_environment(self, env):
@@ -80,6 +83,9 @@ class Emacs(AutotoolsPackage, GNUMirrorPackage):
if sys.platform == 'darwin':
args.append('--without-ns')
+ if '+native' in spec:
+ args.append('--with-native-compilation')
+
if '+tls' in spec:
args.append('--with-gnutls')
else: