Adapted for the move of Mac/Lib to Lib/plat-mac. Makefile.pre.in now
knows about plat-mac subdirectories, and configure adds a variable
EXTRAPLATDIR. These together take care of copying Lib/plat-mac to
the destination on darwin.

Adding plat-mac is still done with a .pth file which is only created when
you do a framework build. I'm not 100% happy with this, but fixing it
really needs a functional pythonw in non-framework builds, and I don't
think I can do that before 2.3a1 (but I'll try:-).
diff --git a/Mac/OSX/Mac.pth b/Mac/OSX/Mac.pth
index 6ab4acd..3268143 100644
--- a/Mac/OSX/Mac.pth
+++ b/Mac/OSX/Mac.pth
@@ -1,2 +1,2 @@
-../../../Mac/Lib
-../../../Mac/Lib/lib-scriptpackages
+../plat-mac
+../plat-mac/lib-scriptpackages
diff --git a/Mac/OSX/Makefile b/Mac/OSX/Makefile
index 2c1c488..41f4acd 100644
--- a/Mac/OSX/Makefile
+++ b/Mac/OSX/Makefile
@@ -135,27 +135,12 @@
 		--output $(PYTHONAPPSDIR)/BuildApplet.app \
 		$(srcdir)/Mac/scripts/BuildApplet.py
 		
-MACLIBDEST=$(prefix)/Mac/Lib
-MACLIBSRC=$(srcdir)/Mac/Lib
-MACLIBSUBDIRS= \
-	Carbon \
-	lib-scriptpackages \
-	lib-scriptpackages/_builtinSuites \
-	lib-scriptpackages/CodeWarrior \
-	lib-scriptpackages/Explorer \
-	lib-scriptpackages/Finder \
-	lib-scriptpackages/Netscape \
-	lib-scriptpackages/StdSuites \
-	lib-scriptpackages/Terminal \
-	mkcwproject \
-	mkcwproject/template \
-	mkcwproject/template-carbon \
-	mkcwproject/template-ppc
+MACLIBDEST=$(LIBDEST)/plat-mac
 MACTOOLSDEST=$(prefix)/Mac/Tools
 MACTOOLSSRC=$(srcdir)/Mac/Tools
 MACTOOLSSUBDIRS=IDE
 installmacsubtree:
-	@for i in $(MACLIBDEST) $(MACTOOLSDEST); \
+	@for i in $(MACTOOLSDEST); \
 	do \
 		if test ! -d $$i; then \
 			echo "Creating directory $$i"; \
@@ -163,60 +148,6 @@
 		else	true; \
 		fi; \
 	done
-	@for d in $(MACLIBSUBDIRS); \
-	do \
-		a=$(MACLIBSRC)/$$d; \
-		if test ! -d $$a; then continue; else true; fi; \
-		b=$(MACLIBDEST)/$$d; \
-		if test ! -d $$b; then \
-			echo "Creating directory $$b"; \
-			$(INSTALL) -d -m $(DIRMODE) $$b; \
-		else	true; \
-		fi; \
-	done
-	@for i in $(MACLIBSRC)/*.py; \
-	do \
-		if test -x $$i; then \
-			$(INSTALL_SCRIPT) $$i $(MACLIBDEST); \
-			echo $(INSTALL_SCRIPT) $$i $(MACLIBDEST); \
-		else \
-			$(INSTALL_DATA) $$i $(MACLIBDEST); \
-			echo $(INSTALL_DATA) $$i $(MACLIBDEST); \
-		fi; \
-	done
-	@for i in $(MACLIBSRC)/*.rsrc; \
-	do \
-		echo $(CPMAC) $$i $(MACLIBDEST) ; \
-		$(CPMAC) $$i $(MACLIBDEST) ; \
-	done
-	@for d in $(MACLIBSUBDIRS); \
-	do \
-		a=$(MACLIBSRC)/$$d; \
-		if test ! -d $$a; then continue; else true; fi; \
-		b=$(MACLIBDEST)/$$d; \
-		for i in $$a/*; \
-		do \
-			case $$i in \
-			*CVS) ;; \
-			*.py[co]) ;; \
-			*.orig) ;; \
-			*~) ;; \
-			*.rsrc) \
-				echo $(CPMAC) $$i $$b ; \
-				$(CPMAC) $$i $$b ; \
-				;; \
-			*) \
-				if test -d $$i; then continue; fi; \
-				if test -x $$i; then \
-				    echo $(INSTALL_SCRIPT) $$i $$b; \
-				    $(INSTALL_SCRIPT) $$i $$b; \
-				else \
-				    echo $(INSTALL_DATA) $$i $$b; \
-				    $(INSTALL_DATA) $$i $$b; \
-				fi;; \
-			esac; \
-		done; \
-	done
 	@for d in $(MACTOOLSSUBDIRS); \
 	do \
 		a=$(MACTOOLSSRC)/$$d; \
@@ -260,8 +191,8 @@
 	$(INSTALL_DATA) $(PTHFILE) $(LIBDEST)/site-packages/
 
 	$(PYTHON) $(CACHERSRC) -v $(MACLIBDEST) $(MACTOOLSDEST)
-	$(PYTHON) -Wi -tt $(compileall) -x badsyntax $(MACLIBDEST) $(MACTOOLSDEST)
-	$(PYTHON) -O -Wi -tt $(compileall) -x badsyntax $(MACLIBDEST) $(MACTOOLSDEST)
+	$(PYTHON) -Wi -tt $(compileall) -x badsyntax $(MACTOOLSDEST)
+	$(PYTHON) -O -Wi -tt $(compileall) -x badsyntax $(MACTOOLSDEST)
 
 #
 # We use the full name here in stead of $(INSTALLED_PYTHONW), because
@@ -278,10 +209,3 @@
 	echo "#!/bin/sh" > pythonw.sh
 	echo "exec \"$(INSTALLED_PYTHONW)\" \"\$$@\"" >> pythonw.sh
 	$(INSTALL) pythonw.sh $(bindir)/pythonw
-	
-# This is for development purposes: create a Mac.pth that refers to the source
-# directories
-dontinstallmacsubtree:
-	l=`cd $(srcdir)/Mac/Lib; pwd`; \
-	echo $$l > $(MACLIBDEST)/site-packages/Mac.pth ; \
-	echo $$l/lib-scriptpackages >> $(MACLIBDEST)/site-packages/Mac.pth
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 794e641..bf10d1c 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -608,8 +608,17 @@
 
 # Install the library
 PLATDIR=	plat-$(MACHDEP)
-MACHDEPS=	$(PLATDIR)
+EXTRAPLATDIR= @EXTRAPLATDIR@
+MACHDEPS=	$(PLATDIR) $(EXTRAPLATDIR)
 XMLLIBSUBDIRS=  xml xml/dom xml/parsers xml/sax
+PLATMACDIRS= plat-mac plat-mac/Carbon plat-mac/lib-scriptpackages \
+	plat-mac/lib-scriptpackages/_BuiltinSuites \
+	plat-mac/lib-scriptpackages/CodeWarrior \
+	plat-mac/lib-scriptpackages/Explorer \
+	plat-mac/lib-scriptpackages/Finder \
+	plat-mac/lib-scriptpackages/Netscape \
+	plat-mac/lib-scriptpackages/StdSuites \
+	plat-mac/lib-scriptpackages/Terminal
 LIBSUBDIRS=	lib-old lib-tk site-packages test test/output test/data \
 		encodings email compiler hotshot logging bsddb \
 		distutils distutils/command $(XMLLIBSUBDIRS) curses $(MACHDEPS)
diff --git a/configure b/configure
index 5495840..5ef2ea2 100755
--- a/configure
+++ b/configure
@@ -1388,6 +1388,20 @@
 echo "$as_me:$LINENO: result: $MACHDEP" >&5
 echo "${ECHO_T}$MACHDEP" >&6
 
+# And add extra plat-mac for darwin
+
+echo "$as_me:$LINENO: checking EXTRAPLATDIR" >&5
+echo $ECHO_N "checking EXTRAPLATDIR... $ECHO_C" >&6
+if test -z "$EXTRAPLATDIR"
+then
+	case $MACHDEP in
+	darwin)	EXTRAPLATDIR="\$(PLATMACDIRS)";;
+	*) EXTRAPLATDIR="";;
+	esac
+fi
+echo "$as_me:$LINENO: result: $EXTRAPLATDIR" >&5
+echo "${ECHO_T}$EXTRAPLATDIR" >&6
+
 # checks for alternative programs
 echo "$as_me:$LINENO: checking for --without-gcc" >&5
 echo $ECHO_N "checking for --without-gcc... $ECHO_C" >&6
@@ -17296,6 +17310,7 @@
 s,@PYTHONFRAMEWORKINSTALLDIR@,$PYTHONFRAMEWORKINSTALLDIR,;t t
 s,@MACHDEP@,$MACHDEP,;t t
 s,@SGI_ABI@,$SGI_ABI,;t t
+s,@EXTRAPLATDIR@,$EXTRAPLATDIR,;t t
 s,@CXX@,$CXX,;t t
 s,@MAINOBJ@,$MAINOBJ,;t t
 s,@EXEEXT@,$EXEEXT,;t t
diff --git a/configure.in b/configure.in
index 4869dd1..e461658 100644
--- a/configure.in
+++ b/configure.in
@@ -104,7 +104,7 @@
 	'')	MACHDEP="unknown";;
 	esac
 fi
-
+	
 # Some systems cannot stand _XOPEN_SOURCE being defined at all; they
 # disable features if it is defined, without any means to access these
 # features as extensions. For these systems, we skip the definition of
@@ -155,6 +155,18 @@
 fi
 AC_MSG_RESULT($MACHDEP)
 
+# And add extra plat-mac for darwin
+AC_SUBST(EXTRAPLATDIR)
+AC_MSG_CHECKING(EXTRAPLATDIR)
+if test -z "$EXTRAPLATDIR"
+then
+	case $MACHDEP in
+	darwin)	EXTRAPLATDIR="\$(PLATMACDIRS)";;
+	*) EXTRAPLATDIR="";;
+	esac
+fi
+AC_MSG_RESULT($EXTRAPLATDIR)
+
 # checks for alternative programs
 AC_MSG_CHECKING(for --without-gcc)
 AC_ARG_WITH(gcc,