diff mbox

[v2,1/2] caps: new package

Message ID 1407283327-5150-1-git-send-email-martin@barkynet.com
State Changes Requested
Headers show

Commit Message

Martin Bark Aug. 6, 2014, 12:02 a.m. UTC
CAPS is a collection of audio plugins comprising virtual guitar
amplification and a small range of basic classic effects, signal
processors and generators of often elementary and occasionally
exotic nature.

The plugins aim to satisfy the highest demands in sound quality
with maximal computational efficiency and zero latency.

Signed-off-by: Martin Bark <martin@barkynet.com>
CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

---

Changes v1 -> v2:
  - Added dependency to BR2_INSTALL_LIBSTDCPP (Thomas Petazzoni)
  - Add description and Signed-off-by to patch (Thomas Petazzoni)
  - Fixed use of $(TARGET_CONFIGURE_OPTS) and $(TARGET_MAKE_ENV) (Thomas Petazzoni)

Signed-off-by: Martin Bark <martin@barkynet.com>
---
 package/Config.in                                |  1 +
 package/caps/Config.in                           | 16 +++++
 package/caps/caps-01-fix-cross-compilation.patch | 79 ++++++++++++++++++++++++
 package/caps/caps.mk                             | 23 +++++++
 4 files changed, 119 insertions(+)
 create mode 100644 package/caps/Config.in
 create mode 100644 package/caps/caps-01-fix-cross-compilation.patch
 create mode 100644 package/caps/caps.mk

Comments

Thomas Petazzoni Aug. 6, 2014, 8:14 p.m. UTC | #1
Dear Martin Bark,

On Wed,  6 Aug 2014 01:02:06 +0100, Martin Bark wrote:
> CAPS is a collection of audio plugins comprising virtual guitar
> amplification and a small range of basic classic effects, signal
> processors and generators of often elementary and occasionally
> exotic nature.
> 
> The plugins aim to satisfy the highest demands in sound quality
> with maximal computational efficiency and zero latency.
> 
> Signed-off-by: Martin Bark <martin@barkynet.com>
> CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> 
> ---
> 
> Changes v1 -> v2:
>   - Added dependency to BR2_INSTALL_LIBSTDCPP (Thomas Petazzoni)
>   - Add description and Signed-off-by to patch (Thomas Petazzoni)
>   - Fixed use of $(TARGET_CONFIGURE_OPTS) and $(TARGET_MAKE_ENV) (Thomas Petazzoni)

Thanks for this new version. Review-wise, it looks good, but
unfortunately, it doesn't build here:

/home/thomas/projets/buildroot/output/host/usr/bin/arm-linux-g++  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -pipe -Os  -fPIC -DPIC  -o Eq.o -c Eq.cc
In file included from dsp/Oversampler.h:35:0,
                 from Amp.h:35,
                 from Amp.cc:30:
dsp/windows.h: In function ‘void DSP::kaiser(sample_t*, int, double, double)’:
dsp/windows.h:165:17: error: there are no arguments to ‘finite’ that depend on a template parameter, so a declaration of ‘finite’ must be available [-fpermissive]
dsp/windows.h:165:17: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
In file included from Eq.h:36:0,
                 from Eq.cc:33:
dsp/v4f_BiQuad.h: In member function ‘void DSP::BiQuad4f::set_eq(v4f_t, v4f_t, v4f_t)’:
dsp/v4f_BiQuad.h:145:17: error: ‘pow10f’ was not declared in this scope
dsp/v4f_BiQuad.h:145:27: error: no matching function for call to ‘v4f_map(v4f_t&)’
dsp/v4f_BiQuad.h:145:27: note: candidate is:
In file included from Eq.h:35:0,
                 from Eq.cc:33:
dsp/v4f.h:74:7: note: template<float (* fn)(float)> v4f_t v4f_map(v4f_t)
dsp/v4f.h:74:7: note:   template argument deduction/substitution failed:
In file included from Eq.h:36:0,
                 from Eq.cc:33:
dsp/v4f_BiQuad.h:145:27: error: template argument 1 is invalid
In file included from Compress.h:36:0,
                 from Compress.cc:28:
dsp/windows.h: In function ‘void DSP::kaiser(sample_t*, int, double, double)’:
dsp/windows.h:165:17: error: there are no arguments to ‘finite’ that depend on a template parameter, so a declaration of ‘finite’ must be available [-fpermissive]dsp/v4f_BiQuad.h: In member function ‘void DSP::BiQuad4fBank<N>::set_eq(v4f_t*, v4f_t*, v4f_t*)’:
dsp/v4f_BiQuad.h:432:18: error: ‘pow10f’ was not declared in this scope

dsp/windows.h:165:17: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
dsp/windows.h: In instantiation of ‘void DSP::kaiser(sample_t*, int, double, double) [with void (* F)(sample_t&, sample_t) = DSP::apply_window; sample_t = float]’:
dsp/Oversampler.h:73:5:   required from ‘void DSP::Oversampler<Oversample, FIRSize>::init(float) [with int Oversample = 2; int FIRSize = 32]’
dsp/Oversampler.h:65:6:   required from ‘DSP::Oversampler<Oversample, FIRSize>::Oversampler() [with int Oversample = 2; int FIRSize = 32]’
Amp.h:44:7:   required from ‘static void* Descriptor<T>::_instantiate(const _LADSPA_Descriptor*, ulong) [with T = AmpVTS; LADSPA_Handle = void*; _LADSPA_Descriptor = _LADSPA_Descriptor; ulong = long unsigned int]’
Descriptor.h:123:5:   required from ‘void Descriptor<T>::autogen() [with T = AmpVTS]’
Amp.cc:222:2:   required from here
dsp/windows.h:165:3: error: ‘finite’ was not declared in this scope
dsp/windows.h: In instantiation of ‘void DSP::kaiser(sample_t*, int, double, double) [with void (* F)(sample_t&, sample_t) = DSP::apply_window; sample_t = float]’:
Compress.h:53:5:   required from ‘void CompSaturate<Over, FIRSize>::init(double) [with int Over = 2; int FIRSize = 32]’
Compress.h:123:6:   required from ‘void CompressStub<Channels>::init() [with int Channels = 1]’
Descriptor.h:150:5:   required from ‘static void* Descriptor<T>::_instantiate(const _LADSPA_Descriptor*, ulong) [with T = Compress; LADSPA_Handle = void*; _LADSPA_Descriptor = _LADSPA_Descriptor; ulong = long unsigned int]’
Descriptor.h:123:5:   required from ‘void Descriptor<T>::autogen() [with T = Compress]’
Compress.cc:157:2:   required from here
dsp/windows.h:165:3: error: ‘finite’ was not declared in this scope
make[1]: *** [Eq.o] Erreur 1
make[1]: *** Attente des tâches non terminées....
make[1]: *** [Amp.o] Erreur 1
In file included from dsp/Oversampler.h:35:0,
                 from Cabinet.h:42,
                 from Click.cc:158:
dsp/windows.h: In function ‘void DSP::kaiser(sample_t*, int, double, double)’:
dsp/windows.h:165:17: error: there are no arguments to ‘finite’ that depend on a template parameter, so a declaration of ‘finite’ must be available [-fpermissive]
dsp/windows.h:165:17: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
In file included from Cabinet.h:45:0,
                 from Click.cc:158:
dsp/v4f_BiQuad.h: In member function ‘void DSP::BiQuad4f::set_eq(v4f_t, v4f_t, v4f_t)’:
dsp/v4f_BiQuad.h:145:17: error: ‘pow10f’ was not declared in this scope
dsp/v4f_BiQuad.h:145:27: error: no matching function for call to ‘v4f_map(v4f_t&)’
dsp/v4f_BiQuad.h:145:27: note: candidate is:
In file included from Cabinet.h:43:0,
                 from Click.cc:158:
dsp/v4f.h:74:7: note: template<float (* fn)(float)> v4f_t v4f_map(v4f_t)
dsp/v4f.h:74:7: note:   template argument deduction/substitution failed:
In file included from Cabinet.h:45:0,
                 from Click.cc:158:
dsp/v4f_BiQuad.h:145:27: error: template argument 1 is invalid
dsp/v4f_BiQuad.h: In member function ‘void DSP::BiQuad4fBank<N>::set_eq(v4f_t*, v4f_t*, v4f_t*)’:
dsp/v4f_BiQuad.h:432:18: error: ‘pow10f’ was not declared in this scope
make[1]: *** [Compress.o] Erreur 1
In file included from dsp/Oversampler.h:35:0,
                 from Cabinet.h:42,
                 from Cabinet.cc:29:
dsp/windows.h: In function ‘void DSP::kaiser(sample_t*, int, double, double)’:
dsp/windows.h:165:17: error: there are no arguments to ‘finite’ that depend on a template parameter, so a declaration of ‘finite’ must be available [-fpermissive]
dsp/windows.h:165:17: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
In file included from Cabinet.h:45:0,
                 from Cabinet.cc:29:
dsp/v4f_BiQuad.h: In member function ‘void DSP::BiQuad4f::set_eq(v4f_t, v4f_t, v4f_t)’:
dsp/v4f_BiQuad.h:145:17: error: ‘pow10f’ was not declared in this scope
dsp/v4f_BiQuad.h:145:27: error: no matching function for call to ‘v4f_map(v4f_t&)’
dsp/v4f_BiQuad.h:145:27: note: candidate is:
In file included from Cabinet.h:43:0,
                 from Cabinet.cc:29:
dsp/v4f.h:74:7: note: template<float (* fn)(float)> v4f_t v4f_map(v4f_t)
dsp/v4f.h:74:7: note:   template argument deduction/substitution failed:
In file included from Cabinet.h:45:0,
                 from Cabinet.cc:29:
dsp/v4f_BiQuad.h:145:27: error: template argument 1 is invalid
dsp/v4f_BiQuad.h: In member function ‘void DSP::BiQuad4fBank<N>::set_eq(v4f_t*, v4f_t*, v4f_t*)’:
dsp/v4f_BiQuad.h:432:18: error: ‘pow10f’ was not declared in this scope
make[1]: *** [Click.o] Erreur 1
In file included from dsp/Oversampler.h:35:0,
                 from Cabinet.h:42,
                 from Cabinet.cc:29:
dsp/windows.h: In instantiation of ‘void DSP::kaiser(sample_t*, int, double, double) [with void (* F)(sample_t&, sample_t) = DSP::apply_window; sample_t = float]’:
dsp/Oversampler.h:73:5:   required from ‘void DSP::Oversampler<Oversample, FIRSize>::init(float) [with int Oversample = 4; int FIRSize = 64]’
Cabinet.cc:251:31:   required from here
dsp/windows.h:165:3: error: ‘finite’ was not declared in this scope
make[1]: *** [Cabinet.o] Erreur 1
make[1]: quittant le répertoire « /home/thomas/projets/buildroot/output/build/caps-0.9.23 »
make: *** [/home/thomas/projets/buildroot/output/build/caps-0.9.23/.stamp_built] Erreur 2

You can use this defconfig to reproduce the problem:

BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2014.05-rc1.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14=y
BR2_TOOLCHAIN_EXTERNAL_LARGEFILE=y
BR2_TOOLCHAIN_EXTERNAL_INET_IPV6=y
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_CAPS=y
# BR2_TARGET_ROOTFS_TAR is not set

Thanks,

Thomas
Martin Bark Aug. 6, 2014, 9:26 p.m. UTC | #2
Thomas,

On 06/08/14 21:14, Thomas Petazzoni wrote:
> Dear Martin Bark,
>
> On Wed,  6 Aug 2014 01:02:06 +0100, Martin Bark wrote:
>> CAPS is a collection of audio plugins comprising virtual guitar
>> amplification and a small range of basic classic effects, signal
>> processors and generators of often elementary and occasionally
>> exotic nature.
>>
>> The plugins aim to satisfy the highest demands in sound quality
>> with maximal computational efficiency and zero latency.
>>
>> Signed-off-by: Martin Bark <martin@barkynet.com>
>> CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
>>
>> ---
>>
>> Changes v1 -> v2:
>>    - Added dependency to BR2_INSTALL_LIBSTDCPP (Thomas Petazzoni)
>>    - Add description and Signed-off-by to patch (Thomas Petazzoni)
>>    - Fixed use of $(TARGET_CONFIGURE_OPTS) and $(TARGET_MAKE_ENV) (Thomas Petazzoni)
>
> Thanks for this new version. Review-wise, it looks good, but
> unfortunately, it doesn't build here:
>
> /home/thomas/projets/buildroot/output/host/usr/bin/arm-linux-g++  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -pipe -Os  -fPIC -DPIC  -o Eq.o -c Eq.cc
> In file included from dsp/Oversampler.h:35:0,
>                   from Amp.h:35,
>                   from Amp.cc:30:
> dsp/windows.h: In function ‘void DSP::kaiser(sample_t*, int, double, double)’:
> dsp/windows.h:165:17: error: there are no arguments to ‘finite’ that depend on a template parameter, so a declaration of ‘finite’ must be available [-fpermissive]
> dsp/windows.h:165:17: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
> In file included from Eq.h:36:0,
>                   from Eq.cc:33:
> dsp/v4f_BiQuad.h: In member function ‘void DSP::BiQuad4f::set_eq(v4f_t, v4f_t, v4f_t)’:
> dsp/v4f_BiQuad.h:145:17: error: ‘pow10f’ was not declared in this scope
> dsp/v4f_BiQuad.h:145:27: error: no matching function for call to ‘v4f_map(v4f_t&)’
> dsp/v4f_BiQuad.h:145:27: note: candidate is:
> In file included from Eq.h:35:0,
>                   from Eq.cc:33:
> dsp/v4f.h:74:7: note: template<float (* fn)(float)> v4f_t v4f_map(v4f_t)
> dsp/v4f.h:74:7: note:   template argument deduction/substitution failed:
> In file included from Eq.h:36:0,
>                   from Eq.cc:33:
> dsp/v4f_BiQuad.h:145:27: error: template argument 1 is invalid
> In file included from Compress.h:36:0,
>                   from Compress.cc:28:
> dsp/windows.h: In function ‘void DSP::kaiser(sample_t*, int, double, double)’:
> dsp/windows.h:165:17: error: there are no arguments to ‘finite’ that depend on a template parameter, so a declaration of ‘finite’ must be available [-fpermissive]dsp/v4f_BiQuad.h: In member function ‘void DSP::BiQuad4fBank<N>::set_eq(v4f_t*, v4f_t*, v4f_t*)’:
> dsp/v4f_BiQuad.h:432:18: error: ‘pow10f’ was not declared in this scope
>
> dsp/windows.h:165:17: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
> dsp/windows.h: In instantiation of ‘void DSP::kaiser(sample_t*, int, double, double) [with void (* F)(sample_t&, sample_t) = DSP::apply_window; sample_t = float]’:
> dsp/Oversampler.h:73:5:   required from ‘void DSP::Oversampler<Oversample, FIRSize>::init(float) [with int Oversample = 2; int FIRSize = 32]’
> dsp/Oversampler.h:65:6:   required from ‘DSP::Oversampler<Oversample, FIRSize>::Oversampler() [with int Oversample = 2; int FIRSize = 32]’
> Amp.h:44:7:   required from ‘static void* Descriptor<T>::_instantiate(const _LADSPA_Descriptor*, ulong) [with T = AmpVTS; LADSPA_Handle = void*; _LADSPA_Descriptor = _LADSPA_Descriptor; ulong = long unsigned int]’
> Descriptor.h:123:5:   required from ‘void Descriptor<T>::autogen() [with T = AmpVTS]’
> Amp.cc:222:2:   required from here
> dsp/windows.h:165:3: error: ‘finite’ was not declared in this scope
> dsp/windows.h: In instantiation of ‘void DSP::kaiser(sample_t*, int, double, double) [with void (* F)(sample_t&, sample_t) = DSP::apply_window; sample_t = float]’:
> Compress.h:53:5:   required from ‘void CompSaturate<Over, FIRSize>::init(double) [with int Over = 2; int FIRSize = 32]’
> Compress.h:123:6:   required from ‘void CompressStub<Channels>::init() [with int Channels = 1]’
> Descriptor.h:150:5:   required from ‘static void* Descriptor<T>::_instantiate(const _LADSPA_Descriptor*, ulong) [with T = Compress; LADSPA_Handle = void*; _LADSPA_Descriptor = _LADSPA_Descriptor; ulong = long unsigned int]’
> Descriptor.h:123:5:   required from ‘void Descriptor<T>::autogen() [with T = Compress]’
> Compress.cc:157:2:   required from here
> dsp/windows.h:165:3: error: ‘finite’ was not declared in this scope
> make[1]: *** [Eq.o] Erreur 1
> make[1]: *** Attente des tâches non terminées....
> make[1]: *** [Amp.o] Erreur 1
> In file included from dsp/Oversampler.h:35:0,
>                   from Cabinet.h:42,
>                   from Click.cc:158:
> dsp/windows.h: In function ‘void DSP::kaiser(sample_t*, int, double, double)’:
> dsp/windows.h:165:17: error: there are no arguments to ‘finite’ that depend on a template parameter, so a declaration of ‘finite’ must be available [-fpermissive]
> dsp/windows.h:165:17: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
> In file included from Cabinet.h:45:0,
>                   from Click.cc:158:
> dsp/v4f_BiQuad.h: In member function ‘void DSP::BiQuad4f::set_eq(v4f_t, v4f_t, v4f_t)’:
> dsp/v4f_BiQuad.h:145:17: error: ‘pow10f’ was not declared in this scope
> dsp/v4f_BiQuad.h:145:27: error: no matching function for call to ‘v4f_map(v4f_t&)’
> dsp/v4f_BiQuad.h:145:27: note: candidate is:
> In file included from Cabinet.h:43:0,
>                   from Click.cc:158:
> dsp/v4f.h:74:7: note: template<float (* fn)(float)> v4f_t v4f_map(v4f_t)
> dsp/v4f.h:74:7: note:   template argument deduction/substitution failed:
> In file included from Cabinet.h:45:0,
>                   from Click.cc:158:
> dsp/v4f_BiQuad.h:145:27: error: template argument 1 is invalid
> dsp/v4f_BiQuad.h: In member function ‘void DSP::BiQuad4fBank<N>::set_eq(v4f_t*, v4f_t*, v4f_t*)’:
> dsp/v4f_BiQuad.h:432:18: error: ‘pow10f’ was not declared in this scope
> make[1]: *** [Compress.o] Erreur 1
> In file included from dsp/Oversampler.h:35:0,
>                   from Cabinet.h:42,
>                   from Cabinet.cc:29:
> dsp/windows.h: In function ‘void DSP::kaiser(sample_t*, int, double, double)’:
> dsp/windows.h:165:17: error: there are no arguments to ‘finite’ that depend on a template parameter, so a declaration of ‘finite’ must be available [-fpermissive]
> dsp/windows.h:165:17: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
> In file included from Cabinet.h:45:0,
>                   from Cabinet.cc:29:
> dsp/v4f_BiQuad.h: In member function ‘void DSP::BiQuad4f::set_eq(v4f_t, v4f_t, v4f_t)’:
> dsp/v4f_BiQuad.h:145:17: error: ‘pow10f’ was not declared in this scope
> dsp/v4f_BiQuad.h:145:27: error: no matching function for call to ‘v4f_map(v4f_t&)’
> dsp/v4f_BiQuad.h:145:27: note: candidate is:
> In file included from Cabinet.h:43:0,
>                   from Cabinet.cc:29:
> dsp/v4f.h:74:7: note: template<float (* fn)(float)> v4f_t v4f_map(v4f_t)
> dsp/v4f.h:74:7: note:   template argument deduction/substitution failed:
> In file included from Cabinet.h:45:0,
>                   from Cabinet.cc:29:
> dsp/v4f_BiQuad.h:145:27: error: template argument 1 is invalid
> dsp/v4f_BiQuad.h: In member function ‘void DSP::BiQuad4fBank<N>::set_eq(v4f_t*, v4f_t*, v4f_t*)’:
> dsp/v4f_BiQuad.h:432:18: error: ‘pow10f’ was not declared in this scope
> make[1]: *** [Click.o] Erreur 1
> In file included from dsp/Oversampler.h:35:0,
>                   from Cabinet.h:42,
>                   from Cabinet.cc:29:
> dsp/windows.h: In instantiation of ‘void DSP::kaiser(sample_t*, int, double, double) [with void (* F)(sample_t&, sample_t) = DSP::apply_window; sample_t = float]’:
> dsp/Oversampler.h:73:5:   required from ‘void DSP::Oversampler<Oversample, FIRSize>::init(float) [with int Oversample = 4; int FIRSize = 64]’
> Cabinet.cc:251:31:   required from here
> dsp/windows.h:165:3: error: ‘finite’ was not declared in this scope
> make[1]: *** [Cabinet.o] Erreur 1
> make[1]: quittant le répertoire « /home/thomas/projets/buildroot/output/build/caps-0.9.23 »
> make: *** [/home/thomas/projets/buildroot/output/build/caps-0.9.23/.stamp_built] Erreur 2
>
> You can use this defconfig to reproduce the problem:
>
> BR2_arm=y
> BR2_TOOLCHAIN_EXTERNAL=y
> BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
> BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
> BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2014.05-rc1.tar.bz2"
> BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14=y
> BR2_TOOLCHAIN_EXTERNAL_LARGEFILE=y
> BR2_TOOLCHAIN_EXTERNAL_INET_IPV6=y
> BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
> # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
> BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
> BR2_TOOLCHAIN_EXTERNAL_CXX=y
> BR2_INIT_NONE=y
> # BR2_PACKAGE_BUSYBOX is not set
> BR2_PACKAGE_CAPS=y
> # BR2_TARGET_ROOTFS_TAR is not set
>
> Thanks,
>
> Thomas
>

Thanks for running the test.  After a quick looks it seems the finite() 
and pow10f() functions are the issue.  I tried a quick change to use 
isfinite() and powf(10,x) instead and that builds.

I'm off on holiday now for a week so I’ll create an updated patch when i 
get back.

Thanks

Martin
Thomas Petazzoni Jan. 2, 2015, 6:23 p.m. UTC | #3
Dear Martin Bark,

On Wed, 06 Aug 2014 22:26:22 +0100, Martin Bark wrote:

> Thanks for running the test.  After a quick looks it seems the finite() 
> and pow10f() functions are the issue.  I tried a quick change to use 
> isfinite() and powf(10,x) instead and that builds.
> 
> I'm off on holiday now for a week so I’ll create an updated patch when i 
> get back.

Any news about this?

Since you did not send updated versions of this patch, I'll mark this
patch, and the following one add alsaequal as "Changes Requested" in
patchwork. Therefore, if you would like to see those patches merged in
Buildroot, could you resend an updated versions that fixes the build
issues that I reported back in August?

Thanks,

Thomas
diff mbox

Patch

diff --git a/package/Config.in b/package/Config.in
index 4520ba6..1a20bee 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -525,6 +525,7 @@  menu "Libraries"
 menu "Audio/Sound"
 	source "package/alsa-lib/Config.in"
 	source "package/audiofile/Config.in"
+	source "package/caps/Config.in"
 	source "package/celt051/Config.in"
 	source "package/fdk-aac/Config.in"
 	source "package/libao/Config.in"
diff --git a/package/caps/Config.in b/package/caps/Config.in
new file mode 100644
index 0000000..5a74c38
--- /dev/null
+++ b/package/caps/Config.in
@@ -0,0 +1,16 @@ 
+config BR2_PACKAGE_CAPS
+	bool "caps"
+	depends on BR2_INSTALL_LIBSTDCPP
+	help
+	  CAPS is a collection of audio plugins comprising virtual guitar
+	  amplification and a small range of basic classic effects, signal
+	  processors and generators of often elementary and occasionally
+	  exotic nature.
+
+	  The plugins aim to satisfy the highest demands in sound quality
+	  with maximal computational efficiency and zero latency.
+
+	  http://quitte.de/dsp/caps.html
+
+comment "caps needs a toolchain w/ C++"
+	depends on !BR2_INSTALL_LIBSTDCPP
diff --git a/package/caps/caps-01-fix-cross-compilation.patch b/package/caps/caps-01-fix-cross-compilation.patch
new file mode 100644
index 0000000..350eb98
--- /dev/null
+++ b/package/caps/caps-01-fix-cross-compilation.patch
@@ -0,0 +1,79 @@ 
+From 8b34232d89e81346c6087d94146f35cd2813a638 Mon Sep 17 00:00:00 2001
+From: Martin Bark <martin@barkynet.com>
+Date: Tue, 5 Aug 2014 21:59:23 +0100
+Subject: [PATCH 1/1] Fix cross compilation
+
+Corrections to Makefile to correctly use CXX and CXXFLAGS when compiling
+c++ code.
+
+Signed-off-by: Martin Bark <martin@barkynet.com>
+---
+ Makefile | 21 ++++++++++-----------
+ 1 file changed, 10 insertions(+), 11 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index a519e96..2883ccf 100644
+--- a/Makefile
++++ b/Makefile
+@@ -3,18 +3,18 @@ VERSION = 0.9.23
+ PREFIX = /usr
+ DESTDIR = 
+ 
+-CC = g++
++CXX ?= g++
+ 
+-OPTS = -O3 -ffast-math -funroll-loops -Wall -fPIC -DPIC
++OPTS = -fPIC -DPIC
+ #OPTS = -g -DDEBUG 
+ 
+ _LDFLAGS = -shared 
+-STRIP = strip
++STRIP ?= strip
+ 
+ -include defines.make
+ 
+-CFLAGS += $(OPTS) $(_CFLAGS)
+-LDFLAGS += $(_LDFLAGS) $(CFLAGS)
++override CXXFLAGS += $(OPTS) $(_CXXFLAGS)
++override LDFLAGS += $(_LDFLAGS) $(CXXFLAGS)
+ 
+ PLUG = caps
+ 
+@@ -48,19 +48,18 @@ $(PLUG).rdf: all tools/make-rdf.py
+ 	python tools/make-rdf.py > $(PLUG).rdf
+ 
+ $(PLUG).so: $(OBJECTS)
+-	$(CC) $(ARCH) $(LDFLAGS) -o $@ $(OBJECTS)
++	$(CXX) $(ARCH) $(LDFLAGS) -o $@ $(OBJECTS)
+ 
+ .cc.s: 
+-	$(CC) $(ARCH) $(CFLAGS) -S $<
++	$(CXX) $(ARCH) $(CXXFLAGS) -S $<
+ 
+ .cc.o: depend 
+-	$(CC) $(ARCH) $(CFLAGS) -o $@ -c $<
++	$(CXX) $(ARCH) $(CXXFLAGS) -o $@ -c $<
+ 
+ tags: $(SOURCES) $(HEADERS)
+ 	@-if [ -x /usr/bin/ctags ]; then ctags $(SOURCES) $(HEADERS) >/dev/null 2>&1 ; fi
+ 
+ install: all
+-	@$(STRIP) $(PLUG).so > /dev/null
+ 	install -d $(DESTDIR)$(DEST)
+ 	install -m 644 $(PLUG).so $(DESTDIR)$(DEST)
+ 	install -d $(DESTDIR)$(RDFDEST)
+@@ -87,9 +86,9 @@ version.h:
+ 	@VERSION=$(VERSION) python tools/make-version.h.py
+ 
+ dist: all $(PLUG).rdf version.h
+-	tools/make-dist.py caps $(VERSION) $(CFLAGS)
++	tools/make-dist.py caps $(VERSION) $(CXXFLAGS)
+ 
+ depend: $(SOURCES) $(HEADERS)
+-	$(CC) -MM $(CFLAGS) $(DEFINES) $(SOURCES) > depend
++	$(CXX) -MM $(CXXFLAGS) $(DEFINES) $(SOURCES) > depend
+ 
+ -include depend
+-- 
+1.9.1
+
diff --git a/package/caps/caps.mk b/package/caps/caps.mk
new file mode 100644
index 0000000..8e8c06c
--- /dev/null
+++ b/package/caps/caps.mk
@@ -0,0 +1,23 @@ 
+################################################################################
+#
+# caps
+#
+################################################################################
+
+CAPS_VERSION = 0.9.23
+CAPS_SOURCE = caps_$(CAPS_VERSION).tar.bz2
+CAPS_SITE = http://quitte.de/dsp/
+CAPS_LICENSE = GPLv3
+CAPS_LICENSE_FILES = COPYING
+
+define CAPS_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \
+		all	-C $(@D)
+endef
+
+define CAPS_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \
+		DESTDIR=$(TARGET_DIR) install -C $(@D)
+endef
+
+$(eval $(generic-package))