mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-11-06 17:00:13 +00:00
108 lines
2.7 KiB
Python
108 lines
2.7 KiB
Python
load("//Config:buck_rule_macros.bzl", "static_library", "gen_header_targets", "merge_maps")
|
|
|
|
headers = [
|
|
"mozjpeg/turbojpeg.h",
|
|
"mozjpeg/jpeglib.h",
|
|
"mozjpeg/jmorecfg.h",
|
|
"mozjpeg/jconfig.h",
|
|
]
|
|
|
|
libs = [
|
|
"jpeg",
|
|
"turbojpeg"
|
|
]
|
|
|
|
genrule(
|
|
name = "libmozjpeg_build",
|
|
srcs = glob([
|
|
"mozjpeg/**/*",
|
|
], exclude = ["mozjpeg/**/.*"]) + [
|
|
"build-mozjpeg-buck.sh",
|
|
],
|
|
bash =
|
|
"""
|
|
set -ex
|
|
|
|
mkdir -p "$OUT"
|
|
mkdir -p "$OUT/Public/mozjpeg"
|
|
mkdir -p "$OUT/Public/lib"
|
|
|
|
CMAKE_DIR="$(location //third-party/cmake:cmake)/cmake-3.16.0"
|
|
|
|
BUILD_ARCH="arm64"
|
|
|
|
BUILD_DIR="$OUT/$BUILD_ARCH"
|
|
rm -rf "$BUILD_DIR"
|
|
mkdir -p "$BUILD_DIR"
|
|
|
|
cp "$SRCDIR/build-mozjpeg-buck.sh" "$BUILD_DIR/"
|
|
|
|
cp -R "$SRCDIR/mozjpeg" "$BUILD_DIR/"
|
|
|
|
mkdir -p "$BUILD_DIR/Public/mozjpeg"
|
|
|
|
PATH="$PATH:$CMAKE_DIR/bin" sh $BUILD_DIR/build-mozjpeg-buck.sh $BUILD_ARCH "$BUILD_DIR/mozjpeg" "$BUILD_DIR"
|
|
|
|
cp $BUILD_DIR/mozjpeg/turbojpeg.h "$OUT/Public/mozjpeg/"
|
|
cp $BUILD_DIR/mozjpeg/jpeglib.h "$OUT/Public/mozjpeg/"
|
|
cp $BUILD_DIR/mozjpeg/jmorecfg.h "$OUT/Public/mozjpeg/"
|
|
cp $BUILD_DIR/build/jconfig.h "$OUT/Public/mozjpeg/"
|
|
|
|
BUILD_ARCH="armv7"
|
|
|
|
BUILD_DIR="$OUT/$BUILD_ARCH"
|
|
rm -rf "$BUILD_DIR"
|
|
mkdir -p "$BUILD_DIR"
|
|
|
|
cp "$SRCDIR/build-mozjpeg-buck.sh" "$BUILD_DIR/"
|
|
|
|
cp -R "$SRCDIR/mozjpeg" "$BUILD_DIR/"
|
|
|
|
mkdir -p "$BUILD_DIR/Public/mozjpeg"
|
|
|
|
PATH="$PATH:$CMAKE_DIR/bin" sh $BUILD_DIR/build-mozjpeg-buck.sh $BUILD_ARCH "$BUILD_DIR/mozjpeg" "$BUILD_DIR"
|
|
|
|
lipo -create $OUT/arm64/build/libjpeg.a $OUT/armv7/build/libjpeg.a -output $OUT/Public/lib/libjpeg.a
|
|
lipo -create $OUT/arm64/build/libturbojpeg.a $OUT/armv7/build/libturbojpeg.a -output $OUT/Public/lib/libturbojpeg.a
|
|
""",
|
|
out = "libmozjpeg",
|
|
visibility = [
|
|
"PUBLIC",
|
|
]
|
|
)
|
|
|
|
mozjpeg_header_targets = gen_header_targets(headers, "libmozjpeg_header_", "", "libmozjpeg_build", "Public")
|
|
|
|
apple_library(
|
|
name = "mozjpeg_lib",
|
|
exported_headers = mozjpeg_header_targets,
|
|
visibility = [
|
|
"//third-party/mozjpeg:mozjpeg"
|
|
],
|
|
header_namespace = "mozjpeg",
|
|
linker_flags = [
|
|
"-L$(location :libmozjpeg_build)/Public/lib",
|
|
"-ljpeg",
|
|
"-lturbojpeg",
|
|
],
|
|
exported_linker_flags = [
|
|
"-L$(location :libmozjpeg_build)/Public/lib",
|
|
"-ljpeg",
|
|
"-lturbojpeg",
|
|
],
|
|
deps = [
|
|
":libmozjpeg_build",
|
|
],
|
|
)
|
|
|
|
static_library(
|
|
name = "mozjpeg",
|
|
exported_headers = mozjpeg_header_targets,
|
|
deps = [
|
|
":libmozjpeg_build",
|
|
":mozjpeg_lib",
|
|
],
|
|
frameworks = [
|
|
"$SDKROOT/System/Library/Frameworks/Foundation.framework",
|
|
],
|
|
) |