273 Commits

Author SHA1 Message Date
Peter Powell
cd67a0a6f9 Fix detection of the Apple variant of Clang.
This splitting of compiler names mirrors the change implemented by
other build systems like cmake.
2015-09-23 21:52:27 +01:00
Peter Powell
cf94052d8f Fix modules with 2+ files not having their LinkerFlags parsed. 2015-06-03 14:59:08 +01:00
Attila Molnar
8ceae7ec0f Increase entries in valgrind stack traces to 30 (--num-callers) 2015-05-19 23:31:02 +02:00
Peter Powell
01dee272ca Remove run-cc.pl and all associated code.
As far as I can tell this only worked with older versions of GCC
and there is no value in fixing it as diagnostics have improved
since then and it makes errors hard to search for anyway.

This also shaves off an average of five seconds on each build on
my hardware. Neat!
2015-05-13 15:22:44 +01:00
Peter Powell
4b3e466c80 unit-cc: Remove workaround which existed for 2.0.x only. 2015-05-13 15:22:44 +01:00
Peter Powell
953ca72cfe unit-cc: Use the same preamble as other Perl tools. 2015-05-13 15:22:44 +01:00
Peter Powell
70faab99c8 calcdep: Unify coremod and module building code. 2015-05-13 15:22:43 +01:00
Peter Powell
f02e766924 calcdep: Clean up some unused/duplicate variables. 2015-05-13 15:22:43 +01:00
Peter Powell
32b789eec1 calcdep: Use the same preamble as other Perl tools. 2015-05-13 15:22:43 +01:00
Peter Powell
45c048241d calcdep: Remove a workaround for a very old version of BSD Make. 2015-05-13 15:22:43 +01:00
Attila Molnar
8f5efbc7aa Merge insp20 2015-04-20 17:40:12 +02:00
Peter Powell
aae283e1dd Convert the build system to Perl 5.10.
Thanks to Kross for the heads up on "use feature".
2015-03-25 19:01:33 +00:00
Peter Powell
8cae3800ef Fix building when VERBOSE is already set in the environment.
This is a workaround for now. In 2.2 we should prefix all of the
environment variables with INSPIRCD_ to avoid collisions.
2015-03-09 15:26:40 +00:00
Peter Powell
cfff1874a8 Change server name in ./configure --help to use the alias.
Requested by @attilamolnar.
2015-03-06 16:37:52 +00:00
Peter Powell
88bfcabe02 Create installation directories with make install not configure.
This fixes system-wide installations requiring root in order to
create directories.
2015-03-06 16:13:11 +00:00
Peter Powell
ee3b1ba801 Fix oversight which caused problems with Clang on OSX. 2015-02-20 19:16:14 +00:00
Attila Molnar
2d97be1d32 Change all occurrences of Inspire to InspIRCd 2015-02-20 00:57:10 +01:00
Peter Powell
755c259b63 Remove a workaround for a compiler which is no longer supported. 2015-02-18 16:00:39 +00:00
Peter Powell
100048eb41 Add the <type_traits> header to the compiler test file. 2015-02-18 15:46:13 +00:00
Peter Powell
4e9af81504 Improve compiler detection in configure.
- 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.
2015-02-18 15:16:40 +00:00
Steven Van Acker
59ae74f80c Making init-script exit codes compliant with LSB 4.1 2015-02-05 19:01:35 +01:00
Attila Molnar
365e2b45f8 Disable RTTI in release builds (compile with -fno-rtti) 2015-01-22 12:19:01 +01:00
Peter Powell
bdaccea960 Fix some oversights from #895.
- 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.
2014-12-18 16:43:58 +00:00
Peter Powell
440f34023a Fix builds on OpenBSD spamming the console with warnings. 2014-12-07 22:36:43 +00:00
Peter Powell
7404ba8b66 Move common code to make::common from make::utilities.
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.
2014-12-07 22:36:43 +00:00
Peter Powell
541a66de7a Implement support for distribution specific version labels.
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.
2014-12-07 22:36:42 +00:00
Peter Powell
2adb94db30 Improve build system compiler detection.
- 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.
2014-12-07 22:36:42 +00:00
Peter Powell
133b110534 Improve configure cache file handling.
- 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.
2014-12-07 22:36:42 +00:00
Peter Powell
500a0524d9 Miscellaneous improvements to configure.
- 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.
2014-12-07 22:36:42 +00:00
Peter Powell
11f4d02e70 Add Perl module for console related code.
- Move prompt_* methods to this module.
- Add methods for printing errors and warnings easily.
- Add colour code helpers and switch all code to use them.
2014-12-07 22:36:42 +00:00
Dan Parsons
293c9c66b7 Updated inspircd init script template to make it chkconfig compatible.
Backported from master, PR #901
2014-11-12 22:44:57 +01:00
Attila Molnar
3a3ff94967 Merge insp20 2014-10-27 15:26:20 +01:00
Peter Powell
a49fd4cba6 Use gnutls_rnd instead of gcry_randomize on newer GnuTLS versions.
This is a modified version of 690c372. Fixes #905.
2014-10-25 02:57:51 +01:00
Peter Powell
d04979df09 Fix some small bugs in the makefile template.
- GCC in C++ mode should be called g++ not gcc.
- ICC in C++ mode should be called icpc not icc.
2014-10-24 23:34:41 +01:00
Peter Powell
6f65b7c6ca Add a workaround for compiling modules with Windows line endings. 2014-10-13 22:04:47 +01:00
Dan Parsons
84cfcdaf9e Updated inspircd init script template to make it chkconfig compatible. 2014-08-31 13:05:21 +02:00
Peter Powell
8258232b7b Fix unit-cc not loading configure cache when building files. 2014-08-27 22:01:54 +01:00
Peter Powell
4288b2a599 Add a work around for trampling over PKG_CONFIG_PATH.
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.
2014-08-19 15:27:19 +01:00
Attila Molnar
f62654a685 Merge insp20 2014-07-25 12:05:40 +02:00
Peter Powell
f78c1c277a Add man pages. 2014-06-28 18:09:06 +02:00
Peter Powell
644e445ba4 Add systemd service file. 2014-06-28 18:09:06 +02:00
Peter Powell
1cf1f1fba9 Fix various small problems with configure.
- Fix temporary files not being deleted after use.
- Fix the option for disabling rpath.
- Fix the help message:
  * Fix indentation of some help options.
  * Fix default paths not containing 'run'.
  * Remove documentation for --disable-ipv6 (exists but does nothing).
  * Remove documentation for --library-dir (does not exist).
- Fix some minor errors in messages.
2014-06-26 10:53:45 +01:00
Peter Powell
e3bcf95ee9 Prefix all definitions in config.h to avoid potential collisions. 2014-05-23 14:13:51 +02:00
Peter Powell
e6d245a3e8 Replace the configure templating system with something better.
A large amount of this code can be removed when buildtool is done
as we will not need to worry about the differences between BSD and
GNU Make.
2014-05-23 14:13:51 +02:00
Peter Powell
21487bc0ae Replace deprecated entry in launchd config with the modern equivalent. 2014-05-18 10:17:07 +01:00
Peter Powell
284925bed5 Backport questions from master's genssl tool. 2014-04-16 19:58:01 +01:00
Peter Powell
2803ae5d75 Remove various broken/useless features from the build system.
- Removed support for changing the build directory using configure.
  This can still be set using make BUILDPATH=foo.
- Removed support for SPLIT_CC builds. This is not documented
  anywhere and is quite useless as it doesn't work.
- Remove STARTSCRIPT from configure; always install the perl
  helper.
2014-04-11 15:38:17 +02:00
Attila Molnar
f71e6bf9cb Merge insp20 2014-04-07 13:40:51 +02:00
Attila Molnar
050c2cf253 Integrate coremods into the build system 2014-03-05 16:28:29 +01:00
Attila Molnar
1fa541b76f Merge pull request #784 from ShutterQuick/patch-1
Fix build problem on Solaris
2014-02-28 17:16:29 +01:00