0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-01 03:18:54 +01:00
Commit graph

540 commits

Author SHA1 Message Date
Jason Volk
16ff51fbaa configure: Check for sys/mman.h header. 2019-04-03 15:51:42 -07:00
Jason Volk
b42876c835 configure: Check for sys/ioctl.h 2019-04-03 15:51:42 -07:00
Jason Volk
9b54f4e4a2 configure: Check for linux/perf_event.h et al. 2019-03-31 17:04:02 -07:00
Jason Volk
9e61cf7bc0 ircd::info: Query cpuid features on init. 2019-03-31 17:04:02 -07:00
Jason Volk
9c624c7738 configure: Check for ifaddrs.h header. 2019-03-25 12:55:13 -07:00
Jason Volk
f098848386 configure: Fix HAVE_IPV6 enableval / conditional. 2019-03-24 16:35:45 -07:00
Jason Volk
712409218e ircd::ctx: Manipulate uncaught exception count on context switch. 2019-03-22 21:06:28 -07:00
Jason Volk
3480819ab5 configure: Add conditional for --enable-lowmem-compile. 2019-03-22 17:46:21 -07:00
Jason Volk
4ae283b9c6 configure: Add more type and size checks. 2019-03-21 16:46:04 -07:00
Jason Volk
90da2cb24a configure: Add --always to git-describe invocations to fix empty version string. 2019-03-17 15:42:07 -07:00
Jason Volk
ede2439a55 ircd: Add support for configurable soft-assertions. 2019-03-15 16:19:05 -07:00
Jason Volk
87144cef77 ircd::fs: Support various RWF flags for operations; also preadv2(). 2019-03-14 12:45:00 -07:00
Jason Volk
02435c3672 ircd::fs: Support pwritev2(2). 2019-03-13 19:38:50 -07:00
Jason Volk
71560eafd1 ircd::openssl: Include TLS1 header; start an SNI suite; minor reorg. 2019-03-13 13:11:53 -07:00
Jason Volk
c39d33ae36 configure: Enable gdwarf-4; add -fvar-tracking-assignments in non-optimized mode. 2019-03-10 19:28:53 -07:00
Jason Volk
cd5903960d configure: Add and include std <filesystem> header. 2019-03-02 11:40:12 -08:00
Jason Volk
a600a28095 configure: Check for <memory_resource> availability. 2019-02-28 10:24:43 -08:00
Jason Volk
3f85eb761a ircd::openssl: Include the openssl/asn1.h header. 2019-02-26 18:56:29 -08:00
Jason Volk
cb20e86223 configure: Update the SD-6 check; remove old GCC5/6 workarounds. 2019-02-25 18:00:39 -08:00
Jason Volk
066a4b4a2c tools/m4: Add boost-context and boost-coroutine macros. 2019-02-19 13:25:32 -08:00
Jason Volk
fc0d91cf04 configure: Add various missing --with options for third-party deps. 2019-02-19 13:25:32 -08:00
Jason Volk
4827405a6b configure: Add proper --with suite for SSL related. 2019-02-19 13:25:32 -08:00
Jason Volk
d33b3911b1 configure: Check for openssl-1.0/ directory before openssl/. 2019-02-18 16:09:32 -08:00
Jason Volk
2935d35f7d configure: Invocations of RB_CHK_SYSHEADER are no-op after first success. 2019-02-18 16:09:32 -08:00
Jason Volk
e8f8008ea9 ircd::openssl: Use variable includes; add openssl/hmac.h header check. 2019-02-18 15:27:50 -08:00
Jason Volk
1a2bfc1535 configure: Verify better symbol in libcrypto.so. 2019-02-18 13:42:38 -08:00
Jason Volk
0c39f5d219 configure: Treat -Wreturn-type as an error. 2019-02-16 12:33:30 -08:00
Jason Volk
eb1e510720 ircd::fs: Include <sys/sysmacros.h> if available. 2019-02-15 18:48:59 -08:00
Jason Volk
4f721f48e5 Eliminate friend-injection. 2019-02-15 18:48:59 -08:00
Jason Volk
e71157b3aa configure: Simplify output string related for some conditions. 2019-01-22 13:24:35 -08:00
Jason Volk
74612e9474 configure: Add --enable-lto for explicit toggle of -flto. 2019-01-22 13:21:11 -08:00
Jason Volk
706563195e configure: Remove redundant -march flag. 2019-01-22 12:23:13 -08:00
Danilo Spinella
b791511a10 Respect user defined value of datadir 2019-01-20 18:06:57 +01:00
Jason Volk
0dd6abf9ca ircd: Options package in preparation for lto. 2019-01-18 14:54:04 -08:00
Jason Volk
790c05b3fd configure: Check for sys/auxv.h. 2019-01-17 11:21:57 -08:00
Jason Volk
f382e2641d configure: Check for sys/inotify.h for linux platforms. 2019-01-05 17:54:03 -08:00
Jason Volk
d3bdae9703 configure: Check for statfs and linux magic headers. 2019-01-01 16:29:11 -08:00
Jason Volk
f5bc9721d8 configure: Tweak debug/optimization cxxflags related. 2018-12-30 14:56:56 -08:00
Jason Volk
df259c237f configure: Build boost in release mode for our debug builds. 2018-12-28 15:47:49 -08:00
Jason Volk
9bdb7410d2 configure: Move boost deprecation warning suppression to asio.h. 2018-12-28 14:35:10 -08:00
Jason Volk
ddbd25c653 configure: Emut additional GNU specific debugging sections. 2018-12-23 16:10:17 -08:00
Jason Volk
51ccd61edb configure: Allow a cxxflags to booststrap; use std=gnu++17 in b2 cxxflags. 2018-12-21 17:57:10 -08:00
Jason Volk
7350cc6864 configure: Emit a quoted character for RB_OPTIMIZE_LEVEL for -Og. 2018-12-21 17:57:10 -08:00
Jason Volk
f5b431005d deps: Upgrade RocksDB. 2018-12-10 11:29:38 -08:00
Jason Volk
7de495c1c7 configure: Support checking for jemalloc. 2018-11-29 13:46:45 -08:00
Jason Volk
d35dad46c2 configure: Add EXTRA_LIBS rather than modifying LIBS here. 2018-11-29 13:46:45 -08:00
Jason Volk
19ef3cfb67 ircd::fpe: Condition experimental asynchronous exception use. 2018-11-12 18:55:00 -08:00
Jason Volk
451dbe5def configure: Fix HAVE_IPV6 being defined to 0 from non-supporting configurations. 2018-11-12 18:47:27 -08:00
Jason Volk
24b41daf30 configure: Add -frecord-gcc-switches for instrumentation. 2018-11-12 18:25:45 -08:00
Jason Volk
47732a0075 ircd::fpe: Add experimental exception-throwing SIGFPE w/ -fnon-call-exceptions. 2018-11-11 20:00:11 -08:00
Jason Volk
6967ad1faa ircd::fpe: Add floating point environment suite; error scoping device. 2018-11-11 18:28:28 -08:00
Jason Volk
868bfc83fa configure: Undef IRCD_USE_AIO when AIO is disabled. 2018-11-03 06:20:27 -07:00
Jason Volk
49bad9f01d ircd::db: Check for posix_fadvise(); implement InvalidateCache for environment if not direct IO. 2018-11-02 01:30:15 -07:00
Jason Volk
4c95b39ce5 configure: Add missing sys/stat.h sys/statvfs.h header checks. 2018-10-18 09:28:01 -07:00
Jason Volk
a24270d2bb deps: RocksDB to v5.15.10. 2018-10-15 22:31:29 -07:00
Jason Volk
7bb8e9d5b6 configure: Add missing -g flag. 2018-09-18 19:13:14 -07:00
Jason Volk
a9082eb03a Move m4 to tools/m4. 2018-09-17 18:52:26 -07:00
Jason Volk
84a09918b2 configure: Fix installation layout defines. 2018-09-13 23:12:07 -07:00
Jason Volk
8900c7d95e Add datadir (share) configure, Makefile and ircd::fs related. 2018-09-13 22:02:52 -07:00
Jason Volk
fad454f3b1 deps: Upgrade RocksDB to v5.14.3. 2018-09-13 02:40:23 -07:00
Jason Volk
dcc18c693d construct 1.0-dev
This -- is The Construct.
2018-09-05 23:33:43 -07:00
Jason Volk
f7bb1f9360 ircd::info: Fix some informational timestamps. 2018-09-05 23:32:52 -07:00
Jason Volk
79364ef610 doc: Remove old docs. 2018-09-04 04:52:08 -07:00
Jason Volk
755cfbffb0 tools: Remove old tools. 2018-09-04 04:52:08 -07:00
Jason Volk
c980ce464f configure: Rework the SSL support sections. 2018-09-03 03:05:09 -07:00
Jason Volk
be5778d9bb configure.ac: Default to shared third-party lib builds. 2018-08-25 14:30:55 -07:00
Jason Volk
8fb580aaf5 configure/ircd: Overhaul install system directory related. 2018-08-12 16:30:51 -07:00
Jason Volk
e388d28585 configure: Add exemplary app-specific withval for maximum length of mxid. 2018-08-12 10:16:00 -07:00
Jason Volk
d77c3429db configure: Remove old cruft. 2018-08-12 10:00:07 -07:00
Jason Volk
406f79ef7d configure: Toward consistent formatting. 2018-08-12 09:54:44 -07:00
Jason Volk
7404aa0581 configure: Add check for sodium header. 2018-07-30 15:07:35 -07:00
Jason Volk
b0afbbb25e configure.ac: Fix formatting. 2018-07-05 23:55:27 -07:00
Jason Volk
2d8c06ea82 configure: Option for generic compilation. 2018-07-05 23:55:27 -07:00
Jason Volk
cc4bc23a22 configure/tools: Derive number of make jobs for buildjs.sh. 2018-07-03 14:35:10 -07:00
Jason Volk
c4c155e003 configure: Check for iosfwd header. 2018-07-01 14:10:07 -07:00
Jason Volk
4f819e9c2a configure: Move some third-party checks so they fail earlier. 2018-06-14 20:58:56 -06:00
Jason Volk
ae5caa4871 configure: Fail on missing libmagic. 2018-06-14 20:56:25 -06:00
Jason Volk
67d912d16d configure: Add a specific GCC test to guarantee user exported CXX=g++6 2018-06-14 20:44:20 -06:00
Jason Volk
7dd23cd4f0 configure.ac: Check for the existence of malloc.h 2018-06-09 13:31:22 -07:00
Jason Volk
7c841e6bdb configure/Makefile: Add formal support for libsnappy. 2018-06-04 14:48:04 -07:00
Jason Volk
9764679804 configure: Add -Wodr. 2018-06-03 10:32:37 -07:00
Jason Volk
2b654d13c5 configure: Reorg various third-party sections; add lz4 support. 2018-06-03 08:35:44 -07:00
Jason Volk
7f93f3ea2c configure: Move platform related below RB_DEFINE macros; add defines. 2018-06-02 11:10:08 -07:00
Jason Volk
416dc9a679 configure.ac: Add -pthread cxxflag to all units. 2018-06-01 05:27:56 -07:00
Jason Volk
1f92aee9dd configure.ac: Add custom optimization level ac_arg_with. 2018-05-28 02:58:13 -07:00
Jason Volk
102431a432 configure.ac: Use -Og as non-optimized default. 2018-05-22 17:08:33 -07:00
Jason Volk
02fde9e09f configure.ac: Remove defines of values when zero. 2018-05-22 16:37:15 -07:00
Jason Volk
eda5822700 Move boost coroutine deprecation suppression define to configure.ac from Makefile.am. 2018-05-22 16:31:30 -07:00
Jason Volk
e5bec58152 configure.ac: Minor cleanup / remove extra result. 2018-05-21 16:59:28 -07:00
Jason Volk
a2b80db1ad configure.ac/ircd: Add granular configure-time log level control. 2018-05-21 16:59:28 -07:00
Jason Volk
4bd78e78b4 configure.ac: Improve some output message wording. 2018-05-19 18:49:06 -07:00
Jason Volk
73126e96d7 configure.ac: Add missing result messages; fix debug mode variable. 2018-05-19 18:49:06 -07:00
Jason Volk
7854dc51c1 configure.ac: Add more granular switches for --enable-assert and --enable-optimize. 2018-05-19 18:49:06 -07:00
Jason Volk
1268d90fb0 ircd::db: RocksDB to 5.12.2. 2018-04-09 15:57:05 -07:00
Jason Volk
c54e7f5afe configure.ac: Gather more information from git during configure. 2018-04-02 16:50:51 -07:00
Jason Volk
065370c38a configure.ac: parameter package. 2018-03-24 03:19:16 -07:00
Jason Volk
797142f710 construct: Rename directory. 2018-02-22 14:30:11 -08:00
Jason Volk
587cd4b931 configure.ac: Remove AC_PROG_CXX automatic -g -O2; AC_PROG_CC; CFLAGS; cleanup. 2018-02-18 01:12:09 -08:00
Jason Volk
41e6909abd configure.ac: Replace PCRE2 dep with std::regex. 2018-02-18 01:12:09 -08:00
Jason Volk
b5cb40e63d configure.ac: Support libmagic. 2018-02-17 21:42:27 -08:00
Jason Volk
1bb9624bce ircd: Give AIO its own TRU. 2018-02-05 23:00:55 -08:00
Jason Volk
79198527a7 configure/ircd: Consider all boost headers unconditional. 2018-02-05 21:24:36 -08:00
Jason Volk
3ba527079b ircd::ctx: Sample rdtsc to complement profile warning output. 2018-02-05 21:24:35 -08:00
Jason Volk
21d4cbf1ad Move submodules into deps/ 2018-01-27 21:05:58 -08:00
Jason Volk
b97b00bf0d configure: Convey build variant over to boost build; minor cleanup. 2018-01-27 09:35:19 -08:00
Jason Volk
1d9d5fab49 ircd::info: Involve utsname on supported; improve startup information. 2018-01-22 00:54:52 -08:00
Jason Volk
87effab106 Update configuration and library object versions. 2018-01-22 00:54:51 -08:00
Jason Volk
408e8dfb47 configure: Add <new> header. 2018-01-17 21:38:17 -08:00
Jason Volk
c698101d6d ircd::fs: Initial asynchronous file IO support for Linux platforms. 2018-01-10 22:09:05 -08:00
Jason Volk
8acdf52443 ircd::fs: Use direct kernel interface rather than glibc aio nonsense. 2018-01-10 00:55:08 -08:00
Jason Volk
5d67d06a6f configure.ac: Cleanup/reorg header checks. 2018-01-10 00:46:13 -08:00
Jason Volk
6a552e349e ircd: Preliminary AIO experimental stub on linux platforms. 2018-01-09 16:49:53 -08:00
Jason Volk
9871332957 fixup! Pin boost to 1.66.0. 2017-12-29 15:53:39 -07:00
Jason Volk
1bc4b46fbd fixup! configure.ac: Add c++17 header <optional>. 2017-12-28 14:02:24 -07:00
Jason Volk
f54b14ae07 configure.ac: Add c++17 header <optional>. 2017-12-28 13:43:45 -07:00
Jason Volk
b22d96977a configure.ac: Unformat the include list. 2017-12-28 13:42:59 -07:00
Jason Volk
7fbb7301c7 Move old help into doc. 2017-12-12 14:59:41 -07:00
Jason Volk
47a2cddbea Add std::bitset. 2017-12-05 13:42:21 -08:00
Jason Volk
f6e0a8e143 configure: Fix boost patch level variable. 2017-11-30 11:23:48 -08:00
Jason Volk
15625db9a9 configure.ac: Update warning suppressions; reasoning/commentaries. 2017-11-30 11:23:39 -08:00
Jason Volk
dc03f91022 configure.ac: *sigh* have to bump to c++17 for now, but with an SD-6 of 201411. 2017-10-15 21:40:48 -07:00
Jason Volk
2d90965816 configure.ac: Various cleanup; Add more warnings; Add optimization flags for testing. 2017-10-11 18:18:19 -07:00
Jason Volk
75648c7397 configure.ac: Add an RB_DEBUG_LEVEL which will always be defined; 0 when RB_DEBUG is not defined. 2017-10-11 18:18:19 -07:00
Jason Volk
a8f9b3b847 configure.ac: Minor cleanup. 2017-10-03 04:27:13 -07:00
Jason Volk
4a6b3f5fcc Add support for libsodium (NaCl) cryptography. 2017-10-03 04:27:10 -07:00
Jason Volk
6e6d92a6ed configure.ac: various cleanup; boost vers; chkp; 2017-10-03 04:17:10 -07:00
Jason Volk
c47be3008a ircd::ctx: Add a shared_mutex. 2017-10-03 04:17:09 -07:00
Jason Volk
b3a1c42c42 configure.ac: Configure -Wstack-usage for GCC. 2017-09-24 18:16:42 -07:00
Jason Volk
a0aeb2de2d configure.ac/Makefile: Add debug conditionals. 2017-09-24 18:16:34 -07:00
Jason Volk
cb0878999b configure.ac: Remove sqlite support. 2017-09-24 18:16:32 -07:00
Jason Volk
80f1d30505 configure.ac: Bump boost min version to 1.62 for now. 2017-09-08 03:47:52 -07:00
Jason Volk
fd3ae151b9 configure.ac: Send boost version to the tools build script. 2017-09-08 03:47:51 -07:00
Jason Volk
380d988e97 configure: Fix erroneous space near BOOST_LDFLAGS. 2017-08-23 15:52:15 -06:00
Jason Volk
48148c640c ircd: Add std::random subsystem and utils. 2017-08-23 15:52:15 -06:00
Jason Volk
5657878cd5 configure.ac: Boost related modifications in build system. 2017-08-23 15:29:34 -06:00
Jason Volk
4d4a56fe9c ircd::js: Upgrade SpiderMonkey to esr52 from esr45. 2017-08-23 15:25:22 -06:00
Jason Volk
7df3f6b5e6 configure.ac: Remove Bison/YACC checks. 2017-08-23 15:19:35 -06:00
Jason Volk
bcbf701f5e fixup! configure.ac: Add -ffriend-injection to CXXFLAGS. 2017-03-20 04:31:14 -07:00
Jason Volk
065395d274 configure.ac: Remove legacy function checks. 2017-03-10 18:18:12 -08:00
Jason Volk
b592b69b86 What is the Matrix? Control. 2017-03-10 17:51:18 -08:00
Jason Volk
8895bb57c3 configure.ac: Fix arguments to tools/buildjs. 2016-11-25 19:23:48 -08:00
Jason Volk
f54c4215b4 ircd::ctx: Add queue: amalgam of a standard queue container with a dock. 2016-11-13 16:32:42 -08:00
Jason Volk
cf71fd5c5e configure.ac: Place linkages for -lpthread -latomic. 2016-11-13 16:29:45 -08:00
Jason Volk
b289c63b99 ircd::js: Improve the exception translation. 2016-11-13 16:29:45 -08:00
Jason Volk
dffb39f8cc ircd::js: Add string utf conversions; improve string related. 2016-11-13 16:29:44 -08:00
Jason Volk
95068c7d06 Introduce Mozilla SpiderMonkey. 2016-10-25 01:55:50 -07:00
Jason Volk
36d8f3384b fixup! ircd::db: Add database interface. Support RocksDB. 2016-10-11 03:30:11 -07:00
Jason Volk
4bf52e93b3 configure.ac: -Wformat-security on GCC only. 2016-09-27 17:29:06 -07:00
Jason Volk
5df4bf6da2 ircd::db: Add database interface. Support RocksDB. 2016-09-27 02:20:42 -07:00
Jason Volk
6115671122 configure.ac: Boost.DLL is new in 1.61. 2016-09-26 16:06:56 -07:00
Jason Volk
5b607b5b1f configure.ac: Add __int128 support. 2016-09-21 16:29:28 -07:00
Jason Volk
249ba02faa Introduce userspace contexts. 2016-09-09 16:17:36 -07:00
Jason Volk
9e027b2212 configure.ac: Clarify specific spirit headers (avoid deprecation for spirit.hpp) 2016-09-09 16:17:03 -07:00
Jason Volk
1df1545a3c configure.ac: Support boost::spirit parser framework. 2016-09-09 16:17:02 -07:00
Jason Volk
12c836dc6e Rip out libltdl. 2016-09-09 16:17:02 -07:00
Jason Volk
5aeeb73e20 ircd: Introduce ASIO; stub for signal handling and console UI. 2016-09-09 16:17:02 -07:00
Jason Volk
9d0a959bb5 MAPI IV. This iteration leverages the C++11 standardized RTTI.
* Simplifies the export declarations for module developers. While
MAPI III utilized a flexible key-value vector to eliminate positional
arguments in a header initializer, now the developer simply makes
a list of pointers to what they want to export for injection into
IRCd. Example:

mapi::header IRCD_MODULE
{
	"mymod",
	"My module adds a command, a hook, and a CLICAP",
	&my_cmdtab,
	&some_hook,
	&clicaptab
};

* Distributes the handlers for items passed to the above vector.
Anyone can add a type-handler to the module system from anywhere in IRCd
(and other modules?) When your type is encountered a handler is called
providing the symbol name to read out of the module. Example in parser.cc:

mods::add_loader<Message>([]
(mod &loading, const std::string &symbol)
{
	auto &msg(get<Message>(loading, symbol));
	add_command(msg.name, msg);
});
2016-09-09 16:17:01 -07:00
Jason Volk
638db81e09 configure.ac: Support boost::filesystem / boost::dll. 2016-09-09 16:17:01 -07:00
Jason Volk
3ebde4ab50 Convert umodes to mode_lease mechanism. 2016-09-09 16:17:01 -07:00
Jason Volk
b5d4fef865 configure.ac: -Woverloaded-virtual -Wnon-virtual-dtor -Wnoexcept 2016-09-09 16:17:00 -07:00
Jason Volk
f7dc872592 configure.ac: Test targets for experimental std::string_view. 2016-08-25 02:07:11 -07:00
Jason Volk
096f7b9ff7 clang: -Wno-mismatched-tags 2016-08-20 19:30:33 -07:00
Jason Volk
d9abfc3955 Include time and iomanip standard library headers. 2016-08-20 19:30:33 -07:00
Jason Volk
a789f0d0ed Readd missing compile-time information as a CPPDEFINE. 2016-08-20 19:30:33 -07:00
Jason Volk
61b517ca3c Precompile and remove most include directives. Notes:
* To benefit from the precompiled-header (PCH) it MUST provide "the first C token."

Advantages:
Never worry about the include stack again. Remember, this means one less thing
for random module developers, community people learning C++, and new developers
to deal with. It should reduce the learning curve and barrier for participation.

Disadvantages:
Makes overall compilation a bit slower, especially without any additional
work to improve it again. There are several opportunities, places where the
PCH is probably being ignored, etc that can be addressed.
2016-08-20 19:30:33 -07:00
Jason Volk
7d3e1e49a5 configure.ac: Fix CPPDEFINE error and improve boost check.
Require at least 1.56 for now... Testing of older versions is
needed once librb is replaced and we know what's needed.
2016-08-19 22:39:34 -07:00
Jason Volk
0e62b5a91a Add PIC/PCH condition in stdinc.h. 2016-08-13 02:43:41 -07:00
Jason Volk
1ffc492c7f Don't care about missing declarations. 2016-08-13 02:43:41 -07:00
William Pitcock
34a33a07d0 configure: fix ENABLE_FHS_PATHS being enabled when it shouldn't 2016-07-30 21:25:34 -05:00
William Pitcock
95b4dff0c6 configure: boost_linkage should be shared when using system boost 2016-07-30 20:42:39 -05:00
William Pitcock
f8e09c38dc configure: more cleanups 2016-07-30 20:05:09 -05:00
William Pitcock
e108151c20 configure: use AX_BOOST macros when not building built-in boost 2016-07-30 19:56:01 -05:00
Jason Volk
1eb7d4f319 configure.ac: Use stddef.h as dead header.
/dev/null cannot be used on windows, and /dev/null appears as modified
dependency when checking the PCH.
2016-07-25 00:54:38 -07:00
Jason Volk
530faa46a4 Add --with-included-boost=shared because it is not going to be installed. 2016-07-25 00:54:38 -07:00
Jason Volk
649561f79f configure.ac: adjust version to meet integral targets. 2016-07-25 00:54:38 -07:00
Jason Volk
02119375b1 Add --disable-pch configuration option. 2016-07-23 19:40:18 -07:00
Jason Volk
983f0bc154 Fix configure.ac macro expression. 2016-07-23 19:40:18 -07:00
Jason Volk
404239eb60 Build system cleanup. 2016-07-22 19:46:28 -07:00
Jason Volk
5ed274e082 m4: Add macro argument to pass an SD-6 feature test number.
This test against the __cplusplus #define value allows for a more
granular feature test.
2016-07-22 19:46:28 -07:00
Jason Volk
e7e7f8ff9f Convert bison.
NOTE: This only has "C" linkage right now.
2016-07-22 19:46:27 -07:00
Jason Volk
748faeb264 Improve warnings. 2016-07-22 19:46:27 -07:00
Jason Volk
834964c659 Convert IRCd to C++
Happy 28th birthday. You're all grown up.
2016-07-22 19:46:27 -07:00
Jason Volk
ea53aab823 Refactor repository layout.
* librb is no longer a separately configured subproject.
* charybdis is now a standalone directory with a binary.
* Include path layout now requires a directory ircd/ rb/ etc.
2016-07-21 20:51:02 -07:00
Jason Volk
b903059075 Autotools preparation for GNU++14.
Files with the suffix .cpp will automatically integrate.
2016-07-19 22:38:56 -07:00
William Pitcock
2be307e059 configure: check for PCRE2 2016-06-25 23:42:00 -05:00
William Pitcock
499f3437c7 configure: 5 now 2016-06-25 22:30:58 -05:00
William Pitcock
998b6ec513 stage for charybdis 4-beta1. 2016-04-30 19:58:14 -05:00
William Pitcock
caebeeca95 wsockd: add skeleton for future websockets helper (ref #78) 2016-03-25 21:04:22 -05:00
William Pitcock
80a0125f36 configure: define ENABLE_FHS_PATHS if built with --enable-fhs-paths, this will disable the path relocation code 2016-03-24 18:55:30 -05:00
Matt Ullman
2e45f5d808 Cleanup more BSD-isms 2016-03-23 22:37:52 -04:00
Matt Ullman
35472d0f1f automake: Fix typo in compiler flag 2016-03-22 16:51:06 -04:00
William Pitcock
8978ab4efa configure: add same msys check here 2016-03-20 22:17:52 -05:00
William Pitcock
570bbefb54 configure: remove old check for socklen_t. ircd uses rb_socklen_t for a long time. 2016-03-20 04:40:14 -05:00
William Pitcock
3c27591e9d configure: move mingw check down a bit 2016-03-20 02:11:06 -05:00
William Pitcock
3f97a5c529 configure: check for MINGW 2016-03-20 02:07:06 -05:00
William Pitcock
b45a2f351e configure: check -lws2_32 for socket() too 2016-03-20 00:11:06 -05:00
Elizabeth Myers
fe4224394e Can IGNORE_BOGUS_TS at the behest of @kaniini and @jilest 2016-03-19 18:55:13 -05:00
Elizabeth Myers
cca418c9b7 Add --enable-ignore-bogus-ts flag.
This hoists the option out of config.h.
2016-03-18 15:02:59 -05:00
Elizabeth Myers
0e99e13a71 configure: add ENABLE_OPER_CHGHOST flag 2016-03-18 14:57:08 -05:00
Elizabeth Myers
07554369bd Detect stdbool.h and add conformant shims if it isn't available
Charybdis requires C99 already, so it's high time we start using
stdbool. I've converted a few pieces of code already.

A lot of the old code that uses YES/NO should probably be updated too
because that's fucking hideous.
2016-03-08 04:54:04 -06:00
Elizabeth Myers
34dbd2d49b Makefile.am: make git serno generation a little nicer. 2016-03-07 05:15:35 -06:00
William Pitcock
c83f2f5e12 rename libratbox to librb, since its pretty modified anyway 2016-03-06 02:30:20 -06:00
William Pitcock
7fc8787332 autogen: minor tweaks 2016-03-05 17:51:28 -06:00
William Pitcock
c678fbc08b ircd: remove broken USE_IODEBUG_HOOKS knob and related code 2016-02-20 12:02:49 -06:00
Valerii Iatsko
5203cba5ce Remove libratbox's snprintf.c, update related ircd code 2016-02-10 02:25:32 +01:00
Valerii Iatsko
9258de810b ircd: configure: require C99 compiler 2016-02-09 10:41:37 -06:00
Valerii Iatsko
b79edd3e79 ircd: configure.ac: remove trailing whitespaces 2016-02-09 10:41:37 -06:00
Simon Arlott
173a2f4dda configure: make TOPICLEN warn on >390, not >=390
Configuring --with-topiclen=390 outputs a warning that TOPICLEN
has been limited to 390, but that's what was requested.
2016-02-09 10:41:37 -06:00
Simon Arlott
d5ef3fd3b6 autoconf: Quote AC_LANG_PROGRAM when used within AC_*_IFELSE
AC_LANG_PROGRAM needs to be quoted when used within AC_*_IFELSE:
https://lists.gnu.org/archive/html/bug-autoconf/2011-04/msg00017.html

This fixes the following warnings:

$ autoreconf
configure.ac:298: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2729: _AC_RUN_IFELSE is expanded from...
../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
../../lib/autoconf/general.m4:2748: AC_RUN_IFELSE is expanded from...
configure.ac:298: the top level
configure.ac:593: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2661: _AC_LINK_IFELSE is expanded from...
../../lib/autoconf/general.m4:2678: AC_LINK_IFELSE is expanded from...
configure.ac:593: the top level
...
configure.ac:309: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2729: _AC_RUN_IFELSE is expanded from...
../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
../../lib/autoconf/general.m4:2748: AC_RUN_IFELSE is expanded from...
configure.ac:309: the top level
...
2016-02-09 10:41:37 -06:00
William Pitcock
e575ed5193 libratbox: disable the block allocator, but keep it as a stub for now 2016-01-08 07:16:23 -06:00
William Pitcock
190a59706e configure: no more small-net 2016-01-08 07:09:47 -06:00
William Pitcock
9e45a5ca19 buildsystem: further cleanup 2016-01-08 07:01:00 -06:00
William Pitcock
f0718c93d5 configure: use correct path for libltdl 2016-01-08 06:50:01 -06:00
Aaron Jones
d8c4154da2 Fix LTDL conditional, remove some unnecessary and/or ugly configure tests 2016-01-07 17:15:55 +00:00
Aaron Jones
eec2776c6c Fix some autotools discrepancies, disable SQLite threading code 2016-01-07 16:58:28 +00:00
William Pitcock
0d73e7db9c authd: add skeleton 2016-01-06 02:31:11 -06:00
William Pitcock
2a19fc3f57 general: remove last vestiges of static modules support (this hasn't ever actually worked...) 2016-01-06 01:28:20 -06:00
William Pitcock
46fded53d4 update buildsystem artifacts 2016-01-06 01:16:49 -06:00
William Pitcock
c52df12552 buildsystem: convert to automake + libtool 2016-01-05 21:20:25 -06:00
William Pitcock
f26219863a begin 3.6 development 2016-01-05 20:15:10 -06:00
William Pitcock
1ce6270904 charybdis 3.5.0. 2016-01-05 19:49:18 -06:00
William Pitcock
3b1e0380ce charybdis 3.5.0 rc1. 2015-03-08 15:26:31 -05:00
William Pitcock
9f09e25b63 charybdis 3.5.0-test1. 2015-03-01 01:09:34 -06:00
William Pitcock
7585af0f3b configure: move some OS X toolchain checks around (closes #40) 2015-02-16 15:55:36 -06:00
Jilles Tjoelker
6573fa4c74 configure: Restore libratbox build.
This fixes building from scratch.
2014-06-05 22:12:19 +02:00
Lee Starnes
a5471f2483 configure: use pkg-config for sqlite 2014-06-01 15:50:47 -04:00
Lee Starnes
cf1001a739 configure: fix linking with shared sqlite on *BSD 2014-05-31 22:56:12 -04:00
Lee Starnes
a6ef3156ec configure: use --with-shared-sqlite instead of --enable-shared-sqlite 2014-05-31 21:14:09 -04:00
Lee Starnes
74ab6be094 bandb: make Makefile work with BSD make again 2014-05-29 17:53:43 -04:00
Lee Starnes
497e30a0bb configure: add --enable-shared-sqlite option
When --enable-shared-sqlite is used, charybdis will be compiled with a shared
sqlite library if it is available.
2014-05-29 13:11:29 -04:00
Rylee Elise Fowler
1870e06ad3 autotools: fix typo relating to ban db 2014-01-31 11:03:54 -05:00
Antoine Beaupré
14048b96b0 rename genssl.sh to genssl 2013-06-05 01:49:19 -04:00
Jilles Tjoelker
c2a0843d26 Bump version on master to 3.5.0-dev. 2012-04-22 23:03:46 +02:00
Nathan Phillip Brink
6929cd012b Fix typo User' => Use'. 2012-03-03 03:30:34 +00:00
Nathan Phillip Brink
634d4aad72 Fix inconsistency between --sysconfdir and --with-confdir, deprecate --with-confdir.
The inconsistency was created in
c74836dc4a where genssl.sh.in was made
to use sysconfdir while the IRCd and buildsystem still used confdir.
2012-03-02 01:11:42 +00:00
Nathan Phillip Brink
c74836dc4a Add explicit support for being installed into a system triggered with --enable-fhs-paths.
Add two mechanism for avoiding name-collisions in a system-wide
installation of charybdis. The ssld and bandb daemons, intended to be
directly used by ircd and not the user, install into libexec when
--enable-fhs-paths is set. For binaries which are meant to be in PATH
(bindir), such as ircd and viconf, there is now an option
--with-program-prefix=progprefix inspired by automake. If the user
specifies --with-program-prefix=charybdis, the ircd binary is named
charybdisircd when installed.

Add support for saving the pidfile to a rundir and storing the ban
database in localstatedir instead of in sysconfdir. This is, again,
conditional on --enable-fhs-paths.

Fix(?) genssl.sh to always write created SSL key/certificate/dh
parameters to the sysconfdir specified during ./configure. The
previous behavior was to assume that the user ran genssl.sh after
ensuring that his current working directory was either sysconfdir or a
sibling directory of sysconfdir.
2012-03-01 02:41:09 +00:00
William Pitcock
a949ab1a1c configure: set version to charybdis 3.4.0-dev 2012-02-04 04:14:20 -06:00
Jilles Tjoelker
ca8ff4830b Force nicklen (all flavours) to be at least 9. 2011-11-29 23:41:18 +01:00
Jilles Tjoelker
b225bf93b7 Change default --with-nicklen to 31, like atheme-services. 2011-11-29 23:32:10 +01:00
William Pitcock
b583faf970 Add support for customizing the usable nick length.
This adds a new ISUPPORT token, NICKLEN_USABLE which is strictly an informative value.
NICKLEN is always the maximum runtime NICKLEN supported by the IRCd, as other servers may
have their own usable NICKLEN settings.  As NICKLEN_USABLE is strictly informative, and
NICKLEN is always the maximum possible NICKLEN, any clients which depend on NICKLEN for
memory preallocation will be unaffected by runtime changes to NICKLEN_USABLE.

The default NICKLEN is 50; the default serverinfo::nicklen in the config file is set to
30, which is the NICKLEN presently used on StaticBox.
2011-11-29 16:10:21 -06:00
William Pitcock
f5493691ed branding: if CUSTOM_BRANDING is defined, display charybdis version in /info
(based on ircd-seven rebrand patch)
2011-05-08 09:06:19 -05:00
William Pitcock
b6d0720c1c configure: Add --with-custom-branding and --with-custom-version options. 2011-05-08 08:55:32 -05:00
William Pitcock
bf98590ac6 Charybdis 3.3.0. 2010-09-28 13:46:09 -05:00
William Pitcock
c3665aa9dc Kill unsupported modules directory. 2010-08-23 17:03:37 -05:00
William Pitcock
fe5746222d Charybdis 3.3.x development cycle begins. 2010-02-27 15:26:42 -06:00
William Pitcock
8fde8d897e Set autoconf version to 3.2.0. 2010-02-17 23:12:17 -06:00
William Pitcock
734ce253df Link bandb to build. 2010-01-07 16:51:09 -06:00
William Pitcock
e9dd977ec3 Update trunk to 3.2 (non-release). 2010-01-07 16:02:50 -06:00
Jilles Tjoelker
f9a9ffacc1 Remove some warning that will not be fixed. 2009-02-22 00:45:41 +01:00
Jilles Tjoelker
dc396efea9 -Wbad-function-cast is stupid. 2009-02-22 00:02:51 +01:00
Jilles Tjoelker
2723453983 Bump version to 3.1.0. 2009-02-08 21:11:33 +01:00
Jilles Tjoelker
f173c7d864 Check that --with-nicklen was passed a numeric value.
ircd-ratbox r26144 (androsyn)
2008-10-19 17:27:35 +02:00
Valery V Yatsko
108f730f58 forgot to remove check for cygwin from configure.ac 2008-08-16 22:50:22 +04:00
Valery V Yatsko
d3faa80afe removed cygwin check from configure.ac 2008-08-16 22:45:09 +04:00
Valery V Yatsko
ec86417cee ircd-ratbox -> charybdis 2008-08-16 22:38:13 +04:00
Jilles Tjoelker
c0e90a8ed5 Fix another bad cache variable name. 2008-06-03 20:50:50 +02:00
Jilles Tjoelker
686735a1d3 Bump version on trunk to 3.1. 2008-05-18 23:34:39 +02:00
Jilles Tjoelker
794816af01 Check for the -rpath linker flag.
This makes it build on MacOS X which neither
supports nor needs this flag.
2008-05-17 17:46:37 +02:00
Jilles Tjoelker
d99faa427b Bump version to 3.0.1. 2008-05-13 23:22:57 +02:00
William Pitcock
4a466cb340 charybdis 3.0.0 2008-04-25 14:56:35 -05:00
William Pitcock
045da06897 3.0.0-RC1. 2008-04-21 17:17:31 -05:00
William Pitcock
4753926822 charybdis 3.0-beta1 2008-04-15 21:32:25 -05:00
Jilles Tjoelker
3f479d3b67 Remove pagesize check from configure.
It is unused, and not a good thing to compile this in.
2008-04-11 17:57:01 +02:00
Jilles Tjoelker
53f95e8c84 Remove SOCKADDR_IN_HAS_LEN check, libratbox does it for us. 2008-04-11 17:47:30 +02:00
Jilles Tjoelker
97199fb332 Make --enable-warnings work again, and make the warnings a bit more sensible. 2008-04-09 18:28:47 +02:00
William Pitcock
7cc51d0449 Remove servlink, it's functionality is now provided by ssld. 2008-04-06 13:38:55 -05:00
Valery Yatsko
d261b578f4 Added ssld to Makefile.in and configure.ac. 2008-04-06 14:50:29 +04:00
Valery Yatsko
7c6292028a Just notice in configure that user could use gmake too (only gmake allowed on some of my hostings). 2008-04-06 00:15:59 +04:00
Valery Yatsko
ccda6e3fc5 Replacing legacy IPV6 define with RB_IPV6 (which is included in libratbox's config.h). 2008-04-05 20:57:30 +04:00
William Pitcock
036df6dd5d 3.0alpha1 2008-04-02 20:47:05 -05:00
Valery Yatsko
54ac8b60a1 Reverting some changed related not to moving on libratbox3 but using ratbox3 source! 2008-04-02 19:37:50 +04:00
Valery Yatsko
adbbdec52f forward configure.ac changes 2008-04-02 17:02:07 +04:00
Valery Yatsko
ce923338da FD_HEAP_SIZE added, needed to fix ircd.c compilation 2008-04-02 05:40:02 +04:00
Valery Yatsko
bc5f6d5bce AWAY_HEAP_SIZE added to configure.ac - just another part of ratbox3 away system port. 2008-04-02 05:29:16 +04:00
Valery Yatsko
81af5bcb39 libcharybdis includes gone. 2008-04-02 02:39:19 +04:00
Valery Yatsko
4e2fd62140 btw, gmake is useful too for compiling this. 2008-04-02 02:23:11 +04:00
Valery Yatsko
f27f348b1e Removed from configure.ac too. 2008-04-02 02:19:55 +04:00
William Pitcock
db13786793 Pull in libratbox from ircd-ratbox-3.0.0beta1 and integrate into the build system. 2008-04-01 11:52:26 -05:00
Jilles Tjoelker
33b310b376 Make the epoll check work more reliably.
Submitted by spb.
2007-12-13 00:43:31 +01:00
William Pitcock
f13494df72 Remove --disable-shared-modules configure option.
It should have been removed when we removed the rest of that code.
2007-12-08 13:38:28 -06:00
William Pitcock
b74f0f586d this should be 2.3.0 2007-12-02 10:17:40 -06:00
jilles
88cb7f9965 [svn] Version bump on trunk to 2.3. 2007-06-10 09:14:03 -07:00
nenolod
686ebf4149 [svn] - remove "ASM hashing code" from the configure overview 2007-05-06 19:53:54 -07:00
nenolod
1b4cfad88d [svn] - river's ports.c from old charybdis trunk 2007-04-03 02:57:53 -07:00
nenolod
5e12fb1089 [svn] - remove broken ports stuff and devpoll stuff. 2007-04-03 02:50:56 -07:00
nenolod
6c8cbf341b [svn] - remove x86-optimized hash code. 2007-04-03 02:37:03 -07:00
nenolod
631ef23987 [svn] - remove the rest of the MAX_CLIENTS stuff. change kqueue implementation accordingly. (needs testing) 2007-04-03 02:31:11 -07:00
jilles
a34ec229bf [svn] Need to check for various flavours of epoll,
even if --enable-epoll is forced.
2007-03-30 16:33:43 -07:00
nenolod
55da5539ba [svn] - version bump to 2.2.0 2007-01-24 22:45:04 -08:00
nenolod
212380e3f4 [svn] - the new plan:
+ branches/release-2.1 -> 2.2 base
  + 3.0 -> branches/cxxconversion
  + backport some immediate 3.0 functionality for 2.2
  + other stuff
2007-01-24 22:40:21 -08:00