[PATCH:modular] build.sh: Handle xcb-util module split

Gaetan Nadon memsize at videotron.ca
Tue Sep 20 04:24:37 PDT 2011


On Mon, 2011-09-19 at 17:17 -0700, Alan Coopersmith wrote:

> Mostly straightforward addition of new xcb/util-* submodules, but
> util-common-m4 needs special handling since it doesn't have the
> usual autoconfery, just needs to be found in the aclocal path when
> autoconfing the other xcb/util* modules.
> 

What is the motivation for adding these packages? There are not used for
x.org release (except common-m4 git submodule). Is there a plan to do
so?

The util-common-m4 is a git submodule and gets pulled-in by the hosting
module. I had updated the script to handle git submodule and it is
currently working for the xcb util that has been shipped in the last
release. The jhbuild system had also done so.

If you look in your current build under xdb/util, note the m4 directory.
This comes from the util-common-m4 git submodule. That's the nice thing,
every package using this git submodule has a copy of it in its tarball.
No issues with using a back level version util-common-m4.

At the time of the xcb module split, I updated the Develop Guide:
http://wiki.x.org/wiki/ModularDevelopersGuide#Workingwithgitsubmodules


> Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
> ---
>  build.sh |   22 +++++++++++++++++++---
>  1 files changed, 19 insertions(+), 3 deletions(-)
> 
> diff --git a/build.sh b/build.sh
> index f9e8b29..bf7c93e 100755
> --- a/build.sh
> +++ b/build.sh
> @@ -213,9 +213,9 @@ checkfortars() {
>                      module="xcb/libxcb"
>                      component="libxcb"
>                      ;;
> -                "util")
> -                    module="xcb/util"
> -                    component="xcb-util"
> +                util*)
> +                    module="xcb/$component"
> +                    component="xcb-$component"
>                      ;;
>              esac
>              ;;
> @@ -363,6 +363,8 @@ process() {
>      if [ -f $module/$component/autogen.sh ]; then
>          SRCDIR="$module/$component"
>          CONFCMD="autogen.sh"
> +    elif [ X"$component" = Xutil-common-m4 ] && [ -f $module/$component/xcb_util_common.m4 ] ; then
> +	SRCDIR="$module/$component"
>      elif [ X"$CLONE" != X ]; then
>          clone $module $component
>          if [ $? -eq 0 ]; then
> @@ -419,6 +421,15 @@ process() {
>          fi
>      fi
>  
> +    # xcb/util-common-m4 doesn't have configure or Makefile, just macros that
> +    # the other xcb/util* modules need to find in ACLOCAL
> +    if [ X"$component" = Xutil-common-m4 ]; then
> +	echo linking *.m4 into ${ACLOCAL_LOCALDIR}
> +	ln -sf `pwd`/*.m4 ${ACLOCAL_LOCALDIR}
> +	cd $old_pwd
> +	return 0
> +    fi
> +
>      # Build outside source directory
>      if [ X"$DIR_ARCH" != X ] ; then
>  	mkdir -p "$DIR_ARCH"
> @@ -637,7 +648,12 @@ build_lib() {
>      build lib libXdmcp
>      build xcb pthread-stubs
>      build xcb libxcb
> +    build xcb util-common-m4

This is a git submodule which is not buildable by itself. It is pulled
in by the clone() function:
git submodule init
git submodule update


>      build xcb util
> +    build xcb util-image
> +    build xcb util-keysyms
> +    build xcb util-renderutil
> +    build xcb util-wm
>      build lib libX11
>      build lib libXext
>      case $HOST_OS in


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x.org/archives/xorg-devel/attachments/20110920/b7e3f22a/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.x.org/archives/xorg-devel/attachments/20110920/b7e3f22a/attachment.pgp>


More information about the xorg-devel mailing list