libcamera/include/libcamera/gen-header.sh
Laurent Pinchart 00804512c6 include: libcamera: Improve automation of libcamera.h generation
The gen-header.sh script that generates libcamera.h takes all .h files
in the include/libcamera/ directory, and manually adds the generated
control_ids.h and version.h. This is fragile, as shown by the failure to
add property_ids.h to the list in commit f870591a9b ("libcamera:
properties: Add location property").

To avoid future omissions, take all the .h.in files into account to
generate libcamera.h. This also fixes the missing property_ids.h.

Fixes: f870591a9b ("libcamera: properties: Add location property")
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
2020-03-08 19:33:59 +02:00

32 lines
623 B
Bash
Executable file

#!/bin/sh
src_dir="$1"
dst_file="$2"
cat <<EOF > "$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
headers=$(for header in "$src_dir"/*.h "$src_dir"/*.h.in ; do
header=$(basename "$header")
header="${header%.in}"
echo "$header"
done | sort)
for header in $headers ; do
echo "#include <libcamera/$header>" >> "$dst_file"
done
cat <<EOF >> "$dst_file"
#endif /* __LIBCAMERA_LIBCAMERA_H__ */
EOF