debian/0000755000000000000000000000000011753202646007174 5ustar debian/source/0000755000000000000000000000000011655717200010472 5ustar debian/source/format0000644000000000000000000000001411655717200011700 0ustar 3.0 (quilt) debian/copyright0000644000000000000000000000373011753201612011122 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: rtfilter Upstream-Contact: Nicolas Bourdaud Source: http://cnbisrv02.epfl.ch/packages/rtfilter Files: * Copyright: 2008-2011, Nicolas Bourdaud License: LGPL-3+ Files: doc/* tests/* Copyright: 2008-2011, Nicolas Bourdaud License: GPL-3+ License: LGPL-3+ This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. . This package 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 Lesser General Public License for more details. . You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . . On Debian systems, the complete text of the GNU Lesser General Public License version 3 can be found in `/usr/share/common-licenses/LGPL-3'. License: GPL-3+ 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 3 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, see . . On Debian systems, the complete text of the GNU General Public License version 3 can be found in `/usr/share/common-licenses/GPL-3'. debian/control0000644000000000000000000000611211753201612010567 0ustar Source: rtfilter Section: libs Priority: extra Maintainer: Nicolas Bourdaud Build-Depends: debhelper (>= 9), dpkg-dev (>= 1.16.1~), dh-autoreconf Standards-Version: 3.9.3 Vcs-Git: git://anonscm.debian.org/pkg-exppsy/rtfilter.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-exppsy/rtfilter.git Homepage: http://cnbi.epfl.ch/software/rtfilter.html Package: librtfilter1 Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: realtime digital filtering library rtfilter is a library that provides a set of routines implementing realtime digital filter for multichannel signals (i.e. filtering multiple signals with the same filter parameters). It implements FIR, IIR filters and downsampler for float and double data type (both for real and complex valued signal). Additional functions are also provided to design few usual filters: Butterworth, Chebyshev, windowed sinc, analytical filter... . One of the main differences from other libraries providing digital signal processing is that the filter functions have been specifically designed and optimized for multichannel signals (from few channels to several hundred). Package: librtfilter1-dbg Section: debug Architecture: any Multi-Arch: same Depends: librtfilter1 (= ${binary:Version}), ${misc:Depends} Description: realtime digital filtering library (debugging symbols) rtfilter is a library that provides a set of routines implementing realtime digital filter for multichannel signals (i.e. filtering multiple signals with the same filter parameters). It implements FIR, IIR filters and downsampler for float and double data type (both for real and complex valued signal). Additional functions are also provided to design few usual filters: Butterworth, Chebyshev, windowed sinc, analytical filter... . One of the main differences from other libraries providing digital signal processing is that the filter functions have been specifically designed and optimized for multichannel signals (from few channels to several hundred). . This package provides the debugging symbols of the library. Package: librtfilter-dev Section: libdevel Architecture: any Multi-Arch: same Depends: librtfilter1 (= ${binary:Version}), ${misc:Depends} Description: realtime digital filtering library (development files) rtfilter is a library that provides a set of routines implementing realtime digital filter for multichannel signals (i.e. filtering multiple signals with the same filter parameters). It implements FIR, IIR filters and downsampler for float and double data type (both for real and complex valued signal). Additional functions are also provided to design few usual filters: Butterworth, Chebyshev, windowed sinc, analytical filter... . One of the main differences from other libraries providing digital signal processing is that the filter functions have been specifically designed and optimized for multichannel signals (from few channels to several hundred). . This package contains the files needed to compile and link programs which use rtfilter. debian/changelog0000644000000000000000000000501611753201612011040 0ustar rtfilter (1.1-4) unstable; urgency=low * Bump debhelper version to 9. * Add multiarch support. * Bump policy version to 3.9.3 -- no changes. * Use versioned copyright format URI. -- Nicolas Bourdaud Tue, 08 May 2012 14:54:07 +0200 rtfilter (1.1-3) unstable; urgency=low * New patch: fix-sse3-test-ignored-in-filter-complex-double.patch -- Nicolas Bourdaud Thu, 02 Feb 2012 07:28:32 +0100 rtfilter (1.1-2) unstable; urgency=low * Fix 'reatime' typo in package description. (Closes: #652577) * Fix SSE2 and SSE3 runtime test. New patch: fix-sse2-sse3-runtime-check.patch -- Nicolas Bourdaud Wed, 25 Jan 2012 18:46:48 +0100 rtfilter (1.1-1) unstable; urgency=low * Update maintainer email * Switch to "3.0 (quilt)" source package format * DEP5 compliant debian/copyright * Install all docs in doc folder of librtfilter1 * Install NEWS, AUTHORS and README in doc folder * Tighten build-dependency on debhelper to >= 7.0.50~ due to override_ rules. * Bump Standards-version to 3.9.2 * Provides a -dbg package * Update optional fields in control (Vcs-Git, Vcs-Browser, Homepage) * Add debian/watch * Use DEB_*_MAINT_* to specify compiler and linker flags. * Fix terminal echo after running test * Only provide an unversioned librtfilter-dev package. * Use dh-autoreconf * patch: make matlab tests user-controllable * disable matlab tests * Update package description * patch: move config.h into src/ * Build-depends on dpkg-dev (>= 1.16.1~): necessary for the inclusion of /usr/share/dpkg/buildflags.mk in debian/rules * Fix debclean: remove src/config.h and src/stamp-h1 manually. * Upload sponsored by Michael Hanke * Initial release. (Closes: #646956) -- Nicolas Bourdaud Thu, 01 Dec 2011 12:09:30 +0100 rtfilter (1.1-0) lucid; urgency=low * Relicense in LGPL3 * Use runtime selection of optimal filter routine (use of cpuid) * Use debhelper instead of cdbs * Force -O3 compilation flags in debian/rules * Check for matlab presence to tests -- Nicolas Bourdaud Tue, 18 Oct 2011 13:34:34 +0200 rtfilter (1.0-0) lucid; urgency=low * Remove dependency_libs from .la files. -- Nicolas Bourdaud Fri, 18 May 2011 16:38:26 +0200 rtfilter (1.0) unstable; urgency=low * Initial Release. -- Nicolas Bourdaud Fri, 06 May 2011 16:00:26 +0200 debian/librtfilter1.docs0000644000000000000000000000002411655717200012443 0ustar AUTHORS NEWS README debian/rules0000755000000000000000000000155511753201612010252 0ustar #!/usr/bin/make -f # -*- makefile -*- # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) export DEB_CFLAGS_MAINT_APPEND = -O3 -Wall -Wextra else export DEB_CFLAGS_MAINT_APPEND = -Wall -Wextra endif export DEB_LDFLAGS_MAINT_APPEND=-Wl,-Bsymbolic-functions export DEB_BUILD_MAINT_OPTIONS=hardening=-all,+format,+relro,+bindnow %: dh $@ --with autoreconf override_dh_auto_configure: dh_auto_configure -- --disable-matlab-tests override_dh_installdocs: dh_installdocs --link-doc=librtfilter1 override_dh_strip: dh_strip --dbg-package=librtfilter1-dbg # Workaround: Using dh_autoreconf and having moved config.h to src/ # folder makes src/config.h and src/stamp-h1 not to be cleaned correctly # when running debclean. This fixes this. override_dh_auto_clean: dh_auto_clean rm -f src/config.h src/stamp-h1 debian/librtfilter-dev.install0000644000000000000000000000012211753201612013645 0ustar usr/include/* usr/lib/*/librtfilter.so usr/lib/*/pkgconfig/* usr/share/man/man3/* debian/librtfilter-dev.docs0000644000000000000000000000005311655717200013140 0ustar debian/tmp/usr/share/doc/rtfilter/examples debian/compat0000644000000000000000000000000211753201612010362 0ustar 9 debian/watch0000644000000000000000000000022311655717200010220 0ustar # format version number, currently 3; this line is compulsory! version=3 http://cnbisrv02.epfl.ch/packages/rtfilter/rtfilter-(\d+).(\d+).tar.bz2 debian/patches/0000755000000000000000000000000011753201612010613 5ustar debian/patches/move-config-h-into-src.patch0000644000000000000000000000635711666074660016057 0ustar Description: Move config.h into src This removes the need for config/.dummy and putting config.h into config/ was not justified anyway, especially since it makes the use of dh-autoreconf complicated (cannot create config/config.h if config does not exist). Forwarded: yes Author: Nicolas Bourdaud Applied-Upstream: commit: 05689a056dd8e7f497730bbedb41a53b22185ed4 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ AC_CONFIG_SRCDIR([src/filter.c]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_MACRO_DIR([m4]) -AC_CONFIG_HEADERS([config/config.h]) +AC_CONFIG_HEADERS([src/config.h]) # Initialize Automake AM_INIT_AUTOMAKE([subdir-objects no-dist-gzip dist-bzip2 color-tests]) --- a/config/config.h.in +++ /dev/null @@ -1,96 +0,0 @@ -/* config/config.h.in. Generated from configure.ac by autoheader. */ - -/* attribute of the symbols exported in the API */ -#undef API_EXPORTED - -/* Define to 1 if cpuid can be used */ -#undef HAVE_CPUID - -/* Define to 1 if you have the header file. */ -#undef HAVE_DLFCN_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if matlab is available */ -#undef HAVE_MATLAB - -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the `posix_memalign' function. */ -#undef HAVE_POSIX_MEMALIGN - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define to 1 or 0, depending whether the compiler supports simple visibility - declarations. */ -#undef HAVE_VISIBILITY - -/* Define to the supported attribute to specify a hot spot */ -#undef HOTSPOT - -/* attribute of the non-exported symbols */ -#undef LOCAL_FN - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#undef LT_OBJDIR - -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -#undef NO_MINUS_C_MINUS_O - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the home page for this package. */ -#undef PACKAGE_URL - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define to built SSE2 support */ -#undef SUPPORT_SSE2_SET - -/* Define to built SSE3 support */ -#undef SUPPORT_SSE3_SET - -/* Define to built SSE support */ -#undef SUPPORT_SSE_SET - -/* Version number of package */ -#undef VERSION debian/patches/oneiric-dsc-patch0000777000000000000000000000000011665452176021345 2old-way-compiler-flags.patchustar debian/patches/lenny-dsc-patch0000777000000000000000000000000011665452135021035 2old-way-compiler-flags.patchustar debian/patches/natty-dsc-patch0000777000000000000000000000000011665452167021054 2old-way-compiler-flags.patchustar debian/patches/lucid-dsc-patch0000777000000000000000000000000011665452153021010 2old-way-compiler-flags.patchustar debian/patches/fix-sse3-test-ignored-in-filter-complex-double.patch0000644000000000000000000000206211713744541022514 0ustar Description: Fix SSE3 test ignored in filter-complex-double The result of the runtime test for SS3 was previosuly ignored by mistake which results in illegal instruction execption raised when running on old x86/x86_64 processors (as hold as pentium4). This patch fixes this. Origin: upstream, commit:b972e01c2b7ee2cab6c057c75f82698d8e87ce62 Author: Nicolas Bourdaud Last-Update: 2012-02-01 --- a/src/filter-complex-double.c +++ b/src/filter-complex-double.c @@ -1,5 +1,5 @@ /* - Copyright (C) 2010-2011 Nicolas Bourdaud + Copyright (C) 2010-2012 Nicolas Bourdaud This file is part of the rtfilter library @@ -50,7 +50,8 @@ static HOTSPOT unsigned int filtfunc(hfilter filt, const void* x, void* y, unsigned int ns) { #if SUPPORT_SSE3_SET - if ( !(((uintptr_t)x) % (2*sizeof(double))) + if ( (filt->dispatch_code == 1) + && !(((uintptr_t)x) % (2*sizeof(double))) && !(((uintptr_t)y) % (2*sizeof(double))) ) filter_cd_sse3(filt, x, y, ns); else -- 1.7.8.3 debian/patches/maverick-dsc-patch0000777000000000000000000000000011665452161021510 2old-way-compiler-flags.patchustar debian/patches/fix-sse2-sse3-runtime-check.patch0000644000000000000000000000211711712243007016703 0ustar Description: Fix SSE2 and SSE3 runtime test The tests for SSE2 and SSE3 were previously exactly the same as the test for SSE. This patch fix this by using the correct bitmask and correct register after cpuid instruction. Origin: upstream, commit:496993bd58e91ae3c7c3057e76c5d5e891c1f261 Author: Nicolas Bourdaud Last-Update: 2012-01-25 --- a/src/probesimd.h +++ b/src/probesimd.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2011 Nicolas Bourdaud + Copyright (C) 2011-2012 Nicolas Bourdaud This file is part of the rtfilter library @@ -34,7 +34,7 @@ int cputest_sse2(void) { unsigned int eax, ebx, ecx, edx; - if (__get_cpuid(1, &eax, &ebx, &ecx, &edx) && (edx & bit_SSE)) + if (__get_cpuid(1, &eax, &ebx, &ecx, &edx) && (edx & bit_SSE2)) return 1; return 0; } @@ -43,7 +43,7 @@ int cputest_sse3(void) { unsigned int eax, ebx, ecx, edx; - if (__get_cpuid(1, &eax, &ebx, &ecx, &edx) && (edx & bit_SSE)) + if (__get_cpuid(1, &eax, &ebx, &ecx, &edx) && (ecx & bit_SSE3)) return 1; return 0; } debian/patches/series0000644000000000000000000000026711713744541012046 0ustar fix-echoterm-after-test.patch user-controllable-matlab-tests.patch move-config-h-into-src.patch fix-sse2-sse3-runtime-check.patch fix-sse3-test-ignored-in-filter-complex-double.patch debian/patches/squeeze-dsc-patch0000777000000000000000000000000011665452204021366 2old-way-compiler-flags.patchustar debian/patches/user-controllable-matlab-tests.patch0000644000000000000000000000245311665200322017671 0ustar Description: Adds configure option to disable matlab tests Since matlab cannot be assumed to always work for the user building the package (licence unavailable for the user for example), we offer a option to disable the part of the tests involving Matlab. Forwarded: yes Author: Nicolas Bourdaud Applied-Upstream: commit: 98df323250651d9d09d2909e06211489935f99f1 --- a/configure.ac +++ b/configure.ac @@ -45,9 +45,16 @@ AM_CONDITIONAL(BUILD_SSE2_SUPPORT, test "x$has_sse2" = "xyes") AM_CONDITIONAL(BUILD_SSE3_SUPPORT, test "x$has_sse3" = "xyes") # Test for MATLAB -AC_CHECK_PROG([has_matlab], [matlab], [yes], [no]) -AS_IF([test "x$has_matlab" = "xyes"], - [AC_DEFINE(HAVE_MATLAB, [1], [Define to 1 if matlab is available])]) +AC_ARG_ENABLE([matlab-tests], + AC_HELP_STRING([--enable-matlab-tests], [Try running matlab tests @<:@default=check@:>@]), + [], [enable_matlab_tests=check]) + +AS_IF([test "x$enable_matlab_tests" = "xcheck"], + [AC_CHECK_PROG([has_matlab], [matlab], [yes], [no]) + enable_matlab_tests="$has_matlab"]) + +AS_IF([test "x$enable_matlab_tests" = "xyes"], + [AC_DEFINE(HAVE_MATLAB, [1], [Define to 1 to run matlab tests])]) AC_SEARCH_LIBS([cos], [m], [], AC_MSG_ERROR([The math library cannot be found.])) -- 1.7.0.4 debian/patches/old-way-compiler-flags.patch0000644000000000000000000000464411753201612016122 0ustar Description: Old way to specify compiler flags and disable multiarch Use the former way of specifying compiler flags in debian/rules, i.e. do not use dpkg-buildflags. Undo also the changes of multiarch. Forwarded: Not needed Author: Nicolas Bourdaud --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -9 +7 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Section: libs Priority: extra Maintainer: Nicolas Bourdaud -Build-Depends: debhelper (>= 9), dpkg-dev (>= 1.16.1~), dh-autoreconf +Build-Depends: debhelper (>= 7.0.50~), dh-autoreconf Standards-Version: 3.9.3 Vcs-Git: git://anonscm.debian.org/pkg-exppsy/rtfilter.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-exppsy/rtfilter.git @@ -10,8 +10,6 @@ Package: librtfilter1 Architecture: any -Multi-Arch: same -Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: realtime digital filtering library rtfilter is a library that provides a set of routines implementing realtime @@ -28,7 +26,6 @@ Package: librtfilter1-dbg Section: debug Architecture: any -Multi-Arch: same Depends: librtfilter1 (= ${binary:Version}), ${misc:Depends} Description: realtime digital filtering library (debugging symbols) rtfilter is a library that provides a set of routines implementing realtime @@ -47,7 +44,6 @@ Package: librtfilter-dev Section: libdevel Architecture: any -Multi-Arch: same Depends: librtfilter1 (= ${binary:Version}), ${misc:Depends} Description: realtime digital filtering library (development files) rtfilter is a library that provides a set of routines implementing realtime --- a/debian/librtfilter-dev.install +++ b/debian/librtfilter-dev.install @@ -1,4 +1,4 @@ usr/include/* -usr/lib/*/librtfilter.so -usr/lib/*/pkgconfig/* +usr/lib/librtfilter.so +usr/lib/pkgconfig/* usr/share/man/man3/* --- a/debian/librtfilter1.install +++ b/debian/librtfilter1.install @@ -1 +1 @@ -/usr/lib/*/librtfilter.so.* +/usr/lib/librtfilter.so.* --- a/debian/rules +++ b/debian/rules @@ -5,12 +5,8 @@ #export DH_VERBOSE=1 ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) - export DEB_CFLAGS_MAINT_APPEND = -O3 -Wall -Wextra -else - export DEB_CFLAGS_MAINT_APPEND = -Wall -Wextra + CFLAGS += -O3 -Wall -Wextra endif -export DEB_LDFLAGS_MAINT_APPEND=-Wl,-Bsymbolic-functions -export DEB_BUILD_MAINT_OPTIONS=hardening=-all,+format,+relro,+bindnow %: dh $@ --with autoreconf debian/patches/fix-echoterm-after-test.patch0000644000000000000000000000217411655717200016314 0ustar Description: Fix terminal echo after runnning test Running recent version of matlab (used in the test when available) modify setting of the terminal. This reset them after the test is run. Forwarded: yes Author: Nicolas Bourdaud Applied-Upstream: commit: e6a0ed8e8da59398a20ea3d2fba1dc7ec4f1926d --- a/tests/test-complex-double.sh +++ b/tests/test-complex-double.sh @@ -12,7 +12,9 @@ } > $LOGFILE then rm $LOGFILE + stty echo exit 0 else + stty echo exit 1 fi --- a/tests/test-complex-float.sh +++ b/tests/test-complex-float.sh @@ -12,7 +12,9 @@ } > $LOGFILE then rm $LOGFILE + stty echo exit 0 else + stty echo exit 1 fi --- a/tests/test-double.sh +++ b/tests/test-double.sh @@ -8,7 +8,9 @@ } > $LOGFILE then rm $LOGFILE + stty echo exit 0 else + stty echo exit 1 fi --- a/tests/test-downsample.sh +++ b/tests/test-downsample.sh @@ -8,7 +8,9 @@ } > $LOGFILE then rm $LOGFILE + stty echo exit 0 else + stty echo exit 1 fi --- a/tests/test-float.sh +++ b/tests/test-float.sh @@ -8,7 +8,9 @@ } > $LOGFILE then rm $LOGFILE + stty echo exit 0 else + stty echo exit 1 fi debian/librtfilter1.install0000644000000000000000000000003411753201612013154 0ustar /usr/lib/*/librtfilter.so.* debian/symbols0000644000000000000000000000075111655717200010610 0ustar librtfilter.so.1 librtfilter1 #MINVER# rtf_create_bandpass_analytic@Base 1.0 rtf_create_butterworth@Base 1.0 rtf_create_chebychev@Base 1.0 rtf_create_downsampler@Base 1.0 rtf_create_filter@Base 1.0 rtf_create_fir_bandpass@Base 1.0 rtf_create_fir_highpass@Base 1.0 rtf_create_fir_lowpass@Base 1.0 rtf_create_fir_mean@Base 1.0 rtf_create_integral@Base 1.0 rtf_destroy_filter@Base 1.0 rtf_filter@Base 1.0 rtf_get_type@Base 1.0 rtf_get_version@Base 1.0 rtf_init_filter@Base 1.0