Skip to content

Set hard-coded src/dmd executables to generated/ (v2)#5

Merged
braddr merged 1 commit intobraddr:masterfrom
wilzbach:remove-src-dmd2
Dec 13, 2017
Merged

Set hard-coded src/dmd executables to generated/ (v2)#5
braddr merged 1 commit intobraddr:masterfrom
wilzbach:remove-src-dmd2

Conversation

@wilzbach
Copy link
Contributor

@braddr
Copy link
Owner

braddr commented Dec 5, 2017

using the other version of this pull request.

@braddr braddr closed this Dec 5, 2017
@braddr braddr reopened this Dec 5, 2017
@braddr
Copy link
Owner

braddr commented Dec 5, 2017

Sigh, the phobos and druntime changes to setup the DMD are all buggy in the face of cross builds, which is about half the configurations. The brokenness is hidden by the specified on the command line DMD that was removed in the now-reverted pull #4 . This change is a little better in that it works and points to the right binary off in the generated source tree, but it's not a good plan in that it papers over the bug.

Thoughts?

@wilzbach
Copy link
Contributor Author

wilzbach commented Dec 5, 2017

Sigh, the phobos and druntime changes to setup the DMD are all buggy in the face of cross builds, which is about half the configurations. The brokenness is hidden by the specified on the command line DMD that was removed in the now-reverted pull #4 . This change is a little better in that it works and points to the right binary off in the generated source tree, but it's not a good plan in that it papers over the bug.

I have tried several workaround before, e.g.

    ifneq (,$(wildcard $G/dmd))
      HOST_DMD:=$G/dmd
    # Fallback for cross-compilation builds (auto-tester)
    else ifneq (,$(wildcard $(GENERATED)/$(OS)/$(BUILD)/64/dmd))
      HOST_DMD:=$(GENERATED)/$(OS)/$(BUILD)/64/dmd
    else ifneq (,$(wildcard $(GENERATED)/$(OS)/$(BUILD)/32/dmd))
      HOST_DMD:=$(GENERATED)/$(OS)/$(BUILD)/32/dmd

(dlang/dmd#6767)

or:

ifeq (,$(wildcard ../generated/$(OS)/$(BUILD)/64/dmd))
REAL_MODEL=32
else
REAL_MODEL=64
endif
export DMD=../generated/$(OS)/$(BUILD)/$(REAL_MODEL)/dmd

(dlang/dmd#6870)

They both suck, but I guess using the Bash trick should work:

ls -1 ../dmd/generated/$(OS)/release/*/dmd$EXE

Though it's far from ideal.

Thoughts?

We go with this one then? I would really love to finish the ddmd -> dmd transition and in the meantime, I look into this?
Could it be related to the fact that in build_dmd you set MODEL=$COMPILER_MODEL and everywhere else it's MODEL=$OUTPUT_MODEL?

@wilzbach
Copy link
Contributor Author

Alrighty, as I want to finish the ddmd -> dmd transition, would you be so kind to let me know how you prefer to move on with this? Thanks!

@braddr braddr merged commit ed55716 into braddr:master Dec 13, 2017
@braddr
Copy link
Owner

braddr commented Dec 13, 2017

I've updated a couple machines with these changes. Assuming they survive without problems I'll finish deploying to the fleet tomorrow or thursday.

@wilzbach wilzbach deleted the remove-src-dmd2 branch December 13, 2017 04:46
@wilzbach
Copy link
Contributor Author

I've updated a couple machines with these changes.

Awesome. Thanks a lot! Really appreciated!

@wilzbach
Copy link
Contributor Author

FYI:

Machine which has the deployed changes:

https://auto-tester.puremagic.com/show-run.ghtml?projectid=1&runid=2942246&dataid=20817574&isPull=true (ddmd -> dmd: everything passing)

Machine was hasn't the deployed changes yet:

https://auto-tester.puremagic.com/show-run.ghtml?projectid=1&runid=2942247&isPull=true (expected failure when trying to build druntime)

@braddr
Copy link
Owner

braddr commented Dec 14, 2017

Changes are deployed to most machines. The ones left I can't access remotely, so will be at least another day before they're updated.

@wilzbach
Copy link
Contributor Author

Changes are deployed to most machines. The ones left I can't access remotely, so will be at least another day before they're updated.

Awesome. Looks already really good:

image

@braddr
Copy link
Owner

braddr commented Dec 15, 2017

All the machines are updated now.

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