Hello community,

here is the log from the commit of package fplll for openSUSE:Factory checked 
in at 2020-06-29 21:18:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fplll (Old)
 and      /work/SRC/openSUSE:Factory/.fplll.new.3060 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fplll"

Mon Jun 29 21:18:54 2020 rev:7 rq:817747 version:5.3.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/fplll/fplll.changes      2020-06-05 
20:29:05.309326557 +0200
+++ /work/SRC/openSUSE:Factory/.fplll.new.3060/fplll.changes    2020-06-29 
21:19:25.349980262 +0200
@@ -1,0 +2,6 @@
+Mon Jun 29 15:44:22 UTC 2020 - Jan Engelhardt <[email protected]>
+
+- Update to release 5.3.3
+  * No changelog was provided
+
+-------------------------------------------------------------------

Old:
----
  fplll-5.3.2.tar.gz

New:
----
  fplll-5.3.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ fplll.spec ++++++
--- /var/tmp/diff_new_pack.Dwh7UI/_old  2020-06-29 21:19:26.045982415 +0200
+++ /var/tmp/diff_new_pack.Dwh7UI/_new  2020-06-29 21:19:26.045982415 +0200
@@ -18,7 +18,7 @@
 
 Name:           fplll
 %define lname   libfplll6
-Version:        5.3.2
+Version:        5.3.3
 Release:        0
 Summary:        Lenstra-Lovász Lattice Basis Reduction Algorithm Library
 License:        LGPL-2.1-or-later

++++++ fplll-5.3.2.tar.gz -> fplll-5.3.3.tar.gz ++++++
++++ 2233 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fplll-5.3.2/README.md new/fplll-5.3.3/README.md
--- old/fplll-5.3.2/README.md   2020-01-09 15:50:30.000000000 +0100
+++ new/fplll-5.3.3/README.md   2020-06-29 17:35:42.000000000 +0200
@@ -113,7 +113,7 @@
        
        sudo apt-get update
        
-Then run `sudo apt-get install <packages>` for the (indirectly) required 
packages, such as `make`, `autoconf`, `libtool`, `gcc`, `g++`, `libgmp-dev`, 
and `libmpfr-dev`. Finally, download the fplll source code, extract the 
contents, navigate to this folder in Bash (commonly found under `/mnt/c/<local 
path>` when stored somewhere on the `C:\` drive), and run:
+Then run `sudo apt-get install <packages>` for the (indirectly) required 
packages, such as `make`, `autoconf`, `libtool`, `gcc`, `g++`, `libgmp-dev`, 
`libmpfr-dev` and `pkg-config`. Finally, download the fplll source code, 
extract the contents, navigate to this folder in Bash (commonly found under 
`/mnt/c/<local path>` when stored somewhere on the `C:\` drive), and run:
        
        ./autogen.sh
        ./configure
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fplll-5.3.2/config.h.in new/fplll-5.3.3/config.h.in
--- old/fplll-5.3.2/config.h.in 2020-01-09 15:50:54.000000000 +0100
+++ new/fplll-5.3.3/config.h.in 2020-06-29 17:36:02.000000000 +0200
@@ -21,7 +21,7 @@
 /* long version string */
 #undef FPLLL_VERSION_INFO
 
-/* defined when libqd-dev is available */
+/* defined when libqd is usable */
 #undef FPLLL_WITH_QD
 
 /* recursive enumeration enabled */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fplll-5.3.2/configure.ac new/fplll-5.3.3/configure.ac
--- old/fplll-5.3.2/configure.ac        2020-01-09 15:50:30.000000000 +0100
+++ new/fplll-5.3.3/configure.ac        2020-06-29 17:35:42.000000000 +0200
@@ -2,7 +2,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.61)
-AC_INIT(fplll, 5.3.2)
+AC_INIT(fplll, 5.3.3)
 AC_CONFIG_SRCDIR([fplll/fplll.cpp])
 
 # cf http://comments.gmane.org/gmane.comp.sysutils.autoconf.general/15737
@@ -39,7 +39,7 @@
 #    current, and set both revision and age to zero.
 
 FPLLL_LT_CURRENT=6
-FPLLL_LT_REVISION=2
+FPLLL_LT_REVISION=3
 FPLLL_LT_AGE=0
 
 AC_SUBST(FPLLL_LT_CURRENT)
@@ -67,11 +67,8 @@
              LDFLAGS="$LDFLAGS -L$withval/lib"
              mpir_lib_path="$withval/lib"
           ])
-       AC_CHECK_LIB(mpir, __gmpz_init, , [AC_MSG_ERROR(
-       [MPIR not found, see http://mpir.org])])
        AC_CHECK_LIB(mpir, __gmp_get_memory_functions, , [AC_MSG_ERROR(
-       [MPIR version too old, need >= 1.0.0, see http://mpir.org])])
-        LIBGMP="-lmpir"
+       [MPIR version >= 1.0.0 needed, see http://mpir.org])])
 ])
 
 AS_IF([test "x$enable_mpir" != "xyes"], [
@@ -81,15 +78,10 @@
              LDFLAGS="$LDFLAGS -L$withval/lib"
              mpir_lib_path="$withval/lib"
           ])
-       AC_CHECK_LIB(gmp, __gmpz_init, , [AC_MSG_ERROR(
-       [GNU MP not found, see http://mpir.org])])
        AC_CHECK_LIB(gmp, __gmp_get_memory_functions, , [AC_MSG_ERROR(
-       [GMP version too old, need >= 4.2.0, see http://gmplib.org])])
-        LIBGMP="-lgmp"
+       [GMP version >= 4.2.0 needed, see http://gmplib.org])])
 ])
 
-AC_SUBST(LIBGMP)
-
 AC_ARG_WITH(mpfr,
    AS_HELP_STRING([--with-mpfr=@<:@=DIR@:>@], [MPFR install directory]), [
       CPPFLAGS="$CPPFLAGS -I$withval/include"
@@ -97,28 +89,54 @@
        mpfr_lib_path="$withval/lib"
    ])
 
-AC_CHECK_LIB(mpfr, mpfr_add, , [AC_MSG_ERROR(
-[MPFR not found, see http://www.mpfr.org])])
-
 AC_CHECK_LIB(mpfr, mpfr_fms, , [AC_MSG_ERROR(
-[MPFR version too old, need >= 2.3.0, see http://www.mpfr.org])])
+[MPFR version >= 2.3.0 needed, see http://www.mpfr.org])])
 
 AC_ARG_WITH(qd, AS_HELP_STRING([--with-qd=@<:@=DIR@:>@], [quaddouble install 
directory]),)
 
-AS_IF([test "x$with_qd" != "xno"], [
-       CPPFLAGS="$CPPFLAGS -I$with_qd/include"
-       LDFLAGS="$LDFLAGS -L$with_qd/lib"
-       qd_lib_path="$with_qd/lib"
-       AC_CHECK_HEADER(qd/dd_real.h,
-           have_libqd="yes",
-           have_libqd="no")
-      ])
+# Act as if --with-qd was passed, by default.
+AS_IF([test -z "$with_qd"], [with_qd=yes])
+
+# Passing --with-qd (without an argument) will use pkg-config to
+# detect qd on the system, or fall back to manual detection of headers
+# and libraries if that didn't work for some reason.
+#
+# We only show a warning if we cannot find libqd, it is optional but 
recommended
+AS_IF([test "x$with_qd" == "xyes"], [
+  PKG_CHECK_MODULES([LIBQD], [qd], [have_libqd="yes"], [
+    # fall back to manual search.
+    AC_SEARCH_LIBS(c_dd_add,
+                   qd,
+                   [
+                     AC_CHECK_HEADER(qd/dd_real.h,
+                       [have_libqd="yes"],
+                       [AC_MSG_WARN([unable to find header qd/dd_real.h])])
+                   ],
+                   [ AC_MSG_WARN([unable to find c_dd_add() in libqd]) ]
+    )]
+  )],
+  # else if
+  [test "x$with_qd" != "xno"], [
+  CPPFLAGS="$CPPFLAGS -I$with_qd/include"
+  AC_CHECK_HEADER(qd/dd_real.h, [
+    LDFLAGS="$LDFLAGS -L$with_qd/lib"
+    qd_lib_path="$with_qd/lib"
+    LIBQD_LIBS="-lqd"
+    have_libqd="yes"],
+    [ AC_MSG_WARN([unable to find header qd/dd_real.h]) ]
+  )]
+)
 
 AS_IF([test "x${have_libqd}" = "xyes"], [
-    LIBQD_LIBADD="-lqd"
-    AC_DEFINE([FPLLL_WITH_QD], [1], [defined when libqd-dev is available])])
+  AC_DEFINE([FPLLL_WITH_QD], [1], [defined when libqd is usable])
+])
 
-AC_SUBST(LIBQD_LIBADD)
+# This will be non-empty if we found qd using pkg-config, or if a path
+# was passed to --with-qd=<path> and we set the variable ourselves. If
+# we found libqd via a manual library search, on the other hand, then
+# the linker flag will be found in LIBS instead because that's just how
+# the AC_SEARCH_LIBS macro works.
+AC_SUBST(LIBQD_LIBS)
 
 # Checks for header files.
 AC_HEADER_STDC
@@ -137,6 +155,8 @@
 
 AX_PTHREAD()
 
+CHECK_ATOMIC()
+
 # enumeration dimension
 max_enum_dim=256
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fplll-5.3.2/fplll/Makefile.am new/fplll-5.3.3/fplll/Makefile.am
--- old/fplll-5.3.2/fplll/Makefile.am   2020-01-09 15:50:30.000000000 +0100
+++ new/fplll-5.3.3/fplll/Makefile.am   2020-06-29 17:35:42.000000000 +0200
@@ -68,7 +68,7 @@
 
 # latsieve bin
 latsieve_SOURCES=sieve/sieve_main.cpp sieve/sieve_main.h
-latsieve_LDADD=libfplll.la $(LIBQD_LIBADD)
+latsieve_LDADD=libfplll.la $(LIBQD_LIBS)
 
 # libfplll
 libfplll_la_SOURCES=fplll.cpp fplll.h \
@@ -107,7 +107,7 @@
 libfplll_la_CXXFLAGS=$(PTHREAD_CFLAGS)
 
 EXTRA_libfplll_la_SOURCES= svpcvp.cpp
-libfplll_la_LIBADD=$(LIBGMP) -lmpfr $(LIBQD_LIBADD) $(PTHREAD_LIBS)
+libfplll_la_LIBADD=$(LIBQD_LIBS) $(PTHREAD_LIBS)
 libfplll_la_LDFLAGS=-no-undefined -version-info 
@FPLLL_LT_CURRENT@:@FPLLL_LT_REVISION@:@FPLLL_LT_AGE@ $(PTHREAD_CFLAGS)
 
 if FPLLL_PARALLEL_ENUM
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fplll-5.3.2/fplll/main.cpp new/fplll-5.3.3/fplll/main.cpp
--- old/fplll-5.3.2/fplll/main.cpp      2020-01-09 15:50:30.000000000 +0100
+++ new/fplll-5.3.3/fplll/main.cpp      2020-06-29 17:35:42.000000000 +0200
@@ -146,6 +146,8 @@
     param.gh_factor = o.bkz_gh_factor;
   if (o.bkz_flags & BKZ_MAX_LOOPS)
     param.max_loops = o.bkz_max_loops;
+  if (o.bkz_flags & BKZ_MAX_TIME)
+    param.max_time = o.bkz_max_time;
   if (o.verbose)
     param.flags |= BKZ_VERBOSE;
   if (o.no_lll)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fplll-5.3.2/fplll/nr/nr_Z.inl new/fplll-5.3.3/fplll/nr/nr_Z.inl
--- old/fplll-5.3.2/fplll/nr/nr_Z.inl   2020-01-09 15:50:30.000000000 +0100
+++ new/fplll-5.3.3/fplll/nr/nr_Z.inl   2020-06-29 17:35:42.000000000 +0200
@@ -26,6 +26,7 @@
    */
   inline Z_NR<Z>();
   inline Z_NR<Z>(const Z_NR<Z> &z);
+  inline Z_NR<Z>(const Z &z);
   inline ~Z_NR<Z>();
 
   /** get data */
@@ -156,6 +157,11 @@
   inline void sub_ui(const Z_NR<Z> &a, unsigned int b);
 
   /**
+   * value := a mod b
+   */
+  inline void mod(const Z_NR<Z> &a, const Z_NR<Z> &b);
+
+  /**
    * value := -a.
    */
   inline void neg(const Z_NR<Z> &a);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fplll-5.3.2/fplll/nr/nr_Z_d.inl new/fplll-5.3.3/fplll/nr/nr_Z_d.inl
--- old/fplll-5.3.2/fplll/nr/nr_Z_d.inl 2020-01-09 15:50:30.000000000 +0100
+++ new/fplll-5.3.3/fplll/nr/nr_Z_d.inl 2020-06-29 17:35:42.000000000 +0200
@@ -13,7 +13,7 @@
 template <> inline Z_NR<double>::Z_NR() {}
 
 template <> inline Z_NR<double>::Z_NR(const Z_NR<double> &z) : data(z.data) {}
-
+template <> inline Z_NR<double>::Z_NR(const double &z) : data(z) {}
 template <> inline Z_NR<double>::~Z_NR() {}
 
 /** get data */
@@ -145,6 +145,11 @@
   data = a.data - static_cast<double>(b);
 }
 
+template <> inline void Z_NR<double>::mod(const Z_NR<double> &a, const 
Z_NR<double> &b)
+{
+  data = std::fmod(a.data, b.data);
+}
+
 template <> inline void Z_NR<double>::neg(const Z_NR<double> &a) { data = 
-a.data; }
 
 template <> inline void Z_NR<double>::mul(const Z_NR<double> &a, const 
Z_NR<double> &b)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fplll-5.3.2/fplll/nr/nr_Z_l.inl new/fplll-5.3.3/fplll/nr/nr_Z_l.inl
--- old/fplll-5.3.2/fplll/nr/nr_Z_l.inl 2020-01-09 15:50:30.000000000 +0100
+++ new/fplll-5.3.3/fplll/nr/nr_Z_l.inl 2020-06-29 17:35:42.000000000 +0200
@@ -13,7 +13,7 @@
 template <> inline Z_NR<long>::Z_NR() {}
 
 template <> inline Z_NR<long>::Z_NR(const Z_NR<long> &z) : data(z.data) {}
-
+template <> inline Z_NR<long>::Z_NR(const long &z) : data(z) {}
 template <> inline Z_NR<long>::~Z_NR() {}
 
 /** get data */
@@ -99,7 +99,6 @@
 template <> inline bool Z_NR<long>::operator!=(const Z_NR<long> &a) const { 
return data != a.data; }
 
 template <> inline bool Z_NR<long>::operator!=(long a) const { return data != 
a; }
-
 /** arithmetic */
 template <> inline void Z_NR<long>::add(const Z_NR<long> &a, const Z_NR<long> 
&b)
 {
@@ -120,7 +119,10 @@
 {
   data = a.data - b;
 }
-
+template <> inline void Z_NR<long>::mod(const Z_NR<long> &a, const Z_NR<long> 
&b)
+{
+  data = a.data % b.data;
+}
 template <> inline void Z_NR<long>::neg(const Z_NR<long> &a) { data = -a.data; 
}
 
 template <> inline void Z_NR<long>::mul(const Z_NR<long> &a, const Z_NR<long> 
&b)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fplll-5.3.2/fplll/nr/nr_Z_mpz.inl new/fplll-5.3.3/fplll/nr/nr_Z_mpz.inl
--- old/fplll-5.3.2/fplll/nr/nr_Z_mpz.inl       2020-01-09 15:50:30.000000000 
+0100
+++ new/fplll-5.3.3/fplll/nr/nr_Z_mpz.inl       2020-06-29 17:35:42.000000000 
+0200
@@ -12,6 +12,8 @@
 
 template <> inline Z_NR<mpz_t>::Z_NR(const Z_NR<mpz_t> &z) { 
mpz_init_set(data, z.data); }
 
+// Note - you'll still need to call mpz_free on a, because references are 
non-owning.
+template <> inline Z_NR<mpz_t>::Z_NR(const mpz_t &z) { mpz_init_set(data, z); }
 template <> inline Z_NR<mpz_t>::~Z_NR() { mpz_clear(data); }
 
 /** get data */
@@ -54,6 +56,7 @@
 /** operator */
 template <> inline void Z_NR<mpz_t>::operator=(const Z_NR<mpz_t> &a) { 
mpz_set(data, a.data); }
 
+// Note - you'll still need to call mpz_free on a, because references are 
non-owning.
 template <> inline void Z_NR<mpz_t>::operator=(const mpz_t &a) { mpz_set(data, 
a); }
 
 template <> inline void Z_NR<mpz_t>::operator=(long a) { mpz_set_si(data, a); }
@@ -121,6 +124,11 @@
   mpz_sub_ui(data, a.data, b);
 }
 
+template <> inline void Z_NR<mpz_t>::mod(const Z_NR<mpz_t> &a, const 
Z_NR<mpz_t> &b)
+{
+  mpz_mod(data, a.data, b.data);
+}
+
 template <> inline void Z_NR<mpz_t>::neg(const Z_NR<mpz_t> &a) { mpz_neg(data, 
a.data); }
 
 template <> inline void Z_NR<mpz_t>::mul(const Z_NR<mpz_t> &a, const 
Z_NR<mpz_t> &b)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fplll-5.3.2/fplll.pc.in new/fplll-5.3.3/fplll.pc.in
--- old/fplll-5.3.2/fplll.pc.in 2020-01-09 15:50:30.000000000 +0100
+++ new/fplll-5.3.3/fplll.pc.in 2020-06-29 17:35:42.000000000 +0200
@@ -7,4 +7,4 @@
 Description: lattice algorithms with floating-point computations
 Version: @PACKAGE_VERSION@
 Cflags: @PTHREAD_CFLAGS@
-Libs: -L${libdir} @LIBQD_LIBADD@ @LIBGMP@ @PTHREAD_LIBS@ -lmpfr -lfplll
+Libs: -L${libdir} @LIBQD_LIBS@ @PTHREAD_LIBS@ @LIBS@ -lfplll
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fplll-5.3.2/m4/ax_atomic.m4 new/fplll-5.3.3/m4/ax_atomic.m4
--- old/fplll-5.3.2/m4/ax_atomic.m4     1970-01-01 01:00:00.000000000 +0100
+++ new/fplll-5.3.3/m4/ax_atomic.m4     2020-06-29 17:35:42.000000000 +0200
@@ -0,0 +1,45 @@
+# Some versions of gcc/libstdc++ require linking with -latomic if
+# using the C++ atomic library.
+
+# Copyright (c) 2015-2016 Tim Kosse <[email protected]>
+
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+m4_define([_CHECK_ATOMIC_testbody], [[
+  #include <atomic>
+  #include <cstdint>
+
+  int main() {
+    std::atomic<int64_t> a{};
+
+    int64_t v = 5;
+    int64_t r = a.fetch_add(v);
+    return static_cast<int>(r);
+  }
+]])
+
+AC_DEFUN([CHECK_ATOMIC], [
+
+  AC_LANG_PUSH(C++)
+
+  AC_MSG_CHECKING([whether std::atomic can be used without link library])
+
+  AC_LINK_IFELSE([AC_LANG_SOURCE([_CHECK_ATOMIC_testbody])],[
+      AC_MSG_RESULT([yes])
+    ],[
+      AC_MSG_RESULT([no])
+      LIBS="$LIBS -latomic"
+      AC_MSG_CHECKING([whether std::atomic needs -latomic])
+      AC_LINK_IFELSE([AC_LANG_SOURCE([_CHECK_ATOMIC_testbody])],[
+          AC_MSG_RESULT([yes])
+        ],[
+          AC_MSG_RESULT([no])
+          AC_MSG_FAILURE([cannot figure out how to use std::atomic])
+        ])
+    ])
+
+  AC_LANG_POP
+])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fplll-5.3.2/m4/ax_pthread.m4 new/fplll-5.3.3/m4/ax_pthread.m4
--- old/fplll-5.3.2/m4/ax_pthread.m4    2020-01-09 15:50:30.000000000 +0100
+++ new/fplll-5.3.3/m4/ax_pthread.m4    2020-06-29 17:35:42.000000000 +0200
@@ -55,6 +55,7 @@
 #
 #   Copyright (c) 2008 Steven G. Johnson <[email protected]>
 #   Copyright (c) 2011 Daniel Richard G. <[email protected]>
+#   Copyright (c) 2019 Marc Stevens <[email protected]>
 #
 #   This program is free software: you can redistribute it and/or modify it
 #   under the terms of the GNU General Public License as published by the
@@ -82,8 +83,7 @@
 #   modified version of the Autoconf Macro, you may extend this special
 #   exception to the GPL to apply to your modified version as well.
 
-# modified based on version serial 26
-## serial 26
+#serial 27
 
 AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
 AC_DEFUN([AX_PTHREAD], [
@@ -124,10 +124,12 @@
 # (e.g. DEC) have both -lpthread and -lpthreads, where one of the
 # libraries is broken (non-POSIX).
 
-# Create a list of thread flags to try.  Items starting with a "-" are
-# C compiler flags, and other items are library names, except for "none"
-# which indicates that we try without any flags at all, and "pthread-config"
-# which is a program returning the flags for the Pth emulation library.
+# Create a list of thread flags to try. Items with a "," contain both
+# C compiler flags (before ",") and linker flags (after ","). Other items
+# starting with a "-" are C compiler flags, and remaining items are
+# library names, except for "none" which indicates that we try without
+# any flags at all, and "pthread-config" which is a program returning
+# the flags for the Pth emulation library.
 
 ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread 
--thread-safe -mt pthread-config"
 
@@ -195,36 +197,10 @@
         # that too in a future libc.)  So we'll check first for the
         # standard Solaris way of linking pthreads (-mt -lpthread).
 
-        ax_pthread_flags=",-mt,-lpthread pthread $ax_pthread_flags"
+        ax_pthread_flags="-mt,-lpthread pthread $ax_pthread_flags"
         ;;
 esac
 
-# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC)
-
-AS_IF([test "x$GCC" = "xyes"],
-      [ax_pthread_flags=",-pthread,-lpthread -pthread -pthreads 
$ax_pthread_flags"])
-
-# The presence of a feature test macro requesting re-entrant function
-# definitions is, on some systems, a strong hint that pthreads support is
-# correctly enabled
-
-case $host_os in
-        darwin* | hpux* | linux* | osf* | solaris*)
-        ax_pthread_check_macro="_REENTRANT"
-        ;;
-
-        aix*)
-        ax_pthread_check_macro="_THREAD_SAFE"
-        ;;
-
-        *)
-        ax_pthread_check_macro="--"
-        ;;
-esac
-AS_IF([test "x$ax_pthread_check_macro" = "x--"],
-      [ax_pthread_check_cond=0],
-      [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"])
-
 # Are we compiling with Clang?
 
 AC_CACHE_CHECK([whether $CC is Clang],
@@ -243,83 +219,47 @@
     ])
 ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
 
-ax_pthread_clang_warning=no
 
-# Clang needs special handling, because older versions handle the -pthread
-# option in a rather... idiosyncratic way
+# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC)
 
-if test "x$ax_pthread_clang" = "xyes"; then
+# Note that for GCC and Clang -pthread generally implies -lpthread,
+# except when -nostdlib is passed.
+# This is problematic using libtool to build C++ shared libraries with pthread:
+# [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25460
+# [2] https://bugzilla.redhat.com/show_bug.cgi?id=661333
+# [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=468555
+# To solve this, first try -pthread together with -lpthread for GCC
 
-        # Clang takes -pthread; it has never supported any other flag
+AS_IF([test "x$GCC" = "xyes"],
+      [ax_pthread_flags="-pthread,-lpthread -pthread -pthreads 
$ax_pthread_flags"])
 
-        # (Note 1: This will need to be revisited if a system that Clang
-        # supports has POSIX threads in a separate library.  This tends not
-        # to be the way of modern systems, but it's conceivable.)
+# Clang takes -pthread (never supported any other flag), but we'll try with 
-lpthread first
 
-        # (Note 2: On some systems, notably Darwin, -pthread is not needed
-        # to get POSIX threads support; the API is always present and
-        # active.  We could reasonably leave PTHREAD_CFLAGS empty.  But
-        # -pthread does define _REENTRANT, and while the Darwin headers
-        # ignore this macro, third-party headers might not.)
+AS_IF([test "x$ax_pthread_clang" = "xyes"],
+      [ax_pthread_flags="-pthread,-lpthread -pthread"])
 
-        PTHREAD_CFLAGS="-pthread"
-        PTHREAD_LIBS=
 
-        ax_pthread_ok=yes
+# The presence of a feature test macro requesting re-entrant function
+# definitions is, on some systems, a strong hint that pthreads support is
+# correctly enabled
 
-        # However, older versions of Clang make a point of warning the user
-        # that, in an invocation where only linking and no compilation is
-        # taking place, the -pthread option has no effect ("argument unused
-        # during compilation").  They expect -pthread to be passed in only
-        # when source code is being compiled.
-        #
-        # Problem is, this is at odds with the way Automake and most other
-        # C build frameworks function, which is that the same flags used in
-        # compilation (CFLAGS) are also used in linking.  Many systems
-        # supported by AX_PTHREAD require exactly this for POSIX threads
-        # support, and in fact it is often not straightforward to specify a
-        # flag that is used only in the compilation phase and not in
-        # linking.  Such a scenario is extremely rare in practice.
-        #
-        # Even though use of the -pthread flag in linking would only print
-        # a warning, this can be a nuisance for well-run software projects
-        # that build with -Werror.  So if the active version of Clang has
-        # this misfeature, we search for an option to squash it.
+case $host_os in
+        darwin* | hpux* | linux* | osf* | solaris*)
+        ax_pthread_check_macro="_REENTRANT"
+        ;;
 
-        AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" 
warning when linking with -pthread],
-            [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG],
-            [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown
-             # Create an alternate version of $ac_link that compiles and
-             # links in two steps (.c -> .o, .o -> exe) instead of one
-             # (.c -> exe), because the warning occurs only in the second
-             # step
-             ax_pthread_save_ac_link="$ac_link"
-             ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g'
-             ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"`
-             ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && 
($ax_pthread_link_step)"
-             ax_pthread_save_CFLAGS="$CFLAGS"
-             for ax_pthread_try in '' -Qunused-arguments 
-Wno-unused-command-line-argument unknown; do
-                AS_IF([test "x$ax_pthread_try" = "xunknown"], [break])
-                CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try 
-pthread $ax_pthread_save_CFLAGS"
-                ac_link="$ax_pthread_save_ac_link"
-                AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
-                    [ac_link="$ax_pthread_2step_ac_link"
-                     AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 
0;}]])],
-                         [break])
-                    ])
-             done
-             ac_link="$ax_pthread_save_ac_link"
-             CFLAGS="$ax_pthread_save_CFLAGS"
-             AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no])
-             ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try"
-            ])
+        aix*)
+        ax_pthread_check_macro="_THREAD_SAFE"
+        ;;
 
-        case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in
-                no | unknown) ;;
-                *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG 
$PTHREAD_CFLAGS" ;;
-        esac
+        *)
+        ax_pthread_check_macro="--"
+        ;;
+esac
+AS_IF([test "x$ax_pthread_check_macro" = "x--"],
+      [ax_pthread_check_cond=0],
+      [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"])
 
-fi # $ax_pthread_clang = yes
 
 if test "x$ax_pthread_ok" = "xno"; then
 for ax_pthread_try_flag in $ax_pthread_flags; do
@@ -329,17 +269,17 @@
                 AC_MSG_CHECKING([whether pthreads work without any flags])
                 ;;
 
+                *,*)
+                PTHREAD_CFLAGS=`echo $ax_pthread_try_flag | sed 
"s/^\(.*\),\(.*\)$/\1/"`
+                PTHREAD_LIBS=`echo $ax_pthread_try_flag | sed 
"s/^\(.*\),\(.*\)$/\2/"`
+                AC_MSG_CHECKING([whether pthreads work with "$PTHREAD_CFLAGS" 
and "$PTHREAD_LIBS"])
+                ;;
+
                 -*)
                 AC_MSG_CHECKING([whether pthreads work with 
$ax_pthread_try_flag])
                 PTHREAD_CFLAGS="$ax_pthread_try_flag"
                 ;;
 
-                ,*)
-                PTHREAD_CFLAGS=`echo $ax_pthread_try_flag | sed 
"s/^,\(.*\),\(.*\)$/\1/"`
-                PTHREAD_LIBS=`echo $ax_pthread_try_flag | sed 
"s/^,\(.*\),\(.*\)$/\2/"`
-                AC_MSG_CHECKING([whether pthreads work with 
CFLAGS="$PTHREAD_CFLAGS" LIBS="$PTHREAD_LIBS"])
-                ;;
-
                 pthread-config)
                 AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], 
[no])
                 AS_IF([test "x$ax_pthread_config" = "xno"], [continue])
@@ -400,6 +340,80 @@
 done
 fi
 
+
+# Clang needs special handling, because older versions handle the -pthread
+# option in a rather... idiosyncratic way
+
+if test "x$ax_pthread_clang" = "xyes"; then
+
+        # Clang takes -pthread; it has never supported any other flag
+
+        # (Note 1: This will need to be revisited if a system that Clang
+        # supports has POSIX threads in a separate library.  This tends not
+        # to be the way of modern systems, but it's conceivable.)
+
+        # (Note 2: On some systems, notably Darwin, -pthread is not needed
+        # to get POSIX threads support; the API is always present and
+        # active.  We could reasonably leave PTHREAD_CFLAGS empty.  But
+        # -pthread does define _REENTRANT, and while the Darwin headers
+        # ignore this macro, third-party headers might not.)
+
+        # However, older versions of Clang make a point of warning the user
+        # that, in an invocation where only linking and no compilation is
+        # taking place, the -pthread option has no effect ("argument unused
+        # during compilation").  They expect -pthread to be passed in only
+        # when source code is being compiled.
+        #
+        # Problem is, this is at odds with the way Automake and most other
+        # C build frameworks function, which is that the same flags used in
+        # compilation (CFLAGS) are also used in linking.  Many systems
+        # supported by AX_PTHREAD require exactly this for POSIX threads
+        # support, and in fact it is often not straightforward to specify a
+        # flag that is used only in the compilation phase and not in
+        # linking.  Such a scenario is extremely rare in practice.
+        #
+        # Even though use of the -pthread flag in linking would only print
+        # a warning, this can be a nuisance for well-run software projects
+        # that build with -Werror.  So if the active version of Clang has
+        # this misfeature, we search for an option to squash it.
+
+        AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" 
warning when linking with -pthread],
+            [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG],
+            [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown
+             # Create an alternate version of $ac_link that compiles and
+             # links in two steps (.c -> .o, .o -> exe) instead of one
+             # (.c -> exe), because the warning occurs only in the second
+             # step
+             ax_pthread_save_ac_link="$ac_link"
+             ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g'
+             ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"`
+             ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && 
($ax_pthread_link_step)"
+             ax_pthread_save_CFLAGS="$CFLAGS"
+             for ax_pthread_try in '' -Qunused-arguments 
-Wno-unused-command-line-argument unknown; do
+                AS_IF([test "x$ax_pthread_try" = "xunknown"], [break])
+                CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try 
-pthread $ax_pthread_save_CFLAGS"
+                ac_link="$ax_pthread_save_ac_link"
+                AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
+                    [ac_link="$ax_pthread_2step_ac_link"
+                     AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 
0;}]])],
+                         [break])
+                    ])
+             done
+             ac_link="$ax_pthread_save_ac_link"
+             CFLAGS="$ax_pthread_save_CFLAGS"
+             AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no])
+             ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try"
+            ])
+
+        case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in
+                no | unknown) ;;
+                *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG 
$PTHREAD_CFLAGS" ;;
+        esac
+
+fi # $ax_pthread_clang = yes
+
+
+
 # Various other checks:
 if test "x$ax_pthread_ok" = "xyes"; then
         ax_pthread_save_CFLAGS="$CFLAGS"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/fplll-5.3.2/tests/Makefile.am new/fplll-5.3.3/tests/Makefile.am
--- old/fplll-5.3.2/tests/Makefile.am   2020-01-09 15:50:30.000000000 +0100
+++ new/fplll-5.3.3/tests/Makefile.am   2020-06-29 17:35:42.000000000 +0200
@@ -40,12 +40,12 @@
 AM_CPPFLAGS = -I$(TOPSRCDIR) -I$(TOPSRCDIR)/fplll -I$(TOPBUILDDIR) 
-DTESTDATADIR=\"$(TOPSRCDIR)/\"
 
 STAGEDIR := $(realpath -s $(TOPBUILDDIR)/.libs)
-AM_LDFLAGS = -L$(STAGEDIR) -Wl,-rpath,$(STAGEDIR) -lfplll -no-install 
$(LIBQD_LIBADD)
+AM_LDFLAGS = -L$(STAGEDIR) -Wl,-rpath,$(STAGEDIR) -lfplll -no-install 
$(LIBQD_LIBS)
 
 TESTS = test_nr test_lll test_enum test_cvp test_svp test_bkz test_pruner 
test_sieve test_gso test_lll_gram test_hlll test_svp_gram test_bkz_gram
 
-test_pruner_LDADD=$(LIBGMP) -lmpfr $(LIBQD_LIBADD)
-test_sieve_LDADD=$(LIBGMP) -lmpfr $(LIBQD_LIBADD)
+test_pruner_LDADD=$(LIBQD_LIBS)
+test_sieve_LDADD=$(LIBQD_LIBS)
 
 test_nr_SOURCES = test_nr.cpp
 test_lll_SOURCES = test_lll.cpp


Reply via email to