in reply to Re^4: makefile.mk is missing with Perl 5.34.0 distro.
in thread makefile.mk is missing with Perl 5.34.0 distro.

Thank you for the reply,

I have changed the makefile.patch file accordingly and changed the line numbers as per GNUmakefile, but not all 3 hunks are successful at a time.
Is there any specific format I need to follow to get all 3 hunks successful?

How can I get a new makefie.patch file for GNUmakefile?
Thank you.

  • Comment on Re^5: makefile.mk is missing with Perl 5.34.0 distro.

Replies are listed 'Best First'.
Re^6: makefile.mk is missing with Perl 5.34.0 distro.
by Corion (Patriarch) on Aug 25, 2021 at 18:26 UTC

    The traditional way of creating patch files is the diff program:

    1. You copy the old file to a backup filename (say, GNUmakefile.org)
    2. You edit the GNUmakefilke
    3. You create the patch file: diff -Naur GNUmakefile.org GNUmakefile >mypatch.path
Re^6: makefile.mk is missing with Perl 5.34.0 distro.
by syphilis (Archbishop) on Aug 26, 2021 at 01:08 UTC
    I have changed the makefile.patch file accordingly and changed the line numbers as per GNUmakefile, but not all 3 hunks are successful at a time

    When you follow Corion's instructions then, based on your original patch file, you should end up with something like:
    --- GNUmakefile_orig 2021-08-26 10:43:41 +1000 +++ GNUmakefile 2021-08-26 10:46:03 +1000 @@ -47,7 +47,7 @@ # newly built perl. # INST_DRV := c: -INST_TOP := $(INST_DRV)\perl +INST_TOP := $(INST_DRV)\perl_app\bin\Perl # # Uncomment if you want to build a 32-bit Perl using a 32-bit compile +r @@ -254,7 +254,7 @@ # For GCC builds this should be the directory containing the bin, inc +lude, # lib directories for your compiler. # -#CCHOME := C:\MinGW +#CCHOME := C:\msys64\mingw64 # # Additional compiler flags can be specified here. @@ -289,7 +289,7 @@ # set this to your email address (perl will guess a value from # your loginname and your hostname, which may not be right) # -#EMAIL := +#EMAIL := customer_support@xyz.com ## ## Build configuration ends.
    And that should be fine for as long as the GNUmakefile that ships with the perl source does not change.

    It's best to ensure that the final GNUmakefile contains unix line endings (not windows line endings) - otherwise a couple of the t/porting test files in the perl test suite will report failures.
    I would run dos2unix GNUmakefile before building perl, just to be sure.

    It's probably also important to make sure that the line endings of the GNUmakefile you're patching (which are initially unix style) matches the line endings of the patch file, otherwise the patch might not apply.
    Perhaps patch has a switch that will ignore differences in line endings (like diff's -w switch) ... I don't know.
    Otherwise, dos2unix and unix2dos are useful friends to have.

    Cheers,
    Rob