gcc_release (maybe_build_tarfile): New function.
authorJoseph Myers <jsm@polyomino.org.uk>
Fri, 4 Jun 2004 00:02:04 +0000 (01:02 +0100)
committerJoseph Myers <jsm28@gcc.gnu.org>
Fri, 4 Jun 2004 00:02:04 +0000 (01:02 +0100)
* gcc_release (maybe_build_tarfile): New function.
(build_tarfiles): Use maybe_build_tarfile.

From-SVN: r82613

maintainer-scripts/ChangeLog
maintainer-scripts/gcc_release

index 7964a6a5760c7c38802be7ce16175065e730332b..08459ef6bfb4c806b583360e6be5f9f905c9a256 100644 (file)
@@ -1,3 +1,8 @@
+2004-06-03  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * gcc_release (maybe_build_tarfile): New function.
+       (build_tarfiles): Use maybe_build_tarfile.
+
 2004-05-21  Paolo Carlini  <pcarlini@suse.de>
 
        * gcc_release (build_sources): Generate the NEWS file in toplevel.
index dec063b7cc4601d993932a71868e880b8bfb6f50..8b6a5603006c93cc7369165591b1ff7c8804cd7c 100755 (executable)
@@ -256,7 +256,7 @@ EOF
 # Buid a single tarfile.  The first argument is the name of the name
 # of the tarfile to build, without any suffixes.  They will be added
 # automatically.  The rest of the arguments are the files or
-# directories to include.
+# directories to include, and possibly other arguments to tar.
 
 build_tarfile() {
   # Get the name of the destination tar file.
@@ -269,6 +269,25 @@ build_tarfile() {
   FILE_LIST="${FILE_LIST} ${TARFILE}"
 }
 
+# Build a single tarfile if any of the directories listed exist,
+# but not if none of them do (because that component doesn't exist
+# on this branch).
+maybe_build_tarfile() {
+  dest=$1
+  shift
+  dir_exists=0
+  for maybe_dir in "$@"; do
+    if [ -d "$maybe_dir" ]; then
+      dir_exists=1
+    fi
+  done
+  if [ $dir_exists = 1 ]; then
+    build_tarfile "$dest" "$@"
+  else
+    echo "Not building $dest tarfile"
+  fi
+}
+
 # Build the various tar files for the release.
 
 build_tarfiles() {
@@ -286,13 +305,13 @@ build_tarfiles() {
   build_tarfile gcc-${RELEASE} `basename ${SOURCE_DIRECTORY}`
 
   # Now, build one for each of the languages.
-  build_tarfile gcc-ada-${RELEASE} ${ADA_DIRS}
-  build_tarfile gcc-g++-${RELEASE} ${CPLUSPLUS_DIRS}
-  build_tarfile gcc-g77-${RELEASE} ${FORTRAN_DIRS}
-  build_tarfile gcc-fortran-${RELEASE} ${FORTRAN95_DIRS}
-  build_tarfile gcc-java-${RELEASE} ${JAVA_DIRS}
-  build_tarfile gcc-objc-${RELEASE} ${OBJECTIVEC_DIRS}
-  build_tarfile gcc-testsuite-${RELEASE} ${TESTSUITE_DIRS}
+  maybe_build_tarfile gcc-ada-${RELEASE} ${ADA_DIRS}
+  maybe_build_tarfile gcc-g++-${RELEASE} ${CPLUSPLUS_DIRS}
+  maybe_build_tarfile gcc-g77-${RELEASE} ${FORTRAN_DIRS}
+  maybe_build_tarfile gcc-fortran-${RELEASE} ${FORTRAN95_DIRS}
+  maybe_build_tarfile gcc-java-${RELEASE} ${JAVA_DIRS}
+  maybe_build_tarfile gcc-objc-${RELEASE} ${OBJECTIVEC_DIRS}
+  maybe_build_tarfile gcc-testsuite-${RELEASE} ${TESTSUITE_DIRS}
    
   # The core is everything else.
   EXCLUDES=""