Browse Source

some updates on cmake stuff in order to build aRts with optional backend (alsa, jack...)

Rename gslconfig.h.in into gslconfig.h.cmake for consistency with the other modules.
Add man3 pages (gsl).
Add Network Audio System (Nas) support.
Add Open Sound System (OSS) support.

Signed-off-by: gregory guy <gregory-tde@laposte.net>
feat/cmake_update
gregory guy 1 year ago
parent
commit
425f41c77d
No known key found for this signature in database
GPG Key ID: 2CC84A1CC6823AF8
  1. 284
      CMakeLists.txt
  2. 319
      ConfigureChecks.cmake
  3. 92
      config.h.cmake
  4. 1
      doc/CMakeLists.txt
  5. 1
      doc/man/CMakeLists.txt
  6. 10
      doc/man/man3/CMakeLists.txt
  7. 0
      doc/man/man3/gsl.3
  8. 104
      flow/CMakeLists.txt
  9. 13
      flow/audioiooss.cpp
  10. 87
      flow/copy of CMakeLists.txt
  11. 176
      flow/gsl/CMakeLists.txt
  12. 0
      flow/gsl/gslconfig.h.cmake
  13. 19
      mcop/dispatcher.cpp
  14. 16
      mcop/md5auth.cpp

284
CMakeLists.txt

@ -1,34 +1,18 @@
#################################################
#
# (C) 2010 Serghei Amelian
# serghei (DOT) amelian (AT) gmail.com
#
# Improvements and feedback are welcome
#
# This file is released under GPL >= 2
#
#################################################
###########################################
# #
# (C) 2010 Serghei Amelian #
# serghei (DOT) amelian (AT) gmail.com #
# #
# Improvements and feedback are welcome #
# #
# This file is released under GPL >= 2 #
# #
###########################################
cmake_minimum_required( VERSION 2.8.12 )
##### include essential cmake modules ###########
include( CheckCXXSourceCompiles )
include( CheckFunctionExists )
include( CheckSymbolExists )
include( CheckPrototypeDefinition )
include( CheckIncludeFile )
include( CheckLibraryExists )
include( FindPkgConfig )
##### include our cmake modules #################
set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" )
include( TDEMacros )
##### project settings ##########################
##### general package setup
project( arts )
@ -38,20 +22,24 @@ set( ARTS_MICRO_VERSION 10 )
set( ARTS_VERSION "${ARTS_MAJOR_VERSION}.${ARTS_MINOR_VERSION}.${ARTS_MICRO_VERSION}" )
##### user requested options ####################
##### include essential cmake modules
option( WITH_ALL_OPTIONS "Enable all optional support" OFF )
option( WITH_ALSA "Enable ALSA support" ON )
option( WITH_AUDIOFILE "Enable audiofile (wav) support" ON )
option( WITH_VORBIS "Enable Ogg/Vorbis support" ON )
option( WITH_MAD "Enable MAD mp3 decoder support" ON )
option( WITH_ESOUND "Enable ESOUND support" ${WITH_ALL_OPTIONS} )
option( WITH_JACK "Enable JACK support" ${WITH_ALL_OPTIONS} )
option( WITH_SNDIO "Enable SNDIO support" OFF )
option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden" ${WITH_ALL_OPTIONS} )
include( FindPkgConfig )
include( CheckFunctionExists )
include( CheckSymbolExists )
include( CheckIncludeFile )
include( CheckIncludeFiles )
include( CheckLibraryExists )
include( CheckPrototypeDefinition )
include( CheckCSourceCompiles )
##### include our cmake modules
set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" )
include( TDEMacros )
##### paths setup ###############################
##### setup install paths
tde_setup_install_path( EXEC_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" )
tde_setup_install_path( BIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/bin" )
@ -60,184 +48,60 @@ tde_setup_install_path( INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include/$
tde_setup_install_path( PKGCONFIG_INSTALL_DIR "${LIB_INSTALL_DIR}/pkgconfig" )
##### setup architecture flags ##################
tde_setup_architecture_flags( )
include(TestBigEndian)
test_big_endian(WORDS_BIGENDIAN)
tde_setup_largefiles( )
##### check for include files ###################
check_include_file( "sys/time.h" HAVE_SYS_TIME_H )
check_include_file( "time.h" TIME_WITH_SYS_TIME )
check_include_file( "stdio.h" HAVE_STDIO_H )
check_include_file( "stdlib.h" HAVE_STDLIB_H )
check_include_file( "string.h" HAVE_STRING_H )
check_include_file( "strings.h" HAVE_STRINGS_H )
check_include_file( "ctype.h" HAVE_CTYPE_H )
check_include_file( "malloc.h" HAVE_MALLOC_H )
check_include_file( "memory.h" HAVE_MEMORY_H )
check_include_file( "dlfcn.h" HAVE_DLFCN_H )
check_include_file( "sys/soundcard.h" HAVE_SYS_SOUNDCARD_H )
check_include_file( "pthread.h" HAVE_LIBPTHREAD )
##### check for system libraries ################
set( DL_LIBRARIES dl )
check_library_exists( ${DL_LIBRARIES} dlopen /lib HAVE_LIBDL )
if( NOT HAVE_LIBDL )
unset( DL_LIBRARIES )
check_function_exists( dlopen HAVE_DLOPEN )
if( HAVE_DLOPEN )
set( HAVE_LIBDL 1 )
endif( HAVE_DLOPEN )
endif( NOT HAVE_LIBDL )
find_package( Threads )
##### check for functions #######################
set( bak_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} )
set( CMAKE_REQUIRED_LIBRARIES ${DL_LIBRARIES} )
check_function_exists( dlerror HAVE_DLERROR )
check_function_exists( strcmp HAVE_STRCMP )
check_function_exists( strchr HAVE_STRCHR )
check_function_exists( index HAVE_INDEX )
check_function_exists( strrchr HAVE_STRRCHR )
check_function_exists( rindex HAVE_RINDEX )
check_function_exists( memcpy HAVE_MEMCPY )
check_function_exists( bcopy HAVE_BCOPY )
set( CMAKE_REQUIRED_LIBRARIES ${bak_CMAKE_REQUIRED_LIBRARIES} )
unset( bak_CMAKE_REQUIRED_LIBRARIES )
check_prototype_definition( ioctl "int ioctl(int d, int request, ...)" "-1" "unistd.h;sys/ioctl.h" HAVE_IOCTL_INT_INT_DOTS )
check_prototype_definition( ioctl "int ioctl(int d, unsigned long request, ...)" "-1" "unistd.h;sys/ioctl.h" HAVE_IOCTL_INT_ULONG_DOTS )
##### check for audiofile #######################
set( HAVE_LIBAUDIOFILE 0 )
if( WITH_AUDIOFILE )
pkg_search_module( AUDIOFILE audiofile )
if( AUDIOFILE_FOUND )
set( HAVE_LIBAUDIOFILE 1 )
else( AUDIOFILE_FOUND )
message(FATAL_ERROR "\naudiofile (wav) support are requested, but `libaudiofile` not found" )
endif( AUDIOFILE_FOUND )
endif( WITH_AUDIOFILE )
##### check for alsa ############################
set( HAVE_LIBASOUND2 0 )
if( WITH_ALSA )
pkg_search_module( ALSA alsa )
if( ALSA_FOUND )
# there is support only for ALSA 1.x
set( HAVE_LIBASOUND2 1 )
set( ALSA_PCM_OLD_SW_PARAMS_API 1 )
set( ALSA_PCM_OLD_HW_PARAMS_API 1 )
check_include_file( "alsa/asoundlib.h" HAVE_ALSA_ASOUNDLIB_H )
if( NOT HAVE_ALSA_ASOUNDLIB_H )
check_include_file( "sys/asoundlib.h" HAVE_SYS_ASOUNDLIB_H )
endif( NOT HAVE_ALSA_ASOUNDLIB_H )
set( bak_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} )
set( CMAKE_REQUIRED_LIBRARIES ${ALSA_LIBRARIES} )
check_function_exists( snd_pcm_resume HAVE_SND_PCM_RESUME )
set( CMAKE_REQUIRED_LIBRARIES ${bak_CMAKE_REQUIRED_LIBRARIES} )
unset( bak_CMAKE_REQUIRED_LIBRARIES )
else( ALSA_FOUND )
message(FATAL_ERROR "\nALSA support are requested, but not found on your system" )
endif( ALSA_FOUND )
endif( WITH_ALSA )
##### check for esound #######################
set( HAVE_LIBESD 0 )
if( WITH_ESOUND )
##### optional stuff
pkg_search_module( ESOUND esound )
if( ESOUND_FOUND )
set( HAVE_LIBESD 1 )
else( ESOUND_FOUND )
message(FATAL_ERROR "\nESOUND support is requested, but `libesd` not found" )
endif( ESOUND_FOUND )
endif( WITH_ESOUND )
option( WITH_ALL_OPTIONS "Enable all optional support" ON )
option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden" ${WITH_ALL_OPTIONS} )
option( WITH_ALSA "Enable ALSA support" ${WITH_ALL_OPTIONS} )
option( WITH_AUDIOFILE "Enable audiofile (wav) support" ${WITH_ALL_OPTIONS} )
option( WITH_VORBIS "Enable Ogg/Vorbis support" ${WITH_ALL_OPTIONS} )
option( WITH_MAD "Enable MAD mp3 decoder support" ${WITH_ALL_OPTIONS} )
option( WITH_ESOUND "Enable ESOUND support" ${WITH_ALL_OPTIONS} )
option( WITH_JACK "Enable JACK support" ${WITH_ALL_OPTIONS} )
option( WITH_SNDIO "Enable SNDIO support" OFF )
option( WITH_NAS "Enable Network Audio System support" ${WITH_ALL_OPTIONS} )
option( WITH_OSS "Enable Open Sound System support" OFF )
option( WITH_TOSS "Enable Threaded Open Sound System support" OFF )
##### check for JACK ############################
##### user requested modules
set( HAVE_LIBJACK 0 )
if( WITH_JACK )
pkg_search_module( LIBJACK jack )
if( LIBJACK_FOUND )
set( HAVE_LIBJACK 1 )
else( LIBJACK_FOUND )
message(FATAL_ERROR "\nJACK support is requested, but `jack.pc` was not found" )
endif( LIBJACK_FOUND )
endif( WITH_JACK )
option( BUILD_ALL "Build all" ON )
option( BUILD_DOC "Build documentation" ${BUILD_ALL} )
option( BUILD_TRANSLATIONS "Build translations" ${BUILD_ALL} )
##### check for SNDIO ###########################
##### configure checks
set( HAVE_LIBSNDIO 0 )
if( WITH_SNDIO )
check_include_file( "sndio.h" HAVE_SNDIO_H )
if( HAVE_SNDIO_H )
set( HAVE_LIBSNDIO 1 )
set( LIBSNDIO_LIBRARIES "sndio" )
else( HAVE_SNDIO_H )
tde_message_fatal( "SNDIO support is requested, but `sndio.h` was not found" )
endif( HAVE_SNDIO_H )
endif( WITH_SNDIO )
include( ConfigureChecks.cmake )
##### check for glib/gthread modules ############
###### global compiler settings
pkg_search_module( GLIB2 glib-2.0 )
add_definitions( -DHAVE_CONFIG_H )
if( GLIB2_FOUND )
pkg_search_module( GTHREAD2 gthread-2.0 )
if( NOT GTHREAD2_FOUND )
message(FATAL_ERROR "\ngthread-2.0 are required, but not found on your system" )
endif( NOT GTHREAD2_FOUND )
else( GLIB2_FOUND )
message(FATAL_ERROR "\nglib-2.0 are required, but not found on your system" )
endif( GLIB2_FOUND )
##### check for TQt #############################
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" )
set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" )
set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined" )
find_package( TQt )
##### directories
##### check for gcc visibility support #########
add_subdirectory( libltdl )
add_subdirectory( mcop )
add_subdirectory( mcopidl )
add_subdirectory( flow )
#add_subdirectory( mcop_mt )
#add_subdirectory( soundserver )
#add_subdirectory( artsc )
#add_subdirectory( gmcop )
#add_subdirectory( qtmcop )
if( WITH_GCC_VISIBILITY )
tde_setup_gcc_visibility( )
endif( )
tde_conditional_add_subdirectory( BUILD_DOC doc )
#tde_conditional_add_subdirectory( BUILD_TRANSLATIONS translations )
##### write config.h file #######################
##### write configure files
configure_file( config.h.cmake config.h @ONLY )
@ -277,25 +141,3 @@ string( REGEX REPLACE "^${CMAKE_INSTALL_PREFIX}" "\${prefix}" PC_INCLUDE_DIR ${I
string( REGEX REPLACE "^${CMAKE_INSTALL_PREFIX}" "\${prefix}" PC_LIB_DIR ${LIB_INSTALL_DIR} )
configure_file( arts.pc.cmake arts.pc @ONLY )
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/arts.pc DESTINATION ${PKGCONFIG_INSTALL_DIR} )
##### global compiler settings ##################
add_definitions(
-DHAVE_CONFIG_H
)
set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" )
##### project subdirectories ####################
add_subdirectory( libltdl )
add_subdirectory( mcop )
add_subdirectory( mcopidl )
add_subdirectory( flow )
add_subdirectory( mcop_mt )
add_subdirectory( soundserver )
add_subdirectory( artsc )
add_subdirectory( gmcop )
add_subdirectory( qtmcop )

319
ConfigureChecks.cmake

@ -0,0 +1,319 @@
###########################################
# #
# (C) 2010 Serghei Amelian #
# serghei (DOT) amelian (AT) gmail.com #
# #
# Improvements and feedback are welcome #
# #
# This file is released under GPL >= 2 #
# #
###########################################
# required stuff
tde_setup_architecture_flags( )
include(TestBigEndian)
test_big_endian(WORDS_BIGENDIAN)
tde_setup_largefiles( )
##### check for gcc visibility support
if( WITH_GCC_VISIBILITY )
tde_setup_gcc_visibility( )
endif( WITH_GCC_VISIBILITY )
find_package( Threads )
##### check for include files
check_include_file( "stdio.h" HAVE_STDIO_H )
check_include_file( "stdlib.h" HAVE_STDLIB_H )
check_include_file( "string.h" HAVE_STRING_H )
check_include_file( "strings.h" HAVE_STRINGS_H )
check_include_file( "ctype.h" HAVE_CTYPE_H )
check_include_file( "malloc.h" HAVE_MALLOC_H )
check_include_file( "memory.h" HAVE_MEMORY_H )
check_include_file( "dlfcn.h" HAVE_DLFCN_H )
check_include_file( "sys/select.h" HAVE_SYS_SELECT_H )
check_include_file( "csl/csl.h" HAVE_LIBCSL )
check_include_file( "libaudioio.h" HAVE_LIBAUDIOIO )
check_include_file( "mas/mas.h" HAVE_LIBMAS )
check_include_file( "pthread.h" HAVE_LIBPTHREAD )
check_include_file( "sys/time.h" HAVE_SYS_TIME_H )
check_include_files( "sys/time.h;time.h" TIME_WITH_SYS_TIME )
check_include_file( "sys/soundcard.h" HAVE_SYS_SOUNDCARD_H )
check_include_files( "sys/soundcard.h;soundcard.h" HAVE_SOUNDCARD_H )
##### check for system library dl
set( DL_LIBRARIES dl )
check_library_exists( ${DL_LIBRARIES} dlopen /lib HAVE_LIBDL )
if( NOT HAVE_LIBDL )
unset( DL_LIBRARIES )
check_function_exists( dlopen HAVE_DLOPEN )
if( HAVE_DLOPEN )
set( HAVE_LIBDL 1 )
endif( HAVE_DLOPEN )
endif( NOT HAVE_LIBDL )
##### check for functions #######################
set( bak_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} )
set( CMAKE_REQUIRED_LIBRARIES ${DL_LIBRARIES} )
check_function_exists( dlerror HAVE_DLERROR )
check_function_exists( strcmp HAVE_STRCMP )
check_function_exists( strchr HAVE_STRCHR )
check_function_exists( index HAVE_INDEX )
check_function_exists( strrchr HAVE_STRRCHR )
check_function_exists( rindex HAVE_RINDEX )
check_function_exists( memcpy HAVE_MEMCPY )
check_function_exists( bcopy HAVE_BCOPY )
set( CMAKE_REQUIRED_LIBRARIES ${bak_CMAKE_REQUIRED_LIBRARIES} )
unset( bak_CMAKE_REQUIRED_LIBRARIES )
check_prototype_definition( ioctl "int ioctl(int d, int request, ...)" "-1" "unistd.h;sys/ioctl.h" HAVE_IOCTL_INT_INT_DOTS )
check_prototype_definition( ioctl "int ioctl(int d, unsigned long request, ...)" "-1" "unistd.h;sys/ioctl.h" HAVE_IOCTL_INT_ULONG_DOTS )
##### check for audiofile
set( HAVE_LIBAUDIOFILE 0 )
if( WITH_AUDIOFILE )
pkg_search_module( AUDIOFILE audiofile )
if( AUDIOFILE_FOUND )
set( HAVE_LIBAUDIOFILE 1 )
else()
tde_message_fatal( "audiofile (wav) support has been requested, but was not found" )
endif()
endif( WITH_AUDIOFILE )
##### check for alsa
set( HAVE_LIBASOUND2 0 )
if( WITH_ALSA )
pkg_search_module( ALSA alsa )
if( ALSA_FOUND ) # there is support only for ALSA 1.x
set( HAVE_LIBASOUND2 1 )
set( ALSA_PCM_OLD_SW_PARAMS_API 1 ) # where is It neded?
set( ALSA_PCM_OLD_HW_PARAMS_API 1 ) # where is It neded?
check_include_file( "alsa/asoundlib.h" HAVE_ALSA_ASOUNDLIB_H )
if( NOT HAVE_ALSA_ASOUNDLIB_H )
check_include_file( "sys/asoundlib.h" HAVE_SYS_ASOUNDLIB_H )
endif()
set( bak_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} )
set( CMAKE_REQUIRED_LIBRARIES ${ALSA_LIBRARIES} )
check_function_exists( snd_pcm_resume HAVE_SND_PCM_RESUME )
set( CMAKE_REQUIRED_LIBRARIES ${bak_CMAKE_REQUIRED_LIBRARIES} )
unset( bak_CMAKE_REQUIRED_LIBRARIES )
else()
tde_message_fatal( "ALSA support has been requested, but was not found" )
endif()
endif( WITH_ALSA )
##### check for esound
set( HAVE_LIBESD 0 )
if( WITH_ESOUND )
pkg_search_module( ESOUND esound )
if( ESOUND_FOUND )
set( HAVE_LIBESD 1 )
else()
tde_message_fatal( "ESOUND support has been requested, but was not found" )
endif()
endif( WITH_ESOUND )
##### check for JACK
set( HAVE_LIBJACK 0 )
if( WITH_JACK )
pkg_search_module( LIBJACK jack )
if( LIBJACK_FOUND )
set( HAVE_LIBJACK 1 )
else()
tde_message_fatal( "JACK support has been requested, but was not found" )
endif( LIBJACK_FOUND )
endif( WITH_JACK )
##### check for Network Audio System
if( WITH_NAS )
find_path( NAS_HEADER "audio/audiolib.h" )
find_library( NAS_LIBRARY audio )
if( NAS_HEADER AND NAS_LIBRARY )
set( HAVE_LIBAUDIONAS 1 )
set( NAS_INCLUDE_DIR "${NAS_HEADER}" )
set( NAS_LIBRARIES ${NAS_LIBRARY} )
message( STATUS "Looking for Nas - found" )
else()
tde_message_fatal( "Nas support has been requested, but was not found" )
endif()
endif( WITH_NAS )
##### check for Open Sound System
if( WITH_OSS OR WITH_TOSS )
find_path( OSS_HEADER "sys/soundcard.h"
NO_DEFAULT_PATH
HINTS /usr/lib/oss/include
/usr/lib64/oss/include
)
find_library( OSS_LIBRARY OSSlib
NO_DEFAULT_PATH
HINTS /usr/lib/oss/lib
/usr/lib64/oss/lib
)
if( OSS_HEADER AND OSS_LIBRARY )
set( OSS_INCLUDE_DIR "${OSS_HEADER}" )
set( OSS_LIBRARIES "${OSS_LIBRARY}" )
else()
tde_message_fatal( "OSS support has been requested, but was not found" )
endif()
endif( WITH_OSS OR WITH_TOSS )
##### check for SNDIO ###########################
set( HAVE_LIBSNDIO 0 )
if( WITH_SNDIO )
check_include_file( "sndio.h" HAVE_SNDIO_H )
if( HAVE_SNDIO_H )
set( HAVE_LIBSNDIO 1 )
set( LIBSNDIO_LIBRARIES "sndio" )
else( HAVE_SNDIO_H )
tde_message_fatal( "SNDIO support is requested, but `sndio.h` was not found" )
endif( HAVE_SNDIO_H )
endif( WITH_SNDIO )
##### check for glib/gthread
pkg_search_module( GLIB2 glib-2.0 )
if( GLIB2_FOUND )
pkg_search_module( GTHREAD2 gthread-2.0 )
if( NOT GTHREAD2_FOUND )
tde_message_fatal( "gthread-2.0 is required, but was not found on your system" )
endif()
else()
tde_message_fatal( "glib-2.0 is required, but was not found on your system" )
endif( GLIB2_FOUND )
##### check for ogg/vorbis
set( GSL_HAVE_OGGVORBIS 0 )
if( WITH_VORBIS )
pkg_search_module( VORBIS vorbis )
if( VORBIS_FOUND )
pkg_search_module( LIBOGG ogg )
if( NOT LIBOGG_FOUND )
tde_message_fatal( "Ogg/Vorbis support has been requested, but Ogg was not found" )
endif()
pkg_search_module( LIBVORBISENC vorbisenc )
pkg_search_module( VORBISFILE vorbisfile )
if( VORBISFILE_FOUND )
set( GSL_HAVE_OGGVORBIS 1 )
set( bak_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} )
set( CMAKE_REQUIRED_LIBRARIES ${VORBISFILE_LIBRARIES} )
check_c_source_compiles("
#include <vorbis/vorbisfile.h>
int main()
{
ov_read_float(0,0,0);
return 0;
}" GSL_HAVE_OGGVORBIS_RC3
)
if( NOT GSL_HAVE_OGGVORBIS_RC3 )
set( GSL_HAVE_OGGVORBIS_RC3 0 )
endif()
set( CMAKE_REQUIRED_LIBRARIES ${bak_CMAKE_REQUIRED_LIBRARIES} )
else()
tde_message_fatal( "Ogg/Vorbis support has been requested, but `libvorbisfile` was not found" )
endif()
else()
tde_message_fatal( "Ogg/Vorbis support has been requested, but `libvorbis` was not found" )
endif()
endif( WITH_VORBIS )
##### check for libmad
set( GSL_HAVE_LIBMAD 0 )
if( WITH_MAD )
pkg_search_module( MAD mad )
if( MAD_FOUND )
set( GSL_HAVE_LIBMAD 1 )
else()
find_library( MAD_LIBRARIES NAMES mad )
find_path( MAD_INCLUDE_DIRS mad.h )
if( NOT MAD_LIBRARIES )
tde_message_fatal( "Mad support has been requested, but `libmad` was not found" )
endif()
endif()
endif( WITH_MAD )
##### check for some type sizes #################
include( CheckTypeSize )
check_type_size( pthread_mutex_t GSL_SIZEOF_PTH_MUTEX_T )
check_type_size( pthread_cond_t GSL_SIZEOF_PTH_COND_T )
check_type_size( intmax_t GSL_SIZEOF_STD_INTMAX_T )
set( bak_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} )
set( CMAKE_REQUIRED_LIBRARIES ${CMAKE_THREAD_LIBS_INIT} )
check_c_source_compiles(
"#define _XOPEN_SOURCE 500
#include <pthread.h>
int main()
{
int (*attr_settype) (pthread_mutexattr_t *__attr, int __kind) = pthread_mutexattr_settype;
int val = PTHREAD_MUTEX_RECURSIVE; attr_settype = 0; val = 0;
return 0;
}"
GSL_HAVE_MUTEXATTR_SETTYPE )
if( NOT GSL_HAVE_MUTEXATTR_SETTYPE )
set( GSL_HAVE_MUTEXATTR_SETTYPE 0 )
endif( NOT GSL_HAVE_MUTEXATTR_SETTYPE )
set( CMAKE_REQUIRED_LIBRARIES ${bak_CMAKE_REQUIRED_LIBRARIES} )
set( GSL_USE_GSL_GLIB 1 )
set( GSL_USE_ARTS_THREADS 1 )
##### check for sse on x86 cpus
if( ${CMAKE_ARCHITECTURE} MATCHES "i.86" )
check_c_source_compiles("
int main()
{
__asm__(\"movups %xmm0, (%esp)\");
return 0;
}" HAVE_X86_SSE
)
endif( ${CMAKE_ARCHITECTURE} MATCHES "i.86" )

92
config.h.cmake

@ -5,18 +5,89 @@
significant byte first (like Motorola and SPARC, unlike Intel). */
#cmakedefine WORDS_BIGENDIAN @WORDS_BIGENDIAN@
#cmakedefine HAVE_SYS_TIME_H 1
#cmakedefine TIME_WITH_SYS_TIME 1
/* Defined if you have <stdio.h> header */
#cmakedefine HAVE_STDIO_H 1
/* Defined if you have <stdlib.h> header */
#cmakedefine HAVE_STDLIB_H 1
/* Defined if you have <string.h> header */
#cmakedefine HAVE_STRING_H 1
/* Defined if you have <strings.h> header */
#cmakedefine HAVE_STRINGS_H 1
/* Defined if you have <ctype.h> header */
#cmakedefine HAVE_CTYPE_H 1
/* Defined if you have <malloc.h> header */
#cmakedefine HAVE_MALLOC_H 1
/* Defined if you have <memory.h> header */
#cmakedefine HAVE_MEMORY_H 1
/* Defined if you have <dlfcn.h> header */
#cmakedefine HAVE_DLFCN_H 1
/* Defined if you have both <sys/time.h> and <time.h> headers */
#cmakedefine TIME_WITH_SYS_TIME 1
/* Defined if you have either <sys/time.h> or <time.h> header */
#cmakedefine HAVE_SYS_TIME_H 1
/* Defined with system library dl */
#cmakedefine HAVE_LIBDL 1
/* Defined if you have libaudiofile */
#cmakedefine HAVE_LIBAUDIOFILE 1
/* defined if you have Alsa library */
#cmakedefine HAVE_LIBASOUND2 1
/* Defined if you have <alsa/asoundlib.h> header */
#cmakedefine HAVE_ALSA_ASOUNDLIB_H 1
/* Defined if you have snd_pcm_resume() (Alsa) */
#cmakedefine HAVE_SND_PCM_RESUME 1
#cmakedefine ALSA_PCM_OLD_SW_PARAMS_API 1
#cmakedefine ALSA_PCM_OLD_HW_PARAMS_API 1
/* Defined if you have <sys/select.h> header */
#cmakedefine HAVE_SYS_SELECT_H 1
/* Defined if you have <csl/csl.h> header */
#cmakedefine HAVE_LIBCSL 1
/* Defined if you have esound (Enlightened Sound Daemon) */
#cmakedefine HAVE_LIBESD 1
/* Defined if you have Jack Audio Connection Kit */
#cmakedefine HAVE_LIBJACK 1
/* Defined if you have <libaudioio.h> header */
#cmakedefine HAVE_LIBAUDIOIO 1
/* Defined if you have <mas/mas.h> header */
#cmakedefine HAVE_LIBMAS 1
/* Defined if you have Network Audio System (Nas) */
#cmakedefine HAVE_LIBAUDIONAS 1
/* Defined if you have both <sys/soundcard.h> and <soundcard.h> headers */
#cmakedefine HAVE_SOUNDCARD_H 1
/* Defined if you have either <sys/soundcard.h> or <soundcard.h> header */
#cmakedefine HAVE_SYS_SOUNDCARD_H 1
/* Defined if you have <pthread.h> header */
#cmakedefine HAVE_LIBPTHREAD 1
/* Defined for x86 cpus with sse instructions */
#cmakedefine HAVE_X86_SSE 1
#define LTDL_OBJDIR "."
#cmakedefine HAVE_DLERROR 1
@ -28,20 +99,17 @@
#cmakedefine HAVE_MEMCPY 1
#cmakedefine HAVE_BCOPY 1
#cmakedefine HAVE_LIBAUDIOFILE 1
#cmakedefine HAVE_LIBESD 1
#cmakedefine HAVE_LIBASOUND2 1
#cmakedefine HAVE_ALSA_ASOUNDLIB_H 1
#cmakedefine HAVE_SND_PCM_RESUME 1
#cmakedefine ALSA_PCM_OLD_SW_PARAMS_API 1
#cmakedefine ALSA_PCM_OLD_HW_PARAMS_API 1
#cmakedefine HAVE_SYS_SOUNDCARD_H 1
#cmakedefine HAVE_LIBPTHREAD 1
#cmakedefine HAVE_IOCTL_INT_INT_DOTS 1
#cmakedefine HAVE_IOCTL_INT_ULONG_DOTS 2
#cmakedefine HAVE_LIBJACK 1
#cmakedefine HAVE_LIBSNDIO 1

1
doc/CMakeLists.txt

@ -0,0 +1 @@
add_subdirectory( man )

1
doc/man/CMakeLists.txt

@ -0,0 +1 @@
add_subdirectory( man3 )

10
doc/man/man3/CMakeLists.txt

@ -0,0 +1,10 @@
file( GLOB _man_files *.3 )
if( _man_files )
INSTALL(
FILES ${_man_files}
DESTINATION ${MAN_INSTALL_DIR}/man3
COMPONENT doc
)
endif()

0
flow/gsl/gsl.3 → doc/man/man3/gsl.3

104
flow/CMakeLists.txt

@ -1,18 +1,19 @@
#################################################
#
# (C) 2010 Serghei Amelian
# serghei (DOT) amelian (AT) gmail.com
#
# Improvements and feedback are welcome
#
# This file is released under GPL >= 2
#
#################################################
###########################################
# #
# (C) 2010 Serghei Amelian #
# serghei (DOT) amelian (AT) gmail.com #
# #
# Improvements and feedback are welcome #
# #
# This file is released under GPL >= 2 #
# #
###########################################
add_subdirectory( mcopclass )
add_subdirectory( gsl )
add_subdirectory( gslpp )
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/artsc
@ -21,29 +22,16 @@ include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${GLIB2_INCLUDE_DIRS}
${AUDIOFILE_INCLUDE_DIRS}
${ALSA_INCLUDE_DIRS}
${ESOUND_INCLUDE_DIRS}
${LIBJACK_INCLUDE_DIRS}
${NAS_INCLUDE_DIR}
${OSS_INCLUDE_DIR}
)
##### headers ###################################
install( FILES
audiosubsys.h cache.h cachedwav.h convert.h
pipebuffer.h stdsynthmodule.h synthschedule.h
fft.h artsflow.idl audioio.h resample.h cpuinfo.h
bufferqueue.h gslschedule.h
${CMAKE_CURRENT_BINARY_DIR}/artsflow.h
DESTINATION ${INCLUDE_INSTALL_DIR} )
##### other data ################################
install( FILES
${CMAKE_CURRENT_BINARY_DIR}/artsflow.mcoptype
${CMAKE_CURRENT_BINARY_DIR}/artsflow.mcopclass
DESTINATION ${LIB_INSTALL_DIR}/mcop )
##### artsflow (shared lib) #####################
##### artsflow (shared )
set( target artsflow )
@ -64,24 +52,68 @@ set( ${target}_SRCS
)
tde_add_library( ${target} SHARED
SOURCES ${${target}_SRCS}
SOURCES
${${target}_SRCS}
LINK
artsgsl-static
artsgslpp-static
artsflow_idl-shared
${AUDIOFILE_LIBRARIES}
${LIBJACK_LIBRARIES}
${LIBSNDIO_LIBRARIES}
${ESOUND_LIBRARIES}
${NAS_LIBRARIES}
${OSS_LIBRARIES}
VERSION 1.0.0
LINK artsgsl-static artsgslpp-static artsflow_idl-shared ${AUDIOFILE_LIBRARIES} ${LIBJACK_LIBRARIES} ${LIBSNDIO_LIBRARIES}
DESTINATION ${LIB_INSTALL_DIR}
)
##### artsflow_idl (shared lib) #################
##### artsflow_idl (shared )
add_custom_command(
OUTPUT artsflow.cpp
COMMAND ../mcopidl/mcopidl
ARGS -t ${CMAKE_CURRENT_SOURCE_DIR}/artsflow.idl DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/artsflow.idl
ARGS -t ${CMAKE_CURRENT_SOURCE_DIR}/artsflow.idl
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/artsflow.idl
)
tde_add_library( artsflow_idl SHARED
SOURCES artsflow.cpp
SOURCES
artsflow.cpp
LINK
mcop-shared
${ALSA_LIBRARIES}
VERSION 1.0.0
LINK mcop-shared ${ALSA_LIBRARIES}
DESTINATION ${LIB_INSTALL_DIR}
DEPENDENCIES mcopidl
)
##### headers
install(
FILES audiosubsys.h cache.h cachedwav.h convert.h gslschedule.h
pipebuffer.h stdsynthmodule.h synthschedule.h bufferqueue.h
fft.h artsflow.idl audioio.h resample.h cpuinfo.h
${CMAKE_CURRENT_BINARY_DIR}/artsflow.h
DESTINATION ${INCLUDE_INSTALL_DIR}
)
##### other data
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/artsflow.mcoptype
${CMAKE_CURRENT_BINARY_DIR}/artsflow.mcopclass
DESTINATION ${LIB_INSTALL_DIR}/mcop
)

13
flow/audioiooss.cpp

@ -21,15 +21,16 @@
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#include "config.h"
#endif
#if defined(HAVE_SOUNDCARD_H)
#include <soundcard.h>
#define COMPILE_AUDIOIO_OSS 1
#endif
#if defined(HAVE_SYS_SOUNDCARD_H)
#include <sys/soundcard.h>
#define COMPILE_AUDIOIO_OSS 1
#elif defined(HAVE_SOUNDCARD_H)
#include <soundcard.h>
#define COMPILE_AUDIOIO_OSS 1
#include <sys/soundcard.h>
#define COMPILE_AUDIOIO_OSS 1
#endif
/**

87
flow/copy of CMakeLists.txt

@ -0,0 +1,87 @@
#################################################
#
# (C) 2010 Serghei Amelian
# serghei (DOT) amelian (AT) gmail.com
#
# Improvements and feedback are welcome
#
# This file is released under GPL >= 2
#
#################################################
add_subdirectory( mcopclass )
add_subdirectory( gsl )
add_subdirectory( gslpp )
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/artsc
${CMAKE_BINARY_DIR}/mcop
${CMAKE_SOURCE_DIR}/mcop
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${GLIB2_INCLUDE_DIRS}
)
##### headers ###################################
install( FILES
audiosubsys.h cache.h cachedwav.h convert.h
pipebuffer.h stdsynthmodule.h synthschedule.h
fft.h artsflow.idl audioio.h resample.h cpuinfo.h
bufferqueue.h gslschedule.h
${CMAKE_CURRENT_BINARY_DIR}/artsflow.h
DESTINATION ${INCLUDE_INSTALL_DIR} )
##### other data ################################
install( FILES
${CMAKE_CURRENT_BINARY_DIR}/artsflow.mcoptype
${CMAKE_CURRENT_BINARY_DIR}/artsflow.mcopclass
DESTINATION ${LIB_INSTALL_DIR}/mcop )
##### artsflow (shared lib) #####################
set( target artsflow )
set( ${target}_SRCS
synth_play_impl.cpp gslschedule.cpp audiosubsys.cpp
pipebuffer.cpp convert.cpp synth_wave_sin_impl.cpp
synth_frequency_impl.cpp synth_multi_add_impl.cpp
synth_add_impl.cpp synth_mul_impl.cpp synth_play_wav_impl.cpp
stdsynthmodule.cpp cache.cpp asyncschedule.cpp bytestreamtoaudio_impl.cpp
stereovolumecontrol_impl.cpp stereoeffectstack_impl.cpp
fft.c stereofftscope_impl.cpp virtualports.cpp bus.cpp
audiomanager_impl.cpp synth_record_impl.cpp resample.cpp
audioio.cpp audioiooss.cpp audioioalsa.cpp audioioalsa9.cpp
audioionull.cpp audioiolibaudioio.cpp audioioesd.cpp audioiosndio.cpp
audioiojack.cpp audioiosun.cpp audioioaix.cpp audioionas.cpp
cpuinfo.cpp audioioossthreaded.cpp audiotobytestream_impl.cpp
audioiosgi.cpp audioiocsl.cpp audioiomas.cpp datahandle_impl.cpp
)
tde_add_library( ${target} SHARED
SOURCES ${${target}_SRCS}
VERSION 1.0.0
LINK artsgsl-static artsgslpp-static artsflow_idl-shared ${AUDIOFILE_LIBRARIES} ${LIBJACK_LIBRARIES} ${LIBSNDIO_LIBRARIES}
DESTINATION ${LIB_INSTALL_DIR}
)
##### artsflow_idl (shared lib) #################
add_custom_command(
OUTPUT artsflow.cpp
COMMAND ../mcopidl/mcopidl
ARGS -t ${CMAKE_CURRENT_SOURCE_DIR}/artsflow.idl DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/artsflow.idl
)
tde_add_library( artsflow_idl SHARED
SOURCES artsflow.cpp
VERSION 1.0.0
LINK mcop-shared ${ALSA_LIBRARIES}
DESTINATION ${LIB_INSTALL_DIR}
DEPENDENCIES mcopidl
)

176
flow/gsl/CMakeLists.txt

@ -1,138 +1,26 @@
#################################################
#
# (C) 2010 Serghei Amelian
# serghei (DOT) amelian (AT) gmail.com
#
# Improvements and feedback are welcome
#
# This file is released under GPL >= 2
#
#################################################
include( CheckCSourceCompiles )
##### check for ogg/vorbis ######################
set( GSL_HAVE_OGGVORBIS 0 )
if( WITH_VORBIS )
pkg_search_module( VORBIS vorbis )
if( VORBIS_FOUND )
pkg_search_module( VORBISFILE vorbisfile )
if( VORBISFILE_FOUND )
set( GSL_HAVE_OGGVORBIS 1 )
set( bak_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} )
set( CMAKE_REQUIRED_LIBRARIES ${VORBISFILE_LIBRARIES} )
check_c_source_compiles(
"#include <vorbis/vorbisfile.h>
int main() { ov_read_float(0,0,0); return 0; } "
GSL_HAVE_OGGVORBIS_RC3 )
if( NOT GSL_HAVE_OGGVORBIS_RC3 )
set( GSL_HAVE_OGGVORBIS_RC3 0 )
endif( NOT GSL_HAVE_OGGVORBIS_RC3 )
set( CMAKE_REQUIRED_LIBRARIES ${bak_CMAKE_REQUIRED_LIBRARIES} )
else( VORBISFILE_FOUND )
message(FATAL_ERROR "\nOgg/Vorbis support are requested, but `libvorbisfile` not found" )
endif( VORBISFILE_FOUND )
else( VORBIS_FOUND )
message(FATAL_ERROR "\nOgg/Vorbis support are requested, but `libvorbis` but found" )
endif( VORBIS_FOUND )
endif( WITH_VORBIS )
##### check for libmad MPEG decoder #############
set( GSL_HAVE_LIBMAD 0 )
if( WITH_MAD )
pkg_search_module( MAD mad )
if( MAD_FOUND )
set( GSL_HAVE_LIBMAD 1 )
else( MAD_FOUND )
find_library( MAD_LIBRARIES NAMES mad )
find_path( MAD_INCLUDE_DIRS mad.h )
if( NOT MAD_LIBRARIES )
message(FATAL_ERROR "\nMAD support is requested, but `libmad` not found" )
endif( NOT MAD_LIBRARIES )
endif( MAD_FOUND )
endif( WITH_MAD )
##### check for some type sizes #################
include( CheckTypeSize )
check_type_size( pthread_mutex_t GSL_SIZEOF_PTH_MUTEX_T )
check_type_size( pthread_cond_t GSL_SIZEOF_PTH_COND_T )
check_type_size( intmax_t GSL_SIZEOF_STD_INTMAX_T )
set( bak_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} )
set( CMAKE_REQUIRED_LIBRARIES ${CMAKE_THREAD_LIBS_INIT} )
check_c_source_compiles(
"#define _XOPEN_SOURCE 500
#include <pthread.h>
int main()
{
int (*attr_settype) (pthread_mutexattr_t *__attr, int __kind) = pthread_mutexattr_settype;
int val = PTHREAD_MUTEX_RECURSIVE; attr_settype = 0; val = 0;
return 0;
}"
GSL_HAVE_MUTEXATTR_SETTYPE )
if( NOT GSL_HAVE_MUTEXATTR_SETTYPE )
set( GSL_HAVE_MUTEXATTR_SETTYPE 0 )
endif( NOT GSL_HAVE_MUTEXATTR_SETTYPE )
set( CMAKE_REQUIRED_LIBRARIES ${bak_CMAKE_REQUIRED_LIBRARIES} )
set( GSL_USE_GSL_GLIB 1 )
set( GSL_USE_ARTS_THREADS 1 )
##### write configuration #######################
configure_file( gslconfig.h.in gslconfig.h @ONLY )
##### include paths #############################
###########################################
# #
# (C) 2010 Serghei Amelian #
# serghei (DOT) amelian (AT) gmail.com #
# #
# Improvements and feedback are welcome #
# #
# This file is released under GPL >= 2 #
# #
###########################################
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/mcop
${CMAKE_SOURCE_DIR}/mcop # for thread.h
${CMAKE_CURRENT_BINARY_DIR}/.. # for gsl/gslconfig.h
${CMAKE_CURRENT_SOURCE_DIR}/.. # for gsl/gslcommon.h
${CMAKE_SOURCE_DIR}/mcop # for thread.h
${CMAKE_CURRENT_BINARY_DIR}/.. # for gsl/gslconfig.h
${CMAKE_CURRENT_SOURCE_DIR}/.. # for gsl/gslcommon.h
${GLIB2_INCLUDE_DIRS}
${MAD_INCLUDE_DIRS}
)
##### headers ###################################
install( FILES
gslcommon.h gsldatacache.h gsldatahandle.h
gsldefs.h gslloader.h gslmath.h gslfilter.h
gsldatautils.h gsldatahandle-vorbis.h gslconvert.h
gslfft.h gslieee754.h gslsignal.h gslmagic.h
gslengine.h gslwaveosc.h gslwavechunk.h
gsldatahandle-mad.h gslosctable.h gsloscillator.h
${CMAKE_CURRENT_BINARY_DIR}/gslconfig.h
DESTINATION ${INCLUDE_INSTALL_DIR}/gsl )
##### gsl (static lib) ##########################
##### gsl (static )
set( target artsgsl )