summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorToyohisa Kameyama <kameyama@riken.jp>2019-08-15 00:38:50 +0900
committerAdam J. Stewart <ajstewart426@gmail.com>2019-08-14 10:38:50 -0500
commite620883a3cfc28d8cd80456368e122e5330a0191 (patch)
tree0519efa96d2075d440e53b1708d707c5bae0622d /var
parent3a4a513bedbcc9fb84675537f13eca50488337c5 (diff)
downloadspack-e620883a3cfc28d8cd80456368e122e5330a0191.tar.gz
spack-e620883a3cfc28d8cd80456368e122e5330a0191.tar.bz2
spack-e620883a3cfc28d8cd80456368e122e5330a0191.tar.xz
spack-e620883a3cfc28d8cd80456368e122e5330a0191.zip
masurca: build on arm. (#12416)
* remove -minline-all-stringops when target is arm. * change int3 to raise(SIGTRAP) when target is arm.
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/masurca/arm.patch46
-rw-r--r--var/spack/repos/builtin/packages/masurca/package.py9
2 files changed, 55 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/masurca/arm.patch b/var/spack/repos/builtin/packages/masurca/arm.patch
new file mode 100644
index 0000000000..34ae1c73d6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/masurca/arm.patch
@@ -0,0 +1,46 @@
+diff -ru spack-src/global-1/PacBio/include/charb.hpp spack-src.new/global-1/PacBio/include/charb.hpp
+--- spack-src/global-1/PacBio/include/charb.hpp 2018-01-23 05:03:06.000000000 +0900
++++ spack-src.new/global-1/PacBio/include/charb.hpp 2019-08-14 10:32:47.741826823 +0900
+@@ -25,6 +25,7 @@
+ #include <stdexcept>
+ #include <string>
+ #include <cstring>
++#include <csignal>
+ #include <istream>
+ #include <assert.h>
+
+@@ -186,7 +187,11 @@
+ }
+ cptr += char_read;
+ if(cptr == b.base_)
++#ifdef __x86_64
+ asm("int3;");
++#else
++ raise(SIGTRAP);
++#endif
+ if(cptr < b.end_ - 1 || *(cptr - 1) == '\n')
+ break;
+ size_t off = cptr - b.base_;
+diff -ru spack-src/global-1/SuperReads/include/charb.hpp spack-src.new/global-1/SuperReads/include/charb.hpp
+--- spack-src/global-1/SuperReads/include/charb.hpp 2018-12-15 01:57:56.000000000 +0900
++++ spack-src.new/global-1/SuperReads/include/charb.hpp 2019-08-14 10:34:10.501841240 +0900
+@@ -25,6 +25,7 @@
+ #include <stdexcept>
+ #include <string>
+ #include <cstring>
++#include <csignal>
+ #include <istream>
+ #include <assert.h>
+
+@@ -186,7 +187,11 @@
+ }
+ cptr += char_read;
+ if(cptr == b.base_)
++#ifdef __x86_64
+ asm("int3;");
++#else
++ raise(SIGTRAP);
++#endif
+ if(cptr < b.end_ - 1 || *(cptr - 1) == '\n')
+ break;
+ size_t off = cptr - b.base_;
diff --git a/var/spack/repos/builtin/packages/masurca/package.py b/var/spack/repos/builtin/packages/masurca/package.py
index be0ea2ab94..98adbafe9f 100644
--- a/var/spack/repos/builtin/packages/masurca/package.py
+++ b/var/spack/repos/builtin/packages/masurca/package.py
@@ -20,6 +20,15 @@ class Masurca(Package):
depends_on('perl', type=('build', 'run'))
depends_on('boost')
depends_on('zlib')
+ patch('arm.patch', when='target=aarch64')
+
+ def patch(self):
+ if self.spec.satisfies('target=aarch64'):
+ for makefile in 'Makefile.am', 'Makefile.in':
+ m = join_path('global-1', 'prepare', makefile)
+ filter_file('-minline-all-stringops', '', m)
+ m = join_path('global-1', makefile)
+ filter_file('-minline-all-stringops', '', m)
def install(self, spec, prefix):
installer = Executable('./install.sh')