develooper Front page | perl.perl5.porters | Postings from January 2021

RFC: remove Makefile.mk

Thread Next
From:
Tomasz Konojacki
Date:
January 21, 2021 13:55
Subject:
RFC: remove Makefile.mk
Message ID:
20210121145508.F709.5C4F47F8@xenu.pl
Our Windows build system currently has three Makefiles:

- Makefile - for nmake and Visual C++
- GNUMakefile - for gmake and MinGW or Visual C++
- Makefile.mk - for dmake and MinGW or Visual C++

Visual C++ ships with nmake and MinGW ships with gmake. dmake needs to
be obtained separately.

GNUMakefile is much newer than the rest, it was introduced in Perl 5.24.
It was created by kmx, who is the current Strawberry Perl maintainer,
with an intention of replacing dmake with gmake in Strawberry Perl. The
transition took place in their 5.26.0 release. At some point, ActivePerl
has switched to gmake too. That means no major Perl distribution is
currently using dmake.

There is nothing you can do with Makefile.mk that you can't do with
GNUMakefile. Their uses completely overlap. I'm not aware of any valid
reasons to prefer Makefile.mk. To be fair, shortly after GNUMakefile
introduction, not all CPAN distributions were compatibile with gmake,
but those issues are (almost?) completely resolved now.

The reason why I want to remove Makefile.mk is to make maintenance of
the Windows port easier. Almost every change to any of the three
Makefiles has to be replicated in the other two. This is a significant
maintenance burden, especially when those changes are more complicated.
In case of Makefile.mk it is hard to justify the effort considering how
redundant it is.

My proposal is to remove Makefile.mk immediately without a deprecation
cycle.

Any comments are welcome. Is anyone on the list still using dmake? If so,
why?

Tomasz

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About