Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libm4ri for openSUSE:Factory checked in at 2025-12-08 11:55:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libm4ri (Old) and /work/SRC/openSUSE:Factory/.libm4ri.new.1939 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libm4ri" Mon Dec 8 11:55:45 2025 rev:12 rq:1321441 version:20251207 Changes: -------- --- /work/SRC/openSUSE:Factory/libm4ri/libm4ri.changes 2025-02-10 18:13:24.461765554 +0100 +++ /work/SRC/openSUSE:Factory/.libm4ri.new.1939/libm4ri.changes 2025-12-08 11:56:37.308192839 +0100 @@ -1,0 +2,14 @@ +Sun Dec 7 13:03:04 UTC 2025 - Jan Engelhardt <[email protected]> + +- Update to release 20251207 + * This release fixes compilation on non-Linux and non-x86 systems + +------------------------------------------------------------------- +Sat Dec 6 11:47:36 UTC 2025 - Jan Engelhardt <[email protected]> + +- Update to release 20251206 + * Fix overflows in mzd_init() + * Avoid macro expansion producing 'defined' has undefined behavior + * Correct L3 Detection + +------------------------------------------------------------------- Old: ---- m4ri-20250128.tar.gz New: ---- m4ri-20251207.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libm4ri.spec ++++++ --- /var/tmp/diff_new_pack.AkU8jk/_old 2025-12-08 11:56:38.076225016 +0100 +++ /var/tmp/diff_new_pack.AkU8jk/_new 2025-12-08 11:56:38.076225016 +0100 @@ -1,7 +1,7 @@ # # spec file for package libm4ri # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2025 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: libm4ri -Version: 20250128 +Version: 20251207 %define lname libm4ri1 Release: 0 Summary: Library for linear arithmetic over GF(2) ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.AkU8jk/_old 2025-12-08 11:56:38.120226859 +0100 +++ /var/tmp/diff_new_pack.AkU8jk/_new 2025-12-08 11:56:38.132227361 +0100 @@ -1,5 +1,5 @@ -mtime: 1739137941 -commit: d88b9891fb358eb8f78d855273f862c675ea3b31adb14f17ba40b71ec3e3d720 +mtime: 1765112615 +commit: d27fb83bb5a5883b5068163ce078898dcbe1c5667a9b504c878282fcbfd05576 url: https://src.opensuse.org/jengelh/libm4ri revision: master ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2025-12-07 14:04:05.000000000 +0100 @@ -0,0 +1 @@ +.osc ++++++ m4ri-20250128.tar.gz -> m4ri-20251207.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/m4ri-20250128/Makefile.am new/m4ri-20251207/Makefile.am --- old/m4ri-20250128/Makefile.am 2025-01-28 10:48:24.000000000 +0100 +++ new/m4ri-20251207/Makefile.am 2025-12-07 11:21:29.000000000 +0100 @@ -1,6 +1,7 @@ AUTOMAKE_OPTIONS = foreign subdir-objects ACLOCAL_AMFLAGS = -I m4 +AM_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir) -iquote$(top_builddir)/m4ri AM_CFLAGS=${SIMD_FLAGS} ${OPENMP_CFLAGS} ${DEBUG_FLAGS} ${LIBPNG_CFLAGS} lib_LTLIBRARIES = libm4ri.la @@ -57,7 +58,7 @@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = m4ri.pc -libm4ri_la_LDFLAGS = -version-info @LT_VERSION@ -no-undefined +libm4ri_la_LDFLAGS = -version-info @LT_VERSION@ -no-undefined @M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS@ libm4ri_la_LIBADD = $(LIBPNG_LIBADD) $(LIBM) SUBDIRS = . tests diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/m4ri-20250128/Makefile.in new/m4ri-20251207/Makefile.in --- old/m4ri-20250128/Makefile.in 2025-01-28 10:48:33.000000000 +0100 +++ new/m4ri-20251207/Makefile.in 2025-12-07 11:21:44.000000000 +0100 @@ -175,7 +175,7 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/m4ri +DEFAULT_INCLUDES = depcomp = $(SHELL) $(top_srcdir)/depcomp am__maybe_remake_depfiles = depfiles am__depfiles_remade = m4ri/$(DEPDIR)/brilliantrussian.Plo \ @@ -353,11 +353,13 @@ M4RI_DEBUG_MZD = @M4RI_DEBUG_MZD@ M4RI_ENABLE_MMC = @M4RI_ENABLE_MMC@ M4RI_ENABLE_MZD_CACHE = @M4RI_ENABLE_MZD_CACHE@ +M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS = @M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS@ M4RI_HAVE_LIBPNG = @M4RI_HAVE_LIBPNG@ M4RI_HAVE_MM_MALLOC = @M4RI_HAVE_MM_MALLOC@ M4RI_HAVE_OPENMP = @M4RI_HAVE_OPENMP@ M4RI_HAVE_POSIX_MEMALIGN = @M4RI_HAVE_POSIX_MEMALIGN@ -M4RI_HAVE_SSE2 = @M4RI_HAVE_SSE2@ +M4RI_INSTALL_FLAGS = @M4RI_INSTALL_FLAGS@ +M4RI_SSE2_ENABLED = @M4RI_SSE2_ENABLED@ M4RI_USE_PNG_PC = @M4RI_USE_PNG_PC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -449,6 +451,7 @@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = foreign subdir-objects ACLOCAL_AMFLAGS = -I m4 +AM_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir) -iquote$(top_builddir)/m4ri AM_CFLAGS = ${SIMD_FLAGS} ${OPENMP_CFLAGS} ${DEBUG_FLAGS} ${LIBPNG_CFLAGS} lib_LTLIBRARIES = libm4ri.la libm4ri_la_SOURCES = \ @@ -499,7 +502,7 @@ EXTRA_DIST = m4ri/Doxyfile pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = m4ri.pc -libm4ri_la_LDFLAGS = -version-info @LT_VERSION@ -no-undefined +libm4ri_la_LDFLAGS = -version-info @LT_VERSION@ -no-undefined @M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS@ libm4ri_la_LIBADD = $(LIBPNG_LIBADD) $(LIBM) SUBDIRS = . tests DIST_SUBDIRS = $(SUBDIRS) bench diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/m4ri-20250128/README.md new/m4ri-20251207/README.md --- old/m4ri-20250128/README.md 2025-01-28 10:48:24.000000000 +0100 +++ new/m4ri-20251207/README.md 2025-12-07 11:21:29.000000000 +0100 @@ -4,19 +4,19 @@ * basic arithmetic with dense matrices over F2 (addition, equality testing, stacking, augmenting, sub-matrices, randomisation); -* asymptotically fast $O(n^{log_2 7})$ matrix multiplication via the Method of the Four Russians (M4RM) & Strassen-Winograd algorithm; +* asymptotically fast $O(n^{\log_2 7})$ matrix multiplication via the Method of the Four Russians (M4RM) & Strassen-Winograd algorithm; -* asymptotically fast $O(n^{log_2 7})$ PLE factorisation (Gaussian elimination, system solving, …); +* asymptotically fast $O(n^{\log_2 7})$ PLE factorisation (Gaussian elimination, system solving, …); -* fast row echelon form computation and matrix inversion via the Method of the Four Russians (M4RI, $O(n^{3/log n})$); +* fast $O(n^{3/\log n})$ row echelon form computation and matrix inversion via the Method of the Four Russians (M4RI); * asymptotically fast Triangular System solving with Matrices (upper left, lower left, upper right, lower right), * support for the x86/x86_64 SSE2 instruction set where available; -* preliminary support for parallelisation on shared memory systems via OpenMP; +* and preliminary support for parallelisation on shared memory systems via OpenMP. -* and support for Linux, Solaris, and OS X (GCC). +We support M4RI on Linux. Support for Windows (MSYS2/MinGW) and OS X is provided on a best effort basis and may disappear any time. See [Further Reading](https://bitbucket.org/malb/m4ri/wiki/Further%20Reading) for implemented algorithms. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/m4ri-20250128/bench/Makefile.in new/m4ri-20251207/bench/Makefile.in --- old/m4ri-20250128/bench/Makefile.in 2025-01-28 10:48:33.000000000 +0100 +++ new/m4ri-20251207/bench/Makefile.in 2025-12-07 11:21:44.000000000 +0100 @@ -174,7 +174,7 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/m4ri +DEFAULT_INCLUDES = depcomp = $(SHELL) $(top_srcdir)/depcomp am__maybe_remake_depfiles = depfiles am__depfiles_remade = ./$(DEPDIR)/bench_elimination.Po \ @@ -291,11 +291,13 @@ M4RI_DEBUG_MZD = @M4RI_DEBUG_MZD@ M4RI_ENABLE_MMC = @M4RI_ENABLE_MMC@ M4RI_ENABLE_MZD_CACHE = @M4RI_ENABLE_MZD_CACHE@ +M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS = @M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS@ M4RI_HAVE_LIBPNG = @M4RI_HAVE_LIBPNG@ M4RI_HAVE_MM_MALLOC = @M4RI_HAVE_MM_MALLOC@ M4RI_HAVE_OPENMP = @M4RI_HAVE_OPENMP@ M4RI_HAVE_POSIX_MEMALIGN = @M4RI_HAVE_POSIX_MEMALIGN@ -M4RI_HAVE_SSE2 = @M4RI_HAVE_SSE2@ +M4RI_INSTALL_FLAGS = @M4RI_INSTALL_FLAGS@ +M4RI_SSE2_ENABLED = @M4RI_SSE2_ENABLED@ M4RI_USE_PNG_PC = @M4RI_USE_PNG_PC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/m4ri-20250128/configure new/m4ri-20251207/configure --- old/m4ri-20250128/configure 2025-01-28 10:48:33.000000000 +0100 +++ new/m4ri-20251207/configure 2025-12-07 11:21:43.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for m4ri 20250128. +# Generated by GNU Autoconf 2.71 for m4ri 20251207. # # # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, @@ -618,8 +618,8 @@ # Identity of this package. PACKAGE_NAME='m4ri' PACKAGE_TARNAME='m4ri' -PACKAGE_VERSION='20250128' -PACKAGE_STRING='m4ri 20250128' +PACKAGE_VERSION='20251207' +PACKAGE_STRING='m4ri 20251207' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -686,7 +686,9 @@ OPENMP_CFLAGS M4RI_HAVE_POSIX_MEMALIGN M4RI_HAVE_MM_MALLOC -M4RI_HAVE_SSE2 +M4RI_SSE2_ENABLED +M4RI_INSTALL_FLAGS +M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS LIBM LT_SYS_LIBRARY_PATH OTOOL64 @@ -1396,7 +1398,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures m4ri 20250128 to adapt to many kinds of systems. +\`configure' configures m4ri 20251207 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1467,7 +1469,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of m4ri 20250128:";; + short | recursive ) echo "Configuration of m4ri 20251207:";; esac cat <<\_ACEOF @@ -1600,7 +1602,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -m4ri configure 20250128 +m4ri configure 20251207 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1861,7 +1863,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by m4ri $as_me 20250128, which was +It was created by m4ri $as_me 20251207, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -2618,7 +2620,7 @@ # See http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html -LT_VERSION=1:0:0 +LT_VERSION=1:1:0 @@ -3213,7 +3215,7 @@ # Define the identity of the package. PACKAGE='m4ri' - VERSION='20250128' + VERSION='20251207' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -13772,6 +13774,20 @@ +# Check for MinGW to add specific linker flags for DLL symbol exporting +case "$host_os" in + mingw*) + M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS="-Wl,--export-all-symbols" + M4RI_INSTALL_FLAGS="-no-fast-install" + ;; + *) + M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS="" + M4RI_INSTALL_FLAGS="-no-install" + ;; +esac + + + # SSE2 support # Check whether --enable-sse2 was given. if test ${enable_sse2+y} @@ -13793,9 +13809,9 @@ if test "x$enable_sse2" = "xno" then : - M4RI_HAVE_SSE2=0 + M4RI_SSE2_ENABLED=0 else $as_nop - M4RI_HAVE_SSE2="(defined(__SSE2__) && __SSE2__)" + M4RI_SSE2_ENABLED=1 fi @@ -14529,8 +14545,9 @@ ax_l1_size= ax_l2_size= + ax_l3_size= - #Check if the variable is present + # Linux sysfs path if test -e /sys/devices/system/cpu/cpu0/cache/index0/size; then for idx in `seq 0 3`; do if test -e /sys/devices/system/cpu/cpu0/cache/index$idx/size ; then @@ -14545,8 +14562,8 @@ ax_l3_size=$CPU0_L3_CACHE else - if test "x$ax_cv_cpu_vendor" != "xUnknown"; then - #Or use CPUID + # Try CPUID (mostly for Linux without sysfs or during cross-compilation) + if test "x$ax_cv_cpu_vendor" != "xUnknown" && test "x$ax_cv_cpu_vendor" != "xunknown" && test "x$ax_cv_cpu_vendor" != "xIntel"; then ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -14609,8 +14626,8 @@ - cpu_exthigh=`echo $ax_cv_gcc_x86_cpuid_0x80000000 | cut -d ":" -f 1` - if test "x$cpu_exthi" > "x80000004"; then + cpu_exthigh=`echo $ax_cv_gcc_x86_cpuid_0x80000000 | cut -d ":" -f 1` + if test "x$cpu_exthigh" \> "x80000004"; then ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -14672,12 +14689,12 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu - # For L1 cache - l1_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000005 | cut -d ":" -f 4` - ax_l1_size=$((0x$l1_hexval >> 24)) - fi - if test "x$cpu_exthi" > "x80000005"; then + l1_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000005 | cut -d ":" -f 4` + ax_l1_size=$((0x$l1_hexval >> 24)) + fi + + if test "x$cpu_exthigh" \> "x80000005"; then ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -14739,113 +14756,67 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu - # For L2 cache - l2_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000006 | cut -d ":" -f 3` - ax_l2_size=$((0x$l2_hexval >> 16)) - fi - if test "x$cpu_exthi" > "x80000005"; then - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0x80000006 output" >&5 -printf %s "checking for x86 cpuid 0x80000006 output... " >&6; } -if test ${ax_cv_gcc_x86_cpuid_0x80000006+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test "$cross_compiling" = yes -then : - ax_cv_gcc_x86_cpuid_0x80000006=unknown -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdio.h> -int -main (void) -{ - - int op = 0x80000006, level = 0, eax, ebx, ecx, edx; - FILE *f; - __asm__ __volatile__ ("xchg %%ebx, %1\n" - "cpuid\n" - "xchg %%ebx, %1\n" - : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx) - : "a" (op), "2" (level)); - - f = fopen("conftest_cpuid", "w"); if (!f) return 1; - fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx); - fclose(f); - return 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - ax_cv_gcc_x86_cpuid_0x80000006=`cat conftest_cpuid`; rm -f conftest_cpuid -else $as_nop - ax_cv_gcc_x86_cpuid_0x80000006=unknown; rm -f conftest_cpuid -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0x80000006" >&5 -printf "%s\n" "$ax_cv_gcc_x86_cpuid_0x80000006" >&6; } -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu + l2_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000006 | cut -d ":" -f 3` + ax_l2_size=$((0x$l2_hexval >> 16)) + # L3 info in EDX (bits 31:18) → 512-byte blocks (AMD only) + l3_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000006 | cut -d ":" -f 4` + ax_l3_size=$(( (0x$l3_hexval >> 18) * 512 )) + fi + fi - # For L3 cache - l2_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000006 | cut -d ":" -f 4` - ax_l2_size=$((0x$l2_hexval >> 18))*512 + # sysctl fallback + sysctl_exe= + if test -x /usr/sbin/sysctl; then + sysctl_exe=/usr/sbin/sysctl + elif test -x /sbin/sysctl; then + sysctl_exe=/sbin/sysctl fi - fi + if test -n "$sysctl_exe"; then + # L1 + if test -z "$ax_l1_size" -o "$ax_l1_size" = "0"; then + sysctl_out=`$sysctl_exe -n hw.l1dcachesize 2>/dev/null` + if test -n "$sysctl_out"; then + ax_l1_size=$(($sysctl_out / 1024)) + fi + fi + if test -z "$ax_l1_size" -o "$ax_l1_size" = "0"; then + sysctl_out=`$sysctl_exe -n hw.l1icachesize 2>/dev/null` + if test -n "$sysctl_out"; then + ax_l1_size=$(($sysctl_out / 1024)) + fi + fi + if test -z "$ax_l1_size" -o "$ax_l1_size" = "0"; then + sysctl_out=`$sysctl_exe -n hw.l1cachesize 2>/dev/null` + if test -n "$sysctl_out"; then + ax_l1_size=$(($sysctl_out / 1024)) + fi + fi - #Or use sysctl - sysctl_exe= - if test -x /usr/sbin/sysctl ; then - sysctl_exe=/usr/sbin/sysctl - elif test -x /sbin/sysctl ; then - sysctl_exe=/sbin/sysctl - fi - if test -n "$sysctl_exe"; then - if test -z "$ax_l2_size" -o "$ax_l2_size" = "0"; then - sysctl_out=`$sysctl_exe -n hw.l2cachesize 2>/dev/null`; - if test ! -z "$sysctl_out"; then - ax_l2_size=$(($sysctl_out / 1024)) - fi; + # L2 + if test -z "$ax_l2_size" -o "$ax_l2_size" = "0"; then + sysctl_out=`$sysctl_exe -n hw.l2cachesize 2>/dev/null` + if test -n "$sysctl_out"; then + ax_l2_size=$(($sysctl_out / 1024)) + fi + fi - fi - if test -z "$ax_l1_size" -o "$ax_l1_size" = "0" ; then - sysctl_out=`$sysctl_exe -n hw.l1dcachesize 2>/dev/null`; - if test ! -z "$sysctl_out"; then - ax_l1_size=$(($sysctl_out / 1024)) - fi; - fi - if test -z "$ax_l1_size" -o "ax_l1_size" = "0" ; then - sysctl_out=`$sysctl_exe -n hw.l1cachesize 2>/dev/null`; - if test ! -z "$sysctl_out"; then - ax_l1_size=$(($sysctl_out / 1024)) - fi; + # L3 + if test -z "$ax_l3_size" -o "$ax_l3_size" = "0"; then + sysctl_out=`$sysctl_exe -n hw.l3cachesize 2>/dev/null` + if test -n "$sysctl_out"; then + ax_l3_size=$(($sysctl_out / 1024)) + fi + fi fi - fi fi + # Final fallbacks test -z "$ax_l1_size" && ax_l1_size=0 test -z "$ax_l2_size" && ax_l2_size=0 - test -z "$ax_l3_size" && ax_l3_size=$ax_l2_size + test -z "$ax_l3_size" && ax_l3_size=0 # Keep only digits if there is a unit (ie 1024K -> 1024) and convert in Bytes { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the L1 cache size" >&5 @@ -15537,7 +15508,7 @@ printf "%s\n" "#define M4RI_BUILDING_M4RI 1" >>confdefs.h -RELEASE="20250128" +RELEASE="20251207" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 @@ -16106,7 +16077,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by m4ri $as_me 20250128, which was +This file was extended by m4ri $as_me 20251207, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16174,7 +16145,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -m4ri config.status 20250128 +m4ri config.status 20251207 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/m4ri-20250128/configure.ac new/m4ri-20251207/configure.ac --- old/m4ri-20250128/configure.ac 2025-01-28 10:48:24.000000000 +0100 +++ new/m4ri-20251207/configure.ac 2025-12-07 11:21:29.000000000 +0100 @@ -1,14 +1,14 @@ -AC_INIT([m4ri],[20250128]) +AC_INIT([m4ri],[20251207]) # See http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html -LT_VERSION=1:0:0 +LT_VERSION=1:1:0 AC_SUBST(LT_VERSION) AC_CANONICAL_HOST AC_CONFIG_SRCDIR(m4ri/brilliantrussian.c) -AM_INIT_AUTOMAKE +AM_INIT_AUTOMAKE([nostdinc]) dnl Include maintainer mode targets. AM_MAINTAINER_MODE @@ -34,6 +34,20 @@ LT_LIB_M AC_SUBST(LIBM) +# Check for MinGW to add specific linker flags for DLL symbol exporting +case "$host_os" in + mingw*) + M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS="-Wl,--export-all-symbols" + M4RI_INSTALL_FLAGS="-no-fast-install" + ;; + *) + M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS="" + M4RI_INSTALL_FLAGS="-no-install" + ;; +esac +AC_SUBST(M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS) +AC_SUBST(M4RI_INSTALL_FLAGS) + # SSE2 support AC_ARG_ENABLE([sse2], AS_HELP_STRING([--disable-sse2], [don't use SSE2 instruction set.]), @@ -46,9 +60,9 @@ ]) AS_IF([test "x$enable_sse2" = "xno"], - [M4RI_HAVE_SSE2=0], - [M4RI_HAVE_SSE2="(defined(__SSE2__) && __SSE2__)"]) -AC_SUBST(M4RI_HAVE_SSE2) + [M4RI_SSE2_ENABLED=0], + [M4RI_SSE2_ENABLED=1]) +AC_SUBST(M4RI_SSE2_ENABLED) AC_ARG_WITH(papi, AS_HELP_STRING([--with-papi@<:@=PATH@:>@], [The PAPI install prefix, if configure can't find it.]), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/m4ri-20250128/m4/ax_cache_size.m4 new/m4ri-20251207/m4/ax_cache_size.m4 --- old/m4ri-20250128/m4/ax_cache_size.m4 2025-01-28 10:48:24.000000000 +0100 +++ new/m4ri-20251207/m4/ax_cache_size.m4 2025-12-07 11:21:29.000000000 +0100 @@ -41,8 +41,9 @@ ax_l1_size= ax_l2_size= + ax_l3_size= - #Check if the variable is present + # Linux sysfs path if test -e /sys/devices/system/cpu/cpu0/cache/index0/size; then for idx in `seq 0 3`; do if test -e /sys/devices/system/cpu/cpu0/cache/index$idx/size ; then @@ -57,63 +58,78 @@ ax_l3_size=$CPU0_L3_CACHE else - if test "x$ax_cv_cpu_vendor" != "xUnknown"; then - #Or use CPUID - AX_GCC_X86_CPUID(0x80000000) - cpu_exthigh=`echo $ax_cv_gcc_x86_cpuid_0x80000000 | cut -d ":" -f 1` - if test "x$cpu_exthi" > "x80000004"; then - AX_GCC_X86_CPUID(0x80000005) # For L1 cache - l1_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000005 | cut -d ":" -f 4` - ax_l1_size=$((0x$l1_hexval >> 24)) - fi + # Try CPUID (mostly for Linux without sysfs or during cross-compilation) + if test "x$ax_cv_cpu_vendor" != "xUnknown" && test "x$ax_cv_cpu_vendor" != "xunknown" && test "x$ax_cv_cpu_vendor" != "xIntel"; then + AX_GCC_X86_CPUID(0x80000000) + cpu_exthigh=`echo $ax_cv_gcc_x86_cpuid_0x80000000 | cut -d ":" -f 1` + if test "x$cpu_exthigh" \> "x80000004"; then + AX_GCC_X86_CPUID(0x80000005) + l1_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000005 | cut -d ":" -f 4` + ax_l1_size=$((0x$l1_hexval >> 24)) + fi - if test "x$cpu_exthi" > "x80000005"; then - AX_GCC_X86_CPUID(0x80000006) # For L2 cache - l2_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000006 | cut -d ":" -f 3` - ax_l2_size=$((0x$l2_hexval >> 16)) + if test "x$cpu_exthigh" \> "x80000005"; then + AX_GCC_X86_CPUID(0x80000006) + l2_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000006 | cut -d ":" -f 3` + ax_l2_size=$((0x$l2_hexval >> 16)) + + # L3 info in EDX (bits 31:18) → 512-byte blocks (AMD only) + l3_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000006 | cut -d ":" -f 4` + ax_l3_size=$(( (0x$l3_hexval >> 18) * 512 )) + fi fi - if test "x$cpu_exthi" > "x80000005"; then - AX_GCC_X86_CPUID(0x80000006) # For L3 cache - l2_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000006 | cut -d ":" -f 4` - ax_l2_size=$((0x$l2_hexval >> 18))*512 + # sysctl fallback + sysctl_exe= + if test -x /usr/sbin/sysctl; then + sysctl_exe=/usr/sbin/sysctl + elif test -x /sbin/sysctl; then + sysctl_exe=/sbin/sysctl fi - fi + if test -n "$sysctl_exe"; then + # L1 + if test -z "$ax_l1_size" -o "$ax_l1_size" = "0"; then + sysctl_out=`$sysctl_exe -n hw.l1dcachesize 2>/dev/null` + if test -n "$sysctl_out"; then + ax_l1_size=$(($sysctl_out / 1024)) + fi + fi + if test -z "$ax_l1_size" -o "$ax_l1_size" = "0"; then + sysctl_out=`$sysctl_exe -n hw.l1icachesize 2>/dev/null` + if test -n "$sysctl_out"; then + ax_l1_size=$(($sysctl_out / 1024)) + fi + fi + if test -z "$ax_l1_size" -o "$ax_l1_size" = "0"; then + sysctl_out=`$sysctl_exe -n hw.l1cachesize 2>/dev/null` + if test -n "$sysctl_out"; then + ax_l1_size=$(($sysctl_out / 1024)) + fi + fi + + # L2 + if test -z "$ax_l2_size" -o "$ax_l2_size" = "0"; then + sysctl_out=`$sysctl_exe -n hw.l2cachesize 2>/dev/null` + if test -n "$sysctl_out"; then + ax_l2_size=$(($sysctl_out / 1024)) + fi + fi - #Or use sysctl - sysctl_exe= - if test -x /usr/sbin/sysctl ; then - sysctl_exe=/usr/sbin/sysctl - elif test -x /sbin/sysctl ; then - sysctl_exe=/sbin/sysctl - fi - if test -n "$sysctl_exe"; then - if test -z "$ax_l2_size" -o "$ax_l2_size" = "0"; then - sysctl_out=`$sysctl_exe -n hw.l2cachesize 2>/dev/null`; - if test ! -z "$sysctl_out"; then - ax_l2_size=$(($sysctl_out / 1024)) - fi; - - fi - if test -z "$ax_l1_size" -o "$ax_l1_size" = "0" ; then - sysctl_out=`$sysctl_exe -n hw.l1dcachesize 2>/dev/null`; - if test ! -z "$sysctl_out"; then - ax_l1_size=$(($sysctl_out / 1024)) - fi; - fi - if test -z "$ax_l1_size" -o "ax_l1_size" = "0" ; then - sysctl_out=`$sysctl_exe -n hw.l1cachesize 2>/dev/null`; - if test ! -z "$sysctl_out"; then - ax_l1_size=$(($sysctl_out / 1024)) - fi; + # L3 + if test -z "$ax_l3_size" -o "$ax_l3_size" = "0"; then + sysctl_out=`$sysctl_exe -n hw.l3cachesize 2>/dev/null` + if test -n "$sysctl_out"; then + ax_l3_size=$(($sysctl_out / 1024)) + fi + fi fi - fi fi + # Final fallbacks test -z "$ax_l1_size" && ax_l1_size=0 test -z "$ax_l2_size" && ax_l2_size=0 - test -z "$ax_l3_size" && ax_l3_size=$ax_l2_size + test -z "$ax_l3_size" && ax_l3_size=0 # Keep only digits if there is a unit (ie 1024K -> 1024) and convert in Bytes AC_MSG_CHECKING(the L1 cache size) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/m4ri-20250128/m4ri/Doxyfile new/m4ri-20251207/m4ri/Doxyfile --- old/m4ri-20250128/m4ri/Doxyfile 2025-01-28 10:48:24.000000000 +0100 +++ new/m4ri-20251207/m4ri/Doxyfile 2025-12-07 11:21:29.000000000 +0100 @@ -38,7 +38,7 @@ # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 20250128 +PROJECT_NUMBER = 20251207 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/m4ri-20250128/m4ri/io.c new/m4ri-20251207/m4ri/io.c --- old/m4ri-20250128/m4ri/io.c 2025-01-28 10:48:24.000000000 +0100 +++ new/m4ri-20251207/m4ri/io.c 2025-12-07 11:21:29.000000000 +0100 @@ -23,6 +23,7 @@ #endif #include "m4ri_config.h" +#include <inttypes.h> #if __M4RI_HAVE_LIBPNG #include <png.h> @@ -299,40 +300,39 @@ FILE *fh = fopen(fn, "r"); rci_t m, n; - long p = 0; - long nonzero = 0; + int p = 0; + int64_t nonzero = 0; if (!fh) { if (verbose) printf("Could not open file '%s' for reading\n", fn); return NULL; } - if (fscanf(fh, "%d %d %ld\n%ld\n\n", &m, &n, &p, &nonzero) != 4) { + if (fscanf(fh, "%d %d %d\n%" SCNd64 "\n\n", &m, &n, &p, &nonzero) != 4) { if (verbose) printf("File '%s' does not seem to be in JCF format.", fn); retval = 1; goto from_jcf_close_fh; } if (p != 2) { - if (verbose) printf("Expected p==2 but found p==%ld\n", p); + if (verbose) printf("Expected p==2 but found p==%d\n", p); retval = 1; goto from_jcf_close_fh; } if (verbose) - printf("reading %lu x %lu matrix with at most %ld non-zero entries (density at most: %6.5f)\n", - (unsigned long)m, (unsigned long)n, (unsigned long)nonzero, - ((double)nonzero) / ((double)m * n)); + printf("reading %d x %d matrix with at most %" PRId64 " non-zero entries (density at most: %6.5f)\n", + m, n, nonzero, ((double)nonzero) / ((double)m * n)); A = mzd_init(m, n); - long i = -1; - long j = 0; + rci_t i = -1; + rci_t j = 0; - while (fscanf(fh, "%ld\n", &j) == 1) { + while (fscanf(fh, "%d\n", &j) == 1) { if (j < 0) { i++, j = -j; } if (((j - 1) >= n) || (i >= m)) - m4ri_die("trying to write to (%ld,%ld) in %ld x %ld matrix\n", i, j - 1, m, n); + m4ri_die("trying to write to (%d,%d) in %d x %d matrix\n", i, j - 1, m, n); mzd_write_bit(A, i, j - 1, 1); }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/m4ri-20250128/m4ri/m4ri_config.h.in new/m4ri-20251207/m4ri/m4ri_config.h.in --- old/m4ri-20250128/m4ri/m4ri_config.h.in 2025-01-28 10:48:24.000000000 +0100 +++ new/m4ri-20251207/m4ri/m4ri_config.h.in 2025-12-07 11:21:29.000000000 +0100 @@ -4,7 +4,11 @@ // Defines determined during configuration of m4ri. #define __M4RI_HAVE_MM_MALLOC @M4RI_HAVE_MM_MALLOC@ #define __M4RI_HAVE_POSIX_MEMALIGN @M4RI_HAVE_POSIX_MEMALIGN@ -#define __M4RI_HAVE_SSE2 @M4RI_HAVE_SSE2@ +#define __M4RI_HAVE_SSE2 0 +#if @M4RI_SSE2_ENABLED@ && defined(__SSE2__) && __SSE2__ +#undef __M4RI_HAVE_SSE2 +#define __M4RI_HAVE_SSE2 1 +#endif #define __M4RI_HAVE_OPENMP @M4RI_HAVE_OPENMP@ #define __M4RI_CPU_L1_CACHE @M4RI_CPU_L1_CACHE@ #define __M4RI_CPU_L2_CACHE @M4RI_CPU_L2_CACHE@ @@ -25,4 +29,9 @@ #define __M4RI_ENABLE_MZD_CACHE @M4RI_ENABLE_MZD_CACHE@ #define __M4RI_ENABLE_MMC @M4RI_ENABLE_MMC@ +#if defined(__MINGW32__) || defined(__MINGW64__) +#define random rand +#define srandom srand +#endif + #endif // M4RI_M4RI_CONFIG_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/m4ri-20250128/m4ri/misc.h new/m4ri-20251207/m4ri/misc.h --- old/m4ri-20250128/m4ri/misc.h 2025-01-28 10:48:24.000000000 +0100 +++ new/m4ri-20251207/m4ri/misc.h 2025-12-07 11:21:29.000000000 +0100 @@ -138,7 +138,7 @@ * \brief The number of bits in a word. */ -static int const m4ri_radix = 64; +#define m4ri_radix 64 /** * \brief The number one as a word. @@ -418,7 +418,7 @@ * \param n */ -#define __M4RI_ALIGNMENT(addr, n) (((unsigned long)(addr)) % (n)) +#define __M4RI_ALIGNMENT(addr, n) (((uintptr_t)(addr)) % (n)) /** * \brief Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/m4ri-20250128/m4ri/mmc.h new/m4ri-20251207/m4ri/mmc.h --- old/m4ri-20250128/m4ri/mmc.h 2025-01-28 10:48:24.000000000 +0100 +++ new/m4ri-20251207/m4ri/mmc.h 2025-12-07 11:21:29.000000000 +0100 @@ -72,6 +72,10 @@ * \return Pointer to allocated memory block. */ static inline void *m4ri_mmc_calloc(size_t count, size_t size) { + if (size && count > SIZE_MAX/size) { + m4ri_die("m4ri_mmc_calloc: overflow in multiplication\n"); + return NULL; /* unreachable */ + } size_t total_size = count * size; void *ret = m4ri_mmc_malloc(total_size); memset((char *)ret, 0, total_size); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/m4ri-20250128/m4ri/mzd.c new/m4ri-20251207/m4ri/mzd.c --- old/m4ri-20250128/m4ri/mzd.c 2025-01-28 10:48:24.000000000 +0100 +++ new/m4ri-20251207/m4ri/mzd.c 2025-12-07 11:21:29.000000000 +0100 @@ -144,13 +144,12 @@ mzd_t *A = mzd_t_malloc(); A->nrows = r; A->ncols = c; - A->width = (c + m4ri_radix - 1) / m4ri_radix; + A->width = c > 0 ? (c - 1) / m4ri_radix + 1 : 0; A->rowstride = ((A->width & 1) == 0) ? A->width : A->width + 1; A->high_bitmask = __M4RI_LEFT_BITMASK(c % m4ri_radix); A->flags = (A->high_bitmask != m4ri_ffff) ? mzd_flag_nonzero_excess : 0; if (r && c) { - size_t block_words = r * A->rowstride; - A->data = m4ri_mmc_calloc(block_words, sizeof(word)); + A->data = m4ri_mmc_calloc(r, sizeof(word) * A->rowstride); } else { A->data = NULL; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/m4ri-20250128/m4ri/mzd.h new/m4ri-20251207/m4ri/mzd.h --- old/m4ri-20250128/m4ri/mzd.h 2025-01-28 10:48:24.000000000 +0100 +++ new/m4ri-20251207/m4ri/mzd.h 2025-12-07 11:21:29.000000000 +0100 @@ -557,7 +557,7 @@ /* Now wide > 1 */ __m128i *__src = (__m128i *)src; __m128i *__dst = (__m128i *)dst; - __m128i *const eof = (__m128i *)((unsigned long)(src + wide) & ~0xFUL); + __m128i *const eof = (__m128i *)((uintptr_t)(src + wide) & ~(uintptr_t)0xF); do { __m128i xmm1 = _mm_xor_si128(*__dst, *__src); *__dst++ = xmm1; @@ -936,7 +936,7 @@ if (__M4RI_ALIGNMENT(a, 16) == 0 && __M4RI_ALIGNMENT(b, 16) == 0) { __m128i *a128 = (__m128i *)a; __m128i *b128 = (__m128i *)b; - const __m128i *eof = (__m128i *)((unsigned long)(a + wide) & ~0xFUL); + const __m128i *eof = (__m128i *)((uintptr_t)(a + wide) & ~(uintptr_t)0xF); do { *a128 = _mm_xor_si128(*a128, *b128); @@ -1011,7 +1011,7 @@ __m128i *a128 = (__m128i *)a; __m128i *b128 = (__m128i *)b; __m128i *c128 = (__m128i *)c; - const __m128i *eof = (__m128i *)((unsigned long)(a + wide) & ~0xFUL); + const __m128i *eof = (__m128i *)((uintptr_t)(a + wide) & ~(uintptr_t)0xF); do { *c128 = _mm_xor_si128(*a128, *b128); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/m4ri-20250128/m4ri/xor.h new/m4ri-20251207/m4ri/xor.h --- old/m4ri-20250128/m4ri/xor.h 2025-01-28 10:48:24.000000000 +0100 +++ new/m4ri-20251207/m4ri/xor.h 2025-12-07 11:21:29.000000000 +0100 @@ -53,7 +53,7 @@ __m128i *__c = (__m128i *)c; __m128i *__t1 = (__m128i *)t1; - const __m128i *eof = (__m128i *)((unsigned long)(c + wide) & ~0xFUL); + const __m128i *eof = (__m128i *)((uintptr_t)(c + wide) & ~(uintptr_t)0xF); __m128i xmm1; while (__c < eof - 1) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/m4ri-20250128/tests/Makefile.am new/m4ri-20251207/tests/Makefile.am --- old/m4ri-20250128/tests/Makefile.am 2025-01-28 10:48:24.000000000 +0100 +++ new/m4ri-20251207/tests/Makefile.am 2025-12-07 11:21:29.000000000 +0100 @@ -12,10 +12,12 @@ TOPBUILDDIR = $(builddir)/.. DEFINES = # include TOPBUILDIR for m4ri_config.h -AM_CFLAGS = -I$(TOPSRCDIR) -I$(TOPBUILDDIR) -D_XOPEN_SOURCE=600 $(DEFINES) @OPENMP_CFLAGS@ @PAPI_CFLAGS@ @LIBPNG_CFLAGS@ +AM_CFLAGS = -I$(TOPSRCDIR) -I$(TOPBUILDDIR) -iquote$(TOPBUILDDIR)/m4ri -D_XOPEN_SOURCE=600 $(DEFINES) @OPENMP_CFLAGS@ @PAPI_CFLAGS@ @LIBPNG_CFLAGS@ STAGEDIR := $(realpath -s $(TOPBUILDDIR)/.libs) -AM_LDFLAGS = -L$(STAGEDIR) -Wl,-rpath,$(STAGEDIR) -lm4ri $(LIBM) @PAPI_LDFLAGS@ @PAPI_LIBS@ -no-install +AM_LDFLAGS = -Wl,-rpath,$(STAGEDIR) $(LIBM) @PAPI_LDFLAGS@ @PAPI_LIBS@ @M4RI_INSTALL_FLAGS@ + +LDADD = $(TOPBUILDDIR)/libm4ri.la test_smallops_SOURCES = test_smallops.c testing.c testing.h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/m4ri-20250128/tests/Makefile.in new/m4ri-20251207/tests/Makefile.in --- old/m4ri-20250128/tests/Makefile.in 2025-01-28 10:48:34.000000000 +0100 +++ new/m4ri-20251207/tests/Makefile.in 2025-12-07 11:21:44.000000000 +0100 @@ -133,6 +133,7 @@ test_alignment_SOURCES = test_alignment.c test_alignment_OBJECTS = test_alignment.$(OBJEXT) test_alignment_LDADD = $(LDADD) +test_alignment_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent @@ -140,45 +141,59 @@ test_colswap_SOURCES = test_colswap.c test_colswap_OBJECTS = test_colswap.$(OBJEXT) test_colswap_LDADD = $(LDADD) +test_colswap_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la test_djb_SOURCES = test_djb.c test_djb_OBJECTS = test_djb.$(OBJEXT) test_djb_LDADD = $(LDADD) +test_djb_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la test_elimination_SOURCES = test_elimination.c test_elimination_OBJECTS = test_elimination.$(OBJEXT) test_elimination_LDADD = $(LDADD) +test_elimination_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la test_invert_SOURCES = test_invert.c test_invert_OBJECTS = test_invert.$(OBJEXT) test_invert_LDADD = $(LDADD) +test_invert_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la test_kernel_SOURCES = test_kernel.c test_kernel_OBJECTS = test_kernel.$(OBJEXT) test_kernel_LDADD = $(LDADD) +test_kernel_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la test_misc_SOURCES = test_misc.c test_misc_OBJECTS = test_misc.$(OBJEXT) test_misc_LDADD = $(LDADD) +test_misc_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la test_multiplication_SOURCES = test_multiplication.c test_multiplication_OBJECTS = test_multiplication.$(OBJEXT) test_multiplication_LDADD = $(LDADD) +test_multiplication_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la test_ple_SOURCES = test_ple.c test_ple_OBJECTS = test_ple.$(OBJEXT) test_ple_LDADD = $(LDADD) +test_ple_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la test_pluq_SOURCES = test_pluq.c test_pluq_OBJECTS = test_pluq.$(OBJEXT) test_pluq_LDADD = $(LDADD) +test_pluq_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la test_random_SOURCES = test_random.c test_random_OBJECTS = test_random.$(OBJEXT) test_random_LDADD = $(LDADD) +test_random_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la am_test_smallops_OBJECTS = test_smallops.$(OBJEXT) testing.$(OBJEXT) test_smallops_OBJECTS = $(am_test_smallops_OBJECTS) test_smallops_LDADD = $(LDADD) +test_smallops_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la test_solve_SOURCES = test_solve.c test_solve_OBJECTS = test_solve.$(OBJEXT) test_solve_LDADD = $(LDADD) +test_solve_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la test_transpose_SOURCES = test_transpose.c test_transpose_OBJECTS = test_transpose.$(OBJEXT) test_transpose_LDADD = $(LDADD) +test_transpose_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la test_trsm_SOURCES = test_trsm.c test_trsm_OBJECTS = test_trsm.$(OBJEXT) test_trsm_LDADD = $(LDADD) +test_trsm_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -191,7 +206,7 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/m4ri +DEFAULT_INCLUDES = depcomp = $(SHELL) $(top_srcdir)/depcomp am__maybe_remake_depfiles = depfiles am__depfiles_remade = ./$(DEPDIR)/test_alignment.Po \ @@ -517,11 +532,13 @@ M4RI_DEBUG_MZD = @M4RI_DEBUG_MZD@ M4RI_ENABLE_MMC = @M4RI_ENABLE_MMC@ M4RI_ENABLE_MZD_CACHE = @M4RI_ENABLE_MZD_CACHE@ +M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS = @M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS@ M4RI_HAVE_LIBPNG = @M4RI_HAVE_LIBPNG@ M4RI_HAVE_MM_MALLOC = @M4RI_HAVE_MM_MALLOC@ M4RI_HAVE_OPENMP = @M4RI_HAVE_OPENMP@ M4RI_HAVE_POSIX_MEMALIGN = @M4RI_HAVE_POSIX_MEMALIGN@ -M4RI_HAVE_SSE2 = @M4RI_HAVE_SSE2@ +M4RI_INSTALL_FLAGS = @M4RI_INSTALL_FLAGS@ +M4RI_SSE2_ENABLED = @M4RI_SSE2_ENABLED@ M4RI_USE_PNG_PC = @M4RI_USE_PNG_PC@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -616,9 +633,10 @@ TOPBUILDDIR = $(builddir)/.. DEFINES = # include TOPBUILDIR for m4ri_config.h -AM_CFLAGS = -I$(TOPSRCDIR) -I$(TOPBUILDDIR) -D_XOPEN_SOURCE=600 $(DEFINES) @OPENMP_CFLAGS@ @PAPI_CFLAGS@ @LIBPNG_CFLAGS@ +AM_CFLAGS = -I$(TOPSRCDIR) -I$(TOPBUILDDIR) -iquote$(TOPBUILDDIR)/m4ri -D_XOPEN_SOURCE=600 $(DEFINES) @OPENMP_CFLAGS@ @PAPI_CFLAGS@ @LIBPNG_CFLAGS@ STAGEDIR := $(realpath -s $(TOPBUILDDIR)/.libs) -AM_LDFLAGS = -L$(STAGEDIR) -Wl,-rpath,$(STAGEDIR) -lm4ri $(LIBM) @PAPI_LDFLAGS@ @PAPI_LIBS@ -no-install +AM_LDFLAGS = -Wl,-rpath,$(STAGEDIR) $(LIBM) @PAPI_LDFLAGS@ @PAPI_LIBS@ @M4RI_INSTALL_FLAGS@ +LDADD = $(TOPBUILDDIR)/libm4ri.la test_smallops_SOURCES = test_smallops.c testing.c testing.h all: all-am
