Skip to content

Commit eb4c3ee

Browse files
committed
[TF][REFACTOR] Replace tlottie with rlottie
there won't be rustslop on any project I maintain
1 parent 6e281d2 commit eb4c3ee

11 files changed

Lines changed: 256 additions & 299 deletions

File tree

.gitmodules

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,6 @@
1010
[submodule "TMessagesProj/lib/jlatexmath"]
1111
path = TMessagesProj/lib/jlatexmath
1212
url = https://github.com/dkaraush/jlatexmath-android.git
13-
[submodule "TMessagesProj/jni/tlottie"]
14-
path = TMessagesProj/jni/tlottie
15-
url = https://github.com/dkaraush/tlottie.git
1613
[submodule "TMessagesProj/jni/libwebp"]
1714
path = TMessagesProj/jni/libwebp
1815
url = https://github.com/webmproject/libwebp
@@ -31,3 +28,6 @@
3128
[submodule "TMessagesProj/jni/tdlib"]
3229
path = TMessagesProj/jni/tdlib
3330
url = https://github.com/tdlib/td
31+
[submodule "TMessagesProj/jni/rlottie"]
32+
path = TMessagesProj/jni/rlottie
33+
url = https://github.com/dkaraush/rlottie.git

TMessagesProj/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ idea {
99
excludeDirs += [
1010
file('jni/third_party'),
1111
file('jni/ffmpeg'),
12-
file('jni/tlottie'),
12+
file('jni/rlottie'),
1313
file('jni/libressl'),
1414
file('jni/sqlite')
1515
]

TMessagesProj/jni/CMakeLists.txt

Lines changed: 60 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set(CMAKE_C_FLAGS "-w -std=c11 -DANDROID -D_LARGEFILE_SOURCE=1 -g -Wno-error=imp
55
set(CMAKE_ASM_FLAGS "${CFLAGS} -x assembler-with-cpp")
66
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffunction-sections -fdata-sections -fvisibility=hidden -flto=full")
77
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ffunction-sections -fdata-sections -fvisibility=hidden -fvisibility-inlines-hidden -flto=full")
8-
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -flto=full -Wl,--gc-sections -Wl,--icf=safe -Wl,-Bsymbolic -Wl,--exclude-libs,libtgvoip.a,libtgcalls.a,libtgcalls_tp.a,libtgnet.a,libtlottie.a,libsqlite.a,libopus.a,
8+
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -flto=full -Wl,--gc-sections -Wl,--icf=safe -Wl,-Bsymbolic -Wl,--exclude-libs,libtgvoip.a,libtgcalls.a,libtgcalls_tp.a,libtgnet.a,librlottie.a,libsqlite.a,libopus.a,
99
${CMAKE_HOME_DIRECTORY}/ffmpeg/build/${ANDROID_ABI}/lib/libswscale.a,
1010
${CMAKE_HOME_DIRECTORY}/ffmpeg/build/${ANDROID_ABI}/lib/libavformat.a,
1111
${CMAKE_HOME_DIRECTORY}/ffmpeg/build/${ANDROID_ABI}/lib/libavcodec.a,
@@ -89,10 +89,64 @@ target_include_directories(tgnet PUBLIC
8989
target_link_libraries(tgnet
9090
crypto)
9191

92-
# tlottie (prebuilt Rust static library)
93-
add_library(tlottie STATIC IMPORTED)
94-
set_target_properties(tlottie PROPERTIES
95-
IMPORTED_LOCATION ${CMAKE_HOME_DIRECTORY}/tlottie_lib/${ANDROID_ABI}/libtlottie.a)
92+
#rlottie
93+
add_library(rlottie STATIC
94+
rlottie/src/lottie/lottieanimation.cpp
95+
rlottie/src/lottie/lottieitem.cpp
96+
rlottie/src/lottie/lottiekeypath.cpp
97+
rlottie/src/lottie/lottieloader.cpp
98+
rlottie/src/lottie/lottiemodel.cpp
99+
rlottie/src/lottie/lottieparser.cpp
100+
rlottie/src/lottie/lottieproxymodel.cpp
101+
rlottie/src/vector/freetype/v_ft_math.cpp
102+
rlottie/src/vector/freetype/v_ft_raster.cpp
103+
rlottie/src/vector/freetype/v_ft_stroker.cpp
104+
rlottie/src/vector/pixman/vregion.cpp
105+
rlottie/src/vector/stb/stb_image.cpp
106+
rlottie/src/vector/vbezier.cpp
107+
rlottie/src/vector/vbitmap.cpp
108+
rlottie/src/vector/vbrush.cpp
109+
rlottie/src/vector/vcompositionfunctions.cpp
110+
rlottie/src/vector/vdasher.cpp
111+
rlottie/src/vector/vdebug.cpp
112+
rlottie/src/vector/vdrawable.cpp
113+
rlottie/src/vector/vdrawhelper.cpp
114+
rlottie/src/vector/vdrawhelper_neon.cpp
115+
rlottie/src/vector/velapsedtimer.cpp
116+
rlottie/src/vector/vimageloader.cpp
117+
rlottie/src/vector/vinterpolator.cpp
118+
rlottie/src/vector/vmatrix.cpp
119+
rlottie/src/vector/vpainter.cpp
120+
rlottie/src/vector/vpath.cpp
121+
rlottie/src/vector/vpathmesure.cpp
122+
rlottie/src/vector/vraster.cpp
123+
rlottie/src/vector/vrect.cpp
124+
rlottie/src/vector/vrle.cpp)
125+
target_compile_options(rlottie PUBLIC
126+
-Wall -fno-rtti -finline-functions -ffast-math -Oz -fno-unwind-tables -fno-asynchronous-unwind-tables -Wnon-virtual-dtor -Woverloaded-virtual -Wno-unused-parameter -fvisibility=hidden)
127+
set_target_properties(rlottie PROPERTIES
128+
ANDROID_ARM_MODE arm)
129+
target_compile_definitions(rlottie PUBLIC
130+
HAVE_PTHREAD NDEBUG)
131+
target_include_directories(rlottie PUBLIC
132+
./
133+
rlottie/inc
134+
rlottie/src/vector/
135+
rlottie/src/vector/pixman
136+
rlottie/src/vector/freetype
137+
rlottie/src/vector/stb)
138+
139+
if (${ANDROID_ABI} STREQUAL "armeabi-v7a")
140+
target_compile_definitions(rlottie PUBLIC
141+
USE_ARM_NEON)
142+
target_sources(rlottie PRIVATE
143+
rlottie/src/vector/pixman/pixman-arm-neon-asm.S)
144+
elseif(${ANDROID_ABI} STREQUAL "arm64-v8a")
145+
target_compile_definitions(rlottie PUBLIC
146+
USE_ARM_NEON __ARM64_NEON__)
147+
target_sources(rlottie PRIVATE
148+
rlottie/src/vector/pixman/pixman-arma64-neon-asm.S)
149+
endif()
96150

97151
#sqlite
98152
add_library(sqlite STATIC
@@ -422,7 +476,6 @@ target_include_directories(${NATIVE_LIB} PUBLIC
422476
emoji
423477
exoplayer/include
424478
intro
425-
tlottie/include
426479
tgcalls/
427480
webrtc/
428481
tde2e/include
@@ -437,7 +490,7 @@ target_link_libraries(${NATIVE_LIB}
437490
tgcalls
438491
tgcalls_tp
439492
tgnet
440-
tlottie
493+
rlottie
441494
sqlite
442495
swscale
443496
avformat

0 commit comments

Comments
 (0)