Project Quagmire

This weekend I finally registered project quagmire with Google’s code hosting service. I’ve checked in all my initial .mk files, plus a little bit of documentation.

I’m a little nervous about posting this… Quagmire is still very immature, and I don’t want expectations set too high. There is still a lot to do! But, the good news is, you can easily help set the direction.

I suppose I will set up a Google group for Quagmire eventually. What do you think? Meanwhile, edit the Quagmire wiki with your questions, comments, and ideas.

Share if you liked it


  • I’m very interested in where it is going and would like to be informed on change.

    Unfortunately there does not seem to be any RSS feed available to watch changes to the project. Google Code is nice and fast but a little short on features :/

    It would be nice to setup that Google Group to receive commit notification if possible.

  • Any reason for not using our own Fedora Hosted Projects? Any suggestions on things that GG has that FH is lacking?

    (Lists have been suggested).

  • Francois-Denis: I will see what I can do.

    Michael: nope, no reason — I just didn’t think of it. Perhaps I will host my next project there 🙂

  • Hi Tom,

    Nice to see this going forward. I particularly like the name — ‘quagmire’ just epitomises the muddy sinking feeling most of us feel about build systems!

  • I’m delighted to see this making progress. I’ll probably try it out for Monotone in the near future. Unfortunately, your Makefile-fu is way over my head – a guide to the internals, even a sketch of one, would be much appreciated.

    Also I’d like to mention .po file generation and installation as one of the features that should be addressed sooner rather than later. It’s necessary for a lot of people, and the canned Makefiles and autoconf macros that come with xgettext are Drepper Quality Code, if you know what I mean? Thus good, trouble-free support for .po files could be a killer feature. Note that Monotone’s translators have been very clear that they do *not* want the .po files under version control to be automatically msgmerged every time the template changes — but that does need to happen for the built .gmo files. I don’t know if other projects’ translators are of the same opinion.

  • This is nice! Quick intro:
    Tom: I could not make _PACKAGES to work, but could not find a bug either … It just ignores _PACKAGES. Any ideas what could be wrong?

  • tom — the packages stuff is new, I will have to debug it. Also, I read your page… the short-term intent is that you would still do some checks in configure. It doesn’t really make sense to only use pkg-config, unfortunately. In the longer term we’d like to move checks into Quagmire itself.

    Zack — thanks for the note. I will look at that.

    Also I will try to get a real-ilfe example written.

  • tom: I was a bit short in my text. I don’t want to imply that configure should go away. It’s just the specific combination of automake and autoconf which gave me huge amounts of pain and countless “lost” hours in debugging time.

    We moved to gnu make with small ./configure-scripts. That works fine on most modern unixes. A project like quagmire is something I had in my mind for a long time. Also, instead of using a we use a which we include in the main Makefile. All the @variables@ on a heap are much more readable.

    (We tried scons, rake and cmake. cmake turned out to be ok. It generates makefiles as well. So make seems to be the common denominator which works really well).

  • tom — thanks for the response.

    BTW I want to find a way to fix the requirement of passing -I to make. Maybe we will have to patch GNU make. We could do it using configure but I am pretty reluctant to go that route.

  • tom: the -I can be dropped when the toplevel .mk file is in the right path:

    You could rename ‘’ to something more unique and put the rest in an extra directory.

  • Yeah — I was hoping not to have to install the quagmire stuff in /usr/whatever. There are open questions about how to distribute it, how to handle versioning (an area where I regularly made mistakes with automake), etc… I really need to set up that mailing list 🙂

  • Is quagmire dead? the mailing list is a nest of spam and the googlecode repo is dead since last year

  • I haven’t had any time to work on quagmire 🙁
    I’m afraid it is dormant at best.

Join the Discussion

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>