Remaining differences between modular & monolith installs

Matthieu Herrb matthieu.herrb at laas.fr
Mon Oct 17 02:37:07 PDT 2005


Alan Coopersmith wrote:
> I've been diff'ing install trees produced by the modular & monolith
> CVS head's lately.   (You may have noticed all the man page checkins
> to bring the modular man pages up to what's installed by the monolith.
> Another set should be coming soon for the driver man page.)
>
Unfortunatly those changes break the build on BSD systems in two ways:

- the .shadows.DONE: target confuses make; it interprets it as an 
implicit rule (because automake adds .SUFFIX declaration automagically).

- the LIB_MANSUFFIXvariable is not expanded in constructs like 
$(Xau_shadows:=.$(LIB_MAN_SUFFIX)). It can be forced by using an 
intermediate variable affected with the ':=' operator.

The attached patch shows what is needed for libXau. Unfortunatly I don't 
have time (and it would be ugly) to do the corresponding changes to all 
modules. So if someone has a better idea to implement this in a portable 
way, it's welcome.

-- 
Matthieu Herrb
-------------- next part --------------
Index: Makefile.am
===================================================================
RCS file: /cvs/fd/xorg/lib/Xau/Makefile.am,v
retrieving revision 1.4
diff -u -r1.4 Makefile.am
--- Makefile.am	12 Oct 2005 00:39:36 -0000	1.4
+++ Makefile.am	17 Oct 2005 09:27:26 -0000
@@ -31,10 +31,10 @@
 
 libmandir = $(mandir)/man$(LIB_MAN_SUFFIX)
 libman_SOURCES = Xau.man
-BUILT_SOURCES = .shadows.DONE
+BUILT_SOURCES = shadows.DONE
 CLEANFILES = $(libman_DATA)
-libman_DATA = $(libman_SOURCES:man=$(LIB_MAN_SUFFIX)) \
-	      $(Xau_shadows:=.$(LIB_MAN_SUFFIX))
+libman_DATA := $(libman_SOURCES:man=$(LIB_MAN_SUFFIX)) \
+	      $(Xau_shadows_pages)
 
 EXTRA_DIST = xau.pc.in Autest.c $(libman_SOURCES)
 
@@ -48,9 +48,11 @@
     XauGetAuthByAddr                        \
     XauGetBestAuthByAddr
 
-.shadows.DONE:
-	-rm -f $(Xau_shadows:=.$(LIB_MAN_SUFFIX))
-	(for i in $(Xau_shadows:=.$(LIB_MAN_SUFFIX)) ; do \
+Xau_shadows_pages:=$(Xau_shadows:=.${LIB_MAN_SUFFIX})
+
+shadows.DONE:
+	-rm -f $(Xau_shadows_pages)
+	(for i in $(Xau_shadows_pages) ; do \
 	 echo .so man$(LIB_MAN_SUFFIX)/Xau.$(LIB_MAN_SUFFIX) > $$i; \
 	 done)
 
@@ -60,3 +62,6 @@
 Xau.$(LIB_MAN_SUFFIX): $(srcdir)/Xau.man
 	sed 's/__xorgversion__/"$(XORGRELSTRING)" "$(XORGMANNAME)"/' \
 	< $(srcdir)/Xau.man > Xau.$(LIB_MAN_SUFFIX)
+
+SUFFIXES= .${LIB_MAN_SUFFIX} .man
+


More information about the xorg-modular mailing list