blob: 082138275d1794f9334ae8c0b65959858921c26c [file] [log] [blame]
Tim Yaoe004da02019-12-03 11:59:05 -08001cmake_minimum_required(VERSION 3.8)
2
3project(aml_audio_hal
4 VERSION 1.0)
5
6include(GNUInstallDirs)
7
8add_subdirectory("libms12v2")
9add_subdirectory("audio_hal/libaudioprocessing")
10
11add_library(spdifenc STATIC
12 utils/SPDIFEncoderAD.cpp
13 utils/spdifenc_wrap.cpp
14)
15
16target_include_directories(spdifenc PRIVATE
17 ./audio_hal
18 ./include
19 ./include/utils)
20
21target_compile_options(spdifenc PRIVATE -Wno-deprecated-declarations)
22
Tim Yao20c2bf62020-07-20 01:56:44 -070023option(USE_DTV "Compile with DTV option" OFF)
Pradeep Sriramd18aa612020-05-14 13:05:34 -070024
25if(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)
29 list(APPEND DTV_LIBS -L$ENV{AML_AUDIO_HAL_STAGING_DIR}/usr/lib/aml_libs_nf -lamadec -lam_adp )
30endif()
31
Song Zhaoc23fabe2020-09-18 13:28:40 -070032option(USE_EQ_DRC "Compile with EQ/DRC" OFF)
33
Tim Yaoe004da02019-12-03 11:59:05 -080034#############################################
35# libaudio_hal
36#############################################
37add_library(audio_hal SHARED
38 audio_hal/alsa_config_parameters.c
39 audio_hal/alsa_manager.c
40 audio_hal/aml_ac3_parser.c
Tim Yao20c2bf62020-07-20 01:56:44 -070041 audio_hal/aml_audio_ac3parser.c
42 audio_hal/aml_audio_ac4parser.c
43 audio_hal/aml_audio_bitsparser.c
Tim Yaoe004da02019-12-03 11:59:05 -080044 audio_hal/aml_audio_delay.c
45 audio_hal/aml_audio_ease.c
46 audio_hal/amlAudioMixer.c
Tim Yao20c2bf62020-07-20 01:56:44 -070047 audio_hal/aml_audio_ms12_bypass.c
Tim Yaoe004da02019-12-03 11:59:05 -080048 audio_hal/aml_audio_resample_manager.c
49 audio_hal/aml_audio_stream.c
Tim Yao20c2bf62020-07-20 01:56:44 -070050 audio_hal/aml_audio_spdif_output.c
Tim Yaoe004da02019-12-03 11:59:05 -080051 audio_hal/aml_audio_timer.c
52 audio_hal/aml_avsync_tuning.c
53 audio_hal/aml_dca_dec_api.c
54 audio_hal/aml_dcv_dec_api.c
55 audio_hal/aml_hw_mixer.c
56 audio_hal/aml_resample_wrap.cpp
57 audio_hal/audio_android_resample_api.c
58 audio_hal/audio_data_process.c
Tim Yaoe004da02019-12-03 11:59:05 -080059 audio_hal/audio_format_parse.c
60 audio_hal/audio_hw.c
Tim Yao20c2bf62020-07-20 01:56:44 -070061 audio_hal/audio_hw_insert_silence_data.c
Tim Yaoe004da02019-12-03 11:59:05 -080062 audio_hal/audio_hw_ms12.c
63 audio_hal/audio_hw_profile.c
64 audio_hal/audio_hwsync.c
65 audio_hal/audio_hw_utils.c
66 audio_hal/audio_port.c
67 audio_hal/audio_post_process.c
68 audio_hal/audio_route.c
69 audio_hal/audio_simple_resample_api.c
70 audio_hal/audio_virtual_buf.c
71 audio_hal/dolby_lib_api.c
72 audio_hal/hw_avsync.c
73 audio_hal/hw_avsync_callbacks.c
74 audio_hal/spdif_encoder_api.c
75 audio_hal/sub_mixing_factory.c
Tim Yaoe004da02019-12-03 11:59:05 -080076 utils/ac3_parser_utils.c
77 utils/alsa_device_parser.c
78 utils/aml_alsa_mixer.c
79 utils/aml_android_utils.c
80 utils/aml_audio_mixer.c
81 utils/aml_audio_resampler.c
82 utils/aml_buffer_provider.c
83 utils/aml_data_utils.c
84 utils/aml_dump_debug.c
Tim Yao20c2bf62020-07-20 01:56:44 -070085 utils/aml_malloc_debug.c
Tim Yaoe004da02019-12-03 11:59:05 -080086 utils/aml_ringbuffer.c
87 utils/aml_volume_utils.c
88 utils/aml_configs/aml_conf_loader.c
89 utils/aml_configs/aml_conf_parser.c
Tim Yao20c2bf62020-07-20 01:56:44 -070090 utils/earc_utils.c
Pradeep Sriramd18aa612020-05-14 13:05:34 -070091 ${DTV_FILES}
Tim Yaoe004da02019-12-03 11:59:05 -080092)
93
Tim Yao20c2bf62020-07-20 01:56:44 -070094add_definitions(-DNDEBUG -DREPLACE_OUTPUT_BUFFER_WITH_CALLBACK)
Tim Yao4bff6782019-12-26 18:31:40 -080095
Tim Yaoe004da02019-12-03 11:59:05 -080096set(PREBUILD_STATIC_LIBS
97 ${CMAKE_SOURCE_DIR}/amlogic_AQ_tools/lib_aml_ng.a
98 ${CMAKE_SOURCE_DIR}/amlogic_AQ_tools/Amlogic_DRC_Param_Generator.a
99 ${CMAKE_SOURCE_DIR}/amlogic_AQ_tools/Amlogic_EQ_Param_Generator.a)
100
101set_target_properties(audio_hal PROPERTIES
102 VERSION ${PROJECT_VERSION}
103 SOVERSION 1)
104
105target_include_directories(audio_hal PRIVATE
Tim Yaoe004da02019-12-03 11:59:05 -0800106 ./include
107 ./include/utils
Tim Yaoe004da02019-12-03 11:59:05 -0800108 ./libms12v2/include)
109
Song Zhaoc23fabe2020-09-18 13:28:40 -0700110target_compile_options(audio_hal PRIVATE -D_GNU_SOURCE -DTV_AUDIO_OUTPUT -Wno-deprecated-declarations)
Tim Yaoe004da02019-12-03 11:59:05 -0800111
112target_link_libraries(audio_hal
cheng tong5ae92692020-08-28 14:13:39 +0800113 audioprocessing spdifenc ms12v2 ${PREBUILD_STATIC_LIBS}
Song Zhaoc23fabe2020-09-18 13:28:40 -0700114 -lcutils -lamaudioutils -ltinyalsa -llog -lexpat -lpthread -ldl -lstdc++ -Wl,-z,defs)
115
116if(USE_EQ_DRC)
117 target_include_directories(audio_hal PRIVATE
118 ./include/amlogic_AQ_tools
119 ./amlogic_AQ_tools
120 ./amlogic_AQ_tools/ini)
121 target_compile_options(audio_hal PRIVATE -DAML_EQ_DRC)
122 add_library(audio_hal SHARED
123 amlogic_AQ_tools/audio_eq_drc_compensation.c
124 amlogic_AQ_tools/audio_eq_drc_parser.c
125 amlogic_AQ_tools/ini/dictionary.c
126 amlogic_AQ_tools/ini/iniparser.c)
127endif()
128
129if(USE_DTV)
130 target_include_directories(audio_hal PRIVATE ${DTV_INC})
131 target_link_libraries(audio_hal ${DTV_LIBS} -lamavutils)
132endif()
Tim Yaoe004da02019-12-03 11:59:05 -0800133
134install(TARGETS audio_hal
135 LIBRARY DESTINATION "lib")
136
137install(FILES audio_hal/mixer_paths.xml
138 DESTINATION /etc)
139
cheng tong5ae92692020-08-28 14:13:39 +0800140install(PROGRAMS amlogic_AQ_tools/Amlogic_DRC_Param_Generator amlogic_AQ_tools/Amlogic_EQ_Param_Generator
141 DESTINATION /usr/bin)
142