Skip to content

Fix win32.mak to match posix hierarchy#6873

Merged
dlang-bot merged 1 commit intodlang:masterfrom
RazvanN7:WindowsMakefile
Jun 8, 2017
Merged

Fix win32.mak to match posix hierarchy#6873
dlang-bot merged 1 commit intodlang:masterfrom
RazvanN7:WindowsMakefile

Conversation

@RazvanN7
Copy link
Contributor

@RazvanN7 RazvanN7 commented Jun 8, 2017

Currently BUILD is hardcoded to release. Since the windows make tool is pretty dumb, it should suffice for now

@RazvanN7
Copy link
Contributor Author

RazvanN7 commented Jun 8, 2017

ping @braddr @andralex @wilzbach

@RazvanN7 RazvanN7 force-pushed the WindowsMakefile branch 2 times, most recently from dc082e8 to 60a34c2 Compare June 8, 2017 12:21
@andralex
Copy link
Member

andralex commented Jun 8, 2017

Cool, now please follow up with updates to the testing scripts.

@mathias-lang-sociomantic
Copy link
Contributor

Will that pose any problem for Digger ? @CyberShadow ?

@CyberShadow
Copy link
Member

Will that pose any problem for Digger ?

Not as long as it creates a src\dmd.exe as before.

@dlang-bot dlang-bot merged commit b67fd24 into dlang:master Jun 8, 2017
@RazvanN7
Copy link
Contributor Author

RazvanN7 commented Jun 8, 2017

@CyberShadow We should update digger to use the executable in generated/ because subject of the follow up PR is going to be to delete the executable in src

@CyberShadow
Copy link
Member

No problem, ping me when you make that PR

@wilzbach
Copy link
Contributor

Since the windows make tool is pretty dumb

Yeah about that ... how feasible would it be to replace DigitalMars make with GNUMake on Windows? It would at least save us the huge pain of maintaining different files for the same thing...
AFAICT is DigitalMars​ make part of the Windows release? Could it be swapped or are there licensing problems with bundling GNUMake?
I don't use Windows, but it seems that they offer prebuilt releases:

http://gnuwin32.sourceforge.net/packages.html

In the worst case we could use the Windows Makefiles & DigitalMars make to bootstrap GNUMake ...

@CyberShadow
Copy link
Member

Yeah about that ... how feasible would it be to replace DigitalMars make with GNUMake on Windows? It would at least save us the huge pain of maintaining different files for the same thing...

I looked into that a while ago, for dlang.org. Essentially it would put us halfway there - GNU make is only half useful without the other GNU utilities, such as cp, rm etc. Without those, we would likely still need to maintain separate makefiles, or use lots of careful macros to use each platform's native OS/filesystem commands.

@CyberShadow
Copy link
Member

This pull request introduced a regression:
https://issues.dlang.org/show_bug.cgi?id=17522

@wilzbach
Copy link
Contributor

wilzbach commented Jul 1, 2017

GNU make is only half useful without the other GNU utilities, such as cp, rm etc. Without those, we would likely still need to maintain separate makefiles, or use lots of careful macros to use each platform's native OS/filesystem commands.

Hmm couldn't we download the coreutils on windows too?
Heck, as we only need a specific subsets, we might even be able to implement them in D, e.g. for rm:

void main(string[] args)
{
    import std.file, std.getopt;
    bool recursive;
    auto config = getopt(args, "-r", recursive);
    foreach (arg; arg[1 .. $])
    {
        if (recursive) arg.rmdirRecurse;
        else arg.remove;
    }
}

@CyberShadow
Copy link
Member

CyberShadow commented Jul 1, 2017

Hmm couldn't we download the coreutils on windows too?

Requiring a (any) POSIX toolchain on Windows (Cygwin, GnuWin32, MinGW, msys2, etc.) is one possibility of going forward and away from win32/64.mak.

Heck, as we only need a specific subsets, we might even be able to implement them in D

Yes. One idea is to implement them directly in DigitalMars Make (as built-ins).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants