Skip to content

Conversation

@marczych
Copy link
Owner

@marczych marczych commented Jan 1, 2017

I spent some time converting the project to use Bazel. I ran into some issues
that I couldn't fix and decided it would give the project a higher barrier to
entry so I ultimately decided to ditch it. I don't love Make but at least it's very
well known and works just about everywhere. It's also easy to tweak the settings
to work on any particular machine. I'm going to leave this pull open in case
somebody wants to continue working on it.

The issues:

  • Bazel isn't terribly mature so documentation is lacking and/or potentially
    out of date.
  • The most confusing part of Bazel is the toolchain. I realized that I have no idea
    what determines which compiler is used on a given machine. I can create a
    CROSSTOOL but that's a huge amount of effort and probably won't be cross platform
    anyway.
  • I couldn't get OpenMP to work which results in a huge performance hit.

This is a mega commit that converts the project over to be built by
Bazel. There isn't a terribly good reason to do this other than how it's
a build system that was made in the last 40 years.

This involved lots of BUILD file additions and updating header file
paths.

Things left to do still:

 - Cflags: `-O3 -Wall -fopenmp`
 - Update the README with Bazel instructions
I prefer the fully qualified forms.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant