@@ -33,6 +33,7 @@ env_assert "XC_BUILD_SOURCE"
3333env_assert " XC_BUILD_PREFIX"
3434env_assert " XCRUN_SDK_PATH"
3535env_assert " XC_THREAD"
36+ env_assert " PKG_CONFIG_LIBDIR"
3637echo " XC_DEBUG:$XC_DEBUG "
3738echo " ===check env end==="
3839
@@ -87,214 +88,114 @@ CFG_FLAGS="$CFG_FLAGS --pkg-config-flags=--static"
8788LDFLAGS=" $C_FLAGS "
8889FFMPEG_DEP_LIBS=
8990
90- echo " ----------------------"
91- echo " [*] check OpenSSL"
92-
9391# https://ffmpeg.org/doxygen/4.1/md_LICENSE.html
9492# https://www.openssl.org/source/license.html
9593
96- MY_PKG_CONFIG_LIBDIR=' '
97- # with openssl
98- # use pkg-config fix ff4.0--ijk0.8.8--20210426--001 use openssl 1_1_1m occur can't find openssl error.
99- if [[ -f " ${XC_PRODUCT_ROOT} /openssl-$_XC_ARCH /lib/pkgconfig/openssl.pc" ]]; then
100- CFG_FLAGS=" $CFG_FLAGS --enable-nonfree --enable-openssl"
101- if [[ -n " $MY_PKG_CONFIG_LIBDIR " ]]; then
102- MY_PKG_CONFIG_LIBDIR=" $MY_PKG_CONFIG_LIBDIR :"
103- fi
104- MY_PKG_CONFIG_LIBDIR=" ${MY_PKG_CONFIG_LIBDIR}${XC_PRODUCT_ROOT} /openssl-$_XC_ARCH /lib/pkgconfig"
105-
106- echo " [*] --enable-openssl"
107- elif [[ -f " ${XC_PRODUCT_ROOT} /universal/openssl/lib/pkgconfig/openssl.pc" ]]; then
108- CFG_FLAGS=" $CFG_FLAGS --enable-nonfree --enable-openssl"
109- if [[ -n " $MY_PKG_CONFIG_LIBDIR " ]]; then
110- MY_PKG_CONFIG_LIBDIR=" $MY_PKG_CONFIG_LIBDIR :"
111- fi
112- MY_PKG_CONFIG_LIBDIR=" ${MY_PKG_CONFIG_LIBDIR}${XC_PRODUCT_ROOT} /universal/openssl/lib/pkgconfig"
113-
114- echo " [*] --enable-openssl"
115- else
116- echo " [*] --disable-openssl"
117- fi
94+ # pkg-config --variable pc_path pkg-config
95+ # pkg-config --libs dav1d
96+ # pkg-config --cflags --libs libbluray
11897
11998echo " ----------------------"
12099echo " [*] check x264"
121100
122- # with x264
123- if [[ -f " ${XC_PRODUCT_ROOT} /x264-$_XC_ARCH /lib/pkgconfig/x264.pc" ]]; then
124- # libx264 is gpl and --enable-gpl is not specified.
125- CFG_FLAGS=" $CFG_FLAGS --enable-gpl --enable-libx264"
126-
127- if [[ -n " $MY_PKG_CONFIG_LIBDIR " ]]; then
128- MY_PKG_CONFIG_LIBDIR=" $MY_PKG_CONFIG_LIBDIR :"
129- fi
130- MY_PKG_CONFIG_LIBDIR=" ${MY_PKG_CONFIG_LIBDIR}${XC_PRODUCT_ROOT} /x264-$_XC_ARCH /lib/pkgconfig"
101+ pkg-config --libs x264 --silence-errors > /dev/null && enable_x264=1
131102
103+ if [[ $enable_x264 ]]; then
132104 echo " [*] --enable-libx264"
105+ CFG_FLAGS=" $CFG_FLAGS --enable-gpl --enable-libx264"
133106else
134107 echo " [*] --disable-libx264"
135108fi
136109
137110echo " ----------------------"
138111echo " [*] check fdk-aac"
139112
140- # with fdk-aac
141- if [[ -f " ${XC_PRODUCT_ROOT} /fdk-aac-$_XC_ARCH /lib/pkgconfig/fdk-aac.pc" ]]; then
142-
143- CFG_FLAGS=" $CFG_FLAGS --enable-nonfree --enable-libfdk-aac"
144-
145- if [[ -n " $MY_PKG_CONFIG_LIBDIR " ]]; then
146- MY_PKG_CONFIG_LIBDIR=" $MY_PKG_CONFIG_LIBDIR :"
147- fi
148- MY_PKG_CONFIG_LIBDIR=" ${MY_PKG_CONFIG_LIBDIR}${XC_PRODUCT_ROOT} /fdk-aac-$_XC_ARCH /lib/pkgconfig"
113+ pkg-config --libs fdk-aac --silence-errors > /dev/null && enable_aac=1
149114
115+ if [[ $enable_aac ]]; then
150116 echo " [*] --enable-libfdk-aac"
117+ CFG_FLAGS=" $CFG_FLAGS --enable-nonfree --enable-libfdk-aac"
151118else
152119 echo " [*] --disable-libfdk-aac"
153120fi
154121
155122echo " ----------------------"
156123echo " [*] check mp3lame"
157124
158- # with lame
159- if [[ -f " ${XC_PRODUCT_ROOT} /lame-$_XC_ARCH /lib/libmp3lame.a" ]]; then
160- # libmp3lame is gpl and --enable-gpl is not specified.
161- CFG_FLAGS=" $CFG_FLAGS --enable-gpl --enable-libmp3lame"
125+ pkg-config --libs mp3lame --silence-errors > /dev/null && enable_lame=1
162126
163- FDKAAC_C_FLAGS=" -I${XC_PRODUCT_ROOT} /lame-$_XC_ARCH /include"
164- FDKAAC_LD_FLAGS=" -L${XC_PRODUCT_ROOT} /lame-$_XC_ARCH /lib -lmp3lame"
165-
166- C_FLAGS=" $C_FLAGS $FDKAAC_C_FLAGS "
167- FFMPEG_DEP_LIBS=" $FFMPEG_DEP_LIBS $FDKAAC_LD_FLAGS "
127+ if [[ $enable_lame ]]; then
168128 echo " [*] --enable-libmp3lame"
129+ CFG_FLAGS=" $CFG_FLAGS --enable-gpl --enable-libmp3lame"
169130else
170131 echo " [*] --disable-libmp3lame"
171132fi
172133
173134echo " ----------------------"
174- echo " [*] check opus"
135+ echo " [*] check openssl"
136+ # use pkg-config fix ff4.0--ijk0.8.8--20210426--001 use openssl 1_1_1m occur can't find openssl error.
175137
176- # with opus
177- if [[ -f " ${XC_PRODUCT_ROOT} /opus-$_XC_ARCH /lib/pkgconfig/opus.pc" ]]; then
138+ pkg-config --libs openssl --silence-errors > /dev/null && enable_openssl=1
178139
179- CFG_FLAGS=" $CFG_FLAGS --enable-libopus --enable-decoder=opus"
140+ if [[ $enable_openssl ]]; then
141+ echo " [*] --enable-openssl"
142+ CFG_FLAGS=" $CFG_FLAGS --enable-nonfree --enable-openssl"
143+ else
144+ echo " [*] --disable-openssl"
145+ fi
180146
181- if [[ -n " $MY_PKG_CONFIG_LIBDIR " ]]; then
182- MY_PKG_CONFIG_LIBDIR=" $MY_PKG_CONFIG_LIBDIR :"
183- fi
184- MY_PKG_CONFIG_LIBDIR=" ${MY_PKG_CONFIG_LIBDIR}${XC_PRODUCT_ROOT} /opus-$_XC_ARCH /lib/pkgconfig"
147+ echo " ----------------------"
148+ echo " [*] check opus"
185149
186- echo " [*] --enable-libopus --enable-decoder=opus"
187- elif [[ -f " ${XC_PRODUCT_ROOT} /universal/opus/lib/pkgconfig/opus.pc" ]]; then
150+ pkg-config --libs opus --silence-errors > /dev/null && enable_opus=1
188151
152+ if [[ $enable_opus ]]; then
153+ echo " [*] --enable-libopus"
189154 CFG_FLAGS=" $CFG_FLAGS --enable-libopus --enable-decoder=opus"
190-
191- if [[ -n " $MY_PKG_CONFIG_LIBDIR " ]]; then
192- MY_PKG_CONFIG_LIBDIR=" $MY_PKG_CONFIG_LIBDIR :"
193- fi
194- MY_PKG_CONFIG_LIBDIR=" ${MY_PKG_CONFIG_LIBDIR}${XC_PRODUCT_ROOT} /universal/opus/lib/pkgconfig"
195-
196- echo " [*] --enable-libopus --enable-decoder=opus"
197155else
198156 echo " [*] --disable-libopus"
199157fi
200158
201159echo " ----------------------"
202160echo " [*] check dav1d"
203-
204161# FFmpeg 4.2 支持AV1、AVS2等格式
205162# dav1d由VideoLAN,VLC和FFmpeg联合开发,项目由AOM联盟赞助,和libaom相比,dav1d性能普遍提升100%,最高提升400%
206- if [[ -f " ${XC_PRODUCT_ROOT} /dav1d-$_XC_ARCH /lib/pkgconfig/dav1d.pc" ]]; then
207-
208- CFG_FLAGS=" $CFG_FLAGS --enable-libdav1d --enable-decoder=libdav1d"
209-
210- if [[ -n " $MY_PKG_CONFIG_LIBDIR " ]]; then
211- MY_PKG_CONFIG_LIBDIR=" $MY_PKG_CONFIG_LIBDIR :"
212- fi
213- MY_PKG_CONFIG_LIBDIR=" ${MY_PKG_CONFIG_LIBDIR}${XC_PRODUCT_ROOT} /dav1d-$_XC_ARCH /lib/pkgconfig"
163+ # just wait videotoolbox support decode av1
164+ # CFG_FLAGS="$CFG_FLAGS --enable-decoder=av1"
214165
215- echo " [*] --enable-libdav1d --enable-decoder=libdav1d"
216- elif [[ -f " ${XC_PRODUCT_ROOT} /universal/dav1d/lib/pkgconfig/dav1d.pc" ]]; then
166+ pkg-config --libs dav1d --silence-errors > /dev/null && enable_dav1d=1
217167
168+ if [[ $enable_dav1d ]]; then
169+ echo " [*] --enable-libdav1d"
218170 CFG_FLAGS=" $CFG_FLAGS --enable-libdav1d --enable-decoder=libdav1d"
219-
220- if [[ -n " $MY_PKG_CONFIG_LIBDIR " ]]; then
221- MY_PKG_CONFIG_LIBDIR=" $MY_PKG_CONFIG_LIBDIR :"
222- fi
223- MY_PKG_CONFIG_LIBDIR=" ${MY_PKG_CONFIG_LIBDIR}${XC_PRODUCT_ROOT} /universal/dav1d/lib/pkgconfig"
224-
225- echo " [*] --enable-libdav1d --enable-decoder=libdav1d"
226171else
227- echo " [*] --disable-libdav1d --disable-decoder=libdav1d "
172+ echo " [*] --disable-libdav1d"
228173fi
229174
230- # just wait videotoolbox support decode av1
231- # CFG_FLAGS="$CFG_FLAGS --enable-decoder=av1"
232-
233175echo " ----------------------"
234176echo " [*] check bluray"
235177
236- # with bluray
237- if [[ -f " ${XC_PRODUCT_ROOT} /bluray-$_XC_ARCH /lib/pkgconfig/libbluray.pc" ]]; then
178+ pkg-config --libs libbluray --silence-errors > /dev/null && enable_bluray=1
238179
239- # --enable-libxml2
180+ if [[ $enable_bluray ]]; then
181+ echo " [*] --enable-libbluray"
240182 CFG_FLAGS=" $CFG_FLAGS --enable-libbluray --enable-protocol=bluray"
241-
242- if [[ -n " $MY_PKG_CONFIG_LIBDIR " ]]; then
243- MY_PKG_CONFIG_LIBDIR=" $MY_PKG_CONFIG_LIBDIR :"
244- fi
245- MY_PKG_CONFIG_LIBDIR=" ${MY_PKG_CONFIG_LIBDIR}${XC_PRODUCT_ROOT} /bluray-$_XC_ARCH /lib/pkgconfig"
246-
247- echo " [*] --enable-libbluray --enable-protocol=bluray"
248- elif [[ -f " ${XC_PRODUCT_ROOT} /universal/bluray/lib/pkgconfig/libbluray.pc" ]]; then
249- # --enable-libxml2
250- CFG_FLAGS=" $CFG_FLAGS --enable-libbluray --enable-protocol=bluray"
251-
252- if [[ -n " $MY_PKG_CONFIG_LIBDIR " ]]; then
253- MY_PKG_CONFIG_LIBDIR=" $MY_PKG_CONFIG_LIBDIR :"
254- fi
255- MY_PKG_CONFIG_LIBDIR=" ${MY_PKG_CONFIG_LIBDIR}${XC_PRODUCT_ROOT} /universal/bluray/lib/pkgconfig"
256-
257- echo " [*] --enable-libbluray --enable-protocol=bluray"
258183else
259- echo " [*] --disable-libbluray --disable-protocol=bluray "
184+ echo " [*] --disable-libbluray"
260185fi
261186
262187echo " ----------------------"
263188echo " [*] check dvdread"
264189
265- if [[ -f " ${XC_PRODUCT_ROOT} /dvdread-$_XC_ARCH /lib/pkgconfig/dvdread.pc" || -f " ${XC_PRODUCT_ROOT} /universal/dvdread/lib/pkgconfig/dvdread.pc" ]]; then
266-
267- CFG_FLAGS=" $CFG_FLAGS --enable-libdvdread"
268-
269- if [[ -n " $MY_PKG_CONFIG_LIBDIR " ]]; then
270- MY_PKG_CONFIG_LIBDIR=" $MY_PKG_CONFIG_LIBDIR :"
271- fi
272-
273- if [[ -f " ${XC_PRODUCT_ROOT} /dvdread-$_XC_ARCH /lib/pkgconfig/dvdread.pc" ]]; then
274- MY_PKG_CONFIG_LIBDIR=" ${MY_PKG_CONFIG_LIBDIR}${XC_PRODUCT_ROOT} /dvdread-$_XC_ARCH /lib/pkgconfig"
275- else
276- MY_PKG_CONFIG_LIBDIR=" ${MY_PKG_CONFIG_LIBDIR}${XC_PRODUCT_ROOT} /universal/dvdread/lib/pkgconfig"
277- fi
190+ pkg-config --libs dvdread --silence-errors > /dev/null && enable_dvdread=1
278191
192+ if [[ $enable_dvdread ]]; then
279193 echo " [*] --enable-libdvdread"
194+ CFG_FLAGS=" $CFG_FLAGS --enable-libdvdread"
280195else
281196 echo " [*] --disable-libdvdread"
282197fi
283198
284-
285- echo " ----------------------"
286- echo " [*] PKG_CONFIG_LIBDIR"
287-
288- if [[ -n " $MY_PKG_CONFIG_LIBDIR " ]]; then
289- export PKG_CONFIG_LIBDIR=" $MY_PKG_CONFIG_LIBDIR "
290- fi
291-
292- echo " export PKG_CONFIG_LIBDIR=${PKG_CONFIG_LIBDIR} "
293-
294- # pkg-config --variable pc_path pkg-config
295- # pkg-config --libs dav1d
296- # pkg-config --cflags --libs libbluray
297-
298199echo " ----------------------"
299200echo " [*] configure"
300201
0 commit comments