Requested by @attilamolnar.
This fixes system-wide installations requiring root in order to create directories.
- Split the detection and compatibility checks into two different steps (previously it was confusing as it would say the compiler was not available when it was really not compatible). - Fix a minor bug where compilers detected using xcrun on Darwin would not have xcrun returned as part of the compiler name from find_compiler.
This is specified in RFC 1459 so we should probably use it.
- Always write the configure cache file as it is needed for updating the makefile when --update is called. - List the modules which have been enabled in the "configuration complete" message. - Silence some harmless warnings about installing PEM files which don't exist.
The other code in that file will be removed very soon so it has been left alone to avoid merge conflicts. This will help prevent insp20 merge conflicts in the future.
This will help us determine whether a version has been packaged by a downstream distribution who quite often make arbitrary changes which are a pain to provide support for. Debian, we're looking at you.
- Check the CXX environment variable inside find_compiler instead of doing it separately. - Use a test file instead of checking for version output. This ensures we are using a working compiler. - Pipe the output through run_test which makes debugging problems considerably easier. - Detect Xcode versions of Clang properly by returning the LLVM version number instead of the Xcode one.
- Add a version number to the configure cache file. - Disable configure cache file in non-interactive mode. - Rename configure cache file to .configure.cache to avoid 2.0 files. - Use run_test to produce the "reading .configure.cache" message.
- Clean up various minor sections of the code. - Remove OpenSSL and GnuTLS detection plumbing. - This will soon be the job of modulemanager. - This did not work in non-interactive mode unlike --enable-extras. - Rework runas user handling. - Add the --gid configure option. - Accept either an id or a name in --gid and --uid. - Rework the question flow in interactive mode. - User is no longer asked detailed questions unless they want them. - Socket engine questions have been removed. - Automatically enable non-interactive mode if STDIN or STDOUT are not a tty.
- m_watch: wl has already been confirmed to not be NULL on L161.
This was backported from commit e01df63 in master.
The trick we use to allow this is undefined behaviour and is not liked by LLVM. We should stop using it but it has the potential to break to many things for a minor release.
- warning: absolute value function 'abs' given an argument of type 'long' but has parameter of type 'int' which may cause truncation of value [-Wabsolute-value] - warning: 'this' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true [-Wundefined-bool-conversion]
The extend_pkg_path method will be removed in 2.2 as it causes problems with non-standard pkg-config paths. This commit adds a workaround until that happens.