Skip to content

Commit

Permalink
Merge pull request #384 from koreader/houqp-master
Browse files Browse the repository at this point in the history
build: fix android lpeg build
  • Loading branch information
chrox committed Feb 28, 2016
2 parents 5131b24 + 93d1059 commit 65b2195
Show file tree
Hide file tree
Showing 9 changed files with 74 additions and 80 deletions.
11 changes: 5 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,9 @@ libs: \
$(OUTPUT_DIR)/libs/libwrap-mupdf.so

$(OUTPUT_DIR)/libs/libkoreader-input.so: input.c $(POPEN_NOSHELL_LIB)
$(CC) $(DYNLIB_CFLAGS) -I$(POPEN_NOSHELL_DIR) $(if $(POCKETBOOK),-DPOCKETBOOK,) \
-o $@ $^ $(if $(POCKETBOOK),-linkview,) \
$(CC) $(DYNLIB_CFLAGS) -I$(POPEN_NOSHELL_DIR) \
$(if $(POCKETBOOK),-DPOCKETBOOK,) \
-o $@ $^ $(if $(POCKETBOOK),-linkview,)

$(OUTPUT_DIR)/libs/libkoreader-lfs.so: \
$(if $(or $(ANDROID),$(WIN32)),$(LUAJIT_LIB),) \
Expand All @@ -92,13 +93,11 @@ $(OUTPUT_DIR)/libs/libkoreader-cre.so: cre.cpp \
$(CRENGINE_LIB)
$(CXX) -I$(CRENGINE_SRC_DIR)/crengine/include/ $(DYNLIB_CFLAGS) \
-DLDOM_USE_OWN_MEM_MAN=$(if $(WIN32),0,1) \
$(if $(WIN32),-DQT_GL=1) \
-Wl,-rpath,'libs' -static-libstdc++ -o $@ $^
$(if $(WIN32),-DQT_GL=1) -static-libstdc++ -o $@ $^

$(OUTPUT_DIR)/libs/libwrap-mupdf.so: wrap-mupdf.c \
$(MUPDF_LIB)
$(CC) -I$(MUPDF_DIR)/include $(DYNLIB_CFLAGS) \
-o $@ $^
$(CC) -I$(MUPDF_DIR)/include $(DYNLIB_CFLAGS) -o $@ $^

ffi/mupdf_h.lua: ffi-cdecl/mupdf_decl.c $(MUPDF_DIR)/include
CPPFLAGS="$(CFLAGS) -I. -I$(MUPDF_DIR)/include" $(FFI_CDECL) gcc ffi-cdecl/mupdf_decl.c $@
Expand Down
10 changes: 8 additions & 2 deletions Makefile.defs
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,7 @@ TURBOJPEG_LIB=$(OUTPUT_DIR)/libs/libturbojpeg$(if $(WIN32),.dll,.so)
JPEG_BUILD_DIR=$(THIRDPARTY_DIR)/libjpeg-turbo/build/$(MACHINE)
JPEG_DIR=$(CURDIR)/$(JPEG_BUILD_DIR)/libjpeg-turbo-prefix/src/libjpeg-turbo-build

PNG_LIB=$(OUTPUT_DIR)/libs/libpng16$(if $(WIN32),-16.dll,.so$(if $(ANDROID),,.16))
PNG_LIB=$(OUTPUT_DIR)/libs/libpng16$(if $(WIN32),-16.dll,.so.16)
PNG_BUILD_DIR=$(THIRDPARTY_DIR)/libpng/build/$(MACHINE)
PNG_DIR=$(CURDIR)/$(PNG_BUILD_DIR)/libpng-prefix/src/libpng-build

Expand Down Expand Up @@ -438,9 +438,15 @@ LUA_SPORE_ROCK=$(LUAROCKS_DIR)/lua-spore/$(SPORE_VER)/$(LUA_SPORE_VER).rockspec
#
# also, dynamic libraries must be compiled with "-shared" and "-fPIC".
# having all symbols included (-E) won't hurt, too.
DYNLIB_CFLAGS=-L$(OUTPUT_DIR)/libs $(CFLAGS) \
DYNLIB_CFLAGS=-L$(CURDIR)/$(OUTPUT_DIR)/libs $(CFLAGS) \
-I$(LUAJIT_DIR)/src -shared -Wl,-E -Wl,-rpath,'$$ORIGIN'

# RPATH for all libraries in koreader/libs. The expand path looks like below:
# make -> shell -> cmake -> configure -> make -> linker
# \\\$$\\\$$ORIGIN \\\$\\\$ORIGIN \$\$ORIGIN $$ORIGIN $$ORIGIN $ORIGIN
ORIGIN_CMAKE_TO_AUTOCFG=\\\$$\\\$$ORIGIN


LPEG_BUILD_DIR=$(THIRDPARTY_DIR)/lpeg/build/$(MACHINE)
LPEG_DIR=$(CURDIR)/$(LPEG_BUILD_DIR)/lpeg-prefix/src/lpeg
LPEG_RE=$(OUTPUT_DIR)/rocks/share/lua/5.1/re.lua
Expand Down
112 changes: 50 additions & 62 deletions third.Makefile

Large diffs are not rendered by default.

2 changes: 0 additions & 2 deletions thirdparty/cmake_modules/koreader_thirdparty_common.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,6 @@ macro(assert_var_defined varName)
endif(NOT DEFINED ${varName})
endmacro(assert_var_defined)

assert_var_defined(MACHINE)

macro(ep_get_source_dir varName)
set(${varName} "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-prefix/src/${PROJECT_NAME}")
endmacro(ep_get_source_dir)
Expand Down
3 changes: 3 additions & 0 deletions thirdparty/kpvcrlib/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ SET(CMAKE_ASM_COMPILER_ARG1 ${CMAKE_C_COMPILER_ARG1})
SET(CMAKE_ASM_FLAGS ${CMAKE_C_FLAGS})
SET(CMAKE_ASM_FLAGS_RELEASE "")

set (CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
set (CMAKE_INSTALL_RPATH "$ORIGIN")

SET(CR_3RDPARTY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/crengine/thirdparty)
SET(CRE_DIR crengine/crengine)

Expand Down
2 changes: 1 addition & 1 deletion thirdparty/lodepng/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ assert_var_defined(OUTPUT_PATH)

ep_get_source_dir(SOURCE_DIR)

set(BUILD_CMD_STR "${CC} -shared ${CFLAGS} -Wl,-E -Wl,-rpath,'$ORIGIN' -Wl,-soname=${SONAME} lodepng.c -o ${OUTPUT_PATH}/${SONAME}")
set(BUILD_CMD_STR "${CC} -shared ${CFLAGS} -Wl,-E -Wl,-soname=${SONAME} lodepng.c -o ${OUTPUT_PATH}/${SONAME}")

ko_write_gitclone_script(
GIT_CLONE_SCRIPT_FILENAME
Expand Down
3 changes: 1 addition & 2 deletions thirdparty/lpeg/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,8 @@ enable_language(C)
assert_var_defined(CC)
assert_var_defined(DYNLIB_CFLAGS)
assert_var_defined(LUA_DIR)
assert_var_defined(LUAJIT_LIB)

set(BUILD_CMD_STR "${CC} ${DYNLIB_CFLAGS} -I${LUA_DIR}/src ${LUAJIT_LIB} -o lpeg.so lpcap.c lpcode.c lpprint.c lptree.c lpvm.c")
set(BUILD_CMD_STR "${CC} ${DYNLIB_CFLAGS} -I${LUA_DIR}/src -L${LUA_DIR} -lluajit -o lpeg.so lpcap.c lpcode.c lpprint.c lptree.c lpvm.c")

set(LPEG_VER "1.0.0")
include(ExternalProject)
Expand Down
3 changes: 2 additions & 1 deletion thirdparty/mupdf/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ assert_var_defined(AES_LIB)
assert_var_defined(JPEG_LIB)
assert_var_defined(FREETYPE_LIB)
assert_var_defined(MUPDF_LIB)
set(LINK_OPTS "-Wl,-E -Wl,-rpath,'$ORIGIN'")
assert_var_defined(RPATH)
set(LINK_OPTS "-Wl,-E -Wl,-rpath,'${RPATH}'")
set(LINK_OPTS "${LINK_OPTS} -Wl,--whole-archive ${MUPDF_LIB_STATIC}")
set(LINK_OPTS "${LINK_OPTS} -Wl,--whole-archive ${MUPDF_JS_LIB_STATIC}")
set(LINK_OPTS "${LINK_OPTS} -Wl,--no-whole-archive ${MUPDF_THIRDPARTY_LIBS}")
Expand Down
8 changes: 4 additions & 4 deletions thirdparty/openssl/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,17 @@ assert_var_defined(CC)
assert_var_defined(SHARED_LDFLAGS)
assert_var_defined(LD)
assert_var_defined(RANLIB)
assert_var_defined(CHOST)

ep_get_source_dir(SOURCE_DIR)

if(${MINGW})
assert_var_defined(CHOST)
set(CFG_ENV_VAR "CROSS_COMPILE=\"${CHOST}-\"")
set(CFG_OPTS "no-shared")
else(${MINGW})
else()
set(CFG_ENV_VAR "")
set(CFG_OPTS "shared")
endif(${MINGW})
endif()
set(CFG_OPTS "${CFG_OPTS} no-asm no-idea no-mdc2 no-rc5")
set(CFG_CMD_STR "${CFG_ENV_VAR} ${SOURCE_DIR}/${CONFIG_SCRIPT} ${CFG_OPTS}")

Expand All @@ -32,7 +32,7 @@ set(MAKE_CMD_STR "${MAKE_CMD_STR} --silent depend build_crypto build_ssl >/dev/n
ko_write_gitclone_script(
GIT_CLONE_SCRIPT_FILENAME
https://github.com/openssl/openssl.git
3df69d3aefde7671053d4e3c242b228e5d79c83f
OpenSSL_1_0_1r
${SOURCE_DIR}
)

Expand Down

0 comments on commit 65b2195

Please sign in to comment.