1111# express or implied warranties, other than those that are expressly stated
1212# in the License.
1313
14- project (' Intel(R) ST DPDK sample app' , ' c' , default_options : [' c_std=gnu11' , ' buildtype=release' ], version : ' 0.1' ,)
14+ project (' Intel(R) ST DPDK sample app' , ' c' , default_options : [' c_std=gnu11' , ' buildtype=release' ], version : ' 22.06' ,)
15+
16+ # allow experimental api
17+ add_global_arguments (' -DALLOW_EXPERIMENTAL_API' , language : ' c' )
18+
19+ #detect os
1520exec_env = host_machine .system()
1621set_variable (' is_windows' , exec_env == ' windows' )
17- #allow experimental api
18- add_global_arguments ( ' -DALLOW_EXPERIMENTAL_API ' , language : ' c' )
22+
23+ cc = meson .get_compiler( ' c' )
1924
2025libst_dpdk = dependency (' libst_dpdk' , required : true )
26+ libm = cc.find_library (' m' , required : true )
27+ libpthread = cc.find_library (' pthread' , required : true )
2128libjson_c = dependency (' json-c' , required : true )
2229if not is_windows
23- libpcap = dependency (' pcap' , required :true )
30+ libpcap = dependency (' pcap' , required : true )
31+ endif
32+ libsdl2 = dependency (' sdl2' , required : true )
33+ libsdl2_ttf = dependency (' SDL2_ttf' , required : false )
34+ if libsdl2_ttf.found()
35+ add_global_arguments (' -DAPP_HAS_SDL2_TTF' , language : ' c' )
36+ else
37+ message (' SDL2_ttf not found' )
2438endif
25- libsdl2 = dependency (' sdl2' , required :true )
26-
2739libopenssl = dependency (' openssl' , required : true )
2840
29- #add source file
41+ # add source file
3042subdir (' src' )
3143subdir (' tools' )
3244subdir (' sample' )
@@ -37,123 +49,169 @@ app_c_args = []
3749#enable warning as error
3850app_c_args += [' -Werror' ]
3951app_c_args += [' -Wall' ]
52+
4053if is_windows
41- libpcap = []
42- mingw_root_dir = ' c:\mingw64'
43- app_c_args += [' -DWINDOWSENV' ]
44- app_c_args += [' -Wformat=0' ]
45- app_c_args += [' -D__USE_MINGW_ANSI_STDIO' ]
46- mingw_include_dir = mingw_root_dir + ''' \include'''
47- windows_include_dir = ' ..\..\lib\windows'
48- app_c_args += [' -I' + mingw_include_dir]
49- app_c_args += [' -I' + windows_include_dir]
50-
51- libdpdkcflags = run_command (' pkg-config' , ' --cflags' , ' libdpdk' )
52- libjsonccflags = run_command (' pkg-config' , ' --cflags' , ' json-c' )
53- libsdl2cflags = run_command (' pkg-config' , ' --cflags' , ' sdl2' )
54- libdpdklinkflags = run_command (' pkg-config' , ' --static' , ' --libs' , ' libdpdk' )
55-
56- app_c_args += [libdpdkcflags.stdout().strip().split()]
57- app_c_args += [libjsonccflags.stdout().strip().split()]
58- app_c_args += [libsdl2cflags.stdout().strip().split()]
54+ libpcap = []
55+ mingw_root_dir = ' c:\mingw64'
56+ app_c_args += [' -DWINDOWSENV' ,' -D_WIN32_WINNT=0x0600' ]
57+ app_c_args += [' -Wformat=0' ]
58+ app_c_args += [' -D__USE_MINGW_ANSI_STDIO' ]
59+ mingw_include_dir = mingw_root_dir + ''' \include'''
60+ windows_include_dir = ' ..\..\lib\windows'
61+ app_c_args += [' -I' + mingw_include_dir]
62+ app_c_args += [' -I' + windows_include_dir]
63+
64+ libdpdkcflags = run_command (' pkg-config' , ' --cflags' , ' libdpdk' )
65+ libjsonccflags = run_command (' pkg-config' , ' --cflags' , ' json-c' )
66+ libsdl2cflags = run_command (' pkg-config' , ' --cflags' , ' sdl2' )
67+ libsdl2_ttfcflags = run_command (' pkg-config' , ' --cflags' , ' sdl2-ttf' )
68+ libdpdklinkflags = run_command (' pkg-config' , ' --static' , ' --libs' , ' libdpdk' )
69+ libopensslcflags = run_command (' pkg-config' , ' --cflags' , ' openssl' )
70+
71+ app_c_args += [libdpdkcflags.stdout().strip().split()]
72+ app_c_args += [libjsonccflags.stdout().strip().split()]
73+ app_c_args += [libsdl2cflags.stdout().strip().split()]
74+ app_c_args += [libsdl2_ttfcflags.stdout().strip().split()]
75+ app_c_args += [libopensslcflags.stdout().strip().split()]
5976endif
6077
61- #simd build option, enable sse4.2 default, todo: do we need AVX2/AVX512 for app ?
78+ # simd build option, enable sse4.2 default, todo: do we need AVX2/AVX512 for app ?
6279app_c_args += [' -msse4.2' ]
6380
6481app_ld_args = []
6582
66- app_ld_args += [' -pthread' ,' -lm' ]
67-
6883if is_windows
69- app_ld_args += [' -lmingw32' ,' -lws2_32' ,' -lDbghelp' ,' -lSetupapi' ,' -ldinput8' , ' -ldxguid' , ' -ldxerr8' , ' -lwinmm' , ' -limm32' ,' -lversion' ,' -lwpcap' ,' -lPacket' ,' -lSDL2' ,' -lSDL2Main' ,' -lmman' ,' -ljson-c' ]
70- app_ld_args += [' -Wl,--whole-archive' ]
71- app_ld_args += [libdpdklinkflags.stdout().strip().split()]
72- app_ld_args += [' -Wl,--no-whole-archive' ]
84+ app_ld_args += [' -lmingw32' ,' -lws2_32' ,' -lDbghelp' ,' -lSetupapi' ,' -ldinput8' , ' -ldxguid' , ' -ldxerr8' , ' -lwinmm' , ' -limm32' ,' -lversion' ,' -lwpcap' ,' -lPacket' ,' -lSDL2' ,' -lSDL2Main' ,' -lmman' ,' -ljson-c' , ' -ldl ' ]
85+ app_ld_args += [' -Wl,--whole-archive' ]
86+ app_ld_args += [libdpdklinkflags.stdout().strip().split()]
87+ app_ld_args += [' -Wl,--no-whole-archive' ]
7388endif
7489
75- #build executable
90+ # build executable
7691executable (' RxTxApp' , sources,
7792 c_args : app_c_args,
7893 link_args : app_ld_args,
79- dependencies : [libst_dpdk, libjson_c, libpcap, libsdl2]
94+ dependencies : [libst_dpdk, libjson_c, libpcap, libsdl2, libsdl2_ttf, libm, libpthread ]
8095)
8196
8297executable (' ConvApp' , conv_sources,
8398 c_args : app_c_args,
8499 link_args : app_ld_args,
100+ dependencies : [libst_dpdk, ]
85101)
86102
87- executable (' PerfRfc4175ToYuv422p10le ' , perf_rfc4175_to_yuv422p10le_sources ,
103+ executable (' PerfRfc4175422be10ToP10Le ' , perf_rfc4175_422be10_to_p10le_sources ,
88104 c_args : app_c_args,
89105 link_args : app_ld_args,
90- dependencies : [libst_dpdk]
106+ dependencies : [libst_dpdk, libpthread]
107+ )
108+
109+ executable (' PerfP10LeToRfc4175422be10' , perf_p10le_to_rfc4175_422be10_sources,
110+ c_args : app_c_args,
111+ link_args : app_ld_args,
112+ dependencies : [libst_dpdk, libpthread]
91113)
92114
93115executable (' PerfRfc4175422be10ToLe' , perf_rfc4175_422be10_to_le_sources,
94116 c_args : app_c_args,
95117 link_args : app_ld_args,
96- dependencies : [libst_dpdk]
118+ dependencies : [libst_dpdk, libpthread]
119+ )
120+
121+ executable (' PerfRfc4175422le10ToBe' , perf_rfc4175_422le10_to_be_sources,
122+ c_args : app_c_args,
123+ link_args : app_ld_args,
124+ dependencies : [libst_dpdk, libpthread]
97125)
98126
99127executable (' PerfRfc4175422be10ToLe8' , perf_rfc4175_422be10_to_le8_sources,
100128 c_args : app_c_args,
101129 link_args : app_ld_args,
102- dependencies : [libst_dpdk]
130+ dependencies : [libst_dpdk, libpthread ]
103131)
104132
105133executable (' PerfRfc4175422be10ToV210' , perf_rfc4175_422be10_to_v210_sources,
106134 c_args : app_c_args,
107135 link_args : app_ld_args,
108- dependencies : [libst_dpdk]
136+ dependencies : [libst_dpdk, libpthread]
137+ )
138+
139+ executable (' PerfV210ToRfc4175422be10' , perf_v210_to_rfc4175_422be10_sources,
140+ c_args : app_c_args,
141+ link_args : app_ld_args,
142+ dependencies : [libst_dpdk, libpthread]
109143)
110144
111145executable (' TxVideoSample' , video_tx_sample_sources,
112146 c_args : app_c_args,
113147 link_args : app_ld_args,
114- dependencies : [libst_dpdk]
148+ dependencies : [libst_dpdk, libpthread ]
115149)
116150
117151executable (' TxRtpVideoSample' , video_tx_rtp_sample_sources,
118152 c_args : app_c_args,
119153 link_args : app_ld_args,
120- dependencies : [libst_dpdk]
154+ dependencies : [libst_dpdk, libpthread ]
121155)
122156
123157executable (' RxVideoSample' , video_rx_sample_sources,
124158 c_args : app_c_args,
125159 link_args : app_ld_args,
126- dependencies : [libst_dpdk]
160+ dependencies : [libst_dpdk, libpthread ]
127161)
128162
129163executable (' RxRtpVideoSample' , video_rx_rtp_sample_sources,
130164 c_args : app_c_args,
131165 link_args : app_ld_args,
132- dependencies : [libst_dpdk]
166+ dependencies : [libst_dpdk, libpthread ]
133167)
134168
135169executable (' TxSt22VideoSample' , video_tx_st22_sample_sources,
136170 c_args : app_c_args,
137171 link_args : app_ld_args,
138- dependencies : [libst_dpdk]
172+ dependencies : [libst_dpdk, libpthread ]
139173)
140174
141175executable (' RxSt22VideoSample' , video_rx_st22_sample_sources,
142176 c_args : app_c_args,
143177 link_args : app_ld_args,
144- dependencies : [libst_dpdk]
178+ dependencies : [libst_dpdk, libpthread]
179+ )
180+
181+ executable (' TxSt22PipelineSample' , pipeline_tx_st22_sample_sources,
182+ c_args : app_c_args,
183+ link_args : app_ld_args,
184+ dependencies : [libst_dpdk, libpthread]
185+ )
186+
187+ executable (' RxSt22PipelineSample' , pipeline_rx_st22_sample_sources,
188+ c_args : app_c_args,
189+ link_args : app_ld_args,
190+ dependencies : [libst_dpdk, libpthread]
145191)
146192
147193executable (' RxSliceVideoSample' , video_rx_slice_sample_sources,
148194 c_args : app_c_args,
149195 link_args : app_ld_args,
150- dependencies : [libst_dpdk]
196+ dependencies : [libst_dpdk, libpthread ]
151197)
152198
153199executable (' TxSliceVideoSample' , video_tx_slice_sample_sources,
154200 c_args : app_c_args,
155201 link_args : app_ld_args,
156- dependencies : [libst_dpdk]
202+ dependencies : [libst_dpdk, libpthread]
203+ )
204+
205+ executable (' RxSt20TxSt22Fwd' , rx_st20_tx_st22_fwd_sources,
206+ c_args : app_c_args,
207+ link_args : app_ld_args,
208+ dependencies : [libst_dpdk, libpthread]
209+ )
210+
211+ executable (' RxSt20TxSt20Fwd' , rx_st20_tx_st20_fwd_sources,
212+ c_args : app_c_args,
213+ link_args : app_ld_args,
214+ dependencies : [libst_dpdk, libpthread]
157215)
158216
159217executable (' DmaSample' , dma_sample_sources,
@@ -166,4 +224,4 @@ executable('PerfDma', perf_dma_sources,
166224 c_args : app_c_args,
167225 link_args : app_ld_args,
168226 dependencies : [libst_dpdk]
169- )
227+ )
0 commit comments