sthen 25f0e460f2 Add COMPILER lines to c++ ports which currently use the default. Adjust
some existing COMPILER lines with arch restrictions etc. In the usual
case this is now using "COMPILER = base-clang ports-gcc base-gcc" on
ports with c++ libraries in WANTLIB.

This is basically intended to be a noop on architectures using clang
as the system compiler, but help with other architectures where we
currently have many ports knocked out due to building with an unsuitable
compiler -

- some ports require c++11/newer so the GCC version in base that is used
on these archirtectures is too old.

- some ports have conflicts where an executable is built with one compiler
(e.g. gcc from base) but a library dependency is built with a different
one (e.g. gcc from ports), resulted in mixing incompatible libraries in the
same address space.

devel/gmp is intentionally skipped as it's on the path to building gcc -
the c++ library there is unused in ports (and not built by default upstream)
so intending to disable building gmpcxx in a future commit.
2018-10-24 14:27:57 +00:00

55 lines
1.2 KiB
Makefile
Executable File

# $OpenBSD: Makefile,v 1.21 2018/10/24 14:27:59 sthen Exp $
BROKEN-hppa= undefined reference to __sync_fetch_and_add_8
BROKEN-powerpc= undefined reference to __sync_fetch_and_add_8
# requires C++ tr1 headers
NOT_FOR_ARCHS= ${GCC3_ARCHS}
COMMENT= straightforward implementation of DBM
DISTNAME= kyotocabinet-1.2.76
REVISION= 2
SHARED_LIBS += kyotocabinet 0.0 # 16.0
CATEGORIES= databases
HOMEPAGE= http://fallabs.com/kyotocabinet/
# GPLv3
PERMIT_PACKAGE_CDROM= Yes
WANTLIB += c m pthread ${COMPILER_LIBCXX} z
MASTER_SITES= ${HOMEPAGE}pkg/
COMPILER = base-clang ports-gcc base-gcc
USE_GMAKE= Yes
CONFIGURE_STYLE=gnu
# This FLAVOR should be used for local builds only and not added to
# bulks (i.e. _no_ entry in databases/Makefile); the reason is that it
# uses -march=native which cannot be guaranteed to work on a machine it
# was not compiled on.
FLAVORS= optimized
FLAVOR?=
.if ${FLAVOR:Moptimized}
CONFIGURE_ARGS += --enable-opt
.else
CONFIGURE_ARGS += --disable-opt
# i386 still need some optimized instructions
# undefined reference to `__sync_bool_compare_and_swap_8' ...
.if ${MACHINE_ARCH} == "i386"
CXXFLAGS += -march=i586
.endif
.endif
pre-configure:
${SUBST_CMD} ${WRKSRC}/{configure,Makefile.in}
.include <bsd.port.mk>