threadingbuildingblocks: Clean up config to allow normal building with gcc.
Copy the FreeBSD config, slightly modified, to allow normal building with gcc. Kills off the pkglint warnings.
This commit is contained in:
parent
3f344a185f
commit
c4999c6351
|
@ -20,14 +20,10 @@ USE_TOOLS+= gmake pax
|
|||
BUILD_TARGET= default
|
||||
TEST_TARGET= test
|
||||
|
||||
# Work around old TBB bug, we'll force using clang++, which appears to
|
||||
# have less agressive Dead-Store Elimination (DSE).
|
||||
# The makefiles already assume we're using clang, and hence fail to pass
|
||||
# "-flifetime-dse=1" to g++.
|
||||
# NOTE: TBB breaks with newer versions of gcc with aggressive DSE, and must
|
||||
# be built with "-flifetime-dse=1". This should happen automatically, but
|
||||
# has been found to be somewhat fragile.
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71388
|
||||
PKGSRC_COMPILER= clang
|
||||
PKG_CC= clang
|
||||
PKG_CXX= clang++
|
||||
|
||||
.include "../../mk/bsd.prefs.mk"
|
||||
|
||||
|
@ -44,9 +40,9 @@ INSTALLATION_DIRS= include/tbb lib
|
|||
#BUILD_DEPENDS+= doxygen-[0-9]*:../../devel/doxygen
|
||||
|
||||
post-extract:
|
||||
${CP} ${WRKSRC}/build/FreeBSD.inc ${WRKSRC}/build/NetBSD.inc; \
|
||||
${CP} ${WRKSRC}/build/FreeBSD.clang.inc ${WRKSRC}/build/NetBSD.clang.inc; \
|
||||
${CP} ${WRKSRC}/build/FreeBSD.gcc.inc ${WRKSRC}/build/NetBSD.gcc.inc;
|
||||
${CP} ${FILESDIR}/NetBSD.inc ${WRKSRC}/build/NetBSD.inc; \
|
||||
${CP} ${FILESDIR}/NetBSD.clang.inc ${WRKSRC}/build/NetBSD.clang.inc; \
|
||||
${CP} ${FILESDIR}/NetBSD.gcc.inc ${WRKSRC}/build/NetBSD.gcc.inc;
|
||||
|
||||
do-install:
|
||||
cd ${WRKSRC}; \
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
# Copyright (c) 2005-2020 Intel Corporation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
include $(tbb_root)/build/BSD.clang.inc
|
||||
|
||||
LIBS += -lrt
|
|
@ -0,0 +1,89 @@
|
|||
# Copyright (c) 2005-2020 Intel Corporation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
COMPILE_ONLY = -c -MMD
|
||||
PREPROC_ONLY = -E -x c++
|
||||
INCLUDE_KEY = -I
|
||||
DEFINE_KEY = -D
|
||||
OUTPUT_KEY = -o #
|
||||
OUTPUTOBJ_KEY = -o #
|
||||
PIC_KEY = -fPIC
|
||||
WARNING_AS_ERROR_KEY = -Werror
|
||||
WARNING_KEY = -Wall
|
||||
DYLIB_KEY = -shared
|
||||
WARNING_SUPPRESS = -Wno-parentheses
|
||||
|
||||
CPLUS = g++
|
||||
CONLY = gcc
|
||||
LIB_LINK_FLAGS = -shared
|
||||
LIBS = -lpthread
|
||||
C_FLAGS = $(CPLUS_FLAGS)
|
||||
|
||||
# gcc 6.0 and later have -flifetime-dse option that controls
|
||||
# elimination of stores done outside the object lifetime
|
||||
ifneq (,$(shell gcc -dumpfullversion -dumpversion | egrep "^([6-9]|1[0-9])"))
|
||||
# keep pre-contruction stores for zero initialization
|
||||
DSE_KEY = -flifetime-dse=1
|
||||
endif
|
||||
|
||||
ifeq ($(cfg), release)
|
||||
CPLUS_FLAGS = -g -O2 -DUSE_PTHREAD
|
||||
endif
|
||||
ifeq ($(cfg), debug)
|
||||
CPLUS_FLAGS = -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD
|
||||
endif
|
||||
|
||||
ASM=
|
||||
ASM_FLAGS=
|
||||
|
||||
TBB_ASM.OBJ=
|
||||
MALLOC_ASM.OBJ=
|
||||
|
||||
ifeq (ia64,$(arch))
|
||||
# Position-independent code (PIC) is a must on IA-64 architecture, even for regular (not shared) executables
|
||||
CPLUS_FLAGS += $(PIC_KEY)
|
||||
endif
|
||||
|
||||
ifeq (intel64,$(arch))
|
||||
CPLUS_FLAGS += -m64
|
||||
LIB_LINK_FLAGS += -m64
|
||||
endif
|
||||
|
||||
ifeq (ia32,$(arch))
|
||||
CPLUS_FLAGS += -m32
|
||||
LIB_LINK_FLAGS += -m32
|
||||
endif
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Setting assembler data.
|
||||
#------------------------------------------------------------------------------
|
||||
ASSEMBLY_SOURCE=$(arch)-gas
|
||||
ifeq (ia64,$(arch))
|
||||
ASM=as
|
||||
TBB_ASM.OBJ = atomic_support.o lock_byte.o log2.o pause.o
|
||||
MALLOC_ASM.OBJ = atomic_support.o lock_byte.o pause.o
|
||||
endif
|
||||
#------------------------------------------------------------------------------
|
||||
# End of setting assembler data.
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Setting tbbmalloc data.
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# End of setting tbbmalloc data.
|
||||
#------------------------------------------------------------------------------
|
|
@ -0,0 +1,17 @@
|
|||
# Copyright (c) 2005-2020 Intel Corporation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
compiler = ${PKGSRC_COMPILER}
|
||||
|
||||
include $(tbb_root)/build/BSD.inc
|
Loading…
Reference in New Issue