summaryrefslogtreecommitdiff
path: root/external/libtommath
diff options
context:
space:
mode:
authorWastack <btomi96@gmail.com>2016-07-28 17:16:19 +0200
committerLionel Elie Mamane <lionel@mamane.lu>2016-08-17 13:05:40 +0000
commit45f42681f4d1260c42140a313560534e605f81a4 (patch)
tree1c51f2ba29261c38a3e771dc04968f2e9cb5957f /external/libtommath
parent0cb7d76bc5552245642ba423a87831cd9e0b2b92 (diff)
GSoC Upgrade firebird to 3.0
Embedded firebird is now version 3.0. Supports MSVC 14.0. Instead of fbembed, there are now two libraries: fbclient and Engine12. fbclient is linked as fbembed before, Engine12 is loaded at runtime from fbclient. fb now needs system libtommath, which is supplied as a new ExternalProject of LO. Change-Id: I132939bdee745795b22f675e4265e9590079c45f Reviewed-on: https://gerrit.libreoffice.org/27642 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu>
Diffstat (limited to 'external/libtommath')
-rw-r--r--external/libtommath/ExternalProject_libtommath.mk36
-rw-r--r--external/libtommath/Makefile7
-rw-r--r--external/libtommath/Module_libtommath.mk17
-rw-r--r--external/libtommath/README6
-rw-r--r--external/libtommath/UnpackedTarball_libtommath.mk20
-rw-r--r--external/libtommath/libtommath-msvc.patch12
6 files changed, 98 insertions, 0 deletions
diff --git a/external/libtommath/ExternalProject_libtommath.mk b/external/libtommath/ExternalProject_libtommath.mk
new file mode 100644
index 000000000000..955adc8c4d3d
--- /dev/null
+++ b/external/libtommath/ExternalProject_libtommath.mk
@@ -0,0 +1,36 @@
+# -*- 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,libtommath))
+
+$(eval $(call gb_ExternalProject_register_targets,libtommath,\
+ build \
+))
+
+$(eval $(call gb_ExternalProject_use_nmake,libtommath,build))
+
+ifeq ($(COM),MSC)
+$(call gb_ExternalProject_get_state_target,libtommath,build):
+ $(call gb_ExternalProject_run,build,\
+ export CC="$(shell cygpath -w $(filter-out -%,$(CC))) $(filter -%,$(CC))" \
+ && export LIB="$(ILIB)" \
+ && nmake -nologo -f makefile.msvc \
+ )
+else
+$(call gb_ExternalProject_get_state_target,libtommath,build) :
+ $(call gb_ExternalProject_run,build,\
+ unset MAKEFLAGS \
+ && export CFLAGS=" \
+ -fPIC \
+ " \
+ && $(MAKE) \
+ )
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/libtommath/Makefile b/external/libtommath/Makefile
new file mode 100644
index 000000000000..e4968cf85fb6
--- /dev/null
+++ b/external/libtommath/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/libtommath/Module_libtommath.mk b/external/libtommath/Module_libtommath.mk
new file mode 100644
index 000000000000..def67f8393e9
--- /dev/null
+++ b/external/libtommath/Module_libtommath.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,libtommath))
+
+$(eval $(call gb_Module_add_targets,libtommath,\
+ ExternalProject_libtommath \
+ UnpackedTarball_libtommath \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/libtommath/README b/external/libtommath/README
new file mode 100644
index 000000000000..0da3128c5404
--- /dev/null
+++ b/external/libtommath/README
@@ -0,0 +1,6 @@
+LibTomMath is a free open source portable number theoretic multiple-precision
+integer library written entirely in C.
+
+Used by embedded firebird (external/firebird).
+
+http://www.libtom.org/LibTomMath/
diff --git a/external/libtommath/UnpackedTarball_libtommath.mk b/external/libtommath/UnpackedTarball_libtommath.mk
new file mode 100644
index 000000000000..2a3184c9fc6c
--- /dev/null
+++ b/external/libtommath/UnpackedTarball_libtommath.mk
@@ -0,0 +1,20 @@
+# -*- 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,libtommath))
+
+$(eval $(call gb_UnpackedTarball_set_tarball,libtommath,$(LIBTOMMATH_TARBALL)))
+
+$(eval $(call gb_UnpackedTarball_set_patchlevel,libtommath,0))
+
+$(eval $(call gb_UnpackedTarball_add_patches,libtommath,\
+ external/libtommath/libtommath-msvc.patch \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/libtommath/libtommath-msvc.patch b/external/libtommath/libtommath-msvc.patch
new file mode 100644
index 000000000000..07884871aac9
--- /dev/null
+++ b/external/libtommath/libtommath-msvc.patch
@@ -0,0 +1,12 @@
+--- makefile.msvc 2016-02-05 23:25:32.000000000 +0100
++++ makefile.msvc 2016-07-21 11:34:20.618390100 +0200
+@@ -38,3 +38,9 @@
+
+ library: $(OBJECTS)
+ lib /out:tommath.lib $(OBJECTS)
++
++.cc.obj:
++ $(CC) /nologo $(CFLAGS) /c $<
++
++.c.obj:
++ $(CC) /nologo $(CFLAGS) /c $<