Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
ruanhaishen
hiredis
Commits
5872d818
Commit
5872d818
authored
Sep 01, 2019
by
Yossi Gottlieb
Browse files
Separate hiredis and hiredis_ssl library build.
parent
5c85a041
Changes
2
Hide whitespace changes
Inline
Side-by-side
Makefile
View file @
5872d818
...
...
@@ -3,14 +3,17 @@
# Copyright (C) 2010-2011 Pieter Noordhuis <pcnoordhuis at gmail dot com>
# This file is released under the BSD license, see the COPYING file
OBJ
=
net.o hiredis.o sds.o async.o read.o sockcompat.o ssl.o
OBJ
=
net.o hiredis.o sds.o async.o read.o sockcompat.o
SSL_OBJ
=
ssl.o
EXAMPLES
=
hiredis-example hiredis-example-libevent hiredis-example-libev hiredis-example-glib
ifeq
($(USE_SSL),1)
EXAMPLES
+=
hiredis-example-ssl hiredis-example-libevent-ssl
endif
TESTS
=
hiredis-test
LIBNAME
=
libhiredis
SSL_LIBNAME
=
libhiredis_ssl
PKGCONFNAME
=
hiredis.pc
SSL_PKGCONFNAME
=
hiredis_ssl.pc
HIREDIS_MAJOR
=
$(
shell
grep
HIREDIS_MAJOR hiredis.h |
awk
'{print $$3
}
'
)
HIREDIS_MINOR
=
$(
shell
grep
HIREDIS_MINOR hiredis.h |
awk
'{print $$3
}
'
)
...
...
@@ -52,26 +55,22 @@ STLIBSUFFIX=a
DYLIB_MINOR_NAME
=
$(LIBNAME)
.
$(DYLIBSUFFIX)
.
$(HIREDIS_SONAME)
DYLIB_MAJOR_NAME
=
$(LIBNAME)
.
$(DYLIBSUFFIX)
.
$(HIREDIS_MAJOR)
DYLIBNAME
=
$(LIBNAME)
.
$(DYLIBSUFFIX)
DYLIB_MAKE_CMD
=
$(CC)
-shared
-Wl
,-soname,
$(DYLIB_MINOR_NAME)
-o
$(DYLIBNAME)
SSL_DYLIBNAME
=
$(SSL_LIBNAME)
.
$(DYLIBSUFFIX)
DYLIB_MAKE_CMD
=
$(CC)
-shared
-Wl
,-soname,
$(DYLIB_MINOR_NAME)
STLIBNAME
=
$(LIBNAME)
.
$(STLIBSUFFIX)
STLIB_MAKE_CMD
=
$(AR)
rcs
$(STLIBNAME)
SSL_STLIBNAME
=
$(SSL_LIBNAME)
.
$(STLIBSUFFIX)
STLIB_MAKE_CMD
=
$(AR)
rcs
# Platform-specific overrides
uname_S
:=
$(
shell
sh
-c
'uname -s 2>/dev/null || echo not'
)
USE_SSL
?=
0
ifeq
($(USE_SSL),1)
# This is the prefix of openssl on my system. This should be the sane default
# based on the platform
ifeq
($(uname_S),Linux)
CFLAGS
+=
-DHIREDIS_SSL
LDFLAGS
+=
-lssl
-lcrypto
else
OPENSSL_PREFIX
?=
/usr/local/opt/openssl
CFLAGS
+=
-I
$(OPENSSL_PREFIX)
/include
-DHIREDIS_SSL
LDFLAGS
+=
-L
$(OPENSSL_PREFIX)
/lib
-lssl
-lcrypto
endif
ifeq
($(uname_S),Linux)
SSL_LDFLAGS
=
-lssl
-lcrypto
else
OPENSSL_PREFIX
?=
/usr/local/opt/openssl
CFLAGS
+=
-I
$(OPENSSL_PREFIX)
/include
SSL_LDFLAGS
+=
-L
$(OPENSSL_PREFIX)
/lib
-lssl
-lcrypto
endif
ifeq
($(uname_S),SunOS)
...
...
@@ -85,6 +84,9 @@ ifeq ($(uname_S),Darwin)
endif
all
:
$(DYLIBNAME) $(STLIBNAME) hiredis-test $(PKGCONFNAME)
ifeq
($(USE_SSL),1)
all
:
$(SSL_DYLIBNAME) $(SSL_STLIBNAME) $(SSL_PKGCONFNAME)
endif
# Deps (use make dep to generate this)
async.o
:
async.c fmacros.h async.h hiredis.h read.h sds.h net.h dict.c dict.h
...
...
@@ -98,20 +100,30 @@ ssl.o: ssl.c hiredis.h
test.o
:
test.c fmacros.h hiredis.h read.h sds.h
$(DYLIBNAME)
:
$(OBJ)
$(DYLIB_MAKE_CMD)
$(OBJ)
$(REAL_LDFLAGS)
$(DYLIB_MAKE_CMD)
-o
$(DYLIBNAME)
$(OBJ)
$(REAL_LDFLAGS)
$(STLIBNAME)
:
$(OBJ)
$(STLIB_MAKE_CMD)
$(OBJ)
$(STLIB_MAKE_CMD)
$(STLIBNAME)
$(OBJ)
$(SSL_DYLIBNAME)
:
$(SSL_OBJ)
$(DYLIB_MAKE_CMD)
-o
$(SSL_DYLIBNAME)
$(SSL_OBJ)
$(REAL_LDFLAGS)
$(SSL_LDFLAGS)
$(SSL_STLIBNAME)
:
$(SSL_OBJ)
$(STLIB_MAKE_CMD)
$(SSL_STLIBNAME)
$(SSL_OBJ)
dynamic
:
$(DYLIBNAME)
static
:
$(STLIBNAME)
ifeq
($(USE_SSL),1)
dynamic
:
$(SSL_DYLIBNAME)
static
:
$(SSL_STLIBNAME)
endif
# Binaries:
hiredis-example-libevent
:
examples/example-libevent.c adapters/libevent.h $(STLIBNAME)
$(CC)
-o
examples/
$@
$(REAL_CFLAGS)
-I
.
$<
-levent
$(STLIBNAME)
$(REAL_LDFLAGS)
hiredis-example-libevent-ssl
:
examples/example-libevent-ssl.c adapters/libevent.h $(STLIBNAME)
$(CC)
-o
examples/
$@
$(REAL_CFLAGS)
-I
.
$<
-levent
$(STLIBNAME)
$(
REA
L_LDFLAGS)
hiredis-example-libevent-ssl
:
examples/example-libevent-ssl.c adapters/libevent.h $(STLIBNAME)
$(SSL_STLIBNAME)
$(CC)
-o
examples/
$@
$(REAL_CFLAGS)
-I
.
$<
-levent
$(STLIBNAME)
$(
SSL_STLIBNAME)
$(REAL_LDFLAGS)
$(SS
L_LDFLAGS)
hiredis-example-libev
:
examples/example-libev.c adapters/libev.h $(STLIBNAME)
$(CC)
-o
examples/
$@
$(REAL_CFLAGS)
-I
.
$<
-lev
$(STLIBNAME)
$(REAL_LDFLAGS)
...
...
@@ -125,8 +137,8 @@ hiredis-example-ivykis: examples/example-ivykis.c adapters/ivykis.h $(STLIBNAME)
hiredis-example-macosx
:
examples/example-macosx.c adapters/macosx.h $(STLIBNAME)
$(CC)
-o
examples/
$@
$(REAL_CFLAGS)
-I
.
$<
-framework
CoreFoundation
$(STLIBNAME)
$(REAL_LDFLAGS)
hiredis-example-ssl
:
examples/example-ssl.c $(STLIBNAME)
$(CC)
-o
examples/
$@
$(REAL_CFLAGS)
-I
.
$<
$(STLIBNAME)
$(
REA
L_LDFLAGS)
hiredis-example-ssl
:
examples/example-ssl.c $(STLIBNAME)
$(SSL_STLIBNAME)
$(CC)
-o
examples/
$@
$(REAL_CFLAGS)
-I
.
$<
$(STLIBNAME)
$(
SSL_STLIBNAME)
$(REAL_LDFLAGS)
$(SS
L_LDFLAGS)
ifndef
AE_DIR
hiredis-example-ae
:
...
...
@@ -182,7 +194,7 @@ check: hiredis-test
$(CC)
-std
=
c99
-pedantic
-c
$(REAL_CFLAGS)
$<
clean
:
rm
-rf
$(DYLIBNAME)
$(STLIBNAME)
$(TESTS)
$(PKGCONFNAME)
examples/hiredis-example
*
*
.o
*
.gcda
*
.gcno
*
.gcov
rm
-rf
$(DYLIBNAME)
$(STLIBNAME)
$(SSL_DYLIBNAME)
$(SSL_STLIBNAME)
$(TESTS)
$(PKGCONFNAME)
examples/hiredis-example
*
*
.o
*
.gcda
*
.gcno
*
.gcov
dep
:
$(CC)
$(CPPFLAGS)
$(CFLAGS)
-MM
*
.c
...
...
@@ -200,11 +212,22 @@ $(PKGCONFNAME): hiredis.h
@
echo
Description: Minimalistic C client library
for
Redis.
>>
$@
@
echo
Version:
$(HIREDIS_MAJOR)
.
$(HIREDIS_MINOR)
.
$(HIREDIS_PATCH)
>>
$@
@
echo
Libs:
-L
\$
${libdir}
-lhiredis
>>
$@
ifdef
USE_SSL
@
echo
Libs.private:
-lssl
-lcrypto
>>
$@
endif
@
echo
Cflags:
-I
\$
${includedir}
-D_FILE_OFFSET_BITS
=
64
>>
$@
$(SSL_PKGCONFNAME)
:
hiredis.h
@
echo
"Generating
$@
for pkgconfig..."
@
echo
prefix
=
$(PREFIX)
>
$@
@
echo
exec_prefix
=
\$
${prefix}
>>
$@
@
echo
libdir
=
$(PREFIX)
/
$(LIBRARY_PATH)
>>
$@
@
echo
includedir
=
$(PREFIX)
/
$(INCLUDE_PATH)
>>
$@
@
echo
>>
$@
@
echo
Name: hiredis_ssl
>>
$@
@
echo
Description: SSL Support
for
hiredis.
>>
$@
@
echo
Version:
$(HIREDIS_MAJOR)
.
$(HIREDIS_MINOR)
.
$(HIREDIS_PATCH)
>>
$@
@
echo
Requires: hiredis
>>
$@
@
echo
Libs:
-L
\$
${libdir}
-lhiredis_ssl
>>
$@
@
echo
Libs.private:
-lssl
-lcrypto
>>
$@
install
:
$(DYLIBNAME) $(STLIBNAME) $(PKGCONFNAME)
mkdir
-p
$(INSTALL_INCLUDE_PATH)
$(INSTALL_INCLUDE_PATH)
/adapters
$(INSTALL_LIBRARY_PATH)
$(INSTALL)
hiredis.h async.h read.h sds.h
$(INSTALL_INCLUDE_PATH)
...
...
ssl.c
View file @
5872d818
...
...
@@ -34,7 +34,6 @@
#include "async.h"
#include <assert.h>
#ifdef HIREDIS_SSL
#include <pthread.h>
#include <errno.h>
#include <string.h>
...
...
@@ -447,4 +446,3 @@ redisContextFuncs redisContextSSLFuncs = {
.
write
=
redisSSLWrite
};
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment