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

Fix parallel build. #93

Merged
merged 1 commit into from
Jan 3, 2021
Merged

Conversation

silene
Copy link
Contributor

@silene silene commented Nov 12, 2020

When running make -j, the build fails because there are no rules to build .cmti files. (They are byproducts of .cmi files.)

It also fails because it invokes ocamlmklib twice for generating both zarith.cmxa and zarith.a, thus corrupting files.

Thus, instead of depending on the whole content of TOINSTALL, the all rule now depends only on a subset large enough to trigger all the rules.

The downside is that one can no longer type make zarith.a. Instead, one has to type make zarith.cmxa (or just make).

When running "make -j", the build fails because there are no rules to
build .cmti files. (They are byproducts of .cmi files.)

It also fails because it invokes ocamlmklib twice for generating both
zarith.cmxa and zarith.a, thus corrupting files.

Thus, instead of depending on the whole content of TOINSTALL, the "all"
rule now depends only on a subset large enough to trigger all the rules.

The downside is that one can no longer type "make zarith.a". Instead, one
has to type "make zarith.cmxa" (or just "make").
Copy link
Contributor

@xavierleroy xavierleroy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, esp. the distinction between TOBUILD and TOINSTALL.

I'll wait a few days before merging to see if opinions differ.

@xavierleroy xavierleroy merged commit bee604e into ocaml:master Jan 3, 2021
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.

2 participants