Commit 1ce4a09c authored by Jonathan Wilkes's avatar Jonathan Wilkes
Browse files

Merge branch 'aggraef/purr-data-testing'

parents 0965e7f5 fd683c97
......@@ -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)"
......
......@@ -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`
#==============================================================================#
......
......@@ -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)"
......
......@@ -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)"
......
......@@ -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)"
......
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.
......@@ -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);
}
......@@ -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 */
......
......@@ -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)/
......
......@@ -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);
}
......
......@@ -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 */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment