Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Saul Wold <sgw@linux.intel.com>
To: Qi.Chen@windriver.com
Cc: Zhenfeng.Zhao@windriver.com, openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 1/1] autotools.bbclass: use relative path for acpaths whenever possible
Date: Wed, 21 Nov 2012 16:19:26 -0800	[thread overview]
Message-ID: <50AD6F8E.50807@linux.intel.com> (raw)
In-Reply-To: <e4558ca77d64a8f3702c05599a630a00ddc0170f.1352439901.git.Qi.Chen@windriver.com>

On 11/08/2012 09:47 PM, Qi.Chen@windriver.com wrote:
> From: Chen Qi <Qi.Chen@windriver.com>
>
> When the TMPDIR is very long, say, 410 characters, aclocal would
> fail because the argument list is too long. This patch is an effort
> to use relative path for acpaths whenever possible, aiming at
> making the build system work correctly when the sanity check says OK.
>
> With the current implementation of autoreconf, it's impossible to
> thoroughly replace absolute path with relative path. Therefore, we
> use relative path when there's on subdirectory to configure; otherwise,
> we use absolute path.
>
Have you done a world build long path names with this patch on 1.4 and 
does it cause any failures with autoreconf and subdirs?

Sau!


> [YOCTO #2766]
>
> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> ---
>   meta/classes/autotools.bbclass |   14 +++++++++-----
>   1 file changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
> index b97d74b..86d8939 100644
> --- a/meta/classes/autotools.bbclass
> +++ b/meta/classes/autotools.bbclass
> @@ -123,8 +123,11 @@ autotools_do_configure() {
>   		rm -f `dirname $ac`/configure
>   		done )
>   	if [ -e ${S}/configure.in -o -e ${S}/configure.ac ]; then
> +               [ -e configure.in ] && CONFIGURE_AC=configure.in || CONFIGURE_AC=configure.ac
>   		olddir=`pwd`
>   		cd ${S}
> +		# Determine whether there's subdirs to configure
> +		grep -q -m 1 AC_CONFIG_SUBDIRS $CONFIGURE_AC && sub_cfg=1 || sub_cfg=0
>   		# Remove any previous copy of the m4 macros
>   		rm -rf ${B}/aclocal-copy/
>   		ACLOCAL="aclocal --system-acdir=${B}/aclocal-copy/"
> @@ -132,6 +135,11 @@ autotools_do_configure() {
>   			acpaths=
>   			for i in `find ${S} -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \
>   				grep -v 'acinclude.m4' | grep -v 'aclocal-copy' | sed -e 's,\(.*/\).*$,\1,'|sort -u`; do
> +			        # If no subdirs to configure, we use relative path
> +			        # This is used for supporting long TMPDIR in Yocto
> +			        if [ $sub_cfg == 0 ]; then
> +				        i=`echo $i | sed -e 's#${S}#\.#'`
> +				fi
>   				acpaths="$acpaths -I $i"
>   			done
>   		else
> @@ -161,11 +169,7 @@ autotools_do_configure() {
>   		if ! echo ${EXTRA_AUTORECONF} | grep -q "aclocal"; then
>   			rm -f aclocal.m4
>   		fi
> -		if [ -e configure.in ]; then
> -			CONFIGURE_AC=configure.in
> -		else
> -			CONFIGURE_AC=configure.ac
> -		fi
> +
>   		if grep "^[[:space:]]*AM_GLIB_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
>   			if grep "sed.*POTFILES" $CONFIGURE_AC >/dev/null; then
>   				: do nothing -- we still have an old unmodified configure.ac
>



  reply	other threads:[~2012-11-22  0:33 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-09  5:47 [PATCH 0/1] autotools.bbclass: use relative path for acpaths whenever possible Qi.Chen
2012-11-09  5:47 ` [PATCH 1/1] " Qi.Chen
2012-11-22  0:19   ` Saul Wold [this message]
2012-11-23  8:31     ` ChenQi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50AD6F8E.50807@linux.intel.com \
    --to=sgw@linux.intel.com \
    --cc=Qi.Chen@windriver.com \
    --cc=Zhenfeng.Zhao@windriver.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox