generate shared libraries on apple platforms

This commit is contained in:
Taner Sener 2021-10-28 12:22:29 +01:00
parent bab2b67f30
commit 2afdbd88af
60 changed files with 4715 additions and 3826 deletions

2
apple/.gitignore vendored
View File

@ -2,9 +2,11 @@
/Makefile /Makefile
/config.status /config.status
/configure.tmp /configure.tmp
/configure~
/.deps/ /.deps/
/.libs/ /.libs/
*.trs *.trs
/unittests /unittests
/test-driver /test-driver
/config.log /config.log
/*.tmp

View File

@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.16.3 from Makefile.am. # Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994-2020 Free Software Foundation, Inc. # Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -154,12 +154,9 @@ am__define_uniq_tagged_files = \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)` done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
DIST_SUBDIRS = $(SUBDIRS) DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in ar-lib compile config.guess \ am__DIST_COMMON = $(srcdir)/Makefile.in README.md ar-lib compile \
config.sub install-sh ltmain.sh missing config.guess config.sub install-sh ltmain.sh missing
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION) distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir) top_distdir = $(distdir)
@ -215,8 +212,9 @@ AWK = @AWK@
CC = @CC@ CC = @CC@
CCDEPMODE = @CCDEPMODE@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@ CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@ CPPFLAGS = @CPPFLAGS@
CSCOPE = @CSCOPE@
CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@ CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@ DEFS = @DEFS@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
@ -227,8 +225,9 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
ETAGS = @ETAGS@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
FFMPEG_LIBS = @FFMPEG_LIBS@ FFMPEG_FRAMEWORKS = @FFMPEG_FRAMEWORKS@
FGREP = @FGREP@ FGREP = @FGREP@
GREP = @GREP@ GREP = @GREP@
INSTALL = @INSTALL@ INSTALL = @INSTALL@
@ -317,6 +316,7 @@ pdfdir = @pdfdir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
psdir = @psdir@ psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@ sbindir = @sbindir@
sharedstatedir = @sharedstatedir@ sharedstatedir = @sharedstatedir@
srcdir = @srcdir@ srcdir = @srcdir@
@ -478,7 +478,6 @@ cscopelist-am: $(am__tagged_files)
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
distdir: $(BUILT_SOURCES) distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am $(MAKE) $(AM_MAKEFLAGS) distdir-am

72
apple/aclocal.m4 vendored
View File

@ -1,6 +1,6 @@
# generated automatically by aclocal 1.16.3 -*- Autoconf -*- # generated automatically by aclocal 1.16.5 -*- Autoconf -*-
# Copyright (C) 1996-2020 Free Software Foundation, Inc. # Copyright (C) 1996-2021 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -14,13 +14,13 @@
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
m4_ifndef([AC_AUTOCONF_VERSION], m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],,
[m4_warning([this file was generated for autoconf 2.69. [m4_warning([this file was generated for autoconf 2.71.
You have another version of autoconf. It may work, but is not guaranteed to. You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely. If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])]) To do so, use the procedure documented by the package, typically 'autoreconf'.])])
# Copyright (C) 2002-2020 Free Software Foundation, Inc. # Copyright (C) 2002-2021 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -35,7 +35,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.16' [am__api_version='1.16'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro. dnl require some minimum version. Point them to the right macro.
m4_if([$1], [1.16.3], [], m4_if([$1], [1.16.5], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
]) ])
@ -51,12 +51,12 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.16.3])dnl [AM_AUTOMAKE_VERSION([1.16.5])dnl
m4_ifndef([AC_AUTOCONF_VERSION], m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# Copyright (C) 2011-2020 Free Software Foundation, Inc. # Copyright (C) 2011-2021 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -118,7 +118,7 @@ AC_SUBST([AR])dnl
# AM_AUX_DIR_EXPAND -*- Autoconf -*- # AM_AUX_DIR_EXPAND -*- Autoconf -*-
# Copyright (C) 2001-2020 Free Software Foundation, Inc. # Copyright (C) 2001-2021 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -170,7 +170,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
# AM_CONDITIONAL -*- Autoconf -*- # AM_CONDITIONAL -*- Autoconf -*-
# Copyright (C) 1997-2020 Free Software Foundation, Inc. # Copyright (C) 1997-2021 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -201,7 +201,7 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]]) Usually this means the macro was only invoked conditionally.]])
fi])]) fi])])
# Copyright (C) 1999-2020 Free Software Foundation, Inc. # Copyright (C) 1999-2021 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -392,7 +392,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
# Generate code to set up dependency tracking. -*- Autoconf -*- # Generate code to set up dependency tracking. -*- Autoconf -*-
# Copyright (C) 1999-2020 Free Software Foundation, Inc. # Copyright (C) 1999-2021 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -460,7 +460,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# Do all the work for Automake. -*- Autoconf -*- # Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996-2020 Free Software Foundation, Inc. # Copyright (C) 1996-2021 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -488,6 +488,10 @@ m4_defn([AC_PROG_CC])
# release and drop the old call support. # release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE], AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_PREREQ([2.65])dnl [AC_PREREQ([2.65])dnl
m4_ifdef([_$0_ALREADY_INIT],
[m4_fatal([$0 expanded multiple times
]m4_defn([_$0_ALREADY_INIT]))],
[m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about. dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@ -524,7 +528,7 @@ m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
[_AM_SET_OPTIONS([$1])dnl [_AM_SET_OPTIONS([$1])dnl
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
m4_if( m4_if(
m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]),
[ok:ok],, [ok:ok],,
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
@ -576,6 +580,20 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
[m4_define([AC_PROG_OBJCXX], [m4_define([AC_PROG_OBJCXX],
m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
]) ])
# Variables for tags utilities; see am/tags.am
if test -z "$CTAGS"; then
CTAGS=ctags
fi
AC_SUBST([CTAGS])
if test -z "$ETAGS"; then
ETAGS=etags
fi
AC_SUBST([ETAGS])
if test -z "$CSCOPE"; then
CSCOPE=cscope
fi
AC_SUBST([CSCOPE])
AC_REQUIRE([AM_SILENT_RULES])dnl AC_REQUIRE([AM_SILENT_RULES])dnl
dnl The testsuite driver may need to know about EXEEXT, so add the dnl The testsuite driver may need to know about EXEEXT, so add the
dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
@ -657,7 +675,7 @@ for _am_header in $config_headers :; do
done done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
# Copyright (C) 2001-2020 Free Software Foundation, Inc. # Copyright (C) 2001-2021 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -678,7 +696,7 @@ if test x"${install_sh+set}" != xset; then
fi fi
AC_SUBST([install_sh])]) AC_SUBST([install_sh])])
# Copyright (C) 2003-2020 Free Software Foundation, Inc. # Copyright (C) 2003-2021 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -700,7 +718,7 @@ AC_SUBST([am__leading_dot])])
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
# From Jim Meyering # From Jim Meyering
# Copyright (C) 1996-2020 Free Software Foundation, Inc. # Copyright (C) 1996-2021 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -735,7 +753,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
# Check to see how 'make' treats includes. -*- Autoconf -*- # Check to see how 'make' treats includes. -*- Autoconf -*-
# Copyright (C) 2001-2020 Free Software Foundation, Inc. # Copyright (C) 2001-2021 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -778,7 +796,7 @@ AC_SUBST([am__quote])])
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
# Copyright (C) 1997-2020 Free Software Foundation, Inc. # Copyright (C) 1997-2021 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -812,7 +830,7 @@ fi
# Helper functions for option handling. -*- Autoconf -*- # Helper functions for option handling. -*- Autoconf -*-
# Copyright (C) 2001-2020 Free Software Foundation, Inc. # Copyright (C) 2001-2021 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -841,7 +859,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION], AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
# Copyright (C) 1999-2020 Free Software Foundation, Inc. # Copyright (C) 1999-2021 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -888,7 +906,7 @@ AC_LANG_POP([C])])
# For backward compatibility. # For backward compatibility.
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
# Copyright (C) 2001-2020 Free Software Foundation, Inc. # Copyright (C) 2001-2021 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -907,7 +925,7 @@ AC_DEFUN([AM_RUN_LOG],
# Check to make sure that the build environment is sane. -*- Autoconf -*- # Check to make sure that the build environment is sane. -*- Autoconf -*-
# Copyright (C) 1996-2020 Free Software Foundation, Inc. # Copyright (C) 1996-2021 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -988,7 +1006,7 @@ AC_CONFIG_COMMANDS_PRE(
rm -f conftest.file rm -f conftest.file
]) ])
# Copyright (C) 2009-2020 Free Software Foundation, Inc. # Copyright (C) 2009-2021 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -1048,7 +1066,7 @@ AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
]) ])
# Copyright (C) 2001-2020 Free Software Foundation, Inc. # Copyright (C) 2001-2021 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -1076,7 +1094,7 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])]) AC_SUBST([INSTALL_STRIP_PROGRAM])])
# Copyright (C) 2006-2020 Free Software Foundation, Inc. # Copyright (C) 2006-2021 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -1095,7 +1113,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*- # Check how to create a tarball. -*- Autoconf -*-
# Copyright (C) 2004-2020 Free Software Foundation, Inc. # Copyright (C) 2004-2021 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,

View File

@ -4,7 +4,7 @@
me=ar-lib me=ar-lib
scriptversion=2019-07-04.01; # UTC scriptversion=2019-07-04.01; # UTC
# Copyright (C) 2010-2020 Free Software Foundation, Inc. # Copyright (C) 2010-2021 Free Software Foundation, Inc.
# Written by Peter Rosin <peda@lysator.liu.se>. # Written by Peter Rosin <peda@lysator.liu.se>.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify

View File

@ -3,7 +3,7 @@
scriptversion=2018-03-07.03; # UTC scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1999-2020 Free Software Foundation, Inc. # Copyright (C) 1999-2021 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>. # Written by Tom Tromey <tromey@cygnus.com>.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify

1143
apple/config.guess vendored

File diff suppressed because it is too large Load Diff

91
apple/config.sub vendored
View File

@ -1,8 +1,10 @@
#! /bin/sh #! /bin/sh
# Configuration validation subroutine script. # Configuration validation subroutine script.
# Copyright 1992-2020 Free Software Foundation, Inc. # Copyright 1992-2021 Free Software Foundation, Inc.
timestamp='2020-08-17' # shellcheck disable=SC2006,SC2268 # see below for rationale
timestamp='2021-08-14'
# This file is free software; you can redistribute it and/or modify it # This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by # under the terms of the GNU General Public License as published by
@ -33,7 +35,7 @@ timestamp='2020-08-17'
# Otherwise, we print the canonical config type on stdout and succeed. # Otherwise, we print the canonical config type on stdout and succeed.
# You can get the latest version of this script from: # You can get the latest version of this script from:
# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
# This file is supposed to be the same for all GNU packages # This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases # and recognize all the CPU types, system types and aliases
@ -50,6 +52,13 @@ timestamp='2020-08-17'
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification. # It is wrong to echo any other type of specification.
# The "shellcheck disable" line above the timestamp inhibits complaints
# about features and limitations of the classic Bourne shell that were
# superseded or lifted in POSIX. However, this script identifies a wide
# variety of pre-POSIX systems that do not have POSIX shells at all, and
# even some reasonably current systems (Solaris 10 as case-in-point) still
# have a pre-POSIX /bin/sh.
me=`echo "$0" | sed -e 's,.*/,,'` me=`echo "$0" | sed -e 's,.*/,,'`
usage="\ usage="\
@ -67,7 +76,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\ version="\
GNU config.sub ($timestamp) GNU config.sub ($timestamp)
Copyright 1992-2020 Free Software Foundation, Inc. Copyright 1992-2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@ -112,9 +121,11 @@ esac
# Split fields of configuration type # Split fields of configuration type
# shellcheck disable=SC2162 # shellcheck disable=SC2162
saved_IFS=$IFS
IFS="-" read field1 field2 field3 field4 <<EOF IFS="-" read field1 field2 field3 field4 <<EOF
$1 $1
EOF EOF
IFS=$saved_IFS
# Separate into logical components for further validation # Separate into logical components for further validation
case $1 in case $1 in
@ -163,6 +174,10 @@ case $1 in
basic_machine=$field1 basic_machine=$field1
basic_os=$field2 basic_os=$field2
;; ;;
zephyr*)
basic_machine=$field1-unknown
basic_os=$field2
;;
# Manufacturers # Manufacturers
dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
| att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
@ -922,9 +937,11 @@ case $basic_machine in
*-*) *-*)
# shellcheck disable=SC2162 # shellcheck disable=SC2162
saved_IFS=$IFS
IFS="-" read cpu vendor <<EOF IFS="-" read cpu vendor <<EOF
$basic_machine $basic_machine
EOF EOF
IFS=$saved_IFS
;; ;;
# We use `pc' rather than `unknown' # We use `pc' rather than `unknown'
# because (1) that's what they normally are, and # because (1) that's what they normally are, and
@ -1165,7 +1182,7 @@ case $cpu-$vendor in
| alphapca5[67] | alpha64pca5[67] \ | alphapca5[67] | alpha64pca5[67] \
| am33_2.0 \ | am33_2.0 \
| amdgcn \ | amdgcn \
| arc | arceb \ | arc | arceb | arc32 | arc64 \
| arm | arm[lb]e | arme[lb] | armv* \ | arm | arm[lb]e | arme[lb] | armv* \
| avr | avr32 \ | avr | avr32 \
| asmjs \ | asmjs \
@ -1185,6 +1202,7 @@ case $cpu-$vendor in
| k1om \ | k1om \
| le32 | le64 \ | le32 | le64 \
| lm32 \ | lm32 \
| loongarch32 | loongarch64 | loongarchx32 \
| m32c | m32r | m32rle \ | m32c | m32r | m32rle \
| m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \ | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
| m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
@ -1203,9 +1221,13 @@ case $cpu-$vendor in
| mips64vr5900 | mips64vr5900el \ | mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \ | mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \ | mipsisa32r2 | mipsisa32r2el \
| mipsisa32r3 | mipsisa32r3el \
| mipsisa32r5 | mipsisa32r5el \
| mipsisa32r6 | mipsisa32r6el \ | mipsisa32r6 | mipsisa32r6el \
| mipsisa64 | mipsisa64el \ | mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \ | mipsisa64r2 | mipsisa64r2el \
| mipsisa64r3 | mipsisa64r3el \
| mipsisa64r5 | mipsisa64r5el \
| mipsisa64r6 | mipsisa64r6el \ | mipsisa64r6 | mipsisa64r6el \
| mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \ | mipsisa64sr71k | mipsisa64sr71kel \
@ -1229,7 +1251,7 @@ case $cpu-$vendor in
| powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
| pru \ | pru \
| pyramid \ | pyramid \
| riscv | riscv32 | riscv64 \ | riscv | riscv32 | riscv32be | riscv64 | riscv64be \
| rl78 | romp | rs6000 | rx \ | rl78 | romp | rs6000 | rx \
| s390 | s390x \ | s390 | s390x \
| score \ | score \
@ -1241,6 +1263,7 @@ case $cpu-$vendor in
| sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
| spu \ | spu \
| tahoe \ | tahoe \
| thumbv7* \
| tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
| tron \ | tron \
| ubicom32 \ | ubicom32 \
@ -1286,26 +1309,32 @@ then
case $basic_os in case $basic_os in
gnu/linux*) gnu/linux*)
kernel=linux kernel=linux
os=`echo $basic_os | sed -e 's|gnu/linux|gnu|'` os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'`
;;
os2-emx)
kernel=os2
os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'`
;; ;;
nto-qnx*) nto-qnx*)
kernel=nto kernel=nto
os=`echo $basic_os | sed -e 's|nto-qnx|qnx|'` os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'`
;; ;;
*-*) *-*)
# shellcheck disable=SC2162 # shellcheck disable=SC2162
saved_IFS=$IFS
IFS="-" read kernel os <<EOF IFS="-" read kernel os <<EOF
$basic_os $basic_os
EOF EOF
IFS=$saved_IFS
;; ;;
# Default OS when just kernel was specified # Default OS when just kernel was specified
nto*) nto*)
kernel=nto kernel=nto
os=`echo $basic_os | sed -e 's|nto|qnx|'` os=`echo "$basic_os" | sed -e 's|nto|qnx|'`
;; ;;
linux*) linux*)
kernel=linux kernel=linux
os=`echo $basic_os | sed -e 's|linux|gnu|'` os=`echo "$basic_os" | sed -e 's|linux|gnu|'`
;; ;;
*) *)
kernel= kernel=
@ -1326,7 +1355,7 @@ case $os in
os=cnk os=cnk
;; ;;
solaris1 | solaris1.*) solaris1 | solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'` os=`echo "$os" | sed -e 's|solaris1|sunos4|'`
;; ;;
solaris) solaris)
os=solaris2 os=solaris2
@ -1355,7 +1384,7 @@ case $os in
os=sco3.2v4 os=sco3.2v4
;; ;;
sco3.2.[4-9]*) sco3.2.[4-9]*)
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` os=`echo "$os" | sed -e 's/sco3.2./sco3.2v/'`
;; ;;
sco*v* | scout) sco*v* | scout)
# Don't match below # Don't match below
@ -1367,13 +1396,7 @@ case $os in
os=psos os=psos
;; ;;
qnx*) qnx*)
case $cpu in os=qnx
x86 | i*86)
;;
*)
os=nto-$os
;;
esac
;; ;;
hiux*) hiux*)
os=hiuxwe2 os=hiuxwe2
@ -1437,7 +1460,7 @@ case $os in
;; ;;
# Preserve the version number of sinix5. # Preserve the version number of sinix5.
sinix5.*) sinix5.*)
os=`echo $os | sed -e 's|sinix|sysv|'` os=`echo "$os" | sed -e 's|sinix|sysv|'`
;; ;;
sinix*) sinix*)
os=sysv4 os=sysv4
@ -1683,11 +1706,14 @@ fi
# Now, validate our (potentially fixed-up) OS. # Now, validate our (potentially fixed-up) OS.
case $os in case $os in
# Sometimes we do "kernel-abi", so those need to count as OSes. # Sometimes we do "kernel-libc", so those need to count as OSes.
musl* | newlib* | uclibc*) musl* | newlib* | relibc* | uclibc*)
;; ;;
# Likewise for "kernel-libc" # Likewise for "kernel-abi"
eabi | eabihf | gnueabi | gnueabihf) eabi* | gnueabi*)
;;
# VxWorks passes extra cpu info in the 4th filed.
simlinux | simwindows | spe)
;; ;;
# Now accept the basic system types. # Now accept the basic system types.
# The portable systems comes first. # The portable systems comes first.
@ -1704,12 +1730,12 @@ case $os in
| nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
| clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
| mirbsd* | netbsd* | dicos* | openedition* | ose* \ | mirbsd* | netbsd* | dicos* | openedition* | ose* \
| bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \ | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \
| ekkobsd* | freebsd* | riscix* | lynxos* | os400* \ | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
| bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
| ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
| udi* | lites* | ieee* | go32* | aux* | hcos* \ | udi* | lites* | ieee* | go32* | aux* | hcos* \
| chorusrdb* | cegcc* | glidix* \ | chorusrdb* | cegcc* | glidix* | serenity* \
| cygwin* | msys* | pe* | moss* | proelf* | rtems* \ | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
| midipix* | mingw32* | mingw64* | mint* \ | midipix* | mingw32* | mingw64* | mint* \
| uxpv* | beos* | mpeix* | udk* | moxiebox* \ | uxpv* | beos* | mpeix* | udk* | moxiebox* \
@ -1722,7 +1748,7 @@ case $os in
| skyos* | haiku* | rdos* | toppers* | drops* | es* \ | skyos* | haiku* | rdos* | toppers* | drops* | es* \
| onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
| midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
| nsk* | powerunix* | genode* | zvmoe* ) | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr*)
;; ;;
# This one is extra strict with allowed versions # This one is extra strict with allowed versions
sco3.2v2 | sco3.2v[4-9]* | sco5v6*) sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
@ -1739,9 +1765,12 @@ esac
# As a final step for OS-related things, validate the OS-kernel combination # As a final step for OS-related things, validate the OS-kernel combination
# (given a valid OS), if there is a kernel. # (given a valid OS), if there is a kernel.
case $kernel-$os in case $kernel-$os in
linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* | linux-musl* | linux-uclibc* ) linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \
| linux-musl* | linux-relibc* | linux-uclibc* )
;; ;;
-dietlibc* | -newlib* | -musl* | -uclibc* ) uclinux-uclibc* )
;;
-dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* )
# These are just libc implementations, not actual OSes, and thus # These are just libc implementations, not actual OSes, and thus
# require a kernel. # require a kernel.
echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
@ -1749,8 +1778,12 @@ case $kernel-$os in
;; ;;
kfreebsd*-gnu* | kopensolaris*-gnu*) kfreebsd*-gnu* | kopensolaris*-gnu*)
;; ;;
vxworks-simlinux | vxworks-simwindows | vxworks-spe)
;;
nto-qnx*) nto-qnx*)
;; ;;
os2-emx)
;;
*-eabi* | *-gnueabi*) *-eabi* | *-gnueabi*)
;; ;;
-*) -*)

6147
apple/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,8 @@
# ffmpeg-kit 4.4 configure.ac # ffmpeg-kit 4.5 configure.ac
AC_INIT([ffmpeg-kit], [4.4], [https://github.com/tanersener/ffmpeg-kit/issues/new]) AC_INIT([ffmpeg-kit], [4.5], [https://github.com/tanersener/ffmpeg-kit/issues/new])
AC_CONFIG_SRCDIR([src/FFmpegKit.m])
AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([src/FFmpegKit.m])
AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects]) AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
AM_MAINTAINER_MODE AM_MAINTAINER_MODE
@ -24,8 +24,8 @@ AM_PROG_AR
AC_PROG_OBJC AC_PROG_OBJC
CFLAGS="$cflags_bckup" CFLAGS="$cflags_bckup"
FFMPEG_LIBS="-lavcodec -lavfilter -lavformat -lavutil -lswscale -lswresample" FFMPEG_FRAMEWORKS="-framework libavcodec -framework libavfilter -framework libavformat -framework libavutil -framework libswscale -framework libswresample"
AC_SUBST(FFMPEG_LIBS) AC_SUBST(FFMPEG_FRAMEWORKS)
LT_INIT LT_INIT
@ -58,7 +58,6 @@ AC_TYPE_UINT8_T
# Checks for library functions. # Checks for library functions.
AC_CHECK_FUNCS([dup2 floor memmove memset select strchr strcspn strerror strrchr strstr strtol malloc strcpy strlen vsnprintf]) AC_CHECK_FUNCS([dup2 floor memmove memset select strchr strcspn strerror strrchr strstr strtol malloc strcpy strlen vsnprintf])
AC_CONFIG_FILES([Makefile AC_CONFIG_FILES([Makefile src/Makefile])
src/Makefile])
AC_OUTPUT AC_OUTPUT

View File

@ -3,7 +3,7 @@
scriptversion=2018-03-07.03; # UTC scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1999-2020 Free Software Foundation, Inc. # Copyright (C) 1999-2021 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by

View File

@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Generated automatically by config.status (ffmpeg-kit) 4.4 # Generated automatically by config.status (ffmpeg-kit) 4.5
# Libtool was configured on host mera.local: # Libtool was configured on host MiRA.local:
# NOTE: Changes made to this file will be lost: look at ltmain.sh. # NOTE: Changes made to this file will be lost: look at ltmain.sh.
# Provide generalized library-building support services. # Provide generalized library-building support services.
@ -42,10 +42,10 @@ macro_version=2.4.6
macro_revision=2.4.6 macro_revision=2.4.6
# Whether or not to build shared libraries. # Whether or not to build shared libraries.
build_libtool_libs=no build_libtool_libs=yes
# Whether or not to build static libraries. # Whether or not to build static libraries.
build_old_libs=yes build_old_libs=no
# What type of objects to build. # What type of objects to build.
pic_mode=yes pic_mode=yes
@ -66,14 +66,14 @@ ECHO="printf %s\\n"
PATH_SEPARATOR=":" PATH_SEPARATOR=":"
# The host system. # The host system.
host_alias=x86_64-ios-darwin host_alias=arm64-ios-darwin
host=x86_64-ios-darwin host=aarch64-ios-darwin
host_os=darwin host_os=darwin
# The build system. # The build system.
build_alias= build_alias=
build=x86_64-apple-darwin18.5.0 build=aarch64-apple-darwin20.6.0
build_os=darwin18.5.0 build_os=darwin20.6.0
# A sed program that does not truncate output. # A sed program that does not truncate output.
SED="/usr/bin/sed" SED="/usr/bin/sed"
@ -91,13 +91,13 @@ EGREP="/usr/bin/grep -E"
FGREP="/usr/bin/grep -F" FGREP="/usr/bin/grep -F"
# A BSD- or MS-compatible name lister. # A BSD- or MS-compatible name lister.
NM="nm" NM="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm"
# Whether we need soft or hard links. # Whether we need soft or hard links.
LN_S="ln -s" LN_S="ln -s"
# What is the maximum length of a command? # What is the maximum length of a command?
max_cmd_len=196608 max_cmd_len=786432
# Object file suffix (normally "o"). # Object file suffix (normally "o").
objext=o objext=o
@ -136,25 +136,25 @@ file_magic_glob=""
want_nocaseglob="no" want_nocaseglob="no"
# DLL creation program. # DLL creation program.
DLLTOOL="dlltool" DLLTOOL="false"
# Command to associate shared and link libraries. # Command to associate shared and link libraries.
sharedlib_from_linklib_cmd="printf %s\\n" sharedlib_from_linklib_cmd="printf %s\\n"
# The archiver. # The archiver.
AR="ar" AR="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar"
# Flags to create an archive. # Flags to create an archive.
AR_FLAGS="cru" AR_FLAGS="cru"
# How to feed a file listing to the archiver. # How to feed a file listing to the archiver.
archiver_list_spec="@" archiver_list_spec=""
# A symbol stripping program. # A symbol stripping program.
STRIP="strip" STRIP="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip"
# Commands used to install an old-style archive. # Commands used to install an old-style archive.
RANLIB="ranlib" RANLIB="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib"
old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$tool_oldlib" old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$tool_oldlib"
old_postuninstall_cmds="" old_postuninstall_cmds=""
@ -165,22 +165,22 @@ lock_old_archive_extraction=yes
LTCC="clang" LTCC="clang"
# LTCC compiler flags. # LTCC compiler flags.
LTCFLAGS="-arch x86_64 -target x86_64-ios-darwin -march=x86-64 -msse4.2 -mpopcnt -m64 -mtune=intel -DFFMPEG_KIT_X86_64 -std=c99 -Wno-unused-function -Wall -Wno-deprecated-declarations -Wno-pointer-sign -Wno-switch -Wno-unused-result -Wno-unused-variable -DPIC -fobjc-arc -fstrict-aliasing -DIOS -DFFMPEG_KIT_BUILD_DATE=20190403 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.2.sdk -O2 -Wno-ignored-optimization-argument -mios-simulator-version-min=12.1 -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.2.sdk/usr/include -I/Users/taner/Projects/ffmpeg-kit/prebuilt/ios-x86_64-ios-darwin/ffmpeg/include" LTCFLAGS="-arch arm64 -target arm64-apple-ios12.1 -march=armv8-a+crc+crypto -mcpu=generic -DFFMPEG_KIT_ARM64 -std=c99 -Wno-unused-function -Wall -Wno-deprecated-declarations -Wno-pointer-sign -Wno-switch -Wno-unused-result -Wno-unused-variable -DPIC -fobjc-arc -fstrict-aliasing -fembed-bitcode -DIOS -DFFMPEG_KIT_BUILD_DATE=20211024 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.0.sdk -Oz -Wno-ignored-optimization-argument -miphoneos-version-min=12.1 -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.0.sdk/usr/include -I/Users/taner/Projects/ffmpeg-kit/prebuilt/apple-ios-arm64/ffmpeg/include"
# Take the output of nm and produce a listing of raw symbols and C names. # Take the output of nm and produce a listing of raw symbols and C names.
global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*_\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 _\\2 \\2/p' | sed '/ __gnu_lto/d'" global_symbol_pipe="sed -n -e 's/^.*[ ]\\([BCDEGRST][BCDEGRST]*\\)[ ][ ]*_\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 _\\2 \\2/p' | sed '/ __gnu_lto/d'"
# Transform the output of nm in a proper C declaration. # Transform the output of nm in a proper C declaration.
global_symbol_to_cdecl="sed -n -e 's/^T .* \\(.*\\)\$/extern int \\1();/p' -e 's/^[ABCDGIRSTW][ABCDGIRSTW]* .* \\(.*\\)\$/extern char \\1;/p'" global_symbol_to_cdecl="sed -n -e 's/^T .* \\(.*\\)\$/extern int \\1();/p' -e 's/^[BCDEGRST][BCDEGRST]* .* \\(.*\\)\$/extern char \\1;/p'"
# Transform the output of nm into a list of symbols to manually relocate. # Transform the output of nm into a list of symbols to manually relocate.
global_symbol_to_import="" global_symbol_to_import=""
# Transform the output of nm in a C name address pair. # Transform the output of nm in a C name address pair.
global_symbol_to_c_name_address="sed -n -e 's/^: \\(.*\\) .*\$/ {\"\\1\", (void *) 0},/p' -e 's/^[ABCDGIRSTW][ABCDGIRSTW]* .* \\(.*\\)\$/ {\"\\1\", (void *) \\&\\1},/p'" global_symbol_to_c_name_address="sed -n -e 's/^: \\(.*\\) .*\$/ {\"\\1\", (void *) 0},/p' -e 's/^[BCDEGRST][BCDEGRST]* .* \\(.*\\)\$/ {\"\\1\", (void *) \\&\\1},/p'"
# Transform the output of nm in a C name address pair when lib prefix is needed. # Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \\(.*\\) .*\$/ {\"\\1\", (void *) 0},/p' -e 's/^[ABCDGIRSTW][ABCDGIRSTW]* .* \\(lib.*\\)\$/ {\"\\1\", (void *) \\&\\1},/p' -e 's/^[ABCDGIRSTW][ABCDGIRSTW]* .* \\(.*\\)\$/ {\"lib\\1\", (void *) \\&\\1},/p'" global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \\(.*\\) .*\$/ {\"\\1\", (void *) 0},/p' -e 's/^[BCDEGRST][BCDEGRST]* .* \\(lib.*\\)\$/ {\"\\1\", (void *) \\&\\1},/p' -e 's/^[BCDEGRST][BCDEGRST]* .* \\(.*\\)\$/ {\"lib\\1\", (void *) \\&\\1},/p'"
# The name lister interface. # The name lister interface.
nm_interface="BSD nm" nm_interface="BSD nm"
@ -189,7 +189,7 @@ nm_interface="BSD nm"
nm_file_list_spec="@" nm_file_list_spec="@"
# The root where to search for dependent libraries,and where our libraries should be installed. # The root where to search for dependent libraries,and where our libraries should be installed.
lt_sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.2.sdk lt_sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.0.sdk
# Command to truncate a binary pipe. # Command to truncate a binary pipe.
lt_truncate_bin="/bin/dd bs=4096 count=1" lt_truncate_bin="/bin/dd bs=4096 count=1"
@ -213,7 +213,7 @@ DSYMUTIL="dsymutil"
NMEDIT="nmedit" NMEDIT="nmedit"
# Tool to manipulate fat objects and archives on Mac OS X. # Tool to manipulate fat objects and archives on Mac OS X.
LIPO="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo" LIPO="lipo"
# ldd/readelf like tool for Mach-O binaries on Mac OS X. # ldd/readelf like tool for Mach-O binaries on Mac OS X.
OTOOL="otool" OTOOL="otool"
@ -282,7 +282,7 @@ finish_eval=""
hardcode_into_libs=no hardcode_into_libs=no
# Compile-time system search path for libraries. # Compile-time system search path for libraries.
sys_lib_search_path_spec="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.1 /usr/local/lib" sys_lib_search_path_spec="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/13.0.0 /usr/local/lib"
# Detected run-time system search path for libraries. # Detected run-time system search path for libraries.
sys_lib_dlsearch_path_spec="/usr/local/lib /lib /usr/lib" sys_lib_dlsearch_path_spec="/usr/local/lib /lib /usr/lib"
@ -300,12 +300,12 @@ dlopen_self=unknown
dlopen_self_static=unknown dlopen_self_static=unknown
# Commands to strip libraries. # Commands to strip libraries.
old_striplib="strip --strip-debug" old_striplib="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip -S"
striplib="strip --strip-unneeded" striplib="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip -x"
# The linker used to build libraries. # The linker used to build libraries.
LD="ld" LD="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld"
# How to create reloadable object files. # How to create reloadable object files.
reload_flag=" -r" reload_flag=" -r"
@ -345,7 +345,7 @@ allow_libtool_libs_with_static_runtimes=no
export_dynamic_flag_spec="" export_dynamic_flag_spec=""
# Compiler flag to generate shared objects directly from archives. # Compiler flag to generate shared objects directly from archives.
whole_archive_flag_spec="" whole_archive_flag_spec="\`for conv in \$convenience\\\"\\\"; do test -n \\\"\$conv\\\" && new_convenience=\\\"\$new_convenience \$wl-force_load,\$conv\\\"; done; func_echo_all \\\"\$new_convenience\\\"\`"
# Whether the compiler copes with passing no objects directly. # Whether the compiler copes with passing no objects directly.
compiler_needs_object="no" compiler_needs_object="no"
@ -357,19 +357,19 @@ old_archive_from_new_cmds=""
old_archive_from_expsyms_cmds="" old_archive_from_expsyms_cmds=""
# Commands used to build a shared archive. # Commands used to build a shared archive.
archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring \$single_module~\$DSYMUTIL \$lib || :" archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring \$single_module"
archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring \$single_module \$wl-exported_symbols_list,\$output_objdir/\$libname-symbols.expsym~\$DSYMUTIL \$lib || :" archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring \$single_module \$wl-exported_symbols_list,\$output_objdir/\$libname-symbols.expsym"
# Commands used to build a loadable module if different from building # Commands used to build a loadable module if different from building
# a shared archive. # a shared archive.
module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags~\$DSYMUTIL \$lib || :" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags"
module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags \$wl-exported_symbols_list,\$output_objdir/\$libname-symbols.expsym~\$DSYMUTIL \$lib || :" module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags \$wl-exported_symbols_list,\$output_objdir/\$libname-symbols.expsym"
# Whether we are building with GNU ld or not. # Whether we are building with GNU ld or not.
with_gnu_ld="no" with_gnu_ld="no"
# Flag that allows shared libraries with undefined symbols to be built. # Flag that allows shared libraries with undefined symbols to be built.
allow_undefined_flag="" allow_undefined_flag="\$wl-undefined \${wl}dynamic_lookup"
# Flag that enforces no undefined symbols. # Flag that enforces no undefined symbols.
no_undefined_flag="" no_undefined_flag=""

View File

@ -3,7 +3,7 @@
scriptversion=2018-03-07.03; # UTC scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1996-2020 Free Software Foundation, Inc. # Copyright (C) 1996-2021 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify

View File

@ -1,6 +1,6 @@
lib_LTLIBRARIES = libffmpegkit.la lib_LTLIBRARIES = libffmpegkit.la
libffmpegkit_la_LIBADD = @FFMPEG_LIBS@ libffmpegkit_la_LIBADD = @FFMPEG_FRAMEWORKS@
libffmpegkit_la_SOURCES = \ libffmpegkit_la_SOURCES = \
AbstractSession.m \ AbstractSession.m \

View File

@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.16.3 from Makefile.am. # Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994-2020 Free Software Foundation, Inc. # Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -272,8 +272,6 @@ am__define_uniq_tagged_files = \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)` done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
@ -287,8 +285,9 @@ AWK = @AWK@
CC = @CC@ CC = @CC@
CCDEPMODE = @CCDEPMODE@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@ CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@ CPPFLAGS = @CPPFLAGS@
CSCOPE = @CSCOPE@
CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@ CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@ DEFS = @DEFS@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
@ -299,8 +298,9 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
ETAGS = @ETAGS@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
FFMPEG_LIBS = @FFMPEG_LIBS@ FFMPEG_FRAMEWORKS = @FFMPEG_FRAMEWORKS@
FGREP = @FGREP@ FGREP = @FGREP@
GREP = @GREP@ GREP = @GREP@
INSTALL = @INSTALL@ INSTALL = @INSTALL@
@ -389,6 +389,7 @@ pdfdir = @pdfdir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
psdir = @psdir@ psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@ sbindir = @sbindir@
sharedstatedir = @sharedstatedir@ sharedstatedir = @sharedstatedir@
srcdir = @srcdir@ srcdir = @srcdir@
@ -398,7 +399,7 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
lib_LTLIBRARIES = libffmpegkit.la lib_LTLIBRARIES = libffmpegkit.la
libffmpegkit_la_LIBADD = @FFMPEG_LIBS@ libffmpegkit_la_LIBADD = @FFMPEG_FRAMEWORKS@
libffmpegkit_la_SOURCES = AbstractSession.m ArchDetect.m AtomicLong.m \ libffmpegkit_la_SOURCES = AbstractSession.m ArchDetect.m AtomicLong.m \
FFmpegKit.m FFmpegKitConfig.m FFmpegSession.m FFprobeKit.m \ FFmpegKit.m FFmpegKitConfig.m FFmpegSession.m FFprobeKit.m \
FFprobeSession.m Log.m MediaInformation.m \ FFprobeSession.m Log.m MediaInformation.m \
@ -842,7 +843,6 @@ cscopelist-am: $(am__tagged_files)
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES) distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am $(MAKE) $(AM_MAKEFLAGS) distdir-am

2
ios.sh
View File

@ -194,7 +194,7 @@ if [[ -z ${FFMPEG_KIT_XCF_BUILD} ]] && [[ ${ENABLED_ARCHITECTURES[${ARCH_X86_64}
disable_arch "x86-64-mac-catalyst" disable_arch "x86-64-mac-catalyst"
fi fi
echo -e "\nBuilding ffmpeg-kit ${BUILD_TYPE_ID}static library for iOS\n" echo -e "\nBuilding ffmpeg-kit ${BUILD_TYPE_ID}shared library for iOS\n"
echo -e -n "INFO: Building ffmpeg-kit ${BUILD_VERSION} ${BUILD_TYPE_ID}for iOS: " 1>>"${BASEDIR}"/build.log 2>&1 echo -e -n "INFO: Building ffmpeg-kit ${BUILD_VERSION} ${BUILD_TYPE_ID}for iOS: " 1>>"${BASEDIR}"/build.log 2>&1
echo -e "$(date)\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "$(date)\n" 1>>"${BASEDIR}"/build.log 2>&1

View File

@ -157,7 +157,7 @@ fi
# DISABLE NOT SUPPORTED ARCHITECTURES # DISABLE NOT SUPPORTED ARCHITECTURES
disable_macos_architecture_not_supported_on_detected_sdk_version "${ARCH_ARM64}" "${DETECTED_MACOS_SDK_VERSION}" disable_macos_architecture_not_supported_on_detected_sdk_version "${ARCH_ARM64}" "${DETECTED_MACOS_SDK_VERSION}"
echo -e "\nBuilding ffmpeg-kit ${BUILD_TYPE_ID}static library for macOS\n" echo -e "\nBuilding ffmpeg-kit ${BUILD_TYPE_ID}shared library for macOS\n"
echo -e -n "INFO: Building ffmpeg-kit ${BUILD_VERSION} ${BUILD_TYPE_ID}for macOS: " 1>>"${BASEDIR}"/build.log 2>&1 echo -e -n "INFO: Building ffmpeg-kit ${BUILD_VERSION} ${BUILD_TYPE_ID}for macOS: " 1>>"${BASEDIR}"/build.log 2>&1
echo -e "$(date)\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "$(date)\n" 1>>"${BASEDIR}"/build.log 2>&1

View File

@ -341,6 +341,13 @@ echo -n -e "\n${LIB_NAME}: "
if [[ -z ${NO_WORKSPACE_CLEANUP_ffmpeg} ]]; then if [[ -z ${NO_WORKSPACE_CLEANUP_ffmpeg} ]]; then
echo -e "INFO: Cleaning workspace for ${LIB_NAME}\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "INFO: Cleaning workspace for ${LIB_NAME}\n" 1>>"${BASEDIR}"/build.log 2>&1
make distclean 2>/dev/null 1>/dev/null make distclean 2>/dev/null 1>/dev/null
# WORKAROUND TO MANUALLY DELETE UNCLEANED FILES
rm -f "${BASEDIR}"/src/"${LIB_NAME}"/libavfilter/opencl/*.o 1>>"${BASEDIR}"/build.log 2>&1
rm -f "${BASEDIR}"/src/"${LIB_NAME}"/libavcodec/neon/*.o 1>>"${BASEDIR}"/build.log 2>&1
# DELETE SHARED FRAMEWORK WORKAROUNDS
git checkout "${BASEDIR}/src/ffmpeg/ffbuild" 1>>"${BASEDIR}"/build.log 2>&1
fi fi
# UPDATE BUILD FLAGS # UPDATE BUILD FLAGS

View File

@ -22,13 +22,13 @@ set_toolchain_paths "${LIB_NAME}"
HOST=$(get_host) HOST=$(get_host)
export CFLAGS="$(get_cflags ${LIB_NAME}) -I${LIB_INSTALL_BASE}/ffmpeg/include" export CFLAGS="$(get_cflags ${LIB_NAME}) -I${LIB_INSTALL_BASE}/ffmpeg/include"
export CXXFLAGS=$(get_cxxflags ${LIB_NAME}) export CXXFLAGS=$(get_cxxflags ${LIB_NAME})
export LDFLAGS="$(get_ldflags ${LIB_NAME}) -L${LIB_INSTALL_BASE}/ffmpeg/lib -framework Foundation -framework CoreVideo -lavdevice" export LDFLAGS="$(get_ldflags ${LIB_NAME}) -F${LIB_INSTALL_BASE}/ffmpeg/framework -framework Foundation -framework CoreVideo -framework libavdevice"
export PKG_CONFIG_LIBDIR="${INSTALL_PKG_CONFIG_DIR}" export PKG_CONFIG_LIBDIR="${INSTALL_PKG_CONFIG_DIR}"
cd "${BASEDIR}"/apple 1>>"${BASEDIR}"/build.log 2>&1 || exit 1 cd "${BASEDIR}"/apple 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
# ALWAYS BUILD STATIC LIBRARIES # ALWAYS BUILD SHARED LIBRARIES
BUILD_LIBRARY_OPTIONS="--enable-static --disable-shared" BUILD_LIBRARY_OPTIONS="--enable-shared --disable-static"
echo -n -e "\n${LIB_NAME}: " echo -n -e "\n${LIB_NAME}: "
@ -36,22 +36,27 @@ make distclean 2>/dev/null 1>/dev/null
rm -f "${BASEDIR}"/apple/src/libffmpegkit* 1>>"${BASEDIR}"/build.log 2>&1 rm -f "${BASEDIR}"/apple/src/libffmpegkit* 1>>"${BASEDIR}"/build.log 2>&1
# REGENERATE BUILD FILES IF NECESSARY OR REQUESTED
if [[ ! -f "${BASEDIR}"/apple/configure ]] || [[ ${RECONF_ffmpeg_kit} -eq 1 ]]; then
autoreconf_library "${LIB_NAME}" || exit 1
fi
# CHECK IF VIDEOTOOLBOX IS ENABLED # CHECK IF VIDEOTOOLBOX IS ENABLED
VIDEOTOOLBOX_SUPPORT_FLAG="" VIDEOTOOLBOX_SUPPORT_FLAG=""
if [[ ${ENABLED_LIBRARIES[$LIBRARY_APPLE_VIDEOTOOLBOX]} -eq 1 ]]; then if [[ ${ENABLED_LIBRARIES[$LIBRARY_APPLE_VIDEOTOOLBOX]} -eq 1 ]]; then
VIDEOTOOLBOX_SUPPORT_FLAG="--enable-videotoolbox" VIDEOTOOLBOX_SUPPORT_FLAG="--enable-videotoolbox"
fi fi
# REMOVE OPTIONS FROM CONFIGURE TO FIX THE FOLLOWING ERROR # ALWAYS REGENERATE BUILD FILES - NECESSARY TO APPLY THE WORKAROUNDS
# ld: -flat_namespace and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together autoreconf_library "${LIB_NAME}" 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
${SED_INLINE} 's/$wl-flat_namespace //g' configure 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
${SED_INLINE} 's/$wl-undefined //g' configure 1>>"${BASEDIR}"/build.log 2>&1 || exit 1 # WORKAROUNDS
${SED_INLINE} 's/${wl}suppress//g' configure 1>>"${BASEDIR}"/build.log 2>&1 || exit 1 if [[ ${FFMPEG_KIT_BUILD_TYPE} != "macos" ]]; then
# REMOVE OPTIONS FROM CONFIGURE TO FIX THE FOLLOWING ERROR
# ld: -flat_namespace and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together
${SED_INLINE} 's/$wl-flat_namespace //g' configure 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
${SED_INLINE} 's/$wl-undefined //g' configure 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
${SED_INLINE} 's/${wl}suppress//g' configure 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
# ld: file not found: dynamic_lookup
${SED_INLINE} 's/${wl}dynamic_lookup//g' configure 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
fi
./configure \ ./configure \
--prefix="${FFMPEG_KIT_LIBRARY_PATH}" \ --prefix="${FFMPEG_KIT_LIBRARY_PATH}" \
@ -63,6 +68,10 @@ ${SED_INLINE} 's/${wl}suppress//g' configure 1>>"${BASEDIR}"/build.log 2>&1 || e
--disable-maintainer-mode \ --disable-maintainer-mode \
--host="${HOST}" 1>>"${BASEDIR}"/build.log 2>&1 --host="${HOST}" 1>>"${BASEDIR}"/build.log 2>&1
# WORKAROUND FOR clang: warning: using sysroot for 'MacOSX' but targeting 'iPhone'
${SED_INLINE} "s|allow_undefined_flag -o|allow_undefined_flag -target $(get_target) -o|g" libtool 1>>"${BASEDIR}"/build.log 2>&1
${SED_INLINE} 's|\$rpath/\\$soname|@rpath/ffmpegkit.framework/ffmpegkit|g' libtool 1>>"${BASEDIR}"/build.log 2>&1
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo -e "failed\n\nSee build.log for details\n" echo -e "failed\n\nSee build.log for details\n"
exit 1 exit 1

View File

@ -59,7 +59,9 @@ arm64)
TARGET_CPU="armv8" TARGET_CPU="armv8"
TARGET_ARCH="aarch64" TARGET_ARCH="aarch64"
ASM_OPTIONS=" --enable-neon --enable-asm" ASM_OPTIONS=" --enable-neon --enable-asm"
BITCODE_FLAGS="-fembed-bitcode -Wc,-fembed-bitcode" if [[ ${FFMPEG_KIT_BUILD_TYPE} != "macos" ]]; then
BITCODE_FLAGS="-fembed-bitcode -Wc,-fembed-bitcode"
fi
;; ;;
arm64-mac-catalyst) arm64-mac-catalyst)
TARGET_CPU="armv8" TARGET_CPU="armv8"
@ -317,12 +319,16 @@ for library in {1..59}; do
;; ;;
*-bzip2) *-bzip2)
CONFIGURE_POSTFIX+=" --enable-bzlib" CONFIGURE_POSTFIX+=" --enable-bzlib"
FFMPEG_CFLAGS+=" $(pkg-config --cflags bzip2 2>>"${BASEDIR}"/build.log)"
FFMPEG_LDFLAGS+=" $(pkg-config --libs bzip2 2>>"${BASEDIR}"/build.log)"
;; ;;
*-coreimage) *-coreimage)
CONFIGURE_POSTFIX+=" --enable-coreimage --enable-appkit" CONFIGURE_POSTFIX+=" --enable-coreimage --enable-appkit"
;; ;;
*-libiconv) *-libiconv)
CONFIGURE_POSTFIX+=" --enable-iconv" CONFIGURE_POSTFIX+=" --enable-iconv"
FFMPEG_CFLAGS+=" $(pkg-config --cflags libiconv 2>>"${BASEDIR}"/build.log)"
FFMPEG_LDFLAGS+=" $(pkg-config --libs libiconv 2>>"${BASEDIR}"/build.log)"
;; ;;
*-opencl) *-opencl)
CONFIGURE_POSTFIX+=" --enable-opencl" CONFIGURE_POSTFIX+=" --enable-opencl"
@ -335,6 +341,8 @@ for library in {1..59}; do
;; ;;
*-zlib) *-zlib)
CONFIGURE_POSTFIX+=" --enable-zlib" CONFIGURE_POSTFIX+=" --enable-zlib"
FFMPEG_CFLAGS+=" $(pkg-config --cflags zlib 2>>"${BASEDIR}"/build.log)"
FFMPEG_LDFLAGS+=" $(pkg-config --libs zlib 2>>"${BASEDIR}"/build.log)"
;; ;;
esac esac
;; ;;
@ -367,8 +375,8 @@ for library in {1..59}; do
fi fi
done done
# ALWAYS BUILD STATIC LIBRARIES # ALWAYS BUILD SHARED LIBRARIES
BUILD_LIBRARY_OPTIONS="--enable-static --disable-shared" BUILD_LIBRARY_OPTIONS="--enable-shared --disable-static --install-name-dir=@rpath"
# OPTIMIZE FOR SPEED INSTEAD OF SIZE # OPTIMIZE FOR SPEED INSTEAD OF SIZE
if [[ -z ${FFMPEG_KIT_OPTIMIZED_FOR_SPEED} ]]; then if [[ -z ${FFMPEG_KIT_OPTIMIZED_FOR_SPEED} ]]; then
@ -420,6 +428,9 @@ if [[ -z ${NO_WORKSPACE_CLEANUP_ffmpeg} ]]; then
# WORKAROUND TO MANUALLY DELETE UNCLEANED FILES # WORKAROUND TO MANUALLY DELETE UNCLEANED FILES
rm -f "${BASEDIR}"/src/"${LIB_NAME}"/libavfilter/opencl/*.o 1>>"${BASEDIR}"/build.log 2>&1 rm -f "${BASEDIR}"/src/"${LIB_NAME}"/libavfilter/opencl/*.o 1>>"${BASEDIR}"/build.log 2>&1
rm -f "${BASEDIR}"/src/"${LIB_NAME}"/libavcodec/neon/*.o 1>>"${BASEDIR}"/build.log 2>&1 rm -f "${BASEDIR}"/src/"${LIB_NAME}"/libavcodec/neon/*.o 1>>"${BASEDIR}"/build.log 2>&1
# DELETE SHARED FRAMEWORK WORKAROUNDS
git checkout "${BASEDIR}/src/ffmpeg/ffbuild" 1>>"${BASEDIR}"/build.log 2>&1
fi fi
########################### CUSTOMIZATIONS ####################### ########################### CUSTOMIZATIONS #######################
@ -512,35 +523,83 @@ if [[ $? -ne 0 ]]; then
exit 1 exit 1
fi fi
if [[ -z ${NO_OUTPUT_REDIRECTION} ]]; then build_ffmpeg() {
make -j$(get_cpu_count) 1>>"${BASEDIR}"/build.log 2>&1 if [[ -z ${NO_OUTPUT_REDIRECTION} ]]; then
make -j$(get_cpu_count) 1>>"${BASEDIR}"/build.log 2>&1
if [[ $? -ne 0 ]]; then
echo -e "failed\n\nSee build.log for details\n"
exit 1
fi
else
echo -e "started\n"
make -j$(get_cpu_count)
if [[ $? -ne 0 ]]; then
echo -n -e "\n${LIB_NAME}: failed\n\nSee build.log for details\n"
exit 1
else
echo -n -e "\n${LIB_NAME}: "
fi
fi
}
install_ffmpeg() {
if [[ -n $1 ]]; then
# DELETE THE PREVIOUS BUILD
if [ -d "${FFMPEG_LIBRARY_PATH}" ]; then
rm -rf "${FFMPEG_LIBRARY_PATH}" 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
fi
else
# LEAVE EVERYTHING EXCEPT frameworks
rm -rf "${FFMPEG_LIBRARY_PATH}/include" 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
rm -rf "${FFMPEG_LIBRARY_PATH}/lib" 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
rm -rf "${FFMPEG_LIBRARY_PATH}/share" 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
fi
make install 1>>"${BASEDIR}"/build.log 2>&1
if [[ $? -ne 0 ]]; then if [[ $? -ne 0 ]]; then
echo -e "failed\n\nSee build.log for details\n" echo -e "failed\n\nSee build.log for details\n"
exit 1 exit 1
fi fi
else }
echo -e "started\n"
make -j$(get_cpu_count)
if [[ $? -ne 0 ]]; then ${SED_INLINE} 's|$(SLIBNAME_WITH_MAJOR),|$(SLIBPREF)$(FULLNAME).framework/$(SLIBPREF)$(FULLNAME),|g' ${BASEDIR}/src/ffmpeg/ffbuild/config.mak 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
echo -n -e "\n${LIB_NAME}: failed\n\nSee build.log for details\n"
exit 1
else
echo -n -e "\n${LIB_NAME}: "
fi
fi
# DELETE THE PREVIOUS BUILD OF THE LIBRARY BEFORE INSTALLING # BUILD DYNAMIC LIBRARIES WITH DEFAULT OPTIONS
if [ -d "${FFMPEG_LIBRARY_PATH}" ]; then build_ffmpeg
rm -rf "${FFMPEG_LIBRARY_PATH}" 1>>"${BASEDIR}"/build.log 2>&1 || exit 1 install_ffmpeg "true"
fi
make install 1>>"${BASEDIR}"/build.log 2>&1
if [[ $? -ne 0 ]]; then # CLEAN THE OUTPUT OF FIRST BUILD
echo -e "failed\n\nSee build.log for details\n" find . -name "*.dylib" -delete 1>>"${BASEDIR}"/build.log 2>&1
exit 1
fi echo -e "\nShared libraries built successfully. Building frameworks.\n" 1>>"${BASEDIR}"/build.log 2>&1
create_temporary_framework() {
local FRAMEWORK_NAME="$1"
mkdir -p "${FFMPEG_LIBRARY_PATH}/framework/${FRAMEWORK_NAME}.framework" 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
cp "${FFMPEG_LIBRARY_PATH}/lib/${FRAMEWORK_NAME}.dylib" "${FFMPEG_LIBRARY_PATH}/framework/${FRAMEWORK_NAME}.framework/${FRAMEWORK_NAME}" 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
}
create_temporary_framework "libavcodec"
create_temporary_framework "libavdevice"
create_temporary_framework "libavfilter"
create_temporary_framework "libavformat"
create_temporary_framework "libavutil"
create_temporary_framework "libswresample"
create_temporary_framework "libswscale"
${SED_INLINE} 's|$(SLIBNAME_WITH_MAJOR),|$(SLIBPREF)$(FULLNAME).framework/$(SLIBPREF)$(FULLNAME),|g' ${BASEDIR}/src/ffmpeg/ffbuild/config.mak 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
${SED_INLINE} "s|^ALLFFLIBS = .*|ALLFFLIBS = ${FFMPEG_LIBRARY_PATH}/framework|g" ${BASEDIR}/src/ffmpeg/ffbuild/common.mak 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
${SED_INLINE} 's|$(LD_LIB)|-framework lib% |g' ${BASEDIR}/src/ffmpeg/ffbuild/common.mak 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
${SED_INLINE} 's|$(LD_PATH)lib|-F |g' ${BASEDIR}/src/ffmpeg/ffbuild/common.mak 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
# BUILD FRAMEWORKS AS DYNAMIC LIBRARIES
build_ffmpeg
install_ffmpeg
# MANUALLY ADD REQUIRED HEADERS # MANUALLY ADD REQUIRED HEADERS
mkdir -p "${FFMPEG_LIBRARY_PATH}"/include/libavutil/x86 1>>"${BASEDIR}"/build.log 2>&1 mkdir -p "${FFMPEG_LIBRARY_PATH}"/include/libavutil/x86 1>>"${BASEDIR}"/build.log 2>&1

View File

@ -19,8 +19,13 @@ fi
--disable-fast-install \ --disable-fast-install \
--host="${HOST}" || return 1 --host="${HOST}" || return 1
# WORKAROUND TO REMOVE -bind_at_load FLAG WHICH CAN NOT BE USED WHEN BITCODE IS ENABLED # WORKAROUNDS
${SED_INLINE} 's/$wl-bind_at_load//g' ${BASEDIR}/src/${LIB_NAME}/libtool git checkout ${BASEDIR}/src/${LIB_NAME}/libtool 1>>"${BASEDIR}"/build.log 2>&1
if [[ ${FFMPEG_KIT_BUILD_TYPE} != "macos" ]]; then
# WORKAROUND TO REMOVE -bind_at_load FLAG WHICH CAN NOT BE USED WHEN BITCODE IS ENABLED
${SED_INLINE} 's/$wl-bind_at_load//g' ${BASEDIR}/src/${LIB_NAME}/libtool
fi
make -j$(get_cpu_count) || return 1 make -j$(get_cpu_count) || return 1

View File

@ -17,7 +17,7 @@ export LIBTIFF_CFLAGS="$(pkg-config --cflags libtiff-4)"
export LIBTIFF_LIBS="$(pkg-config --libs --static libtiff-4)" export LIBTIFF_LIBS="$(pkg-config --libs --static libtiff-4)"
export ZLIB_CFLAGS="$(pkg-config --cflags zlib)" export ZLIB_CFLAGS="$(pkg-config --cflags zlib)"
export ZLIB_LIBS="$(pkg-config --libs --static zlib)" export ZLIB_LIBS="$(pkg-config --libs zlib)"
export JPEG_CFLAGS="$(pkg-config --cflags libjpeg)" export JPEG_CFLAGS="$(pkg-config --cflags libjpeg)"
export JPEG_LIBS="$(pkg-config --libs --static libjpeg)" export JPEG_LIBS="$(pkg-config --libs --static libjpeg)"

View File

@ -3,19 +3,20 @@
# ALWAYS CLEAN THE PREVIOUS BUILD # ALWAYS CLEAN THE PREVIOUS BUILD
make distclean 2>/dev/null 1>/dev/null make distclean 2>/dev/null 1>/dev/null
# REGENERATE BUILD FILES IF NECESSARY OR REQUESTED # WORKAROUNDS
if [[ ! -f "${BASEDIR}"/src/"${LIB_NAME}"/configure ]] || [[ ${RECONF_libvorbis} -eq 1 ]]; then # -mno-ieee-fp OPTION IS NOT COMPATIBLE WITH clang. REMOVING IT
${SED_INLINE} 's/\-mno-ieee-fp//g' "${BASEDIR}"/src/"${LIB_NAME}"/configure.ac || return 1
# -mno-ieee-fp OPTION IS NOT COMPATIBLE WITH clang. REMOVING IT # ALWAYS REGENERATE BUILD FILES - NECESSARY TO APPLY THE WORKAROUNDS
${SED_INLINE} 's/\-mno-ieee-fp//g' "${BASEDIR}"/src/"${LIB_NAME}"/configure.ac || return 1 autoreconf_library "${LIB_NAME}" 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
autoreconf_library "${LIB_NAME}" 1>>"${BASEDIR}"/build.log 2>&1 || exit 1 if [[ ${FFMPEG_KIT_BUILD_TYPE} != "macos" ]]; then
# WORKAROUND TO REMOVE -force_cpusubtype_ALL FLAG DUE TO THE FOLLOWING ERROR
# ld: -force_cpusubtype_ALL and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together
${SED_INLINE} 's/-force_cpusubtype_ALL//g' ${BASEDIR}/src/${LIB_NAME}/configure
fi fi
# WORKAROUND TO REMOVE -force_cpusubtype_ALL FLAG DUE TO THE FOLLOWING ERROR
# ld: -force_cpusubtype_ALL and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together
${SED_INLINE} 's/-force_cpusubtype_ALL//g' ${BASEDIR}/src/${LIB_NAME}/configure
PKG_CONFIG= ./configure \ PKG_CONFIG= ./configure \
--prefix="${LIB_INSTALL_PREFIX}" \ --prefix="${LIB_INSTALL_PREFIX}" \
--with-pic \ --with-pic \

View File

@ -26,8 +26,13 @@ fi
--disable-largefile \ --disable-largefile \
--host="${HOST}" || return 1 --host="${HOST}" || return 1
# WORKAROUND TO REMOVE -bind_at_load FLAG WHICH CAN NOT BE USED WHEN BITCODE IS ENABLED # WORKAROUNDS
${SED_INLINE} 's/$wl-bind_at_load//g' ${BASEDIR}/src/${LIB_NAME}/libtool git checkout ${BASEDIR}/src/${LIB_NAME}/libtool 1>>"${BASEDIR}"/build.log 2>&1
if [[ ${FFMPEG_KIT_BUILD_TYPE} != "macos" ]]; then
# WORKAROUND TO REMOVE -bind_at_load FLAG WHICH CAN NOT BE USED WHEN BITCODE IS ENABLED
${SED_INLINE} 's/$wl-bind_at_load//g' ${BASEDIR}/src/${LIB_NAME}/libtool
fi
# WORKAROUND TO DISABLE LINKING TO rt # WORKAROUND TO DISABLE LINKING TO rt
${SED_INLINE} 's/-lrt//g' ${BASEDIR}/src/${LIB_NAME}/api/Makefile ${SED_INLINE} 's/-lrt//g' ${BASEDIR}/src/${LIB_NAME}/api/Makefile

View File

@ -13,8 +13,9 @@ esac
# ALWAYS CLEAN THE PREVIOUS BUILD # ALWAYS CLEAN THE PREVIOUS BUILD
make distclean 2>/dev/null 1>/dev/null make distclean 2>/dev/null 1>/dev/null
# REGENERATE BUILD FILES IF NECESSARY OR REQUESTED # WORKAROUNDS
if [[ ! -f "${BASEDIR}"/src/"${LIB_NAME}"/"${LIB_NAME}"/build/generic/configure ]] || [[ ${RECONF_xvidcore} -eq 1 ]]; then git checkout configure.in 1>>"${BASEDIR}"/build.log 2>&1
if [[ ${FFMPEG_KIT_BUILD_TYPE} != "macos" ]]; then
# WORKAROUND TO FIX THE FOLLOWING ERROR # WORKAROUND TO FIX THE FOLLOWING ERROR
# ld: -flat_namespace and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together # ld: -flat_namespace and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together
@ -23,10 +24,11 @@ if [[ ! -f "${BASEDIR}"/src/"${LIB_NAME}"/"${LIB_NAME}"/build/generic/configure
# WORKAROUND TO FIX THE FOLLOWING ERROR # WORKAROUND TO FIX THE FOLLOWING ERROR
# ld: -read_only_relocs and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together # ld: -read_only_relocs and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together
${SED_INLINE} 's/-Wl,-read_only_relocs,suppress//g' configure.in ${SED_INLINE} 's/-Wl,-read_only_relocs,suppress//g' configure.in
./bootstrap.sh
fi fi
# ALWAYS REGENERATE BUILD FILES - NECESSARY TO APPLY THE WORKAROUNDS
./bootstrap.sh
./configure \ ./configure \
--prefix="${LIB_INSTALL_PREFIX}" \ --prefix="${LIB_INSTALL_PREFIX}" \
${ASM_OPTIONS} \ ${ASM_OPTIONS} \

View File

@ -184,109 +184,6 @@ initialize_folder() {
return 0 return 0
} }
#
# 1. library index
# 2. static library name
# 3. universal library directory
# 4. target architectures array
#
# DEPENDS TARGET_ARCH_LIST VARIABLE
#
create_single_universal_library() {
local LIBRARY_INDEX="$1"
local STATIC_LIBRARY_NAME="$2"
local UNIVERSAL_DIRECTORY_PATH="$3"
local TARGET_ARCHITECTURES=("$4")
local LIBRARY_NAME=$(get_library_name "${LIBRARY_INDEX}")
local LIPO="$(xcrun --sdk "$(get_default_sdk_name)" -f lipo)"
local LIPO_COMMAND="${LIPO} -create"
for ARCH in "${TARGET_ARCH_LIST[@]}"; do
if [[ " ${TARGET_ARCHITECTURES[*]} " == *" ${ARCH} "* ]]; then
local FULL_LIBRARY_PATH="${BASEDIR}/prebuilt/$(get_build_directory)/${LIBRARY_NAME}/lib/${STATIC_LIBRARY_NAME}"
LIPO_COMMAND+=" ${FULL_LIBRARY_PATH}"
fi
done
LIPO_COMMAND+=" -output ${UNIVERSAL_DIRECTORY_PATH}/lib/${STATIC_LIBRARY_NAME}"
mkdir -p "${UNIVERSAL_DIRECTORY_PATH}/lib" 1>>"${BASEDIR}"/build.log 2>&1
${LIPO_COMMAND} 1>>"${BASEDIR}"/build.log 2>&1
if [[ $? -ne 0 ]]; then
echo -e "\nINFO: Failed to build universal ${LIBRARY_NAME} library\n" 1>>"${BASEDIR}"/build.log 2>&1
echo -e "failed\n\nSee build.log for details\n"
exit 1
fi
RC=$(copy_external_library_license "$LIBRARY_INDEX" "${UNIVERSAL_DIRECTORY_PATH}")
if [[ ${RC} -ne 0 ]]; then
echo -e "\nINFO: Failed to build universal ${LIBRARY_NAME} library\n" 1>>"${BASEDIR}"/build.log 2>&1
echo -e "failed\n\nSee build.log for details\n"
exit 1
fi
}
#
# 1. library index
# 2. architecture variant
#
# DEPENDS TARGET_ARCH_LIST VARIABLE
#
create_universal_library() {
local LIBRARY_INDEX="$1"
local ARCHITECTURE_VARIANT="$2"
local TARGET_ARCHITECTURES=("$(get_apple_architectures_for_variant "${ARCHITECTURE_VARIANT}")")
local LIBRARY_NAME=$(get_library_name "${LIBRARY_INDEX}")
local UNIVERSAL_LIBRARY_PATH="${BASEDIR}/prebuilt/$(get_universal_library_directory "${ARCHITECTURE_VARIANT}")"
if [[ $(is_apple_architecture_variant_supported "${ARCHITECTURE_VARIANT}") -eq 0 ]]; then
# THERE ARE NO ARCHITECTURES ENABLED FOR THIS LIBRARY TYPE
return
fi
initialize_folder "${UNIVERSAL_LIBRARY_PATH}/${LIBRARY_NAME}"
if [[ ${LIBRARY_LIBTHEORA} == "${LIBRARY_INDEX}" ]]; then
create_single_universal_library "${LIBRARY_INDEX}" "libtheora.a" "${UNIVERSAL_LIBRARY_PATH}/${LIBRARY_NAME}" "${TARGET_ARCHITECTURES[@]}"
create_single_universal_library "${LIBRARY_INDEX}" "libtheoraenc.a" "${UNIVERSAL_LIBRARY_PATH}/${LIBRARY_NAME}" "${TARGET_ARCHITECTURES[@]}"
create_single_universal_library "${LIBRARY_INDEX}" "libtheoradec.a" "${UNIVERSAL_LIBRARY_PATH}/${LIBRARY_NAME}" "${TARGET_ARCHITECTURES[@]}"
elif [[ ${LIBRARY_LIBVORBIS} == "${LIBRARY_INDEX}" ]]; then
create_single_universal_library "${LIBRARY_INDEX}" "libvorbisfile.a" "${UNIVERSAL_LIBRARY_PATH}/${LIBRARY_NAME}" "${TARGET_ARCHITECTURES[@]}"
create_single_universal_library "${LIBRARY_INDEX}" "libvorbisenc.a" "${UNIVERSAL_LIBRARY_PATH}/${LIBRARY_NAME}" "${TARGET_ARCHITECTURES[@]}"
create_single_universal_library "${LIBRARY_INDEX}" "libvorbis.a" "${UNIVERSAL_LIBRARY_PATH}/${LIBRARY_NAME}" "${TARGET_ARCHITECTURES[@]}"
elif [[ ${LIBRARY_LIBWEBP} == "${LIBRARY_INDEX}" ]]; then
create_single_universal_library "${LIBRARY_INDEX}" "libwebpmux.a" "${UNIVERSAL_LIBRARY_PATH}/${LIBRARY_NAME}" "${TARGET_ARCHITECTURES[@]}"
create_single_universal_library "${LIBRARY_INDEX}" "libwebpdemux.a" "${UNIVERSAL_LIBRARY_PATH}/${LIBRARY_NAME}" "${TARGET_ARCHITECTURES[@]}"
create_single_universal_library "${LIBRARY_INDEX}" "libwebp.a" "${UNIVERSAL_LIBRARY_PATH}/${LIBRARY_NAME}" "${TARGET_ARCHITECTURES[@]}"
elif [[ ${LIBRARY_OPENCOREAMR} == "${LIBRARY_INDEX}" ]]; then
create_single_universal_library "${LIBRARY_INDEX}" "libopencore-amrnb.a" "${UNIVERSAL_LIBRARY_PATH}/${LIBRARY_NAME}" "${TARGET_ARCHITECTURES[@]}"
elif [[ ${LIBRARY_NETTLE} == "${LIBRARY_INDEX}" ]]; then
create_single_universal_library "${LIBRARY_INDEX}" "libnettle.a" "${UNIVERSAL_LIBRARY_PATH}/${LIBRARY_NAME}" "${TARGET_ARCHITECTURES[@]}"
create_single_universal_library "${LIBRARY_INDEX}" "libhogweed.a" "${UNIVERSAL_LIBRARY_PATH}/${LIBRARY_NAME}" "${TARGET_ARCHITECTURES[@]}"
else
create_single_universal_library "${LIBRARY_INDEX}" "$(get_static_archive_name "${LIBRARY_INDEX}").a" "${UNIVERSAL_LIBRARY_PATH}/${LIBRARY_NAME}" "${TARGET_ARCHITECTURES[@]}"
fi
echo -e "DEBUG: ${LIBRARY_NAME} universal library built for $(get_apple_architecture_variant "${ARCHITECTURE_VARIANT}") platform successfully\n" 1>>"${BASEDIR}"/build.log 2>&1
}
# #
# 1. architecture variant # 1. architecture variant
# #
@ -296,8 +193,8 @@ create_ffmpeg_universal_library() {
local ARCHITECTURE_VARIANT="$1" local ARCHITECTURE_VARIANT="$1"
local TARGET_ARCHITECTURES=("$(get_apple_architectures_for_variant "${ARCHITECTURE_VARIANT}")") local TARGET_ARCHITECTURES=("$(get_apple_architectures_for_variant "${ARCHITECTURE_VARIANT}")")
local LIBRARY_NAME="ffmpeg" local LIBRARY_NAME="ffmpeg"
local UNIVERSAL_LIBRARY_PATH="${BASEDIR}/prebuilt/$(get_universal_library_directory "${ARCHITECTURE_VARIANT}")" local UNIVERSAL_LIBRARY_DIRECTORY="${BASEDIR}/prebuilt/$(get_universal_library_directory "${ARCHITECTURE_VARIANT}")"
local FFMPEG_UNIVERSAL_LIBRARY_PATH="${UNIVERSAL_LIBRARY_PATH}/${LIBRARY_NAME}" local FFMPEG_UNIVERSAL_LIBRARY_DIRECTORY="${UNIVERSAL_LIBRARY_DIRECTORY}/${LIBRARY_NAME}"
local LIPO="$(xcrun --sdk "$(get_default_sdk_name)" -f lipo)" local LIPO="$(xcrun --sdk "$(get_default_sdk_name)" -f lipo)"
if [[ $(is_apple_architecture_variant_supported "${ARCHITECTURE_VARIANT}") -eq 0 ]]; then if [[ $(is_apple_architecture_variant_supported "${ARCHITECTURE_VARIANT}") -eq 0 ]]; then
@ -307,43 +204,52 @@ create_ffmpeg_universal_library() {
fi fi
# INITIALIZE UNIVERSAL LIBRARY DIRECTORY # INITIALIZE UNIVERSAL LIBRARY DIRECTORY
initialize_folder "${FFMPEG_UNIVERSAL_LIBRARY_PATH}" initialize_folder "${FFMPEG_UNIVERSAL_LIBRARY_DIRECTORY}"
initialize_folder "${FFMPEG_UNIVERSAL_LIBRARY_PATH}/include" initialize_folder "${FFMPEG_UNIVERSAL_LIBRARY_DIRECTORY}/include"
initialize_folder "${FFMPEG_UNIVERSAL_LIBRARY_PATH}/lib" initialize_folder "${FFMPEG_UNIVERSAL_LIBRARY_DIRECTORY}/lib"
local FFMPEG_DEFAULT_BUILD_PATH="${BASEDIR}/prebuilt/$(get_default_build_directory)/ffmpeg" local FFMPEG_DEFAULT_BUILD_PATH="${BASEDIR}/prebuilt/$(get_default_build_directory)/ffmpeg"
# COPY HEADER FILES # COPY HEADER FILES
cp -r "${FFMPEG_DEFAULT_BUILD_PATH}"/include/* "${FFMPEG_UNIVERSAL_LIBRARY_PATH}"/include 1>>"${BASEDIR}"/build.log 2>&1 cp -r "${FFMPEG_DEFAULT_BUILD_PATH}"/include/* "${FFMPEG_UNIVERSAL_LIBRARY_DIRECTORY}"/include 1>>"${BASEDIR}"/build.log 2>&1
cp "${FFMPEG_DEFAULT_BUILD_PATH}"/include/config.h "${FFMPEG_UNIVERSAL_LIBRARY_PATH}"/include 1>>"${BASEDIR}"/build.log 2>&1 cp "${FFMPEG_DEFAULT_BUILD_PATH}"/include/config.h "${FFMPEG_UNIVERSAL_LIBRARY_DIRECTORY}"/include 1>>"${BASEDIR}"/build.log 2>&1
for FFMPEG_LIB in "${FFMPEG_LIBS[@]}"; do for FFMPEG_LIB in "${FFMPEG_LIBS[@]}"; do
local FFMPEG_LIB_UNIVERSAL_LIBRARY_PATH="${FFMPEG_UNIVERSAL_LIBRARY_DIRECTORY}/lib/${FFMPEG_LIB}.dylib"
LIPO_COMMAND="${LIPO} -create" LIPO_COMMAND="${LIPO} -create"
for ARCH in "${TARGET_ARCH_LIST[@]}"; do for ARCH in "${TARGET_ARCH_LIST[@]}"; do
if [[ " ${TARGET_ARCHITECTURES[*]} " == *" ${ARCH} "* ]]; then if [[ " ${TARGET_ARCHITECTURES[*]} " == *" ${ARCH} "* ]]; then
local FULL_LIBRARY_PATH="${BASEDIR}/prebuilt/$(get_build_directory)/${LIBRARY_NAME}/lib/${FFMPEG_LIB}.a" local FULL_LIBRARY_PATH="${BASEDIR}/prebuilt/$(get_build_directory)/${LIBRARY_NAME}/lib/${FFMPEG_LIB}.$(get_ffmpeg_library_version ${FFMPEG_LIB}).dylib"
LIPO_COMMAND+=" ${FULL_LIBRARY_PATH}" LIPO_COMMAND+=" ${FULL_LIBRARY_PATH}"
fi fi
done done
LIPO_COMMAND+=" -output ${FFMPEG_UNIVERSAL_LIBRARY_PATH}/lib/${FFMPEG_LIB}.a" LIPO_COMMAND+=" -output ${FFMPEG_LIB_UNIVERSAL_LIBRARY_PATH}"
${LIPO_COMMAND} 1>>"${BASEDIR}"/build.log 2>&1 ${LIPO_COMMAND} 1>>"${BASEDIR}"/build.log 2>&1
if [[ $? -ne 0 ]]; then [[ $? -ne 0 ]] && exit_universal_library "${FFMPEG_LIB}"
echo -e "\nINFO: Failed to build universal ${LIBRARY_NAME} library\n" 1>>"${BASEDIR}"/build.log 2>&1
echo -e "failed\n\nSee build.log for details\n"
exit 1
fi
done done
# COPY UNIVERSAL LIBRARY LICENSES # COPY UNIVERSAL LIBRARY LICENSES
if [[ ${GPL_ENABLED} == "yes" ]]; then if [[ ${GPL_ENABLED} == "yes" ]]; then
cp "${BASEDIR}"/LICENSE.GPLv3 "${FFMPEG_UNIVERSAL_LIBRARY_PATH}"/LICENSE 1>>"${BASEDIR}"/build.log 2>&1 cp "${BASEDIR}"/LICENSE.GPLv3 "${FFMPEG_UNIVERSAL_LIBRARY_DIRECTORY}"/LICENSE 1>>"${BASEDIR}"/build.log 2>&1
else else
cp "${BASEDIR}"/LICENSE.LGPLv3 "${FFMPEG_UNIVERSAL_LIBRARY_PATH}"/LICENSE 1>>"${BASEDIR}"/build.log 2>&1 cp "${BASEDIR}"/LICENSE.LGPLv3 "${FFMPEG_UNIVERSAL_LIBRARY_DIRECTORY}"/LICENSE 1>>"${BASEDIR}"/build.log 2>&1
fi fi
for library in {0..46}; do
if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then
local ENABLED_LIBRARY_NAME="$(get_library_name ${library})"
local ENABLED_LIBRARY_NAME_UPPERCASE=$(echo "${ENABLED_LIBRARY_NAME}" | tr '[a-z]' '[A-Z]')
RC=$(copy_external_library_license "${library}" "${FFMPEG_UNIVERSAL_LIBRARY_DIRECTORY}"/LICENSE.${ENABLED_LIBRARY_NAME_UPPERCASE})
[[ ${RC} -ne 0 ]] && exit_universal_library "${LIBRARY_NAME}"
fi
done
echo -e "DEBUG: ${LIBRARY_NAME} universal library built for $(get_apple_architecture_variant "${ARCHITECTURE_VARIANT}") platform successfully\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "DEBUG: ${LIBRARY_NAME} universal library built for $(get_apple_architecture_variant "${ARCHITECTURE_VARIANT}") platform successfully\n" 1>>"${BASEDIR}"/build.log 2>&1
} }
@ -357,8 +263,8 @@ create_ffmpeg_kit_universal_library() {
local ARCHITECTURE_VARIANT="$1" local ARCHITECTURE_VARIANT="$1"
local TARGET_ARCHITECTURES=("$(get_apple_architectures_for_variant "${ARCHITECTURE_VARIANT}")") local TARGET_ARCHITECTURES=("$(get_apple_architectures_for_variant "${ARCHITECTURE_VARIANT}")")
local LIBRARY_NAME="ffmpeg-kit" local LIBRARY_NAME="ffmpeg-kit"
local UNIVERSAL_LIBRARY_PATH="${BASEDIR}/prebuilt/$(get_universal_library_directory "${ARCHITECTURE_VARIANT}")" local UNIVERSAL_LIBRARY_DIRECTORY="${BASEDIR}/prebuilt/$(get_universal_library_directory "${ARCHITECTURE_VARIANT}")"
local FFMPEG_KIT_UNIVERSAL_LIBRARY_PATH="${UNIVERSAL_LIBRARY_PATH}/${LIBRARY_NAME}" local FFMPEG_KIT_UNIVERSAL_LIBRARY_DIRECTORY="${UNIVERSAL_LIBRARY_DIRECTORY}/${LIBRARY_NAME}"
local LIPO="$(xcrun --sdk "$(get_default_sdk_name)" -f lipo)" local LIPO="$(xcrun --sdk "$(get_default_sdk_name)" -f lipo)"
if [[ $(is_apple_architecture_variant_supported "${ARCHITECTURE_VARIANT}") -eq 0 ]]; then if [[ $(is_apple_architecture_variant_supported "${ARCHITECTURE_VARIANT}") -eq 0 ]]; then
@ -368,151 +274,50 @@ create_ffmpeg_kit_universal_library() {
fi fi
# INITIALIZE UNIVERSAL LIBRARY DIRECTORY # INITIALIZE UNIVERSAL LIBRARY DIRECTORY
initialize_folder "${FFMPEG_KIT_UNIVERSAL_LIBRARY_PATH}" initialize_folder "${FFMPEG_KIT_UNIVERSAL_LIBRARY_DIRECTORY}"
initialize_folder "${FFMPEG_KIT_UNIVERSAL_LIBRARY_PATH}/include" initialize_folder "${FFMPEG_KIT_UNIVERSAL_LIBRARY_DIRECTORY}/include"
initialize_folder "${FFMPEG_KIT_UNIVERSAL_LIBRARY_PATH}/lib" initialize_folder "${FFMPEG_KIT_UNIVERSAL_LIBRARY_DIRECTORY}/lib"
local FFMPEG_KIT_DEFAULT_BUILD_PATH="${BASEDIR}/prebuilt/$(get_default_build_directory)/ffmpeg-kit" local FFMPEG_KIT_DEFAULT_BUILD_PATH="${BASEDIR}/prebuilt/$(get_default_build_directory)/ffmpeg-kit"
# COPY HEADER FILES # COPY HEADER FILES
cp -r "${FFMPEG_KIT_DEFAULT_BUILD_PATH}"/include/* "${FFMPEG_KIT_UNIVERSAL_LIBRARY_PATH}"/include 1>>"${BASEDIR}"/build.log 2>&1 cp -r "${FFMPEG_KIT_DEFAULT_BUILD_PATH}"/include/* "${FFMPEG_KIT_UNIVERSAL_LIBRARY_DIRECTORY}"/include 1>>"${BASEDIR}"/build.log 2>&1
local FFMPEG_KIT_UNIVERSAL_LIBRARY_PATH="${FFMPEG_KIT_UNIVERSAL_LIBRARY_DIRECTORY}/lib/libffmpegkit.dylib"
LIPO_COMMAND="${LIPO} -create" LIPO_COMMAND="${LIPO} -create"
for ARCH in "${TARGET_ARCH_LIST[@]}"; do for ARCH in "${TARGET_ARCH_LIST[@]}"; do
if [[ " ${TARGET_ARCHITECTURES[*]} " == *" ${ARCH} "* ]]; then if [[ " ${TARGET_ARCHITECTURES[*]} " == *" ${ARCH} "* ]]; then
local FULL_LIBRARY_PATH="${BASEDIR}/prebuilt/$(get_build_directory)/${LIBRARY_NAME}/lib/libffmpegkit.a" local FULL_LIBRARY_PATH="${BASEDIR}/prebuilt/$(get_build_directory)/${LIBRARY_NAME}/lib/libffmpegkit.dylib"
LIPO_COMMAND+=" ${FULL_LIBRARY_PATH}" LIPO_COMMAND+=" ${FULL_LIBRARY_PATH}"
fi fi
done done
LIPO_COMMAND+=" -output ${FFMPEG_KIT_UNIVERSAL_LIBRARY_PATH}/lib/libffmpegkit.a" LIPO_COMMAND+=" -output ${FFMPEG_KIT_UNIVERSAL_LIBRARY_PATH}"
${LIPO_COMMAND} 1>>"${BASEDIR}"/build.log 2>&1 ${LIPO_COMMAND} 1>>"${BASEDIR}"/build.log 2>&1
if [[ $? -ne 0 ]]; then [[ $? -ne 0 ]] && exit_universal_library "${LIBRARY_NAME}"
echo -e "\nINFO: Failed to build universal ${LIBRARY_NAME} library\n" 1>>"${BASEDIR}"/build.log 2>&1
echo -e "failed\n\nSee build.log for details\n"
exit 1
fi
# COPY UNIVERSAL LIBRARY LICENSES # COPY UNIVERSAL LIBRARY LICENSES
if [[ ${GPL_ENABLED} == "yes" ]]; then if [[ ${GPL_ENABLED} == "yes" ]]; then
cp "${BASEDIR}"/LICENSE.GPLv3 "${FFMPEG_KIT_UNIVERSAL_LIBRARY_PATH}"/LICENSE 1>>"${BASEDIR}"/build.log 2>&1 cp "${BASEDIR}"/LICENSE.GPLv3 "${FFMPEG_KIT_UNIVERSAL_LIBRARY_DIRECTORY}"/LICENSE 1>>"${BASEDIR}"/build.log 2>&1
else else
cp "${BASEDIR}"/LICENSE.LGPLv3 "${FFMPEG_KIT_UNIVERSAL_LIBRARY_PATH}"/LICENSE 1>>"${BASEDIR}"/build.log 2>&1 cp "${BASEDIR}"/LICENSE.LGPLv3 "${FFMPEG_KIT_UNIVERSAL_LIBRARY_DIRECTORY}"/LICENSE 1>>"${BASEDIR}"/build.log 2>&1
fi fi
echo -e "DEBUG: ${LIBRARY_NAME} universal library built for $(get_apple_architecture_variant "${ARCHITECTURE_VARIANT}") platform successfully\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "DEBUG: ${LIBRARY_NAME} universal library built for $(get_apple_architecture_variant "${ARCHITECTURE_VARIANT}") platform successfully\n" 1>>"${BASEDIR}"/build.log 2>&1
} }
#
# 1. library index
# 2. library version
# 3. static library name
# 4. framework name
# 5. architecture variant
#
create_single_framework() {
local LIBRARY_INDEX="$1"
local LIBRARY_VERSION="$2"
local STATIC_LIBRARY_NAME="$3"
local FRAMEWORK_NAME="$4"
local ARCHITECTURE_VARIANT="$5"
local LIBRARY_NAME=$(get_library_name "${LIBRARY_INDEX}")
local FRAMEWORK_PATH=${BASEDIR}/prebuilt/$(get_framework_directory "${ARCHITECTURE_VARIANT}")/${FRAMEWORK_NAME}.framework
initialize_folder "${FRAMEWORK_PATH}"
local CAPITAL_CASE_FRAMEWORK_NAME=$(to_capital_case "${FRAMEWORK_NAME}")
build_info_plist "${FRAMEWORK_PATH}/Info.plist" "${LIBRARY_NAME}" "com.arthenica.ffmpegkit.${CAPITAL_CASE_FRAMEWORK_NAME}" "${LIBRARY_VERSION}" "${LIBRARY_VERSION}"
cp "${BASEDIR}/prebuilt/$(get_universal_library_directory "${ARCHITECTURE_VARIANT}")/${LIBRARY_NAME}/lib/${STATIC_LIBRARY_NAME}.a" "${FRAMEWORK_PATH}/${FRAMEWORK_NAME}" 1>>"${BASEDIR}/build.log" 2>&1
if [[ $? -ne 0 ]]; then
echo -e "\nINFO: Failed to build ${LIBRARY_NAME} framework\n" 1>>"${BASEDIR}"/build.log 2>&1
echo -e "failed\n\nSee build.log for details\n"
exit 1
fi
RC=$(copy_external_library_license "$LIBRARY_INDEX" "${FRAMEWORK_PATH}")
if [[ ${RC} -ne 0 ]]; then
echo -e "\nINFO: Failed to build ${LIBRARY_NAME} framework\n" 1>>"${BASEDIR}"/build.log 2>&1
echo -e "failed\n\nSee build.log for details\n"
exit 1
fi
}
#
# 1. library index
# 2. architecture variant
#
create_framework() {
local LIBRARY_INDEX="$1"
local ARCHITECTURE_VARIANT="$2"
local LIBRARY_NAME=$(get_library_name "${LIBRARY_INDEX}")
local PACKAGE_CONFIG_FILE_NAME=$(get_package_config_file_name "${LIBRARY_INDEX}")
if [[ $(is_apple_architecture_variant_supported "${ARCHITECTURE_VARIANT}") -eq 0 ]]; then
# THERE ARE NO ARCHITECTURES ENABLED FOR THIS LIBRARY TYPE
return
fi
# EACH ENABLED LIBRARY HAS TO HAVE A .pc FILE AND A VERSION
local LIBRARY_VERSION=$(get_external_library_version "${PACKAGE_CONFIG_FILE_NAME}")
if [[ -z ${LIBRARY_VERSION} ]]; then
echo -e "Failed to detect the version off ${LIBRARY_NAME} from ${PACKAGE_CONFIG_FILE_NAME}.pc\n" 1>>"${BASEDIR}"/build.log 2>&1
echo -e "failed\n\nSee build.log for details\n"
exit 1
fi
if [[ ${LIBRARY_LIBTHEORA} == "${LIBRARY_INDEX}" ]]; then
create_single_framework "${LIBRARY_INDEX}" "${LIBRARY_VERSION}" "libtheora" "libtheora" "${ARCHITECTURE_VARIANT}"
create_single_framework "${LIBRARY_INDEX}" "${LIBRARY_VERSION}" "libtheoraenc" "libtheoraenc" "${ARCHITECTURE_VARIANT}"
create_single_framework "${LIBRARY_INDEX}" "${LIBRARY_VERSION}" "libtheoradec" "libtheoradec" "${ARCHITECTURE_VARIANT}"
elif [[ ${LIBRARY_LIBVORBIS} == "${LIBRARY_INDEX}" ]]; then
create_single_framework "${LIBRARY_INDEX}" "${LIBRARY_VERSION}" "libvorbisfile" "libvorbisfile" "${ARCHITECTURE_VARIANT}"
create_single_framework "${LIBRARY_INDEX}" "${LIBRARY_VERSION}" "libvorbisenc" "libvorbisenc" "${ARCHITECTURE_VARIANT}"
create_single_framework "${LIBRARY_INDEX}" "${LIBRARY_VERSION}" "libvorbis" "libvorbis" "${ARCHITECTURE_VARIANT}"
elif [[ ${LIBRARY_LIBWEBP} == "${LIBRARY_INDEX}" ]]; then
create_single_framework "${LIBRARY_INDEX}" "${LIBRARY_VERSION}" "libwebpmux" "libwebpmux" "${ARCHITECTURE_VARIANT}"
create_single_framework "${LIBRARY_INDEX}" "${LIBRARY_VERSION}" "libwebpdemux" "libwebpdemux" "${ARCHITECTURE_VARIANT}"
create_single_framework "${LIBRARY_INDEX}" "${LIBRARY_VERSION}" "libwebp" "libwebp" "${ARCHITECTURE_VARIANT}"
elif [[ ${LIBRARY_OPENCOREAMR} == "${LIBRARY_INDEX}" ]]; then
create_single_framework "${LIBRARY_INDEX}" "${LIBRARY_VERSION}" "libopencore-amrnb" "libopencore-amrnb" "${ARCHITECTURE_VARIANT}"
elif [[ ${LIBRARY_NETTLE} == "${LIBRARY_INDEX}" ]]; then
create_single_framework "${LIBRARY_INDEX}" "${LIBRARY_VERSION}" "libnettle" "libnettle" "${ARCHITECTURE_VARIANT}"
create_single_framework "${LIBRARY_INDEX}" "${LIBRARY_VERSION}" "libhogweed" "libhogweed" "${ARCHITECTURE_VARIANT}"
else
create_single_framework "${LIBRARY_INDEX}" "${LIBRARY_VERSION}" "$(get_static_archive_name "${LIBRARY_INDEX}")" "${LIBRARY_NAME}" "${ARCHITECTURE_VARIANT}"
fi
echo -e "DEBUG: ${LIBRARY_NAME} framework built for $(get_apple_architecture_variant "${ARCHITECTURE_VARIANT}") platform successfully\n" 1>>"${BASEDIR}"/build.log 2>&1
}
# #
# 1. architecture variant # 1. architecture variant
# #
create_ffmpeg_framework() { create_ffmpeg_framework() {
local ARCHITECTURE_VARIANT="$1" local ARCHITECTURE_VARIANT="$1"
local LIBRARY_NAME="ffmpeg" local LIBRARY_NAME="ffmpeg"
local UNIVERSAL_LIBRARY_PATH="${BASEDIR}/prebuilt/$(get_universal_library_directory "${ARCHITECTURE_VARIANT}")" local UNIVERSAL_LIBRARY_DIRECTORY="${BASEDIR}/prebuilt/$(get_universal_library_directory "${ARCHITECTURE_VARIANT}")"
local FFMPEG_UNIVERSAL_LIBRARY_PATH="${UNIVERSAL_LIBRARY_PATH}/${LIBRARY_NAME}" local FFMPEG_UNIVERSAL_LIBRARY_PATH="${UNIVERSAL_LIBRARY_DIRECTORY}/${LIBRARY_NAME}"
if [[ $(is_apple_architecture_variant_supported "${ARCHITECTURE_VARIANT}") -eq 0 ]]; then if [[ $(is_apple_architecture_variant_supported "${ARCHITECTURE_VARIANT}") -eq 0 ]]; then
@ -525,10 +330,7 @@ create_ffmpeg_framework() {
local CAPITAL_CASE_FFMPEG_LIB_NAME=$(to_capital_case "${FFMPEG_LIB}") local CAPITAL_CASE_FFMPEG_LIB_NAME=$(to_capital_case "${FFMPEG_LIB}")
# EXTRACT FFMPEG VERSION # EXTRACT FFMPEG VERSION
local FFMPEG_LIB_MAJOR=$(grep "#define ${FFMPEG_LIB_UPPERCASE}_VERSION_MAJOR" "${FFMPEG_UNIVERSAL_LIBRARY_PATH}/include/${FFMPEG_LIB}/version.h" | sed -e "s/#define ${FFMPEG_LIB_UPPERCASE}_VERSION_MAJOR//g;s/\ //g") local FFMPEG_LIB_VERSION="$(get_ffmpeg_library_version $FFMPEG_LIB)"
local FFMPEG_LIB_MINOR=$(grep "#define ${FFMPEG_LIB_UPPERCASE}_VERSION_MINOR" "${FFMPEG_UNIVERSAL_LIBRARY_PATH}/include/${FFMPEG_LIB}/version.h" | sed -e "s/#define ${FFMPEG_LIB_UPPERCASE}_VERSION_MINOR//g;s/\ //g")
local FFMPEG_LIB_MICRO=$(grep "#define ${FFMPEG_LIB_UPPERCASE}_VERSION_MICRO" "${FFMPEG_UNIVERSAL_LIBRARY_PATH}/include/${FFMPEG_LIB}/version.h" | sed "s/#define ${FFMPEG_LIB_UPPERCASE}_VERSION_MICRO//g;s/\ //g")
local FFMPEG_LIB_VERSION="${FFMPEG_LIB_MAJOR}.${FFMPEG_LIB_MINOR}.${FFMPEG_LIB_MICRO}"
# INITIALIZE FRAMEWORK DIRECTORY # INITIALIZE FRAMEWORK DIRECTORY
local FFMPEG_LIB_FRAMEWORK_PATH="${BASEDIR}/prebuilt/$(get_framework_directory "${ARCHITECTURE_VARIANT}")/${FFMPEG_LIB}.framework" local FFMPEG_LIB_FRAMEWORK_PATH="${BASEDIR}/prebuilt/$(get_framework_directory "${ARCHITECTURE_VARIANT}")/${FFMPEG_LIB}.framework"
@ -539,7 +341,7 @@ create_ffmpeg_framework() {
cp -r "${FFMPEG_UNIVERSAL_LIBRARY_PATH}/include/${FFMPEG_LIB}"/* "${FFMPEG_LIB_FRAMEWORK_PATH}"/Headers 1>>"${BASEDIR}"/build.log 2>&1 cp -r "${FFMPEG_UNIVERSAL_LIBRARY_PATH}/include/${FFMPEG_LIB}"/* "${FFMPEG_LIB_FRAMEWORK_PATH}"/Headers 1>>"${BASEDIR}"/build.log 2>&1
# COPY LIBRARY FILE # COPY LIBRARY FILE
cp "${FFMPEG_UNIVERSAL_LIBRARY_PATH}/lib/${FFMPEG_LIB}.a" "${FFMPEG_LIB_FRAMEWORK_PATH}/${FFMPEG_LIB}" 1>>"${BASEDIR}"/build.log 2>&1 cp "${FFMPEG_UNIVERSAL_LIBRARY_PATH}/lib/${FFMPEG_LIB}.dylib" "${FFMPEG_LIB_FRAMEWORK_PATH}/${FFMPEG_LIB}" 1>>"${BASEDIR}"/build.log 2>&1
# COPY FRAMEWORK LICENSES # COPY FRAMEWORK LICENSES
if [[ "${GPL_ENABLED}" == "yes" ]]; then if [[ "${GPL_ENABLED}" == "yes" ]]; then
@ -552,6 +354,17 @@ create_ffmpeg_framework() {
echo -e "DEBUG: ${FFMPEG_LIB} framework built for $(get_apple_architecture_variant "${ARCHITECTURE_VARIANT}") platform successfully\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "DEBUG: ${FFMPEG_LIB} framework built for $(get_apple_architecture_variant "${ARCHITECTURE_VARIANT}") platform successfully\n" 1>>"${BASEDIR}"/build.log 2>&1
done done
for library in {0..46}; do
if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then
local ENABLED_LIBRARY_NAME="$(get_library_name ${library})"
local ENABLED_LIBRARY_NAME_UPPERCASE=$(echo "${ENABLED_LIBRARY_NAME}" | tr '[a-z]' '[A-Z]')
RC=$(copy_external_library_license "${library}" ${BASEDIR}/prebuilt/$(get_framework_directory ${ARCHITECTURE_VARIANT})/libavcodec.framework/LICENSE.${ENABLED_LIBRARY_NAME_UPPERCASE})
[[ ${RC} -ne 0 ]] && exit_universal_library "${LIBRARY_NAME}"
fi
done
} }
# #
@ -560,8 +373,8 @@ create_ffmpeg_framework() {
create_ffmpeg_kit_framework() { create_ffmpeg_kit_framework() {
local ARCHITECTURE_VARIANT="$1" local ARCHITECTURE_VARIANT="$1"
local LIBRARY_NAME="ffmpeg-kit" local LIBRARY_NAME="ffmpeg-kit"
local UNIVERSAL_LIBRARY_PATH="${BASEDIR}/prebuilt/$(get_universal_library_directory "${ARCHITECTURE_VARIANT}")" local UNIVERSAL_LIBRARY_DIRECTORY="${BASEDIR}/prebuilt/$(get_universal_library_directory "${ARCHITECTURE_VARIANT}")"
local FFMPEG_KIT_UNIVERSAL_LIBRARY_PATH="${UNIVERSAL_LIBRARY_PATH}/${LIBRARY_NAME}" local FFMPEG_KIT_UNIVERSAL_LIBRARY_DIRECTORY="${UNIVERSAL_LIBRARY_DIRECTORY}/${LIBRARY_NAME}"
if [[ $(is_apple_architecture_variant_supported "${ARCHITECTURE_VARIANT}") -eq 0 ]]; then if [[ $(is_apple_architecture_variant_supported "${ARCHITECTURE_VARIANT}") -eq 0 ]]; then
@ -578,10 +391,10 @@ create_ffmpeg_kit_framework() {
initialize_folder "${FFMPEG_KIT_FRAMEWORK_PATH}/Modules" initialize_folder "${FFMPEG_KIT_FRAMEWORK_PATH}/Modules"
# COPY HEADER FILES # COPY HEADER FILES
cp -r "${FFMPEG_KIT_UNIVERSAL_LIBRARY_PATH}"/include/* "${FFMPEG_KIT_FRAMEWORK_PATH}"/Headers 1>>"${BASEDIR}"/build.log 2>&1 cp -r "${FFMPEG_KIT_UNIVERSAL_LIBRARY_DIRECTORY}"/include/* "${FFMPEG_KIT_FRAMEWORK_PATH}"/Headers 1>>"${BASEDIR}"/build.log 2>&1
# COPY LIBRARY FILE # COPY LIBRARY FILE
cp "${FFMPEG_KIT_UNIVERSAL_LIBRARY_PATH}/lib/libffmpegkit.a" "${FFMPEG_KIT_FRAMEWORK_PATH}"/ffmpegkit 1>>"${BASEDIR}"/build.log 2>&1 cp "${FFMPEG_KIT_UNIVERSAL_LIBRARY_DIRECTORY}/lib/libffmpegkit.dylib" "${FFMPEG_KIT_FRAMEWORK_PATH}"/ffmpegkit 1>>"${BASEDIR}"/build.log 2>&1
# COPY FRAMEWORK LICENSES # COPY FRAMEWORK LICENSES
if [[ "${GPL_ENABLED}" == "yes" ]]; then if [[ "${GPL_ENABLED}" == "yes" ]]; then
@ -596,88 +409,6 @@ create_ffmpeg_kit_framework() {
echo -e "DEBUG: ffmpeg-kit framework built for $(get_apple_architecture_variant "${ARCHITECTURE_VARIANT}") platform successfully\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "DEBUG: ffmpeg-kit framework built for $(get_apple_architecture_variant "${ARCHITECTURE_VARIANT}") platform successfully\n" 1>>"${BASEDIR}"/build.log 2>&1
} }
#
# 1. framework name
#
create_single_xcframework() {
local FRAMEWORK_NAME="$1"
local XCFRAMEWORK_PATH=${BASEDIR}/prebuilt/$(get_xcframework_directory)/${FRAMEWORK_NAME}.xcframework
initialize_folder "${XCFRAMEWORK_PATH}"
local BUILD_COMMAND="xcodebuild -create-xcframework "
for ARCHITECTURE_VARIANT in "${ARCHITECTURE_VARIANT_ARRAY[@]}"; do
if [[ $(is_apple_architecture_variant_supported "${ARCHITECTURE_VARIANT}") -eq 1 ]]; then
local FRAMEWORK_PATH=${BASEDIR}/prebuilt/$(get_framework_directory "${ARCHITECTURE_VARIANT}")/${FRAMEWORK_NAME}.framework
BUILD_COMMAND+=" -framework ${FRAMEWORK_PATH}"
fi
done
BUILD_COMMAND+=" -output ${XCFRAMEWORK_PATH}"
# EXECUTE CREATE FRAMEWORK COMMAND
COMMAND_OUTPUT=$(${BUILD_COMMAND} 2>&1)
RC=$?
echo -e "DEBUG: ${COMMAND_OUTPUT}\n" 1>>"${BASEDIR}"/build.log 2>&1
if [[ ${RC} -ne 0 ]]; then
echo -e "INFO: Building ${FRAMEWORK_NAME} xcframework failed\n" 1>>"${BASEDIR}"/build.log 2>&1
echo -e "failed\n\nSee build.log for details\n"
exit 1
fi
# DO NOT ALLOW EMPTY FRAMEWORKS
if [[ ${COMMAND_OUTPUT} == *"is empty in library"* ]]; then
echo -e "INFO: Building ${FRAMEWORK_NAME} xcframework failed\n" 1>>"${BASEDIR}"/build.log 2>&1
echo -e "failed\n\nSee build.log for details\n"
exit 1
fi
}
#
# 1. library index
#
create_xcframework() {
local LIBRARY_INDEX="$1"
local LIBRARY_NAME=$(get_library_name "${LIBRARY_INDEX}")
if [[ ${LIBRARY_LIBTHEORA} == "${LIBRARY_INDEX}" ]]; then
create_single_xcframework "libtheora"
create_single_xcframework "libtheoraenc"
create_single_xcframework "libtheoradec"
elif [[ ${LIBRARY_LIBVORBIS} == "${LIBRARY_INDEX}" ]]; then
create_single_xcframework "libvorbisfile"
create_single_xcframework "libvorbisenc"
create_single_xcframework "libvorbis"
elif [[ ${LIBRARY_LIBWEBP} == "${LIBRARY_INDEX}" ]]; then
create_single_xcframework "libwebpmux"
create_single_xcframework "libwebpdemux"
create_single_xcframework "libwebp"
elif [[ ${LIBRARY_OPENCOREAMR} == "${LIBRARY_INDEX}" ]]; then
create_single_xcframework "libopencore-amrnb"
elif [[ ${LIBRARY_NETTLE} == "${LIBRARY_INDEX}" ]]; then
create_single_xcframework "libnettle"
create_single_xcframework "libhogweed"
else
create_single_xcframework "${LIBRARY_NAME}"
fi
echo -e "DEBUG: xcframework for ${LIBRARY_NAME} built successfully\n" 1>>"${BASEDIR}"/build.log 2>&1
}
create_ffmpeg_xcframework() { create_ffmpeg_xcframework() {
for FFMPEG_LIB in "${FFMPEG_LIBS[@]}"; do for FFMPEG_LIB in "${FFMPEG_LIBS[@]}"; do
@ -704,16 +435,12 @@ create_ffmpeg_xcframework() {
echo -e "DEBUG: ${COMMAND_OUTPUT}\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "DEBUG: ${COMMAND_OUTPUT}\n" 1>>"${BASEDIR}"/build.log 2>&1
if [[ ${RC} -ne 0 ]]; then if [[ ${RC} -ne 0 ]]; then
echo -e "INFO: Building ${FRAMEWORK_NAME} xcframework failed\n" 1>>"${BASEDIR}"/build.log 2>&1 exit_xcframework "${FRAMEWORK_NAME}"
echo -e "failed\n\nSee build.log for details\n"
exit 1
fi fi
# DO NOT ALLOW EMPTY FRAMEWORKS # DO NOT ALLOW EMPTY FRAMEWORKS
if [[ ${COMMAND_OUTPUT} == *"is empty in library"* ]]; then if [[ ${COMMAND_OUTPUT} == *"is empty in library"* ]]; then
echo -e "INFO: Building ${FRAMEWORK_NAME} xcframework failed\n" 1>>"${BASEDIR}"/build.log 2>&1 exit_xcframework "${FRAMEWORK_NAME}"
echo -e "failed\n\nSee build.log for details\n"
exit 1
fi fi
echo -e "DEBUG: xcframework for ${FFMPEG_LIB} built successfully\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "DEBUG: xcframework for ${FFMPEG_LIB} built successfully\n" 1>>"${BASEDIR}"/build.log 2>&1
@ -744,16 +471,12 @@ create_ffmpeg_kit_xcframework() {
echo -e "DEBUG: ${COMMAND_OUTPUT}\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "DEBUG: ${COMMAND_OUTPUT}\n" 1>>"${BASEDIR}"/build.log 2>&1
if [[ ${RC} -ne 0 ]]; then if [[ ${RC} -ne 0 ]]; then
echo -e "INFO: Building ${FRAMEWORK_NAME} xcframework failed\n" 1>>"${BASEDIR}"/build.log 2>&1 exit_xcframework "${FRAMEWORK_NAME}"
echo -e "failed\n\nSee build.log for details\n"
exit 1
fi fi
# DO NOT ALLOW EMPTY FRAMEWORKS # DO NOT ALLOW EMPTY FRAMEWORKS
if [[ ${COMMAND_OUTPUT} == *"is empty in library"* ]]; then if [[ ${COMMAND_OUTPUT} == *"is empty in library"* ]]; then
echo -e "INFO: Building ${FRAMEWORK_NAME} xcframework failed\n" 1>>"${BASEDIR}"/build.log 2>&1 exit_xcframework "${FRAMEWORK_NAME}"
echo -e "failed\n\nSee build.log for details\n"
exit 1
fi fi
echo -e "DEBUG: xcframework for ffmpeg-kit built successfully\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "DEBUG: xcframework for ffmpeg-kit built successfully\n" 1>>"${BASEDIR}"/build.log 2>&1
@ -1257,6 +980,33 @@ get_sdk_path() {
echo "$(xcrun --sdk "$(get_sdk_name)" --show-sdk-path 2>>"${BASEDIR}"/build.log)" echo "$(xcrun --sdk "$(get_sdk_name)" --show-sdk-path 2>>"${BASEDIR}"/build.log)"
} }
#
# 1. XCFRAMEWORK NAME
#
exit_xcframework() {
echo -e "INFO: Building $1 xcframework failed\n" 1>>"${BASEDIR}"/build.log 2>&1
echo -e "failed\n\nSee build.log for details\n"
exit 1
}
#
# 1. FRAMEWORK NAME
#
exit_framework() {
echo -e "INFO: Building $1 framework failed\n" 1>>"${BASEDIR}"/build.log 2>&1
echo -e "failed\n\nSee build.log for details\n"
exit 1
}
#
# 1. UNIVERSAL LIBRARY NAME
#
exit_universal_library() {
echo -e "\nINFO: Failed to build universal $1 library\n" 1>>"${BASEDIR}"/build.log 2>&1
echo -e "failed\n\nSee build.log for details\n"
exit 1
}
create_mason_cross_file() { create_mason_cross_file() {
cat >"$1" <<EOF cat >"$1" <<EOF
[binaries] [binaries]

View File

@ -123,7 +123,7 @@ get_arch_specific_cflags() {
echo "-arch arm64e -target $(get_target) -march=armv8.3-a+crc+crypto -mcpu=generic -DFFMPEG_KIT_ARM64E" echo "-arch arm64e -target $(get_target) -march=armv8.3-a+crc+crypto -mcpu=generic -DFFMPEG_KIT_ARM64E"
;; ;;
i386) i386)
echo "-arch i386 -target $(get_target) -march=i386 -mssse3 -mfpmath=sse -m32 -DFFMPEG_KIT_I386" echo "-arch i386 -target $(get_target) -march=i386 -mtune=i386 -mssse3 -mfpmath=sse -m32 -DFFMPEG_KIT_I386"
;; ;;
x86-64) x86-64)
echo "-arch x86_64 -target $(get_target) -march=x86-64 -msse4.2 -mpopcnt -m64 -DFFMPEG_KIT_X86_64" echo "-arch x86_64 -target $(get_target) -march=x86-64 -msse4.2 -mpopcnt -m64 -DFFMPEG_KIT_X86_64"
@ -329,22 +329,22 @@ get_size_optimization_ldflags() {
get_arch_specific_ldflags() { get_arch_specific_ldflags() {
case ${ARCH} in case ${ARCH} in
armv7) armv7)
echo "-arch armv7 -march=armv7 -mfpu=neon -mfloat-abi=softfp -fembed-bitcode -target $(get_target)" echo "-arch armv7 -march=armv7 -mfpu=neon -mfloat-abi=softfp -target $(get_target)"
;; ;;
armv7s) armv7s)
echo "-arch armv7s -march=armv7s -mfpu=neon -mfloat-abi=softfp -fembed-bitcode -target $(get_target)" echo "-arch armv7s -march=armv7s -mfpu=neon -mfloat-abi=softfp -target $(get_target)"
;; ;;
arm64) arm64)
echo "-arch arm64 -march=armv8-a+crc+crypto -fembed-bitcode -target $(get_target)" echo "-arch arm64 -march=armv8-a+crc+crypto -target $(get_target)"
;; ;;
arm64-mac-catalyst) arm64-mac-catalyst)
echo "-arch arm64 -march=armv8-a+crc+crypto -fembed-bitcode -target $(get_target) -isysroot ${SDK_PATH} -L${SDK_PATH}/System/iOSSupport/usr/lib -iframework ${SDK_PATH}/System/iOSSupport/System/Library/Frameworks" echo "-arch arm64 -march=armv8-a+crc+crypto -target $(get_target) -isysroot ${SDK_PATH} -L${SDK_PATH}/System/iOSSupport/usr/lib -iframework ${SDK_PATH}/System/iOSSupport/System/Library/Frameworks"
;; ;;
arm64-simulator) arm64-simulator)
echo "-arch arm64 -march=armv8-a+crc+crypto -target $(get_target)" echo "-arch arm64 -march=armv8-a+crc+crypto -target $(get_target)"
;; ;;
arm64e) arm64e)
echo "-arch arm64e -march=armv8.3-a+crc+crypto -fembed-bitcode -target $(get_target)" echo "-arch arm64e -march=armv8.3-a+crc+crypto -target $(get_target)"
;; ;;
i386) i386)
echo "-arch i386 -march=i386 -target $(get_target)" echo "-arch i386 -march=i386 -target $(get_target)"
@ -380,6 +380,7 @@ get_ldflags() {
esac esac
;; ;;
*) *)
# NOTE THAT ffmpeg ALSO NEEDS BITCODE, IT IS ENABLED IN ffmpeg.sh
echo "${ARCH_FLAGS} ${LINKED_LIBRARIES} ${COMMON_FLAGS} ${OPTIMIZATION_FLAGS}" echo "${ARCH_FLAGS} ${LINKED_LIBRARIES} ${COMMON_FLAGS} ${OPTIMIZATION_FLAGS}"
;; ;;
esac esac
@ -510,12 +511,6 @@ create_universal_libraries_for_ios_default_frameworks() {
echo -e "INFO: Building universal libraries in ${ROOT_UNIVERSAL_DIRECTORY_PATH} for default frameworks using ${TARGET_ARCH_LIST[@]}\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "INFO: Building universal libraries in ${ROOT_UNIVERSAL_DIRECTORY_PATH} for default frameworks using ${TARGET_ARCH_LIST[@]}\n" 1>>"${BASEDIR}"/build.log 2>&1
for library in {0..46}; do
if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then
create_universal_library "${library}" "${ARCH_VAR_IOS}"
fi
done
create_ffmpeg_universal_library "${ARCH_VAR_IOS}" create_ffmpeg_universal_library "${ARCH_VAR_IOS}"
create_ffmpeg_kit_universal_library "${ARCH_VAR_IOS}" create_ffmpeg_kit_universal_library "${ARCH_VAR_IOS}"
@ -526,12 +521,6 @@ create_universal_libraries_for_ios_default_frameworks() {
create_ios_default_frameworks() { create_ios_default_frameworks() {
echo -e "INFO: Building default frameworks\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "INFO: Building default frameworks\n" 1>>"${BASEDIR}"/build.log 2>&1
for library in {0..46}; do
if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then
create_framework "${library}" "${ARCH_VAR_IOS}"
fi
done
create_ffmpeg_framework "${ARCH_VAR_IOS}" create_ffmpeg_framework "${ARCH_VAR_IOS}"
create_ffmpeg_kit_framework "${ARCH_VAR_IOS}" create_ffmpeg_kit_framework "${ARCH_VAR_IOS}"
@ -542,14 +531,6 @@ create_ios_default_frameworks() {
create_universal_libraries_for_ios_xcframeworks() { create_universal_libraries_for_ios_xcframeworks() {
echo -e "INFO: Building universal libraries for xcframeworks using ${TARGET_ARCH_LIST[@]}\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "INFO: Building universal libraries for xcframeworks using ${TARGET_ARCH_LIST[@]}\n" 1>>"${BASEDIR}"/build.log 2>&1
for library in {0..46}; do
if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then
create_universal_library "${library}" "${ARCH_VAR_IPHONEOS}"
create_universal_library "${library}" "${ARCH_VAR_IPHONESIMULATOR}"
create_universal_library "${library}" "${ARCH_VAR_MAC_CATALYST}"
fi
done
create_ffmpeg_universal_library "${ARCH_VAR_IPHONEOS}" create_ffmpeg_universal_library "${ARCH_VAR_IPHONEOS}"
create_ffmpeg_universal_library "${ARCH_VAR_IPHONESIMULATOR}" create_ffmpeg_universal_library "${ARCH_VAR_IPHONESIMULATOR}"
create_ffmpeg_universal_library "${ARCH_VAR_MAC_CATALYST}" create_ffmpeg_universal_library "${ARCH_VAR_MAC_CATALYST}"
@ -564,14 +545,6 @@ create_universal_libraries_for_ios_xcframeworks() {
create_frameworks_for_ios_xcframeworks() { create_frameworks_for_ios_xcframeworks() {
echo -e "INFO: Building frameworks for xcframeworks\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "INFO: Building frameworks for xcframeworks\n" 1>>"${BASEDIR}"/build.log 2>&1
for library in {0..46}; do
if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then
create_framework "${library}" "${ARCH_VAR_IPHONEOS}"
create_framework "${library}" "${ARCH_VAR_IPHONESIMULATOR}"
create_framework "${library}" "${ARCH_VAR_MAC_CATALYST}"
fi
done
create_ffmpeg_framework "${ARCH_VAR_IPHONEOS}" create_ffmpeg_framework "${ARCH_VAR_IPHONEOS}"
create_ffmpeg_framework "${ARCH_VAR_IPHONESIMULATOR}" create_ffmpeg_framework "${ARCH_VAR_IPHONESIMULATOR}"
create_ffmpeg_framework "${ARCH_VAR_MAC_CATALYST}" create_ffmpeg_framework "${ARCH_VAR_MAC_CATALYST}"
@ -587,12 +560,6 @@ create_ios_xcframeworks() {
export ARCHITECTURE_VARIANT_ARRAY=("${ARCH_VAR_IPHONEOS}" "${ARCH_VAR_IPHONESIMULATOR}" "${ARCH_VAR_MAC_CATALYST}") export ARCHITECTURE_VARIANT_ARRAY=("${ARCH_VAR_IPHONEOS}" "${ARCH_VAR_IPHONESIMULATOR}" "${ARCH_VAR_MAC_CATALYST}")
echo -e "INFO: Building xcframeworks\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "INFO: Building xcframeworks\n" 1>>"${BASEDIR}"/build.log 2>&1
for library in {0..46}; do
if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then
create_xcframework "${library}"
fi
done
create_ffmpeg_xcframework create_ffmpeg_xcframework
create_ffmpeg_kit_xcframework create_ffmpeg_kit_xcframework

View File

@ -405,12 +405,6 @@ create_universal_libraries_for_macos_default_frameworks() {
echo -e "INFO: Building universal libraries in ${ROOT_UNIVERSAL_DIRECTORY_PATH} for default frameworks using ${TARGET_ARCH_LIST[@]}\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "INFO: Building universal libraries in ${ROOT_UNIVERSAL_DIRECTORY_PATH} for default frameworks using ${TARGET_ARCH_LIST[@]}\n" 1>>"${BASEDIR}"/build.log 2>&1
for library in {0..46}; do
if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then
create_universal_library "${library}" "${ARCH_VAR_MACOS}"
fi
done
create_ffmpeg_universal_library "${ARCH_VAR_MACOS}" create_ffmpeg_universal_library "${ARCH_VAR_MACOS}"
create_ffmpeg_kit_universal_library "${ARCH_VAR_MACOS}" create_ffmpeg_kit_universal_library "${ARCH_VAR_MACOS}"
@ -421,12 +415,6 @@ create_universal_libraries_for_macos_default_frameworks() {
create_macos_default_frameworks() { create_macos_default_frameworks() {
echo -e "INFO: Building default frameworks\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "INFO: Building default frameworks\n" 1>>"${BASEDIR}"/build.log 2>&1
for library in {0..46}; do
if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then
create_framework "${library}" "${ARCH_VAR_MACOS}"
fi
done
create_ffmpeg_framework "${ARCH_VAR_MACOS}" create_ffmpeg_framework "${ARCH_VAR_MACOS}"
create_ffmpeg_kit_framework "${ARCH_VAR_MACOS}" create_ffmpeg_kit_framework "${ARCH_VAR_MACOS}"
@ -437,12 +425,6 @@ create_macos_default_frameworks() {
create_universal_libraries_for_macos_xcframeworks() { create_universal_libraries_for_macos_xcframeworks() {
echo -e "INFO: Building universal libraries for xcframeworks using ${TARGET_ARCH_LIST[@]}\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "INFO: Building universal libraries for xcframeworks using ${TARGET_ARCH_LIST[@]}\n" 1>>"${BASEDIR}"/build.log 2>&1
for library in {0..46}; do
if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then
create_universal_library "${library}" "${ARCH_VAR_MACOS}"
fi
done
create_ffmpeg_universal_library "${ARCH_VAR_MACOS}" create_ffmpeg_universal_library "${ARCH_VAR_MACOS}"
create_ffmpeg_kit_universal_library "${ARCH_VAR_MACOS}" create_ffmpeg_kit_universal_library "${ARCH_VAR_MACOS}"
@ -453,12 +435,6 @@ create_universal_libraries_for_macos_xcframeworks() {
create_frameworks_for_macos_xcframeworks() { create_frameworks_for_macos_xcframeworks() {
echo -e "INFO: Building frameworks for xcframeworks\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "INFO: Building frameworks for xcframeworks\n" 1>>"${BASEDIR}"/build.log 2>&1
for library in {0..46}; do
if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then
create_framework "${library}" "${ARCH_VAR_MACOS}"
fi
done
create_ffmpeg_framework "${ARCH_VAR_MACOS}" create_ffmpeg_framework "${ARCH_VAR_MACOS}"
create_ffmpeg_kit_framework "${ARCH_VAR_MACOS}" create_ffmpeg_kit_framework "${ARCH_VAR_MACOS}"
@ -470,12 +446,6 @@ create_macos_xcframeworks() {
export ARCHITECTURE_VARIANT_ARRAY=("${ARCH_VAR_MACOS}") export ARCHITECTURE_VARIANT_ARRAY=("${ARCH_VAR_MACOS}")
echo -e "INFO: Building xcframeworks\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "INFO: Building xcframeworks\n" 1>>"${BASEDIR}"/build.log 2>&1
for library in {0..46}; do
if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then
create_xcframework "${library}"
fi
done
create_ffmpeg_xcframework create_ffmpeg_xcframework
create_ffmpeg_kit_xcframework create_ffmpeg_kit_xcframework

View File

@ -343,6 +343,7 @@ get_ldflags() {
esac esac
;; ;;
*) *)
# NOTE THAT ffmpeg ALSO NEEDS BITCODE, IT IS ENABLED IN ffmpeg.sh
echo "${ARCH_FLAGS} ${LINKED_LIBRARIES} ${COMMON_FLAGS} ${OPTIMIZATION_FLAGS}" echo "${ARCH_FLAGS} ${LINKED_LIBRARIES} ${COMMON_FLAGS} ${OPTIMIZATION_FLAGS}"
;; ;;
esac esac
@ -462,12 +463,6 @@ create_universal_libraries_for_tvos_default_frameworks() {
echo -e "INFO: Building universal libraries in ${ROOT_UNIVERSAL_DIRECTORY_PATH} for default frameworks using ${TARGET_ARCH_LIST[@]}\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "INFO: Building universal libraries in ${ROOT_UNIVERSAL_DIRECTORY_PATH} for default frameworks using ${TARGET_ARCH_LIST[@]}\n" 1>>"${BASEDIR}"/build.log 2>&1
for library in {0..46}; do
if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then
create_universal_library "${library}" "${ARCH_VAR_TVOS}"
fi
done
create_ffmpeg_universal_library "${ARCH_VAR_TVOS}" create_ffmpeg_universal_library "${ARCH_VAR_TVOS}"
create_ffmpeg_kit_universal_library "${ARCH_VAR_TVOS}" create_ffmpeg_kit_universal_library "${ARCH_VAR_TVOS}"
@ -478,12 +473,6 @@ create_universal_libraries_for_tvos_default_frameworks() {
create_tvos_default_frameworks() { create_tvos_default_frameworks() {
echo -e "INFO: Building default frameworks\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "INFO: Building default frameworks\n" 1>>"${BASEDIR}"/build.log 2>&1
for library in {0..46}; do
if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then
create_framework "${library}" "${ARCH_VAR_TVOS}"
fi
done
create_ffmpeg_framework "${ARCH_VAR_TVOS}" create_ffmpeg_framework "${ARCH_VAR_TVOS}"
create_ffmpeg_kit_framework "${ARCH_VAR_TVOS}" create_ffmpeg_kit_framework "${ARCH_VAR_TVOS}"
@ -494,13 +483,6 @@ create_tvos_default_frameworks() {
create_universal_libraries_for_tvos_xcframeworks() { create_universal_libraries_for_tvos_xcframeworks() {
echo -e "INFO: Building universal libraries for xcframeworks using ${TARGET_ARCH_LIST[@]}\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "INFO: Building universal libraries for xcframeworks using ${TARGET_ARCH_LIST[@]}\n" 1>>"${BASEDIR}"/build.log 2>&1
for library in {0..46}; do
if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then
create_universal_library "${library}" "${ARCH_VAR_APPLETVOS}"
create_universal_library "${library}" "${ARCH_VAR_APPLETVSIMULATOR}"
fi
done
create_ffmpeg_universal_library "${ARCH_VAR_APPLETVOS}" create_ffmpeg_universal_library "${ARCH_VAR_APPLETVOS}"
create_ffmpeg_universal_library "${ARCH_VAR_APPLETVSIMULATOR}" create_ffmpeg_universal_library "${ARCH_VAR_APPLETVSIMULATOR}"
@ -513,13 +495,6 @@ create_universal_libraries_for_tvos_xcframeworks() {
create_frameworks_for_tvos_xcframeworks() { create_frameworks_for_tvos_xcframeworks() {
echo -e "INFO: Building frameworks for xcframeworks\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "INFO: Building frameworks for xcframeworks\n" 1>>"${BASEDIR}"/build.log 2>&1
for library in {0..46}; do
if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then
create_framework "${library}" "${ARCH_VAR_APPLETVOS}"
create_framework "${library}" "${ARCH_VAR_APPLETVSIMULATOR}"
fi
done
create_ffmpeg_framework "${ARCH_VAR_APPLETVOS}" create_ffmpeg_framework "${ARCH_VAR_APPLETVOS}"
create_ffmpeg_framework "${ARCH_VAR_APPLETVSIMULATOR}" create_ffmpeg_framework "${ARCH_VAR_APPLETVSIMULATOR}"
@ -533,12 +508,6 @@ create_tvos_xcframeworks() {
export ARCHITECTURE_VARIANT_ARRAY=("${ARCH_VAR_APPLETVOS}" "${ARCH_VAR_APPLETVSIMULATOR}") export ARCHITECTURE_VARIANT_ARRAY=("${ARCH_VAR_APPLETVOS}" "${ARCH_VAR_APPLETVSIMULATOR}")
echo -e "INFO: Building xcframeworks\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "INFO: Building xcframeworks\n" 1>>"${BASEDIR}"/build.log 2>&1
for library in {0..46}; do
if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then
create_xcframework "${library}"
fi
done
create_ffmpeg_xcframework create_ffmpeg_xcframework
create_ffmpeg_kit_xcframework create_ffmpeg_kit_xcframework

View File

@ -571,6 +571,162 @@ GNU Lesser General Public License as published by the Free Software Foundation,
either version 3 of the License, or (at your option) any later version." either version 3 of the License, or (at your option) any later version."
} }
get_ffmpeg_libavcodec_version() {
local MAJOR=$(grep -Eo ' LIBAVCODEC_VERSION_MAJOR .*' "${BASEDIR}"/src/ffmpeg/libavcodec/version.h | sed -e 's|LIBAVCODEC_VERSION_MAJOR||g;s| ||g')
local MINOR=$(grep -Eo ' LIBAVCODEC_VERSION_MINOR .*' "${BASEDIR}"/src/ffmpeg/libavcodec/version.h | sed -e 's|LIBAVCODEC_VERSION_MINOR||g;s| ||g')
local MICRO=$(grep -Eo ' LIBAVCODEC_VERSION_MICRO .*' "${BASEDIR}"/src/ffmpeg/libavcodec/version.h | sed -e 's|LIBAVCODEC_VERSION_MICRO||g;s| ||g')
echo "${MAJOR}.${MINOR}.${MICRO}"
}
get_ffmpeg_libavcodec_major_version() {
local MAJOR=$(grep -Eo ' LIBAVCODEC_VERSION_MAJOR .*' "${BASEDIR}"/src/ffmpeg/libavcodec/version.h | sed -e 's|LIBAVCODEC_VERSION_MAJOR||g;s| ||g')
echo "${MAJOR}"
}
get_ffmpeg_libavdevice_version() {
local MAJOR=$(grep -Eo ' LIBAVDEVICE_VERSION_MAJOR .*' "${BASEDIR}"/src/ffmpeg/libavdevice/version.h | sed -e 's|LIBAVDEVICE_VERSION_MAJOR||g;s| ||g')
local MINOR=$(grep -Eo ' LIBAVDEVICE_VERSION_MINOR .*' "${BASEDIR}"/src/ffmpeg/libavdevice/version.h | sed -e 's|LIBAVDEVICE_VERSION_MINOR||g;s| ||g')
local MICRO=$(grep -Eo ' LIBAVDEVICE_VERSION_MICRO .*' "${BASEDIR}"/src/ffmpeg/libavdevice/version.h | sed -e 's|LIBAVDEVICE_VERSION_MICRO||g;s| ||g')
echo "${MAJOR}.${MINOR}.${MICRO}"
}
get_ffmpeg_libavdevice_major_version() {
local MAJOR=$(grep -Eo ' LIBAVDEVICE_VERSION_MAJOR .*' "${BASEDIR}"/src/ffmpeg/libavdevice/version.h | sed -e 's|LIBAVDEVICE_VERSION_MAJOR||g;s| ||g')
echo "${MAJOR}"
}
get_ffmpeg_libavfilter_version() {
local MAJOR=$(grep -Eo ' LIBAVFILTER_VERSION_MAJOR .*' "${BASEDIR}"/src/ffmpeg/libavfilter/version.h | sed -e 's|LIBAVFILTER_VERSION_MAJOR||g;s| ||g')
local MINOR=$(grep -Eo ' LIBAVFILTER_VERSION_MINOR .*' "${BASEDIR}"/src/ffmpeg/libavfilter/version.h | sed -e 's|LIBAVFILTER_VERSION_MINOR||g;s| ||g')
local MICRO=$(grep -Eo ' LIBAVFILTER_VERSION_MICRO .*' "${BASEDIR}"/src/ffmpeg/libavfilter/version.h | sed -e 's|LIBAVFILTER_VERSION_MICRO||g;s| ||g')
echo "${MAJOR}.${MINOR}.${MICRO}"
}
get_ffmpeg_libavfilter_major_version() {
local MAJOR=$(grep -Eo ' LIBAVFILTER_VERSION_MAJOR .*' "${BASEDIR}"/src/ffmpeg/libavfilter/version.h | sed -e 's|LIBAVFILTER_VERSION_MAJOR||g;s| ||g')
echo "${MAJOR}"
}
get_ffmpeg_libavformat_version() {
local MAJOR=$(grep -Eo ' LIBAVFORMAT_VERSION_MAJOR .*' "${BASEDIR}"/src/ffmpeg/libavformat/version.h | sed -e 's|LIBAVFORMAT_VERSION_MAJOR||g;s| ||g')
local MINOR=$(grep -Eo ' LIBAVFORMAT_VERSION_MINOR .*' "${BASEDIR}"/src/ffmpeg/libavformat/version.h | sed -e 's|LIBAVFORMAT_VERSION_MINOR||g;s| ||g')
local MICRO=$(grep -Eo ' LIBAVFORMAT_VERSION_MICRO .*' "${BASEDIR}"/src/ffmpeg/libavformat/version.h | sed -e 's|LIBAVFORMAT_VERSION_MICRO||g;s| ||g')
echo "${MAJOR}.${MINOR}.${MICRO}"
}
get_ffmpeg_libavformat_major_version() {
local MAJOR=$(grep -Eo ' LIBAVFORMAT_VERSION_MAJOR .*' "${BASEDIR}"/src/ffmpeg/libavformat/version.h | sed -e 's|LIBAVFORMAT_VERSION_MAJOR||g;s| ||g')
echo "${MAJOR}"
}
get_ffmpeg_libavutil_version() {
local MAJOR=$(grep -Eo ' LIBAVUTIL_VERSION_MAJOR .*' "${BASEDIR}"/src/ffmpeg/libavutil/version.h | sed -e 's|LIBAVUTIL_VERSION_MAJOR||g;s| ||g')
local MINOR=$(grep -Eo ' LIBAVUTIL_VERSION_MINOR .*' "${BASEDIR}"/src/ffmpeg/libavutil/version.h | sed -e 's|LIBAVUTIL_VERSION_MINOR||g;s| ||g')
local MICRO=$(grep -Eo ' LIBAVUTIL_VERSION_MICRO .*' "${BASEDIR}"/src/ffmpeg/libavutil/version.h | sed -e 's|LIBAVUTIL_VERSION_MICRO||g;s| ||g')
echo "${MAJOR}.${MINOR}.${MICRO}"
}
get_ffmpeg_libavutil_major_version() {
local MAJOR=$(grep -Eo ' LIBAVUTIL_VERSION_MAJOR .*' "${BASEDIR}"/src/ffmpeg/libavutil/version.h | sed -e 's|LIBAVUTIL_VERSION_MAJOR||g;s| ||g')
echo "${MAJOR}"
}
get_ffmpeg_libswresample_version() {
local MAJOR=$(grep -Eo ' LIBSWRESAMPLE_VERSION_MAJOR .*' "${BASEDIR}"/src/ffmpeg/libswresample/version.h | sed -e 's|LIBSWRESAMPLE_VERSION_MAJOR||g;s| ||g')
local MINOR=$(grep -Eo ' LIBSWRESAMPLE_VERSION_MINOR .*' "${BASEDIR}"/src/ffmpeg/libswresample/version.h | sed -e 's|LIBSWRESAMPLE_VERSION_MINOR||g;s| ||g')
local MICRO=$(grep -Eo ' LIBSWRESAMPLE_VERSION_MICRO .*' "${BASEDIR}"/src/ffmpeg/libswresample/version.h | sed -e 's|LIBSWRESAMPLE_VERSION_MICRO||g;s| ||g')
echo "${MAJOR}.${MINOR}.${MICRO}"
}
get_ffmpeg_libswresample_major_version() {
local MAJOR=$(grep -Eo ' LIBSWRESAMPLE_VERSION_MAJOR .*' "${BASEDIR}"/src/ffmpeg/libswresample/version.h | sed -e 's|LIBSWRESAMPLE_VERSION_MAJOR||g;s| ||g')
echo "${MAJOR}"
}
get_ffmpeg_libswscale_version() {
local MAJOR=$(grep -Eo ' LIBSWSCALE_VERSION_MAJOR .*' "${BASEDIR}"/src/ffmpeg/libswscale/version.h | sed -e 's|LIBSWSCALE_VERSION_MAJOR||g;s| ||g')
local MINOR=$(grep -Eo ' LIBSWSCALE_VERSION_MINOR .*' "${BASEDIR}"/src/ffmpeg/libswscale/version.h | sed -e 's|LIBSWSCALE_VERSION_MINOR||g;s| ||g')
local MICRO=$(grep -Eo ' LIBSWSCALE_VERSION_MICRO .*' "${BASEDIR}"/src/ffmpeg/libswscale/version.h | sed -e 's|LIBSWSCALE_VERSION_MICRO||g;s| ||g')
echo "${MAJOR}.${MINOR}.${MICRO}"
}
get_ffmpeg_libswscale_major_version() {
local MAJOR=$(grep -Eo ' LIBSWSCALE_VERSION_MAJOR .*' "${BASEDIR}"/src/ffmpeg/libswscale/version.h | sed -e 's|LIBSWSCALE_VERSION_MAJOR||g;s| ||g')
echo "${MAJOR}"
}
#
# 1. LIBRARY NAME
#
get_ffmpeg_library_version() {
case $1 in
libavcodec)
echo "$(get_ffmpeg_libavcodec_version)"
;;
libavdevice)
echo "$(get_ffmpeg_libavdevice_version)"
;;
libavfilter)
echo "$(get_ffmpeg_libavfilter_version)"
;;
libavformat)
echo "$(get_ffmpeg_libavformat_version)"
;;
libavutil)
echo "$(get_ffmpeg_libavutil_version)"
;;
libswresample)
echo "$(get_ffmpeg_libswresample_version)"
;;
libswscale)
echo "$(get_ffmpeg_libswscale_version)"
;;
esac
}
#
# 1. LIBRARY NAME
#
get_ffmpeg_library_major_version() {
case $1 in
libavcodec)
echo "$(get_ffmpeg_libavcodec_major_version)"
;;
libavdevice)
echo "$(get_ffmpeg_libavdevice_major_version)"
;;
libavfilter)
echo "$(get_ffmpeg_libavfilter_major_version)"
;;
libavformat)
echo "$(get_ffmpeg_libavformat_major_version)"
;;
libavutil)
echo "$(get_ffmpeg_libavutil_major_version)"
;;
libswresample)
echo "$(get_ffmpeg_libswresample_major_version)"
;;
libswscale)
echo "$(get_ffmpeg_libswscale_major_version)"
;;
esac
}
display_help_options() { display_help_options() {
echo -e "Options:" echo -e "Options:"
echo -e " -h, --help\t\t\tdisplay this help and exit" echo -e " -h, --help\t\t\tdisplay this help and exit"
@ -1317,11 +1473,11 @@ get_external_library_license_path() {
} }
# 1 - library index # 1 - library index
# 2 - output directory # 2 - license path
copy_external_library_license() { copy_external_library_license() {
output_path_array=("$2") license_path_array=("$2")
for output_path in "${output_path_array[@]}"; do for license_path in "${license_path_array[@]}"; do
RESULT=$(copy_external_library_license_file "$1" "${output_path}/LICENSE") RESULT=$(copy_external_library_license_file "$1" "${license_path}")
if [[ ${RESULT} -ne 0 ]]; then if [[ ${RESULT} -ne 0 ]]; then
echo 1 echo 1
return return

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
cd ../prebuilt/bundle-apple-universal-ios || exit 1 cd ../prebuilt/bundle-apple-universal-ios || exit 1
find . -name "*.a" -not -path "./ffmpeg-kit/*" -exec cp {} ./ffmpeg-kit/lib \; || exit 1 find . -name "*.dylib" -not -path "./ffmpeg-kit/*" -exec cp {} ./ffmpeg-kit/lib \; || exit 1
cp -r ffmpeg/include/* ffmpeg-kit/include || exit 1 cp -r ffmpeg/include/* ffmpeg-kit/include || exit 1
# COPY LICENSE FILE OF EACH LIBRARY # COPY LICENSE FILE OF EACH LIBRARY

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
cd ../prebuilt/bundle-apple-universal-macos || exit 1 cd ../prebuilt/bundle-apple-universal-macos || exit 1
find . -name "*.a" -not -path "./ffmpeg-kit/*" -exec cp {} ./ffmpeg-kit/lib \; || exit 1 find . -name "*.dylib" -not -path "./ffmpeg-kit/*" -exec cp {} ./ffmpeg-kit/lib \; || exit 1
cp -r ffmpeg/include/* ffmpeg-kit/include || exit 1 cp -r ffmpeg/include/* ffmpeg-kit/include || exit 1
# COPY LICENSE FILE OF EACH LIBRARY # COPY LICENSE FILE OF EACH LIBRARY

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
cd ../prebuilt/bundle-apple-universal-tvos || exit 1 cd ../prebuilt/bundle-apple-universal-tvos || exit 1
find . -name "*.a" -not -path "./ffmpeg-kit/*" -exec cp {} ./ffmpeg-kit/lib \; || exit 1 find . -name "*.dylib" -not -path "./ffmpeg-kit/*" -exec cp {} ./ffmpeg-kit/lib \; || exit 1
cp -r ffmpeg/include/* ffmpeg-kit/include || exit 1 cp -r ffmpeg/include/* ffmpeg-kit/include || exit 1
# COPY LICENSE FILE OF EACH LIBRARY # COPY LICENSE FILE OF EACH LIBRARY

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-ios-audio" s.name = "ffmpeg-kit-ios-audio"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit iOS Audio Static Framework" s.summary = "FFmpeg Kit iOS Audio Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-ios-full-gpl" s.name = "ffmpeg-kit-ios-full-gpl"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit iOS Full GPL Static Framework" s.summary = "FFmpeg Kit iOS Full GPL Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-ios-full" s.name = "ffmpeg-kit-ios-full"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit iOS Full Static Framework" s.summary = "FFmpeg Kit iOS Full Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-ios-https-gpl" s.name = "ffmpeg-kit-ios-https-gpl"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit iOS Https GPL Static Framework" s.summary = "FFmpeg Kit iOS Https GPL Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-ios-https" s.name = "ffmpeg-kit-ios-https"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit iOS Https Static Framework" s.summary = "FFmpeg Kit iOS Https Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-ios-min-gpl" s.name = "ffmpeg-kit-ios-min-gpl"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit iOS Min GPL Static Framework" s.summary = "FFmpeg Kit iOS Min GPL Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-ios-min" s.name = "ffmpeg-kit-ios-min"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit iOS Min Static Framework" s.summary = "FFmpeg Kit iOS Min Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-ios-video" s.name = "ffmpeg-kit-ios-video"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit iOS Video Static Framework" s.summary = "FFmpeg Kit iOS Video Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-macos-audio" s.name = "ffmpeg-kit-macos-audio"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit macOS Audio Static Framework" s.summary = "FFmpeg Kit macOS Audio Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-macos-full-gpl" s.name = "ffmpeg-kit-macos-full-gpl"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit macOS Full GPL Static Framework" s.summary = "FFmpeg Kit macOS Full GPL Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-macos-full" s.name = "ffmpeg-kit-macos-full"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit macOS Full Static Framework" s.summary = "FFmpeg Kit macOS Full Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-macos-https-gpl" s.name = "ffmpeg-kit-macos-https-gpl"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit macOS Https GPL Static Framework" s.summary = "FFmpeg Kit macOS Https GPL Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-macos-https" s.name = "ffmpeg-kit-macos-https"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit macOS Https Static Framework" s.summary = "FFmpeg Kit macOS Https Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-macos-min-gpl" s.name = "ffmpeg-kit-macos-min-gpl"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit macOS Min GPL Static Framework" s.summary = "FFmpeg Kit macOS Min GPL Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-macos-min" s.name = "ffmpeg-kit-macos-min"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit macOS Min Static Framework" s.summary = "FFmpeg Kit macOS Min Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-macos-video" s.name = "ffmpeg-kit-macos-video"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit macOS Video Static Framework" s.summary = "FFmpeg Kit macOS Video Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-tvos-audio" s.name = "ffmpeg-kit-tvos-audio"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit tvOS Audio Static Framework" s.summary = "FFmpeg Kit tvOS Audio Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-tvos-full-gpl" s.name = "ffmpeg-kit-tvos-full-gpl"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit tvOS Full GPL Static Framework" s.summary = "FFmpeg Kit tvOS Full GPL Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-tvos-full" s.name = "ffmpeg-kit-tvos-full"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit tvOS Full Static Framework" s.summary = "FFmpeg Kit tvOS Full Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-tvos-https-gpl" s.name = "ffmpeg-kit-tvos-https-gpl"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit tvOS Https GPL Static Framework" s.summary = "FFmpeg Kit tvOS Https GPL Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-tvos-https" s.name = "ffmpeg-kit-tvos-https"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit tvOS Https Static Framework" s.summary = "FFmpeg Kit tvOS Https Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-tvos-min-gpl" s.name = "ffmpeg-kit-tvos-min-gpl"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit tvOS Min GPL Static Framework" s.summary = "FFmpeg Kit tvOS Min GPL Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-tvos-min" s.name = "ffmpeg-kit-tvos-min"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit tvOS Min Static Framework" s.summary = "FFmpeg Kit tvOS Min Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "ffmpeg-kit-tvos-video" s.name = "ffmpeg-kit-tvos-video"
s.version = "VERSION" s.version = "VERSION"
s.summary = "FFmpeg Kit tvOS Video Static Framework" s.summary = "FFmpeg Kit tvOS Video Shared Framework"
s.description = <<-DESC s.description = <<-DESC
DESCRIPTION DESCRIPTION
DESC DESC

View File

@ -36,7 +36,7 @@ create_package() {
mkdir -p "${CURRENT_UNIVERSAL_PACKAGE}"/lib || exit 1 mkdir -p "${CURRENT_UNIVERSAL_PACKAGE}"/lib || exit 1
cd "${SOURCE_UNIVERSAL_PACKAGE}" || exit 1 cd "${SOURCE_UNIVERSAL_PACKAGE}" || exit 1
find . -name "*.a" -exec cp {} "${CURRENT_UNIVERSAL_PACKAGE}"/lib \; || exit 1 find . -name "*.dylib" -exec cp {} "${CURRENT_UNIVERSAL_PACKAGE}"/lib \; || exit 1
# COPY THE LICENSE FILE OF EACH LIBRARY # COPY THE LICENSE FILE OF EACH LIBRARY
LICENSE_FILES=$(find . -name LICENSE | grep -vi ffmpeg) LICENSE_FILES=$(find . -name LICENSE | grep -vi ffmpeg)

View File

@ -35,7 +35,7 @@ create_package() {
mkdir -p "${CURRENT_UNIVERSAL_PACKAGE}"/lib || exit 1 mkdir -p "${CURRENT_UNIVERSAL_PACKAGE}"/lib || exit 1
cd "${SOURCE_UNIVERSAL_PACKAGE}" || exit 1 cd "${SOURCE_UNIVERSAL_PACKAGE}" || exit 1
find . -name "*.a" -exec cp {} "${CURRENT_UNIVERSAL_PACKAGE}"/lib \; || exit 1 find . -name "*.dylib" -exec cp {} "${CURRENT_UNIVERSAL_PACKAGE}"/lib \; || exit 1
# COPY THE LICENSE FILE OF EACH LIBRARY # COPY THE LICENSE FILE OF EACH LIBRARY
LICENSE_FILES=$(find . -name LICENSE | grep -vi ffmpeg) LICENSE_FILES=$(find . -name LICENSE | grep -vi ffmpeg)

View File

@ -35,7 +35,7 @@ create_package() {
mkdir -p "${CURRENT_UNIVERSAL_PACKAGE}"/lib || exit 1 mkdir -p "${CURRENT_UNIVERSAL_PACKAGE}"/lib || exit 1
cd "${SOURCE_UNIVERSAL_PACKAGE}" || exit 1 cd "${SOURCE_UNIVERSAL_PACKAGE}" || exit 1
find . -name "*.a" -exec cp {} "${CURRENT_UNIVERSAL_PACKAGE}"/lib \; || exit 1 find . -name "*.dylib" -exec cp {} "${CURRENT_UNIVERSAL_PACKAGE}"/lib \; || exit 1
# COPY LICENSE FILE OF EACH LIBRARY # COPY LICENSE FILE OF EACH LIBRARY
LICENSE_FILES=$(find . -name LICENSE | grep -vi ffmpeg) LICENSE_FILES=$(find . -name LICENSE | grep -vi ffmpeg)

View File

@ -165,7 +165,7 @@ if [[ -z ${FFMPEG_KIT_XCF_BUILD} ]] && [[ ${ENABLED_ARCHITECTURES[${ARCH_ARM64}]
disable_arch "arm64-simulator" disable_arch "arm64-simulator"
fi fi
echo -e "\nBuilding ffmpeg-kit ${BUILD_TYPE_ID}static library for tvOS\n" echo -e "\nBuilding ffmpeg-kit ${BUILD_TYPE_ID}shared library for tvOS\n"
echo -e -n "INFO: Building ffmpeg-kit ${BUILD_VERSION} ${BUILD_TYPE_ID}for tvOS: " 1>>"${BASEDIR}"/build.log 2>&1 echo -e -n "INFO: Building ffmpeg-kit ${BUILD_VERSION} ${BUILD_TYPE_ID}for tvOS: " 1>>"${BASEDIR}"/build.log 2>&1
echo -e "$(date)\n" 1>>"${BASEDIR}"/build.log 2>&1 echo -e "$(date)\n" 1>>"${BASEDIR}"/build.log 2>&1