From 340f512efb21e2a63cd32a824f170854eed8cf56 Mon Sep 17 00:00:00 2001 From: Dmitry Eremin Date: Fri, 6 Sep 2013 18:42:21 +0400 Subject: [PATCH] LU-1199 build: fix for configure args with space inside Fix passing arguments with space inside to configure script. The following example demostrate this issue: sh ./autogen.sh CFLAGS=" -g -O2 -Werror" ./configure make rpms configure: error: unrecognized option: -g Try `./configure --help' for more information. error: Bad exit status from /var/tmp/rpm-tmp.M5V8zv (%build) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.M5V8zv (%build) make[1]: *** [rpms-real] Error 1 make: *** [rpms] Error 2 Signed-off-by: Dmitry Eremin Change-Id: I65fab13d8ef97f0c48a159d77500b66253947aa9 Reviewed-on: http://review.whamcloud.com/7574 Tested-by: Hudson Tested-by: Maloo Reviewed-by: Minh Diep Reviewed-by: Bob Glossman Reviewed-by: Oleg Drokin --- autoMakefile.am | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/autoMakefile.am b/autoMakefile.am index 3889253..efd73e7 100644 --- a/autoMakefile.am +++ b/autoMakefile.am @@ -97,14 +97,18 @@ EXTRA_DIST += build/gen_filelist.sh endif rpms-real: @PACKAGE_TARNAME@.spec dist Makefile - CONFIGURE_ARGS=$$(echo $$(eval echo $(ac_configure_args)) | \ - sed -re 's/--(en|dis)able-tests//'); \ - if [ -n "@LINUX@" ]; then \ - CONFIGURE_ARGS=$$(echo $$(eval echo $$CONFIGURE_ARGS) | \ - sed -re 's/--with-linux=[^ ][^ ]*//'); \ - RPMARGS="--define \"kdir @LINUX@\""; \ - CONFIGURE_ARGS=$$(echo $$(eval echo $$CONFIGURE_ARGS) | \ - sed -re 's/--with-linux-obj=[^ ][^ ]*//'); \ + @CONFIGURE_ARGS=""; \ + for arg in $(ac_configure_args); do \ + case $$arg in \ + --with-release=* ) ;; \ + --enable-tests | --disable-tests ) ;; \ + --with-linux=* | --with-linux-obj=* ) ;; \ + * ) CONFIGURE_ARGS="$$CONFIGURE_ARGS '$$arg'" ;; \ + esac; \ + done; \ + RPMARGS="--define \"configure_args $$CONFIGURE_ARGS\""; \ + if [ -n "@LINUX@" ]; then \ + RPMARGS="$$RPMARGS --define \"kdir @LINUX@\""; \ if [ -n "@LINUX_OBJ@" -a "@LINUX_OBJ@" != "@LINUX@" ]; then \ RPMARGS="$$RPMARGS --define \"kobjdir @LINUX_OBJ@\""; \ fi; \ @@ -130,15 +134,12 @@ rpms-real: @PACKAGE_TARNAME@.spec dist Makefile fi; \ fi; \ fi; \ - CONFIGURE_ARGS=$$(echo $$(eval echo $$CONFIGURE_ARGS) | \ - sed -re 's/--with-release=[^ ][^ ]*//'); \ - RPMARGS="$$RPMARGS --define \"configure_args $$CONFIGURE_ARGS\""; \ if [[ "X$(BUILD_TESTS)" = Xfalse ]]; then \ RPMARGS="$$RPMARGS --without lustre_tests"; \ fi; \ if [[ "X$(BUILD_SERVER)" = Xfalse ]]; then \ RPMARGS="$$RPMARGS --without servers"; \ - if [ -n "@CROSS_PATH@" ]; then \ + if [ -n "$$CROSS_SUFFIX" ]; then \ RPMARGS="$$RPMARGS --define \"lustre_name lustre-client$$CROSS_SUFFIX\""; \ fi; \ fi; \ -- 1.8.3.1