// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-FileCopyrightText: 2023 Benjamin Li // 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", ], }