64 Commits

Author SHA1 Message Date
Peter Powell
11f4d02e70 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.
2014-12-07 22:36:42 +00:00
Peter Powell
e6d245a3e8 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.
2014-05-23 14:13:51 +02:00
Peter Powell
2803ae5d75 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.
2014-04-11 15:38:17 +02:00
Peter Powell
3070548cee 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.
2013-08-18 11:41:43 +01:00
Peter Powell
b86fe63a3a 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).
2013-08-16 00:35:34 +01:00
Peter Powell
ff15b6d2ad Refactor duplicate test code into a run_test subroutine. 2013-08-04 17:48:49 +01:00
Peter Powell
b4ba01f542 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.
2013-07-29 03:33:46 +01:00
Peter Powell
bac02a2800 Replace arguments for toggling socketengines with --socketengine. 2013-07-07 21:02:47 +01:00
Peter Powell
77a08e490c Correctly detect the compiler version and whether it is acceptable. 2013-07-05 07:12:02 +01:00
Peter Powell
2677d12f20 Automatically detect the compiler which the user has installed. 2013-07-05 07:12:02 +01:00
Peter Powell
f52123b1ed Purge --with-cc in favour of the CXX environment variable. 2013-07-05 07:12:02 +01:00
Peter Powell
7dfcffd685 Start to replace MAXBUF with <limits:maxline>. 2013-06-06 00:41:06 +01:00
Peter Powell
d9c1809b26 Remove unused code from configure. 2013-06-01 20:33:13 +01:00
Peter Powell
a9ca786a6a Improve feature detection in configure. 2013-05-16 14:34:07 +01:00
Peter Powell
999ba802d6 Fix ModuleManager failing when:
- LWP::Simple is not installed.
- Crypt::SSLeay or IO::Socket::SSL are not installed.

This fixes #154.
2012-11-08 01:07:38 +01:00
ChrisTX
c2f7fc047c 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.
2012-10-04 15:14:04 +02:00
Robby-
5e8f135c6a Headers: update remaining scripts too 2012-04-20 18:33:52 +02:00
Peter Powell
4c3e9dc529 Minor style tweaks. 2012-04-12 07:38:20 +01:00
Peter Powell
fdd335625e Remove references to old configure commands. 2012-04-12 07:25:05 +01:00
Peter Powell
451e8befa7 Remove outdated references to SVN. 2012-04-09 14:10:05 +01:00
danieldg
03a1bf15b1 Replace #define IPV6 with <config defaultbind="ipv6">, and autodetect if not specified
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12550 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-23 18:45:26 +00:00
brain
cd712c40e1 ...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
2010-01-11 03:07:32 +00:00
danieldg
f4472dd6dc 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
2009-09-03 02:30:12 +00:00
danieldg
1819d0109b Enable IPv6 support by default
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11573 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-01 15:06:55 +00:00
danieldg
819147178d Strip SUPPORT_IP6LINKS #define
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11572 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-01 15:06:47 +00:00
psychon
8bedfebc17 Fix a really minor spelling error in make/configure.pm
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-28 20:16:38 +00:00
w00t
818a53e13a Track installed module versions, so we can do upgrades properly.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11489 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-04 21:49:35 +00:00
danieldg
021c8e984b Add daniel's third-party module repository
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11401 e03df62e-2008-0410-955e-edbf42e46eb7
2009-06-05 00:28:17 +00:00
psychon
b6dbd6caab Update all wiki links to point to the new wiki. This was done automatically 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-03-15 12:42:35 +00:00
peavey
ca571fc1bf fix typo
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10995 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-24 13:31:09 +00:00
w00t
28fbe77831 Allow for silencing getmodules() output (is annoying when using modulemanager)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10466 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-07 23:40:00 +00:00
w00t
2547339727 Make this work with older git, too (thanks danieldg)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10455 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-07 19:39:42 +00:00
w00t
330f1c8fe0 Use git describe rather than git-svn, it works better with secondary clones
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10454 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-07 19:34:04 +00:00
w00t
3de8d7eee4 Also redirect errors to /dev/null to avoid messy output on VCS that aren't installed/in use
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10434 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-07 14:38:55 +00:00
w00t
f66960886f Nicer fix for REVISION stuff when using git, thanks danieldg for the basis.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10433 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-07 14:38:55 +00:00
w00t
8424e1367b Add basic module manager, patch courtesy of danieldg.. still needs some work/review, but looks good
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10426 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-07 01:51:21 +00:00
brain
04b09e3b2c Extra configure detection for the gcc minor version (we took this out when 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-06-12 17:07:23 +00:00
brain
7d7250484c First phase of conversion to dynamic limits on all the lengths, configured 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-05-25 17:30:43 +00:00
brain
6a64a69fbc Fix this up a bit nicer
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9588 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-27 14:46:33 +00:00
peavey
b4c7be2458 remove references to maxclient we forgot here, thx Zaba for reporting.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9284 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-03 15:13:43 +00:00
brain
9a4067dac4 More fixes to configure stability with undefined values/closed filehandles
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8924 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-13 18:30:38 +00:00
brain
9e139f31b2 This should fix the error owine was getting in configure (THANKS strict) :P
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8923 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-13 18:28:48 +00:00
aquanight
39e6732f23 Some configure cleanups: like using perl functions/modules instead of 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-27 14:32:20 +00:00
aquanight
d13cd5ca80 Add ./configure --list-extras, --enable-extras, and --disable-extras
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8739 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-19 17:33:13 +00:00
brain
207af6fb2f Aquanight's configure strict/fatal warnings patch
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8731 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-17 21:36:02 +00:00
brain
4bd6bbfebc Add --disable-rpath. Probably wont backport this for the time being
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8475 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-03 18:09:26 +00:00
brain
cd9b790e48 Add $NoPedantic build macro, for m_mysql because mysql AB dont know how to code :p
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8325 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23 21:36:33 +00:00
brain
3895566b53 Add 'require 5.8.0' to the very top of every module to make the failure message when you run an ancient perl a bit more descriptive.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7820 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-25 10:36:20 +00:00
peavey
1ec51cea95 A bit of static lingering
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7549 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-24 16:17:16 +00:00
peavey
cf3d3a212c more headers.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7468 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-17 18:45:23 +00:00