221 Commits

Author SHA1 Message Date
Peter Powell
1f63279777 Don't force a rebuild after doing a Git commit.
Thanks to w00t for pointing out the cause of this.
2014-02-06 18:27:08 +00:00
Peter Powell
b28bf791c2 Add a tool for running test builds. 2013-12-16 04:14:42 +00:00
Peter Powell
690c372f6e Use gnutls_rnd instead of gcry_randomize on newer GnuTLS versions.
Also, fix a bug where eval() caused compile errors.
2013-11-18 15:58:28 +00:00
attilamolnar
ba7431b4fd Hide all symbols that aren't exported explicitly
In addition to reducing the sizes of all binaries this also helps the optimizer
2013-09-08 17:21:37 +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
abc57eddfb Change modules to use the MODNAME constant when logging.
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-08-04 13:32:51 +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
22f013a06f Use the preprocessor to check for TCP deferring support. 2013-07-16 21:48:53 +01:00
Peter Powell
bac02a2800 Replace arguments for toggling socketengines with --socketengine. 2013-07-07 21:02:47 +01:00
Peter Powell
1b475afbe5 Expose compiler name to make.
- Convert ICC detection to use new variable.
2013-07-05 07:12:02 +01:00
Peter Powell
90a068af71 Rename configuration variable to CXX to match everything else. 2013-07-05 07:12:02 +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
240f34086a Rename CXXFLAGS to CORECXXFLAGS to respect users enviroment. 2013-07-04 17:55:23 +01:00
Peter Powell
8aff5d15d3 Use CXX instead of CC.
CXX is the correct variable to use as CC is the C compiler.
2013-07-04 17:51:33 +01:00
Peter Powell
0b4a12dc5f Add IFNEQ Makefile template macro.
- Use template macro for ICC check.
- Don't link against pthread on Darwin.
2013-07-04 17:51:33 +01:00
Peter Powell
b37dfc9341 Remove 'make squeakyclean'.
This was a non-standard alias for make distclean.
2013-07-04 17:51:33 +01:00
Peter Powell
450e94945e Tidy up CXXFLAGS and LDFLAGS.
- 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-04 17:51:33 +01:00
Peter Powell
414d9f0b30 Remove support for Interix and SunOS from the Makefile.
- SunOS was replaced with Solaris in 1992(!).
- We have a native Windows port so Interix is not needed.
2013-07-04 17:51:33 +01:00
Peter Powell
8283b56440 Remove detection of deprecated backticks which was added in 1.1b9. 2013-07-04 15:51:10 +01:00
Daniel Vassdal
68462dad3f Made the launch script aware of --runasroot, so it does not drop privs if this is specified. 2013-06-28 12:50:09 +02:00
Peter Powell
7dfcffd685 Start to replace MAXBUF with <limits:maxline>. 2013-06-06 00:41:06 +01:00
attilamolnar
d9d99cd02d Merge insp20 2013-06-06 01:07:22 +02:00
Daniel Vassdal
263c2efd96 Added option for using TCP_DEFER_ACCEPT. Prevents the connection from being handed over to the daemon before data is ready from the client. 2013-06-03 18:45:46 +02:00
Peter Powell
d9c1809b26 Remove unused code from configure. 2013-06-01 20:33:13 +01:00
Peter Powell
f393534da7 Fix kqueue test on non-Apple BSDs. 2013-05-16 15:10:26 +01:00
Peter Powell
a9ca786a6a Improve feature detection in configure. 2013-05-16 14:34:07 +01:00
Peter Powell
63c1695d77 Fix a few minor issues with make distclean.
- Only remove the base directory for in-source installs.
- Use full paths to the source directory.
- Update the help message to be more accurate.
2013-04-27 23:09:20 +01:00
Peter Powell
362f3009ac Merge inspircd_{config,version}.h into a single header file. 2013-04-05 16:39:40 +01:00
Peter Powell
448c50fa4d Extract SSL generation to a tool which can be shipped by distros. 2013-04-02 16:34:28 +01:00
Peter Powell
5f6372b2f0 Reorganise configuration files:
- Example config files now end with .conf.example.
- Example text files now end with .txt.example.
- Removed 'inspircd' from the name of multiple example files.
- Added missing oper motd example file.
2013-03-02 15:50:09 +00:00
Peter Powell
0e56edffa3 Use GNU install on Solaris. 2013-01-27 16:54:22 +01:00
Peter Powell
a0eeadff23 Replace a GNUmake idiom with the portable equivalent. 2012-12-25 18:39:04 +01:00
Peter Powell
092f9d7ec1 Fix property list arguments. 2012-12-21 01:47:12 +01:00
Peter Powell
0a0aa94537 Fix #380 on BSD make. 2012-12-07 18:38:34 +01:00
Peter Powell
c468e9b368 Fix invalid argument warnings on clang. 2012-12-07 03:32:50 +00:00
Peter Powell
66652af628 Fix the list of files to be removed by make. 2012-12-02 17:58:13 +00:00
Peter Powell
56cde817e0 Fix GnuTLS certificate generation on OS X. 2012-11-28 17:10:22 +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
Adam
a1f823fdab Fix c2f7fc047c2e5bbb899c820590ce07fee593b28f 2012-10-06 18:25:58 -04: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
Adam
6735f2da27 Fixed Windows build, int32_t is already defined in stdint.h.
Add GnuTLS support for Windows.
Made NSIS script include extra DLL files if supplied and
include the conf/aliases and conf/modules example configuration files.
Added make_gnutls_cert.bat to generate GnuTLS certificates on Windows.
Fixed typo in gnutlscert.pm.
2012-07-09 01:53:07 -04:00
Peter Powell
a528d8ddb0 Install example alias and module configuration files as well. 2012-06-12 18:53:50 +01:00
attilamolnar
79fd90ebe0 Fix build on Debian GNU/Hurd platforms, thanks to Jonathan Wiltshire <jmw@debian.org> for the patch
Fixes issue #98 reported by @guikcd
2012-06-12 22:49:28 -07:00
Peter Powell
f4e2332421 Update 'make install' to inform the user about the example config files. 2012-05-04 20:54:30 +01:00
Peter Powell
d219516b43 Install example configuration files into their own directory. 2012-05-01 14:10:35 +01:00
Robby-
5e8f135c6a Headers: update remaining scripts too 2012-04-20 18:33:52 +02:00