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

Support all x3 D compilers (dmd,gdc,ldc) as individual SdkTypes #882

Draft
wants to merge 6 commits into
base: develop
Choose a base branch
from

Conversation

SingingBush
Copy link
Member

No description provided.

@rikkimax
Copy link
Contributor

I'm not at all sure that keeping with the SDK is the right path to take. But it's better than nothing for those without dmd.

I think the approach CLion took is the right path, but that is quite intrusive to implement. At least it'll help make the plugin more portable.

@SingingBush SingingBush force-pushed the feature/multiple_compiler_support branch from 3512171 to f932d46 Compare July 15, 2023 10:33
@SingingBush
Copy link
Member Author

I'm not at all sure that keeping with the SDK is the right path to take. But it's better than nothing for those without dmd.

I think the approach CLion took is the right path, but that is quite intrusive to implement. At least it'll help make the plugin more portable.

Initially CLion did have SDK so for a while supporting the IDE was looking promising. Then it got removed making toolchains the only supported way of getting a compiler setup, leaving the work so far on supporting CLion pretty dead. I don't mind too much which way Jetbrains go but would prefer for them to have base classes & interfaces that are common to all IDE's, not having a common base is very frustrating. I don't believe the toolchain approach is supported by Intellij IDEA. Also, it doesn't have so much in the way of documentation and examples. For now the focus should be on getting features and reliability in Intellij IDEA (IC and IU).

I'm intermittently working on this branch as and when I get time but I think it'll be a while before it's ready. Once the PR is ready it would be good to get some help with testing. There's still a lot of functionality that can only be tested effectively by people building & running locally.

// new File("/usr/share/dmd/html/d"), // Fedora (official .rpm)
// new File("/usr/local/share/dmd/html/d"), // Ubuntu
// new File("/usr/share/d/html/d") // Arch Linux (dmd-docs package is not consistent with dlang & dlang-dmd package paths)
// };
// the path to phobos should contain "etc.c.*" and "std.*"
DEFAULT_PHOBOS_PATHS = new File[] {
Copy link
Contributor

Choose a reason for hiding this comment

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

They need to be updated per SDK type to point to the phobos and druntime provided by the compiler.

Copy link
Member Author

Choose a reason for hiding this comment

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

that's in progress at minute. Was hoping to get done at weekend but the changes for release took longer than expected. It'll be a while before this pr is ready.

@SingingBush SingingBush force-pushed the feature/multiple_compiler_support branch 3 times, most recently from fa78187 to 0b3220c Compare December 11, 2023 14:07
x3 DlangSdkTypes (dmd,gdc,ldc): moved some dmd specific code

x3 DlangSdkTypes (dmd,gdc,ldc): added comments for LDC

x3 DlangSdkTypes (dmd,gdc,ldc): move SetupStatus to kt
x3 DlangSdkTypes (dmd,gdc,ldc): fix Inherited platform declarations clash

x3 DlangSdkTypes (dmd,gdc,ldc): fix a test

x3 DlangSdkTypes (dmd,gdc,ldc): parse version output correctly

x3 DlangSdkTypes (dmd,gdc,ldc): handle LDC Windows install path

x3 DlangSdkTypes (dmd,gdc,ldc): handle LDC Windows phobos & druntime paths
@SingingBush SingingBush force-pushed the feature/multiple_compiler_support branch from 278d11f to ff4d8e7 Compare December 18, 2023 16:49
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

3 participants