From 34e8c3b26ef395d4ef627e99fe23f23b3d807927 Mon Sep 17 00:00:00 2001 From: loqs <2227-loqs@users.noreply.gitlab.archlinux.org> Date: Tue, 16 Jan 2024 22:51:23 +0000 Subject: [PATCH] Split out CXXFLAGS and DEBUG_CXXFLAGS --- scripts/libmakepkg/buildenv.sh.in | 2 +- scripts/libmakepkg/buildenv/cxx.sh.in | 35 ++++++++++++++++++++ scripts/libmakepkg/buildenv/debugflags.sh.in | 3 +- scripts/libmakepkg/buildenv/meson.build | 1 + 4 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 scripts/libmakepkg/buildenv/cxx.sh.in diff --git a/scripts/libmakepkg/buildenv.sh.in b/scripts/libmakepkg/buildenv.sh.in index 53f12d32..370b2e70 100644 --- a/scripts/libmakepkg/buildenv.sh.in +++ b/scripts/libmakepkg/buildenv.sh.in @@ -25,7 +25,7 @@ LIBMAKEPKG_BUILDENV_SH=1 MAKEPKG_LIBRARY=${MAKEPKG_LIBRARY:-'@libmakepkgdir@'} declare -a buildenv_functions buildenv_vars build_options -buildenv_vars_exported=('CXXFLAGS' 'LDFLAGS' 'MAKEFLAGS' 'CHOST') +buildenv_vars_exported=('LDFLAGS' 'MAKEFLAGS' 'CHOST') for lib in "$MAKEPKG_LIBRARY/buildenv/"*.sh; do source "$lib" diff --git a/scripts/libmakepkg/buildenv/cxx.sh.in b/scripts/libmakepkg/buildenv/cxx.sh.in new file mode 100644 index 00000000..65974d1f --- /dev/null +++ b/scripts/libmakepkg/buildenv/cxx.sh.in @@ -0,0 +1,35 @@ +#!/usr/bin/bash +# +# cxx.sh - Specify flags for building a package with C++ +# +# Copyright (c) 2024 Pacman Development Team +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +[[ -n "$LIBMAKEPKG_BUILDENV_CXX_SH" ]] && return +LIBMAKEPKG_BUILDENV_CXX_SH=1 + +MAKEPKG_LIBRARY=${MAKEPKG_LIBRARY:-'@libmakepkgdir@'} + +source "$MAKEPKG_LIBRARY/util/option.sh" +source "$MAKEPKG_LIBRARY/util/util.sh" + +buildenv_vars+=('DEBUG_CXXFLAGS') +buildenv_vars_exported+=('CXXFLAGS') +buildenv_functions+=('buildenv_cxx') + +buildenv_cxx() { + check_append_debug_flags CXXFLAGS DEBUG_CXXFLAGS "-ffile-prefix-map=$srcdir=${DBGSRCDIR:-/usr/src/debug}/${pkgbase}" +} diff --git a/scripts/libmakepkg/buildenv/debugflags.sh.in b/scripts/libmakepkg/buildenv/debugflags.sh.in index 678fd79a..ab8cc015 100644 --- a/scripts/libmakepkg/buildenv/debugflags.sh.in +++ b/scripts/libmakepkg/buildenv/debugflags.sh.in @@ -31,7 +31,6 @@ buildenv_functions+=('buildenv_debugflags') buildenv_debugflags() { if check_option "debug" "y" && ! check_option "buildflags" "n"; then - append_once DEBUG_CXXFLAGS "-ffile-prefix-map=$srcdir=${DBGSRCDIR:-/usr/src/debug}/${pkgbase}" - append_once CXXFLAGS "$DEBUG_CXXFLAGS" + : fi } diff --git a/scripts/libmakepkg/buildenv/meson.build b/scripts/libmakepkg/buildenv/meson.build index 2064bbfc..f740910f 100644 --- a/scripts/libmakepkg/buildenv/meson.build +++ b/scripts/libmakepkg/buildenv/meson.build @@ -5,6 +5,7 @@ sources = [ 'c.sh.in', 'compiler.sh.in', 'cpp.sh.in', + 'cxx.sh.in', 'debugflags.sh.in', 'lto.sh.in', 'makeflags.sh.in',