-
-
Notifications
You must be signed in to change notification settings - Fork 424
The DRuntime makefiles changed to copy core.* D files as DI files. #218
Conversation
Looks good to me. |
I have a waiting commit that will move thread.di to import/core and updates the makefiles accordingly, however, I need Zor's threading pulls merged before this can happen. Requires: #214 |
|
||
copy: $(COPY) | ||
|
||
$(IMPDIR)/core/%.di : src/core/%.di |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The rule is redundant then?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see what you are saying, I can remove the redundancy.
What's the reason for dropping headers? |
The reasons are threefold. First, many of the D files are just interfaces for the CRT anyways. Second, because the pull that depends on this one will significantly change how DI files are generated and will strip out all function implementations that are not auto or template functions; which has the potential to destroy the semantics of some of the D files. Also Phobos does some CTFE into the DRuntime that is broken by the DI generation changes. This change protects those semantics. Third, many in the community feel that this is a better way of handling these files anyways as DI generation was never guaranteed by Walter to continue to function in it's present state, which is a rather broken file copy mechanism. |
Please reference this thread for the pertinent conversations: http://forum.dlang.org/thread/op.weboiazv707hn8@invictus.skynet.com |
$(IMPDIR)/core/%.di : src/core/%.di | ||
cp $< $@ | ||
|
||
$(IMPDIR)/core/%.di : src/core/%.d |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's leave the file extension unchanged.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So: $(IMPDIR)/core/%.d : src/core/%.d ? Should work.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, but you would also need to change the extensions for the COPY targets.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's done. I also update the rm/del commands as well.
Oops... this one was left long enough that it can't be merged. |
How so? It passes the autotester and there is no beta yet ... As for it's effects, all it does is shuffle files around to make sure that CTFE continues to work in regards to DI generation, it doesn't change anything semantically. |
I should have said that it can't be automatically merged any longer. I don't know why. |
Ahh, i'll take a look at the recent merges to see what happened, I know that some of alexrp's stuff would cause a conflict with this one. Please expect a commit shortly, after I've tracked down the problem. This needs to get merged ASAP to clear the way for the DI patch. |
Ok, rebased and merged, it should pull in correctly now. |
Is there anything preventing this from being merged? |
Can you rebase the pull request? GitHub is complaining that it can't be automatically merged. Sorry for the delay. I'll merge after it's updated. |
…py files as .d instead of .di.
Rebased again. It needs to be rebased every time someone changes thread.di because this pull moves that file from src\core to import\core. |
Sorry about that, clicked the wrong comment button. |
FreeBSD 32 is listed as failing in the pull tester, but the detail suggests that the connection just dropped, not that there was an actual test error. I'm going to go ahead and merge. |
The DRuntime makefiles changed to copy core.* D files as DI files.
That's odd, might be a configuration problem on that tester, it's never failed FreeBSD32 before. |
The DRuntime makefiles will now copy all D modules in core.* instead of running DI generation on them, EXCEPT for core.sync.*
Required by: dlang/dmd#945