< https://github.com/jmcorgan/gnuradio/tree/fix-parallel-build >

The goal of this branch is to fix the parallel build issue that's been plaguing 
GNU Radio's CMake build system pretty much since day 1.  The shortest 
explanation of this fix is that CMake has a bug in it when handling multiple 
generated files in a single command.  This bug has been known for years in 
various versions, and is on the back burner for them to fix as time allows 
someday.  My fix is to explicitly spell out to CMake the dependencies and 
commands to execute in order, rather than trusting CMake to do it itself.

The issue manifests itself in the following way: After performing a "make -j#" 
to completion with #>1, doing another "make" results in a small number of 
SWIG-generated .cxx files being recompiled.  This issue happens more reliably 
with higher "#"s -- about 25% of the time when using "-j8" on my Mac OS X box.

I encourage anybody interested to check out this branch and give it a test 
using "make -j" or "make -j8" or whatever works on your system with #>1.  In 
testing thus far, this change actually allows for -more- parallelism in builds 
than without it; and, it has thus far functioned flawlessly using CMake 2.6, 
2.8, and 3.0.

If you do testing, feel free to reply to the group or email me directly with 
your successes or failures.  Try touching headers (.h and .i) and sources to 
see if rebuilding happens correctly.

Thanks in advance for any feedback on this change. - MLD
--
Michael Dickens, OSX Programmer
Ettus Research Technical Support
Email: supp...@ettus.com
Web: http://www.ettus.com


_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to