NO_PER_THREAD_LOCALE has been replaced by HAVE__CONFIGTHREADLOCALE and
HAVE_USELOCALE.
Also remove HAVE_DECL__CONFIGTHREADLOCALE which was used only for
NO_PER_THREAD_LOCALE.
Allows fixing and cleaning up per-thread locale support in Manager and
libboinc.
locale.h and xlocale.h were checked for libboinc_graphics. Move
xlocale.h check to correct place and remove locale.h check. locale.h has
been part of C standard library since C89.
The support for per-thread locales cannot be reliably inferred from the
existence of different headers. Some systems declare uselocale() in
locale.h, others in xlocale.h and xlocale.h is no longer included in GNU
libc. Instead explicitly check for uselocale() and
_configthreadlocale().
Add uselocale() check result to Mac config.h so that the #ifdef mazes
can be simplified.
Also correct quoting in AC_CHECK_FUNCS and AC_CHECK_HEADERS calls.
Both Fedora and Debian have their own systemd units for boinc;
this is based on elements of both so we stop duplicating effort.
This also adds minimal confinement to protect the home directories.
Also added clean to init.d script and made it only install if a
init.d directory already exists.
Closes: #2255
When using --prefix this override tries to install files from client/scripts to /etc instead of ${prefix}/etc. This is against what the user wants and leads to an error message as normally only root can install files to /etc. There is no need to be backwards compatible in this place as installs are usually done via repository packages.
This still uses /etc to determine where the config file should be copied to which is ok because the user most likely wants to use the Client on the machine it was built on.
Note: The startup scripts and config files in client/scripts are outdated and might not work on recent Linux distributions. Newer ones can be found in the Debian/Fedora packages.
This was not working because the manager was not detecting its own executable name and path so it couldn't start a new instance of itself. Windows and Mac use different codepaths so it worked there.
The new library function can be extended for Windows and Mac to avoid code duplication.
Currently, execinfo.h is included in lib/diagnostics.cpp if __GLIBC__ is
defined. However, this does not work when cross-compiling boinc with
uclibc-ng. So, instead, check the presence of execinfo.h in configure.ac
and update lib/diagnostics.cpp accordingly.
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
WxWidgets switched to using -DNDEBUG to disable debugging in version 2.9.1 and enabling it by default. My previous change (530eb18) made the debug version the default and one had to disable the debugging for release builds. This is fixed now and the non-debug version is the default. Now WxWidgets debug assertions are switched on if --enable-debug is specified.
fixes#1476