Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/2694bb74158bac7276cded2435bba8e889659f98

>---------------------------------------------------------------

commit 2694bb74158bac7276cded2435bba8e889659f98
Author: Ian Lynagh <[email protected]>
Date:   Fri Dec 2 16:55:28 2011 +0000

    Use touchy rather than touch when building on Windows
    
    With Windows 7 in a vitrual box VM on OS X, some very odd things happen
    with dates and time stamps when SSHing into cygwin. e.g. here the
    "Change" time is in the past:
    
    $ date; touch foo; stat foo
    Fri Dec  2 16:58:07 GMTST 2011
      File: `foo'
      Size: 0               Blocks: 0          IO Block: 65536  regular
    empty file
    Device: 540aba0bh/1409989131d   Inode: 562949953592977  Links: 1
    Access: (0644/-rw-r--r--)  Uid: ( 1000/     ian)   Gid: (  513/    None)
    Access: 2011-12-02 16:58:07.414457900 +0000
    Modify: 2011-12-02 16:58:07.414457900 +0000
    Change: 2011-12-02 16:58:03.495141800 +0000
     Birth: 2011-12-02 16:57:57.731469900 +0000
    
    And if we copy such a file, then the copy is older (as determined by the
    "Modify" time) than the original:
    
    $ date; touch foo; stat foo; cp foo bar; stat bar
    Fri Dec  2 16:59:10 GMTST 2011
      File: `foo'
      Size: 0               Blocks: 0          IO Block: 65536  regular
    empty file
    Device: 540aba0bh/1409989131d   Inode: 1407374883725128  Links: 1
    Access: (0644/-rw-r--r--)  Uid: ( 1000/     ian)   Gid: (  513/    None)
    Access: 2011-12-02 16:59:10.118457900 +0000
    Modify: 2011-12-02 16:59:10.118457900 +0000
    Change: 2011-12-02 16:59:06.189477700 +0000
     Birth: 2011-12-02 16:57:57.731469900 +0000
      File: `bar'
      Size: 0               Blocks: 0          IO Block: 65536  regular
    empty file
    Device: 540aba0bh/1409989131d   Inode: 281474976882512  Links: 1
    Access: (0644/-rw-r--r--)  Uid: ( 1000/     ian)   Gid: (  513/    None)
    Access: 2011-12-02 16:59:06.394555800 +0000
    Modify: 2011-12-02 16:59:06.394555800 +0000
    Change: 2011-12-02 16:59:06.395532400 +0000
     Birth: 2011-12-02 16:58:40.921899600 +0000
    
    This means that make thinks that things are out of date when it
    shouldn't, so reinvokes itself repeatedly until the MAKE_RESTARTS
    infinite-recursion test triggers.
    
    The touchy program, like most other programs, creates files with both
    Modify and Change in the past, which is still a little odd, but is
    consistent, so doesn't break make.

 ghc.mk                      |    9 +++++----
 libffi/ghc.mk               |   12 ++++++------
 mk/config.mk.in             |    8 ++++++++
 rts/ghc.mk                  |    4 ++--
 rules/build-dependencies.mk |    8 ++++----
 rules/build-prog.mk         |    4 ++--
 utils/ghc-cabal/ghc.mk      |    4 ++--
 utils/touchy/ghc.mk         |    9 +++++----
 8 files changed, 34 insertions(+), 24 deletions(-)


Diff suppressed because of size. To see it, use:

    git show 2694bb74158bac7276cded2435bba8e889659f98

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to