4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
22 # Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
23 # Copyright (c) 2013 Erol Zavidic. All rights reserved.
24 # Copyright (c) 2024 Friedrich Kink. All rights reserved.
29 include ..
/..
/..
/make-rules
/shared-macros.mk
31 COMPONENT_NAME
= libmemcached
32 COMPONENT_MAJOR_VERSION
= 1.1
33 COMPONENT_VERSION
= $(COMPONENT_MAJOR_VERSION
).4
34 COMPONENT_SUMMARY
= libmemcached-awesome is an open source C
/C
++ client library and tools for the memcached server
35 COMPONENT_FMRI
= library
/$(COMPONENT_NAME
)
36 COMPONENT_DESCRIPTION
= It has been designed to be light on memory usage
, thread safe
, and provide full access to server side methods.
37 COMPONENT_SRC
= $(COMPONENT_NAME
)-$(COMPONENT_VERSION
)
38 COMPONENT_ARCHIVE
= $(COMPONENT_SRC
).
tar.gz
39 COMPONENT_ARCHIVE_HASH
= sha256
:c477e1f6510e1dc698e84f3717ce690a8f65b94c616ecaa62306cce0f5e3116a
40 COMPONENT_ARCHIVE_URL
= https
://github.com
/awesomized
/$(COMPONENT_NAME
)/archive
/refs
/tags/$(COMPONENT_VERSION
).
tar.gz
41 COMPONENT_PROJECT_URL
= https
://awesomized.github.io
/libmemcached
42 COMPONENT_CLASSIFICATION
= System
/Libraries
43 COMPONENT_LICENSE
= BSD-3-Clause
44 COMPONENT_LICENSE_FILE
= LICENSE.HEADER
46 include $(WS_MAKE_RULES
)/common.mk
48 LDFLAGS
+= -lsocket
-lnsl
50 CMAKE_OPTIONS
+= -DBUILD_SHARED_LIBS
=ON
51 CMAKE_OPTIONS
+= -DBUILD_DOCS_MAN
=ON
52 CMAKE_OPTIONS
+= -DBUILD_TESTING
=ON
53 CMAKE_OPTIONS
+= -DENABLE_MEMASLAP
=ON
54 CMAKE_OPTIONS
+= -DENABLE_HASH_HSIEH
=ON
55 CMAKE_OPTIONS
+= -DENABLE_HASH_FNV64
=ON
56 CMAKE_OPTIONS
+= -DENABLE_HASH_MURMUR
=ON
57 CMAKE_OPTIONS
+= -DENABLE_SASL
=OFF
58 CMAKE_OPTIONS
+= -DENABLE_DTRACE
=OFF
59 CMAKE_OPTIONS
+= -DENABLE_OPENSSL_CRYPTO
=OFF
61 # need some files in $(SOURCE_DIR)/docs during build
62 COMPONENT_PRE_CONFIGURE_ACTION
= \
63 ($(CLONEY
) $(SOURCE_DIR
) $(@D
))
65 ASLR_MODE
= $(ASLR_ENABLE
)
67 COMPONENT_TEST_TRANSFORMS
= \
69 '-e "s/Passed.*$$/Passed/p" ' \
70 '-e "s/Failed .*$$/Failed/p" '
72 COMPONENT_TEST_ARGS
+= -k
-i
74 COMPONENT_POST_INSTALL_ACTION
= \
75 for file in
`find $(PROTO_DIR)$(USRLIBDIR64) -name "*.so.*"`; do \
76 /usr
/bin
/elfedit
-e
'dyn:value -s RUNPATH "$(GCC_LIBDIR)"' $$file ; \
77 /usr
/bin
/elfedit
-e
'dyn:value -s RPATH "$(GCC_LIBDIR)"' $$file ; \
79 for file in
`find $(PROTO_DIR)$(USRBINDIR) -name "mem*"`; do \
80 /usr
/bin
/elfedit
-e
'dyn:value -s RUNPATH "$(GCC_LIBDIR)"' $$file ; \
81 /usr
/bin
/elfedit
-e
'dyn:value -s RPATH "$(GCC_LIBDIR)"' $$file ; \
84 # Manually added dependencies
85 REQUIRED_PACKAGES
+= service
/memcached
87 # Auto-generated dependencies
88 REQUIRED_PACKAGES
+= $(GCC_RUNTIME_PKG
)
89 REQUIRED_PACKAGES
+= $(GXX_RUNTIME_PKG
)
90 REQUIRED_PACKAGES
+= library
/libevent2
91 REQUIRED_PACKAGES
+= system
/library
92 REQUIRED_PACKAGES
+= system
/library
/math