[{"id":25451,"web_url":"https://patchwork.libcamera.org/comment/25451/","msgid":"<20221019082205.kitdrkjdlle7pgto@uno.localdomain>","date":"2022-10-19T08:22:05","subject":"Re: [libcamera-devel] [PATCH v2 1/3] qcam,\n\tcam: Move DNGWriter from qcam to cam","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Paul\n\nOn Tue, Oct 18, 2022 at 05:09:06PM +0900, Paul Elder via libcamera-devel wrote:\n> To prepare for adding DNG support to cam, move DNGWriter from qcam to\n> cam so that we only have inclusions from qcam to cam and not the other\n> way around.\n>\n> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>\n> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n>\n> ---\n> Changes in v2:\n> - move libtiff dependency for cam to the next patch\n> ---\n>  src/{qcam => cam}/dng_writer.cpp | 0\n>  src/{qcam => cam}/dng_writer.h   | 0\n>  src/cam/meson.build              | 1 +\n>  src/qcam/main_window.cpp         | 2 +-\n>  src/qcam/meson.build             | 2 +-\n>  5 files changed, 3 insertions(+), 2 deletions(-)\n>  rename src/{qcam => cam}/dng_writer.cpp (100%)\n>  rename src/{qcam => cam}/dng_writer.h (100%)\n>\n> diff --git a/src/qcam/dng_writer.cpp b/src/cam/dng_writer.cpp\n> similarity index 100%\n> rename from src/qcam/dng_writer.cpp\n> rename to src/cam/dng_writer.cpp\n> diff --git a/src/qcam/dng_writer.h b/src/cam/dng_writer.h\n> similarity index 100%\n> rename from src/qcam/dng_writer.h\n> rename to src/cam/dng_writer.h\n> diff --git a/src/cam/meson.build b/src/cam/meson.build\n> index 8259239f..9c766221 100644\n> --- a/src/cam/meson.build\n> +++ b/src/cam/meson.build\n> @@ -26,6 +26,7 @@ cam_cpp_args = []\n>  libdrm = dependency('libdrm', required : false)\n>  libjpeg = dependency('libjpeg', required : false)\n>  libsdl2 = dependency('SDL2', required : false)\n> +libtiff = dependency('libtiff-4', required : false)\n>\n>  if libdrm.found()\n>      cam_cpp_args += [ '-DHAVE_KMS' ]\n> diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp\n> index e0e5092e..f553ccb0 100644\n> --- a/src/qcam/main_window.cpp\n> +++ b/src/qcam/main_window.cpp\n> @@ -26,10 +26,10 @@\n>  #include <QToolButton>\n>  #include <QtDebug>\n>\n> +#include \"../cam/dng_writer.h\"\n>  #include \"../cam/image.h\"\n>\n>  #include \"cam_select_dialog.h\"\n> -#include \"dng_writer.h\"\n>  #ifndef QT_NO_OPENGL\n>  #include \"viewfinder_gl.h\"\n>  #endif\n> diff --git a/src/qcam/meson.build b/src/qcam/meson.build\n> index 61861ea6..9f5759ff 100644\n> --- a/src/qcam/meson.build\n> +++ b/src/qcam/meson.build\n> @@ -49,7 +49,7 @@ if tiff_dep.found()\n\nYou can now remove tiff_dep and use libtiff ?\n\n\n>      qt5_cpp_args += ['-DHAVE_TIFF']\n>      qcam_deps += [tiff_dep]\n>      qcam_sources += files([\n> -        'dng_writer.cpp',\n> +        '../cam/dng_writer.cpp',\n\nWith 2/3 applied, I would rather define a symbol for the dng_sources\nin cam/meson.build\n\n        dng_sources = []\n        if libtiff.found()\n            cam_cpp_args += ['-DHAVE_TIFF']\n            dng_sources = files([\n                'dng_writer.cpp',\n            ])\n            cam_sources += dng_sources\n        endif\n\nAnd re-use it here in qcam/meson.build\n\n        if libtiff.found()\n            qt5_cpp_args += ['-DHAVE_TIFF']\n            qcam_deps += [libtiff]\n            qcam_sources += dng_sources\n        endif\n\nThe overall diff on top of 2/3 I have is:\n\ndiff --git a/src/cam/meson.build b/src/cam/meson.build\nindex 06dbea0645b7..b4336ba25c35 100644\n--- a/src/cam/meson.build\n+++ b/src/cam/meson.build\n@@ -52,11 +52,13 @@ if libsdl2.found()\n     endif\n endif\n\n+dng_sources = []\n if libtiff.found()\n     cam_cpp_args += ['-DHAVE_TIFF']\n-    cam_sources += files([\n+    dng_sources = files([\n         'dng_writer.cpp',\n     ])\n+    cam_sources += dng_sources\n endif\n\n cam  = executable('cam', cam_sources,\ndiff --git a/src/qcam/meson.build b/src/qcam/meson.build\nindex 9f5759ff0786..8a816f86c91a 100644\n--- a/src/qcam/meson.build\n+++ b/src/qcam/meson.build\n@@ -44,13 +44,10 @@ qcam_deps = [\n\n qt5_cpp_args = ['-DQT_NO_KEYWORDS']\n\n-tiff_dep = dependency('libtiff-4', required : false)\n-if tiff_dep.found()\n+if libtiff.found()\n     qt5_cpp_args += ['-DHAVE_TIFF']\n-    qcam_deps += [tiff_dep]\n-    qcam_sources += files([\n-        '../cam/dng_writer.cpp',\n-    ])\n+    qcam_deps += [libtiff]\n+    qcam_sources += dng_sources\n endif\n\n if cxx.has_header_symbol('QOpenGLWidget', 'QOpenGLWidget',\n\n>      ])\n>  endif\n>\n> --\n> 2.30.2\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 260CDC0DA4\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 19 Oct 2022 08:22:11 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 4521462E37;\n\tWed, 19 Oct 2022 10:22:10 +0200 (CEST)","from relay10.mail.gandi.net (relay10.mail.gandi.net\n\t[IPv6:2001:4b98:dc4:8::230])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C703A62DD7\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 19 Oct 2022 10:22:08 +0200 (CEST)","(Authenticated sender: jacopo@jmondi.org)\n\tby mail.gandi.net (Postfix) with ESMTPSA id 40BBA24000D;\n\tWed, 19 Oct 2022 08:22:07 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1666167730;\n\tbh=O9d+FJAHHZO3vhFR5dbFrhTb/ETJQwpnCJGCRoccmIE=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=Fvb7tzKT9jnuJIIgihjGIYJScnh1rk/9XEyBErZIf1OpAH9rElH6ly6I2t4pypYDH\n\tiC6NefimV6xL+0vWr9PaCnvwjh7R7htwJZS2dmsrju3nehue8UjovW/ERaG7j5cT+z\n\trXsvPVfv1Bo+flG2P0rOxmMEPURnoY8L5GHobNBWHoEFNi3tnM8H6ZvMX2EP0cK+qO\n\t23LJWWUz99M63AGfzpN1PopDMJBX7wmXpkiHCkzRy3eHmzdZRnC7xnyup+pGykUbcx\n\tu2mc7yueakXoVqwfWq1IIwn1SyOwrTWAECLmPZ4Qjt1TQC91uUqbmfD7swAqT1wLPp\n\tayvJO+ucBc/Dg==","Date":"Wed, 19 Oct 2022 10:22:05 +0200","To":"Paul Elder <paul.elder@ideasonboard.com>","Message-ID":"<20221019082205.kitdrkjdlle7pgto@uno.localdomain>","References":"<20221018080908.2841339-1-paul.elder@ideasonboard.com>\n\t<20221018080908.2841339-2-paul.elder@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20221018080908.2841339-2-paul.elder@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH v2 1/3] qcam,\n\tcam: Move DNGWriter from qcam to cam","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>","From":"Jacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Jacopo Mondi <jacopo@jmondi.org>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":25459,"web_url":"https://patchwork.libcamera.org/comment/25459/","msgid":"<Y0/FkPNc8YkjaWGt@pendragon.ideasonboard.com>","date":"2022-10-19T09:38:24","subject":"Re: [libcamera-devel] [PATCH v2 1/3] qcam,\n\tcam: Move DNGWriter from qcam to cam","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Jacopo,\n\nOn Wed, Oct 19, 2022 at 10:22:05AM +0200, Jacopo Mondi via libcamera-devel wrote:\n> On Tue, Oct 18, 2022 at 05:09:06PM +0900, Paul Elder via libcamera-devel wrote:\n> > To prepare for adding DNG support to cam, move DNGWriter from qcam to\n> > cam so that we only have inclusions from qcam to cam and not the other\n> > way around.\n> >\n> > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>\n> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> >\n> > ---\n> > Changes in v2:\n> > - move libtiff dependency for cam to the next patch\n> > ---\n> >  src/{qcam => cam}/dng_writer.cpp | 0\n> >  src/{qcam => cam}/dng_writer.h   | 0\n> >  src/cam/meson.build              | 1 +\n> >  src/qcam/main_window.cpp         | 2 +-\n> >  src/qcam/meson.build             | 2 +-\n> >  5 files changed, 3 insertions(+), 2 deletions(-)\n> >  rename src/{qcam => cam}/dng_writer.cpp (100%)\n> >  rename src/{qcam => cam}/dng_writer.h (100%)\n> >\n> > diff --git a/src/qcam/dng_writer.cpp b/src/cam/dng_writer.cpp\n> > similarity index 100%\n> > rename from src/qcam/dng_writer.cpp\n> > rename to src/cam/dng_writer.cpp\n> > diff --git a/src/qcam/dng_writer.h b/src/cam/dng_writer.h\n> > similarity index 100%\n> > rename from src/qcam/dng_writer.h\n> > rename to src/cam/dng_writer.h\n> > diff --git a/src/cam/meson.build b/src/cam/meson.build\n> > index 8259239f..9c766221 100644\n> > --- a/src/cam/meson.build\n> > +++ b/src/cam/meson.build\n> > @@ -26,6 +26,7 @@ cam_cpp_args = []\n> >  libdrm = dependency('libdrm', required : false)\n> >  libjpeg = dependency('libjpeg', required : false)\n> >  libsdl2 = dependency('SDL2', required : false)\n> > +libtiff = dependency('libtiff-4', required : false)\n> >\n> >  if libdrm.found()\n> >      cam_cpp_args += [ '-DHAVE_KMS' ]\n> > diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp\n> > index e0e5092e..f553ccb0 100644\n> > --- a/src/qcam/main_window.cpp\n> > +++ b/src/qcam/main_window.cpp\n> > @@ -26,10 +26,10 @@\n> >  #include <QToolButton>\n> >  #include <QtDebug>\n> >\n> > +#include \"../cam/dng_writer.h\"\n> >  #include \"../cam/image.h\"\n> >\n> >  #include \"cam_select_dialog.h\"\n> > -#include \"dng_writer.h\"\n> >  #ifndef QT_NO_OPENGL\n> >  #include \"viewfinder_gl.h\"\n> >  #endif\n> > diff --git a/src/qcam/meson.build b/src/qcam/meson.build\n> > index 61861ea6..9f5759ff 100644\n> > --- a/src/qcam/meson.build\n> > +++ b/src/qcam/meson.build\n> > @@ -49,7 +49,7 @@ if tiff_dep.found()\n> \n> You can now remove tiff_dep and use libtiff ?\n> \n> \n> >      qt5_cpp_args += ['-DHAVE_TIFF']\n> >      qcam_deps += [tiff_dep]\n> >      qcam_sources += files([\n> > -        'dng_writer.cpp',\n> > +        '../cam/dng_writer.cpp',\n> \n> With 2/3 applied, I would rather define a symbol for the dng_sources\n> in cam/meson.build\n> \n>         dng_sources = []\n>         if libtiff.found()\n>             cam_cpp_args += ['-DHAVE_TIFF']\n>             dng_sources = files([\n>                 'dng_writer.cpp',\n>             ])\n>             cam_sources += dng_sources\n>         endif\n> \n> And re-use it here in qcam/meson.build\n> \n>         if libtiff.found()\n>             qt5_cpp_args += ['-DHAVE_TIFF']\n>             qcam_deps += [libtiff]\n>             qcam_sources += dng_sources\n>         endif\n>\n> The overall diff on top of 2/3 I have is:\n> \n> diff --git a/src/cam/meson.build b/src/cam/meson.build\n> index 06dbea0645b7..b4336ba25c35 100644\n> --- a/src/cam/meson.build\n> +++ b/src/cam/meson.build\n> @@ -52,11 +52,13 @@ if libsdl2.found()\n>      endif\n>  endif\n> \n> +dng_sources = []\n>  if libtiff.found()\n>      cam_cpp_args += ['-DHAVE_TIFF']\n> -    cam_sources += files([\n> +    dng_sources = files([\n>          'dng_writer.cpp',\n>      ])\n> +    cam_sources += dng_sources\n>  endif\n> \n>  cam  = executable('cam', cam_sources,\n> diff --git a/src/qcam/meson.build b/src/qcam/meson.build\n> index 9f5759ff0786..8a816f86c91a 100644\n> --- a/src/qcam/meson.build\n> +++ b/src/qcam/meson.build\n> @@ -44,13 +44,10 @@ qcam_deps = [\n> \n>  qt5_cpp_args = ['-DQT_NO_KEYWORDS']\n> \n> -tiff_dep = dependency('libtiff-4', required : false)\n> -if tiff_dep.found()\n> +if libtiff.found()\n>      qt5_cpp_args += ['-DHAVE_TIFF']\n> -    qcam_deps += [tiff_dep]\n> -    qcam_sources += files([\n> -        '../cam/dng_writer.cpp',\n> -    ])\n> +    qcam_deps += [libtiff]\n> +    qcam_sources += dng_sources\n>  endif\n\nThis will break on systems where libevent is not found. cam will be\nskipped, and dng_sources won't be defined.\n\nIf we want to avoid code duplication between cam/meson.build and\nqcam/meson.build, let's create an application static library for the\ncode shared between the two applictions. It wouldn't be installed, just\nused internally to avoid compiling the same source files twice. I think\nthis can be done on top.\n\n> \n>  if cxx.has_header_symbol('QOpenGLWidget', 'QOpenGLWidget',\n> \n> >      ])\n> >  endif\n> >","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id D77DDBD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 19 Oct 2022 09:38:50 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8ABFE62E37;\n\tWed, 19 Oct 2022 11:38:50 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5203262E37\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 19 Oct 2022 11:38:49 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id B874E5A4;\n\tWed, 19 Oct 2022 11:38:48 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1666172330;\n\tbh=3nOWI6kuW6vG8Qu0hphiGm7fdznLTQFTo826tAir+Oc=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=eFcaUvYCSt4Dw6o1ITjLImdxDk1k9EF3K9tlhbeLwfBVbpx0rltmKuCMwZ4uw7Chf\n\tET+Uq1d1vZkPVeJWRzXpHkWlS9NuruwV5yWBrAPo7mIhm2yeRy5SX/ddpcq/YMlcqo\n\tUyEX+JxNLEwuqnjp7d9w9VzWyNKalc0B/jP/6Zsg7n81wTSCckNxSwO0dcvWSs1Juk\n\tLSLhyiaX30dtJukj40eiu8S8DZWRrOsLYGeCl2ox1HozevZjXZfgL+tVi1G/8EHCvd\n\tbFN3L30+IT5qWwB+ef7XNgVVkNSiosk0Dwzpwu0TwjZCeAsk92Dt7/VY2f9/cZNWMN\n\txSvKNuK1u1kFA==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1666172329;\n\tbh=3nOWI6kuW6vG8Qu0hphiGm7fdznLTQFTo826tAir+Oc=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=RIzq739WV40GbuDCzeucF/s0gLgc9n4Al/Erz+cXxZZbDAmmi5m9yDvqS/GyC/COl\n\ti6uHzW0U7vdpUPCklO9Vd9DquX9qAh0BeigMxJXvz3iE6CgsCtq1ohH/sLluMM97do\n\t2AIBGvNrJwzADhl5/yb+SIgfVUaF3joD/bhnXWPU="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"RIzq739W\"; dkim-atps=neutral","Date":"Wed, 19 Oct 2022 12:38:24 +0300","To":"Jacopo Mondi <jacopo@jmondi.org>","Message-ID":"<Y0/FkPNc8YkjaWGt@pendragon.ideasonboard.com>","References":"<20221018080908.2841339-1-paul.elder@ideasonboard.com>\n\t<20221018080908.2841339-2-paul.elder@ideasonboard.com>\n\t<20221019082205.kitdrkjdlle7pgto@uno.localdomain>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20221019082205.kitdrkjdlle7pgto@uno.localdomain>","Subject":"Re: [libcamera-devel] [PATCH v2 1/3] qcam,\n\tcam: Move DNGWriter from qcam to cam","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>","From":"Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":25464,"web_url":"https://patchwork.libcamera.org/comment/25464/","msgid":"<20221019101727.w2qwcvlveq655kn3@uno.localdomain>","date":"2022-10-19T10:17:27","subject":"Re: [libcamera-devel] [PATCH v2 1/3] qcam,\n\tcam: Move DNGWriter from qcam to cam","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Laurent\n\nOn Wed, Oct 19, 2022 at 12:38:24PM +0300, Laurent Pinchart wrote:\n> Hi Jacopo,\n>\n> On Wed, Oct 19, 2022 at 10:22:05AM +0200, Jacopo Mondi via libcamera-devel wrote:\n> > On Tue, Oct 18, 2022 at 05:09:06PM +0900, Paul Elder via libcamera-devel wrote:\n> > > To prepare for adding DNG support to cam, move DNGWriter from qcam to\n> > > cam so that we only have inclusions from qcam to cam and not the other\n> > > way around.\n> > >\n> > > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>\n> > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> > >\n> > > ---\n> > > Changes in v2:\n> > > - move libtiff dependency for cam to the next patch\n> > > ---\n> > >  src/{qcam => cam}/dng_writer.cpp | 0\n> > >  src/{qcam => cam}/dng_writer.h   | 0\n> > >  src/cam/meson.build              | 1 +\n> > >  src/qcam/main_window.cpp         | 2 +-\n> > >  src/qcam/meson.build             | 2 +-\n> > >  5 files changed, 3 insertions(+), 2 deletions(-)\n> > >  rename src/{qcam => cam}/dng_writer.cpp (100%)\n> > >  rename src/{qcam => cam}/dng_writer.h (100%)\n> > >\n> > > diff --git a/src/qcam/dng_writer.cpp b/src/cam/dng_writer.cpp\n> > > similarity index 100%\n> > > rename from src/qcam/dng_writer.cpp\n> > > rename to src/cam/dng_writer.cpp\n> > > diff --git a/src/qcam/dng_writer.h b/src/cam/dng_writer.h\n> > > similarity index 100%\n> > > rename from src/qcam/dng_writer.h\n> > > rename to src/cam/dng_writer.h\n> > > diff --git a/src/cam/meson.build b/src/cam/meson.build\n> > > index 8259239f..9c766221 100644\n> > > --- a/src/cam/meson.build\n> > > +++ b/src/cam/meson.build\n> > > @@ -26,6 +26,7 @@ cam_cpp_args = []\n> > >  libdrm = dependency('libdrm', required : false)\n> > >  libjpeg = dependency('libjpeg', required : false)\n> > >  libsdl2 = dependency('SDL2', required : false)\n> > > +libtiff = dependency('libtiff-4', required : false)\n> > >\n> > >  if libdrm.found()\n> > >      cam_cpp_args += [ '-DHAVE_KMS' ]\n> > > diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp\n> > > index e0e5092e..f553ccb0 100644\n> > > --- a/src/qcam/main_window.cpp\n> > > +++ b/src/qcam/main_window.cpp\n> > > @@ -26,10 +26,10 @@\n> > >  #include <QToolButton>\n> > >  #include <QtDebug>\n> > >\n> > > +#include \"../cam/dng_writer.h\"\n> > >  #include \"../cam/image.h\"\n> > >\n> > >  #include \"cam_select_dialog.h\"\n> > > -#include \"dng_writer.h\"\n> > >  #ifndef QT_NO_OPENGL\n> > >  #include \"viewfinder_gl.h\"\n> > >  #endif\n> > > diff --git a/src/qcam/meson.build b/src/qcam/meson.build\n> > > index 61861ea6..9f5759ff 100644\n> > > --- a/src/qcam/meson.build\n> > > +++ b/src/qcam/meson.build\n> > > @@ -49,7 +49,7 @@ if tiff_dep.found()\n> >\n> > You can now remove tiff_dep and use libtiff ?\n> >\n> >\n> > >      qt5_cpp_args += ['-DHAVE_TIFF']\n> > >      qcam_deps += [tiff_dep]\n> > >      qcam_sources += files([\n> > > -        'dng_writer.cpp',\n> > > +        '../cam/dng_writer.cpp',\n> >\n> > With 2/3 applied, I would rather define a symbol for the dng_sources\n> > in cam/meson.build\n> >\n> >         dng_sources = []\n> >         if libtiff.found()\n> >             cam_cpp_args += ['-DHAVE_TIFF']\n> >             dng_sources = files([\n> >                 'dng_writer.cpp',\n> >             ])\n> >             cam_sources += dng_sources\n> >         endif\n> >\n> > And re-use it here in qcam/meson.build\n> >\n> >         if libtiff.found()\n> >             qt5_cpp_args += ['-DHAVE_TIFF']\n> >             qcam_deps += [libtiff]\n> >             qcam_sources += dng_sources\n> >         endif\n> >\n> > The overall diff on top of 2/3 I have is:\n> >\n> > diff --git a/src/cam/meson.build b/src/cam/meson.build\n> > index 06dbea0645b7..b4336ba25c35 100644\n> > --- a/src/cam/meson.build\n> > +++ b/src/cam/meson.build\n> > @@ -52,11 +52,13 @@ if libsdl2.found()\n> >      endif\n> >  endif\n> >\n> > +dng_sources = []\n> >  if libtiff.found()\n> >      cam_cpp_args += ['-DHAVE_TIFF']\n> > -    cam_sources += files([\n> > +    dng_sources = files([\n> >          'dng_writer.cpp',\n> >      ])\n> > +    cam_sources += dng_sources\n> >  endif\n> >\n> >  cam  = executable('cam', cam_sources,\n> > diff --git a/src/qcam/meson.build b/src/qcam/meson.build\n> > index 9f5759ff0786..8a816f86c91a 100644\n> > --- a/src/qcam/meson.build\n> > +++ b/src/qcam/meson.build\n> > @@ -44,13 +44,10 @@ qcam_deps = [\n> >\n> >  qt5_cpp_args = ['-DQT_NO_KEYWORDS']\n> >\n> > -tiff_dep = dependency('libtiff-4', required : false)\n> > -if tiff_dep.found()\n> > +if libtiff.found()\n> >      qt5_cpp_args += ['-DHAVE_TIFF']\n> > -    qcam_deps += [tiff_dep]\n> > -    qcam_sources += files([\n> > -        '../cam/dng_writer.cpp',\n> > -    ])\n> > +    qcam_deps += [libtiff]\n> > +    qcam_sources += dng_sources\n> >  endif\n>\n> This will break on systems where libevent is not found. cam will be\n> skipped, and dng_sources won't be defined.\n>\n\nAh! Ok sorry for the bad suggestion then\n\n> If we want to avoid code duplication between cam/meson.build and\n> qcam/meson.build, let's create an application static library for the\n> code shared between the two applictions. It wouldn't be installed, just\n> used internally to avoid compiling the same source files twice. I think\n> this can be done on top.\n>\n\nSurely not for this patches..\n\nAs my comments clearly do not apply\nReviewed-by: Jacopo Mondi <jacopo@jmondi.org>\n\n> >\n> >  if cxx.has_header_symbol('QOpenGLWidget', 'QOpenGLWidget',\n> >\n> > >      ])\n> > >  endif\n> > >\n>\n> --\n> Regards,\n>\n> Laurent Pinchart","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 02A37BD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 19 Oct 2022 10:17:33 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 373AB62E4D;\n\tWed, 19 Oct 2022 12:17:32 +0200 (CEST)","from relay10.mail.gandi.net (relay10.mail.gandi.net\n\t[217.70.178.230])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E7A3562DFA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 19 Oct 2022 12:17:30 +0200 (CEST)","(Authenticated sender: jacopo@jmondi.org)\n\tby mail.gandi.net (Postfix) with ESMTPSA id 9796124001D;\n\tWed, 19 Oct 2022 10:17:29 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1666174652;\n\tbh=FQt3oZxz0WmpBg/0Wch7nc3eY/fb/ftLAmCDAKBFB2Y=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=j+28FQ9KNphno8tSqPsYUgLLJr/WsCQj0/2b4KnbOZUkvdFSMg46+nLU/yRY7m6Ct\n\t7TcRK5RX3QFFIGVF1oQbFO1lcQ/HDwmfDvu9mKLrNO1RvWhENWu+Pmo4KeHp0jlESf\n\tg5SgkDK9k1K8pmLqY3QgPLSch/TRI7OKDDxb5amW2HgCs9Tdn3rONSVFK78wY1UmEM\n\t85wV0lyY4pLSmXXAW8Y2Gf4nSmMegAmNwcE3vNrS8mQcy/ILlTCSz3+GcMSBcMcitn\n\tmApM6V7ysWYLMGX6hPfX38fWrDb3Rlm8erzqBi0sDEILXcCyTxFWMfbWwsZktQJ0lm\n\tMhzZyLjIBSbpA==","Date":"Wed, 19 Oct 2022 12:17:27 +0200","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Message-ID":"<20221019101727.w2qwcvlveq655kn3@uno.localdomain>","References":"<20221018080908.2841339-1-paul.elder@ideasonboard.com>\n\t<20221018080908.2841339-2-paul.elder@ideasonboard.com>\n\t<20221019082205.kitdrkjdlle7pgto@uno.localdomain>\n\t<Y0/FkPNc8YkjaWGt@pendragon.ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<Y0/FkPNc8YkjaWGt@pendragon.ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH v2 1/3] qcam,\n\tcam: Move DNGWriter from qcam to cam","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>","From":"Jacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Jacopo Mondi <jacopo@jmondi.org>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]