Skip to content

Allow WASM targets to pre-define ABSL_HAVE_MMAP#2048

Open
andreaTP wants to merge 1 commit intoabseil:masterfrom
andreaTP:fix/wasi
Open

Allow WASM targets to pre-define ABSL_HAVE_MMAP#2048
andreaTP wants to merge 1 commit intoabseil:masterfrom
andreaTP:fix/wasi

Conversation

@andreaTP
Copy link
Copy Markdown

@andreaTP andreaTP commented May 8, 2026

Hi 👋 !
Thank you so much for maintaining Abseil, it's an amazing library and we really appreciate all the work that goes into it!

This is a tiny follow-up to #1976 . When building Abseil for WASM/WASI with wasi-sdk, build systems need to pass -DABSL_HAVE_MMAP alongside -D_WASI_EMULATED_MMAN. The #error guard on ABSL_HAVE_MMAP prevents this.

This PR exempts __wasm__ targets from that guard (1 line changed), while keeping it intact for all other platforms. It also adds a CI script that builds Abseil with wasi-sdk to prevent regressions, I can remove it and leave the single line change when requested.

This patch (or equivalent) is already working in the wild across several projects, for example:

Having this upstream would let all these projects drop their local patches. Thank you for considering it!

WASM/WASI build systems using wasi-sdk need to pass -DABSL_HAVE_MMAP
alongside -D_WASI_EMULATED_MMAN to enable emulated mmap support.
The #error guard on ABSL_HAVE_MMAP blocks this. Exempt __wasm__
targets from the guard while keeping it for all other platforms.

Add a CI script that builds abseil-cpp with wasi-sdk to catch
WASI build regressions.
@google-cla
Copy link
Copy Markdown

google-cla Bot commented May 8, 2026

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@derekmauro
Copy link
Copy Markdown
Member

Why is -DABSL_HAVE_MMAP needed if -D_WASI_EMULATED_MMAN will cause it to be defined?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants