4a4ec28d37
Since FreeBSD 8.4 and FreeBSD 9.1 make(1) do support :tu and :tl as a replacement for :U and :L (which has been marked as deprecated) bmake which is the default on FreeBSD 10+ only support by default :tu/:tl a hack has been added at the time to support :U and :L to ease migration. This hack is now not necessary anymore Note that this makes the ports tree incompatible with make(1) from FreeBSD 8.3 or earlier With hat: portmgr
152 lines
4.6 KiB
Makefile
152 lines
4.6 KiB
Makefile
# bsd.mesalib.mk - shared code between MesaLib ports.
|
|
#
|
|
# !!! Here be dragons !!! (they seem to be everywhere these days)
|
|
#
|
|
# Remember to upgrade the following ports everytime you bump MESAVERSION:
|
|
#
|
|
# - graphics/libEGL
|
|
# - graphics/libGL
|
|
# - grahpics/libglesv2
|
|
# - graphics/dri
|
|
#
|
|
# $FreeBSD$
|
|
|
|
MESAVERSION= ${MESABASEVERSION}${MESASUBVERSION:C/^(.)/.\1/}
|
|
MESADISTVERSION=${MESABASEVERSION}${MESASUBVERSION:C/^(.)/-\1/}
|
|
|
|
.if defined(WITH_NEW_XORG)
|
|
MESABASEVERSION= 9.1.7
|
|
# if there is a subversion, include the '-' between 7.11-rc2 for example.
|
|
MESASUBVERSION=
|
|
PLIST_SUB+= OLD="@comment " NEW=""
|
|
.else
|
|
MESABASEVERSION= 7.6.1
|
|
MESASUBVERSION=
|
|
PLIST_SUB+= OLD="" NEW="@comment "
|
|
.endif
|
|
|
|
MASTER_SITES= ftp://ftp.freedesktop.org/pub/mesa/${MESABASEVERSION}/
|
|
DISTFILES= MesaLib-${MESADISTVERSION}${EXTRACT_SUFX}
|
|
MAINTAINER= x11@FreeBSD.org
|
|
|
|
BUILD_DEPENDS+= makedepend:${PORTSDIR}/devel/makedepend \
|
|
python2:${PORTSDIR}/lang/python2 \
|
|
${PYTHON_SITELIBDIR}/libxml2.py:${PORTSDIR}/textproc/py-libxml2
|
|
|
|
USES+= bison gmake pathfix pkgconfig shebangfix
|
|
USE_PYTHON_BUILD=-2.7
|
|
USE_BZIP2= yes
|
|
USE_LDCONFIG= yes
|
|
GNU_CONFIGURE= yes
|
|
|
|
CPPFLAGS+= -isystem${LOCALBASE}/include
|
|
LDFLAGS+= -Wl,-Y${LOCALBASE}/lib
|
|
|
|
.if ${OSVERSION} < 1000033
|
|
BUILD_DEPENDS+= ${LOCALBASE}/bin/flex:${PORTSDIR}/textproc/flex
|
|
CONFIGURE_ENV+=ac_cv_prog_LEX=${LOCALBASE}/bin/flex
|
|
.endif
|
|
|
|
.if defined(WITH_NEW_XORG)
|
|
USE_AUTOTOOLS= autoconf:env automake:env libtool:env
|
|
# probably be shared lib, and in it own port.
|
|
CONFIGURE_ARGS+= --enable-shared-glapi=no
|
|
# we need to reapply these patches because we doing wierd stuff with autogen
|
|
REAPPLY_PATCHES= \
|
|
${PATCHDIR}/patch-configure \
|
|
${PATCHDIR}/patch-src_egl_main_Makefile.in \
|
|
${PATCHDIR}/patch-src_glx_Makefile.in \
|
|
${PATCHDIR}/patch-src_mapi_es2api_Makefile.in \
|
|
${PATCHDIR}/patch-src_mapi_shared-glapi_Makefile.in \
|
|
${PATCHDIR}/patch-src_mesa_drivers_dri_common_Makefile.in \
|
|
${PATCHDIR}/patch-src_mesa_drivers_dri_common_xmlpool_Makefile.in \
|
|
${PATCHDIR}/patch-src_mesa_libdricore_Makefile.in
|
|
|
|
python_OLD_CMD= "/usr/bin/env[[:space:]]python"
|
|
python_CMD= ${LOCALBASE}/bin/python2
|
|
SHEBANG_FILES= src/gallium/*/*/*.py src/gallium/tools/trace/*.py \
|
|
src/gallium/drivers/svga/svgadump/svga_dump.py \
|
|
src/glsl/tests/compare_ir src/mapi/glapi/gen/*.py \
|
|
src/mapi/mapi/mapi_abi.py
|
|
.else
|
|
CONFIGURE_ARGS+=--disable-glut --disable-glw --disable-glu
|
|
|
|
ALL_TARGET= default
|
|
.endif
|
|
|
|
MASTERDIR= ${.CURDIR}/../../graphics/libGL
|
|
.if defined(WITH_NEW_XORG)
|
|
PATCHDIR= ${MASTERDIR}/files
|
|
.else
|
|
PATCHDIR= ${MASTERDIR}/files-old
|
|
.endif
|
|
DESCR= ${.CURDIR}/pkg-descr
|
|
PLIST= ${.CURDIR}/pkg-plist
|
|
WRKSRC= ${WRKDIR}/Mesa-${MESADISTVERSION}
|
|
|
|
COMPONENT= ${PORTNAME:tl:C/^lib//:C/mesa-//}
|
|
|
|
.if ${COMPONENT:Mglesv2} == ""
|
|
CONFIGURE_ARGS+= --disable-gles2
|
|
.else
|
|
CONFIGURE_ARGS+= --enable-gles2
|
|
.endif
|
|
|
|
.if ${COMPONENT:Megl} == ""
|
|
CONFIGURE_ARGS+= --disable-egl
|
|
.else
|
|
CONFIGURE_ARGS+= --enable-egl
|
|
.endif
|
|
|
|
.if ${COMPONENT:Mdri} == ""
|
|
CONFIGURE_ARGS+=--with-dri-drivers=no
|
|
CONFIGURE_ARGS+=--enable-gallium-llvm=no --without-gallium-drivers
|
|
.else
|
|
# done in the dri port
|
|
.endif
|
|
|
|
.if !defined(WITH_NEW_XORG)
|
|
.if defined(WITHOUT_XCB)
|
|
CONFIGURE_ARGS+= --disable-xcb
|
|
.else
|
|
CONFIGURE_ARGS+= --enable-xcb
|
|
.endif
|
|
.endif
|
|
|
|
post-patch:
|
|
@${REINPLACE_CMD} -e 's|-ffast-math|${FAST_MATH}|' -e 's|x86_64|amd64|' \
|
|
${WRKSRC}/configure
|
|
@${REINPLACE_CMD} -e 's|/etc/|${PREFIX}/etc/|g' \
|
|
${WRKSRC}/src/mesa/drivers/dri/common/xmlconfig.c
|
|
.if !defined(WITH_NEW_XORG)
|
|
@${REINPLACE_CMD} -e 's|python|${PYTHON_CMD}|' \
|
|
${WRKSRC}/src/gallium/auxiliary/util/Makefile
|
|
@${REINPLACE_CMD} -e 's|[$$](INSTALL_LIB_DIR)/pkgconfig|${PREFIX}/libdata/pkgconfig|' \
|
|
${WRKSRC}/src/glu/Makefile \
|
|
${WRKSRC}/src/mesa/Makefile \
|
|
${WRKSRC}/src/mesa/drivers/dri/Makefile
|
|
.else
|
|
@${REINPLACE_CMD} -e 's|#!/use/bin/python|#!${LOCALBASE}/bin/python2|g' \
|
|
${WRKSRC}/src/mesa/drivers/dri/common/xmlpool/gen_xmlpool.py \
|
|
${WRKSRC}/src/glsl/builtins/tools/*.py
|
|
@${REINPLACE_CMD} -e 's|!/use/bin/python2|!${LOCALBASE}/bin/python2|g' \
|
|
${WRKSRC}/src/mesa/main/get_hash_generator.py \
|
|
${WRKSRC}/src/mapi/glapi/gen/gl_enums.py \
|
|
${WRKSRC}/src/mapi/glapi/gen/gl_table.py \
|
|
|
|
.endif
|
|
|
|
pre-configure:
|
|
# workaround for stupid rerunning configure in do-build step
|
|
# xxx
|
|
.if defined(WITH_NEW_XORG)
|
|
cd ${WRKSRC} && env NOCONFIGURE=1 sh autogen.sh
|
|
. for file in ${REAPPLY_PATCHES}
|
|
@cd ${WRKSRC} && ${PATCH} -p0 --quiet < ${file}
|
|
. endfor
|
|
# make sure the pkg-config files are installed in the correct place.
|
|
# this was reverted by running autogen.sh
|
|
@${FIND} ${WRKSRC} -name Makefile.in -type f | ${XARGS} ${REINPLACE_CMD} -e \
|
|
's|[(]libdir[)]/pkgconfig|(prefix)/libdata/pkgconfig|g' ;
|
|
.endif
|
|
|