From e70bb46111996f2e7b79c6b0694d451374935a65 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 30 Apr 2018 04:53:42 -0400 Subject: [PATCH] Use unbundled libuv. Signed-off-by: Elliott Sales de Andrade --- src/Makevars | 34 +++------------------------------- src/callbackqueue.cpp | 2 +- src/callbackqueue.h | 2 +- src/http.h | 2 +- src/httprequest.h | 2 +- src/httpresponse.cpp | 2 +- src/httpuv.cpp | 2 +- src/socket.cpp | 2 +- src/socket.h | 2 +- src/thread.h | 2 +- src/uvutil.h | 2 +- src/webapplication.h | 2 +- 12 files changed, 14 insertions(+), 42 deletions(-) diff --git a/src/Makevars b/src/Makevars index dfb73ff..5f0d419 100644 --- a/src/Makevars +++ b/src/Makevars @@ -9,7 +9,7 @@ ifeq ($(UNAME), Darwin) FRAMEWORK = -framework CoreServices endif -PKG_LIBS = ./libuv/.libs/libuv.a ./http-parser/http_parser.o ./sha1/sha1.o ./base64/base64.o $(FRAMEWORK) +PKG_LIBS = $(shell pkgconf --libs libuv) ./http-parser/http_parser.o ./sha1/sha1.o ./base64/base64.o $(FRAMEWORK) ifeq ($(UNAME), SunOS) PKG_LIBS += -lkstat -lsendfile -lsocket -lxnet endif @@ -20,7 +20,7 @@ ifeq ($(UNAME), OpenBSD) PKG_LIBS += -lkvm endif -PKG_CPPFLAGS = $(C_VISIBILITY) +PKG_CPPFLAGS = $(C_VISIBILITY) $(shell pkgconf --cflags libuv) # To avoid spurious warnings from `R CMD check --as-cran`, about compiler # warning flags like -Werror. @@ -40,32 +40,4 @@ CONFIGURE_FLAGS="--quiet" # PKG_CPPFLAGS += -D_GLIBCXX_ASSERTIONS -$(SHLIB): libuv/.libs/libuv.a http-parser/http_parser.o sha1/sha1.o base64/base64.o - -# We needed to rename lt~obsolete.m4 because the name causes problems with R -# CMD check. Here we rename it back. -libuv/m4/lt~obsolete.m4: libuv/m4/lt_obsolete.m4 - cp -p -f libuv/m4/lt_obsolete.m4 libuv/m4/lt~obsolete.m4 - -# Run ./configure. We need to touch various autotools-related files to avoid -# it trying to run autotools programs again. -# -# It's VERY IMPORTANT that mtime(aclocal.m4) <= mtime(configure), and also -# mtime(aclocal.m4) <= mtime(Makefile.in). On some platforms, passing multiple -# files to a single touch command gives them all the same time, but on others -# (Solaris and possibly some Fedoras) the timestamps are slightly increasing -# from one to the next, i.e. the order matters. To remove this fragility, we -# use "-r aclocal.m4" to ensure that all three files are guaranteed to have -# precisely the same timestamp value. -libuv/Makefile: libuv/m4/lt~obsolete.m4 - (cd libuv \ - && touch aclocal.m4 \ - && touch -r aclocal.m4 configure Makefile.in \ - && CC="$(CC)" CFLAGS="$(CFLAGS) $(CPICFLAGS) $(C_VISIBILITY)" AR="$(AR)" RANLIB="$(RANLIB)" LDFLAGS="$(LDFLAGS)" ./configure $(CONFIGURE_FLAGS)) - -libuv/.libs/libuv.a: libuv/Makefile - $(MAKE) --directory=libuv \ - HAVE_DTRACE=0 - -clean: - $(MAKE) --directory=libuv distclean +$(SHLIB): http-parser/http_parser.o sha1/sha1.o base64/base64.o diff --git a/src/callbackqueue.cpp b/src/callbackqueue.cpp index a72fa06..220cb0b 100644 --- a/src/callbackqueue.cpp +++ b/src/callbackqueue.cpp @@ -2,7 +2,7 @@ #include "tqueue.h" #include "thread.h" #include -#include "libuv/include/uv.h" +#include // This non-class function is a plain C wrapper for CallbackQueue::flush(), and diff --git a/src/callbackqueue.h b/src/callbackqueue.h index 27f8bf5..5d995c9 100644 --- a/src/callbackqueue.h +++ b/src/callbackqueue.h @@ -3,7 +3,7 @@ #include "tqueue.h" #include -#include "libuv/include/uv.h" +#include class CallbackQueue { public: diff --git a/src/http.h b/src/http.h index 06b70ff..c410712 100644 --- a/src/http.h +++ b/src/http.h @@ -1,7 +1,7 @@ #ifndef HTTP_HPP #define HTTP_HPP -#include "libuv/include/uv.h" +#include #include #include #include "webapplication.h" diff --git a/src/httprequest.h b/src/httprequest.h index fd1bf80..1feb750 100644 --- a/src/httprequest.h +++ b/src/httprequest.h @@ -8,7 +8,7 @@ #include #include #include -#include "libuv/include/uv.h" +#include #include "http-parser/http_parser.h" #include "socket.h" #include "webapplication.h" diff --git a/src/httpresponse.cpp b/src/httpresponse.cpp index e41e9a3..32d9ce9 100644 --- a/src/httpresponse.cpp +++ b/src/httpresponse.cpp @@ -3,7 +3,7 @@ #include "constants.h" #include "thread.h" #include "utils.h" -#include "libuv/include/uv.h" +#include void on_response_written(uv_write_t* handle, int status) { diff --git a/src/httpuv.cpp b/src/httpuv.cpp index 93eebba..4880f81 100644 --- a/src/httpuv.cpp +++ b/src/httpuv.cpp @@ -7,7 +7,7 @@ #include #include #include -#include "libuv/include/uv.h" +#include #include "base64/base64.hpp" #include "uvutil.h" #include "webapplication.h" diff --git a/src/socket.cpp b/src/socket.cpp index 830cb1e..8f621b3 100644 --- a/src/socket.cpp +++ b/src/socket.cpp @@ -1,7 +1,7 @@ #include "socket.h" #include "httprequest.h" #include -#include "libuv/include/uv.h" +#include void on_Socket_close(uv_handle_t* pHandle); diff --git a/src/socket.h b/src/socket.h index d9cfe15..bcf7e0b 100644 --- a/src/socket.h +++ b/src/socket.h @@ -3,7 +3,7 @@ #include "http.h" #include -#include "libuv/include/uv.h" +#include class HttpRequest; class WebApplication; diff --git a/src/thread.h b/src/thread.h index e9066cb..80ea8b1 100644 --- a/src/thread.h +++ b/src/thread.h @@ -1,7 +1,7 @@ #ifndef THREAD_HPP #define THREAD_HPP -#include "libuv/include/uv.h" +#include // These must be called from the main and background thread, respectively, so // that is_main_thread() and is_background_thread() can be tested later. diff --git a/src/uvutil.h b/src/uvutil.h index 4a7c4c0..d212fbb 100644 --- a/src/uvutil.h +++ b/src/uvutil.h @@ -4,7 +4,7 @@ #include "thread.h" #include #include -#include "libuv/include/uv.h" +#include /* Prevent naming conflicts for Free() and Calloc() */ #define R_NO_REMAP diff --git a/src/webapplication.h b/src/webapplication.h index 7ec2ed8..8f79a4c 100644 --- a/src/webapplication.h +++ b/src/webapplication.h @@ -2,7 +2,7 @@ #define WEBAPPLICATION_HPP #include -#include "libuv/include/uv.h" +#include #include #include "websockets.h" #include "thread.h" -- 2.14.3