From 7fbf1402658762aaec1ff4ceb98b6bda98e58d51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20R=C4=85czy?= Date: Fri, 28 Jul 2023 02:43:30 +0200 Subject: [PATCH] libyuv: universal binary build for macOS (#29170) * Create universal binary for libyuv * Add comment about universal binaries to build script * Remove duplicate license old-commit-hash: f911e5f02869475acfb634a058771390fb2273c7 --- SConstruct | 3 +-- third_party/libyuv/Darwin/lib/libyuv.a | 3 +++ third_party/libyuv/LICENSE.libyuv | 29 ----------------------- third_party/libyuv/build.sh | 12 ++++++++++ third_party/libyuv/build.txt | 4 ---- third_party/libyuv/mac/lib/libyuv.a | 3 --- third_party/libyuv/mac_arm64/lib/libyuv.a | 3 --- 7 files changed, 16 insertions(+), 41 deletions(-) create mode 100644 third_party/libyuv/Darwin/lib/libyuv.a delete mode 100644 third_party/libyuv/LICENSE.libyuv create mode 100644 third_party/libyuv/build.sh delete mode 100644 third_party/libyuv/build.txt delete mode 100644 third_party/libyuv/mac/lib/libyuv.a delete mode 100644 third_party/libyuv/mac_arm64/lib/libyuv.a diff --git a/SConstruct b/SConstruct index ce497e2134..616fa2cd88 100644 --- a/SConstruct +++ b/SConstruct @@ -117,9 +117,8 @@ else: # MacOS if arch == "Darwin": - yuv_dir = "mac" if real_arch != "arm64" else "mac_arm64" libpath = [ - f"#third_party/libyuv/{yuv_dir}/lib", + f"#third_party/libyuv/{arch}/lib", f"#third_party/acados/{arch}/lib", f"{brew_prefix}/lib", f"{brew_prefix}/opt/openssl@3.0/lib", diff --git a/third_party/libyuv/Darwin/lib/libyuv.a b/third_party/libyuv/Darwin/lib/libyuv.a new file mode 100644 index 0000000000..b72979ef19 --- /dev/null +++ b/third_party/libyuv/Darwin/lib/libyuv.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:497e01c39e1629a89afa730341fe066c2e926966c5f050003e7fde2ce46d9da3 +size 863648 diff --git a/third_party/libyuv/LICENSE.libyuv b/third_party/libyuv/LICENSE.libyuv deleted file mode 100644 index c911747a6b..0000000000 --- a/third_party/libyuv/LICENSE.libyuv +++ /dev/null @@ -1,29 +0,0 @@ -Copyright 2011 The LibYuv Project Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/third_party/libyuv/build.sh b/third_party/libyuv/build.sh new file mode 100644 index 0000000000..e044312d05 --- /dev/null +++ b/third_party/libyuv/build.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +set -e + +git clone https://chromium.googlesource.com/libyuv/libyuv +cd libyuv +git reset --hard 4a14cb2e81235ecd656e799aecaaf139db8ce4a2 +cmake . + +## To create universal binary on Darwin: +## ``` +## lipo -create -output Darwin/libyuv.a path-to-x64/libyuv.a path-to-arm64/libyuv.a +## ``` \ No newline at end of file diff --git a/third_party/libyuv/build.txt b/third_party/libyuv/build.txt deleted file mode 100644 index 376e981ec7..0000000000 --- a/third_party/libyuv/build.txt +++ /dev/null @@ -1,4 +0,0 @@ -git clone https://chromium.googlesource.com/libyuv/libyuv -cd libyuv -git reset --hard 4a14cb2e81235ecd656e799aecaaf139db8ce4a2 -cmake . diff --git a/third_party/libyuv/mac/lib/libyuv.a b/third_party/libyuv/mac/lib/libyuv.a deleted file mode 100644 index c4c6b7969e..0000000000 --- a/third_party/libyuv/mac/lib/libyuv.a +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cd9322e6d95a76ecde062f12627762f5904add8264c5425fa59293270d0ee63b -size 484992 diff --git a/third_party/libyuv/mac_arm64/lib/libyuv.a b/third_party/libyuv/mac_arm64/lib/libyuv.a deleted file mode 100644 index 6a94a81a84..0000000000 --- a/third_party/libyuv/mac_arm64/lib/libyuv.a +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b3243abd863e91d4021efd51f37ec695b0460380eb669db1d15e567caf9819ba -size 378608