diff --git a/CMakeLists.txt b/CMakeLists.txt index 282ff29..d0426a7 100644 --- a/CMakeLists.txt +++ b/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 ) diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake new file mode 100644 index 0000000..9095e9e --- /dev/null +++ b/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 + 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 + 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" ) diff --git a/config.h.cmake b/config.h.cmake index 7c2f7c8..404d8d3 100644 --- a/config.h.cmake +++ b/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 header */ #cmakedefine HAVE_STDIO_H 1 + +/* Defined if you have header */ #cmakedefine HAVE_STDLIB_H 1 + +/* Defined if you have header */ #cmakedefine HAVE_STRING_H 1 + +/* Defined if you have header */ #cmakedefine HAVE_STRINGS_H 1 + +/* Defined if you have header */ #cmakedefine HAVE_CTYPE_H 1 + +/* Defined if you have header */ #cmakedefine HAVE_MALLOC_H 1 + +/* Defined if you have header */ #cmakedefine HAVE_MEMORY_H 1 + +/* Defined if you have header */ #cmakedefine HAVE_DLFCN_H 1 +/* Defined if you have both and headers */ +#cmakedefine TIME_WITH_SYS_TIME 1 + +/* Defined if you have either or 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 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 header */ +#cmakedefine HAVE_SYS_SELECT_H 1 + +/* Defined if you have 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 header */ +#cmakedefine HAVE_LIBAUDIOIO 1 + +/* Defined if you have header */ +#cmakedefine HAVE_LIBMAS 1 + +/* Defined if you have Network Audio System (Nas) */ +#cmakedefine HAVE_LIBAUDIONAS 1 + +/* Defined if you have both and headers */ +#cmakedefine HAVE_SOUNDCARD_H 1 + +/* Defined if you have either or header */ +#cmakedefine HAVE_SYS_SOUNDCARD_H 1 + +/* Defined if you have 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 diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt new file mode 100644 index 0000000..b0bb74c --- /dev/null +++ b/doc/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory( man ) diff --git a/doc/man/CMakeLists.txt b/doc/man/CMakeLists.txt new file mode 100644 index 0000000..b647036 --- /dev/null +++ b/doc/man/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory( man3 ) diff --git a/doc/man/man3/CMakeLists.txt b/doc/man/man3/CMakeLists.txt new file mode 100644 index 0000000..fc204c3 --- /dev/null +++ b/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() + diff --git a/flow/gsl/gsl.3 b/doc/man/man3/gsl.3 similarity index 100% rename from flow/gsl/gsl.3 rename to doc/man/man3/gsl.3 diff --git a/flow/CMakeLists.txt b/flow/CMakeLists.txt index 48fb330..0839666 100644 --- a/flow/CMakeLists.txt +++ b/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 +) diff --git a/flow/audioiooss.cpp b/flow/audioiooss.cpp index 21ce41d..0108108 100644 --- a/flow/audioiooss.cpp +++ b/flow/audioiooss.cpp @@ -21,15 +21,16 @@ */ #ifdef HAVE_CONFIG_H - #include + #include "config.h" #endif +#if defined(HAVE_SOUNDCARD_H) +#include +#define COMPILE_AUDIOIO_OSS 1 +#endif #if defined(HAVE_SYS_SOUNDCARD_H) - #include - #define COMPILE_AUDIOIO_OSS 1 -#elif defined(HAVE_SOUNDCARD_H) - #include - #define COMPILE_AUDIOIO_OSS 1 +#include +#define COMPILE_AUDIOIO_OSS 1 #endif /** diff --git a/flow/copy of CMakeLists.txt b/flow/copy of CMakeLists.txt new file mode 100644 index 0000000..48fb330 --- /dev/null +++ b/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 +) diff --git a/flow/gsl/CMakeLists.txt b/flow/gsl/CMakeLists.txt index e8e9576..851d69a 100644 --- a/flow/gsl/CMakeLists.txt +++ b/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 - 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 - 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 ) @@ -147,9 +35,39 @@ set( ${target}_SRCS gsloscillator.c gslfilehash.c gslartsthreads.cpp ) + tde_add_library( ${target} STATIC_PIC - SOURCES ${${target}_SRCS} - LINK ${GLIB2_LIBRARIES} ${GTHREAD2_LIBRARIES} ${VORBISFILE_LIBRARIES} ${VORBIS_LIBRARIES} ${MAD_LIBRARIES} + + SOURCES + ${${target}_SRCS} + LINK + ${GLIB2_LIBRARIES} + ${GTHREAD2_LIBRARIES} + ${VORBISFILE_LIBRARIES} + ${VORBIS_LIBRARIES} + ${LIBOGG_LIBRARIES} + ${LIBVORBISENC_LIBRARIES} + ${MAD_LIBRARIES} + DESTINATION ${LIB_INSTALL_DIR} ) + +##### write configuration + +configure_file( gslconfig.h.cmake gslconfig.h @ONLY ) + + +##### 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 +) diff --git a/flow/gsl/gslconfig.h.in b/flow/gsl/gslconfig.h.cmake similarity index 100% rename from flow/gsl/gslconfig.h.in rename to flow/gsl/gslconfig.h.cmake diff --git a/mcop/dispatcher.cpp b/mcop/dispatcher.cpp index 580a268..fc3763d 100644 --- a/mcop/dispatcher.cpp +++ b/mcop/dispatcher.cpp @@ -20,7 +20,10 @@ */ -#include +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include "dispatcher.h" #include "delayedreturn.h" #include "startupmanager.h" @@ -43,14 +46,12 @@ #include #include -#if TIME_WITH_SYS_TIME -# include -# include -#elif HAVE_SYS_TIME_H -# include -#else -# include -#endif +#if defined(HAVE_SYS_TIME_H) +#include +#endif +#if defined(TIME_WITH_SYS_TIME) +#include +#endif /* Dispatcher private data class (to ensure binary compatibility) */ diff --git a/mcop/md5auth.cpp b/mcop/md5auth.cpp index 5278870..9811641 100644 --- a/mcop/md5auth.cpp +++ b/mcop/md5auth.cpp @@ -20,7 +20,9 @@ */ -#include +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif #include #include @@ -32,13 +34,11 @@ #include #include -#if TIME_WITH_SYS_TIME -# include -# include -#elif HAVE_SYS_TIME_H -# include -#else -# include +#if defined(HAVE_SYS_TIME_H) +#include +#endif +#if defined(TIME_WITH_SYS_TIME) +#include #endif #include "md5.h"