From: Nick Bowler Date: Fri, 22 Feb 2019 22:48:21 +0000 (-0500) Subject: Normalize whitespace on detected library flags. X-Git-Url: http://git.draconx.ca/gitweb/dxcommon.git/commitdiff_plain/a3ecbb40448bb06bbafc5ff9ad56909714acc6fd Normalize whitespace on detected library flags. It seems that pkg-config sometimes spits out a bunch of trailing whitespace. This gets into the substituted variables and makes them a bit annoying to work with. Add a step to the library helper which normalizes the spaces: in addition to removing leading and trailing spaces this will also remove internal spaces, which I think should be harmless as there does not appear to be any way for the user to usefully get quoted spaces into these variables. --- diff --git a/m4/libhelper.m4 b/m4/libhelper.m4 index 500389c..fdaaff5 100644 --- a/m4/libhelper.m4 +++ b/m4/libhelper.m4 @@ -1,4 +1,6 @@ -dnl Copyright © 2014 Nick Bowler +dnl Copyright © 2014, 2019 Nick Bowler +dnl +dnl Helper macros for implementing library tests. dnl dnl License WTFPL2: Do What The Fuck You Want To Public License, version 2. dnl This is free software: you are free to do what the fuck you want to. @@ -83,6 +85,8 @@ _DX_CVNAME([found])=no _dx_save_cflags=$CFLAGS _dx_save_libs=$LIBS m4_map_sep([_DX_LIB_TEST], [m4_newline], [$3]) +DX_VAR_NORMALIZE_SPACE([_DX_CVNAME([cflags])]) +DX_VAR_NORMALIZE_SPACE([_DX_CVNAME([libs])]) CFLAGS=$_dx_save_cflags LIBS=$_dx_save_libs])dnl diff --git a/m4/utils.m4 b/m4/utils.m4 index 32f3246..c621631 100644 --- a/m4/utils.m4 +++ b/m4/utils.m4 @@ -1,6 +1,6 @@ -dnl Copyright © 2015, 2018 Nick Bowler +dnl Copyright © 2015, 2018-2019 Nick Bowler dnl -dnl Assorted helper macros +dnl Assorted utility macros. dnl dnl License WTFPL2: Do What The Fuck You Want To Public License, version 2. dnl This is free software: you are free to do what the fuck you want to. @@ -9,3 +9,8 @@ dnl There is NO WARRANTY, to the extent permitted by law. dnl DX_DO(arg, ...) dnl Expand each argument in sequence, inserting newlines between them. AC_DEFUN([DX_DO], [m4_do([$1], [m4_map_args([m4_newline], m4_shift($@))])]) + +dnl DX_VAR_NORMALIZE_SPACE(varname) +dnl Trim leading and trailing whitespace from a shell variable, and replace +dnl consecutive sequences of internal whitespace with a single space. +AC_DEFUN([DX_VAR_NORMALIZE_SPACE], [set -f; set x $$1; shift; $1=$[]* set +f])