From patchwork Wed May 22 21:22:51 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 1261 Return-Path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 0093960C02 for ; Wed, 22 May 2019 23:23:13 +0200 (CEST) Received: from pendragon.bb.dnainternet.fi (dfj612yhrgyx302h3jwwy-3.rev.dnainternet.fi [IPv6:2001:14ba:21f5:5b00:ce28:277f:58d7:3ca4]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 80C9D443 for ; Wed, 22 May 2019 23:23:13 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1558560193; bh=MMrBFBUhFF84kPeee7ldw3HhpN9X2Fcc3FETo8C7WOM=; h=From:To:Subject:Date:From; b=ElUsYridrabld5r7k1T4xgl0h/RYZQpBRKdHir5sMEUHNjZ+FQKDclir/RuKJ4k78 fxk9/Ws7PqPbuhVd4cR7joXj0Os1NsnxDsUcH6l3eASzpRy0xz0XoaUNAfybMxiQu9 Isw4UTtFaW24sl3NKPgPPufi8lvAEM67o4idOlS4= From: Laurent Pinchart To: libcamera-devel@lists.libcamera.org Date: Thu, 23 May 2019 00:22:51 +0300 Message-Id: <20190522212253.3307-1-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v3 1/3] meson: Fix coding style in meson.build files X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 May 2019 21:23:14 -0000 Consistently go for 4 spaces indentation, and always put a space between the colon in argument lists, as per the examples from the meson documentation. Signed-off-by: Laurent Pinchart --- Documentation/meson.build | 34 ++++++++++++++++----------------- meson.build | 28 +++++++++++++-------------- src/libcamera/meson.build | 2 +- test/camera/meson.build | 16 ++++++++-------- test/ipa/meson.build | 6 +++--- test/media_device/meson.build | 2 +- test/pipeline/ipu3/meson.build | 4 ++-- test/v4l2_device/meson.build | 20 +++++++++---------- test/v4l2_subdevice/meson.build | 2 +- 9 files changed, 57 insertions(+), 57 deletions(-) diff --git a/Documentation/meson.build b/Documentation/meson.build index 12a99307c741..629e853120cb 100644 --- a/Documentation/meson.build +++ b/Documentation/meson.build @@ -4,7 +4,7 @@ doc_install_dir = join_paths(get_option('datadir'), 'doc', 'libcamera-@0@'.forma # Doxygen # -doxygen = find_program('doxygen', required: false) +doxygen = find_program('doxygen', required : false) if doxygen.found() cdata = configuration_data() @@ -12,30 +12,30 @@ if doxygen.found() cdata.set('TOP_SRCDIR', meson.source_root()) cdata.set('TOP_BUILDDIR', meson.build_root()) - doxyfile = configure_file(input: 'Doxyfile.in', - output: 'Doxyfile', - configuration: cdata) + doxyfile = configure_file(input : 'Doxyfile.in', + output : 'Doxyfile', + configuration : cdata) custom_target('doxygen', - input: [ + input : [ doxyfile, libcamera_api, libcamera_headers, libcamera_sources, ], - output: 'api-html', - command: [doxygen, doxyfile], - install: true, - install_dir: doc_install_dir) + output : 'api-html', + command : [doxygen, doxyfile], + install : true, + install_dir : doc_install_dir) endif # # Sphinx # -sphinx = find_program('sphinx-build-3', required: false) +sphinx = find_program('sphinx-build-3', required : false) if not sphinx.found() - sphinx = find_program('sphinx-build', required: false) + sphinx = find_program('sphinx-build', required : false) endif if sphinx.found() @@ -48,10 +48,10 @@ if sphinx.found() ] custom_target('documentation', - command: [sphinx, '-q', '-W', '-b', 'html', meson.current_source_dir(), '@OUTPUT@'], - input: docs_sources, - output: 'html', - build_by_default: true, - install: true, - install_dir: doc_install_dir) + command : [sphinx, '-q', '-W', '-b', 'html', meson.current_source_dir(), '@OUTPUT@'], + input : docs_sources, + output : 'html', + build_by_default : true, + install : true, + install_dir : doc_install_dir) endif diff --git a/meson.build b/meson.build index d272ff33b100..4d3e99d3e58f 100644 --- a/meson.build +++ b/meson.build @@ -1,12 +1,12 @@ project('libcamera', 'c', 'cpp', - meson_version: '>= 0.40', - version : '0.1', - default_options: [ - 'werror=true', - 'warning_level=2', - 'cpp_std=c++11', - ], - license : 'LGPL 2.1+') + meson_version : '>= 0.40', + version : '0.1', + default_options : [ + 'werror=true', + 'warning_level=2', + 'cpp_std=c++11', + ], + license : 'LGPL 2.1+') # TODO: Extract this from project.version. # Ideally the version at Documentation/conf.py should be @@ -16,7 +16,7 @@ api_version = '0.1' cc = meson.get_compiler('c') config_h = configuration_data() -if cc.has_header_symbol('stdlib.h', 'secure_getenv', prefix: '#define _GNU_SOURCE') +if cc.has_header_symbol('stdlib.h', 'secure_getenv', prefix : '#define _GNU_SOURCE') config_h.set('HAVE_SECURE_GETENV', 1) endif @@ -28,8 +28,8 @@ common_arguments = [ c_arguments = common_arguments cpp_arguments = common_arguments -add_project_arguments(c_arguments, language: 'c') -add_project_arguments(cpp_arguments, language: 'cpp') +add_project_arguments(c_arguments, language : 'c') +add_project_arguments(cpp_arguments, language : 'cpp') libcamera_includes = include_directories('include') @@ -41,14 +41,14 @@ subdir('utils') # through configuration values. They are enabled by default. if get_option('documentation') - subdir('Documentation') + subdir('Documentation') endif if get_option('tests') - subdir('test') + subdir('test') endif -configure_file(output: 'config.h', configuration: config_h) +configure_file(output : 'config.h', configuration : config_h) pkg_mod = import('pkgconfig') pkg_mod.generate(libraries : libcamera, diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build index e5b48f226ef3..8294ed357154 100644 --- a/src/libcamera/meson.build +++ b/src/libcamera/meson.build @@ -51,7 +51,7 @@ includes = [ subdir('pipeline') -libudev = dependency('libudev', required: false) +libudev = dependency('libudev', required : false) if libudev.found() config_h.set('HAVE_LIBUDEV', 1) diff --git a/test/camera/meson.build b/test/camera/meson.build index c4427945e4a2..b01e7e025de1 100644 --- a/test/camera/meson.build +++ b/test/camera/meson.build @@ -1,15 +1,15 @@ # Tests are listed in order of complexity. # They are not alphabetically sorted. camera_tests = [ - [ 'configuration_default', 'configuration_default.cpp' ], - [ 'configuration_set', 'configuration_set.cpp' ], - [ 'statemachine', 'statemachine.cpp' ], - [ 'capture', 'capture.cpp' ], + [ 'configuration_default', 'configuration_default.cpp' ], + [ 'configuration_set', 'configuration_set.cpp' ], + [ 'statemachine', 'statemachine.cpp' ], + [ 'capture', 'capture.cpp' ], ] foreach t : camera_tests - exe = executable(t[0], [t[1], 'camera_test.cpp'], - link_with : test_libraries, - include_directories : test_includes_internal) - test(t[0], exe, suite: 'camera', is_parallel: false) + exe = executable(t[0], [t[1], 'camera_test.cpp'], + link_with : test_libraries, + include_directories : test_includes_internal) + test(t[0], exe, suite : 'camera', is_parallel : false) endforeach diff --git a/test/ipa/meson.build b/test/ipa/meson.build index 6df0671bd595..53015e38381f 100644 --- a/test/ipa/meson.build +++ b/test/ipa/meson.build @@ -4,8 +4,8 @@ ipa_modules_sources = [ ] foreach m : ipa_modules_sources - shared_library(m, name_prefix: '', - include_directories: test_includes_public) + shared_library(m, name_prefix : '', + include_directories : test_includes_public) endforeach ipa_test = [ @@ -17,5 +17,5 @@ foreach t : ipa_test link_with : test_libraries, include_directories : test_includes_internal) - test(t[0], exe, suite: 'ipa', is_parallel: false) + test(t[0], exe, suite : 'ipa', is_parallel : false) endforeach diff --git a/test/media_device/meson.build b/test/media_device/meson.build index 7ac6c2db7513..124f454ec865 100644 --- a/test/media_device/meson.build +++ b/test/media_device/meson.build @@ -16,5 +16,5 @@ foreach t : media_device_tests link_with : [test_libraries, lib_mdev_test], include_directories : test_includes_internal) - test(t[0], exe, suite: 'media_device', is_parallel: false) + test(t[0], exe, suite : 'media_device', is_parallel : false) endforeach diff --git a/test/pipeline/ipu3/meson.build b/test/pipeline/ipu3/meson.build index caba5c74f236..87074588c651 100644 --- a/test/pipeline/ipu3/meson.build +++ b/test/pipeline/ipu3/meson.build @@ -1,5 +1,5 @@ ipu3_test = [ - ['ipu3_pipeline_test', 'ipu3_pipeline_test.cpp'], + ['ipu3_pipeline_test', 'ipu3_pipeline_test.cpp'], ] foreach t : ipu3_test @@ -7,5 +7,5 @@ foreach t : ipu3_test link_with : test_libraries, include_directories : test_includes_internal) - test(t[0], exe, suite: 'ipu3', is_parallel: false) + test(t[0], exe, suite : 'ipu3', is_parallel : false) endforeach diff --git a/test/v4l2_device/meson.build b/test/v4l2_device/meson.build index aa617b6dc837..32556cf5ea18 100644 --- a/test/v4l2_device/meson.build +++ b/test/v4l2_device/meson.build @@ -1,17 +1,17 @@ # Tests are listed in order of complexity. # They are not alphabetically sorted. v4l2_device_tests = [ - [ 'double_open', 'double_open.cpp' ], - [ 'formats', 'formats.cpp' ], - [ 'request_buffers', 'request_buffers.cpp' ], - [ 'stream_on_off', 'stream_on_off.cpp' ], - [ 'capture_async', 'capture_async.cpp' ], - [ 'buffer_sharing', 'buffer_sharing.cpp' ], + [ 'double_open', 'double_open.cpp' ], + [ 'formats', 'formats.cpp' ], + [ 'request_buffers', 'request_buffers.cpp' ], + [ 'stream_on_off', 'stream_on_off.cpp' ], + [ 'capture_async', 'capture_async.cpp' ], + [ 'buffer_sharing', 'buffer_sharing.cpp' ], ] foreach t : v4l2_device_tests - exe = executable(t[0], [t[1], 'v4l2_device_test.cpp'], - link_with : test_libraries, - include_directories : test_includes_internal) - test(t[0], exe, suite: 'v4l2_device', is_parallel: false) + exe = executable(t[0], [t[1], 'v4l2_device_test.cpp'], + link_with : test_libraries, + include_directories : test_includes_internal) + test(t[0], exe, suite : 'v4l2_device', is_parallel : false) endforeach diff --git a/test/v4l2_subdevice/meson.build b/test/v4l2_subdevice/meson.build index 80cfbbbf9413..282f6e234ec1 100644 --- a/test/v4l2_subdevice/meson.build +++ b/test/v4l2_subdevice/meson.build @@ -7,5 +7,5 @@ foreach t : v4l2_subdevice_tests exe = executable(t[0], [t[1], 'v4l2_subdevice_test.cpp'], link_with : test_libraries, include_directories : test_includes_internal) - test(t[0], exe, suite: 'v4l2_subdevice', is_parallel: false) + test(t[0], exe, suite : 'v4l2_subdevice', is_parallel : false) endforeach From patchwork Wed May 22 21:22:52 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 1262 Return-Path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 4666D60C02 for ; Wed, 22 May 2019 23:23:14 +0200 (CEST) Received: from pendragon.bb.dnainternet.fi (dfj612yhrgyx302h3jwwy-3.rev.dnainternet.fi [IPv6:2001:14ba:21f5:5b00:ce28:277f:58d7:3ca4]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id CA38C52F for ; Wed, 22 May 2019 23:23:13 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1558560193; bh=M7l+NtP5cj+r6ermizYqosD56G+EGr7MonwkYHOvruw=; h=From:To:Subject:Date:In-Reply-To:References:From; b=T3ulzSxxaoMygO3EeR7iDxFmvx//cSFqaja3YxJ8yE6V6ngnNkwavAw+7hN9b1+yK JwQ9wXfqcdgLukBSZkn8Zar1FLLh/SCVwMpg67bhZ63C/gY8UIrE3HUMoHI9bGSl6u 5htq3/At1PABdSAWZV9GhCrCnbpNPpdJG9nNx71w= From: Laurent Pinchart To: libcamera-devel@lists.libcamera.org Date: Thu, 23 May 2019 00:22:52 +0300 Message-Id: <20190522212253.3307-2-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190522212253.3307-1-laurent.pinchart@ideasonboard.com> References: <20190522212253.3307-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v3 2/3] meson: Create and use a dependency for libcamera and its headers X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 May 2019 21:23:14 -0000 Instead of manually adding the libcamera library and include path to every target that requires it, declare a dependency that groups the headers as source, the library and the include path, and use it through the project. This simplifies handling of the dependency. Signed-off-by: Laurent Pinchart Reviewed-by: Kieran Bingham --- src/cam/meson.build | 5 ++--- src/libcamera/meson.build | 4 ++++ src/qcam/meson.build | 4 +--- test/camera/meson.build | 1 + test/ipa/meson.build | 2 ++ test/libtest/meson.build | 3 +-- test/media_device/meson.build | 2 ++ test/meson.build | 2 ++ test/pipeline/ipu3/meson.build | 1 + test/v4l2_device/meson.build | 1 + test/v4l2_subdevice/meson.build | 1 + 11 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/cam/meson.build b/src/cam/meson.build index 851295091d0d..3faddc6c8d85 100644 --- a/src/cam/meson.build +++ b/src/cam/meson.build @@ -6,6 +6,5 @@ cam_sources = files([ ]) cam = executable('cam', cam_sources, - link_with : libcamera, - install : true, - include_directories : libcamera_includes) + dependencies : libcamera_dep, + install : true) diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build index 8294ed357154..0ebb25bcb821 100644 --- a/src/libcamera/meson.build +++ b/src/libcamera/meson.build @@ -65,3 +65,7 @@ libcamera = shared_library('camera', install : true, include_directories : includes, dependencies : libudev) + +libcamera_dep = declare_dependency(sources : libcamera_api, + include_directories : libcamera_includes, + link_with : libcamera) diff --git a/src/qcam/meson.build b/src/qcam/meson.build index 56b57a266b29..9f1fa75f9813 100644 --- a/src/qcam/meson.build +++ b/src/qcam/meson.build @@ -15,9 +15,7 @@ qt5_dep = dependency('qt5', if qt5_dep.found() qcam = executable('qcam', qcam_sources, - link_with : libcamera, install : true, - include_directories : libcamera_includes, - dependencies : qt5_dep, + dependencies : [libcamera_dep, qt5_dep], cpp_args : '-DQT_NO_KEYWORDS') endif diff --git a/test/camera/meson.build b/test/camera/meson.build index b01e7e025de1..35e97ce5de1a 100644 --- a/test/camera/meson.build +++ b/test/camera/meson.build @@ -9,6 +9,7 @@ camera_tests = [ foreach t : camera_tests exe = executable(t[0], [t[1], 'camera_test.cpp'], + dependencies : libcamera_dep, link_with : test_libraries, include_directories : test_includes_internal) test(t[0], exe, suite : 'camera', is_parallel : false) diff --git a/test/ipa/meson.build b/test/ipa/meson.build index 53015e38381f..ecde313c6dc5 100644 --- a/test/ipa/meson.build +++ b/test/ipa/meson.build @@ -5,6 +5,7 @@ ipa_modules_sources = [ foreach m : ipa_modules_sources shared_library(m, name_prefix : '', + dependencies : libcamera_dep, include_directories : test_includes_public) endforeach @@ -14,6 +15,7 @@ ipa_test = [ foreach t : ipa_test exe = executable(t[0], t[1], + dependencies : libcamera_dep, link_with : test_libraries, include_directories : test_includes_internal) diff --git a/test/libtest/meson.build b/test/libtest/meson.build index e0893b70c3d4..112debbce30f 100644 --- a/test/libtest/meson.build +++ b/test/libtest/meson.build @@ -6,11 +6,10 @@ libtest = static_library('libtest', libtest_sources) libtest_includes = include_directories('.') -test_libraries = [libcamera, libtest] +test_libraries = [libtest] test_includes_public = [ libtest_includes, - libcamera_includes, ] test_includes_internal = [ diff --git a/test/media_device/meson.build b/test/media_device/meson.build index 124f454ec865..6a0e468434b5 100644 --- a/test/media_device/meson.build +++ b/test/media_device/meson.build @@ -9,10 +9,12 @@ media_device_tests = [ ] lib_mdev_test = static_library('lib_mdev_test', lib_mdev_test_sources, + dependencies : libcamera_dep, include_directories : test_includes_internal) foreach t : media_device_tests exe = executable(t[0], t[1], + dependencies : libcamera_dep, link_with : [test_libraries, lib_mdev_test], include_directories : test_includes_internal) diff --git a/test/meson.build b/test/meson.build index ef4136793f03..609aeab80e7d 100644 --- a/test/meson.build +++ b/test/meson.build @@ -21,6 +21,7 @@ internal_tests = [ foreach t : public_tests exe = executable(t[0], t[1], + dependencies : libcamera_dep, link_with : test_libraries, include_directories : test_includes_public) @@ -29,6 +30,7 @@ endforeach foreach t : internal_tests exe = executable(t[0], t[1], + dependencies : libcamera_dep, link_with : test_libraries, include_directories : test_includes_internal) diff --git a/test/pipeline/ipu3/meson.build b/test/pipeline/ipu3/meson.build index 87074588c651..d02927c9af86 100644 --- a/test/pipeline/ipu3/meson.build +++ b/test/pipeline/ipu3/meson.build @@ -4,6 +4,7 @@ ipu3_test = [ foreach t : ipu3_test exe = executable(t[0], t[1], + dependencies : libcamera_dep, link_with : test_libraries, include_directories : test_includes_internal) diff --git a/test/v4l2_device/meson.build b/test/v4l2_device/meson.build index 32556cf5ea18..de540b1ba6f5 100644 --- a/test/v4l2_device/meson.build +++ b/test/v4l2_device/meson.build @@ -11,6 +11,7 @@ v4l2_device_tests = [ foreach t : v4l2_device_tests exe = executable(t[0], [t[1], 'v4l2_device_test.cpp'], + dependencies : libcamera_dep, link_with : test_libraries, include_directories : test_includes_internal) test(t[0], exe, suite : 'v4l2_device', is_parallel : false) diff --git a/test/v4l2_subdevice/meson.build b/test/v4l2_subdevice/meson.build index 282f6e234ec1..0521984b2a78 100644 --- a/test/v4l2_subdevice/meson.build +++ b/test/v4l2_subdevice/meson.build @@ -5,6 +5,7 @@ v4l2_subdevice_tests = [ foreach t : v4l2_subdevice_tests exe = executable(t[0], [t[1], 'v4l2_subdevice_test.cpp'], + dependencies : libcamera_dep, link_with : test_libraries, include_directories : test_includes_internal) test(t[0], exe, suite : 'v4l2_subdevice', is_parallel : false) From patchwork Wed May 22 21:22:53 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 1263 Return-Path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 7D30860C1D for ; Wed, 22 May 2019 23:23:14 +0200 (CEST) Received: from pendragon.bb.dnainternet.fi (dfj612yhrgyx302h3jwwy-3.rev.dnainternet.fi [IPv6:2001:14ba:21f5:5b00:ce28:277f:58d7:3ca4]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 22A45443 for ; Wed, 22 May 2019 23:23:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1558560194; bh=VzOtaAjOmfoS6su8r6JKCyPW7Z3+33jnooamLgLJp1Y=; h=From:To:Subject:Date:In-Reply-To:References:From; b=EZbzS3R3ALKaH3Ix51c8ZMI0uIGwlfhw3w34r0o6bHXjA8P+FyMtIZVYqDi/JQuR+ TzxtHW5BWgUu0nLX+IGHmjMO41DOXF4Ywp6dw7UnC+f8UFchxArJYAPhmpfZ2mH19Q FPbHzER+WgmmjKoPEsEx1VdlxdQmD5k6DM2w9B6s= From: Laurent Pinchart To: libcamera-devel@lists.libcamera.org Date: Thu, 23 May 2019 00:22:53 +0300 Message-Id: <20190522212253.3307-3-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190522212253.3307-1-laurent.pinchart@ideasonboard.com> References: <20190522212253.3307-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v3 3/3] libcamera: Auto-generate libcamera.h X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 May 2019 21:23:14 -0000 As shown by two missing includes, keeping the libcamera.h file in sync when adding or removing headers is an error-prone manual process. Automate it by generating the header automatically. The libcamera.h header is also added to the libcamera dependency libcamera_dep to ensure that the headers gets generated before any source depending on it gets compiled. Signed-off-by: Laurent Pinchart Reviewed-by: Kieran Bingham --- include/libcamera/gen-header.sh | 27 +++++++++++++++++++++++++++ include/libcamera/libcamera.h | 20 -------------------- include/libcamera/meson.build | 10 +++++++++- src/libcamera/meson.build | 2 +- 4 files changed, 37 insertions(+), 22 deletions(-) create mode 100755 include/libcamera/gen-header.sh delete mode 100644 include/libcamera/libcamera.h diff --git a/include/libcamera/gen-header.sh b/include/libcamera/gen-header.sh new file mode 100755 index 000000000000..e171c08c20b8 --- /dev/null +++ b/include/libcamera/gen-header.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +src_dir="$1" +dst_file="$2" + +cat < "$dst_file" +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +/* This file is auto-generated, do not edit! */ +/* + * Copyright (C) 2018-2019, Google Inc. + * + * libcamera.h - libcamera public API + */ +#ifndef __LIBCAMERA_LIBCAMERA_H__ +#define __LIBCAMERA_LIBCAMERA_H__ + +EOF + +for header in "$src_dir"/*.h ; do + header=$(basename "$header") + echo "#include " >> "$dst_file" +done + +cat <> "$dst_file" + +#endif /* __LIBCAMERA_LIBCAMERA_H__ */ +EOF diff --git a/include/libcamera/libcamera.h b/include/libcamera/libcamera.h deleted file mode 100644 index dda576e906fb..000000000000 --- a/include/libcamera/libcamera.h +++ /dev/null @@ -1,20 +0,0 @@ -/* SPDX-License-Identifier: LGPL-2.1-or-later */ -/* - * Copyright (C) 2018, Google Inc. - * - * libcamera.h - libcamera public API - */ -#ifndef __LIBCAMERA_LIBCAMERA_H__ -#define __LIBCAMERA_LIBCAMERA_H__ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif /* __LIBCAMERA_LIBCAMERA_H__ */ diff --git a/include/libcamera/meson.build b/include/libcamera/meson.build index cb64f0ca0f8b..1fcf6b509a1e 100644 --- a/include/libcamera/meson.build +++ b/include/libcamera/meson.build @@ -6,7 +6,6 @@ libcamera_api = files([ 'event_notifier.h', 'geometry.h', 'ipa/ipa_module_info.h', - 'libcamera.h', 'object.h', 'request.h', 'signal.h', @@ -14,5 +13,14 @@ libcamera_api = files([ 'timer.h', ]) +gen_header = join_paths(meson.current_source_dir(), 'gen-header.sh') + +libcamera_h = custom_target('gen-header', + input : 'meson.build', + output : 'libcamera.h', + command : [gen_header, meson.current_source_dir(), '@OUTPUT@'], + install : true, + install_dir : 'include/libcamera') + install_headers(libcamera_api, subdir : 'libcamera') diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build index 0ebb25bcb821..6a73580d71f5 100644 --- a/src/libcamera/meson.build +++ b/src/libcamera/meson.build @@ -66,6 +66,6 @@ libcamera = shared_library('camera', include_directories : includes, dependencies : libudev) -libcamera_dep = declare_dependency(sources : libcamera_api, +libcamera_dep = declare_dependency(sources : [libcamera_api, libcamera_h], include_directories : libcamera_includes, link_with : libcamera)