Posts tagged as tup

Linux Namespacing Pitfalls

2015-10-12 by Mike Shal, tagged as linux, mozilla, namespace, tup

Linux namespaces are a powerful feature for running processes with various levels of containerization. While working on adding them to the tup build system, I stumbled through some problems along the way. For a rough primer on getting started with user and filesystem namespaces, along with how they're used for dependency detection in tup, read on!

Read more »

Clobber Builds Part 4 - Fixing Other Clobber Causes

2015-03-13 by Mike Shal, tagged as clobber, make, mozilla, tup

In Clobber Builds Part 3, we looked at how changing the build configuration can result in broken builds, even if dependencies are perfect. Here we'll look into addressing these issues in the build system.

Read more »

Combining Nodes in Graphviz

2015-01-22 by Mike Shal, tagged as graphing, graphviz, mozilla, tup

Graphviz is a handy tool for making graphs. The "dot" command in particular is great for drawing dependency graphs, though for many real-world scenarios there are simply too many nodes to generate a useful graph. In this post, we'll look at one strategy for automatically combining similar nodes so that a more understandable dependency structure is revealed.

Read more »

Build System Partial Updates

2014-09-10 by Mike Shal, tagged as make, mozilla, tup

There is a fairly long dev-platform thread about partial updates - specifically, running './mach build <subdirectory>'. In this post, we'll compare how this is handled in make-based systems, as well as in tup.

Read more »

Clobber Builds Part 3 - Other Clobber Causes

2014-06-03 by Mike Shal, tagged as make, mozilla, tup

Part 3 in the clobber build series. Today we'll examine some of the reasons that even a build system with perfect dependencies would still need clobbering.

Read more »

Clobber Builds Part 2 - Fixing Missing Dependencies

2014-05-07 by Mike Shal, tagged as make, mozilla, tup

This is part 2 in the clobber build series. Here we'll look at how to fix the issues stemming from part 1 -- missing dependencies -- once and for all.

Read more »

Clobber Builds Part 1 - Missing Dependencies

2014-03-19 by Mike Shal, tagged as make, mozilla, tup

In this series, we're going to look at clobber builds - what they are, why they're needed, and how we can make them a thing of the past. This is part 1 of the series.

Read more »

Getting data out of the Mozilla build configuration

2013-10-16 by Mike Shal, tagged as mozilla, tup

Last time when looking at building mozilla-central with tup, we ran into some issues with converting the various m-c data formats into tup rules. In particular, the time to parse all the data is way slower than necessary, and the feature used to parse the data is not yet supported on Windows. In this post we'll look at an alternate method, and compare the pros & cons. Then we'll look into what is needed to get tup in the m-c tree and supported as an official build backend.

Read more »

Building mozilla-central with tup

2013-08-07 by Mike Shal, tagged as mozilla, tup

Building mozilla-central with make is slow, and in many cases broken (requiring a clobber build). Recently, there was a blog post discussing how to build parts of mozilla-central with Ninja. Ninja is much faster than make, but in many cases it is still broken (requiring clobber builds). In this post, we'll look at building mozilla-central with tup, which is even faster still, and does not clobber. This is done using the same build configuration that make uses, but without using make at all.

Read more »

Linking libxul with tup and FUSE

2013-04-04 by Mike Shal, tagged as fuse, mozilla, tup

A significant milestone has been reached with using tup to build mozilla-central - libxul.so links! (And when copied into a make-built tree, actually runs :). However, some performance problems are quickly evident. This post looks into the cause, and works out some improvements.

Read more »

comments powered by Disqus