Giter Site home page Giter Site logo

Comments (4)

aaronmondal avatar aaronmondal commented on May 31, 2024 4

Looks to me like the rules_boost BUILD.bazel is actively maintained, but I'm not sure whether this covers all libraries: https://github.com/nelhage/rules_boost/blob/master/BUILD.boost. I do agree though that the custom boost_library rules seem rather unnecessary to me. I think it would be a bit nicer to have "raw" rules_cc.

If it helps, I also played around with overlaying boost a while ago. Boost has a CMake build file generator tool. That tool can be rather easily adjusted to output Bazel BUILD files instead. The nice thing is that this way the dependencies for libraries are autogenerated. I believe I had to manually fix some smaller issues with these autogenerated files, but most targets "just worked" out of the box.

A relatively low maintenance overhead way to handle boost in the BCR may be to http_archive-fetch the packaged stable releases from the boost homepage and apply an overlay to it that adds a BUILD.bazel file, similarly to the bazel overlay in the llvm-project. Or we could just add a build file as a BCR-side patch 😄

from bazel-central-registry.

fmeum avatar fmeum commented on May 31, 2024

Contributions in this area would be very welcome. https://github.com/nelhage/rules_boost appears to be a promising candidate for BCR inclusion.

from bazel-central-registry.

yl7890 avatar yl7890 commented on May 31, 2024

+1, but Boost is a very large repository and will likely need many maintainers. Some immediate questions:

  • Is it better to include boost directly? Or is it better to include nelhage/rules_boost?
  • If the former, is it better to have one monolithic boost repo? (e.g. boost/) or is it better to have many subrepos? (e.g. boost-accumulator, boost-any, etc...). Note that vcpkg seems to have both.
  • If the latter, it is likely that lots of time will need to be spent writing adapters, since nelhage/rules_boost introduces many customizations.

from bazel-central-registry.

zaucy avatar zaucy commented on May 31, 2024

In the past I did fork the individual boost repositories and add BUILD and WORKSPACE files to them. https://github.com/bazelboost. No MODULE files since I did this before bcr was available. What I did was have the individual repositories and a single repository that creates an alias similar to the boostorg repository. Example alias @boost//libs/mp11:mp11 -> @com_github_bazelboost_mp11//:mp11 (source: https://github.com/bazelboost/boost/blob/main/libs/mp11/BUILD.bazel)

However, they are woefully unmaintained. I do use them, but I would consider it more of an experiment.

from bazel-central-registry.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.