[SCM] The rsync repository. - branch master updated

Rsync CVS commit messages rsync-cvs at lists.samba.org
Wed Oct 7 05:41:25 UTC 2020


The branch, master has been updated
       via  b7fab6f2 Allow cross-compilation with SIMD (x86_84) (#104)
       via  9fc7deab Update CI builds to new path-setting idiom.
      from  b115bc8a Silence a few more warnings.

https://git.samba.org/?p=rsync.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit b7fab6f285ff0ff3816b109a8c3131b6ded0b484
Author: edo <edo.rus at gmail.com>
Date:   Wed Oct 7 08:33:57 2020 +0300

    Allow cross-compilation with SIMD (x86_84) (#104)
    
    Replace runtime SIMD check with a compile-only test in case of
    cross-compilation.
    
    You can still use '--enable-simd=no' to build x86_64 code without
    SIMD instructions.

commit 9fc7deab0d917db5ddcdc752be13853039c8f877
Author: Wayne Davison <wayne at opencoder.net>
Date:   Tue Oct 6 22:28:17 2020 -0700

    Update CI builds to new path-setting idiom.

-----------------------------------------------------------------------

Summary of changes:
 .github/workflows/build.yml |  6 +++---
 configure.ac                | 20 +++++++++++++-------
 2 files changed, 16 insertions(+), 10 deletions(-)


Changeset truncated at 500 lines:

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 84f7afe8..65de5a0d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -20,7 +20,7 @@ jobs:
       run: |
         sudo apt-get install acl libacl1-dev attr libattr1-dev liblz4-dev libzstd-dev libxxhash-dev python3-cmarkgfm openssl wget
         wget https://download.samba.org/pub/rsync/generated-files/git-version.h
-        echo "::add-path::/usr/local/bin"
+        echo "/usr/local/bin" >>$GITHUB_PATH
     - name: configure
       run: ./configure
     - name: make
@@ -57,7 +57,7 @@ jobs:
         brew install automake openssl xxhash zstd lz4 wget
         sudo pip3 install commonmark
         wget https://download.samba.org/pub/rsync/generated-files/git-version.h
-        echo "::add-path::/usr/local/bin"
+        echo "/usr/local/bin" >>$GITHUB_PATH
     - name: configure
       run: CPPFLAGS=-I/usr/local/opt/openssl/include/ LDFLAGS=-L/usr/local/opt/openssl/lib/ ./configure
     - name: make
@@ -93,7 +93,7 @@ jobs:
       run: |
         cyg-get make autoconf automake gcc-core attr libattr-devel python3 python36-commonmark libzstd-devel liblz4-devel libssl-devel libxxhash0 libxxhash-devel
         curl.exe -o git-version.h https://download.samba.org/pub/rsync/generated-files/git-version.h
-        echo "::add-path::C:/tools/cygwin/bin"
+        echo "C:/tools/cygwin/bin" >>$GITHUB_PATH
     - name: configure
       run: bash -c './configure'
     - name: make
diff --git a/configure.ac b/configure.ac
index 3fd7e5d5..e469981b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -208,12 +208,7 @@ AC_ARG_ENABLE(simd,
 
 # Clag is crashing with -g -O2, so we'll get rid of -g for now.
 CXXFLAGS=`echo "$CXXFLAGS" | sed 's/-g //'`
-
-if test x"$enable_simd" != x"no"; then
-    # For x86-64 SIMD, g++ >=5 or clang++ >=7 is required
-    if test x"$host_cpu" = x"x86_64"; then
-	AC_LANG(C++)
-	AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
+m4_define(SIMD_X86_64_TEST, [[#include <stdio.h>
 #include <immintrin.h>
 __attribute__ ((target("default"))) int test_ssse3(int x) { return x; }
 __attribute__ ((target("default"))) int test_sse2(int x) { return x; }
@@ -233,7 +228,18 @@ __attribute__ ((target("ssse3"))) void more_testing(char* buf, int len)
 	in8_2 = _mm_lddqu_si128((__m128i_u*)&buf[i + 16]);
     }
 }
-]], [[if (test_ssse3(42) != 42 || test_sse2(42) != 42 || test_avx2(42) != 42) exit(1);]])],[CXX_OK=yes],[CXX_OK=no],[CXX_OK=no])
+]])
+
+if test x"$enable_simd" != x"no"; then
+    # For x86-64 SIMD, g++ >=5 or clang++ >=7 is required
+    if test x"$host_cpu" = x"x86_64"; then
+	AC_LANG(C++)
+	if test x"$host_cpu" = x"$build_cpu"; then
+	    AC_RUN_IFELSE([AC_LANG_PROGRAM([SIMD_X86_64_TEST],[[if (test_ssse3(42) != 42 || test_sse2(42) != 42 || test_avx2(42) != 42) exit(1);]])],
+		[CXX_OK=yes],[CXX_OK=no])
+	else
+	    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([SIMD_X86_64_TEST])],[CXX_OK=yes],[CXX_OK=no])
+	fi
 	AC_LANG(C)
 	if test x"$CXX_OK" = x"yes"; then
 	    # AC_MSG_RESULT() is called below.


-- 
The rsync repository.



More information about the rsync-cvs mailing list