README revision 591
0b062f4990db5cc6db2fe3398926f71b92a67407Brian WellingtonThis is documentation of the Makefile system used in this tree.
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark AndrewsGeneral Overview:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein-----------------
0b062f4990db5cc6db2fe3398926f71b92a67407Brian WellingtonThis tree builds dozens of open source modules that are each released
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellingtonseparately and delivered as source in seperate tarballs. These modules
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellingtonare organized in subdirectories based on the X.Org module list, though
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinmodules from other sources are included as appropriate. For instance,
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrewsthe application xterm is built in open-src/app/xterm, while the fontconfig
8a66318e41ed14c5a88130e8c362610e8faa2121Mark AndrewsIn this tree, the term "module" is used for a specific set of source built
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrewsgenerally from a single tarball from upstream, such as xterm or fontconfig.
8a66318e41ed14c5a88130e8c362610e8faa2121Mark AndrewsThe directories grouping these together are referred to as "module type"
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrewsdirectories - app, lib, font, etc. Each module is thus found in a
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellingtonsubdirectory of the form open-src/<module type>/<module> . Various flags
94fc951a9b5679def2a05387a5c251f5cb8eb9c9Mark Andrewscan be set at either the individual module level or for all modules of a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinFor each module, at build time the tarball is unpacked, patches applied for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinpost-release bug fixes or customizations, and then the build is run.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinTo allow building both 32-bit and 64-bit versions in the same build,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinthis all happens in subdirectories named build_32 & build_64 in each
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrewsmodules' directory. Since those subdirectories are competely recreatable
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinfrom the source tarball and patches, rebuilding the tree or running make clean
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinsimply removes them entirely and recreates them.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinYou should be able to run make commands in any module directory or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinmodule-type directory, though since most of the intermodule dependencies
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinare not declared, many modules will break unless you've done a full-tree
94fc951a9b5679def2a05387a5c251f5cb8eb9c9Mark Andrewsbuild at some point to populate the proto area with the bits needed.
94fc951a9b5679def2a05387a5c251f5cb8eb9c9Mark Andrews=============================================================================
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMake targets you can build in each module:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein------------------------------------------
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinFor most of these you can append _32 or _64 to do just the 32-bit or 64-bit
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinversions of the targets, while the version listed here repeats for all build
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeintypes set in the BUILD_TYPES variable. These are defined in the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinopen-src/common/Makefile.inc file, though open-src/<module type>/Makefile.inc
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinmay add additional rules needed for modules of that type.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Completely removes build_* directories.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Creates build_* directories by unpacking sources from tarball
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and applying patches.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinmake configure
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Runs GNU autoconf script or similar configuration steps if
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein needed, including autoreconf or delibtoolize if variables are set.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (Runs make source first if needed.)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Compile the software into the binaries that get installed.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (Runs make configure first if needed.)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Install files into the proto area where make_release_packages
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will pull them from to make packages and where other parts of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the build will use them. (Runs make build first if needed.)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinmake all (or just "make" with no arguments)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein equivalent to make build for most modules
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein same as make all, but with compiler optimization flags changed
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to "-g". (Note that if you haven't done a make clean first,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein doesn't force a recompile, so running make debug in a directory
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein you already built non-debug may not actually build debug versions.)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinmake debug-install
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein same as make install, but with compiler optimization flags changed
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to "-g". (See warning on make debug about doing a make clean first.)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinmake download
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If open-src/tarballs does not contain the tarball needed for this
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein module, download it from $(SOURCE_URL). (See "Building from git"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein section below if MODULE_VERSION=git.)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinmake regen-patches
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Create a directory new/ containing patches generated against the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein current tarball. Useful when updating to a new version and patches
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein still apply, but you want to get rid of warnings about patch fuzz
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and line offsets.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinmake git-update
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See "Building from git" section below.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein=============================================================================
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMake targets you can build in parent directories:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein-------------------------------------------------
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinIn the top-level open-src directory, or any of the module type directories,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinyou can run these make commands to run the appropriate targets for all modules
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinin that directory. The Makefiles at each level all include the same rules
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinfrom open-src/common/Makefile.subdirs to define these.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Run make all in all subdirectories.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Run make clean in all subdirectories.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Run make clean in all subdirectories, then make all in all subdirs.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Run make install in all subdirectories.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinmake download
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Run make download in all subdirectories.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Run make source in all subdirectories.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinmake git-update
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Run make git-update in all subdirectories.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinmake debug-build
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Run make debug-build in all subdirectories.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinmake debug-install
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Run make debug-install in all subdirectories.
94fc951a9b5679def2a05387a5c251f5cb8eb9c9Mark Andrews=============================================================================
94fc951a9b5679def2a05387a5c251f5cb8eb9c9Mark AndrewsVariables that can be set in the Makefile for each module:
94fc951a9b5679def2a05387a5c251f5cb8eb9c9Mark Andrews----------------------------------------------------------
94fc951a9b5679def2a05387a5c251f5cb8eb9c9Mark AndrewsRequired for all modules:
94fc951a9b5679def2a05387a5c251f5cb8eb9c9Mark Andrews - Name of the module being built - usually the same as the name of the
94fc951a9b5679def2a05387a5c251f5cb8eb9c9Mark Andrews directory it's being built in and the tarball used for the sources.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_VERSION
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - Version of the source to use, used by default in the tarball name and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein source directory unpacked from it.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - Special values:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein "git" - see "Building from git" below
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein "src" - used when there is no upstream tarball, only local sources
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein "NONE" - used when no build_* directories are created
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinRequired for some modules:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - Package name that this module is shipped in, to list in attributes section
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein * Required if SUNTOUCHED_MANPAGES is not empty
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_STABILITY
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - Interface Stability to list in attributes section of man page
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein * Required if SUNTOUCHED_MANPAGES is not empty
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - Name of library built in this module
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein * Required for lib modules if SUNTOUCHED_MANPAGES is not empty
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein or if *.spec files are being used to set library versioning information.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinOptional, default is empty:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinSOURCE_UNCOMPRESS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - Command to use to uncompress tarball, if not bzcat
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinSOURCE_PATCHES
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - Patches to apply to the sources after unpacking the tarball
94fc951a9b5679def2a05387a5c251f5cb8eb9c9Mark Andrews Entries can be either a simple file name or filename,flags
94fc951a9b5679def2a05387a5c251f5cb8eb9c9Mark Andrews to specify flags to be passed to gpatch. The flags argument
94fc951a9b5679def2a05387a5c251f5cb8eb9c9Mark Andrews is most commonly used to specify -p1 to ignore the a/ & b/ path
94fc951a9b5679def2a05387a5c251f5cb8eb9c9Mark Andrews prefixes in git-generated patch files - if no flags are specified,
94fc951a9b5679def2a05387a5c251f5cb8eb9c9Mark Andrews -p0 is passed to treat paths as relative to the top of $(BUILD_DIR).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinADDITIONAL_SOURCE_DIR
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - Directory containing additional source files to be linked into the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein build directory by the default_source rule.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinSUNTOUCHED_MANPAGES
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - Man pages to add Solaris attributes section and other common Solaris
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein man page conventions to, via the open-src/common/suntouch-manpages.pl
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_SUNTOUCH_MAN_FLAGS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - Additional flags to pass to open-src/common/suntouch-manpages.pl, such as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -p /usr/X11/bin to add a path of /usr/X11/bin to the command in the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein synopsis. Available flags are:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -a '{attribute, value}, ...' - entries for Attributes section table
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -l libname - add library line to synopsis
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -p path - add path to command in synopsis
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - Names of pkgconfig .pc or .pc.in files in the module, which will be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein "fixed" to add required -R flags for linking libraries with and remove
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein unnecessary Requires.privates lines from.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_SOURCE_DEPS, MODULE_CONFIGURE_DEPS,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_BUILD_DEPS, MODULE_INSTALL_DEPS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - Makefile targets/rules that the default_* rules list as dependencies
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_ADD_SOURCE_TARGETS, MODULE_ADD_CONFIGURE_TARGETS,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_ADD_BUILD_TARGETS, MODULE_ADD_INSTALL_TARGETS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - Additional targets/rules run by "make source", "make configure", etc.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in addition to default_* if *_TARGETS is not overridden.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_CONFIG_OPTS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - Additional arguments passed to configure script by default_config rule
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_CONFIG_ENV
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - Additional environment variables passed to configure script
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein by default_config rule
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_CFLAGS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - C Compiler flags passed to configure via CFLAGS variable by
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein default_config rule.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_CXXFLAGS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - C++ Compiler flags passed to configure via CXXFLAGS variable by
94fc951a9b5679def2a05387a5c251f5cb8eb9c9Mark Andrews default_config rule.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_CPPFLAGS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - C preprocessor flags (-I & -D) passed to configure via CPPFLAGS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein variable by default_config rule.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_LDFLAGS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - Linker flags passed to configure via LDFLAGS variable by default_config
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinUSE_DEFAULT_CONFIG_CPPFLAGS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - If set to "no", don't pass the normal set of -I flags in CPPFLAGS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to configure script in default_config rule. MODULE_CPPFLAGS and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein MODTYPE_CPPFLAGS will still be passed.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinUSE_DEFAULT_CONFIG_LDFLAGS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - If set to "no", don't pass the normal set of linker flags in LDFLAGS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to configure script in default_config rule. MODULE_LDFLAGS and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein MODTYPE_LDFLAGS will still be passed.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinUSE_DEFAULT_CONFIG_ENV
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - If set to "no", don't pass the normal set of default environment variables
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to configure script in default_config rule. MODULE_CONFIG_ENV and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein MODTYPE_CONFIG_ENG will still be passed.
94fc951a9b5679def2a05387a5c251f5cb8eb9c9Mark Andrews - If set to "yes", the default_config rule will run autoreconf before
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein running configure, to regenerate autoconf/automake/libtool created
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein files after patches have been applied to the *.ac/*.am/*.in source files.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - If set to "yes", the default_config rule will run the script
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein open-src/common/delibtoolize.pl to remove libtool calls from Makefiles
94fc951a9b5679def2a05387a5c251f5cb8eb9c9Mark Andrews after running configure.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_LD_OPTIONS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - Additional options passed via LD_OPTIONS environment variable to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein force options to be used by ld, regardless of options passed by
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein libtool/compiler etc. Used by default_build & default_install rules.
for use by include statements in package copyright.add files, where
Makefile.inc is included to prevent the default from being set. For
SOURCE_URL=http://fontconfig.org/release/$(SOURCE_TARBALL_NAME)
Default: $(DEFAULT_COMPILER) setting in common/Makefile.init,
Default: $(X11_DIR) (aka /usr/X11).
- Name of tarball file under open-src/tarballs directory for this module.
Default: $(SOURCE_DIRNAME).tar.bz2
- For X.Org sources, what directory the source tarball & git repo is in
on freedesktop.org - usually the same as the module type directory in
the binaries built (32 and/or 64), but may be set to any string if other
- Makefile targets/rules to run for "make source", "make configure",
and/or MODULE_ADD_*_TARGETS variables.
for use by include statements in package copyright.add files, where
Variables that can be set in the Makefile.inc for each module type:
open-src/<module_type>/Makefile.inc - they have the same meanings and uses
directory for the module type in X.Org's source trees.
open-src/common/Makefile.init defines $MACH to be either sparc or i386
on x86/x64, you can do:
Variables you may want to customize for your site/tree:
XORG_RELEASES_URL & SF_DOWNLOADS_URL (set in open-src/common/Makefile.init)
- urls for X.Org & sourceforge mirrors to download tarballs from
FDO_GIT_URL (set in open-src/common/Makefile.init)
- url for git repositories hosted on freedesktop.org, including
X.Org, Mesa, pixman, etc. - defaults to anonymous git over http, can
Some tools to ease development are available in the util/build-tools
find-build-errors - looks for a log/buildit-XW file (or another file you
a X.org release still in development, you can choose to to check out a
- Setting up proper parallel make rules so that multi-core/cpu
makefiles - you can't bringover the tree and just cd open-src/xserver/xorg
dependencies will probably take a while - getting them done for xserver/xorg
distribute, and/or sell copies of the Software, and to permit persons