racer 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +22 -0
- data/bin/racer +33 -0
- data/ext/libuv/AUTHORS +45 -0
- data/ext/libuv/LICENSE +42 -0
- data/ext/libuv/Makefile +119 -0
- data/ext/libuv/README.md +88 -0
- data/ext/libuv/build/gcc_version.py +20 -0
- data/ext/libuv/common.gypi +176 -0
- data/ext/libuv/config-mingw.mk +61 -0
- data/ext/libuv/config-unix.mk +171 -0
- data/ext/libuv/gyp_uv +64 -0
- data/ext/libuv/include/ares.h +591 -0
- data/ext/libuv/include/ares_version.h +24 -0
- data/ext/libuv/include/uv-private/eio.h +403 -0
- data/ext/libuv/include/uv-private/ev.h +838 -0
- data/ext/libuv/include/uv-private/ngx-queue.h +108 -0
- data/ext/libuv/include/uv-private/tree.h +768 -0
- data/ext/libuv/include/uv-private/uv-unix.h +310 -0
- data/ext/libuv/include/uv-private/uv-win.h +510 -0
- data/ext/libuv/include/uv.h +1796 -0
- data/ext/libuv/src/ares/AUTHORS +37 -0
- data/ext/libuv/src/ares/CHANGES +1218 -0
- data/ext/libuv/src/ares/CMakeLists.txt +22 -0
- data/ext/libuv/src/ares/NEWS +21 -0
- data/ext/libuv/src/ares/README +60 -0
- data/ext/libuv/src/ares/README.cares +13 -0
- data/ext/libuv/src/ares/README.msvc +142 -0
- data/ext/libuv/src/ares/README.node +21 -0
- data/ext/libuv/src/ares/RELEASE-NOTES +26 -0
- data/ext/libuv/src/ares/TODO +23 -0
- data/ext/libuv/src/ares/ares__close_sockets.c +66 -0
- data/ext/libuv/src/ares/ares__get_hostent.c +263 -0
- data/ext/libuv/src/ares/ares__read_line.c +71 -0
- data/ext/libuv/src/ares/ares__timeval.c +111 -0
- data/ext/libuv/src/ares/ares_cancel.c +63 -0
- data/ext/libuv/src/ares/ares_data.c +190 -0
- data/ext/libuv/src/ares/ares_data.h +65 -0
- data/ext/libuv/src/ares/ares_destroy.c +105 -0
- data/ext/libuv/src/ares/ares_dns.h +90 -0
- data/ext/libuv/src/ares/ares_expand_name.c +200 -0
- data/ext/libuv/src/ares/ares_expand_string.c +75 -0
- data/ext/libuv/src/ares/ares_fds.c +63 -0
- data/ext/libuv/src/ares/ares_free_hostent.c +42 -0
- data/ext/libuv/src/ares/ares_free_string.c +25 -0
- data/ext/libuv/src/ares/ares_getenv.c +30 -0
- data/ext/libuv/src/ares/ares_getenv.h +26 -0
- data/ext/libuv/src/ares/ares_gethostbyaddr.c +301 -0
- data/ext/libuv/src/ares/ares_gethostbyname.c +523 -0
- data/ext/libuv/src/ares/ares_getnameinfo.c +427 -0
- data/ext/libuv/src/ares/ares_getopt.c +122 -0
- data/ext/libuv/src/ares/ares_getopt.h +53 -0
- data/ext/libuv/src/ares/ares_getsock.c +72 -0
- data/ext/libuv/src/ares/ares_init.c +1809 -0
- data/ext/libuv/src/ares/ares_iphlpapi.h +221 -0
- data/ext/libuv/src/ares/ares_ipv6.h +78 -0
- data/ext/libuv/src/ares/ares_library_init.c +142 -0
- data/ext/libuv/src/ares/ares_library_init.h +42 -0
- data/ext/libuv/src/ares/ares_llist.c +86 -0
- data/ext/libuv/src/ares/ares_llist.h +42 -0
- data/ext/libuv/src/ares/ares_mkquery.c +195 -0
- data/ext/libuv/src/ares/ares_nowarn.c +181 -0
- data/ext/libuv/src/ares/ares_nowarn.h +55 -0
- data/ext/libuv/src/ares/ares_options.c +248 -0
- data/ext/libuv/src/ares/ares_parse_a_reply.c +263 -0
- data/ext/libuv/src/ares/ares_parse_aaaa_reply.c +259 -0
- data/ext/libuv/src/ares/ares_parse_mx_reply.c +170 -0
- data/ext/libuv/src/ares/ares_parse_ns_reply.c +182 -0
- data/ext/libuv/src/ares/ares_parse_ptr_reply.c +217 -0
- data/ext/libuv/src/ares/ares_parse_srv_reply.c +179 -0
- data/ext/libuv/src/ares/ares_parse_txt_reply.c +201 -0
- data/ext/libuv/src/ares/ares_platform.c +11035 -0
- data/ext/libuv/src/ares/ares_platform.h +43 -0
- data/ext/libuv/src/ares/ares_private.h +355 -0
- data/ext/libuv/src/ares/ares_process.c +1295 -0
- data/ext/libuv/src/ares/ares_query.c +183 -0
- data/ext/libuv/src/ares/ares_rules.h +144 -0
- data/ext/libuv/src/ares/ares_search.c +321 -0
- data/ext/libuv/src/ares/ares_send.c +134 -0
- data/ext/libuv/src/ares/ares_setup.h +199 -0
- data/ext/libuv/src/ares/ares_strcasecmp.c +66 -0
- data/ext/libuv/src/ares/ares_strcasecmp.h +30 -0
- data/ext/libuv/src/ares/ares_strdup.c +42 -0
- data/ext/libuv/src/ares/ares_strdup.h +26 -0
- data/ext/libuv/src/ares/ares_strerror.c +56 -0
- data/ext/libuv/src/ares/ares_timeout.c +80 -0
- data/ext/libuv/src/ares/ares_version.c +11 -0
- data/ext/libuv/src/ares/ares_writev.c +79 -0
- data/ext/libuv/src/ares/ares_writev.h +36 -0
- data/ext/libuv/src/ares/bitncmp.c +59 -0
- data/ext/libuv/src/ares/bitncmp.h +26 -0
- data/ext/libuv/src/ares/config_cygwin/ares_config.h +512 -0
- data/ext/libuv/src/ares/config_darwin/ares_config.h +512 -0
- data/ext/libuv/src/ares/config_freebsd/ares_config.h +512 -0
- data/ext/libuv/src/ares/config_linux/ares_config.h +512 -0
- data/ext/libuv/src/ares/config_netbsd/ares_config.h +512 -0
- data/ext/libuv/src/ares/config_openbsd/ares_config.h +512 -0
- data/ext/libuv/src/ares/config_sunos/ares_config.h +512 -0
- data/ext/libuv/src/ares/config_win32/ares_config.h +369 -0
- data/ext/libuv/src/ares/get_ver.awk +35 -0
- data/ext/libuv/src/ares/inet_net_pton.c +451 -0
- data/ext/libuv/src/ares/inet_net_pton.h +31 -0
- data/ext/libuv/src/ares/inet_ntop.c +208 -0
- data/ext/libuv/src/ares/inet_ntop.h +26 -0
- data/ext/libuv/src/ares/nameser.h +203 -0
- data/ext/libuv/src/ares/setup_once.h +504 -0
- data/ext/libuv/src/ares/windows_port.c +22 -0
- data/ext/libuv/src/cares.c +225 -0
- data/ext/libuv/src/fs-poll.c +237 -0
- data/ext/libuv/src/unix/async.c +119 -0
- data/ext/libuv/src/unix/core.c +647 -0
- data/ext/libuv/src/unix/cygwin.c +84 -0
- data/ext/libuv/src/unix/darwin.c +341 -0
- data/ext/libuv/src/unix/dl.c +83 -0
- data/ext/libuv/src/unix/eio/Changes +63 -0
- data/ext/libuv/src/unix/eio/LICENSE +36 -0
- data/ext/libuv/src/unix/eio/Makefile.am +15 -0
- data/ext/libuv/src/unix/eio/aclocal.m4 +8957 -0
- data/ext/libuv/src/unix/eio/autogen.sh +3 -0
- data/ext/libuv/src/unix/eio/config.h.in +86 -0
- data/ext/libuv/src/unix/eio/config_cygwin.h +80 -0
- data/ext/libuv/src/unix/eio/config_darwin.h +141 -0
- data/ext/libuv/src/unix/eio/config_freebsd.h +81 -0
- data/ext/libuv/src/unix/eio/config_linux.h +94 -0
- data/ext/libuv/src/unix/eio/config_netbsd.h +81 -0
- data/ext/libuv/src/unix/eio/config_openbsd.h +137 -0
- data/ext/libuv/src/unix/eio/config_sunos.h +84 -0
- data/ext/libuv/src/unix/eio/configure.ac +22 -0
- data/ext/libuv/src/unix/eio/demo.c +194 -0
- data/ext/libuv/src/unix/eio/ecb.h +370 -0
- data/ext/libuv/src/unix/eio/eio.3 +3428 -0
- data/ext/libuv/src/unix/eio/eio.c +2593 -0
- data/ext/libuv/src/unix/eio/eio.pod +969 -0
- data/ext/libuv/src/unix/eio/libeio.m4 +195 -0
- data/ext/libuv/src/unix/eio/xthread.h +164 -0
- data/ext/libuv/src/unix/error.c +104 -0
- data/ext/libuv/src/unix/ev/Changes +388 -0
- data/ext/libuv/src/unix/ev/LICENSE +36 -0
- data/ext/libuv/src/unix/ev/Makefile.am +18 -0
- data/ext/libuv/src/unix/ev/Makefile.in +771 -0
- data/ext/libuv/src/unix/ev/README +58 -0
- data/ext/libuv/src/unix/ev/aclocal.m4 +8957 -0
- data/ext/libuv/src/unix/ev/autogen.sh +6 -0
- data/ext/libuv/src/unix/ev/config.guess +1526 -0
- data/ext/libuv/src/unix/ev/config.h.in +125 -0
- data/ext/libuv/src/unix/ev/config.sub +1658 -0
- data/ext/libuv/src/unix/ev/config_cygwin.h +123 -0
- data/ext/libuv/src/unix/ev/config_darwin.h +122 -0
- data/ext/libuv/src/unix/ev/config_freebsd.h +120 -0
- data/ext/libuv/src/unix/ev/config_linux.h +141 -0
- data/ext/libuv/src/unix/ev/config_netbsd.h +120 -0
- data/ext/libuv/src/unix/ev/config_openbsd.h +126 -0
- data/ext/libuv/src/unix/ev/config_sunos.h +122 -0
- data/ext/libuv/src/unix/ev/configure +13037 -0
- data/ext/libuv/src/unix/ev/configure.ac +18 -0
- data/ext/libuv/src/unix/ev/depcomp +630 -0
- data/ext/libuv/src/unix/ev/ev++.h +816 -0
- data/ext/libuv/src/unix/ev/ev.3 +5311 -0
- data/ext/libuv/src/unix/ev/ev.c +3925 -0
- data/ext/libuv/src/unix/ev/ev.pod +5243 -0
- data/ext/libuv/src/unix/ev/ev_epoll.c +266 -0
- data/ext/libuv/src/unix/ev/ev_kqueue.c +235 -0
- data/ext/libuv/src/unix/ev/ev_poll.c +148 -0
- data/ext/libuv/src/unix/ev/ev_port.c +179 -0
- data/ext/libuv/src/unix/ev/ev_select.c +310 -0
- data/ext/libuv/src/unix/ev/ev_vars.h +203 -0
- data/ext/libuv/src/unix/ev/ev_win32.c +153 -0
- data/ext/libuv/src/unix/ev/ev_wrap.h +196 -0
- data/ext/libuv/src/unix/ev/event.c +402 -0
- data/ext/libuv/src/unix/ev/event.h +170 -0
- data/ext/libuv/src/unix/ev/install-sh +294 -0
- data/ext/libuv/src/unix/ev/libev.m4 +39 -0
- data/ext/libuv/src/unix/ev/ltmain.sh +8413 -0
- data/ext/libuv/src/unix/ev/missing +336 -0
- data/ext/libuv/src/unix/ev/mkinstalldirs +111 -0
- data/ext/libuv/src/unix/freebsd.c +312 -0
- data/ext/libuv/src/unix/fs.c +699 -0
- data/ext/libuv/src/unix/internal.h +180 -0
- data/ext/libuv/src/unix/kqueue.c +122 -0
- data/ext/libuv/src/unix/linux/core.c +474 -0
- data/ext/libuv/src/unix/linux/inotify.c +209 -0
- data/ext/libuv/src/unix/linux/syscalls.c +268 -0
- data/ext/libuv/src/unix/linux/syscalls.h +93 -0
- data/ext/libuv/src/unix/loop-watcher.c +63 -0
- data/ext/libuv/src/unix/loop.c +81 -0
- data/ext/libuv/src/unix/netbsd.c +108 -0
- data/ext/libuv/src/unix/openbsd.c +295 -0
- data/ext/libuv/src/unix/pipe.c +261 -0
- data/ext/libuv/src/unix/poll.c +116 -0
- data/ext/libuv/src/unix/process.c +447 -0
- data/ext/libuv/src/unix/stream.c +1026 -0
- data/ext/libuv/src/unix/sunos.c +483 -0
- data/ext/libuv/src/unix/tcp.c +328 -0
- data/ext/libuv/src/unix/thread.c +211 -0
- data/ext/libuv/src/unix/timer.c +138 -0
- data/ext/libuv/src/unix/tty.c +146 -0
- data/ext/libuv/src/unix/udp.c +661 -0
- data/ext/libuv/src/unix/uv-eio.c +107 -0
- data/ext/libuv/src/unix/uv-eio.h +13 -0
- data/ext/libuv/src/uv-common.c +384 -0
- data/ext/libuv/src/uv-common.h +171 -0
- data/ext/libuv/src/win/async.c +130 -0
- data/ext/libuv/src/win/core.c +283 -0
- data/ext/libuv/src/win/dl.c +86 -0
- data/ext/libuv/src/win/error.c +150 -0
- data/ext/libuv/src/win/fs-event.c +512 -0
- data/ext/libuv/src/win/fs.c +1856 -0
- data/ext/libuv/src/win/getaddrinfo.c +365 -0
- data/ext/libuv/src/win/handle-inl.h +145 -0
- data/ext/libuv/src/win/handle.c +150 -0
- data/ext/libuv/src/win/internal.h +337 -0
- data/ext/libuv/src/win/loop-watcher.c +123 -0
- data/ext/libuv/src/win/pipe.c +1675 -0
- data/ext/libuv/src/win/poll.c +618 -0
- data/ext/libuv/src/win/process-stdio.c +479 -0
- data/ext/libuv/src/win/process.c +1013 -0
- data/ext/libuv/src/win/req-inl.h +225 -0
- data/ext/libuv/src/win/req.c +25 -0
- data/ext/libuv/src/win/stream-inl.h +69 -0
- data/ext/libuv/src/win/stream.c +167 -0
- data/ext/libuv/src/win/tcp.c +1400 -0
- data/ext/libuv/src/win/thread.c +372 -0
- data/ext/libuv/src/win/threadpool.c +74 -0
- data/ext/libuv/src/win/timer.c +226 -0
- data/ext/libuv/src/win/tty.c +1801 -0
- data/ext/libuv/src/win/udp.c +718 -0
- data/ext/libuv/src/win/util.c +864 -0
- data/ext/libuv/src/win/winapi.c +132 -0
- data/ext/libuv/src/win/winapi.h +4443 -0
- data/ext/libuv/src/win/winsock.c +557 -0
- data/ext/libuv/src/win/winsock.h +171 -0
- data/ext/libuv/test/benchmark-ares.c +117 -0
- data/ext/libuv/test/benchmark-fs-stat.c +164 -0
- data/ext/libuv/test/benchmark-getaddrinfo.c +94 -0
- data/ext/libuv/test/benchmark-list.h +114 -0
- data/ext/libuv/test/benchmark-loop-count.c +88 -0
- data/ext/libuv/test/benchmark-million-timers.c +65 -0
- data/ext/libuv/test/benchmark-ping-pongs.c +213 -0
- data/ext/libuv/test/benchmark-pound.c +324 -0
- data/ext/libuv/test/benchmark-pump.c +462 -0
- data/ext/libuv/test/benchmark-sizes.c +42 -0
- data/ext/libuv/test/benchmark-spawn.c +162 -0
- data/ext/libuv/test/benchmark-tcp-write-batch.c +140 -0
- data/ext/libuv/test/benchmark-thread.c +64 -0
- data/ext/libuv/test/benchmark-udp-packet-storm.c +247 -0
- data/ext/libuv/test/blackhole-server.c +118 -0
- data/ext/libuv/test/dns-server.c +321 -0
- data/ext/libuv/test/echo-server.c +378 -0
- data/ext/libuv/test/fixtures/empty_file +0 -0
- data/ext/libuv/test/fixtures/load_error.node +1 -0
- data/ext/libuv/test/run-benchmarks.c +64 -0
- data/ext/libuv/test/run-tests.c +138 -0
- data/ext/libuv/test/runner-unix.c +290 -0
- data/ext/libuv/test/runner-unix.h +36 -0
- data/ext/libuv/test/runner-win.c +285 -0
- data/ext/libuv/test/runner-win.h +42 -0
- data/ext/libuv/test/runner.c +326 -0
- data/ext/libuv/test/runner.h +159 -0
- data/ext/libuv/test/task.h +109 -0
- data/ext/libuv/test/test-async.c +118 -0
- data/ext/libuv/test/test-callback-order.c +76 -0
- data/ext/libuv/test/test-callback-stack.c +203 -0
- data/ext/libuv/test/test-connection-fail.c +148 -0
- data/ext/libuv/test/test-counters-init.c +215 -0
- data/ext/libuv/test/test-cwd-and-chdir.c +64 -0
- data/ext/libuv/test/test-delayed-accept.c +197 -0
- data/ext/libuv/test/test-dlerror.c +58 -0
- data/ext/libuv/test/test-error.c +59 -0
- data/ext/libuv/test/test-fail-always.c +29 -0
- data/ext/libuv/test/test-fs-event.c +442 -0
- data/ext/libuv/test/test-fs-poll.c +146 -0
- data/ext/libuv/test/test-fs.c +1843 -0
- data/ext/libuv/test/test-get-currentexe.c +63 -0
- data/ext/libuv/test/test-get-loadavg.c +36 -0
- data/ext/libuv/test/test-get-memory.c +38 -0
- data/ext/libuv/test/test-getaddrinfo.c +122 -0
- data/ext/libuv/test/test-gethostbyname.c +189 -0
- data/ext/libuv/test/test-getsockname.c +342 -0
- data/ext/libuv/test/test-hrtime.c +54 -0
- data/ext/libuv/test/test-idle.c +81 -0
- data/ext/libuv/test/test-ipc-send-recv.c +209 -0
- data/ext/libuv/test/test-ipc.c +620 -0
- data/ext/libuv/test/test-list.h +421 -0
- data/ext/libuv/test/test-loop-handles.c +336 -0
- data/ext/libuv/test/test-multiple-listen.c +102 -0
- data/ext/libuv/test/test-mutexes.c +63 -0
- data/ext/libuv/test/test-pass-always.c +28 -0
- data/ext/libuv/test/test-ping-pong.c +253 -0
- data/ext/libuv/test/test-pipe-bind-error.c +140 -0
- data/ext/libuv/test/test-pipe-connect-error.c +96 -0
- data/ext/libuv/test/test-platform-output.c +87 -0
- data/ext/libuv/test/test-poll-close.c +77 -0
- data/ext/libuv/test/test-poll.c +573 -0
- data/ext/libuv/test/test-process-title.c +42 -0
- data/ext/libuv/test/test-ref.c +338 -0
- data/ext/libuv/test/test-run-once.c +48 -0
- data/ext/libuv/test/test-semaphore.c +111 -0
- data/ext/libuv/test/test-shutdown-close.c +103 -0
- data/ext/libuv/test/test-shutdown-eof.c +183 -0
- data/ext/libuv/test/test-spawn.c +847 -0
- data/ext/libuv/test/test-stdio-over-pipes.c +246 -0
- data/ext/libuv/test/test-tcp-bind-error.c +191 -0
- data/ext/libuv/test/test-tcp-bind6-error.c +154 -0
- data/ext/libuv/test/test-tcp-close-while-connecting.c +80 -0
- data/ext/libuv/test/test-tcp-close.c +129 -0
- data/ext/libuv/test/test-tcp-connect-error-after-write.c +95 -0
- data/ext/libuv/test/test-tcp-connect-error.c +70 -0
- data/ext/libuv/test/test-tcp-connect-timeout.c +85 -0
- data/ext/libuv/test/test-tcp-connect6-error.c +68 -0
- data/ext/libuv/test/test-tcp-flags.c +51 -0
- data/ext/libuv/test/test-tcp-shutdown-after-write.c +131 -0
- data/ext/libuv/test/test-tcp-write-error.c +168 -0
- data/ext/libuv/test/test-tcp-write-to-half-open-connection.c +135 -0
- data/ext/libuv/test/test-tcp-writealot.c +170 -0
- data/ext/libuv/test/test-thread.c +183 -0
- data/ext/libuv/test/test-threadpool.c +57 -0
- data/ext/libuv/test/test-timer-again.c +141 -0
- data/ext/libuv/test/test-timer.c +152 -0
- data/ext/libuv/test/test-tty.c +110 -0
- data/ext/libuv/test/test-udp-dgram-too-big.c +86 -0
- data/ext/libuv/test/test-udp-ipv6.c +156 -0
- data/ext/libuv/test/test-udp-multicast-join.c +139 -0
- data/ext/libuv/test/test-udp-multicast-ttl.c +86 -0
- data/ext/libuv/test/test-udp-options.c +86 -0
- data/ext/libuv/test/test-udp-send-and-recv.c +208 -0
- data/ext/libuv/test/test-util.c +97 -0
- data/ext/libuv/test/test-walk-handles.c +77 -0
- data/ext/libuv/uv.gyp +452 -0
- data/ext/libuv/vcbuild.bat +105 -0
- data/ext/racer/extconf.rb +20 -0
- data/ext/racer/http_parser.c +2059 -0
- data/ext/racer/http_parser.h +318 -0
- data/ext/racer/mkmf.log +22 -0
- data/ext/racer/racer.c +551 -0
- data/lib/racer.rb +2 -0
- data/lib/racer/version.rb +3 -0
- metadata +382 -0
data/LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2012, Charlie Somerville
|
2
|
+
All rights reserved.
|
3
|
+
|
4
|
+
Redistribution and use in source and binary forms, with or without
|
5
|
+
modification, are permitted provided that the following conditions are met:
|
6
|
+
|
7
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
8
|
+
list of conditions and the following disclaimer.
|
9
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
10
|
+
this list of conditions and the following disclaimer in the documentation
|
11
|
+
and/or other materials provided with the distribution.
|
12
|
+
|
13
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
14
|
+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
15
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
16
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
17
|
+
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
18
|
+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
19
|
+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
20
|
+
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
21
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
22
|
+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
data/bin/racer
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require "optparse"
|
3
|
+
require "racer"
|
4
|
+
|
5
|
+
options = { address: "0.0.0.0", port: 3000, rackup: "#{Dir.pwd}/config.ru" }
|
6
|
+
|
7
|
+
OptionParser.new do |opts|
|
8
|
+
opts.banner = "Usage: racer [options]"
|
9
|
+
|
10
|
+
opts.on "-a IP", "--address IP", "Address to listen on" do |a|
|
11
|
+
options[:address] = a
|
12
|
+
end
|
13
|
+
|
14
|
+
opts.on "-p PORT", "--port PORT", "Port to listen on" do |p|
|
15
|
+
options[:port] = p.to_i
|
16
|
+
end
|
17
|
+
|
18
|
+
opts.on "--rackup FILE", "Use specified file as rackup file" do |ru|
|
19
|
+
options[:rackup] = ru
|
20
|
+
end
|
21
|
+
end.parse!
|
22
|
+
|
23
|
+
Object.send :define_method, :run do |app|
|
24
|
+
puts "Racer #{Racer::VERSION}"
|
25
|
+
puts "Listening on #{options[:address]}:#{options[:port]}"
|
26
|
+
begin
|
27
|
+
Racer.run options[:address], options[:port], app
|
28
|
+
ensure
|
29
|
+
puts "Served #{Racer::Stats.total_requests} requests."
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
load options[:rackup]
|
data/ext/libuv/AUTHORS
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
# Authors ordered by first contribution.
|
2
|
+
Ryan Dahl <ryan@joyent.com>
|
3
|
+
Bert Belder <bertbelder@gmail.com>
|
4
|
+
Josh Roesslein <jroesslein@gmail.com>
|
5
|
+
Alan Gutierrez <alan@prettyrobots.com>
|
6
|
+
Joshua Peek <josh@joshpeek.com>
|
7
|
+
Igor Zinkovsky <igorzi@microsoft.com>
|
8
|
+
San-Tai Hsu <vanilla@fatpipi.com>
|
9
|
+
Ben Noordhuis <info@bnoordhuis.nl>
|
10
|
+
Henry Rawas <henryr@schakra.com>
|
11
|
+
Robert Mustacchi <rm@joyent.com>
|
12
|
+
Matt Stevens <matt@alloysoft.com>
|
13
|
+
Paul Querna <pquerna@apache.org>
|
14
|
+
Shigeki Ohtsu <ohtsu@iij.ad.jp>
|
15
|
+
Tom Hughes <tom.hughes@palm.com>
|
16
|
+
Peter Bright <drpizza@quiscalusmexicanus.org>
|
17
|
+
Jeroen Janssen <jeroen.janssen@gmail.com>
|
18
|
+
Andrea Lattuada <ndr.lattuada@gmail.com>
|
19
|
+
Augusto Henrique Hentz <ahhentz@gmail.com>
|
20
|
+
Clifford Heath <clifford.heath@gmail.com>
|
21
|
+
Jorge Chamorro Bieling <jorge@jorgechamorro.com>
|
22
|
+
Luis Lavena <luislavena@gmail.com>
|
23
|
+
Matthew Sporleder <msporleder@gmail.com>
|
24
|
+
Erick Tryzelaar <erick.tryzelaar@gmail.com>
|
25
|
+
Isaac Z. Schlueter <i@izs.me>
|
26
|
+
Pieter Noordhuis <pcnoordhuis@gmail.com>
|
27
|
+
Marek Jelen <marek@jelen.biz>
|
28
|
+
Fedor Indutny <fedor.indutny@gmail.com>
|
29
|
+
Saúl Ibarra Corretgé <saghul@gmail.com>
|
30
|
+
Felix Geisendörfer <felix@debuggable.com>
|
31
|
+
Yuki OKUMURA <mjt@cltn.org>
|
32
|
+
Roman Shtylman <shtylman@gmail.com>
|
33
|
+
Frank Denis <github@pureftpd.org>
|
34
|
+
Carter Allen <CarterA@opt-6.com>
|
35
|
+
Tj Holowaychuk <tj@vision-media.ca>
|
36
|
+
Shimon Doodkin <helpmepro1@gmail.com>
|
37
|
+
Ryan Emery <seebees@gmail.com>
|
38
|
+
Bruce Mitchener <bruce.mitchener@gmail.com>
|
39
|
+
Maciej Małecki <maciej.malecki@notimplemented.org>
|
40
|
+
Yasuhiro Matsumoto <mattn.jp@gmail.com>
|
41
|
+
Daisuke Murase <typester@cpan.org>
|
42
|
+
Paddy Byers <paddy.byers@gmail.com>
|
43
|
+
Dan VerWeire <dverweire@gmail.com>
|
44
|
+
Brandon Benvie <brandon@bbenvie.com>
|
45
|
+
Brandon Philips <brandon.philips@rackspace.com>
|
data/ext/libuv/LICENSE
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
libuv is part of the Node project: http://nodejs.org/
|
2
|
+
libuv may be distributed alone under Node's license:
|
3
|
+
|
4
|
+
====
|
5
|
+
|
6
|
+
Copyright Joyent, Inc. and other Node contributors. All rights reserved.
|
7
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
|
+
of this software and associated documentation files (the "Software"), to
|
9
|
+
deal in the Software without restriction, including without limitation the
|
10
|
+
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
11
|
+
sell copies of the Software, and to permit persons to whom the Software is
|
12
|
+
furnished to do so, subject to the following conditions:
|
13
|
+
|
14
|
+
The above copyright notice and this permission notice shall be included in
|
15
|
+
all copies or substantial portions of the Software.
|
16
|
+
|
17
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
18
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
19
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
20
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
21
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
22
|
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
23
|
+
IN THE SOFTWARE.
|
24
|
+
|
25
|
+
====
|
26
|
+
|
27
|
+
This license applies to all parts of libuv that are not externally
|
28
|
+
maintained libraries.
|
29
|
+
|
30
|
+
The externally maintained libraries used by libuv are:
|
31
|
+
|
32
|
+
- tree.h (from FreeBSD), copyright Niels Provos. Two clause BSD license.
|
33
|
+
|
34
|
+
- ngx_queue.h (from Nginx), copyright Igor Sysoev. Two clause BSD license.
|
35
|
+
|
36
|
+
- c-ares, copyright Daniel Stenberg and others. MIT licensed.
|
37
|
+
|
38
|
+
- libev, located at ev/ is copyright Marc Alexander Lehmann, and
|
39
|
+
dual-licensed under the MIT license and GPL2.
|
40
|
+
|
41
|
+
- libeio, located at eio/ is copyright Marc Alexander Lehmann, and
|
42
|
+
dual-licensed under the MIT license and GPL2.
|
data/ext/libuv/Makefile
ADDED
@@ -0,0 +1,119 @@
|
|
1
|
+
# Copyright Joyent, Inc. and other Node contributors. All rights reserved.
|
2
|
+
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
# of this software and associated documentation files (the "Software"), to
|
5
|
+
# deal in the Software without restriction, including without limitation the
|
6
|
+
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
7
|
+
# sell copies of the Software, and to permit persons to whom the Software is
|
8
|
+
# furnished to do so, subject to the following conditions:
|
9
|
+
#
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
11
|
+
# all copies or substantial portions of the Software.
|
12
|
+
#
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
18
|
+
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
19
|
+
# IN THE SOFTWARE.
|
20
|
+
|
21
|
+
uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
|
22
|
+
|
23
|
+
ifdef MSVC
|
24
|
+
uname_S := MINGW
|
25
|
+
endif
|
26
|
+
|
27
|
+
CPPFLAGS += -Iinclude -Iinclude/uv-private
|
28
|
+
|
29
|
+
CARES_OBJS =
|
30
|
+
CARES_OBJS += src/ares/ares__close_sockets.o
|
31
|
+
CARES_OBJS += src/ares/ares__get_hostent.o
|
32
|
+
CARES_OBJS += src/ares/ares__read_line.o
|
33
|
+
CARES_OBJS += src/ares/ares__timeval.o
|
34
|
+
CARES_OBJS += src/ares/ares_cancel.o
|
35
|
+
CARES_OBJS += src/ares/ares_data.o
|
36
|
+
CARES_OBJS += src/ares/ares_destroy.o
|
37
|
+
CARES_OBJS += src/ares/ares_expand_name.o
|
38
|
+
CARES_OBJS += src/ares/ares_expand_string.o
|
39
|
+
CARES_OBJS += src/ares/ares_fds.o
|
40
|
+
CARES_OBJS += src/ares/ares_free_hostent.o
|
41
|
+
CARES_OBJS += src/ares/ares_free_string.o
|
42
|
+
CARES_OBJS += src/ares/ares_gethostbyaddr.o
|
43
|
+
CARES_OBJS += src/ares/ares_gethostbyname.o
|
44
|
+
CARES_OBJS += src/ares/ares_getnameinfo.o
|
45
|
+
CARES_OBJS += src/ares/ares_getopt.o
|
46
|
+
CARES_OBJS += src/ares/ares_getsock.o
|
47
|
+
CARES_OBJS += src/ares/ares_init.o
|
48
|
+
CARES_OBJS += src/ares/ares_library_init.o
|
49
|
+
CARES_OBJS += src/ares/ares_llist.o
|
50
|
+
CARES_OBJS += src/ares/ares_mkquery.o
|
51
|
+
CARES_OBJS += src/ares/ares_nowarn.o
|
52
|
+
CARES_OBJS += src/ares/ares_options.o
|
53
|
+
CARES_OBJS += src/ares/ares_parse_a_reply.o
|
54
|
+
CARES_OBJS += src/ares/ares_parse_aaaa_reply.o
|
55
|
+
CARES_OBJS += src/ares/ares_parse_mx_reply.o
|
56
|
+
CARES_OBJS += src/ares/ares_parse_ns_reply.o
|
57
|
+
CARES_OBJS += src/ares/ares_parse_ptr_reply.o
|
58
|
+
CARES_OBJS += src/ares/ares_parse_srv_reply.o
|
59
|
+
CARES_OBJS += src/ares/ares_parse_txt_reply.o
|
60
|
+
CARES_OBJS += src/ares/ares_process.o
|
61
|
+
CARES_OBJS += src/ares/ares_query.o
|
62
|
+
CARES_OBJS += src/ares/ares_search.o
|
63
|
+
CARES_OBJS += src/ares/ares_send.o
|
64
|
+
CARES_OBJS += src/ares/ares_strcasecmp.o
|
65
|
+
CARES_OBJS += src/ares/ares_strdup.o
|
66
|
+
CARES_OBJS += src/ares/ares_strerror.o
|
67
|
+
CARES_OBJS += src/ares/ares_timeout.o
|
68
|
+
CARES_OBJS += src/ares/ares_version.o
|
69
|
+
CARES_OBJS += src/ares/ares_writev.o
|
70
|
+
CARES_OBJS += src/ares/bitncmp.o
|
71
|
+
CARES_OBJS += src/ares/inet_net_pton.o
|
72
|
+
CARES_OBJS += src/ares/inet_ntop.o
|
73
|
+
|
74
|
+
ifneq (,$(findstring MINGW,$(uname_S)))
|
75
|
+
include config-mingw.mk
|
76
|
+
else
|
77
|
+
include config-unix.mk
|
78
|
+
endif
|
79
|
+
|
80
|
+
TESTS=test/blackhole-server.c test/echo-server.c test/test-*.c
|
81
|
+
BENCHMARKS=test/blackhole-server.c test/echo-server.c test/dns-server.c test/benchmark-*.c
|
82
|
+
|
83
|
+
all: uv.a
|
84
|
+
|
85
|
+
$(CARES_OBJS): %.o: %.c
|
86
|
+
$(CC) -o $*.o -c $(CFLAGS) $(CPPFLAGS) $< -DHAVE_CONFIG_H
|
87
|
+
|
88
|
+
test/run-tests$(E): test/*.h test/run-tests.c $(RUNNER_SRC) test/runner-unix.c $(TESTS) uv.a
|
89
|
+
$(CC) $(CPPFLAGS) $(RUNNER_CFLAGS) -o test/run-tests test/run-tests.c \
|
90
|
+
test/runner.c $(RUNNER_SRC) $(TESTS) uv.a $(RUNNER_LIBS) $(RUNNER_LINKFLAGS)
|
91
|
+
|
92
|
+
test/run-benchmarks$(E): test/*.h test/run-benchmarks.c test/runner.c $(RUNNER_SRC) $(BENCHMARKS) uv.a
|
93
|
+
$(CC) $(CPPFLAGS) $(RUNNER_CFLAGS) -o test/run-benchmarks test/run-benchmarks.c \
|
94
|
+
test/runner.c $(RUNNER_SRC) $(BENCHMARKS) uv.a $(RUNNER_LIBS) $(RUNNER_LINKFLAGS)
|
95
|
+
|
96
|
+
test/echo.o: test/echo.c test/echo.h
|
97
|
+
$(CC) $(CPPFLAGS) $(CFLAGS) -c test/echo.c -o test/echo.o
|
98
|
+
|
99
|
+
|
100
|
+
.PHONY: clean clean-platform distclean distclean-platform test bench
|
101
|
+
|
102
|
+
|
103
|
+
test: test/run-tests$(E)
|
104
|
+
test/run-tests
|
105
|
+
|
106
|
+
#test-%: test/run-tests$(E)
|
107
|
+
# test/run-tests $(@:test-%=%)
|
108
|
+
|
109
|
+
bench: test/run-benchmarks$(E)
|
110
|
+
test/run-benchmarks
|
111
|
+
|
112
|
+
#bench-%: test/run-benchmarks$(E)
|
113
|
+
# test/run-benchmarks $(@:bench-%=%)
|
114
|
+
|
115
|
+
clean: clean-platform
|
116
|
+
$(RM) -f src/*.o *.a test/run-tests$(E) test/run-benchmarks$(E)
|
117
|
+
|
118
|
+
distclean: distclean-platform
|
119
|
+
$(RM) -f src/*.o *.a test/run-tests$(E) test/run-benchmarks$(E)
|
data/ext/libuv/README.md
ADDED
@@ -0,0 +1,88 @@
|
|
1
|
+
# libuv [![Build Status](https://secure.travis-ci.org/joyent/libuv.png)](http://travis-ci.org/joyent/libuv)
|
2
|
+
|
3
|
+
libuv is a new platform layer for Node. Its purpose is to abstract IOCP on
|
4
|
+
Windows and libev on Unix systems. We intend to eventually contain all
|
5
|
+
platform differences in this library.
|
6
|
+
|
7
|
+
http://nodejs.org/
|
8
|
+
|
9
|
+
## Features
|
10
|
+
|
11
|
+
* Non-blocking TCP sockets
|
12
|
+
|
13
|
+
* Non-blocking named pipes
|
14
|
+
|
15
|
+
* UDP
|
16
|
+
|
17
|
+
* Timers
|
18
|
+
|
19
|
+
* Child process spawning
|
20
|
+
|
21
|
+
* Asynchronous DNS via c-ares or `uv_getaddrinfo`.
|
22
|
+
|
23
|
+
* Asynchronous file system APIs `uv_fs_*`
|
24
|
+
|
25
|
+
* High resolution time `uv_hrtime`
|
26
|
+
|
27
|
+
* Current executable path look up `uv_exepath`
|
28
|
+
|
29
|
+
* Thread pool scheduling `uv_queue_work`
|
30
|
+
|
31
|
+
* ANSI escape code controlled TTY `uv_tty_t`
|
32
|
+
|
33
|
+
* File system events Currently supports inotify, `ReadDirectoryChangesW`
|
34
|
+
and kqueue. Event ports in the near future.
|
35
|
+
`uv_fs_event_t`
|
36
|
+
|
37
|
+
* IPC and socket sharing between processes `uv_write2`
|
38
|
+
|
39
|
+
|
40
|
+
## Documentation
|
41
|
+
|
42
|
+
See `include/uv.h`.
|
43
|
+
|
44
|
+
|
45
|
+
## Build Instructions
|
46
|
+
|
47
|
+
For GCC (including MinGW) there are two methods building: via normal
|
48
|
+
makefiles or via GYP. GYP is a meta-build system which can generate MSVS,
|
49
|
+
Makefile, and XCode backends. It is best used for integration into other
|
50
|
+
projects. The old (more stable) system is using Makefiles.
|
51
|
+
|
52
|
+
To build via Makefile simply execute:
|
53
|
+
|
54
|
+
make
|
55
|
+
|
56
|
+
To build with Visual Studio run the vcbuilds.bat file which will
|
57
|
+
checkout the GYP code into build/gyp and generate the uv.sln and
|
58
|
+
related files.
|
59
|
+
|
60
|
+
Windows users can also build from cmd-line using msbuild. This is
|
61
|
+
done by running vcbuild.bat from Visual Studio command prompt.
|
62
|
+
|
63
|
+
To have GYP generate build script for another system you will need to
|
64
|
+
checkout GYP into the project tree manually:
|
65
|
+
|
66
|
+
svn co http://gyp.googlecode.com/svn/trunk build/gyp
|
67
|
+
|
68
|
+
Unix users run
|
69
|
+
|
70
|
+
./gyp_uv -f make
|
71
|
+
make
|
72
|
+
|
73
|
+
Macintosh users run
|
74
|
+
|
75
|
+
./gyp_uv -f xcode
|
76
|
+
xcodebuild -project uv.xcodeproj -configuration Release -target All
|
77
|
+
|
78
|
+
|
79
|
+
## Supported Platforms
|
80
|
+
|
81
|
+
Microsoft Windows operating systems since Windows XP SP2. It can be built
|
82
|
+
with either Visual Studio or MinGW.
|
83
|
+
|
84
|
+
Linux 2.6 using the GCC toolchain.
|
85
|
+
|
86
|
+
MacOS using the GCC or XCode toolchain.
|
87
|
+
|
88
|
+
Solaris 121 and later using GCC toolchain.
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
|
3
|
+
import os
|
4
|
+
import re
|
5
|
+
import subprocess
|
6
|
+
import sys
|
7
|
+
|
8
|
+
|
9
|
+
def DoMain(*args):
|
10
|
+
cc = os.environ.get('CC', 'gcc')
|
11
|
+
stdin, stderr = os.pipe()
|
12
|
+
subprocess.call([cc, '-v'], stderr=stderr)
|
13
|
+
output = os.read(stdin, 4096)
|
14
|
+
match = re.search("\ngcc version (\d+\.\d+\.\d+)", output)
|
15
|
+
if match:
|
16
|
+
print(match.group(1))
|
17
|
+
|
18
|
+
|
19
|
+
if __name__ == '__main__':
|
20
|
+
DoMain(*sys.argv)
|
@@ -0,0 +1,176 @@
|
|
1
|
+
{
|
2
|
+
'variables': {
|
3
|
+
'visibility%': 'hidden', # V8's visibility setting
|
4
|
+
'target_arch%': 'ia32', # set v8's target architecture
|
5
|
+
'host_arch%': 'ia32', # set v8's host architecture
|
6
|
+
'library%': 'static_library', # allow override to 'shared_library' for DLL/.so builds
|
7
|
+
'component%': 'static_library', # NB. these names match with what V8 expects
|
8
|
+
'msvs_multi_core_compile': '0', # we do enable multicore compiles, but not using the V8 way
|
9
|
+
},
|
10
|
+
|
11
|
+
'target_defaults': {
|
12
|
+
'default_configuration': 'Debug',
|
13
|
+
'configurations': {
|
14
|
+
'Debug': {
|
15
|
+
'defines': [ 'DEBUG', '_DEBUG' ],
|
16
|
+
'cflags': [ '-g', '-O0' ],
|
17
|
+
'msvs_settings': {
|
18
|
+
'VCCLCompilerTool': {
|
19
|
+
'target_conditions': [
|
20
|
+
['library=="static_library"', {
|
21
|
+
'RuntimeLibrary': 1, # static debug
|
22
|
+
}, {
|
23
|
+
'RuntimeLibrary': 3, # DLL debug
|
24
|
+
}],
|
25
|
+
],
|
26
|
+
'Optimization': 0, # /Od, no optimization
|
27
|
+
'MinimalRebuild': 'false',
|
28
|
+
'OmitFramePointers': 'false',
|
29
|
+
'BasicRuntimeChecks': 3, # /RTC1
|
30
|
+
},
|
31
|
+
'VCLinkerTool': {
|
32
|
+
'LinkIncremental': 2, # enable incremental linking
|
33
|
+
},
|
34
|
+
},
|
35
|
+
'conditions': [
|
36
|
+
['OS != "win"', {
|
37
|
+
'defines': [ 'EV_VERIFY=2' ],
|
38
|
+
}],
|
39
|
+
]
|
40
|
+
},
|
41
|
+
'Release': {
|
42
|
+
'defines': [ 'NDEBUG' ],
|
43
|
+
'cflags': [ '-O3', '-fomit-frame-pointer', '-fdata-sections', '-ffunction-sections' ],
|
44
|
+
'msvs_settings': {
|
45
|
+
'VCCLCompilerTool': {
|
46
|
+
'target_conditions': [
|
47
|
+
['library=="static_library"', {
|
48
|
+
'RuntimeLibrary': 0, # static release
|
49
|
+
}, {
|
50
|
+
'RuntimeLibrary': 2, # debug release
|
51
|
+
}],
|
52
|
+
],
|
53
|
+
'Optimization': 3, # /Ox, full optimization
|
54
|
+
'FavorSizeOrSpeed': 1, # /Ot, favour speed over size
|
55
|
+
'InlineFunctionExpansion': 2, # /Ob2, inline anything eligible
|
56
|
+
'WholeProgramOptimization': 'true', # /GL, whole program optimization, needed for LTCG
|
57
|
+
'OmitFramePointers': 'true',
|
58
|
+
'EnableFunctionLevelLinking': 'true',
|
59
|
+
'EnableIntrinsicFunctions': 'true',
|
60
|
+
},
|
61
|
+
'VCLibrarianTool': {
|
62
|
+
'AdditionalOptions': [
|
63
|
+
'/LTCG', # link time code generation
|
64
|
+
],
|
65
|
+
},
|
66
|
+
'VCLinkerTool': {
|
67
|
+
'LinkTimeCodeGeneration': 1, # link-time code generation
|
68
|
+
'OptimizeReferences': 2, # /OPT:REF
|
69
|
+
'EnableCOMDATFolding': 2, # /OPT:ICF
|
70
|
+
'LinkIncremental': 1, # disable incremental linking
|
71
|
+
},
|
72
|
+
},
|
73
|
+
}
|
74
|
+
},
|
75
|
+
'msvs_settings': {
|
76
|
+
'VCCLCompilerTool': {
|
77
|
+
'StringPooling': 'true', # pool string literals
|
78
|
+
'DebugInformationFormat': 3, # Generate a PDB
|
79
|
+
'WarningLevel': 3,
|
80
|
+
'BufferSecurityCheck': 'true',
|
81
|
+
'ExceptionHandling': 1, # /EHsc
|
82
|
+
'SuppressStartupBanner': 'true',
|
83
|
+
'WarnAsError': 'false',
|
84
|
+
'AdditionalOptions': [
|
85
|
+
'/MP', # compile across multiple CPUs
|
86
|
+
],
|
87
|
+
},
|
88
|
+
'VCLibrarianTool': {
|
89
|
+
},
|
90
|
+
'VCLinkerTool': {
|
91
|
+
'GenerateDebugInformation': 'true',
|
92
|
+
'RandomizedBaseAddress': 2, # enable ASLR
|
93
|
+
'DataExecutionPrevention': 2, # enable DEP
|
94
|
+
'AllowIsolation': 'true',
|
95
|
+
'SuppressStartupBanner': 'true',
|
96
|
+
'target_conditions': [
|
97
|
+
['_type=="executable"', {
|
98
|
+
'SubSystem': 1, # console executable
|
99
|
+
}],
|
100
|
+
],
|
101
|
+
},
|
102
|
+
},
|
103
|
+
'conditions': [
|
104
|
+
['OS == "win"', {
|
105
|
+
'msvs_cygwin_shell': 0, # prevent actions from trying to use cygwin
|
106
|
+
'defines': [
|
107
|
+
'WIN32',
|
108
|
+
# we don't really want VC++ warning us about
|
109
|
+
# how dangerous C functions are...
|
110
|
+
'_CRT_SECURE_NO_DEPRECATE',
|
111
|
+
# ... or that C implementations shouldn't use
|
112
|
+
# POSIX names
|
113
|
+
'_CRT_NONSTDC_NO_DEPRECATE',
|
114
|
+
],
|
115
|
+
}],
|
116
|
+
[ 'OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
|
117
|
+
'variables': {
|
118
|
+
'gcc_version%': '<!(python build/gcc_version.py)>)',
|
119
|
+
},
|
120
|
+
'cflags': [ '-Wall' ],
|
121
|
+
'cflags_cc': [ '-fno-rtti', '-fno-exceptions' ],
|
122
|
+
'conditions': [
|
123
|
+
[ 'host_arch != target_arch and target_arch=="ia32"', {
|
124
|
+
'cflags': [ '-m32' ],
|
125
|
+
'ldflags': [ '-m32' ],
|
126
|
+
}],
|
127
|
+
[ 'OS=="linux"', {
|
128
|
+
'cflags': [ '-ansi' ],
|
129
|
+
}],
|
130
|
+
[ 'OS=="solaris"', {
|
131
|
+
'cflags': [ '-pthreads' ],
|
132
|
+
'ldflags': [ '-pthreads' ],
|
133
|
+
}, {
|
134
|
+
'cflags': [ '-pthread' ],
|
135
|
+
'ldflags': [ '-pthread' ],
|
136
|
+
}],
|
137
|
+
[ 'visibility=="hidden" and gcc_version >= "4.0.0"', {
|
138
|
+
'cflags': [ '-fvisibility=hidden' ],
|
139
|
+
}],
|
140
|
+
],
|
141
|
+
}],
|
142
|
+
['OS=="mac"', {
|
143
|
+
'xcode_settings': {
|
144
|
+
'ALWAYS_SEARCH_USER_PATHS': 'NO',
|
145
|
+
'GCC_CW_ASM_SYNTAX': 'NO', # No -fasm-blocks
|
146
|
+
'GCC_DYNAMIC_NO_PIC': 'NO', # No -mdynamic-no-pic
|
147
|
+
# (Equivalent to -fPIC)
|
148
|
+
'GCC_ENABLE_CPP_EXCEPTIONS': 'NO', # -fno-exceptions
|
149
|
+
'GCC_ENABLE_CPP_RTTI': 'NO', # -fno-rtti
|
150
|
+
'GCC_ENABLE_PASCAL_STRINGS': 'NO', # No -mpascal-strings
|
151
|
+
# GCC_INLINES_ARE_PRIVATE_EXTERN maps to -fvisibility-inlines-hidden
|
152
|
+
'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES',
|
153
|
+
'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
|
154
|
+
'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics
|
155
|
+
'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', # -Wnewline-eof
|
156
|
+
'PREBINDING': 'NO', # No -Wl,-prebind
|
157
|
+
'USE_HEADERMAP': 'NO',
|
158
|
+
'OTHER_CFLAGS': [
|
159
|
+
'-fno-strict-aliasing',
|
160
|
+
],
|
161
|
+
'WARNING_CFLAGS': [
|
162
|
+
'-Wall',
|
163
|
+
'-Wendif-labels',
|
164
|
+
'-W',
|
165
|
+
'-Wno-unused-parameter',
|
166
|
+
],
|
167
|
+
},
|
168
|
+
'target_conditions': [
|
169
|
+
['_type!="static_library"', {
|
170
|
+
'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-search_paths_first']},
|
171
|
+
}],
|
172
|
+
],
|
173
|
+
}],
|
174
|
+
],
|
175
|
+
},
|
176
|
+
}
|