summaryrefslogtreecommitdiff
path: root/bridges/Library_gcc3_linux_x86-64.mk
blob: 244bdda8dae2baa1e2168c64fc1c5862ad4b3616 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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: