Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 1 | cmake_minimum_required(VERSION 3.8) |
| 2 | |
| 3 | project(aml_audio_hal |
| 4 | VERSION 1.0) |
| 5 | |
| 6 | include(GNUInstallDirs) |
| 7 | |
| 8 | add_subdirectory("libms12v2") |
| 9 | add_subdirectory("audio_hal/libaudioprocessing") |
| 10 | |
| 11 | add_library(spdifenc STATIC |
| 12 | utils/SPDIFEncoderAD.cpp |
| 13 | utils/spdifenc_wrap.cpp |
| 14 | ) |
| 15 | |
| 16 | target_include_directories(spdifenc PRIVATE |
| 17 | ./audio_hal |
| 18 | ./include |
| 19 | ./include/utils) |
| 20 | |
| 21 | target_compile_options(spdifenc PRIVATE -Wno-deprecated-declarations) |
| 22 | |
cheng tong | 12e5d13 | 2020-09-25 18:57:09 +0800 | [diff] [blame^] | 23 | option(USE_DTV "Compile with DTV option" OFF) |
Pradeep Sriram | d18aa61 | 2020-05-14 13:05:34 -0700 | [diff] [blame] | 24 | |
| 25 | if(USE_DTV) |
| 26 | list(APPEND DTV_FILES audio_hal/audio_dtv_ad.c) |
| 27 | list(APPEND DTV_FILES audio_hal/audio_hw_dtv.c) |
| 28 | list(APPEND DTV_INC $ENV{AML_AUDIO_HAL_STAGING_DIR}/usr/include/aml_dvb/am_adp) |
cheng tong | 12e5d13 | 2020-09-25 18:57:09 +0800 | [diff] [blame^] | 29 | list(APPEND DTV_LIBS -L$ENV{AML_AUDIO_HAL_STAGING_DIR}/usr/lib/aml_libs_nf -lamadec_hal -lam_adp ) |
cheng tong | 7177c1b | 2020-09-17 17:36:27 +0800 | [diff] [blame] | 30 | add_definitions(-DUSE_DTV) |
Pradeep Sriram | d18aa61 | 2020-05-14 13:05:34 -0700 | [diff] [blame] | 31 | endif() |
| 32 | |
Song Zhao | c23fabe | 2020-09-18 13:28:40 -0700 | [diff] [blame] | 33 | option(USE_EQ_DRC "Compile with EQ/DRC" OFF) |
| 34 | |
cheng tong | 12e5d13 | 2020-09-25 18:57:09 +0800 | [diff] [blame^] | 35 | if(USE_EQ_DRC) |
| 36 | list(APPEND EQ_DRC_FILES |
| 37 | amlogic_AQ_tools/audio_eq_drc_compensation.c |
| 38 | amlogic_AQ_tools/audio_eq_drc_parser.c |
| 39 | amlogic_AQ_tools/ini/dictionary.c |
| 40 | amlogic_AQ_tools/ini/iniparser.c) |
| 41 | endif() |
| 42 | |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 43 | ############################################# |
| 44 | # libaudio_hal |
| 45 | ############################################# |
| 46 | add_library(audio_hal SHARED |
| 47 | audio_hal/alsa_config_parameters.c |
| 48 | audio_hal/alsa_manager.c |
| 49 | audio_hal/aml_ac3_parser.c |
Tim Yao | 20c2bf6 | 2020-07-20 01:56:44 -0700 | [diff] [blame] | 50 | audio_hal/aml_audio_ac3parser.c |
| 51 | audio_hal/aml_audio_ac4parser.c |
| 52 | audio_hal/aml_audio_bitsparser.c |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 53 | audio_hal/aml_audio_delay.c |
| 54 | audio_hal/aml_audio_ease.c |
| 55 | audio_hal/amlAudioMixer.c |
Tim Yao | 20c2bf6 | 2020-07-20 01:56:44 -0700 | [diff] [blame] | 56 | audio_hal/aml_audio_ms12_bypass.c |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 57 | audio_hal/aml_audio_resample_manager.c |
| 58 | audio_hal/aml_audio_stream.c |
Tim Yao | 20c2bf6 | 2020-07-20 01:56:44 -0700 | [diff] [blame] | 59 | audio_hal/aml_audio_spdif_output.c |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 60 | audio_hal/aml_audio_timer.c |
| 61 | audio_hal/aml_avsync_tuning.c |
| 62 | audio_hal/aml_dca_dec_api.c |
| 63 | audio_hal/aml_dcv_dec_api.c |
| 64 | audio_hal/aml_hw_mixer.c |
| 65 | audio_hal/aml_resample_wrap.cpp |
| 66 | audio_hal/audio_android_resample_api.c |
| 67 | audio_hal/audio_data_process.c |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 68 | audio_hal/audio_format_parse.c |
| 69 | audio_hal/audio_hw.c |
Tim Yao | 20c2bf6 | 2020-07-20 01:56:44 -0700 | [diff] [blame] | 70 | audio_hal/audio_hw_insert_silence_data.c |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 71 | audio_hal/audio_hw_ms12.c |
| 72 | audio_hal/audio_hw_profile.c |
| 73 | audio_hal/audio_hwsync.c |
| 74 | audio_hal/audio_hw_utils.c |
| 75 | audio_hal/audio_port.c |
| 76 | audio_hal/audio_post_process.c |
| 77 | audio_hal/audio_route.c |
| 78 | audio_hal/audio_simple_resample_api.c |
| 79 | audio_hal/audio_virtual_buf.c |
| 80 | audio_hal/dolby_lib_api.c |
| 81 | audio_hal/hw_avsync.c |
| 82 | audio_hal/hw_avsync_callbacks.c |
| 83 | audio_hal/spdif_encoder_api.c |
| 84 | audio_hal/sub_mixing_factory.c |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 85 | utils/ac3_parser_utils.c |
| 86 | utils/alsa_device_parser.c |
| 87 | utils/aml_alsa_mixer.c |
| 88 | utils/aml_android_utils.c |
| 89 | utils/aml_audio_mixer.c |
| 90 | utils/aml_audio_resampler.c |
| 91 | utils/aml_buffer_provider.c |
| 92 | utils/aml_data_utils.c |
| 93 | utils/aml_dump_debug.c |
Tim Yao | 20c2bf6 | 2020-07-20 01:56:44 -0700 | [diff] [blame] | 94 | utils/aml_malloc_debug.c |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 95 | utils/aml_ringbuffer.c |
| 96 | utils/aml_volume_utils.c |
| 97 | utils/aml_configs/aml_conf_loader.c |
| 98 | utils/aml_configs/aml_conf_parser.c |
Tim Yao | 20c2bf6 | 2020-07-20 01:56:44 -0700 | [diff] [blame] | 99 | utils/earc_utils.c |
Pradeep Sriram | d18aa61 | 2020-05-14 13:05:34 -0700 | [diff] [blame] | 100 | ${DTV_FILES} |
cheng tong | 12e5d13 | 2020-09-25 18:57:09 +0800 | [diff] [blame^] | 101 | ${EQ_DRC_FILES} |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 102 | ) |
| 103 | |
Tim Yao | 20c2bf6 | 2020-07-20 01:56:44 -0700 | [diff] [blame] | 104 | add_definitions(-DNDEBUG -DREPLACE_OUTPUT_BUFFER_WITH_CALLBACK) |
Tim Yao | 4bff678 | 2019-12-26 18:31:40 -0800 | [diff] [blame] | 105 | |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 106 | set(PREBUILD_STATIC_LIBS |
| 107 | ${CMAKE_SOURCE_DIR}/amlogic_AQ_tools/lib_aml_ng.a |
| 108 | ${CMAKE_SOURCE_DIR}/amlogic_AQ_tools/Amlogic_DRC_Param_Generator.a |
| 109 | ${CMAKE_SOURCE_DIR}/amlogic_AQ_tools/Amlogic_EQ_Param_Generator.a) |
| 110 | |
| 111 | set_target_properties(audio_hal PROPERTIES |
| 112 | VERSION ${PROJECT_VERSION} |
| 113 | SOVERSION 1) |
| 114 | |
| 115 | target_include_directories(audio_hal PRIVATE |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 116 | ./include |
| 117 | ./include/utils |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 118 | ./libms12v2/include) |
| 119 | |
Song Zhao | c23fabe | 2020-09-18 13:28:40 -0700 | [diff] [blame] | 120 | target_compile_options(audio_hal PRIVATE -D_GNU_SOURCE -DTV_AUDIO_OUTPUT -Wno-deprecated-declarations) |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 121 | |
| 122 | target_link_libraries(audio_hal |
cheng tong | 5ae9269 | 2020-08-28 14:13:39 +0800 | [diff] [blame] | 123 | audioprocessing spdifenc ms12v2 ${PREBUILD_STATIC_LIBS} |
Song Zhao | c23fabe | 2020-09-18 13:28:40 -0700 | [diff] [blame] | 124 | -lcutils -lamaudioutils -ltinyalsa -llog -lexpat -lpthread -ldl -lstdc++ -Wl,-z,defs) |
| 125 | |
| 126 | if(USE_EQ_DRC) |
| 127 | target_include_directories(audio_hal PRIVATE |
| 128 | ./include/amlogic_AQ_tools |
| 129 | ./amlogic_AQ_tools |
| 130 | ./amlogic_AQ_tools/ini) |
| 131 | target_compile_options(audio_hal PRIVATE -DAML_EQ_DRC) |
Song Zhao | c23fabe | 2020-09-18 13:28:40 -0700 | [diff] [blame] | 132 | endif() |
| 133 | |
| 134 | if(USE_DTV) |
| 135 | target_include_directories(audio_hal PRIVATE ${DTV_INC}) |
| 136 | target_link_libraries(audio_hal ${DTV_LIBS} -lamavutils) |
| 137 | endif() |
Tim Yao | e004da0 | 2019-12-03 11:59:05 -0800 | [diff] [blame] | 138 | |
| 139 | install(TARGETS audio_hal |
| 140 | LIBRARY DESTINATION "lib") |
| 141 | |
| 142 | install(FILES audio_hal/mixer_paths.xml |
| 143 | DESTINATION /etc) |
| 144 | |
cheng tong | 5ae9269 | 2020-08-28 14:13:39 +0800 | [diff] [blame] | 145 | install(PROGRAMS amlogic_AQ_tools/Amlogic_DRC_Param_Generator amlogic_AQ_tools/Amlogic_EQ_Param_Generator |
| 146 | DESTINATION /usr/bin) |
| 147 | |