notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)
All times are UTC
Ukraine
non port: graphics/darktable/files/patch-src_common_extra__optimizations.h
SVNWeb

Number of commits found: 1

Fri, 27 Jan 2023
[ 22:34 Jean-Sébastien Pédron (dumbbell) search for other commits by this committer ]    commit hash:75ac7903573cdc224246b8ec9446a97e0e4c099d  commit hash:75ac7903573cdc224246b8ec9446a97e0e4c099d  commit hash:75ac7903573cdc224246b8ec9446a97e0e4c099d  75ac790  (Only the first 10 of 11 ports in this commit are shown above. View all ports for this commit)
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.

Number of commits found: 1