Loading ...
Sorry, an error occurred while loading the content.

Re: make distclean fails to remove src/config.cache

Expand Messages
  • dv1445@...
    ... The speculation is spot on, though. I have solved this, in the sense that I ve identified the cause and how to fix it: MacVim puts
    Message 1 of 18 , Jun 21, 2013
    • 0 Attachment
      On Fri, Jun 21, 2013 at 04:02:59PM +0200, björn wrote:
      > On Fri, Jun 21, 2013 at 7:46 AM, <dv1445@...> wrote:
      > > On Tue, Jun 18, 2013 at 09:27:17PM +0200, björn wrote:
      > >> On Thu, Jun 13, 2013 at 9:55 PM, wrote:
      > >> > On Mon, May 27, 2013 at 01:10:58PM -0400, wrote:
      > >> >> On 05/27/13 at 10:46:11 -0400 gmn wrote:
      > >> >> > In my opinion, whatever scripts in MacVim that control this ought to
      > >> >> > be changed so that the result matches BramVim, and config.cache
      > >> >> > files will go in src/auto rather than just src. That way, "make
      > >> >> > distclean" in a MacVim repo will in fact clean them.
      > >> >>
      > >> >> That is to say, *if* it is easy to do so, then the relevant scripts
      > >> >> ought to be changed so that blah blah.
      > >> >>
      > >> >> (Or perhaps 'make distclean' can be patched to also obliterate any
      > >> >> existing src/config.cache)
      > >> >>
      > >> >> If it isn't an easy thing, just forget it. I can deal with it.
      > >> >
      > >> > Hi Björn,
      > >> >
      > >> > Although I discovered how to trigger the issue, I don't know what causes
      > >> > it. I don't know enough about makefiles or confiure scripts to wade
      > >> > through the difference between those of MacVim and those of BramVim. So
      > >> > I propose modifying, in MacVim, src/Makefile according the the below
      > >> > diff.
      > >> >
      > >> > The line two lines above my added one is doing almost nothing at all,
      > >> > because the files auto/config.{status,log,cache} are never created by
      > >> > MacVim as far as I can see:
      > >> >
      > >> > ** If I call './configure -C', they get put in src/, which is what
      > >> > generated this bug-reporting thread.
      > >> >
      > >> > ** If on the other hand I call plain './configure', then no caches are
      > >> > created, so there's nothing for that line of the Makefile to destroy.
      > >> >
      > >> > ** If I call './configure --cache-file=src/auto/config.cache (which
      > >> > './configure --help tells me is kosher), then no config.cache is put
      > >> > *anywhere*, and config.{log,status} are put straight into src/ where
      > >> > the latter won't get wiped out by 'make distclean'.
      > >> >
      > >> > Therefore I propose leaving that line in place (since it's doing no
      > >> > harm), but adding one that allows 'make distclean' to destroy
      > >> > 'src/config.{cache,log,status}'. I tested this locally and it seems to
      > >> > work. Thus 'make distclean' will destroy the things it's supposed to
      > >> > destroy.
      > >>
      > >> I think it would be better to figure out why there is a difference
      > >> instead of blindly patching. I don't know what causes it though, so I
      > >> can't help.
      > >
      > > Hi Björn,
      > >
      > > I think I've found out why MacVim is putting config.cache (et. al.) in
      > > the "wrong" place (which is itself why 'make distclean' isn't seeking
      > > and destroying those files).
      > >
      > > Could it be because MacVim has TWO 'configure' files of substance, while
      > > BramVim only has one?
      > >
      > > In MacVim repo:
      > > 'configure' is just a tiny wrapper.
      > > 'src/configure' is "meaty".
      > > 'src/auto/configure' is even meatier (by ~175KB!!).
      > >
      > > In BramVim repo:
      > > 'configure' is just a tiny wrapper.
      > > 'src/configure' is a slightly larger wrapper.
      > > 'src/auto/configure' is meaty, about as meaty as 'src/configure' from
      > > MacVim.
      > >
      > > If, in MacVim, the meaty config script that's governing cachefile
      > > placement is the one sitting in /src, then that would explain why it's
      > > dropping config.cache right in /src (look at its line 914, see a
      > > relative path).
      > >
      > > In BramVim, the only meaty config script is in 'src/auto', so the
      > > corresponding line would dump config.cache in src/auto, right?
      > >
      > > Of further interest: BramVim's 'src/configure' appears to be calling
      > > 'src/auto/configure' with an explicit request that config.cache be left
      > > in 'src/auto'.
      > >
      > > If I am right that this is what's causing MacVim to put the files in a
      > > different place from BramVim, it seems to me that either:
      > >
      > > (a) one of MacVim's two meaty configure scripts (or both??) should be
      > > made to drop config.cache (and .log, and .status) in 'src/auto', and to
      > > know that that's where to read cached info from.
      > >
      > > Or,
      > >
      > > (b) the Makefile's 'make distclean' should be tweaked to find those
      > > files in their current location ('src/'). Of course, this needn't be
      > > done in exactly the way I proposed earlier.
      > >
      > > BTW, MacVim's 'src/configure' appears to correspond to BramVim's
      > > 'src/auto/configure'. There are many differences, but they seem to be
      > > almost all tiny differences. Also, MacVim's 'src/auto/configure'
      > > appears to be older than 'src/configure'.
      >
      > I'm sorry, but the speculation doesn't help. All I can say is that I
      > have done nothing to change the way the configure script works for
      > MacVim. There are a few (not many) changes in the configure.in
      > script, but that's it. If you figure it out, please send me a patch,
      > otherwise I can not be of much help.

      The speculation is spot on, though. I have solved this, in the sense
      that I've identified the cause and how to fix it:

      MacVim puts config.{cache,log,status} in src, because src/configure is
      NOT merely a wrapper (as it is in BramVim), so there is no special
      request to src/auto/configure to put the cache in src/auto (as there is
      in BramVim). This alone clinches that the *cache* goes in src/.

      But in addition, note that src/auto/configure TRIES to put config.log in
      explicitly src/auto (line 1496 and three other places), and
      config.status *implicitly* in src/auto (via the relative path
      ./config.status in line 19814). I say "tries", because these are
      totally ignored, and in fact it's src/configure that governs the
      placement of config.{log,status}. In fact, src/auto/configure's
      declarations for where to put *all three* files are ignored, and totally
      governed by src/configure.

      To help confirm my diagnosis and work on a patch, I ran two further
      tests:

      ONE: I moved src/configure into src/auto, overwriting the configure
      script that was there. I then copied from BramVim the wrapper
      src/configure to the same spot in MacVim. Testing revealed that all of
      config.{cache,log,status} went into src/auto. MacVim even built without
      errors. This proves it's the interplay between src/configure and
      src/auto/configure that's causing the issue.

      TWO: I went into src/configure and altered line 914 to use a prefix
      'auto/', then I made the string 'config.log' take a prefix 'auto/' in
      lines 2224, 2234, 13404, and 13996, then gave the string 'config.status'
      a prefix of 'auto/' in line 12831. In other words, I told src/configure
      to put the files into src/auto. And then that's where it in fact put
      them.

      I don't know what else you want to know before a patch of some kind is
      made.

      -gmn

      --
      --
      You received this message from the "vim_mac" maillist.
      Do not top-post! Type your reply below the text you are replying to.
      For more information, visit http://www.vim.org/maillist.php

      ---
      You received this message because you are subscribed to the Google Groups "vim_mac" group.
      To unsubscribe from this group and stop receiving emails from it, send an email to vim_mac+unsubscribe@....
      For more options, visit https://groups.google.com/groups/opt_out.
    • dv1445@...
      ... This particular message below is not me agitating for a patch, but just asking a question so I can learn more about how MacVim works. Why is it that MacVim
      Message 2 of 18 , Jun 21, 2013
      • 0 Attachment
        On Fri, Jun 21, 2013 at 04:02:59PM +0200, björn wrote:
        > On Fri, Jun 21, 2013 at 7:46 AM, <dv1445@...> wrote:
        > > Could it be because MacVim has TWO 'configure' files of substance, while
        > > BramVim only has one?
        > >
        > > In MacVim repo:
        > > 'configure' is just a tiny wrapper.
        > > 'src/configure' is "meaty".
        > > 'src/auto/configure' is even meatier (by ~175KB!!).
        > >
        > > In BramVim repo:
        > > 'configure' is just a tiny wrapper.
        > > 'src/configure' is a slightly larger wrapper.
        > > 'src/auto/configure' is meaty, about as meaty as 'src/configure' from
        > > MacVim.
        > >
        > > If, in MacVim, the meaty config script that's governing cachefile
        > > placement is the one sitting in /src, then that would explain why it's
        > > dropping config.cache right in /src (look at its line 914, see a
        > > relative path).
        > >
        > > In BramVim, the only meaty config script is in 'src/auto', so the
        > > corresponding line would dump config.cache in src/auto, right?

        This particular message below is not me agitating for a patch, but just
        asking a question so I can learn more about how MacVim works.

        Why is it that MacVim has two configure scripts of substance,
        src/configure and src/auto/configure, whereas in BramVim src/configure
        is just a wrapper that calls src/auto/configure?

        The git logs tell me that originally MacVim's src/configure WAS just a
        wrapper, but that it became "meaty" on Oct 18th 2007, where the commit
        message was "Generated configure script"

        -gmn

        --
        --
        You received this message from the "vim_mac" maillist.
        Do not top-post! Type your reply below the text you are replying to.
        For more information, visit http://www.vim.org/maillist.php

        ---
        You received this message because you are subscribed to the Google Groups "vim_mac" group.
        To unsubscribe from this group and stop receiving emails from it, send an email to vim_mac+unsubscribe@....
        For more options, visit https://groups.google.com/groups/opt_out.
      • björn
        ... OK, I ve restored the src/configure script from upstream now. Thanks for figuring this out and pointing it out to me. I made the mistake of running
        Message 3 of 18 , Jun 23, 2013
        • 0 Attachment
          On Fri, Jun 21, 2013 at 8:10 PM, <dv1445@...> wrote:
          > On Fri, Jun 21, 2013 at 04:02:59PM +0200, björn wrote:
          >> On Fri, Jun 21, 2013 at 7:46 AM, <dv1445@...> wrote:
          >> > Could it be because MacVim has TWO 'configure' files of substance, while
          >> > BramVim only has one?
          >> >
          >> > In MacVim repo:
          >> > 'configure' is just a tiny wrapper.
          >> > 'src/configure' is "meaty".
          >> > 'src/auto/configure' is even meatier (by ~175KB!!).
          >> >
          >> > In BramVim repo:
          >> > 'configure' is just a tiny wrapper.
          >> > 'src/configure' is a slightly larger wrapper.
          >> > 'src/auto/configure' is meaty, about as meaty as 'src/configure' from
          >> > MacVim.
          >> >
          >> > If, in MacVim, the meaty config script that's governing cachefile
          >> > placement is the one sitting in /src, then that would explain why it's
          >> > dropping config.cache right in /src (look at its line 914, see a
          >> > relative path).
          >> >
          >> > In BramVim, the only meaty config script is in 'src/auto', so the
          >> > corresponding line would dump config.cache in src/auto, right?
          >
          > This particular message below is not me agitating for a patch, but just
          > asking a question so I can learn more about how MacVim works.
          >
          > Why is it that MacVim has two configure scripts of substance,
          > src/configure and src/auto/configure, whereas in BramVim src/configure
          > is just a wrapper that calls src/auto/configure?
          >
          > The git logs tell me that originally MacVim's src/configure WAS just a
          > wrapper, but that it became "meaty" on Oct 18th 2007, where the commit
          > message was "Generated configure script"

          OK, I've restored the src/configure script from upstream now. Thanks
          for figuring this out and pointing it out to me. I made the mistake
          of running "autoconf" instead of "make autoconf" and that is what
          caused the problem in the first place.

          I don't want to sound ungrateful or discouraging, but unfortunately
          your posts are often so long that it makes it hard for me to get the
          point and I often don't have the energy to read all the multiple
          postings to one thread. In this case, if you had kept it to one post
          which simply said "replace src/configure with the one from upstream"
          it would have been so much easier for me to fix this. Instead I
          misunderstood what you were talking about and hence my very delayed
          reaction. My apologies for this.

          Anyway, I hope everything works as it should now and thanks once again.

          Björn

          --
          --
          You received this message from the "vim_mac" maillist.
          Do not top-post! Type your reply below the text you are replying to.
          For more information, visit http://www.vim.org/maillist.php

          ---
          You received this message because you are subscribed to the Google Groups "vim_mac" group.
          To unsubscribe from this group and stop receiving emails from it, send an email to vim_mac+unsubscribe@....
          For more options, visit https://groups.google.com/groups/opt_out.
        • gmn
          ... Will test forthwith. BTW, you don t sound ungrateful :) ... I would certainly have done so, but not being a programmer, I didn t know that that is in fact
          Message 4 of 18 , Jun 23, 2013
          • 0 Attachment
            On Sun, Jun 23, 2013 at 04:13:44PM +0200, björn wrote:
            > OK, I've restored the src/configure script from upstream now.

            Will test forthwith.

            BTW, you don't sound ungrateful :)

            > In this case, if you had kept it to one post which simply said
            > "replace src/configure with the one from upstream" it would have been
            > so much easier for me to fix this.

            I would certainly have done so, but not being a programmer, I didn't
            know that that is in fact the correct solution. For all I knew, there
            may have been a very good reason for there to be two different, meaty
            configure scripts.

            Therefore I tried to provide as much info as seemed relevant for
            helping you to diagnose the problem. I apologize that it was a flood.

            Best,

            -gmn





            --
            --
            You received this message from the "vim_mac" maillist.
            Do not top-post! Type your reply below the text you are replying to.
            For more information, visit http://www.vim.org/maillist.php

            ---
            You received this message because you are subscribed to the Google Groups "vim_mac" group.
            To unsubscribe from this group and stop receiving emails from it, send an email to vim_mac+unsubscribe@....
            For more options, visit https://groups.google.com/groups/opt_out.
          • Steven Michalske
            ... This is often a problem of a sweet spot type. Sometimes you need a flood of info, others a quick note that there is a problem. A tip that s worked for me
            Message 5 of 18 , Jun 23, 2013
            • 0 Attachment
              On Jun 23, 2013, at 1:56 PM, gmn <dv1445@...> wrote:

              > I would certainly have done so, but not being a programmer, I didn't
              > know that that is in fact the correct solution. For all I knew, there
              > may have been a very good reason for there to be two different, meaty
              > configure scripts.
              >
              > Therefore I tried to provide as much info as seemed relevant for
              > helping you to diagnose the problem. I apologize that it was a flood.

              This is often a problem of a sweet spot type. Sometimes you need a flood of info, others a quick note that there is a problem. A tip that's worked for me in the past is that you put a quick and concise summary and then the flood of details after. This way the readers don't get lost and can look up particulars if needed.

              Also, if you get a vague reply and details were spread across a thread it is helpful to send a recap email.

              --
              --
              You received this message from the "vim_mac" maillist.
              Do not top-post! Type your reply below the text you are replying to.
              For more information, visit http://www.vim.org/maillist.php

              ---
              You received this message because you are subscribed to the Google Groups "vim_mac" group.
              To unsubscribe from this group and stop receiving emails from it, send an email to vim_mac+unsubscribe@....
              For more options, visit https://groups.google.com/groups/opt_out.
            • dv1445@...
              ... Tested and works. Thanks again. -gmn -- -- You received this message from the vim_mac maillist. Do not top-post! Type your reply below the text you are
              Message 6 of 18 , Jun 23, 2013
              • 0 Attachment
                On Sun, Jun 23, 2013 at 04:13:44PM +0200, björn wrote:
                > OK, I've restored the src/configure script from upstream now.

                Tested and works.

                Thanks again.

                -gmn

                --
                --
                You received this message from the "vim_mac" maillist.
                Do not top-post! Type your reply below the text you are replying to.
                For more information, visit http://www.vim.org/maillist.php

                ---
                You received this message because you are subscribed to the Google Groups "vim_mac" group.
                To unsubscribe from this group and stop receiving emails from it, send an email to vim_mac+unsubscribe@....
                For more options, visit https://groups.google.com/groups/opt_out.
              Your message has been successfully submitted and would be delivered to recipients shortly.