4 # bsd.xorg.mk - Support for X.Org ports and dependencies
6 # Created by: Florent Thoumie <flz@FreeBSD.org>
8 # !!! Here be dragons !!! (yeah, here as well...)
13 .if !defined(_POSTMKINCLUDED) && !defined(Xorg_Pre_Include)
15 Xorg_Include_MAINTAINER= x11@FreeBSD.org
16 Xorg_Pre_Include= bsd.xorg.mk
20 # app - Installs applications, no shared libraries.
21 # data - Installs only data.
22 # doc - no particular notes
23 # driver - input depends on inputproto/randrproto at least
24 # video depends on randrproto/renderproto at least
25 # font - don't install .pc file
26 # lib - various dependencies, install .pc file, needs pathfix
27 # proto - install .pc file, needs pathfix, most only needed at build time.
28 # xserver - there's only one atm, I guess everything can fit into the port itself
31 # Default variables, common to all new modular xorg ports.
32 .if !defined(USES) || ! ${USES:Mtar*}
36 # for some reason this makes mkfontscale and others fail in the install target
37 #INSTALL_TARGET= install-strip
38 DIST_SUBDIR= xorg/${XORG_CAT}
40 MASTER_SITES?= ${MASTER_SITE_XORG}
41 MASTER_SITE_SUBDIR?= individual/${XORG_CAT}
43 # All xorg ports needs pkgconfig to build, but some ports look for pkgconfig and
44 # then continues the build.
47 # All xorg ports needs xorg-macros.
48 . if ${PORTNAME} != xorg-macros
49 USE_XORG+= xorg-macros
52 . if ${XORG_CAT} == "app"
53 # Nothing at the moment
56 . if ${XORG_CAT} == "data"
57 # Nothing at the moment.
60 . if ${XORG_CAT} == "driver"
61 USE_XORG+= xorg-server xproto randrproto xi renderproto xextproto \
62 inputproto kbproto fontsproto videoproto dri2proto dri3proto \
63 xf86driproto presentproto glproto xineramaproto resourceproto \
65 CONFIGURE_ENV+= DRIVER_MAN_SUFFIX=4x DRIVER_MAN_DIR='$$(mandir)/man4'
67 INSTALL_TARGET= install-strip
70 . if ${XORG_CAT} == "font"
71 FONTNAME?= ${PORTNAME:C/.*-//g:S/type/Type/:S/ttf/TTF/:S/speedo/Speedo/}
72 CONFIGURE_ARGS+= --with-fontrootdir=${PREFIX}/share/fonts
73 CONFIGURE_ENV+= FONTROOTDIR=${PREFIX}/share/fonts
76 BUILD_DEPENDS+= mkfontdir:x11-fonts/mkfontdir \
77 bdftopcf:x11-fonts/bdftopcf
78 PLIST_FILES+= "@comment ${FONTSDIR}/fonts.dir" \
79 "@comment ${FONTSDIR}/fonts.scale"
83 . if ${XORG_CAT} == "lib"
84 USES+= pathfix libtool
86 CONFIGURE_ARGS+=--enable-malloc0returnsnull
89 . if ${XORG_CAT} == "proto"
93 . if ${XORG_CAT} == "xserver"
94 DISTFILES?= xorg-server-${PORTVERSION}.tar.bz2
95 WRKSRC= ${WRKDIR}/xorg-server-${PORTVERSION}
97 CONFIGURE_ARGS+= --with-xkb-path=${LOCALBASE}/share/X11/xkb \
98 --with-fontrootdir=${LOCALBASE}/share/fonts
100 LIB_PC_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/dri.pc:graphics/mesa-dri
101 USE_XORG+= fontutil:build
108 .if defined(_POSTMKINCLUDED) && !defined(Xorg_Post_Include)
110 Xorg_Post_Include= bsd.xorg.mk
112 # Register all xorg .pc files here.
113 # foo_LIB_PC_DEPENDS means it should go to BUILD_DEPENDS *and* RUN_DEPENDS.
115 XORG_MODULES= bigreqsproto \
202 bigreqsproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/bigreqsproto.pc:x11/bigreqsproto
203 compositeproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/compositeproto.pc:x11/compositeproto
204 damageproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/damageproto.pc:x11/damageproto
205 dmx_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/dmx.pc:x11/libdmx
206 dmxproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/dmxproto.pc:x11/dmxproto
207 dri2proto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/dri2proto.pc:x11/dri2proto
208 dri3proto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/dri3proto.pc:x11/dri3proto
209 evieproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/evieproto.pc:x11/evieext
210 fixesproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/fixesproto.pc:x11/fixesproto
211 fontcacheproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/fontcacheproto.pc:x11-fonts/fontcacheproto
212 fontenc_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/fontenc.pc:x11-fonts/libfontenc
213 fontsproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/fontsproto.pc:x11-fonts/fontsproto
214 fontutil_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/fontutil.pc:x11-fonts/font-util
215 glproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/glproto.pc:x11/glproto
216 ice_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/ice.pc:x11/libICE
217 inputproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/inputproto.pc:x11/inputproto
218 kbproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/kbproto.pc:x11/kbproto
219 libfs_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/libfs.pc:x11-fonts/libFS
220 oldx_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/oldx.pc:x11/liboldX
221 pciaccess_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pciaccess.pc:devel/libpciaccess
222 pixman_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pixman-1.pc:x11/pixman
223 presentproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/presentproto.pc:x11/presentproto
224 printproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/printproto.pc:x11/printproto
225 randrproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/randrproto.pc:x11/randrproto
226 recordproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/recordproto.pc:x11/recordproto
227 renderproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/renderproto.pc:x11/renderproto
228 resourceproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/resourceproto.pc:x11/resourceproto
229 scrnsaverproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/scrnsaverproto.pc:x11/scrnsaverproto
230 sm_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/sm.pc:x11/libSM
231 trapproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/trapproto.pc:x11/trapproto
232 videoproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/videoproto.pc:x11/videoproto
233 x11_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/x11.pc:x11/libX11
234 xau_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xau.pc:x11/libXau
235 xaw_LIB_PC_DEPENDS= ${xaw7_LIB_PC_DEPENDS}
236 xaw6_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xaw6.pc:x11-toolkits/libXaw
237 xaw7_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xaw7.pc:x11-toolkits/libXaw
238 xbitmaps_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xbitmaps.pc:x11/xbitmaps
239 xcb_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xcb.pc:x11/libxcb
240 xcmiscproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xcmiscproto.pc:x11/xcmiscproto
241 xcomposite_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xcomposite.pc:x11/libXcomposite
242 xcursor_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xcursor.pc:x11/libXcursor
243 xdamage_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xdamage.pc:x11/libXdamage
244 xdmcp_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xdmcp.pc:x11/libXdmcp
245 xevie_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xevie.pc:x11/libXevie
246 xext_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xext.pc:x11/libXext
247 xextproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xextproto.pc:x11/xextproto
248 xf86bigfontproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xf86bigfontproto.pc:x11-fonts/xf86bigfontproto
249 xf86dgaproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xf86dgaproto.pc:x11/xf86dgaproto
250 xf86driproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xf86driproto.pc:x11/xf86driproto
251 xf86miscproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xf86miscproto.pc:x11/xf86miscproto
252 xf86rushproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xf86rushproto.pc:x11/xf86rushproto
253 xf86vidmodeproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xf86vidmodeproto.pc:x11/xf86vidmodeproto
254 xfixes_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xfixes.pc:x11/libXfixes
255 xfont_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xfont.pc:x11-fonts/libXfont
256 xfont2_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xfont2.pc:x11-fonts/libXfont2
257 xfontcache_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xfontcache.pc:x11-fonts/libXfontcache
258 xft_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xft.pc:x11-fonts/libXft
259 xi_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xi.pc:x11/libXi
260 xinerama_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xinerama.pc:x11/libXinerama
261 xineramaproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xineramaproto.pc:x11/xineramaproto
262 xkbfile_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xkbfile.pc:x11/libxkbfile
263 xkbui_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xkbui.pc:x11/libxkbui
264 xmu_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xmu.pc:x11-toolkits/libXmu
265 xmuu_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xmuu.pc:x11-toolkits/libXmu
266 xorg-macros_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xorg-macros.pc:devel/xorg-macros
267 xorg-server_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xorg-server.pc:x11-servers/xorg-server
268 xp_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xp.pc:x11/libXp
269 xpm_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xpm.pc:x11/libXpm
270 xprintapputil_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xprintapputil.pc:x11/libXprintAppUtil
271 xprintutil_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xprintutil.pc:x11/libXprintUtil
272 xproto_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xproto.pc:x11/xproto
273 xproxymngproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xproxymngproto.pc:x11/xproxymanagementprotocol
274 xrandr_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xrandr.pc:x11/libXrandr
275 xrender_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xrender.pc:x11/libXrender
276 xres_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xres.pc:x11/libXres
277 xscrnsaver_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xscrnsaver.pc:x11/libXScrnSaver
278 xt_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xt.pc:x11-toolkits/libXt
279 xshmfence_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xshmfence.pc:x11/libxshmfence
280 xtrans_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xtrans.pc:x11/xtrans
281 xtrap_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xtrap.pc:x11/libXTrap
282 xtst_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xtst.pc:x11/libXtst
283 xv_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xv.pc:x11/libXv
284 xvmc_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xvmc.pc:x11/libXvMC
285 xxf86dga_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xxf86dga.pc:x11/libXxf86dga
286 xxf86misc_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xxf86misc.pc:x11/libXxf86misc
287 xxf86vm_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xxf86vm.pc:x11/libXxf86vm
289 .for _module in ${USE_XORG:M*\:both:C/\:.*//g}
290 . if ${XORG_MODULES:M${_module}} == ""
291 IGNORE= requires unknown xorg module (${_module})
293 RUN_DEPENDS+= ${${_module}_BUILD_DEPENDS}
296 .for _module in ${USE_XORG:C/\:.*//g}
297 . if ${XORG_MODULES:M${_module}} == ""
298 IGNORE= requires unknown xorg module (${_module})
300 LIB_PC_DEPENDS+= ${${_module}_LIB_PC_DEPENDS}
301 BUILD_DEPENDS+= ${${_module}_BUILD_DEPENDS}
304 RUN_DEPENDS+= ${LIB_PC_DEPENDS}
305 BUILD_DEPENDS+= ${LIB_PC_DEPENDS}