diff --git a/.gitignore b/.gitignore index 7863cee026..0fba1e21c2 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,9 @@ node node_g *.swp .benchmark_reports + +autom4te.cache/ +config.log +config.mak.autogen +config.status +configure diff --git a/Makefile b/Makefile index 48b38a9749..5bdae40cda 100644 --- a/Makefile +++ b/Makefile @@ -1,39 +1,305 @@ -WAF=python tools/waf-light +#config -all: - @$(WAF) build +# define DEBUG=1 to build node_g -all-progress: - @$(WAF) -p build +WANT_OPENSSL=1 +PREFIX=/usr +SHELL=/bin/sh +INSTALL = install -install: - @$(WAF) install -uninstall: - @$(WAF) uninstall +-include config.mak.autogen +-include config.mak -test: all + +platform := $(shell python -c 'import sys; print sys.platform') + + +ifeq ($(platform),linux2) + platform := linux +endif + +# fix me +arch = x86_64 + + +ifeq ($(platform),darwin) + LINKFLAGS += -framework Carbon +endif + +ifeq ($(platform),linux) + LINKFLAGS += -pthread -lrt +endif + +ifdef WANT_OPENSSL + HAVE_OPENSSL = 1 + HAVE_CRYPTO = 1 + ifdef OPENSSL_DIR + OPENSSL_LINKFLAGS += -L$(OPENSSL_DIR)/lib + OPENSSL_CPPFLAGS += -I$(OPENSSL_DIR)/include + endif + OPENSSL_LINKFLAGS += -lssl -lcrypto +endif + +cflags += -pedantic + + + + +debug_CPPDEFINES = -DDEBUG $(CFLAGS) +debug_CFLAGS = -Wall -O0 -ggdb $(CFLAGS) +debug_CXXFLAGS = $(debug_CFLAGS) +debug_LINKFLAGS = $(LINKFLAGS) + +release_CPPDEFINES = -DNODEBUG +release_CFLAGS = -Wall -O2 +release_CXXFLAGS = $(release_CFLAGS) +release_LINKFLAGS = $(LINKFLAGS) + +builddir = build + + +libev_sources = deps/libev/ev.c +# Note: -I$(builddir)/deps/libev contains config.h which is generated from +# deps/libev/config.h.in during the configure script +libev_CPPFLAGS = -Ideps/libev -I$(builddir)/deps/libev +libev_release_objects = $(builddir)/release/deps/libev/ev.o +libev_debug_objects = $(builddir)/debug/deps/libev/ev.o + +libeio_sources = deps/libeio/eio.c +libeio_release_objects = $(builddir)/release/deps/libeio/eio.o +libeio_debug_objects = $(builddir)/debug/deps/libeio/eio.o +# Note: -I$(builddir)/deps/libeio contains config.h which is generated from +# deps/libeio/config.h.in during the configure script +libeio_CPPFLAGS = -D_GNU_SOURCE -Ideps/libeio -I$(builddir)/deps/libeio + +http_parser_sources = deps/http_parser/http_parser.c +http_parser_release_objects = $(builddir)/release/deps/http_parser/http_parser.o +http_parser_debug_objects = $(builddir)/debug/deps/http_parser/http_parser.o +http_parser_CPPFLAGS = -Ideps/http_parser + +cares_sources = $(wildcard deps/c-ares/*.c) +cares_release_objects = $(addprefix $(builddir)/release/,$(cares_sources:.c=.o)) +cares_debug_objects = $(addprefix $(builddir)/debug/,$(cares_sources:.c=.o)) +cares_CPPFLAGS = -DHAVE_CONFIG_H=1 -Ideps/c-ares -Ideps/c-ares/$(platform)-$(arch) + +node_sources = src/node.cc \ + src/platform_$(platform).cc \ + src/node_buffer.cc \ + src/node_cares.cc \ + src/node_child_process.cc \ + src/node_constants.cc \ + src/node_crypto.cc \ + src/node_events.cc \ + src/node_extensions.cc \ + src/node_file.cc \ + src/node_http_parser.cc \ + src/node_idle_watcher.cc \ + src/node_io_watcher.cc \ + src/node_main.cc \ + src/node_net.cc \ + src/node_script.cc \ + src/node_signal_watcher.cc \ + src/node_stat_watcher.cc \ + src/node_stdio.cc \ + src/node_timer.cc \ + src/node_javascript.cc \ + +node_debug_objects = $(addprefix $(builddir)/debug/,$(node_sources:.cc=.o)) +node_release_objects = $(addprefix $(builddir)/release/,$(node_sources:.cc=.o)) + +# TODO HAVE_FDATASYNC should be set in configure. + +node_CPPFLAGS = -Isrc/ -Ideps/libeio/ -Ideps/libev/ -Ideps/http_parser/ \ + -Ideps/libev/include/ -Ideps/v8/include -DPLATFORM=\"$(platform)\" \ + -DX_STACKSIZE=65536 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \ + -DHAVE_FDATASYNC=0 -I$(builddir)/release/src $(cares_CPPFLAGS) +node_debug_CPPFLAGS = $(subst release,debug,$(NODE_CPPFLAGS)) + +libv8 = $(builddir)/libv8.a +libv8_g = $(builddir)/libv8_g.a + +dirs = $(builddir)/release/src \ + $(builddir)/release/deps/libev \ + $(builddir)/release/deps/libeio \ + $(builddir)/release/deps/c-ares \ + $(builddir)/release/deps/http_parser \ + $(builddir)/release/deps/v8 \ + $(builddir)/release/lib/pkgconfig +debug_dirs = $(subst release,debug,$(dirs)) + + + + +# Rules + +all: $(dirs) node + +ifdef DEBUG +all: $(debug_dirs) node_g +endif + + +node: $(builddir)/node + ln -fs $< $@ + +node_g: $(builddir)/node_g + ln -fs $< $@ + + + +$(dirs) $(debug_dirs): + mkdir -p $@ + + +# libev + +$(builddir)/release/deps/libev/%.o: deps/libev/%.c + $(CC) -c $(release_CFLAGS) $(release_CPPFLAGS) $(libev_CFLAGS) \ + $(libev_CPPFLAGS) $< -o $@ + +$(builddir)/debug/deps/libev/%.o: deps/libev/%.c + $(CC) -c $(debug_CFLAGS) $(debug_CPPFLAGS) $(libev_CFLAGS) \ + $(libev_CPPFLAGS) $< -o $@ + + +# libeio + +$(builddir)/release/deps/libeio/%.o: deps/libeio/%.c + $(CC) -c $(release_CFLAGS) $(release_CPPFLAGS) $(libeio_CFLAGS) \ + $(libeio_CPPFLAGS) $< -o $@ + +$(builddir)/debug/deps/libeio/%.o: deps/libeio/%.c + $(CC) -c $(debug_CFLAGS) $(debug_CPPFLAGS) $(libeio_CFLAGS) \ + $(libeio_CPPFLAGS) $< -o $@ + + +# http-parser + +$(builddir)/release/deps/http_parser/%.o: deps/http_parser/%.c + $(CC) -c $(release_CFLAGS) $(release_CPPFLAGS) $(http_parser_CFLAGS) \ + $(http_parser_CPPFLAGS) $< -o $@ + +$(builddir)/debug/deps/http_parser/%.o: deps/http_parser/%.c + $(CC) -c $(debug_CFLAGS) $(debug_CPPFLAGS) $(http_parser_CFLAGS) \ + $(http_parser_CPPFLAGS) $< -o $@ + + +# c-ares + +$(builddir)/release/deps/c-ares/%.o: deps/c-ares/%.c + $(CC) -c $(release_CFLAGS) $(release_CPPFLAGS) $(cares_CFLAGS) \ + $(cares_CPPFLAGS) $< -o $@ + +$(builddir)/debug/deps/c-ares/%.o: deps/c-ares/%.c + $(CC) -c $(debug_CFLAGS) $(debug_CPPFLAGS) $(cares_CFLAGS) \ + $(cares_CPPFLAGS) $< -o $@ + + +# node + +$(builddir)/release/src/%.o: src/%.cc + $(CXX) -c $(release_CXXFLAGS) $(release_CPPFLAGS) $(node_CXXFLAGS) \ + $(node_CPPFLAGS) $(OPENSSL_CPPFLAGS) $< -o $@ + +$(builddir)/debug/src/%.o: src/%.cc + $(CXX) -c $(debug_CXXFLAGS) $(debug_CPPFLAGS) $(node_CXXFLAGS) \ + $(node_CPPFLAGS) $(OPENSSL_CPPFLAGS) $< -o $@ + + +# node.o + +$(builddir)/release/src/node.o: src/node.cc $(builddir)/release/src/node_natives.h + $(CXX) -c $(release_CXXFLAGS) $(release_CPPFLAGS) $(node_CFLAGS) \ + $(node_CPPFLAGS) $(OPENSSL_CPPFLAGS) $< -o $@ + +$(builddir)/debug/src/node.o: src/node.cc $(builddir)/debug/src/node_natives.h + $(CXX) -c $(debug_CXXFLAGS) $(debug_CPPFLAGS) $(node_CFLAGS) \ + $(node_CPPFLAGS) $(OPENSSL_CPPFLAGS) $< -o $@ + + +# node executable + +$(builddir)/node: $(node_release_objects) $(libev_release_objects) \ + $(libeio_release_objects) $(http_parser_release_objects) \ + $(cares_release_objects) $(libv8) + $(CXX) -o $@ $^ $(release_LINKFLAGS) $(node_LINKFLAGS) $(OPENSSL_LINKFLAGS) + +$(builddir)/node_g: $(node_debug_objects) $(libev_debug_objects) \ + $(libeio_debug_objects) $(http_parser_debug_objects) \ + $(cares_debug_objects) $(libv8_g) + $(CXX) -o $@ $^ $(debug_LINKFLAGS) $(node_LINKFLAGS) $(OPENSSL_LINKFLAGS) + + + +$(builddir)/release/src/node_natives.h: src/node.js lib/*.js + python tools/js2c.py $^ > $@ + +$(builddir)/debug/src/node_natives.h: src/node.js lib/*.js + python tools/js2c.py $^ > $@ + # TODO a debug flag for the macros ? + + + +$(builddir)/release/src/node_config.h: src/node_config.h.in + sed -e "s#@PREFIX@#$(PREFIX)#" \ + -e "s#@CCFLAGS@#$(release_CFLAGS)#" \ + -e "s#@CPPFLAGS@#$(release_CPPFLAGS)#" $< > $@ || rm $@ + +$(builddir)/debug/src/node_config.h: src/node_config.h.in + sed -e "s#@PREFIX@#$(PREFIX)#" \ + -e "s#@CCFLAGS@#$(debug_CFLAGS)#" \ + -e "s#@CPPFLAGS@#$(debug_CPPFLAGS)#" $< > $@ || rm $@ + + +# FIXME convert to a generalized *.in preprocessor +$(builddir)/release/lib/pkgconfig/nodejs.pc: tools/nodejs.pc.in + sed \ + -e "s#@PREFIX@#$(PREFIX)#" \ + -e "s#@VERSION@#$(VERSION)#" \ + -e "s#@CCFLAGS@#$(CFLAGS)#" \ + -e "s#@CPPFLAGS@#$(CPPFLAGS)#" $< > $@ || rm $@ + +# v8 does its own debug and release version, so we don't put it in the +# profile_builddir but rather just the builddir. +$(libv8): + python tools/scons/scons.py -C $(builddir) -Y `pwd`/deps/v8 \ + visibility=default mode=release arch=x64 library=static snapshot=on + +$(libv8_g): + python tools/scons/scons.py -C $(builddir) -Y `pwd`/deps/v8 \ + visibility=default mode=debug arch=x64 library=static snapshot=on + + +# header deps +$(builddir)/release/src/node.o: $(builddir)/release/src/node_config.h +$(builddir)/debug/src/node.o: $(builddir)/debug/src/node_config.h + + +# TODO install + +test: $(builddir)/node python tools/test.py --mode=release simple message -test-all: all +test-all: $(builddir)/node $(builddir)/node_g python tools/test.py --mode=debug,release -test-release: all +test-release: $(builddir)/node python tools/test.py --mode=release -test-debug: all +test-debug: $(builddir)/node_g python tools/test.py --mode=debug -test-message: all +test-message: $(builddir)/node python tools/test.py message -test-simple: all +test-simple: $(builddir)/node python tools/test.py simple -test-pummel: all +test-pummel: $(builddir)/node python tools/test.py pummel -test-internet: all +test-internet: $(builddir)/node python tools/test.py internet # http://rtomayko.github.com/ronn @@ -59,15 +325,15 @@ docclean: @-rm -f doc/node.1 doc/api.html doc/changelog.html clean: - @$(WAF) clean - @-find tools -name "*.pyc" | xargs rm -f + -rm -f node node_g $(builddir)/node $(builddir)/node_g + -find $(builddir) -name "*.o" | xargs rm -f + -find . -name "*.pyc" | xargs rm -f distclean: docclean - @-find tools -name "*.pyc" | xargs rm -f - @-rm -rf build/ node node_g + -find tools -name "*.pyc" | xargs rm -f + -rm -rf build/ node node_g + -rm -rf configure config.mak.autogen config.log autom4te.cache config.status -check: - @tools/waf-light check VERSION=$(shell git describe) TARNAME=node-$(VERSION) diff --git a/config.mak.in b/config.mak.in new file mode 100644 index 0000000000..fdfc5e639c --- /dev/null +++ b/config.mak.in @@ -0,0 +1,26 @@ +# git Makefile configuration, included in main Makefile +# @configure_input@ + +CC = @CC@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +LDFLAGS = @LDFLAGS@ +AR = @AR@ +TAR = @TAR@ + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +bindir = @bindir@ +datarootdir = @datarootdir@ + +mandir=@mandir@ + +srcdir = @srcdir@ +VPATH = @srcdir@ + +export exec_prefix mandir +export srcdir VPATH + + + +WANT_OPENSSL=@WANT_OPENSSL@ diff --git a/configure b/configure deleted file mode 100755 index de002e39b2..0000000000 --- a/configure +++ /dev/null @@ -1,21 +0,0 @@ -#! /bin/sh - -# v8 doesn't like ccache -if [ ! -z "`echo $CC | grep ccache`" ]; then - echo "Error: V8 doesn't like cache. Please set your CC env var to 'gcc'" - echo " (ba)sh: export CC=gcc" - exit 1 -fi - -CUR_DIR=$PWD - -#possible relative path -WORKINGDIR=`dirname $0` -cd "$WORKINGDIR" -#abs path -WORKINGDIR=`pwd` -cd "$CUR_DIR" - -"${WORKINGDIR}/tools/waf-light" --jobs=1 configure $* - -exit $? diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000000..f6fd16bfb8 --- /dev/null +++ b/configure.ac @@ -0,0 +1,68 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +AC_PREREQ(2.59) +AC_INIT([node], [0.3.0-pre], [ryan@joyent.com]) + +AC_CONFIG_SRCDIR([src/node.cc]) + +config_file=config.mak.autogen +config_append=config.mak.append +config_in=config.mak.in + +echo "# ${config_append}. Generated by configure." > "${config_append}" + +#dnl Search for pkg-config +#AC_PATH_PROG(PKG_CONFIG, pkg-config) + + +# TODO support options +# --efence Build with -lefence for debugging [Default: False] +# --without-snapshot Build without snapshotting V8 libraries. You might want to set this for cross-compiling. +# [Default: False] +# --without-ssl Build without SSL +# --shared-v8 Link to a shared V8 DLL instead of static linking +# --shared-v8-includes=SHARED_V8_INCLUDES +# Directory containing V8 header files +# --shared-v8-libpath=SHARED_V8_LIBPATH +# A directory to search for the shared V8 DLL +# --shared-v8-libname=SHARED_V8_LIBNAME +# Alternative lib name to link to (default: 'v8') +# --shared-cares Link to a shared C-Ares DLL instead of static linking +# --shared-cares-includes=SHARED_CARES_INCLUDES +# Directory containing C-Ares header files +# --shared-cares-libpath=SHARED_CARES_LIBPATH +# A directory to search for the shared C-Ares DLL +# --shared-libev Link to a shared libev DLL instead of static linking +# --shared-libev-includes=SHARED_LIBEV_INCLUDES +# Directory containing libev header files +# --shared-libev-libpath=SHARED_LIBEV_LIBPATH +# A directory to search for the shared libev DLL + +AC_CHECK_PROGS(TAR, [gtar tar]) +AC_CHECK_TOOLS(AR, [gar ar], :) + + + +# OpenSSL +AC_SUBST([WANT_OPENSSL],[YES]) + + + + +m4_include([deps/libev/libev.m4]) +m4_include([deps/libeio/libeio.m4]) + +mkdir -p build/deps/libev/ +mkdir -p build/deps/libeio/ +AC_CONFIG_HEADERS([build/deps/libev/config.h:deps/libev/config.h.in]) +AC_CONFIG_HEADERS([build/deps/libeio/config.h:deps/libeio/config.h.in]) + +AC_CONFIG_FILES(["${config_file}":"${config_in}"]) + +## Output files +AC_OUTPUT + + +## Cleanup +rm -f "${config_append}" diff --git a/deps/c-ares/wscript b/deps/c-ares/wscript deleted file mode 100644 index 9acc41ecfc..0000000000 --- a/deps/c-ares/wscript +++ /dev/null @@ -1,26 +0,0 @@ -import Options -import platform - -PLATFORM_IS_DARWIN = platform.platform().find('Darwin') == 0 -PLATFORM_IS_LINUX = platform.platform().find('Linux') == 0 -PLATFORM_IS_SOLARIS = platform.platform().find('Sun') == 0 -PLATFORM_IS_FREEBSD = platform.platform().find('FreeBSD') == 0 -MACHINE_IS_AMD64 = platform.machine().find('amd64') == 0 -MACHINE_IS_I386 = platform.machine().find('i386') == 0 - -def set_options(opt): - pass - -def configure(conf): - conf.env.append_value('CCFLAGS', ['-DHAVE_CONFIG_H=1']) - -def build(bld): - cares = bld.new_task_gen("cc") - cares.source = bld.path.ant_glob('*.c') - cares.target = 'cares' - cares.name = 'cares' - cares.includes = '. ./' + bld.env['DEST_OS'] + '-' + bld.env['DEST_CPU'] - cares.install_path = None - if bld.env["USE_DEBUG"]: - cares.clone("debug"); - diff --git a/deps/libeio/config.h.in b/deps/libeio/config.h.in index 5841743626..3d668852a2 100644 --- a/deps/libeio/config.h.in +++ b/deps/libeio/config.h.in @@ -48,26 +48,5 @@ /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS - -/* Version number of package */ -#undef VERSION diff --git a/deps/libeio/cygwin/config.h b/deps/libeio/cygwin/config.h deleted file mode 100644 index f149a6b352..0000000000 --- a/deps/libeio/cygwin/config.h +++ /dev/null @@ -1,77 +0,0 @@ -/* config.h. Generated from config.h.in by configure. */ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to 1 if you have the header file. */ -#define HAVE_DLFCN_H 1 - -/* fdatasync(2) is available */ -#define HAVE_FDATASYNC 1 - -/* futimes(2) is available */ -#define HAVE_FUTIMES 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* pread(2) and pwrite(2) are available */ -#define HAVE_PREADWRITE 1 - -/* readahead(2) is available (linux) */ -/* #undef HAVE_READAHEAD */ - -/* sendfile(2) is available and supported */ -/* #undef HAVE_SENDFILE */ - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* sync_file_range(2) is available */ -/* #undef HAVE_SYNC_FILE_RANGE */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Name of package */ -#define PACKAGE "libeio" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "" - -/* Define to the home page for this package. */ -#define PACKAGE_URL "" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "" - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Version number of package */ -#define VERSION "1.0" diff --git a/deps/libeio/darwin/config.h b/deps/libeio/darwin/config.h deleted file mode 100644 index 84a3440df0..0000000000 --- a/deps/libeio/darwin/config.h +++ /dev/null @@ -1,82 +0,0 @@ -/* config.h. Generated from config.h.in by configure. */ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to 1 if you have the header file. */ -#define HAVE_DLFCN_H 1 - -/* fdatasync(2) is not available on 10.5 but is on 10.6 - * How should we deal with this? */ -/* #define HAVE_FDATASYNC 0 */ - -/* futimes(2) is available */ -#define HAVE_FUTIMES 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* pread(2) and pwrite(2) are available */ -#define HAVE_PREADWRITE 1 - -/* readahead(2) is available (linux) */ -/* #undef HAVE_READAHEAD */ - -/* sendfile(2) is available and supported */ -#define HAVE_SENDFILE 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* sync_file_range(2) is available */ -/* #undef HAVE_SYNC_FILE_RANGE */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#define LT_OBJDIR ".libs/" - -/* Name of package */ -#define PACKAGE "libeio" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "" - -/* Define to the home page for this package. */ -#define PACKAGE_URL "" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "" - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Version number of package */ -#define VERSION "1.0" diff --git a/deps/libeio/freebsd/config.h b/deps/libeio/freebsd/config.h deleted file mode 100644 index b740cdd878..0000000000 --- a/deps/libeio/freebsd/config.h +++ /dev/null @@ -1,78 +0,0 @@ -/* config.h. Generated from config.h.in by configure. */ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to 1 if you have the header file. */ -#define HAVE_DLFCN_H 1 - -/* fdatasync(2) is available */ -/* #undef HAVE_FDATASYNC */ - -/* futimes(2) is available */ -#define HAVE_FUTIMES 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* pread(2) and pwrite(2) are available */ -#define HAVE_PREADWRITE 1 - -/* readahead(2) is available (linux) */ -/* #undef HAVE_READAHEAD */ - -/* sendfile(2) is available and supported */ -#define HAVE_SENDFILE 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* sync_file_range(2) is available */ -/* #undef HAVE_SYNC_FILE_RANGE */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#define LT_OBJDIR ".libs/" - -/* Name of package */ -#define PACKAGE "libeio" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "" - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Version number of package */ -#define VERSION "1.0" diff --git a/deps/libeio/linux/config.h b/deps/libeio/linux/config.h deleted file mode 100644 index 0936e7f3ea..0000000000 --- a/deps/libeio/linux/config.h +++ /dev/null @@ -1,81 +0,0 @@ -/* config.h. Generated from config.h.in by configure. */ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to 1 if you have the header file. */ -#define HAVE_DLFCN_H 1 - -/* fdatasync(2) is available */ -#define HAVE_FDATASYNC 1 - -/* futimes(2) is available */ -#define HAVE_FUTIMES 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* pread(2) and pwrite(2) are available */ -#define HAVE_PREADWRITE 1 - -/* readahead(2) is available (linux) */ -#define HAVE_READAHEAD 1 - -/* sendfile(2) is available and supported */ -#define HAVE_SENDFILE 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* sync_file_range(2) is available */ -#define HAVE_SYNC_FILE_RANGE 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#define LT_OBJDIR ".libs/" - -/* Name of package */ -#define PACKAGE "libeio" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "" - -/* Define to the home page for this package. */ -#define PACKAGE_URL "" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "" - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Version number of package */ -#define VERSION "1.0" diff --git a/deps/libeio/sunos/config.h b/deps/libeio/sunos/config.h deleted file mode 100644 index 8f878efd95..0000000000 --- a/deps/libeio/sunos/config.h +++ /dev/null @@ -1,81 +0,0 @@ -/* config.h. Generated from config.h.in by configure. */ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to 1 if you have the header file. */ -#define HAVE_DLFCN_H 1 - -/* fdatasync(2) is available */ -#define HAVE_FDATASYNC 1 - -/* futimes(2) is available */ -/* #undef HAVE_FUTIMES */ - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* pread(2) and pwrite(2) are available */ -#define HAVE_PREADWRITE 1 - -/* readahead(2) is available (linux) */ -/* #undef HAVE_READAHEAD */ - -/* sendfile(2) is available and supported */ -/* #undef HAVE_SENDFILE */ - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* sync_file_range(2) is available */ -/* #undef HAVE_SYNC_FILE_RANGE */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#define LT_OBJDIR ".libs/" - -/* Name of package */ -#define PACKAGE "libeio" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "" - -/* Define to the home page for this package. */ -#define PACKAGE_URL "" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "" - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Version number of package */ -#define VERSION "1.0" diff --git a/deps/libeio/wscript b/deps/libeio/wscript deleted file mode 100644 index 86616227d2..0000000000 --- a/deps/libeio/wscript +++ /dev/null @@ -1,19 +0,0 @@ -import Options -import platform - -def set_options(opt): - pass - -def configure(conf): - conf.env.append_value('CCFLAGS', ['-DHAVE_CONFIG_H=1', '-D_GNU_SOURCE']) - -def build(bld): - libeio = bld.new_task_gen("cc") - libeio.source = "eio.c" - libeio.target = 'eio' - libeio.name = 'eio' - libeio.includes = '. ./' + bld.env['DEST_OS'] - libeio.install_path = None - if bld.env["USE_DEBUG"]: - libeio.clone("debug"); - bld.install_files('${PREFIX}/include/node/', 'eio.h'); diff --git a/deps/libev/linux/config.h b/deps/libev/config.h.in similarity index 56% rename from deps/libev/linux/config.h rename to deps/libev/config.h.in index 14f952de61..774e6515b3 100644 --- a/deps/libev/linux/config.h +++ b/deps/libev/config.h.in @@ -1,122 +1,97 @@ -/* config.h. Generated from config.h.in by configure. */ /* config.h.in. Generated from configure.ac by autoheader. */ /* Define to 1 if you have the `clock_gettime' function. */ -/* #undef HAVE_CLOCK_GETTIME */ +#undef HAVE_CLOCK_GETTIME /* "use syscall interface for clock_gettime" */ -#define HAVE_CLOCK_SYSCALL 1 +#undef HAVE_CLOCK_SYSCALL /* Define to 1 if you have the header file. */ -#define HAVE_DLFCN_H 1 +#undef HAVE_DLFCN_H /* Define to 1 if you have the `epoll_ctl' function. */ -#define HAVE_EPOLL_CTL 1 +#undef HAVE_EPOLL_CTL /* Define to 1 if you have the `eventfd' function. */ -#define HAVE_EVENTFD 1 +#undef HAVE_EVENTFD /* Define to 1 if you have the `inotify_init' function. */ -#define HAVE_INOTIFY_INIT 1 +#undef HAVE_INOTIFY_INIT /* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 +#undef HAVE_INTTYPES_H /* Define to 1 if you have the `kqueue' function. */ -/* #undef HAVE_KQUEUE */ +#undef HAVE_KQUEUE /* Define to 1 if you have the `m' library (-lm). */ -#define HAVE_LIBM 1 +#undef HAVE_LIBM /* Define to 1 if you have the `rt' library (-lrt). */ -/* #undef HAVE_LIBRT */ +#undef HAVE_LIBRT /* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 +#undef HAVE_MEMORY_H /* Define to 1 if you have the `nanosleep' function. */ -/* #undef HAVE_NANOSLEEP */ +#undef HAVE_NANOSLEEP /* Define to 1 if you have the `poll' function. */ -#define HAVE_POLL 1 +#undef HAVE_POLL /* Define to 1 if you have the header file. */ -#define HAVE_POLL_H 1 +#undef HAVE_POLL_H /* Define to 1 if you have the `port_create' function. */ -/* #undef HAVE_PORT_CREATE */ +#undef HAVE_PORT_CREATE /* Define to 1 if you have the header file. */ -/* #undef HAVE_PORT_H */ +#undef HAVE_PORT_H /* Define to 1 if you have the `select' function. */ -#define HAVE_SELECT 1 +#undef HAVE_SELECT /* Define to 1 if you have the `signalfd' function. */ -#define HAVE_SIGNALFD 1 +#undef HAVE_SIGNALFD /* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 +#undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 +#undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 +#undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 +#undef HAVE_STRING_H /* Define to 1 if you have the header file. */ -#define HAVE_SYS_EPOLL_H 1 +#undef HAVE_SYS_EPOLL_H /* Define to 1 if you have the header file. */ -#define HAVE_SYS_EVENTFD_H 1 +#undef HAVE_SYS_EVENTFD_H /* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_EVENT_H */ +#undef HAVE_SYS_EVENT_H /* Define to 1 if you have the header file. */ -#define HAVE_SYS_INOTIFY_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_QUEUE_H 1 +#undef HAVE_SYS_INOTIFY_H /* Define to 1 if you have the header file. */ -#define HAVE_SYS_SELECT_H 1 +#undef HAVE_SYS_SELECT_H /* Define to 1 if you have the header file. */ -#define HAVE_SYS_SIGNALFD_H 1 +#undef HAVE_SYS_SIGNALFD_H /* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 +#undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 +#undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Name of package */ -#define PACKAGE "libev" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "" +#undef HAVE_UNISTD_H /* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Version number of package */ -#define VERSION "3.9" +#undef STDC_HEADERS diff --git a/deps/libev/cygwin/config.h b/deps/libev/cygwin/config.h deleted file mode 100644 index 1f6f6d98c8..0000000000 --- a/deps/libev/cygwin/config.h +++ /dev/null @@ -1,123 +0,0 @@ -/* config.h. Generated from config.h.in by configure. */ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to 1 if you have the `clock_gettime' function. */ -/* #undef HAVE_CLOCK_GETTIME */ - -/* "use syscall interface for clock_gettime" */ -/* #undef HAVE_CLOCK_SYSCALL */ - -/* Define to 1 if you have the header file. */ -#define HAVE_DLFCN_H 1 - -/* Define to 1 if you have the `epoll_ctl' function. */ -/* #undef HAVE_EPOLL_CTL */ - -/* Define to 1 if you have the `eventfd' function. */ -/* #undef HAVE_EVENTFD */ - -/* Define to 1 if you have the `inotify_init' function. */ -/* #undef HAVE_INOTIFY_INIT */ - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define to 1 if you have the `kqueue' function. */ -/* #undef HAVE_KQUEUE */ - -/* Define to 1 if you have the `m' library (-lm). */ -#define HAVE_LIBM 1 - -/* Define to 1 if you have the `rt' library (-lrt). */ -/* #undef HAVE_LIBRT */ - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* Define to 1 if you have the `nanosleep' function. */ -/* #undef HAVE_NANOSLEEP */ - -/* Define to 1 if you have the `poll' function. */ -#define HAVE_POLL 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_POLL_H 1 - -/* Define to 1 if you have the `port_create' function. */ -/* #undef HAVE_PORT_CREATE */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_PORT_H */ - -/* Define to 1 if you have the `select' function. */ -#define HAVE_SELECT 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_EPOLL_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_EVENTFD_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_EVENT_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_INOTIFY_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_QUEUE_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_SELECT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#define LT_OBJDIR ".libs/" - -/* Name of package */ -#define PACKAGE "libev" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "" - -/* Define to the home page for this package. */ -#define PACKAGE_URL "" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "" - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Version number of package */ -#define VERSION "3.9" diff --git a/deps/libev/darwin/config.h b/deps/libev/darwin/config.h deleted file mode 100644 index 03e3b219ec..0000000000 --- a/deps/libev/darwin/config.h +++ /dev/null @@ -1,122 +0,0 @@ -/* config.h. Generated from config.h.in by configure. */ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to 1 if you have the `clock_gettime' function. */ -/* #undef HAVE_CLOCK_GETTIME */ - -/* "use syscall interface for clock_gettime" */ -/* #undef HAVE_CLOCK_SYSCALL */ - -/* Define to 1 if you have the header file. */ -#define HAVE_DLFCN_H 1 - -/* Define to 1 if you have the `epoll_ctl' function. */ -/* #undef HAVE_EPOLL_CTL */ - -/* Define to 1 if you have the `eventfd' function. */ -/* #undef HAVE_EVENTFD */ - -/* Define to 1 if you have the `inotify_init' function. */ -/* #undef HAVE_INOTIFY_INIT */ - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define to 1 if you have the `kqueue' function. */ -#define HAVE_KQUEUE 1 - -/* Define to 1 if you have the `m' library (-lm). */ -#define HAVE_LIBM 1 - -/* Define to 1 if you have the `rt' library (-lrt). */ -/* #undef HAVE_LIBRT */ - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* Define to 1 if you have the `nanosleep' function. */ -/* #undef HAVE_NANOSLEEP */ - -/* Define to 1 if you have the `poll' function. */ -#define HAVE_POLL 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_POLL_H 1 - -/* Define to 1 if you have the `port_create' function. */ -/* #undef HAVE_PORT_CREATE */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_PORT_H */ - -/* Define to 1 if you have the `select' function. */ -#define HAVE_SELECT 1 - -/* Define to 1 if you have the `signalfd' function. */ -/* #undef HAVE_SIGNALFD */ - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_EPOLL_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_EVENTFD_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_EVENT_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_INOTIFY_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_QUEUE_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_SELECT_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_SIGNALFD_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Name of package */ -#define PACKAGE "libev" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "" - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Version number of package */ -#define VERSION "3.9" diff --git a/deps/libev/freebsd/config.h b/deps/libev/freebsd/config.h deleted file mode 100644 index ebebd4156d..0000000000 --- a/deps/libev/freebsd/config.h +++ /dev/null @@ -1,120 +0,0 @@ -/* config.h. Generated from config.h.in by configure. */ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to 1 if you have the `clock_gettime' function. */ -/* #undef HAVE_CLOCK_GETTIME */ - -/* "use syscall interface for clock_gettime" */ -/* #undef HAVE_CLOCK_SYSCALL */ - -/* Define to 1 if you have the header file. */ -#define HAVE_DLFCN_H 1 - -/* Define to 1 if you have the `epoll_ctl' function. */ -/* #undef HAVE_EPOLL_CTL */ - -/* Define to 1 if you have the `eventfd' function. */ -/* #undef HAVE_EVENTFD */ - -/* Define to 1 if you have the `inotify_init' function. */ -/* #undef HAVE_INOTIFY_INIT */ - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define to 1 if you have the `kqueue' function. */ -#define HAVE_KQUEUE 1 - -/* Define to 1 if you have the `m' library (-lm). */ -#define HAVE_LIBM 1 - -/* Define to 1 if you have the `rt' library (-lrt). */ -/* #undef HAVE_LIBRT */ - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* Define to 1 if you have the `nanosleep' function. */ -/* #undef HAVE_NANOSLEEP */ - -/* Define to 1 if you have the `poll' function. */ -#define HAVE_POLL 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_POLL_H 1 - -/* Define to 1 if you have the `port_create' function. */ -/* #undef HAVE_PORT_CREATE */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_PORT_H */ - -/* Define to 1 if you have the `select' function. */ -#define HAVE_SELECT 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_EPOLL_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_EVENTFD_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_EVENT_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_INOTIFY_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_QUEUE_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_SELECT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#define LT_OBJDIR ".libs/" - -/* Name of package */ -#define PACKAGE "libev" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "" - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Version number of package */ -#define VERSION "3.9" diff --git a/deps/libev/sunos/config.h b/deps/libev/sunos/config.h deleted file mode 100644 index 9f8861d8a3..0000000000 --- a/deps/libev/sunos/config.h +++ /dev/null @@ -1,122 +0,0 @@ -/* config.h. Generated from config.h.in by configure. */ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to 1 if you have the `clock_gettime' function. */ -/* #undef HAVE_CLOCK_GETTIME */ - -/* "use syscall interface for clock_gettime" */ -/* #undef HAVE_CLOCK_SYSCALL */ - -/* Define to 1 if you have the header file. */ -#define HAVE_DLFCN_H 1 - -/* Define to 1 if you have the `epoll_ctl' function. */ -/* #undef HAVE_EPOLL_CTL */ - -/* Define to 1 if you have the `eventfd' function. */ -/* #undef HAVE_EVENTFD */ - -/* Define to 1 if you have the `inotify_init' function. */ -/* #undef HAVE_INOTIFY_INIT */ - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define to 1 if you have the `kqueue' function. */ -/* #undef HAVE_KQUEUE */ - -/* Define to 1 if you have the `m' library (-lm). */ -#define HAVE_LIBM 1 - -/* Define to 1 if you have the `rt' library (-lrt). */ -/* #undef HAVE_LIBRT */ - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* Define to 1 if you have the `nanosleep' function. */ -/* #undef HAVE_NANOSLEEP */ - -/* Define to 1 if you have the `poll' function. */ -#define HAVE_POLL 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_POLL_H 1 - -/* Define to 1 if you have the `port_create' function. */ -#define HAVE_PORT_CREATE 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_PORT_H 1 - -/* Define to 1 if you have the `select' function. */ -#define HAVE_SELECT 1 - -/* Define to 1 if you have the `signalfd' function. */ -/* #undef HAVE_SIGNALFD */ - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_EPOLL_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_EVENTFD_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_EVENT_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_INOTIFY_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_QUEUE_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_SELECT_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_SIGNALFD_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Name of package */ -#define PACKAGE "libev" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "" - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Version number of package */ -#define VERSION "3.9" diff --git a/deps/libev/wscript b/deps/libev/wscript deleted file mode 100644 index 68f7b673e9..0000000000 --- a/deps/libev/wscript +++ /dev/null @@ -1,20 +0,0 @@ -import Options -import platform - -def set_options(opt): - pass - -def configure(conf): - conf.env.append_value('CCFLAGS', ['-DHAVE_CONFIG_H=1']) - -def build(bld): - libev = bld.new_task_gen("cc") - libev.source = "ev.c" - libev.target = 'ev' - libev.name = 'ev' - libev.includes = '. ./' + bld.env['DEST_OS'] - libev.install_path = None - if bld.env["USE_DEBUG"]: - libev.clone("debug"); - bld.install_files('${PREFIX}/include/node/', 'ev.h'); - diff --git a/test/simple/test-executable-path.js b/test/simple/test-executable-path.js index 6ba09f4d23..f4e6401208 100644 --- a/test/simple/test-executable-path.js +++ b/test/simple/test-executable-path.js @@ -4,8 +4,8 @@ path = require("path"); isDebug = (process.version.indexOf('debug') >= 0); -debugPath = path.normalize(path.join(__dirname, '..', '..', 'build', 'debug', 'node_g')); -defaultPath = path.normalize(path.join(__dirname, '..', '..', 'build', 'default', 'node')); +debugPath = path.normalize(path.join(__dirname, '..', '..', 'build', 'node_g')); +defaultPath = path.normalize(path.join(__dirname, '..', '..', 'build', 'node')); console.log('debugPath: ' + debugPath); console.log('defaultPath: ' + defaultPath); diff --git a/tools/js2c.py b/tools/js2c.py index db4885553b..ec3efb7712 100755 --- a/tools/js2c.py +++ b/tools/js2c.py @@ -252,7 +252,7 @@ GET_DELAY_SCRIPT_NAME_CASE = """\ if (index == %(i)i) return Vector("%(name)s", %(length)i); """ -def JS2C(source, target): +def JS2C(source): ids = [] delay_ids = [] modules = [] @@ -328,8 +328,7 @@ def JS2C(source, target): i = i + 1 # Emit result - output = open(str(target[0]), "w") - output.write(HEADER_TEMPLATE % { + return HEADER_TEMPLATE % { 'builtin_count': len(ids) + len(delay_ids), 'delay_count': len(delay_ids), 'source_lines': "\n".join(source_lines), @@ -337,17 +336,11 @@ def JS2C(source, target): 'get_index_cases': "".join(get_index_cases), 'get_script_source_cases': "".join(get_script_source_cases), 'get_script_name_cases': "".join(get_script_name_cases) - }) - output.close() - - if len(target) > 1: - output = open(str(target[1]), "w") - output.write(HEADER_TEMPLATE % { - 'builtin_count': len(ids) + len(delay_ids), - 'delay_count': len(delay_ids), - 'source_lines': "\n".join(source_lines_empty), - 'get_index_cases': "".join(get_index_cases), - 'get_script_source_cases': "".join(get_script_source_cases), - 'get_script_name_cases': "".join(get_script_name_cases) - }) - output.close() + } + + +if __name__ == "__main__": + files = sys.argv[1:] + print JS2C(files) + + diff --git a/tools/test.py b/tools/test.py index ba201334fc..4b3fdb63a6 100755 --- a/tools/test.py +++ b/tools/test.py @@ -663,9 +663,9 @@ class Context(object): def GetVm(self, mode): if mode == 'debug': - name = 'build/debug/node_g' + name = 'build/node_g' else: - name = 'build/default/node' + name = 'build/node' if utils.IsWindows() and not name.endswith('.exe'): name = name + '.exe' diff --git a/wscript b/wscript deleted file mode 100644 index 216f3a0ab2..0000000000 --- a/wscript +++ /dev/null @@ -1,604 +0,0 @@ -#!/usr/bin/env python -import re -import Options -import sys, os, shutil -from Utils import cmd_output -from os.path import join, dirname, abspath -from logging import fatal - -cwd = os.getcwd() -APPNAME="node.js" - -import js2c - -srcdir = '.' -blddir = 'build' - - -jobs=1 -if os.environ.has_key('JOBS'): - jobs = int(os.environ['JOBS']) - - -def set_options(opt): - # the gcc module provides a --debug-level option - opt.tool_options('compiler_cxx') - opt.tool_options('compiler_cc') - opt.tool_options('misc') - opt.add_option( '--debug' - , action='store_true' - , default=False - , help='Build debug variant [Default: False]' - , dest='debug' - ) - opt.add_option( '--efence' - , action='store_true' - , default=False - , help='Build with -lefence for debugging [Default: False]' - , dest='efence' - ) - - opt.add_option( '--without-snapshot' - , action='store_true' - , default=False - , help='Build without snapshotting V8 libraries. You might want to set this for cross-compiling. [Default: False]' - , dest='without_snapshot' - ) - - opt.add_option( '--without-ssl' - , action='store_true' - , default=False - , help='Build without SSL' - , dest='without_ssl' - ) - - - opt.add_option('--shared-v8' - , action='store_true' - , default=False - , help='Link to a shared V8 DLL instead of static linking' - , dest='shared_v8' - ) - - opt.add_option( '--shared-v8-includes' - , action='store' - , default=False - , help='Directory containing V8 header files' - , dest='shared_v8_includes' - ) - - opt.add_option( '--shared-v8-libpath' - , action='store' - , default=False - , help='A directory to search for the shared V8 DLL' - , dest='shared_v8_libpath' - ) - - opt.add_option( '--shared-v8-libname' - , action='store' - , default=False - , help="Alternative lib name to link to (default: 'v8')" - , dest='shared_v8_libname' - ) - - - opt.add_option('--shared-cares' - , action='store_true' - , default=False - , help='Link to a shared C-Ares DLL instead of static linking' - , dest='shared_cares' - ) - - opt.add_option( '--shared-cares-includes' - , action='store' - , default=False - , help='Directory containing C-Ares header files' - , dest='shared_cares_includes' - ) - - opt.add_option( '--shared-cares-libpath' - , action='store' - , default=False - , help='A directory to search for the shared C-Ares DLL' - , dest='shared_cares_libpath' - ) - - - opt.add_option('--shared-libev' - , action='store_true' - , default=False - , help='Link to a shared libev DLL instead of static linking' - , dest='shared_libev' - ) - - opt.add_option( '--shared-libev-includes' - , action='store' - , default=False - , help='Directory containing libev header files' - , dest='shared_libev_includes' - ) - - opt.add_option( '--shared-libev-libpath' - , action='store' - , default=False - , help='A directory to search for the shared libev DLL' - , dest='shared_libev_libpath' - ) - - - - -def configure(conf): - conf.check_tool('compiler_cxx') - if not conf.env.CXX: conf.fatal('c++ compiler not found') - conf.check_tool('compiler_cc') - if not conf.env.CC: conf.fatal('c compiler not found') - - o = Options.options - - conf.env["USE_DEBUG"] = o.debug - conf.env["SNAPSHOT_V8"] = not o.without_snapshot - - conf.env["USE_SHARED_V8"] = o.shared_v8 or o.shared_v8_includes or o.shared_v8_libpath or o.shared_v8_libname - conf.env["USE_SHARED_CARES"] = o.shared_cares or o.shared_cares_includes or o.shared_cares_libpath - conf.env["USE_SHARED_LIBEV"] = o.shared_libev or o.shared_libev_includes or o.shared_libev_libpath - - conf.check(lib='dl', uselib_store='DL') - if not sys.platform.startswith("sunos") and not sys.platform.startswith("cygwin"): - conf.env.append_value("CCFLAGS", "-rdynamic") - conf.env.append_value("LINKFLAGS_DL", "-rdynamic") - - if sys.platform.startswith("freebsd"): - conf.check(lib='kvm', uselib_store='KVM') - - #if Options.options.debug: - # conf.check(lib='profiler', uselib_store='PROFILER') - - if Options.options.efence: - conf.check(lib='efence', libpath=['/usr/lib', '/usr/local/lib'], uselib_store='EFENCE') - - if sys.platform.startswith("freebsd"): - if not conf.check(lib="execinfo", - includes=['/usr/include', '/usr/local/include'], - libpath=['/usr/lib', '/usr/local/lib'], - uselib_store="EXECINFO"): - conf.fatal("Install the libexecinfo port from /usr/ports/devel/libexecinfo.") - - if not Options.options.without_ssl: - if conf.check_cfg(package='openssl', - args='--cflags --libs', - uselib_store='OPENSSL'): - Options.options.use_openssl = conf.env["USE_OPENSSL"] = True - conf.env.append_value("CPPFLAGS", "-DHAVE_OPENSSL=1") - else: - libssl = conf.check_cc(lib='ssl', - header_name='openssl/ssl.h', - function_name='SSL_library_init', - libpath=['/usr/lib', '/usr/local/lib', '/opt/local/lib', '/usr/sfw/lib'], - uselib_store='OPENSSL') - libcrypto = conf.check_cc(lib='crypto', - header_name='openssl/crypto.h', - uselib_store='OPENSSL') - if libcrypto and libssl: - conf.env["USE_OPENSSL"] = Options.options.use_openssl = True - conf.env.append_value("CPPFLAGS", "-DHAVE_OPENSSL=1") - else: - conf.fatal("Could not autodetect OpenSSL support. " + - "Make sure OpenSSL development packages are installed. " + - "Use configure --without-ssl to disable this message.") - else: - Options.options.use_openssl = conf.env["USE_OPENSSL"] = False - - conf.check(lib='rt', uselib_store='RT') - - if sys.platform.startswith("sunos"): - if not conf.check(lib='socket', uselib_store="SOCKET"): - conf.fatal("Cannot find socket library") - if not conf.check(lib='nsl', uselib_store="NSL"): - conf.fatal("Cannot find nsl library") - - conf.sub_config('deps/libeio') - - if conf.env['USE_SHARED_V8']: - v8_includes = []; - if o.shared_v8_includes: v8_includes.append(o.shared_v8_includes); - - v8_libpath = []; - if o.shared_v8_libpath: v8_libpath.append(o.shared_v8_libpath); - - if not o.shared_v8_libname: o.shared_v8_libname = 'v8' - - if not conf.check_cxx(lib=o.shared_v8_libname, header_name='v8.h', - uselib_store='V8', - includes=v8_includes, - libpath=v8_libpath): - conf.fatal("Cannot find v8") - - if o.debug: - if not conf.check_cxx(lib=o.shared_v8_libname + '_g', header_name='v8.h', - uselib_store='V8_G', - includes=v8_includes, - libpath=v8_libpath): - conf.fatal("Cannot find v8_g") - - if conf.env['USE_SHARED_CARES']: - cares_includes = []; - if o.shared_cares_includes: cares_includes.append(o.shared_cares_includes); - cares_libpath = []; - if o.shared_cares_libpath: cares_libpath.append(o.shared_cares_libpath); - if not conf.check_cxx(lib='cares', - header_name='ares.h', - uselib_store='CARES', - includes=cares_includes, - libpath=cares_libpath): - conf.fatal("Cannot find c-ares") - else: - conf.sub_config('deps/c-ares') - - - if conf.env['USE_SHARED_LIBEV']: - libev_includes = []; - if o.shared_libev_includes: libev_includes.append(o.shared_libev_includes); - libev_libpath = []; - if o.shared_libev_libpath: libev_libpath.append(o.shared_libev_libpath); - if not conf.check_cxx(lib='ev', header_name='ev.h', - uselib_store='EV', - includes=libev_includes, - libpath=libev_libpath): - conf.fatal("Cannot find libev") - else: - conf.sub_config('deps/libev') - - - - conf.define("HAVE_CONFIG_H", 1) - - if sys.platform.startswith("sunos"): - conf.env.append_value ('CCFLAGS', '-threads') - conf.env.append_value ('CXXFLAGS', '-threads') - #conf.env.append_value ('LINKFLAGS', ' -threads') - elif not sys.platform.startswith("cygwin"): - threadflags='-pthread' - conf.env.append_value ('CCFLAGS', threadflags) - conf.env.append_value ('CXXFLAGS', threadflags) - conf.env.append_value ('LINKFLAGS', threadflags) - if sys.platform.startswith("darwin"): - # used by platform_darwin_*.cc - conf.env.append_value('LINKFLAGS', ['-framework','Carbon']) - - # Needed for getaddrinfo in libeio - conf.env.append_value("CPPFLAGS", "-DX_STACKSIZE=%d" % (1024*64)) - # LFS - conf.env.append_value('CPPFLAGS', '-D_LARGEFILE_SOURCE') - conf.env.append_value('CPPFLAGS', '-D_FILE_OFFSET_BITS=64') - conf.env.append_value('CPPFLAGS', '-DEV_MULTIPLICITY=0') - - ## needed for node_file.cc fdatasync - ## Strangely on OSX 10.6 the g++ doesn't see fdatasync but gcc does? - code = """ - #include - int main(void) - { - int fd = 0; - fdatasync (fd); - return 0; - } - """ - if conf.check_cxx(msg="Checking for fdatasync(2) with c++", fragment=code): - conf.env.append_value('CPPFLAGS', '-DHAVE_FDATASYNC=1') - else: - conf.env.append_value('CPPFLAGS', '-DHAVE_FDATASYNC=0') - - # platform - conf.env.append_value('CPPFLAGS', '-DPLATFORM="' + conf.env['DEST_OS'] + '"') - - # Split off debug variant before adding variant specific defines - debug_env = conf.env.copy() - conf.set_env_name('debug', debug_env) - - # Configure debug variant - conf.setenv('debug') - debug_env.set_variant('debug') - debug_env.append_value('CPPFLAGS', '-DDEBUG') - debug_compile_flags = ['-g', '-O0', '-Wall', '-Wextra'] - debug_env.append_value('CCFLAGS', debug_compile_flags) - debug_env.append_value('CXXFLAGS', debug_compile_flags) - conf.write_config_header("config.h") - - # Configure default variant - conf.setenv('default') - conf.env.append_value('CPPFLAGS', '-DNDEBUG') - default_compile_flags = ['-g', '-O3'] - conf.env.append_value('CCFLAGS', default_compile_flags) - conf.env.append_value('CXXFLAGS', default_compile_flags) - conf.write_config_header("config.h") - - -def v8_cmd(bld, variant): - scons = join(cwd, 'tools/scons/scons.py') - deps_src = join(bld.path.abspath(),"deps") - v8dir_src = join(deps_src,"v8") - - # NOTE: We want to compile V8 to export its symbols. I.E. Do not want - # -fvisibility=hidden. When using dlopen() it seems that the loaded DSO - # cannot see symbols in the executable which are hidden, even if the - # executable is statically linked together... - - # XXX Change this when v8 defaults x86_64 to native builds - arch = "" - if bld.env['DEST_CPU'] == 'x86': - arch = "" - elif bld.env['DEST_CPU'] == 'x86_64': - arch = "arch=x64" - elif bld.env['DEST_CPU'] == 'arm': - arch = "arch=arm" - else: - raise Exception("supported architectures are 'x86', 'x86_64', and 'arm', but NOT '" + bld.env['DEST_CPU'] + "'.") - - if variant == "default": - mode = "release" - else: - mode = "debug" - - if bld.env["SNAPSHOT_V8"]: - snapshot = "snapshot=on" - else: - snapshot = "" - - cmd_R = 'python "%s" -j %d -C "%s" -Y "%s" visibility=default mode=%s %s library=static %s' - - cmd = cmd_R % ( scons - , Options.options.jobs - , bld.srcnode.abspath(bld.env_of_name(variant)) - , v8dir_src - , mode - , arch - , snapshot - ) - - return ("echo '%s' && " % cmd) + cmd - - -def build_v8(bld): - v8 = bld.new_task_gen( - source = 'deps/v8/SConstruct ' - + bld.path.ant_glob('v8/include/*') - + bld.path.ant_glob('v8/src/*'), - target = bld.env["staticlib_PATTERN"] % "v8", - rule = v8_cmd(bld, "default"), - before = "cxx", - install_path = None) - v8.uselib = "EXECINFO" - bld.env["CPPPATH_V8"] = "deps/v8/include" - t = join(bld.srcnode.abspath(bld.env_of_name("default")), v8.target) - bld.env_of_name('default').append_value("LINKFLAGS_V8", t) - - - ### v8 debug - if bld.env["USE_DEBUG"]: - v8_debug = v8.clone("debug") - v8_debug.rule = v8_cmd(bld, "debug") - v8_debug.target = bld.env["staticlib_PATTERN"] % "v8_g" - v8_debug.uselib = "EXECINFO" - bld.env["CPPPATH_V8_G"] = "deps/v8/include" - t = join(bld.srcnode.abspath(bld.env_of_name("debug")), v8_debug.target) - bld.env_of_name('debug').append_value("LINKFLAGS_V8_G", t) - - bld.install_files('${PREFIX}/include/node/', 'deps/v8/include/*.h') - - -def build(bld): - ## This snippet is to show full commands as WAF executes - import Build - old = Build.BuildContext.exec_command - def exec_command(self, cmd, **kw): - if isinstance(cmd, list): print(" ".join(cmd)) - return old(self, cmd, **kw) - Build.BuildContext.exec_command = exec_command - - Options.options.jobs=jobs - - print "DEST_OS: " + bld.env['DEST_OS'] - print "DEST_CPU: " + bld.env['DEST_CPU'] - print "Parallel Jobs: " + str(Options.options.jobs) - - bld.add_subdirs('deps/libeio') - - if not bld.env['USE_SHARED_V8']: build_v8(bld) - if not bld.env['USE_SHARED_LIBEV']: bld.add_subdirs('deps/libev') - if not bld.env['USE_SHARED_CARES']: bld.add_subdirs('deps/c-ares') - - - ### http_parser - http_parser = bld.new_task_gen("cc") - http_parser.source = "deps/http_parser/http_parser.c" - http_parser.includes = "deps/http_parser/" - http_parser.name = "http_parser" - http_parser.target = "http_parser" - http_parser.install_path = None - if bld.env["USE_DEBUG"]: - http_parser.clone("debug") - - ### src/native.cc - def make_macros(loc, content): - f = open(loc, 'w') - f.write(content) - f.close - - macros_loc_debug = join( - bld.srcnode.abspath(bld.env_of_name("debug")), - "macros.py" - ) - - macros_loc_default = join( - bld.srcnode.abspath(bld.env_of_name("default")), - "macros.py" - ) - - make_macros(macros_loc_debug, "") # leave debug(x) as is in debug build - # replace debug(x) with nothing in release build - make_macros(macros_loc_default, "macro debug(x) = ;\n") - - def javascript_in_c(task): - env = task.env - source = map(lambda x: x.srcpath(env), task.inputs) - targets = map(lambda x: x.srcpath(env), task.outputs) - source.append(macros_loc_default) - js2c.JS2C(source, targets) - - def javascript_in_c_debug(task): - env = task.env - source = map(lambda x: x.srcpath(env), task.inputs) - targets = map(lambda x: x.srcpath(env), task.outputs) - source.append(macros_loc_debug) - js2c.JS2C(source, targets) - - native_cc = bld.new_task_gen( - source='src/node.js ' + bld.path.ant_glob('lib/*.js'), - target="src/node_natives.h", - before="cxx", - install_path=None - ) - - # Add the rule /after/ cloning the debug - # This is a work around for an error had in python 2.4.3 (I'll paste the - # error that was had into the git commit meessage. git-blame to find out - # where.) - if bld.env["USE_DEBUG"]: - native_cc_debug = native_cc.clone("debug") - native_cc_debug.rule = javascript_in_c_debug - - native_cc.rule = javascript_in_c - - ### node lib - node = bld.new_task_gen("cxx", "program") - node.name = "node" - node.target = "node" - node.uselib = 'RT EV OPENSSL CARES EXECINFO DL KVM SOCKET NSL' - node.add_objects = 'eio http_parser' - node.install_path = '${PREFIX}/lib' - node.install_path = '${PREFIX}/bin' - node.chmod = 0755 - node.source = """ - src/node_main.cc - src/node.cc - src/node_buffer.cc - src/node_javascript.cc - src/node_extensions.cc - src/node_http_parser.cc - src/node_net.cc - src/node_io_watcher.cc - src/node_child_process.cc - src/node_constants.cc - src/node_cares.cc - src/node_events.cc - src/node_file.cc - src/node_signal_watcher.cc - src/node_stat_watcher.cc - src/node_stdio.cc - src/node_timer.cc - src/node_script.cc - """ - - platform_file = "src/platform_%s.cc" % bld.env['DEST_OS'] - if os.path.exists(join(cwd, platform_file)): - node.source += platform_file - else: - node.source += "src/platform_none.cc " - - - if bld.env["USE_OPENSSL"]: node.source += " src/node_crypto.cc " - - node.includes = """ - src/ - deps/libeio - deps/http_parser - """ - - if not bld.env["USE_SHARED_V8"]: node.includes += ' deps/v8/include ' - - if not bld.env["USE_SHARED_LIBEV"]: - node.add_objects += ' ev ' - node.includes += ' deps/libev ' - - if not bld.env["USE_SHARED_CARES"]: - node.add_objects += ' cares ' - node.includes += ' deps/c-ares deps/c-ares/' + bld.env['DEST_OS'] + '-' + bld.env['DEST_CPU'] - - if sys.platform.startswith('cygwin'): - bld.env.append_value('LINKFLAGS', '-Wl,--export-all-symbols') - bld.env.append_value('LINKFLAGS', '-Wl,--out-implib,default/libnode.dll.a') - bld.env.append_value('LINKFLAGS', '-Wl,--output-def,default/libnode.def') - bld.install_files('${PREFIX}/lib', "build/default/libnode.*") - - def subflags(program): - x = { 'CCFLAGS' : " ".join(program.env["CCFLAGS"]).replace('"', '\\"') - , 'CPPFLAGS' : " ".join(program.env["CPPFLAGS"]).replace('"', '\\"') - , 'LIBFLAGS' : " ".join(program.env["LIBFLAGS"]).replace('"', '\\"') - , 'PREFIX' : program.env["PREFIX"] - , 'VERSION' : '0.3.0-pre' # FIXME should not be hard-coded, see NODE_VERSION_STRING in src/node_version.h - } - return x - - # process file.pc.in -> file.pc - - node_conf = bld.new_task_gen('subst', before="cxx") - node_conf.source = 'src/node_config.h.in' - node_conf.target = 'src/node_config.h' - node_conf.dict = subflags(node) - node_conf.install_path = '${PREFIX}/include/node' - - if bld.env["USE_DEBUG"]: - node_g = node.clone("debug") - node_g.target = "node_g" - node_g.uselib += ' V8_G' - - node_conf_g = node_conf.clone("debug") - node_conf_g.dict = subflags(node_g) - node_conf_g.install_path = None - - # After creating the debug clone, append the V8 dep - node.uselib += ' V8' - - bld.install_files('${PREFIX}/include/node/', """ - config.h - src/node.h - src/node_object_wrap.h - src/node_buffer.h - src/node_events.h - src/node_version.h - """) - - # Only install the man page if it exists. - # Do 'make doc install' to build and install it. - if os.path.exists('doc/node.1'): - bld.install_files('${PREFIX}/share/man/man1/', 'doc/node.1') - - bld.install_files('${PREFIX}/bin/', 'bin/*', chmod=0755) - bld.install_files('${PREFIX}/lib/node/wafadmin', 'tools/wafadmin/*.py') - bld.install_files('${PREFIX}/lib/node/wafadmin/Tools', 'tools/wafadmin/Tools/*.py') - - # create a pkg-config(1) file - node_conf = bld.new_task_gen('subst', before="cxx") - node_conf.source = 'tools/nodejs.pc.in' - node_conf.target = 'tools/nodejs.pc' - node_conf.dict = subflags(node) - - bld.install_files('${PREFIX}/lib/pkgconfig', 'tools/nodejs.pc') - -def shutdown(): - Options.options.debug - # HACK to get binding.node out of build directory. - # better way to do this? - if Options.commands['configure']: - if not Options.options.use_openssl: - print "WARNING WARNING WARNING" - print "OpenSSL not found. Will compile Node without crypto support!" - elif not Options.commands['clean']: - if os.path.exists('build/default/node') and not os.path.exists('node'): - os.symlink('build/default/node', 'node') - if os.path.exists('build/debug/node_g') and not os.path.exists('node_g'): - os.symlink('build/debug/node_g', 'node_g') - else: - if os.path.exists('node'): os.unlink('node') - if os.path.exists('node_g'): os.unlink('node_g')