<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.32.2">
</HEAD>
<BODY>
On Mon, 2011-09-19 at 17:17 -0700, Alan Coopersmith wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
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.

</PRE>
</BLOCKQUOTE>
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?<BR>
<BR>
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.<BR>
<BR>
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.<BR>
<BR>
At the time of the xcb module split, I updated the Develop Guide:<BR>
<A HREF="http://wiki.x.org/wiki/ModularDevelopersGuide#Workingwithgitsubmodules">http://wiki.x.org/wiki/ModularDevelopersGuide#Workingwithgitsubmodules</A><BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE>
Signed-off-by: Alan Coopersmith &lt;<A HREF="mailto:alan.coopersmith@oracle.com">alan.coopersmith@oracle.com</A>&gt;
---
 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=&quot;xcb/libxcb&quot;
                     component=&quot;libxcb&quot;
                     ;;
-                &quot;util&quot;)
-                    module=&quot;xcb/util&quot;
-                    component=&quot;xcb-util&quot;
+                util*)
+                    module=&quot;xcb/$component&quot;
+                    component=&quot;xcb-$component&quot;
                     ;;
             esac
             ;;
@@ -363,6 +363,8 @@ process() {
     if [ -f $module/$component/autogen.sh ]; then
         SRCDIR=&quot;$module/$component&quot;
         CONFCMD=&quot;autogen.sh&quot;
+    elif [ X&quot;$component&quot; = Xutil-common-m4 ] &amp;&amp; [ -f $module/$component/xcb_util_common.m4 ] ; then
+        SRCDIR=&quot;$module/$component&quot;
     elif [ X&quot;$CLONE&quot; != 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&quot;$component&quot; = 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&quot;$DIR_ARCH&quot; != X ] ; then
         mkdir -p &quot;$DIR_ARCH&quot;
@@ -637,7 +648,12 @@ build_lib() {
     build lib libXdmcp
     build xcb pthread-stubs
     build xcb libxcb
+&nbsp;&nbsp;&nbsp; build xcb util-common-m4
</PRE>
</BLOCKQUOTE>
This is a git submodule which is not buildable by itself. It is pulled in by the clone() function:<BR>
git submodule init<BR>
git submodule update<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE>
     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
</PRE>
</BLOCKQUOTE>
<BR>
</BODY>
</HTML>