RFA: support in src-release to create a release-style sim.tar.bz2

Hans-Peter Nilsson hp@bitrange.com
Sat Sep 7 02:37:00 GMT 2013

I checked the CVS modules that would be completely inside the
binutils+gdb git and it appears the sim module is the only usable
stand-alone one.

There are certainly "straddling" projects (having parts both inside
and outside binutils+gdb): insight and sid (not counting a historical
relic called old-gdb).  I'll leave those to interested parties as
straddling projects will have to solve that problem before they can
make use of any non-stand-alone sub-part tar-balls of a binutils+gdb
repository (like the existing naked-* CVS modules).  Sid may have to
be revived first.

The do-proto-toplevel change is needed to support files in
SUPPORT_FILES with paths like gdb/version.in; the ln -s machinery
broke as you probably understand from the change.  Beware that DIRS in
SIM_SUPPORT_DIRS is a misnomer but not a new one; single toplevel
files (not just directories) have been included in it, way before
this change.

Tested by building a sim- out of a binutils+gdb
checkout using "make -f src-release sim.tar.bz2" and checking that the
difference to the "sim" CVS module was not unexpected compared to
e.g. the difference between a created binutils.tar.bz2 and the
"binutils" CVS module.

N.B. this requires a patch to align sim/common/create-version.sh with
gdb/common/create-version.sh, posted to gdb-patches@.  I expect to
commit that patch before this one.

Ok to commit?

	* src-release (do-proto-toplevel): Support subdir-path-prefixed
	files in SUPPORT_FILES.
	(SIM_SUPPORT_DIRS): New variable.
	(sim.tar.bz2): New rule.

Index: src-release
RCS file: /cvs/src/src/src-release,v
retrieving revision 1.36
diff -p -u -r1.36 src-release
--- src-release	17 Aug 2013 01:07:52 -0000	1.36
+++ src-release	7 Sep 2013 00:52:09 -0000
@@ -165,7 +165,15 @@ do-proto-toplev: $(DEVO_SUPPORT) $(SUPPO
 	    else \
 	      ln -s ../$$d proto-toplev/$$d ; \
 	    fi ; \
-	  else ln -s ../$$d proto-toplev/$$d ; fi ; \
+	  else \
+	    if (echo x$$d | grep / >/dev/null); then \
+	      mkdir -p proto-toplev/`dirname $$d` ; \
+	      x=`dirname $$d` ; \
+	      ln -s ../`echo $$x/ | sed -e 's,[^/]*/,../,g'`$$d proto-toplev/$$d ; \
+	    else \
+	      ln -s ../$$d proto-toplev/$$d ; \
+	    fi ; \
+	  fi ; \
 	$(MAKE) distclean
@@ -286,6 +294,14 @@ gdb.tar: $(DIST_SUPPORT) $(GDB_SUPPORT_D
 		MD5PROG="$(MD5PROG)" \

+# Corresponding to the CVS "sim" module.
+.PHONY: sim.tar.bz2
+SIM_SUPPORT_DIRS= bfd opcodes libiberty include intl gdb/version.in makefile.vms
+sim.tar.bz2: $(DIST_SUPPORT) $(SIM_SUPPORT_DIRS) sim
+	$(MAKE) -f $(SELF) taz TOOL=sim \
+		MD5PROG="$(MD5PROG)" \
 .PHONY: insight.tar.bz2
 insight.tar.bz2: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb

brgds, H-P

More information about the Binutils mailing list