The code is best located in setup_buildenv. Renamed _SET variables to _USER to emphasis that the purpose of the variable is to remember that the user had originally specified a value for the installation directories.
Signed-off-by: Gaetan Nadon <[email protected]> --- build.sh | 122 ++++++++++++++++++------------------------------------------- 1 files changed, 36 insertions(+), 86 deletions(-) diff --git a/build.sh b/build.sh index 49ca386..59c4d80 100755 --- a/build.sh +++ b/build.sh @@ -59,6 +59,35 @@ EOF setup_buildenv() { + # Remember if the user had supplied a value through env var or cmd line + # A value from cmd line takes precedence of the shell environment + PREFIX_USER=${PREFIX:+yes} + EPREFIX_USER=${EPREFIX:+yes} + BINDIR_USER=${BINDIR:+yes} + DATAROOTDIR_USER=${DATAROOTDIR:+yes} + DATADIR_USER=${DATADIR:+yes} + LIBDIR_USER=${LIBDIR:+yes} + LOCALSTATEDIR_USER=${LOCALSTATEDIR:+yes} + + # Assign a default value if no value was supplied by the user + PREFIX=${PREFIX:-/usr/local} + EPREFIX=${EPREFIX:-$PREFIX} + BINDIR=${BINDIR:-$EPREFIX/bin} + DATAROOTDIR=${DATAROOTDIR:-$PREFIX/share} + DATADIR=${DATADIR:-$DATAROOTDIR} + LIBDIR=${LIBDIR:-$EPREFIX/lib} + LOCALSTATEDIR=${LOCALSTATEDIR:-$PREFIX/var} + + # Support previous usage of LIBDIR which was a subdir relative to PREFIX + # We use EPREFIX as this is what PREFIX really meant at the time + if [ X"`expr substr $LIBDIR 1 1`" != X/ ]; then + echo "" + echo "Warning: this usage of \$LIBDIR is deprecated. Use a full path name." + echo "The supplied value \"$LIBDIR\" has been replaced with $EPREFIX/$LIBDIR." + echo "" + LIBDIR=$EPREFIX/$LIBDIR + fi + # All directories variables must be full path names check_full_path $PREFIX PREFIX check_full_path $EPREFIX EPREFIX @@ -372,13 +401,13 @@ process() { # 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} \ - ${PREFIX_SET:+--prefix="$PREFIX"} \ - ${EPREFIX_SET:+--exec-prefix="$EPREFIX"} \ - ${BINDIR_SET:+--bindir="$BINDIR"} \ - ${DATAROOTDIR_SET:+--datarootdir="$DATAROOTDIR"} \ - ${DATADIR_SET:+--datadir="$DATADIR"} \ - ${LIBDIR_SET:+--libdir="$LIBDIR"} \ - ${LOCALSTATEDIR_SET:+--localstatedir="$LOCALSTATEDIR"} \ + ${PREFIX_USER:+--prefix="$PREFIX"} \ + ${EPREFIX_USER:+--exec-prefix="$EPREFIX"} \ + ${BINDIR_USER:+--bindir="$BINDIR"} \ + ${DATAROOTDIR_USER:+--datarootdir="$DATAROOTDIR"} \ + ${DATADIR_USER:+--datadir="$DATADIR"} \ + ${LIBDIR_USER:+--libdir="$LIBDIR"} \ + ${LOCALSTATEDIR_USER:+--localstatedir="$LOCALSTATEDIR"} \ ${QUIET:+--quiet} \ ${CONFFLAGS} \ ${CC:+CC="$CC"} \ @@ -1072,41 +1101,6 @@ export HOST_OS HOST_CPU=`uname -m` export HOST_CPU -# States if the user has exported PREFIX -if [ X"$PREFIX" != X ]; then - PREFIX_SET=yes -fi - -# States if the user has exported EPREFIX -if [ X"$EPREFIX" != X ]; then - EPREFIX_SET=yes -fi - -# States if the user has exported BINDIR -if [ X"$BINDIR" != X ]; then - BINDIR_SET=yes -fi - -# States if the user has exported DATAROOTDIR -if [ X"$DATAROOTDIR" != X ]; then - DATAROOTDIR_SET=yes -fi - -# States if the user has exported DATADIR -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 -fi - # Process command line args while [ $# != 0 ] do @@ -1230,7 +1224,6 @@ do fi PREFIX=$1 - PREFIX_SET=yes too_many=yes ;; esac @@ -1238,49 +1231,6 @@ do shift done -# Set the default value for PREFIX -if [ X"$PREFIX_SET" = X ]; then - PREFIX=/usr/local -fi - -# Set the default value for EPREFIX -if [ X"$EPREFIX_SET" = X ]; then - EPREFIX=$PREFIX -fi - -# Set the default value for BINDIR -if [ X"$BINDIR_SET" = X ]; then - BINDIR=$EPREFIX/bin -fi - -# Set the default value for DATAROOTDIR -if [ X"$DATAROOTDIR_SET" = X ]; then - DATAROOTDIR=$PREFIX/share -fi - -# Set the default value for DATADIR -if [ X"$DATADIR_SET" = X ]; then - DATADIR=$DATAROOTDIR -fi - -# Set the default value for LIBDIR -if [ X"$LIBDIR_SET" = X ]; then - LIBDIR=$EPREFIX/lib -# Support previous usage of LIBDIR which was a subdir relative to PREFIX -# We use EPREFIX as this is what PREFIX really meant at the time -elif [ X"`expr substr $LIBDIR 1 1`" != X/ ]; then - echo "" - echo "Warning: this usage of \$LIBDIR is deprecated. Use a full path name." - echo "The supplied value \"$LIBDIR\" has been replaced with $EPREFIX/$LIBDIR." - echo "" - LIBDIR=$EPREFIX/$LIBDIR -fi - -# Set the default value for LOCALSTATEDIR -if [ X"$LOCALSTATEDIR_SET" = X ]; then - LOCALSTATEDIR=$PREFIX/var -fi - # All user input has been obtained, set-up the user shell variables if [ X"$LISTONLY" = X ]; then setup_buildenv -- 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
