[Openmp-dev] [PATCH] [Revisedx2] Initial cmake support

David Chisnall David.Chisnall at cl.cam.ac.uk
Mon Jun 2 10:33:49 PDT 2014


On 2 Jun 2014, at 18:23, Peyton, Jonathan L <jonathan.l.peyton at intel.com> wrote:

> Can you give a specific example?  I want this to be exactly what you all need and want.  So I want to be sure what you are talking about.

When I tried to compile on FreeBSD, I spent an hour fighting the build system before giving up.  I was very glad that Alp jumped through the required hoops, but was even more glad that the person doing the hoop-jumping was not me.  I'd like to see that the next person who tries to port the runtime to a new OS (Open/NetBSD, Haiku, whatever) doesn't have the same experience as me.  Once you've got it to build, it's easy to see what the OS-specific parts are and tweak them, but the maze of twisty recursive perl-shell-make invocations all alike is a huge pain.

To see how hard it is with your new system, try adding support for building on NetBSD (it doesn't matter whether the code actually compiles there) and see how many *different* places you need to touch.  This was alp's commit to bring up the initial FreeBSD port:

http://llvm.org/viewvc/llvm-project?view=revision&revision=202478

The files he needed to edit *just in the build system* were:

tools/common.inc

tools/freebsd.inc (and this one is a bit of an ugly hack - done correctly it would be factored out into a unix.inc that both linux.inc and freebsd.inc included)

lib/Platform.pm

lib/Uname.pm

src/makefile.mk

Having to modify the build system for a relatively small library in five different places is a significant barrier.  

David





More information about the Openmp-dev mailing list