summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZolnai Tamás <tamas.zolnai@collabora.com>2014-04-10 13:33:58 +0200
committerMatúš Kukan <matus.kukan@collabora.com>2014-05-13 16:34:49 +0200
commitaa5fe7958d087fbd6e64b29bbf2fa6e4d9ba5ab6 (patch)
tree8f5608c42445c6e9cc51f5a6e469cce74d7736e3
parent701f3dcb8d647304c56e7c437cc942b908123bc3 (diff)
Introduce OpenCollada external library
Change-Id: I08a806b9319f7cb55be3b38a3bb9370799f6752b
-rw-r--r--Makefile.fetch1
-rw-r--r--RepositoryExternal.mk14
-rw-r--r--configure.ac25
-rw-r--r--download.lst2
-rw-r--r--external/Module_external.mk1
-rw-r--r--external/opencollada/Makefile14
-rw-r--r--external/opencollada/Module_opencollada.mk17
-rw-r--r--external/opencollada/README5
-rw-r--r--external/opencollada/StaticLibrary_opencollada_parser.mk273
-rw-r--r--external/opencollada/UnpackedTarball_opencollada.mk19
-rw-r--r--external/opencollada/opencollada.clang.patch.012
-rw-r--r--external/opencollada/opencollada.libxml.patch.012
12 files changed, 395 insertions, 0 deletions
diff --git a/Makefile.fetch b/Makefile.fetch
index 9364ac468f9a..3cbf6af49be0 100644
--- a/Makefile.fetch
+++ b/Makefile.fetch
@@ -180,6 +180,7 @@ $(WORKDIR)/download: $(BUILDDIR)/config_host.mk $(SRCDIR)/download.lst $(SRCDIR)
$(call fetch_Optional,NSS,NSS_TARBALL) \
$(call fetch_Optional_pack,NUMBERTEXT_EXTENSION_PACK) \
$(call fetch_Optional,ODFGEN,ODFGEN_TARBALL) \
+ $(call fetch_Optional,COLLADA2GLTF,OPENCOLLADA_TARBALL) \
$(call fetch_Optional,OPENLDAP,OPENLDAP_TARBALL) \
$(call fetch_Optional,OPENSSL,OPENSSL_TARBALL) \
$(call fetch_Optional,ORCUS,ORCUS_TARBALL) \
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 801f62ad3cd3..f49b98f078e3 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -3120,6 +3120,20 @@ $(call gb_LinkTarget_use_static_libraries,$(1),\
)
endef
+define gb_LinkTarget__use_opencollada_parser
+$(call gb_LinkTarget_set_include,$(1),\
+ -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADABaseUtils/include \
+ -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADAFramework/include \
+ -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADASaxFrameworkLoader/include \
+ -I$(call gb_UnpackedTarball_get_dir,opencollada)/GeneratedSaxParser/include \
+ $$(INCLUDE) \
+)
+
+$(call gb_LinkTarget_use_static_libraries,$(1),\
+ opencollada_parser \
+)
+endef
+
endif
### Jars ############################################################
diff --git a/configure.ac b/configure.ac
index 7f2e48ebe665..28d4291c26f5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6281,6 +6281,27 @@ fi
AC_SUBST(CXXFLAGS_CXX11)
AC_SUBST(HAVE_CXX11)
+AC_MSG_CHECKING([for std::shared_ptr])
+if test "$HAVE_CXX11" = "TRUE" -a "$GCC" = "yes"; then
+ save_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$CXXFLAGS $CXXFLAGS_CXX11"
+ AC_LANG_PUSH([C++])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
+ #include <memory>
+ using std::shared_ptr;
+ ])],
+ [ have_std_shared_ptr=yes ],
+ [ have_std_shared_ptr=no ]
+ )
+ AC_LANG_POP([C++])
+ CXXFLAGS=$save_CXXFLAGS
+elif test "$COM" = "MSC"; then
+ have_std_shared_ptr=yes
+else
+ have_std_shared_ptr=no
+fi
+AC_MSG_RESULT([$have_std_shared_ptr])
+
dnl ==================================
dnl Check for C++11 "= delete" support
dnl ==================================
@@ -10454,6 +10475,10 @@ if test "x$enable_gltf" != "xno"; then
FREETYPE_LIBS="${WORKDIR}/UnpackedTarball/freetype/objs/win32/vc2010/freetype248$FREETYPE_LIB_DEBUGLIB_SUFFIX.lib"
fi
fi
+ # otherwise build fails in collada2gltf external because of std::shared_ptr
+ if test "$have_std_shared_ptr" = "yes"; then
+ BUILD_TYPE="$BUILD_TYPE COLLADA2GLTF"
+ fi
else
AC_MSG_RESULT([no])
fi
diff --git a/download.lst b/download.lst
index 5a7a4e1b769a..97750493e704 100644
--- a/download.lst
+++ b/download.lst
@@ -98,6 +98,8 @@ export NEON_TARBALL := ff369e69ef0f0143beb5626164e87ae2-neon-0.29.5.tar.gz
export NSS_TARBALL := 06beb053e257d9e22641339c905c6eba-nss-3.15.3-with-nspr-4.10.2.tar.gz
export ODFGEN_MD5SUM := e5483d1f0b71e64c367c1194b54b0f53
export ODFGEN_TARBALL := libodfgen-0.0.4.tar.bz2
+export OPENCOLLADA_MD5SUM := 4ca8a6ef0afeefc864e9ef21b9f14bd6
+export OPENCOLLADA_TARBALL := OpenCOLLADA-master-6509aa13af.tar.bz2
export OPENLDAP_TARBALL := 804c6cb5698db30b75ad0ff1c25baefd-openldap-2.4.31.tgz
export OPENSSL_TARBALL := de62b43dfcd858e66a74bee1c834e959-openssl-1.0.1g.tar.gz
export ORCUS_TARBALL := 7681383be6ce489d84c1c74f4e7f9643-liborcus-0.7.0.tar.bz2
diff --git a/external/Module_external.mk b/external/Module_external.mk
index 02f659570230..728aef0c92b3 100644
--- a/external/Module_external.mk
+++ b/external/Module_external.mk
@@ -75,6 +75,7 @@ $(eval $(call gb_Module_add_moduledirs,external,\
$(call gb_Helper_optional,NEON,neon) \
$(call gb_Helper_optional,NSS,nss) \
$(call gb_Helper_optional,ODFGEN,libodfgen) \
+ $(call gb_Helper_optional,COLLADA2GLTF,opencollada) \
$(call gb_Helper_optional,OPENLDAP,openldap) \
$(call gb_Helper_optional,OPENSSL,openssl) \
$(call gb_Helper_optional,ORCUS,liborcus) \
diff --git a/external/opencollada/Makefile b/external/opencollada/Makefile
new file mode 100644
index 000000000000..569ad8a0ba7a
--- /dev/null
+++ b/external/opencollada/Makefile
@@ -0,0 +1,14 @@
+# -*- 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/.
+#
+
+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/opencollada/Module_opencollada.mk b/external/opencollada/Module_opencollada.mk
new file mode 100644
index 000000000000..4ea3c7ee5a5f
--- /dev/null
+++ b/external/opencollada/Module_opencollada.mk
@@ -0,0 +1,17 @@
+# -*- 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,opencollada))
+
+$(eval $(call gb_Module_add_targets,opencollada,\
+ StaticLibrary_opencollada_parser \
+ UnpackedTarball_opencollada \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/opencollada/README b/external/opencollada/README
new file mode 100644
index 000000000000..225bcbeb93d8
--- /dev/null
+++ b/external/opencollada/README
@@ -0,0 +1,5 @@
+OpenCOLLADA is a COLLADA SDK that includes plug-ins for Autodesk Maya and 3ds Max.
+LibreOffice mainly use it for parse collada files (*.dae).
+
+From:
+[https://github.com/khronosGroup/OpenCOLLADA/].
diff --git a/external/opencollada/StaticLibrary_opencollada_parser.mk b/external/opencollada/StaticLibrary_opencollada_parser.mk
new file mode 100644
index 000000000000..74b21ed917b1
--- /dev/null
+++ b/external/opencollada/StaticLibrary_opencollada_parser.mk
@@ -0,0 +1,273 @@
+# -*- 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_StaticLibrary_StaticLibrary,opencollada_parser))
+
+$(eval $(call gb_StaticLibrary_use_unpacked,opencollada_parser,opencollada))
+
+$(eval $(call gb_StaticLibrary_set_warnings_not_errors,opencollada_parser))
+
+$(eval $(call gb_StaticLibrary_set_generated_cxx_suffix,opencollada_parser,cpp))
+
+$(eval $(call gb_StaticLibrary_use_externals,opencollada_parser,\
+ libxml2 \
+))
+
+# Avoid warnings
+$(eval $(call gb_StaticLibrary_add_cxxflags,opencollada_parser,-w))
+$(eval $(call gb_StaticLibrary_add_cflags,opencollada_parser,-w))
+
+# Use libxml2 for xml parsing (other option is expat)
+$(eval $(call gb_StaticLibrary_add_defs,opencollada_parser,\
+ -DGENERATEDSAXPARSER_XMLPARSER_LIBXML \
+ -DGENERATEDSAXPARSER_VALIDATION \
+ -DPCRE_STATIC \
+))
+
+# OpenCollada parser part
+$(eval $(call gb_StaticLibrary_set_include,opencollada_parser,\
+ -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADABaseUtils/include \
+ -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADABaseUtils/include/Math \
+ -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADAFramework/include \
+ -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADASaxFrameworkLoader/include \
+ -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADASaxFrameworkLoader/include/generated14 \
+ -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADASaxFrameworkLoader/include/generated15 \
+ -I$(call gb_UnpackedTarball_get_dir,opencollada)/Externals/MathMLSolver/include \
+ -I$(call gb_UnpackedTarball_get_dir,opencollada)/Externals/MathMLSolver/include/AST \
+ -I$(call gb_UnpackedTarball_get_dir,opencollada)/Externals/UTF/include \
+ -I$(call gb_UnpackedTarball_get_dir,opencollada)/GeneratedSaxParser/include \
+ $$(INCLUDE) \
+))
+
+$(eval $(call gb_StaticLibrary_add_generated_exception_objects,opencollada_parser,\
+ UnpackedTarball/opencollada/COLLADABaseUtils/src/COLLADABUHashFunctions \
+ UnpackedTarball/opencollada/COLLADABaseUtils/src/COLLADABUIDList \
+ UnpackedTarball/opencollada/COLLADABaseUtils/src/COLLADABUNativeString \
+ UnpackedTarball/opencollada/COLLADABaseUtils/src/COLLADABUPcreCompiledPattern \
+ UnpackedTarball/opencollada/COLLADABaseUtils/src/COLLADABUPrecompiledHeaders \
+ UnpackedTarball/opencollada/COLLADABaseUtils/src/COLLADABUStringUtils \
+ UnpackedTarball/opencollada/COLLADABaseUtils/src/COLLADABUURI \
+ UnpackedTarball/opencollada/COLLADABaseUtils/src/COLLADABUUtils \
+ UnpackedTarball/opencollada/COLLADABaseUtils/src/Math/COLLADABUMathMatrix3 \
+ UnpackedTarball/opencollada/COLLADABaseUtils/src/Math/COLLADABUMathMatrix4 \
+ UnpackedTarball/opencollada/COLLADABaseUtils/src/Math/COLLADABUMathQuaternion \
+ UnpackedTarball/opencollada/COLLADABaseUtils/src/Math/COLLADABUMathUtils \
+ UnpackedTarball/opencollada/COLLADABaseUtils/src/Math/COLLADABUMathVector3 \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWAxisInfo \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWCamera \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWColor \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWConstants \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWEffect \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWEffectCommon \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWFileInfo \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWFloatOrDoubleArray \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWFormula \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWFormulas \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWGeometry \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWImage \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWInstanceKinematicsScene \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWKinematicsController \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWKinematicsModel \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWKinematicsScene \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWLight \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWLoaderUtils \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWMaterial \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWMatrix \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWMesh \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWMeshPrimitive \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWMorphController \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWNode \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWPrecompiledHeaders \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWRenderState \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWRoot \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWRotate \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWSampler \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWScale \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWSkinController \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWSkinControllerData \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWSpline \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWTexture \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWTransformation \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWTranslate \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWUniqueId \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWValidate \
+ UnpackedTarball/opencollada/COLLADAFramework/src/COLLADAFWVisualScene \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLAssetLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLCOLLADACsymbol \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLDocumentProcessor \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLExtraDataElementHandler \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLExtraDataLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLFileLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLFilePartLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLFormulasLinker \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLFormulasLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLGeometryLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLGeometryMaterialIdInfo \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLIError \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLIErrorHandler \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLIExtraDataCallbackHandler \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLIFilePartLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLInputUnshared \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLInstanceArticulatedSystemLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLInstanceKinematicsModelLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLIParserImpl14 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLIParserImpl15 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLJointsLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLKinematicsIntermediateData \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLKinematicsSceneCreator \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLLibraryAnimationsLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLLibraryArticulatedSystemsLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLLibraryCamerasLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLLibraryControllersLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLLibraryEffectsLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLLibraryFormulasLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLLibraryImagesLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLLibraryJointsLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLLibraryKinematicsModelsLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLLibraryKinematicsScenesLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLLibraryLightsLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLLibraryMaterialsLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLLibraryNodesLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLMeshLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLMeshPrimitiveInputList \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLNodeLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLPostProcessor \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLPrecompiledHeaders \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLRootParser14 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLRootParser15 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLSaxFWLError \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLSaxParserError \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLSaxParserErrorHandler \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLSceneLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLSidAddress \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLSidTreeNode \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLSourceArrayLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLSplineLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLTransformationLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLTypes \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLVersionParser \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/COLLADASaxFWLVisualSceneLoader \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLAssetLoader14 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLColladaParserAutoGen14Private \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLColladaParserAutoGen14PrivateEnums \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLColladaParserAutoGen14PrivateFindElementHash \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLColladaParserAutoGen14PrivateFunctionMap \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLColladaParserAutoGen14PrivateFunctionMapFactory \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLColladaParserAutoGen14PrivateNameMap \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLColladaParserAutoGen14PrivateValidation \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLGeometryLoader14 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLLibraryAnimationsLoader14 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLLibraryCamerasLoader14 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLLibraryControllersLoader14 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLLibraryEffectsLoader14 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLLibraryImagesLoader14 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLLibraryLightsLoader14 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLLibraryMaterialsLoader14 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLLibraryNodesLoader14 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLMeshLoader14 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLNodeLoader14 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLSceneLoader14 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLSourceArrayLoader14 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLSplineLoader14 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLVisualSceneLoader14 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLAssetLoader15 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLColladaParserAutoGen15Private \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLColladaParserAutoGen15PrivateEnums \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLColladaParserAutoGen15PrivateFindElementHash \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLColladaParserAutoGen15PrivateFunctionMap \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLColladaParserAutoGen15PrivateFunctionMapFactory \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLColladaParserAutoGen15PrivateNameMap \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLColladaParserAutoGen15PrivateValidation \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLFormulasLoader15 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLGeometryLoader15 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLLibraryAnimationsLoader15 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLLibraryArticulatedSystemsLoader15 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLLibraryCamerasLoader15 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLLibraryControllersLoader15 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLLibraryEffectsLoader15 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLLibraryFormulasLoader15 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLLibraryImagesLoader15 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLLibraryJointsLoader15 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLLibraryKinematicsModelsLoader15 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLLibraryKinematicsScenesLoader15 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLLibraryLightsLoader15 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLLibraryMaterialsLoader15 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLLibraryNodesLoader15 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLMeshLoader15 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLNodeLoader15 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLSceneLoader15 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLSourceArrayLoader15 \
+ UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLVisualSceneLoader15 \
+ UnpackedTarball/opencollada/GeneratedSaxParser/src/GeneratedSaxParserCoutErrorHandler \
+ UnpackedTarball/opencollada/GeneratedSaxParser/src/GeneratedSaxParserLibxmlSaxParser \
+ UnpackedTarball/opencollada/GeneratedSaxParser/src/GeneratedSaxParserNamespaceStack \
+ UnpackedTarball/opencollada/GeneratedSaxParser/src/GeneratedSaxParserParser \
+ UnpackedTarball/opencollada/GeneratedSaxParser/src/GeneratedSaxParserParserError \
+ UnpackedTarball/opencollada/GeneratedSaxParser/src/GeneratedSaxParserParserTemplate \
+ UnpackedTarball/opencollada/GeneratedSaxParser/src/GeneratedSaxParserParserTemplateBase \
+ UnpackedTarball/opencollada/GeneratedSaxParser/src/GeneratedSaxParserRawUnknownElementHandler \
+ UnpackedTarball/opencollada/GeneratedSaxParser/src/GeneratedSaxParserSaxParser \
+ UnpackedTarball/opencollada/GeneratedSaxParser/src/GeneratedSaxParserStackMemoryManager \
+ UnpackedTarball/opencollada/GeneratedSaxParser/src/GeneratedSaxParserUtils \
+))
+
+# PCRE external library compiled via OpenCollada
+$(eval $(call gb_StaticLibrary_set_include,opencollada_parser,\
+ $$(INCLUDE) \
+ -I$(call gb_UnpackedTarball_get_dir,opencollada)/Externals/pcre/include \
+))
+
+$(eval $(call gb_StaticLibrary_add_generated_cobjects,opencollada_parser,\
+ UnpackedTarball/opencollada/Externals/pcre/src/pcre_chartables \
+ UnpackedTarball/opencollada/Externals/pcre/src/pcre_compile \
+ UnpackedTarball/opencollada/Externals/pcre/src/pcre_exec \
+ UnpackedTarball/opencollada/Externals/pcre/src/pcre_globals \
+ UnpackedTarball/opencollada/Externals/pcre/src/pcre_newline \
+ UnpackedTarball/opencollada/Externals/pcre/src/pcre_tables \
+ UnpackedTarball/opencollada/Externals/pcre/src/pcre_try_flipped \
+))
+
+# UTF external library compiled via OpenCollada
+$(eval $(call gb_StaticLibrary_set_include,opencollada_parser,\
+ $$(INCLUDE) \
+ -I$(call gb_UnpackedTarball_get_dir,opencollada)/Externals/UTF/include \
+))
+
+$(eval $(call gb_StaticLibrary_add_generated_cobjects,opencollada_parser,\
+ UnpackedTarball/opencollada/Externals/UTF/src/ConvertUTF \
+))
+
+# MathMLSolver external library compiled via OpenCollada
+$(eval $(call gb_StaticLibrary_set_include,opencollada_parser,\
+ $$(INCLUDE) \
+ -I$(call gb_UnpackedTarball_get_dir,opencollada)/Externals/MathMLSolver/include \
+ -I$(call gb_UnpackedTarball_get_dir,opencollada)/Externals/MathMLSolver/include/AST \
+))
+
+$(eval $(call gb_StaticLibrary_add_generated_exception_objects,opencollada_parser,\
+ UnpackedTarball/opencollada/Externals/MathMLSolver/src/AST/MathMLASTArithmeticExpression \
+ UnpackedTarball/opencollada/Externals/MathMLSolver/src/AST/MathMLASTBinaryComparisionExpression \
+ UnpackedTarball/opencollada/Externals/MathMLSolver/src/AST/MathMLASTConstantExpression \
+ UnpackedTarball/opencollada/Externals/MathMLSolver/src/AST/MathMLASTFragmentExpression \
+ UnpackedTarball/opencollada/Externals/MathMLSolver/src/AST/MathMLASTFunctionExpression \
+ UnpackedTarball/opencollada/Externals/MathMLSolver/src/AST/MathMLASTLogicExpression \
+ UnpackedTarball/opencollada/Externals/MathMLSolver/src/AST/MathMLASTStringVisitor \
+ UnpackedTarball/opencollada/Externals/MathMLSolver/src/AST/MathMLASTUnaryArithmeticExpression \
+ UnpackedTarball/opencollada/Externals/MathMLSolver/src/AST/MathMLASTVariableExpression \
+ UnpackedTarball/opencollada/Externals/MathMLSolver/src/MathMLEvaluatorVisitor \
+ UnpackedTarball/opencollada/Externals/MathMLSolver/src/MathMLSerializationUtil \
+ UnpackedTarball/opencollada/Externals/MathMLSolver/src/MathMLSerializationVisitor \
+ UnpackedTarball/opencollada/Externals/MathMLSolver/src/MathMLSolverFunctionExtensions \
+ UnpackedTarball/opencollada/Externals/MathMLSolver/src/MathMLSolverPrecompiled \
+ UnpackedTarball/opencollada/Externals/MathMLSolver/src/MathMLString \
+ UnpackedTarball/opencollada/Externals/MathMLSolver/src/MathMLSymbolTable \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/opencollada/UnpackedTarball_opencollada.mk b/external/opencollada/UnpackedTarball_opencollada.mk
new file mode 100644
index 000000000000..579efc25494d
--- /dev/null
+++ b/external/opencollada/UnpackedTarball_opencollada.mk
@@ -0,0 +1,19 @@
+# -*- 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,opencollada))
+
+$(eval $(call gb_UnpackedTarball_set_tarball,opencollada,$(OPENCOLLADA_TARBALL)))
+
+$(eval $(call gb_UnpackedTarball_add_patches,opencollada,\
+ external/opencollada/opencollada.clang.patch.0 \
+ external/opencollada/opencollada.libxml.patch.0 \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/opencollada/opencollada.clang.patch.0 b/external/opencollada/opencollada.clang.patch.0
new file mode 100644
index 000000000000..1fe57beb3817
--- /dev/null
+++ b/external/opencollada/opencollada.clang.patch.0
@@ -0,0 +1,12 @@
+diff -ur opencollada.org/COLLADABaseUtils/include/COLLADABUhash_map.h opencollada/COLLADABaseUtils/include/COLLADABUhash_map.h
+--- COLLADABaseUtils/include/COLLADABUhash_map.h 2014-05-09 11:12:05.740858077 +0200
++++ COLLADABaseUtils/include/COLLADABUhash_map.h 2014-05-09 11:17:38.616861995 +0200
+@@ -70,7 +70,7 @@
+ #define COLLADABU_HASH_NAMESPACE_CLOSE
+ #define COLLADABU_HASH_FUN hash
+ #else // Linux or Mac or FreeBSD with GCC
+- #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3)
++ #if !defined(__clang__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3))
+ #include <ext/hash_map>
+ #include <ext/hash_set>
+ #if !(defined(__APPLE__) && defined(__MACH__))
diff --git a/external/opencollada/opencollada.libxml.patch.0 b/external/opencollada/opencollada.libxml.patch.0
new file mode 100644
index 000000000000..beccc92bd6f3
--- /dev/null
+++ b/external/opencollada/opencollada.libxml.patch.0
@@ -0,0 +1,12 @@
+diff -ur opencollada.org/GeneratedSaxParser/include/GeneratedSaxParserPrerequisites.h opencollada/GeneratedSaxParser/include/GeneratedSaxParserPrerequisites.h
+--- GeneratedSaxParser/include/GeneratedSaxParserPrerequisites.h 2014-05-13 10:37:05.029390239 +0200
++++ GeneratedSaxParser/include/GeneratedSaxParserPrerequisites.h 2014-05-13 10:37:37.093390617 +0200
+@@ -11,8 +11,6 @@
+ #ifndef __GENERATEDSAXPARSER_PREREQUISITES_H__
+ #define __GENERATEDSAXPARSER_PREREQUISITES_H__
+
+-#define LIBXML_STATIC
+-
+ #include <string>
+
+ #include "COLLADABUPlatform.h"