Skip to content

Cleaning up build system, enabling subdir-objects, getting rid of usrbin_execdir

Hi!

I recently worked on a build of procps-ng and spent some time figuring out how usrbin_execdir was supposed to work and a bit more time figuring out how to work around it... I realized it doesn't make much sense (particularly these days) and it would be best to get rid of it. So I started working on getting rid of it.

As I started, I realized that there were some problems with the build system already and ended up fixing those before I managed to actually tackle usrbin_execdir :-)

The good news is that I got to merge many of the Makefile.ams into the toplevel one (should improve the build with fewer recursive makes and cleaner dependencies), managed to enable the subdir-objects automake option (automake 1.14 was warning it was going to become the default anyways, and right now procps-ng tree was broken with this option) and I also fixed make distcheck and made sure it kept working throughout the patchset.

The result is 7 patches, the first 6 doing cleanup and the 7th finally getting rid of usrbin_execdir.

Please make sure you review patch by patch! The final diff of everything together might prove too challenging.

Patch 5 (build-sys: merge automake subdirs into toplevel) is the largest one of the series. I wanted to break it down into multiple patches merging the directories separately but it turns out they had dependencies between them so I had to merge them all at once to prevent breaking the build... (BTW, the dependencies mean it's possible that make -j didn't work reliably before... but after this patch it's probably going to start working much better.)

Let me know if you have any comments about this patch set.

I might have some follow ups, further clean up to the build system, but I'd like to see if we'll get this one merged and have some feedback on it before I move further.

Cheers! Filipe

Merge request reports