With the inclusion of Qt targets within Scintilla, its become a bit more of a chore to ensure that there is no decay in the ability to build. There are also some differences in how the code builds for GTK+ versions 2.x and 3.x. On Windows there is scite/scripts/checkbuilds.bat although that is somewhat difficult for others to use - it has to swap between different versions of the same compiler so is tied to how those compilers are installed on my machines.
For Linux, there is a new script scite/scripts/checkbuildlinux.sh which will build for GTK+ 2 and 3 and Qt. Qt is built with gcc and for GTK+, Scintilla and SciTE are built with both gcc and clang. For GTK+ 2, clang's static analyzer may also be run although that is commented out currently as there are some warnings from the Lua code in SciTE and the static analyzer is run as if it is a compiler so there are errors at link time.
Quite often when developing, I'll run checkbuilds.bat to ensure everything still builds - if there are any errors or warnings in the output then something has changed for the worse. This will now be possible on Linux but that requires there be 0 warnings. For PySide and when running clang there were a few warnings which have now been disabled.
For PySide, the warnings occurred in PySide generated code and in PySide headers included by that code. There is no Scintilla code earlier in which to add warning suppressions. Therefore, I changed scintilla/qt/ScintillaEditPy/ScintillaEditPy.pro to add -Wno-unused-parameter -Wno-empty-body to all compiles on non-Mac Unix. Perhaps the Qt users may know of a better way to achieve this.
For clang, most distributions provide version 3.0 which produces a false positive about missing sentinel values in calls when NULL is used as the sentinel. There is now a clang only warning suppression for this in scintilla/gtk/PlatGTK.cxx, scintilla/gtk/ScintillaGTK.cxx and scite/gtk/SciTEGTK.cxx. This is no longer needed on OS X which installs a newer version of clang and will not be needed once Linux distributions upgrade to clang 3.1.
On Windows there are two sets of unit tests, some lower level tests written in C++ using Google Test and some tests using the public Scintilla API written in Python. Both these are run by checkbuilds.bat. The C++ tests (in scintilla/test/unit) worked on Linux at one stage but Google Test has become harder to install - it used to just be a simple apt-get. If anyone is interested in this issue, it would help to find a simple procedure to allow installing Google Test and running the tests within checkbuildlinux.sh.
It would also be great to be able to run API tests using Python on Linux. While the Scintilla interface layer in scintilla/test/XiteWin.py is highly Windows-specific, now that the Qt PySide binding is distributed with Scintilla, it should be possible to build a similar test application with PySide and then reuse the tests in the scintilla/test directory. Anyone sick of coping with regressions should find this a worthwhile project.
There is no check script on OS X yet so that is another area people may want to work on. I don't know if its possible to run all Apple's tools from the command line.
Neil