- Deduplicate getcompilerflags, getdependancies, getlinkerflags.
- Remove $NoPedantic (add -Wno-pedantic to $CompileFlags instead).
- Remove --enable-freebsd-ports-openssl and all related code (this
will be replaced with --no-pkg-config=[name] in the future).
- Remove some unused build system properties.
- Remove support for caching third party include and library paths
(can cause unexpected problems when they change).
The majority of modules were logging with their module name as the
log type. There was a few places which were logging to a non-name
type but, with the exception of CONFIG, those messages are so
uncommon that it doesn't make sense to use a seperate type for
them.
- Add the data and log paths to dumphash.
- Always exit with EXIT_FAILURE on error.
- Always replace the old config.h with our new one.
- Clean up the ./configure --help message slightly.
- Install dhparams.pem into the conf directory on GnuTLS as well as
OpenSSL.
- Only show the users InspIRCd Git revision when building from Git.
- Remove a check for MinGW (we have proper Windows builds).
- Remove a check for FreeBSD 4 (released in 2000).
- Remove a ton of pointless tab-indented comments.
- Remove a ton of duplicate or unused variables.
- Remove the check for stdint.h (always available on TR1 compilers).
- Remove the $writeheader argument from writefiles (always 1).
- Remove the following %config options:
- DESTINATION (not used, always set to BASE).
- EXECUTABLE (always set to inspircd).
- OSNAME (duplicate of SYSTEM).
- Remove support for checking whether -extra modules are up to
date (if the user is installing they won't have any -extra
modules installed).
- Remove SSL generation messages (genssl provides these).
- Replace inappropriate uses of printf with print.
- Replace is_dir with -d from the Perl stdlib.
- Replace resolve_directory with rel2abs from the Perl stdlib.
- Rewrite getrevision to be more compact, cache the revision and
return 'release' on non-Git builds.
- Use consistent messages for all tests.
- Use tput to clear the screen in a portable way.
- Add -Iinclude at declaration instead of doing it later on.
- Add -Wextra -Wfatal-errors and -Wno-unused-parameter.
- Enable -Wall and -Wshadow on ICC.
- Remove -DPIC (useless).
- Remove empty declaration of LDFLAGS.
- Remove unneeded CXXFLAGS on Darwin.
- Example config files now end with .conf.example.
- Example text files now end with .txt.example.
- Removed 'inspircd' from the name of multiple example files.
- Added missing oper motd example file.
This patchset aims to ease the packaging of InspIRCd for a system-wide installation scenario.
Changes in detail:
configure: Add the options --log-path and --data-path
m_ssl_gnutls, openssl: Change the hardcoded "conf/" to the existent CONFIG_PATH macro
m_xline_db: Make the location of xline.db configurable. It will use --data-path as default value, but this can be
changed using the configuration files.
Add GnuTLS support for Windows.
Made NSIS script include extra DLL files if supplied and
include the conf/aliases and conf/modules example configuration files.
Added make_gnutls_cert.bat to generate GnuTLS certificates on Windows.
Fixed typo in gnutlscert.pm.