xenocara/lib/mesa/Makefile.bsd-wrapper
jsg 19f2c52c66 Merge Mesa 17.3.9
Mesa 18.x needs an ld with build-id for at least the intel code
Mesa 18.2 assumes linux only memfd syscalls in intel code

Tested by matthieu@, kettenis@ and myself on a variety of hardware and
architectures. ok kettenis@
2018-10-23 06:35:32 +00:00

82 lines
2.6 KiB
Makefile

# $OpenBSD: Makefile.bsd-wrapper,v 1.21 2018/10/23 06:35:32 jsg Exp $
.include <bsd.own.mk>
.include <bsd.xconf.mk>
SHARED_LIBS= EGL 1.1 gbm 0.3 glapi 0.2 GL 17.1 GLESv1_CM 1.0 GLESv2 1.2 \
OSMesa 11.0
DRI_DRIVERS= swrast
GALLIUM_DRIVERS= swrast
.if ${MACHINE} == i386 || ${MACHINE} == amd64
DRI_DRIVERS=swrast,radeon,r200,i915,i965
GALLIUM_DRIVERS=swrast,r300,r600
.endif
.if ${MACHINE} == arm64 || ${MACHINE} == loongson || \
${MACHINE} == macppc || ${MACHINE} == sparc64
DRI_DRIVERS=swrast,radeon,r200
GALLIUM_DRIVERS=swrast,r300,r600
.endif
CONFIGURE_ARGS= --with-dri-drivers=${DRI_DRIVERS} \
--with-gallium-drivers=${GALLIUM_DRIVERS} \
--disable-silent-rules \
--disable-llvm \
--disable-glx-tls \
--disable-regen-sources \
--enable-gles1 --enable-gles2 \
--enable-shared-glapi \
--enable-osmesa \
--enable-gbm \
--enable-texture-float \
--with-platforms="x11,drm" \
--prefix=${X11BASE} \
--with-dri-driverdir=${X11BASE}/lib/modules/dri \
--with-dri-searchpath=${X11BASE}/lib/modules/dri
.if ${XENOCARA_BUILD_DRI3:L} == "yes"
CONFIGURE_ARGS+= --enable-dri3
.endif
# The i965 driver uses the cmpxchg8b instruction
.if ${MACHINE} == i386
CONFIGURE_ARGS+= USER_CFLAGS="-march=i586" USER_CXXFLAGS="-march=i586"
.endif
# -O2 gives "cc1: out of memory allocating 488 bytes"
# on src/mesa/main/marshal_generated.c
.if ${MACHINE} == sparc64
CONFIGURE_ARGS+= USER_CFLAGS="-fno-tree-pre"
.endif
.if ${MACHINE} == alpha
# -O2 causes gcc ICE on main/format_pack.c and program/prog_execute.c
O1= -fdefer-pop -fguess-branch-probability -fcprop-registers \
-fif-conversion -fif-conversion2 -ftree-ccp -ftree-dce \
-ftree-dominator-opts -ftree-dse -ftree-ter -ftree-lrs -ftree-sra \
-ftree-copyrename -ftree-fre -ftree-ch -funit-at-a-time \
-fmerge-constants -fomit-frame-pointer
O2= ${O1} -fthread-jumps -fcrossjumping -foptimize-sibling-calls \
-fcse-follow-jumps -fcse-skip-blocks -fgcse -fgcse-lm \
-fexpensive-optimizations -frerun-cse-after-loop \
-fcaller-saves -fpeephole2 -fschedule-insns -fschedule-insns2 \
-fsched-interblock -fsched-spec -fregmove \
-fdelete-null-pointer-checks -freorder-blocks \
-freorder-functions -falign-functions -falign-jumps -falign-loops \
-falign-labels -ftree-pre
CONFIGURE_ARGS+= USER_CFLAGS="-O0 ${O2}"
.endif
${.OBJDIR}/src/util/format_srgb.c:
lndir -s -e obj -e obj.${MACHINE_ARCH} -e Makefile.bsd-wrapper ${.CURDIR}
.include <bsd.xorg.mk>
# XXX needs to come after bsd.xorg.mk, because .if !target(config.status)
# won't trigger otherwise.
config.status: ${.OBJDIR}/src/util/format_srgb.c