On Sat, Sep 04, 2010 at 06:12:13PM -0400, Trevor Woerner wrote: > From: Trevor Woerner <[email protected]> > > Useful for running arbitrary git commands from top-most > directory on all modules which are being built. > > Signed-off-by: Trevor Woerner <[email protected]> > --- > build.sh | 113 +++++++++++++++++++++++++++++++++---------------------------- > 1 files changed, 61 insertions(+), 52 deletions(-) > > diff --git a/build.sh b/build.sh > index 0bc366b..4d8956f 100755 > --- a/build.sh > +++ b/build.sh > @@ -28,6 +28,47 @@ global environment variables you may set to augment > functionality: > EOF > } > > +setup_buildenv() { > + export HOST_OS=`uname -s` > + export HOST_CPU=`uname -m` > + > + if test x$LIBDIR = x ; then > + export LIBDIR=lib > + fi > + > + # Must create local aclocal dir or aclocal fails > + ACLOCAL_LOCALDIR="${DESTDIR}${PREFIX}/share/aclocal" > + $SUDO mkdir -p ${ACLOCAL_LOCALDIR} > + > + # The following is required to make aclocal find our .m4 macros > + if test x"$ACLOCAL" = x; then > + ACLOCAL="aclocal" > + fi > + export ACLOCAL="${ACLOCAL} -I ${ACLOCAL_LOCALDIR}" > + > + # The following is required to make pkg-config find our .pc metadata > files > + export > PKG_CONFIG_PATH=${DESTDIR}${PREFIX}/share/pkgconfig:${DESTDIR}${PREFIX}/${LIBDIR}/pkgconfig${PKG_CONFIG_PATH+:$PKG_CONFIG_PATH} > + > + # Set the library path so that locally built libs will be found by apps > + export > LD_LIBRARY_PATH=${DESTDIR}${PREFIX}/${LIBDIR}${LD_LIBRARY_PATH+:$LD_LIBRARY_PATH} > + > + # Set the path so that locally built apps will be found and used > + export PATH=${DESTDIR}${PREFIX}/bin${PATH+:$PATH} > + > + # Choose which make program to use > + if test x"$MAKE" = x; then > + MAKE=make > + fi > + > + # Set the default font path for xserver/xorg unless it's already set > + if test x"$FONTPATH" = x; then > + export > FONTPATH="${PREFIX}/${LIBDIR}/X11/fonts/misc/,${PREFIX}/${LIBDIR}/X11/fonts/Type1/,${PREFIX}/${LIBDIR}/X11/fonts/75dpi/,${PREFIX}/${LIBDIR}/X11/fonts/100dpi/,${PREFIX}/${LIBDIR}/X11/fonts/cyrillic/,${PREFIX}/${LIBDIR}/X11/fonts/TTF/" > + fi > + > + # Create the log file directory > + $SUDO mkdir -p ${DESTDIR}${PREFIX}/var/log > +} > + > failed_components="" > nonexistent_components="" > clonefailed_components="" > @@ -145,6 +186,11 @@ clone() { > } > > build() { > + if [ -n "$LISTONLY" ]; then > + echo "$1/$2" > + return 0 > + fi > + > if [ -n "$RESUME" ]; then > if [ "$RESUME" = "$1/$2" ]; then > unset RESUME > @@ -701,6 +747,9 @@ usage() { > echo " --autoresume file : autoresume from file" > echo " --check : run make check in addition to others" > echo "" > + echo "Usage: $0 -L" > + echo " -L : just list modules to build" > + echo "" > envoptions > } > > @@ -779,6 +828,9 @@ do > shift > SUDO=$1 > ;; > + -L) > + LISTONLY=1 > + ;; > *) > PREFIX=$1 > ;; > @@ -787,64 +839,17 @@ do > shift > done > > -if test x"${PREFIX}" = x ; then > +if test x"${PREFIX}" = x && test -z "$LISTONLY" ; then > usage > exit > fi > > -HOST_OS=`uname -s` > -HOST_CPU=`uname -m` > - > -if test x$LIBDIR = x ; then > - LIBDIR=lib > -fi > - > -export HOST_OS > -export HOST_CPU > -export LIBDIR > - > -echo "Building to run $HOST_OS / $HOST_CPU ($HOST)" > - > -# Must create local aclocal dir or aclocal fails > -ACLOCAL_LOCALDIR="${DESTDIR}${PREFIX}/share/aclocal" > -$SUDO mkdir -p ${ACLOCAL_LOCALDIR} > - > -# The following is required to make aclocal find our .m4 macros > -if test x"$ACLOCAL" = x; then > - ACLOCAL="aclocal" > +if test -z "$LISTONLY" ; then > + setup_buildenv > + echo "Building to run $HOST_OS / $HOST_CPU ($HOST)" > + date > fi > > -ACLOCAL="${ACLOCAL} -I ${ACLOCAL_LOCALDIR}" > -export ACLOCAL > - > -# The following is required to make pkg-config find our .pc metadata files > -PKG_CONFIG_PATH=${DESTDIR}${PREFIX}/share/pkgconfig:${DESTDIR}${PREFIX}/${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}${PREFIX}/${LIBDIR}${LD_LIBRARY_PATH+:$LD_LIBRARY_PATH} > -export LD_LIBRARY_PATH > - > -# Set the path so that locally built apps will be found and used > -PATH=${DESTDIR}${PREFIX}/bin${PATH+:$PATH} > -export PATH > - > -# Choose which make program to use > -if test x"$MAKE" = x; then > - MAKE=make > -fi > - > -# Set the default font path for xserver/xorg unless it's already set > -if test x"$FONTPATH" = x; then > - > FONTPATH="${PREFIX}/${LIBDIR}/X11/fonts/misc/,${PREFIX}/${LIBDIR}/X11/fonts/Type1/,${PREFIX}/${LIBDIR}/X11/fonts/75dpi/,${PREFIX}/${LIBDIR}/X11/fonts/100dpi/,${PREFIX}/${LIBDIR}/X11/fonts/cyrillic/,${PREFIX}/${LIBDIR}/X11/fonts/TTF/" > - export FONTPATH > -fi > - > -# Create the log file directory > -$SUDO mkdir -p ${DESTDIR}${PREFIX}/var/log > - > -date > - > # We must install the global macros before anything else > build util macros > build font util > @@ -864,6 +869,10 @@ if test $LIB_ONLY -eq 0; then > build_util > fi > > +if test -n "$LISTONLY" ; then > + exit 0 > +fi > + > date > > if test "x$nonexistent_components" != x ; then > -- > 1.7.1
Reviewed-by: Peter Hutterer <[email protected]> Cheers, Peter _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
