Repository: trafficserver Updated Branches: refs/heads/master ef6fb54f0 -> 6cf460d82
TS-4190: Disabling LuaJIT in configure still builds portions with Lua. Don't try to build Lua derived metrics support if we don't have any LuaJIT support. Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/e0f8cf1a Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/e0f8cf1a Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/e0f8cf1a Branch: refs/heads/master Commit: e0f8cf1a10082218fce88e12b32e24da104a6db0 Parents: ef6fb54 Author: James Peach <[email protected]> Authored: Thu Feb 11 09:55:55 2016 -0800 Committer: James Peach <[email protected]> Committed: Thu Feb 18 09:10:42 2016 -0800 ---------------------------------------------------------------------- cmd/traffic_manager/Makefile.am | 19 +++++++++++-------- cmd/traffic_manager/metrics.h | 19 +++++++++++++++++++ cmd/traffic_manager/traffic_manager.cc | 15 +++++++++++++++ configure.ac | 3 ++- lib/ts/ink_config.h.in | 5 +++-- 5 files changed, 50 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/e0f8cf1a/cmd/traffic_manager/Makefile.am ---------------------------------------------------------------------- diff --git a/cmd/traffic_manager/Makefile.am b/cmd/traffic_manager/Makefile.am index 7b615fd..c92b788 100644 --- a/cmd/traffic_manager/Makefile.am +++ b/cmd/traffic_manager/Makefile.am @@ -41,23 +41,20 @@ AM_LDFLAGS = \ @EXPAT_LDFLAGS@ \ @OPENSSL_LDFLAGS@ -AM_LDFLAGS += \ - $(LUAJIT_LDFLAGS) - traffic_manager_SOURCES = \ AddConfigFilesHere.cc \ - traffic_manager.cc \ - metrics.cc \ + MgmtHandlers.cc \ + MgmtHandlers.h \ StatProcessor.cc \ StatProcessor.h \ StatType.cc \ StatType.h \ StatXML.cc \ StatXML.h \ - MgmtHandlers.cc \ - MgmtHandlers.h \ WebOverview.cc \ - WebOverview.h + WebOverview.h \ + metrics.h \ + traffic_manager.cc traffic_manager_LDADD = \ $(top_builddir)/mgmt/api/libmgmtapilocal.la \ @@ -70,6 +67,12 @@ traffic_manager_LDADD = \ $(top_builddir)/proxy/shared/libdiagsconfig.a if BUILD_LUAJIT +AM_LDFLAGS += \ + $(LUAJIT_LDFLAGS) + +traffic_manager_SOURCES += \ + metrics.cc + traffic_manager_LDADD += \ $(top_builddir)/lib/bindings/libbindings.la \ $(top_builddir)/lib/luajit/src/libluajit.a http://git-wip-us.apache.org/repos/asf/trafficserver/blob/e0f8cf1a/cmd/traffic_manager/metrics.h ---------------------------------------------------------------------- diff --git a/cmd/traffic_manager/metrics.h b/cmd/traffic_manager/metrics.h index 4bc97ce..4155cd3 100644 --- a/cmd/traffic_manager/metrics.h +++ b/cmd/traffic_manager/metrics.h @@ -24,8 +24,27 @@ #ifndef METRICS_H_D289E71B_AAC5_4CF3_9954_D54EDED60D1B #define METRICS_H_D289E71B_AAC5_4CF3_9954_D54EDED60D1B +#if TS_USE_LUAJIT + bool metrics_binding_initialize(BindingInstance &binding); void metrics_binding_destroy(BindingInstance &binding); void metrics_binding_evaluate(BindingInstance &binding); +#else /* TS_USE_LUAJIT */ + +struct BindingInstance{}; + +static inline bool +metrics_binding_initialize(BindingInstance &binding) { + return false; +} + +static inline void +metrics_binding_destroy(BindingInstance &binding) { } + +static inline void +metrics_binding_evaluate(BindingInstance &binding) { } + +#endif /* TS_USE_LUAJIT */ + #endif /* METRICS_H_D289E71B_AAC5_4CF3_9954_D54EDED60D1B */ http://git-wip-us.apache.org/repos/asf/trafficserver/blob/e0f8cf1a/cmd/traffic_manager/traffic_manager.cc ---------------------------------------------------------------------- diff --git a/cmd/traffic_manager/traffic_manager.cc b/cmd/traffic_manager/traffic_manager.cc index cae77b8..3754d06 100644 --- a/cmd/traffic_manager/traffic_manager.cc +++ b/cmd/traffic_manager/traffic_manager.cc @@ -51,8 +51,11 @@ #include "StatProcessor.h" #include "P_RecLocal.h" +#if TS_USE_LUAJIT #include "bindings/bindings.h" #include "bindings/metrics.h" +#endif + #include "metrics.h" #if TS_USE_POSIX_CAP @@ -738,6 +741,18 @@ main(int argc, const char **argv) RecRegisterStatInt(RECT_NODE, "proxy.node.config.restart_required.manager", 0, RECP_NON_PERSISTENT); RecRegisterStatInt(RECT_NODE, "proxy.node.config.restart_required.cop", 0, RECP_NON_PERSISTENT); +#if !TS_USE_LUAJIT + if (enable_lua) { + static bool warned = false; + enable_lua = false; + + if (!warned) { + Warning("missing Lua support, disabling Lua derived metrics"); + warned = true; + } + } +#endif + if (enable_lua) { binding = new BindingInstance; metrics_binding_initialize(*binding); http://git-wip-us.apache.org/repos/asf/trafficserver/blob/e0f8cf1a/configure.ac ---------------------------------------------------------------------- diff --git a/configure.ac b/configure.ac index aa2b805..d6c74d4 100644 --- a/configure.ac +++ b/configure.ac @@ -466,7 +466,8 @@ AC_ARG_ENABLE([luajit], ) AC_MSG_RESULT([$enable_luajit]) AM_CONDITIONAL([BUILD_LUAJIT], [ test "x${enable_luajit}" = "xyes" ]) - +TS_ARG_ENABLE_VAR([use], [luajit]) +AC_SUBST(use_luajit) # # Check if we should allow builds on 32-bit platforms http://git-wip-us.apache.org/repos/asf/trafficserver/blob/e0f8cf1a/lib/ts/ink_config.h.in ---------------------------------------------------------------------- diff --git a/lib/ts/ink_config.h.in b/lib/ts/ink_config.h.in index a2c1ac9..c4edecd 100644 --- a/lib/ts/ink_config.h.in +++ b/lib/ts/ink_config.h.in @@ -78,9 +78,10 @@ #define TS_USE_SET_RBIO @use_set_rbio@ #define TS_USE_TLS_ECKEY @use_tls_eckey@ #define TS_USE_LINUX_NATIVE_AIO @use_linux_native_aio@ -#define TS_HAS_SO_PEERCRED @has_so_peercred@ - #define TS_USE_REMOTE_UNWINDING @use_remote_unwinding@ +#define TS_USE_LUAJIT @use_luajit@ + +#define TS_HAS_SO_PEERCRED @has_so_peercred@ /* OS API definitions */ #define GETHOSTBYNAME_R_GLIBC2 @gethostbyname_r_glibc2@
