Menu

makepp in native windows

Help
2008-03-05
2013-03-15
  • Nobody/Anonymous

    Hello there,

    I am new to makepp and I am wondering if any one here could indicate how much work needs to be done before makepp is working natively on windows.

    Nyx

     
    • Daniel Pfeiffer

      Daniel Pfeiffer - 2008-03-07

      Hi Nyx,

      by native I suppose you mean without cygwin or mingw and using active state?  In principle this works.  Some windows compilers understand the basic Unix-like options, which makepp parses to find include files (-Idir) and library dependencies (-Ldir -llib), so if you can use those, you're safe.  Else commands parsers would need to be written...

      It's better to use slashes (/dir/subdir/subsubdir) for dir-separators as far as possible.  I think I remember that you have to use backslashes (\) for commands pathes though -- not sure.

      good luck
      Daniel

       
      • Daniel Pfeiffer

        Daniel Pfeiffer - 2008-04-22

        Hi Nyx,

        sorry for haven taken so long to fix a few remaining small bugs.

        I've gone over makepp and the test suite, and now it's almost a perfect fit for active state and MS VS cl.  All the tests now work except for two small issues.  There is a new variable $/, which you should use in commands as a dir separator to make both Windows and Unix happy.

        best regards
        Daniel

         
    • Nobody/Anonymous

      Hi there Daniel,

      First of all: thank you for your work with the bugfixing.

      I have a copule of questions:

      1) I am in particual interested in how "make -j" works in makepp on Windows. This is a 
      problem with original gmake on Windows as I am sure you already know.

      2) I am about to recommed a build system for a large company so I have to ask:
      Has the development on MakePP stopped? The reason I ask is because the last update on
      the homepage is rather old. Is it safer to go for SCons than MakePP? Personally I would
      prefer going with MakePP since its based on Perl. OTOH: if MakePP development has stopped
      this is not very good either.

      Best Regards,

      Nyx

       
      • Henrik Goldman

        Henrik Goldman - 2008-05-04

        Hi Nyx,

        I can tell you that the development of Makepp is very active. I'm not directly involved but another active user of it. I work with Daniel occationaly to complain and suggest improvements :-)

        I've said to Daniel many times that a new release should be made. Don't be fooled by the builds on the website... These are very misleading. Instead go for the CVS build and check for changes in the comments.

        Working with makepp for about 3 years now I'm VERY fond of it and it's functionality just beats the heck out of most other make-app's. Count the number of times you get broken builds in gmake or any others due to stale files and then you will see how much time you save with makepp.

        -- Henrik

         
      • Daniel Pfeiffer

        Daniel Pfeiffer - 2008-05-08

        Hi again,

        with the stuff I just checked into CVS, a few hidden glitches on Windows have been found and fixed.  All tests pass with either Cygwin or MinGW MSYS Perl.  ActiveState still has a few loose ends I'm looking at.

        I'd be glad to hear of your results!

        Also I hope to get -j working soon on Windows.  An experiment tends to show that it won't work with ActiveState though, because they mess up STDOUT across several processes (which is what gmake gives you, but that is rubbish).

        best regards
        Daniel

         
    • Daniel Pfeiffer

      Daniel Pfeiffer - 2008-05-10

      Hi!

      mpp -j on Windows (except ActiveState Perl which messes up fork terribly) proved to be easier than I thought.  I have however only tested it with trivial actions like date, sleep, echo and/or false.  I'd be very interested to hear how it performs on a multicore PC with a real build!  So pick it up from CVS (I'll make a snapshot if I get positive feedback), buy a quadcore and give it something to do :-)

      Also I can test with all AS versions back to 5.6.0, which are all still downloadable, but Cygwin only goes back to 5.8.8.  I've managed to save a 5.8.7, but it would be great if someone could send me older versions, if you haven't updated.  What I'd need would be /bin/perl5.*.exe /bin/cygperl*.dll and /lib/perl5.

      best regards
      Daniel

       
    • Nobody/Anonymous

      Hello there,

      Would it be possible to use the Win32::Process module to make an implementation for AS Perl?
      If such a change is posted back to you guys would you consider taking it into the main trunk?

      best regards,

      Nyx

       
      • Daniel Pfeiffer

        Daniel Pfeiffer - 2008-05-28

        Hi Nyx,

        I had thought about it shortly, but it didn't seem to be a good fit.  For one thing the normal fork-way the standard process inherits a lot of stuff (Perl functions, variables, user defined commands) which can be used in actions.  For another even if you limit it to external commands (which would make it a poor subset of makepp) you'd need an external Perl script which emulates what Rule::execute currently does with multiple commands in an action.  Thirdly at least I didn't understand how to get notified when and which subprocess ended with what return code -- active waiting doesn't seem very flexible.

        Before you start writing a patch, please explain how it would work and what not to expect from it ;-)

        best regards
        Daniel

         

Log in to post a comment.