# $NetBSD: Makefile,v 1.72 2008/09/06 13:00:31 wiz Exp $ PKGNAME= MesaLib-${MESA_PKGVERSION} COMMENT= Graphics library similar to SGI's OpenGL PKGREVISION= 2 MESA_HEADERS= gl.h gl_mangle.h glext.h glx.h glxext.h \ glx_mangle.h osmesa.h xmesa.h xmesa_x.h \ xmesa_xf86.h MESA_HEADERS+= internal/dri_interface.h internal/sarea.h PKG_DESTDIR_SUPPORT= user-destdir BUILD_DEFS+= MESA_HZ ### ### XXX Older versions of xf86driproto installed dri_interface.h, which ### is now installed by Mesa. ### BUILDLINK_API_DEPENDS.driproto+= xf86driproto>=2.0.4 .include "../../mk/bsd.prefs.mk" CFLAGS.NetBSD+= -D_NETBSD_SOURCE CFLAGS.NetBSD+= ${ATOMIC_OPS_CHECK}HAVE_NETBSD_ATOMIC_OPS .if ${OPSYS} == "NetBSD" && !target(netbsd-atomic-ops-check) netbsd-atomic-ops-check: ATOMIC_OPS_CHECK!=\ if ( ${NM} /usr/lib/libc.so | ${GREP} -q atomic_cas_uint ); then \ ${ECHO} "-D"; \ else \ ${ECHO} "-U"; \ fi .endif .if (${MACHINE_ARCH} == "x86_64" || \ ${MACHINE_ARCH} == "sparc64" || \ ${MACHINE_ARCH} == "alpha") CFLAGS+= -D__GLX_ALIGN64 .endif .if !empty(MACHINE_ARCH:Mi386) || !empty(MACHINE_ARCH:Mx86_64) ### ### This is taken from . If we don't override ### it, the FPU control word will be restored to 0x037f. ### ### Also, see patch-aq about the libm functions required (float functions ### such as floorf). Proper configuration of this should be a goal of ### the Mesa developers; alas, it obviously is not. ### ### XXX We need a reliable check for these functions. ### #/* NetBSD uses IEEE double precision. */ CFLAGS.NetBSD+= -DDEFAULT_X86_FPU=0x127f ### ### #/* FreeBSD leaves some exceptions unmasked as well. */ ### CFLAGS.FreeBSD+= -DDEFAULT_x86_FPU=0x1272 .endif CFLAGS.FreeBSD+= -DUSE_NATIVE_LIBM_FUNCS CFLAGS.Linux+= -DUSE_NATIVE_LIBM_FUNCS CFLAGS.NetBSD+= -DUSE_NATIVE_LIBM_FUNCS CFLAGS.DragonFly+= -DUSE_NATIVE_LIBM_FUNCS PLIST_VARS= dri nodri .include "../../graphics/Mesa/Makefile.lib" .include "options.mk" .if !empty(MACHINE_PLATFORM:MNetBSD-[12].*) ## ## NetBSD 2.x and earlier require pthread stubs ## . include "../../devel/pthread-stublib/buildlink3.mk" PTHREAD_STUBLIB= -L${PREFIX}/lib -Wl,-R${PREFIX}/lib -lpthstub .elif !empty(MACHINE_PLATFORM:MNetBSD-*) ## ## NetBSD 3.x and later have pthread stubs in libc ## PTHREAD_STUBLIB= .else ## ## Other platforms may or may not have stubs provided by libc, but pulling in ## threading support via the pthread.buildlink3.mk definitions will provide ## all the necessary interfaces. This matches the standard configuration for ## most platforms as they appear in "${WRKSRC}/configs", and is necessary ## for successful linking with libGL under many platforms. ## .include "../../mk/pthread.buildlink3.mk" PTHREAD_STUBLIB= ${PTHREAD_LDFLAGS} ${PTHREAD_LIBS} .endif PKGSRC_MAKE_ENV+= PTHREAD_STUBLIB=${PTHREAD_STUBLIB:Q} .if !empty(USE_CROSS_COMPILE:M[yY][eE][sS]) MAKE_ENV+= CROSS_COMPILING=yes .endif RM_PATCH_BACKUP_DIRS= docs src/mesa src/glut/glx \ progs/demos progs/xdemos progs/glsl post-extract: ${CP} ${FILESDIR}/gen_matypes.awk ${WRKSRC}/src/mesa/x86 ${CP} ${FILESDIR}/gen_matypes.sh ${WRKSRC}/src/mesa/x86 ${CHMOD} a+x ${WRKSRC}/src/mesa/x86/gen_matypes.sh for fn in ${RM_PATCH_BACKUP_DIRS}; do \ ${RM} -f ${WRKSRC}/$${fn}/*.orig; \ done pre-install: ${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/include/GL/internal pre-build: cd ${WRKSRC} && ${RM} -fr src/glu src/glut progs .include "../../mk/bsd.pkg.mk"