summaryrefslogtreecommitdiffstats
path: root/external/librevenge
diff options
context:
space:
mode:
Diffstat (limited to 'external/librevenge')
-rw-r--r--external/librevenge/ExternalPackage_librevenge.mk22
-rw-r--r--external/librevenge/ExternalProject_librevenge.mk50
-rw-r--r--external/librevenge/Library_revenge.mk48
-rw-r--r--external/librevenge/Makefile7
-rw-r--r--external/librevenge/Module_librevenge.mk31
-rw-r--r--external/librevenge/README3
-rw-r--r--external/librevenge/UnpackedTarball_librevenge.mk30
-rw-r--r--external/librevenge/librevenge-bundled-soname.patch.011
-rw-r--r--external/librevenge/rpath.patch11
9 files changed, 213 insertions, 0 deletions
diff --git a/external/librevenge/ExternalPackage_librevenge.mk b/external/librevenge/ExternalPackage_librevenge.mk
new file mode 100644
index 000000000..4ed404c63
--- /dev/null
+++ b/external/librevenge/ExternalPackage_librevenge.mk
@@ -0,0 +1,22 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_ExternalPackage_ExternalPackage,librevenge,librevenge))
+
+$(eval $(call gb_ExternalPackage_use_external_project,librevenge,librevenge))
+
+ifeq ($(OS),MACOSX)
+$(eval $(call gb_ExternalPackage_add_file,librevenge,$(LIBO_LIB_FOLDER)/librevenge-0.0.0.dylib,src/lib/.libs/librevenge-0.0.0.dylib))
+else ifeq ($(OS),WNT)
+$(eval $(call gb_ExternalPackage_add_file,librevenge,$(LIBO_LIB_FOLDER)/librevenge-0.0.dll,src/lib/.libs/librevenge-0.0.dll))
+else ifeq ($(DISABLE_DYNLOADING),)
+$(eval $(call gb_ExternalPackage_add_file,librevenge,$(LIBO_LIB_FOLDER)/librevenge-0.0-lo.so.0,src/lib/.libs/librevenge-0.0-lo.so.0.0.$(REVENGE_VERSION_MICRO)))
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/librevenge/ExternalProject_librevenge.mk b/external/librevenge/ExternalProject_librevenge.mk
new file mode 100644
index 000000000..4e64d5534
--- /dev/null
+++ b/external/librevenge/ExternalProject_librevenge.mk
@@ -0,0 +1,50 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_ExternalProject_ExternalProject,librevenge))
+
+$(eval $(call gb_ExternalProject_use_autoconf,librevenge,build))
+
+$(eval $(call gb_ExternalProject_register_targets,librevenge,\
+ build \
+))
+
+$(eval $(call gb_ExternalProject_use_externals,librevenge,\
+ boost_headers \
+))
+
+$(call gb_ExternalProject_get_state_target,librevenge,build) :
+ $(call gb_Trace_StartRange,librevenge,EXTERNAL)
+ $(call gb_ExternalProject_run,build,\
+ export PKG_CONFIG="" \
+ && $(gb_RUN_CONFIGURE) ./configure \
+ --with-pic \
+ $(if $(DISABLE_DYNLOADING), \
+ --disable-shared --enable-static, \
+ --enable-shared --disable-static) \
+ $(if $(ENABLE_DEBUG),--enable-debug,--disable-debug) \
+ --disable-werror \
+ --disable-weffc \
+ --disable-streams \
+ --disable-generators \
+ --without-docs \
+ $(if $(verbose),--disable-silent-rules,--enable-silent-rules) \
+ CXXFLAGS="$(gb_CXXFLAGS) $(call gb_ExternalProject_get_build_flags,librevenge)" \
+ CPPFLAGS="$(CPPFLAGS) $(BOOST_CPPFLAGS)" \
+ $(gb_CONFIGURE_PLATFORMS) \
+ $(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \
+ && $(MAKE) \
+ $(if $(filter MACOSX,$(OS)),\
+ && $(PERL) $(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \
+ $(EXTERNAL_WORKDIR)/src/lib/.libs/librevenge-0.0.0.dylib \
+ ) \
+ )
+ $(call gb_Trace_EndRange,librevenge,EXTERNAL)
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/librevenge/Library_revenge.mk b/external/librevenge/Library_revenge.mk
new file mode 100644
index 000000000..4250e4e57
--- /dev/null
+++ b/external/librevenge/Library_revenge.mk
@@ -0,0 +1,48 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_Library_Library,revenge))
+
+$(eval $(call gb_Library_use_unpacked,revenge,librevenge))
+
+$(eval $(call gb_Library_use_externals,revenge,\
+ boost_headers \
+))
+
+$(eval $(call gb_Library_set_warnings_disabled,revenge))
+
+$(eval $(call gb_Library_set_include,revenge,\
+ -I$(call gb_UnpackedTarball_get_dir,librevenge)/inc \
+ $$(INCLUDE) \
+))
+
+# -DLIBREVENGE_STREAM_BUILD is present so that linker does not complain
+# about unresolved external symbol RVNGStream::~RVNGStream
+$(eval $(call gb_Library_add_defs,revenge,\
+ -DBOOST_ALL_NO_LIB \
+ -DDLL_EXPORT \
+ -DLIBREVENGE_BUILD \
+ -DLIBREVENGE_STREAM_BUILD \
+ -DNDEBUG \
+))
+
+$(eval $(call gb_Library_set_generated_cxx_suffix,revenge,cpp))
+
+$(eval $(call gb_Library_add_generated_exception_objects,revenge,\
+ UnpackedTarball/librevenge/src/lib/RVNGBinaryData \
+ UnpackedTarball/librevenge/src/lib/RVNGMemoryStream \
+ UnpackedTarball/librevenge/src/lib/RVNGProperty \
+ UnpackedTarball/librevenge/src/lib/RVNGPropertyList \
+ UnpackedTarball/librevenge/src/lib/RVNGPropertyListVector \
+ UnpackedTarball/librevenge/src/lib/RVNGString \
+ UnpackedTarball/librevenge/src/lib/RVNGStringVector \
+ UnpackedTarball/librevenge/src/lib/RVNGSVGDrawingGenerator \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/librevenge/Makefile b/external/librevenge/Makefile
new file mode 100644
index 000000000..e4968cf85
--- /dev/null
+++ b/external/librevenge/Makefile
@@ -0,0 +1,7 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+
+module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
+
+include $(module_directory)/../../solenv/gbuild/partial_build.mk
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/librevenge/Module_librevenge.mk b/external/librevenge/Module_librevenge.mk
new file mode 100644
index 000000000..cd11805f0
--- /dev/null
+++ b/external/librevenge/Module_librevenge.mk
@@ -0,0 +1,31 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_Module_Module,librevenge))
+
+$(eval $(call gb_Module_add_targets,librevenge,\
+ UnpackedTarball_librevenge \
+))
+
+ifeq ($(COM),MSC)
+
+$(eval $(call gb_Module_add_targets,librevenge,\
+ Library_revenge \
+))
+
+else
+
+$(eval $(call gb_Module_add_targets,librevenge,\
+ ExternalPackage_librevenge \
+ ExternalProject_librevenge \
+))
+
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/librevenge/README b/external/librevenge/README
new file mode 100644
index 000000000..23007ff99
--- /dev/null
+++ b/external/librevenge/README
@@ -0,0 +1,3 @@
+From [http://sourceforge.net/p/libwpd/wiki/librevenge/]. A base library
+for writing document import filters. It has interfaces for text documents,
+vector graphics, spreadsheets and presentations.
diff --git a/external/librevenge/UnpackedTarball_librevenge.mk b/external/librevenge/UnpackedTarball_librevenge.mk
new file mode 100644
index 000000000..74f28751c
--- /dev/null
+++ b/external/librevenge/UnpackedTarball_librevenge.mk
@@ -0,0 +1,30 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_UnpackedTarball_UnpackedTarball,librevenge))
+
+$(eval $(call gb_UnpackedTarball_set_tarball,librevenge,$(REVENGE_TARBALL)))
+
+$(eval $(call gb_UnpackedTarball_update_autoconf_configs,librevenge))
+
+$(eval $(call gb_UnpackedTarball_set_patchlevel,librevenge,0))
+
+$(eval $(call gb_UnpackedTarball_add_patches,librevenge, \
+ external/librevenge/rpath.patch \
+))
+
+ifneq ($(OS),MACOSX)
+ifneq ($(OS),WNT)
+$(eval $(call gb_UnpackedTarball_add_patches,librevenge, \
+ external/librevenge/librevenge-bundled-soname.patch.0 \
+))
+endif
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/librevenge/librevenge-bundled-soname.patch.0 b/external/librevenge/librevenge-bundled-soname.patch.0
new file mode 100644
index 000000000..d98630f0c
--- /dev/null
+++ b/external/librevenge/librevenge-bundled-soname.patch.0
@@ -0,0 +1,11 @@
+--- src/lib/Makefile.in.orig 2015-08-07 11:57:42.256742305 +0200
++++ src/lib/Makefile.in 2015-08-07 11:58:11.818741799 +0200
+@@ -470,7 +470,7 @@
+ $(am__append_2)
+ librevenge_@RVNG_MAJOR_VERSION@_@RVNG_MINOR_VERSION@_la_LIBADD = @LIBREVENGE_WIN32_RESOURCE@
+ librevenge_@RVNG_MAJOR_VERSION@_@RVNG_MINOR_VERSION@_la_DEPENDENCIES = @LIBREVENGE_WIN32_RESOURCE@
+-librevenge_@RVNG_MAJOR_VERSION@_@RVNG_MINOR_VERSION@_la_LDFLAGS = $(version_info) -export-dynamic $(no_undefined)
++librevenge_@RVNG_MAJOR_VERSION@_@RVNG_MINOR_VERSION@_la_LDFLAGS = $(version_info) -export-dynamic $(no_undefined) -release lo
+ librevenge_@RVNG_MAJOR_VERSION@_@RVNG_MINOR_VERSION@_la_SOURCES = \
+ RVNGBinaryData.cpp \
+ RVNGMemoryStream.cpp \
diff --git a/external/librevenge/rpath.patch b/external/librevenge/rpath.patch
new file mode 100644
index 000000000..c7d210080
--- /dev/null
+++ b/external/librevenge/rpath.patch
@@ -0,0 +1,11 @@
+--- configure
++++ configure
+@@ -14983,6 +14983,8 @@
+ esac
+ ;;
+ esac
++hardcode_libdir_flag_spec_CXX=
++runpath_var=
+ ;;
+
+ lynxos*)