You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by am...@apache.org on 2022/11/18 18:39:28 UTC
[trafficserver] branch 10-Dev updated: libswoc - replace string_view_util with libswoc version. (#9203)
This is an automated email from the ASF dual-hosted git repository.
amc pushed a commit to branch 10-Dev
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/10-Dev by this push:
new ce009fb40 libswoc - replace string_view_util with libswoc version. (#9203)
ce009fb40 is described below
commit ce009fb40fe1507454e83d30b0e7caf4de919c6a
Author: Alan M. Carroll <am...@apache.org>
AuthorDate: Fri Nov 18 12:39:22 2022 -0600
libswoc - replace string_view_util with libswoc version. (#9203)
* libswoc - replace string_view_util with libswoc version.
* Possible linking fix.
---
include/tscpp/util/Makefile.am | 1 -
include/tscpp/util/TextView.h | 2 +-
lib/Makefile.am | 3 +-
lib/swoc/Makefile.am | 22 +++++++-------
lib/swoc/include/swoc/TextView.h | 2 +-
.../swoc/include/swoc}/string_view_util.h | 34 +++++++---------------
lib/swoc/src/Errata.cc | 2 +-
.../util => lib/swoc/src}/string_view_util.cc | 30 +++++--------------
proxy/http/remap/Makefile.am | 3 ++
proxy/http2/Makefile.am | 8 +++--
src/traffic_cache_tool/Makefile.inc | 1 -
src/tscore/Makefile.am | 15 +++++-----
src/tscpp/util/Makefile.am | 10 +++----
13 files changed, 54 insertions(+), 79 deletions(-)
diff --git a/include/tscpp/util/Makefile.am b/include/tscpp/util/Makefile.am
index a1d18fd19..185f6c5df 100644
--- a/include/tscpp/util/Makefile.am
+++ b/include/tscpp/util/Makefile.am
@@ -23,6 +23,5 @@ library_include_HEADERS = \
LocalBuffer.h \
PostScript.h \
Strerror.h \
- string_view_util.h \
TextView.h \
TsSharedMutex.h
diff --git a/include/tscpp/util/TextView.h b/include/tscpp/util/TextView.h
index dae73abee..77ede1928 100644
--- a/include/tscpp/util/TextView.h
+++ b/include/tscpp/util/TextView.h
@@ -34,7 +34,7 @@
#include <string_view>
#include <limits>
-#include "tscpp/util/string_view_util.h"
+#include "swoc/string_view_util.h"
namespace ts
{
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 592ffa9e9..e966b9ff8 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -44,10 +44,9 @@ all-local:: swoc
clean-local::
$(MAKE) -C swoc clean
-endif
-if EXPORT_SWOC_HEADERS
install-data-local::
$(MAKE) -C swoc install
+
endif
diff --git a/lib/swoc/Makefile.am b/lib/swoc/Makefile.am
index 70442b7ec..b928917f5 100644
--- a/lib/swoc/Makefile.am
+++ b/lib/swoc/Makefile.am
@@ -16,19 +16,17 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-include $(top_srcdir)/build/tidy.mk
-
-noinst_LTLIBRARIES = libtsswoc.la
+lib_LTLIBRARIES = libtsswoc.la
library_includedir=$(includedir)/swoc
-AM_CPPFLAGS += -I$(abs_top_srcdir)/include -I$(abs_top_srcdir)/lib/swoc/include
-
-libtsswoc_la_LDFLAGS = @AM_LDFLAGS@ -no-undefined -version-info @TS_LIBTOOL_VERSION@
+AM_CPPFLAGS += @SWOC_INCLUDES@
+libtsswoc_la_LDFLAGS = @AM_LDFLAGS@ -no-undefined -release 1.4.0
libtsswoc_la_SOURCES = \
- src/ArenaWriter.cc src/bw_format.cc src/bw_ip_format.cc src/Errata.cc src/MemArena.cc src/RBTree.cc src/swoc_file.cc src/swoc_ip.cc src/TextView.cc
+ src/ArenaWriter.cc src/bw_format.cc src/bw_ip_format.cc src/Errata.cc src/MemArena.cc src/RBTree.cc src/swoc_file.cc src/swoc_ip.cc src/TextView.cc src/string_view_util.cc
+if EXPORT_SWOC_HEADERS
library_include_HEADERS = \
include/swoc/ArenaWriter.h \
include/swoc/BufferWriter.h \
@@ -41,22 +39,24 @@ library_include_HEADERS = \
include/swoc/Errata.h \
include/swoc/IntrusiveDList.h \
include/swoc/IntrusiveHashMap.h \
+ include/swoc/IPAddr.h \
+ include/swoc/IPEndpoint.h \
+ include/swoc/IPRange.h \
+ include/swoc/IPSrv.h \
include/swoc/Lexicon.h \
include/swoc/MemArena.h \
include/swoc/MemSpan.h \
include/swoc/RBTree.h \
include/swoc/Scalar.h \
include/swoc/swoc_file.h \
- include/swoc/IPEndpoint.h \
- include/swoc/IPAddr.h \
- include/swoc/IPSrv.h \
- include/swoc/IPRange.h \
include/swoc/swoc_ip.h \
include/swoc/swoc_meta.h \
include/swoc/swoc_version.h\
+ include/swoc/string_view_util.h \
include/swoc/TextView.h \
include/swoc/Vectray.h \
include/swoc/HashFNV.h
+endif
clean-local:
diff --git a/lib/swoc/include/swoc/TextView.h b/lib/swoc/include/swoc/TextView.h
index 4d7dba981..e1537416f 100644
--- a/lib/swoc/include/swoc/TextView.h
+++ b/lib/swoc/include/swoc/TextView.h
@@ -20,7 +20,7 @@
#include <limits>
#include "swoc/swoc_version.h"
-#include "tscpp/util/string_view_util.h"
+#include "swoc/string_view_util.h"
namespace swoc { inline namespace SWOC_VERSION_NS {
diff --git a/include/tscpp/util/string_view_util.h b/lib/swoc/include/swoc/string_view_util.h
similarity index 68%
rename from include/tscpp/util/string_view_util.h
rename to lib/swoc/include/swoc/string_view_util.h
index 5be1cd4a2..c47712b3f 100644
--- a/include/tscpp/util/string_view_util.h
+++ b/lib/swoc/include/swoc/string_view_util.h
@@ -1,27 +1,17 @@
+// SPDX-License-Identifier: Apache-2.0
+// Copyright Apache Software Foundation 2019
/** @file
- Utility overloads for @c std::string_view
-
- @section license License
-
- Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- agreements. See the NOTICE file distributed with this work for additional information regarding
- copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with the License. You may obtain
- a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software distributed under the License
- is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- or implied. See the License for the specific language governing permissions and limitations under
- the License.
- */
+ Additional handy utilities for @c string_view and hence also @c TextView.
+*/
#pragma once
+#include <bitset>
+#include <iosfwd>
+#include <memory.h>
+#include <string>
#include <string_view>
-#include <string.h>
-#include <strings.h>
+#include <limits>
/** Compare views with ordering, ignoring case.
*
@@ -70,8 +60,7 @@ int memcmp(const std::string_view &lhs, const std::string_view &rhs);
* @see memcmp
*/
inline int
-strcmp(const std::string_view &lhs, const std::string_view &rhs)
-{
+strcmp(const std::string_view &lhs, const std::string_view &rhs) {
return memcmp(lhs, rhs);
}
@@ -93,7 +82,6 @@ strcmp(const std::string_view &lhs, const std::string_view &rhs)
*
*/
inline void *
-memcpy(void *dst, const std::string_view &src)
-{
+memcpy(void *dst, const std::string_view &src) {
return memcpy(dst, src.data(), src.size());
}
diff --git a/lib/swoc/src/Errata.cc b/lib/swoc/src/Errata.cc
index d7fa508b3..403300931 100644
--- a/lib/swoc/src/Errata.cc
+++ b/lib/swoc/src/Errata.cc
@@ -42,7 +42,7 @@ Errata::Severity Errata::FAILURE_SEVERITY(2);
Errata::Severity Errata::FILTER_SEVERITY(0);
/// Default set of severity names.
-std::array<swoc::TextView, 4> Severity_Names{{"Info", "Warning", "Error"}};
+std::array<swoc::TextView, 3> Severity_Names{{"Info", "Warning", "Error"}};
swoc::MemSpan<TextView const> Errata::SEVERITY_NAMES{Severity_Names.data(), Severity_Names.size()};
diff --git a/src/tscpp/util/string_view_util.cc b/lib/swoc/src/string_view_util.cc
similarity index 52%
rename from src/tscpp/util/string_view_util.cc
rename to lib/swoc/src/string_view_util.cc
index 5cc213b5a..3c483ca75 100644
--- a/src/tscpp/util/string_view_util.cc
+++ b/lib/swoc/src/string_view_util.cc
@@ -1,29 +1,14 @@
+// SPDX-License-Identifier: Apache-2.0
+// Copyright Apache Software Foundation 2019
/** @file
- Utilities for @c std::string_view
-
- @section license License
-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with this
- work for additional information regarding copyright ownership. The ASF
- licenses this file to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- License for the specific language governing permissions and limitations under
- the License.
+ Additional handy utilities for @c string_view and hence also @c TextView.
*/
-#include "tscpp/util/string_view_util.h"
+
+#include "swoc/string_view_util.h"
int
-memcmp(std::string_view const &lhs, std::string_view const &rhs)
-{
+memcmp(std::string_view const &lhs, std::string_view const &rhs) {
int zret = 0;
size_t n = rhs.size();
@@ -42,8 +27,7 @@ memcmp(std::string_view const &lhs, std::string_view const &rhs)
}
int
-strcasecmp(const std::string_view &lhs, const std::string_view &rhs)
-{
+strcasecmp(const std::string_view &lhs, const std::string_view &rhs) {
int zret = 0;
size_t n = rhs.size();
diff --git a/proxy/http/remap/Makefile.am b/proxy/http/remap/Makefile.am
index 31c9accd5..68f494543 100644
--- a/proxy/http/remap/Makefile.am
+++ b/proxy/http/remap/Makefile.am
@@ -142,6 +142,7 @@ test_NextHopStrategyFactory_LDADD = \
$(top_builddir)/mgmt/libmgmt_p.la \
$(top_builddir)/iocore/utils/libinkutils.a \
$(top_builddir)/src/tscpp/util/libtscpputil.la \
+ @SWOC_LIBS@ \
@YAMLCPP_LIBS@ \
@HWLOC_LIBS@
@@ -173,6 +174,7 @@ test_NextHopRoundRobin_LDADD = \
$(top_builddir)/mgmt/libmgmt_p.la \
$(top_builddir)/iocore/utils/libinkutils.a \
$(top_builddir)/src/tscpp/util/libtscpputil.la \
+ @SWOC_LIBS@ \
@YAMLCPP_LIBS@ \
@HWLOC_LIBS@
@@ -204,6 +206,7 @@ test_NextHopConsistentHash_LDADD = \
$(top_builddir)/mgmt/libmgmt_p.la \
$(top_builddir)/iocore/utils/libinkutils.a \
$(top_builddir)/src/tscpp/util/libtscpputil.la \
+ @SWOC_LIBS@ \
@YAMLCPP_LIBS@ \
@HWLOC_LIBS@
diff --git a/proxy/http2/Makefile.am b/proxy/http2/Makefile.am
index 748306479..c0444d010 100644
--- a/proxy/http2/Makefile.am
+++ b/proxy/http2/Makefile.am
@@ -100,7 +100,8 @@ test_libhttp2_SOURCES = \
test_Http2DependencyTree_LDADD = \
$(top_builddir)/src/tscore/libtscore.la \
- $(top_builddir)/src/tscpp/util/libtscpputil.la
+ $(top_builddir)/src/tscpp/util/libtscpputil.la \
+ @SWOC_LIBS@
test_Http2DependencyTree_CPPFLAGS = $(AM_CPPFLAGS)\
-I$(abs_top_srcdir)/tests/include
@@ -112,7 +113,8 @@ test_Http2DependencyTree_SOURCES = \
test_Http2FrequencyCounter_LDADD = \
$(top_builddir)/iocore/eventsystem/libinkevent.a \
$(top_builddir)/src/tscore/libtscore.la \
- $(top_builddir)/src/tscpp/util/libtscpputil.la
+ $(top_builddir)/src/tscpp/util/libtscpputil.la \
+ @SWOC_LIBS@
test_Http2FrequencyCounter_CPPFLAGS = $(AM_CPPFLAGS)\
-I$(abs_top_srcdir)/tests/include
@@ -130,7 +132,7 @@ test_HPACK_LDADD = \
$(top_builddir)/src/records/librecords_p.a \
$(top_builddir)/mgmt/libmgmt_p.la \
$(top_builddir)/proxy/shared/libUglyLogStubs.a \
- @HWLOC_LIBS@
+ @SWOC_LIBS@ @HWLOC_LIBS@
test_HPACK_SOURCES = \
test_HPACK.cc \
diff --git a/src/traffic_cache_tool/Makefile.inc b/src/traffic_cache_tool/Makefile.inc
index 68bcb9546..71dc559e0 100644
--- a/src/traffic_cache_tool/Makefile.inc
+++ b/src/traffic_cache_tool/Makefile.inc
@@ -48,7 +48,6 @@ traffic_cache_tool_traffic_cache_tool_LDADD = \
$(top_builddir)/src/tscore/.libs/ts_file.o \
$(top_builddir)/src/tscore/.libs/Errata.o \
$(top_builddir)/src/tscpp/util/.libs/TextView.o \
- $(top_builddir)/src/tscpp/util/.libs/string_view_util.o \
$(top_builddir)/src/tscore/.libs/Regex.o \
$(top_builddir)/src/tscore/.libs/CryptoHash.o \
$(top_builddir)/src/tscore/.libs/MMH.o \
diff --git a/src/tscore/Makefile.am b/src/tscore/Makefile.am
index 563f87f3a..202a86b76 100644
--- a/src/tscore/Makefile.am
+++ b/src/tscore/Makefile.am
@@ -35,21 +35,22 @@ lib_LTLIBRARIES = libtscore.la
AM_CPPFLAGS += \
$(iocore_include_dirs) \
+ @SWOC_INCLUDES@ \
-I$(abs_top_srcdir)/include \
-I$(abs_top_srcdir)/lib \
- $(TS_INCLUDES) @SWOC_INCLUDES@ \
+ $(TS_INCLUDES) \
@YAMLCPP_INCLUDES@
libtscore_la_LDFLAGS = @AM_LDFLAGS@ -no-undefined -version-info @TS_LIBTOOL_VERSION@ @SWOC_LDFLAGS@ @YAMLCPP_LDFLAGS@
libtscore_la_LIBADD = \
$(top_builddir)/src/tscpp/util/libtscpputil.la \
- @HWLOC_LIBS@ \
@SWOC_LIBS@ \
@LIBOBJS@ \
@LIBPCRE@ \
@OPENSSL_LIBS@ \
@LIBRESOLV@ \
@LIBCAP@ \
+ @HWLOC_LIBS@ \
@YAMLCPP_LIBS@ \
-lc
@@ -150,23 +151,23 @@ ParseRulesCType: CompileParseRules
LSAN_OPTIONS='detect_leaks=0' ./CompileParseRules
test_atomic_SOURCES = test_atomic.cc
-test_atomic_LDADD = libtscore.la $(top_builddir)/src/tscpp/util/libtscpputil.la @LIBPCRE@
+test_atomic_LDADD = libtscore.la $(top_builddir)/src/tscpp/util/libtscpputil.la @SWOC_LIBSS@ @LIBPCRE@
test_freelist_SOURCES = test_freelist.cc
-test_freelist_LDADD = libtscore.la $(top_builddir)/src/tscpp/util/libtscpputil.la @LIBPCRE@
+test_freelist_LDADD = libtscore.la $(top_builddir)/src/tscpp/util/libtscpputil.la @SWOC_LIBS@ @LIBPCRE@
test_geometry_SOURCES = test_geometry.cc
-test_geometry_LDADD = libtscore.la $(top_builddir)/src/tscpp/util/libtscpputil.la @LIBPCRE@
+test_geometry_LDADD = libtscore.la $(top_builddir)/src/tscpp/util/libtscpputil.la @SWOC_LIBS@ @LIBPCRE@ -lstdc++
test_X509HostnameValidator_CPPFLAGS = $(AM_CPPFLAGS) -I$(abs_top_srcdir)/tests/include
-test_X509HostnameValidator_LDADD = libtscore.la $(top_builddir)/src/tscpp/util/libtscpputil.la @LIBPCRE@ @OPENSSL_LIBS@
+test_X509HostnameValidator_LDADD = libtscore.la $(top_builddir)/src/tscpp/util/libtscpputil.la @SWOC_LIBS@ @LIBPCRE@ @OPENSSL_LIBS@
test_X509HostnameValidator_SOURCES = unit_tests/test_X509HostnameValidator.cc
test_tscore_CPPFLAGS = $(AM_CPPFLAGS)\
-I$(abs_top_srcdir)/tests/include
test_tscore_CXXFLAGS = -Wno-array-bounds $(AM_CXXFLAGS)
-test_tscore_LDADD = libtscore.la $(top_builddir)/src/tscpp/util/libtscpputil.la $(top_builddir)/iocore/eventsystem/libinkevent.a @OPENSSL_LIBS@
+test_tscore_LDADD = libtscore.la $(top_builddir)/src/tscpp/util/libtscpputil.la $(top_builddir)/iocore/eventsystem/libinkevent.a @SWOC_LIBS@ @OPENSSL_LIBS@
test_tscore_SOURCES = \
unit_tests/unit_test_main.cc \
unit_tests/test_AcidPtr.cc \
diff --git a/src/tscpp/util/Makefile.am b/src/tscpp/util/Makefile.am
index 7683843c3..5e9aa2e34 100644
--- a/src/tscpp/util/Makefile.am
+++ b/src/tscpp/util/Makefile.am
@@ -24,18 +24,18 @@ TESTS = $(check_PROGRAMS)
lib_LTLIBRARIES = libtscpputil.la
-AM_CPPFLAGS += -I$(abs_top_srcdir)/include
+AM_CPPFLAGS += -I$(abs_top_srcdir)/include @SWOC_INCLUDES@
-libtscpputil_la_LDFLAGS = @AM_LDFLAGS@ -no-undefined -version-info @TS_LIBTOOL_VERSION@
+libtscpputil_la_LDFLAGS = @AM_LDFLAGS@ -no-undefined -version-info @TS_LIBTOOL_VERSION@ @SWOC_LDFLAGS@
libtscpputil_la_SOURCES = \
- TextView.cc string_view_util.cc
+ TextView.cc
test_tscpputil_CPPFLAGS = $(AM_CPPFLAGS)\
- -I$(abs_top_srcdir)/tests/include
+ -I$(abs_top_srcdir)/tests/include @SWOC_INCLUDES@
test_tscpputil_CXXFLAGS = -Wno-array-bounds $(AM_CXXFLAGS)
-test_tscpputil_LDADD = libtscpputil.la
+test_tscpputil_LDADD = libtscpputil.la @SWOC_LIBS@
test_tscpputil_SOURCES = \
unit_tests/unit_test_main.cc \
unit_tests/test_LocalBuffer.cc \