[oe] [PATCH] vim-7.2: remove quotes from CC in configure.in
Paul Menzel
paulepanter at users.sourceforge.net
Thu Sep 30 15:07:08 UTC 2010
Am Mittwoch, den 29.09.2010, 19:59 +0200 schrieb Thilo Fromm:
> upstream: OE-only
Please remove this again.
> configure.in features quotes around some calls to $CC (i.e. it calls
> "$CC"). CC is, however, not always just the compiler name. In OpenEmbedded
> CC looks more like "arm-angstrom-linux-gnueabi-gcc -march=armv5te -mtune=arm926ej-s -mthumb-interwork -mno-thumb".
>
> configure executes tests in a form like res=`"$CC" --some-arg`
> The quotes make the shell try to execute the whole contents of the CC variable -
> compiler and options - as _one single_ binary, which will fail.
>
> However, these errors remain unnoticed during the configure run:
>
> ...
> configure: line 3707: arm-angstrom-linux-gnueabi-gcc -march=armv5te -mtune=arm926ej-s -mthumb-interwork -mno-thumb: command not found
> ...
> checking for setjmp.h... yes
> checking for GCC 3 or later... /SCRATCH/maniac/oe-merge-test/OE/tmp.6/work/armv5te-angstrom-linux-gnueabi/vim-7.2-r7.1/vim72/src/configure: line 11329: test: : integer expression expected
> no
> checking whether we need -D_FORTIFY_SOURCE=1... /SCRATCH/maniac/oe-merge-test/OE/tmp.6/work/armv5te-angstrom-linux-gnueabi/vim-7.2-r7.1/vim72/src/configure: line 11339: test: : integer expression expected
> no
> ...
>
> But finally:
>
> ...
> configure: creating ./config.status
> config.status: creating auto/config.mk
> config.status: creating auto/config.h
>
> So the configure step had errors, but didn't report any in the return code.
>
> This patch removes the quotes around the CC variable in configure.in, which unbreaks the configure step.
I have the same questions as before. Do you know if something similar is
needed upstream? I think it is not OE only since other frameworks have
similar values for `CC`.
> Signed-off-by: Thilo Fromm <t.fromm at dresearch.de>
> ---
> .../vim/files/configure.in_remove_CC_quotes.patch | 15 +++++++++++++++
> recipes/vim/vim.inc | 2 +-
> recipes/vim/vim_7.2.bb | 2 ++
> 3 files changed, 18 insertions(+), 1 deletions(-)
> create mode 100644 recipes/vim/files/configure.in_remove_CC_quotes.patch
>
> diff --git a/recipes/vim/files/configure.in_remove_CC_quotes.patch b/recipes/vim/files/configure.in_remove_CC_quotes.patch
> new file mode 100644
> index 0000000..db9fb07
> --- /dev/null
> +++ b/recipes/vim/files/configure.in_remove_CC_quotes.patch
Please add the appropriate patch header.
> @@ -0,0 +1,15 @@
> +--- vim72-orig/src/configure.in 2010-09-29 19:13:33.000000000 +0200
> ++++ vim72/src/configure.in 2010-09-29 19:17:07.000000000 +0200
> +@@ -35,10 +35,10 @@
> + fi
> + if test "$GCC" = yes; then
> + dnl method that should work for nearly all versions
> +- gccversion=`"$CC" -dumpversion`
> ++ gccversion=`$CC -dumpversion`
> + if test "x$gccversion" = "x"; then
> + dnl old method; fall-back for when -dumpversion doesn't work
> +- gccversion=`"$CC" --version | sed -e '2,$d' -e 's/darwin.//' -e 's/^[[^0-9]]*\([[0-9]]\.[[0-9.]]*\).*$/\1/g'`
> ++ gccversion=`$CC --version | sed -e '2,$d' -e 's/darwin.//' -e 's/^[[^0-9]]*\([[0-9]]\.[[0-9.]]*\).*$/\1/g'`
> + fi
> + dnl version 4.0.1 was reported to cause trouble on Macintosh by Marcin Dalecki
> + if test "$gccversion" = "3.0.1" -o "$gccversion" = "3.0.2" -o "$gccversion" = "4.0.1"; then
> diff --git a/recipes/vim/vim.inc b/recipes/vim/vim.inc
> index aa93527..1e71d52 100644
> --- a/recipes/vim/vim.inc
> +++ b/recipes/vim/vim.inc
> @@ -5,7 +5,7 @@ DEPENDS = "ncurses"
> RSUGGESTS_${PN} = "diffutils"
> LICENSE = "vim"
>
> -INC_PR = "r7"
> +INC_PR = "r8"
>
> SRC_URI = "ftp://ftp.vim.org/pub/vim/unix/vim-${PV}.tar.bz2;name=vim${PV}tarbz2 \
> ftp://ftp.vim.org/pub/vim/extra/vim-${PV}-extra.tar.gz;name=vim${PV}extratargz \
> diff --git a/recipes/vim/vim_7.2.bb b/recipes/vim/vim_7.2.bb
> index d79f787..eafbeef 100644
> --- a/recipes/vim/vim_7.2.bb
> +++ b/recipes/vim/vim_7.2.bb
> @@ -15,11 +15,13 @@ PR = "${INC_PR}.1"
>
> # 001-411.diff contains 411 patches fetched from upstream
> SRC_URI += "file://001-411.diff;apply=no"
> +SRC_URI += "file://configure.in_remove_CC_quotes.patch;apply=no"
>
> # we need to apply patches in other dir then ${S}
> do_applypatch() {
> cd ${WORKDIR}/vim${VIMVER}
> patch -p1 <${WORKDIR}/001-411.diff
> + patch -p1 <${WORKDIR}/configure.in_remove_CC_quotes.patch
> }
>
> addtask applypatch after do_unpack before do_patch
Besides that I build tested your patch and it worked for
`angstrom-2008.1`, `minimal-{eglibc,libc,uclibc}` and `MACHINE =
"beagleboard"`.
Thanks,
Paul
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20100930/f93f41d5/attachment-0002.sig>
More information about the Openembedded-devel
mailing list