On Wed, Sep 07, 2016 at 01:26:03PM -0500, Derek Foreman wrote: > From: "Reynaldo H. Verdejo Pinochet" <[email protected]> > > This is an alternative to developing with a --prefixed > installation, and is a familiar workflow for developers > coming from some projects (such as gstreamer). Compared to > a prefixed installation it saves a small amount of time > (primarily due to relinking during make install) and > space. > > The wl_uninstalled script provides a shell environment to > build and use an uninstalled Wayland/Weston setup. > > For example, this script and a fresh checkout of Wayland, > libinput, wayland-protocols and Weston is all you need to > run Weston from the uninstalled environment created by > building every module. No installation required. > > Quick instructions: > > Lets use Weston as an example altough other Wayland-based > software should work as well. > > Edit a local copy of the script to make $WLD point to the > base directory where your repositories are (make sure to > use the absolute paths). You can also set the WLD > environment variable before calling the script and leave > the file untouched. Then, after executing the script, issue > the following commands to have everything built and Weston > runing from the uninstalled environment. > > cd <basedir> > for i in wayland wayland-protocols libinput weston; do > cd $i && ./autogen.sh && make && cd ..; done > cd weston > weston & > > Signed-off-by: Reynaldo H. Verdejo Pinochet <[email protected]> > Signed-off-by: Derek Foreman <[email protected]>
Reviewed-by: Bryce Harrington <[email protected]> Thanks, landed: 5e57af4..b6926c0 master -> master > --- > Changes since v1: > Allow setting the WLD variable before running the script > Some changes to the text in the commit log > > README | 35 ++++++++++++++- > wl_uninstalled | 133 > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 167 insertions(+), 1 deletion(-) > create mode 100755 wl_uninstalled > > diff --git a/README b/README > index b7eea61..c65fe4f 100644 > --- a/README > +++ b/README > @@ -1,4 +1,5 @@ > Wayland Build Tools > +------------------- > > These are scripts that automate the standard Wayland build and installation > directions (http://wayland.freedesktop.org/building.html), and take care of > @@ -48,6 +49,38 @@ Step 6: Run Weston > source ~/.config/wayland-build-tools/wl_defines.sh > weston > > - > Build scripts and configuration for other distros are welcome. For more > details, see https://blogs.s-osg.org/kick-waylands-tires-wayland-build-tools. > + > + > +Wayland Uninstalled > +------------------- > + > +We now also include a helper script, wl_uninstalled, to build and work with > an > +uninstalled wayland/weston environment comprised of the following > repositories: > + > +wayland > +wayland-protocols > +libinput > +weston > + > +The wl_uninstalled script provides a shell environment in which all build and > +run run-time dependencies are resolved in such a way that the uninstalled > +versions of the above projects take precedence. > + > +Quick instructions: > + > +Let's use Weston as an example although other wayland-based projects should > work > +as well. > + > +* Edit a local copy of the script to make $WLD point to the base directory > + where your repositories are (make sure to use the absolute paths). You can > + also set the WLD environment variable to a path of your choice and leave > + the script untouched. Then, after executing the script, issue the following > + commands to have everything built and weston running from the uninstalled > + environment. > + > + cd $WLD > + for i in wayland wayland-protocols libinput weston; do > + cd $i && ./autogen.sh && make && cd ..; done > + weston & > diff --git a/wl_uninstalled b/wl_uninstalled > new file mode 100755 > index 0000000..63ff907 > --- /dev/null > +++ b/wl_uninstalled > @@ -0,0 +1,133 @@ > +#!/bin/bash -i > +# > +# Copyright (C) 2016 Samsung Electronics. All rights reserved. > +# > +# Author: Reynaldo H. Verdejo Pinochet <[email protected]> > +# Derek Foreman <[email protected]> > +# > +# Based on GStreamer's gst-uninstalled (http://gstreamer.freedesktop.org/) > +# > +# This script provides a shell environment to build and use an uninstalled > +# wayland/weston setup, consisting mostly of checked out and built (no > +# "make install" required) Wayland repositories. > +# > +# Here is the list of required repositories: > +# > +# wayland git://anongit.freedesktop.org/wayland/wayland > +# wayland-protocols git://anongit.freedesktop.org/wayland/wayland-protocols > +# libinput git://anongit.freedesktop.org/wayland/libinput > +# weston git://anongit.freedesktop.org/wayland/weston > +# > + > +if [ "$1"yes != "yes" ]; then > + cat << EOF > + > +This script uses no arguments. Aborting execution. > + > +The following parameter was not understood: > + > +"$@" > + > +Quick instructions: > + > +1.- Clone the required repositories: > + > + wayland git://anongit.freedesktop.org/wayland/wayland > + wayland-protocols git://anongit.freedesktop.org/wayland/wayland-protocols > + libinput git://anongit.freedesktop.org/wayland/libinput > + weston git://anongit.freedesktop.org/wayland/weston > + > +2.- Set the WLD variable here to point to the directory you > + put your Wayland repositories at. Rest should remain untouched. > + Instead of setting this variable here, you can also export it > + before the script is executed and leave the latter untouched. > + > +3.- Execute the script. If everything goes OK, you should start > + seeing a "[WAYLAND UNINSTALLED]" line being printed before each > + shell prompt to remind you that you are on a wayland uninstalled > + environment. > + > +4.- Configure and build the above projects in the order they are listed > + in this document. > + > +5.- Run something wayland-ish, like weston, and it will use the same > + Wayland uninstalled environment used to build. > + > +6.- To exit the Wayland uninstalled shell just use the 'exit' command. > + > +EOF > + exit -1 > +fi > + > +if [ -z "$WLD" ]; then > + WLD=$HOME/devel/wayland/git > + echo Wayland uninstalled root not set \(WLD\). Using script default \ > + \'$WLD\' > +fi > + > +# Set up PATHs > + > +LD_LIBRARY_PATH="\ > +$WLD/wayland/.libs\ > +:$WLD/libinput/src/.libs\ > +:$WLD/weston/.libs/\ > +${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" > + > +WESTON_BUILD_DIR="\ > +$WLD/weston/\ > +${WESTON_BUILD_DIR:+:$WESTON_BUILD_DIR}" > + > +PKG_CONFIG_PATH="\ > +$WLD/wayland/src/\ > +:$WLD/wayland/cursor/\ > +:$WLD/wayland-protocols/\ > +:$WLD/libinput/src/\ > +:$WLD/lib/pkgconfig/\ > +:$WLD/share/pkgconfig/\ > +:$WESTON_BUILD_DIR/compositor/\ > +:$WESTON_BUILD_DIR/libweston/\ > +:$WESTON_BUILD_DIR/libweston-desktop/\ > +${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}" > + > +PATH="\ > +$WLD/wayland/\ > +:$WLD/weston/\ > +:$PATH" > + > +# Export new environment > + > +export WLD > +export LD_LIBRARY_PATH > +export PKG_CONFIG_PATH > +export WESTON_BUILD_DIR > +export PATH > + > +cat << EOF > + > +The following environment has been exported: > + > +WLD=$WLD > +LD_LIBRARY_PATH=$LD_LIBRARY_PATH > +PKG_CONFIG_PATH=$PKG_CONFIG_PATH > +WESTON_BUILD_DIR=$WESTON_BUILD_DIR > +PATH=$PATH > + > +---------------------- > + > +EOF > + > +cd $WLD > +shell=$SHELL > + > +# Do not load local startup files > +if test "x$SHELL" = "x/bin/bash" > +then > + shell="$SHELL --noprofile" > +fi > + > +# Launch shell. Remember the user this is a Wayland uninstalled > +# before each prompt. > + > +PROMPT_COMMAND="echo [WAYLAND UNINSTALLED]" $shell > + > + > -- > 2.9.3 > > _______________________________________________ > wayland-devel mailing list > [email protected] > https://lists.freedesktop.org/mailman/listinfo/wayland-devel _______________________________________________ wayland-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/wayland-devel
