summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan McRae <allan@archlinux.org>2010-12-25 06:43:06 +0100
committerDan McGee <dan@archlinux.org>2010-12-30 02:28:33 +0100
commit2052f29cdb2248ffbdc2d10b815ac50ad7494e01 (patch)
tree1112c8d2ece0815418e8e86bf568c727bed7454e
parent0c29eb431a26467fc5ec14742cfcdc7ce3558334 (diff)
downloadpacman-2052f29cdb2248ffbdc2d10b815ac50ad7494e01.tar.gz
pacman-2052f29cdb2248ffbdc2d10b815ac50ad7494e01.tar.xz
makepkg: add option to clear buildflags
Add the "buildflags" option, which is useful in its negative form for disabling CFLAGS, CXXFLAGS and LDFLAGS when building a package. This is useful when determining of one of these flags is causing an issue with a package. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--contrib/PKGBUILD.vim2
-rw-r--r--doc/PKGBUILD.5.txt6
-rw-r--r--scripts/makepkg.sh.in9
3 files changed, 15 insertions, 2 deletions
diff --git a/contrib/PKGBUILD.vim b/contrib/PKGBUILD.vim
index a50ca129..f627a5e6 100644
--- a/contrib/PKGBUILD.vim
+++ b/contrib/PKGBUILD.vim
@@ -172,7 +172,7 @@ hi def link pbValidSha1sums Number
" options
syn keyword pb_k_options options contained
-syn match pbOptions /\(no\)\?\(strip\|docs\|libtool\|emptydirs\|zipman\|ccache\|distcc\|makeflags\)/ contained
+syn match pbOptions /\(no\)\?\(strip\|docs\|libtool\|emptydirs\|zipman\|ccache\|distcc\|makeflags\|buildflags\)/ contained
syn match pbOptionsNeg /\!/ contained
syn match pbOptionsDeprec /no/ contained
syn region pbOptionsGroup start=/^options=(/ end=/)/ contains=pb_k_options,pbOptions,pbOptionsNeg,pbOptionsDeprec,pbIllegalOption,shDoubleQuote,shSingleQuote
diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt
index 2ccf0b2e..e6c4a1fb 100644
--- a/doc/PKGBUILD.5.txt
+++ b/doc/PKGBUILD.5.txt
@@ -233,6 +233,12 @@ name. The syntax is: `source=('filename::url')`.
form `!distcc` with select packages that have problems building
with distcc.
+ *buildflags*;;
+ Allow the use of user-specific buildflags (CFLAGS, CXXFLAGS, LDFLAGS)
+ during build as specified in linkman:makepkg.conf[5]. More useful in
+ its negative form `!buildflags` with select packages that have problems
+ building with custom buildflags.
+
*makeflags*;;
Allow the use of user-specific makeflags during build as specified
in linkman:makepkg.conf[5]. More useful in its negative form
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index c0fcae0f..73e5b906 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -45,7 +45,7 @@ srcdir="$startdir/src"
pkgdir="$startdir/pkg"
packaging_options=('strip' 'docs' 'libtool' 'emptydirs' 'zipman' 'purge')
-other_options=('ccache' 'distcc' 'makeflags')
+other_options=('ccache' 'distcc' 'buildflags' 'makeflags')
splitpkg_overrides=('pkgver' 'pkgrel' 'pkgdesc' 'arch' 'license' 'groups' \
'depends' 'optdepends' 'provides' 'conflicts' 'replaces' \
'backup' 'options' 'install' 'changelog')
@@ -739,6 +739,13 @@ run_function() {
fi
local pkgfunc="$1"
+ # clear user-specified buildflags if requested
+ if [[ $(check_option buildflags) = "n" ]]; then
+ CFLAGS=""
+ CXXFLAGS=""
+ LDFLAGS=""
+ fi
+
# clear user-specified makeflags if requested
if [[ $(check_option makeflags) = "n" ]]; then
MAKEFLAGS=""