summaryrefslogtreecommitdiff
path: root/make
AgeCommit message (Collapse)Author
2015-01-22Disable RTTI in release builds (compile with -fno-rtti)Attila Molnar
2014-12-18Fix some oversights from #895.Peter Powell
- 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-07Fix builds on OpenBSD spamming the console with warnings.Peter Powell
2014-12-07Move common code to make::common from make::utilities.Peter Powell
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-07Implement support for distribution specific version labels.Peter Powell
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-07Improve build system compiler detection.Peter Powell
- 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-07Improve configure cache file handling.Peter Powell
- 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-07Miscellaneous improvements to configure.Peter Powell
- 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-07Add Perl module for console related code.Peter Powell
- 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-10-27Merge insp20Attila Molnar
2014-10-25Use gnutls_rnd instead of gcry_randomize on newer GnuTLS versions.Peter Powell
This is a modified version of 690c372. Fixes #905.
2014-10-24Fix some small bugs in the makefile template.Peter Powell
- GCC in C++ mode should be called g++ not gcc. - ICC in C++ mode should be called icpc not icc.
2014-10-13Add a workaround for compiling modules with Windows line endings.Peter Powell
2014-08-31Updated inspircd init script template to make it chkconfig compatible.Dan Parsons
2014-08-27Fix unit-cc not loading configure cache when building files.Peter Powell
2014-08-19Add a work around for trampling over PKG_CONFIG_PATH.Peter Powell
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-07-25Merge insp20Attila Molnar
2014-06-28Add man pages.Peter Powell
2014-06-28Add systemd service file.Peter Powell
2014-06-26Fix various small problems with configure.Peter Powell
- 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-05-23Prefix all definitions in config.h to avoid potential collisions.Peter Powell
2014-05-23Replace the configure templating system with something better.Peter Powell
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-18Replace deprecated entry in launchd config with the modern equivalent.Peter Powell
2014-04-16Backport questions from master's genssl tool.Peter Powell
2014-04-11Remove various broken/useless features from the build system.Peter Powell
- 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-07Merge insp20Attila Molnar
2014-03-05Integrate coremods into the build systemAttila Molnar
2014-02-28Merge pull request #784 from ShutterQuick/patch-1Attila Molnar
Fix build problem on Solaris
2014-02-27Fix build problem on SolarisShutterQuick
-rpath only takes one dash Fixes the Solaris build \o/ ''' <fraggeln> SaberUK: http://m.theo.nu/jenkins/job/InspIRCd-2.0/435/label=solaris/console <-- <fraggeln> do you have any clue on why? <@Shutter> Hmm. Where did that extra - come from. <fraggeln> Shutter: no idea :) [...] <fraggeln> Shutter: sub make_rpath($;$) <-- in make/utilities.pm <fraggeln> thats where that extra - is'''
2014-02-27Fix Solaris not being able to find modules without pkg-config.Peter Powell
2014-02-06Don't force a rebuild after doing a Git commit.Peter Powell
Thanks to w00t for pointing out the cause of this.
2013-12-16Add a tool for running test builds.Peter Powell
2013-11-18Use gnutls_rnd instead of gcry_randomize on newer GnuTLS versions.Peter Powell
Also, fix a bug where eval() caused compile errors.
2013-09-08Hide all symbols that aren't exported explicitlyattilamolnar
In addition to reducing the sizes of all binaries this also helps the optimizer
2013-08-18Clean up and move various subroutines.Peter Powell
- Fix indentation of get_compiler_info and clean up slightly. - Move module_installed to make::utilities. - Remove promptnumeric (unused). - Rename clean to cmd_clean and rewrite. - Rename dir_check to prompt_bool and rewrite. - Rename dumphash to dump_hash. - Rename getcache to read_configure_cache and rewrite. - Rename getrevision to get_revision. - Rename makecache to write_configure_cache and rewrite. - Rename promptstring_s to prompt_string and rewrite. - Rename showhelp to cmd_help and rewrite. - Rename update to cmd_update and rewrite. - Rename yesno to prompt_bool and rewrite. - Replace getmodules with a <src/modules/m_*.cpp> glob.
2013-08-16Clean up the build system properties and related code.Peter Powell
- 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).
2013-08-04Refactor duplicate test code into a run_test subroutine.Peter Powell
2013-08-04Change modules to use the MODNAME constant when logging.Peter Powell
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.
2013-07-29Remove a ton of duplicate and obsolete code from configure.Peter Powell
- 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.
2013-07-16Use the preprocessor to check for TCP deferring support.Peter Powell
2013-07-07Replace arguments for toggling socketengines with --socketengine.Peter Powell
2013-07-05Expose compiler name to make.Peter Powell
- Convert ICC detection to use new variable.
2013-07-05Rename configuration variable to CXX to match everything else.Peter Powell
2013-07-05Correctly detect the compiler version and whether it is acceptable.Peter Powell
2013-07-05Automatically detect the compiler which the user has installed.Peter Powell
2013-07-05Purge --with-cc in favour of the CXX environment variable.Peter Powell
2013-07-04Rename CXXFLAGS to CORECXXFLAGS to respect users enviroment.Peter Powell
2013-07-04Use CXX instead of CC.Peter Powell
CXX is the correct variable to use as CC is the C compiler.
2013-07-04Add IFNEQ Makefile template macro.Peter Powell
- Use template macro for ICC check. - Don't link against pthread on Darwin.
2013-07-04Remove 'make squeakyclean'.Peter Powell
This was a non-standard alias for make distclean.