mirror of
https://github.com/warmcat/libwebsockets.git
synced 2025-03-09 00:00:04 +01:00
introduce library version plus git hash
This exposes the library version and git head hash it was built from into LWS_LIBRARY_VERSION and LWS_BUILD_HASH. These are combined into a version string that's both printed as a notice log by the library and made available to the app using a new api lws_get_library_version(). The version looks like 1.1 178d78c Signed-off-by: Andy Green <andy.green@linaro.org>
This commit is contained in:
parent
2d7acec9b2
commit
7b40545e92
7 changed files with 61 additions and 3 deletions
|
@ -10,3 +10,4 @@ EXTRA_DIST=scripts/kernel-doc
|
|||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = libwebsockets.pc
|
||||
|
||||
|
||||
|
|
11
changelog
11
changelog
|
@ -1,6 +1,17 @@
|
|||
Changelog
|
||||
---------
|
||||
|
||||
(development since 1.1....)
|
||||
|
||||
User api additions
|
||||
------------------
|
||||
|
||||
- lws_get_library_version() returns a const char * with a string like
|
||||
"1.1 9e7f737", representing the library version from configure.ac
|
||||
and the git HEAD hash the library was built from
|
||||
|
||||
|
||||
|
||||
v1.1-chrome26-firefox18
|
||||
=======================
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ([2.61])
|
||||
AC_INIT(libwebsockets, 1.1, andy@warmcat.com)
|
||||
AC_INIT(libwebsockets, 1.1, andy@warmcat.com, libwebsockets, http://libwebsockets.org)
|
||||
AC_CONFIG_SRCDIR([test-server/test-server.c])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
|
||||
|
@ -18,6 +18,10 @@ AC_PROG_INSTALL
|
|||
AC_PROG_MAKE_SET
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
|
||||
applyhash='CFLAGS+= -DLWS_LIBRARY_VERSION=\"$(PACKAGE_VERSION)\" -DLWS_BUILD_HASH=\"${shell git log -n 1 --pretty=%h}\"'
|
||||
AC_SUBST([applyhash])
|
||||
AM_SUBST_NOTMAKE([applyhash])
|
||||
|
||||
#
|
||||
#
|
||||
#
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
@applyhash@
|
||||
|
||||
lib_LTLIBRARIES=libwebsockets.la
|
||||
include_HEADERS=libwebsockets.h
|
||||
dist_libwebsockets_la_SOURCES=libwebsockets.c \
|
||||
|
@ -42,7 +44,7 @@ else
|
|||
dist_libwebsockets_la_SOURCES += sha-1.c
|
||||
endif
|
||||
|
||||
libwebsockets_la_CFLAGS=-Wall -std=gnu99 -pedantic -g
|
||||
libwebsockets_la_CFLAGS=-Wall -std=gnu99 -pedantic
|
||||
libwebsockets_la_LDFLAGS=
|
||||
|
||||
if DISABLE_DEBUG
|
||||
|
|
|
@ -48,11 +48,16 @@ int openssl_websocket_private_data_index;
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef LWS_BUILD_HASH
|
||||
#define LWS_BUILD_HASH "unknown-build-hash"
|
||||
#endif
|
||||
|
||||
static int log_level = LLL_ERR | LLL_WARN | LLL_NOTICE;
|
||||
static void lwsl_emit_stderr(int level, const char *line);
|
||||
static void (*lwsl_emit)(int level, const char *line) = lwsl_emit_stderr;
|
||||
|
||||
static const char *library_version = LWS_LIBRARY_VERSION " " LWS_BUILD_HASH;
|
||||
|
||||
static const char *log_level_names[] = {
|
||||
"ERR",
|
||||
"WARN",
|
||||
|
@ -66,6 +71,20 @@ static const char *log_level_names[] = {
|
|||
"LATENCY",
|
||||
};
|
||||
|
||||
/**
|
||||
* lws_get_library_version: get version and git hash library built from
|
||||
*
|
||||
* returns a const char * to a string like "1.1 178d78c"
|
||||
* representing the library version followed by the git head hash it
|
||||
* was built from
|
||||
*/
|
||||
|
||||
const char *
|
||||
lws_get_library_version(void)
|
||||
{
|
||||
return library_version;
|
||||
}
|
||||
|
||||
int
|
||||
insert_wsi_socket_into_fds(struct libwebsocket_context *context, struct libwebsocket *wsi)
|
||||
{
|
||||
|
@ -1492,6 +1511,7 @@ libwebsocket_create_context(int port, const char *interf,
|
|||
#endif
|
||||
|
||||
lwsl_notice("Initial logging level %d\n", log_level);
|
||||
lwsl_notice("Library version: %s\n", library_version);
|
||||
lwsl_info(" LWS_MAX_HEADER_NAME_LENGTH: %u\n", LWS_MAX_HEADER_NAME_LENGTH);
|
||||
lwsl_info(" LWS_MAX_HEADER_LEN: %u\n", LWS_MAX_HEADER_LEN);
|
||||
lwsl_info(" LWS_INITIAL_HDR_ALLOC: %u\n", LWS_INITIAL_HDR_ALLOC);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* libwebsockets - small server side websockets and web server implementation
|
||||
*
|
||||
* Copyright (C) 2010 Andy Green <andy@warmcat.com>
|
||||
* Copyright (C) 2010-2013 Andy Green <andy@warmcat.com>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -868,6 +868,9 @@ lws_b64_encode_string(const char *in, int in_len, char *out, int out_size);
|
|||
LWS_EXTERN int
|
||||
lws_b64_decode_string(const char *in, char *out, int out_size);
|
||||
|
||||
LWS_EXTERN const char *
|
||||
lws_get_library_version(void);
|
||||
|
||||
/*
|
||||
* Note: this is not normally needed as a user api. It's provided in case it is
|
||||
* useful when integrating with other app poll loop service code.
|
||||
|
|
|
@ -85,6 +85,23 @@ protocol supported, or the specific protocol ordinal
|
|||
This function creates a connection to a remote server
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h2>lws_get_library_version - </h2>
|
||||
<i>const char *</i>
|
||||
<b>lws_get_library_version</b>
|
||||
(<i></i> <b>void</b>)
|
||||
<h3>Arguments</h3>
|
||||
<dl>
|
||||
<dt><b>void</b>
|
||||
<dd>no arguments
|
||||
</dl>
|
||||
<h3>Description</h3>
|
||||
<blockquote>
|
||||
<p>
|
||||
returns a const char * to a string like "1.1 178d78c"
|
||||
representing the library version followed by the git head hash it
|
||||
was built from
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h2>libwebsockets_hangup_on_client - Server calls to terminate client connection</h2>
|
||||
<i>void</i>
|
||||
<b>libwebsockets_hangup_on_client</b>
|
||||
|
|
Loading…
Add table
Reference in a new issue