1
0
mirror of https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git synced 2026-10-24 00:48:53 +03:00
Files
libgpiod/contrib/Android.bp
Benjamin Li 1dd855ae6b contrib: add sample Android.bp to build within an Android tree
Add an Android.bp file for Soong, the Android build system, to build
the library including C++ bindings along with all the CLI tools.

This reference Android build file will live in a contrib/ folder to
indiciate it is a less-maintained part of libgpiod. It will need to
be moved to the root directory in order to use it, though, as Soong
doesn't let Blueprint files reference sources in a parent directory.

  error: external/libgpiod/contrib/Android.bp:5:1: module "libgpiod" variant "...": Path is outside directory: ../include
  error: external/libgpiod/contrib/Android.bp:5:1: module "libgpiod" variant "...": Path is outside directory: ../bindings/cxx
  error: external/libgpiod/contrib/Android.bp:5:1: module "libgpiod" variant "...": Path is outside directory: ../lib/*.c
  error: external/libgpiod/contrib/Android.bp:5:1: module "libgpiod" variant "...": Path is outside directory: ../bindings/cxx/*.cpp

Signed-off-by: Benjamin Li <benl@squareup.com>
[Bartosz: add the build file to the release tarball generated by 'make dist']
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2023-03-12 14:37:39 +01:00

137 lines
2.4 KiB
Plaintext

// SPDX-License-Identifier: GPL-2.0-or-later
// SPDX-FileCopyrightText: 2023 Benjamin Li <benl@squareup.com>
// Instructions:
// - Check out this repository as external/libgpiod.
// - Move this build file to the project's root directory.
//
// libgpiod main library
//
cc_library {
name: "libgpiod",
defaults: [
"libgpiod_defaults",
],
srcs: [
"lib/*.c",
"bindings/cxx/*.cpp",
],
export_include_dirs: [
"include",
"bindings/cxx",
],
}
cc_defaults {
name: "libgpiod_defaults",
device_specific: true,
cpp_std: "gnu++17",
cflags: [
// You may want to edit this with the version from configure.ac of
// the release you are using.
"-DGPIOD_VERSION_STR=\"unstable\"",
],
cppflags: [
// Google C++ style is to not use exceptions, but this library does
// use them.
"-fexceptions",
],
// Google C++ style is to not use runtime type information, but this
// library does use it.
rtti: true,
}
//
// libgpiod tools
//
phony {
name: "libgpiod_tools",
required: [
"gpiodetect",
"gpioget",
"gpioinfo",
"gpiomon",
"gpionotify",
"gpioset",
],
}
cc_binary {
name: "gpiodetect",
defaults: [
"libgpiod_defaults",
"libgpiod_tools_defaults",
],
srcs: [
"tools/gpiodetect.c",
],
}
cc_binary {
name: "gpioget",
defaults: [
"libgpiod_defaults",
"libgpiod_tools_defaults",
],
srcs: [
"tools/gpioget.c",
],
}
cc_binary {
name: "gpioinfo",
defaults: [
"libgpiod_defaults",
"libgpiod_tools_defaults",
],
srcs: [
"tools/gpioinfo.c",
],
}
cc_binary {
name: "gpiomon",
defaults: [
"libgpiod_defaults",
"libgpiod_tools_defaults",
],
srcs: [
"tools/gpiomon.c",
],
}
cc_binary {
name: "gpionotify",
defaults: [
"libgpiod_defaults",
"libgpiod_tools_defaults",
],
srcs: [
"tools/gpionotify.c",
],
}
cc_binary {
name: "gpioset",
defaults: [
"libgpiod_defaults",
"libgpiod_tools_defaults",
],
srcs: [
"tools/gpioset.c",
],
}
cc_defaults {
name: "libgpiod_tools_defaults",
srcs: [
"tools/tools-common.c",
],
shared_libs: [
"libgpiod",
],
}