Ssmith has uploaded a new change for review. https://gerrit.wikimedia.org/r/177012
Change subject: Update node modules ...................................................................... Update node modules Change-Id: I4f34bfa9d8ba39a99721575b0d93238a4472f33c --- A .bin/mkdirp M node-syslog/build/Makefile D node-syslog/build/Release/.deps/Release/obj.target/syslog.node.d M node-syslog/build/Release/.deps/Release/obj.target/syslog/syslog.o.d M node-syslog/build/Release/.deps/Release/syslog.node.d D node-syslog/build/Release/obj.target/syslog.node M node-syslog/build/Release/obj.target/syslog/syslog.o M node-syslog/build/Release/syslog.node M node-syslog/build/binding.Makefile M node-syslog/build/config.gypi A node-syslog/build/gyp-mac-tool M node-syslog/build/syslog.target.mk M node-syslog/package.json 13 files changed, 783 insertions(+), 139 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/dash/node_modules refs/changes/12/177012/1 diff --git a/.bin/mkdirp b/.bin/mkdirp new file mode 120000 index 0000000..017896c --- /dev/null +++ b/.bin/mkdirp @@ -0,0 +1 @@ +../mkdirp/bin/cmd.js \ No newline at end of file diff --git a/node-syslog/build/Makefile b/node-syslog/build/Makefile index 041cee3..5c7c97c 100644 --- a/node-syslog/build/Makefile +++ b/node-syslog/build/Makefile @@ -40,6 +40,14 @@ +CC.target ?= $(CC) +CFLAGS.target ?= $(CFLAGS) +CXX.target ?= $(CXX) +CXXFLAGS.target ?= $(CXXFLAGS) +LINK.target ?= $(LINK) +LDFLAGS.target ?= $(LDFLAGS) +AR.target ?= $(AR) + # C++ apps need to be linked with g++. # # Note: flock is used to seralize linking. Linking is a memory-intensive @@ -49,29 +57,17 @@ # export LINK=g++ # # This will allow make to invoke N linker processes as specified in -jN. -LINK ?= flock $(builddir)/linker.lock $(CXX) +LINK ?= ./gyp-mac-tool flock $(builddir)/linker.lock $(CXX.target) -CC.target ?= $(CC) -CFLAGS.target ?= $(CFLAGS) -CXX.target ?= $(CXX) -CXXFLAGS.target ?= $(CXXFLAGS) -LINK.target ?= $(LINK) -LDFLAGS.target ?= $(LDFLAGS) -AR.target ?= $(AR) -ARFLAGS.target ?= crsT - -# N.B.: the logic of which commands to run should match the computation done -# in gyp's make.py where ARFLAGS.host etc. is computed. # TODO(evan): move all cross-compilation logic to gyp-time so we don't need # to replicate this environment fallback in make as well. CC.host ?= gcc CFLAGS.host ?= CXX.host ?= g++ CXXFLAGS.host ?= -LINK.host ?= g++ +LINK.host ?= $(CXX.host) LDFLAGS.host ?= AR.host ?= ar -ARFLAGS.host := crsT # Define a dir function that can handle spaces. # http://www.gnu.org/software/make/manual/make.html#Syntax-of-Functions @@ -138,43 +134,52 @@ quiet_cmd_cxx = CXX($(TOOLSET)) $@ cmd_cxx = $(CXX.$(TOOLSET)) $(GYP_CXXFLAGS) $(DEPFLAGS) $(CXXFLAGS.$(TOOLSET)) -c -o $@ $< +quiet_cmd_objc = CXX($(TOOLSET)) $@ +cmd_objc = $(CC.$(TOOLSET)) $(GYP_OBJCFLAGS) $(DEPFLAGS) -c -o $@ $< + +quiet_cmd_objcxx = CXX($(TOOLSET)) $@ +cmd_objcxx = $(CXX.$(TOOLSET)) $(GYP_OBJCXXFLAGS) $(DEPFLAGS) -c -o $@ $< + +# Commands for precompiled header files. +quiet_cmd_pch_c = CXX($(TOOLSET)) $@ +cmd_pch_c = $(CC.$(TOOLSET)) $(GYP_PCH_CFLAGS) $(DEPFLAGS) $(CXXFLAGS.$(TOOLSET)) -c -o $@ $< +quiet_cmd_pch_cc = CXX($(TOOLSET)) $@ +cmd_pch_cc = $(CC.$(TOOLSET)) $(GYP_PCH_CXXFLAGS) $(DEPFLAGS) $(CXXFLAGS.$(TOOLSET)) -c -o $@ $< +quiet_cmd_pch_m = CXX($(TOOLSET)) $@ +cmd_pch_m = $(CC.$(TOOLSET)) $(GYP_PCH_OBJCFLAGS) $(DEPFLAGS) -c -o $@ $< +quiet_cmd_pch_mm = CXX($(TOOLSET)) $@ +cmd_pch_mm = $(CC.$(TOOLSET)) $(GYP_PCH_OBJCXXFLAGS) $(DEPFLAGS) -c -o $@ $< + +# gyp-mac-tool is written next to the root Makefile by gyp. +# Use $(4) for the command, since $(2) and $(3) are used as flag by do_cmd +# already. +quiet_cmd_mac_tool = MACTOOL $(4) $< +cmd_mac_tool = ./gyp-mac-tool $(4) $< "$@" + +quiet_cmd_mac_package_framework = PACKAGE FRAMEWORK $@ +cmd_mac_package_framework = ./gyp-mac-tool package-framework "$@" $(4) + +quiet_cmd_infoplist = INFOPLIST $@ +cmd_infoplist = $(CC.$(TOOLSET)) -E -P -Wno-trigraphs -x c $(INFOPLIST_DEFINES) "$<" -o "$@" + quiet_cmd_touch = TOUCH $@ cmd_touch = touch $@ quiet_cmd_copy = COPY $@ # send stderr to /dev/null to ignore messages when linking directories. -cmd_copy = ln -f "$<" "$@" 2>/dev/null || (rm -rf "$@" && cp -af "$<" "$@") +cmd_copy = rm -rf "$@" && cp -af "$<" "$@" -quiet_cmd_alink = AR($(TOOLSET)) $@ -cmd_alink = rm -f $@ && $(AR.$(TOOLSET)) $(ARFLAGS.$(TOOLSET)) $@ $(filter %.o,$^) +quiet_cmd_alink = LIBTOOL-STATIC $@ +cmd_alink = rm -f $@ && ./gyp-mac-tool filter-libtool libtool $(GYP_LIBTOOLFLAGS) -static -o $@ $(filter %.o,$^) -# Due to circular dependencies between libraries :(, we wrap the -# special "figure out circular dependencies" flags around the entire -# input list during linking. quiet_cmd_link = LINK($(TOOLSET)) $@ -cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ -Wl,--start-group $(LD_INPUTS) -Wl,--end-group $(LIBS) +cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o "$@" $(LD_INPUTS) $(LIBS) -# We support two kinds of shared objects (.so): -# 1) shared_library, which is just bundling together many dependent libraries -# into a link line. -# 2) loadable_module, which is generating a module intended for dlopen(). -# -# They differ only slightly: -# In the former case, we want to package all dependent code into the .so. -# In the latter case, we want to package just the API exposed by the -# outermost module. -# This means shared_library uses --whole-archive, while loadable_module doesn't. -# (Note that --whole-archive is incompatible with the --start-group used in -# normal linking.) - -# Other shared-object link notes: -# - Set SONAME to the library filename so our binaries don't reference -# the local, absolute paths used on the link command-line. quiet_cmd_solink = SOLINK($(TOOLSET)) $@ -cmd_solink = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -Wl,-soname=$(@F) -o $@ -Wl,--whole-archive $(LD_INPUTS) -Wl,--no-whole-archive $(LIBS) +cmd_solink = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o "$@" $(LD_INPUTS) $(LIBS) quiet_cmd_solink_module = SOLINK_MODULE($(TOOLSET)) $@ -cmd_solink_module = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -Wl,-soname=$(@F) -o $@ -Wl,--start-group $(filter-out FORCE_DO_CMD, $^) -Wl,--end-group $(LIBS) +cmd_solink_module = $(LINK.$(TOOLSET)) -bundle $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ $(filter-out FORCE_DO_CMD, $^) $(LIBS) # Define an escape_quotes function to escape single quotes. @@ -213,15 +218,14 @@ # $| -- order-only dependencies prereq_changed = $(filter-out FORCE_DO_CMD,$(filter-out $|,$?)) -# Helper that executes all postbuilds, and deletes the output file when done -# if any of the postbuilds failed. +# Helper that executes all postbuilds until one fails. define do_postbuilds @E=0;\ for p in $(POSTBUILDS); do\ eval $$p;\ - F=$$?;\ - if [ $$F -ne 0 ]; then\ - E=$$F;\ + E=$$?;\ + if [ $$E -ne 0 ]; then\ + break;\ fi;\ done;\ if [ $$E -ne 0 ]; then\ @@ -240,7 +244,7 @@ $(if $(or $(command_changed),$(prereq_changed)), @$(call exact_echo, $($(quiet)cmd_$(1))) @mkdir -p "$(call dirx,$@)" "$(dir $(depfile))" - $(if $(findstring flock,$(word 1,$(cmd_$1))), + $(if $(findstring flock,$(word 2,$(cmd_$1))), @$(cmd_$(1)) @echo " $(quiet_cmd_$(1)): Finished", @$(cmd_$(1)) @@ -278,6 +282,10 @@ @$(call do_cmd,cxx,1) $(obj).$(TOOLSET)/%.o: $(srcdir)/%.cxx FORCE_DO_CMD @$(call do_cmd,cxx,1) +$(obj).$(TOOLSET)/%.o: $(srcdir)/%.m FORCE_DO_CMD + @$(call do_cmd,objc,1) +$(obj).$(TOOLSET)/%.o: $(srcdir)/%.mm FORCE_DO_CMD + @$(call do_cmd,objcxx,1) $(obj).$(TOOLSET)/%.o: $(srcdir)/%.S FORCE_DO_CMD @$(call do_cmd,cc,1) $(obj).$(TOOLSET)/%.o: $(srcdir)/%.s FORCE_DO_CMD @@ -292,6 +300,10 @@ @$(call do_cmd,cxx,1) $(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.cxx FORCE_DO_CMD @$(call do_cmd,cxx,1) +$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.m FORCE_DO_CMD + @$(call do_cmd,objc,1) +$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.mm FORCE_DO_CMD + @$(call do_cmd,objcxx,1) $(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.S FORCE_DO_CMD @$(call do_cmd,cc,1) $(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.s FORCE_DO_CMD @@ -305,6 +317,10 @@ @$(call do_cmd,cxx,1) $(obj).$(TOOLSET)/%.o: $(obj)/%.cxx FORCE_DO_CMD @$(call do_cmd,cxx,1) +$(obj).$(TOOLSET)/%.o: $(obj)/%.m FORCE_DO_CMD + @$(call do_cmd,objc,1) +$(obj).$(TOOLSET)/%.o: $(obj)/%.mm FORCE_DO_CMD + @$(call do_cmd,objcxx,1) $(obj).$(TOOLSET)/%.o: $(obj)/%.S FORCE_DO_CMD @$(call do_cmd,cc,1) $(obj).$(TOOLSET)/%.o: $(obj)/%.s FORCE_DO_CMD @@ -318,8 +334,8 @@ endif quiet_cmd_regen_makefile = ACTION Regenerating $@ -cmd_regen_makefile = /home/elliott/.node-gyp/0.8.2/tools/gyp_addon -fmake --ignore-environment "--toplevel-dir=." -I/home/elliott/src/js/dash/node_modules/node-syslog/build/config.gypi -I/home/elliott/.node-gyp/0.8.2/tools/addon.gypi -I/home/elliott/.node-gyp/0.8.2/common.gypi "--depth=." "-Goutput_dir=." "--generator-output=build" "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/home/elliott/.node-gyp/0.8.2" "-Dmodule_root_dir=/home/elliott/src/js/dash/node_modules/node-syslog" binding.gyp -Makefile: $(srcdir)/../../../../../.node-gyp/0.8.2/tools/addon.gypi $(srcdir)/build/config.gypi $(srcdir)/binding.gyp $(srcdir)/../../../../../.node-gyp/0.8.2/common.gypi +cmd_regen_makefile = cd $(srcdir); /Users/sherahsmith/.nvm/v0.10.29/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py -fmake --ignore-environment "--toplevel-dir=." -I/Users/sherahsmith/workspace/dash/node_modules/node-syslog/build/config.gypi -I/Users/sherahsmith/.nvm/v0.10.29/lib/node_modules/npm/node_modules/node-gyp/addon.gypi -I/Users/sherahsmith/.node-gyp/0.10.29/common.gypi "--depth=." "-Goutput_dir=." "--generator-output=build" "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/Users/sherahsmith/.node-gyp/0.10.29" "-Dmodule_root_dir=/Users/sherahsmith/workspace/dash/node_modules/node-syslog" binding.gyp +Makefile: $(srcdir)/../../../../.nvm/v0.10.29/lib/node_modules/npm/node_modules/node-gyp/addon.gypi $(srcdir)/../../../../.node-gyp/0.10.29/common.gypi $(srcdir)/build/config.gypi $(srcdir)/binding.gyp $(call do_cmd,regen_makefile) # "all" is a concatenation of the "all" targets from all the included diff --git a/node-syslog/build/Release/.deps/Release/obj.target/syslog.node.d b/node-syslog/build/Release/.deps/Release/obj.target/syslog.node.d deleted file mode 100644 index 4d6cbaa..0000000 --- a/node-syslog/build/Release/.deps/Release/obj.target/syslog.node.d +++ /dev/null @@ -1 +0,0 @@ -cmd_Release/obj.target/syslog.node := flock ./Release/linker.lock g++ -shared -pthread -m64 -rdynamic -Wl,-soname=syslog.node -o Release/obj.target/syslog.node -Wl,--start-group Release/obj.target/syslog/syslog.o -Wl,--end-group diff --git a/node-syslog/build/Release/.deps/Release/obj.target/syslog/syslog.o.d b/node-syslog/build/Release/.deps/Release/obj.target/syslog/syslog.o.d index 5f2c94e..251cd4c 100644 --- a/node-syslog/build/Release/.deps/Release/obj.target/syslog/syslog.o.d +++ b/node-syslog/build/Release/.deps/Release/obj.target/syslog/syslog.o.d @@ -1,36 +1,22 @@ -cmd_Release/obj.target/syslog/syslog.o := g++ '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' -I/home/elliott/.node-gyp/0.8.2/src -I/home/elliott/.node-gyp/0.8.2/deps/uv/include -I/home/elliott/.node-gyp/0.8.2/deps/v8/include -fPIC -Wall -pthread -m64 -fPIC -O3 -fdata-sections -ffunction-sections -fno-rtti -fno-exceptions -MMD -MF ./Release/.deps/Release/obj.target/syslog/syslog.o.d.raw -c -o Release/obj.target/syslog/syslog.o ../syslog.cc +cmd_Release/obj.target/syslog/syslog.o := c++ '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DBUILDING_NODE_EXTENSION' -I/Users/sherahsmith/.node-gyp/0.10.29/src -I/Users/sherahsmith/.node-gyp/0.10.29/deps/uv/include -I/Users/sherahsmith/.node-gyp/0.10.29/deps/v8/include -Os -gdwarf-2 -mmacosx-version-min=10.5 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -fno-rtti -fno-exceptions -fno-threadsafe-statics -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/syslog/syslog.o.d.raw -c -o Release/obj.target/syslog/syslog.o ../syslog.cc Release/obj.target/syslog/syslog.o: ../syslog.cc ../node-syslog.h \ - /home/elliott/.node-gyp/0.8.2/src/node.h \ - /home/elliott/.node-gyp/0.8.2/deps/uv/include/uv.h \ - /home/elliott/.node-gyp/0.8.2/deps/uv/include/ares.h \ - /home/elliott/.node-gyp/0.8.2/deps/uv/include/ares_version.h \ - /home/elliott/.node-gyp/0.8.2/deps/uv/include/uv-private/uv-unix.h \ - /home/elliott/.node-gyp/0.8.2/deps/uv/include/uv-private/ngx-queue.h \ - /home/elliott/.node-gyp/0.8.2/deps/uv/include/uv-private/ev.h \ - /home/elliott/.node-gyp/0.8.2/deps/uv/include/uv-private/eio.h \ - /home/elliott/.node-gyp/0.8.2/deps/v8/include/v8.h \ - /home/elliott/.node-gyp/0.8.2/deps/v8/include/v8stdint.h \ - /home/elliott/.node-gyp/0.8.2/src/node_object_wrap.h \ - /home/elliott/.node-gyp/0.8.2/src/node.h \ - /home/elliott/.node-gyp/0.8.2/src/ev-emul.h \ - /home/elliott/.node-gyp/0.8.2/src/eio-emul.h \ - /home/elliott/.node-gyp/0.8.2/src/node_object_wrap.h \ - /home/elliott/.node-gyp/0.8.2/src/node_version.h + /Users/sherahsmith/.node-gyp/0.10.29/src/node.h \ + /Users/sherahsmith/.node-gyp/0.10.29/deps/uv/include/uv.h \ + /Users/sherahsmith/.node-gyp/0.10.29/deps/uv/include/uv-private/uv-unix.h \ + /Users/sherahsmith/.node-gyp/0.10.29/deps/uv/include/uv-private/ngx-queue.h \ + /Users/sherahsmith/.node-gyp/0.10.29/deps/uv/include/uv-private/uv-darwin.h \ + /Users/sherahsmith/.node-gyp/0.10.29/deps/v8/include/v8.h \ + /Users/sherahsmith/.node-gyp/0.10.29/deps/v8/include/v8stdint.h \ + /Users/sherahsmith/.node-gyp/0.10.29/src/node_object_wrap.h \ + /Users/sherahsmith/.node-gyp/0.10.29/src/node_version.h ../syslog.cc: ../node-syslog.h: -/home/elliott/.node-gyp/0.8.2/src/node.h: -/home/elliott/.node-gyp/0.8.2/deps/uv/include/uv.h: -/home/elliott/.node-gyp/0.8.2/deps/uv/include/ares.h: -/home/elliott/.node-gyp/0.8.2/deps/uv/include/ares_version.h: -/home/elliott/.node-gyp/0.8.2/deps/uv/include/uv-private/uv-unix.h: -/home/elliott/.node-gyp/0.8.2/deps/uv/include/uv-private/ngx-queue.h: -/home/elliott/.node-gyp/0.8.2/deps/uv/include/uv-private/ev.h: -/home/elliott/.node-gyp/0.8.2/deps/uv/include/uv-private/eio.h: -/home/elliott/.node-gyp/0.8.2/deps/v8/include/v8.h: -/home/elliott/.node-gyp/0.8.2/deps/v8/include/v8stdint.h: -/home/elliott/.node-gyp/0.8.2/src/node_object_wrap.h: -/home/elliott/.node-gyp/0.8.2/src/node.h: -/home/elliott/.node-gyp/0.8.2/src/ev-emul.h: -/home/elliott/.node-gyp/0.8.2/src/eio-emul.h: -/home/elliott/.node-gyp/0.8.2/src/node_object_wrap.h: -/home/elliott/.node-gyp/0.8.2/src/node_version.h: +/Users/sherahsmith/.node-gyp/0.10.29/src/node.h: +/Users/sherahsmith/.node-gyp/0.10.29/deps/uv/include/uv.h: +/Users/sherahsmith/.node-gyp/0.10.29/deps/uv/include/uv-private/uv-unix.h: +/Users/sherahsmith/.node-gyp/0.10.29/deps/uv/include/uv-private/ngx-queue.h: +/Users/sherahsmith/.node-gyp/0.10.29/deps/uv/include/uv-private/uv-darwin.h: +/Users/sherahsmith/.node-gyp/0.10.29/deps/v8/include/v8.h: +/Users/sherahsmith/.node-gyp/0.10.29/deps/v8/include/v8stdint.h: +/Users/sherahsmith/.node-gyp/0.10.29/src/node_object_wrap.h: +/Users/sherahsmith/.node-gyp/0.10.29/src/node_version.h: diff --git a/node-syslog/build/Release/.deps/Release/syslog.node.d b/node-syslog/build/Release/.deps/Release/syslog.node.d index a80db40..9ed648e 100644 --- a/node-syslog/build/Release/.deps/Release/syslog.node.d +++ b/node-syslog/build/Release/.deps/Release/syslog.node.d @@ -1 +1 @@ -cmd_Release/syslog.node := ln -f "Release/obj.target/syslog.node" "Release/syslog.node" 2>/dev/null || (rm -rf "Release/syslog.node" && cp -af "Release/obj.target/syslog.node" "Release/syslog.node") +cmd_Release/syslog.node := ./gyp-mac-tool flock ./Release/linker.lock c++ -bundle -Wl,-search_paths_first -mmacosx-version-min=10.5 -arch x86_64 -L./Release -o Release/syslog.node Release/obj.target/syslog/syslog.o -undefined dynamic_lookup diff --git a/node-syslog/build/Release/obj.target/syslog.node b/node-syslog/build/Release/obj.target/syslog.node deleted file mode 100755 index 29c4977..0000000 --- a/node-syslog/build/Release/obj.target/syslog.node +++ /dev/null Binary files differ diff --git a/node-syslog/build/Release/obj.target/syslog/syslog.o b/node-syslog/build/Release/obj.target/syslog/syslog.o index 301d71f..a534616 100644 --- a/node-syslog/build/Release/obj.target/syslog/syslog.o +++ b/node-syslog/build/Release/obj.target/syslog/syslog.o Binary files differ diff --git a/node-syslog/build/Release/syslog.node b/node-syslog/build/Release/syslog.node index 29c4977..c2f604f 100755 --- a/node-syslog/build/Release/syslog.node +++ b/node-syslog/build/Release/syslog.node Binary files differ diff --git a/node-syslog/build/binding.Makefile b/node-syslog/build/binding.Makefile index 68f616a..18daccb 100644 --- a/node-syslog/build/binding.Makefile +++ b/node-syslog/build/binding.Makefile @@ -1,6 +1,6 @@ # This file is generated by gyp; do not edit. -export builddir_name ?= build/./. +export builddir_name ?= ./build/. .PHONY: all all: $(MAKE) syslog diff --git a/node-syslog/build/config.gypi b/node-syslog/build/config.gypi index 42a91d4..8303d95 100644 --- a/node-syslog/build/config.gypi +++ b/node-syslog/build/config.gypi @@ -8,21 +8,110 @@ "libraries": [] }, "variables": { + "clang": 1, "host_arch": "x64", "node_install_npm": "true", - "node_install_waf": "true", - "node_no_strict_aliasing": 0, - "node_prefix": "", + "node_prefix": "/", + "node_shared_cares": "false", + "node_shared_http_parser": "false", + "node_shared_libuv": "false", "node_shared_openssl": "false", "node_shared_v8": "false", "node_shared_zlib": "false", - "node_use_dtrace": "false", + "node_tag": "", + "node_unsafe_optimizations": 0, + "node_use_dtrace": "true", "node_use_etw": "false", "node_use_openssl": "true", + "node_use_perfctr": "false", + "python": "/usr/bin/python", "target_arch": "x64", - "v8_no_strict_aliasing": 0, - "v8_use_snapshot": "true", - "nodedir": "/home/elliott/.node-gyp/0.8.2", - "copy_dev_lib": "true" + "v8_enable_gdbjit": 0, + "v8_no_strict_aliasing": 1, + "v8_use_snapshot": "false", + "nodedir": "/Users/sherahsmith/.node-gyp/0.10.29", + "copy_dev_lib": "true", + "standalone_static_library": 1, + "save_dev": "", + "browser": "", + "viewer": "man", + "rollback": "true", + "usage": "", + "globalignorefile": "/Users/sherahsmith/.nvm/v0.10.29/etc/npmignore", + "init_author_url": "", + "shell": "/bin/bash", + "parseable": "", + "shrinkwrap": "true", + "email": "", + "init_license": "ISC", + "cache_max": "Infinity", + "init_author_email": "", + "sign_git_tag": "", + "cert": "", + "git_tag_version": "true", + "local_address": "", + "long": "", + "registry": "https://registry.npmjs.org/", + "fetch_retries": "2", + "npat": "", + "key": "", + "message": "%s", + "versions": "", + "globalconfig": "/Users/sherahsmith/.nvm/v0.10.29/etc/npmrc", + "always_auth": "", + "spin": "true", + "cache_lock_retries": "10", + "heading": "npm", + "fetch_retry_mintimeout": "10000", + "proprietary_attribs": "true", + "json": "", + "description": "true", + "engine_strict": "", + "https_proxy": "", + "init_module": "/Users/sherahsmith/.npm-init.js", + "userconfig": "/Users/sherahsmith/.npmrc", + "node_version": "v0.10.29", + "user": "502", + "editor": "/usr/local/bin/vim", + "save": "", + "tag": "latest", + "global": "", + "optional": "true", + "username": "", + "bin_links": "true", + "force": "", + "searchopts": "", + "depth": "Infinity", + "rebuild_bundle": "true", + "searchsort": "name", + "unicode": "true", + "fetch_retry_maxtimeout": "60000", + "ca": "", + "save_prefix": "^", + "strict_ssl": "true", + "dev": "", + "fetch_retry_factor": "10", + "group": "20", + "save_exact": "", + "cache_lock_stale": "60000", + "version": "", + "cache_min": "10", + "cache": "/Users/sherahsmith/.npm", + "searchexclude": "", + "color": "true", + "save_optional": "", + "user_agent": "npm/1.4.14 node/v0.10.29 darwin x64", + "ignore_scripts": "", + "cache_lock_wait": "10000", + "production": "", + "save_bundle": "", + "umask": "18", + "git": "git", + "init_author_name": "", + "onload_script": "", + "tmp": "/var/folders/04/cphcxgjx54zc212qw44xnfhh0000gp/T/", + "unsafe_perm": "true", + "link": "", + "prefix": "/Users/sherahsmith/.nvm/v0.10.29" } } diff --git a/node-syslog/build/gyp-mac-tool b/node-syslog/build/gyp-mac-tool new file mode 100755 index 0000000..7abfed5 --- /dev/null +++ b/node-syslog/build/gyp-mac-tool @@ -0,0 +1,512 @@ +#!/usr/bin/env python +# Generated by gyp. Do not edit. +# Copyright (c) 2012 Google Inc. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +"""Utility functions to perform Xcode-style build steps. + +These functions are executed via gyp-mac-tool when using the Makefile generator. +""" + +import fcntl +import fnmatch +import glob +import json +import os +import plistlib +import re +import shutil +import string +import subprocess +import sys +import tempfile + + +def main(args): + executor = MacTool() + exit_code = executor.Dispatch(args) + if exit_code is not None: + sys.exit(exit_code) + + +class MacTool(object): + """This class performs all the Mac tooling steps. The methods can either be + executed directly, or dispatched from an argument list.""" + + def Dispatch(self, args): + """Dispatches a string command to a method.""" + if len(args) < 1: + raise Exception("Not enough arguments") + + method = "Exec%s" % self._CommandifyName(args[0]) + return getattr(self, method)(*args[1:]) + + def _CommandifyName(self, name_string): + """Transforms a tool name like copy-info-plist to CopyInfoPlist""" + return name_string.title().replace('-', '') + + def ExecCopyBundleResource(self, source, dest): + """Copies a resource file to the bundle/Resources directory, performing any + necessary compilation on each resource.""" + extension = os.path.splitext(source)[1].lower() + if os.path.isdir(source): + # Copy tree. + # TODO(thakis): This copies file attributes like mtime, while the + # single-file branch below doesn't. This should probably be changed to + # be consistent with the single-file branch. + if os.path.exists(dest): + shutil.rmtree(dest) + shutil.copytree(source, dest) + elif extension == '.xib': + return self._CopyXIBFile(source, dest) + elif extension == '.storyboard': + return self._CopyXIBFile(source, dest) + elif extension == '.strings': + self._CopyStringsFile(source, dest) + else: + shutil.copy(source, dest) + + def _CopyXIBFile(self, source, dest): + """Compiles a XIB file with ibtool into a binary plist in the bundle.""" + + # ibtool sometimes crashes with relative paths. See crbug.com/314728. + base = os.path.dirname(os.path.realpath(__file__)) + if os.path.relpath(source): + source = os.path.join(base, source) + if os.path.relpath(dest): + dest = os.path.join(base, dest) + + args = ['xcrun', 'ibtool', '--errors', '--warnings', '--notices', + '--output-format', 'human-readable-text', '--compile', dest, source] + ibtool_section_re = re.compile(r'/\*.*\*/') + ibtool_re = re.compile(r'.*note:.*is clipping its content') + ibtoolout = subprocess.Popen(args, stdout=subprocess.PIPE) + current_section_header = None + for line in ibtoolout.stdout: + if ibtool_section_re.match(line): + current_section_header = line + elif not ibtool_re.match(line): + if current_section_header: + sys.stdout.write(current_section_header) + current_section_header = None + sys.stdout.write(line) + return ibtoolout.returncode + + def _CopyStringsFile(self, source, dest): + """Copies a .strings file using iconv to reconvert the input into UTF-16.""" + input_code = self._DetectInputEncoding(source) or "UTF-8" + + # Xcode's CpyCopyStringsFile / builtin-copyStrings seems to call + # CFPropertyListCreateFromXMLData() behind the scenes; at least it prints + # CFPropertyListCreateFromXMLData(): Old-style plist parser: missing + # semicolon in dictionary. + # on invalid files. Do the same kind of validation. + import CoreFoundation + s = open(source, 'rb').read() + d = CoreFoundation.CFDataCreate(None, s, len(s)) + _, error = CoreFoundation.CFPropertyListCreateFromXMLData(None, d, 0, None) + if error: + return + + fp = open(dest, 'wb') + fp.write(s.decode(input_code).encode('UTF-16')) + fp.close() + + def _DetectInputEncoding(self, file_name): + """Reads the first few bytes from file_name and tries to guess the text + encoding. Returns None as a guess if it can't detect it.""" + fp = open(file_name, 'rb') + try: + header = fp.read(3) + except e: + fp.close() + return None + fp.close() + if header.startswith("\xFE\xFF"): + return "UTF-16" + elif header.startswith("\xFF\xFE"): + return "UTF-16" + elif header.startswith("\xEF\xBB\xBF"): + return "UTF-8" + else: + return None + + def ExecCopyInfoPlist(self, source, dest, *keys): + """Copies the |source| Info.plist to the destination directory |dest|.""" + # Read the source Info.plist into memory. + fd = open(source, 'r') + lines = fd.read() + fd.close() + + # Insert synthesized key/value pairs (e.g. BuildMachineOSBuild). + plist = plistlib.readPlistFromString(lines) + if keys: + plist = dict(plist.items() + json.loads(keys[0]).items()) + lines = plistlib.writePlistToString(plist) + + # Go through all the environment variables and replace them as variables in + # the file. + IDENT_RE = re.compile('[/\s]') + for key in os.environ: + if key.startswith('_'): + continue + evar = '${%s}' % key + evalue = os.environ[key] + lines = string.replace(lines, evar, evalue) + + # Xcode supports various suffices on environment variables, which are + # all undocumented. :rfc1034identifier is used in the standard project + # template these days, and :identifier was used earlier. They are used to + # convert non-url characters into things that look like valid urls -- + # except that the replacement character for :identifier, '_' isn't valid + # in a URL either -- oops, hence :rfc1034identifier was born. + evar = '${%s:identifier}' % key + evalue = IDENT_RE.sub('_', os.environ[key]) + lines = string.replace(lines, evar, evalue) + + evar = '${%s:rfc1034identifier}' % key + evalue = IDENT_RE.sub('-', os.environ[key]) + lines = string.replace(lines, evar, evalue) + + # Remove any keys with values that haven't been replaced. + lines = lines.split('\n') + for i in range(len(lines)): + if lines[i].strip().startswith("<string>${"): + lines[i] = None + lines[i - 1] = None + lines = '\n'.join(filter(lambda x: x is not None, lines)) + + # Write out the file with variables replaced. + fd = open(dest, 'w') + fd.write(lines) + fd.close() + + # Now write out PkgInfo file now that the Info.plist file has been + # "compiled". + self._WritePkgInfo(dest) + + def _WritePkgInfo(self, info_plist): + """This writes the PkgInfo file from the data stored in Info.plist.""" + plist = plistlib.readPlist(info_plist) + if not plist: + return + + # Only create PkgInfo for executable types. + package_type = plist['CFBundlePackageType'] + if package_type != 'APPL': + return + + # The format of PkgInfo is eight characters, representing the bundle type + # and bundle signature, each four characters. If that is missing, four + # '?' characters are used instead. + signature_code = plist.get('CFBundleSignature', '????') + if len(signature_code) != 4: # Wrong length resets everything, too. + signature_code = '?' * 4 + + dest = os.path.join(os.path.dirname(info_plist), 'PkgInfo') + fp = open(dest, 'w') + fp.write('%s%s' % (package_type, signature_code)) + fp.close() + + def ExecFlock(self, lockfile, *cmd_list): + """Emulates the most basic behavior of Linux's flock(1).""" + # Rely on exception handling to report errors. + fd = os.open(lockfile, os.O_RDONLY|os.O_NOCTTY|os.O_CREAT, 0o666) + fcntl.flock(fd, fcntl.LOCK_EX) + return subprocess.call(cmd_list) + + def ExecFilterLibtool(self, *cmd_list): + """Calls libtool and filters out '/path/to/libtool: file: foo.o has no + symbols'.""" + libtool_re = re.compile(r'^.*libtool: file: .* has no symbols$') + libtoolout = subprocess.Popen(cmd_list, stderr=subprocess.PIPE) + _, err = libtoolout.communicate() + for line in err.splitlines(): + if not libtool_re.match(line): + print >>sys.stderr, line + return libtoolout.returncode + + def ExecPackageFramework(self, framework, version): + """Takes a path to Something.framework and the Current version of that and + sets up all the symlinks.""" + # Find the name of the binary based on the part before the ".framework". + binary = os.path.basename(framework).split('.')[0] + + CURRENT = 'Current' + RESOURCES = 'Resources' + VERSIONS = 'Versions' + + if not os.path.exists(os.path.join(framework, VERSIONS, version, binary)): + # Binary-less frameworks don't seem to contain symlinks (see e.g. + # chromium's out/Debug/org.chromium.Chromium.manifest/ bundle). + return + + # Move into the framework directory to set the symlinks correctly. + pwd = os.getcwd() + os.chdir(framework) + + # Set up the Current version. + self._Relink(version, os.path.join(VERSIONS, CURRENT)) + + # Set up the root symlinks. + self._Relink(os.path.join(VERSIONS, CURRENT, binary), binary) + self._Relink(os.path.join(VERSIONS, CURRENT, RESOURCES), RESOURCES) + + # Back to where we were before! + os.chdir(pwd) + + def _Relink(self, dest, link): + """Creates a symlink to |dest| named |link|. If |link| already exists, + it is overwritten.""" + if os.path.lexists(link): + os.remove(link) + os.symlink(dest, link) + + def ExecCodeSignBundle(self, key, resource_rules, entitlements, provisioning): + """Code sign a bundle. + + This function tries to code sign an iOS bundle, following the same + algorithm as Xcode: + 1. copy ResourceRules.plist from the user or the SDK into the bundle, + 2. pick the provisioning profile that best match the bundle identifier, + and copy it into the bundle as embedded.mobileprovision, + 3. copy Entitlements.plist from user or SDK next to the bundle, + 4. code sign the bundle. + """ + resource_rules_path = self._InstallResourceRules(resource_rules) + substitutions, overrides = self._InstallProvisioningProfile( + provisioning, self._GetCFBundleIdentifier()) + entitlements_path = self._InstallEntitlements( + entitlements, substitutions, overrides) + subprocess.check_call([ + 'codesign', '--force', '--sign', key, '--resource-rules', + resource_rules_path, '--entitlements', entitlements_path, + os.path.join( + os.environ['TARGET_BUILD_DIR'], + os.environ['FULL_PRODUCT_NAME'])]) + + def _InstallResourceRules(self, resource_rules): + """Installs ResourceRules.plist from user or SDK into the bundle. + + Args: + resource_rules: string, optional, path to the ResourceRules.plist file + to use, default to "${SDKROOT}/ResourceRules.plist" + + Returns: + Path to the copy of ResourceRules.plist into the bundle. + """ + source_path = resource_rules + target_path = os.path.join( + os.environ['BUILT_PRODUCTS_DIR'], + os.environ['CONTENTS_FOLDER_PATH'], + 'ResourceRules.plist') + if not source_path: + source_path = os.path.join( + os.environ['SDKROOT'], 'ResourceRules.plist') + shutil.copy2(source_path, target_path) + return target_path + + def _InstallProvisioningProfile(self, profile, bundle_identifier): + """Installs embedded.mobileprovision into the bundle. + + Args: + profile: string, optional, short name of the .mobileprovision file + to use, if empty or the file is missing, the best file installed + will be used + bundle_identifier: string, value of CFBundleIdentifier from Info.plist + + Returns: + A tuple containing two dictionary: variables substitutions and values + to overrides when generating the entitlements file. + """ + source_path, provisioning_data, team_id = self._FindProvisioningProfile( + profile, bundle_identifier) + target_path = os.path.join( + os.environ['BUILT_PRODUCTS_DIR'], + os.environ['CONTENTS_FOLDER_PATH'], + 'embedded.mobileprovision') + shutil.copy2(source_path, target_path) + substitutions = self._GetSubstitutions(bundle_identifier, team_id + '.') + return substitutions, provisioning_data['Entitlements'] + + def _FindProvisioningProfile(self, profile, bundle_identifier): + """Finds the .mobileprovision file to use for signing the bundle. + + Checks all the installed provisioning profiles (or if the user specified + the PROVISIONING_PROFILE variable, only consult it) and select the most + specific that correspond to the bundle identifier. + + Args: + profile: string, optional, short name of the .mobileprovision file + to use, if empty or the file is missing, the best file installed + will be used + bundle_identifier: string, value of CFBundleIdentifier from Info.plist + + Returns: + A tuple of the path to the selected provisioning profile, the data of + the embedded plist in the provisioning profile and the team identifier + to use for code signing. + + Raises: + SystemExit: if no .mobileprovision can be used to sign the bundle. + """ + profiles_dir = os.path.join( + os.environ['HOME'], 'Library', 'MobileDevice', 'Provisioning Profiles') + if not os.path.isdir(profiles_dir): + print >>sys.stderr, ( + 'cannot find mobile provisioning for %s' % bundle_identifier) + sys.exit(1) + provisioning_profiles = None + if profile: + profile_path = os.path.join(profiles_dir, profile + '.mobileprovision') + if os.path.exists(profile_path): + provisioning_profiles = [profile_path] + if not provisioning_profiles: + provisioning_profiles = glob.glob( + os.path.join(profiles_dir, '*.mobileprovision')) + valid_provisioning_profiles = {} + for profile_path in provisioning_profiles: + profile_data = self._LoadProvisioningProfile(profile_path) + app_id_pattern = profile_data.get( + 'Entitlements', {}).get('application-identifier', '') + for team_identifier in profile_data.get('TeamIdentifier', []): + app_id = '%s.%s' % (team_identifier, bundle_identifier) + if fnmatch.fnmatch(app_id, app_id_pattern): + valid_provisioning_profiles[app_id_pattern] = ( + profile_path, profile_data, team_identifier) + if not valid_provisioning_profiles: + print >>sys.stderr, ( + 'cannot find mobile provisioning for %s' % bundle_identifier) + sys.exit(1) + # If the user has multiple provisioning profiles installed that can be + # used for ${bundle_identifier}, pick the most specific one (ie. the + # provisioning profile whose pattern is the longest). + selected_key = max(valid_provisioning_profiles, key=lambda v: len(v)) + return valid_provisioning_profiles[selected_key] + + def _LoadProvisioningProfile(self, profile_path): + """Extracts the plist embedded in a provisioning profile. + + Args: + profile_path: string, path to the .mobileprovision file + + Returns: + Content of the plist embedded in the provisioning profile as a dictionary. + """ + with tempfile.NamedTemporaryFile() as temp: + subprocess.check_call([ + 'security', 'cms', '-D', '-i', profile_path, '-o', temp.name]) + return self._LoadPlistMaybeBinary(temp.name) + + def _LoadPlistMaybeBinary(self, plist_path): + """Loads into a memory a plist possibly encoded in binary format. + + This is a wrapper around plistlib.readPlist that tries to convert the + plist to the XML format if it can't be parsed (assuming that it is in + the binary format). + + Args: + plist_path: string, path to a plist file, in XML or binary format + + Returns: + Content of the plist as a dictionary. + """ + try: + # First, try to read the file using plistlib that only supports XML, + # and if an exception is raised, convert a temporary copy to XML and + # load that copy. + return plistlib.readPlist(plist_path) + except: + pass + with tempfile.NamedTemporaryFile() as temp: + shutil.copy2(plist_path, temp.name) + subprocess.check_call(['plutil', '-convert', 'xml1', temp.name]) + return plistlib.readPlist(temp.name) + + def _GetSubstitutions(self, bundle_identifier, app_identifier_prefix): + """Constructs a dictionary of variable substitutions for Entitlements.plist. + + Args: + bundle_identifier: string, value of CFBundleIdentifier from Info.plist + app_identifier_prefix: string, value for AppIdentifierPrefix + + Returns: + Dictionary of substitutions to apply when generating Entitlements.plist. + """ + return { + 'CFBundleIdentifier': bundle_identifier, + 'AppIdentifierPrefix': app_identifier_prefix, + } + + def _GetCFBundleIdentifier(self): + """Extracts CFBundleIdentifier value from Info.plist in the bundle. + + Returns: + Value of CFBundleIdentifier in the Info.plist located in the bundle. + """ + info_plist_path = os.path.join( + os.environ['TARGET_BUILD_DIR'], + os.environ['INFOPLIST_PATH']) + info_plist_data = self._LoadPlistMaybeBinary(info_plist_path) + return info_plist_data['CFBundleIdentifier'] + + def _InstallEntitlements(self, entitlements, substitutions, overrides): + """Generates and install the ${BundleName}.xcent entitlements file. + + Expands variables "$(variable)" pattern in the source entitlements file, + add extra entitlements defined in the .mobileprovision file and the copy + the generated plist to "${BundlePath}.xcent". + + Args: + entitlements: string, optional, path to the Entitlements.plist template + to use, defaults to "${SDKROOT}/Entitlements.plist" + substitutions: dictionary, variable substitutions + overrides: dictionary, values to add to the entitlements + + Returns: + Path to the generated entitlements file. + """ + source_path = entitlements + target_path = os.path.join( + os.environ['BUILT_PRODUCTS_DIR'], + os.environ['PRODUCT_NAME'] + '.xcent') + if not source_path: + source_path = os.path.join( + os.environ['SDKROOT'], + 'Entitlements.plist') + shutil.copy2(source_path, target_path) + data = self._LoadPlistMaybeBinary(target_path) + data = self._ExpandVariables(data, substitutions) + if overrides: + for key in overrides: + if key not in data: + data[key] = overrides[key] + plistlib.writePlist(data, target_path) + return target_path + + def _ExpandVariables(self, data, substitutions): + """Expands variables "$(variable)" in data. + + Args: + data: object, can be either string, list or dictionary + substitutions: dictionary, variable substitutions to perform + + Returns: + Copy of data where each references to "$(variable)" has been replaced + by the corresponding value found in substitutions, or left intact if + the key was not found. + """ + if isinstance(data, str): + for key, value in substitutions.iteritems(): + data = data.replace('$(%s)' % key, value) + return data + if isinstance(data, list): + return [self._ExpandVariables(v, substitutions) for v in data] + if isinstance(data, dict): + return dict((k, self._ExpandVariables(data[k], + substitutions)) for k in data) + return data + +if __name__ == '__main__': + sys.exit(main(sys.argv[1:])) diff --git a/node-syslog/build/syslog.target.mk b/node-syslog/build/syslog.target.mk index 5326261..146146c 100644 --- a/node-syslog/build/syslog.target.mk +++ b/node-syslog/build/syslog.target.mk @@ -2,56 +2,88 @@ TOOLSET := target TARGET := syslog -DEFS_Debug := '-D_LARGEFILE_SOURCE' \ +DEFS_Debug := \ + '-D_DARWIN_USE_64_BIT_INODE=1' \ + '-D_LARGEFILE_SOURCE' \ '-D_FILE_OFFSET_BITS=64' \ + '-DBUILDING_NODE_EXTENSION' \ '-DDEBUG' \ '-D_DEBUG' # Flags passed to all source files. -CFLAGS_Debug := -fPIC \ +CFLAGS_Debug := \ + -O0 \ + -gdwarf-2 \ + -mmacosx-version-min=10.5 \ + -arch x86_64 \ -Wall \ - -pthread \ - -m64 \ - -fPIC \ - -g \ - -O0 + -Wendif-labels \ + -W \ + -Wno-unused-parameter # Flags passed to only C files. -CFLAGS_C_Debug := +CFLAGS_C_Debug := \ + -fno-strict-aliasing # Flags passed to only C++ files. -CFLAGS_CC_Debug := -fno-rtti \ - -fno-exceptions +CFLAGS_CC_Debug := \ + -fno-rtti \ + -fno-exceptions \ + -fno-threadsafe-statics \ + -fno-strict-aliasing -INCS_Debug := -I/home/elliott/.node-gyp/0.8.2/src \ - -I/home/elliott/.node-gyp/0.8.2/deps/uv/include \ - -I/home/elliott/.node-gyp/0.8.2/deps/v8/include +# Flags passed to only ObjC files. +CFLAGS_OBJC_Debug := -DEFS_Release := '-D_LARGEFILE_SOURCE' \ - '-D_FILE_OFFSET_BITS=64' +# Flags passed to only ObjC++ files. +CFLAGS_OBJCC_Debug := + +INCS_Debug := \ + -I/Users/sherahsmith/.node-gyp/0.10.29/src \ + -I/Users/sherahsmith/.node-gyp/0.10.29/deps/uv/include \ + -I/Users/sherahsmith/.node-gyp/0.10.29/deps/v8/include + +DEFS_Release := \ + '-D_DARWIN_USE_64_BIT_INODE=1' \ + '-D_LARGEFILE_SOURCE' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DBUILDING_NODE_EXTENSION' # Flags passed to all source files. -CFLAGS_Release := -fPIC \ +CFLAGS_Release := \ + -Os \ + -gdwarf-2 \ + -mmacosx-version-min=10.5 \ + -arch x86_64 \ -Wall \ - -pthread \ - -m64 \ - -fPIC \ - -O3 \ - -fdata-sections \ - -ffunction-sections + -Wendif-labels \ + -W \ + -Wno-unused-parameter # Flags passed to only C files. -CFLAGS_C_Release := +CFLAGS_C_Release := \ + -fno-strict-aliasing # Flags passed to only C++ files. -CFLAGS_CC_Release := -fno-rtti \ - -fno-exceptions +CFLAGS_CC_Release := \ + -fno-rtti \ + -fno-exceptions \ + -fno-threadsafe-statics \ + -fno-strict-aliasing -INCS_Release := -I/home/elliott/.node-gyp/0.8.2/src \ - -I/home/elliott/.node-gyp/0.8.2/deps/uv/include \ - -I/home/elliott/.node-gyp/0.8.2/deps/v8/include +# Flags passed to only ObjC files. +CFLAGS_OBJC_Release := -OBJS := $(obj).target/$(TARGET)/syslog.o +# Flags passed to only ObjC++ files. +CFLAGS_OBJCC_Release := + +INCS_Release := \ + -I/Users/sherahsmith/.node-gyp/0.10.29/src \ + -I/Users/sherahsmith/.node-gyp/0.10.29/deps/uv/include \ + -I/Users/sherahsmith/.node-gyp/0.10.29/deps/v8/include + +OBJS := \ + $(obj).target/$(TARGET)/syslog.o # Add to the list of files we specially track dependencies for. all_deps += $(OBJS) @@ -61,6 +93,8 @@ $(OBJS): TOOLSET := $(TOOLSET) $(OBJS): GYP_CFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_C_$(BUILDTYPE)) $(OBJS): GYP_CXXFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_CC_$(BUILDTYPE)) +$(OBJS): GYP_OBJCFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_C_$(BUILDTYPE)) $(CFLAGS_OBJC_$(BUILDTYPE)) +$(OBJS): GYP_OBJCXXFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_CC_$(BUILDTYPE)) $(CFLAGS_OBJCC_$(BUILDTYPE)) # Suffix rules, putting all outputs into $(obj). @@ -77,36 +111,42 @@ # End of this set of suffix rules ### Rules for final target. -LDFLAGS_Debug := -pthread \ - -m64 \ - -rdynamic +LDFLAGS_Debug := \ + -Wl,-search_paths_first \ + -mmacosx-version-min=10.5 \ + -arch x86_64 \ + -L$(builddir) -LDFLAGS_Release := -pthread \ - -m64 \ - -rdynamic +LIBTOOLFLAGS_Debug := \ + -Wl,-search_paths_first -LIBS := +LDFLAGS_Release := \ + -Wl,-search_paths_first \ + -mmacosx-version-min=10.5 \ + -arch x86_64 \ + -L$(builddir) -$(obj).target/syslog.node: GYP_LDFLAGS := $(LDFLAGS_$(BUILDTYPE)) -$(obj).target/syslog.node: LIBS := $(LIBS) -$(obj).target/syslog.node: TOOLSET := $(TOOLSET) -$(obj).target/syslog.node: $(OBJS) FORCE_DO_CMD +LIBTOOLFLAGS_Release := \ + -Wl,-search_paths_first + +LIBS := \ + -undefined dynamic_lookup + +$(builddir)/syslog.node: GYP_LDFLAGS := $(LDFLAGS_$(BUILDTYPE)) +$(builddir)/syslog.node: LIBS := $(LIBS) +$(builddir)/syslog.node: GYP_LIBTOOLFLAGS := $(LIBTOOLFLAGS_$(BUILDTYPE)) +$(builddir)/syslog.node: TOOLSET := $(TOOLSET) +$(builddir)/syslog.node: $(OBJS) FORCE_DO_CMD $(call do_cmd,solink_module) -all_deps += $(obj).target/syslog.node +all_deps += $(builddir)/syslog.node # Add target alias .PHONY: syslog syslog: $(builddir)/syslog.node -# Copy this to the executable output path. -$(builddir)/syslog.node: TOOLSET := $(TOOLSET) -$(builddir)/syslog.node: $(obj).target/syslog.node FORCE_DO_CMD - $(call do_cmd,copy) - -all_deps += $(builddir)/syslog.node # Short alias for building this executable. .PHONY: syslog.node -syslog.node: $(obj).target/syslog.node $(builddir)/syslog.node +syslog.node: $(builddir)/syslog.node # Add executable to "all" target. .PHONY: all diff --git a/node-syslog/package.json b/node-syslog/package.json index b42c30c..1172975 100644 --- a/node-syslog/package.json +++ b/node-syslog/package.json @@ -35,6 +35,7 @@ }, "gypfile": true, "readme": "# Node-Syslog\n\nv1.1.7\n\nThis is an node module (add-on) to work with system log daemon on unix systems.\nModule is tested with node.js v0.8.16 (also dev version v0.9.3) and metalog, syslog-ng 3.1.1.\n\nRead Wiki \"setMask\" page for more information about how to use \"setMask\" functionality.\n\n\nCurrent version is compatible to node 0.8.x and higher versions. For older nodejs versions please use node-syslog v1.0.3\n\nNode-syslog doesn't support Darwin OS and MS Windows, but should work fine with this OSes.\n\n## Authors\n\n* Nazar Kulyk\n* Jeremy Childs\n\n## Installation\n\n### npm\n\n npm install node-syslog\n\n### manual\n\n git clone\n node-gyp configure build\n\n## Usage\n\nFor more inforamtion about how to use module check test.js\n\n var Syslog = require('node-syslog');\n \n Syslog.init(\"node-syslog\", Syslog.LOG_PID | Syslog.LOG_ODELAY, Syslog.LOG_LOCAL0);\n Syslog.log(Syslog.LOG_INFO, \"Node Syslog Module output \" + new Date());\n Syslog.close();\n \nCheck your /var/log/messages (syslog, syslog-ng), or /var/log/everything/current (metalog) file for any test entry.\n", + "readmeFilename": "README.md", "_id": "[email protected]", "_from": "node-syslog@~1.1.7" } -- To view, visit https://gerrit.wikimedia.org/r/177012 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I4f34bfa9d8ba39a99721575b0d93238a4472f33c Gerrit-PatchSet: 1 Gerrit-Project: wikimedia/fundraising/dash/node_modules Gerrit-Branch: master Gerrit-Owner: Ssmith <[email protected]> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
