mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-12 17:08:59 -04:00
Done some work on adding in xapian compilation (still some bugs)
This commit is contained in:
parent
de6faa9da9
commit
2f7ec3da1c
@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python2
|
||||||
|
|
||||||
''' Compiles Kiwix dependencies for Android
|
''' Compiles Kiwix dependencies for Android
|
||||||
|
|
||||||
@ -11,6 +11,7 @@ import re
|
|||||||
import sys
|
import sys
|
||||||
import copy
|
import copy
|
||||||
import shutil
|
import shutil
|
||||||
|
import urllib
|
||||||
from xml.dom.minidom import parse
|
from xml.dom.minidom import parse
|
||||||
from subprocess import call, check_output
|
from subprocess import call, check_output
|
||||||
|
|
||||||
@ -406,6 +407,62 @@ for arch in ARCHS:
|
|||||||
"has not been created for {} and is not present."
|
"has not been created for {} and is not present."
|
||||||
.format(platform))
|
.format(platform))
|
||||||
|
|
||||||
|
# compile xapian
|
||||||
|
if COMPILE_LIBXAPIAN:
|
||||||
|
# fetch xapian, e2fsprogs, zlib
|
||||||
|
os.chdir(os.path.join(curdir, '../src', 'dependencies'))
|
||||||
|
if not os.path.exists("e2fsprogs-1.42"):
|
||||||
|
syscall('make e2fsprogs-1.42')
|
||||||
|
if not os.path.exists("xapian-core-1.2.3"):
|
||||||
|
syscall('make xapian-core-1.2.3')
|
||||||
|
if not os.path.exists("zlib-1.2.8"):
|
||||||
|
syscall('make zlib-1.2.8')
|
||||||
|
os.chdir('zlib-1.2.8')
|
||||||
|
if os.path.exists("Makefile"):
|
||||||
|
syscall('make clean')
|
||||||
|
syscall('./configure')
|
||||||
|
syscall('make')
|
||||||
|
shutil.copy('libz.a', os.path.join(platform, 'lib', 'libz.a'))
|
||||||
|
os.chdir('../e2fsprogs-1.42')
|
||||||
|
urllib.urlretrieve('http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD', 'config/config.guess')
|
||||||
|
urllib.urlretrieve('http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD', 'config/config.sub')
|
||||||
|
if os.path.exists("Makefile"):
|
||||||
|
syscall('make clean')
|
||||||
|
syscall('./configure --host=%s --prefix=%s' % (arch_full, platform))
|
||||||
|
os.chdir('lib/uuid')
|
||||||
|
syscall('make')
|
||||||
|
shutil.copy('uuid.h', os.path.join(platform, 'include', 'c++', COMPILER_VERSION, 'uuid.h'))
|
||||||
|
shutil.copy('libuuid.a', os.path.join(platform, 'lib', 'gcc', arch_full, COMPILER_VERSION, 'libz.a'))
|
||||||
|
shutil.copy('libuuid.a', os.path.join(platform, 'lib', 'libuuid.a'))
|
||||||
|
os.chdir('../../../xapian-core-1.2.3')
|
||||||
|
if os.path.exists("Makefile"):
|
||||||
|
syscall('make clean')
|
||||||
|
shutil.copy(os.path.join('..', 'e2fsprogs-1.42', 'config', 'config.sub'), 'config.sub')
|
||||||
|
shutil.copy(os.path.join('..', 'e2fsprogs-1.42', 'config', 'config.guess'), 'config.guess')
|
||||||
|
syscall('./configure --host=%s --disable-shared --enable-largefile' % arch_full)
|
||||||
|
f = open("config.h", "r")
|
||||||
|
old_contents = f.readlines()
|
||||||
|
f.close()
|
||||||
|
contents = []
|
||||||
|
while i < len(old_contents):
|
||||||
|
if "HAVE_DECL_SYS_NERR" in old_contents[i]:
|
||||||
|
contents.append("#define HAVE_DECL_SYS_NERR 0\n")
|
||||||
|
else:
|
||||||
|
contents.append(old_contents[i])
|
||||||
|
f = open("config.h", "w")
|
||||||
|
contents = "".join(contents)
|
||||||
|
f.write(contents)
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
syscall('make')
|
||||||
|
shutil.copy(os.path.join('.libs', 'libxapian.a'), os.path.join(platform, 'lib', 'libxapian.a'))
|
||||||
|
|
||||||
|
# check that the step went well
|
||||||
|
if COMPILE_LIBXAPIAN or COMPILE_LIBKIWIX:
|
||||||
|
if not os.path.exists(os.path.join(platform, 'lib', 'libxapian.a')):
|
||||||
|
failed_on_step('The libxapian.a archive file has not been created '
|
||||||
|
'and is not present.')
|
||||||
|
|
||||||
# create libzim.a
|
# create libzim.a
|
||||||
os.chdir(curdir)
|
os.chdir(curdir)
|
||||||
platform_includes = ['%(platform)s/include/c++/%(gccver)s/'
|
platform_includes = ['%(platform)s/include/c++/%(gccver)s/'
|
||||||
@ -498,6 +555,7 @@ for arch in ARCHS:
|
|||||||
'kiwix.o reader.o stringTools.o pathTools.o '
|
'kiwix.o reader.o stringTools.o pathTools.o '
|
||||||
'%(platform)s/lib/gcc/%(arch_full)s/%(gccver)s/crtbegin.o '
|
'%(platform)s/lib/gcc/%(arch_full)s/%(gccver)s/crtbegin.o '
|
||||||
'%(platform)s/lib/gcc/%(arch_full)s/%(gccver)s/crtend.o '
|
'%(platform)s/lib/gcc/%(arch_full)s/%(gccver)s/crtend.o '
|
||||||
|
'%(platform)s/lib/gcc/%(arch_full)s/%(gccver)s/libuuid.a '
|
||||||
'%(platform)s/lib/libzim.a %(platform)s/lib/liblzma.a '
|
'%(platform)s/lib/libzim.a %(platform)s/lib/liblzma.a '
|
||||||
# '%(platform)s/lib/libicutu.a '
|
# '%(platform)s/lib/libicutu.a '
|
||||||
# '%(platform)s/lib/libicuio.a '
|
# '%(platform)s/lib/libicuio.a '
|
||||||
@ -506,6 +564,8 @@ for arch in ARCHS:
|
|||||||
# '%(platform)s/lib/libiculx.a '
|
# '%(platform)s/lib/libiculx.a '
|
||||||
# '%(platform)s/lib/libicui18n.a '
|
# '%(platform)s/lib/libicui18n.a '
|
||||||
'%(platform)s/lib/libicudata.a '
|
'%(platform)s/lib/libicudata.a '
|
||||||
|
'%(platform)s/lib/libz.a '
|
||||||
|
'%(platform)s/lib/libxapian.a '
|
||||||
'-L%(platform)s/%(arch_full)s/lib '
|
'-L%(platform)s/%(arch_full)s/lib '
|
||||||
'%(NDK_PATH)s/sources/cxx-stl/gnu-libstdc++/%(gccver)s'
|
'%(NDK_PATH)s/sources/cxx-stl/gnu-libstdc++/%(gccver)s'
|
||||||
'/libs/%(arch_short)s/libgnustl_static.a '
|
'/libs/%(arch_short)s/libgnustl_static.a '
|
||||||
|
Loading…
x
Reference in New Issue
Block a user