You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2017/05/03 03:48:50 UTC
qpid-proton git commit: PROTON-1472: Fix compile errors on Ubuntu
Repository: qpid-proton
Updated Branches:
refs/heads/master 4cf619cf5 -> f8997c083
PROTON-1472: Fix compile errors on Ubuntu
Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/f8997c08
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/f8997c08
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/f8997c08
Branch: refs/heads/master
Commit: f8997c083c1120c5971c71a6809371b1b9d6d9c9
Parents: 4cf619c
Author: Alan Conway <ac...@redhat.com>
Authored: Tue May 2 23:27:56 2017 -0400
Committer: Alan Conway <ac...@redhat.com>
Committed: Tue May 2 23:41:13 2017 -0400
----------------------------------------------------------------------
examples/c/proactor/CMakeLists.txt | 2 +-
examples/c/proactor/broker.c | 4 ++--
proton-c/CMakeLists.txt | 10 +++-------
proton-c/src/proactor/epoll.c | 3 +++
proton-c/src/proactor/libuv.c | 3 +++
tools/cmake/Modules/FindLibuv.cmake | 17 +++++++++++++----
6 files changed, 25 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/f8997c08/examples/c/proactor/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/c/proactor/CMakeLists.txt b/examples/c/proactor/CMakeLists.txt
index c87cb21..9759a7c 100644
--- a/examples/c/proactor/CMakeLists.txt
+++ b/examples/c/proactor/CMakeLists.txt
@@ -23,7 +23,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${Proton_INCLUDE_DIRS})
if(HAS_PROACTOR)
-add_definitions(${COMPILE_WARNING_FLAGS} ${WERROR} ${COMPILE_PLATFORM_FLAGS} ${LINK_TIME_OPTIMIZATION})
+add_definitions(${COMPILE_LANGUAGE_FLAGS} ${COMPILE_WARNING_FLAGS} ${WERROR} ${COMPILE_PLATFORM_FLAGS} ${LINK_TIME_OPTIMIZATION})
# Add a test with the correct environment to find test executables and valgrind.
if(WIN32)
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/f8997c08/examples/c/proactor/broker.c
----------------------------------------------------------------------
diff --git a/examples/c/proactor/broker.c b/examples/c/proactor/broker.c
index 05c5552..7d95e7f 100644
--- a/examples/c/proactor/broker.c
+++ b/examples/c/proactor/broker.c
@@ -61,7 +61,7 @@
/* Simple thread-safe queue implementation */
typedef struct queue_t {
pthread_mutex_t lock;
- char* name;
+ char name[256];
VEC(pn_rwbytes_t) messages; /* Messages on the queue_t */
VEC(pn_connection_t*) waiting; /* Connections waiting to send messages from this queue */
struct queue_t *next; /* Next queue in chain */
@@ -70,7 +70,7 @@ typedef struct queue_t {
static void queue_init(queue_t *q, const char* name, queue_t *next) {
pthread_mutex_init(&q->lock, NULL);
- q->name = strdup(name);
+ strncpy(q->name, name, sizeof(q->name));
VEC_INIT(q->messages);
VEC_INIT(q->waiting);
q->next = next;
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/f8997c08/proton-c/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/proton-c/CMakeLists.txt b/proton-c/CMakeLists.txt
index c5b65d7..4bc7666 100644
--- a/proton-c/CMakeLists.txt
+++ b/proton-c/CMakeLists.txt
@@ -322,9 +322,6 @@ set (qpid-proton-platform-all
src/reactor/io/windows/selector.c
src/reactor/io/posix/io.c
src/reactor/io/posix/selector.c
- src/proactor/libuv.c
- src/proactor/epoll.c
- src/proactor/proactor.c
)
# platform specific library build:
@@ -493,9 +490,8 @@ if (PROACTOR STREQUAL "epoll") # OR (NOT PROACTOR AND NOT PROACTOR_OK))
set (PROACTOR_OK epoll)
set (qpid-proton-proactor src/proactor/epoll.c src/proactor/proactor.c)
set (PROACTOR_LIBS "")
- # Skip COMPILE_LANGUAGE_FLAGS, uses post-c99 pthread APIs.
set_source_files_properties (${qpid-proton-proactor} PROPERTIES
- COMPILE_FLAGS "${COMPILE_WARNING_FLAGS} ${LTO}"
+ COMPILE_FLAGS "${COMPILE_WARNING_FLAGS} ${COMPILE_LANGUAGE_FLAGS} ${LTO}"
)
endif()
endif()
@@ -507,9 +503,9 @@ if (PROACTOR STREQUAL "libuv" OR (NOT PROACTOR AND NOT PROACTOR_OK))
set (qpid-proton-proactor src/proactor/libuv.c src/proactor/proactor.c)
set (PROACTOR_LIBS ${Libuv_LIBRARIES})
set_source_files_properties (${qpid-proton-proactor} PROPERTIES
- # Skip COMPILE_LANGUAGE_FLAGS, libuv.h won't compile with --std=c99
- COMPILE_FLAGS "${COMPILE_WARNING_FLAGS} ${LTO} "
+ COMPILE_FLAGS "${COMPILE_WARNING_FLAGS} ${COMPILE_LANGUAGE_FLAGS} ${LTO}"
)
+ include_directories(${Libuv_INCLUDE_DIRS})
endif()
endif()
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/f8997c08/proton-c/src/proactor/epoll.c
----------------------------------------------------------------------
diff --git a/proton-c/src/proactor/epoll.c b/proton-c/src/proactor/epoll.c
index 72fcac7..0f09c7c 100644
--- a/proton-c/src/proactor/epoll.c
+++ b/proton-c/src/proactor/epoll.c
@@ -19,6 +19,9 @@
*
*/
+/* Enable POSIX features for pthread.h */
+#define _POSIX_C_SOURCE 200809L
+
#include "../core/log_private.h"
#include "proactor-internal.h"
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/f8997c08/proton-c/src/proactor/libuv.c
----------------------------------------------------------------------
diff --git a/proton-c/src/proactor/libuv.c b/proton-c/src/proactor/libuv.c
index dce6dba..2c1f835 100644
--- a/proton-c/src/proactor/libuv.c
+++ b/proton-c/src/proactor/libuv.c
@@ -19,6 +19,9 @@
*
*/
+/* Enable POSIX features for uv.h */
+#define _POSIX_C_SOURCE 200809L
+
#include "../core/log_private.h"
#include "proactor-internal.h"
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/f8997c08/tools/cmake/Modules/FindLibuv.cmake
----------------------------------------------------------------------
diff --git a/tools/cmake/Modules/FindLibuv.cmake b/tools/cmake/Modules/FindLibuv.cmake
index 048025d..1cefe36 100644
--- a/tools/cmake/Modules/FindLibuv.cmake
+++ b/tools/cmake/Modules/FindLibuv.cmake
@@ -21,7 +21,7 @@
#
# Sets the following variables:
#
-# Libuv_FOUND - True if headers and requested libraries were found
+# LIBUV_FOUND - True if headers and requested libraries were found
# Libuv_INCLUDE_DIRS - Libuv include directories
# Libuv_LIBRARIES - Link these to use libuv.
#
@@ -30,8 +30,17 @@
# LIBUV_INCLUDEDIR - Preferred include directory e.g. <prefix>/include
# LIBUV_LIBRARYDIR - Preferred library directory e.g. <prefix>/lib
-find_library(Libuv_LIBRARIES Names uv libuv HINTS ${LIBUV_LIBRARYDIR} ${LIBUV_ROOT})
-find_path(Libuv_INCLUDE_DIRS NAMES uv.h HINTS ${LIBUV_INCLUDEDIR} ${LIBUV_ROOT} ${LIBUV_ROOT}/include ${CMAKE_INSTALL_PREFIX}/include PATHS /usr/include)
+find_library(Libuv_LIBRARY NAMES uv libuv
+ HINTS ${LIBUV_LIBRARYDIR} ${LIBUV_ROOT}/lib ${CMAKE_INSTALL_PREFIX}/lib)
+
+find_path(Libuv_INCLUDE_DIR NAMES uv.h
+ HINTS ${LIBUV_INCLUDEDIR} ${LIBUV_ROOT}/include ${CMAKE_INSTALL_PREFIX}/include
+ PATHS /usr/include)
include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(Libuv REQUIRED_VARS Libuv_LIBRARIES Libuv_INCLUDE_DIRS)
+find_package_handle_standard_args(Libuv REQUIRED_VARS Libuv_LIBRARY Libuv_INCLUDE_DIR)
+
+if (LIBUV_FOUND)
+ set(Libuv_INCLUDE_DIRS ${Libuv_INCLUDE_DIR})
+ set(Libuv_LIBRARIES ${Libuv_LIBRARY})
+endif ()
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org