From 48eca1f44ab76eb997fea54fa500706bb400b9c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Mon, 14 Oct 2024 13:58:19 +0200 Subject: [PATCH] Sync from SUSE:ALP:Source:Standard:1.0 benchmark revision 6a106f0c280d85500b3dd4dee35d63d7 --- .gitattributes | 23 + _service | 18 + _servicedata | 4 + benchmark-1.7.1.obscpio | 3 + benchmark.changes | 414 ++++++++++++++++++ benchmark.obsinfo | 4 + benchmark.spec | 100 +++++ ...2-disable-Werror=maybe-uninitialized.patch | 12 + 8 files changed, 578 insertions(+) create mode 100644 .gitattributes create mode 100644 _service create mode 100644 _servicedata create mode 100644 benchmark-1.7.1.obscpio create mode 100644 benchmark.changes create mode 100644 benchmark.obsinfo create mode 100644 benchmark.spec create mode 100644 gcc12-disable-Werror=maybe-uninitialized.patch diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/_service b/_service new file mode 100644 index 0000000..976a2d3 --- /dev/null +++ b/_service @@ -0,0 +1,18 @@ + + + v1.7.1 + 1.7.1 + https://github.com/google/benchmark.git + git + enable + .* + + + + gz + *.tar + + + benchmark.spec + + diff --git a/_servicedata b/_servicedata new file mode 100644 index 0000000..64fdc72 --- /dev/null +++ b/_servicedata @@ -0,0 +1,4 @@ + + + https://github.com/google/benchmark.git + d572f4777349d43653b21d6c2fc63020ab326db2 \ No newline at end of file diff --git a/benchmark-1.7.1.obscpio b/benchmark-1.7.1.obscpio new file mode 100644 index 0000000..da3088f --- /dev/null +++ b/benchmark-1.7.1.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:605b85ae3e40aac9af4e6727883e334f218f01ddf26dbaacd452ee228a3dc054 +size 866316 diff --git a/benchmark.changes b/benchmark.changes new file mode 100644 index 0000000..3d770bd --- /dev/null +++ b/benchmark.changes @@ -0,0 +1,414 @@ +------------------------------------------------------------------- +Mon Dec 05 08:36:46 UTC 2022 - dmueller@suse.com + +- Update to version 1.7.1: + * version bump for release + * [bazel] Build libpfm as a dependency to allow collection of perf counters (#1408) + * Add information for supported Python versions to setup.py (#1502) + * Partially revert "Do not depend on unversioned python binary (#1496)" (#1501) + * Do not depend on unversioned python binary (#1496) + * Fix Solaris compilation (#1499) (#1500) + * Support for QuRT OS (Hexagon RTOS) (#1497) + * bump cmake dep and docs (#1468) + * Bump pybind11 version to enable Python 3.11 wheel builds (#1489) + * Discuss sources of variance in the user guide (#1481) + * Stop using pandas.Timedelta (fixes #1482) (#1483) + * Eliminate usage of deprecated API in sysinfo.cc (#1474) + * Enable aarch64 Linux wheel builds, use cibuildwheel action directly (#1472) + * Clean up test documentation formatting (#1475) + * use CMAKE_INSTALL_FULL in pkg-config file (#1473) + * Link error when use as static library on windows. (#1470) + * add debug option for enabling more output for failed cxxfeaturechecks (#1467) + * FIx typo in benchmark.h (#1465) + * run ClearRegisteredBenchmarks at exit (#1463) + * Avoid deprecation warning in NVHPC (#1459) + * Ensure we don't need benchmark installed to pass c++ feature checks (#1456) + * Explicitly cast int literals to int8_t in tests to silence implicit-conversion warnings (#1455) + * Fixed build issues on window (#1449) + * remove unnecessary generated include directory (#1451) + * Initialize help hook before actually parsing the command line (#1447) + * Remove stray comment and added missing header (#1444) + +------------------------------------------------------------------- +Mon Aug 15 11:19:19 UTC 2022 - dmueller@suse.com + +- Update to version 1.7.0: + * version bump + * simplified code (#1439) + * use target_compile_definitions (#1440) + * Stop generating the export header and just check it in (#1435) + * Also fix the SOVERSION for benchmark_main + * Fix SOVERSION of shared library + * v1.6.2 bump + * Expose google_benchmark.State for python bindings. (#1430) + * Suppress nvcc `offsetof` warning (#1429) + * Correct typo in Passing Arguments section + * cleanup comments + * fix sanitizer builds by using clang 13 (#1426) + * fix dependabot numpy version warning + * fix cmake warning for libcxx setup + * Expose default help printer function (#1425) + * Fix DoNotOptimize() GCC compile error with some types (#1340) (#1424) + * Remove redundant formatting tags (#1420) + * Revert "Add possibility to ask for libbenchmark version number (#1004) (#1403)" (#1417) + * Clarify that the cpu frequency is not used for benchmark timings. (#1414) + * Fix DoNotOptimize() GCC copy overhead (#1340) (#1410) + * Add possibility to ask for libbenchmark version number (#1004) (#1403) + * add multiple OSes to bazel workflow (#1412) + * fix some build warnings on type conversions + * fix typo in comment + * Report large numbers in scientific notation in console reporter (#1303) (#1402) + * Introduce warmup phase to BenchmarkRunner (#1130) (#1399) + * Add support to get clock for new architecture CSKY (#1400) + * Add option to get the verbosity provided by commandline flag -v (#1330) (#1397) + * fix some typos (#1393) + * Add installation and build instructions for Python bindings (#1392) + * Enable -Wconversion (#1390) + * Add benchmark labels to the output of the comparison tool (#1388) + * Filter out benchmarks that start with "DISABLED_" (#1387) + * Fix wheel job name for PyPI uploads (#1384) + * Shut down Bazel gracefully and revert wheel build strategy to job matrix (#1383) + * Small optimization to counter map management (#1382) + * getting sysinfo in line with Google style (#1381) + * Promote inclusive language. (#1360) + * [nfc] Reformat doc-string in generate_export_header (#1376) + * Fix Bazel build breakage caused by commit 6a894bd. (#1374) + * Build `//:benchmark` as a static library only. (#1373) + * add note about wheels action to releasing docs + * Change artifact download name to dist to match upload name (#1371) + * Remove conditional trigger from PyPI upload job (#1370) + * Add BENCHMARK_STATIC_DEFINE to the Python bindings' `cc_binary` local defines. (#1369) + * Update LICENSE file to clearly state which file needs BSD 3 (#1366) + * Fix float comparaison and add float comparison warning (#1368) + * Add PyPI upload job to wheel building workflow (#1359) + * Appended additional BSD 3-Clause to LICENSE (#1363) + * Add SetBenchmarkFilter() to set --benchmark_filter flag value in user code (#1362) + * Add long description and content type for proper PyPI presentation (#1361) + * Allow setting the default time unit globally (#1337) + * restore BENCHMARK_MAIN() (#1357) + * @platforms is magical; remove it from WORKSPACE. (#1356) + * Make generate_export_header.bzl work for Windows. (#1355) + * avoid case sensitive issues with duplicated names (#1354) + * move bzl file out of tools (#1352) + * Introduce the possibility to customize the help printer function (#1342) + * simplify reference to internal path (#1349) + * Check for macro existence before using (#1347) + * annotate and export public symbols (#1321) + * Expose default display reporter creation in public API (#1344) + * Avoid potential truncation issues for the integral type parameterized tests. (#1341) + * Add mutex when reading counters_ (Fixes #1335) (#1338) + * Use Win32 API only for Win32 apps (#1333) + * bump numby, as per dependabot (#1336) + * Fix cross compilation for macOS ARM builds in `cibuildwheel` (#1334) + * Cache PerfCounters instance in PerfCountersMeasurement (#1308) + * Fix some errors in Custom Statistics demo code. (#1332) + * Refine the User Guide CPU Frequency Scaling section (#1331) + * Refine docs on changing cpufreq governor (#1325) + * Expand documentation for unpacking arbitrary arguments. (#1324) + * Suppress GoogleTest warnings on windows (MSVC) too. (#1320) + * Add docs on Memory profiling (#1217). (#1319) + * Add docs for `ThreadRange`. (#1318) + +------------------------------------------------------------------- +Mon Mar 14 08:41:35 UTC 2022 - Martin Liška + +- Add gcc12-disable-Werror=maybe-uninitialized.patch in order + to fix boo#1196587. + +------------------------------------------------------------------- +Mon Jan 17 11:58:46 UTC 2022 - Martin Pluskal + +- Update to version 1.6.1: + * Creating release commit for v1.6.1 + * Destructor not returning is expected in some cases (#1316) + * Address c4267 warning on MSVC (#1315) + * Fix `-DBENCHMARK_ENABLE_INSTALL=OFF` (Fixes #1275) (#1305) + * Avoid errors due to "default label in switch which covers all enumeration values" in Windows codepath (#1302) + * update googletest to latest release tag 1.11.0 (#1301) + * clang-tidy: readability-redundant and performance (#1298) + * Update user_guide.md (#1296) + * Fix broken link to Setup/Teardown section (#1291) + * Add clang-tidy check (#1290) + * compare.py: compute and print 'OVERALL GEOMEAN' aggregate (#1289) + * remove long-defunct cli parameter + * lose some build warnings + * Disable clang-tidy (unused-using-decls) (#1287) + * disable lint check where we know it'd fail (#1286) + * Add Setup/Teardown option on Benchmark. (#1269) + * Googletest renamed master to main today. (#1285) + * Remove bazelbuild/rules_cc dependency (#1283) + * Support for building with LLVM clang-10/clang-11 on Windows. (#1227) + * Fix dependency typo and unpin cibuildwheel version in wheel building … (#1263) + * check clang format on pull requests and merges (#1281) + * format tests with clang-format (#1282) + * clang-format Google on {src/,include/} (#1280) + * Fix warning with MacOS (#1276) + * Fixed typo in doc: s/marcro/macro (#1274) + * Fix error with Fix Werror=old-style-cast (#1272) + * Fix error Wshorten-64-to-32 (#1273) + * [cleanup] Change `== ""` to `.empty()` on string to avoid clang-tidy warnings (#1271) + * Fix un-initted error in test and fix change the API previously proposed to use std::string instead of raw char* (#1266) + * use docker container for ubuntu-16.04 builds (#1265) + * [RFC] Adding API for setting/getting benchmark_filter flag? (#1254) + * Allow template arguments to be specified directly on the BENCHMARK macro (#1262) + * Added Doxygen support. (#1228) + * Fix -Wdeprecated-declarations warning once more. (#1256) + * cmake: allow to use package config from build directory + * cmake: make package config relocatable + * GoogleTest.cmake.in: mention BENCHMARK_USE_BUNDLED_GTEST + * GoogleTest.cmake.in: immediately error-out after failure message, Closes #1255 + * Introduce additional memory metrics (#1238) + * Fix -Wdeprecated-declarations warning triggered by clang-cl. (#1245) + * Cmake: options for controlling werror, disable werror for PGI compilers (#1246) + * cmake: eliminate redundant `target_include_directories` (#1242) + * Update policy to match reality + * Fix mention of --benchmarks in comment (#1229) + * Added support of packaged GTest for running unit tests. (#1226) + * Optimized docs installation (#1225) + * Remove unused parameter from lambda. (#1223) + * add to final releasing step + * bump version to 1.6 in preparation for release + * COnsole reporter: if statistic produces percents, format it as such (#1221) + * Introduce Coefficient of variation aggregate (#1220) + * Statistics: add support for percentage unit in addition to time (#1219) + * report.py: adjust expected u-test values for tests + * CMake: add forgotten include(FeatureSummary) into FindPFM.cmake to fix build + * replace #warning with #pragma message (#1216) + * force cmake version to 3.5.1 + * [NFC] PFM: actually report package as found, and advertise description + * Fix links to further doc in user_guide.md (#1215) + * Introduce accessors for currently public data members (threads and thread_index) (#1208) + * Fix a -Wunreachable-code-aggressive warning (#1214) + * Set theme jekyll-theme-minimal + * wrap things that look like tags but aren't with `{% raw %}` + * install docs folder when installing library (#1212) + * add .DS_Store to .gitignore + * refactor the documentation to minimise `README.md` (#1211) + * preparing v1.5.6 release + * Set theme jekyll-theme-modernist + * so much for googletest not failing any more + * turn back on strict mode for googletest as it no longer breaks + * Change the default value of `--benchmark_filter` from "." to (#1207) + * Remove dead code from PredictNumItersNeeded (#1206) + * downgrade warnings for googletest (#1203) + * Add wheel and sdist building action to GH Workflow (#1180) + * add g++ to sanitizer buildbots (#1197) + * Don't return a reference when the callers all expect pointers. + * fix clang-tidy warnings (#1195) + * Fix typos (#1194) + * Fix type warning on certain compilers (#1193) + * Use C++11 atomic_signal_fence for ClobberMemory (#1190) + * Bazel qnx (#1192) + * Deduplicate test function name in python bindings example (#1189) + * prefix VLOG (#1187) + * prefix macros to avoid clashes (#1186) + * Move flags inside the `benchmark` namespace (#1185) + * Add missing trailing commas (#1182) + * Provide helpers to create integer lists for the given ranges. (#1179) + * benchmark_runner.h: Remove superfluous semi colon (#1178) + +------------------------------------------------------------------- +Mon Sep 13 08:40:20 UTC 2021 - Martin Pluskal + +- Update to version 1.5.5: + * [NFCI] Drop warning to satisfy clang's -Wunused-but-set-variable diag (#1174) + * Add support for new architecture loongarch (#1173) + * Use modern clang/libc++ for sanitizers (#1171) + * Enable various sanitizer builds in github actions (#1167) + * Random interleaving of benchmark repetitions - the sequel (fixes #1051) (#1163) + * Fix leak in test, and provide path to remove leak from library (#1169) + * [NFCI] Make BenchmarkRunner non-internal to it's .cpp file + * [NFCI] RunBenchmarks(): extract FlushStreams()/Report() functions + * compare.py: sort the results (#1168) + * Make 'complexity reports' cache per-family, not global (#1166) + * Introduce per-family instance index (#1165) + * Introduce "family index" field into JSON output (#1164) + * BenchmarkFamilies::FindBenchmarks(): correctly use std::vector<>::reserve() + * Ensure that we print repetition count even when it was specified via flag `--benchmark_repetitions=` + * Revert "Implementation of random interleaving. (#1105)" (#1161) + * Fix perf counter argument parsing (#1160) + * Run build-and-test on all branches + * Un-disable github actions :] + * Run build-and-test on all branches + * Set theme jekyll-theme-hacker + * bump version to v1.5.4 + * Removing freenode from README + * Fix pedantic compilation flag violation (#1156) + * fix version recorded in releases (#1047) + * Implementation of random interleaving. (#1105) + * remove appveyor and add libera.chat as IRC resource + * [PFM] Extend perf counter support to multi-threaded cases. (#1153) + * Support -Wsuggest-override (#1059) + * Refactor `BenchmarkInstance` (#1148) + * Remove travis configs that are covered by actions (#1145) + * remove done TODOs + * add g++-6 to ubuntu-14.04 (#1144) + * Add MSVC ARM64 support to cmake (#1090) + * Add ubuntu-14.04 build and test workflow (#1131) + * Clean -Wreserved-identifier instances (#1143) + * Fix StrSplit empty string case (#1142) + * cmake: Add explicit BENCHMARK_ENABLE_LIBPFM option (#1141) + * Add API to benchmark allowing for custom context to be added (#1137) + * Add `benchmark_context` flag that allows per-run custom context. (#1127) + * Add multiple compiler support to build-and-test workflow (#1128) + * enable markdown rendering on github pages + * Support optional, user-directed collection of performance counters (#1114) + +------------------------------------------------------------------- +Wed Apr 28 06:47:33 UTC 2021 - mpluskal@suse.com + +- Update to version 1.5.3: + * Be compliant and return 0 from main. + * Fix windows warning on type conversion (#1121) + * Add verbosity to CI logs (#1122) + * fix cmake issue with referencing a non-existing function argument (#1118) + * [tools] Fix dumb mistake in previous commit - print aggregates only means aggregates, not non-aggregates + * [tools] Don't forget to print UTest when printing aggregates only + * [sysinfo] Fix CPU Frequency reading on AMD Ryzen CPU's (#1117) + * Use fewer ramp up repetitions when KeepRunningBatch is used (#1113) + * Add bazel status to README + * Re-enable bazel without bazelisk and with scoped build/test targets (#1109) +- Drop no longer needed 0001-src-benchmark_register.h-add-missing-limits-inclusio.patch + +------------------------------------------------------------------- +Mon Feb 8 21:56:31 UTC 2021 - Christophe Giboudeaux + +- Add upstream patch to fix build with GCC 11 (boo#1181865): + * 0001-src-benchmark_register.h-add-missing-limits-inclusio.patch + +------------------------------------------------------------------- +Tue Dec 29 15:45:59 UTC 2020 - Martin Pluskal + +- Update to version 1.5.2: + * Timestamps in output are now rfc3339-formatted #965 + * overflow warnings with timers fixed #980 + * Python dependencies are now covered by a requirements.txt #994 + * JSON output cleaned up when no CPU scaling is present (#1008) + * CartesianProduct added for easier settings of multiple ranges (#1029) + * Python bindings improvements: + + Custom main functions (#993) + + A rename to google_benchmark (#199 + + More state methods bound (#1037) with a builder interface (#1040) + * Workflow additions in github include pylint (#1039) and bindings runs (#1041) + +------------------------------------------------------------------- +Mon Nov 18 23:15:31 UTC 2019 - Simon Lees + +- %make_jobs is depricated replaced by %cmake_build + +------------------------------------------------------------------- +Thu Oct 17 14:33:14 UTC 2019 - Richard Brown + +- Remove obsolete Groups tag (fate#326485) + +------------------------------------------------------------------- +Mon Jun 24 07:26:21 UTC 2019 - Martin Pluskal + +- Update to version 1.5.0: + * Bump CMake minimum version to 3.5.1 (see dependencies.md) + * Add threads and repetitions to the JSON outputa + * Memory management and reporting hooks + * Documentation improvements + * Miscellaneous build fixes +- Disable gtest part of tests untill new gtest is available + +------------------------------------------------------------------- +Sat Feb 23 10:47:16 UTC 2019 - Luigi Baldoni + +- Use arch-specific libdir in pkgconfig file + +------------------------------------------------------------------- +Mon Feb 18 09:52:40 UTC 2019 - Luigi Baldoni + +- Use arch-specific directories for support files + +------------------------------------------------------------------- +Mon Jun 25 11:56:55 UTC 2018 - mpluskal@suse.com + +- Enable lto +- Update dependencies + +------------------------------------------------------------------- +Mon May 28 21:43:24 UTC 2018 - avindra@opensuse.org + +- Update to version 1.4.1 + * Realign expectation that State::iterations() returns 0 before + the main benchmark loop begins. + * CMake error message fixes + * Enscripten check fix + * Bazel pthread linking + * Negative regexes + * gmock fix + +------------------------------------------------------------------- +Wed Apr 4 22:20:14 UTC 2018 - avindra@opensuse.org + +- Update to version 1.4.0 + * Removal of deprecated headers + * Improved CPU cache info reporting + * Support State::KeepRunningBatch() + * Support int64_t for AddRange() + * New platform support: NetBSD, s390x, Solaris + * Bazel build support + * Support googletest unit tests + * Add assembler tests + * Various warnings fixed +- Drop benchmark-s390.patch + * fixed upstream (commit ff2c255af5bb2fc2e5cd3b3685f0c6283117ce73) + +------------------------------------------------------------------- +Tue Mar 27 03:25:41 UTC 2018 - stefan.bruens@rwth-aachen.de + +- Remove ExclusiveArch, it works on non-x86 as well + +------------------------------------------------------------------- +Fri Mar 16 18:38:52 UTC 2018 - avindra@opensuse.org + +- Update to version 1.3.0: + * Ranged for loop optimization! + * Make installation optional + * Better stats including user-provided ones + * JSON reporter format fixes + * Documentation improvements +- Includes changes from 1.2.0: + * User-defined counters + * Single header library + * Ability to clear benchmarks so the runtime registration is more flexible + * Sample-based standard deviation + * 32-bit build enabled + * Bug fixes +- Cleanup with spec-cleaner +- Use %ctest macro for testing + +------------------------------------------------------------------- +Fri Jan 27 14:46:11 UTC 2017 - mpluskal@suse.com + +- Update to version 1.1.0: + * ArgNames support + * Fixes for OSX and Cygwin and MSVC builds + * PauseTiming and ResumeTiming are per thread (#286) + * Better Range and Arg specifications + * Complexity reporting + +------------------------------------------------------------------- +Fri Jan 27 14:28:26 UTC 2017 - bg@suse.com + +- add support for s390x: + * benchmark-s390.patch + +------------------------------------------------------------------- +Sat Nov 12 13:43:21 CET 2016 - ro@suse.de + +- add ExclusiveArch, package is not ported to anything but + x86 and x86_64 + +------------------------------------------------------------------- +Mon Jul 4 09:24:59 UTC 2016 - mpluskal@suse.com + +- Disable lto as it does not seem to go well with -fPIE + +------------------------------------------------------------------- +Sat May 14 17:15:41 UTC 2016 - mpluskal@suse.com + +- Initial package for version 1.0.0 + diff --git a/benchmark.obsinfo b/benchmark.obsinfo new file mode 100644 index 0000000..a03ab08 --- /dev/null +++ b/benchmark.obsinfo @@ -0,0 +1,4 @@ +name: benchmark +version: 1.7.1 +mtime: 1668175263 +commit: d572f4777349d43653b21d6c2fc63020ab326db2 diff --git a/benchmark.spec b/benchmark.spec new file mode 100644 index 0000000..a128dd9 --- /dev/null +++ b/benchmark.spec @@ -0,0 +1,100 @@ +# +# spec file for package benchmark +# +# Copyright (c) 2022 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define soname lib%{name} +%define sover 1 +Name: benchmark +Version: 1.7.1 +Release: 0 +Summary: A microbenchmark support library +License: Apache-2.0 +URL: https://github.com/google/benchmark +Source: %{name}-%{version}.tar.gz +Patch0: gcc12-disable-Werror=maybe-uninitialized.patch +BuildRequires: cmake >= 3.5.1 +BuildRequires: gcc-c++ +BuildRequires: git-core +BuildRequires: gmock +BuildRequires: gtest +BuildRequires: pkgconfig + +%description +A library to support the benchmarking of functions, similar to unit-tests. + +%package -n %{soname}%{sover} +Summary: Shared library for google benchmark + +%description -n %{soname}%{sover} +A library to support the benchmarking of functions, similar to unit-tests. + +%package devel +Summary: Development files for google benchmark +Requires: %{soname}%{sover} = %{version} + +%description devel +Development files for google benchmark library + +%prep +%autosetup + +%build +sed -e 's|lib_install_dir "lib/"|lib_install_dir "%{_libdir}/"|g' \ + -e 's|config_install_dir "lib/cmake|config_install_dir "%{_libdir}/cmake|g' \ + -e 's|pkgconfig_install_dir "lib/pkgconfig"|pkgconfig_install_dir "%{_libdir}/pkgconfig"|g' \ + -i src/CMakeLists.txt +sed -e 's|libdir=${prefix}/lib|libdir=${prefix}/%{_lib}|' \ + -i cmake/benchmark.pc.in + +%cmake \ + -DBENCHMARK_ENABLE_LTO=on \ + -DBENCHMARK_ENABLE_GTEST_TESTS=false \ + -DBENCHMARK_ENABLE_TESTING=true +%cmake_build + +%install +%cmake_install +# dont ship debug stuff +rm -rf %{buildroot}%{_libexecdir}/debug +# doc will be installed in different location +rm -rf %{buildroot}%{_datadir}/doc/benchmark + +%check +# path needs to be exported otherwise unit tests will fail +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{_builddir}/%{name}-%{version}/build/src/ +%ctest + +%post -n %{soname}%{sover} -p /sbin/ldconfig +%postun -n %{soname}%{sover} -p /sbin/ldconfig + +%files -n %{soname}%{sover} +%license LICENSE +%doc README.md AUTHORS +%{_libdir}/%{soname}.so.%{sover}* +%{_libdir}/%{soname}_main.so.%{sover}* + +%files devel +%license LICENSE +%doc README.md AUTHORS docs/* +%dir %{_libdir}/cmake/%{name} +%{_libdir}/cmake/%{name}/*.cmake +%{_libdir}/pkgconfig/%{name}.pc +%{_libdir}/%{soname}.so +%{_libdir}/%{soname}_main.so +%{_includedir}/%{name} + +%changelog diff --git a/gcc12-disable-Werror=maybe-uninitialized.patch b/gcc12-disable-Werror=maybe-uninitialized.patch new file mode 100644 index 0000000..d7c60dc --- /dev/null +++ b/gcc12-disable-Werror=maybe-uninitialized.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b8852e4..4363fa1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -238,6 +238,7 @@ else() + if (BENCHMARK_ENABLE_LTO) + add_cxx_compiler_flag(-flto) + add_cxx_compiler_flag(-Wno-lto-type-mismatch) ++ add_cxx_compiler_flag(-Wno-error=maybe-uninitialized) + if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + find_program(GCC_AR gcc-ar) + if (GCC_AR)