bug-make
[Top][All Lists]
Advanced

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

[bug #30723] implicit re-executing of subdirs breaks $(origin) with make


From: Mike Frysinger
Subject: [bug #30723] implicit re-executing of subdirs breaks $(origin) with make-3.82
Date: Tue, 10 Aug 2010 05:22:12 +0000
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.8) Gecko/20100809 Gentoo Firefox/3.6.8

URL:
  <http://savannah.gnu.org/bugs/?30723>

                 Summary: implicit re-executing of subdirs breaks $(origin)
with make-3.82
                 Project: make
            Submitted by: vapier
            Submitted on: Tue 10 Aug 2010 05:22:11 AM GMT
                Severity: 3 - Normal
              Item Group: None
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
       Component Version: None
        Operating System: None
           Fixed Release: None
           Triage Status: None

    _______________________________________________________

Details:

upgrading from make-3.81 to make-3.82 seems to break the origin marking of
variables and thus command line variable overriding.  using glibc here as my
example.

to reproduce (warning: do not run as root):
  tar xf glibc-2.11.2.tar.bz2
  cd glibc-2.11.2
  mkdir build
  cd build
  ../configure --prefix=/usr -q
  sed -i '/^install_root/{h;s:.*:$(warning install_root=$(install_root)
origin=$(origin install_root)):;H;x;H;x}' config.make
  make install-headers install_root=$PWD/foo

the local config.make file has a default:
install_root =
but we're overriding it on the command line, so that should always be
ignored

glibc will basically do a `make -C ..`, and here you'll see the correct
behavior:
.../config.make:8: install_root=$PWD/foo origin=command line
.../config.make:10: install_root=$PWD/foo origin=command line

but the makefile logic in there depends on generated files.  so make will
generate those files, leave the subdir, and then re-enter it.  upon re-entry
though, we now see:
.../config.make:8: install_root=$PWD/foo origin=environment
.../config.make:10: install_root= origin=file

obviously that is incorrect ;)




    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?30723>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

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