summaryrefslogtreecommitdiff
path: root/make/configure.pm
AgeCommit message (Collapse)Author
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
2009-09-01Strip SUPPORT_IP6LINKS #definedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11572 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-28Fix a really minor spelling error in make/configure.pmpsychon
Thanks to Kuja aka Dessa for reporting this. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11544 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-04Track installed module versions, so we can do upgrades properly.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11489 e03df62e-2008-0410-955e-edbf42e46eb7
2009-06-05Add daniel's third-party module repositorydanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11401 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-15Update all wiki links to point to the new wiki. This was done automatically ↵psychon
with the following command, only .Makefile.inc got some indent fixups by hand. for file in $(find -type f -and -not -path '*/.svn/*' -and -not -name '*.so') ; do sed -e 's#http://www.inspircd.org/wiki#http://wiki.inspircd.org#' -e 's#http://wiki.inspircd.org/index.php/#http://wiki.inspircd.org/#' -i $file ; done git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11223 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-24fix typopeavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10995 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-07Allow for silencing getmodules() output (is annoying when using modulemanager)w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10466 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-07Make this work with older git, too (thanks danieldg)w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10455 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-07Use git describe rather than git-svn, it works better with secondary clonesw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10454 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-07Also redirect errors to /dev/null to avoid messy output on VCS that aren't ↵w00t
installed/in use git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10434 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-07Nicer fix for REVISION stuff when using git, thanks danieldg for the basis.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10433 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-07Add basic module manager, patch courtesy of danieldg.. still needs some ↵w00t
work/review, but looks good git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10426 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-12Extra configure detection for the gcc minor version (we took this out when ↵brain
we removed support for gcc < 3, but now we need it back for gcc 4.3 :p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9891 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-25First phase of conversion to dynamic limits on all the lengths, configured ↵brain
via the <limits> tag (the tag isnt there yet, these all just run on defaults in the class constructor) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9802 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-27Fix this up a bit nicerbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9588 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-03remove references to maxclient we forgot here, thx Zaba for reporting.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9284 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-13More fixes to configure stability with undefined values/closed filehandlesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8924 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-13This should fix the error owine was getting in configure (THANKS strict) :Pbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8923 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-27Some configure cleanups: like using perl functions/modules instead of ↵aquanight
system() (symlink, clear, mv, mkdir -p), clean up tmpfile for eval(), use \e instead of \033, and use a heredoc for the big banner on starting configure git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8761 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-19Add ./configure --list-extras, --enable-extras, and --disable-extrasaquanight
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8739 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-17Aquanight's configure strict/fatal warnings patchbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8731 e03df62e-2008-0410-955e-edbf42e46eb7