Issue #15645: Ensure 2to3 grammar pickles are properly installed.
(Patch by Ronald Oussoren)
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 45ca774..484ae01 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -879,6 +879,8 @@
 		lib-old \
 		curses pydoc_data $(MACHDEPS)
 libinstall:	build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
+	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+		./$(BUILDPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
 	@for i in $(SCRIPTDIR) $(LIBDEST); \
 	do \
 		if test ! -d $(DESTDIR)$$i; then \
@@ -956,8 +958,6 @@
 		./$(BUILDPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
 		-d $(LIBDEST)/site-packages -f \
 		-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
-	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-		./$(BUILDPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
 
 # Create the PLATDIR source directory, if one wasn't distributed..
 $(srcdir)/Lib/$(PLATDIR):
@@ -1195,7 +1195,7 @@
 	find . -name '*.so.[0-9]*.[0-9]*' -exec rm -f {} ';'
 	find build -name 'fficonfig.h' -exec rm -f {} ';' || true
 	find build -name 'fficonfig.py' -exec rm -f {} ';' || true
-	-rm -f Lib/lib2to3/*Grammar*.pickle
+	-rm -f $(srcdir)/Lib/lib2to3/*Grammar*.pickle
 
 profile-removal:
 	find . -name '*.gc??' -exec rm -f {} ';'
diff --git a/Misc/NEWS b/Misc/NEWS
index 895f31f..964d095 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -353,6 +353,8 @@
 Build
 -----
 
+- Issue #15645: Ensure 2to3 grammar pickles are properly installed.
+
 - Issue #15560: Fix building _sqlite3 extension on OS X with an SDK.
 
 - Issue #8847: Disable COMDAT folding in Windows PGO builds.