summaryrefslogtreecommitdiff
path: root/make/configure.pm
AgeCommit message (Collapse)Author
2018-10-04Avoid using relative paths in make::configure.Peter Powell
2017-10-15Remove INSPIRCD_SOCKETENGINE_NAME and INSPIRCD_SYSTEM.Peter Powell
- INSPIRCD_SOCKETENGINE_NAME is not really something that needs to be user facing. If opers want to know this kind of internal info then they can look at the build configuration. - INSPIRCD_SYSTEM causes problems for reproducible builds and is only accurate for the state of the system when InspIRCd is built which is not useful in the slightest.
2017-09-21Move the init scripts out of the prefix into the new script dir.Peter Powell
The previous directory was okay for home directory installs but was problematic for system wide installs.
2017-07-24Remove support for building with BSD Make.Peter Powell
BSD users should install GNU Make to build InspIRCd.
2017-07-11Remove use of global barewords in most file handling code.Peter Powell
This is not considered good practise in modern Perl code. A few cases of this still remain in code which is due to be rewritten anyway.
2017-04-14Switch compiler detection to use a more reliable method.Peter Powell
Its clear that parsing version output is not reliable enough so switch to using a method which is less likely to break.
2017-03-25Extract core logic of write_configure_cache to write_config_file.Peter Powell
2017-03-25Rename read_configure_cache to read_config_file and move to common.Peter Powell
2016-12-26Don't suppress error output when INSPIRCD_VERBOSE is set.Peter Powell
2016-11-18Fix the distribution label not showing up since b8d85c6251.Peter Powell
2016-09-16Rewrite the build system directive parser.Peter Powell
2016-04-04Fix "use of uninitialized value $key in hash element" error.Peter Powell
2016-03-22Simplify the configure cache file format.Peter Powell
This prevents the need to implement escaping of values which was a bug in the previous format.
2016-03-22Move the configure cache to the .configure directory too.Peter Powell
2016-03-22Write generated templates to the .configure directory.Peter Powell
2016-03-22Fix a typo in parse_templates.Peter Powell
2015-09-23Fix detection of the Apple variant of Clang.Peter Powell
This splitting of compiler names mirrors the change implemented by other build systems like cmake.
2015-03-25Convert the build system to Perl 5.10.Peter Powell
Thanks to Kross for the heads up on "use feature".
2015-03-06Change server name in `./configure --help` to use the alias.Peter Powell
Requested by @attilamolnar.
2015-02-18Add the <type_traits> header to the compiler test file.Peter Powell
2015-02-18Improve compiler detection in configure.Peter Powell
- 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.
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-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-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.
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-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-07Replace arguments for toggling socketengines with --socketengine.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-06-06Start to replace MAXBUF with <limits:maxline>.Peter Powell
2013-06-01Remove unused code from configure.Peter Powell
2013-05-16Improve feature detection in configure.Peter Powell
2012-11-08Fix ModuleManager failing when:Peter Powell
- LWP::Simple is not installed. - Crypt::SSLeay or IO::Socket::SSL are not installed. This fixes #154.
2012-10-04Replace hardcoded paths with configurable onesChrisTX
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.
2012-04-20Headers: update remaining scripts tooRobby-
2012-04-12Minor style tweaks.Peter Powell
2012-04-12Remove references to old configure commands.Peter Powell
2012-04-09Remove outdated references to SVN.Peter Powell
2010-02-23Replace #define IPV6 with <config defaultbind="ipv6">, and autodetect if not ↵danieldg
specified git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12550 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-11...because every now and again, i have to do a massive commit.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-03Change cmd_*.so to use the Module object APIdanieldg
Create Module* objects for each command, and load them like modules. This unifies the external API for modules. Library directory is now deprecated: all modules are located in a single module directory. Header files for each command are no longer needed; remove. This also fixes two potential segfaults in m_spanningtree. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11668 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-01Enable IPv6 support by defaultdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11573 e03df62e-2008-0410-955e-edbf42e46eb7