summaryrefslogtreecommitdiffstats
path: root/compilerplugins
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@collabora.com>2021-09-17 14:19:47 +0200
committerLuboš Luňák <l.lunak@collabora.com>2021-09-18 19:24:46 +0200
commit8d8d25f5ddbe42fc5a3647ff0ad31e93311b9ed5 (patch)
tree73427841594aa8a71b24ddd9e90ae588b5c72df3 /compilerplugins
parentmake COMPILER_EXTERNAL_TOOL=1 work properly with generated sources (diff)
downloadcore-8d8d25f5ddbe42fc5a3647ff0ad31e93311b9ed5.tar.gz
core-8d8d25f5ddbe42fc5a3647ff0ad31e93311b9ed5.zip
make FORCE_COMPILE_ALL more flexible than all or nothing
Rename it to FORCE_COMPILE and it takes the --enable-symbols specification of what to include, for example FORCE_COMPILE="all -sw/ -Library_sc". Change-Id: I92afd8e0abc75d3566285c197d6640c26c03db36 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122248 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Diffstat (limited to 'compilerplugins')
-rw-r--r--compilerplugins/README.md11
-rw-r--r--compilerplugins/clang/changetoolsgen.cxx4
-rw-r--r--compilerplugins/clang/constantparam.cxx2
-rw-r--r--compilerplugins/clang/constfields.cxx4
-rw-r--r--compilerplugins/clang/countusersofdefaultparams.cxx2
-rw-r--r--compilerplugins/clang/finalclasses.cxx2
-rw-r--r--compilerplugins/clang/inlinefields.cxx4
-rw-r--r--compilerplugins/clang/mergeclasses.cxx2
-rw-r--r--compilerplugins/clang/methodcycles.cxx2
-rw-r--r--compilerplugins/clang/singlevalfields.cxx2
-rw-r--r--compilerplugins/clang/store/paintmethodconversion.cxx2
-rw-r--r--compilerplugins/clang/unnecessaryvirtual.cxx4
-rw-r--r--compilerplugins/clang/unusedenumconstants.cxx2
-rw-r--r--compilerplugins/clang/unusedfields.cxx4
-rw-r--r--compilerplugins/clang/unusedmethods.cxx4
-rw-r--r--compilerplugins/clang/virtualdead.cxx4
-rw-r--r--compilerplugins/clang/virtualdown.cxx2
17 files changed, 31 insertions, 26 deletions
diff --git a/compilerplugins/README.md b/compilerplugins/README.md
index 9dbea95a56c7..8f8a51bd6f02 100644
--- a/compilerplugins/README.md
+++ b/compilerplugins/README.md
@@ -34,8 +34,13 @@ Rewriters analyse and possibly modify given source files.
Usage: `make COMPILER_PLUGIN_TOOL=<rewriter_name>`
Additional optional make arguments:
-- it is possible to also pass `FORCE_COMPILE_ALL=1` to make to trigger rebuild of all source files,
- even those that are up to date.
+- it is possible to also pass `FORCE_COMPILE=all` to make to trigger rebuild of all source files,
+ even those that are up to date. FORCE_COMPILE takes a list of gbuild targets specifying
+ where to run the rewriter ('all' means everything, '-' prepended means to not enable, '/' appended means
+ everything in the directory; there is no ordering, more specific overrides
+ more general, and disabling takes precedence).
+ Example: FORCE_COMPILE="all -sw/ -Library_sc"
+
- `UPDATE_FILES=<scope>` - limits which modified files will be actually written back with the changes
- `mainfile` - only the main `.cxx` file will be modified (default)
- `all` - all source files involved will be modified (possibly even header files from other LO modules),
@@ -54,7 +59,7 @@ all non-rewriter plugins; and all non--dual-mode plugins are disabled). The
typical process to use such a dual-mode rewriter X in rewriting mode is
make COMPILER_PLUGIN_WARNINGS_ONLY=X \
- && make COMPILER_PLUGIN_TOOL=X FORCE_COMPILE_ALL=1 UPDATE_FILES=all
+ && make COMPILER_PLUGIN_TOOL=X FORCE_COMPILE=all UPDATE_FILES=all
which first generates a full build without failing due to warnings from plugin
X in non-rewriting mode (in case of `--enable-werror`) and then repeats the build
diff --git a/compilerplugins/clang/changetoolsgen.cxx b/compilerplugins/clang/changetoolsgen.cxx
index b5eda7dbb826..a8e9faf74014 100644
--- a/compilerplugins/clang/changetoolsgen.cxx
+++ b/compilerplugins/clang/changetoolsgen.cxx
@@ -17,9 +17,9 @@
* Changes calls to tools::Rectangle/Point/Size methods that return a ref to instead call the setter methods.
*
* run as:
- * make COMPILER_PLUGIN_TOOL=changetoolsgen UPDATE_FILES=all FORCE_COMPILE_ALL=1
+ * make COMPILER_PLUGIN_TOOL=changetoolsgen UPDATE_FILES=all FORCE_COMPILE=all
* or
- * make <module> COMPILER_PLUGIN_TOOL=changetoolsgen FORCE_COMPILE_ALL=1
+ * make <module> COMPILER_PLUGIN_TOOL=changetoolsgen FORCE_COMPILE=all
*/
namespace
diff --git a/compilerplugins/clang/constantparam.cxx b/compilerplugins/clang/constantparam.cxx
index 7cebb1b67efb..b176309539a4 100644
--- a/compilerplugins/clang/constantparam.cxx
+++ b/compilerplugins/clang/constantparam.cxx
@@ -22,7 +22,7 @@
The process goes something like this:
$ make check
- $ make FORCE_COMPILE_ALL=1 COMPILER_PLUGIN_TOOL='constantparam' check
+ $ make FORCE_COMPILE=all COMPILER_PLUGIN_TOOL='constantparam' check
$ ./compilerplugins/clang/constantparam.py
TODO look for OUString and OString params and check for call-params that are always either "" or default constructed
diff --git a/compilerplugins/clang/constfields.cxx b/compilerplugins/clang/constfields.cxx
index 635774810717..1833fd056d6c 100644
--- a/compilerplugins/clang/constfields.cxx
+++ b/compilerplugins/clang/constfields.cxx
@@ -34,11 +34,11 @@ Look for fields that are only assigned to in the constructor using field-init, a
The process goes something like this:
$ make check
- $ make FORCE_COMPILE_ALL=1 COMPILER_PLUGIN_TOOL='constfields' check
+ $ make FORCE_COMPILE=all COMPILER_PLUGIN_TOOL='constfields' check
$ ./compilerplugins/clang/constfields.py
and then
- $ for dir in *; do make $dir FORCE_COMPILE_ALL=1 UPDATE_FILES=$dir COMPILER_PLUGIN_TOOL='constfieldsrewrite' $dir; done
+ $ for dir in *; do make $dir FORCE_COMPILE=all UPDATE_FILES=$dir COMPILER_PLUGIN_TOOL='constfieldsrewrite' $dir; done
to auto-remove the method declarations
*/
diff --git a/compilerplugins/clang/countusersofdefaultparams.cxx b/compilerplugins/clang/countusersofdefaultparams.cxx
index 0f689058197a..073c58e104f7 100644
--- a/compilerplugins/clang/countusersofdefaultparams.cxx
+++ b/compilerplugins/clang/countusersofdefaultparams.cxx
@@ -22,7 +22,7 @@
The process goes something like this:
$ make check
- $ make FORCE_COMPILE_ALL=1 COMPILER_PLUGIN_TOOL='countusersofdefaultparams' check
+ $ make FORCE_COMPILE=all COMPILER_PLUGIN_TOOL='countusersofdefaultparams' check
$ ./compilerplugins/clang/countusersofdefaultparams.py
*/
diff --git a/compilerplugins/clang/finalclasses.cxx b/compilerplugins/clang/finalclasses.cxx
index ff7b34925630..447e3406e5e6 100644
--- a/compilerplugins/clang/finalclasses.cxx
+++ b/compilerplugins/clang/finalclasses.cxx
@@ -26,7 +26,7 @@ some method calls
The process goes something like this:
$ make check
- $ make FORCE_COMPILE_ALL=1 COMPILER_PLUGIN_TOOL='finalclasses' check
+ $ make FORCE_COMPILE=all COMPILER_PLUGIN_TOOL='finalclasses' check
$ ./compilerplugins/clang/finalclasses.py
*/
diff --git a/compilerplugins/clang/inlinefields.cxx b/compilerplugins/clang/inlinefields.cxx
index abc665de6959..1573e8d5217b 100644
--- a/compilerplugins/clang/inlinefields.cxx
+++ b/compilerplugins/clang/inlinefields.cxx
@@ -28,11 +28,11 @@ Be warned that it produces around 5G of log file.
The process goes something like this:
$ make check
- $ make FORCE_COMPILE_ALL=1 COMPILER_PLUGIN_TOOL='inlinefields' check
+ $ make FORCE_COMPILE=all COMPILER_PLUGIN_TOOL='inlinefields' check
$ ./compilerplugins/clang/inlinefields.py
and then
- $ for dir in *; do make FORCE_COMPILE_ALL=1 UPDATE_FILES=$dir COMPILER_PLUGIN_TOOL='inlinefieldsremove' $dir; done
+ $ for dir in *; do make FORCE_COMPILE=all UPDATE_FILES=$dir COMPILER_PLUGIN_TOOL='inlinefieldsremove' $dir; done
to auto-remove the method declarations
Note that the actual process may involve a fair amount of undoing, hand editing, and general messing around
diff --git a/compilerplugins/clang/mergeclasses.cxx b/compilerplugins/clang/mergeclasses.cxx
index 0f0d73d709c2..017f66680ffb 100644
--- a/compilerplugins/clang/mergeclasses.cxx
+++ b/compilerplugins/clang/mergeclasses.cxx
@@ -32,7 +32,7 @@ Then
The process goes something like this:
$ make check
- $ make FORCE_COMPILE_ALL=1 COMPILER_PLUGIN_TOOL='mergeclasses' check
+ $ make FORCE_COMPILE=all COMPILER_PLUGIN_TOOL='mergeclasses' check
$ ./compilerplugins/clang/mergeclasses.py
FIXME exclude 'static-only' classes, which some people may use/have used instead of a namespace to tie together a bunch of functions
diff --git a/compilerplugins/clang/methodcycles.cxx b/compilerplugins/clang/methodcycles.cxx
index 7fd74b10d9ea..d495f425ba6b 100644
--- a/compilerplugins/clang/methodcycles.cxx
+++ b/compilerplugins/clang/methodcycles.cxx
@@ -35,7 +35,7 @@ Then we will post-process the log file with a python script, which takes about
The process goes something like this:
$ make check
- $ make FORCE_COMPILE_ALL=1 COMPILER_PLUGIN_TOOL='methodcycles' check
+ $ make FORCE_COMPILE=all COMPILER_PLUGIN_TOOL='methodcycles' check
$ ./compilerplugins/clang/methodcycles.py
Note that the actual process may involve a fair amount of undoing, hand editing, and general messing around
diff --git a/compilerplugins/clang/singlevalfields.cxx b/compilerplugins/clang/singlevalfields.cxx
index 228e7ddcb211..3f5b00a7c66b 100644
--- a/compilerplugins/clang/singlevalfields.cxx
+++ b/compilerplugins/clang/singlevalfields.cxx
@@ -32,7 +32,7 @@ Be warned that it produces around 5G of log file.
The process goes something like this:
$ make check
- $ make FORCE_COMPILE_ALL=1 COMPILER_PLUGIN_TOOL='singlevalfields' check
+ $ make FORCE_COMPILE=all COMPILER_PLUGIN_TOOL='singlevalfields' check
$ ./compilerplugins/clang/singlevalfields.py
Note that the actual process may involve a fair amount of undoing, hand editing, and general messing around
diff --git a/compilerplugins/clang/store/paintmethodconversion.cxx b/compilerplugins/clang/store/paintmethodconversion.cxx
index f8c63d4b98ce..7a394ae25382 100644
--- a/compilerplugins/clang/store/paintmethodconversion.cxx
+++ b/compilerplugins/clang/store/paintmethodconversion.cxx
@@ -16,7 +16,7 @@
/**
* Rewrites all Paint method on subclasses of vcl::Window to include RenderContext& as parameter.
*
- * run as: make COMPILER_PLUGIN_TOOL=paintmethodconversion UPDATE_FILES=all FORCE_COMPILE_ALL=1
+ * run as: make COMPILER_PLUGIN_TOOL=paintmethodconversion UPDATE_FILES=all FORCE_COMPILE=all
*/
namespace
diff --git a/compilerplugins/clang/unnecessaryvirtual.cxx b/compilerplugins/clang/unnecessaryvirtual.cxx
index 7556217f29ce..9f3a3eecf444 100644
--- a/compilerplugins/clang/unnecessaryvirtual.cxx
+++ b/compilerplugins/clang/unnecessaryvirtual.cxx
@@ -24,9 +24,9 @@ that no longer has a purpose.
The process goes something like this:
$ make check
- $ make FORCE_COMPILE_ALL=1 COMPILER_PLUGIN_TOOL='unnecessaryvirtual' check
+ $ make FORCE_COMPILE=all COMPILER_PLUGIN_TOOL='unnecessaryvirtual' check
$ ./compilerplugins/clang/unnecessaryvirtual.py
- $ for dir in *; do make FORCE_COMPILE_ALL=1 UPDATE_FILES=$dir COMPILER_PLUGIN_TOOL='removevirtuals' $dir; done
+ $ for dir in *; do make FORCE_COMPILE=all UPDATE_FILES=$dir COMPILER_PLUGIN_TOOL='removevirtuals' $dir; done
Note that the actual process may involve a fair amount of undoing, hand editing, and general messing around
to get it to work :-)
diff --git a/compilerplugins/clang/unusedenumconstants.cxx b/compilerplugins/clang/unusedenumconstants.cxx
index 4ae1f52f2713..0c56314af888 100644
--- a/compilerplugins/clang/unusedenumconstants.cxx
+++ b/compilerplugins/clang/unusedenumconstants.cxx
@@ -29,7 +29,7 @@ Be warned that it produces around 5G of log file.
The process goes something like this:
$ make check
- $ make FORCE_COMPILE_ALL=1 COMPILER_PLUGIN_TOOL='unusedenumconstants' check
+ $ make FORCE_COMPILE=all COMPILER_PLUGIN_TOOL='unusedenumconstants' check
$ ./compilerplugins/clang/unusedenumconstants.py
Note that the actual process may involve a fair amount of undoing, hand editing, and general messing around
diff --git a/compilerplugins/clang/unusedfields.cxx b/compilerplugins/clang/unusedfields.cxx
index 0c2bdbc77410..ca4dca108dd6 100644
--- a/compilerplugins/clang/unusedfields.cxx
+++ b/compilerplugins/clang/unusedfields.cxx
@@ -41,11 +41,11 @@ Be warned that it produces around 5G of log file.
The process goes something like this:
$ make check
- $ make FORCE_COMPILE_ALL=1 COMPILER_PLUGIN_TOOL='unusedfields' check
+ $ make FORCE_COMPILE=all COMPILER_PLUGIN_TOOL='unusedfields' check
$ ./compilerplugins/clang/unusedfields.py
and then
- $ for dir in *; do make FORCE_COMPILE_ALL=1 UPDATE_FILES=$dir COMPILER_PLUGIN_TOOL='unusedfieldsremove' $dir; done
+ $ for dir in *; do make FORCE_COMPILE=all UPDATE_FILES=$dir COMPILER_PLUGIN_TOOL='unusedfieldsremove' $dir; done
to auto-remove the method declarations
Note that the actual process may involve a fair amount of undoing, hand editing, and general messing around
diff --git a/compilerplugins/clang/unusedmethods.cxx b/compilerplugins/clang/unusedmethods.cxx
index 5d39020ad538..ccad7e3375d7 100644
--- a/compilerplugins/clang/unusedmethods.cxx
+++ b/compilerplugins/clang/unusedmethods.cxx
@@ -33,11 +33,11 @@ Be warned that it produces around 15G of log file.
The process goes something like this:
$ make check
- $ make FORCE_COMPILE_ALL=1 COMPILER_PLUGIN_TOOL='unusedmethods' check
+ $ make FORCE_COMPILE=all COMPILER_PLUGIN_TOOL='unusedmethods' check
$ ./compilerplugins/clang/unusedmethods.py
and then
- $ for dir in *; do make FORCE_COMPILE_ALL=1 UPDATE_FILES=$dir COMPILER_PLUGIN_TOOL='unusedmethodsremove' $dir; done
+ $ for dir in *; do make FORCE_COMPILE=all UPDATE_FILES=$dir COMPILER_PLUGIN_TOOL='unusedmethodsremove' $dir; done
to auto-remove the method declarations
Note that the actual process may involve a fair amount of undoing, hand editing, and general messing around
diff --git a/compilerplugins/clang/virtualdead.cxx b/compilerplugins/clang/virtualdead.cxx
index 210a3e2f778f..53df3533b537 100644
--- a/compilerplugins/clang/virtualdead.cxx
+++ b/compilerplugins/clang/virtualdead.cxx
@@ -24,9 +24,9 @@ Look for virtual methods where all of the overrides either
The process goes something like this:
$ make check
- $ make FORCE_COMPILE_ALL=1 COMPILER_PLUGIN_TOOL='VirtualDead' check
+ $ make FORCE_COMPILE=all COMPILER_PLUGIN_TOOL='VirtualDead' check
$ ./compilerplugins/clang/VirtualDead.py
- $ for dir in *; do make FORCE_COMPILE_ALL=1 UPDATE_FILES=$dir COMPILER_PLUGIN_TOOL='removevirtuals' $dir; done
+ $ for dir in *; do make FORCE_COMPILE=all UPDATE_FILES=$dir COMPILER_PLUGIN_TOOL='removevirtuals' $dir; done
Note that the actual process may involve a fair amount of undoing, hand editing, and general messing around
to get it to work :-)
diff --git a/compilerplugins/clang/virtualdown.cxx b/compilerplugins/clang/virtualdown.cxx
index ff5fc373a1dd..96984b19dcfd 100644
--- a/compilerplugins/clang/virtualdown.cxx
+++ b/compilerplugins/clang/virtualdown.cxx
@@ -20,7 +20,7 @@ methods, which indicates a places where the virtual-ness is unwarranted, normall
The process goes something like this:
$ make check
- $ make FORCE_COMPILE_ALL=1 COMPILER_PLUGIN_TOOL='VirtualDown' check
+ $ make FORCE_COMPILE=all COMPILER_PLUGIN_TOOL='VirtualDown' check
$ ./compilerplugins/clang/VirtualDown.py
@TODO for some reason, we get false+ for operator== methods