aboutsummaryrefslogtreecommitdiff
path: root/packages/darwin_app
diff options
context:
space:
mode:
Diffstat (limited to 'packages/darwin_app')
-rw-r--r--packages/darwin_app/Makefile593
-rw-r--r--packages/darwin_app/TODO54
-rw-r--r--packages/darwin_app/patches/MACOSX-to-__APPLE__.patch357
-rw-r--r--packages/darwin_app/patches/darwin_linking_fixes.patch149
-rw-r--r--packages/darwin_app/patches/display_tweaks.patch33
-rw-r--r--packages/darwin_app/patches/extended-help-menu.patch174
-rw-r--r--packages/darwin_app/patches/special_chars_hack.patch58
-rw-r--r--packages/darwin_app/patches/weak_linking.patch22
8 files changed, 220 insertions, 1220 deletions
diff --git a/packages/darwin_app/Makefile b/packages/darwin_app/Makefile
index b105d67d..84b74424 100644
--- a/packages/darwin_app/Makefile
+++ b/packages/darwin_app/Makefile
@@ -1,158 +1,53 @@
current: darwin_app
-# Pd needs autoconf 2.59, which is labeled differently on different machines
-PD_AUTOCONF := ${shell ( test -x "`which autoconf-2.59`" && echo autoconf-2.59 ) || echo autoconf }
-
# needed to support weak linking of frameworks
-MAKE=MACOSX_DEPLOYMENT_TARGET=10.2 make
+MAKE=MACOSX_DEPLOYMENT_TARGET=10.3 make
CWD := $(shell pwd)
-DESTDIR = $(CWD)/build
+BUILD_BASE = $(CWD)/build
PD_APP_NAME = Pd
-PD_APP_CONTENTS = $(DESTDIR)/$(PD_APP_NAME).app/Contents
+PD_APP_CONTENTS = $(BUILD_BASE)/$(PD_APP_NAME).app/Contents
INSTALL_PREFIX = $(PD_APP_CONTENTS)/Resources
+SRC_ROOT_DIR = $(CWD)/../..
+BUILDLAYOUT_DIR = $(PACKAGES_SRC)
# source for the Wish Shell.app used to build Pd
# download TclTkAquaStandalone-8.?.*.dmg from http://tcltkaqua.sourceforge.net/
# and mount it. The files will be copied from the mounted .dmg image.
-#WISH_SHELL = /Applications/Utilities/Wish\ Shell.app
+#WISH = /Applications/Utilities/Wish\ Shell.app
TCLTK := $(shell /bin/ls -1r TclTkAquaStandalone-8.?.*.dmg|head -1|sed 's/\.dmg//')
-WISH_SHELL = /Volumes/$(TCLTK)/Wish\ Shell.app
-WISH_SHELL_CONTENTS = $(WISH_SHELL)/Contents
+WISH_NAME = Wish\ Shell
+WISH = /Volumes/$(TCLTK)/$(WISH_NAME).app
+WISH_CONTENTS = $(WISH)/Contents
# locations of the various directories from CVS
SRC_ROOT_DIR = $(CWD)/../..
-ABSTRACTIONS_SRC = $(SRC_ROOT_DIR)/abstractions
-DOC_SRC = $(SRC_ROOT_DIR)/doc
-EXTERNALS_SRC = $(SRC_ROOT_DIR)/externals
-GEM_SRC = $(SRC_ROOT_DIR)/Gem
-GEMLIBS_SRC = $(SRC_ROOT_DIR)/GemLibs
-PD_SRC = $(SRC_ROOT_DIR)/pd
-SCRIPTS_SRC = $(SRC_ROOT_DIR)/scripts
-
-
-# final destinations for compiled files
-ABSTRACTIONS_DST = $(INSTALL_PREFIX)/doc/abstractions
-EXTERNALS_DST = $(INSTALL_PREFIX)/extra
-DOC_DST = $(INSTALL_PREFIX)/doc
-
-
-PD_MAJOR_VERSION := $(shell /usr/bin/grep 'Pd version' $(PD_SRC)/src/s_main.c | sed 's/char pd_version\[\] = "Pd version \([0-9]\)\.[0-9]*[. TES]*[0-9]*[0-9extndRC.-]*\\n";/\1/')
-PD_MINOR_VERSION := $(shell /usr/bin/grep 'Pd version' $(PD_SRC)/src/s_main.c | sed 's/char pd_version\[\] = "Pd version [0-9]\.\([0-9]*\)[. TES]*\([0-9]*\)[0-9extndRC.-]*\\n";/\1/')
-PD_BUGFIX_VERSION := $(shell /usr/bin/grep 'Pd version' $(PD_SRC)/src/s_main.c | sed 's/char pd_version\[\] = "Pd version [0-9]\.[0-9]*[. TES]*\([0-9]*\)[0-9extndRC.-]*\\n";/\1/')
-PD_VERSION = $(PD_MAJOR_VERSION).$(PD_MINOR_VERSION).$(PD_BUGFIX_VERSION)
-
-
-# release version for this distro
-PACKAGE_VERSION = extended-RC2
-PACKAGE_NAME = Pd-$(PD_VERSION)-$(PACKAGE_VERSION)
-DMG_NAME = $(PACKAGE_NAME)
-
-
-WELCOME_FILE = Welcome.html
-README_FILE = ReadMe.html
-LICENSE_FILE = License.html
-
+include ../Makefile.buildlayout
-CYCLONE_MAJOR_VERSION := $(shell grep CYCLONE_VERSION $(EXTERNALS_SRC)/miXed/cyclone/build_counter | cut -d ' ' -f 3 | cut -d '"' -f 2)
-CYCLONE_RELEASE := $(shell grep CYCLONE_RELEASE $(EXTERNALS_SRC)/miXed/cyclone/build_counter | cut -d ' ' -f 3 | cut -d '"' -f 2)
-CYCLONE_BUILD := $(shell grep CYCLONE_BUILD $(EXTERNALS_SRC)/miXed/cyclone/build_counter | cut -d ' ' -f 3 | cut -d '"' -f 2)
-CYCLONE_VERSION := $(CYCLONE_MAJOR_VERSION) $(CYCLONE_RELEASE) $(CYCLONE_BUILD)
+# these are sent to all of the various Makefiles so that they all copy their
+# output to the same directory tree
+DEST_PATHS = BUILDLAYOUT_DIR=$(BUILDLAYOUT_DIR) \
+ SRC_ROOT_DIR=$(SRC_ROOT_DIR) \
+ INSTALL_PREFIX=$(INSTALL_PREFIX) \
+ UNAME=$(UNAME)
-FLEXT_VERSION := $(shell grep FLEXTMAJOR $(EXTERNALS_SRC)/grill/flext/buildsys/version.inc | cut -d '=' -f2).$(shell grep FLEXTMINOR $(EXTERNALS_SRC)/grill/flext/buildsys/version.inc | cut -d '=' -f2).$(shell grep FLEXTMICRO $(EXTERNALS_SRC)/grill/flext/buildsys/version.inc | cut -d '=' -f2)
+install: darwin_app
-GEM_VERSION := $(shell grep "GEM_VERSION" ../../Gem/src/Base/GemVersion.h | cut -d '"' -f 2)
-
-MAXLIB_VERSION := $(shell grep "define VERSION" $(EXTERNALS_SRC)/maxlib/maxlib.c | cut -d '"' -f 2)
-
-OSC_VERSION := $(shell grep "define VERSION" $(EXTERNALS_SRC)/OSCx/src/OSC.c | cut -d '"' -f 2)
-
-PDP_VERSION := $(shell grep PDP_VERSION= $(EXTERNALS_SRC)/pdp/configure | cut -d '=' -f 2)
-
-PMPD_VERSION := $(shell grep "define VERSION" $(EXTERNALS_SRC)/pmpd/src/pmpd.c | cut -d '"' -f 2)
-
-TOXY_MAJOR_VERSION := $(shell grep TOXY_VERSION $(EXTERNALS_SRC)/miXed/toxy/build_counter | cut -d ' ' -f 3 | cut -d '"' -f 2)
-TOXY_RELEASE := $(shell grep TOXY_RELEASE $(EXTERNALS_SRC)/miXed/toxy/build_counter | cut -d ' ' -f 3 | cut -d '"' -f 2)
-TOXY_BUILD := $(shell grep TOXY_BUILD $(EXTERNALS_SRC)/miXed/toxy/build_counter | cut -d ' ' -f 3 | cut -d '"' -f 2)
-TOXY_VERSION := $(TOXY_MAJOR_VERSION) $(TOXY_RELEASE) $(TOXY_BUILD)
-
-ZEXY_VERSION := $(shell grep VERSION $(EXTERNALS_SRC)/zexy/src/zexy.h | cut -d ' ' -f 3 | cut -d '"' -f 2)
-
-
-darwin_app: darwin_app_core darwin_prebuilt_app
+#------------------------------------------------------------------------------#
+darwin_app: darwin_app_core extended_app_install
+#------------------------------------------------------------------------------#
# this target is for when you already have a pre-built Pd.app and you
# just want to fill it with goodies from CVS. To do so, place your
-# Pd.app in $(DESTDIR)/Pd.app
-darwin_prebuilt_app: darwin_app_externals darwin_app_docs \
- darwin_app_abstractions darwin_app_noncvs darwin_app_doc_format
-
-darwin_app_license:
- # generate HTML version of License
- echo "<html><body>" > $(LICENSE_FILE)
- echo "<h3>(Parts of this package can be used under the Pd/BSD license)</h3>" >> $(LICENSE_FILE)
- echo "<font size=\"-1\">" >> $(LICENSE_FILE)
- cat $(EXTERNALS_SRC)/creb/COPYING | sed -e 's/^$$/\<P\>/g' >> $(LICENSE_FILE)
- echo "</font></body></html>" >> $(LICENSE_FILE)
-
-
-darwin_app_readme:
- echo $(CYCLONE_RELEASE)
- -rm $(README_FILE)
- echo "<html>" > $(README_FILE)
- echo "<head>" >> $(README_FILE)
- echo "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=iso-8859-1\" />" >> $(README_FILE)
- echo "</head>" >> $(README_FILE)
- echo "<body>" >> $(README_FILE)
- echo "<h2>Pure Data $(PD_VERSION)-$(PACKAGE_VERSION)</h2>" >> $(README_FILE)
- echo "<p>Pd is a free real-time computer music software package resembling Max. It provides a patchable 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 "<h3>Installation</h3>" >> $(README_FILE)
- echo "<p>To install Pd, drag the Pd.app to anywhere in your hard disk.</p>" >> $(README_FILE)
- echo "<p>To install Gem and pmpd support, copy <code>org.puredata.pd.plist</code> to <code>~/Library/Preferences</code> (<code>~</code> means your home folder).</p>" >> $(README_FILE)
- echo "<h3>Pure Data CVS Developers</h3>" >> $(README_FILE)
-# this may seem whack, but it generates the list of developers from the SourceForge site:
- curl 'http://sourceforge.net/project/memberlist.php?group_id=55736' | grep -e '<td>' | sed -e :a -e 's/<[^>]*>//g;/</N;//ba' | grep -v '^$$' | sed -e 's/\t*/ - /' >> $(README_FILE)
- echo "</p>" >> $(README_FILE)
- echo "<p>" >> $(README_FILE)
- echo "Many others not listed have contributed their time and effort, this is just a list of the current developers in the SourceForge project. But really, every Pd user is a developer and is encouraged to contribute to the CVS repository." >> $(README_FILE)
- echo "</p>" >> $(README_FILE)
- echo "<h3>License</h3>" >> $(README_FILE)
- echo "<p>" >> $(README_FILE)
- echo "The Pd core is licensed under a BSD license, almost every other part of this package is available under the GNU GPL. A couple packages have BSD-style licenses too." >> $(README_FILE)
- echo "</p>" >> $(README_FILE)
- echo "<h3>Included Versions</h3>" >> $(README_FILE)
- echo "<p>These externals are all included from the Pd CVS repository:</p>" >> $(README_FILE)
- echo "<ul>" >> $(README_FILE)
- echo "<li>pure data: $(PD_VERSION) " >> $(README_FILE)
- echo "<li>cyclone: $(CYCLONE_VERSION)" >> $(README_FILE)
- echo "<li>flext: $(FLEXT_VERSION)" >> $(README_FILE)
- echo "<li>gem: $(GEM_VERSION)" >> $(README_FILE)
- echo "<li>iemlib: `date +20%y.%m.%d`" >> $(README_FILE)
-#
-# these cause this error:
-# Makefile:308: *** unterminated call to function `shell': missing `)'. Stop.
-#
- echo "<li>maxlib: $(MAXLIB_VERSION)" >> $(README_FILE)
- echo "<li>osc: $(OSC_VERSION)" >> $(README_FILE)
- echo "<li>pmpd: $(PMPD_VERSION)" >> $(README_FILE)
- echo "<li>pd-abstractions: `date +20%y.%m.%d`" >> $(README_FILE)
- echo "<li>pd-doc: `date +20%y.%m.%d`" >> $(README_FILE)
- echo "<li>pd-externals: `date +20%y.%m.%d`" >> $(README_FILE)
- echo "<li>pddp: `date +20%y.%m.%d`" >> $(README_FILE)
- echo "<li>pdp: $(PDP_VERSION)" >> $(README_FILE)
- echo "<li>toxy: $(TOXY_VERSION)" >> $(README_FILE)
- echo "<li>unauthorized: `date +20%y.%m.%d`" >> $(README_FILE)
- echo "<li>zexy: $(ZEXY_VERSION)" >> $(README_FILE)
- echo "</ul>" >> $(README_FILE)
- echo "(this package was built on `date`) <BR>" >> $(README_FILE)
- echo "</body></html>" >> $(README_FILE)
+# Pd.app in $(BUILD_BASE)/Pd.app
+extended_app_install: extended_install darwin_app_noncvs darwin_app_doc_format
+#------------------------------------------------------------------------------#
# check here for a reference on how to do this:
# http://cvs.sourceforge.net/viewcvs.py/tkcvs/tkcvs-proj/PackApp?rev=1.4
darwin_app_wrapper:
@@ -161,152 +56,81 @@ darwin_app_wrapper:
# note: use the "standalone" Wish shell to make a "standalone" pd app
install -d "$(PD_APP_CONTENTS)/MacOS"
install -m0755 -p \
- $(WISH_SHELL_CONTENTS)/MacOS/Wish\ Shell \
+ $(WISH_CONTENTS)/MacOS/$(WISH_NAME) \
"$(PD_APP_CONTENTS)/MacOS"
install -d "$(PD_APP_CONTENTS)/Resources"
install -m0644 -p \
- $(WISH_SHELL_CONTENTS)/Resources/Wish\ Shell.rsrc \
+ $(WISH_CONTENTS)/Resources/Wish\ Shell.rsrc \
"$(PD_APP_CONTENTS)/Resources"
install -d "$(PD_APP_CONTENTS)/Frameworks"
- cp -Rp $(WISH_SHELL_CONTENTS)/Frameworks "$(PD_APP_CONTENTS)"
+ cp -Rp $(WISH_CONTENTS)/Frameworks "$(PD_APP_CONTENTS)"
# set up app wrapper
install -d "$(PD_APP_CONTENTS)/Resources/Scripts"
install -m0644 -p Info.plist "$(PD_APP_CONTENTS)"
install -m0644 -p *.icns "$(PD_APP_CONTENTS)/Resources"
-# rename the Wish Shell executable to "Pd"
+# rename the Wish Shell executable to "pd", the all lowercase is important
+# since it needs to match the pd executable in order for the Gem windows to
+# get focus properly
mv "$(PD_APP_CONTENTS)/MacOS/Wish Shell" \
- "$(PD_APP_CONTENTS)/MacOS/Pd"
+ "$(PD_APP_CONTENTS)/MacOS/pd"
# diskutil eject /Volumes/$(TCLTK)
-darwin_patch_pd:
- sed -i.bak 's/\(pd_version\[\] = "Pd version \)[0-9extndRC.-]*/\1$(PD_VERSION)-$(PACKAGE_VERSION)/' \
- $(PD_SRC)/src/s_main.c
- cd $(PD_SRC)/src/ && patch -p0 < \
- ../../packages/darwin_app/patches/darwin_linking_fixes.patch
- cd $(PD_SRC)/src/ && patch -p0 < \
- ../../packages/darwin_app/patches/extended-help-menu.patch
- cd $(PD_SRC)/src/ && patch -p0 < \
- ../../packages/darwin_app/patches/display_tweaks.patch
- -rm -f -- $(PD_SRC)/src/configure $(PD_SRC)/src/makefile
+
+#------------------------------------------------------------------------------#
darwin_app_core: darwin_app_wrapper
-# pd core
-# cd $(PD_SRC)/src/ && $(PD_AUTOCONF) && ./configure && $(MAKE)
-# or pd core with jack
- cd $(PD_SRC)/src/ && $(PD_AUTOCONF) && ./configure --enable-jack && $(MAKE)
- cp -Rp -- $(PD_SRC)/bin $(PD_SRC)/doc $(PD_SRC)/extra $(PD_SRC)/man \
- $(INSTALL_PREFIX)
-# AppMain.tcl
+ cd $(PACKAGES_SRC) && \
+ make $(DEST_PATHS) PD_CONFIGURE_FLAGS=--enable-jack pd_install
+# tigital's Gem window focus black magic:
+ /Developer/tools/Rez -t APPL mac.r -o $(BIN_DEST)/pd
cd "$(PD_APP_CONTENTS)/Resources/Scripts" && \
ln -s ../bin/pd.tk AppMain.tcl
+# support for Info Panel Plugins mgmt
+ cd "$(PD_APP_CONTENTS)" && ln -s Resources/extra Plugins
# Headers
- install -d -m0755 $(INSTALL_PREFIX)/include
- install -m0444 $(PD_SRC)/src/*.h $(INSTALL_PREFIX)/include
+ install -d $(INSTALL_PREFIX)/include
+ install $(PD_SRC)/src/*.h $(INSTALL_PREFIX)/include
# run script to move help-*.pd files to *-help.pd according to the standard
- cd $(DOC_DST)/5.reference && \
+ cd $(DOCS_DEST) && \
$(SCRIPTS_SRC)/convert-help-to-standard.sh
darwin_app_doc_format:
-#----------------------------------------------------------------------------
-# clean out cruft files
- -find $(PD_APP_CONTENTS) -name .DS_Store -delete
- -rm -Rf `find $(INSTALL_PREFIX) -name CVS`
# set the font to 10pt on all help patches
# the BSD/Darwin version of sed must create a backup file when doing
# in-place replacement, so delete the unneeded backup files
- cd $(DOC_DST) && \
+ cd $(DOCS_DEST) && \
sed -i.bak 's/^\(\#N canvas [0-9]* [0-9]* [0-9]* [0-9]*\) 12/\1 10/' \
- */*.pd */*/*.pd && \
- rm -f -- */*.pd.bak
-# run script to move help-*.pd files to *-help.pd according to the standard
- cd $(DOC_DST)/5.reference && \
- $(SCRIPTS_SRC)/convert-help-to-standard.sh
-#----------------------------------------------------------------------------
-# remove write perms to prevent people form editing the helpfiles by mistake
- cd $(DOC_DST) && chmod a-wx */*.pd */*/*.pd
- cd $(DOC_DST)/5.reference && chmod a-w ????*/*.* *.txt
-
-
-darwin_app_docs:
-#----------------------------------------------------------------------------
-# externals help patches
- install -d $(DOC_DST)/5.reference
- cd $(EXTERNALS_SRC)/build/doc && $(MAKE)
- cp -Rp $(EXTERNALS_SRC)/build/doc/* $(DOC_DST)/5.reference
-#----------------------------------------------------------------------------
-# DOC
- install -d $(DOC_DST)/7.stuff
- cp -Rp $(DOC_SRC)/tutorials $(DOC_DST)
- cp -Rp $(DOC_SRC)/additional/pd-msg $(DOC_DST)/7.stuff/
-#----------------------------------------------------------------------------
-# PDDP
- install -m644 --group=staff $(DOC_SRC)/pddp/*.pd $(DOC_DST)/5.reference
-#----------------------------------------------------------------------------
-# DOC menus
- install -d $(DOC_DST)/menus
- cp -p ./doc-menu.pd $(DOC_DST)/menus
- ./mkdocs $(DOC_DST)/2.control.examples >! $(DOC_DST)/menus/2.control.examples.pd
- ./mkdocs $(DOC_DST)/3.audio.examples >! $(DOC_DST)/menus/3.audio.examples.pd
- ./mkdocs $(DOC_DST)/4.fft.examples >! $(DOC_DST)/menus/4.fft.examples.pd
- ./mkdocs $(DOC_DST)/5.reference >! $(DOC_DST)/menus/5.reference.pd
+ */*.pd */*/*.pd */*/*/*.pd
+#==============================================================================#
+#
+## CVS SOURCES
+#
+#==============================================================================#
-darwin_app_abstractions:
-#----------------------------------------------------------------------------
-# ABSTRACTIONS
- install -d $(ABSTRACTIONS_DST)
-# audionerd
- cp -Rp $(ABSTRACTIONS_SRC)/audionerd $(ABSTRACTIONS_DST)
-# footils
- cp -Rp $(ABSTRACTIONS_SRC)/footils $(ABSTRACTIONS_DST)
-# keyboardkeys
- cp -Rp $(ABSTRACTIONS_SRC)/keyboardkeys $(ABSTRACTIONS_DST)
-#----------------------------------------------------------------------------
-# EXTERNALS written in Pd
-# RRADical
- cp -Rp $(ABSTRACTIONS_SRC)/rradical $(EXTERNALS_DST)
- cp -Rp $(ABSTRACTIONS_SRC)/rradical/doc $(DOC_DST)/rradical
-# footils
- install -p $(ABSTRACTIONS_SRC)/footils/softtakeover/sto-help.pd \
- $(DOC_DST)/5.reference
- install -p $(ABSTRACTIONS_SRC)/footils/softtakeover/sto.pd $(EXTERNALS_DST)
-# fft_convolution
- install -p $(ABSTRACTIONS_SRC)/fft_convolution/*-help.pd \
- $(DOC_DST)/5.reference
- install -p -m0644 $(shell ls -1 $(ABSTRACTIONS_SRC)/fft_convolution/*.pd | \
- grep -v '\-help.pd') $(EXTERNALS_DST)
-# La-kitchen
- install -d $(DOC_DST)/5.reference/La-kitchen
- install -p $(ABSTRACTIONS_SRC)/La-kitchen/*-help.pd \
- $(DOC_DST)/5.reference/La-kitchen
- install -d $(EXTERNALS_DST)/La-kitchen
- install -p -m0644 $(shell ls -1 $(ABSTRACTIONS_SRC)/La-kitchen/*.pd | \
- grep -v '\-help.pd') $(EXTERNALS_DST)/La-kitchen
-# nusmuk
- install -d $(DOC_DST)/5.reference/nusmuk
- install -p $(ABSTRACTIONS_SRC)/nusmuk/*-help.pd \
- $(DOC_DST)/5.reference/nusmuk
- install -d $(EXTERNALS_DST)/nusmuk
- install -p -m0644 $(shell ls -1 $(ABSTRACTIONS_SRC)/nusmuk/*.pd | \
- grep -v '\-help.pd') $(EXTERNALS_DST)/nusmuk
-# timestretch~
- install -p $(ABSTRACTIONS_SRC)/timestretch/*-help.pd \
- $(DOC_DST)/5.reference
- install -p -m0644 $(shell ls -1 $(ABSTRACTIONS_SRC)/timestretch/*.pd | \
- grep -v '\-help.pd') $(EXTERNALS_DST)
-# vadsr~
- install -p $(ABSTRACTIONS_SRC)/vadsr~/vadsr-test.pd \
- $(DOC_DST)/5.reference/vadsr~-help.pd
- install -p $(ABSTRACTIONS_SRC)/vadsr~/vadsr~.pd $(EXTERNALS_DST)
+extended_install:
+ cd $(PACKAGES_SRC) && make $(DEST_PATHS) install
+#------------------------------------------------------------------------------#
darwin_app_externals: darwin_app_externals_standard darwin_app_externals_c++ darwin_app_externals_flext
#darwin_app_externals: darwin_app_externals_standard darwin_app_externals_c++ darwin_app_externals_gem
+
+#------------------------------------------------------------------------------#
+# GEM
darwin_app_externals_gem:
- cd ../../Gem && pbxbuild
+ cd $(GEM_SRC)/Gem && xcodebuild
+ install -p -m0644 $(GEM_SRC)/Gem/help/*.* $(HELP_DEST)
+ install -d $(DOCS_DEST)/Gem/doc
+ install -p -m0644 $(GEM_SRC)/Gem/doc/*.* $(DOCS_DEST)/gem
+ install -d $(DOCS_DEST)/Gem/00.manual
+ install -p -m0644 $(GEM_SRC)/Gem/manual/*.* $(DOCS_DEST)/gem/00.manual
+ cp -Rfp $(GEM_SRC)/Gem/examples/*.* $(GEM_SRC)/Gem/examples/data $(DOCS_DEST)/gem
+
+#------------------------------------------------------------------------------#
darwin_app_externals_flext:
#----------------------------------------------------------------------------
# FLEXT
@@ -315,6 +139,7 @@ darwin_app_externals_flext:
cp $(EXTERNALS_SRC)/grill/flext/buildsys/mac/pd/config-gcc.def \
$(EXTERNALS_SRC)/grill/flext/buildsys/config-mac-pd-gcc.txt
# end temp hack
+# tigital 8/30/2005 added
cd $(EXTERNALS_SRC)/grill/flext && \
( \
test -f buildsys/config-mac-pd-gcc.txt || \
@@ -325,8 +150,18 @@ darwin_app_externals_flext:
) && \
( \
cat buildsys/config-mac-pd-gcc.txt | \
- sed "s/^PDPATH=.*/PDPATH=..\/..\/..\/pd/" | \
- sed "s/^FLEXTPREFIX=.*/FLEXTPREFIX=@executable_path\/..\/extra/" > buildsys/config-mac-pd-gcc.txt \
+ sed "s/^PDPATH=.*/PDPATH=..\/..\/..\/pd/" > buildsys/config-mac-pd-gcc.txt \
+ ) && \
+ ( \
+ cat package.txt | sed "s/^PRECOMPILE=.*/PRECOMPILE=/" > package.txt \
+ ) && \
+ ( \
+ cat buildsys/mac/pd/gnumake-gcc-ext.inc | \
+ sed "s/^LDFLAG\S +=.*/LDFLAG\S += -bundle -bundle_loader ..\/..\/..\/pd\/bin\/pd/" > buildsys/mac/pd/gnumake-gcc-ext.inc \
+ ) && \
+ ( \
+ cat buildsys/mac/pd/gnumake-gcc-flext.inc | \
+ sed "s/^LDFLAG\S +=.*/LDFLAG\S += -dynamiclib -undefined dynamic_lookup /" > buildsys/mac/pd/gnumake-gcc-flext.inc \
) && \
( \
test -f config.txt || \
@@ -335,218 +170,122 @@ darwin_app_externals_flext:
echo Copied template flext config file \
) \
) && \
- bash build.sh pd gcc build-release-shared
- install -p -m0444 $(EXTERNALS_SRC)/grill/flext/pd-darwin/release-shared/libflext-pd.$(FLEXT_VERSION).dylib $(EXTERNALS_DST)
- ln -sf libflext-pd.$(FLEXT_VERSION).dylib $(EXTERNALS_DST)/libflext-pd.dylib
- install -d $(DOC_DST)/tutorials
- cp -rp $(EXTERNALS_SRC)/grill/flext/tutorial $(DOC_DST)/tutorials/flext
- install -d $(DOC_DST)/flext
+ MACOSX_DEPLOYMENT_TARGET=10.3 bash build.sh pd gcc build-release-shared FLEXTLIB=@executable_path/../extra FLEXTINC=../flext/source FLEXTSYS=$(OBJECTS_DEST)
+ ln -sf $(EXTERNALS_SRC)/grill/flext/pd-darwin/release-shared/libflext-pd.$(FLEXT_VERSION).dylib $(EXTERNALS_SRC)/grill/flext/pd-darwin/release-shared/libflext-pd.dylib
+ install -p -m0444 $(EXTERNALS_SRC)/grill/flext/pd-darwin/release-shared/libflext-pd.$(FLEXT_VERSION).dylib $(OBJECTS_DEST)
+ ln -sf libflext-pd.$(FLEXT_VERSION).dylib $(OBJECTS_DEST)/libflext-pd.dylib
+ install -d $(DOCS_DEST)/tutorials
+ cp -rp $(EXTERNALS_SRC)/grill/flext/tutorial $(DOCS_DEST)/tutorials/flext
+ install -d $(DOCS_DEST)/flext
install -p -m0644 $(EXTERNALS_SRC)/grill/flext/gpl.txt \
$(EXTERNALS_SRC)/grill/flext/readme.txt \
$(EXTERNALS_SRC)/grill/flext/license.txt \
- $(DOC_DST)/flext
+ $(DOCS_DEST)/flext
# FLEXTERNALS
#########
# dyn~
- cd $(EXTERNALS_SRC)/grill/dynext && bash ../flext/build.sh pd gcc build-release-shared FLEXTPREFIX=. FLEXTLIB=$(EXTERNALS_DST) FLEXTINC=../flext/source
- install -p -m0444 $(EXTERNALS_SRC)/grill/dynext/pd-darwin/release-shared/*.pd_darwin $(EXTERNALS_DST)
- install -p -m0644 $(EXTERNALS_SRC)/grill/dynext/pd/*.pd $(DOC_DST)/5.reference
- install -d $(DOC_DST)/dynext
- install -p -m0644 $(EXTERNALS_SRC)/grill/dynext/gpl.txt \
+ cd $(EXTERNALS_SRC)/grill/dynext && bash ../flext/build.sh pd gcc build-release-shared FLEXTLIB=../flext/pd-darwin/release-shared FLEXTINC=../flext/source FLEXTSYS=$(OBJECTS_DEST)
+ install -p $(EXTERNALS_SRC)/grill/dynext/pd-darwin/release-shared/*.pd_darwin $(OBJECTS_DEST)
+ install -p $(EXTERNALS_SRC)/grill/dynext/pd/*.pd $(DOCS_DEST)
+ install -d $(DOCS_DEST)/dynext
+ install -p $(EXTERNALS_SRC)/grill/dynext/gpl.txt \
$(EXTERNALS_SRC)/grill/dynext/readme.txt \
$(EXTERNALS_SRC)/grill/dynext/license.txt \
- $(DOC_DST)/dynext
+ $(DOCS_DEST)/dynext
#########
# pool
- cd $(EXTERNALS_SRC)/grill/pool && bash ../flext/build.sh pd gcc build-release-shared FLEXTPREFIX=. FLEXTLIB=$(EXTERNALS_DST) FLEXTINC=../flext/source
- install -p -m0444 $(EXTERNALS_SRC)/grill/pool/pd-darwin/release-shared/*.pd_darwin $(EXTERNALS_DST)
- install -p -m0644 $(EXTERNALS_SRC)/grill/pool/help-pool.pd $(DOC_DST)/5.reference
- install -d $(DOC_DST)/pool
- install -p -m0644 $(EXTERNALS_SRC)/grill/pool/gpl.txt \
+ cd $(EXTERNALS_SRC)/grill/pool && bash ../flext/build.sh pd gcc build-release-shared FLEXTPREFIX=. FLEXTLIB=$(OBJECTS_DEST) FLEXTINC=../flext/source
+ install -p $(EXTERNALS_SRC)/grill/pool/pd-darwin/release-shared/*.pd_darwin $(OBJECTS_DEST)
+ install -p $(EXTERNALS_SRC)/grill/pool/help-pool.pd $(DOCS_DEST)
+ install -d $(DOCS_DEST)/pool
+ install -p $(EXTERNALS_SRC)/grill/pool/gpl.txt \
$(EXTERNALS_SRC)/grill/pool/readme.txt \
$(EXTERNALS_SRC)/grill/pool/license.txt \
- $(DOC_DST)/pool
+ $(DOCS_DEST)/pool
#########
# py/pyext
# cd $(EXTERNALS_SRC)/grill/py && \
# ( \
# cp -f build/config-mac.def config.txt \
# ) && \
-# bash ../flext/build.sh pd gcc build-release-shared FLEXTPREFIX=. FLEXTLIB=$(EXTERNALS_DST) FLEXTINC=../flext/source
-# install -p -m0444 $(EXTERNALS_SRC)/grill/py/pd-darwin/release-shared/*.pd_darwin $(EXTERNALS_DST)
+# bash ../flext/build.sh pd gcc build-release-shared FLEXTPREFIX=. FLEXTLIB=$(OBJECTS_DEST) FLEXTINC=../flext/source
+# install -p -m0444 $(EXTERNALS_SRC)/grill/py/pd-darwin/release-shared/*.pd_darwin $(OBJECTS_DEST)
# this wasn't building for me -HCS 2005-06-09
- install -d $(DOC_DST)/py/examples
- install -d $(DOC_DST)/py/scripts
- install -p -m0644 $(EXTERNALS_SRC)/grill/py/pd/*.pd $(DOC_DST)/py/examples
- install -p -m0644 $(EXTERNALS_SRC)/grill/py/scripts/*.py $(DOC_DST)/py/scripts
- install -p -m0644 $(EXTERNALS_SRC)/grill/py/gpl.txt \
+ install -d $(DOCS_DEST)/py/examples
+ install -d $(DOCS_DEST)/py/scripts
+ install -p $(EXTERNALS_SRC)/grill/py/pd/*.pd $(DOCS_DEST)/py/examples
+ install -p $(EXTERNALS_SRC)/grill/py/scripts/*.py $(DOCS_DEST)/py/scripts
+ install -p $(EXTERNALS_SRC)/grill/py/gpl.txt \
$(EXTERNALS_SRC)/grill/py/readme.txt $(EXTERNALS_SRC)/grill/py/license.txt \
- $(DOC_DST)/py
+ $(DOCS_DEST)/py
# install -d $(INSTALL_PREFIX)/Library/Frameworks
# cp -R /Library/Frameworks/Python.framework $(INSTALL_PREFIX)/Library/Frameworks
#########
# vasp
# fails without the dir
# test -d ../../vasp/pd-darwin || mkdir -p ../../vasp/pd-darwin
-# cd $(EXTERNALS_SRC)/grill/vasp/ && bash ../flext/build.sh pd gcc build-release-shared FLEXTPREFIX=. FLEXTLIB=$(EXTERNALS_DST) FLEXTINC=../flext/source
-# install -p -m0444 $(EXTERNALS_SRC)/grill/vasp/pd-darwin/release-shared/*.pd_darwin $(EXTERNALS_DST)
+# cd $(EXTERNALS_SRC)/grill/vasp/ && bash ../flext/build.sh pd gcc build-release-shared FLEXTPREFIX=. FLEXTLIB=$(OBJECTS_DEST) FLEXTINC=../flext/source
+# install -p -m0444 $(EXTERNALS_SRC)/grill/vasp/pd-darwin/release-shared/*.pd_darwin $(OBJECTS_DEST)
# this wasn't building for me -HCS 2005-06-09
- install -p -m0644 $(EXTERNALS_SRC)/grill/vasp/pd-help/*.pd $(DOC_DST)/5.reference
- install -d $(DOC_DST)/vasp
+ install -p -m0644 $(EXTERNALS_SRC)/grill/vasp/pd-help/*.pd $(DOCS_DEST)
+ install -d $(DOCS_DEST)/vasp
install -p -m0644 $(EXTERNALS_SRC)/grill/vasp/gpl.txt \
$(EXTERNALS_SRC)/grill/vasp/readme.txt \
$(EXTERNALS_SRC)/grill/vasp/license.txt \
$(EXTERNALS_SRC)/grill/vasp/changes.txt \
$(EXTERNALS_SRC)/grill/vasp/todo.txt \
- $(DOC_DST)/vasp
- cp -rp $(EXTERNALS_SRC)/grill/vasp/pd-ex $(DOC_DST)/vasp
+ $(DOCS_DEST)/vasp
+ cp -rp $(EXTERNALS_SRC)/grill/vasp/pd-ex $(DOCS_DEST)/vasp
#########
# xsample
- cd $(EXTERNALS_SRC)/grill/xsample && bash ../flext/build.sh pd gcc build-release-shared FLEXTPREFIX=. FLEXTLIB=$(EXTERNALS_DST) FLEXTINC=../flext/source
- install -p -m0444 $(EXTERNALS_SRC)/grill/xsample/pd-darwin/release-shared/*.pd_darwin $(EXTERNALS_DST)
- install -p -m0644 $(EXTERNALS_SRC)/grill/xsample/pd/*.pd $(DOC_DST)/5.reference
- install -d $(DOC_DST)/xsample
+ cd $(EXTERNALS_SRC)/grill/xsample && bash ../flext/build.sh pd gcc build-release-shared FLEXTPREFIX=. FLEXTLIB=$(OBJECTS_DEST) FLEXTINC=../flext/source
+ install -p -m0444 $(EXTERNALS_SRC)/grill/xsample/pd-darwin/release-shared/*.pd_darwin $(OBJECTS_DEST)
+ install -p -m0644 $(EXTERNALS_SRC)/grill/xsample/pd/*.pd $(DOCS_DEST)
+ install -d $(DOCS_DEST)/xsample
install -p -m0644 $(EXTERNALS_SRC)/grill/xsample/gpl.txt \
$(EXTERNALS_SRC)/grill/xsample/readme.txt \
$(EXTERNALS_SRC)/grill/xsample/license.txt \
- $(DOC_DST)/xsample
+ $(DOCS_DEST)/xsample
########## FOOTILS #########
# syncgrain
# cd $(EXTERNALS_SRC)/footils/syncgrain/ && $(MAKE) -f makefile.pd-darwin
# install -p -m0444 $(EXTERNALS_SRC)/footils/syncgrain/pd-darwin/*.pd_darwin \
-# $(EXTERNALS_DST)
- install -p -m0644 $(EXTERNALS_SRC)/footils/syncgrain/pd/*.* $(DOC_DST)/5.reference
+# $(OBJECTS_DEST)
+ install -p -m0644 $(EXTERNALS_SRC)/footils/syncgrain/pd/*.* $(DOCS_DEST)
-darwin_app_externals_standard:
-#----------------------------------------------------------------------------
-# PD-EXTERNALS
- -cd $(EXTERNALS_SRC)/build/darwin && $(MAKE) -k
- install -d $(EXTERNALS_DST)
- install -p -m0644 $(EXTERNALS_SRC)/build/darwin/*.pd_darwin $(EXTERNALS_DST)
-# creb
- install -d $(EXTERNALS_DST)/creb
- install -p -m0644 $(EXTERNALS_SRC)/creb/abs/*.pd $(EXTERNALS_DST)/creb
- install -d $(DOC_DST)/5.reference/creb
- install -p -m0644 $(EXTERNALS_SRC)/creb/doc/examples/*.* \
- $(DOC_DST)/5.reference/creb
-#----------------------------------------------------------------------------
-# GEM
- install -p -m0644 ../../Gem/help/*.* $(DOC_DST)/5.reference
- install -d $(DOC_DST)/Gem/doc
- install -p -m0644 ../../Gem/doc/*.* $(DOC_DST)/gem
- install -d $(DOC_DST)/Gem/00.manual
- install -p -m0644 ../../Gem/manual/*.* $(DOC_DST)/gem/00.manual
- cp -Rfp ../../Gem/examples/*.* ../../Gem/examples/data $(DOC_DST)/gem
-#----------------------------------------------------------------------------
-# hcs
- install -p -m0644 $(shell ls -1 $(EXTERNALS_SRC)/hcs/*.pd | \
- grep -v '\-help.pd') $(EXTERNALS_DST)
-# hid
- cd $(EXTERNALS_SRC)/hcs/hid && $(MAKE)
- install -p -m0644 $(EXTERNALS_SRC)/hcs/hid/hid.pd_darwin $(EXTERNALS_DST)
- install -p -m0644 $(shell ls -1 $(EXTERNALS_SRC)/hcs/hid/*.pd | \
- grep -v '\-help.pd'| grep -v '\-list.pd') $(EXTERNALS_DST)
-# general
- install -p -m0644 $(EXTERNALS_SRC)/hcs/general/*.pd $(EXTERNALS_DST)
-# pan
- install -p -m0644 $(shell ls -1 $(EXTERNALS_SRC)/hcs/pan/*.pd | \
- grep -v '\-help.pd') $(EXTERNALS_DST)
-#----------------------------------------------------------------------------
-# IEMlib
- cp -Rp $(EXTERNALS_SRC)/iemlib/iemabs $(EXTERNALS_DST)
- install -d -m0755 $(DOC_DST)/5.reference/iemabs
- mv $(EXTERNALS_DST)/iemabs/help-*.pd $(DOC_DST)/5.reference/iemabs
-#----------------------------------------------------------------------------
-# miXed
- cd $(EXTERNALS_SRC)/miXed/toxy && $(MAKE)
- cd $(EXTERNALS_SRC)/miXed/cyclone && $(MAKE)
- cd $(EXTERNALS_SRC)/miXed/pddp && $(MAKE)
- install -d -m755 $(EXTERNALS_DST)
- install -p -m444 $(EXTERNALS_SRC)/miXed/bin/*.pd_darwin $(EXTERNALS_DST)
- install -p -m555 $(EXTERNALS_SRC)/miXed/bin/cyclist $(INSTALL_PREFIX)/bin
- install -d -m755 $(DOC_DST)/5.reference/cyclone
- install -p -m0644 $(EXTERNALS_SRC)/miXed/test/*/*.* \
- $(DOC_DST)/5.reference/cyclone
- install -p -m0644 $(EXTERNALS_SRC)/miXed/doc/*/*/*.* \
- $(DOC_DST)/5.reference
-#----------------------------------------------------------------------------
-# OSC
- cd $(EXTERNALS_SRC)/OSCx && ./configure && $(MAKE)
- install -p -m0644 $(EXTERNALS_SRC)/OSCx/doc/*.* $(DOC_DST)/5.reference
- install -p -m0444 $(EXTERNALS_SRC)/OSCx/src/*.pd_darwin $(EXTERNALS_DST)
-#----------------------------------------------------------------------------
-# PdP
-# cd $(EXTERNALS_SRC)/pdp && ./configure && $(MAKE)
-# install -p -m0444 $(EXTERNALS_SRC)/pdp/*.pd_darwin $(EXTERNALS_DST)
- install -p -m0644 $(EXTERNALS_SRC)/pdp/doc/objects/*.* $(DOC_DST)/5.reference
- install -d $(DOC_DST)/pdp/introduction
- install -p -m0644 $(EXTERNALS_SRC)/pdp/doc/introduction/*.* $(DOC_DST)/pdp/introduction
- install -d $(DOC_DST)/pdp/examples
- install -p -m0644 $(EXTERNALS_SRC)/pdp/doc/examples/*.* $(DOC_DST)/pdp/examples
- install -p -m0644 $(EXTERNALS_SRC)/pdp/doc/reference.txt $(DOC_DST)/pdp
-# libs for PdP
-#----------------------------------------------------------------------------
-# unauthorized
- cd $(EXTERNALS_SRC)/unauthorized && $(MAKE)
- install -p -m0444 $(EXTERNALS_SRC)/unauthorized/*/*.pd_darwin $(EXTERNALS_DST)
- install -p -m0644 $(EXTERNALS_SRC)/unauthorized/*/*.pd $(DOC_DST)/5.reference
- install -p -m0644 $(EXTERNALS_SRC)/unauthorized/*/*.txt $(DOC_DST)/5.reference
- install -p -m0644 $(EXTERNALS_SRC)/unauthorized/*/*.pls $(DOC_DST)/5.reference
- cp -Rfp $(EXTERNALS_SRC)/unauthorized/blinkenlights/blm $(DOC_DST)/5.reference
-#----------------------------------------------------------------------------
-# zexy
-# new build system doesn't work with CVS layout, and most of zexy is
-# included in the extrnals build system now anyway
-# cd $(EXTERNALS_SRC)/zexy/src && autoconf && ./configure && $(MAKE)
- -install -p -m0444 $(EXTERNALS_SRC)/zexy/src/*.pd_darwin $(EXTERNALS_DST)
- install -p -m0444 \
- $(shell ls -1 $(EXTERNALS_SRC)/zexy/abs/*.pd | \
- grep -v '-help.pd' | sed 's/\([&<>|~]\)/\\\1/g') \
- $(EXTERNALS_DST)
- install -p -m0644 $(EXTERNALS_SRC)/zexy/abs/*-help.pd $(DOC_DST)/5.reference
darwin_app_externals_c++:
#----------------------------------------------------------------------------
# CREB
# cd $(EXTERNALS_SRC)/creb && autoconf && ./configure && cd modules++ && $(MAKE)
-# install -p -m0644 $(EXTERNALS_SRC)/creb/modules++/*.pd_darwin $(EXTERNALS_DST)
+# install -p -m0644 $(EXTERNALS_SRC)/creb/modules++/*.pd_darwin $(OBJECTS_DEST)
#----------------------------------------------------------------------------
# gem2pdp
# cd $(EXTERNALS_SRC)/gem2pdp && $(MAKE) -f Makefile.darwin
-# install -p -m0444 $(EXTERNALS_SRC)/gem2pdp/*.pd_darwin $(EXTERNALS_DST)
+# install -p -m0444 $(EXTERNALS_SRC)/gem2pdp/*.pd_darwin $(OBJECTS_DEST)
#----------------------------------------------------------------------------
# GridFlow
# cd ../../gridflow && ./configure && $(MAKE)
-darwin_app_welcome:
- echo "<html><body><p><p>" > $(WELCOME_FILE)
- echo "<CENTER><IMG SRC=\"logo.jpg\">" >> $(WELCOME_FILE)
- echo "<h2>Version $(PD_VERSION)</h2>" >> $(WELCOME_FILE)
- echo "<p>written by Miller S. Puckette</p></CENTER>" >> $(WELCOME_FILE)
- echo "<FONT SIZE=\"-1\">" >> $(WELCOME_FILE)
- echo "<p>`grep -A9 ACKNOWLEDG $(PD_SRC)/README.txt`</p>" >> $(WELCOME_FILE)
- echo "</FONT>" >> $(WELCOME_FILE)
- echo "</body></html>" >> $(WELCOME_FILE)
-
darwin_app_noncvs:
test -d noncvs/doc/5.reference && \
- install -p -m0644 noncvs/doc/5.reference/*.* $(DOC_DST)/5.reference
- test -d noncvs/extra && \
- install -p -m0644 noncvs/extra/*.* $(EXTERNALS_DST)
- cp -Rp noncvs/doc/serendipd $(DOC_DST)
+ install -p noncvs/doc/5.reference/*.* $(HELP_DEST)
+ test -d noncvs/extra && install -p noncvs/extra/*.* $(OBJECTS_DEST)
+ test -d noncvs/doc/serendipd && cp -Rp noncvs/doc/serendipd $(DOCS_DEST)
darwin_app_perms:
- chmod a-x $(DOC_DST)/*/*.pd $(DOC_DST)/*/*/*.pd $(DOC_DST)/*/*/*/*.pd
- chmod -R a-w $(DOC_DST)
+ chmod a-x $(DOCS_DEST)/*/*.pd $(DOCS_DEST)/*/*/*.pd $(DOCS_DEST)/*/*/*/*.pd
+ chmod -R a-w $(DOCS_DEST)
# serendiPd shared patch
- chmod a+w $(DOC_DST)/serendipd/*shared_patch.pd
+ test -d $(DOCS_DEST)/serendipd && \
+ chmod a+w $(DOCS_DEST)/serendipd/*shared_patch.pd
dmg: darwin_app_readme darwin_app_welcome darwin_app_license darwin_app_perms
install -d "$(CWD)/$(DMG_NAME)"
- cd $(DESTDIR) && mv $(PD_APP_NAME).app "$(CWD)/$(DMG_NAME)/$(DMG_NAME).app"
+ cd $(BUILD_BASE) && mv $(PD_APP_NAME).app "$(CWD)/$(DMG_NAME)/$(DMG_NAME).app"
install -p -m0444 $(PD_SRC)/LICENSE.txt "$(CWD)/$(DMG_NAME)/PD LICENSE.txt"
install -p -m0444 $(LICENSE_FILE) $(README_FILE) \
$(WELCOME_FILE) $(LICENSE_FILE) "$(CWD)/$(DMG_NAME)"
@@ -560,35 +299,75 @@ darwin_pd_clean:
cd $(PD_SRC)/src/ && make clean
darwin_app_clean:
- -sudo rm -Rf -- $(DESTDIR) "$(DMG_NAME)"
+ -sudo rm -Rf -- $(BUILD_BASE) "$(DMG_NAME)"
-rm -f -- *~ 1 $(README_FILE) $(WELCOME_FILE) $(LICENSE_FILE) \
$(UNIX_PACKAGE_NAME).pkg "$(DMG_NAME).dmg"
-darwin_unpatch_pd:
-# this sed pattern won't work with TEST versions
- cd $(PD_SRC)/src && \
- sed -i.bak 's/\(pd_version\[\] = "Pd version [0-9.]*\)[0-9extndRC.-]*/\1/' \
- s_main.c && \
- rm -- *.bak
- cd $(PD_SRC)/src/ && patch -R -p0 < \
- ../../packages/darwin_app/patches/darwin_linking_fixes.patch
- cd $(PD_SRC)/src/ && patch -R -p0 < \
- ../../packages/darwin_app/patches/extended-help-menu.patch
- cd $(PD_SRC)/src/ && patch -R -p0 < \
- ../../packages/darwin_app/patches/display_tweaks.patch
-
darwin_app_externals_standard_clean:
cd $(EXTERNALS_SRC)/build/darwin && make clean
- cd $(EXTERNALS_SRC)/build/doc && make clean
cd $(EXTERNALS_SRC)/hcs/hid && make clean
darwin_app_externals_gem_clean:
- cd ../../Gem && pbxbuild clean
+ cd $(GEM_SRC)/Gem && xcodebuild clean
darwin_app_externals_flext_clean:
cd $(EXTERNALS_SRC)/footils/syncgrain && make -f makefile.pd-darwin clean
- cd $(EXTERNALS_SRC)/grill && \
+ -cd $(EXTERNALS_SRC)/grill && \
rm -- flext/buildsys/config-mac-pd-gcc.txt config.txt flext/config.txt \
- flext/source/libflext.a */pd-darwin/*.o */pd-darwin/*.pd_darwin \
- */pd-darwin/*/*.pd_darwin
+ flext/source/libflext.a */pd-darwin/*.o */pd-darwin/*/*.o \
+ */pd-darwin/*/*.pd_darwin */pd-darwin/*.pd_darwin \
+ */pd-darwin/release-shared/*.dylib */pd-darwin/release-shared/*.opp
+
+
+
+#==============================================================================#
+#
+## DEPRECATED TARGETS
+#
+#==============================================================================#
+
+darwin_app_externals:
+ @echo " "
+ @echo "Deprecated!!"
+ @echo "cd $(EXTERNALS_SRC) && make install"
+
+darwin_app_externals_standard:
+ @echo " "
+ @echo "Deprecated!!"
+ @echo "cd $(EXTERNALS_SRC) && make install"
+
+darwin_patch_pd:
+ @echo " "
+ @echo "Deprecated!!"
+ @echo "cd .. && make patch_pd"
+
+darwin_unpatch_pd:
+ @echo " "
+ @echo "Deprecated!!"
+ @echo "cd .. && make unpatch_pd"
+
+darwin_app_docs:
+ @echo " "
+ @echo "Deprecated!!"
+ @echo "cd $(DOC_SRC) && make install"
+
+darwin_app_license:
+ @echo " "
+ @echo "Deprecated!!"
+ @echo "cd .. && make license"
+
+darwin_app_welcome:
+ @echo " "
+ @echo "Deprecated!!"
+ @echo "cd .. && make welcome"
+
+darwin_app_readme:
+ @echo " "
+ @echo "Deprecated!!"
+ @echo "cd .. && make readme"
+
+darwin_prebuilt_app:
+ @echo " "
+ @echo "Deprecated!!"
+ @echo "Use make extended_app_install"
diff --git a/packages/darwin_app/TODO b/packages/darwin_app/TODO
index 20f9be12..f20961a3 100644
--- a/packages/darwin_app/TODO
+++ b/packages/darwin_app/TODO
@@ -1,23 +1,35 @@
-- review permissions so that you can build on top on existing builds
+- make Pd open a new window when its launched to workaround the bug where the
+ menus don't work until a window is opened.
-- import nqpoly4 and write helpfiles based on website:
- http://pix.test.at/pd/nqpoly/nqpoly4.html
+- otool dylib help: http://qin.laya.com/tech_coding_help/dylib_linking.html
-- add standard paths to included org.puredata.pd.plist following these
- guidelines:
-http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/WhereToPutFiles.html
+- add symbolic link for flext
+ (cd Pd.app/Contents/Resources/extra && ln -s . lib)
- explore Pd.app/Contents/Plugins with "Get Info" installation for externals
+ (just make it a symlink to Resources/extra)
+
+- from Carmen Rocco about [fiddle~] crash: "is fiddle~: * compiled with the same header * linked with the same binary of (lib)pd * compiled with the same compiler? i had very similar issues with bonk on windows (Virtually same stacktrace but s/fiddle/bonk) until fixing the above 3 things..."
+
+- test for noncvs locations before copying to prevent show-stopping errors
+
+- investigate moving pd binary to Contents/MacOS to solve GEM window not
+ getting focus, i.e. no symlink, make it the real binary location
+
+- review permissions so that you can build on top on existing builds
-- include org.puredata.pd.plist file in the DMG
+- add standard paths to included org.puredata.pd.plist following these
+ guidelines:
+http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/WhereToPutFiles.html
-- add "extended" version to pd/src/s_main.c:char pd_version[] = "Pd version 0.38.4\n";
+- help menu
-- create old-style Help->Pure Documentation link on Help menu. It should use a
- symlink to the "doc" dir internal to that particular Pd.app. The symlink is
- named after the complete path to the "doc" dir, like:
- /tmp/.Applications_Pd-0.38-4.app_Contents_Resources_doc
+ - check up on this bug: Opening Help patches from "Pure Documentation"
+
+ - make help menu function check if item exists before trying to make a
+ menu item so that it doesn't break pd.tk<->pd interaction (i.e. windows
+ titled x50bf90). (the recursive function might have fixed this)
- try this for the Pref Pane:
kAEShowPreferences ::tk::mac::ShowPreferences
@@ -34,22 +46,24 @@ http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles
- instead of hiding menus, grey-out/disable menu items on Pd window
- one method for creating all menus
- Pd window has method which disables menus
+ - flash menu when accelerator hits
+ - fix edit mode menu item (make it a checkbox or change to "play mode"
-- make Cmd-Delete also delete, as well as just Delete, so that my Finder key
- command habits work in Pd as well
-
-- create general optimization flag system
+- redo key mapping system
+ - make Cmd-Delete also delete, as well as just Delete, so that my
+ Finder key command habits work in Pd as well
+ - make Cmd-click work like Ctrl-click
- convert from -DMACOSX to -D__APPLE__ where ever possible (check out
__gnu_linux__) while I am at it
-
+- instead of shipping Pd.app with a org.puredata.pd.plist, make a script that
+ uses the "defaults" command to add the desired prefs to any existing
+ file. (its a good idea, but unforunately, the key names prevent that from
+ working, i.e. loadlib1, loadlib2, etc)
------------------------------------------------------------------------------
semi-abandoned TODOs
-
-- make Help menu generator recursive
-
- make a web page that has stuff that can't be included due to license issues:
(percolate)
diff --git a/packages/darwin_app/patches/MACOSX-to-__APPLE__.patch b/packages/darwin_app/patches/MACOSX-to-__APPLE__.patch
deleted file mode 100644
index c8347c06..00000000
--- a/packages/darwin_app/patches/MACOSX-to-__APPLE__.patch
+++ /dev/null
@@ -1,357 +0,0 @@
-Index: configure.in
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/configure.in,v
-retrieving revision 1.10
-diff -u -w -r1.10 configure.in
---- configure.in 30 May 2005 04:37:25 -0000 1.10
-+++ configure.in 9 Jun 2005 06:01:51 -0000
-@@ -218,7 +218,7 @@
- -framework AudioUnit -framework AudioToolbox \
- -framework Carbon -framework CoreMIDI"
- EXT=pd_darwin
-- MORECFLAGS="-DMACOSX -DUNISTD -I/usr/X11R6/include \
-+ MORECFLAGS="-DUNISTD -I/usr/X11R6/include \
- -I../portaudio/pa_common -I../portaudio/pablio \
- -I../portmidi/pm_common -I../portmidi/pm_mac \
- -I../portmidi/porttime \
-Index: d_array.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/d_array.c,v
-retrieving revision 1.5
-diff -u -w -r1.5 d_array.c
---- d_array.c 11 Nov 2004 04:58:21 -0000 1.5
-+++ d_array.c 9 Jun 2005 06:01:51 -0000
-@@ -540,12 +540,12 @@
- #define int32 int32_t
-
- #else
--#ifdef MACOSX
-+#ifdef __APPLE__
- #define HIOFFSET 0 /* word offset to find MSB */
- #define LOWOFFSET 1 /* word offset to find LSB */
- #define int32 int /* a data type that has 32 bits */
-
--#endif /* MACOSX */
-+#endif /* __APPLE__ */
- #endif /* __linux__ */
- #endif /* MSW */
- #endif /* SGI */
-Index: d_osc.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/d_osc.c,v
-retrieving revision 1.2
-diff -u -w -r1.2 d_osc.c
---- d_osc.c 6 Sep 2004 20:20:33 -0000 1.2
-+++ d_osc.c 9 Jun 2005 06:01:51 -0000
-@@ -56,12 +56,12 @@
- #define int32 int32_t
-
- #else
--#ifdef MACOSX
-+#ifdef __APPLE__
- #define HIOFFSET 0 /* word offset to find MSB */
- #define LOWOFFSET 1 /* word offset to find LSB */
- #define int32 int /* a data type that has 32 bits */
-
--#endif /* MACOSX */
-+#endif /* __APPLE__ */
- #endif /* __linux__ */
- #endif /* MSW */
- #endif /* SGI */
-Index: g_canvas.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_canvas.c,v
-retrieving revision 1.7
-diff -u -w -r1.7 g_canvas.c
---- g_canvas.c 18 May 2005 04:28:50 -0000 1.7
-+++ g_canvas.c 9 Jun 2005 06:01:51 -0000
-@@ -25,7 +25,7 @@
- #define GLIST_DEFCANVASWIDTH 450
- #define GLIST_DEFCANVASHEIGHT 300
-
--#ifdef MACOSX
-+#ifdef __APPLE__
- #define GLIST_DEFCANVASYLOC 22
- #else
- #define GLIST_DEFCANVASYLOC 0
-Index: g_editor.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_editor.c,v
-retrieving revision 1.7
-diff -u -w -r1.7 g_editor.c
---- g_editor.c 18 May 2005 04:28:50 -0000 1.7
-+++ g_editor.c 9 Jun 2005 06:01:52 -0000
-@@ -949,7 +949,7 @@
-
- /* on one-button-mouse machines, you can use double click to
- mean right click (which gets the popup menu.) Do this for Mac. */
--#ifdef MACOSX
-+#ifdef __APPLE__
- #define SIMULATERIGHTCLICK
- #endif
-
-@@ -1412,7 +1412,7 @@
- keyupsym = gensym("#keyup");
- keynamesym = gensym("#keyname");
- }
--#ifdef MACOSX
-+#ifdef __APPLE__
- if (keynum == 30)
- keynum = 0, gotkeysym = gensym("Up");
- else if (keynum == 31)
-Index: g_text.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_text.c,v
-retrieving revision 1.7
-diff -u -w -r1.7 g_text.c
---- g_text.c 18 May 2005 04:28:51 -0000 1.7
-+++ g_text.c 9 Jun 2005 06:01:52 -0000
-@@ -1100,7 +1100,7 @@
-
- /* -------------------- the "text" class ------------ */
-
--#ifdef MACOSX
-+#ifdef __APPLE__
- #define EXTRAPIX 2
- #else
- #define EXTRAPIX 1
-Index: s_file.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/s_file.c,v
-retrieving revision 1.5
-diff -u -w -r1.5 s_file.c
---- s_file.c 30 May 2005 03:04:18 -0000 1.5
-+++ s_file.c 9 Jun 2005 06:01:52 -0000
-@@ -205,7 +205,7 @@
-
- #endif /* MSW */
-
--#ifdef MACOSX
-+#ifdef __APPLE__
-
- static void sys_initloadpreferences( void)
- {
-@@ -255,7 +255,7 @@
- {
- }
-
--#endif /* MACOSX */
-+#endif /* __APPLE__ */
-
- void sys_loadpreferences( void)
- {
-Index: s_inter.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/s_inter.c,v
-retrieving revision 1.9
-diff -u -w -r1.9 s_inter.c
---- s_inter.c 30 May 2005 03:04:18 -0000 1.9
-+++ s_inter.c 9 Jun 2005 06:01:53 -0000
-@@ -40,7 +40,7 @@
- #include <string.h>
- #include <stdio.h>
-
--#ifdef MACOSX
-+#ifdef __APPLE__
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <pthread.h>
-@@ -1007,7 +1007,7 @@
- else if (!childpid) /* we're the child */
- {
- seteuid(getuid()); /* lose setuid priveliges */
--#ifndef MACOSX
-+#ifndef __APPLE__
- /* the wish process in Unix will make a wish shell and
- read/write standard in and out unless we close the
- file descriptors. Somehow this doesn't make the MAC OSX
-@@ -1026,7 +1026,7 @@
- #endif
- if (!sys_guicmd)
- {
--#ifdef MACOSX
-+#ifdef __APPLE__
- char *homedir = getenv("HOME"), filename[250];
- struct stat statbuf;
- if (!homedir || strlen(homedir) > 150)
-@@ -1165,7 +1165,7 @@
- if (!SetPriorityClass(GetCurrentProcess(), HIGH_PRIORITY_CLASS))
- fprintf(stderr, "pd: couldn't set high priority class\n");
- #endif
--#ifdef MACOSX
-+#ifdef __APPLE__
- if (sys_hipriority)
- {
- struct sched_param param;
-@@ -1177,7 +1177,7 @@
- if (err)
- post("warning: high priority scheduling failed\n");
- }
--#endif /* MACOSX */
-+#endif /* __APPLE__ */
-
- if (!sys_nogui && !sys_guisetportnumber)
- {
-Index: s_loader.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/s_loader.c,v
-retrieving revision 1.6
-diff -u -w -r1.6 s_loader.c
---- s_loader.c 30 May 2005 03:04:19 -0000 1.6
-+++ s_loader.c 9 Jun 2005 06:01:53 -0000
-@@ -13,7 +13,7 @@
- #include <io.h>
- #include <windows.h>
- #endif
--#ifdef MACOSX
-+#ifdef __APPLE__
- #include <mach-o/dyld.h>
- #endif
- #include <string.h>
-@@ -37,7 +37,7 @@
- #ifdef __linux__
- ".pd_linux";
- #endif
--#ifdef MACOSX
-+#ifdef __APPLE__
- ".pd_darwin";
- #endif
- #ifdef MSW
-@@ -90,7 +90,7 @@
- if (lastdot = strrchr(nameptr, '.'))
- *lastdot = 0;
-
--#ifdef MACOSX
-+#ifdef __APPLE__
- strcpy(symname, "_");
- strcat(symname, nameptr);
- #else
-@@ -122,7 +122,7 @@
- }
- makeout = (t_xxx)GetProcAddress(ntdll, symname);
- #endif
--#ifdef MACOSX
-+#ifdef __APPLE__
- {
- NSObjectFileImage image;
- void *ret;
-Index: s_path.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/s_path.c,v
-retrieving revision 1.6
-diff -u -w -r1.6 s_path.c
---- s_path.c 18 May 2005 04:28:51 -0000 1.6
-+++ s_path.c 9 Jun 2005 06:01:53 -0000
-@@ -356,7 +356,7 @@
- }
-
-
--/* Startup file reading for linux and MACOSX. As of 0.38 this will be
-+/* Startup file reading for linux and Mac OS X. As of 0.38 this will be
- deprecated in favor of the "settings" mechanism */
-
- int sys_argparse(int argc, char **argv);
-Index: s_stuff.h
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/s_stuff.h,v
-retrieving revision 1.6
-diff -u -w -r1.6 s_stuff.h
---- s_stuff.h 28 Nov 2004 21:20:43 -0000 1.6
-+++ s_stuff.h 9 Jun 2005 06:01:53 -0000
-@@ -160,7 +160,7 @@
- #define API_DEFAULT API_MMIO
- #define API_DEFSTRING "MMIO"
- #endif
--#ifdef MACOSX
-+#ifdef __APPLE__
- #define API_DEFAULT API_PORTAUDIO
- #define API_DEFSTRING "portaudio"
- #endif
-Index: t_main.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/t_main.c,v
-retrieving revision 1.2
-diff -u -w -r1.2 t_main.c
---- t_main.c 6 Sep 2004 20:20:36 -0000 1.2
-+++ t_main.c 9 Jun 2005 06:01:53 -0000
-@@ -14,7 +14,7 @@
- */
-
-
--#ifndef MACOSX /* linux and IRIX only; in MACOSX we don't link this in */
-+#ifndef __APPLE__ /* linux and IRIX only; in Mac OS X we don't link this in */
- #include "tk.h"
- #include <stdlib.h>
-
-@@ -112,4 +112,4 @@
- return TCL_OK;
- }
-
--#endif /* MACOSX */
-+#endif /* __APPLE__ */
-Index: t_tkcmd.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/t_tkcmd.c,v
-retrieving revision 1.3
-diff -u -w -r1.3 t_tkcmd.c
---- t_tkcmd.c 6 Nov 2004 16:07:34 -0000 1.3
-+++ t_tkcmd.c 9 Jun 2005 06:01:53 -0000
-@@ -40,7 +40,7 @@
- #include "tk.h"
- #endif
-
--#ifdef MACOSX
-+#ifdef __APPLE__
- #define STARTGUI
- #endif
-
-@@ -528,7 +528,7 @@
- /* in linux, we load the tk code from here (in MSW and MACOS, this
- is done by passing the name of the file as a startup argument to
- the wish shell.) */
--#if !defined(MSW) && !defined(MACOSX)
-+#if !defined(MSW) && !defined(__APPLE__)
- void pdgui_doevalfile(Tcl_Interp *interp, char *s)
- {
- char buf[GUISTRING];
-@@ -566,7 +566,7 @@
- #endif
- pdgui_setupsocket();
- /* read in the startup file */
--#if !defined(MSW) && !defined(MACOSX)
-+#if !defined(MSW) && !defined(__APPLE__)
- pdgui_evalfile("pd.tk");
- #endif
- }
-Index: x_arithmetic.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/x_arithmetic.c,v
-retrieving revision 1.2
-diff -u -w -r1.2 x_arithmetic.c
---- x_arithmetic.c 6 Sep 2004 20:20:36 -0000 1.2
-+++ x_arithmetic.c 9 Jun 2005 06:01:53 -0000
-@@ -11,7 +11,7 @@
-
-
- /* MSW and OSX don't appear to have single-precision ANSI math */
--#if defined(MSW) || defined(MACOSX)
-+#if defined(MSW) || defined(__APPLE__)
- #define sinf sin
- #define cosf cos
- #define atanf atan
-Index: x_misc.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/x_misc.c,v
-retrieving revision 1.2
-diff -u -w -r1.2 x_misc.c
---- x_misc.c 6 Sep 2004 20:20:36 -0000 1.2
-+++ x_misc.c 9 Jun 2005 06:01:53 -0000
-@@ -21,7 +21,7 @@
- #include <time.h>
- #endif
-
--#if defined (MACOSX) || defined (__FreeBSD__)
-+#if defined (__APPLE__) || defined (__FreeBSD__)
- #define HZ CLK_TCK
- #endif
-
diff --git a/packages/darwin_app/patches/darwin_linking_fixes.patch b/packages/darwin_app/patches/darwin_linking_fixes.patch
deleted file mode 100644
index dd1c2db3..00000000
--- a/packages/darwin_app/patches/darwin_linking_fixes.patch
+++ /dev/null
@@ -1,149 +0,0 @@
-Index: configure.in
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/configure.in,v
-retrieving revision 1.10
-diff -u -w -r1.10 configure.in
---- configure.in 30 May 2005 04:37:25 -0000 1.10
-+++ configure.in 7 Jun 2005 00:14:52 -0000
-@@ -13,6 +13,7 @@
- AC_SUBST(USE_DEBUG_CFLAGS, no)
- AC_SUBST(SYSSRC)
- AC_SUBST(STRIPFLAG)
-+AC_SUBST(TCLTK_FRAMEWORKS_PATH)
- AC_SUBST(GUINAME)
- AC_SUBST(GUIFLAGS)
- AC_SUBST(OSNUMBER)
-@@ -207,6 +208,24 @@
- OPT_CFLAGS="-g"
- else
- OPT_CFLAGS="-O6 -funroll-loops -fomit-frame-pointer"
-+
-+ if test x$jack == "xyes";
-+ then
-+ LDFLAGS=$LDFLAGS" -lrt -ljack"
-+ fi
-+ if test x$jack == "xrun";
-+ then
-+ LDFLAGS=$LDFLAGS" -lrt -ljack"
-+ fi
-+ fi
-+
-+ if test x$jack == "xyes";
-+ then
-+ LDFLAGS=$LDFLAGS" -lrt -ljack"
-+ fi
-+ if test x$jack == "xrun";
-+ then
-+ LDFLAGS=$LDFLAGS" -lrt -ljack"
- fi
- echo OPT_CFLAGS --------------- $OPT_CFLAGS
- OSNUMBER=0
-@@ -245,11 +264,25 @@
- ../portmidi/pm_common/portmidi.c \
- ../portmidi/porttime/ptmacosx_cf.c "
- STRIPFLAG=""
-- GUINAME="pdtcl"
-- GUIFLAGS="-F../../Frameworks -framework Tcl -framework Tk \
-- -I../../Frameworks/Tk.framework/Versions/Current/Headers \
-- -I../../Frameworks/Tcl.framework/Versions/Current/Headers \
-- -I../../Frameworks/Tcl.framework/Versions/8.4/PrivateHeaders"
-+ GUINAME="libPdTcl.dylib"
-+
-+# find the Tcl/Tk Frameworks
-+ if test -d "../../Frameworks";
-+ then
-+ # Miller's location
-+ TCLTK_FRAMEWORKS_PATH="../../Frameworks"
-+ elif test -d "/Library/Frameworks";
-+ then
-+ # get it from the default install location
-+ TCLTK_FRAMEWORKS_PATH="/Library/Frameworks"
-+ else
-+ # Panther has Tcl here; Tiger has Tcl and Tk here
-+ TCLTK_FRAMEWORKS_PATH="/System/Library/Frameworks"
-+ fi
-+ GUIFLAGS="-F$TCLTK_FRAMEWORKS_PATH -framework Tcl -framework Tk \
-+ -I$TCLTK_FRAMEWORKS_PATH/Tk.framework/Versions/Current/Headers \
-+ -I$TCLTK_FRAMEWORKS_PATH/Tcl.framework/Versions/Current/Headers \
-+ -I$TCLTK_FRAMEWORKS_PATH/Tcl.framework/Versions/8.4/PrivateHeaders"
- if test x$USE_DEBUG_CFLAGS == "xyes";
- then
- OPT_CFLAGS="-g"
-@@ -258,11 +291,14 @@
- fi
- OSNUMBER=2
- EXTERNTARGET=pd_darwin
-+
- if test x$jack == "xyes";
- then
-- LDFLAGS=$LDFLAGS" -framework Jack"
-- MORECFLAGS=$MORECFLAGS" -DUSEAPI_JACK"
-- SYSSRC=$SYSSRC" s_audio_jack.c"
-+ LDFLAGS=$LDFLAGS" -weak_framework Jack"
-+ fi
-+ if test x$jack == "xrun";
-+ then
-+ LDFLAGS=$LDFLAGS" -weak_framework Jack"
- fi
- fi
-
-@@ -272,13 +308,11 @@
- then
- MORECFLAGS=$MORECFLAGS" -DUSEAPI_JACK"
- SYSSRC=$SYSSRC" s_audio_jack.c"
-- LDFLAGS=$LDFLAGS" -lrt -ljack"
- fi
- if test x$jack == "xrun";
- then
- MORECFLAGS=$MORECFLAGS" -DUSEAPI_JACK -DJACK_XRUN"
- SYSSRC=$SYSSRC" s_audio_jack.c"
-- LDFLAGS=$LDFLAGS" -lrt -ljack"
- fi
-
- # extra flags for alpha machines
-Index: makefile.in
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/makefile.in,v
-retrieving revision 1.6
-diff -u -w -r1.6 makefile.in
---- makefile.in 18 May 2005 04:28:51 -0000 1.6
-+++ makefile.in 7 Jun 2005 00:14:52 -0000
-@@ -97,11 +97,17 @@
- cp u_main.tk $(BIN_DIR)/pd.tk
-
- #this is for Max OSX only...
--$(BIN_DIR)/pdtcl: $(GOBJ) $(GSRC)
-- cd ../obj; libtool -dynamic -o $(BIN_DIR)/pdtcl $(GOBJ) \
-- ../../Frameworks/Tk.framework/Versions/Current/Tk \
-- ../../Frameworks/Tcl.framework/Versions/Current/Tcl \
-- /usr/lib/libSystem.B.dylib
-+$(BIN_DIR)/libPdTcl.dylib: $(GOBJ) $(GSRC)
-+ cd ../obj && $(CC) -dynamiclib -read_only_relocs warning \
-+ -o $(BIN_DIR)/libPdTcl.dylib $(GOBJ) \
-+ -F@TCLTK_FRAMEWORKS_PATH@ \
-+ -framework Tcl -framework Tk -framework System \
-+ -Wl,-install_name,@executable_path/../Resources/bin/libPdTcl.dylib
-+ install_name_tool -change @TCLTK_FRAMEWORKS_PATH@/Tcl.framework/Versions/8.4/Tcl\
-+ @executable_path/../Frameworks/Tcl.framework/Versions/8.4/Tcl \
-+ -change @TCLTK_FRAMEWORKS_PATH@/Tk.framework/Versions/8.4/Tk \
-+ @executable_path/../Frameworks/Tk.framework/Versions/8.4/Tk \
-+ ../bin/libPdTcl.dylib
-
- externs:
- cd ../extra/bonk~;make @EXTERNTARGET@
-Index: u_main.tk
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/u_main.tk,v
-retrieving revision 1.9
-diff -u -w -r1.9 u_main.tk
---- u_main.tk 18 May 2005 04:28:51 -0000 1.9
-+++ u_main.tk 7 Jun 2005 00:14:52 -0000
-@@ -48,7 +48,7 @@
- global pd_tearoff
- set pd_gui2 [string range $argv0 0 [expr [string last / $argv0 ] - 1]]
- set pd_guidir $pd_gui2/..
-- load $pd_guidir/bin/pdtcl
-+ load $pd_guidir/bin/libPdTcl.dylib
- set pd_tearoff 0
-
- # tk::mac::OpenDocument is called with the filenames put into the
diff --git a/packages/darwin_app/patches/display_tweaks.patch b/packages/darwin_app/patches/display_tweaks.patch
deleted file mode 100644
index 59771854..00000000
--- a/packages/darwin_app/patches/display_tweaks.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- ../../pd/src/u_main.tk Thu Jun 9 11:54:59 2005
-+++ build/Pd.app/Contents/Resources/bin/pd.tk Thu Jun 9 16:17:58 2005
-@@ -37,6 +37,12 @@
- if {$pd_nt == 2} {
- # turn on James Tittle II's fast drawing (wait until I can test this...):
- # set tk::mac::useCGDrawing 1
-+ # set minimun line size for anti-aliasing. If set to 1 or 0, then every
-+ # line will be anti-aliased. While this makes connections and circles in
-+ # [bng] and such look really good, it makes boxes and messages look out of
-+ # focus. Setting this to 2 makes it so the thick audio rate connections
-+ # are anti-aliased. <hans@at.or.at> 2005-06-09
-+ set tk::mac::CGAntialiasLimit 2
- global pd_guidir
- global pd_tearoff
- set pd_gui2 [string range $argv0 0 [expr [string last / $argv0 ] - 1]]
-@@ -158,7 +164,7 @@
-
-
- frame .printout
--text .printout.text -relief raised -bd 2 -font -*-courier-bold--normal--12-* \
-+text .printout.text -relief raised -bd 2 -font { courier 12 } \
- -yscrollcommand ".printout.scroll set" -width 80
- # .printout.text insert end "\n\n\n\n\n\n\n\n\n\n"
- scrollbar .printout.scroll -command ".printout.text yview"
-@@ -337,7 +343,7 @@
- global pd_myversion
- set name [format ".help%d" $doc_number]
- toplevel $name
-- text $name.text -relief raised -bd 2 -font -*-courier-bold--normal--12-* \
-+ text $name.text -relief raised -bd 2 -font { helvetica 14 } \
- -yscrollcommand "$name.scroll set" -background white
- scrollbar $name.scroll -command "$name.text yview"
- pack $name.scroll -side right -fill y
diff --git a/packages/darwin_app/patches/extended-help-menu.patch b/packages/darwin_app/patches/extended-help-menu.patch
deleted file mode 100644
index 00809abb..00000000
--- a/packages/darwin_app/patches/extended-help-menu.patch
+++ /dev/null
@@ -1,174 +0,0 @@
-Index: u_main.tk
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/u_main.tk,v
---- pd-0.38-4/src/u_main.tk Sun Feb 20 20:03:36 2005
-+++ u_main.tk Wed Nov 16 00:33:02 2005
-@@ -374,22 +374,41 @@
- set help_directory $pd_guidir/doc
- set help_top_directory $pd_guidir/doc
-
-+################## generate_menu_doc_link #########################
-+# This procedure generates a temporary mirror of the documentation directory
-+# in /tmp so that it can be opened from the Help->Pure Documentation... menu
-+# under Mac OS X. It is meant to be run at startup.
-+# Damn you Apple and your "hide stuff from the user" "features".
-+# <hans@at.or.at.>
-+proc generate_menu_doc_link {} {
-+ global help_directory
-+
-+ regsub -all "/" $help_directory "." help_directory_alias
-+ set help_directory_alias /tmp/$help_directory_alias
-+ set help_directory_tmpdir $help_directory_alias/doc
-+ # if something other than a directory exists, delete it
-+ if [file exists $help_directory_alias] {
-+ file delete -force -- $help_directory_alias
-+ }
-+ if { ! [ file isdirectory $help_directory_tmpdir ] } {
-+ file mkdir $help_directory_tmpdir
-+ }
-+ foreach file [ lsort [ glob -dir $help_directory * ] ] {
-+ regsub -all ".*/" $file "" link_file_name
-+ file link -symbolic [file join $help_directory_tmpdir $link_file_name ] $file
-+ }
-+ set help_directory $help_directory_tmpdir
-+}
-+
-+################## menu_documentation #########################
- proc menu_documentation {} {
- global help_directory
- global pd_nt
- global pd_guidir
-
-- if {$pd_nt == 2} {
-- exec rm -rf /tmp/pd-documentation
-- exec cp -pr $pd_guidir/doc /tmp/pd-documentation
-- set filename [tk_getOpenFile -defaultextension .pd \
-- -filetypes { {{documentation} {.pd .txt .htm}} } \
-- -initialdir /tmp/pd-documentation]
-- } else {
- set filename [tk_getOpenFile -defaultextension .pd \
- -filetypes { {{documentation} {.pd .txt .htm}} } \
- -initialdir $help_directory]
-- }
- if {$filename != ""} {
- if {[string first .txt $filename] >= 0} {
- menu_opentext $filename
-@@ -411,35 +430,57 @@
-
- set dirname $pd_guidir/$subdir
-
-+ set file_type [file type $dirname/$basename]
-+ if { $file_type == "directory" } {
-+ pd [concat pd open [pdtk_enquote $basename] \
-+ [pdtk_enquote $dirname] \;]
-+ } else {
- if {[regexp ".*\.(txt|c)$" $basename]} {
- menu_opentext $dirname/$basename
-+ } elseif {[regexp ".*\.(pd|max)$" $basename]} {
-+ pd [concat pd open [pdtk_enquote $basename] \
-+ [pdtk_enquote $dirname] \;]
- } elseif {[regexp ".*\.html?$" $basename]} {
- menu_openhtml $dirname/$basename
- } else {
-- pd [concat pd open [pdtk_enquote $basename] \
-- [pdtk_enquote $dirname] \;]
-+ menu_openhtml $dirname/$basename
-+ }
- }
- }
-
--proc doc_submenu {helpmenu subdir} {
-- global help_top_directory pd_tearoff
--
-- set menudir $help_top_directory/$subdir
-
-- regsub -all "\\\." $subdir "" submenu
-+################## menu_doc_submenu #########################
-
-+# this is a recursive function to generation a nested menu in the help menu
-+# which shows the complete contents of the doc directory <hans@at.or.at>
-+proc menu_doc_submenu {helpmenu base_dir sub_dir} {
-+ global pd_tearoff
-+ global help_top_directory
-+
-+ set menu_dir $help_top_directory/$base_dir/$sub_dir
-+
-+ foreach file [ lsort [ glob -nocomplain -dir $menu_dir * ] ] {
-+ set file_type [file type $file]
-+ regsub {.*/(.*$)} $file {\1} file_name
-+ # If links are going to be used then there needs to be a check to see if each
-+ # link might cause this function to recurse forever <hans@at.or.at>
-+ # if { $file_type == "link"} {
-+ # puts stderr "LINK: $file"
-+ # }
-+ if { $file_type == "file" } {
-+ # only put certain file types on the menu
-+ if {[regexp ".*\.(htm|html|c|pd|txt|pdf|wav|aif|aiff)$" $file]} {
-+ $helpmenu add command -label $file_name \
-+ -command "menu_doc_open doc/$base_dir/$sub_dir $file_name"
-+ }
-+ } elseif { $file_type == "directory" } {
-+ regsub -all "\\\." [string tolower $file_name] "" submenu
- menu $helpmenu.$submenu -tearoff $pd_tearoff
-- regsub -all "\\\." $subdir " " submenuname
-+ regsub -all "\\\." $file_name " " submenuname
- $helpmenu add cascade -label $submenuname \
- -menu $helpmenu.$submenu
--
--# use this glob pattern to exclude the supporting files
--# foreach file [ lsort [ glob -dir $menudir {*[0-9][0-9]*} ] ]
-- foreach file [ lsort [ glob -dir $menudir * ] ] {
-- set filename ""
-- regsub {.*/(.*\..+$)} $file {\1} filename
-- $helpmenu.$submenu add command -label $filename \
-- -command "menu_doc_open doc/$subdir $filename"
-+ menu_doc_submenu $helpmenu.$submenu $base_dir/$sub_dir [file tail $file]
-+ }
- }
- }
-
-@@ -494,7 +535,18 @@
-
-
- # the "Help" menu
-- if {$pd_nt != 2} {
-+ if {$pd_nt == 2} {
-+# Apple doesn't allow cascading menus in their Help so I had to call this
-+# one "docs" <hans@at.or.at>
-+ generate_menu_doc_link
-+ $mbar.docs add command -label {Browse Documentation...} \
-+ -command {menu_documentation}
-+ # the help menu only really works well on Mac OS X <hans@at.or.at>
-+ $mbar.docs add command -label {Pd HTML Manual...} \
-+ -command {menu_doc_open doc/1.manual index.htm}
-+ $mbar.docs add separator
-+ menu_doc_submenu $mbar.docs "." "."
-+ } else {
- # a menu on the main menubar named "$whatever.help" while be treated
- # as a special menu with specific behaviors on different platforms.
- # See SPECIAL MENUS IN MENUBARS http://www.tcl.tk/man/tcl8.4/TkCmd/menu.htm
-@@ -502,22 +554,9 @@
- -command {menu_doc_open doc/1.manual 1.introduction.txt}
- $mbar.help add command -label {Pure Documentation...} \
- -command {menu_documentation}
-- # add menu items for each section instead of using Pd patches
-- $mbar.help add separator
-- set helpmenuname help
-- } else {
--# Apple doesn't allow cascading menus in their Help so I had to call this
--# one "docs" <hans@at.or.at>
-- set helpmenuname docs
-- }
--
-- $mbar.$helpmenuname add command -label {1 manual...} \
-+ $mbar.help add command -label {1 manual...} \
- -command {menu_doc_open doc/1.manual index.htm}
-- doc_submenu $mbar.$helpmenuname 2.control.examples
-- doc_submenu $mbar.$helpmenuname 3.audio.examples
-- doc_submenu $mbar.$helpmenuname 4.fft.examples
-- doc_submenu $mbar.$helpmenuname 5.reference
-- doc_submenu $mbar.$helpmenuname 6.externs
-+ }
- }
-
- #################### the "File" menu for the Pd window ##############
diff --git a/packages/darwin_app/patches/special_chars_hack.patch b/packages/darwin_app/patches/special_chars_hack.patch
deleted file mode 100644
index 63effe65..00000000
--- a/packages/darwin_app/patches/special_chars_hack.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-Index: s_loader.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/s_loader.c,v
-retrieving revision 1.6
-diff -u -w -r1.6 s_loader.c
---- s_loader.c 30 May 2005 03:04:19 -0000 1.6
-+++ s_loader.c 15 Nov 2005 22:28:41 -0000
-@@ -49,7 +49,7 @@
- int sys_load_lib(char *dirname, char *classname)
- {
- char symname[MAXPDSTRING], filename[MAXPDSTRING], dirbuf[MAXPDSTRING],
-- classname2[MAXPDSTRING], *nameptr, *lastdot;
-+ classname2[MAXPDSTRING], *nameptr, *lastdot, tmptildestr[MAXPDSTRING];
- void *dlobj;
- t_xxx makeout = NULL;
- int fd;
-@@ -96,9 +96,40 @@
- #else
- strcpy(symname, nameptr);
- #endif
-+ /*
-+ * this is a quick hack to get the matrix externals working as single
-+ * files. This should be done with hex translation of special characters
-+ * <hans@at.or.at>
-+ */
- /* if the last character is a tilde, replace with "_tilde" */
- if (symname[strlen(symname) - 1] == '~')
-- strcpy(symname + (strlen(symname) - 1), "_tilde");
-+ {
-+ strcpy(symname + (strlen(symname) - 1), "");
-+ strcpy(tmptildestr, "_tilde");
-+ }
-+ else
-+ {
-+ strcpy(tmptildestr, "");
-+ }
-+ switch (symname[strlen(symname) - 1])
-+ {
-+ case '.':
-+ strcpy(symname + (strlen(symname) - 1), "_dot");
-+ break;
-+ case '+':
-+ strcpy(symname + (strlen(symname) - 1), "_plus");
-+ break;
-+ case '-':
-+ strcpy(symname + (strlen(symname) - 1), "_hyphen");
-+ break;
-+ case '*':
-+ strcpy(symname + (strlen(symname) - 1), "_asterisk");
-+ break;
-+ case '^':
-+ strcpy(symname + (strlen(symname) - 1), "_caret");
-+ break;
-+ }
-+ strcat(symname, tmptildestr);
- /* and append _setup to form the C setup function name */
- strcat(symname, "_setup");
- #ifdef DL_OPEN
diff --git a/packages/darwin_app/patches/weak_linking.patch b/packages/darwin_app/patches/weak_linking.patch
deleted file mode 100644
index fa0f6601..00000000
--- a/packages/darwin_app/patches/weak_linking.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Index: makefile.in
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/makefile.in,v
-retrieving revision 1.8
-diff -u -w -r1.8 makefile.in
---- makefile.in 24 Jul 2005 19:41:14 -0000 1.8
-+++ makefile.in 25 Jul 2005 01:59:05 -0000
-@@ -85,9 +85,12 @@
- $(BIN_DIR)/pdreceive: u_pdreceive.c
- $(CC) $(CFLAGS) $(STRIPFLAG) -o $(BIN_DIR)/pdreceive u_pdreceive.c
-
-+# MACOSX_DEPLOYMENT_TARGET=10.2 is necessary on Mac OS X to support weak
-+# linking of frameworks. Since its just a environment variable, it should be
-+# safely ignored on other platforms. <hans@eds.org>
- $(PDEXEC): $(OBJ)
-- cd ../obj; $(CC) $(LDFLAGS) $(DBG_CFLAGS) -o $(PDEXEC) $(OBJ) \
-- $(LIB)
-+ cd ../obj; MACOSX_DEPLOYMENT_TARGET=10.2 $(CC) $(LDFLAGS) $(DBG_CFLAGS) \
-+ -o $(PDEXEC) $(OBJ) $(LIB)
-
- $(BIN_DIR)/pd-gui: $(GOBJ) $(GSRC)
- cd ../obj; $(CC) $(INCLUDE) -o $(BIN_DIR)/$(GUINAME) $(GOBJ) \