Skip to content

Remove dependency of dmd on .clone #1049

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

Closed
wants to merge 1 commit into from
Closed

Conversation

andralex
Copy link
Member

@andralex andralex commented Aug 3, 2015

cc @MartinNowak

Sadly the dependency of dmd on .clone does not work out.

Consider a user who wants to build dlang.org and has a preexisting dmd created by other means (i.e. there's no ../dmd/.cloned directory) and built properly. Then, trying to make dlang.org will follow an unpleasant sequence of events:

  1. There's no ../dmd/.cloned so it will execute the rule for it. The rule uses touch to create a ../dmd/.cloned that is NEWER than the prebuilt ../dmd/src/dmd.
  2. Following that, the rule attempts to build ../dmd/src/dmd. The rule will issue make in dmd's directory, which in turn requires that either dmd had been installed so it's usable for bootstrapping, or AUTO_BOOTSTRAP=1 is used in the command line (which isn't).

It's nice to have the build of dlang.org attempt to build the entire world of dependencies needed for it to work, but having it require boostrapping paraphernalia etc. seems excessive, particularly when ../dmd/src/dmd is present and functional. So this PR removes the dependency on .cloned. The build will be attempted only if ../dmd/src/dmd is actually absent.

@andralex
Copy link
Member Author

andralex commented Aug 3, 2015

Whaaa? No idea why those spurious changes.

@andralex
Copy link
Member Author

andralex commented Aug 3, 2015

bleh I need to redo all that

@andralex andralex closed this Aug 3, 2015
@MartinNowak
Copy link
Member

It's nice to have the build of dlang.org attempt to build the entire world of dependencies needed for it to work, but having it require boostrapping paraphernalia etc. seems excessive, particularly when ../dmd/src/dmd is present and functional.

I absolutely agree, have been struggling with the fact that dlang.org comes with it's own build system for quite a while in the release scripts.

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