xenocara/lib/mesa/Makefile.bsd-wrapper
kettenis 7a6863f74a The futex-based implementation of libxshmfence requires atomic operations
that hppa, m88k and sh don't provide.  Since DRI3 requires libxshmfence,
this means we can't enable DRI3 on these platforms.

ok matthieu@
2018-06-28 20:11:32 +00:00

82 lines
2.6 KiB
Makefile

# $OpenBSD: Makefile.bsd-wrapper,v 1.19 2018/06/28 20:11:32 kettenis Exp $
.include <bsd.own.mk>
.include <bsd.xconf.mk>
SHARED_LIBS= EGL 1.1 gbm 0.2 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} == 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-gallium-llvm \
--disable-llvm-shared-libs \
--disable-regen-sources \
--enable-gles1 --enable-gles2 \
--enable-shared-glapi \
--enable-osmesa \
--enable-gbm \
--enable-texture-float \
--with-egl-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
# powerpc lacks the __sync_add_and_fetch8 gcc atomic builtin
# which is used by the shader cache implementation
.if ${MACHINE_ARCH} == powerpc
CONFIGURE_ARGS+= --disable-shader-cache
.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