Difference between revisions of "Xorg7/Intro"

From CBLFS
Jump to navigationJump to search
 
(7 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
First, you'll need to create a working directory:
 
First, you'll need to create a working directory:
  
  mkdir xc &&
+
  mkdir xorg-{{Xorg7-Version}} &&
  cd xc
+
  cd xorg-{{Xorg7-Version}}
  
 
Although not necessary, you may find it easier to work within subdirectories grouped by function.  If so, create the necessary subdirectories.
 
Although not necessary, you may find it easier to work within subdirectories grouped by function.  If so, create the necessary subdirectories.
  
  install -dv {app,data,doc,driver,font,lib,proto,util}
+
  install -dv {app,data,driver,font,lib,proto,util}
  
 
As with previous releases of the X Window System, it may be desirable to install Xorg into an alternate prefix. This is no longer common practice among Linux distributions. The common installation prefix for Xorg on Linux is /usr. There is no standard alternate prefix, nor is there any exception in the current revision of the Filesystem Hierarchy Standard for Release 7 of the X Window System. Alan Coopersmith of Sun Microsystems, has recently stated "At Sun, we were using /usr/X11 and plan to stick with it." Only the /opt/* prefix or the /usr prefix adhere to the current FHS guidelines.
 
As with previous releases of the X Window System, it may be desirable to install Xorg into an alternate prefix. This is no longer common practice among Linux distributions. The common installation prefix for Xorg on Linux is /usr. There is no standard alternate prefix, nor is there any exception in the current revision of the Filesystem Hierarchy Standard for Release 7 of the X Window System. Alan Coopersmith of Sun Microsystems, has recently stated "At Sun, we were using /usr/X11 and plan to stick with it." Only the /opt/* prefix or the /usr prefix adhere to the current FHS guidelines.
Line 15: Line 15:
  
 
  export XORG_PREFIX="[PREFIX]"
 
  export XORG_PREFIX="[PREFIX]"
 +
 +
The next thing you'll need is [[Wget]].  Without it you can't pull the sources according to the instructions.  You could also use [[curl]], but the
 +
instructions for that is left to the user.
  
 
Throughout these instructions, you will use the same three configure switches for all of the packages. Create the XORG_CONFIG variable to use for substitution:  
 
Throughout these instructions, you will use the same three configure switches for all of the packages. Create the XORG_CONFIG variable to use for substitution:  
Line 30: Line 33:
 
----
 
----
  
If you are using a prefix ther then /usr and did not create the '''15-xorg.sh''' script in [[Bash Startup Files]] then be sure to add '''$XORG_PREFIX/bin''' to your PATH and adjust your PKG_CONFIG_PATH(s) accordingly. You should also add '''$XORG_PREFIX/lib''' to /etc/ld.so.conf.
+
If you are using a prefix other than /usr and did not create the '''15-xorg.sh''' script in [[Bash Startup Files]] then be sure to add '''$XORG_PREFIX/bin''' to your PATH and adjust your PKG_CONFIG_PATH(s) accordingly.
 +
 
 +
=== ld.so.conf ===
 +
 
 +
If your '''XORG_PREFIX''' is anything other than /usr you need to add the following to '''/etc/ld.so.conf''' so your libraries can be found.
 +
 
 +
{{Note|EOF is not quoted so that ${XORG_PREFIX} is replaced with the value it's been set to in the enviornment.}}
 +
 
 +
==== Non-Multilib ====
 +
 
 +
cat >> /etc/ld.so.conf << EOF
 +
# Begin Xorg addition to /etc/ld.so.conf
 +
 +
${XORG_PREFIX}/lib
 +
 +
# End Xorg addition to /etc/ld.so.conf
 +
EOF
 +
 
 +
==== Multilib ====
 +
 
 +
cat >> /etc/ld.so.conf << EOF
 +
# Begin Xorg addition to /etc/ld.so.conf
 +
 +
${XORG_PREFIX}/lib
 +
${XORG_PREFIX}/lib32
 +
${XORG_PREFIX}/lib64
 +
 +
# End Xorg addition to /etc/ld.so.conf
 +
EOF
 +
 
 +
----
  
 
In addition, you may also want to set ACLOCAL if it is not already set. This is only required if you plan to develop or modify a package that requires one of the X11 macros.
 
In addition, you may also want to set ACLOCAL if it is not already set. This is only required if you plan to develop or modify a package that requires one of the X11 macros.
Line 40: Line 73:
 
Xorg 7 is modular so you won't need to include everything in your installation.  You can [http://lists.x.org/archives/xorg-modular/2005-November/000801.html look here] to help decide what modules will be required to meet your needs.  The drivers you need, of course, depend on your hardware.  [[Xorg7/Fonts|Fonts]], also, are a personal choice.  You don't need all, but you'll need a few.
 
Xorg 7 is modular so you won't need to include everything in your installation.  You can [http://lists.x.org/archives/xorg-modular/2005-November/000801.html look here] to help decide what modules will be required to meet your needs.  The drivers you need, of course, depend on your hardware.  [[Xorg7/Fonts|Fonts]], also, are a personal choice.  You don't need all, but you'll need a few.
  
* [[Xorg7/utility_macros|Utility Macros]]
 
 
* [[Xorg7/Protocol_Headers|Protocol Headers]]
 
* [[Xorg7/Protocol_Headers|Protocol Headers]]
 
* [[Xorg7/Utilities|Utilities]]
 
* [[Xorg7/Utilities|Utilities]]

Latest revision as of 20:16, 17 February 2009

Setting up the Xorg Build Environment

First, you'll need to create a working directory:

mkdir xorg-20101205 &&
cd xorg-20101205

Although not necessary, you may find it easier to work within subdirectories grouped by function. If so, create the necessary subdirectories.

install -dv {app,data,driver,font,lib,proto,util}

As with previous releases of the X Window System, it may be desirable to install Xorg into an alternate prefix. This is no longer common practice among Linux distributions. The common installation prefix for Xorg on Linux is /usr. There is no standard alternate prefix, nor is there any exception in the current revision of the Filesystem Hierarchy Standard for Release 7 of the X Window System. Alan Coopersmith of Sun Microsystems, has recently stated "At Sun, we were using /usr/X11 and plan to stick with it." Only the /opt/* prefix or the /usr prefix adhere to the current FHS guidelines.

If you did not set XORG_PREFIX in Bash Startup Files then you will need to choose an installation prefix now.

export XORG_PREFIX="[PREFIX]"

The next thing you'll need is Wget. Without it you can't pull the sources according to the instructions. You could also use curl, but the instructions for that is left to the user.

Throughout these instructions, you will use the same three configure switches for all of the packages. Create the XORG_CONFIG variable to use for substitution:

Non-Multilib

export XORG_CONFIG="--prefix=$XORG_PREFIX --sysconfdir=/etc --localstatedir=/var"

Multilib

export XORG_CONFIG32="--prefix=$XORG_PREFIX --sysconfdir=/etc --localstatedir=/var"
export XORG_CONFIGN32="--prefix=$XORG_PREFIX --libdir=$XORG_PREFIX/lib32 --sysconfdir=/etc --localstatedir=/var"
export XORG_CONFIG64="--prefix=$XORG_PREFIX --libdir=$XORG_PREFIX/lib64 --sysconfdir=/etc --localstatedir=/var"

If you are using a prefix other than /usr and did not create the 15-xorg.sh script in Bash Startup Files then be sure to add $XORG_PREFIX/bin to your PATH and adjust your PKG_CONFIG_PATH(s) accordingly.

ld.so.conf

If your XORG_PREFIX is anything other than /usr you need to add the following to /etc/ld.so.conf so your libraries can be found.

Caution.png

Note

EOF is not quoted so that ${XORG_PREFIX} is replaced with the value it's been set to in the enviornment.

Non-Multilib

cat >> /etc/ld.so.conf << EOF
# Begin Xorg addition to /etc/ld.so.conf

${XORG_PREFIX}/lib

# End Xorg addition to /etc/ld.so.conf
EOF

Multilib

cat >> /etc/ld.so.conf << EOF
# Begin Xorg addition to /etc/ld.so.conf

${XORG_PREFIX}/lib
${XORG_PREFIX}/lib32
${XORG_PREFIX}/lib64

# End Xorg addition to /etc/ld.so.conf
EOF

In addition, you may also want to set ACLOCAL if it is not already set. This is only required if you plan to develop or modify a package that requires one of the X11 macros.

export ACLOCAL="aclocal -I $XORG_PREFIX/share/aclocal"

Xorg 7 is modular so you won't need to include everything in your installation. You can look here to help decide what modules will be required to meet your needs. The drivers you need, of course, depend on your hardware. Fonts, also, are a personal choice. You don't need all, but you'll need a few.