]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
configure: do not try yasm on x32 2428/head
authorSage Weil <sage@redhat.com>
Mon, 8 Sep 2014 22:51:58 +0000 (15:51 -0700)
committerSage Weil <sage@redhat.com>
Mon, 8 Sep 2014 22:51:58 +0000 (15:51 -0700)
Signed-off-by: Sage Weil <sage@redhat.com>
configure.ac

index 78aa3badc9b68ba45c30a77a1ec16df0a94dfc23..cccf2d980facfe83b10c4aaf94463ad1aaf5fd3c 100644 (file)
@@ -87,18 +87,30 @@ AM_CXXFLAGS="${AM_CXXFLAGS}"
 # Check for yasm
 if yasm -f elf64 src/common/crc32c_intel_fast_asm.S -o /dev/null; then
    echo 'we have a modern and working yasm'
-   if test `arch` = "x86_64"; then
+   if test `arch` = "x86_64" ; then
       echo 'we are x86_64'
-      AC_DEFINE([HAVE_GOOD_YASM_ELF64], [1], [we have a recent yasm and are x86_64])
-      with_good_yasm=yes
-
-      if yasm -f elf64 -i src/ceph/src/ceph/src/erasure-code/isa/isa-l/include/ src/erasure-code/isa/isa-l/erasure_code/gf_vect_dot_prod_avx2.asm.s -o /dev/null 2> /dev/null ; then
-         echo 'yasm can also build the isa-l stuff'
-         AC_DEFINE([HAVE_BETTER_YASM_ELF64], [1], [yasm can also build the isa-l])
-        with_better_yasm=yes
+      arch_x32=0
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[
+        #if defined(__x86_64__) && defined(__ILP32__)
+        #error x32
+        #endif]])], [], [arch_x32=1])
+      if test $arch_x32 -eq 0 ; then
+         echo 'we are not x32'
+         AC_DEFINE([HAVE_GOOD_YASM_ELF64], [1], [we have a recent yasm and are x86_64])
+         with_good_yasm=yes
+
+         if yasm -f elf64 -i src/ceph/src/ceph/src/erasure-code/isa/isa-l/include/ src/erasure-code/isa/isa-l/erasure_code/gf_vect_dot_prod_avx2.asm.s -o /dev/null 2> /dev/null ; then
+            echo 'yasm can also build the isa-l stuff'
+            AC_DEFINE([HAVE_BETTER_YASM_ELF64], [1], [yasm can also build the isa-l])
+           with_better_yasm=yes
+         else
+            echo "yasm doesn't build the isa-l stuff"
+        fi
       else
-         echo "yasm doesn't build the isa-l stuff"
+         echo 'we are x32; no yasm for you'
       fi
+   else
+      echo 'we are not x86_64 && !x32'
    fi
 else
    echo 'we do not have a modern/working yasm'