summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)Author
2022-01-18Add timeout support for libuv adapter (#1016)MichaelSuen
Add timeout to libuv adapter Co-authored-by: sunmingqi <sunmingqi@corp.netease.com> Co-authored-by: sunmingqi <smq222@126.com> Co-authored-by: Michael Grunder <michael.grunder@gmail.com> Co-authored-by: Viktor Söderqvist <viktor@zuiderkwast.se>
2021-12-24Don't link with crypto libs if USE_SSL isn't set.michael-grunder
2021-12-23Makefile: move SSL options into a block and refine ruleszhenwei pi
Move SSL options into two blocks to make it easy to read: 1, first part: SSL variables part 1, second part: SSL building rules part and change global rules to make it easy to maintain. For the further step, it gets extensible to add another type. New version of the library building rule: static: $(STLIBNAME) $(SSL_STLIB) dynamic: $(DYLIBNAME) $(SSL_DYLIB) Compare with the orignal version: dynamic: $(DYLIBNAME) static: $(STLIBNAME) ifeq ($(USE_SSL),1) dynamic: $(SSL_DYLIBNAME) static: $(SSL_STLIBNAME) endif If we want to add a new type(Ex, RDMA), for the new version, we can do like this: ########### RDMA variables start ############### ..... ########### RDMA variables end ############### static: $(STLIBNAME) $(SSL_STLIB) $(RDMA_STLIB) dynamic: $(DYLIBNAME) $(SSL_DYLIB) $(RDMA_DYLIB) ########### RDMA building rules start ############### ..... ########### RDMA building rules end ############### Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
2021-12-16FreeBSD build fixes + CI (#1026)Michael Grunder
* BSD linkage fix proposal * Touch up the Makefile to fix BSD builds Fixes #984 * Add a build in FreeBSD to GitHub Actions Lots of people use hiredis in FreeBSD so this should reduce some pain moving forward. Co-authored-by: David Carlier <devnexen@gmail.com>
2021-10-26Add build options for enabling async testsBjörn Svensson
Asynchronous testcases that requires the event library `libevent` can be built and enabled by using the added build flags: - ENABLE_ASYNC_TESTS when using CMake - TEST_ASYNC when using Make The async tests are disabled by default to avoid adding new requirements, but the testcases are built and run in CI.
2021-10-21Correcting the build target `coverage` for enabled SSL (#1009)Bjorn Svensson
* Exclude includes from /usr in coverage reporting * Correct build target `coverage` for enabled ssl `USE_SSL=1 make coverage` will now build the test binary with the forwarded define HIREDIS_TEST_SSL. This avoids inconsistency between built test binary and the testrunner `test.sh`. This enables test coverage measurements for SSL too.
2021-10-03Allow to override OPENSSL_PREFIX in LinuxYunier Perez
2020-07-19Resp3 oob push support (#841)Michael Grunder
Proper support for RESP3 PUSH messages. By default, PUSH messages are now intercepted and the reply memory freed. This means existing code should work unchanged when connecting to Redis >= 6.0.0 even if `CLIENT TRACKING` were then enabled. Additionally, we define two callbacks users can configure if they wish to handle these messages in a custom way: void redisPushFn(void *privdata, void *reply); void redisAsyncPushFn(redisAsyncContext *ac, void *reply); See #825
2020-05-22Allow users to replace allocator and handle OOM everywhere. (#800)Michael Grunder
* Adds an indirection to every allocation/deallocation to allow users to plug in ones of their choosing (use custom functions, jemalloc, etc). * Gracefully handle OOM everywhere in hiredis. This should make it possible for users of the library to have more flexibility in how they handle such situations. * Changes `redisReaderTask->elements` from an `int` to a `long long` to prevent a possible overflow when transferring the task elements into a `redisReply`. * Adds a configurable `max elements` member to `redisReader` that defaults to 2^32 - 1. This can be set to "unlimited" by setting the value to zero.
2020-05-19Fix missing SSL build/install options. (#812)Yossi Gottlieb
* Fix missing SSL build/install options. * Use different build commands for non-Linux linkers. * Add missing install targets. Fixes #809
2020-04-23Attempt to fix compilation on Solaris (#796)Michael Grunder
See #757
2020-04-13Fix USE_SSL=1 make/cmake on OSX and CMake tests (#789)Michael Grunder
* Fix linker problems when building with SSL enabled on OSX * Corrects `HIREDIS_SSL=ON` to `USE_SSL=ON` so we test building with SSL enabled on travis.
2020-01-29install alloc.hakichan
alloc.h added in # 754 But not added to INSTALL_INCLUDE_PATH
2020-01-28Safe allocation wrappers (#754)Michael Grunder
Create allocation wrappers with a configurable OOM handler (defaults to abort()). See #752, #747
2019-09-16Add SSL mode tests.Yossi Gottlieb
This repeats all existing tests in SSL mode, but does not yet provide SSL-specific tests.
2019-09-01Separate hiredis and hiredis_ssl library build.Yossi Gottlieb
2019-08-29Rename sslio.Yossi Gottlieb
2019-08-29wip: SSL code reorganization, see #705.Yossi Gottlieb
2019-04-01Port network layer to Winsockm
With this change, Hiredis builds with MinGW and runs on Windows.
2019-02-21Fix ifeq condition (thanks @regae)Mark Nunberg
2019-02-20Disable SSL by defaultMark Nunberg
2019-02-20fix pkg configvalentino
2019-02-20Fix compilation on Ubuntuvalentino
2019-02-20Don't warn on missing field initializersMark Nunberg
2019-02-20Use SSL by defaultMark Nunberg
2019-02-20Minor SSL-related fixesMark Nunberg
2019-02-20Disable SSL by defaultMark Nunberg
2019-02-20SSL for async I/OMark Nunberg
2019-02-20Initial SSL (sync) implementationMark Nunberg
2018-12-04Makefile: use predefined ARJörg Thalheim
This allows to override it for cross compilation.
2018-09-26Add CPPFLAGS to REAL_CFLAGSTom Lee
2018-05-31Use -dynamiclib instead of -shared on macOSRyan Schmidt
-dynamiclib is the correct documented flag to use to create dynamic libraries on macOS. Newer toolchains recognize -shared as a synonym of -dynamiclib but older toolchains don't.
2018-05-16Merge branch 'master' of github.com:redis/hiredismichael-grunder
2018-05-16Make sure we've got a path separator before the actual dylib namemichael-grunder
2018-05-14Use cp -pPR instead of cp -aRyan Schmidt
This should be equivalent but compatible with older versions of cp.
2018-05-14Use absolute install_nameRyan Schmidt
Fixes #437.
2018-01-05Merge pull request #561 from zshipko/masterJan-Erik Rediger
Fix "make install" on OpenBSD
2017-12-28Strip compiler options from the CC variableDmitri Vorobiev
The Makefile checks validity of the compiler command in the CC variable by feeding the contents of that variable to the `type' utility. Some environments include compiler options in the CC variable such as architecture specific tuning flags. For such cases it is necessary to first strip everything except the command itself from the contents of the CC variable prior to checking the command with the type utility, which is what this patch is introducing. We use shell parameter expansion mechanism for this purpose. Signed-off-by: Dmitri Vorobiev <dmitri.vorobiev@movial.com>
2017-12-27Remove $(ARCH) expansion from the MakefileDmitri Vorobiev
Some compilation environments (such as Yocto) define the ARCH environment variable to indicate the target architecture. For such enviroments, hiredis build fails, because the expanded $(ARCH) variable in the Makefile gets erroneously interpreted as an argument to the `-ggdb' command line option during the compilation stage or as an input file name during the linking stage. This patch removes $(ARCH) expansions from the Makefile. This doesn't harm cross-compilation, the latter goes fine with the properly assigned CC environment variable. For native builds, this patch does not imply any changes. Signed-off-by: Dmitri Vorobiev <dmitri.vorobiev@movial.com>
2017-11-28Fix "make install" on OpenBSDZach Shipko
2017-10-30build: do not assume that INSTALL is cpIgor Gnatenko
INSTALL is supposed to be `install` in most of the cases which doesn't work with directories, but works perfectly with files. Don't do this assumption. Reported-by: Jiří Vymazal <jvymazal@redhat.com> References: https://bugzilla.redhat.com/show_bug.cgi?id=1506251 Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2016-10-10Build error patch with glib-2.0Trustfarm-heart
In case of some glib-2.0 linker error , make examples can't link with glib2.0, in this case -lglib-2.0 to after includes and move to last will solve the issues.
2016-04-20fix: Rename DEBUG to DEBUG_FLAGSJan-Erik Rediger
This avoids issues with environments where DEBUG is set to an arbitrary value to force debug mode in other tools. BREAKING CHANGE: This breaks builds that explicitely set `DEBUG` to some value (even the empty value). To get back the old behaviour change the `DEBUG_FLAGS` variable now.
2015-08-24Merge branch 'soname-stable' into unstableJan-Erik Rediger
2015-07-28Use container-based Travis by installing packages through the addonJan-Erik Rediger
2015-07-27Added MacOS X addapter and corresponding example.Dmitry Bakhvalov
Added MacOS X support via CoreFoundation run loop.
2015-07-27Add Qt adapter and relative example.Pietro Cerutti
2015-07-27Add an Ivykis adapterGergely Nagy
This adds a new adapter and an example for using hiredis with the ivykis async I/O library. Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2015-07-27Use stable soname versionJan-Erik Rediger
2015-05-30Update Makefilew359405949
fix link error while run "make hiredis-example-libuv": undefined reference to `clock_gettime' undefined reference to `clock_getres'