add script to regenerate pch files
based on a script by Lubos Lunak (http://article.gmane.org/gmane.comp.documentfoundation.libreoffice.devel/40210) Change-Id: Ib32de8be8a57b3b430f4b5b298b7f417e5a02ccb Reviewed-on: https://gerrit.libreoffice.org/1350 Reviewed-by: Luboš Luňák <l.lunak@suse.cz> Tested-by: Luboš Luňák <l.lunak@suse.cz>
This commit is contained in:
@@ -181,9 +181,13 @@ $(eval $(call gb_Library_add_exception_objects,sal,\
|
||||
sal/osl/unx/module \
|
||||
sal/osl/unx/process \
|
||||
sal/osl/unx/process_impl \
|
||||
$(if $(filter DESKTOP,$(BUILD_TYPE)), sal/osl/unx/salinit) \
|
||||
sal/osl/unx/uunxapi \
|
||||
))
|
||||
ifeq ($(filter-out DESKTOP,$(BUILD_TYPE)),)
|
||||
$(eval $(call gb_Library_add_exception_objects,sal,\
|
||||
sal/osl/unx/salinit \
|
||||
))
|
||||
endif
|
||||
$(eval $(call gb_Library_add_cobjects,sal,\
|
||||
sal/osl/unx/mutex \
|
||||
sal/osl/unx/nlsupport \
|
||||
|
92
solenv/bin/update_pch.sh
Executable file
92
solenv/bin/update_pch.sh
Executable file
@@ -0,0 +1,92 @@
|
||||
#! /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/.
|
||||
#
|
||||
|
||||
root=`dirname $0`
|
||||
root=`cd $root/../.. && pwd`
|
||||
|
||||
if test -z $1; then
|
||||
headers=`ls $root/*/inc/pch/precompiled_*.hxx`
|
||||
else
|
||||
headers="$1"
|
||||
fi
|
||||
|
||||
for x in $headers; do
|
||||
header=$x
|
||||
echo updating `echo $header | sed -e s%$root/%%`
|
||||
module=`echo $header | sed -e s%$root/%% -e s%/.*%%`
|
||||
name=`echo $header | sed -e s/.*precompiled_// -e s/\.hxx//`
|
||||
makefile="$root/$module/Library_$name.mk"
|
||||
|
||||
tmpfile=`mktemp`
|
||||
|
||||
cat "$makefile" | sed 's#\\$##' | \
|
||||
(
|
||||
inobjects=
|
||||
while read line ; do
|
||||
if (test "$line" = "))") || (echo $line | grep -q ", "); then
|
||||
inobjects=
|
||||
elif echo $line | grep -q -e add_exception_objects -e add_noexception_objects -e add_cxxobject -e add_cxxobjects ; then
|
||||
inobjects=1
|
||||
elif test -n "$inobjects"; then
|
||||
file=$line
|
||||
if ! test -f "$root/$file".cxx ; then
|
||||
echo No file $file in makefile `echo $makefile | sed -e s%$root/%%` >&2
|
||||
else
|
||||
cat "$root/$file".cxx | grep -e '^\s*#include' | sed 's/\(#include [<"][^<"]*[>"]\).*/\1/' | sed 's#\.\./##g#' >>$tmpfile
|
||||
fi
|
||||
fi
|
||||
done
|
||||
)
|
||||
|
||||
cat >$header <<EOF
|
||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
/*
|
||||
* 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/.
|
||||
*/
|
||||
|
||||
EOF
|
||||
|
||||
localdir="`dirname $makefile`"
|
||||
|
||||
function local_file()
|
||||
(
|
||||
file="$1"
|
||||
find "$localdir" -type f | grep /"$file"'$' -q
|
||||
)
|
||||
|
||||
function skip_ignore()
|
||||
(
|
||||
grep -v -F -e '#include "gperffasttoken.hxx"'
|
||||
)
|
||||
|
||||
# " in #include "foo" breaks echo down below, so " -> @
|
||||
cat $tmpfile | sort -u | skip_ignore | sed 's/"/@/g' | \
|
||||
(
|
||||
while read line; do
|
||||
file=`echo $line | sed 's/.*[<"@]\(.*\)[>"@].*/\1/'`
|
||||
if ! local_file "$file"; then
|
||||
echo $line | sed 's/@/"/g' >>$header
|
||||
fi
|
||||
done
|
||||
)
|
||||
|
||||
cat >>$header <<EOF
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
EOF
|
||||
|
||||
|
||||
rm $tmpfile
|
||||
done
|
||||
#echo Done.
|
||||
exit 0
|
@@ -23,7 +23,7 @@ $(eval $(call gb_Library_set_componentfile,xo,xmloff/util/xo))
|
||||
|
||||
$(eval $(call gb_Library_use_package,xo,xmloff_inc))
|
||||
|
||||
$(eval $(call gb_Library_set_precompiled_header,xo,$(SRCDIR)/xmloff/inc/pch/precompiled_xmloff))
|
||||
$(eval $(call gb_Library_set_precompiled_header,xo,$(SRCDIR)/xmloff/inc/pch/precompiled_xo))
|
||||
|
||||
$(eval $(call gb_Library_set_include,xo,\
|
||||
-I$(SRCDIR)/xmloff/inc \
|
||||
|
@@ -7,6 +7,6 @@
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
#include "precompiled_xmloff.hxx"
|
||||
#include "precompiled_xo.hxx"
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
Reference in New Issue
Block a user