diff --git a/packages/Makefile b/packages/Makefile
index 966e3212a50df40529f9dfca8f22635bb34558d7..c6c6659f916f11963b6bea38a08ae637c97c116e 100644
--- a/packages/Makefile
+++ b/packages/Makefile
@@ -128,7 +128,7 @@ HAVE_AUTOGEN_SH := $(wildcard $(pd_src)/autogen.sh)
 ifeq (autogen.sh, $(findstring autogen.sh,$(HAVE_AUTOGEN_SH)))
 #----------------------------------------------------------------------------#
 # new autotools build system
-pd: set_version
+pd: git_version
 	cd $(pd_src) \
 		&& ./autogen.sh \
 		&& ./configure $(PD_CONFIGURE_FLAGS) \
@@ -154,7 +154,7 @@ $(pd_src)/src/configure: $(pd_src)/src/configure.ac
 #	cd $(pd_src)/src/ && ./configure $(PD_CONFIGURE_FLAGS)
 
 # this line has the "-" to support the current makefile.mingw hack
-pd: $(pd_src)/src/configure set_version
+pd: $(pd_src)/src/configure git_version
 	-cd $(pd_src)/src && ./configure $(PD_CONFIGURE_FLAGS) && \
 		make OPT_CFLAGS="" depend  && \
 		make $(DEST_PATHS) $(PD_BUILD_FLAGS)
@@ -258,9 +258,8 @@ welcome_install:
 	echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"http://puredata.org/ploneCustom.css\" />" >> $(WELCOME_FILE)
 	echo "</head>" >> $(WELCOME_FILE)
 	echo "<body><p><p>" >> $(WELCOME_FILE)
-	echo "<center><img src=\"\">" >> $(WELCOME_FILE)
-	echo "<h2>Version $(PD_VERSION)</h2>" >> $(WELCOME_FILE)
-	echo "<p>written by Miller S. Puckette</p></center>" >> $(WELCOME_FILE)
+	echo "<h2>Pd-l2ork version $(PD_L2ORK_VERSION) ($(PD_BUILD_VERSION))</h2>" >> $(WELCOME_FILE)
+	echo "<p>Pd-l2ork was written by Ivica Bukvic and Jonathan Wilkes. It is a fork of Hans-Christoph Steiner's Pd-extended, which in turn is based on Miller S. Puckette's Pd. The included Pd abstractions and externals are the work of many people whose contributions are gratefully acknowledged.</p>" >> $(WELCOME_FILE)
 	echo "<font size=\"-1\">" >> $(WELCOME_FILE)
 	echo "<p>`grep -A9 ACKNOWLEDG $(pd_src)/README.txt`</p>" >> $(WELCOME_FILE)
 	echo "</font>" >> $(WELCOME_FILE)
@@ -280,18 +279,19 @@ readme_install:
 	echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"http://puredata.org/plone.css\" />" >> $(README_FILE)
 	echo "</head>" >> $(README_FILE)
 	echo "<body>" >> $(README_FILE)
-	echo "<h2>Pure Data $(PD_VERSION)</h2>" 	>> $(README_FILE)
-	echo "<p>Pd is a real-time, graphical programming language for media processing.  It provides an environment for audio analysis, synthesis, and processing, with a rich set of multimedia capabilities.  You can get Pd for Linux, Windows, MacOS X, BSD, or IRIX.</p>" >> $(README_FILE)
-	echo "<p>For more information, go to: <a href=\"http://puredata.org\" target=\"pd\">http://puredata.org</a></p>" >> $(README_FILE)
+	echo "<h2>Pd-l2ork version $(PD_L2ORK_VERSION) ($(PD_BUILD_VERSION))</h2>" 	>> $(README_FILE)
+	echo "<p>Pd is a real-time, graphical programming language for media processing created by Miller S. Puckette.  It provides an environment for audio analysis, synthesis, and processing, with a rich set of multimedia capabilities.  You can get Pd for Linux, Windows, MacOS X, BSD, or IRIX.</p>" >> $(README_FILE)
+	echo "<p>Pd-l2ork is a version of Pd based on Hans-Christoph Steiner's Pd-extended which features many bugfixes and enhancements, especially in the user interface.  Pd-l2ork was created by Ivica Ico Bukvic and is maintained by a team of volunteers including Jonathan Wilkes who ported it to the Mac and Windows.  It is available for Linux, Windows and MacOS X.</p>" >> $(README_FILE)
+	echo "<p>For general information about Pd, go to: <a href=\"http://puredata.org\" target=\"pd\">http://puredata.org</a>.  More information about Pd-l2ork can be found on the <a href=\"http://l2ork.music.vt.edu/main/make-your-own-l2ork/software/\" target=\"pd-l2ork\">Pd-l2ork website</a>.</p>" >> $(README_FILE)
 	echo "<h3>Installation</h3>" >> $(README_FILE)	
 ifeq ($(OS_NAME),linux)
-	echo "<p></p>" >> $(README_FILE)
-	echo "<p></p>" >> $(README_FILE)
+	echo "<p>Links to Pd-l2ork packages for various Linux distributions are available on the <a href=\"http://l2ork.music.vt.edu/main/make-your-own-l2ork/software/\" target=\"pd-l2ork\">Pd-l2ork website</a>.</p>" >> $(README_FILE)
+	echo "<p>If you're running Ubuntu or Arch, you may also want to check out Albert Gräf's packages on Launchpad and the Arch User Repositories (AUR).  Please check his corresponding <a href=\"https://l2orkaur.bitbucket.io/\" target=\"l2orkaur\">Bitbucket</a> <a href=\"https://l2orkubuntu.bitbucket.io/\" target=\"l2orkubuntu\">pages</a> for details.</p>" >> $(README_FILE)
 endif
 ifeq ($(OS_NAME),darwin)
-	echo "<p>To install Pd, drag the $(PD_APP_NAME).app into your <b>/Applications</b> folder or to the shortcut in the disk image.  (<i>You might need to put the old one in the trash before copying this one to <b>/Applications</b></i>)</p>" >> $(README_FILE)	
-	echo "<p>By default, most of the included libraries are loaded at startup.  To change this, set your own preferences in the <b>Startup...</b> Preferences pane usings the <b>Save all settings</b> button.   If you want to start with the default preferences, throw away the Pd preferences file <strong>~/Library/Preferences/org.puredata.pdextended.plist</strong> (<code>~</code> <i>means your home folder</i>), or run this command in the Terminal.app: </p><p><code>rm ~/Library/Preferences/org.puredata.pdextended.plist</code></p><p>The Preferences panels in Pd are currently buggy, so you might have better luck with the Apple utilities: <code>defaults read org.puredata.pdextended</code>, or, <b>Property List Editor</b>, which is freely available as part of <a href=\"http://developer.apple.com/tools/xcode/download/\" target=\"_blank\">XCode</a> or the <a href=\"http://www.apple.com/support/downloads/serveradmintools104.html\" target=\"_blank\">Server Tools</a>.</p>" >> $(README_FILE)
-	echo "If you want to use PDP on Mac OS X 10.4/Tiger or 10.3/Panther, you will need to install X11 (X11 comes installed with 10.5/Leopard).  It comes on the install CD/DVD that your computer came with.  For more detail, see <a href=\"http://www.simplehelp.net/2006/10/22/how-to-install-x11-in-os-x/\" target=\"_blank\">How to install X11 in OS X</a> or <a href=\"http://puredata.info/docs/faq/macosx\" target=\"_blank\">How do I install Pd on MacOS X?</a>." >> $(README_FILE)
+	echo "<p>To install Pd-l2ork, drag the $(APPLICATION_NAME).app into your <b>/Applications</b> folder or to the shortcut in the disk image.</p>" >> $(README_FILE)
+	echo "<p>By default, most of the included libraries are loaded at startup.  To change this, set your own preferences in the <b>Startup</b> tab of the Preferences dialog.  If you want to reset Pd-l2ork to the default preferences, remove the Pd-l2ork preferences file <strong>~/Library/Preferences/org.puredata.pd-l2ork.plist</strong> (<code>~</code> means your home folder), or run the following command in the Terminal.app: </p><p><code>rm ~/Library/Preferences/org.puredata.pd-l2ork.plist</code></p>" >> $(README_FILE)
+	echo "<p>If you want to use PDP on Mac OS X, you may have to install X11.  See <a href=\"http://puredata.info/docs/faq/macosx\" target=\"_blank\">How do I install Pd on MacOS X?</a> for details.</p>" >> $(README_FILE)
 endif
 ifeq ($(OS_NAME),windows)
 	echo "<p>To make sure that all of the included libraries are loaded when Pd runs, " >> $(README_FILE)
@@ -302,34 +302,31 @@ ifeq ($(OS_NAME),windows)
 endif
 	echo "<h3>Installing Externals, Objects, and Help files</h3>" >> $(README_FILE)
 	echo "<p>" >> $(README_FILE)
-	echo "If you would like to install other externals, objects, help files, etc. there are special folders that Pd-extended uses, which are listed below.  If the folder does not exist, you should create it.  You can find out more details about this by reading that FAQ:  <a href=\"http://puredata.info/docs/faq/how-do-i-install-externals-and-help-files\" target=\"_blank\">How do I install externals and help files?</a>." >> $(README_FILE)
+	echo "If you would like to install other externals, objects, help files, etc. there are special folders that Pd-l2ork uses, which are listed below.  If the folder does not exist, you should create it.  You can find out more details about this by reading this FAQ:  <a href=\"http://puredata.info/docs/faq/how-do-i-install-externals-and-help-files\" target=\"_blank\">How do I install externals and help files?</a>." >> $(README_FILE)
 	echo "<dl>" >> $(README_FILE)
 ifeq ($(OS_NAME),darwin)
 	echo "<dt>Only for the current user account</dt>" >> $(README_FILE)
-	echo "<dd>~/Library/Pd</dd>" >> $(README_FILE)
+	echo "<dd>~/Library/Pd-l2ork</dd>" >> $(README_FILE)
 	echo "<dt>For all user accounts on the computer</dt>" >> $(README_FILE)
-	echo "<dd>/Library/Pd</dd>" >> $(README_FILE)
+	echo "<dd>/Library/Pd-l2ork</dd>" >> $(README_FILE)
 endif
 ifeq ($(OS_NAME),linux)
 	echo "<dt>Only for the current user account</dt>" >> $(README_FILE)
-	echo "<dd>~/pd-externals/</dd>" >> $(README_FILE)
+	echo "<dd>~/pd-l2ork-externals/</dd>" >> $(README_FILE)
 	echo "<dt>For all user accounts on the computer</dt>" >> $(README_FILE)
-	echo "<dd>/usr/local/lib/pd-externals</dd>" >> $(README_FILE)
+	echo "<dd>/usr/local/lib/pd-l2ork-externals</dd>" >> $(README_FILE)
 endif
 ifeq ($(OS_NAME),windows)
 	echo "<dt>Only for the current user account</dt>" >> $(README_FILE)
-	echo "<dd><a href=\"file:///%UserProfile%/Application%20Data\">%UserProfile%\Application Data\Pd</a></dd>" >> $(README_FILE)
+	echo "<dd><a href=\"file:///%UserProfile%/Application%20Data\">%UserProfile%\Application Data\Pd-l2ork</a></dd>" >> $(README_FILE)
 	echo "<dt>For all user accounts on the computer</dt>" >> $(README_FILE)
-	echo "<dd><a href=\"file:///%CommonProgramFiles%/\">%ProgramFiles%\Common Files\Pd</a></dd>" >> $(README_FILE)
+	echo "<dd><a href=\"file:///%CommonProgramFiles%/\">%ProgramFiles%\Common Files\Pd-l2ork</a></dd>" >> $(README_FILE)
 endif
 	echo "</dl>" >> $(README_FILE)
 	echo "</p>" >> $(README_FILE)
-	echo "<h3>Flext Binaries have been removed from Pd-extended</h3>" >> $(README_FILE)	
-	echo "<p>As of release 0.41.4 of Pd-extended, the whole package is built from source every night.  That means that some objects have been removed from the package because they were not being built from source (objects like [pool], [msd], [flashserver], etc.).  You can download these objects from the original authors or <a href=\"http://puredata.info/docs/faq/how-do-i-download-the-flext-binaries-that-used-to-be-included-in-pd-extended\" target=\"_blank\">get the files from the 0.40.3 Pd-extended release</a>." >> $(README_FILE)
-	echo "</p>" >> $(README_FILE)
 	echo "<h3>License</h3>" >> $(README_FILE)	
 	echo "<p>" >> $(README_FILE)
-	echo 'This package is released under the <a href="http://www.gnu.org/copyleft/gpl.html" target="gpl">GNU GPL</a>.  The Pd core and some other included code is originally available with a <a href="http://pure-data.cvs.sourceforge.net/pure-data/pd/LICENSE.txt">BSD license</a> from the Pd CVS on SourceForge.' >> $(README_FILE)
+	echo 'This package is released under the <a href="http://www.gnu.org/copyleft/gpl.html" target="gpl">GNU GPL</a>.  The Pd core and some other included code is available under a <a href="http://pure-data.cvs.sourceforge.net/pure-data/pd/LICENSE.txt">BSD license</a> from the Pd source code repository on SourceForge.' >> $(README_FILE)
 	echo "</p>" >> $(README_FILE)
 	echo "<h3>Patented Algorithms</h3>" >> $(README_FILE)
 	echo "<p>" >> $(README_FILE)
@@ -477,19 +474,28 @@ devsymlinks_clean:
 	-sudo rm -f /usr/local/lib/libtcl*.dylib /usr/local/lib/libtk*.dylib
 	-sudo rm -f /usr/local/lib/libtclstub*.a /usr/local/lib/libtkstub*.a
 
+# AG: The set_version target is broken since it modifies m_pd.h in-place
+# during the build, which is a bad thing to do to files which are supposed to
+# be kept in a source code repository. Instead, we create s_stuff.h from
+# s_stuff.h.in, where the latter is kept in the repo and the former gets created
+# from the latter by substituting PD_BUILD_VERSION.
+
+git_version: $(pd_src)/src/s_stuff.h.in
+	cd $(pd_src)/src/ && \
+	sed 's|^\(#define PD_BUILD_VERSION "\).*"|\1$(PD_BUILD_VERSION)"|' s_stuff.h.in > s_stuff.h
 
 set_version:
 # change Pd's version number to reflect the extended build
 # this needs the complete_version_defines patch to work
 	cd $(pd_src)/src/ && \
-		sed 's|^\(#define PD_TEST_VERSION "\).*"|\1$(PD-EXTENDED_VERSION)"|' m_pd.h > \
+		sed 's|^\(#define PD_TEST_VERSION "\).*"|\1$(PD_BUILD_VERSION)"|' m_pd.h > \
 			m_pd.h.tmp && mv m_pd.h.tmp m_pd.h
 
 unset_version:
 # change the version number back to the original 
 # this needs the complete_version_defines patch to work
 	cd $(pd_src)/src && \
-		sed 's|^\(#define PD_TEST_VERSION ".*\)$(PD-EXTENDED_VERSION_PREFIX).*"|\1"|' \
+		sed 's|^\(#define PD_TEST_VERSION ".*\)$(PD_BUILD_VERSION_PREFIX).*"|\1"|' \
 			m_pd.h > m_pd.h.tmp && \
 		mv m_pd.h.tmp m_pd.h
 
@@ -554,7 +560,7 @@ patch_pd_devel:
 # change Pd's version number to reflect the extended build
 # this needs the complete_version_defines patch to work
 	cd $(pd_src)/src/ && \
-		sed 's|^\(#define PD_TEST_VERSION "\).*"|\1$(PD-EXTENDED_VERSION)"|' m_pd.h > \
+		sed 's|^\(#define PD_TEST_VERSION "\).*"|\1$(PD_BUILD_VERSION)"|' m_pd.h > \
 			m_pd.h.tmp && mv m_pd.h.tmp m_pd.h
 	@echo " "
 	@echo "patching completed."
@@ -564,7 +570,7 @@ unpatch_pd_devel:
 # change the version number back to the original 
 # this needs the complete_version_defines patch to work
 	cd $(pd_src)/src && \
-		sed 's|^\(#define PD_TEST_VERSION ".*\)$(PD-EXTENDED_VERSION)"|\1"|' \
+		sed 's|^\(#define PD_TEST_VERSION ".*\)$(PD_BUILD_VERSION)"|\1"|' \
 			m_pd.h > m_pd.h.tmp && \
 		mv m_pd.h.tmp m_pd.h
 # apply all platform-specific patches
@@ -611,7 +617,7 @@ distclean: cruft_clean
 
 test_locations:
 	@echo "PD_VERSION: $(PD_VERSION)"
-	@echo "PD-EXTENDED_VERSION: $(PD-EXTENDED_VERSION)"
+	@echo "PD_BUILD_VERSION: $(PD_BUILD_VERSION)"
 	@echo "CWD $(CWD)"
 	@echo "DESTDIR $(DESTDIR)"
 	@echo "PREFIX $(prefix)"
diff --git a/packages/Makefile.buildlayout b/packages/Makefile.buildlayout
index be5140650f0b11f63c51a18e07dfe86871d76232..496ed7eb719bcb9cc94efba0e640ff7037f1d295 100644
--- a/packages/Makefile.buildlayout
+++ b/packages/Makefile.buildlayout
@@ -177,19 +177,36 @@ PD_BUGFIX_VERSION := $(shell grep PD_BUGFIX_VERSION $(pd_src)/src/m_pd.h | \
 PD_TEST_VERSION := $(shell grep PD_TEST_VERSION $(pd_src)/src/m_pd.h | \
 	sed 's|^.define *PD_TEST_VERSION *"\(.*\)".*|\1|' )
 #PD_VERSION = $(PD_MAJOR_VERSION).$(PD_MINOR_VERSION).$(PD_BUGFIX_VERSION)
-PD_VERSION := $(PD_TEST_VERSION)
 #ifneq ($(PD_TEST_VERSION),)
 #	PD_VERSION := $(PD_VERSION)-$(PD_TEST_VERSION)
 #endif
 
-VERSION_DATE := $(shell date +%Y%m%d)
+# AG: Pd-l2ork version number. This becomes part of the PD_VERSION.
+# It comes from the m_pd.h file and will be something like 1.x for
+# "classic" Pd-l2ork and 2.x for the new nw.js version.
+PD_L2ORK_VERSION := $(shell grep PD_L2ORK_VERSION $(pd_src)/src/m_pd.h | \
+	sed 's|^.define *PD_L2ORK_VERSION *"\(.*\)".*|\1|' )
+
+# AG: build version number based on the actual git revision and date. This is
+# substituted into s_stuff.h (rather than m_pd.h which we really don't want to
+# touch) so that it's available in the source. We use this in lieu of of
+# PD_TEST_VERSION for -version and for the package name and accompanying
+# materials (ReadMe files and such). Note that this will only work when
+# building directly from a clone of the git repo, and of course you'll need to
+# have git installed.
+PD_BUILD_VERSION := $(shell git log -1 --format=%cd --date=short | sed -e 's/-//g')-rev.$(shell git rev-parse --short HEAD)
+
+# AG: This is being used for the package name and accompanying materials. For
+# Pd-l2ork the vanilla Pd version numbers are rather meaningless (they are
+# mainly kept around so that 3rd party externals and abstractions know what
+# iteration of the vanilla API they have available). Instead, we use a version
+# number derived from PD_L2ORK_VERSION and PD_BUILD_VERSION.
+PD_VERSION := $(PD_L2ORK_VERSION)-$(PD_BUILD_VERSION)
 
-# release version for this distro
-#PD-EXTENDED_VERSION_PREFIX = l2ork
-#PD-EXTENDED_VERSION = $(PD-EXTENDED_VERSION_PREFIX)-$(VERSION_DATE)
-PD-EXTENDED_VERSION = $(VERSION_DATE)
+VERSION_DATE := $(shell date +%Y%m%d)
 
-PACKAGE_NAME = Pd-l2ork-full-`uname -m`-$(PD_VERSION)
+APPLICATION_NAME = Pd-l2ork
+PACKAGE_NAME = $(APPLICATION_NAME)-$(PD_VERSION)-`uname -m`
 
 
 #==============================================================================#
diff --git a/packages/darwin_app/Makefile b/packages/darwin_app/Makefile
index cb795a7e6b9ef1a5bbbfe4ee8b26cd65c6293623..fb0f951dcc618cd0371e477f66b325d6145a8d33 100644
--- a/packages/darwin_app/Makefile
+++ b/packages/darwin_app/Makefile
@@ -5,7 +5,10 @@ export MACOSX_DEPLOYMENT_TARGET = 10.4
 
 CWD := $(shell pwd)
 BUILD_BASE = $(CWD)/build
-PD_APP_NAME = $(PACKAGE_NAME)
+# some folks may prefer to have the version and architecture in the app name
+#PD_APP_NAME = $(PACKAGE_NAME)
+# but we want just the real name of the application
+PD_APP_NAME = $(APPLICATION_NAME)
 PD_SHORT_NAME = "Purr-Data"
 PD_APP_CONTENTS = $(BUILD_BASE)/$(PD_APP_NAME).app/Contents
 DESTDIR = $(PD_APP_CONTENTS)/Resources/app.nw
@@ -15,14 +18,6 @@ BUILDLAYOUT_DIR = $(cvs_root_dir)/packages
 
 include $(BUILDLAYOUT_DIR)/Makefile.buildlayout
 
-WISH_FRAMEWORKS_SOURCE := $(shell (test -e "/Library/Frameworks/Tk.framework/Tk" && echo "/Library/Frameworks") || echo /System/Library/Frameworks)
-WISH_SOURCE = $(WISH_FRAMEWORKS_SOURCE)/Tk.framework/Resources
-# Wish Shell.app changed to Wish.app in TclTk 8.4.10
-WISH_NAME := $(shell ( test -d $(WISH_SOURCE)/Wish.app && echo Wish) \
-	|| echo Wish Shell)
-WISH = "$(WISH_SOURCE)/$(WISH_NAME).app"
-WISH_CONTENTS = "$(WISH)/Contents"
-
 # CPU-specific gleaned from:
 # http://developer.apple.com/releasenotes/DeveloperTools/RN-GCC4/
 # http://hpc.sourceforge.net/
@@ -93,6 +88,8 @@ endif
 	# remove the broken pd-l2ork symlink from bin/
 	rm $(DESTDIR)/bin/pd-l2ork
 	install -p $(cvs_root_dir)/pd/bin/pd-l2ork $(DESTDIR)/bin
+	# fix the broken pd-l2ork symlink in $(DESTDIR), too
+	ln -sf bin/pd-l2ork $(DESTDIR)
 
 #------------------------------------------------------------------------------#
 # this target is for when you already have a pre-built Pd.app and you
@@ -105,61 +102,26 @@ extended_app_install:
 
 
 #------------------------------------------------------------------------------#
-# build a standalone Wish.app from the installed Tcl/Tk Frameworks
+# build a standalone nw.js app
 darwin_app_wrapper: Info.plist
-# Wish
+# nwjs.app
 	install -d "$(BUILD_BASE)"
 	rsync -ax $(cvs_root_dir)/pd/nw/nw/nwjs.app/ $(BUILD_BASE)/$(PD_APP_NAME).app/
-#	install -d "$(PD_APP_CONTENTS)/MacOS"
-	#install -m0755 -p \
-	#	"$(WISH_CONTENTS)/MacOS/$(WISH_NAME)" "$(PD_APP_CONTENTS)/MacOS"
-	#install -d "$(PD_APP_CONTENTS)/Resources"
-# only embed the Tcl/Tk Frameworks if not building against the built-in ones
-#ifneq (/System,$(findstring /System,$(WISH_FRAMEWORKS_SOURCE)))
-	#install -d $(PD_APP_CONTENTS)/Frameworks \
-	#	$(PD_APP_CONTENTS)/Frameworks/Tcl.framework \
-	#	$(PD_APP_CONTENTS)/Frameworks/Tk.framework
-	#ditto $(WISH_FRAMEWORKS_SOURCE)/Tcl.framework \
-	#	$(PD_APP_CONTENTS)/Frameworks/Tcl.framework/
-	#ditto $(WISH_FRAMEWORKS_SOURCE)/Tk.framework \
-	#	$(PD_APP_CONTENTS)/Frameworks/Tk.framework/
-	#rm -rf $(PD_APP_CONTENTS)/Frameworks/Tcl.framework/{,/Versions/8.4}/{Headers,PrivateHeaders,*_debug,lib*.a,*Config.sh} && \
-	#rm -rf $(PD_APP_CONTENTS)/Frameworks/Tk.framework/{,/Versions/8.4}/{Headers,PrivateHeaders,*_debug,lib*.a,*Config.sh}
-	#chmod -R u+w $(PD_APP_CONTENTS)/Frameworks
-# from http://tktoolkit.cvs.sourceforge.net/tktoolkit/tk/macosx/GNUmakefile
-	#fix_install_id ( ) { \
-	#    chmod -R a+w "$$1"; \
-	#    install_name_tool -id $$(otool -L "$$1" | awk "/$$2\.framework.*[^:]\$$/ {sub(\"^.*/Frameworks\",\"@executable_path/../Frameworks\",\$$1); print \$$1}") "$$1"; \
-	#    chmod -R a-w "$$1"; \
-	#} && \
-	#fix_install_name ( ) { \
-	#    chmod -R a+w "$$1"; \
-	#    install_name_tool -change $$(otool -L "$$1" | awk "/$$2\.framework.*[^:]\$$/ {print \$$1; sub(\"^.*/Frameworks\",\"@executable_path/../Frameworks\",\$$1); print \$$1}") "$$1"; \
-	#    chmod -R a-w "$$1"; \
-	#} && \
-	#fix_install_id $(PD_APP_CONTENTS)/Frameworks/Tcl.framework/Tcl Tcl && \
-	#fix_install_id $(PD_APP_CONTENTS)/Frameworks/Tk.framework/Tk Tk && \
-	#fix_install_name "$(PD_APP_CONTENTS)/MacOS/$(WISH_NAME)" Tcl && \
-	#fix_install_name "$(PD_APP_CONTENTS)/MacOS/$(WISH_NAME)" Tk
-#endif # NOT /System
 # set up app wrapper
 	install -d "$(PD_APP_CONTENTS)/Resources/app.nw"
 	# The nw.js app has its own Info.plist
 	install -m0644 -p Info.plist "$(PD_APP_CONTENTS)"
 	install -m0644 -p *.icns  "$(PD_APP_CONTENTS)/Resources"
-	#mv "$(PD_APP_CONTENTS)/MacOS/${WISH_NAME}" \
-	#	"$(PD_APP_CONTENTS)/MacOS/${PD_APP_NAME}"
 	# Now change the localized app name in Resources/*.lproj from nwjs
 	# to "Purr Data". For some reason "CFBundleDisplayName" doesn't accept
 	# spaces so we give it "PurrData"
-	for file in $(BUILD_BASE)/*.app/Contents/Resources/*.lproj/InfoPlist.strings; \
-		do \
-			plutil -convert json "$$file"; \
-			LC_ALL=C sed -i.bak 's/"CFBundleName":"nwjs"/"CFBundleName":"Purr Data"/g' "$$file"; \
-			LC_ALL=C sed -i.bak 's/"CFBundleDisplayName":"nwjs"/"CFBundleDisplayName":"PurrData"/g' "$$file"; \
-			rm "$$file".bak; \
-			plutil -convert binary1 "$$file"; \
-	done;
+	for file in $(BUILD_BASE)/*.app/Contents/Resources/*.lproj/InfoPlist.strings; do \
+		plutil -convert json "$$file"; \
+		LC_ALL=C sed -i.bak 's/"CFBundleName":"nwjs"/"CFBundleName":"Purr Data"/g' "$$file"; \
+		LC_ALL=C sed -i.bak 's/"CFBundleDisplayName":"nwjs"/"CFBundleDisplayName":"PurrData"/g' "$$file"; \
+		rm "$$file".bak; \
+		plutil -convert binary1 "$$file"; \
+	done
 
 #------------------------------------------------------------------------------#
 # generate Info.plist using PD_APP_NAME and PD_VERSION
@@ -207,7 +169,7 @@ darwin_app_core: darwin_app_wrapper
 	install -p -m0644 org.puredata.pd-l2ork.default.plist "$(PD_APP_CONTENTS)/Resources/"
 # since Pd-vanilla on Mac OS X doesn't have an 'include/pd' folder,
 # Pd-extended will mimic Pd-vanilla's include/pd until Pd-vanilla gets one
-	ln -s pdextended "$(PD_APP_CONTENTS)/Resources/app.nw/include/pd"
+	ln -s pd-l2ork "$(PD_APP_CONTENTS)/Resources/app.nw/include/pd"
 	ln -s pd/m_pd.h "$(PD_APP_CONTENTS)/Resources/app.nw/include/m_pd.h"
 
 
@@ -293,8 +255,7 @@ darwin_app_clean:
 	-rm -f -- $(PD_APP_CONTENTS)/Resources/bin/*.tk
 	-rm -f -- $(PD_APP_CONTENTS)/Resources/bin/*.tcl
 	-rm -f -- $(PD_APP_CONTENTS)/Resources/Scripts
-	-rm -f -- "$(PD_APP_CONTENTS)/Resources/$(WISH_NAME).rsrc" \
-		"$(PD_APP_CONTENTS)/Resources/pd*.icns"
+	-rm -f -- "$(PD_APP_CONTENTS)/Resources/pd*.icns"
 	-rmdir  $(PD_APP_CONTENTS)/Resources
 	-rmdir  $(BUILD_BASE)/$(PD_APP_NAME).app/Contents
 	-rmdir  $(BUILD_BASE)/$(PD_APP_NAME).app
@@ -325,10 +286,7 @@ test_locations:
 	@echo "OPT_CFLAGS: $(OPT_CFLAGS)"
 	@echo "PD_VERSION: $(PD_VERSION)"
 	@echo "PACKAGE_NAME: $(PACKAGE_NAME)"
-	@echo "PD-EXTENDED_VERSION: $(PD-EXTENDED_VERSION)"
-	@echo "WISH: $(WISH)"
-	@echo "WISH_FRAMEWORKS_SOURCE: $(WISH_FRAMEWORKS_SOURCE)"
-	@echo "Tcl/Tk Version: $(shell sed -n 's|.*>\(8\..*\)<.*|\1|p' $(WISH_FRAMEWORKS_SOURCE)/Tk.framework/Resources/Info.plist | head -1)"
+	@echo "PD_BUILD_VERSION: $(PD_BUILD_VERSION)"
 	@echo "CWD $(CWD)"
 	@echo "DESTDIR $(DESTDIR)"
 	@echo "PREFIX $(prefix)"
diff --git a/packages/linux_make/Makefile b/packages/linux_make/Makefile
index a296270482a0616f500e211ddace71c19585c2c1..5b9cf1ff67bec595d1d8f0d9f28d6ee576836346 100644
--- a/packages/linux_make/Makefile
+++ b/packages/linux_make/Makefile
@@ -72,7 +72,7 @@ install:
 #
 #==============================================================================#
 
-PACKAGE_NAME = pd-l2ork-`uname -m`-$(PD_VERSION)
+PACKAGE_NAME = pd-l2ork-$(PD_VERSION)-`uname -m`
 
 package: $(PACKAGE_TYPE)
 
@@ -264,7 +264,7 @@ test_locations:
 	@echo --------------------------------------------------
 	@echo "PD_VERSION: $(PD_VERSION)"
 	@echo "DEB_PD_VERSION: $(DEB_PD_VERSION)"
-	@echo "PD-EXTENDED_VERSION: $(PD-EXTENDED_VERSION)"
+	@echo "PD_BUILD_VERSION: $(PD_BUILD_VERSION)"
 	@echo "CWD $(CWD)"
 	@echo "DESTDIR $(DESTDIR)"
 	@echo "PACKAGE_TYPE $(PACKAGE_TYPE)"
diff --git a/packages/win32_inno/Makefile b/packages/win32_inno/Makefile
index 18aa4ebded6feb59f2d71dfb23552a9ec398f7af..9ee533f5b9b6e6fe948d68d61831e444b6691fb5 100755
--- a/packages/win32_inno/Makefile
+++ b/packages/win32_inno/Makefile
@@ -145,7 +145,7 @@ $(PD_INNO_SETUP): $(PD_INNO_SETUP).in
 	cat "$(PD_INNO_SETUP).in" | \
 		sed 's/PACKAGE_NAME/$(PACKAGE_NAME)/g' | \
 		sed 's/PD_VERSION/$(PD_VERSION)/g' | \
-		sed 's/PD-EXTENDED_VERSION/$(PD-EXTENDED_VERSION)/g' > \
+		sed 's/PD_BUILD_VERSION/$(PD_BUILD_VERSION)/g' > \
 		$(PD_INNO_SETUP)
 #	start $(PD_INNO_SETUP)
 
@@ -182,7 +182,7 @@ test_package:
 test_locations:
 	@echo --------------------------------------------------
 	@echo "PD_VERSION: $(PD_VERSION)"
-	@echo "PD-EXTENDED_VERSION: $(PD-EXTENDED_VERSION)"
+	@echo "PD_BUILD_VERSION: $(PD_BUILD_VERSION)"
 	@echo "CWD $(CWD)"
 	@echo "DESTDIR $(DESTDIR)"
 	@echo "PREFIX $(prefix)"
diff --git a/pd/doc/1.manual/1.introduction.txt b/pd/doc/1.manual/1.introduction.txt
index 05c168b6c99d9ddc42d660dfdd3c7bd812d8c7fe..f4399458c1407fba91412924fe437fc9663a8a5e 100644
--- a/pd/doc/1.manual/1.introduction.txt
+++ b/pd/doc/1.manual/1.introduction.txt
@@ -1,27 +1,28 @@
 PD_VERSION
 
 A real-time graphical programming environment for live interactive
-computer music, Pd-l2ork currently works only on Linux.
+computer music, Pd-l2ork works on Linux, Macintosh OSX, and Microsoft
+Windows.
 
 Pd is copyrighted, but is free for you to use for any reasonable purpose.
 See the file:
-     PD_BASEDIR/LICENSE.txt
+     PD_BASEDIR/doc/manuals/Pd/Pd-LICENSE.txt
 
-L2Ork iteration offers rewrite of many of PD's core routines for the
-purpose of improving editor functionality and stability. It is
-distributed under the same license as base PD. For additional info see:
+Pd-l2ork offers a rewrite of many of Pd's core routines for the purpose
+of improving editor functionality and stability. It is distributed under
+the same license as Pd. For additional info see:
     http://l2ork.music.vt.edu/main/
 
 Reference documentation for Pd lives in:
     file:PD_BASEDIR/doc/1.manual/index.htm
 or:
-    http://www.crca.ucsd.edu/~msp/Pd_documentation/index.htm
+    http://msp.ucsd.edu/Pd_documentation/
 
 Much more documentation and other resources live on:
     http://puredata.org
 
 The Pd mailing list archive lives in:
-    http://iem.kug.ac.at/mailinglists/pd-list/
+    http://iem.at/mailinglists/pd-list/
 
 
 Many more useful links are listed in the HTML documentation, section 1.2.
diff --git a/pd/src/import.c b/pd/src/import.c
index 9a1566f18afeabff39f3469bc62dc0f9749356d2..039dce878b1909b550028799a79832141d2f12a1 100644
--- a/pd/src/import.c
+++ b/pd/src/import.c
@@ -173,5 +173,6 @@ void import_setup(void)
     post("\t[import] is still in development, the interface could change!");
     //post("\tcompiled against Pd version %d.%d.%d", PD_MAJOR_VERSION, 
     //     PD_MINOR_VERSION, PD_BUGFIX_VERSION);
-    post("\tcompiled against Pd-l2ork version %s", PD_TEST_VERSION);
+    post("\tcompiled against Pd-l2ork version %s (%s)", PD_L2ORK_VERSION,
+	 PD_BUILD_VERSION);
 }
diff --git a/pd/src/m_pd.h b/pd/src/m_pd.h
index 1a96393de33e27b92f2746255a63eb7a9e99dee4..4cb8aa87a10482e6a6c6fbb54e8b75b03242098b 100644
--- a/pd/src/m_pd.h
+++ b/pd/src/m_pd.h
@@ -11,9 +11,10 @@ extern "C" {
 #include <stdarg.h>
 
 #define PD_MAJOR_VERSION 0
-#define PD_MINOR_VERSION 42
-#define PD_BUGFIX_VERSION 7
-#define PD_TEST_VERSION "20160525"
+#define PD_MINOR_VERSION 43
+#define PD_BUGFIX_VERSION 10
+#define PD_TEST_VERSION ""
+#define PD_L2ORK_VERSION "1.99"
 #define PDL2ORK
 extern int pd_compatibilitylevel;   /* e.g., 43 for pd 0.43 compatibility */
 
diff --git a/pd/src/makefile.in b/pd/src/makefile.in
index 40e32b18eae24302bf55d0ee9d82a2903e72584a..70318c4f560fae880a2e2be55d7b4a2a65caaa57 100644
--- a/pd/src/makefile.in
+++ b/pd/src/makefile.in
@@ -97,6 +97,11 @@ PD_VERSION := $(PD_MAJOR_VERSION).$(PD_MINOR_VERSION).$(PD_BUGFIX_VERSION)
 ifneq ($(PD_TEST_VERSION),)
 	PD_VERSION := $(PD_VERSION)-$(PD_TEST_VERSION)
 endif
+# AG: Pd-l2ork version number
+PD_L2ORK_VERSION := $(shell grep PD_L2ORK_VERSION m_pd.h | \
+	sed 's|^.define *PD_L2ORK_VERSION *"\(.*\)".*|\1|' )
+PD_BUILD_VERSION := $(shell grep PD_BUILD_VERSION s_stuff.h | \
+	sed 's|^.define *PD_BUILD_VERSION *"\(.*\)".*|\1|' )
 
 #
 #  ------------------ targets ------------------------------------
@@ -200,7 +205,7 @@ install: all
                     $(DESTDIR)$(pddocdir)/7.stuff/$$dir ; \
 	done
 	mv $(ABOUT_FILE) $(ABOUT_FILE).tmp
-	cat $(ABOUT_FILE).tmp | sed 's|PD_VERSION|Pd-l2ork version $(PD_TEST_VERSION)|' \
+	cat $(ABOUT_FILE).tmp | sed 's|PD_VERSION|Pd-l2ork version $(PD_L2ORK_VERSION) ($(PD_BUILD_VERSION))|' \
 		> $(ABOUT_FILE)
 	rm $(ABOUT_FILE).tmp
 	rsync -ax --exclude=.git --exclude=.svn ../extra $(DESTDIR)$(libpddir)/
diff --git a/pd/src/s_main.c b/pd/src/s_main.c
index fb2114595a8fcf3dd600abc5a5ca97de7db65323..91ae1cfe4582aa1f1bbf2b7d62e8f2dafffe3e66 100644
--- a/pd/src/s_main.c
+++ b/pd/src/s_main.c
@@ -254,7 +254,8 @@ static void pd_makeversion(void)
     //    PD_MAJOR_VERSION, PD_MINOR_VERSION,
     //    PD_BUGFIX_VERSION, PD_TEST_VERSION);    
 
-    snprintf(foo, sizeof(foo), "Pd-L2Ork version %s\n", PD_TEST_VERSION);
+    snprintf(foo, sizeof(foo), "Pd-L2Ork version %s (%s)\n", PD_L2ORK_VERSION,
+	     PD_BUILD_VERSION);
 
     pd_version = strdup(foo);
 }
diff --git a/pd/src/s_stuff.h b/pd/src/s_stuff.h.in
similarity index 97%
rename from pd/src/s_stuff.h
rename to pd/src/s_stuff.h.in
index 107b3b809d5838f7cea38859de86365f86bc77a9..a5b72e89aaa8b8ac2ff2cbdb43df9dc0655d9a0b 100644
--- a/pd/src/s_stuff.h
+++ b/pd/src/s_stuff.h.in
@@ -10,6 +10,12 @@ in future releases.  The public (stable) API is in m_pd.h. */
 #ifndef __s_stuff_h_
 #define __s_stuff_h_
 
+// AG: Generated build version number. Pd-l2ork uses this in lieu of vanilla's
+// PD_TEST_VERSION. We wouldn't want to touch m_pd.h for this, so it's part of
+// the internal API. Also note that this value gets substituted automatically
+// at build time, so any manual edits will be lost.
+#define PD_BUILD_VERSION "<build version>"
+
 /* in s_path.c */
 
 typedef struct _namelist    /* element in a linked list of stored strings */