Permalink
Browse files

Prepare for making releases, add uv_version/uv_version_string API

  • Loading branch information...
1 parent 1487d5a commit c7b1c53ef1afe7c0fef0822d72b0783368b626de @piscisaureus piscisaureus committed Mar 25, 2013
Showing with 77 additions and 3 deletions.
  1. +0 −2 .mailmap
  2. +1 −1 config-mingw.mk
  3. +1 −0 config-unix.mk
  4. +14 −0 include/uv.h
  5. +60 −0 src/version.c
  6. +1 −0 uv.gyp
View
@@ -1,5 +1,3 @@
-# update AUTHORS with:
-# git log --all --reverse --format='%aN <%aE>' | perl -ne 'BEGIN{print "# Authors ordered by first contribution.\n"} print unless $h{$_}; $h{$_} = 1' > AUTHORS
<rm@joyent.com> <rm@fingolfin.org>
<ryan@joyent.com> <ry@tinyclouds.org>
<bertbelder@gmail.com> <info@2bs.nl>
View
@@ -35,7 +35,7 @@ RUNNER_LDFLAGS=$(LDFLAGS)
RUNNER_LIBS=-lws2_32 -lpsapi -liphlpapi
RUNNER_SRC=test/runner-win.c
-libuv.a: $(WIN_OBJS) src/fs-poll.o src/inet.o src/uv-common.o
+libuv.a: $(WIN_OBJS) src/fs-poll.o src/inet.o src/uv-common.o src/version.o
$(AR) rcs $@ $^
src/%.o: src/%.c include/uv.h include/uv-private/uv-win.h
View
@@ -55,6 +55,7 @@ OBJS += src/unix/udp.o
OBJS += src/fs-poll.o
OBJS += src/uv-common.o
OBJS += src/inet.o
+OBJS += src/version.o
ifeq (sunos,$(PLATFORM))
CPPFLAGS += -D__EXTENSIONS__ -D_XOPEN_SOURCE=500
View
@@ -229,6 +229,20 @@ typedef enum {
/*
+ * Returns the libuv version packed into a single integer. 8 bits are used for
+ * each component, with the patch number stored in the 8 least significant
+ * bits. E.g. for libuv 1.2.3 this would return 0x010203.
+ */
+UV_EXTERN const unsigned int uv_version(void);
+
+/*
+ * Returns the libuv version number as a string. For non-release versions
+ * "-pre" is appended, so the version number could be "1.2.3-pre".
+ */
+UV_EXTERN const char* uv_version_string(void);
+
+
+/*
* This function must be called before any other functions in libuv.
*
* All functions besides uv_run() are non-blocking.
View
@@ -0,0 +1,60 @@
+/* Copyright Joyent, Inc. and other Node contributors. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ */
+
+
+ /*
+ * Versions with an even minor version (e.g. 0.6.1 or 1.0.4) are API and ABI
+ * stable. When the minor version is odd, the API can change between patch
+ * releases.
+ */
+
+#define UV_VERSION_MAJOR 0
+#define UV_VERSION_MINOR 10
+#define UV_VERSION_PATCH 2
+#define UV_VERSION_IS_RELEASE 0
+
+
+#define UV_VERSION ((UV_VERSION_MAJOR << 16) | \
+ (UV_VERSION_MINOR << 8) | \
+ (UV_VERSION_PATCH))
+
+#define UV_STRINGIFY(v) UV_STRINGIFY_HELPER(v)
+#define UV_STRINGIFY_HELPER(v) #v
+
+#define UV_VERSION_STRING_BASE UV_STRINGIFY(UV_VERSION_MAJOR) "." \
+ UV_STRINGIFY(UV_VERSION_MINOR) "." \
+ UV_STRINGIFY(UV_VERSION_PATCH)
+
+#if UV_VERSION_IS_RELEASE
+# define UV_VERSION_STRING UV_VERSION_STRING_BASE
+#else
+# define UV_VERSION_STRING UV_VERSION_STRING_BASE "-pre"
+#endif
+
+
+const unsigned int uv_version(void) {
+ return UV_VERSION;
+}
+
+
+const char* uv_version_string(void) {
+ return UV_VERSION_STRING;
+}
View
1 uv.gyp
@@ -56,6 +56,7 @@
'src/inet.c',
'src/uv-common.c',
'src/uv-common.h',
+ 'src/version.c'
],
'conditions': [
[ 'OS=="win"', {

0 comments on commit c7b1c53

Please sign in to comment.