summaryrefslogtreecommitdiff
path: root/bridges
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2012-07-29 17:31:26 +0200
committerDavid Tardon <dtardon@redhat.com>2012-09-22 08:15:30 +0200
commitf2668d319c88fa69aa0c3efcc81e22f6f822195a (patch)
tree6277b820838f605484b702b55a5d8ad581d64d91 /bridges
parentf2ec771cd98fc390ed9e8f4a5e772ca9da958702 (diff)
gbuildize bridges
Change-Id: I66e76da71dd5d6ed1b899aba8d41dfb5bc36da1c
Diffstat (limited to 'bridges')
-rw-r--r--bridges/CustomTarget_gcc3_ios_arm.mk22
-rw-r--r--bridges/Jar_java_uno.mk33
-rw-r--r--bridges/Library_cc50_solaris_intel.mk67
-rw-r--r--bridges/Library_cc50_solaris_sparc.mk61
-rw-r--r--bridges/Library_cc5_solaris_sparc64.mk64
-rw-r--r--bridges/Library_gcc3_aix_powerpc.mk62
-rw-r--r--bridges/Library_gcc3_ios_arm.mk76
-rw-r--r--bridges/Library_gcc3_linux_alpha.mk62
-rw-r--r--bridges/Library_gcc3_linux_arm.mk65
-rw-r--r--bridges/Library_gcc3_linux_hppa.mk66
-rw-r--r--bridges/Library_gcc3_linux_ia64.mk66
-rw-r--r--bridges/Library_gcc3_linux_intel.mk70
-rw-r--r--bridges/Library_gcc3_linux_m68k.mk62
-rw-r--r--bridges/Library_gcc3_linux_mips.mk62
-rw-r--r--bridges/Library_gcc3_linux_powerpc.mk62
-rw-r--r--bridges/Library_gcc3_linux_powerpc64.mk62
-rw-r--r--bridges/Library_gcc3_linux_s390.mk62
-rw-r--r--bridges/Library_gcc3_linux_s390x.mk62
-rw-r--r--bridges/Library_gcc3_linux_sparc.mk66
-rw-r--r--bridges/Library_gcc3_linux_x86-64.mk73
-rw-r--r--bridges/Library_gcc3_macosx_intel.mk66
-rw-r--r--bridges/Library_gcc3_macosx_powerpc.mk62
-rw-r--r--bridges/Library_gcc3_solaris_intel.mk62
-rw-r--r--bridges/Library_gcc3_solaris_sparc.mk62
-rw-r--r--bridges/Library_java_uno.mk46
-rw-r--r--bridges/Library_mingw_intel.mk76
-rw-r--r--bridges/Library_msvc_win32_intel.mk65
-rw-r--r--bridges/Library_msvc_win32_x86-64.mk69
-rw-r--r--bridges/Makefile7
-rw-r--r--bridges/Module_bridges.mk95
-rw-r--r--bridges/source/jni_uno/jni_bridge.cxx4
31 files changed, 1837 insertions, 2 deletions
diff --git a/bridges/CustomTarget_gcc3_ios_arm.mk b/bridges/CustomTarget_gcc3_ios_arm.mk
new file mode 100644
index 000000000000..c8c633e54c10
--- /dev/null
+++ b/bridges/CustomTarget_gcc3_ios_arm.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_CustomTarget_CustomTarget,bridges/source/cpp_uno/gcc3_ios_arm))
+
+$(call gb_CustomTarget_get_target,bridges/source/cpp_uno/gcc3_ios_arm) : \
+ $(call gb_CustomTarget_get_workdir,bridges/source/cpp_uno/gcc3_ios_arm)/codesnippets.S \
+ | $(dir $(call gb_CustomTarget_get_target,bridges/source/cpp_uno/gcc3_ios_arm)).dir
+
+$(call gb_CustomTarget_get_workdir,bridges/source/cpp_uno/gcc3_ios_arm)/codesnippets.S : \
+ $(SRCDIR)/bridges/source/cpp_uno/gcc3_ios_arm/generate-snippets.pl
+
+$(call gb_CustomTarget_get_workdir,bridges/source/cpp_uno/gcc3_ios_arm)/codesnippets.S :
+ $(PERL) $< > $@
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Jar_java_uno.mk b/bridges/Jar_java_uno.mk
new file mode 100644
index 000000000000..13a50cf9cab7
--- /dev/null
+++ b/bridges/Jar_java_uno.mk
@@ -0,0 +1,33 @@
+# -*- 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_Jar_Jar,java_uno))
+
+$(eval $(call gb_Jar_use_jars,java_uno,\
+ jurt \
+ ridl \
+))
+
+$(eval $(call gb_Jar_set_manifest,java_uno,$(SRCDIR)/bridges/source/jni_uno/java/com/sun/star/bridges/jni_uno/manifest))
+
+$(eval $(call gb_Jar_set_packageroot,java_uno,com))
+
+$(eval $(call gb_Jar_add_manifest_classpath,java_uno,\
+ ridl.jar \
+ jurt.jar \
+ ../../lib/ \
+ ../bin/ \
+))
+
+$(eval $(call gb_Jar_add_sourcefiles,java_uno,\
+ bridges/source/jni_uno/java/com/sun/star/bridges/jni_uno/JNI_info_holder \
+ bridges/source/jni_uno/java/com/sun/star/bridges/jni_uno/JNI_proxy \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_cc50_solaris_intel.mk b/bridges/Library_cc50_solaris_intel.mk
new file mode 100644
index 000000000000..8472c9d70ee9
--- /dev/null
+++ b/bridges/Library_cc50_solaris_intel.mk
@@ -0,0 +1,67 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge cc50_solaris_intel: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := cc50_solaris_intel
+
+$(eval $(call gb_Library_Library,sunpro5_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,sunpro5_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,sunpro5_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+ifeq ($(HAVE_POSIX_FALLOCATE),YES)
+$(eval $(call gb_Library_add_defs,sunpro5_uno,\
+ -DHAVE_POSIX_FALLOCATE \
+))
+endif
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,sunpro5_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+ -O5 \
+ -xO5 \
+))
+
+$(eval $(call gb_Library_use_libraries,sunpro5_uno,\
+ cppu \
+ sal \
+))
+
+$(eval $(call gb_Library_add_asmobjects,sunpro5_uno,\
+ bridges/source/cpp_uno/cc50_solaris_intel/call \
+))
+
+$(eval $(call gb_Library_add_exception_objects,sunpro5_uno,\
+ bridges/source/cpp_uno/cc50_solaris_intel/cpp2uno \
+ bridges/source/cpp_uno/cc50_solaris_intel/except \
+ bridges/source/cpp_uno/cc50_solaris_intel/uno2cpp \
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+$(eval $(call gb_Library_add_cxxobjects,sunpro5_uno,\
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_cc50_solaris_sparc.mk b/bridges/Library_cc50_solaris_sparc.mk
new file mode 100644
index 000000000000..b3efb0ebb0a5
--- /dev/null
+++ b/bridges/Library_cc50_solaris_sparc.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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge cc50_solaris_sparc: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := cc50_solaris_sparc
+
+$(eval $(call gb_Library_Library,sunpro5_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,sunpro5_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,sunpro5_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+ifeq ($(HAVE_POSIX_FALLOCATE),YES)
+$(eval $(call gb_Library_add_defs,sunpro5_uno,\
+ -DHAVE_POSIX_FALLOCATE \
+))
+endif
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,sunpro5_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+))
+
+$(eval $(call gb_Library_use_libraries,sunpro5_uno,\
+ cppu \
+ sal \
+))
+
+$(eval $(call gb_Library_add_asmobjects,sunpro5_uno,\
+ bridges/source/cpp_uno/cc50_solaris_sparc/call \
+))
+
+$(eval $(call gb_Library_add_exception_objects,sunpro5_uno,\
+ bridges/source/cpp_uno/cc50_solaris_sparc/cpp2uno \
+ bridges/source/cpp_uno/cc50_solaris_sparc/except \
+ bridges/source/cpp_uno/cc50_solaris_sparc/uno2cpp \
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_cc5_solaris_sparc64.mk b/bridges/Library_cc5_solaris_sparc64.mk
new file mode 100644
index 000000000000..e29e0170c107
--- /dev/null
+++ b/bridges/Library_cc5_solaris_sparc64.mk
@@ -0,0 +1,64 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge cc5_solaris_sparc64: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := cc5_solaris_sparc64
+
+$(eval $(call gb_Library_Library,sunpro5_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,sunpro5_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,sunpro5_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+ifeq ($(HAVE_POSIX_FALLOCATE),YES)
+$(eval $(call gb_Library_add_defs,sunpro5_uno,\
+ -DHAVE_POSIX_FALLOCATE \
+))
+endif
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,sunpro5_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+))
+
+$(eval $(call gb_Library_use_libraries,sunpro5_uno,\
+ cppu \
+ sal \
+))
+
+$(eval $(call gb_Library_add_asmobjects,sunpro5_uno,\
+ bridges/source/cpp_uno/cc5_solaris_sparc64/callvirtualmethod \
+ bridges/source/cpp_uno/cc5_solaris_sparc64/fp \
+ bridges/source/cpp_uno/cc5_solaris_sparc64/vtableslotcall \
+))
+
+$(eval $(call gb_Library_add_exception_objects,sunpro5_uno,\
+ bridges/source/cpp_uno/cc5_solaris_sparc64/cpp2uno \
+ bridges/source/cpp_uno/cc5_solaris_sparc64/exceptions \
+ bridges/source/cpp_uno/cc5_solaris_sparc64/isdirectreturntype \
+ bridges/source/cpp_uno/cc5_solaris_sparc64/uno2cpp \
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_gcc3_aix_powerpc.mk b/bridges/Library_gcc3_aix_powerpc.mk
new file mode 100644
index 000000000000..4cf7a7048526
--- /dev/null
+++ b/bridges/Library_gcc3_aix_powerpc.mk
@@ -0,0 +1,62 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge gcc3_aix_powerpc: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := gcc3_aix_powerpc
+
+$(eval $(call gb_Library_Library,gcc3_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,gcc3_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,gcc3_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+ifeq ($(HAVE_POSIX_FALLOCATE),YES)
+$(eval $(call gb_Library_add_defs,gcc3_uno,\
+ -DHAVE_POSIX_FALLOCATE \
+))
+endif
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,gcc3_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+))
+
+$(eval $(call gb_Library_use_libraries,gcc3_uno,\
+ cppu \
+ dl \
+ sal \
+))
+
+$(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_aix_powerpc/except \
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+$(eval $(call gb_Library_add_cxxobjects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_aix_powerpc/cpp2uno \
+ bridges/source/cpp_uno/gcc3_aix_powerpc/uno2cpp \
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_gcc3_ios_arm.mk b/bridges/Library_gcc3_ios_arm.mk
new file mode 100644
index 000000000000..e121354bbf27
--- /dev/null
+++ b/bridges/Library_gcc3_ios_arm.mk
@@ -0,0 +1,76 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge gcc3_ios_arm: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := gcc3_ios_arm
+
+$(eval $(call gb_Library_Library,gcc3_uno))
+
+$(eval $(call gb_Library_use_custom_headers,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_ios_arm \
+))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,gcc3_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,gcc3_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+ifeq ($(HAVE_POSIX_FALLOCATE),YES)
+$(eval $(call gb_Library_add_defs,gcc3_uno,\
+ -DHAVE_POSIX_FALLOCATE \
+))
+endif
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,gcc3_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+))
+
+$(eval $(call gb_Library_use_libraries,gcc3_uno,\
+ cppu \
+ dl \
+ sal \
+))
+
+$(eval $(call gb_Library_add_asmobjects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_ios_arm/helper \
+))
+
+$(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_ios_arm/cpp2uno \
+ bridges/source/cpp_uno/gcc3_ios_arm/except \
+ bridges/source/cpp_uno/gcc3_ios_arm/uno2cpp \
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+ifeq ($(COM),GCC)
+$(eval $(call gb_Library_add_cxxobjects,gcc3_uno,\
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+else
+$(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+))
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_gcc3_linux_alpha.mk b/bridges/Library_gcc3_linux_alpha.mk
new file mode 100644
index 000000000000..22cd307a852b
--- /dev/null
+++ b/bridges/Library_gcc3_linux_alpha.mk
@@ -0,0 +1,62 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge gcc3_linux_alpha: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := gcc3_linux_alpha
+
+$(eval $(call gb_Library_Library,gcc3_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,gcc3_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,gcc3_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+ifeq ($(HAVE_POSIX_FALLOCATE),YES)
+$(eval $(call gb_Library_add_defs,gcc3_uno,\
+ -DHAVE_POSIX_FALLOCATE \
+))
+endif
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,gcc3_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+))
+
+$(eval $(call gb_Library_use_libraries,gcc3_uno,\
+ cppu \
+ dl \
+ sal \
+))
+
+$(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_alpha/cpp2uno \
+ bridges/source/cpp_uno/gcc3_linux_alpha/except \
+ bridges/source/cpp_uno/gcc3_linux_alpha/uno2cpp \
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+$(eval $(call gb_Library_add_cxxobjects,gcc3_uno,\
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_gcc3_linux_arm.mk b/bridges/Library_gcc3_linux_arm.mk
new file mode 100644
index 000000000000..4e6f03490f1d
--- /dev/null
+++ b/bridges/Library_gcc3_linux_arm.mk
@@ -0,0 +1,65 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge gcc3_linux_arm: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := gcc3_linux_arm
+
+$(eval $(call gb_Library_Library,gcc3_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,gcc3_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,gcc3_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+ifeq ($(HAVE_POSIX_FALLOCATE),YES)
+$(eval $(call gb_Library_add_defs,gcc3_uno,\
+ -DHAVE_POSIX_FALLOCATE \
+))
+endif
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,gcc3_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+))
+
+$(eval $(call gb_Library_use_libraries,gcc3_uno,\
+ cppu \
+ dl \
+ sal \
+))
+
+$(eval $(call gb_Library_add_asmobjects,gcc3_uno,\
+))
+
+$(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+$(eval $(call gb_Library_add_cxxobjects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno \
+ bridges/source/cpp_uno/gcc3_linux_arm/except \
+ bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp \
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_gcc3_linux_hppa.mk b/bridges/Library_gcc3_linux_hppa.mk
new file mode 100644
index 000000000000..8aa77b5df83f
--- /dev/null
+++ b/bridges/Library_gcc3_linux_hppa.mk
@@ -0,0 +1,66 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge gcc3_linux_hppa: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := gcc3_linux_hppa
+
+$(eval $(call gb_Library_Library,gcc3_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,gcc3_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,gcc3_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+ifeq ($(HAVE_POSIX_FALLOCATE),YES)
+$(eval $(call gb_Library_add_defs,gcc3_uno,\
+ -DHAVE_POSIX_FALLOCATE \
+))
+endif
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,gcc3_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+))
+
+$(eval $(call gb_Library_use_libraries,gcc3_uno,\
+ cppu \
+ dl \
+ sal \
+))
+
+$(eval $(call gb_Library_add_asmobjects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_hppa/call \
+))
+
+$(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+$(eval $(call gb_Library_add_cxxobjects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_hppa/cpp2uno \
+ bridges/source/cpp_uno/gcc3_linux_hppa/except \
+ bridges/source/cpp_uno/gcc3_linux_hppa/uno2cpp \
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_gcc3_linux_ia64.mk b/bridges/Library_gcc3_linux_ia64.mk
new file mode 100644
index 000000000000..8f8f61c00bcd
--- /dev/null
+++ b/bridges/Library_gcc3_linux_ia64.mk
@@ -0,0 +1,66 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge gcc3_linux_ia64: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := gcc3_linux_ia64
+
+$(eval $(call gb_Library_Library,gcc3_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,gcc3_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,gcc3_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+ifeq ($(HAVE_POSIX_FALLOCATE),YES)
+$(eval $(call gb_Library_add_defs,gcc3_uno,\
+ -DHAVE_POSIX_FALLOCATE \
+))
+endif
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,gcc3_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+))
+
+$(eval $(call gb_Library_use_libraries,gcc3_uno,\
+ cppu \
+ dl \
+ sal \
+))
+
+$(eval $(call gb_Library_add_asmobjects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_ia64/call \
+))
+
+$(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_ia64/except \
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+$(eval $(call gb_Library_add_cxxobjects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_ia64/cpp2uno \
+ bridges/source/cpp_uno/gcc3_linux_ia64/uno2cpp \
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_gcc3_linux_intel.mk b/bridges/Library_gcc3_linux_intel.mk
new file mode 100644
index 000000000000..d67a1b866a70
--- /dev/null
+++ b/bridges/Library_gcc3_linux_intel.mk
@@ -0,0 +1,70 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge gcc3_linux_intel: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := gcc3_linux_intel
+
+$(eval $(call gb_Library_Library,gcc3_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,gcc3_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,gcc3_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+ifeq ($(HAVE_POSIX_FALLOCATE),YES)
+$(eval $(call gb_Library_add_defs,gcc3_uno,\
+ -DHAVE_POSIX_FALLOCATE \
+))
+endif
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,gcc3_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+ $(if $(filter TRUE,$(HAVE_GCC_AVX)),\
+ -mno-avx \
+ ) \
+))
+
+$(eval $(call gb_Library_use_libraries,gcc3_uno,\
+ cppu \
+ dl \
+ sal \
+))
+
+$(eval $(call gb_Library_add_asmobjects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_intel/call \
+))
+
+$(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_intel/callvirtualmethod \
+ bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno \
+ bridges/source/cpp_uno/gcc3_linux_intel/except \
+ bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp \
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+$(eval $(call gb_Library_add_cxxobjects,gcc3_uno,\
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_gcc3_linux_m68k.mk b/bridges/Library_gcc3_linux_m68k.mk
new file mode 100644
index 000000000000..db74e2a26126
--- /dev/null
+++ b/bridges/Library_gcc3_linux_m68k.mk
@@ -0,0 +1,62 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge gcc3_linux_m68k: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := gcc3_linux_m68k
+
+$(eval $(call gb_Library_Library,gcc3_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,gcc3_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,gcc3_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+ifeq ($(HAVE_POSIX_FALLOCATE),YES)
+$(eval $(call gb_Library_add_defs,gcc3_uno,\
+ -DHAVE_POSIX_FALLOCATE \
+))
+endif
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,gcc3_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+))
+
+$(eval $(call gb_Library_use_libraries,gcc3_uno,\
+ cppu \
+ dl \
+ sal \
+))
+
+$(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+$(eval $(call gb_Library_add_cxxobjects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_m68k/cpp2uno \
+ bridges/source/cpp_uno/gcc3_linux_m68k/except \
+ bridges/source/cpp_uno/gcc3_linux_m68k/uno2cpp \
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_gcc3_linux_mips.mk b/bridges/Library_gcc3_linux_mips.mk
new file mode 100644
index 000000000000..c33d207e9fb5
--- /dev/null
+++ b/bridges/Library_gcc3_linux_mips.mk
@@ -0,0 +1,62 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge gcc3_linux_mips: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := gcc3_linux_mips
+
+$(eval $(call gb_Library_Library,gcc3_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,gcc3_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,gcc3_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+ifeq ($(HAVE_POSIX_FALLOCATE),YES)
+$(eval $(call gb_Library_add_defs,gcc3_uno,\
+ -DHAVE_POSIX_FALLOCATE \
+))
+endif
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,gcc3_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+))
+
+$(eval $(call gb_Library_use_libraries,gcc3_uno,\
+ cppu \
+ dl \
+ sal \
+))
+
+$(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_mips/except \
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+$(eval $(call gb_Library_add_cxxobjects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_mips/cpp2uno \
+ bridges/source/cpp_uno/gcc3_linux_mips/uno2cpp \
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_gcc3_linux_powerpc.mk b/bridges/Library_gcc3_linux_powerpc.mk
new file mode 100644
index 000000000000..0ae99a60e916
--- /dev/null
+++ b/bridges/Library_gcc3_linux_powerpc.mk
@@ -0,0 +1,62 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge gcc3_linux_powerpc: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := gcc3_linux_powerpc
+
+$(eval $(call gb_Library_Library,gcc3_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,gcc3_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,gcc3_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+ifeq ($(HAVE_POSIX_FALLOCATE),YES)
+$(eval $(call gb_Library_add_defs,gcc3_uno,\
+ -DHAVE_POSIX_FALLOCATE \
+))
+endif
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,gcc3_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+))
+
+$(eval $(call gb_Library_use_libraries,gcc3_uno,\
+ cppu \
+ dl \
+ sal \
+))
+
+$(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_powerpc/cpp2uno \
+ bridges/source/cpp_uno/gcc3_linux_powerpc/except \
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+$(eval $(call gb_Library_add_cxxobjects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_powerpc/uno2cpp \
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_gcc3_linux_powerpc64.mk b/bridges/Library_gcc3_linux_powerpc64.mk
new file mode 100644
index 000000000000..037d4054599d
--- /dev/null
+++ b/bridges/Library_gcc3_linux_powerpc64.mk
@@ -0,0 +1,62 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge gcc3_linux_powerpc64: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := gcc3_linux_powerpc64
+
+$(eval $(call gb_Library_Library,gcc3_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,gcc3_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,gcc3_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+ifeq ($(HAVE_POSIX_FALLOCATE),YES)
+$(eval $(call gb_Library_add_defs,gcc3_uno,\
+ -DHAVE_POSIX_FALLOCATE \
+))
+endif
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,gcc3_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+))
+
+$(eval $(call gb_Library_use_libraries,gcc3_uno,\
+ cppu \
+ dl \
+ sal \
+))
+
+$(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_powerpc64/except \
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+$(eval $(call gb_Library_add_cxxobjects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno \
+ bridges/source/cpp_uno/gcc3_linux_powerpc64/uno2cpp \
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_gcc3_linux_s390.mk b/bridges/Library_gcc3_linux_s390.mk
new file mode 100644
index 000000000000..cd9dbf3444f4
--- /dev/null
+++ b/bridges/Library_gcc3_linux_s390.mk
@@ -0,0 +1,62 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge gcc3_linux_s390: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := gcc3_linux_s390
+
+$(eval $(call gb_Library_Library,gcc3_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,gcc3_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,gcc3_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+ifeq ($(HAVE_POSIX_FALLOCATE),YES)
+$(eval $(call gb_Library_add_defs,gcc3_uno,\
+ -DHAVE_POSIX_FALLOCATE \
+))
+endif
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,gcc3_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+))
+
+$(eval $(call gb_Library_use_libraries,gcc3_uno,\
+ cppu \
+ dl \
+ sal \
+))
+
+$(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_s390/cpp2uno \
+ bridges/source/cpp_uno/gcc3_linux_s390/except \
+ bridges/source/cpp_uno/gcc3_linux_s390/uno2cpp \
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+$(eval $(call gb_Library_add_cxxobjects,gcc3_uno,\
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_gcc3_linux_s390x.mk b/bridges/Library_gcc3_linux_s390x.mk
new file mode 100644
index 000000000000..a04ebad91250
--- /dev/null
+++ b/bridges/Library_gcc3_linux_s390x.mk
@@ -0,0 +1,62 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge gcc3_linux_s390x: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := gcc3_linux_s390x
+
+$(eval $(call gb_Library_Library,gcc3_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,gcc3_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,gcc3_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+ifeq ($(HAVE_POSIX_FALLOCATE),YES)
+$(eval $(call gb_Library_add_defs,gcc3_uno,\
+ -DHAVE_POSIX_FALLOCATE \
+))
+endif
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,gcc3_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+))
+
+$(eval $(call gb_Library_use_libraries,gcc3_uno,\
+ cppu \
+ dl \
+ sal \
+))
+
+$(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_s390x/cpp2uno \
+ bridges/source/cpp_uno/gcc3_linux_s390x/except \
+ bridges/source/cpp_uno/gcc3_linux_s390x/uno2cpp \
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+$(eval $(call gb_Library_add_cxxobjects,gcc3_uno,\
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_gcc3_linux_sparc.mk b/bridges/Library_gcc3_linux_sparc.mk
new file mode 100644
index 000000000000..778cbb12a6e8
--- /dev/null
+++ b/bridges/Library_gcc3_linux_sparc.mk
@@ -0,0 +1,66 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge gcc3_linux_sparc: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := gcc3_linux_sparc
+
+$(eval $(call gb_Library_Library,gcc3_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,gcc3_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,gcc3_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+ifeq ($(HAVE_POSIX_FALLOCATE),YES)
+$(eval $(call gb_Library_add_defs,gcc3_uno,\
+ -DHAVE_POSIX_FALLOCATE \
+))
+endif
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,gcc3_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+))
+
+$(eval $(call gb_Library_use_libraries,gcc3_uno,\
+ cppu \
+ dl \
+ sal \
+))
+
+$(eval $(call gb_Library_add_asmobjects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_sparc/call \
+))
+
+$(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_sparc/except \
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+$(eval $(call gb_Library_add_cxxobjects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_sparc/cpp2uno \
+ bridges/source/cpp_uno/gcc3_linux_sparc/uno2cpp \
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_gcc3_linux_x86-64.mk b/bridges/Library_gcc3_linux_x86-64.mk
new file mode 100644
index 000000000000..244bdda8dae2
--- /dev/null
+++ b/bridges/Library_gcc3_linux_x86-64.mk
@@ -0,0 +1,73 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge gcc3_linux_x86-64: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := gcc3_linux_x86-64
+
+$(eval $(call gb_Library_Library,gcc3_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,gcc3_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,gcc3_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+ifeq ($(HAVE_POSIX_FALLOCATE),YES)
+$(eval $(call gb_Library_add_defs,gcc3_uno,\
+ -DHAVE_POSIX_FALLOCATE \
+))
+endif
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+# In case the compiler supports AVX this code segfaults so specifically turn
+# it off.
+$(eval $(call gb_Library_add_cxxflags,gcc3_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+ $(if $(filter TRUE,$(HAVE_GCC_AVX)),\
+ -mno-avx \
+ ) \
+))
+
+$(eval $(call gb_Library_use_libraries,gcc3_uno,\
+ cppu \
+ dl \
+ sal \
+))
+
+$(eval $(call gb_Library_add_asmobjects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_x86-64/call \
+))
+
+$(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_x86-64/abi \
+ bridges/source/cpp_uno/gcc3_linux_x86-64/callvirtualmethod \
+ bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno \
+ bridges/source/cpp_uno/gcc3_linux_x86-64/except \
+ bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp \
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+$(eval $(call gb_Library_add_cxxobjects,gcc3_uno,\
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_gcc3_macosx_intel.mk b/bridges/Library_gcc3_macosx_intel.mk
new file mode 100644
index 000000000000..46c1587b76ae
--- /dev/null
+++ b/bridges/Library_gcc3_macosx_intel.mk
@@ -0,0 +1,66 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge gcc3_macosx_intel: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := gcc3_macosx_intel
+
+$(eval $(call gb_Library_Library,gcc3_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,gcc3_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,gcc3_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+ifeq ($(HAVE_POSIX_FALLOCATE),YES)
+$(eval $(call gb_Library_add_defs,gcc3_uno,\
+ -DHAVE_POSIX_FALLOCATE \
+))
+endif
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,gcc3_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+))
+
+$(eval $(call gb_Library_use_libraries,gcc3_uno,\
+ cppu \
+ dl \
+ sal \
+))
+
+$(eval $(call gb_Library_add_asmobjects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_macosx_intel/call \
+))
+
+$(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_macosx_intel/cpp2uno \
+ bridges/source/cpp_uno/gcc3_macosx_intel/except \
+ bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp \
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+$(eval $(call gb_Library_add_cxxobjects,gcc3_uno,\
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_gcc3_macosx_powerpc.mk b/bridges/Library_gcc3_macosx_powerpc.mk
new file mode 100644
index 000000000000..e9ce5d9e33c1
--- /dev/null
+++ b/bridges/Library_gcc3_macosx_powerpc.mk
@@ -0,0 +1,62 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge gcc3_macosx_powerpc: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := gcc3_macosx_powerpc
+
+$(eval $(call gb_Library_Library,gcc3_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,gcc3_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,gcc3_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+ifeq ($(HAVE_POSIX_FALLOCATE),YES)
+$(eval $(call gb_Library_add_defs,gcc3_uno,\
+ -DHAVE_POSIX_FALLOCATE \
+))
+endif
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,gcc3_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+))
+
+$(eval $(call gb_Library_use_libraries,gcc3_uno,\
+ cppu \
+ dl \
+ sal \
+))
+
+$(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_macosx_powerpc/cpp2uno \
+ bridges/source/cpp_uno/gcc3_macosx_powerpc/except \
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+$(eval $(call gb_Library_add_cxxobjects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_macosx_powerpc/uno2cpp \
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_gcc3_solaris_intel.mk b/bridges/Library_gcc3_solaris_intel.mk
new file mode 100644
index 000000000000..c333ca8d3db0
--- /dev/null
+++ b/bridges/Library_gcc3_solaris_intel.mk
@@ -0,0 +1,62 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge gcc3_solaris_intel: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := gcc3_solaris_intel
+
+$(eval $(call gb_Library_Library,gcc3_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,gcc3_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,gcc3_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+ifeq ($(HAVE_POSIX_FALLOCATE),YES)
+$(eval $(call gb_Library_add_defs,gcc3_uno,\
+ -DHAVE_POSIX_FALLOCATE \
+))
+endif
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,gcc3_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+))
+
+$(eval $(call gb_Library_use_libraries,gcc3_uno,\
+ cppu \
+ dl \
+ sal \
+))
+
+$(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_solaris_intel/cpp2uno \
+ bridges/source/cpp_uno/gcc3_solaris_intel/except \
+ bridges/source/cpp_uno/gcc3_solaris_intel/uno2cpp \
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+$(eval $(call gb_Library_add_cxxobjects,gcc3_uno,\
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_gcc3_solaris_sparc.mk b/bridges/Library_gcc3_solaris_sparc.mk
new file mode 100644
index 000000000000..3829f219b8d9
--- /dev/null
+++ b/bridges/Library_gcc3_solaris_sparc.mk
@@ -0,0 +1,62 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge gcc3_solaris_sparc: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := gcc3_solaris_sparc
+
+$(eval $(call gb_Library_Library,gcc3_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,gcc3_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,gcc3_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+ifeq ($(HAVE_POSIX_FALLOCATE),YES)
+$(eval $(call gb_Library_add_defs,gcc3_uno,\
+ -DHAVE_POSIX_FALLOCATE \
+))
+endif
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,gcc3_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+))
+
+$(eval $(call gb_Library_use_libraries,gcc3_uno,\
+ cppu \
+ dl \
+ sal \
+))
+
+$(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_solaris_sparc/except \
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+$(eval $(call gb_Library_add_cxxobjects,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_solaris_sparc/cpp2uno \
+ bridges/source/cpp_uno/gcc3_solaris_sparc/uno2cpp \
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_java_uno.mk b/bridges/Library_java_uno.mk
new file mode 100644
index 000000000000..2d6f59579108
--- /dev/null
+++ b/bridges/Library_java_uno.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_Library_Library,java_uno))
+
+ifeq ($(GUI)$(COM),WNTGCC)
+ifeq ($(EXCEPTIONS),sjlj)
+$(eval $(call gb_Library_add_defs,java_uno,\
+ -DBROKEN_ALLOCA \
+))
+endif
+endif
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,java_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,java_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+$(eval $(call gb_Library_use_libraries,java_uno,\
+ cppu \
+ jvmaccess \
+ sal \
+ salhelper \
+ $(gb_STDLIBS) \
+))
+
+$(eval $(call gb_Library_add_exception_objects,java_uno,\
+ bridges/source/jni_uno/jni_bridge \
+ bridges/source/jni_uno/jni_data \
+ bridges/source/jni_uno/jni_info \
+ bridges/source/jni_uno/jni_java2uno \
+ bridges/source/jni_uno/jni_uno2java \
+ bridges/source/jni_uno/nativethreadpool \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_mingw_intel.mk b/bridges/Library_mingw_intel.mk
new file mode 100644
index 000000000000..98b95897706a
--- /dev/null
+++ b/bridges/Library_mingw_intel.mk
@@ -0,0 +1,76 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge mingw_intel: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := mingw_intel
+
+$(eval $(call gb_Library_Library,gcc3_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,gcc3_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,gcc3_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+$(eval $(call gb_Library_add_defs,gcc3_uno,\
+ $(if $(filter sjlj,$(EXCEPTIONS)),\
+ -DBROKEN_ALLOCA \
+ ) \
+ $(if $(filter YES,$(HAVE_POSIX_FALLOCATE)),\
+ -DHAVE_POSIX_FALLOCATE \
+ ) \
+))
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+# In case the compiler supports AVX this code segfaults so specifically turn
+# it off.
+$(eval $(call gb_Library_add_cxxflags,gcc3_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+ $(if $(filter TRUE,$(HAVE_GCC_AVX)),\
+ -mno-avx \
+ ) \
+))
+
+$(eval $(call gb_Library_use_libraries,gcc3_uno,\
+ cppu \
+ sal \
+))
+
+$(eval $(call gb_Library_add_asmobjects,gcc3_uno,\
+ bridges/source/cpp_uno/mingw_intel/call \
+))
+
+$(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
+ bridges/source/cpp_uno/mingw_intel/callvirtualmethod \
+ bridges/source/cpp_uno/mingw_intel/cpp2uno \
+ bridges/source/cpp_uno/mingw_intel/dllinit \
+ bridges/source/cpp_uno/mingw_intel/except \
+ bridges/source/cpp_uno/mingw_intel/smallstruct \
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+$(eval $(call gb_Library_add_cxxobjects,gcc3_uno,\
+ bridges/source/cpp_uno/mingw_intel/uno2cpp \
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_msvc_win32_intel.mk b/bridges/Library_msvc_win32_intel.mk
new file mode 100644
index 000000000000..9a372ad36504
--- /dev/null
+++ b/bridges/Library_msvc_win32_intel.mk
@@ -0,0 +1,65 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge msvc_win32_intel: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := msvc_win32_intel
+
+$(eval $(call gb_Library_Library,msci_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,msci_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,msci_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+$(eval $(call gb_Library_add_defs,msci_uno,\
+ $(if $(filter YES,$(HAVE_POSIX_FALLOCATE)),\
+ -DHAVE_POSIX_FALLOCATE \
+ ) \
+ $(if $(cppu_no_leak)$(bndchk),,\
+ -DLEAK_STATIC_DATA \
+ ) \
+))
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,msci_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+))
+
+$(eval $(call gb_Library_use_libraries,msci_uno,\
+ cppu \
+ sal \
+))
+
+$(eval $(call gb_Library_add_exception_objects,msci_uno,\
+ bridges/source/cpp_uno/msvc_win32_intel/cpp2uno \
+ bridges/source/cpp_uno/msvc_win32_intel/dllinit \
+ bridges/source/cpp_uno/msvc_win32_intel/uno2cpp \
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+$(eval $(call gb_Library_add_cxxobjects,msci_uno,\
+ bridges/source/cpp_uno/msvc_win32_intel/except \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_msvc_win32_x86-64.mk b/bridges/Library_msvc_win32_x86-64.mk
new file mode 100644
index 000000000000..bb06bfefa969
--- /dev/null
+++ b/bridges/Library_msvc_win32_x86-64.mk
@@ -0,0 +1,69 @@
+# -*- 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/.
+#
+
+ifneq ($(strip $(bridges_SELECTED_BRIDGE)),)
+$(eval $(call gb_Output_error,cannot build bridge msvc_win32_x86-64: bridge $(bridges_SELECTED_BRIDGE) already selected))
+endif
+bridges_SELECTED_BRIDGE := msvc_win32_x86-64
+
+$(eval $(call gb_Library_Library,mscx_uno))
+
+$(eval $(call gb_Library_use_internal_comprehensive_api,mscx_uno,\
+ udkapi \
+))
+
+$(eval $(call gb_Library_set_include,mscx_uno,\
+ -I$(SRCDIR)/bridges/inc \
+ $$(INCLUDE) \
+))
+
+$(eval $(call gb_Library_add_defs,mscx_uno,\
+ $(if $(filter YES,$(HAVE_POSIX_FALLOCATE)),\
+ -DHAVE_POSIX_FALLOCATE \
+ ) \
+ $(if $(cppu_no_leak)$(bndchk),,\
+ -DLEAK_STATIC_DATA \
+ ) \
+))
+
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources of this library.
+$(eval $(call gb_Library_add_cxxflags,mscx_uno,\
+ -fno-omit-frame-pointer \
+ -fno-strict-aliasing \
+))
+
+$(eval $(call gb_Library_use_libraries,mscx_uno,\
+ cppu \
+ sal \
+))
+
+$(eval $(call gb_Library_add_asmobjects,mscx_uno,\
+ bridges/source/cpp_uno/msvc_win32_x86-64/call \
+))
+
+$(eval $(call gb_Library_add_exception_objects,mscx_uno,\
+ bridges/source/cpp_uno/msvc_win32_x86-64/cpp2uno \
+ bridges/source/cpp_uno/msvc_win32_x86-64/dllinit \
+ bridges/source/cpp_uno/msvc_win32_x86-64/uno2cpp \
+ bridges/source/cpp_uno/shared/bridge \
+ bridges/source/cpp_uno/shared/component \
+ bridges/source/cpp_uno/shared/cppinterfaceproxy \
+ bridges/source/cpp_uno/shared/types \
+ bridges/source/cpp_uno/shared/unointerfaceproxy \
+ bridges/source/cpp_uno/shared/vtablefactory \
+ bridges/source/cpp_uno/shared/vtables \
+))
+
+$(eval $(call gb_Library_add_cxxobjects,mscx_uno,\
+ bridges/source/cpp_uno/msvc_win32_x86-64/except \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Makefile b/bridges/Makefile
new file mode 100644
index 000000000000..ccb1c85a04da
--- /dev/null
+++ b/bridges/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/bridges/Module_bridges.mk b/bridges/Module_bridges.mk
new file mode 100644
index 000000000000..195d30615b21
--- /dev/null
+++ b/bridges/Module_bridges.mk
@@ -0,0 +1,95 @@
+# -*- 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,bridges))
+
+$(eval $(call gb_Module_add_targets,bridges,\
+ $(if $(filter TRUE,$(SOLAR_JAVA)),\
+ Jar_java_uno \
+ Library_java_uno \
+ ) \
+ $(if $(and $(filter I,$(CPU)),$(filter C50 C52,$(COM))),\
+ Library_cc50_solaris_intel \
+ ) \
+ $(if $(filter C52S,$(COM)$(CPU)),\
+ Library_cc50_solaris_sparc \
+ ) \
+ $(if $(filter C52U,$(COM)$(CPU)),\
+ Library_cc5_solaris_sparc64 \
+ ) \
+ $(if $(filter GCCAIXP,$(COM)$(OS)$(CPU)),\
+ Library_gcc3_aix_powerpc \
+ ) \
+ $(if $(filter GCCIOSR,$(COM)$(OS)$(CPU)),\
+ CustomTarget_gcc3_ios_arm \
+ Library_gcc3_ios_arm \
+ ) \
+ $(if $(filter GCCLINUXL,$(COM)$(OS)$(CPU)),\
+ Library_gcc3_linux_alpha \
+ ) \
+ $(if $(and $(filter GCCR,$(COM)$(CPU)),$(filter ANDROID LINUX,$(OS))),\
+ Library_gcc3_linux_arm \
+ ) \
+ $(if $(filter GCCLINUXH,$(COM)$(OS)$(CPU)),\
+ Library_gcc3_linux_hppa \
+ ) \
+ $(if $(filter GCCLINUXA,$(COM)$(OS)$(CPU)$(CPUNAME)),\
+ Library_gcc3_linux_ia64 \
+ ) \
+ $(if $(and $(filter GCCI,$(COM)$(CPU)),$(filter ANDROID DRAGONFLY FREEBSD LINUX NETBSD OPENBSD,$(OS))),\
+ Library_gcc3_linux_intel \
+ ) \
+ $(if $(filter GCCLINUX6,$(COM)$(OS)$(CPU)$(CPUNAME)),\
+ Library_gcc3_linux_m68k \
+ ) \
+ $(if $(filter GCCLINUXM,$(COM)$(OS)$(CPU)),\
+ Library_gcc3_linux_mips \
+ ) \
+ $(if $(filter GCCLINUXPPOWERPC64,$(COM)$(OS)$(CPU)$(CPUNAME)),\
+ Library_gcc3_linux_powerpc64 \
+ ) \
+ $(if $(filter GCCLINUXPPOWERPC,$(COM)$(OS)$(CPU)$(CPUNAME)),\
+ Library_gcc3_linux_powerpc \
+ ) \
+ $(if $(filter GCCLINUX3S390,$(COM)$(OS)$(CPU)$(CPUNAME)),\
+ Library_gcc3_linux_s390 \
+ ) \
+ $(if $(filter GCCLINUX3S390X,$(COM)$(OS)$(CPU)$(CPUNAME)),\
+ Library_gcc3_linux_s390x \
+ ) \
+ $(if $(filter GCCLINUXS,$(COM)$(OS)$(CPU)),\
+ Library_gcc3_linux_sparc \
+ ) \
+ $(if $(and $(filter GCCX,$(COM)$(CPU)),$(filter DRAGONFLY FREEBSD LINUX NETBSD OPENBSD,$(OS))),\
+ Library_gcc3_linux_x86-64 \
+ ) \
+ $(if $(filter GCCMACOSXI,$(COM)$(OS)$(CPU)$(CPUNAME)),\
+ Library_gcc3_macosx_intel \
+ ) \
+ $(if $(filter GCCMACOSXP,$(COM)$(OS)$(CPU)$(CPUNAME)),\
+ Library_gcc3_macosx_powerpc \
+ ) \
+ $(if $(filter GCCSOLARISI,$(COM)$(OS)$(CPU)$(CPUNAME)),\
+ Library_gcc3_solaris_intel \
+ ) \
+ $(if $(filter GCCSOLARISS,$(COM)$(OS)$(CPU)),\
+ Library_gcc3_solaris_sparc \
+ ) \
+ $(if $(filter WNTGCC,$(OS)$(COM)),\
+ Library_mingw_intel \
+ ) \
+ $(if $(filter MSCI,$(COM)$(CPU)),\
+ Library_msvc_win32_intel \
+ ) \
+ $(if $(filter MSCX,$(COM)$(CPU)),\
+ Library_msvc_win32_x86-64 \
+ ) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/source/jni_uno/jni_bridge.cxx b/bridges/source/jni_uno/jni_bridge.cxx
index f9cfffcc5ad3..be46d1de64fd 100644
--- a/bridges/source/jni_uno/jni_bridge.cxx
+++ b/bridges/source/jni_uno/jni_bridge.cxx
@@ -461,7 +461,7 @@ void SAL_CALL java_env_disposing( uno_Environment * java_env )
#endif
//------------------------------------------------------------------------------
-void SAL_CALL uno_initEnvironment( uno_Environment * java_env )
+SAL_DLLPUBLIC_EXPORT void SAL_CALL uno_initEnvironment( uno_Environment * java_env )
SAL_THROW_EXTERN_C()
{
java_env->environmentDisposing = java_env_disposing;
@@ -479,7 +479,7 @@ void SAL_CALL uno_initEnvironment( uno_Environment * java_env )
#endif
//------------------------------------------------------------------------------
-void SAL_CALL uno_ext_getMapping(
+SAL_DLLPUBLIC_EXPORT void SAL_CALL uno_ext_getMapping(
uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo )
SAL_THROW_EXTERN_C()
{