From a4e173f16d3cb6e1e16b75dbfe3153c0ee301856 Mon Sep 17 00:00:00 2001 From: crazywhalecc Date: Sat, 23 Sep 2023 14:08:35 +0800 Subject: [PATCH] add configure flags for unix builder --- src/SPC/builder/traits/UnixBuilderTrait.php | 22 +++++++++++++++++++++ src/globals/defines.php | 7 +++++++ 2 files changed, 29 insertions(+) diff --git a/src/SPC/builder/traits/UnixBuilderTrait.php b/src/SPC/builder/traits/UnixBuilderTrait.php index 5ca62f1b..ce3795be 100644 --- a/src/SPC/builder/traits/UnixBuilderTrait.php +++ b/src/SPC/builder/traits/UnixBuilderTrait.php @@ -153,4 +153,26 @@ trait UnixBuilderTrait "-DCMAKE_INSTALL_INCLUDEDIR={$include} " . "-DCMAKE_TOOLCHAIN_FILE={$this->cmake_toolchain_file}"; } + + /** + * Generate configure flags + */ + public function makeAutoconfFlags(int $flag = AUTOCONF_ALL): string + { + $extra = ''; + // TODO: add auto pkg-config support + if (($flag & AUTOCONF_LIBS) === AUTOCONF_LIBS) { + $extra .= 'LIBS="' . BUILD_LIB_PATH . '" '; + } + if (($flag & AUTOCONF_CFLAGS) === AUTOCONF_CFLAGS) { + $extra .= 'CFLAGS="-I' . BUILD_INCLUDE_PATH . '" '; + } + if (($flag & AUTOCONF_CPPFLAGS) === AUTOCONF_CPPFLAGS) { + $extra .= 'CPPFLAGS="-I' . BUILD_INCLUDE_PATH . '" '; + } + if (($flag & AUTOCONF_LDFLAGS) === AUTOCONF_LDFLAGS) { + $extra .= 'LDFLAGS="-L' . BUILD_LIB_PATH . '" '; + } + return $extra; + } } diff --git a/src/globals/defines.php b/src/globals/defines.php index cd29fb42..1e5aa085 100644 --- a/src/globals/defines.php +++ b/src/globals/defines.php @@ -59,4 +59,11 @@ const PKGCONF_PATCH_INCLUDEDIR = 8; const PKGCONF_PATCH_CUSTOM = 16; const PKGCONF_PATCH_ALL = 31; +// autoconf flags +const AUTOCONF_LIBS = 1; +const AUTOCONF_CFLAGS = 2; +const AUTOCONF_CPPFLAGS = 4; +const AUTOCONF_LDFLAGS = 8; +const AUTOCONF_ALL = 15; + ConsoleLogger::$date_format = 'H:i:s';