summaryrefslogtreecommitdiffstats
path: root/firebird
diff options
context:
space:
mode:
authorJavier Fernandez <jfernandez@igalia.com>2013-05-10 18:21:30 +0000
committerAndrzej J.R. Hunt <andrzej@ahunt.org>2013-07-16 16:40:03 +0200
commitf53228c59a7b539eaf639d6e5e903d0f89d6f5f8 (patch)
tree43245dfefef584e90ad05b559bf8bc5710e1520a /firebird
parentremove usage of removed header (diff)
downloadcore-f53228c59a7b539eaf639d6e5e903d0f89d6f5f8.tar.gz
core-f53228c59a7b539eaf639d6e5e903d0f89d6f5f8.zip
Firebird: initial implementation of the skeleton driver.
Change-Id: I45087282fe7b7fc5bcebeeb2bbb79d0db1e043bd
Diffstat (limited to 'firebird')
-rw-r--r--firebird/ExternalPackage_firebird.mk46
-rw-r--r--firebird/ExternalProject_firebird.mk61
-rw-r--r--firebird/Makefile7
-rw-r--r--firebird/Module_firebird.mk23
-rw-r--r--firebird/UnpackedTarball_firebird.mk14
5 files changed, 151 insertions, 0 deletions
diff --git a/firebird/ExternalPackage_firebird.mk b/firebird/ExternalPackage_firebird.mk
new file mode 100644
index 000000000000..d02037d46183
--- /dev/null
+++ b/firebird/ExternalPackage_firebird.mk
@@ -0,0 +1,46 @@
+# -*- 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,firebird,firebird))
+
+$(eval $(call gb_ExternalPackage_use_external_project,firebird,firebird))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,firebird,inc/external/firebird,\
+ gen/firebird/include/ib_util.h \
+ gen/firebird/include/ibase.h \
+ gen/firebird/include/iberror.h \
+ gen/firebird/include/perf.h \
+))
+
+# Need to be added?
+# $(eval $(call gb_ExternalPackage_add_unpacked_files,firebird,share/firebird,\
+# gen/install/misc/firebird.conf \
+# ))
+# $(eval $(call gb_ExternalPackage_add_unpacked_files,firebird,share/firebird,\
+# gen/firebird/firebird.msg \
+# ))
+# $(eval $(call gb_ExternalPackage_add_unpacked_files,firebird,bin/firebird,\
+# gen/firebird/bin/isql \
+# gen/firebird/bin/isql_static \
+# ))
+# $(eval $(call gb_ExternalPackage_add_unpacked_files,firebird,share/firebird,\
+# gen/install/misc/fbintl.conf \
+# ))
+# $(eval $(call gb_ExternalPackage_add_unpacked_files,firebird,share/firebird,\
+# gen/firebird/intl/libfbintl.so \
+# ))
+# $(eval $(call gb_ExternalPackage_add_unpacked_files,firebird,share/firebird,\
+# gen/firebird/security2.fdb \
+# ))
+
+$(eval $(call gb_ExternalPackage_add_library_for_install,firebird,lib/libfbembed.so.2.5.2,gen/firebird/lib/libfbembed.so.2.5.2))
+
+$(eval $(call gb_ExternalPackage_add_file,firebird,lib/libfbembed.so.2.5.2,gen/firebird/lib/libfbembed.so.2.5.2))
+
+# vim: set noet sw=4 ts=4:
diff --git a/firebird/ExternalProject_firebird.mk b/firebird/ExternalProject_firebird.mk
new file mode 100644
index 000000000000..231759b81dbd
--- /dev/null
+++ b/firebird/ExternalProject_firebird.mk
@@ -0,0 +1,61 @@
+# -*- 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,firebird))
+
+$(eval $(call gb_ExternalProject_use_unpacked,firebird,firebird))
+
+$(eval $(call gb_ExternalProject_use_autoconf,firebird,build))
+
+$(eval $(call gb_ExternalProject_use_externals,firebird,\
+ boost_headers \
+ icu \
+))
+
+# Dependency in 2.5
+# $(eval $(call gb_ExternalProject_use_packages,firebird, \
+# atomic_op \
+# ))
+
+# Dependency in 3.0
+# $(eval $(call gb_ExternalProject_use_packages,firebird, \
+# tommath \
+# ))
+
+$(eval $(call gb_ExternalProject_register_targets,firebird,\
+ build \
+))
+
+# note: this can intentionally only build against internal atomic_op
+# note: this can intentionally only build against internal tommath
+
+$(call gb_ExternalProject_get_state_target,firebird,build):
+ $(call gb_ExternalProject_run,build,\
+ export CFLAGS="$(if $(filter TRUE,$(DISABLE_DYNLOADING)),-fvisibility=hidden)" \
+ && export LDFLAGS="-L$(OUTDIR)/lib \
+ $(if $(filter LINUX FREEBSD,$(OS)),-Wl$(COMMA)-z$(COMMA)origin -Wl$(COMMA)-rpath$(COMMA)\\"\$$\$$ORIGIN:'\'\$$\$$ORIGIN/../ure-link/lib") \
+ $(if $(SYSBASE),$(if $(filter LINUX SOLARIS,$(OS)),-L$(SYSBASE)/lib -L$(SYSBASE)/usr/lib -lpthread -ldl))" \
+ && CPPFLAGS="-I$(OUTDIR)/inc/external $(if $(SYSBASE),-I$(SYSBASE)/usr/include)" \
+ && export ICU_LIBS=" " \
+ && export ICU_CFLAGS="$(if $(filter NO,$(SYSTEM_ICU)),\
+ -I$(call gb_UnpackedTarball_get_dir,icu)/source/i18n \
+ -I$(call gb_UnpackedTarball_get_dir,icu)/source/common, )" \
+ && export PKG_CONFIG="" \
+ && ./configure \
+ --with-system-icu \
+ --without-editline \
+ --disable-superserver \
+ $(if $(filter NO,$(SYSTEM_BOOST)),CXXFLAGS=-I$(call gb_UnpackedTarball_get_dir,boost),CXXFLAGS=$(BOOST_CPPFLAGS)) \
+ $(if $(filter YES,$(CROSS_COMPILING)),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \
+ $(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \
+ $(if $(filter IOS ANDROID,$(OS)),--disable-shared,--disable-static) \
+ && $(MAKE) firebird_embedded \
+ )
+
+# vim: set noet sw=4 ts=4:
diff --git a/firebird/Makefile b/firebird/Makefile
new file mode 100644
index 000000000000..ccb1c85a04da
--- /dev/null
+++ b/firebird/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/firebird/Module_firebird.mk b/firebird/Module_firebird.mk
new file mode 100644
index 000000000000..7c8fca0b02ee
--- /dev/null
+++ b/firebird/Module_firebird.mk
@@ -0,0 +1,23 @@
+# -*- 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,firebird))
+
+ifeq ($(SYSTEM_FIREBIRD),NO)
+$(eval $(call gb_Module_add_targets,firebird,\
+ UnpackedTarball_firebird \
+))
+
+$(eval $(call gb_Module_add_targets,firebird,\
+ ExternalPackage_firebird \
+ ExternalProject_firebird \
+))
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/firebird/UnpackedTarball_firebird.mk b/firebird/UnpackedTarball_firebird.mk
new file mode 100644
index 000000000000..ebdfab808c78
--- /dev/null
+++ b/firebird/UnpackedTarball_firebird.mk
@@ -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/.
+#
+
+$(eval $(call gb_UnpackedTarball_UnpackedTarball,firebird))
+
+$(eval $(call gb_UnpackedTarball_set_tarball,firebird,$(FIREBIRD_TARBALL)))
+
+# vim: set noet sw=4 ts=4: