patch 8.1.0474: directory where if_perl.c is written is inconsistent

Problem:    Directory where if_perl.c is written is inconsistent.
Solution:   use auto/if_perl.c for MS-Windows. (Ken Takata, closes #3540)
diff --git a/src/Make_bc5.mak b/src/Make_bc5.mak
index f0b9127..6725c6d 100644
--- a/src/Make_bc5.mak
+++ b/src/Make_bc5.mak
@@ -820,6 +820,8 @@
 !endif
 !ifdef PERL
 	-@del perl.lib
+	-@del if_perl.c
+	-@del auto\if_perl.c
 !endif
 !ifdef PYTHON
 	-@del python.lib
@@ -948,12 +950,12 @@
 $(OBJDIR)\if_lua.obj: if_lua.c lua.lib
 	$(CC) $(CCARG) $(CC1) $(CC2)$@ -pc if_lua.c
 
-$(OBJDIR)\if_perl.obj: if_perl.c perl.lib
-	$(CC) $(CCARG) $(CC1) $(CC2)$@ -pc if_perl.c
+$(OBJDIR)\if_perl.obj: auto/if_perl.c perl.lib
+	$(CC) $(CCARG) $(CC1) $(CC2)$@ -pc auto/if_perl.c
 
-if_perl.c: if_perl.xs typemap
+auto/if_perl.c: if_perl.xs typemap
 	$(PERL)\bin\perl.exe $(PERL)\lib\ExtUtils\xsubpp -prototypes -typemap \
-	    $(PERL)\lib\ExtUtils\typemap if_perl.xs > $@
+	    $(PERL)\lib\ExtUtils\typemap if_perl.xs -output $@
 
 $(OBJDIR)\if_python.obj: if_python.c if_py_both.h python.lib
 	$(CC) -I$(PYTHON)\include $(CCARG) $(CC1) $(CC2)$@ -pc if_python.c
diff --git a/src/Make_cyg_ming.mak b/src/Make_cyg_ming.mak
index f381951..65a1fbf 100644
--- a/src/Make_cyg_ming.mak
+++ b/src/Make_cyg_ming.mak
@@ -985,6 +985,7 @@
 	-$(DEL) pathdef.c
 ifdef PERL
 	-$(DEL) if_perl.c
+	-$(DEL) auto$(DIRSLASH)if_perl.c
 endif
 ifdef MZSCHEME
 	-$(DEL) mzscheme_base.c
@@ -1043,10 +1044,14 @@
 $(OUTDIR)/if_ole.o:	if_ole.cpp $(INCL) if_ole.h
 	$(CC) $(CFLAGS) $(CXXFLAGS) -c -o $(OUTDIR)/if_ole.o if_ole.cpp
 
-if_perl.c:		if_perl.xs typemap
+auto/if_perl.c:		if_perl.xs typemap
 	$(XSUBPP) -prototypes -typemap \
 	     $(PERLTYPEMAP) if_perl.xs -output $@
 
+$(OUTDIR)/if_perl.o:	auto/if_perl.c $(INCL)
+	$(CC) -c $(CFLAGS) auto/if_perl.c -o $(OUTDIR)/if_perl.o
+
+
 $(OUTDIR)/if_ruby.o:	if_ruby.c $(INCL)
 ifeq (16, $(RUBY))
 	$(CC) $(CFLAGS) -U_WIN32 -c -o $(OUTDIR)/if_ruby.o if_ruby.c
diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
index 1a3978c..89b1d16 100644
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -1286,6 +1286,7 @@
 	- if exist install.exe del install.exe
 	- if exist uninstal.exe del uninstal.exe
 	- if exist if_perl.c del if_perl.c
+	- if exist auto\if_perl.c del auto\if_perl.c
 	- if exist dimm.h del dimm.h
 	- if exist dimm_i.c del dimm_i.c
 	- if exist dimm.tlb del dimm.tlb
@@ -1424,12 +1425,12 @@
 $(OUTDIR)/if_lua.obj: $(OUTDIR) if_lua.c  $(INCL)
 	$(CC) $(CFLAGS_OUTDIR) $(LUA_INC) if_lua.c
 
-if_perl.c : if_perl.xs typemap
+auto/if_perl.c : if_perl.xs typemap
 	$(XSUBPP) -prototypes -typemap $(XSUBPP_TYPEMAP) \
-		-typemap typemap if_perl.xs -output if_perl.c
+		-typemap typemap if_perl.xs -output $@
 
-$(OUTDIR)/if_perl.obj: $(OUTDIR) if_perl.c  $(INCL)
-	$(CC) $(CFLAGS_OUTDIR) $(PERL_INC) if_perl.c
+$(OUTDIR)/if_perl.obj: $(OUTDIR) auto/if_perl.c  $(INCL)
+	$(CC) $(CFLAGS_OUTDIR) $(PERL_INC) auto/if_perl.c
 
 $(OUTDIR)/if_perlsfio.obj: $(OUTDIR) if_perlsfio.c  $(INCL)
 	$(CC) $(CFLAGS_OUTDIR) $(PERL_INC) if_perlsfio.c
diff --git a/src/version.c b/src/version.c
index 995adff..5190030 100644
--- a/src/version.c
+++ b/src/version.c
@@ -793,6 +793,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    474,
+/**/
     473,
 /**/
     472,