summaryrefslogtreecommitdiff
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
* check for sys/auxv.hFabrice Fontaine2023-04-101-0/+1
| | | | | | | | | | | | | | Check for sys/auxv.h to avoid the following uclibc build failure on aarch64: crc32c.c:277:10: fatal error: sys/auxv.h: No such file or directory 277 | #include <sys/auxv.h> | ^~~~~~~~~~~~ Fixes: - http://autobuild.buildroot.org/results/08591fbf9677ff126492c50c15170c641bcab56a Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
* configure.ac: add --enable-werrorFabrice Fontaine2023-03-081-2/+9
| | | | | | | | | | | | | | | | | Disables Werror by default. Allows user to conditionally enable -Werror Change originally to avoid the following build failure: In file included from hash.c:7: xxhash.h:2667:5: error: #warning is a GCC extension [-Werror] 2667 | # warning "XXH3 is highly inefficient without ARM or Thumb-2." | ^~~~~~~ xxhash.h:2667:5: error: #warning "XXH3 is highly inefficient without ARM or Thumb-2." [-Werror=cpp] Fixes: - http://autobuild.buildroot.org/results/3124bae73c207f1a118e57e41e222ef464ccb297 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
* MacOS drop privileges supportDavid CARLIER2022-08-251-0/+10
|
* DTrace build fix on MacDavid Carlier2022-08-251-0/+14
| | | | | | The header generated comes with $ IDs thus breaking the build. The probes are set with const address arguments already which just add the qualifier again.
* configure.ac: use pkg-config to retrieve opensslFabrice Fontaine2022-08-251-65/+68
| | | | | | Use pkg-config to retrieve openssl dependencies such as -latomic or -lz Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
* proxy: initial commit.dormando2021-10-051-0/+20
| | | | | | | | | | | | | | | See BUILD for compilation details. See t/startfile.lua for configuration examples. (see also https://github.com/memcached/memcached-proxylibs for extensions, config libraries, more examples) NOTE: io_uring mode is _not stable_, will crash. As of this commit it is not recommended to run the proxy in production. If you are interested please let us know, as we are actively stabilizing for production use.
* thread: use eventfd for worker notify if availabledormando2021-08-091-0/+1
| | | | | | now that all of the read/writes to the notify pipe are in one place, we can easily use linux eventfd if available. This also allows batching events so we're not firing the same notifier constantly.
* illumos build fixes + require libevent2David Carlier2020-11-021-0/+16
| | | | | | | libevent 1 doesn't have the socket id wrapper. since version 2 is 10 years old we should fail to build on version 1. explicit cast to avoid possible pedantic build flags complains (ie can be the old iovec interface)
* arm64: Re-add arm crc32c hw accelerationAli Saidi2020-10-271-9/+4
| | | | | | Use the .arch_extension directive so that a config options and special cflags aren't required. Add a few tests for both the software and hardware implementations
* Use signal function instead of sigignoreTomas Korbar2020-07-011-3/+2
| | | | | | | Sigignore has been marked as deprecated on Fedora rawhide and signal function is used already on multiple places in memcached.c fix #690
* Disable aarch64 hw crc32 function for nowdormando2020-04-301-2/+4
| | | | | | | | Also re-adds the start time detection of intel instruction. I never got a proper test platform for the ARM bits and it's been stuck as a configure flag. I'd be happy to add it back if that situation changes.
* Revert "build: sasl build fix on FreeBSD"1.6.5dormando2020-04-131-9/+4
| | | | This reverts commit 651380cd4863033f4668f09c6a96819044e11f69.
* Add build option to disable unix socket functionality.Jefty Negapatan2020-04-111-0/+8
| | | | | | 1. configure.ac - Add --disable-unix-socket to disable and define DISABLE_UNIX_SOCKET. 2. memcached.* - Guard all unix socket-related codes with DISABLE_UNIX_SOCKET. Take note of negative checking (#ifndef DISABLE_UNIX_SOCKET instead of #ifdef UNIX_SOCKET). This is just to make sure that current code even without a config file is the default or supports unix socket. 3. t/ - Check first if unix socket is supported before executing some unix socket-related tests.
* fix extstore reads for OSX/cygwindormando2020-04-101-0/+2
| | | | | | | pread[v]() is missing on some platforms. We had a test added to build under OS X, but the lseek arguments were swapped and tests would've never passed. I never force-tested the replacement code until checking this out for a cygwin build error :(
* build: sasl build fix on FreeBSDDavid Carlier2020-04-101-4/+9
| | | | | | on some systems (e.g. FreeBSD), shared libraries do not contain symbols thus build failing for wrong reasons. here just trying to compile dumb code to check it instead.
* ./configure --enable-static for static buildsKevin Lin2020-03-261-0/+13
|
* extstore: enable by default.1.6.0dormando2020-03-081-3/+3
| | | | links to a forwarder for the wiki page.
* add separate limits for connection buffersdormando2020-02-261-9/+0
| | | | | | | | | | | allows specifying a megabyte limit for either response objects or read buffers. this is split among all of the worker threads. useful if connection limit is extremely high and you want to aggressively close connections if something happens and all connections become active at the same time. missing runtime tuning.
* Allow compilation with ASANSailesh Mukil2020-01-131-0/+11
| | | | | | | | | | | | | | | | | | Compiling with ASAN can help find improper memory management by detecting leaks, use after frees, double frees, buffer overflows, etc. It will profile the binary which has an effect on the binary size and possibly a small impact on performance (although a lot better than valgrind). We can use this from GCC-4.8 onwards. To enable, during configure time, run: ./configure --enable-asan Docs: https://github.com/google/sanitizers/wiki/AddressSanitizer Limitations (Pulled from Clang docs, but should be similar for GCC): https://clang.llvm.org/docs/AddressSanitizer.html#limitations
* configure: Fix cross-compilation errorsOla Jeppsson2019-10-171-42/+17
| | | | | | | | | | | | | | | AC_RUN_IFELSE does not work when cross-compiling so we need to provide fallback methods for those cases. I tried to use constructs that work with Autoconf 2.52. Alas, I wasn't able to generate a working build system with that version. Autoconf 2.58 / Automake 1.7.9 is the earliest combo that I could get to work (with and without this patch). Perhaps it's time for a slight bump for the required version numbers? Cross-compiles sucessfully against: riscv64-unknown-linux-gnu
* DTrace build fixDavid Carlier2019-10-171-3/+2
| | | | | | | | During config step just being "contented" by generating the header, there is no symbols to attach for, no chance to work as is. Changing a probe signature, on some platforms, pthread_t is an opaque type thus casting to a type large enough to hold it for all oses.
* restart: fixes for 32bit and chunked items.1.5.18dormando2019-09-171-0/+14
| | | | | | | | | | severe bug in item chunk fixup (wasn't doing it at all!) failed to check on my 32bit builders... and 32bit platforms weren't working at all. This is a bit of a kludge since I'm still working around having ptrdiff, but it seems to work. also fixes a bug with missing null byte for meta filename.
* restartable cachedormando2019-09-171-0/+1
| | | | | | | | | | | | | | | "-e /path/to/tmpfsmnt/file" SIGUSR1 for graceful stop restart requires the same memory limit, slab sizes, and some other infrequently changed details. Most other options and features can change between restarts. Binary can be upgraded between restarts. Restart does some fixup work on start for every item in cache. Can take over a minute with more than a few hundred million items in cache. Keep in mind when a cache is down it may be missing invalidations, updates, and so on.
* change some links from http to httpskun2019-05-201-1/+1
|
* Adding FreeBSD capabilities support.David Carlier2019-04-261-0/+10
|
* Basic implementation of TLS for memcached.1.5.13Tharanga Gamaethige2019-04-151-0/+97
| | | | | | | | | | | | | Most of the work done by Tharanga. Some commits squashed in by dormando. Also reviewed by dormando. Tested, working, but experimental implementation of TLS for memcached. Enable with ./configure --enable-tls Requires OpenSSL 1.1.0 or better. See `memcached -h` output for usage.
* Mark seccomp experimentalStanisław Pitucha2018-07-011-1/+1
| | | | | To make it less likely that distros enable seccomp by default, mark it as EXPERIMENTAL in both readme and configure help.
* gate arm crc32 behind --enable-arm-crc32dormando2018-05-231-1/+9
| | | | | users also need to add CFLAGS="-march=armv8-a+crc" if they have actual aarch64 platforms.
* Fix SASL_CB_GETCONF(PATH) detectionPeter (Stig) Edwards2018-03-231-0/+24
| | | | | For https://github.com/memcached/memcached/issues/365 On RHEL(5|6|7) the name of the defined constant in sasl.h is SASL_CB_GETCONFPATH and not SASL_CB_GETCONF. This adds support for HAVE_SASL_CB_GETCONFPATH to be set to nonzero when the SASL implementation supports SASL_CB_GETCONFPATH. This will be used in sasl_defs.c when ./configure is run with "--enable-sasl".
* Fix SIGBUS from alignment issues on 64bit ARMdormando2018-03-151-1/+5
| | | | | | | | | | | ARMv8 (and in general aarch64) has flipped some strictness requirements. However, at some point in history the NEED_ALIGN configure check code was optimized away by GCC. This fixes detection of alignment, as well as fixes an unaligned access that snuck in via the logging code. Also fixes a 64bit GCC atomics test that possibly never worked before.
* extstore: configure and start time gatingdormando2017-11-281-0/+8
| | | | | ./configure --enable-extstore to compile the feature in specify -o ext_path=/whatever to start.
* Rework pledge support after seccomp support has been addedGiovanni Bechis2017-11-041-0/+9
|
* Add drop_privileges() for LinuxStanisław Pitucha2017-08-231-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement an aggressive version of drop_privileges(). Additionally add similar initialization function for threads drop_worker_privileges(). This version is similar to Solaris one and prohibits memcached from making any not approved syscalls. Current list narrows down the allowed calls to socket sends/recvs, accept, epoll handling, futex (and dependencies - mmap), getrusage (for stats), and signal / exit handling. Any incorrect behaviour will result in EACCES returned. This should be restricted further to KILL in the future (after more testing). The feature is only tested for i386 and x86_64. It depends on bpf filters and seccomp enabled in the kernel. It also requires libsecomp for abstraction to seccomp filters. All are available since Linux 3.5. Seccomp filtering can be enabled at compile time with --enable-seccomp. In case of local customisations which require more rights, memcached allows disabling drop_privileges() with "-o no_drop_privileges" at startup. Tests have to run with "-o relaxed_privileges", since they require disk access after the tests complete. This adds a few allowed syscalls, but does not disable the protection system completely.
* flip defaults and add long options1.5.0dormando2017-07-201-0/+1
| | | | | | | | | -o -> --extended, but some of those options should be top level. can fix in future iterations. update --help and golf the wordcount a bit add long options to manpage
* Spelling fixesJosh Soref2017-05-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * accesses * amount * append * command * cyrillic * daemonize * detaches * detail * documentation * dynamically * enabled * existence * extra * implementations * incoming * increment * initialize * issue * javascript * number * optimization * overall * pipeline * reassign * reclaimed * response * responses * sigabrt * specific * specificity * tidiness
* don't fail on systems without 64bit atomicsdormando2016-07-011-0/+13
| | | | | | | | | We only explicitly tested for short atomics. Then I added 8byte atomic usage in the logger: now separately test for those.. since some systems can have one but not the other, I'd rather use atomics where available then fall back to a mutex when necessary. Reproduced this on a raspberry pi 2.
* Automake improvements1.4.25Johan Bergström2015-11-191-5/+5
| | | | | - avoid initializing the gnu stack (foreign) - make memcached easier to cross-compile
* fix configure.ac warning and use system automakedormando2015-11-181-1/+1
| | | | | | ... there should always be an 'automake' alias, and we haven't had an "unsupported" version in probably ten years. hopefully this stops systems with upgraded automakes from breaking every time.
* Reworked C-alignment check to be clear-as-day.Eric McConville2014-04-271-6/+9
| | | | | | | | | | See bug/pull discussions - http://code.google.com/p/memcached/issues/detail?id=100 - https://github.com/memcached/memcached/pull/3 - http://code.google.com/p/memcached/issues/detail?id=360 Conflicts: configure.ac
* Take endianness into account on alignment checkDagobert Michelsen2014-04-271-1/+7
|
* Add linux accept4() support.Simon Liu2013-12-191-0/+1
|
* Created DETECT_CLANG autoconf function, and excluded '-pthread' from CFLAGS ↵1.4.16Eric McConville2013-12-091-2/+34
| | | | when GCC is clang
* Issue 286: --disable-coverage drops "-pthread" optionTrond Norbye2012-09-011-5/+3
| | | | -pthread was added as part of setting up the gcov options
* Better detection of sasl_callback_ftDustin Sallings2012-02-011-0/+27
|
* properly detect GCC atomicsdormando2012-01-251-0/+14
| | | | | I was naive. GCC atomics were added in 4.1.2, and not easily detectable without configure tests. 32bit platforms, centos5, etc.
* Fix -rpath for macosxTrond Norbye2011-08-271-1/+1
|
* Do the monotonic clock ourselves1.4.7-rc11.4.7dormando2011-08-101-0/+1
| | | | | | | | | I've still removed the "set the time now" stuff that the flush_all commands do. They push to one second in the past, and with some startup fudge the tests all pass. Relying on libevent's firing of clock_handler was drifting ~5ms per tick. Fudging it further wouldn't be a great idea.
* Issue 214: Search for network libraries before searching for libeventTrond Norbye2011-08-081-4/+6
|
* Issue 213: Search for clock_gettime in librtTrond Norbye2011-08-081-0/+4
|
* Fix whitespace bug in configure.acTrond Norbye2011-07-181-2/+2
|