Subject: [bug#42067] [PATCH] gnu: darktable: Add optional dependencies.

From: Vinicius Monego <[email-masked]>
Date: Mon, 29 Jun 2020 23:42:06 -0300

Hello Ludo,

> 
> BTW, why are we building with Clang?
> 

This was briefly discussed in the version update thread (2020-
06/msg00651). To be more descriptive:

DT 3+ requires GCC/Clang 8+ and will fail to build with the default GCC
7.5.0. We have to load a newer version of GCC, or use Clang. Marius
attempted to build it with gcc-9 and "ran into other problems" although
I have succesfully built DT3 with the same compiler and version a while
ago.

Meanwhile, DT's CMakeLists.txt checks for LLVM to enable "test-
compilation of OpenCL programs". If LLVM is not found, this test-
compilation is skipped. If LLVM is found, it checks for Clang, and the
required opencl header is located inside Clang's directory. Because we
"have to have" Clang this way, it made more sense to me to compile with
it.

Anyways, OpenCL is optional. To build with GCC only, we would have to
load the gcc module and skip the test-compilation. It may be possible
to use both gcc and clang, but that would add redundancy.