From d6a00fb6fdb87af22fa890ce1ec02847b0e7fe36 Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Fri, 13 Dec 2024 20:57:33 +0300 Subject: [PATCH] Support PACKAGE_CPPFLAGS and PACKAGE_LDFLAGS add test to test all the flag types --- plugins/python-build/bin/python-build | 12 ++- plugins/python-build/test/build.bats | 133 ++++++++++++++------------ 2 files changed, 84 insertions(+), 61 deletions(-) diff --git a/plugins/python-build/bin/python-build b/plugins/python-build/bin/python-build index 16fe6285..34fd0d27 100755 --- a/plugins/python-build/bin/python-build +++ b/plugins/python-build/bin/python-build @@ -811,6 +811,8 @@ build_package_standard_build() { local PACKAGE_MAKE_OPTS="${package_var_name}_MAKE_OPTS" local PACKAGE_MAKE_OPTS_ARRAY="${package_var_name}_MAKE_OPTS_ARRAY[@]" local PACKAGE_CFLAGS="${package_var_name}_CFLAGS" + local PACKAGE_CPPFLAGS="${package_var_name}_CPPFLAGS" + local PACKAGE_LDFLAGS="${package_var_name}_LDFLAGS" if [ "$package_var_name" = "PYTHON" ]; then use_homebrew || true @@ -826,8 +828,14 @@ build_package_standard_build() { use_free_threading || true fi - ( if [ "${CFLAGS+defined}" ] || [ "${!PACKAGE_CFLAGS+defined}" ]; then - export CFLAGS="$CFLAGS ${!PACKAGE_CFLAGS}" + ( if [[ -n "${!PACKAGE_CFLAGS}" ]]; then + export CFLAGS="${CFLAGS:+$CFLAGS }${!PACKAGE_CFLAGS}" + fi + if [[ -n "${!PACKAGE_CPPFLAGS}" ]]; then + export CPPFLAGS="${CPPFLAGS:+$CPPFLAGS }${!PACKAGE_CPPFLAGS}" + fi + if [[ -n "${!PACKAGE_LDFLAGS}" ]]; then + export LDFLAGS="${LDFLAGS:+$LDFLAGS }${!PACKAGE_LDFLAGS}" fi if [ -z "$CC" ] && is_mac -ge 1010; then export CC=clang diff --git a/plugins/python-build/test/build.bats b/plugins/python-build/test/build.bats index c6984898..8e3ce566 100644 --- a/plugins/python-build/test/build.bats +++ b/plugins/python-build/test/build.bats @@ -30,12 +30,12 @@ cached_tarball() { tarball() { local name="$1" local path="$PWD/$name" - local configure="$path/configure" + local configure="$path/${2:-configure}" shift 1 executable "$configure" <> build.log +echo "$name: CFLAGS=\\"\$CFLAGS\\" CPPFLAGS=\\"\$CPPFLAGS\\" LDFLAGS=\\"\$LDFLAGS\\" PKG_CONFIG_PATH=\\"\$PKG_CONFIG_PATH\\"" >> build.log echo "$name: \$@" \${PYTHONOPT:+PYTHONOPT=\$PYTHONOPT} >> build.log OUT @@ -50,7 +50,7 @@ OUT stub_make_install() { stub "$MAKE" \ " : echo \"$MAKE \$@\" >> build.log" \ - "install : echo \"$MAKE \$@\" >> build.log && cat build.log >> '$INSTALL_ROOT/build.log'" + "${1:-install} : echo \"$MAKE \$@\" >> build.log && cat build.log >> '$INSTALL_ROOT/build.log'" } assert_build_log() { @@ -74,17 +74,60 @@ assert_build_log() { unstub make assert_build_log <