aboutsummaryrefslogtreecommitdiff
path: root/make/configure.pm
Commit message (Expand)AuthorAgeFilesLines
* Remove INSPIRCD_SOCKETENGINE_NAME and INSPIRCD_SYSTEM.•••- 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. Gravatar Peter Powell2017-10-151-1/+0
* Move the init scripts out of the prefix into the new script dir.•••The previous directory was okay for home directory installs but was problematic for system wide installs. Gravatar Peter Powell2017-09-211-0/+3
* Remove support for building with BSD Make.•••BSD users should install GNU Make to build InspIRCd. Gravatar Peter Powell2017-07-241-85/+7
* Remove use of global barewords in most file handling code.•••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. Gravatar Peter Powell2017-07-111-9/+9
* Switch compiler detection to use a more reliable method.•••Its clear that parsing version output is not reliable enough so switch to using a method which is less likely to break. Gravatar Peter Powell2017-04-141-12/+8
* Extract core logic of write_configure_cache to write_config_file.Gravatar Peter Powell2017-03-251-6/+1
* Rename read_configure_cache to read_config_file and move to common.Gravatar Peter Powell2017-03-251-15/+2
* Don't suppress error output when INSPIRCD_VERBOSE is set.Gravatar Peter Powell2016-12-261-4/+5
* Fix the distribution label not showing up since b8d85c6251.Gravatar Peter Powell2016-11-181-2/+3
* Rewrite the build system directive parser.Gravatar Peter Powell2016-09-161-17/+0
* Fix "use of uninitialized value $key in hash element" error.Gravatar Peter Powell2016-04-041-1/+1
* Simplify the configure cache file format.•••This prevents the need to implement escaping of values which was a bug in the previous format. Gravatar Peter Powell2016-03-221-2/+2
* Move the configure cache to the .configure directory too.Gravatar Peter Powell2016-03-221-1/+6
* Write generated templates to the .configure directory.Gravatar Peter Powell2016-03-221-4/+14
* Fix a typo in parse_templates.Gravatar Peter Powell2016-03-221-1/+1
* Fix detection of the Apple variant of Clang.•••This splitting of compiler names mirrors the change implemented by other build systems like cmake. Gravatar Peter Powell2015-09-231-1/+3
* Convert the build system to Perl 5.10.•••Thanks to Kross for the heads up on "use feature". Gravatar Peter Powell2015-03-251-11/+12
* Change server name in `./configure --help` to use the alias.•••Requested by @attilamolnar. Gravatar Peter Powell2015-03-061-1/+1
* Add the <type_traits> header to the compiler test file.Gravatar Peter Powell2015-02-181-1/+1
* 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. Gravatar Peter Powell2015-02-181-7/+13
* 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. Gravatar Peter Powell2014-12-071-0/+1
* 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. Gravatar Peter Powell2014-12-071-8/+10
* 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. Gravatar Peter Powell2014-12-071-57/+41
* 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. Gravatar Peter Powell2014-12-071-12/+18
* 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. Gravatar Peter Powell2014-12-071-31/+26
* 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. Gravatar Peter Powell2014-12-071-11/+9
* 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. Gravatar Peter Powell2014-05-231-18/+195
* 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. Gravatar Peter Powell2014-04-111-1/+0
* Clean up and move various subroutines.•••- 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. Gravatar Peter Powell2013-08-181-171/+160
* Clean up the build system properties and related code.•••- 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). Gravatar Peter Powell2013-08-161-61/+16
* Refactor duplicate test code into a run_test subroutine.Gravatar Peter Powell2013-08-041-1/+8
* Remove a ton of duplicate and obsolete code from configure.•••- 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. Gravatar Peter Powell2013-07-291-53/+11
* Replace arguments for toggling socketengines with --socketengine.Gravatar Peter Powell2013-07-071-14/+15
* Correctly detect the compiler version and whether it is acceptable.Gravatar Peter Powell2013-07-051-3/+25
* Automatically detect the compiler which the user has installed.Gravatar Peter Powell2013-07-051-1/+11
* Purge --with-cc in favour of the CXX environment variable.Gravatar Peter Powell2013-07-051-2/+0
* Start to replace MAXBUF with <limits:maxline>.Gravatar Peter Powell2013-06-061-3/+0
* Remove unused code from configure.Gravatar Peter Powell2013-06-011-1/+0
* Improve feature detection in configure.Gravatar Peter Powell2013-05-161-1/+20
* Fix ModuleManager failing when:•••- LWP::Simple is not installed. - Crypt::SSLeay or IO::Socket::SSL are not installed. This fixes #154. Gravatar Peter Powell2012-11-081-1/+8
* Replace hardcoded paths with configurable ones•••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. Gravatar ChrisTX2012-10-041-0/+4
* Headers: update remaining scripts tooGravatar Robby-2012-04-201-8/+19
* Minor style tweaks.Gravatar Peter Powell2012-04-121-4/+5
* Remove references to old configure commands.Gravatar Peter Powell2012-04-121-5/+1
* Remove outdated references to SVN.Gravatar Peter Powell2012-04-091-21/+7
* Replace #define IPV6 with <config defaultbind="ipv6">, and autodetect if not ...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12550 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-02-231-1/+0
* ...because every now and again, i have to do a massive commit.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2010-01-111-1/+1
* Change cmd_*.so to use the Module object API•••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 Gravatar danieldg2009-09-031-1/+0
* Enable IPv6 support by default•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11573 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-011-4/+1
* Strip SUPPORT_IP6LINKS #define•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11572 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-011-1/+0