diff --git a/llvm/utils/release/export.sh b/llvm/utils/release/export.sh --- a/llvm/utils/release/export.sh +++ b/llvm/utils/release/export.sh @@ -128,16 +128,18 @@ -cJf test-suite-$release$rc.src.tar.xz test-suite-$release$rc.src fi + # Package up top-level cmake directory so that we can append it to all projects. + cmake_archive_file=$target_dir/$(template_file cmake) + trap "rm -fv $cmake_archive_file.tmp" EXIT + git archive -o $cmake_archive_file.tmp $tree_id cmake/ + for proj in $projects; do echo "Creating tarball for $proj ..." pushd $llvm_src_dir/$proj target_archive_file=$target_dir/$(template_file $proj) trap "rm -fv $target_archive_file.tmp" EXIT git archive --prefix=$proj-$release$rc.src/ -o $target_archive_file.tmp $tree_id . - # Get relative path to top-level cmake directory to be packaged - # alongside the project. Append that path to the tarball. - cmake_rel_path=$(realpath --relative-to=. $llvm_src_dir/cmake) - tar --append -f $target_archive_file.tmp $cmake_rel_path + tar -Af $target_archive_file.tmp $cmake_archive_file.tmp cat $target_archive_file.tmp | xz > $target_archive_file popd done