Skip to content
Unverified Commit 75ac7903 authored by Jean-Sébastien Pédron's avatar Jean-Sébastien Pédron
Browse files

graphics/darktable: Use GCC as the compiler instead of LLVM

Darktable source code is heavily tuned for GCC and its optimizations. It
always required some work to make it compile with LLVM. With LLVM 14+,
new errors around `static inline __attribute__((target-clones))`
appeared: the compiler failed to link the final executable because there
was multiple copies of the same ifunc resolver (the code originated from
a header included in a couple places). Apparently GCC knows how to deal
with the "static-inline"-ness of the resolver somehow.

Unfortunately, even with GCC, we get several compilation failures
because the source files enable Graphite optimizations (using `#pragma`)
but our GCC compiler has Graphite disabled by default. All the patches
included in this commit simply delete all the corresponding `#pragma`. I
suppose Darktable will be slightly slower because of this, but I didn't
measure anything.

In the end, the dependencies of the port change a bit because GCC
replaces LLVM.
parent 6853ab17
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment