diff options
author | Tilman Keskinoz <arved@FreeBSD.org> | 2004-03-10 14:06:31 +0000 |
---|---|---|
committer | Tilman Keskinoz <arved@FreeBSD.org> | 2004-03-10 14:06:31 +0000 |
commit | b188ab4e66789b81c1482cb891377bfbd91ebc7a (patch) | |
tree | 2ffcc33bed69ec6bc5dd3f9ada8975699a6dacd7 /audio/jack | |
parent | ef7f2d6bba55bb9fb1d0ff03420c07b0c048ee54 (diff) | |
download | ports-b188ab4e66789b81c1482cb891377bfbd91ebc7a.tar.gz ports-b188ab4e66789b81c1482cb891377bfbd91ebc7a.zip |
Notes
Diffstat (limited to 'audio/jack')
-rw-r--r-- | audio/jack/Makefile | 4 | ||||
-rw-r--r-- | audio/jack/files/Makefile.in | 494 | ||||
-rw-r--r-- | audio/jack/files/patch-aa | 1318 | ||||
-rw-r--r-- | audio/jack/files/patch-configure | 19 | ||||
-rw-r--r-- | audio/jack/files/patch-drivers-Makefile.in | 14 | ||||
-rw-r--r-- | audio/jack/pkg-plist | 48 |
6 files changed, 1873 insertions, 24 deletions
diff --git a/audio/jack/Makefile b/audio/jack/Makefile index 6ab2ed6b247c..87b24afae1df 100644 --- a/audio/jack/Makefile +++ b/audio/jack/Makefile @@ -6,12 +6,13 @@ PORTNAME= jackit PORTVERSION= 0.94.0 +PORTREVISION= 1 CATEGORIES= audio MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= jackit DISTNAME= jack-audio-connection-kit-${PORTVERSION} -MAINTAINER= ports@FreeBSD.org +MAINTAINER= arved@FreeBSD.org COMMENT= JACK is a low-latency audio server LIB_DEPENDS= portaudio.0:${PORTSDIR}/audio/portaudio \ @@ -36,5 +37,6 @@ post-patch: ${WRKSRC}/example-clients/Makefile.in ${REINPLACE_CMD} -e "s,-ldl,," ${WRKSRC}/jackd/Makefile.in \ ${WRKSRC}/example-clients/Makefile.in + ${CP} ${FILESDIR}/Makefile.in ${WRKSRC}/drivers/oss .include <bsd.port.mk> diff --git a/audio/jack/files/Makefile.in b/audio/jack/files/Makefile.in new file mode 100644 index 000000000000..da467bed60c4 --- /dev/null +++ b/audio/jack/files/Makefile.in @@ -0,0 +1,494 @@ +# Makefile.in generated by automake 1.7.8 from Makefile.am. +# @configure_input@ + +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../.. + +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +ADDON_DIR = @ADDON_DIR@ +ALSA_FALSE = @ALSA_FALSE@ +ALSA_LIBS = @ALSA_LIBS@ +ALSA_TRUE = @ALSA_TRUE@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFAULT_TMP_DIR = @DEFAULT_TMP_DIR@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +HAVE_ALSA_FALSE = @HAVE_ALSA_FALSE@ +HAVE_ALSA_TRUE = @HAVE_ALSA_TRUE@ +HAVE_CAPABILITIES = @HAVE_CAPABILITIES@ +HAVE_DOXYGEN = @HAVE_DOXYGEN@ +HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ +HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ +HAVE_PA_FALSE = @HAVE_PA_FALSE@ +HAVE_PA_TRUE = @HAVE_PA_TRUE@ +HAVE_READLINE_FALSE = @HAVE_READLINE_FALSE@ +HAVE_READLINE_TRUE = @HAVE_READLINE_TRUE@ +HAVE_SNDFILE_FALSE = @HAVE_SNDFILE_FALSE@ +HAVE_SNDFILE_TRUE = @HAVE_SNDFILE_TRUE@ +HTML_DIR = @HTML_DIR@ +IEC61883_FALSE = @IEC61883_FALSE@ +IEC61883_TRUE = @IEC61883_TRUE@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JACK_API_MAJOR_VERSION = @JACK_API_MAJOR_VERSION@ +JACK_API_MICRO_VERSION = @JACK_API_MICRO_VERSION@ +JACK_API_MINOR_VERSION = @JACK_API_MINOR_VERSION@ +JACK_CFLAGS = @JACK_CFLAGS@ +JACK_MAJOR_VERSION = @JACK_MAJOR_VERSION@ +JACK_MICRO_VERSION = @JACK_MICRO_VERSION@ +JACK_MINOR_VERSION = @JACK_MINOR_VERSION@ +JACK_PROTOCOL_VERSION = @JACK_PROTOCOL_VERSION@ +JACK_RELEASE = @JACK_RELEASE@ +JACK_SO_VERSION = @JACK_SO_VERSION@ +JACK_VERSION = @JACK_VERSION@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PA_LIBS = @PA_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +PORTAUDIO_FALSE = @PORTAUDIO_FALSE@ +PORTAUDIO_TRUE = @PORTAUDIO_TRUE@ +RANLIB = @RANLIB@ +RAW1394_LIBS = @RAW1394_LIBS@ +READLINE_DEPS = @READLINE_DEPS@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SNDFILE_CFLAGS = @SNDFILE_CFLAGS@ +SNDFILE_LIBS = @SNDFILE_LIBS@ +STRIP = @STRIP@ +STRIPPED_JACKD_FALSE = @STRIPPED_JACKD_FALSE@ +STRIPPED_JACKD_TRUE = @STRIPPED_JACKD_TRUE@ +USE_CAPABILITIES_FALSE = @USE_CAPABILITIES_FALSE@ +USE_CAPABILITIES_TRUE = @USE_CAPABILITIES_TRUE@ +VERSION = @VERSION@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ +MAINTAINERCLEANFILES = Makefile.in + +AM_CFLAGS = $(JACK_CFLAGS) + +plugindir = $(ADDON_DIR) + +plugin_LTLIBRARIES = jack_oss.la + +jack_oss_la_LDFLAGS = -module -avoid-version +jack_oss_la_SOURCES = oss_driver.c oss_driver.h + +noinst_HEADERS = oss_driver.h + +subdir = drivers/oss +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +LTLIBRARIES = $(plugin_LTLIBRARIES) + +jack_oss_la_DEPENDENCIES = +am_jack_oss_la_OBJECTS = oss_driver.lo +jack_oss_la_OBJECTS = $(am_jack_oss_la_OBJECTS) + +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/oss_driver.Plo +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ + $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +DIST_SOURCES = $(jack_oss_la_SOURCES) +HEADERS = $(noinst_HEADERS) + +DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.in Makefile.am +SOURCES = $(jack_oss_la_SOURCES) + +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign drivers/oss/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +pluginLTLIBRARIES_INSTALL = $(INSTALL) +install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(plugindir) + @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(LIBTOOL) --mode=install $(pluginLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(plugindir)/$$f"; \ + $(LIBTOOL) --mode=install $(pluginLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(plugindir)/$$f; \ + else :; fi; \ + done + +uninstall-pluginLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \ + p="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(plugindir)/$$p"; \ + $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(plugindir)/$$p; \ + done + +clean-pluginLTLIBRARIES: + -test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES) + @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" = "$$p" && dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +jack_oss.la: $(jack_oss_la_OBJECTS) $(jack_oss_la_DEPENDENCIES) + $(LINK) -rpath $(plugindir) $(jack_oss_la_LDFLAGS) $(jack_oss_la_OBJECTS) $(jack_oss_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) core *.core + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oss_driver.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ +@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCC_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< + +.c.obj: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ +@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCC_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` + +.c.lo: +@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ +@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCC_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ETAGS = etags +ETAGSFLAGS = + +CTAGS = ctags +CTAGSFLAGS = + +tags: TAGS + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)$$tags$$unique" \ + || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique + +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + +top_distdir = ../.. +distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(HEADERS) + +installdirs: + $(mkinstalldirs) $(DESTDIR)$(plugindir) +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) +clean: clean-am + +clean-am: clean-generic clean-libtool clean-pluginLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +info: info-am + +info-am: + +install-data-am: install-pluginLTLIBRARIES + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-pluginLTLIBRARIES + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-pluginLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am info info-am install \ + install-am install-data install-data-am install-exec \ + install-exec-am install-info install-info-am install-man \ + install-pluginLTLIBRARIES install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-info-am \ + uninstall-pluginLTLIBRARIES + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/audio/jack/files/patch-aa b/audio/jack/files/patch-aa new file mode 100644 index 000000000000..3067e0553d46 --- /dev/null +++ b/audio/jack/files/patch-aa @@ -0,0 +1,1318 @@ +diff -urN jack-audio-connection-kit-0.94.0/configure.in configure.in +--- jack-audio-connection-kit-0.94.0/configure.in 2004-01-13 04:43:12.000000000 +0200 ++++ configure.in 2004-02-14 16:21:26.000000000 +0200 +@@ -116,7 +116,7 @@ + + JACK_CORE_CFLAGS="-I\$(top_srcdir) -I\$(top_builddir) -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall" + +-JACK_CFLAGS="$JACK_CORE_CFLAGS -g" ++JACK_CFLAGS="$JACK_CORE_CFLAGS -g $CFLAGS" + dnl + dnl figure out how best to optimize + dnl +@@ -162,6 +162,8 @@ + fi + fi + ++JACK_OPT_CFLAGS="$JACK_CORE_CFLAGS -march=pentium2 -mcpu=pentium4 -mmmx -O3 -ffast-math -funroll-loops -fprefetch-loop-arrays" ++ + AC_ARG_ENABLE(optimize, + [ --enable-optimize ask the compiler for its best optimizations], + [ if test "x$enable_optimize" != "xno" ; then JACK_CFLAGS="$JACK_OPT_CFLAGS" ; fi ]) +@@ -416,6 +418,7 @@ + drivers/dummy/Makefile + drivers/portaudio/Makefile + drivers/iec61883/Makefile ++drivers/oss/Makefile + example-clients/Makefile + doc/Makefile + doc/reference.doxygen +diff -urN jack-audio-connection-kit-0.94.0/drivers/oss/Makefile.am drivers/oss/Makefile.am +--- jack-audio-connection-kit-0.94.0/drivers/oss/Makefile.am 1970-01-01 02:00:00.000000000 +0200 ++++ drivers/oss/Makefile.am 2004-02-14 16:21:26.000000000 +0200 +@@ -0,0 +1,14 @@ ++MAINTAINCLEANFILES = Makefile.in ++ ++AM_CFLAGS = $(JACK_CFLAGS) -I/opt/oss/include -D_XOPEN_SOURCE=600 -DUSE_BARRIER ++#AM_CFLAGS = $(JACK_CFLAGS) -I/opt/oss/include ++AM_LDFLAGS = $(JACK_LDFLAGS) -lpthread -lrt ++ ++plugindir = $(ADDON_DIR) ++ ++plugin_LTLIBRARIES = jack_oss.la ++ ++jack_oss_la_LDFLAGS = -module -avoid-version ++jack_oss_la_SOURCES = oss_driver.c oss_driver.h ++ ++noinst_HEADERS = oss_driver.h +diff -urN jack-audio-connection-kit-0.94.0/drivers/oss/oss_driver.c drivers/oss/oss_driver.c +--- jack-audio-connection-kit-0.94.0/drivers/oss/oss_driver.c 1970-01-01 02:00:00.000000000 +0200 ++++ drivers/oss/oss_driver.c 2004-02-14 17:22:53.000000000 +0200 +@@ -0,0 +1,1171 @@ ++/* ++ ++ OSS driver for Jack ++ Copyright (C) 2003-2004 Jussi Laako <jussi@sonarnerd.net> ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ MA 02111-1307 USA ++ ++*/ ++ ++ ++#include <stdio.h> ++#include <stdlib.h> ++#include <string.h> ++#include <unistd.h> ++#include <fcntl.h> ++#include <errno.h> ++#include <math.h> ++#include <float.h> ++#include <sys/types.h> ++#include <sys/stat.h> ++#include <sys/ioctl.h> ++#include <sys/soundcard.h> ++#include <stdarg.h> ++#include <getopt.h> ++#ifndef USE_BARRIER ++#include <pthread.h> ++#else ++#include <pthread.h> ++#include <semaphore.h> ++#endif ++ ++#include <jack/types.h> ++#include <jack/internal.h> ++#include <jack/engine.h> ++#include <jack/time.h> ++ ++#include "oss_driver.h" ++ ++ ++#define OSS_DRIVER_N_PARAMS 9 ++const static jack_driver_param_desc_t oss_params[OSS_DRIVER_N_PARAMS] = { ++ { "samplerate", ++ 's', ++ JackDriverParamUInt, ++ { .ui = OSS_DRIVER_DEF_FS }, ++ "sample rate", ++ "sample rate" ++ }, ++ { "periodsize", ++ 'b', ++ JackDriverParamUInt, ++ { .ui = OSS_DRIVER_DEF_BLKSIZE }, ++ "period size", ++ "period size" ++ }, ++ { "wordlength", ++ 'w', ++ JackDriverParamInt, ++ { .i = OSS_DRIVER_DEF_BITS }, ++ "word length", ++ "word length" ++ }, ++ { "capturech", ++ 'c', ++ JackDriverParamUInt, ++ { .ui = OSS_DRIVER_DEF_INS }, ++ "capture channels", ++ "capture channels" ++ }, ++ { "playbackch", ++ 'p', ++ JackDriverParamUInt, ++ { .ui = OSS_DRIVER_DEF_OUTS }, ++ "playback channels", ++ "playback channels" ++ }, ++ { "inputdev", ++ 'i', ++ JackDriverParamString, ++ { .str = '\0' }, ++ "input device", ++ "input device" ++ }, ++ { "outputdev", ++ 'o', ++ JackDriverParamString, ++ { .str = '\0' }, ++ "output device", ++ "output device" ++ }, ++ { "ignorehwbuf", ++ 'd', ++ JackDriverParamBool, ++ { }, ++ "ignore hardware period size", ++ "ignore hardware period size" ++ }, ++ { "help", ++ 'h', ++ JackDriverParamBool, ++ { }, ++ "help", ++ "help" ++ } ++}; ++ ++ ++ ++/* internal functions */ ++ ++ ++static void copy_and_convert_in (jack_sample_t *dst, void *src, ++ size_t nframes, int channel, int chcount, int bits) ++{ ++ int srcidx; ++ int dstidx; ++ signed short *s16src = (signed short *) src; ++ signed int *s32src = (signed int *) src; ++ double *f64src = (double *) src; ++ jack_sample_t scale; ++ ++ srcidx = channel; ++ switch (bits) ++ { ++ case 16: ++ scale = 1.0f / 0x7fff; ++ for (dstidx = 0; dstidx < nframes; dstidx++) ++ { ++ dst[dstidx] = (jack_sample_t) ++ s16src[srcidx] * scale; ++ srcidx += chcount; ++ } ++ break; ++ case 24: ++ scale = 1.0f / 0x7fffff; ++ for (dstidx = 0; dstidx < nframes; dstidx++) ++ { ++ dst[dstidx] = (jack_sample_t) ++ s32src[srcidx] * scale; ++ srcidx += chcount; ++ } ++ break; ++ case 32: ++ scale = 1.0f / 0x7fffffff; ++ for (dstidx = 0; dstidx < nframes; dstidx++) ++ { ++ dst[dstidx] = (jack_sample_t) ++ s32src[srcidx] * scale; ++ srcidx += chcount; ++ } ++ break; ++ case 64: ++ for (dstidx = 0; dstidx < nframes; dstidx++) ++ { ++ dst[dstidx] = (jack_sample_t) f64src[srcidx]; ++ srcidx += chcount; ++ } ++ break; ++ } ++} ++ ++ ++static void copy_and_convert_out (void *dst, jack_sample_t *src, ++ size_t nframes, int channel, int chcount, int bits) ++{ ++ int srcidx; ++ int dstidx; ++ signed short *s16dst = (signed short *) dst; ++ signed int *s32dst = (signed int *) dst; ++ double *f64dst = (double *) dst; ++ jack_sample_t scale; ++ ++ dstidx = channel; ++ switch (bits) ++ { ++ case 16: ++ scale = 0x7fff; ++ for (srcidx = 0; srcidx < nframes; srcidx++) ++ { ++ s16dst[dstidx] = (signed short) ++ (src[srcidx] * scale + 0.5f); ++ dstidx += chcount; ++ } ++ break; ++ case 24: ++ scale = 0x7fffff; ++ for (srcidx = 0; srcidx < nframes; srcidx++) ++ { ++ s32dst[dstidx] = (signed int) ++ (src[srcidx] * scale + 0.5f); ++ dstidx += chcount; ++ } ++ break; ++ case 32: ++ scale = 0x7fffffff; ++ for (srcidx = 0; srcidx < nframes; srcidx++) ++ { ++ s32dst[dstidx] = (signed int) ++ (src[srcidx] * scale + 0.5f); ++ dstidx += chcount; ++ } ++ break; ++ case 64: ++ for (srcidx = 0; srcidx < nframes; srcidx++) ++ { ++ f64dst[dstidx] = (double) src[srcidx]; ++ dstidx += chcount; ++ } ++ break; ++ } ++} ++ ++ ++static void set_fragment (int fd, int fragsize) ++{ ++ int fragcount; ++ int fragsize_2p; ++ int fragments; ++ ++ fragcount = 2; ++ //fragcount = 3; ++ //fragcount = 0xffff / fragsize; ++ fragsize_2p = (int) (log(fragsize) / log(2.0) + 0.5); ++ fragments = ((fragcount << 16) | (fragsize_2p & 0xffff)); ++ if (ioctl(fd, SNDCTL_DSP_SETFRAGMENT, &fragments) < 0) ++ { ++ jack_error("OSS: failed to set fragment size: %s@%i", ++ __FILE__, __LINE__); ++ } ++} ++ ++ ++static int get_fragment (int fd) ++{ ++ int fragsize; ++ ++ if (ioctl(fd, SNDCTL_DSP_GETBLKSIZE, &fragsize) < 0) ++ { ++ jack_error("OSS: failed to get fragment size: %s@%i", ++ __FILE__, __LINE__); ++ return 0; ++ } ++ return fragsize; ++} ++ ++ ++static void *io_thread (void *); ++ ++ ++/* jack driver interface */ ++ ++ ++static int oss_driver_attach (oss_driver_t *driver, jack_engine_t *engine) ++{ ++ int port_flags; ++ unsigned int channel; ++ char channel_name[64]; ++ jack_port_t *port; ++ ++ driver->engine = engine; ++ ++ engine->set_buffer_size(engine, driver->period_size); ++ engine->set_sample_rate(engine, driver->sample_rate); ++ ++ port_flags = JackPortIsOutput|JackPortIsPhysical|JackPortIsTerminal; ++ for (channel = 0; channel < driver->capture_channels; channel++) ++ { ++ snprintf(channel_name, sizeof(channel_name), ++ "capture_%u", channel + 1); ++ port = jack_port_register(driver->client, channel_name, ++ JACK_DEFAULT_AUDIO_TYPE, port_flags, 0); ++ if (port == NULL) ++ { ++ jack_error("OSS: cannot register port for %s: %s@%i", ++ channel_name, __FILE__, __LINE__); ++ break; ++ } ++ driver->capture_ports = ++ jack_slist_append(driver->capture_ports, port); ++ } ++ ++ port_flags = JackPortIsInput|JackPortIsPhysical|JackPortIsTerminal; ++ for (channel = 0; channel < driver->playback_channels; channel++) ++ { ++ snprintf(channel_name, sizeof(channel_name), ++ "playback_%u", channel + 1); ++ port = jack_port_register(driver->client, channel_name, ++ JACK_DEFAULT_AUDIO_TYPE, port_flags, 0); ++ if (port == NULL) ++ { ++ jack_error("OSS: cannot register port for %s: %s@%i", ++ channel_name, __FILE__, __LINE__); ++ break; ++ } ++ driver->playback_ports = ++ jack_slist_append(driver->playback_ports, port); ++ } ++ ++ jack_activate(driver->client); ++ ++ return 0; ++} ++ ++ ++static int oss_driver_detach (oss_driver_t *driver, jack_engine_t *engine) ++{ ++ JSList *node; ++ ++ if (driver->engine == NULL) ++ return -1; ++ ++ node = driver->capture_ports; ++ while (node != NULL) ++ { ++ jack_port_unregister(driver->client, ++ ((jack_port_t *) node->data)); ++ node = jack_slist_next(node); ++ } ++ jack_slist_free(driver->capture_ports); ++ driver->capture_ports = NULL; ++ ++ node = driver->playback_ports; ++ while (node != NULL) ++ { ++ jack_port_unregister(driver->client, ++ ((jack_port_t *) node->data)); ++ node = jack_slist_next(node); ++ } ++ jack_slist_free(driver->playback_ports); ++ driver->playback_ports = NULL; ++ ++ driver->engine = NULL; ++ ++ return 0; ++} ++ ++ ++static int oss_driver_start (oss_driver_t *driver) ++{ ++ int format; ++ int channels; ++ int samplerate; ++ int infd = driver->infd; ++ int outfd = driver->outfd; ++ unsigned int period_size; ++ size_t samplesize; ++ size_t fragsize; ++ const char *indev = driver->indev; ++ const char *outdev = driver->outdev; ++ ++ switch (driver->bits) ++ { ++ case 24: ++ case 32: ++ samplesize = sizeof(int); ++ break; ++ case 64: ++ samplesize = sizeof(double); ++ break; ++ case 16: ++ default: ++ samplesize = sizeof(short); ++ break; ++ } ++ if (strcmp(indev, outdev) != 0) ++ { ++ if (driver->capture_channels > 0) ++ { ++ infd = open(indev, O_RDONLY); ++ if (infd < 0) ++ { ++ jack_error( ++ "OSS: failed to open input device %s: %s@%i", ++ indev, __FILE__, __LINE__); ++ } ++ fragsize = driver->period_size * ++ driver->capture_channels * samplesize; ++ set_fragment(infd, fragsize); ++ } ++ else infd = -1; ++ ++ if (driver->playback_channels > 0) ++ { ++ outfd = open(outdev, O_WRONLY); ++ if (outfd < 0) ++ { ++ jack_error( ++ "OSS: failed to open output device %s: %s@%i", ++ outdev, __FILE__, __LINE__); ++ } ++ fragsize = driver->period_size * ++ driver->playback_channels * samplesize; ++ set_fragment(outfd, fragsize); ++ } ++ else outfd = -1; ++ } ++ else ++ { ++ if (driver->capture_channels != 0 && ++ driver->playback_channels == 0) ++ { ++ infd = open(indev, O_RDWR); ++ outfd = -1; ++ if (infd < 0) ++ { ++ jack_error( ++ "OSS: failed to open device %s: %s@%i", ++ indev, __FILE__, __LINE__); ++ return -1; ++ } ++ } ++ else if (driver->capture_channels == 0 && ++ driver->playback_channels != 0) ++ { ++ infd = -1; ++ outfd = open(outdev, O_RDWR); ++ if (outfd < 0) ++ { ++ jack_error( ++ "OSS: failed to open device %s: %s@%i", ++ outdev, __FILE__, __LINE__); ++ return -1; ++ } ++ } ++ else ++ { ++ infd = outfd = open(indev, O_RDWR); ++ if (infd < 0) ++ { ++ jack_error( ++ "OSS: failed to open device %s: %s@%i", ++ indev, __FILE__, __LINE__); ++ return -1; ++ } ++ } ++ if (infd >= 0 && outfd >= 0) ++ { ++ if (ioctl(infd, SNDCTL_DSP_SETDUPLEX, 0) < 0) ++ { ++ jack_error( ++ "OSS: failed to enable full duplex for %s: %s@%i", ++ indev, __FILE__, __LINE__); ++ } ++ } ++ if (infd >= 0) ++ { ++ fragsize = driver->period_size * ++ driver->capture_channels * samplesize; ++ set_fragment(infd, fragsize); ++ } ++ if (outfd >= 0 && infd < 0) ++ { ++ fragsize = driver->period_size * ++ driver->playback_channels * samplesize; ++ set_fragment(outfd, fragsize); ++ } ++ } ++ driver->infd = infd; ++ driver->outfd = outfd; ++ ++ if (infd >= 0) ++ { ++ format = driver->format; ++ if (ioctl(infd, SNDCTL_DSP_SETFMT, &format) < 0) ++ jack_error( ++ "OSS: failed to set format for %s: %s@%i", ++ indev, __FILE__, __LINE__); ++ channels = driver->capture_channels; ++ if (ioctl(infd, SNDCTL_DSP_CHANNELS, &channels) < 0) ++ jack_error( ++ "OSS: failed to set channels for %s: %s@%i", ++ indev, __FILE__, __LINE__); ++ samplerate = driver->sample_rate; ++ if (ioctl(infd, SNDCTL_DSP_SPEED, &samplerate) < 0) ++ jack_error( ++ "OSS: failed to set samplerate for %s: %s@%i", ++ indev, __FILE__, __LINE__); ++ printf("oss_driver: %s : 0x%x/%i/%i (%i)\n", indev, ++ format, channels, samplerate, get_fragment(infd)); ++ ++ period_size = get_fragment(infd) / samplesize / channels; ++ if (period_size != driver->period_size && ++ !driver->ignorehwbuf) ++ { ++ printf("oss_driver: period size update: %u\n", ++ period_size); ++ driver->period_size = period_size; ++ driver->period_usecs = ++ ((double) driver->period_size / ++ (double) driver->sample_rate) * 1e6; ++ driver->engine->set_buffer_size(driver->engine, ++ driver->period_size); ++ } ++ } ++ ++ if (outfd >= 0 && infd != outfd) ++ { ++ format = driver->format; ++ if (ioctl(outfd, SNDCTL_DSP_SETFMT, &format) < 0) ++ jack_error( ++ "OSS: failed to set format for %s: %s@%i", ++ outdev, __FILE__, __LINE__); ++ channels = driver->playback_channels; ++ if (ioctl(outfd, SNDCTL_DSP_CHANNELS, &channels) < 0) ++ jack_error( ++ "OSS: failed to set channels for %s: %s@%i", ++ outdev, __FILE__, __LINE__); ++ samplerate = driver->sample_rate; ++ if (ioctl(outfd, SNDCTL_DSP_SPEED, &samplerate) < 0) ++ jack_error( ++ "OSS: failed to set samplerate for %s: %s@%i", ++ outdev, __FILE__, __LINE__); ++ printf("oss_driver: %s : 0x%x/%i/%i (%i)\n", outdev, ++ format, channels, samplerate, ++ get_fragment(outfd)); ++ ++ period_size = get_fragment(outfd) / samplesize / channels; ++ if (period_size != driver->period_size && ++ !driver->ignorehwbuf) ++ { ++ printf("oss_driver: period size update: %u\n", ++ period_size); ++ driver->period_size = period_size; ++ driver->period_usecs = ++ ((double) driver->period_size / ++ (double) driver->sample_rate) * 1e6; ++ driver->engine->set_buffer_size(driver->engine, ++ driver->period_size); ++ } ++ } ++ ++ if (driver->capture_channels > 0) ++ { ++ driver->indevbufsize = driver->period_size * ++ driver->capture_channels * samplesize; ++ driver->indevbuf = malloc(driver->indevbufsize); ++ if (driver->indevbuf == NULL) ++ { ++ jack_error( "OSS: malloc() failed: %s@%i", ++ __FILE__, __LINE__); ++ return -1; ++ } ++ memset(driver->indevbuf, 0x00, driver->indevbufsize); ++ } ++ else ++ { ++ driver->indevbufsize = 0; ++ driver->indevbuf = NULL; ++ } ++ ++ if (driver->playback_channels > 0) ++ { ++ driver->outdevbufsize = driver->period_size * ++ driver->playback_channels * samplesize; ++ driver->outdevbuf = malloc(driver->outdevbufsize); ++ if (driver->outdevbuf == NULL) ++ { ++ jack_error("OSS: malloc() failed: %s@%i", ++ __FILE__, __LINE__); ++ return -1; ++ } ++ memset(driver->outdevbuf, 0x00, driver->outdevbufsize); ++ } ++ else ++ { ++ driver->outdevbufsize = 0; ++ driver->outdevbuf = NULL; ++ } ++ ++ printf("oss_driver: indevbuf %u B, outdevbuf %u B\n", ++ driver->indevbufsize, driver->outdevbufsize); ++ ++ pthread_mutex_init(&driver->mutex_in, NULL); ++ pthread_mutex_init(&driver->mutex_out, NULL); ++# ifdef USE_BARRIER ++ pthread_barrier_init(&driver->barrier, NULL, 2); ++ sem_init(&driver->sem_start, 0, 0); ++# endif ++ driver->run = 1; ++ driver->threads = 0; ++ if (infd >= 0) ++ { ++ if (pthread_create(&driver->thread_in, NULL, io_thread, ++ driver) < 0) ++ { ++ jack_error("OSS: pthread_create() failed: %s@%i", ++ __FILE__, __LINE__); ++ return -1; ++ } ++ driver->threads |= 1; ++ } ++# ifdef USE_BARRIER ++ if (outfd >= 0) ++# else ++ if (outfd >= 0 && infd != outfd) ++# endif ++ { ++ if (pthread_create(&driver->thread_out, NULL, io_thread, ++ driver) < 0) ++ { ++ jack_error("OSS: pthread_create() failed: %s@%i", ++ __FILE__, __LINE__); ++ return -1; ++ } ++ driver->threads |= 2; ++ } ++ ++# ifdef USE_BARRIER ++ sem_post(&driver->sem_start); ++ sem_post(&driver->sem_start); ++# endif ++ ++ return 0; ++} ++ ++ ++static int oss_driver_stop (oss_driver_t *driver) ++{ ++ void *retval; ++ ++ driver->run = 0; ++ if (driver->threads & 1) ++ { ++ if (pthread_join(driver->thread_in, &retval) < 0) ++ { ++ jack_error("OSS: pthread_join() failed: %s@%i", ++ __FILE__, __LINE__); ++ return -1; ++ } ++ } ++ if (driver->threads & 2) ++ { ++ if (pthread_join(driver->thread_out, &retval) < 0) ++ { ++ jack_error("OSS: pthread_join() failed: %s@%i", ++ __FILE__, __LINE__); ++ return -1; ++ } ++ } ++# ifdef USE_BARRIER ++ sem_destroy(&driver->sem_start); ++ pthread_barrier_destroy(&driver->barrier); ++# endif ++ pthread_mutex_destroy(&driver->mutex_in); ++ pthread_mutex_destroy(&driver->mutex_out); ++ ++ if (driver->outfd >= 0 && driver->outfd != driver->infd) ++ { ++ close(driver->outfd); ++ driver->outfd = -1; ++ } ++ if (driver->infd >= 0) ++ { ++ close(driver->infd); ++ driver->infd = -1; ++ } ++ ++ if (driver->indevbuf != NULL) ++ { ++ free(driver->indevbuf); ++ driver->indevbuf = NULL; ++ } ++ if (driver->outdevbuf != NULL) ++ { ++ free(driver->outdevbuf); ++ driver->outdevbuf = NULL; ++ } ++ ++ return 0; ++} ++ ++ ++static int oss_driver_read (oss_driver_t *driver, jack_nframes_t nframes) ++{ ++ int channel; ++ jack_sample_t *portbuf; ++ JSList *node; ++ jack_port_t *port; ++ ++ if (nframes != driver->period_size) ++ { ++ jack_error( ++ "OSS: read failed nframes != period_size (%u/%u): %s@%i", ++ nframes, driver->period_size, __FILE__, __LINE__); ++ return -1; ++ } ++ ++ pthread_mutex_lock(&driver->mutex_in); ++ ++ node = driver->capture_ports; ++ channel = 0; ++ while (node != NULL) ++ { ++ port = (jack_port_t *) node->data; ++ ++ if (jack_port_connected(port)) ++ { ++ portbuf = jack_port_get_buffer(port, nframes); ++ copy_and_convert_in(portbuf, driver->indevbuf, ++ nframes, channel, ++ driver->capture_channels, ++ driver->bits); ++ } ++ ++ node = jack_slist_next(node); ++ channel++; ++ } ++ ++ pthread_mutex_unlock(&driver->mutex_in); ++ ++ return 0; ++} ++ ++ ++static int oss_driver_write (oss_driver_t *driver, jack_nframes_t nframes) ++{ ++ int channel; ++ jack_sample_t *portbuf; ++ JSList *node; ++ jack_port_t *port; ++ ++ if (nframes != driver->period_size) ++ { ++ jack_error( ++ "OSS: write failed nframes != period_size (%u/%u): %s@%i", ++ nframes, driver->period_size, __FILE__, __LINE__); ++ return -1; ++ } ++ ++ pthread_mutex_lock(&driver->mutex_out); ++ ++ node = driver->playback_ports; ++ channel = 0; ++ while (node != NULL) ++ { ++ port = (jack_port_t *) node->data; ++ ++ if (jack_port_connected(port)) ++ { ++ portbuf = jack_port_get_buffer(port, nframes); ++ copy_and_convert_out(driver->outdevbuf, portbuf, ++ nframes, channel, ++ driver->playback_channels, ++ driver->bits); ++ } ++ ++ node = jack_slist_next(node); ++ channel++; ++ } ++ ++ pthread_mutex_unlock(&driver->mutex_out); ++ ++ return 0; ++} ++ ++ ++static int oss_driver_null_cycle (oss_driver_t *driver, jack_nframes_t nframes) ++{ ++ pthread_mutex_lock(&driver->mutex_in); ++ memset(driver->indevbuf, 0x00, driver->indevbufsize); ++ pthread_mutex_unlock(&driver->mutex_in); ++ ++ pthread_mutex_lock(&driver->mutex_out); ++ memset(driver->outdevbuf, 0x00, driver->outdevbufsize); ++ pthread_mutex_unlock(&driver->mutex_out); ++ ++ return 0; ++} ++ ++ ++static int oss_driver_bufsize (oss_driver_t *driver, jack_nframes_t nframes) ++{ ++ oss_driver_stop(driver); ++ ++ driver->period_size = nframes; ++ driver->period_usecs = ++ ((double) driver->period_size / ++ (double) driver->sample_rate) * 1e6; ++ printf("oss_driver: period size update: %u\n", driver->period_size); ++ ++ oss_driver_start(driver); ++ ++ return 0; ++} ++ ++ ++/* internal driver thread */ ++ ++ ++#ifdef USE_BARRIER ++static inline void synchronize (oss_driver_t *driver) ++{ ++ if (driver->threads == 3) ++ { ++ if (pthread_barrier_wait(&driver->barrier) == ++ PTHREAD_BARRIER_SERIAL_THREAD) ++ { ++ driver->last_wait_ust = jack_get_microseconds(); ++ driver->engine->run_cycle(driver->engine, ++ driver->period_size, 0); ++ } ++ } ++ else ++ { ++ driver->last_wait_ust = jack_get_microseconds(); ++ driver->engine->run_cycle(driver->engine, ++ driver->period_size, 0); ++ } ++} ++#endif ++ ++ ++static void *io_thread (void *param) ++{ ++ int schedpol; ++ size_t localsize; ++ void *localbuf; ++ oss_driver_t *driver = (oss_driver_t *) param; ++ struct sched_param schedp; ++ ++ if (pthread_getschedparam(pthread_self(), &schedpol, &schedp) == 0) ++ { ++ schedpol = SCHED_FIFO; ++ schedp.sched_priority = sched_get_priority_max(SCHED_FIFO) - 1; ++ if (pthread_setschedparam(pthread_self(), schedpol, ++ &schedp) < 0) ++ { ++ puts("oss_driver: pthread_setschedparam() failed\n"); ++ } ++ } ++ else ++ { ++ puts("oss_driver: pthread_getschedparam() failed\n"); ++ } ++ ++# ifdef USE_BARRIER ++ sem_wait(&driver->sem_start); ++ ++ if (pthread_self() == driver->thread_in) ++ { ++ localsize = driver->indevbufsize; ++ localbuf = malloc(localsize); ++ if (localbuf == NULL) ++ { ++ jack_error("OSS: malloc() failed: %s@%i", ++ __FILE__, __LINE__); ++ return NULL; ++ } ++ ++ while (driver->run) ++ { ++ if (read(driver->infd, localbuf, localsize) < ++ (ssize_t) localsize) ++ { ++ /*jack_error("OSS: read() failed: %s@%i", ++ __FILE__, __LINE__);*/ ++ break; ++ } ++ ++ pthread_mutex_lock(&driver->mutex_in); ++ memcpy(driver->indevbuf, localbuf, localsize); ++ pthread_mutex_unlock(&driver->mutex_in); ++ ++ synchronize(driver); ++ } ++ ++ free(localbuf); ++ } ++ else if (pthread_self() == driver->thread_out) ++ { ++ localsize = driver->outdevbufsize; ++ localbuf = malloc(localsize); ++ if (localbuf == NULL) ++ { ++ jack_error("OSS: malloc() failed: %s@%i", ++ __FILE__, __LINE__); ++ return NULL; ++ } ++ ++ while (driver->run) ++ { ++ pthread_mutex_lock(&driver->mutex_out); ++ memcpy(localbuf, driver->outdevbuf, localsize); ++ pthread_mutex_unlock(&driver->mutex_out); ++ ++ if (write(driver->outfd, localbuf, localsize) < ++ (ssize_t) localsize) ++ { ++ /*jack_error("OSS: write() failed: %s@%i", ++ __FILE__, __LINE__);*/ ++ break; ++ } ++ ++ synchronize(driver); ++ } ++ ++ free(localbuf); ++ } ++# else ++ localsize = (driver->indevbufsize >= driver->outdevbufsize) ? ++ driver->indevbufsize : driver->outdevbufsize; ++ localbuf = malloc(localsize); ++ if (localbuf == NULL) ++ { ++ jack_error("OSS: malloc() failed: %s@%i", __FILE__, __LINE__); ++ return NULL; ++ } ++ ++ while (driver->run) ++ { ++ if (driver->playback_channels > 0) ++ { ++ pthread_mutex_lock(&driver->mutex_out); ++ memcpy(localbuf, driver->outdevbuf, ++ driver->outdevbufsize); ++ pthread_mutex_unlock(&driver->mutex_out); ++ ++ if (write(driver->outfd, localbuf, ++ driver->outdevbufsize) < ++ (ssize_t) driver->outdevbufsize) ++ { ++ jack_error("OSS: write() failed: %s@%i", ++ __FILE__, __LINE__); ++ break; ++ } ++ } ++ ++ if (driver->capture_channels > 0) ++ { ++ if (read(driver->infd, localbuf, ++ driver->indevbufsize) < ++ (ssize_t) driver->indevbufsize) ++ { ++ jack_error("OSS: read() failed: %s@%i", ++ __FILE__, __LINE__); ++ break; ++ } ++ ++ pthread_mutex_lock(&driver->mutex_in); ++ memcpy(driver->indevbuf, localbuf, ++ driver->indevbufsize); ++ pthread_mutex_unlock(&driver->mutex_in); ++ } ++ ++ driver->last_wait_ust = jack_get_microseconds(); ++ driver->engine->run_cycle(driver->engine, ++ driver->period_size, 0); ++ } ++ ++ free(localbuf); ++# endif ++ ++ return NULL; ++} ++ ++ ++/* jack driver published interface */ ++ ++ ++const char driver_client_name[] = "oss"; ++ ++ ++void driver_finish (jack_driver_t *); ++ ++ ++jack_driver_desc_t * driver_get_descriptor () ++{ ++ jack_driver_desc_t *desc; ++ jack_driver_param_desc_t *params; ++ ++ desc = (jack_driver_desc_t *) calloc(1, sizeof(jack_driver_desc_t)); ++ if (desc == NULL) ++ { ++ printf("oss_driver: malloc() failed: %s@%i\n", ++ __FILE__, __LINE__); ++ return NULL; ++ } ++ strcpy(desc->name, driver_client_name); ++ desc->nparams = 8; ++ ++ params = calloc(desc->nparams, sizeof(jack_driver_param_desc_t)); ++ memcpy(params, oss_params, ++ OSS_DRIVER_N_PARAMS * sizeof(jack_driver_param_desc_t)); ++ desc->params = params; ++ ++ return desc; ++} ++ ++ ++jack_driver_t * driver_initialize (jack_client_t *client, ++ JSList * params) ++{ ++ int bits = OSS_DRIVER_DEF_BITS; ++ jack_nframes_t sample_rate = OSS_DRIVER_DEF_FS; ++ jack_nframes_t period_size = OSS_DRIVER_DEF_BLKSIZE; ++ unsigned int capture_channels = OSS_DRIVER_DEF_INS; ++ unsigned int playback_channels = OSS_DRIVER_DEF_OUTS; ++ const JSList *pnode; ++ const jack_driver_param_t *param; ++ oss_driver_t *driver; ++ ++ driver = (oss_driver_t *) malloc(sizeof(oss_driver_t)); ++ if (driver == NULL) ++ { ++ jack_error("OSS: malloc() failed: %s@%i", __FILE__, __LINE__); ++ return NULL; ++ } ++ jack_driver_init((jack_driver_t *) driver); ++ ++ driver->attach = (JackDriverAttachFunction) oss_driver_attach; ++ driver->detach = (JackDriverDetachFunction) oss_driver_detach; ++ driver->start = (JackDriverStartFunction) oss_driver_start; ++ driver->stop = (JackDriverStopFunction) oss_driver_stop; ++ driver->read = (JackDriverReadFunction) oss_driver_read; ++ driver->write = (JackDriverWriteFunction) oss_driver_write; ++ driver->null_cycle = (JackDriverNullCycleFunction) ++ oss_driver_null_cycle; ++ driver->bufsize = (JackDriverBufSizeFunction) oss_driver_bufsize; ++ ++ driver->indev = NULL; ++ driver->outdev = NULL; ++ driver->ignorehwbuf = 0; ++ ++ pnode = params; ++ while (pnode != NULL) ++ { ++ param = (const jack_driver_param_t *) pnode->data; ++ ++ switch (param->character) ++ { ++ case 's': ++ sample_rate = param->value.ui; ++ break; ++ case 'b': ++ period_size = param->value.ui; ++ break; ++ case 'w': ++ bits = param->value.i; ++ break; ++ case 'c': ++ capture_channels = param->value.ui; ++ break; ++ case 'p': ++ playback_channels = param->value.ui; ++ break; ++ case 'i': ++ driver->indev = strdup(param->value.str); ++ break; ++ case 'o': ++ driver->outdev = strdup(param->value.str); ++ break; ++ case 'd': ++ driver->ignorehwbuf = 1; ++ break; ++ case 'h': ++ puts("-s <fs>\tsample rate"); ++ puts("-b <size>\tperiod size"); ++ puts("-w <bits>\tword length"); ++ puts("-c <chs>\tcapture channels"); ++ puts("-p <chs>\tplayback channels"); ++ puts("-i <dev>\tcapture device"); ++ puts("-o <dev>\tplayback device"); ++ puts("-h\tthis help"); ++ break; ++ } ++ pnode = jack_slist_next(pnode); ++ } ++ ++ driver->sample_rate = sample_rate; ++ driver->period_size = period_size; ++ driver->bits = bits; ++ driver->capture_channels = capture_channels; ++ driver->playback_channels = playback_channels; ++ ++ driver->period_usecs = ++ ((double) period_size / (double) sample_rate) * 1e6; ++ driver->last_wait_ust = 0; ++ ++ driver->finish = driver_finish; ++ ++ if (driver->indev == NULL) ++ driver->indev = strdup("/dev/dsp"); ++ if (driver->outdev == NULL) ++ driver->outdev = strdup(driver->indev); ++ driver->infd = -1; ++ driver->outfd = -1; ++ switch (driver->bits) ++ { ++# ifndef OSS_ENDIAN ++# ifdef __GNUC__ ++# if (defined(__i386__) || defined(__alpha__) || defined(__arm__) || defined(__x86_64__)) ++# define OSS_LITTLE_ENDIAN 1234 ++# define OSS_ENDIAN OSS_LITTLE_ENDIAN ++# else ++# define OSS_BIG_ENDIAN 4321 ++# define OSS_ENDIAN OSS_BIG_ENDIAN ++# endif ++# else /* __GNUC__ */ ++# if (defined(_AIX) || defined(AIX) || defined(sparc) || defined(__hppa) || defined(PPC) || defined(__powerpc__) && !defined(i386) && !defined(__i386) && !defined(__i386__)) ++# define OSS_BIG_ENDIAN 4321 ++# define OSS_ENDIAN OSS_BIG_ENDIAN ++# else ++# define OSS_LITTLE_ENDIAN 1234 ++# define OSS_ENDIAN OSS_LITTLE_ENDIAN ++# endif ++# endif /* __GNUC__ */ ++# endif /* OSS_ENDIAN */ ++# if (OSS_ENDIAN == 1234) ++ /* little-endian architectures */ ++ case 24: /* little-endian LSB aligned 24-bits in 32-bits integer */ ++ driver->format = 0x00008000; ++ break; ++ case 32: /* little-endian 32-bit integer */ ++ driver->format = 0x00001000; ++ break; ++ case 64: /* native-endian 64-bit float */ ++ driver->format = 0x00004000; ++ break; ++ case 16: /* little-endian 16-bit integer */ ++ default: ++ driver->format = 0x00000010; ++ break; ++ /* big-endian architectures */ ++# else ++ case 24: /* big-endian LSB aligned 24-bits in 32-bits integer */ ++ break; ++ driver->format = 0x00010000; ++ case 32: /* big-endian 32-bit integer */ ++ driver->format = 0x00002000; ++ break; ++ case 64: /* native-endian 64-bit float */ ++ driver->format = 0x00004000; ++ break; ++ case 16: /* big-endian 16-bit integer */ ++ default: ++ driver->format = 0x00000020; ++# endif ++ } ++ ++ driver->indevbuf = driver->outdevbuf = NULL; ++ ++ driver->capture_ports = NULL; ++ driver->playback_ports = NULL; ++ ++ driver->engine = NULL; ++ driver->client = client; ++ ++ return ((jack_driver_t *) driver); ++} ++ ++ ++void driver_finish (jack_driver_t *driver) ++{ ++ free(((oss_driver_t *) driver)->indev); ++ free(((oss_driver_t *) driver)->outdev); ++ free(driver); ++} ++ +diff -urN jack-audio-connection-kit-0.94.0/drivers/oss/oss_driver.h drivers/oss/oss_driver.h +--- jack-audio-connection-kit-0.94.0/drivers/oss/oss_driver.h 1970-01-01 02:00:00.000000000 +0200 ++++ drivers/oss/oss_driver.h 2004-02-14 17:23:01.000000000 +0200 +@@ -0,0 +1,92 @@ ++/* ++ ++ OSS driver for Jack ++ Copyright (C) 2003-2004 Jussi Laako <jussi@sonarnerd.net> ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ MA 02111-1307 USA ++ ++*/ ++ ++ ++#ifndef __JACK_OSS_DRIVER_H__ ++#define __JACK_OSS_DRIVER_H__ ++ ++#ifndef USE_BARRIER ++#include <pthread.h> ++#else ++#include <pthread.h> ++#include <semaphore.h> ++#endif ++ ++#include <jack/types.h> ++#include <jack/jslist.h> ++#include <jack/driver.h> ++#include <jack/jack.h> ++ ++ ++#define OSS_DRIVER_DEF_FS 44100 ++#define OSS_DRIVER_DEF_BLKSIZE 1024 ++#define OSS_DRIVER_DEF_BITS 16 ++#define OSS_DRIVER_DEF_INS 2 ++#define OSS_DRIVER_DEF_OUTS 2 ++ ++ ++typedef jack_default_audio_sample_t jack_sample_t; ++ ++typedef struct _oss_driver ++{ ++ JACK_DRIVER_DECL ++ ++ jack_nframes_t sample_rate; ++ jack_nframes_t period_size; ++ int bits; ++ unsigned int capture_channels; ++ unsigned int playback_channels; ++ ++ char *indev; ++ char *outdev; ++ int infd; ++ int outfd; ++ int format; ++ int ignorehwbuf; ++ ++ size_t indevbufsize; ++ size_t outdevbufsize; ++ size_t portbufsize; ++ void *indevbuf; ++ void *outdevbuf; ++ ++ JSList *capture_ports; ++ JSList *playback_ports; ++ ++ jack_engine_t *engine; ++ jack_client_t *client; ++ ++ volatile int run; ++ volatile int threads; ++ pthread_t thread_in; ++ pthread_t thread_out; ++ pthread_mutex_t mutex_in; ++ pthread_mutex_t mutex_out; ++# ifdef USE_BARRIER ++ pthread_barrier_t barrier; ++ sem_t sem_start; ++# endif ++} oss_driver_t; ++ ++ ++#endif ++ diff --git a/audio/jack/files/patch-configure b/audio/jack/files/patch-configure new file mode 100644 index 000000000000..c519fbe94d90 --- /dev/null +++ b/audio/jack/files/patch-configure @@ -0,0 +1,19 @@ +--- configure.bak Wed Mar 10 14:17:41 2004 ++++ configure Wed Mar 10 14:20:41 2004 +@@ -20782,7 +20782,7 @@ + fi + + +- ac_config_files="$ac_config_files Makefile jack.pc jack.spec jack/Makefile jack/version.h jackd/Makefile jackd/jackd.1 libjack/Makefile drivers/Makefile drivers/alsa/Makefile drivers/dummy/Makefile drivers/portaudio/Makefile drivers/iec61883/Makefile example-clients/Makefile doc/Makefile doc/reference.doxygen" ++ ac_config_files="$ac_config_files Makefile jack.pc jack.spec jack/Makefile jack/version.h jackd/Makefile jackd/jackd.1 libjack/Makefile drivers/Makefile drivers/alsa/Makefile drivers/dummy/Makefile drivers/portaudio/Makefile drivers/iec61883/Makefile drivers/oss/Makefile example-clients/Makefile doc/Makefile doc/reference.doxygen" + cat >confcache <<\_ACEOF + # This file is a shell script that caches the results of configure + # tests run on this system so they can be shared between configure +@@ -21428,6 +21428,7 @@ + "drivers/dummy/Makefile" ) CONFIG_FILES="$CONFIG_FILES drivers/dummy/Makefile" ;; + "drivers/portaudio/Makefile" ) CONFIG_FILES="$CONFIG_FILES drivers/portaudio/Makefile" ;; + "drivers/iec61883/Makefile" ) CONFIG_FILES="$CONFIG_FILES drivers/iec61883/Makefile" ;; ++ "drivers/oss/Makefile" ) CONFIG_FILES="$CONFIG_FILES drivers/oss/Makefile" ;; + "example-clients/Makefile" ) CONFIG_FILES="$CONFIG_FILES example-clients/Makefile" ;; + "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; + "doc/reference.doxygen" ) CONFIG_FILES="$CONFIG_FILES doc/reference.doxygen" ;; diff --git a/audio/jack/files/patch-drivers-Makefile.in b/audio/jack/files/patch-drivers-Makefile.in new file mode 100644 index 000000000000..52c413f69dea --- /dev/null +++ b/audio/jack/files/patch-drivers-Makefile.in @@ -0,0 +1,14 @@ +--- drivers/Makefile.in.bak Tue Jan 13 03:44:36 2004 ++++ drivers/Makefile.in Wed Mar 10 14:23:02 2004 +@@ -187,9 +187,9 @@ + @HAVE_PA_TRUE@PA_DIR = portaudio + @HAVE_PA_FALSE@PA_DIR = + +-SUBDIRS = dummy iec61883 $(ALSA_DIR) $(PA_DIR) ++SUBDIRS = dummy iec61883 oss $(ALSA_DIR) $(PA_DIR) + +-DIST_SUBDIRS = dummy iec61883 alsa portaudio ++DIST_SUBDIRS = dummy iec61883 oss alsa portaudio + subdir = drivers + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs diff --git a/audio/jack/pkg-plist b/audio/jack/pkg-plist index b72e85959e8b..49aa821110a2 100644 --- a/audio/jack/pkg-plist +++ b/audio/jack/pkg-plist @@ -1,33 +1,35 @@ -include/jack/jack.h -include/jack/ringbuffer.h -include/jack/timestamps.h -include/jack/transport.h -include/jack/types.h -lib/libjack.so.0 -lib/libjack.la -bin/jackd -lib/jack/jack_dummy.so -lib/jack/jack_dummy.la -lib/jack/jack_portaudio.so -lib/jack/jack_portaudio.la -bin/jack_load -bin/jack_unload -bin/jack_simple_client -bin/jack_monitor_client -bin/jack_impulse_grabber +bin/jack_bufsize bin/jack_connect bin/jack_disconnect +bin/jack_freewheel +bin/jack_impulse_grabber +bin/jack_load +bin/jack_lsp bin/jack_metro +bin/jack_monitor_client bin/jack_showtime -bin/jack_bufsize -bin/jack_lsp -bin/jack_freewheel -bin/jackrec +bin/jack_simple_client bin/jack_transport -lib/jack/inprocess.so +bin/jack_unload +bin/jackd +bin/jackrec +include/jack/jack.h +include/jack/ringbuffer.h +include/jack/timestamps.h +include/jack/transport.h +include/jack/types.h lib/jack/inprocess.la -lib/jack/intime.so +lib/jack/inprocess.so lib/jack/intime.la +lib/jack/intime.so +lib/jack/jack_dummy.la +lib/jack/jack_dummy.so +lib/jack/jack_oss.la +lib/jack/jack_oss.so +lib/jack/jack_portaudio.la +lib/jack/jack_portaudio.so +lib/libjack.la +lib/libjack.so.0 libdata/pkgconfig/jack.pc @dirrm include/jack @dirrm lib/jack |