[{"id":5151,"web_url":"https://patchwork.libcamera.org/comment/5151/","msgid":"<fe8e3435-217d-8c03-7a77-17c1791d32ad@ideasonboard.com>","date":"2020-06-09T15:00:24","subject":"Re: [libcamera-devel] [PATCH 1/1] linux: install missing drm\n\tincludes","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Stéphane,\n\nOn 09/06/2020 15:36, Stéphane Cerveau wrote:\n> When using libcamera in a third party, the build needs\n> 3 missing drm includes such as:\n> - drm_fourcc.h\n> - drm.h\n> - drm_mode.h\n> \n> install those in libcamera/include/linux\n\nInstalling the headers could be one option, but the location isn't quite\ncorrect.\n\nThe linux headers should normally be installed in in include/drm, as I\nsuggested in my patch to move them.\n\n[PATCH] libcamera: Move DRM headers to include/drm\n\nThat in it's own right should then fix the issue for distributions which\nprovide the header correctly (ubuntu seems to, but debian/arch doesn't).\n\nThis is certainly an annoying issue we have currently, particularly as\nit blocks building external applications.\n\nThe issue is that we shouldn't install these headers, as they are\nexternal really - and we shouldn't be installing a copy that would take\nan incorrect precedence over an application intending to use the\n'correct' ones.\n\nBut - it got more complicated, because various distributions have either\nchosen not to provide these headers from the kernel packages (I'd call\nthat a distribution bug personally).\n\nIt would be incorrect to depend on libdrm for these headers too.\n\nFortunately, Laurent has been working on an alternative solution which\nprovides a libcamera namespaced set of format descriptions.\n\nThat might be verging towards https://xkcd.com/927/, but it keeps the\nDRM fourcc and modifiers underneath, and the naming of the formats, but\nbrings definitions into the libcamera namespace so we can reference them\nglobally without conflicts occurring, while remaining compatible with\nother DRM fourcc users.\n\n--\nRegards\n\nKieran\n\n\n> Signed-off-by: Stéphane Cerveau <scerveau@collabora.com>\n> ---\n>  include/linux/meson.build | 12 ++++++++++++\n>  include/meson.build       |  1 +\n>  2 files changed, 13 insertions(+)\n>  create mode 100644 include/linux/meson.build\n> \n> diff --git a/include/linux/meson.build b/include/linux/meson.build\n> new file mode 100644\n> index 0000000..a39faab\n> --- /dev/null\n> +++ b/include/linux/meson.build\n> @@ -0,0 +1,12 @@\n> +# SPDX-License-Identifier: CC0-1.0\n> +\n> +linux_public_headers = files([\n> +    'drm_fourcc.h',\n> +    'drm.h',\n> +    'drm_mode.h',\n> +])\n> +\n> +linux_include_dir = join_paths(libcamera_include_dir, 'linux')\n> +\n> +install_headers(linux_public_headers,\n> +                subdir : linux_include_dir)\n> diff --git a/include/meson.build b/include/meson.build\n> index 2ac9a3a..90339a7 100644\n> --- a/include/meson.build\n> +++ b/include/meson.build\n> @@ -4,3 +4,4 @@ libcamera_include_dir = 'libcamera'\n>  \n>  subdir('android')\n>  subdir('libcamera')\n> +subdir('linux')\n>","headers":{"Return-Path":"<kieran.bingham@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id DA1EB603C5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  9 Jun 2020 17:00:28 +0200 (CEST)","from [192.168.0.20]\n\t(cpc89242-aztw30-2-0-cust488.18-1.cable.virginm.net [86.31.129.233])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 5A32E291;\n\tTue,  9 Jun 2020 17:00:27 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"rm30g3Fg\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1591714828;\n\tbh=DAvaD/DqO86jyHxBShvHqnHz+jh64djLu3Eg/VRARi4=;\n\th=Reply-To:Subject:To:References:From:Date:In-Reply-To:From;\n\tb=rm30g3FgzM+oESt6+IkTpp7D22g1lLAOgerQxRJe60lfDywDBYZ3Hg1GymRnjR6tg\n\tomz56QQdx4yJYWopvnKNgfJ1RxZL4Qk4QC9j01tZBHlYVlxn1qMd8+HTvzsOzbZ9Tu\n\tv+3+15Zswmzo41Dw9usAUTDntWK9WVO9w9qnQM8c=","Reply-To":"kieran.bingham@ideasonboard.com","To":"=?utf-8?q?St=C3=A9phane_Cerveau?= <scerveau@collabora.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20200609143601.9050-1-scerveau@collabora.com>\n\t<20200609143601.9050-2-scerveau@collabora.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Autocrypt":"addr=kieran.bingham@ideasonboard.com; keydata=\n\t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\n\tWZw01QYHU/GUV/zHJSFk","Organization":"Ideas on Board","Message-ID":"<fe8e3435-217d-8c03-7a77-17c1791d32ad@ideasonboard.com>","Date":"Tue, 9 Jun 2020 16:00:24 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101\n\tThunderbird/68.7.0","MIME-Version":"1.0","In-Reply-To":"<20200609143601.9050-2-scerveau@collabora.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-GB","Content-Transfer-Encoding":"8bit","Subject":"Re: [libcamera-devel] [PATCH 1/1] linux: install missing drm\n\tincludes","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Tue, 09 Jun 2020 15:00:29 -0000"}}]