Jason Volk
ea0a1df3a1
configure: Add options for third-party allocator selection/deselection and inclusion.
2019-07-03 18:02:54 -07:00
Jason Volk
e0e36dfabd
configure: Add -Wno-unknown-warning-option for clang only for GCC conflict noise.
2019-06-24 01:33:00 -06:00
Jason Volk
30ee090663
configure: No -Werror=return-type for clang due to remaining extern C linkage complaints.
2019-06-24 01:22:10 -06:00
Jason Volk
fc89e02ff7
configure: Remove -pthread cxxflag for clang.
2019-06-24 01:19:18 -06:00
Jason Volk
f3afd69bca
configure: Remove bnd_instrument related; deprecated by gcc-9.
2019-06-22 16:56:43 -06:00
Jason Volk
e1841a7159
configure: Condition options for clang compatibility.
2019-06-21 02:26:00 -07:00
Jason Volk
78bc2e5392
configure: Check for experimental pmr.
2019-06-17 13:16:40 -07:00
Jason Volk
992ed22846
configure: Fix sodium variable assignments.
2019-06-13 16:29:10 -07:00
Jason Volk
3d04ed9ad0
configure: Remove the CPPDEFINE for RB_TIME_CONFIGURED.
2019-06-13 15:03:32 -06:00
Jason Volk
6aae730d5a
configure: Improve sodium related macros; fix missing SODIUM_LIBS assignment.
2019-06-13 13:51:49 -06:00
Jason Volk
3794c3e7df
configure: Document why we use AC_CHECK_LIB inside PKG_CHECK_MODULES here. [ci skip]
2019-06-06 15:11:12 -07:00
Jason Volk
2b43a5a92b
configure: Add --enable-compact for the smallest possible building and linking.
2019-06-06 05:29:07 -07:00
Jason Volk
3267c522ee
configure: Fallback to AC_CHECK_LIB if PKG_CHECK_MODULES fails.
2019-06-06 04:44:00 -07:00
Jason Volk
160734e3b4
configure: Define HAVE_SODIUM in config.h on pkg found.
2019-06-06 03:54:37 -07:00
Danilo Spinella
731e474b10
configure: Use pkg check for libsodium.
2019-06-06 03:45:30 -07:00
Jason Volk
5ab5ef53cf
configure: Disable generating synchronization guards around static initializations.
2019-06-05 13:57:04 -07:00
Jason Volk
29cdca5fbe
ircd::mods::ldso: Add a strtab lookup tool.
2019-06-03 21:13:23 -07:00
Jason Volk
d598bde717
ircd::info: Get the glibc linked ABI version.
2019-06-01 22:22:44 -07:00
Jason Volk
6b956d12b9
configure: Check for ImageMagick++ support.
2019-05-28 19:54:00 -07:00
Jason Volk
08fafd44b1
ircd::mods: Add platform-dependent ldso interface.
2019-05-28 15:39:57 -07:00
Jason Volk
b8744b2a8b
configure: Use -Wno-endif-labels rather than -Wno-extra-tokens.
2019-05-28 14:51:17 -07:00
Jason Volk
008325d6e8
configure: Disable -Wextra-tokens.
2019-05-28 03:46:18 -07:00
Jason Volk
e99e2dad33
configure: Check for link.h.
2019-05-27 18:36:12 -07:00
Jason Volk
0c01304a94
configure: Move debug switches to separate condition.
2019-05-16 22:36:19 -07:00
Jason Volk
561e9877dd
configure: Align functions in non-optimized builds.
2019-05-15 21:12:59 -07:00
Jason Volk
adc5e7fb6c
configure: Remove gdwarf-4 for default; use glevel=3.
2019-05-15 21:12:59 -07:00
Jason Volk
ca0cf98f37
configure: Use -fnothrow-opt.
2019-05-15 21:12:59 -07:00
Jason Volk
f121188ded
configure: Make this define less useless.
2019-05-14 14:46:47 -07:00
Jason Volk
c114191251
configure: Check for fcntl.h.
2019-05-03 06:08:15 -07:00
Jason Volk
55fc2c6f76
ircd::prof: Add callgrind hypercall suite.
2019-04-19 05:53:54 -07:00
Jason Volk
e861743203
configure: Start an instrumentation header check section; add valgrind/memcheck.h.
2019-04-17 00:50:03 -07:00
Jason Volk
dc0fbe9e54
configure: Add --enable-untuned for more generic binaries.
2019-04-12 12:01:13 -07:00
Jason Volk
3d6dd0733f
configure: Sample nproc
for -flto thread count.
2019-04-09 16:06:17 -07:00
Jason Volk
9d8fe82126
ircd::prof: Add x-platform cputime reporting alternative interface.
2019-04-05 18:12:23 -07:00
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