Difference between revisions of "Xorg7/Utilities"

From CBLFS
Jump to navigationJump to search
m (Versioning template.)
(Edited to conform to template.)
Line 8: Line 8:
 
Back to [[Xorg7/Protocol_Headers|Protocol Headers]]
 
Back to [[Xorg7/Protocol_Headers|Protocol Headers]]
  
=Utilities=
+
= Introduction to Xorg Utilities =
  
 
There are five utilities.  Note that the download source, above is the base URL.  Each could be downloaded individually, but it is probably easiest to use wget and append either *.bz2 or *.gz to the base URL to pull them all down to your system.
 
There are five utilities.  Note that the download source, above is the base URL.  Each could be downloaded individually, but it is probably easiest to use wget and append either *.bz2 or *.gz to the base URL to pull them all down to your system.
  
Alternately, if you chose to use subdirectories, the tarballs can be retrieved as follows.  This will prevent multiple version from being downloaded when multiple version exist.
+
Alternately, if you chose to use subdirectories, the tarballs can be retrieved as follows.  This will prevent multiple versions from being downloaded when multiple versions exist.
  
 
  wget http://anduin.linuxfromscratch.org/sources/BLFS/svn/x/wget/util-{{Xorg-Version}}.wget
 
  wget http://anduin.linuxfromscratch.org/sources/BLFS/svn/x/wget/util-{{Xorg-Version}}.wget
Line 18: Line 18:
 
  wget -B http://xorg.freedesktop.org/releases/individual/util/ -i ../util-{{Xorg-Version}}.wget
 
  wget -B http://xorg.freedesktop.org/releases/individual/util/ -i ../util-{{Xorg-Version}}.wget
  
The protocols are, in build order:
+
The utilities xorg-cf-files, imake, and gccmakedep should be built in order before the other utilities.  Utilities lndir and makedepend can be built in either order.
  
* xorg-cf-files
+
= Dependencies =
* imake - the include make program. Imake takes a template file (Imake.tmpl) and a prototype (Imakefile) and runs cpp on them producing a Makefile.  It then optionally runs make on the Makefile.
 
* gccmakedep
 
* lndir - used to create a copy of the a directory tree that has links for all  non-directories.
 
* makedepend - creates dependencies in makefiles.
 
 
 
== Dependencies ==
 
  
 +
== Required ==
 
* [[pkg-config]]
 
* [[pkg-config]]
 
* [[Xorg7/Protocol_Headers|Protocol Headers]]
 
* [[Xorg7/Protocol_Headers|Protocol Headers]]
  
== Non-Multilib ==
+
= Non-Multilib =
  
 
There is a hardcoded path in X11.tmpl for the Motif directory in the xorg-cf-files package.  To correct this:
 
There is a hardcoded path in X11.tmpl for the Motif directory in the xorg-cf-files package.  To correct this:
Line 51: Line 46:
 
  make install
 
  make install
  
== Multilib ==
+
= Multilib =
  
=== 32Bit ===
+
== 32Bit ==
  
 
First install the xorg-cf-files package with the following commands:
 
First install the xorg-cf-files package with the following commands:
Line 90: Line 85:
 
  make install
 
  make install
  
=== N32 ===
+
== N32 ==
  
 
First, install the xorg-cf-files  package with the following commands:
 
First, install the xorg-cf-files  package with the following commands:
Line 127: Line 122:
 
  make install
 
  make install
  
=== 64Bit ===
+
== 64Bit ==
  
 
First, install the xorg-cf-files  package with the following commands:
 
First, install the xorg-cf-files  package with the following commands:
Line 168: Line 163:
 
  make install
 
  make install
  
==Automated Build==
+
= Semi-Automated Build =
  
==Unpack the Packages:==
+
The semi-automated build assumes that you have created the subdirectories discussed in the introduction.  After entering the utils directory, unpack the packages:
  
 
  for i in *.tar.bz2; do
 
  for i in *.tar.bz2; do
Line 176: Line 171:
 
  done
 
  done
  
==Make and Install Xorg-cf-files==
+
Make and install xorg-cf-files:
  
 
  cd xorg-cf-files* &&
 
  cd xorg-cf-files* &&
Line 190: Line 185:
 
  cd ..
 
  cd ..
  
==Make and Install imake==
+
Make and install imake:
  
 
  cd imake* &&
 
  cd imake* &&
Line 213: Line 208:
 
  cd ..
 
  cd ..
  
==Make and Install the remaining packages==
+
Make and install the remaining packages:
  
 
  for dir in gccmakedep lndir makedepend; do
 
  for dir in gccmakedep lndir makedepend; do
Line 229: Line 224:
 
  done
 
  done
  
 +
Next install the [[Xorg7/Libraries|Libraries]]
  
 +
= Contents =
  
Next install the [[Xorg7/Libraries|Libraries]]
+
{| style="text-align: left;"
 +
|-valign="top"
 +
! Installed Directories:
 +
| ${XORG_PREFIX}/lib/X11/config, ${XORG_PREFIX}/bin
 +
|-valign="top"
 +
! Installed Programs:
 +
| imake, makedepend, lndir, ccmakedep, mergelib, revpath, makedirhier, makeg, cleanlinks, mkhtmlindex, xmkmf
 +
|}
 +
 
 +
== Short Description ==
 +
 
 +
{| style="text-align: left;"
 +
|-valign="top"
 +
! xorg-cf-files:
 +
|Provides templates, rules, and configuration information used to build Xorg components.
 +
|-
 +
! imake:
 +
|This is the include make program. Imake takes a template file (Imake.tmpl) and a prototype (Imakefile) and runs cpp on them producing a Makefile.  It then optionally runs make on the Makefile.
 +
|-
 +
! gccmakedep:
 +
|Creates dependencies in makefiles.  Same as make depend except it uses gcc.
 +
|-
 +
! lndir:
 +
|Used to create a copy of the a directory tree that has links for all  non-directories.
 +
|-
 +
! makedepend:
 +
|Creates dependencies in makefiles.

Revision as of 13:47, 19 December 2006

Download Source: http://xorg.freedesktop.org/releases/individual/util/

Back to Protocol Headers

Introduction to Xorg Utilities

There are five utilities. Note that the download source, above is the base URL. Each could be downloaded individually, but it is probably easiest to use wget and append either *.bz2 or *.gz to the base URL to pull them all down to your system.

Alternately, if you chose to use subdirectories, the tarballs can be retrieved as follows. This will prevent multiple versions from being downloaded when multiple versions exist.

wget http://anduin.linuxfromscratch.org/sources/BLFS/svn/x/wget/util-7.1.wget
cd util
wget -B http://xorg.freedesktop.org/releases/individual/util/ -i ../util-7.1.wget

The utilities xorg-cf-files, imake, and gccmakedep should be built in order before the other utilities. Utilities lndir and makedepend can be built in either order.

Dependencies

Required

Non-Multilib

There is a hardcoded path in X11.tmpl for the Motif directory in the xorg-cf-files package. To correct this:

sed -i "s@/usr/X11R6@$XORG_PREFIX@" X11.tmpl

Install the xorg-cf-files package with the following commands:

./configure $XORG_CONFIG &&
make install

Build the remaining packages with the standard build commands:

./configure $XORG_CONFIG &&
make

Install the package:

make install

Multilib

32Bit

First install the xorg-cf-files package with the following commands:

sed -i "s@/usr/X11R6@$XORG_PREFIX@" X11.tmpl &&
CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \
./configure $XORG_CONFIG32 &&
make install

Next, install the imake package with the following commands:

CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \
./configure $XORG_CONFIG32 --with-script-preproc-cmd="gcc ${BUILD32} -E" &&
make &&
make install &&
mv -v ${XORG_PREFIX}/bin/imake{,-32} &&
mv -v ${XORG_PREFIX}/bin/xmkmf{,-32} &&
mv -v ${XORG_PREFIX}/bin/ccmakedep{,-32}

Next, install the gccmakedep package with the following commands:

sed -i '/-DCCCMD=/s/$(CC)/"\\"&\\""/' Makefile.in &&
CC="gcc ${BUILD32}" ./configure $XORG_CONFIG32 &&
make &&
make install &&
mv -v ${XORG_PREFIX}/bin/gccmakedep{,-32}

Build the three remaining packages with the standard build commands:

CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \
./configure $XORG_CONFIG32 &&
make

Install the package:

make install

N32

First, install the xorg-cf-files package with the following commands:

sed -i "s@/usr/X11R6@$XORG_PREFIX@" X11.tmpl &&
CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" \
./configure $XORG_CONFIGN32 &&
make install

Next, install the imake package with the following commands:

CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" \
./configure $XORG_CONFIGN32 --with-script-preproc-cmd="gcc ${BUILDN32} -E" &&
make &&
make install &&
mv -v ${XORG_PREFIX}/bin/imake{,-n32} &&
mv -v ${XORG_PREFIX}/bin/xmkmf{,-n32} &&
mv -v ${XORG_PREFIX}/bin/ccmakedep{,-n32}

Next, install the gccmakedep package with the following commands:

sed -i '/-DCCCMD=/s/$(CC)/"\\"&\\""/' Makefile.in &&
CC="gcc ${BUILDN32}" ./configure $XORG_CONFIGN32 &&
make &&
make install &&
mv -v ${XORG_PREFIX}/bin/gccmakedep{,-n32}

Build the three remaining packages with the standard build commands:

CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" \
./configure $XORG_CONFIGN32 &&
make

Install the package:

make install

64Bit

First, install the xorg-cf-files package with the following commands:

sed -i "s@/usr/X11R6@$XORG_PREFIX@" X11.tmpl &&
CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
./configure $XORG_CONFIG64 &&
make install

Next, install the imake package with the following commands:

CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
./configure $XORG_CONFIG64  --with-script-preproc-cmd="gcc ${BUILD64} -E"  &&
make &&
make install &&
mv -v ${XORG_PREFIX}/bin/imake{,-64} &&
mv -v ${XORG_PREFIX}/bin/xmkmf{,-64} &&
mv -v ${XORG_PREFIX}/bin/ccmakedep{,-64} &&
ln -sfv /usr/bin/multiarch_wrapper ${XORG_PREFIX}/bin/imake &&
ln -sfv /usr/bin/multiarch_wrapper ${XORG_PREFIX}/bin/xmkmf &&
ln -sfv /usr/bin/multiarch_wrapper ${XORG_PREFIX}/bin/ccmakedep

Next, install the gccmakedep package with the following commands:

sed -i '/-DCCCMD=/s/$(CC)/"\\"&\\""/' Makefile.in &&
CC="gcc ${BUILD64}" ./configure $XORG_CONFIG64 &&
make &&
make install &&
mv -v ${XORG_PREFIX}/bin/gccmakedep{,-64} &&
ln -sfv /usr/bin/multiarch_wrapper ${XORG_PREFIX}/bin/gccmakedep

Build the three remaining packages with the standard build commands:

CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
./configure $XORG_CONFIG64 &&
make

Install the package:

make install

Semi-Automated Build

The semi-automated build assumes that you have created the subdirectories discussed in the introduction. After entering the utils directory, unpack the packages:

for i in *.tar.bz2; do
 tar xvf $i;
done

Make and install xorg-cf-files:

cd xorg-cf-files* &&
sed -i "s@/usr/X11R6@$XORG_PREFIX@" X11.tmpl &&
CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \
./configure $XORG_CONFIG32 &&
make install &&
make clean &&
sed -i "s@/usr/X11R6@$XORG_PREFIX@" X11.tmpl &&
CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
./configure $XORG_CONFIG64 &&
make install &&
cd ..

Make and install imake:

cd imake* &&
CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \
./configure $XORG_CONFIG32 --with-script-preproc-cmd="gcc ${BUILD32} -E" &&
make &&
make install &&
mv -v ${XORG_PREFIX}/bin/imake{,-32} &&
mv -v ${XORG_PREFIX}/bin/xmkmf{,-32} &&
mv -v ${XORG_PREFIX}/bin/ccmakedep{,-32} &&
make clean &&
CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
./configure $XORG_CONFIG64  --with-script-preproc-cmd="gcc ${BUILD64} -E"  &&
make &&
make install &&
mv -v ${XORG_PREFIX}/bin/imake{,-64} &&
mv -v ${XORG_PREFIX}/bin/xmkmf{,-64} &&
mv -v ${XORG_PREFIX}/bin/ccmakedep{,-64} &&
ln -sfv /usr/bin/multiarch_wrapper ${XORG_PREFIX}/bin/imake &&
ln -sfv /usr/bin/multiarch_wrapper ${XORG_PREFIX}/bin/xmkmf &&
ln -sfv /usr/bin/multiarch_wrapper ${XORG_PREFIX}/bin/ccmakedep
cd ..

Make and install the remaining packages:

for dir in gccmakedep lndir makedepend; do
cd ${dir}* &&
CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \
./configure $XORG_CONFIG32 &&
make &&
make install && 
make clean &&
CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
./configure $XORG_CONFIG64 &&
make &&
make install &&  
cd ..;
done

Next install the Libraries

Contents

Installed Directories: ${XORG_PREFIX}/lib/X11/config, ${XORG_PREFIX}/bin
Installed Programs: imake, makedepend, lndir, ccmakedep, mergelib, revpath, makedirhier, makeg, cleanlinks, mkhtmlindex, xmkmf

Short Description

xorg-cf-files: Provides templates, rules, and configuration information used to build Xorg components.
imake: This is the include make program. Imake takes a template file (Imake.tmpl) and a prototype (Imakefile) and runs cpp on them producing a Makefile. It then optionally runs make on the Makefile.
gccmakedep: Creates dependencies in makefiles. Same as make depend except it uses gcc.
lndir: Used to create a copy of the a directory tree that has links for all non-directories.
makedepend: Creates dependencies in makefiles.