1# $OpenBSD: Makefile.inc,v 1.18 2019/11/26 10:58:23 sthen Exp $ 2 3LLVM_SRCS?= ${.CURDIR}/../../../llvm 4 5.if ${COMPILER_VERSION:L} != "clang" 6CC= clang 7CXX= clang++ 8.endif 9 10BOOTSTRAP_CLANG?=no 11.if ${BOOTSTRAP_CLANG} == "yes" 12CC= egcc 13CXX= eg++ 14.endif 15 16DEBUG= 17NOPIE= 18 19CLANG_INCLUDES= -I${LLVM_SRCS}/tools/clang/include 20LLDB_INCLUDES= -I${LLVM_SRCS}/tools/lldb/include \ 21 -I${LLVM_SRCS}/tools/lldb/source 22CPPFLAGS+= -I${LLVM_SRCS}/include -I${.CURDIR}/../include -I${.OBJDIR} \ 23 -I${.OBJDIR}/../include 24CPPFLAGS+= -DNDEBUG 25 26# Disable some protections in the compiler to regain performance. 27.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" || \ 28 ${MACHINE_ARCH} == "mips64" || ${MACHINE_ARCH} == "mips64el" || \ 29 ${MACHINE_ARCH} == "aarch64" 30CXXFLAGS+= -fno-ret-protector 31.endif 32.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" 33CXXFLAGS+= -mno-retpoline 34.endif 35 36# Omit frame pointer to improve performance. 37.if ${MACHINE_ARCH} == "mips64" || ${MACHINE_ARCH} == "mips64el" 38CXXFLAGS+= -fomit-frame-pointer 39.endif 40 41# Compiling with -fno-pie doesn't work on powerpc. 42.if ${MACHINE_ARCH} == "powerpc" 43NOPIE_FLAGS= -fPIE 44.endif 45 46CPPFLAGS+= -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS \ 47 -D__STDC_FORMAT_MACROS 48 49.if ${MACHINE_ARCH} == "arm" 50TRIPLE= armv7-unknown-openbsd${OSREV}-gnueabi 51.else 52TRIPLE= ${MACHINE_ARCH}-unknown-openbsd${OSREV} 53.endif 54CPPFLAGS+= -DLLVM_PREFIX=\"/usr\" 55.include "Makefile.arch" 56CPPFLAGS+=-DLLDB_DISABLE_PYTHON 57 58# upstream defaults 59CFLAGS+= -ffunction-sections 60.if ${MACHINE_ARCH} != "powerpc" 61# XXX 62CFLAGS+= -fdata-sections 63.endif 64CXXFLAGS+= -std=c++11 65CXXFLAGS+= -fvisibility-inlines-hidden 66CXXFLAGS+= -fno-exceptions -fno-rtti 67# warnings (from upstream) 68CXXFLAGS+= -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual \ 69 -Wno-missing-field-initializers -pedantic -Wno-long-long \ 70 -Wdelete-non-virtual-dtor -Wno-comment 71 72LDADD+=-Wl,--start-group 73.for lib in ${LLVM_LIBDEPS} 74DPADD+= ${.OBJDIR}/../lib${lib}/lib${lib}.a 75LDADD+= ${.OBJDIR}/../lib${lib}/lib${lib}.a 76.endfor 77LDADD+=-Wl,--end-group 78 79.if ${MACHINE_ARCH} == "powerpc" 80LDFLAGS+=-Wl,-relax 81.endif 82