1 |
#-*- tab-width: 4; -*- |
2 |
# ex:ts=4 |
3 |
# |
4 |
# xorg.mk - Support for X.Org ports and dependencies |
5 |
# |
6 |
# Created by: Florent Thoumie <flz@FreeBSD.org> |
7 |
# |
8 |
# !!! Here be dragons !!! (yeah, here as well...) |
9 |
# |
10 |
# $FreeBSD: ports/Mk/bsd.xorg.mk,v 1.4 2007/10/03 22:24:59 pav Exp $ |
11 |
# $MidnightBSD$ |
12 |
# |
13 |
|
14 |
.if !defined(_POSTMKINCLUDED) && !defined(Xorg_Pre_Include) |
15 |
|
16 |
Xorg_Include_MAINTAINER= ports@MidnightBSD.org |
17 |
Xorg_Pre_Include= xorg.mk |
18 |
|
19 |
# |
20 |
# If we're going to build a complete xorg for packages |
21 |
# |
22 |
.if defined(PACKAGE_BUILDING) |
23 |
XORG_COMPLETE=1 |
24 |
.endif |
25 |
|
26 |
# Some notes: |
27 |
# |
28 |
# app - Installs applications, no shared libraries. |
29 |
# data - Installs only data. |
30 |
# doc - no particular notes |
31 |
# driver - input depends on inputproto/randrproto at least |
32 |
# video depends on randrproto/renderproto at least |
33 |
# font - don't install .pc file |
34 |
# lib - various dependencies, install .pc file, needs pathfix |
35 |
# proto - install .pc file, needs pathfix, most only needed at build time. |
36 |
# xserver - there's only one atm, I guess everything can fit into the port itself |
37 |
|
38 |
.if defined(XORG_CAT) |
39 |
# Default variables, common to all new modular xorg ports. |
40 |
.if !defined(USES) || ! ${USES:Mtar*} |
41 |
USES+= tar:bzip2 |
42 |
.endif |
43 |
PREFIX?= ${LOCALBASE} |
44 |
GNU_CONFIGURE= yes |
45 |
# for some reason this makes mkfontscale and others fail in the install target |
46 |
#INSTALL_TARGET= install-strip |
47 |
DIST_SUBDIR= xorg/${XORG_CAT} |
48 |
|
49 |
MASTER_SITES?= ${MASTER_SITE_XORG} |
50 |
MASTER_SITE_SUBDIR?= individual/${XORG_CAT} |
51 |
|
52 |
# All xorg ports needs pkgconfig to build, but some ports look for pkgconfig and |
53 |
# then continues the build. |
54 |
USES+= pkgconfig |
55 |
|
56 |
# All xorg ports needs xorg-macros. |
57 |
. if ${PORTNAME} != xorg-macros |
58 |
USE_XORG+= xorg-macros |
59 |
. endif |
60 |
|
61 |
. if ${XORG_CAT} == "app" |
62 |
# Nothing at the moment |
63 |
. endif |
64 |
|
65 |
. if ${XORG_CAT} == "data" |
66 |
# Nothing at the moment. |
67 |
. endif |
68 |
|
69 |
. if ${XORG_CAT} == "driver" |
70 |
USE_XORG+= xorg-server xproto randrproto xi renderproto xextproto \ |
71 |
inputproto kbproto fontsproto videoproto dri2proto xf86driproto \ |
72 |
glproto xineramaproto resourceproto scrnsaverproto |
73 |
# work around a llvm bug on i386, llvm bug #15806 |
74 |
# reproduced with clang 3.2 (current release) and 3.1 |
75 |
. if ${ARCH} == i386 |
76 |
CFLAGS+= -fno-optimize-sibling-calls |
77 |
. endif |
78 |
CONFIGURE_ENV+= DRIVER_MAN_SUFFIX=4x DRIVER_MAN_DIR='$$(mandir)/man4' |
79 |
USES+= libtool |
80 |
. endif |
81 |
|
82 |
INSTALL_TARGET= install-strip |
83 |
|
84 |
. if ${XORG_CAT} == "font" |
85 |
FONTNAME?= ${PORTNAME:C/.*-//g:S/type/Type/:S/ttf/TTF/:S/speedo/Speedo/} |
86 |
CONFIGURE_ARGS+= --with-fontrootdir=${PREFIX}/share/fonts |
87 |
CONFIGURE_ENV+= FONTROOTDIR=${PREFIX}/share/fonts |
88 |
. if !defined(NOFONT) |
89 |
USES+= fonts |
90 |
BUILD_DEPENDS+= mkfontdir:x11-fonts/mkfontdir \ |
91 |
bdftopcf:x11-fonts/bdftopcf |
92 |
PLIST_FILES+= "@comment ${FONTSDIR}/fonts.dir" \ |
93 |
"@comment ${FONTSDIR}/fonts.scale" |
94 |
. endif |
95 |
. endif |
96 |
|
97 |
. if ${XORG_CAT} == "lib" |
98 |
USES+= pathfix libtool |
99 |
USE_LDCONFIG= yes |
100 |
CONFIGURE_ARGS+=--enable-malloc0returnsnull |
101 |
. endif |
102 |
|
103 |
. if ${XORG_CAT} == "proto" |
104 |
USES+= pathfix |
105 |
. endif |
106 |
|
107 |
. if ${XORG_CAT} == "xserver" |
108 |
DISTFILES?= xorg-server-${PORTVERSION}.tar.bz2 |
109 |
WRKSRC= ${WRKDIR}/xorg-server-${PORTVERSION} |
110 |
USES+= pathfix |
111 |
CONFIGURE_ARGS+= --with-xkb-path=${LOCALBASE}/share/X11/xkb \ |
112 |
--with-fontrootdir=${LOCALBASE}/share/fonts |
113 |
|
114 |
LIB_PC_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/dri.pc:graphics/dri |
115 |
USE_XORG+= pciaccess xextproto videoproto fontsproto dri2proto fontutil:build |
116 |
. endif |
117 |
|
118 |
.endif |
119 |
|
120 |
.endif |
121 |
|
122 |
.if defined(_POSTMKINCLUDED) && !defined(Xorg_Post_Include) |
123 |
|
124 |
Xorg_Post_Include= xorg.mk |
125 |
|
126 |
# Register all xorg .pc files here. |
127 |
# foo_LIB_PC_DEPENDS means it should go to BUILD_DEPENDS *and* RUN_DEPENDS. |
128 |
|
129 |
XORG_MODULES= bigreqsproto \ |
130 |
compositeproto \ |
131 |
damageproto \ |
132 |
dmx \ |
133 |
dmxproto \ |
134 |
dri2proto \ |
135 |
dri3proto \ |
136 |
evieproto \ |
137 |
fixesproto \ |
138 |
fontcacheproto \ |
139 |
fontenc \ |
140 |
fontsproto \ |
141 |
fontutil \ |
142 |
glproto \ |
143 |
ice \ |
144 |
inputproto \ |
145 |
kbproto \ |
146 |
libfs \ |
147 |
oldx \ |
148 |
pciaccess \ |
149 |
pixman \ |
150 |
presentproto \ |
151 |
printproto \ |
152 |
randrproto \ |
153 |
recordproto \ |
154 |
renderproto \ |
155 |
resourceproto \ |
156 |
scrnsaverproto \ |
157 |
sm \ |
158 |
trapproto \ |
159 |
videoproto \ |
160 |
x11 \ |
161 |
xau \ |
162 |
xaw \ |
163 |
xaw6 \ |
164 |
xaw7 \ |
165 |
xbitmaps \ |
166 |
xcb \ |
167 |
xcmiscproto \ |
168 |
xcomposite \ |
169 |
xcursor \ |
170 |
xdamage \ |
171 |
xdmcp \ |
172 |
xevie \ |
173 |
xext \ |
174 |
xextproto \ |
175 |
xf86bigfontproto \ |
176 |
xf86dgaproto \ |
177 |
xf86driproto \ |
178 |
xf86miscproto \ |
179 |
xf86rushproto \ |
180 |
xf86vidmodeproto \ |
181 |
xfixes \ |
182 |
xfont \ |
183 |
xfont2 \ |
184 |
xfontcache \ |
185 |
xft \ |
186 |
xi \ |
187 |
xinerama \ |
188 |
xineramaproto \ |
189 |
xkbfile \ |
190 |
xkbui \ |
191 |
xmu \ |
192 |
xmuu \ |
193 |
xorg-macros \ |
194 |
xorg-server \ |
195 |
xp \ |
196 |
xpm \ |
197 |
xprintapputil \ |
198 |
xprintutil \ |
199 |
xproto \ |
200 |
xproxymngproto \ |
201 |
xrandr \ |
202 |
xrender \ |
203 |
xres \ |
204 |
xscrnsaver \ |
205 |
xshmfence \ |
206 |
xt \ |
207 |
xtrans \ |
208 |
xtrap \ |
209 |
xtst \ |
210 |
xv \ |
211 |
xvmc \ |
212 |
xxf86dga \ |
213 |
xxf86misc \ |
214 |
xxf86vm |
215 |
|
216 |
bigreqsproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/bigreqsproto.pc:x11/bigreqsproto |
217 |
compositeproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/compositeproto.pc:x11/compositeproto |
218 |
damageproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/damageproto.pc:x11/damageproto |
219 |
dmx_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/dmx.pc:x11/libdmx |
220 |
dmxproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/dmxproto.pc:x11/dmxproto |
221 |
dri2proto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/dri2proto.pc:x11/dri2proto |
222 |
dri3proto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/dri3proto.pc:x11/dri3proto |
223 |
evieproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/evieproto.pc:x11/evieext |
224 |
fixesproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/fixesproto.pc:x11/fixesproto |
225 |
fontcacheproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/fontcacheproto.pc:x11-fonts/fontcacheproto |
226 |
fontenc_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/fontenc.pc:x11-fonts/libfontenc |
227 |
fontsproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/fontsproto.pc:x11-fonts/fontsproto |
228 |
fontutil_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/fontutil.pc:x11-fonts/font-util |
229 |
glproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/glproto.pc:x11/glproto |
230 |
ice_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/ice.pc:x11/libICE |
231 |
inputproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/inputproto.pc:x11/inputproto |
232 |
kbproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/kbproto.pc:x11/kbproto |
233 |
libfs_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/libfs.pc:x11-fonts/libFS |
234 |
oldx_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/oldx.pc:x11/liboldX |
235 |
pciaccess_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pciaccess.pc:devel/libpciaccess |
236 |
pixman_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pixman-1.pc:x11/pixman |
237 |
presentproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/presentproto.pc:x11/presentproto |
238 |
printproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/printproto.pc:x11/printproto |
239 |
randrproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/randrproto.pc:x11/randrproto |
240 |
recordproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/recordproto.pc:x11/recordproto |
241 |
renderproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/renderproto.pc:x11/renderproto |
242 |
resourceproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/resourceproto.pc:x11/resourceproto |
243 |
scrnsaverproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/scrnsaverproto.pc:x11/scrnsaverproto |
244 |
sm_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/sm.pc:x11/libSM |
245 |
trapproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/trapproto.pc:x11/trapproto |
246 |
videoproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/videoproto.pc:x11/videoproto |
247 |
x11_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/x11.pc:x11/libX11 |
248 |
xau_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xau.pc:x11/libXau |
249 |
xaw_LIB_PC_DEPENDS= ${xaw7_LIB_PC_DEPENDS} |
250 |
xaw6_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xaw6.pc:x11-toolkits/libXaw |
251 |
xaw7_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xaw7.pc:x11-toolkits/libXaw |
252 |
xbitmaps_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xbitmaps.pc:x11/xbitmaps |
253 |
xcb_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xcb.pc:x11/libxcb |
254 |
xcmiscproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xcmiscproto.pc:x11/xcmiscproto |
255 |
xcomposite_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xcomposite.pc:x11/libXcomposite |
256 |
xcursor_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xcursor.pc:x11/libXcursor |
257 |
xdamage_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xdamage.pc:x11/libXdamage |
258 |
xdmcp_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xdmcp.pc:x11/libXdmcp |
259 |
xevie_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xevie.pc:x11/libXevie |
260 |
xext_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xext.pc:x11/libXext |
261 |
xextproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xextproto.pc:x11/xextproto |
262 |
xf86bigfontproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xf86bigfontproto.pc:x11-fonts/xf86bigfontproto |
263 |
xf86dgaproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xf86dgaproto.pc:x11/xf86dgaproto |
264 |
xf86driproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xf86driproto.pc:x11/xf86driproto |
265 |
xf86miscproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xf86miscproto.pc:x11/xf86miscproto |
266 |
xf86rushproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xf86rushproto.pc:x11/xf86rushproto |
267 |
xf86vidmodeproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xf86vidmodeproto.pc:x11/xf86vidmodeproto |
268 |
xfixes_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xfixes.pc:x11/libXfixes |
269 |
xfont_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xfont.pc:x11-fonts/libXfont |
270 |
xfont2_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xfont2.pc:x11-fonts/libXfont2 |
271 |
xfontcache_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xfontcache.pc:x11-fonts/libXfontcache |
272 |
xft_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xft.pc:x11-fonts/libXft |
273 |
xi_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xi.pc:x11/libXi |
274 |
xinerama_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xinerama.pc:x11/libXinerama |
275 |
xineramaproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xineramaproto.pc:x11/xineramaproto |
276 |
xkbfile_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xkbfile.pc:x11/libxkbfile |
277 |
xkbui_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xkbui.pc:x11/libxkbui |
278 |
xmu_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xmu.pc:x11-toolkits/libXmu |
279 |
xmuu_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xmuu.pc:x11-toolkits/libXmu |
280 |
xorg-macros_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xorg-macros.pc:devel/xorg-macros |
281 |
xorg-server_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xorg-server.pc:x11-servers/xorg-server |
282 |
xp_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xp.pc:x11/libXp |
283 |
xpm_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xpm.pc:x11/libXpm |
284 |
xprintapputil_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xprintapputil.pc:x11/libXprintAppUtil |
285 |
xprintutil_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xprintutil.pc:x11/libXprintUtil |
286 |
xproto_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xproto.pc:x11/xproto |
287 |
xproxymngproto_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xproxymngproto.pc:x11/xproxymanagementprotocol |
288 |
xrandr_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xrandr.pc:x11/libXrandr |
289 |
xrender_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xrender.pc:x11/libXrender |
290 |
xres_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xres.pc:x11/libXres |
291 |
xscrnsaver_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xscrnsaver.pc:x11/libXScrnSaver |
292 |
xt_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xt.pc:x11-toolkits/libXt |
293 |
xshmfence_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xshmfence.pc:x11/libxshmfence |
294 |
xtrans_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xtrans.pc:x11/xtrans |
295 |
xtrap_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xtrap.pc:x11/libXTrap |
296 |
xtst_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xtst.pc:x11/libXtst |
297 |
xv_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xv.pc:x11/libXv |
298 |
xvmc_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xvmc.pc:x11/libXvMC |
299 |
xxf86dga_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xxf86dga.pc:x11/libXxf86dga |
300 |
xxf86misc_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xxf86misc.pc:x11/libXxf86misc |
301 |
xxf86vm_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xxf86vm.pc:x11/libXxf86vm |
302 |
|
303 |
.for _module in ${USE_XORG:M*\:both:C/\:.*//g} |
304 |
. if ${XORG_MODULES:M${_module}} == "" |
305 |
IGNORE= requires unknown xorg module (${_module}) |
306 |
. endif |
307 |
RUN_DEPENDS+= ${${_module}_BUILD_DEPENDS} |
308 |
.endfor |
309 |
|
310 |
.for _module in ${USE_XORG:C/\:.*//g} |
311 |
. if ${XORG_MODULES:M${_module}} == "" |
312 |
IGNORE= requires unknown xorg module (${_module}) |
313 |
. endif |
314 |
LIB_PC_DEPENDS+= ${${_module}_LIB_PC_DEPENDS} |
315 |
BUILD_DEPENDS+= ${${_module}_BUILD_DEPENDS} |
316 |
.endfor |
317 |
|
318 |
RUN_DEPENDS+= ${LIB_PC_DEPENDS} |
319 |
BUILD_DEPENDS+= ${LIB_PC_DEPENDS} |
320 |
|
321 |
.endif |