/usr/share/perl-cross-debian/patches/5.14.2/cross-Makefile.diff is in perl-cross-debian 0.0.5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | --- a/Makefile.SH
+++ b/Makefile.SH
@@ -291,10 +291,12 @@
OBJ_EXT = $_o
PATH_SEP = $p_
+ifeq (,\$(CROSS_PERL))
# Macros to invoke a copy of miniperl during the build. Targets which
# are built using these macros should depend on \$(MINIPERL_EXE)
MINIPERL_EXE = miniperl\$(EXE_EXT)
MINIPERL = \$(LDLIBPTH) \$(RUN) ./miniperl\$(EXE_EXT) -Ilib
+HOST_MINIPERL = $(MINIPERL_EXE)
# Macros to invoke a copy of our fully operational perl during the build.
PERL_EXE = perl\$(EXE_EXT)
@@ -303,6 +305,23 @@
# Macros to run our tests
RUN_TESTS = \$(LDLIBPTH) ./runtests
+else # CROSS_PERL
+
+# Macros to invoke a copy of miniperl during the build. Targets which
+# are built using these macros should depend on \$(MINIPERL_EXE)
+MINIPERL_EXE = miniperl\$(EXE_EXT)
+MINIPERL = \$(CROSS_PERL)
+HOST_MINIPERL = \$(CROSS_PERL)
+
+# Macros to invoke a copy of our fully operational perl during the build.
+PERL_EXE = perl\$(EXE_EXT)
+RUN_PERL = \$(CROSS_PERL)
+
+# Macros to run our tests
+RUN_TESTS = echo "Not running tests"
+
+endif # CROSS_PERL
+
dynamic_ext = $dynamic_list
dynamic_ext_re = $dynamic_ext_re
static_ext = $static_list
@@ -533,6 +552,9 @@
@echo " ";
@echo " Everything is up to date. Type '$(MAKE) test' to run test suite."
+# Cross building requires a separate target to allow manipulation of the build tree
+extensions: $(dynamic_ext) $(nonxs_ext)
+
.PHONY: all translators utilities
# Both git_version.h and lib/Config_git.pl are built
@@ -616,6 +638,9 @@
globals$(OBJ_EXT): uudmap.h bitcount.h
+ifeq (,$(CROSS_PERL))
+# If we're cross-building, we should have uudmap.h and bitcount.h
+# provided already
uudmap.h: bitcount.h
bitcount.h: generate_uudmap$(HOST_EXE_EXT)
@@ -623,6 +648,7 @@
generate_uudmap$(HOST_EXE_EXT): generate_uudmap$(OBJ_EXT)
$(CC) -o generate_uudmap$(EXE_EXT) $(LDFLAGS) generate_uudmap$(OBJ_EXT) $(libs)
+endif
miniperlmain$(OBJ_EXT): miniperlmain.c patchlevel.h
$(CCCMD) $(PLDLFLAGS) $*.c
@@ -795,18 +821,30 @@
aix*|beos*)
$spitshell >>$Makefile <<'!NO!SUBS!'
$(MINIPERL_EXE): $& miniperlmain$(OBJ_EXT) $(mini_obj) opmini$(OBJ_EXT) perlmini$(OBJ_EXT)
+ifeq (,$(CROSS_PERL))
$(CC) -o $(MINIPERL_EXE) $(CLDFLAGS) \
$(mini_obj) \
miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs)
$(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
+else
+ -rm $(MINIPERL_EXE)
+ ln -s $(HOST_MINIPERL) $(MINIPERL_EXE)
+endif
+
!NO!SUBS!
;;
next4*)
$spitshell >>$Makefile <<'!NO!SUBS!'
$(MINIPERL_EXE): $& miniperlmain$(OBJ_EXT) $(mini_obj) perlmini$(OBJ_EXT) opmini$(OBJ_EXT)
+ifeq (,$(CROSS_PERL))
$(CC) -o $(MINIPERL_EXE) $(mini_obj) \
miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs)
$(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
+else
+ -rm $(MINIPERL_EXE)
+ ln -s $(HOST_MINIPERL) $(MINIPERL_EXE)
+endif
+
!NO!SUBS!
;;
darwin*)
@@ -825,20 +863,32 @@
$spitshell >>$Makefile <<'!NO!SUBS!'
$(MINIPERL_EXE): $& miniperlmain$(OBJ_EXT) $(mini_obj) opmini$(OBJ_EXT) perlmini$(OBJ_EXT)
-@rm -f miniperl.xok
+ifeq (,$(CROSS_PERL))
$(CC) $(CLDFLAGS) $(NAMESPACEFLAGS) -o $(MINIPERL_EXE) \
$(mini_obj) \
miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs)
$(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
+else
+ -rm $(MINIPERL_EXE)
+ ln -s $(HOST_MINIPERL) $(MINIPERL_EXE)
+endif
+
!NO!SUBS!
;;
*)
$spitshell >>$Makefile <<'!NO!SUBS!'
$(MINIPERL_EXE): $& miniperlmain$(OBJ_EXT) $(mini_obj) opmini$(OBJ_EXT) perlmini$(OBJ_EXT)
-@rm -f miniperl.xok
+ifeq (,$(CROSS_PERL))
$(LDLIBPTH) $(CC) $(CLDFLAGS) -o $(MINIPERL_EXE) \
$(mini_obj) \
miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs)
$(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
+else
+ -rm $(MINIPERL_EXE)
+ ln -s $(HOST_MINIPERL) $(MINIPERL_EXE)
+endif
+
!NO!SUBS!
;;
esac
|