Skip to content

compat.fribidi: -fPIC on linux and macOS only; static entry points on windows - #577

Merged
Sunrisepeak merged 1 commit into
mainfrom
fribidi-no-fpic-msvc
Oct 26, 2026
Merged

Sunrisepeak merged 1 commit into
mainfrom
fribidi-no-fpic-msvc

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

Follow-up to #571, which gave compat.fribidi a windows build: under the MSVC ABI it does not compile.

clang: error: unsupported option '-fPIC' for target 'x86_64-pc-windows-msvc'
  • -fPIC moves to linux / macosx tables, as compat.gmp and compat.godot-cpp do: PE/COFF has no such distinction.
  • On windows the package defines FRIBIDI_LIB_STATIC: without it fribidi-common.h marks every entry point __declspec(dllexport) (and dllimport for consumers) under _WIN32, but this package is a static library. A consumer that includes the headers on windows defines it too (openmui's text engine does).

Sunrisepeak added a commit to Sunrisepeak/mui that referenced this pull request Oct 26, 2026
fribidi is linked as a static library; under _WIN32 its headers declare
dllimport entry points unless FRIBIDI_LIB_STATIC is defined. A
platform-scoped define in the manifest (not in source); pairs with
mcpplibs/mcpp-index#577.
@Sunrisepeak

Copy link
Copy Markdown
Member Author

Stacked on #576 so that this run (which selects the workspace legs) also exercises #576's apt step on the llvm leg; #576 merges first, after which this diff is the fribidi change alone.

… windows

clang rejects -fPIC for the MSVC target ("unsupported option '-fPIC' for
target 'x86_64-pc-windows-msvc'"), and PE/COFF has no such distinction. On
windows fribidi-common.h makes every entry point dllexport/dllimport unless
FRIBIDI_LIB_STATIC is defined; this package builds a static library, so it is.
@Sunrisepeak
Sunrisepeak merged commit 4e56dee into main Oct 26, 2026
7 checks passed
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.

1 participant