[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#27781: LIBOBJS should depend on LIBOBJDIR
From: |
Mathieu Lirzin |
Subject: |
bug#27781: LIBOBJS should depend on LIBOBJDIR |
Date: |
Tue, 22 Aug 2017 00:40:32 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Michael Haubenwallner <address@hidden> writes:
> In this case let me come up with attached patch for now
> (without deeper knowledge of automake internals though).
I have tested this patch, and confirm that it fixes the bug. However I
have on question regarding the added code.
> From c3d51adb53400fc8bf65c0e003d810b2e7166d0d Mon Sep 17 00:00:00 2001
> From: Michael Haubenwallner <address@hidden>
> Date: Wed, 16 Aug 2017 18:16:12 +0200
> Subject: [PATCH] automake: Depend on LIBOBJDIR for LIBOBJS.
>
> This change fixes automake bug#27781.
>
> * bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for
> each LIBOBJS/ALLOCA variable used.
> ---
> bin/automake.in | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/bin/automake.in b/bin/automake.in
> index 9c4cb86..b82e8c5 100644
> --- a/bin/automake.in
> +++ b/bin/automake.in
> @@ -2153,10 +2153,19 @@ sub handle_LIBOBJS_or_ALLOCA
> $dir = backname ($relative_dir) . "/$dir"
> if $relative_dir ne '.';
> define_variable ('LIBOBJDIR', "$dir", INTERNAL);
> + my $dirstamp = '';
> + # Abusing $clean_files{"$(VAR)"} as indicator for whether
> + # we have added the "$(VAR): $dirstamp" dependency already.
I am not sure to understand what this comment really means. Can you
explain it in other words?
> + $dirstamp = require_build_directory ($dir)
> + if ! defined $clean_files{"\$($var)"};
> $clean_files{"\$($var)"} = MOSTLY_CLEAN;
> + $output_rules .= "\$($var): $dirstamp\n" if ($dirstamp);
> # If LTLIBOBJS is used, we must also clear LIBOBJS (which might
> # be created by libtool as a side-effect of creating LTLIBOBJS).
> - $clean_files{"\$($var)"} = MOSTLY_CLEAN if $var =~ s/^LT//;
> + if ($var =~ s/^LT//) {
> + $clean_files{"\$($var)"} = MOSTLY_CLEAN;
> + $output_rules .= "\$($var): $dirstamp\n" if ($dirstamp);
> + }
> }
>
> return $dir;
Thank you.
--
Mathieu Lirzin
GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37
bug#27781: LIBOBJS should depend on LIBOBJDIR,
Mathieu Lirzin <=
- bug#27781: LIBOBJS should depend on LIBOBJDIR, Michael Haubenwallner, 2017/08/22
- bug#27781: LIBOBJS should depend on LIBOBJDIR, Mathieu Lirzin, 2017/08/23
- bug#27781: LIBOBJS should depend on LIBOBJDIR, Nick Bowler, 2017/08/23
- bug#27781: LIBOBJS should depend on LIBOBJDIR, Mathieu Lirzin, 2017/08/24
- bug#27781: LIBOBJS should depend on LIBOBJDIR, Michael Haubenwallner, 2017/08/24
- bug#27781: LIBOBJS should depend on LIBOBJDIR, Mathieu Lirzin, 2017/08/27
bug#27781: LIBOBJS should depend on LIBOBJDIR, Michael Haubenwallner, 2017/08/24
bug#27781: LIBOBJS should depend on LIBOBJDIR, Mathieu Lirzin, 2017/08/27
bug#27781: LIBOBJS should depend on LIBOBJDIR, Michael Haubenwallner, 2017/08/28