Skip to content

Update README.md and add missing CMake/Configure option descriptions#2000

Merged
Dead2 merged 1 commit intodevelopfrom
readme
Nov 11, 2025
Merged

Update README.md and add missing CMake/Configure option descriptions#2000
Dead2 merged 1 commit intodevelopfrom
readme

Conversation

@Dead2
Copy link
Copy Markdown
Member

@Dead2 Dead2 commented Nov 11, 2025

Add missing instruction set info.
Add missing configuration options and update some descriptions.
Reorganize some configuration options.

@Dead2 Dead2 added cleanup Improving maintainability or removing code. Documentation labels Nov 11, 2025
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Nov 11, 2025

Walkthrough

Updated README documentation to expand feature descriptions with additional SIMD/intrinsics targets and architectures, reworked Build Options table with new entries, and revised Advanced Build Options section for unified architecture presentation.

Changes

Cohort / File(s) Summary
Documentation updates
README.md
Updated features documentation with expanded SIMD targets (SSE4.2, AVX512, RVV, Power8, ZBC), reworked Build Options table with new entries (ZLIB_ALIASES, ZLIBNG_ENABLE_TESTS, INSTALL_UTILS, WITH_CRC32_CHORBA, WITH_REDUCED_MEM), and revised Advanced Build Options section with unified architecture and intrinsics presentation

Possibly related PRs

  • #1816: Relates to expanded SIMD/intrinsics support documentation and build flag descriptions for AVX2 and BMI2 enablement

Suggested labels

Architecture

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description check ✅ Passed The description is related to the changeset, listing the specific updates made: instruction set information, configuration options, and reorganization of options.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title accurately describes the main changes: updating README.md and adding missing CMake/Configure option descriptions, which aligns with the documented changes.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch readme

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
README.md (1)

104-104: Fix British/American English spelling inconsistency.

The documentation mixes British and American spelling of "optimisation/optimization":

  • Line 104: Uses American "optimizations" (WITH_OPTIM configure option)
  • Lines 212, 213, 219: Use British "optimisations" (WITH_POWER8, WITH_POWER9, WITH_LSX descriptions)

Standardize on one variant throughout the document for consistency.

Apply this diff to standardize on American English spelling:

-| WITH_POWER8                     | --without-power8      | ppc: Build with POWER8 optimisations                                                | ON       |
+| WITH_POWER8                     | --without-power8      | ppc: Build with POWER8 optimizations                                                | ON       |
-| WITH_POWER9                     | --without-power9      | ppc: Build with POWER9 optimisations                                                | ON       |
+| WITH_POWER9                     | --without-power9      | ppc: Build with POWER9 optimizations                                                | ON       |
-| WITH_LSX                        |                       | loongarch: Build with LSX optimisations                                             | ON       |
+| WITH_LSX                        |                       | loongarch: Build with LSX optimizations                                             | ON       |

Also applies to: 212-212, 213-213, 219-219

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 20083c8 and 8d4c0a4.

📒 Files selected for processing (1)
  • README.md (3 hunks)
🧰 Additional context used
🧠 Learnings (3)
📚 Learning: 2025-07-04T16:59:44.725Z
Learnt from: mtl1979
Repo: zlib-ng/zlib-ng PR: 1925
File: arch/loongarch/lasxintrin_ext.h:38-65
Timestamp: 2025-07-04T16:59:44.725Z
Learning: In zlib-ng, the policy for supporting old compilers is to maintain compatibility for up to two years after GitHub removes support for them in CI, or when there is no long-time contributor left testing for the architecture if the architecture was not supported by GitHub Actions at all.

Applied to files:

  • README.md
📚 Learning: 2025-02-21T01:41:50.358Z
Learnt from: KungFuJesus
Repo: zlib-ng/zlib-ng PR: 1872
File: arch/x86/chorba_sse2.c:14-24
Timestamp: 2025-02-21T01:41:50.358Z
Learning: In zlib-ng's SSE2 vectorized Chorba CRC implementation, the code that calls READ_NEXT macro ensures 16-byte alignment, making explicit alignment checks unnecessary within the macro.

Applied to files:

  • README.md
📚 Learning: 2025-10-12T17:01:13.630Z
Learnt from: mtl1979
Repo: zlib-ng/zlib-ng PR: 1980
File: compress.c:31-33
Timestamp: 2025-10-12T17:01:13.630Z
Learning: In zlib-ng, when ZLIB_COMPAT is defined, z_int32_t is typedef'd as `int` (not int32_t), and zlib.h is included (which uses `int` in function signatures). This allows the implementation to use z_int32_t while maintaining backwards compatibility with the original zlib API that uses `int`. When ZLIB_COMPAT is not defined, z_int32_t is typedef'd as int32_t and zlib-ng.h is used instead.

Applied to files:

  • README.md
🪛 LanguageTool
README.md

[uncategorized] ~104-~104: Do not mix variants of the same word (‘optimisation’ and ‘optimization’) within a single text.
Context: ...| --without-optimizations | Build with optimisations ...

(EN_WORD_COHERENCY)


[uncategorized] ~212-~212: Do not mix variants of the same word (‘optimisation’ and ‘optimization’) within a single text.
Context: ...ut-power8 | ppc: Build with POWER8 optimisations ...

(EN_WORD_COHERENCY)


[uncategorized] ~213-~213: Do not mix variants of the same word (‘optimisation’ and ‘optimization’) within a single text.
Context: ...ut-power9 | ppc: Build with POWER9 optimisations ...

(EN_WORD_COHERENCY)


[uncategorized] ~219-~219: Do not mix variants of the same word (‘optimisation’ and ‘optimization’) within a single text.
Context: ... | loongarch: Build with LSX optimisations ...

(EN_WORD_COHERENCY)

🔇 Additional comments (3)
README.md (3)

22-26: Enhanced feature descriptions are comprehensive and well-documented.

The expanded SIMD target listings for Adler32, CRC32-B, slide hash, Compare256, and inflate chunk copying provide clear visibility into architecture-specific optimizations. This aligns well with the PR objective to document missing instruction set information.


109-109: Potential duplicate entry: Verify WITH_BENCHMARKS placement.

WITH_BENCHMARKS appears in the Build Options table (line 109) with description "Build benchmarks using Google Benchmark framework" and Default OFF. This same option also appears in the Advanced Build Options table (line 223) with slightly different description. Verify this is intentional and not a documentation error.


195-228: Advanced Build Options table reorganization is well-structured.

The refactored table with unified architecture-specific grouping (x86:, arm:, ppc:, riscv:, s390x:, loongarch:) significantly improves readability and maintainability. All options are clearly documented with defaults specified. This reorganization effectively addresses the PR objective to present architecture options in a unified manner.

@Dead2 Dead2 force-pushed the readme branch 2 times, most recently from 2e98ecb to 0592620 Compare November 11, 2025 16:36
Add missing parameter to configure help text.
Update descriptions and reorganize some options in CMake
echo ' [--without-zbc] Compiles without RISC-V ZBC instruction set' | tee -a configure.log
echo ' [--without-altivec] Compiles without PPC AltiVec support' | tee -a configure.log
echo ' [--without-power8] Compiles without Power8 instruction set' | tee -a configure.log
echo ' [--without-power9] Compiles without Power9 instruction set' | tee -a configure.log
Copy link
Copy Markdown
Member

@nmoinvaz nmoinvaz Nov 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow, I'm surprised this is missing, we had power9 for long time!

@codecov
Copy link
Copy Markdown

codecov bot commented Nov 11, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 75.40%. Comparing base (20083c8) to head (904d3ed).
⚠️ Report is 1 commits behind head on develop.

❗ There is a different number of reports uploaded between BASE (20083c8) and HEAD (904d3ed). Click for more details.

HEAD has 3 uploads less than BASE
Flag BASE (20083c8) HEAD (904d3ed)
6 3
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #2000      +/-   ##
===========================================
- Coverage    83.31%   75.40%   -7.91%     
===========================================
  Files          161      161              
  Lines        12960    14187    +1227     
  Branches      3149     3802     +653     
===========================================
- Hits         10797    10698      -99     
- Misses        1133     2320    +1187     
- Partials      1030     1169     +139     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Dead2 Dead2 changed the title Update README.md Update README.md and add missing CMake/Configure option descriptions Nov 11, 2025
@Dead2 Dead2 merged commit 780838b into develop Nov 11, 2025
301 of 304 checks passed
@Dead2 Dead2 mentioned this pull request Nov 16, 2025
@Dead2 Dead2 deleted the readme branch November 29, 2025 22:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cleanup Improving maintainability or removing code. Documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants