Modules can be configured with --libdir to provide an alternate location for object cod libraries. The default value is EPREFIX/lib.
The PKG_CONFIG_PATH, LD_LIBRARY_PATH and FONTPATH are set with a value of PREFIX/$LIBDIR which does not allow a different prefix as does the --libdir option. The meaning of the exisitng LIBDIR is aligned with similar variables to allow the user to provide a libdir that is not restricted to be under PREFIX. If a value other than the default value is used, the CONFCMD emitted will reflect that with --libdir option. For environments already having LIBDIR set as a path segment (e.g. "lib64"), this will no longer work. The next patch will perform error checking, ensuring all these *DIR variables are full paths This will also fix the annoyance where the --libdir was always emitted even if the default value was used. Signed-off-by: Gaetan Nadon <[email protected]> --- build.sh | 37 ++++++++++++++++++++----------------- 1 files changed, 20 insertions(+), 17 deletions(-) diff --git a/build.sh b/build.sh index 15dd461..659450e 100755 --- a/build.sh +++ b/build.sh @@ -13,6 +13,8 @@ Environment variables specific to build.sh: Each module/components is invoked with --datarootdir DATADIR Install read-only architecture-independent data [DATAROOTDIR] Each module/components is invoked with --datadir + LIBDIR Install object code libraries [EPREFIX/lib] + Each module/components is invoked with --libdir LOCALSTATEDIR Modifiable single-machine data [PREFIX/var] Each module/components is invoked with --localstatedir QUIET Do not print messages saying which checks are being made @@ -21,9 +23,7 @@ Environment variables specific to build.sh: Optional when using --clone to update source code before building CONFFLAGS Configure options to pass to all Autoconf configure scripts Refer to 'configure --help' from any module/components - LIBDIR Path segment under \$EPREFIX for libraries (e.g., lib64) [lib] - Used to build the font path, search libraries and packages - FONTPATH Path to fonts directories [\$EPREFIX/\$LIBDIR/X11/fonts/misc/, ...] + FONTPATH Path to fonts directories [\$LIBDIR/X11/fonts/misc/, ...] Picked-up by the xserver as a value for --with-default-font-path Environment variables defined by the GNU Build System: @@ -44,18 +44,16 @@ Environment variables defined by the shell: Environment variables defined by the dynamic linker: LD_LIBRARY_PATH List directories that the linker searches for shared objects - \$DESTDIR/\$EPREFIX/\$LIBDIR is prepended + \$DESTDIR/\$LIBDIR is prepended Environment variables defined by the pkg-config system: PKG_CONFIG_PATH List directories that pkg-config searches for libraries \$DESTDIR/\$DATADIR/pkgconfig and - \$DESTDIR/\$EPREFIX/\$LIBDIR/pkgconfig are prepended + \$DESTDIR/\$LIBDIR/pkgconfig are prepended EOF } setup_buildenv() { - LIBDIR=${LIBDIR:="lib"} - export LIBDIR # Must create local aclocal dir or aclocal fails ACLOCAL_LOCALDIR="${DESTDIR}${DATADIR}/aclocal" @@ -67,11 +65,11 @@ setup_buildenv() { export ACLOCAL # The following is required to make pkg-config find our .pc metadata files - PKG_CONFIG_PATH=${DESTDIR}${DATADIR}/pkgconfig:${DESTDIR}${EPREFIX}/${LIBDIR}/pkgconfig${PKG_CONFIG_PATH+:$PKG_CONFIG_PATH} + PKG_CONFIG_PATH=${DESTDIR}${DATADIR}/pkgconfig:${DESTDIR}${LIBDIR}/pkgconfig${PKG_CONFIG_PATH+:$PKG_CONFIG_PATH} export PKG_CONFIG_PATH # Set the library path so that locally built libs will be found by apps - LD_LIBRARY_PATH=${DESTDIR}${EPREFIX}/${LIBDIR}${LD_LIBRARY_PATH+:$LD_LIBRARY_PATH} + LD_LIBRARY_PATH=${DESTDIR}${LIBDIR}${LD_LIBRARY_PATH+:$LD_LIBRARY_PATH} export LD_LIBRARY_PATH # Set the path so that locally built apps will be found and used @@ -83,7 +81,7 @@ setup_buildenv() { # Set the default font path for xserver/xorg unless it's already set if [ X"$FONTPATH" = X ]; then - FONTPATH="${EPREFIX}/${LIBDIR}/X11/fonts/misc/,${EPREFIX}/${LIBDIR}/X11/fonts/Type1/,${EPREFIX}/${LIBDIR}/X11/fonts/75dpi/,${EPREFIX}/${LIBDIR}/X11/fonts/100dpi/,${EPREFIX}/${LIBDIR}/X11/fonts/cyrillic/,${EPREFIX}/${LIBDIR}/X11/fonts/TTF/" + FONTPATH="${LIBDIR}/X11/fonts/misc/,${LIBDIR}/X11/fonts/Type1/,${LIBDIR}/X11/fonts/75dpi/,${LIBDIR}/X11/fonts/100dpi/,${LIBDIR}/X11/fonts/cyrillic/,${LIBDIR}/X11/fonts/TTF/" export FONTPATH fi @@ -364,11 +362,6 @@ process() { fi fi - LIB_FLAGS= - if [ X"$LIBDIR" != X ]; then - LIB_FLAGS="--libdir=${EPREFIX}/${LIBDIR}" - fi - # Use "sh autogen.sh" since some scripts are not executable in CVS if [ $needs_config -eq 1 ] || [ X"$NOAUTOGEN" = X ]; then sh ${DIR_CONFIG}/${CONFCMD} \ @@ -377,8 +370,8 @@ process() { ${BINDIR_SET:+--bindir="$BINDIR"} \ ${DATAROOTDIR_SET:+--datarootdir="$DATAROOTDIR"} \ ${DATADIR_SET:+--datadir="$DATADIR"} \ + ${LIBDIR_SET:+--libdir="$LIBDIR"} \ ${LOCALSTATEDIR_SET:+--localstatedir="$LOCALSTATEDIR"} \ - ${LIB_FLAGS} \ ${QUIET:+--quiet} \ ${CONFFLAGS} \ ${CC:+CC="$CC"} \ @@ -1011,6 +1004,11 @@ if [ X"$DATADIR" != X ]; then DATADIR_SET=yes fi +# States if the user has exported LIBDIR +if [ X"$LIBDIR" != X ]; then + LIBDIR_SET=yes +fi + # States if the user has exported LOCALSTATEDIR if [ X"$LOCALSTATEDIR" != X ]; then LOCALSTATEDIR_SET=yes @@ -1200,8 +1198,13 @@ if [ X"$DATADIR_SET" = X ]; then DATADIR=$DATAROOTDIR fi +# Set the default value for LIBDIR +if [ X"$LIBDIR_SET" = X ]; then + LIBDIR=$EPREFIX/lib +fi + # Set the default value for LOCALSTATEDIR -if [ X"$LOCALSTATEDIR_SET" = X ]; then +if [ X"$LIBDIR_SET" = X ]; then LOCALSTATEDIR=$PREFIX/var fi -- 1.6.0.4 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
