[PD-cvs] SF.net SVN: pure-data: [9673] trunk/externals/hardware/MIDIvice/src

zmoelnig at users.sourceforge.net zmoelnig at users.sourceforge.net
Tue Apr 1 16:43:49 CEST 2008


Revision: 9673
          http://pure-data.svn.sourceforge.net/pure-data/?rev=9673&view=rev
Author:   zmoelnig
Date:     2008-04-01 07:43:49 -0700 (Tue, 01 Apr 2008)

Log Message:
-----------
use autoconf build-system

Added Paths:
-----------
    trunk/externals/hardware/MIDIvice/src/Make.config.in
    trunk/externals/hardware/MIDIvice/src/Makefile
    trunk/externals/hardware/MIDIvice/src/configure.ac

Removed Paths:
-------------
    trunk/externals/hardware/MIDIvice/src/makefile

Added: trunk/externals/hardware/MIDIvice/src/Make.config.in
===================================================================
--- trunk/externals/hardware/MIDIvice/src/Make.config.in	                        (rev 0)
+++ trunk/externals/hardware/MIDIvice/src/Make.config.in	2008-04-01 14:43:49 UTC (rev 9673)
@@ -0,0 +1,31 @@
+LIBNAME=@LIBNAME@
+
+# when build as a library this holds a pre-processor define
+# (e.g. "-DBUILD_LIBRARY")
+# when build as single externals this is empty
+BUILDLIBRARY =@BUILDLIBRARY@
+
+PREFIX     =@prefix@@PDLIBDIR@
+
+INSTALL_BIN=$(DESTDIR)$(PREFIX)/extra/$(LIBNAME)
+INSTALL_DOC=$(DESTDIR)$(PREFIX)/@REFERENCEPATH@$(LIBNAME)
+
+EXT = @EXT@ 
+DEFS = @DFLAGS@
+IFLAGS = -I. @INCLUDES@ $(INCLUDES)
+MAKEDEP_FLAGS = @MAKEDEP_FLAGS@
+
+CC = @CC@
+LD = @LD@
+STRIP = @STRIP@
+STRIPFLAGS= @STRIPFLAGS@
+
+AFLAGS = 
+LFLAGS = @LFLAGS@
+WFLAGS =
+
+TARNAME =  $(LIBNAME).tgz
+
+CONFIGUREFLAGS = @CONFIGUREFLAGS@
+CFLAGS = $(DEFS) $(IFLAGS) $(BUILDLIBRARY) -DPD $(WFLAGS) @CFLAGS@
+LIBS = @LIBS@

Copied: trunk/externals/hardware/MIDIvice/src/Makefile (from rev 9672, trunk/externals/hardware/MIDIvice/src/makefile)
===================================================================
--- trunk/externals/hardware/MIDIvice/src/Makefile	                        (rev 0)
+++ trunk/externals/hardware/MIDIvice/src/Makefile	2008-04-01 14:43:49 UTC (rev 9673)
@@ -0,0 +1,86 @@
+default: all
+
+.PHONEY: default all everything dist \
+	clean realclean distclean \
+	install install-bin install-doc install-abs \
+	tests
+
+HELPERSOURCES=MIDIvice.c
+OBJECTSOURCES=$(sort $(filter-out $(HELPERSOURCES), $(filter %.c, $(wildcard *.c))))
+SOURCES=$(OBJECTSOURCES) $(HELPERSOURCES)
+
+
+configure: configure.ac
+	autoconf
+
+-include $(SOURCES:.c=.d)
+
+Make.config: Make.config.in configure
+	./configure $(CONFIGUREFLAGS)
+
+-include Make.config
+
+
+##  2nd only generate depend-files when we have Make.config included
+##  and thus MAKEDEP_FLAGS defined
+ifdef MAKEDEP_FLAGS
+## dependencies: as proposed by the GNU-make documentation
+## see http://www.gnu.org/software/make/manual/html_node/make_47.html#SEC51
+%.d: %.c
+	@set -e; rm -f $@; \
+	 $(CPP) $(MAKEDEP_FLAGS) $(CFLAGS) $< > $@.$$$$; \
+	 sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
+	 rm -f $@.$$$$
+endif
+
+.SUFFIXES: .$(EXT)
+
+TARGETS = $(SOURCES:.c=.o)
+
+OBJECTS = $(OBJECTSOURCES:.c=.$(EXT))
+
+
+## if $(BUILDLIBRARY) is defined, we build everything as a single library
+## else we build separate externals
+ifneq "$(BUILDLIBRARY)" ""
+all: $(LIBNAME)
+	cp $(LIBNAME).$(EXT) ..
+else
+all: $(OBJECTS)
+endif
+
+$(OBJECTS): %.$(EXT) : %.o
+	$(LD) $(LFLAGS) -o $@ $*.o $(LIBS)
+	$(STRIP) $(STRIPFLAGS) $@
+
+
+$(LIBNAME): $(TARGETS)
+	$(LD) $(LFLAGS) -o $@.$(EXT) *.o $(LIBS)
+	$(STRIP) $(STRIPFLAGS) $(LIBNAME).$(EXT)
+
+$(TARGETS): %.o : %.c
+	$(CC) $(CFLAGS) -c -o $@ $*.c
+
+clean:
+	-rm -f *.$(EXT) *.o 
+
+realclean: clean
+	-rm -f *~ _* config.*
+	-rm -f *.d *.d.*
+
+distclean: realclean
+	-rm -f Make.config
+	-rm -f *.exp  *.lib  *.ncb  *.opt  *.plg
+	-rm -rf autom4te.cache/
+
+install: install-bin install-doc
+
+install-bin:
+	-install -d $(INSTALL_BIN)
+	-install -m 644 *.$(EXT) $(INSTALL_BIN)
+
+install-doc:
+	-install -d $(INSTALL_DOC)
+	-install -m 644 *-help.pd $(INSTALL_DOC)
+
+everything: clean all install distclean

Added: trunk/externals/hardware/MIDIvice/src/configure.ac
===================================================================
--- trunk/externals/hardware/MIDIvice/src/configure.ac	                        (rev 0)
+++ trunk/externals/hardware/MIDIvice/src/configure.ac	2008-04-01 14:43:49 UTC (rev 9673)
@@ -0,0 +1,273 @@
+dnl Process this file with autoconf to produce a configure script.
+AC_INIT(MIDIvice.c)
+
+LIBNAME=MIDIvice
+
+
+dnl Checks for programs.
+AC_PROG_CC
+
+AC_SUBST(STK)
+AC_SUBST(DFLAGS)
+AC_SUBST(LFLAGS)
+AC_SUBST(EXT)
+AC_SUBST(LD)
+AC_SUBST(STRIP)
+AC_SUBST(STRIPFLAGS)
+AC_SUBST(LIBRARY_VERSION)
+AC_SUBST(REFERENCEPATH)
+AC_SUBST(PDLIBDIR)
+AC_SUBST(INCLUDES)
+AC_SUBST(LIBNAME)
+AC_SUBST(CONFIGUREFLAGS)
+AC_SUBST(BUILDLIBRARY)
+
+## store the flags passed to us
+## is there no way to get the flags without quotes?
+#CONFIGUREFLAGS=${ac_configure_args}
+## and is this solution portable? time will show....
+CONFIGUREFLAGS=$(echo ${ac_configure_args} | sed "s/'//g")
+
+
+AC_ARG_WITH(pdversion, [  --with-pdversion=<ver>  enforce a certain pd-version (e.g. 0.37)])
+AC_ARG_WITH(extension, [  --with-extension=<ext>  enforce a certain extension for the dynamic library (e.g. dll)])
+AC_ARG_WITH(pdpath,    [  --with-pd=</path/to/pd> where to look for pd-headers and and -libs])
+AC_ARG_ENABLE(PIC,     [  --disable-PIC           disable compilation with PIC-flag])
+AC_ARG_ENABLE(library,[  --disable-library       split the library into single externals])
+
+if test "xno" != "x${enable_library}" ; then
+dnl LATER: find a more generic way to generate the .._LIBRARY define
+ BUILDLIBRARY="-DBUILD_LIBRARY"
+fi
+
+dnl Checks for libraries.
+dnl Replace `main' with a function in -lc:
+AC_CHECK_LIB(c, main)
+AC_CHECK_LIB(crtdll, fclose)
+
+dnl Replace `main' with a function in -lm:
+AC_CHECK_LIB(m, main)
+dnl Replace `main' with a function in -lpthread:
+dnl AC_CHECK_LIB(pthread, main)
+dnl Replace `main' with a function in -lstk:
+dnl AC_CHECK_LIB(stk, main, STK=yes)
+
+if test "x$with_pd" != "x"; then
+ if test -d "${with_pd}/src"; then
+  INCLUDES="-I${with_pd}/src ${INCLUDES}"
+ fi
+ if test -d "${with_pd}/bin"; then
+  LIBS="-L${with_pd}/bin ${LIBS}"
+ fi
+fi
+
+if test "x$includedir" != "x"; then
+ for id in $includedir
+ do
+   if test -d $id; then INCLUDES="-I$id $INCLUDES"; fi
+ done
+fi
+if test "x$libdir" != "x"; then
+ for id in $libdir
+ do
+   if test -d $id; then LIBS="-L$id $LIBS"; fi
+ done
+fi
+
+AC_CHECK_LIB(pd, nullfn)
+
+dnl Checks for header files.
+AC_HEADER_STDC
+AC_CHECK_HEADERS(stdlib.h stdio.h string.h math.h time.h sys/time.h)
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+AC_HEADER_TIME
+
+dnl Checks for library functions.
+AC_FUNC_MMAP
+AC_CHECK_FUNCS(select socket strerror)
+
+
+### make-depend flags
+if test "x$ac_cv_c_compiler_gnu" = "xyes"; then
+ AC_SUBST(MAKEDEP_FLAGS, "-MM")
+else
+ AC_SUBST(MAKEDEP_FLAGS, "-M")
+fi
+
+dnl check for "-mms-bitfields" cflag
+dnl why is there no generic compiler-check for a given flag ?
+dnl it would make things so easy: AC_CHECK_FLAG([-mms-bitfields],,)
+AC_MSG_CHECKING("ms-bitfields")
+cat > conftest.c << EOF
+int main(){
+  return 0;
+}
+EOF
+if ${CC} ${INCLUDES} ${DFLAGS} -o conftest.o conftest.c ${CFLAGS} -mms-bitfields > /dev/null 2>&1
+then
+  echo "yes"
+  CFLAGS="${CFLAGS} -mms-bitfields"
+else
+  echo "no"
+fi
+
+
+
+
+dnl isn't there a better way to check for good linker/stripper ?
+
+dnl if we don't have $LD set, we set it to $(CC)
+dnl LD=${LD:=$CC}
+if test "x$LD" = "x"
+then
+ if test "x$host" != "x"
+ then
+  LD=${host}-ld
+  if $(which ${LD} > /dev/null)
+  then
+    :
+  else
+    LD=""
+  fi
+ fi
+fi
+LD=${LD:=$CC}
+
+dnl if we don't have $STRIP set, we set it to ${host}-strip or strip
+AC_CHECK_TOOL([STRIP], [strip], [true])
+AC_MSG_CHECKING([if strip is GNU strip])
+if $STRIP -V 2>&1 | grep GNU > /dev/null
+then
+    AC_SUBST(STRIPFLAGS, "--strip-unneeded")
+    AC_MSG_RESULT([yes])
+else
+    AC_SUBST(STRIPFLAGS,"-x")
+    AC_MSG_RESULT([no])
+fi
+
+DFLAGS=""
+
+
+if test "x$enable_PIC" != "xno"; then
+AC_MSG_CHECKING("PIC")
+cat > conftest.c << EOF
+int main(){
+  return 0;
+}
+EOF
+if ${CC} ${INCLUDES} ${DFLAGS} -o conftest.o conftest.c ${CFLAGS} -fPIC > /dev/null 2>&1
+then
+  echo "yes"
+  CFLAGS="${CFLAGS} -fPIC"
+else
+  echo "no"
+fi
+fi
+
+
+dnl
+dnl  OK, checks for machines are here now
+dnl
+if test `uname -s` = Linux; 
+then
+  LFLAGS="-export_dynamic  -shared"
+  CFLAGS="$CFLAGS"
+  EXT=pd_linux	
+fi
+
+dnl This should use '-bundle_loader /path/to/pd/bin/pd' instead of'-undefined suppress'
+dnl then strip might do something
+if test `uname -s` = Darwin; 
+then
+  LD=cc
+  LFLAGS="-bundle -undefined suppress -flat_namespace"
+  EXT=pd_darwin
+fi
+
+if test `uname | sed -e 's/^MINGW.*/NT/'` = NT; 
+then
+  LD=gcc
+  INCLUDES="-I at prefix@/src"
+  DFLAGS="-D__WIN32__"
+  LFLAGS="-shared @prefix@/bin/pd.dll"
+  EXT=dll
+else
+  PDLIBDIR="/lib/pd"
+fi
+
+if test `uname -s` = IRIX64; 
+then
+  LFLAGS="-n32 -DUNIX -DIRIX -DN32 -woff 1080,1064,1185 \
+	-OPT:roundoff=3 -OPT:IEEE_arithmetic=3 -OPT:cray_ivdep=true \
+        -shared -rdata_shared"
+  EXT=pd_irix6
+  dnl DFLAGS="-DUNIX -DIRIX6"
+fi
+
+if test `uname -s` = IRIX32; 
+then
+  LFLAGS="-o32 -DUNIX -DIRIX -O2 
+         -shared -rdata_shared"
+  EXT=pd_irix5
+  dnl DFLAGS="-DUNIX -DIRIX5"
+fi
+
+
+if test "x$with_extension" != "x"
+then
+ EXT=$with_extension
+fi
+
+
+dnl Checks for pd-version, to set the correct help-path
+AC_MSG_CHECKING("pd\>=0.37")
+
+if test "$with_pdversion" != ""
+then
+echo -n "($with_pdversion)... "
+  PD_VERSION="$with_pdversion"
+else
+if test "x$cross_compiling" = "xno"
+then
+
+cat > conftest.c << EOF
+#include <stdio.h>
+#include "m_pd.h"
+int main(){
+  printf("%d.%d\n", PD_MAJOR_VERSION, PD_MINOR_VERSION);
+  return 0;
+}
+EOF
+
+ if $CC $INCLUDES -o conftest.o conftest.c > /dev/null 2>&1
+ then
+  PD_VERSION=`./conftest.o`
+ else
+  PD_VERSION=""
+ fi
+  echo -n $PD_VERSION
+else
+dnl we are cross-compiling...
+ echo -n "(X)..."
+ PD_VERSION="0.38"
+fi
+fi
+
+let PD_MAJORVERSION=`echo $PD_VERSION | cut -d"." -f1`+0
+let PD_MINORVERSION=`echo $PD_VERSION | cut -d"." -f2`+0
+
+
+
+if test "$PD_MAJORVERSION" -gt 0 || test "$PD_MINORVERSION" -ge 37
+then
+  REFERENCEPATH=extra/
+  echo " yes"
+else
+  REFERENCEPATH=doc/5.reference/
+  echo " no"
+fi
+
+AC_OUTPUT(Make.config)
+
+rm -f conftest.*

Deleted: trunk/externals/hardware/MIDIvice/src/makefile
===================================================================
--- trunk/externals/hardware/MIDIvice/src/makefile	2008-04-01 13:44:04 UTC (rev 9672)
+++ trunk/externals/hardware/MIDIvice/src/makefile	2008-04-01 14:43:49 UTC (rev 9673)
@@ -1,75 +0,0 @@
-current: all
-
-
-# the MIDIVICE-EXTERNAL-makefile
-# everything is GnuGPL that should come with the MIDIvice.tgz
-# NO WARRANTIES FOR ANYTHING
-# et cetera
-# 1999:forum::f\xFCr::uml\xE4ute:2001
-
-# make sure that the "m_pd.h" is somehow available either by putting it into this
-# directory, by adding it's path to the INCLUDE-path or by putting it into an
-# already included path, e.g. "/usr/local/include/"
-
-#these are the user adjustables : adjust them to fit into your system
-# PD will install to $(DESTDIR)$(INSTALLL_PREFIX)$(PDLIBDIR), which is /usr/local/lib/pd
-# by default
-DESTDIR =
-INSTALL_PREFIX = /usr/local
-PDLIBDIR = /lib/pd
-#these were the user adjustables
-
-
-TARGETS = MIDIvice \
-	motormix
-
-# ----------------------- LINUX ----------------------------
-.SUFFIXES: .pd_linux
-
-
-LINUXOBJECTS = $(TARGETS:%=%.o)
-ARCH = $(shell uname --machine)
-
-PD_DIR = $(DESTDIR)$(INSTALL_PREFIX)$(PDLIBDIR)
-
-ifeq (${ARCH},alpha)
-AFLAGS = -mieee  -mcpu=ev56
-endif
-
-LINCLUDE =
-
-$(LINUXOBJECTS): *.h
-
-CFLAGS = -O2 -g -Wall $(LINCLUDE) $(UCFLAGS) $(AFLAGS)
-
-everything: clean all install distclean
-
-distclean:
-	touch dummy.o
-	touch dummy.pd_linux
-	touch dummy~
-	touch _dummy
-	rm *.o *.pd_linux *~ _*
-
-clean:
-	touch dummy.o
-	touch dummy.pd_linux
-	rm *.o *.pd_linux
-
-all: $(LINUXOBJECTS)
-
-	@echo :: $(LINUXOBJECTS)
-
-	ld -export_dynamic  -shared -o MIDIvice.pd_linux *.o -lc -lm
-	strip --strip-unneeded MIDIvice.pd_linux
-
-.c.pd_linux:
-	cc $(CFLAGS) -O2 -DPD -fPIC $(INCLUDE) -c -o $*.o $*.c
-
-
-install: installdocs
-	install -m 644 MIDIvice.pd_linux $(PD_DIR)/extra
-
-installdocs:
-	install -d $(PD_DIR)/doc/5.reference/MIDIvice
-	install -m644 ../doc/* $(PD_DIR)/doc/5.reference/MIDIvice


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Pd-cvs mailing list