Mercurial > hg > aimc
view trunk/carfac/SConstruct @ 685:d0612798f6de
Additional changes to C++ CARFAC on the basis of ronw's comments on r289. Moved CARFAC::Design to CARFAC::CARFAC and CARFAC::Reset(), moved carfac_common.h to common.h, CARFACDetect to carfac_util.h/cc, FloatArray and Float2dArray to ArrayX and ArrayXX, improved variable naming, made a start on improved commenting documentation.
author | alexbrandmeyer |
---|---|
date | Tue, 04 Jun 2013 18:30:22 +0000 |
parents | 49af9a8d5a53 |
children | c3012b2943b2 |
line wrap: on
line source
# CARFAC Open Source C++ Library # # This C++ file is part of an implementation of Lyon's cochlear model: # "Cascade of Asymmetric Resonators with Fast-Acting Compression" # to supplement Lyon's upcoming book "Human and Machine Hearing" # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. ## @author Ron Weiss <ronw@google.com> # @date created 2013/05/21 # @version \$Id$ """@package SConstruct SConstruct file for the CARFAC Open Source C++ Library. To install dependencies on Ubuntu, run: sudo apt-get install libeigen3-dev scons \ cmake libgtest-dev libsndfile-dev # For testing. export EIGEN_PATH=/usr/include/eigen3 export GTEST_SOURCE=/usr/src/gtest To build all libraries, run: scons To run unit tests, run: scons test To clean up binaries, run: scons --clean """ import commands import os env = Environment(CPPPATH=[os.environ['EIGEN_PATH']]) GCC_VERSION = commands.getoutput(env['CXX'] + ' -dumpversion') if GCC_VERSION.startswith('4.6'): env.MergeFlags(['-std=c++0x']) else: env.MergeFlags(['-std=c++11']) carfac_sources = [ 'agc.h', 'car.h', 'ihc.h', 'carfac.cc', 'common.h', 'carfac_util.h', 'carfac_output.cc', 'ear.cc', 'sai.cc' ] env.Library(target = 'carfac', source = carfac_sources) env.Command('tmp/libgtest.a', [], [ Delete('tmp'), Copy('tmp', os.environ['GTEST_SOURCE']), 'cd tmp && cmake . && make', ]) test_sources = [ 'carfac_test.cc', 'sai_test.cc', ] test_program = env.Program(target = 'test', source = test_sources, LIBS = ['carfac', 'gtest', 'gtest_main', 'pthread'], LIBPATH = ['.', 'tmp']) test_alias = Alias('test', [test_program], test_program[0].abspath) AlwaysBuild(test_alias)