4
4
# LICENSE: https://github.com/markus-perl/ffmpeg-build-script/blob/master/LICENSE
5
5
6
6
PROGNAME=$( basename " $0 " )
7
- VERSION=1.21.rc4
7
+ VERSION=1.21.rc5
8
8
CWD=$( pwd)
9
9
PACKAGES=" $CWD /packages"
10
10
WORKSPACE=" $CWD /workspace"
@@ -14,6 +14,14 @@ LDEXEFLAGS=""
14
14
EXTRALIBS=" -ldl -lpthread -lm -lz"
15
15
CONFIGURE_OPTIONS=()
16
16
17
+ is_mac () {
18
+ if [[ " $OSTYPE " == " darwin" * ]]; then
19
+ return 0
20
+ fi
21
+
22
+ return 1
23
+ }
24
+
17
25
# read by gcc and cmake
18
26
# https://cmake.org/cmake/help/latest/variable/CMAKE_OSX_DEPLOYMENT_TARGET.html
19
27
export MACOSX_DEPLOYMENT_TARGET=10.11
@@ -24,7 +32,7 @@ if [[ -n "$NUMJOBS" ]]; then
24
32
MJOBS=" $NUMJOBS "
25
33
elif [[ -f /proc/cpuinfo ]]; then
26
34
MJOBS=$( grep -c processor /proc/cpuinfo)
27
- elif [[ " $OSTYPE " == " darwin " * ]] ; then
35
+ elif is_mac ; then
28
36
MJOBS=$( sysctl -n machdep.cpu.thread_count)
29
37
CONFIGURE_OPTIONS=(" --enable-videotoolbox" )
30
38
else
@@ -148,6 +156,13 @@ library_exists () {
148
156
return 0
149
157
}
150
158
159
+ set_mac_install_name () {
160
+ local name=" ${2:- $1 } "
161
+ if is_mac; then
162
+ execute install_name_tool -id " ${WORKSPACE} /lib/$name " $1
163
+ fi
164
+ }
165
+
151
166
build_done () {
152
167
touch " $PACKAGES /$1 .done"
153
168
}
@@ -190,7 +205,7 @@ while (( $# > 0 )); do
190
205
cleanup
191
206
fi
192
207
if [[ " $1 " == " --full-static" || " $1 " =~ ' f' ]]; then
193
- if [[ " $OSTYPE " == " darwin " * ]] ; then
208
+ if is_mac ; then
194
209
echo " Error: A full static binary can only be build on Linux."
195
210
exit 1
196
211
fi
@@ -324,9 +339,7 @@ if build "x265"; then
324
339
execute cmake -DCMAKE_INSTALL_PREFIX=" ${WORKSPACE} " -DENABLE_SHARED=on -DBUILD_SHARED_LIBS=on ../../source
325
340
execute make -j $MJOBS
326
341
327
- if [[ " $OSTYPE " == " darwin" * ]]; then
328
- execute install_name_tool -id " ${WORKSPACE} /lib/libx265.198.dylib" libx265.198.dylib
329
- fi
342
+ set_mac_install_name " libx265.198.dylib"
330
343
331
344
execute make install
332
345
@@ -343,7 +356,7 @@ if build "libvpx"; then
343
356
344
357
EXTRA_FLAG=" "
345
358
346
- if [[ " $OSTYPE " == " darwin " * ]] ; then
359
+ if is_mac ; then
347
360
echo " Applying Darwin patch"
348
361
sed " s/,--version-script//g" build/make/Makefile > build/make/Makefile.patched
349
362
sed " s/-Wl,--no-undefined -Wl,-soname/-Wl,-undefined,error -Wl,-install_name/g" build/make/Makefile.patched > build/make/Makefile
@@ -354,9 +367,7 @@ if build "libvpx"; then
354
367
execute ./configure --prefix=" ${WORKSPACE} " --disable-unit-tests --enable-shared --disable-static --as=yasm " ${EXTRA_FLAG} "
355
368
execute make -j $MJOBS
356
369
357
- if [[ " $OSTYPE " == " darwin" * ]]; then
358
- execute install_name_tool -id " ${WORKSPACE} /lib/libvpx.6.dylib" libvpx.6.dylib
359
- fi
370
+ set_mac_install_name " libvpx.6.dylib"
360
371
361
372
execute make install
362
373
@@ -389,9 +400,7 @@ if build "vid_stab"; then
389
400
execute make
390
401
execute make install
391
402
392
- if [[ " $OSTYPE " == " darwin" * ]]; then
393
- execute install_name_tool -id " ${WORKSPACE} /lib/libvidstab.1.1.dylib" " ${WORKSPACE} /lib/libvidstab.1.1.dylib"
394
- fi
403
+ set_mac_install_name " ${WORKSPACE} /lib/libvidstab.1.1.dylib" " libvidstab.1.1.dylib"
395
404
396
405
build_done " vid_stab"
397
406
fi
@@ -415,9 +424,7 @@ if build "av1"; then
415
424
execute cmake -DBUILD_SHARED_LIBS=1 -DENABLE_TESTS=0 -DCMAKE_INSTALL_PREFIX=" ${WORKSPACE} " -DCMAKE_INSTALL_LIBDIR=lib " $PACKAGES " /av1
416
425
execute make -j $MJOBS
417
426
418
- if [[ " $OSTYPE " == " darwin" * ]]; then
419
- execute install_name_tool -id " ${WORKSPACE} /lib/libaom.2.dylib" libaom.2.0.0.dylib
420
- fi
427
+ set_mac_install_name " libaom.2.0.0.dylib" " libaom.2.dylib"
421
428
422
429
execute make install
423
430
@@ -597,9 +604,7 @@ if build "snappy"; then
597
604
execute cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=" ${WORKSPACE} " -DBUILD_SHARED_LIBS:bool=on
598
605
execute make -j $MJOBS
599
606
600
- if [[ " $OSTYPE " == " darwin" * ]]; then
601
- execute install_name_tool -id " ${WORKSPACE} /lib/libsnappy.1.dylib" libsnappy.1.1.8.dylib
602
- fi
607
+ set_mac_install_name " libsnappy.1.1.8.dylib" " libsnappy.1.dylib"
603
608
604
609
execute make install
605
610
@@ -680,7 +685,7 @@ execute make -j $MJOBS
680
685
execute make install
681
686
682
687
INSTALL_FOLDER=" /usr/bin"
683
- if [[ " $OSTYPE " == " darwin " * ]] ; then
688
+ if is_mac ; then
684
689
INSTALL_FOLDER=" /usr/local/bin"
685
690
fi
686
691
@@ -723,7 +728,7 @@ elif [[ ! "$SKIPINSTALL" == "yes" ]]; then
723
728
fi
724
729
725
730
cd $CWD
726
- if [[ " $OSTYPE " == " darwin " * ]] ; then
731
+ if is_mac ; then
727
732
node copy_mac_libs.js
728
733
cd " $WORKSPACE /mac"
729
734
execute zip --symlinks -r " ffmpeg-ffprobe-shared-darwin-x86_64.${VERSION} .zip" *
0 commit comments