summaryrefslogtreecommitdiff
path: root/external/boost/StaticLibrary_boostthread.mk
blob: f2498d5fdd133ed854d9fb3be99247cd90dd532f (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
# -*- 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,boostthread))

$(eval $(call gb_StaticLibrary_use_unpacked,boostthread,boost))

$(eval $(call gb_StaticLibrary_set_warnings_not_errors,boostthread))

# disable "auto link" "feature" on MSVC
$(eval $(call gb_StaticLibrary_add_defs,boostthread,\
	-DBOOST_ALL_NO_LIB \
))

# Lots of the declarations in boost duplicated from windows.h when
# BOOST_USE_WINDOWS_H is not defined (which appears to be the normal case) cause
# warnings or even errors with Clang when windows.h is included too (e.g.,
# "conflicting types for 'FileTimeToLocalFileTime'" between
# C:/PROGRA~2/WI3CF2~1/8.1/include/um/fileapi.h and
# workdir/UnpackedTarball/boost/boost/date_time/filetime_functions.hpp), for
# which it appears easies to just define BOOST_USE_WINDOWS_H; also
# -Winvalid-constexpr (e.g., reported from the constexpr definition of lowest()
# in workdir/UnpackedTarball/boost/boost/chrono/duration.hpp, which uses
# std::numeric_limits<>::max() from MSVC's standard library, where nothing is
# marked constexpr) is apparently reported as an error by default:
ifeq ($(OS),WNT)
ifeq ($(COM_IS_CLANG),TRUE)
$(eval $(call gb_StaticLibrary_add_defs,boostthread, \
    -DBOOST_USE_WINDOWS_H \
    -Wno-error=invalid-constexpr \
))
endif
endif

$(eval $(call gb_StaticLibrary_use_external,boostthread,boost_headers))

$(eval $(call gb_StaticLibrary_set_generated_cxx_suffix,boostthread,cpp))

$(eval $(call gb_StaticLibrary_add_generated_exception_objects,boostthread,\
	UnpackedTarball/boost/libs/thread/src/win32/thread \
	UnpackedTarball/boost/libs/thread/src/win32/tss_dll \
	UnpackedTarball/boost/libs/thread/src/win32/tss_pe \
))

# vim: set noet sw=4 ts=4: