diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
commit | ed5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch) | |
tree | 7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /bin/update_pch.sh | |
parent | Initial commit. (diff) | |
download | libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.tar.xz libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.zip |
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'bin/update_pch.sh')
-rwxr-xr-x | bin/update_pch.sh | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/bin/update_pch.sh b/bin/update_pch.sh new file mode 100755 index 000000000..4c17a0374 --- /dev/null +++ b/bin/update_pch.sh @@ -0,0 +1,70 @@ +#! /bin/bash +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +# Usage: update_pch.sh [<module>/inc/pch/precompiled_xxx.hxx] +# Usage: update_pch.sh [<module>] +# Invoke: make cmd cmd="./bin/update_pch.sh [..]" + +if test -n "$SRC_DIR"; then + root="$SRC_DIR" +else + root=`dirname $0` + root=`cd $root/.. >/dev/null && pwd` +fi +root=`readlink -f $root` +cd $root + +if test -z "$1"; then + headers=`ls ./*/inc/pch/precompiled_*.hxx` +else + headers="$@" +fi + +# Split the headers into an array. +IFS=' ' read -a aheaders <<< $headers +hlen=${#aheaders[@]}; +if [ $hlen -gt 1 ]; then + if [ -z "$PARALLELISM" ]; then + PARALLELISM=0 # Let xargs decide + fi + echo $headers | xargs -n 1 -P $PARALLELISM $0 + exit $? +fi + +for x in $headers; do + if [ -d "$x" ]; then + # We got a directory, find pch files to update. + headers=`find $root/$x/ -type f -iname "precompiled_*.hxx"` + if test -n "$headers"; then + $0 "$headers" + fi + else + header=$x + update_msg=`echo $header | sed -e s%$root/%%` + module=`readlink -f $header | sed -e s%$root/%% -e s%/.*%%` + if [ "$module" = "pch" ]; then + continue # PCH's in pch/inc/pch/ are handled manually + fi + echo updating $update_msg + if [ "$module" = "external" ]; then + module=external/`readlink -f $header | sed -e s%$root/external/%% -e s%/.*%%` + fi + libname=`echo $header | sed -e s/.*precompiled_// -e s/\.hxx//` + + ./bin/update_pch "$module" "$libname" + exitcode=$? + if test $exitcode -ne 0 -a $exitcode -ne 2; then + echo Failed. + exit 1 + fi + fi +done + +#echo Done. +exit 0 |