For what it's worth, I have already essentially made python an unofficial packaging requirement on macos.
Adam On Sun, Jun 30, 2019, 9:45 AM Seth Hillbrand <[email protected]> wrote: > Hi Devs- > > I'm stuck at a decision on this bug and would like some opinions from > others. > > The background is the GNU make is not intelligent about parallel builds > and doesn't merge generated targets. So we need to serialize the > dependencies but this breaks everytime we include the lexer header file > in a different object or use the generated DSO for more than one target. > Eventually, we have sufficient parallel processes that the header gets > generated twice. If this happens at the same time, the build breaks. > > The two (ok, three) options I see are as follows: > > 1) Build the header file into a target directory instead of the source > directory. Then everyone gets to build their own with no conflict. We > end up building lots and lots of header/lexer files. Developers won't > see the files in the usual location. > > 2) We build the files like bitmap pngs. That is, they are re-built by a > different CMAKE flag and their header/cpp files are checked into the > repository. When we add tags to the parser, we need to explicitly > regenerate the lexer files and check them in. > > 3) External scripting. We could utilize an external python script to > force one build at a time using lockfiles. This would add python as a > build dependency. We could alternatively use flock in a shell script > but I'm not sure that exists on all platforms. > > Does anyone have preference for which option we take? > > -Seth > > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : [email protected] > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp >
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

