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';