Skip to content

Commit 8480af2

Browse files
committed
merge
2 parents aae406c + 6b7f596 commit 8480af2

File tree

710 files changed

+94672
-49268
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

710 files changed

+94672
-49268
lines changed

CMakeLists.txt

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ if(MSVC)
4646
elseif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
4747
# Update if necessary
4848
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-long-long -pedantic -std=gnu11 -fPIC -Wno-misleading-indentation")
49-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-long-long -pedantic -std=c++11 -fPIC -Wno-misleading-indentation -Wno-reorder")
49+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-long-long -pedantic -std=c++11 -fPIC -Wno-misleading-indentation -Wno-reorder -Wno-format-overflow")
5050
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fomit-frame-pointer")
5151
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fomit-frame-pointer")
5252
endif()
@@ -134,6 +134,8 @@ endif (NOT DEFINED ENABLE_DBUS_VIEWER_EVENTS)
134134
SET (CRGUI_DEFS -DCOLOR_BACKBUFFER=0 -DLDOM_USE_OWN_MEM_MAN=0 -DGRAY_BACKBUFFER_BITS=${GRAY_BACKBUFFER_BITS}
135135
-DENABLE_DBUS_VIEWER_EVENTS=${ENABLE_DBUS_VIEWER_EVENTS})
136136
SET (DESKTOP_DEFS -DCOLOR_BACKBUFFER=1 -DLDOM_USE_OWN_MEM_MAN=1 -DUSE_FREETYPE=1 )
137+
# Uncomment to test e-ink style color palette on Desktop
138+
#SET (DESKTOP_DEFS -DCOLOR_BACKBUFFER=0 -DGRAY_BACKBUFFER_BITS=4 -DLDOM_USE_OWN_MEM_MAN=1 -DUSE_FREETYPE=1 )
137139

138140
if( ${GUI} STREQUAL QT )
139141
FIND_PACKAGE( Qt4 REQUIRED )
@@ -213,6 +215,7 @@ endif(NOT MAC)
213215

214216
if (NOT ${GUI} STREQUAL FB2PROPS )
215217
if (NOT MAC)
218+
216219
if (NOT MSVC AND NOT CR3_PNG)
217220
FIND_PACKAGE(PNG)
218221
endif (NOT MSVC AND NOT CR3_PNG)
@@ -237,7 +240,7 @@ if (NOT JPEG_FOUND)
237240
endif (NOT JPEG_FOUND)
238241

239242
if (NOT MSVC AND NOT CR3_FREETYPE)
240-
FIND_PACKAGE(Freetype)
243+
FIND_PACKAGE(Freetype 2.10.0)
241244
FIND_PACKAGE(HarfBuzz)
242245
endif (NOT MSVC AND NOT CR3_FREETYPE)
243246

@@ -274,10 +277,8 @@ if (NOT MSVC)
274277
endif(NOT MSVC)
275278

276279
if (FONTCONFIG_FOUND)
277-
message("System FontConfig found")
278280
set(DESKTOP_DEFS ${DESKTOP_DEFS} -DUSE_FONTCONFIG=1)
279281
else()
280-
message("System FontConfig not found")
281282
set(DESKTOP_DEFS ${DESKTOP_DEFS} -DUSE_FONTCONFIG=0)
282283
endif (FONTCONFIG_FOUND)
283284

@@ -304,6 +305,28 @@ if (NOT LIBUNIBREAK_FOUND)
304305
SET(LIBUNIBREAK_LIBRARIES unibreak)
305306
endif (NOT LIBUNIBREAK_FOUND)
306307

308+
find_package(ZSTD)
309+
if (NOT ZSTD_FOUND)
310+
message("\nSystem zstd not found, will build local one\n")
311+
set(ZSTD_LEGACY_SUPPORT OFF CACHE BOOL "LEGACY SUPPORT" FORCE)
312+
set(ZSTD_MULTITHREAD_SUPPORT OFF CACHE BOOL "MULTITHREADING SUPPORT" FORCE)
313+
set(ZSTD_BUILD_PROGRAMS OFF CACHE BOOL "BUILD PROGRAMS" FORCE)
314+
set(ZSTD_BUILD_CONTRIB OFF CACHE BOOL "BUILD CONTRIB" FORCE)
315+
set(ZSTD_BUILD_TESTS OFF CACHE BOOL "BUILD TESTS" FORCE)
316+
set(ZSTD_BUILD_STATIC ON CACHE BOOL "BUILD STATIC LIBRARIES" FORCE)
317+
set(ZSTD_BUILD_SHARED OFF CACHE BOOL "BUILD SHARED LIBRARIES" FORCE)
318+
add_subdirectory(thirdparty/${REPO_ZSTD_SRCDIR}/build/cmake)
319+
SET(ZSTD_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/${REPO_ZSTD_SRCDIR}/lib CACHE PATH "Include directories needed to use ZSTD" FORCE)
320+
SET(ZSTD_LIBRARIES libzstd_static CACHE FILEPATH "Libraries needed to link to ZSTD" FORCE)
321+
endif(NOT ZSTD_FOUND)
322+
323+
find_package(utf8proc)
324+
325+
if (UTF8PROC_FOUND)
326+
set(DESKTOP_DEFS ${DESKTOP_DEFS} -DUSE_UTF8PROC=1)
327+
else()
328+
set(DESKTOP_DEFS ${DESKTOP_DEFS} -DUSE_UTF8PROC=0)
329+
endif (UTF8PROC_FOUND)
307330

308331
endif (NOT MAC)
309332

@@ -337,6 +360,7 @@ INCLUDE_DIRECTORIES(
337360
${CHM_INCLUDE_DIR}
338361
${FRIBIDI_INCLUDE_DIR}
339362
${LIBUNIBREAK_INCLUDE_DIR}
363+
${ZSTD_INCLUDE_DIRS}
340364
)
341365

342366
if ( ${GUI} STREQUAL FB2PROPS )
@@ -355,11 +379,15 @@ SET(STD_LIBS
355379
${ANTIWORD_LIBRARIES}
356380
${FRIBIDI_LIBRARIES}
357381
${LIBUNIBREAK_LIBRARIES}
382+
${ZSTD_LIBRARIES}
358383
qimagescale
359384
)
360385
if (FONTCONFIG_FOUND)
361386
set(STD_LIBS ${STD_LIBS} ${FONTCONFIG_LIBRARIES})
362387
endif (FONTCONFIG_FOUND)
388+
if (UTF8PROC_FOUND)
389+
set(STD_LIBS ${STD_LIBS} ${UTF8PROC_LIBRARIES})
390+
endif (UTF8PROC_FOUND)
363391
include_directories(${FT_INCLUDE_PATH})
364392
endif ( ${GUI} STREQUAL FB2PROPS )
365393

@@ -372,8 +400,6 @@ ADD_SUBDIRECTORY(tinydict)
372400
endif ( NOT ${GUI} STREQUAL FB2PROPS )
373401

374402

375-
include(FindPkgConfig)
376-
377403
if ( ${GUI} STREQUAL CRGUI_XCB )
378404
message("Will make CR3GUI for XCB")
379405
ADD_DEFINITIONS( -DCR_USE_XCB=1 ${CRGUI_DEFS} )

android/.idea/gradle.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

android/app/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,5 @@
44
/debug/
55
/release/
66
/release_stripped/
7+
/primary/
8+
/fdroid/

android/app/CMakeLists.txt

Lines changed: 83 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ set(CR3_ROOT ${PROJECT_SOURCE_DIR}/../..)
1313
include(${CR3_ROOT}/thirdparty_repo/repo_srcdirs.cmake)
1414

1515
include_directories(${CR3_ROOT}/crengine/include)
16-
include_directories(${CR3_ROOT}/crengine/fc-lang)
1716
include_directories(${CR3_ROOT}/thirdparty/${REPO_LIBPNG_SRCDIR})
1817
include_directories(thirdparty_libs/libpng/lib)
1918
include_directories(${CR3_ROOT}/thirdparty/${REPO_FREETYPE_SRCDIR})
@@ -27,6 +26,8 @@ include_directories(${CR3_ROOT}/thirdparty_unman/nanosvg/src)
2726
include_directories(${CR3_ROOT}/thirdparty/${REPO_FRIBIDI_SRCDIR}/lib)
2827
include_directories(thirdparty_libs/fribidi/lib)
2928
include_directories(${CR3_ROOT}/thirdparty/${REPO_LIBUNIBREAK_SRCDIR}/src)
29+
include_directories(${CR3_ROOT}/thirdparty/${REPO_ZSTD_SRCDIR}/lib)
30+
include_directories(${CR3_ROOT}/thirdparty/${REPO_UTF8PROC_SRCDIR})
3031

3132
add_definitions(-DLINUX=1 -D_LINUX=1 -DFOR_ANDROID=1 -DCR3_PATCH)
3233
add_definitions(-DFT_CONFIG_MODULES_H=<android/config/ftmodule.h> -DFT_CONFIG_OPTIONS_H=<android/config/ftoption.h>)
@@ -39,6 +40,7 @@ add_definitions(-DMAX_IMAGE_SCALE_MUL=2)
3940
add_definitions(-DUSE_NANOSVG=1)
4041
add_definitions(-DBUNDLED_FRIBIDI=1)
4142
add_definitions(-DKO_LIBUNIBREAK_PATCH=1) # patch "add_lb_get_char_class.patch" for libunibreak from koreader
43+
add_definitions(-DUSE_UTF8PROC=1)
4244

4345
#set(LOCAL_CFLAGS "-Wno-psabi -Wno-unused-variable -Wno-sign-compare -Wno-write-strings -Wno-main -Wno-unused-but-set-variable -Wno-unused-function -Wall")
4446
# Option '-Wl,--no-merge-exidx-entries' removed as incompatible with clang.
@@ -69,8 +71,6 @@ set(CRENGINE_SRC_FILES
6971
${CR3_ROOT}/crengine/src/lvstyles.cpp
7072
${CR3_ROOT}/crengine/src/crtxtenc.cpp
7173
${CR3_ROOT}/crengine/src/lvtinydom.cpp
72-
${CR3_ROOT}/crengine/src/lvstream.cpp
73-
${CR3_ROOT}/crengine/src/lvxml.cpp
7474
${CR3_ROOT}/crengine/src/chmfmt.cpp
7575
${CR3_ROOT}/crengine/src/epubfmt.cpp
7676
${CR3_ROOT}/crengine/src/pdbfmt.cpp
@@ -84,30 +84,78 @@ set(CRENGINE_SRC_FILES
8484
${CR3_ROOT}/crengine/src/txtselector.cpp
8585
${CR3_ROOT}/crengine/src/crtest.cpp
8686
${CR3_ROOT}/crengine/src/lvbmpbuf.cpp
87-
${CR3_ROOT}/crengine/src/lvfnt.cpp
8887
${CR3_ROOT}/crengine/src/hyphman.cpp
89-
${CR3_ROOT}/crengine/src/lvfont.cpp
90-
${CR3_ROOT}/crengine/src/lvembeddedfont.cpp
91-
${CR3_ROOT}/crengine/src/lvfntman.cpp
92-
${CR3_ROOT}/crengine/src/lvimg.cpp
9388
${CR3_ROOT}/crengine/src/crskin.cpp
94-
${CR3_ROOT}/crengine/src/lvdrawbuf.cpp
9589
${CR3_ROOT}/crengine/src/lvdocview.cpp
9690
${CR3_ROOT}/crengine/src/lvpagesplitter.cpp
9791
${CR3_ROOT}/crengine/src/lvtextfm.cpp
9892
${CR3_ROOT}/crengine/src/lvrend.cpp
9993
${CR3_ROOT}/crengine/src/wolutil.cpp
10094
${CR3_ROOT}/crengine/src/crconcurrent.cpp
95+
${CR3_ROOT}/crengine/src/mathml.cpp
10196
${CR3_ROOT}/crengine/src/hist.cpp
10297
${CR3_ROOT}/crengine/src/xxhash.c
10398
${CR3_ROOT}/crengine/src/textlang.cpp
104-
${CR3_ROOT}/crengine/src/private/lvfontglyphcache.cpp
105-
${CR3_ROOT}/crengine/src/private/lvfontboldtransform.cpp
106-
${CR3_ROOT}/crengine/src/private/lvfontcache.cpp
107-
${CR3_ROOT}/crengine/src/private/lvfontdef.cpp
108-
${CR3_ROOT}/crengine/src/private/lvfreetypeface.cpp
109-
${CR3_ROOT}/crengine/src/private/lvfreetypefontman.cpp
110-
${CR3_ROOT}/crengine/fc-lang/fc-lang-cat.c
99+
${CR3_ROOT}/crengine/src/lvimg/lvcacheableobject.cpp
100+
${CR3_ROOT}/crengine/src/lvimg/lvimagesource.cpp
101+
${CR3_ROOT}/crengine/src/lvimg/crninepatchdecoder.cpp
102+
${CR3_ROOT}/crengine/src/lvimg/lvjpegimagesource.cpp
103+
${CR3_ROOT}/crengine/src/lvimg/lvpngimagesource.cpp
104+
${CR3_ROOT}/crengine/src/lvimg/lvxpmimagesource.cpp
105+
${CR3_ROOT}/crengine/src/lvimg/lvgifimagesource.cpp
106+
${CR3_ROOT}/crengine/src/lvimg/lvgifframe.cpp
107+
${CR3_ROOT}/crengine/src/lvimg/clzwdecoder.cpp
108+
${CR3_ROOT}/crengine/src/lvimg/lvsvgimagesource.cpp
109+
${CR3_ROOT}/crengine/src/lvimg/lvstretchimgsource.cpp
110+
${CR3_ROOT}/crengine/src/lvimg/lvcolortransformimgsource.cpp
111+
${CR3_ROOT}/crengine/src/lvimg/lvalphatransformimgsource.cpp
112+
${CR3_ROOT}/crengine/src/lvimg/lvunpackedimgsource.cpp
113+
${CR3_ROOT}/crengine/src/lvimg/lvdrawbufimgsource.cpp
114+
${CR3_ROOT}/crengine/src/lvimg/lvimg.cpp
115+
${CR3_ROOT}/crengine/src/lvfont/lvfnt.cpp
116+
${CR3_ROOT}/crengine/src/lvfont/lvembeddedfont.cpp
117+
${CR3_ROOT}/crengine/src/lvfont/lvfont.cpp
118+
${CR3_ROOT}/crengine/src/lvfont/lvfntman.cpp
119+
${CR3_ROOT}/crengine/src/lvfont/lvfontglyphcache.cpp
120+
${CR3_ROOT}/crengine/src/lvfont/lvfontboldtransform.cpp
121+
${CR3_ROOT}/crengine/src/lvfont/lvfontcache.cpp
122+
${CR3_ROOT}/crengine/src/lvfont/lvfontdef.cpp
123+
${CR3_ROOT}/crengine/src/lvfont/lvfreetypeface.cpp
124+
${CR3_ROOT}/crengine/src/lvfont/lvfreetypefontman.cpp
125+
${CR3_ROOT}/crengine/src/lvdrawbuf/lvbasedrawbuf.cpp
126+
${CR3_ROOT}/crengine/src/lvdrawbuf/lvgraydrawbuf.cpp
127+
${CR3_ROOT}/crengine/src/lvdrawbuf/lvcolordrawbuf.cpp
128+
${CR3_ROOT}/crengine/src/lvdrawbuf/lvinkmeasurementdrawbuf.cpp
129+
${CR3_ROOT}/crengine/src/lvdrawbuf/lvimagescaleddrawcallback.cpp
130+
${CR3_ROOT}/crengine/src/lvdrawbuf/lvdrawbuf_utils.cpp
131+
${CR3_ROOT}/crengine/src/lvstream/lvdefstreambuffer.cpp
132+
${CR3_ROOT}/crengine/src/lvstream/lvfilemappedstream.cpp
133+
${CR3_ROOT}/crengine/src/lvstream/lvnamedstream.cpp
134+
${CR3_ROOT}/crengine/src/lvstream/lvfilestream.cpp
135+
${CR3_ROOT}/crengine/src/lvstream/lvdirectorycontainer.cpp
136+
${CR3_ROOT}/crengine/src/lvstream/lvcachedstream.cpp
137+
${CR3_ROOT}/crengine/src/lvstream/lvzipdecodestream.cpp
138+
${CR3_ROOT}/crengine/src/lvstream/lvziparc.cpp
139+
${CR3_ROOT}/crengine/src/lvstream/lvrararc.cpp
140+
${CR3_ROOT}/crengine/src/lvstream/lvmemorystream.cpp
141+
${CR3_ROOT}/crengine/src/lvstream/lvtcrstream.cpp
142+
${CR3_ROOT}/crengine/src/lvstream/lvblockwritestream.cpp
143+
${CR3_ROOT}/crengine/src/lvstream/lvstream.cpp
144+
${CR3_ROOT}/crengine/src/lvstream/lvbase64stream.cpp
145+
${CR3_ROOT}/crengine/src/lvstream/lvstreamutils.cpp
146+
${CR3_ROOT}/crengine/src/lvxml/lvfileparserbase.cpp
147+
${CR3_ROOT}/crengine/src/lvxml/lvtextfilebase.cpp
148+
${CR3_ROOT}/crengine/src/lvxml/lvtextparser.cpp
149+
${CR3_ROOT}/crengine/src/lvxml/lvtextlinequeue.cpp
150+
${CR3_ROOT}/crengine/src/lvxml/pmltextimport.cpp
151+
${CR3_ROOT}/crengine/src/lvxml/lvtextrobustparser.cpp
152+
${CR3_ROOT}/crengine/src/lvxml/lvtextbookmarkparser.cpp
153+
${CR3_ROOT}/crengine/src/lvxml/lvxmlparser.cpp
154+
${CR3_ROOT}/crengine/src/lvxml/lvhtmlparser.cpp
155+
${CR3_ROOT}/crengine/src/lvxml/fb2coverpageparsercallback.cpp
156+
${CR3_ROOT}/crengine/src/lvxml/lvxmlutils.cpp
157+
${CR3_ROOT}/crengine/src/locale_data/fc-lang-data.c
158+
${CR3_ROOT}/crengine/src/locale_data/crlocaledata.cpp
111159
)
112160
# ${CR3_ROOT}/crengine/src/cri18n.cpp
113161
# ${CR3_ROOT}/crengine/src/crgui.cpp
@@ -168,19 +216,22 @@ find_library( # Sets the name of the path variable.
168216
# build script, prebuilt third-party libraries, or system libraries.
169217

170218
target_link_libraries( # Specifies the target library.
171-
cr3engine-3-2-X
172-
173-
# thirdparty static libs
174-
png
175-
jpeg
176-
freetype
177-
harfbuzz
178-
chmlib
179-
antiword
180-
fribidi
181-
unibreak
182-
183-
# Links the target library to the log library
184-
# included in the NDK.
185-
${log-lib}
186-
-lm -lz -ldl)
219+
cr3engine-3-2-X
220+
221+
# thirdparty static libs
222+
local_png
223+
local_jpeg
224+
local_freetype
225+
local_harfbuzz
226+
local_chmlib
227+
local_antiword
228+
local_fribidi
229+
local_unibreak
230+
local_qimagescale
231+
local_zstd
232+
local_utf8proc
233+
234+
# Links the target library to the log library
235+
# included in the NDK.
236+
${log-lib}
237+
-lm -lz -ldl)

android/app/build.gradle

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,19 @@ android {
6868
}
6969
}
7070
}
71+
flavorDimensions "market"
72+
productFlavors {
73+
primary {
74+
dimension "market"
75+
buildConfigField "boolean", "GSUITE_AVAILABLE", "true"
76+
}
77+
fdroid {
78+
dimension "market"
79+
applicationIdSuffix ".fdroid"
80+
versionNameSuffix "-fdroid"
81+
buildConfigField "boolean", "GSUITE_AVAILABLE", "false"
82+
}
83+
}
7184
gradle.projectsEvaluated {
7285
tasks.withType(JavaCompile) {
7386
options.compilerArgs << "-Xlint:unchecked"
@@ -135,21 +148,22 @@ android {
135148

136149
dependencies {
137150
implementation fileTree(include: ['*.jar'], dir: 'libs')
138-
implementation project(path: ':onyxsdk-device-1.1.3-lt-r3')
139151

140-
// G Suite -> Google Drive API
141-
implementation 'com.google.android.gms:play-services-auth:18.1.0'
142-
implementation 'com.google.http-client:google-http-client-gson:1.36.0'
143-
implementation('com.google.api-client:google-api-client-android:1.30.10') {
152+
implementation "androidx.documentfile:documentfile:1.0.1"
153+
154+
// G Suite -> Google Drive API (only for primary flavor)
155+
primaryImplementation 'com.google.android.gms:play-services-auth:18.1.0'
156+
primaryImplementation 'com.google.http-client:google-http-client-gson:1.36.0'
157+
primaryImplementation('com.google.api-client:google-api-client-android:1.30.10') {
144158
exclude group: 'org.apache.httpcomponents'
145159
}
146-
implementation('com.google.apis:google-api-services-drive:v3-rev136-1.25.0') {
160+
primaryImplementation('com.google.apis:google-api-services-drive:v3-rev136-1.25.0') {
147161
exclude group: 'org.apache.httpcomponents'
148162
}
163+
149164
implementation project(path: ':genrescollection')
165+
implementation project(path: ':eink-onyx-reflections')
150166

151-
testImplementation 'junit:junit:4.13'
152-
androidTestImplementation 'com.android.support.test:runner:1.0.2'
153-
androidTestImplementation 'com.android.support:support-annotations:28.0.0'
154-
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
167+
testImplementation 'junit:junit:4.13.2'
168+
androidTestImplementation 'androidx.test:runner:1.4.0'
155169
}

android/app/src/androidTest/AndroidManifest.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
package="org.coolreader"
55
android:installLocation="auto">
66

7-
<uses-sdk tools:overrideLibrary="android.support.test, android.support.test.espresso" />
7+
<uses-sdk tools:overrideLibrary="androidx.test.runner,
8+
androidx.test.services.storage,
9+
androidx.test.monitor" />
810

911
</manifest>

0 commit comments

Comments
 (0)