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-7.6.50.20130906 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?

toplevel:
	* 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 ; \
 	done
 	cd etc && $(MAKE) MAKEINFOFLAGS="$(MAKEINFOFLAGS)" info
 	$(MAKE) distclean
@@ -286,6 +294,14 @@ gdb.tar: $(DIST_SUPPORT) $(GDB_SUPPORT_D
 		MD5PROG="$(MD5PROG)" \
 		SUPPORT_FILES="$(GDB_SUPPORT_DIRS)"

+# 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)" \
+		SUPPORT_FILES="$(SIM_SUPPORT_DIRS)"
+
 .PHONY: insight.tar.bz2
 INSIGHT_SUPPORT_DIRS= $(GDB_SUPPORT_DIRS) tcl tk itcl libgui
 insight.tar.bz2: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb

brgds, H-P



More information about the Binutils mailing list