libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 3/6] use documented m4sh interfaces


From: Ralf Wildenhues
Subject: Re: [PATCH 3/6] use documented m4sh interfaces
Date: Sun, 9 Nov 2008 21:18:11 +0100
User-agent: Mutt/1.5.18 (2008-05-17)

I already approved this, but ...

* Paolo Bonzini wrote on Fri, Nov 07, 2008 at 09:40:42AM CET:
> --- a/libltdl/m4/libtool.m4
> +++ b/libltdl/m4/libtool.m4
> @@ -553,6 +553,34 @@ esac
>  _LT_OUTPUT_LIBTOOL_INIT
>  ])
>  
> +# AS_INIT_GENERATED(FILE, [COMMENT])
> +# ----------------------------------
> +# Generate a child script FILE with all initialization necessary to
> +# reuse the environment learned by the parent script, and make the
> +# file executable.  If COMMENT is supplied, it is inserted after the
> +# `#!' sequence but before initialization text begins.  After this
> +# macro, additional text can be appended to FILE to form the body of
> +# the child script.  The macro ends with non-zero status if the
> +# file could not be fully written (such as if the disk is full).
> +m4_ifdef([AS_INIT_GENERATED],[m4_define([_LT_INIT_GENERATED],[AS_INIT_GENERATED(@$)])],
> +[m4_defun([_LT_INIT_GENERATED],
> +[m4_require([AS_PREPARE])]dnl
> +[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
> +[as_write_fail=0
> +cat >$1 <<_ASEOF || as_write_fail=1
> +#! $SHELL
> +# Generated by $as_me.
> +$2
> +SHELL=\${CONFIG_SHELL-$SHELL}
> +export SHELL
> +_ASEOF
> +cat >>$1 <<\_ASEOF || as_write_fail=1
> +AS_SHELL_SANITIZE
> +_AS_PREPARE
> +exec AS_MESSAGE_FD>&1
> +_ASEOF
> +test $as_write_fail = 0 && chmod +x $1[]dnl
> +m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_INIT_GENERATED

... AIUI, this adds write failure detection to the code, similar to the
config.status code in Autoconf.  In Libtool, this isn't diagnosed at the
end.

The natural consequence is that this would need a fix, and a testsuite
addition to tests/early-libtool.at that tries things on systems with a
/dev/full, similar to the autoconf/tests/torture.at test.

I suppose you can do this in a separate patch.

Cheers,
Ralf




reply via email to

[Prev in Thread] Current Thread [Next in Thread]