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