From nobody Sat Jan 28 16:37:24 2023 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P40Tz0fG6z3bHnk for ; Sat, 28 Jan 2023 16:37:27 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from smtp-42ac.mail.infomaniak.ch (smtp-42ac.mail.infomaniak.ch [84.16.66.172]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "relay.mail.infomaniak.ch", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P40Ty59VFz45Fq for ; Sat, 28 Jan 2023 16:37:26 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Authentication-Results: mx1.freebsd.org; none Received: from smtp-2-0001.mail.infomaniak.ch (unknown [10.5.36.108]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4P40Tw4T8mzMqgKQ; Sat, 28 Jan 2023 17:37:24 +0100 (CET) Received: from unknown by smtp-2-0001.mail.infomaniak.ch (Postfix) with ESMTPA id 4P40Tw1lRMzMqRyD; Sat, 28 Jan 2023 17:37:24 +0100 (CET) Message-ID: Date: Sat, 28 Jan 2023 17:37:24 +0100 List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: git: 75ac7903573c - main - graphics/darktable: Use GCC as the compiler instead of LLVM To: Matthias Andree , Dima Panov Cc: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org References: <202301272245.30RMjpHY013683@gitrepo.freebsd.org> <3e6b66b1-c01e-095a-fb95-61db65787d9b@gmx.de> Content-Language: en-US From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Organization: The FreeBSD Project In-Reply-To: <3e6b66b1-c01e-095a-fb95-61db65787d9b@gmx.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Infomaniak-Routing: alpha X-Rspamd-Queue-Id: 4P40Ty59VFz45Fq X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:29222, ipnet:84.16.64.0/19, country:CH] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 28/01/2023 15:51, Matthias Andree wrote: > Am 28.01.23 um 14:22 schrieb Dima Panov: >> Moin-moin! >> >> >> USES+= llvm:14,build >> >> with >> >> USES+= compiler:gcc-c++11-lib >> USE_GCC=yes >> >> at same time? >> Please choose only one set, compiler.mk have a higher priority and >> conflicting with overriding CC >> >> BTW, USES=llvm also needs to set USE_CXXSTD='gnu++17', for example > > Dima, > > thanks for looking again. > > I can't judge on the details because that's been Jean-Sébastien's doing, > but I know that darktable uses two compilers: > - one is for the C++ librawspeed and the C darktable code, and > - the other compiler shall be LLVM to compile the OpenCL kernels.  I > don't think GCC could do the latter, and certainly darktable expects to > use LLVM by way of its build tooling and configuration (cmake-based). Indeed, I could have given more explanations in the commit message or in comments in the Makefile. We used to compile Darktable entirely with LLVM. Unfortunately, it breaks on a regular basis because GCC is used upstream and Darktable uses a lot of GCC-specific flags and optimizations. I wanted to switch from LLVM 13 we used so far to LLVM 15, the one used by mesa-dri to reduce the number of installed LLVM. But again, Darktable doesn't compile with LLVM 14/15; that's the part I described in the commit message. So instead of fighting the expectations of the upstream developers, I preferred to use GCC as the main compiler for Darktable. Now, as Matthias said, LLVM is still required for the OpenCL part of Darktable. That's why it is a build dependency, not a runtime one. I agree it's annoying, but that's how Darktable is compiled upstream. -- Jean-Sébastien Pédron The FreeBSD Project