Kelson has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/328341 )
Change subject: Make zimlib compilable with meson.
......................................................................
Make zimlib compilable with meson.
Also install a correct pkg-config file who correctly declare dependencies
of zimlib.
Change-Id: I6b2e1bb0797cdc0afbf8c986dd91bfac757242d0
---
M zimlib/.gitignore
A zimlib/include/meson.build
A zimlib/meson.build
A zimlib/meson_options.txt
A zimlib/src/config.h.in
A zimlib/src/meson.build
6 files changed, 168 insertions(+), 1 deletion(-)
Approvals:
Kelson: Verified; Looks good to me, approved
diff --git a/zimlib/.gitignore b/zimlib/.gitignore
index 550c09a..3563fa8 100644
--- a/zimlib/.gitignore
+++ b/zimlib/.gitignore
@@ -2,7 +2,7 @@
*#*
autom4te.cache
compile
-config.*
+config.h
configure
depcomp
.deps
diff --git a/zimlib/include/meson.build b/zimlib/include/meson.build
new file mode 100644
index 0000000..0caa2e8
--- /dev/null
+++ b/zimlib/include/meson.build
@@ -0,0 +1,34 @@
+install_headers(
+ 'zim/article.h',
+ 'zim/articlesearch.h',
+ 'zim/blob.h',
+ 'zim/cache.h',
+ 'zim/cluster.h',
+ 'zim/dirent.h',
+ 'zim/endian.h',
+ 'zim/error.h',
+ 'zim/file.h',
+ 'zim/fileheader.h',
+ 'zim/fileimpl.h',
+ 'zim/fileiterator.h',
+ 'zim/fstream.h',
+ 'zim/indexarticle.h',
+ 'zim/noncopyable.h',
+ 'zim/search.h',
+ 'zim/smartptr.h',
+ 'zim/refcounted.h',
+ 'zim/template.h',
+ 'zim/unicode.h',
+ 'zim/uuid.h',
+ 'zim/zim.h',
+ 'zim/zintstream.h',
+ subdir:'zim'
+)
+
+install_headers(
+ 'zim/writer/articlesource.h',
+ 'zim/writer/dirent.h',
+ 'zim/writer/zimcreator.h',
+ subdir:'zim/writer'
+)
+
diff --git a/zimlib/meson.build b/zimlib/meson.build
new file mode 100644
index 0000000..0eed3c4
--- /dev/null
+++ b/zimlib/meson.build
@@ -0,0 +1,44 @@
+project('libzim', ['c', 'cpp'],
+ version : '1.4',
+ license : 'GPL2')
+
+abi_current=2
+abi_revision=0
+abi_age=0
+
+conf = configuration_data()
+conf.set('VERSION', '"@0@"'.format(meson.project_version()))
+conf.set('DIRENT_CACHE_SIZE', get_option('DIRENT_CACHE_SIZE'))
+conf.set('CLUSTER_CACHE_SIZE', get_option('CLUSTER_CACHE_SIZE'))
+conf.set('LZMA_MEMORY_SIZE', get_option('LZMA_MEMORY_SIZE'))
+
+zlib_dep = dependency('zlib', required:false)
+conf.set('ENABLE_ZLIB', zlib_dep.found())
+lzma_dep = dependency('liblzma', required:false)
+conf.set('ENABLE_LZMA', lzma_dep.found())
+bzip2_dep = dependency('bzip2', required:false)
+conf.set('ENABLE_BZIP2', bzip2_dep.found())
+
+pkg_requires = []
+if zlib_dep.found()
+ pkg_requires += ['zlib']
+endif
+if lzma_dep.found()
+ pkg_requires += ['liblzma']
+endif
+if bzip2_dep.found()
+ pkg_requires += ['bzip2']
+endif
+
+inc = include_directories('include')
+
+subdir('include')
+subdir('src')
+
+pkg_mod = import('pkgconfig')
+pkg_mod.generate(libraries : libzim,
+ version : meson.project_version(),
+ name : 'libzim',
+ filebase : 'libzim',
+ description : 'A Library to zim.',
+ requires : pkg_requires)
diff --git a/zimlib/meson_options.txt b/zimlib/meson_options.txt
new file mode 100644
index 0000000..108edf9
--- /dev/null
+++ b/zimlib/meson_options.txt
@@ -0,0 +1,6 @@
+option('CLUSTER_CACHE_SIZE', type : 'string', value : '16',
+ description : 'set cluster cache size to number (default:16)')
+option('DIRENT_CACHE_SIZE', type : 'string', value : '512',
+ description : 'set dirent cache size to number (default:512)')
+option('LZMA_MEMORY_SIZE', type : 'string', value : '128',
+ description : 'set lzma uncompress memory in MB (default:128)')
\ No newline at end of file
diff --git a/zimlib/src/config.h.in b/zimlib/src/config.h.in
new file mode 100644
index 0000000..d9e4b7d
--- /dev/null
+++ b/zimlib/src/config.h.in
@@ -0,0 +1,14 @@
+
+#mesondefine VERSION
+
+#mesondefine DIRENT_CACHE_SIZE
+
+#mesondefine CLUSTER_CACHE_SIZE
+
+#mesondefine LZMA_MEMORY_SIZE
+
+#mesondefine ENABLE_ZLIB
+
+#mesondefine ENABLE_LZMA
+
+#mesondefine ENABLE_BZIP2
diff --git a/zimlib/src/meson.build b/zimlib/src/meson.build
new file mode 100644
index 0000000..ec550f4
--- /dev/null
+++ b/zimlib/src/meson.build
@@ -0,0 +1,69 @@
+
+configure_file(output : 'config.h',
+ configuration : conf,
+ input : 'config.h.in')
+
+common_sources = [
+# 'config.h',
+ 'article.cpp',
+ 'articlesearch.cpp',
+ 'articlesource.cpp',
+ 'cluster.cpp',
+ 'dirent.cpp',
+ 'envvalue.cpp',
+ 'file.cpp',
+ 'fileheader.cpp',
+ 'fileimpl.cpp',
+ 'fstream.cpp',
+ 'indexarticle.cpp',
+ 'md5.c',
+ 'md5stream.cpp',
+ 'ptrstream.cpp',
+ 'search.cpp',
+ 'tee.cpp',
+ 'template.cpp',
+ 'unicode.cpp',
+ 'uuid.cpp',
+ 'zimcreator.cpp',
+ 'zintstream.cpp'
+]
+
+zlib_sources = [
+ 'deflatestream.cpp',
+ 'inflatestream.cpp'
+]
+
+bzip2_sources = [
+ 'bunzip2stream.cpp',
+ 'bzip2.cpp',
+ 'bzip2stream.cpp'
+]
+
+lzma_sources = [
+ 'lzmastream.cpp',
+ 'unlzmastream.cpp'
+]
+
+sources = common_sources
+deps = []
+
+if zlib_dep.found()
+ sources += zlib_sources
+ deps += [zlib_dep]
+endif
+
+if bzip2_dep.found()
+ sources += bzip2_sources
+ deps += [bzip2_dep]
+endif
+
+if lzma_dep.found()
+ sources += lzma_sources
+ deps += [lzma_dep]
+endif
+
+libzim = library('zim',
+ sources,
+ include_directories : inc,
+ dependencies : deps,
+ install : true)
--
To view, visit https://gerrit.wikimedia.org/r/328341
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I6b2e1bb0797cdc0afbf8c986dd91bfac757242d0
Gerrit-PatchSet: 2
Gerrit-Project: openzim
Gerrit-Branch: master
Gerrit-Owner: Mgautierfr <[email protected]>
Gerrit-Reviewer: Kelson <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits