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

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

Expand Messages
  • björn
    ... 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
    Message 1 of 18 , Jun 21, 2013
    • 0 Attachment
      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.

      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.
    • 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 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:
        > > 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 3 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 4 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 5 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 6 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 7 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.