Repository: mesos Updated Branches: refs/heads/master 9397ba46f -> 883c7256c
MESOS-1693: enable build against non-x86 arch Enable building against non-x86 arch, namely arm builders on Fedora. Review: https://reviews.apache.org/r/24563 Project: http://git-wip-us.apache.org/repos/asf/mesos/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/883c7256 Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/883c7256 Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/883c7256 Branch: refs/heads/master Commit: 883c7256ce12e5ab54cc72ba0629421effd2bfd1 Parents: 9397ba4 Author: Timothy St. Clair <[email protected]> Authored: Thu Aug 14 13:40:18 2014 -0500 Committer: Timothy St. Clair <[email protected]> Committed: Thu Aug 14 13:40:18 2014 -0500 ---------------------------------------------------------------------- 3rdparty/libprocess/include/process/internal.hpp | 2 ++ 3rdparty/libprocess/src/process.cpp | 2 ++ configure.ac | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos/blob/883c7256/3rdparty/libprocess/include/process/internal.hpp ---------------------------------------------------------------------- diff --git a/3rdparty/libprocess/include/process/internal.hpp b/3rdparty/libprocess/include/process/internal.hpp index 9f478ec..78ee95d 100644 --- a/3rdparty/libprocess/include/process/internal.hpp +++ b/3rdparty/libprocess/include/process/internal.hpp @@ -12,7 +12,9 @@ namespace internal { inline void acquire(int* lock) { while (!__sync_bool_compare_and_swap(lock, 0, 1)) { +#if defined(__i386__) || defined(__x86_64__) asm volatile ("pause"); +#endif } } http://git-wip-us.apache.org/repos/asf/mesos/blob/883c7256/3rdparty/libprocess/src/process.cpp ---------------------------------------------------------------------- diff --git a/3rdparty/libprocess/src/process.cpp b/3rdparty/libprocess/src/process.cpp index c2bee98..d403423 100644 --- a/3rdparty/libprocess/src/process.cpp +++ b/3rdparty/libprocess/src/process.cpp @@ -2910,7 +2910,9 @@ void ProcessManager::cleanup(ProcessBase* process) synchronized (processes) { // Wait for all process references to get cleaned up. while (process->refs > 0) { +#if defined(__i386__) || defined(__x86_64__) asm ("pause"); +#endif __sync_synchronize(); } http://git-wip-us.apache.org/repos/asf/mesos/blob/883c7256/configure.ac ---------------------------------------------------------------------- diff --git a/configure.ac b/configure.ac index 321f09d..30a7e26 100644 --- a/configure.ac +++ b/configure.ac @@ -709,7 +709,7 @@ __EOF__ JAVA_TEST_LDFLAGS="-framework JavaVM" JAVA_JVM_LIBRARY=$dir/libjvm.dylib elif test "$OS_NAME" = "linux"; then - for arch in amd64 i386; do + for arch in amd64 i386 arm aarch64 ppc64 ppc64le s390 s390x; do dir="$JAVA_HOME/jre/lib/$arch/server" if test -e "$dir"; then # Note that these are libtool specific flags.
