summaryrefslogtreecommitdiff
path: root/make
AgeCommit message (Collapse)Author
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-11-12Updated inspircd init script template to make it chkconfig compatible.Dan Parsons
Backported from master, PR #901
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.
2013-07-04Tidy up CXXFLAGS and LDFLAGS.Peter Powell
- 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.
2013-07-04Remove support for Interix and SunOS from the Makefile.Peter Powell
- SunOS was replaced with Solaris in 1992(!). - We have a native Windows port so Interix is not needed.
2013-07-04Remove detection of deprecated backticks which was added in 1.1b9.Peter Powell