3 # global environment variables you may set:
4 # CACHE: absolute path to a global autoconf cache
5 # QUIET: hush the configure script noise
8 if test x
"$NOQUIT" = x1
; then
9 echo "***** $1 failed on $2/$3"
16 echo "Building $1 module component $2..."
19 if test "$1" = "xserver" && test "$2" = "xorg" && test -n $MESAPATH; then
20 MESA
=-"-with-mesa-source=${MESAPATH}"
25 # Use "sh autogen.sh" since some scripts are not executable in CVS
26 sh autogen.sh
--prefix=${PREFIX} ${MESA} ${QUIET:+--quiet} \
27 ${CACHE:+--cache-file=}${CACHE} || failed autogen
$1 $2
28 make || failed
make $1 $2
29 $SUDO env LD_LIBRARY_PATH
=$LD_LIBRARY_PATH make install || \
31 # make clean || failed clean $1 $2
32 # make dist || failed dist $1 $2
33 if test x
"$DISTCHECK" = x1
; then
34 make distcheck || failed distcheck
$1 $2
40 # protocol headers have no build order dependencies
65 build proto XF86BigFont
70 build proto XF86VidMode
74 # bitmaps is needed for building apps, so has to be done separately first
75 # cursors depends on apps/xcursorgen
76 # xkbdata depends on apps/xkbcomp
83 # All protocol modules must be installed before the libs (okay, that's an
84 # overstatement, but all protocol modules should be installed anyway)
86 # the libraries have a dependency order:
87 # xtrans, Xau, Xdmcp before anything else
88 # fontenc before Xfont
91 # (X11 and SM) before Xt
92 # Xt before Xmu and Xpm
93 # Xext before any other extension library
94 # Xfixes before Xcomposite
95 # Xp before XprintUtil before XprintAppUtil
128 build lib XprintAppUtil
141 # Most apps depend at least on libX11.
143 # bdftopcf depends on libXfont
144 # mkfontscale depends on libfontenc and libfreetype
145 # mkfontdir depends on mkfontscale
147 # TODO: detailed breakdown of which apps require which libs
151 build app beforelight
163 build app mkfontscale
217 build app xphelloworld
218 build app xplsprinters
220 build app xprehashprinterlist
227 build app xsetpointer
239 # The server requires at least the following libraries:
245 build_driver_input
() {
249 # Some drivers are only buildable on some OS'es
252 build driver xf86-input-aiptek
253 build driver xf86-input-evdev
254 # not built in monolith, doesn't build for lots of systems
255 # build driver xf86-input-ur98
261 build driver xf86-input-acecad
262 build driver xf86-input-calcomp
263 build driver xf86-input-citron
264 build driver xf86-input-digitaledge
265 build driver xf86-input-dmc
266 build driver xf86-input-dynapro
267 build driver xf86-input-elo2300
268 build driver xf86-input-elographics
269 build driver xf86-input-fpit
270 build driver xf86-input-hyperpen
271 build driver xf86-input-jamstudio
272 build driver xf86-input-joystick
273 build driver xf86-input-keyboard
274 build driver xf86-input-magellan
275 build driver xf86-input-magictouch
276 build driver xf86-input-microtouch
277 build driver xf86-input-mouse
278 build driver xf86-input-mutouch
279 build driver xf86-input-palmax
280 build driver xf86-input-penmount
281 build driver xf86-input-sample
282 build driver xf86-input-spaceorb
283 build driver xf86-input-summa
284 build driver xf86-input-tek4957
285 build driver xf86-input-void
288 build_driver_video
() {
292 # Some drivers are only buildable on some OS'es
295 build driver xf86-video-wsfb
296 build driver xf86-video-sunffb
299 build driver xf86-video-sisusb
300 build driver xf86-video-sunffb
306 build driver xf86-video-apm
307 build driver xf86-video-ark
308 build driver xf86-video-ati
309 build driver xf86-video-chips
310 build driver xf86-video-cirrus
311 build driver xf86-video-cyrix
312 build driver xf86-video-dummy
313 build driver xf86-video-fbdev
314 # build driver xf86-video-glide
315 build driver xf86-video-glint
316 build driver xf86-video-i128
317 build driver xf86-video-i740
318 build driver xf86-video-i810
319 build driver xf86-video-imstt
320 build driver xf86-video-mga
321 build driver xf86-video-neomagic
322 build driver xf86-video-newport
323 build driver xf86-video-nsc
324 build driver xf86-video-nv
325 build driver xf86-video-rendition
326 build driver xf86-video-s3
327 build driver xf86-video-s3virge
328 build driver xf86-video-savage
329 build driver xf86-video-siliconmotion
330 build driver xf86-video-sis
331 build driver xf86-video-sunbw2
332 build driver xf86-video-suncg14
333 build driver xf86-video-suncg3
334 build driver xf86-video-suncg6
335 build driver xf86-video-sunleo
336 build driver xf86-video-suntcx
337 build driver xf86-video-tdfx
338 build driver xf86-video-tga
339 build driver xf86-video-trident
340 build driver xf86-video-tseng
341 build driver xf86-video-vesa
342 build driver xf86-video-vga
343 build driver xf86-video-via
344 build driver xf86-video-vmware
345 build driver xf86-video-voodoo
348 # The server must be built before the drivers
354 # All fonts require mkfontscale and mkfontdir to be available
356 # The following fonts require bdftopcf to be available:
357 # adobe-100dpi, adobe-75dpi, adobe-utopia-100dpi, adobe-utopia-75dpi,
358 # arabic-misc, bh-100dpi, bh-75dpi, bh-lucidatypewriter-100dpi,
359 # bh-lucidatypewriter-75dpi, bitstream-100dpi, bitstream-75dpi,
360 # cronyx-cyrillic, cursor-misc, daewoo-misc, dec-misc, isas-misc,
361 # jis-misc, micro-misc, misc-cyrillic, misc-misc, mutt-misc,
362 # schumacher-misc, screen-cyrillic, sony-misc, sun-misc and
365 # Within the font module, the util component must be built before the
367 # adobe-100dpi, adobe-75dpi, adobe-utopia-100dpi, adobe-utopia-75dpi,
368 # bh-100dpi, bh-75dpi, bh-lucidatypewriter-100dpi, bh-lucidatypewriter-75dpi,
369 # misc-misc and schumacher-misc
371 # The alias component is recommended to be installed after the other fonts
372 # since the fonts.alias files reference specific fonts installed from the
373 # other font components
376 build font adobe-100dpi
377 build font adobe-75dpi
378 build font adobe-utopia-100dpi
379 build font adobe-utopia-75dpi
380 build font adobe-utopia-type1
381 build font arabic-misc
384 build font bh-lucidatypewriter-100dpi
385 build font bh-lucidatypewriter-75dpi
388 build font bitstream-100dpi
389 build font bitstream-75dpi
390 build font bitstream-type1
391 build font cronyx-cyrillic
392 build font cursor-misc
393 build font daewoo-misc
398 build font micro-misc
399 build font misc-cyrillic
402 build font schumacher-misc
403 build font screen-cyrillic
406 build font winitzki-cyrillic
407 build font xfree86-type1
417 echo "Usage: $0 [options] prefix"
418 echo " where options are:"
419 echo " -d : run make distcheck in addition to others"
420 echo " -m path-to-mesa-sources-for-xserver : full path to Mesa sources"
421 echo " -n : do not quit after error; just print error message"
422 echo " -s sudo-command : sudo command to use"
425 # Process command line args
451 if test x
"${PREFIX}" = x
; then
456 # Must create local aclocal dir or aclocal fails
457 ACLOCAL_LOCALDIR
="${PREFIX}/share/aclocal"
458 $SUDO mkdir
-p ${ACLOCAL_LOCALDIR}
460 # The following is required to make aclocal find our .m4 macros
461 if test x
"$ACLOCAL" = x
; then
462 ACLOCAL
="aclocal -I ${ACLOCAL_LOCALDIR}"
464 ACLOCAL
="${ACLOCAL} -I ${ACLOCAL_LOCALDIR}"
468 # The following is required to make pkg-config find our .pc metadata files
469 if test x
"$PKG_CONFIG_PATH" = x
; then
470 PKG_CONFIG_PATH
=${PREFIX}/lib
/pkgconfig
472 PKG_CONFIG_PATH
=${PREFIX}/lib
/pkgconfig
:${PKG_CONFIG_PATH}
474 export PKG_CONFIG_PATH
476 # Set the library path so that locally built libs will be found by apps
477 if test x
"$LD_LIBRARY_PATH" = x
; then
478 LD_LIBRARY_PATH
=${PREFIX}/lib
480 LD_LIBRARY_PATH
=${PREFIX}/lib
:${LD_LIBRARY_PATH}
482 export LD_LIBRARY_PATH
484 # Set the path so that locally built apps will be found and used
485 if test x
"$PATH" = x
; then
488 PATH
=${PREFIX}/bin
:${PATH}
492 # Set the default font path for xserver/xorg unless it's already set
493 if test x
"$FONTPATH" = x
; then
494 FONTPATH
="${PREFIX}/lib/X11/fonts/misc/,${PREFIX}/lib/X11/fonts/Type1/,${PREFIX}/lib/X11/fonts/75dpi/,${PREFIX}/lib/X11/fonts/100dpi/,${PREFIX}/lib/X11/fonts/cyrillic/,${PREFIX}/lib/X11/fonts/TTF/"
498 # Create the log file directory
499 $SUDO mkdir
-p ${PREFIX}/var
/log
503 # We must install the global macros before anything else