[SCM] pd-pmpd/master: added patch to Makefile to fix building on kFreeBSD and Hurd

eighthave-guest at users.alioth.debian.org eighthave-guest at users.alioth.debian.org
Fri Dec 10 04:37:22 UTC 2010


The following commit has been merged in the master branch:
commit 72e93ee9ae0720b3edc2414a87d70837ce975884
Author: Hans-Christoph Steiner <hans at eds.org>
Date:   Thu Dec 9 23:32:01 2010 -0500

    added patch to Makefile to fix building on kFreeBSD and Hurd

diff --git a/debian/patches/makefile_update_for_kfreebsd_and_hurd b/debian/patches/makefile_update_for_kfreebsd_and_hurd
new file mode 100644
index 0000000..5a29cfa
--- /dev/null
+++ b/debian/patches/makefile_update_for_kfreebsd_and_hurd
@@ -0,0 +1,358 @@
+Description: updated Makefile to build on kFreeBSD and Hurd
+ This patch takes the upstream template Makefile with new code for handling
+ building using kFreeBSD and Hurd kernels.  This Makefile is already included
+ in the upstream SVN repository, but there is no new release yet.
+
+Author: Hans-Christoph Steiner <hans at eds.org>
+Bug-Debian: http://bugs.debian.org/605830
+Forwarded: not-needed
+Reviewed-By: Hans-Christoph Steiner <hans at eds.org>
+Last-Update: <2010-12-09>
+
+--- pd-pmpd-0.9.orig/Makefile
++++ pd-pmpd-0.9/Makefile
+@@ -1,21 +1,12 @@
+-## Pd library template version 1.0.1
++## Pd library template version 1.0.6
+ # For instructions on how to use this template, see:
+ #  http://puredata.info/docs/developer/MakefileTemplate
+ LIBRARY_NAME = pmpd
+ 
+-# add your .c source files to the SOURCES variable, help files will be
+-# included automatically
++# add your .c source files, one object per file, to the SOURCES
++# variable, help files will be included automatically
+ SOURCES = iAmbient2D.c iAmbient3D.c iCircle2D.c iCircle3D.c iCylinder3D.c iLine2D.c iPlane3D.c iSeg2D.c iSphere3D.c link.c link2D.c link3D.c mass.c mass2D.c mass3D.c pmpd~.c tCircle2D.c tCircle3D.c tCube3D.c tCylinder3D.c tLine2D.c tLink2D.c tLink3D.c tPlane3D.c tSeg2D.c tSphere3D.c tSquare2D.c
+ 
+-# For objects that only build on certain platforms, add those to the SOURCES
+-# line for the right platforms.
+-SOURCES_android = 
+-SOURCES_cygwin = 
+-SOURCES_macosx = 
+-SOURCES_iphoneos = 
+-SOURCES_linux = 
+-SOURCES_windows = 
+-
+ # list all pd objects (i.e. myobject.pd) files here, and their helpfiles will
+ # be included automatically
+ PDOBJECTS = 
+@@ -27,7 +18,7 @@ EXAMPLES = 00_pmpd.pd 01_basics.pd 02_st
+ MANUAL = pmpd.pdf pmpd.sxw
+ 
+ # if you want to include any other files in the source and binary tarballs,
+-# list them here.  This can be anything from header files, example patches,
++# list them here.  This can be anything from header files, test patches,
+ # documentation, etc.  README.txt and LICENSE.txt are required and therefore
+ # automatically included
+ EXTRA_DIST = pmpd.c pmpd-help.pd
+@@ -36,6 +27,17 @@ EXTRA_DIST = pmpd.c pmpd-help.pd
+ 
+ #------------------------------------------------------------------------------#
+ #
++# things you might need to edit if you are using other C libraries
++#
++#------------------------------------------------------------------------------#
++
++# -I"$(PD_INCLUDE)/pd" supports the header location for 0.43
++CFLAGS = -I"$(PD_INCLUDE)/pd" -Wall -W -g
++LDFLAGS =  
++LIBS = 
++
++#------------------------------------------------------------------------------#
++#
+ # you shouldn't need to edit anything below here, if we did it right :)
+ #
+ #------------------------------------------------------------------------------#
+@@ -43,27 +45,25 @@ EXTRA_DIST = pmpd.c pmpd-help.pd
+ # get library version from meta file
+ LIBRARY_VERSION = $(shell sed -n 's|^\#X text [0-9][0-9]* [0-9][0-9]* VERSION \(.*\);|\1|p' $(LIBRARY_NAME)-meta.pd)
+ 
+-# where Pd lives
+-PD_PATH = ../../pd
+-# where to install the library
++CFLAGS += -DPD -DVERSION='"$(LIBRARY_VERSION)"'
++
++PD_INCLUDE = $(PD_PATH)/include
++# where to install the library, overridden below depending on platform
+ prefix = /usr/local
+ libdir = $(prefix)/lib
+ pkglibdir = $(libdir)/pd-externals
+ objectsdir = $(pkglibdir)
+ 
+-
+ INSTALL = install
+-INSTALL_FILE    = $(INSTALL) -p -m 644
++INSTALL_PROGRAM = $(INSTALL) -p -m 644
++INSTALL_DATA = $(INSTALL) -p -m 644
+ INSTALL_DIR     = $(INSTALL) -p -m 755 -d
+ 
+-CFLAGS = -DPD -I$(PD_PATH)/src -Wall -W -g
+-LDFLAGS =  
+-LIBS = 
+ ALLSOURCES := $(SOURCES) $(SOURCES_android) $(SOURCES_cygwin) $(SOURCES_macosx) \
+ 	         $(SOURCES_iphoneos) $(SOURCES_linux) $(SOURCES_windows)
+ 
+ DISTDIR=$(LIBRARY_NAME)-$(LIBRARY_VERSION)
+-ORIGDIR=pd-$(LIBRARY_NAME)_$(LIBRARY_VERSION)
++ORIGDIR=pd-$(LIBRARY_NAME:~=)_$(LIBRARY_VERSION)
+ 
+ UNAME := $(shell uname -s)
+ ifeq ($(UNAME),Darwin)
+@@ -72,6 +72,7 @@ ifeq ($(UNAME),Darwin)
+     SOURCES += $(SOURCES_iphoneos)
+     EXTENSION = pd_darwin
+     OS = iphoneos
++    PD_PATH = /Applications/Pd-extended.app/Contents/Resources
+     IPHONE_BASE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin
+     CC=$(IPHONE_BASE)/gcc
+     CPP=$(IPHONE_BASE)/cpp
+@@ -79,8 +80,7 @@ ifeq ($(UNAME),Darwin)
+     ISYSROOT = -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk
+     IPHONE_CFLAGS = -miphoneos-version-min=3.0 $(ISYSROOT) -arch armv6
+     OPT_CFLAGS = -fast -funroll-loops -fomit-frame-pointer
+-	CFLAGS := $(IPHONE_CFLAGS) $(OPT_CFLAGS) $(CFLAGS) \
+-      -I/Applications/Pd-extended.app/Contents/Resources/include
++	CFLAGS := $(IPHONE_CFLAGS) $(OPT_CFLAGS) $(CFLAGS)
+     LDFLAGS += -arch armv6 -bundle -undefined dynamic_lookup $(ISYSROOT)
+     LIBS += -lc 
+     STRIP = strip -x
+@@ -89,6 +89,7 @@ ifeq ($(UNAME),Darwin)
+     SOURCES += $(SOURCES_macosx)
+     EXTENSION = pd_darwin
+     OS = macosx
++    PD_PATH = /Applications/Pd-extended.app/Contents/Resources
+     OPT_CFLAGS = -ftree-vectorize -ftree-vectorizer-verbose=2 -fast
+ # build universal 32-bit on 10.4 and 32/64 on newer
+     ifeq ($(shell uname -r | sed 's|\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*|\1|'), 8)
+@@ -97,8 +98,7 @@ ifeq ($(UNAME),Darwin)
+       FAT_FLAGS = -arch ppc -arch i386 -arch x86_64 -mmacosx-version-min=10.4
+       SOURCES += $(SOURCES_iphoneos)
+     endif
+-    CFLAGS += $(FAT_FLAGS) -fPIC -I/sw/include \
+-      -I/Applications/Pd-extended.app/Contents/Resources/include
++    CFLAGS += $(FAT_FLAGS) -fPIC -I/sw/include
+     LDFLAGS += $(FAT_FLAGS) -bundle -undefined dynamic_lookup -L/sw/lib
+     # if the 'pd' binary exists, check the linking against it to aid with stripping
+     LDFLAGS += $(shell test -e $(PD_PATH)/bin/pd && echo -bundle_loader $(PD_PATH)/bin/pd)
+@@ -110,9 +110,39 @@ ifeq ($(UNAME),Darwin)
+   endif
+ endif
+ ifeq ($(UNAME),Linux)
++  CPU := $(shell uname -m)
+   SOURCES += $(SOURCES_linux)
+   EXTENSION = pd_linux
+   OS = linux
++  PD_PATH = /usr
++  OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer
++  CFLAGS += -fPIC
++  LDFLAGS += -Wl,--export-dynamic  -shared -fPIC
++  LIBS += -lc
++  STRIP = strip --strip-unneeded -R .note -R .comment
++  DISTBINDIR=$(DISTDIR)-$(OS)-$(shell uname -m)
++endif
++ifeq ($(UNAME),GNU)
++  # GNU/Hurd, should work like GNU/Linux for basically all externals
++  CPU := $(shell uname -m)
++  SOURCES += $(SOURCES_linux)
++  EXTENSION = pd_linux
++  OS = linux
++  PD_PATH = /usr
++  OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer
++  CFLAGS += -fPIC
++  LDFLAGS += -Wl,--export-dynamic  -shared -fPIC
++  LIBS += -lc
++  STRIP = strip --strip-unneeded -R .note -R .comment
++  DISTBINDIR=$(DISTDIR)-$(OS)-$(shell uname -m)
++endif
++ifeq ($(UNAME),GNU/kFreeBSD)
++  # Debian GNU/kFreeBSD, should work like GNU/Linux for basically all externals
++  CPU := $(shell uname -m)
++  SOURCES += $(SOURCES_linux)
++  EXTENSION = pd_linux
++  OS = linux
++  PD_PATH = /usr
+   OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer
+   CFLAGS += -fPIC
+   LDFLAGS += -Wl,--export-dynamic  -shared -fPIC
+@@ -121,32 +151,39 @@ ifeq ($(UNAME),Linux)
+   DISTBINDIR=$(DISTDIR)-$(OS)-$(shell uname -m)
+ endif
+ ifeq (CYGWIN,$(findstring CYGWIN,$(UNAME)))
++  CPU := $(shell uname -m)
+   SOURCES += $(SOURCES_cygwin)
+   EXTENSION = dll
+   OS = cygwin
++  PD_PATH = $(cygpath $(PROGRAMFILES))/pd
+   OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer
+   CFLAGS += 
+-  LDFLAGS += -Wl,--export-dynamic -shared -L$(PD_PATH)/src
++  LDFLAGS += -Wl,--export-dynamic -shared -L"$(PD_PATH)/src" -L"$(PD_PATH)/bin"
+   LIBS += -lc -lpd
+   STRIP = strip --strip-unneeded -R .note -R .comment
+   DISTBINDIR=$(DISTDIR)-$(OS)
+ endif
+ ifeq (MINGW,$(findstring MINGW,$(UNAME)))
++  CPU := $(shell uname -m)
+   SOURCES += $(SOURCES_windows)
+   EXTENSION = dll
+   OS = windows
+-  OPT_CFLAGS = -O3 -funroll-loops -fomit-frame-pointer -march=i686 -mtune=pentium4
++  PD_PATH = $(shell cd "$(PROGRAMFILES)"/pd && pwd)
++  OPT_CFLAGS = -O3 -funroll-loops -fomit-frame-pointer
+   CFLAGS += -mms-bitfields
+   LDFLAGS += -s -shared -Wl,--enable-auto-import
+-  LIBS += -L$(PD_PATH)/src -L$(PD_PATH)/bin -L$(PD_PATH)/obj -lpd -lwsock32 -lkernel32 -luser32 -lgdi32
++  LIBS += -L"$(PD_PATH)/src" -L"$(PD_PATH)/bin" -L"$(PD_PATH)/obj" -lpd -lwsock32 -lkernel32 -luser32 -lgdi32
+   STRIP = strip --strip-unneeded -R .note -R .comment
+   DISTBINDIR=$(DISTDIR)-$(OS)
+ endif
+ 
++# in case somebody manually set the HELPPATCHES above
++HELPPATCHES ?= $(SOURCES:.c=-help.pd) $(PDOBJECTS:.pd=-help.pd)
++
+ CFLAGS += $(OPT_CFLAGS)
+ 
+ 
+-.PHONY = install libdir_install single_install install-doc install-exec install-examples install-manual clean dist etags
++.PHONY = install libdir_install single_install install-doc install-exec install-examples install-manual clean dist etags $(LIBRARY_NAME)
+ 
+ all: $(SOURCES:.c=.$(EXTENSION))
+ 
+@@ -162,57 +199,54 @@ $(LIBRARY_NAME): $(SOURCES:.c=.o) $(LIBR
+ 	$(CC) $(LDFLAGS) -o $(LIBRARY_NAME).$(EXTENSION) $(SOURCES:.c=.o) $(LIBRARY_NAME).o $(LIBS)
+ 	chmod a-x $(LIBRARY_NAME).$(EXTENSION)
+ 
+-
+ install: libdir_install
+ 
+ # The meta and help files are explicitly installed to make sure they are
+ # actually there.  Those files are not optional, then need to be there.
+ libdir_install: $(SOURCES:.c=.$(EXTENSION)) install-doc install-examples install-manual
+ 	$(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+-	$(INSTALL_FILE) $(LIBRARY_NAME)-meta.pd \
++	$(INSTALL_DATA) $(LIBRARY_NAME)-meta.pd \
+ 		$(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+ 	test -z "$(strip $(SOURCES))" || (\
+-		$(INSTALL_FILE) $(SOURCES:.c=.$(EXTENSION)) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) && \
++		$(INSTALL_PROGRAM) $(SOURCES:.c=.$(EXTENSION)) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) && \
+ 		$(STRIP) $(addprefix $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/,$(SOURCES:.c=.$(EXTENSION))))
+ 	test -z "$(strip $(PDOBJECTS))" || \
+-		$(INSTALL_FILE) $(PDOBJECTS) \
++		$(INSTALL_DATA) $(PDOBJECTS) \
+ 			$(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+ 
+ # install library linked as single binary
+ single_install: $(LIBRARY_NAME) install-doc install-exec
+ 	$(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+-	$(INSTALL_FILE) $(LIBRARY_NAME).$(EXTENSION) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
++	$(INSTALL_PROGRAM) $(LIBRARY_NAME).$(EXTENSION) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+ 	$(STRIP) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/$(LIBRARY_NAME).$(EXTENSION)
+ 
+ install-doc:
+ 	$(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+-	test -z "$(strip $(SOURCES))" || \
+-		$(INSTALL_FILE) $(SOURCES:.c=-help.pd) \
++	test -z "$(strip $(SOURCES) $(PDOBJECTS))" || \
++		$(INSTALL_DATA) $(HELPPATCHES) \
+ 			$(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+-	test -z "$(strip $(PDOBJECTS))" || \
+-		$(INSTALL_FILE) $(PDOBJECTS:.pd=-help.pd) \
+-			$(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+-	$(INSTALL_FILE) README.txt $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/README.txt
+-	$(INSTALL_FILE) LICENSE.txt $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/LICENSE.txt
++	$(INSTALL_DATA) README.txt $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/README.txt
++	$(INSTALL_DATA) LICENSE.txt $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/LICENSE.txt
+ 
+ install-examples:
+ 	test -z "$(strip $(EXAMPLES))" || \
+ 		$(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/examples && \
+ 		for file in $(EXAMPLES); do \
+-			$(INSTALL_FILE) examples/$$file $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/examples; \
++			$(INSTALL_DATA) examples/$$file $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/examples; \
+ 		done
+ 
+ install-manual:
+ 	test -z "$(strip $(MANUAL))" || \
+ 		$(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/manual && \
+ 		for file in $(MANUAL); do \
+-			$(INSTALL_FILE) manual/$$file $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/manual; \
++			$(INSTALL_DATA) manual/$$file $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/manual; \
+ 		done
+ 
+ 
+ clean:
+-	-rm -f -- $(SOURCES:.c=.o)
++	-rm -f -- $(SOURCES:.c=.o) $(SOURCES_LIB:.c=.o)
+ 	-rm -f -- $(SOURCES:.c=.$(EXTENSION))
++	-rm -f -- $(LIBRARY_NAME).o
+ 	-rm -f -- $(LIBRARY_NAME).$(EXTENSION)
+ 
+ distclean: clean
+@@ -228,11 +262,11 @@ $(DISTBINDIR):
+ 	$(INSTALL_DIR) $(DISTBINDIR)
+ 
+ libdir: all $(DISTBINDIR)
+-	$(INSTALL_FILE) $(LIBRARY_NAME)-meta.pd  $(DISTBINDIR)
+-	$(INSTALL_FILE) $(SOURCES)  $(DISTBINDIR)
+-	$(INSTALL_FILE) $(SOURCES:.c=-help.pd) $(DISTBINDIR)
++	$(INSTALL_DATA) $(LIBRARY_NAME)-meta.pd  $(DISTBINDIR)
++	$(INSTALL_DATA) $(SOURCES)  $(DISTBINDIR)
++	$(INSTALL_DATA) $(HELPPATCHES) $(DISTBINDIR)
+ 	test -z "$(strip $(EXTRA_DIST))" || \
+-		$(INSTALL_FILE) $(EXTRA_DIST)    $(DISTBINDIR)
++		$(INSTALL_DATA) $(EXTRA_DIST)    $(DISTBINDIR)
+ #	tar --exclude-vcs -czpf $(DISTBINDIR).tar.gz $(DISTBINDIR)
+ 
+ $(DISTDIR):
+@@ -242,29 +276,27 @@ $(ORIGDIR):
+ 	$(INSTALL_DIR) $(ORIGDIR)
+ 
+ dist: $(DISTDIR)
+-	$(INSTALL_FILE) Makefile  $(DISTDIR)
+-	$(INSTALL_FILE) README.txt $(DISTDIR)
+-	$(INSTALL_FILE) LICENSE.txt $(DISTDIR)
+-	$(INSTALL_FILE) $(LIBRARY_NAME)-meta.pd  $(DISTDIR)
++	$(INSTALL_DATA) Makefile  $(DISTDIR)
++	$(INSTALL_DATA) README.txt $(DISTDIR)
++	$(INSTALL_DATA) LICENSE.txt $(DISTDIR)
++	$(INSTALL_DATA) $(LIBRARY_NAME)-meta.pd  $(DISTDIR)
+ 	test -z "$(strip $(ALLSOURCES))" || \
+-		$(INSTALL_FILE) $(ALLSOURCES)  $(DISTDIR)
+-	test -z "$(strip $(ALLSOURCES))" || \
+-		$(INSTALL_FILE) $(ALLSOURCES:.c=-help.pd) $(DISTDIR)
+-	test -z "$(strip $(PDOBJECTS))" || \
+-		$(INSTALL_FILE) $(PDOBJECTS)  $(DISTDIR)
++		$(INSTALL_DATA) $(ALLSOURCES)  $(DISTDIR)
+ 	test -z "$(strip $(PDOBJECTS))" || \
+-		$(INSTALL_FILE) $(PDOBJECTS:.pd=-help.pd) $(DISTDIR)
++		$(INSTALL_DATA) $(PDOBJECTS)  $(DISTDIR)
++	test -z "$(strip $(HELPPATCHES))" || \
++		$(INSTALL_DATA) $(HELPPATCHES) $(DISTDIR)
+ 	test -z "$(strip $(EXTRA_DIST))" || \
+-		$(INSTALL_FILE) $(EXTRA_DIST)    $(DISTDIR)
++		$(INSTALL_DATA) $(EXTRA_DIST)    $(DISTDIR)
+ 	test -z "$(strip $(EXAMPLES))" || \
+ 		$(INSTALL_DIR) $(DISTDIR)/examples && \
+ 		for file in $(EXAMPLES); do \
+-			$(INSTALL_FILE) examples/$$file $(DISTDIR)/examples; \
++			$(INSTALL_DATA) examples/$$file $(DISTDIR)/examples; \
+ 		done
+ 	test -z "$(strip $(MANUAL))" || \
+ 		$(INSTALL_DIR) $(DISTDIR)/manual && \
+ 		for file in $(MANUAL); do \
+-			$(INSTALL_FILE) manual/$$file $(DISTDIR)/manual; \
++			$(INSTALL_DATA) manual/$$file $(DISTDIR)/manual; \
+ 		done
+ 	tar --exclude-vcs -czpf $(DISTDIR).tar.gz $(DISTDIR)
+ 
+@@ -282,6 +314,10 @@ etags:
+ 	etags *.h $(SOURCES) ../../pd/src/*.[ch] /usr/include/*.h /usr/include/*/*.h
+ 
+ showsetup:
++	@echo "CFLAGS: $(CFLAGS)"
++	@echo "LDFLAGS: $(LDFLAGS)"
++	@echo "LIBS: $(LIBS)"
++	@echo "PD_INCLUDE: $(PD_INCLUDE)"
+ 	@echo "PD_PATH: $(PD_PATH)"
+ 	@echo "objectsdir: $(objectsdir)"
+ 	@echo "LIBRARY_NAME: $(LIBRARY_NAME)"
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..661cce5
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+makefile_update_for_kfreebsd_and_hurd

-- 
pd-pmpd packaging



More information about the pkg-multimedia-commits mailing list