diff options
author | mtklein <mtklein@chromium.org> | 2016-08-27 06:50:11 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-08-27 06:50:11 -0700 |
commit | cdc8942fd62e98e787f0c9ca9e317421df2bd00f (patch) | |
tree | dea987798c46d3d1e3186bc85977624ae26c853c | |
parent | 79418093c1bbae215e074d7e80dba29bbf960366 (diff) |
cleanup dead nanomsg and build_overrides
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2287013003
TBR=
Review-Url: https://codereview.chromium.org/2287013003
-rw-r--r-- | DEPS | 1 | ||||
-rwxr-xr-x | bin/sync-and-gyp | 1 | ||||
-rw-r--r-- | build_overrides/build.gni | 3 | ||||
-rw-r--r-- | experimental/nanomsg/picture_demo.cpp | 214 | ||||
-rw-r--r-- | gyp/most.gyp | 5 | ||||
-rw-r--r-- | gyp/nanomsg.gyp | 129 |
6 files changed, 0 insertions, 353 deletions
@@ -17,7 +17,6 @@ deps = { "third_party/externals/harfbuzz": "https://skia.googlesource.com/third_party/harfbuzz.git@1.3.0", "third_party/externals/jsoncpp" : "https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git@1.0.0", "third_party/externals/libwebp" : "https://chromium.googlesource.com/webm/libwebp.git@v0.5.0", - "third_party/externals/nanomsg" : "https://skia.googlesource.com/third_party/nanomsg.git@0.4-beta", "third_party/externals/zlib" : "https://chromium.googlesource.com/chromium/src/third_party/zlib@4576304a4b9835aa8646c9735b079e1d96858633", "third_party/externals/giflib" : "https://android.googlesource.com/platform/external/giflib.git@ab10e256df4f684260ca239905b1cec727181f6c", diff --git a/bin/sync-and-gyp b/bin/sync-and-gyp index 11905ed2ee..469c84e8f8 100755 --- a/bin/sync-and-gyp +++ b/bin/sync-and-gyp @@ -77,7 +77,6 @@ find_dirs = [ 'gm', 'tests', 'third_party/externals/icu/source/common', - 'third_party/externals/nanomsg/src', 'third_party/externals/sfntly/sfntly', 'third_party/externals/shaderc2', 'tools/VisualBench', diff --git a/build_overrides/build.gni b/build_overrides/build.gni deleted file mode 100644 index 72cf19a232..0000000000 --- a/build_overrides/build.gni +++ /dev/null @@ -1,3 +0,0 @@ -mac_sdk_min_build_override = "10.10" -mac_deployment_target_build_override = "10.7" - diff --git a/experimental/nanomsg/picture_demo.cpp b/experimental/nanomsg/picture_demo.cpp deleted file mode 100644 index a0b83a2579..0000000000 --- a/experimental/nanomsg/picture_demo.cpp +++ /dev/null @@ -1,214 +0,0 @@ -/* - * Copyright 2014 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include "nanomsg/src/nn.h" -#include "nanomsg/src/pipeline.h" -#include "nanomsg/src/reqrep.h" - -#include "SkCanvas.h" -#include "SkCommandLineFlags.h" -#include "SkData.h" -#include "SkForceLinking.h" -#include "SkGraphics.h" -#include "SkImageEncoder.h" -#include "SkOSFile.h" -#include "SkPicture.h" -#include "SkRandom.h" -#include "SkStream.h" - -__SK_FORCE_IMAGE_DECODER_LINKING; - -// To keep things simple, PictureHeader is fixed-size POD. -struct PictureHeader { - SkMatrix matrix; - SkRect clip; - SkXfermode::Mode xfermode; - pid_t pid; - uint8_t alpha; - - PictureHeader() - : matrix(SkMatrix::I()) - , clip(SkRect::MakeLargest()) - , xfermode(SkXfermode::kSrcOver_Mode) - , pid(getpid()) - , alpha(0xFF) {} -}; - -// A little adaptor: nn_iovec wants a non-const pointer for no obvious reason. -static struct nn_iovec create_iov(const void* ptr, size_t size) { - struct nn_iovec iov = { const_cast<void*>(ptr), size }; - return iov; -} - -static void send_picture(int socket, const PictureHeader& header, const SkData& skp) { - // Vectored IO lets us send header and skp contiguously without first - // copying them to a contiguous buffer. - struct nn_iovec iov[] = { - create_iov(&header, sizeof(header)), - create_iov(skp.data(), skp.size()), - }; - - struct nn_msghdr msg; - sk_bzero(&msg, sizeof(msg)); - msg.msg_iov = iov; - msg.msg_iovlen = SK_ARRAY_COUNT(iov); - - nn_sendmsg(socket, &msg, 0/*flags*/); -} - -static sk_sp<SkPicture> recv_picture(int socket, PictureHeader* header) { - static const size_t hSize = sizeof(*header); // It's easy to slip up and use sizeof(header). - - void* msg; - int size = nn_recv(socket, &msg, NN_MSG, 0/*flags*/); - SkDebugf("%d bytes", size); - - // msg is first a fixed-size header, then an .skp. - memcpy(header, msg, hSize); - SkMemoryStream stream((uint8_t*)msg + hSize, size - hSize); - sk_sp<SkPicture> pic = SkPicture::MakeFromStream(&stream); - - SkDebugf(" from proccess %d:", header->pid); - - nn_freemsg(msg); - return pic; -} - -static void client(const char* skpPath, const char* dataEndpoint) { - // Read the .skp. - sk_sp<SkData> skp(SkData::MakeFromFileName(skpPath)); - if (!skp) { - SkDebugf("Couldn't read %s\n", skpPath); - exit(1); - } - SkMemoryStream stream(skp->data(), skp->size()); - sk_sp<SkPicture> picture(SkPicture::MakeFromStream(&stream)); - - PictureHeader header; - SkRandom rand(picture->cullRect().width() * picture->cullRect().height()); - SkScalar r = rand.nextRangeScalar(0, picture->cullRect().width()), - b = rand.nextRangeScalar(0, picture->cullRect().height()), - l = rand.nextRangeScalar(0, r), - t = rand.nextRangeScalar(0, b); - header.clip.setLTRB(l,t,r,b); - header.matrix.setTranslate(-l, -t); - header.matrix.postRotate(rand.nextRangeScalar(-25, 25)); - header.alpha = 0x7F; - - //Clients use NN_REQ (request) type sockets. - int socket = nn_socket(AF_SP, NN_REQ); - - // Clients connect a socket to an endpoint. - nn_connect(socket, dataEndpoint); - - // Send the picture and its header. - SkDebugf("Sending %s (%d bytes)...", skpPath, skp->size()); - send_picture(socket, header, *skp); - - // Wait for ack. - uint8_t ack; - nn_recv(socket, &ack, sizeof(ack), 0/*flags*/); - SkDebugf(" ok.\n"); -} - -// Wait until socketA or socketB has something to tell us, and return which one. -static int poll_in(int socketA, int socketB) { - struct nn_pollfd polls[] = { - { socketA, NN_POLLIN, 0 }, - { socketB, NN_POLLIN, 0 }, - }; - - nn_poll(polls, SK_ARRAY_COUNT(polls), -1/*no timeout*/); - - if (polls[0].revents & NN_POLLIN) { return socketA; } - if (polls[1].revents & NN_POLLIN) { return socketB; } - - SkFAIL("unreachable"); - return 0; -} - -static void server(const char* dataEndpoint, const char* controlEndpoint, SkCanvas* canvas) { - // NN_REP sockets receive a request then make a reply. NN_PULL sockets just receive a request. - int data = nn_socket(AF_SP, NN_REP); - int control = nn_socket(AF_SP, NN_PULL); - - // Servers bind a socket to an endpoint. - nn_bind(data, dataEndpoint); - nn_bind(control, controlEndpoint); - - while (true) { - int ready = poll_in(data, control); - - // If we got any message on the control socket, we can stop. - if (ready == control) { - break; - } - - // We should have an .skp waiting for us on data socket. - PictureHeader header; - sk_sp<SkPicture> picture(recv_picture(data, &header)); - - SkPaint paint; - paint.setAlpha(header.alpha); - paint.setXfermodeMode(header.xfermode); - - canvas->saveLayer(NULL, &paint); - canvas->concat(header.matrix); - canvas->clipRect(header.clip); - picture->playback(canvas); - canvas->restore(); - SkDebugf(" drew"); - - // Send back an ack. - uint8_t ack = 42; - nn_send(data, &ack, sizeof(ack), 0/*flags*/); - SkDebugf(" and acked.\n"); - } -} - -static void stop(const char* controlEndpoint) { - // An NN_PUSH socket can send messages but not receive them. - int control = nn_socket(AF_SP, NN_PUSH); - nn_connect(control, controlEndpoint); - - // Sending anything (including this 0-byte message) will tell server() to stop. - nn_send(control, NULL, 0, 0/*flags*/); -} - -DEFINE_string2(skp, r, "", ".skp to send (as client)"); -DEFINE_string2(png, w, "", ".png to write (as server)"); -DEFINE_bool(stop, false, "If true, tell server to stop and write its canvas out as a .png."); -DEFINE_string(data, "ipc://nanomsg-picture-data", "Endpoint for sending pictures."); -DEFINE_string(control, "ipc://nanomsg-picture-control", "Endpoint for control channel."); - -int main(int argc, char** argv) { - SkAutoGraphics ag; - SkCommandLineFlags::Parse(argc, argv); - - if (FLAGS_stop) { - stop(FLAGS_control[0]); - } - - if (!FLAGS_skp.isEmpty()) { - client(FLAGS_skp[0], FLAGS_data[0]); - } - - if (!FLAGS_png.isEmpty()) { - SkBitmap bitmap; - bitmap.allocN32Pixels(1000, 1000); - SkCanvas canvas(bitmap); - canvas.clear(0xFFFFFFFF); - - server(FLAGS_data[0], FLAGS_control[0], &canvas); - canvas.flush(); - - SkImageEncoder::EncodeFile(FLAGS_png[0], bitmap, SkImageEncoder::kPNG_Type, 100); - SkDebugf("Wrote %s.\n", FLAGS_png[0]); - } - - return 0; -} diff --git a/gyp/most.gyp b/gyp/most.gyp index 5b5392618e..cece58101b 100644 --- a/gyp/most.gyp +++ b/gyp/most.gyp @@ -57,11 +57,6 @@ ], 'dependencies': ['iOSShell.gyp:iOSShell' ], }], - ['skia_os == "mac" or skia_os == "linux"', { - 'dependencies': [ - 'nanomsg.gyp:*' , - ], - }], ['skia_os in ["linux", "mac", "win"]', { 'dependencies': [ 'skiaserve.gyp:skiaserve', diff --git a/gyp/nanomsg.gyp b/gyp/nanomsg.gyp deleted file mode 100644 index b09bd42d7f..0000000000 --- a/gyp/nanomsg.gyp +++ /dev/null @@ -1,129 +0,0 @@ -# Copyright 2015 Google Inc. -# -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. -{ - 'variables': { - 'skia_warnings_as_errors': 0, - }, - 'targets': [{ - # Draws pictures cross-process. - 'target_name': 'nanomsg_picture_demo', - 'type': 'executable', - 'dependencies': [ - 'skia_lib.gyp:skia_lib', - 'flags.gyp:flags', - 'libnanomsg', - ], - 'sources': [ '../experimental/nanomsg/picture_demo.cpp' ], - },{ - 'target_name': 'libnanomsg', - 'type': 'static_library', - - # Clients can include nanomsg public header foo.h with #include "nanomsg/src/foo.h" - 'direct_dependent_settings': { - 'include_dirs': [ '../third_party/externals' ] - }, - - 'sources': [ - '<!@(python find.py "*.c" ../third_party/externals/nanomsg/src)' - ], - - # TODO(mtklein): Support Windows? - # To refresh: cd third_party/externals/nanomsg; ./autogen.sh; ./configure; copy from Makefile. - 'conditions': [ - ['skia_os == "linux"', { - 'cflags': [ '-w' ], - 'libraries': [ - '-lpthread', - '-lanl', # Provides getaddrinfo_a and co. - ], - 'direct_dependent_settings': { - 'libraries': [ '-lpthread', '-lanl' ], - }, - 'defines=': [ # equals sign throws away most Skia defines (just noise) - 'HAVE_ACCEPT4', - 'HAVE_ARPA_INET_H', - 'HAVE_CLOCK_GETTIME', - 'HAVE_DLFCN_H', - 'HAVE_EPOLL_CREATE', - 'HAVE_EVENTFD', - 'HAVE_GETIFADDRS', - 'HAVE_INTTYPES_H', - 'HAVE_MEMORY_H', - 'HAVE_NETDB_H', - 'HAVE_NETINET_IN_H', - 'HAVE_PIPE', - 'HAVE_PIPE2', - 'HAVE_POLL', - 'HAVE_PTHREAD_PRIO_INHERIT', - 'HAVE_STDINT_H', - 'HAVE_STDLIB_H', - 'HAVE_STRINGS_H', - 'HAVE_STRING_H', - 'HAVE_SYS_IOCTL_H', - 'HAVE_SYS_SOCKET_H', - 'HAVE_SYS_STAT_H', - 'HAVE_SYS_TYPES_H', - 'HAVE_UNISTD_H', - 'HAVE_UNISTD_H', - 'NN_HAVE_ACCEPT4', - 'NN_HAVE_CLANG', - 'NN_HAVE_EVENTFD', - 'NN_HAVE_GCC', - 'NN_HAVE_GETADDRINFO_A', - 'NN_HAVE_LINUX', - 'NN_HAVE_PIPE', - 'NN_HAVE_PIPE2', - 'NN_HAVE_POLL', - 'NN_HAVE_SEMAPHORE', - 'NN_HAVE_SOCKETPAIR', - 'NN_USE_EPOLL', - 'NN_USE_EVENTFD', - 'NN_USE_IFADDRS', - 'STDC_HEADERS', - '_GNU_SOURCE', - ], - }], - ['skia_os == "mac"', { - 'xcode_settings': { - 'WARNING_CFLAGS': [ '-w' ], - }, - 'defines=': [ # equals sign throws away most Skia defines (just noise) - 'HAVE_ARPA_INET_H', - 'HAVE_DLFCN_H', - 'HAVE_GETIFADDRS', - 'HAVE_INTTYPES_H', - 'HAVE_KQUEUE', - 'HAVE_MEMORY_H', - 'HAVE_NETDB_H', - 'HAVE_NETINET_IN_H', - 'HAVE_PIPE', - 'HAVE_POLL', - 'HAVE_PTHREAD_PRIO_INHERIT', - 'HAVE_STDINT_H', - 'HAVE_STDLIB_H', - 'HAVE_STRINGS_H', - 'HAVE_STRING_H', - 'HAVE_SYS_IOCTL_H', - 'HAVE_SYS_SOCKET_H', - 'HAVE_SYS_STAT_H', - 'HAVE_SYS_TYPES_H', - 'HAVE_UNISTD_H', - 'NN_HAVE_CLANG', - 'NN_HAVE_GCC', - 'NN_HAVE_OSX', - 'NN_HAVE_PIPE', - 'NN_HAVE_POLL', - 'NN_HAVE_SEMAPHORE', - 'NN_HAVE_SOCKETPAIR', - 'NN_USE_IFADDRS', - 'NN_USE_KQUEUE', - 'NN_USE_PIPE', - 'STDC_HEADERS', - '_THREAD_SAFE', - ], - }], - ] - }] -} |