Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Eliminate .bzl files, support arbitrary target plats, and lightly refactor for other build tools #6

Merged
merged 23 commits into from
Sep 13, 2017

Conversation

acmcarther
Copy link
Owner

@acmcarther acmcarther commented Aug 3, 2017

I'm looking to make good on the idea of special "designated platforms", since I think its a viable strategy. This opens the door to a one size fits all BUILD file generation process, whose end user customization is facilitated by Buildozer.

This change implies that bzl files will be no more (as they won't be useful).

It adds a "--targets" flag to cargo-raze that synthesizes build rules for each target platform with the exact required dependencies.

It will also see the removal of the bazel rules for cargo-raze, as there will no longer be an intermediate process -- cargo-raze will deliver ready-to-use BUILD files.

@acmcarther
Copy link
Owner Author

An example invocation:

cargo-raze raze //hello_cargo_library --targets="x86_64-unknown-linux-gnu,i686-pc-windows-msvc" 

@lilianmoraru
Copy link

That's some awesome work!
I love the decision to use a template engine, especially a good one(IMO).

I was not planning to say this but since I am looking at the template, I see one issue.
While I personally don't care for Windows development, cmd is not very cross-platformy(not a word, I know 😄 ).

@acmcarther
Copy link
Owner Author

I appreciate the comment (and the suggestion regd genrule.cmd):

I'm still doing a lot of investigative work here to try to get to somewhere where common crates are buildable. Unfortunately, that means basically everything but the kitchen sink, since most everything depends on openssl... which is a very painful dep to automatically handle.

I'll try to keep more public updates, and I'm currently working on more documentation around design decisions (and alternatives considered). Thanks again for looking!

@acmcarther acmcarther changed the title WIP: Eliminate .bzl files, support arbitrary platforms Eliminate .bzl files, support arbitrary target plats, and lightly refactor for other build tools Sep 13, 2017
@acmcarther acmcarther merged commit 1a27596 into master Sep 13, 2017
@acmcarther acmcarther deleted the acm-support-platforms branch September 13, 2017 03:23
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.

None yet

2 participants