diff --git a/.gitignore b/.gitignore
index 8ec5656d12d..7863cee0262 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,9 +15,3 @@ node
node_g
*.swp
.benchmark_reports
-
-autom4te.cache/
-config.log
-config.mak.autogen
-config.status
-configure.real
diff --git a/Makefile b/Makefile
index 7f30a67c7d7..48b38a97492 100644
--- a/Makefile
+++ b/Makefile
@@ -1,433 +1,73 @@
-#config
+WAF=python tools/waf-light
-# define DEBUG=1 to build node_g
+all:
+ @$(WAF) build
-WANT_OPENSSL=1
-PREFIX=/usr
-DESTDIR=
-SHELL=/bin/sh
-INSTALL = install
-SCONS = python tools/scons/scons.py
-LINKFLAGS += $(LDFLAGS)
+all-progress:
+ @$(WAF) -p build
--include config.mak.autogen
--include config.mak
+install:
+ @$(WAF) install
-# -----------------------------------------------------------------------------
+uninstall:
+ @$(WAF) uninstall
-dylib_suffix = so
-
-ifeq ($(platform),darwin)
- LINKFLAGS += -framework Carbon
- dylib_suffix = dylib
-endif
-
-ifeq ($(platform),linux)
- LINKFLAGS += -pthread -lrt -rdynamic
-endif
-
-ifeq ($(platform),solaris)
- WANT_SOCKET = 1
-endif
-
-ifeq ($(platform),freebsd)
- LINKFLAGS += -L/usr/local/lib -lpthread -lexecinfo -lkvm
-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
-
-ifdef WANT_SOCKET
- LINKFLAGS += -lsocket -lnsl
-endif
-
-ifneq (,$(findstring build/libnode.so,$(MAKEFLAGS)))
- CFLAGS += -shared -fPIC
-#else
-# CFLAGS += $(MAKEFLAGS)
-endif
-
-cflags += -pedantic
-
-
-
-debug_CPPFLAGS = -DDEBUG $(CPPFALGS)
-debug_CFLAGS = -Wall -O0 -ggdb
-debug_CXXFLAGS = $(debug_CFLAGS)
-debug_LINKFLAGS = $(LINKFLAGS)
-
-release_CPPFLAGS = -DNODEBUG $(CPPFALGS)
-release_CFLAGS = -Wall -O2 $(CFLAGS)
-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_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_install_includes = src/node.h \
- src/node_object_wrap.h \
- src/node_buffer.h \
- src/node_events.h \
- src/node_version.h \
- deps/libeio/eio.h \
- deps/libev/ev.h \
- deps/v8/include/*.h \
-
-ifdef DEBUG
-node_install_includes += $(builddir)/debug/src/node_config.h
-else
-node_install_includes += $(builddir)/release/src/node_config.h
-endif
-
-
-node_debug_objects = $(addprefix $(builddir)/debug/,$(node_sources:.cc=.o))
-node_release_objects = $(addprefix $(builddir)/release/,$(node_sources:.cc=.o))
-
-node_exe_sources = src/node_main.cc
-
-node_exe_debug_objects = \
- $(addprefix $(builddir)/debug/,$(node_exe_sources:.cc=.o))
-node_exe_release_objects = \
- $(addprefix $(builddir)/release/,$(node_exe_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_OPENSSL=${HAVE_OPENSSL} \
- -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
-
-
-
-# Rules
-
-all: node
-
-ifdef DEBUG
-all: node_g
-endif
-
-
-node: $(builddir)/node
- ln -fs $< $@
-
-node_g: $(builddir)/node_g
- ln -fs $< $@
-
-
-
-# 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_javascript.o
-
-$(builddir)/release/src/node_javascript.o: src/node_javascript.cc $(builddir)/release/src/node_natives.h
- $(CXX) -c $(release_CXXFLAGS) $(release_CPPFLAGS) $(node_CFLAGS) \
- $(node_CPPFLAGS) $(OPENSSL_CPPFLAGS) $< -o $@
-
-$(builddir)/debug/src/node_javascript.o: src/node_javascript.cc $(builddir)/debug/src/node_natives.h
- $(CXX) -c $(debug_CXXFLAGS) $(debug_CPPFLAGS) $(node_CFLAGS) \
- $(node_CPPFLAGS) $(OPENSSL_CPPFLAGS) $< -o $@
-
-# -----------------------------------------------------------------------------
-# end products
-
-endproduct_release_objects = $(node_release_objects) \
- $(libev_release_objects) $(libeio_release_objects) \
- $(http_parser_release_objects) $(cares_release_objects) $(libv8)
-
-endproduct_debug_objects = $(node_debug_objects) \
- $(libev_debug_objects) $(libeio_debug_objects) \
- $(http_parser_debug_objects) $(cares_debug_objects) $(libv8_g)
-
-endproduct_release_linkflags = $(release_LINKFLAGS) $(node_LINKFLAGS) \
- $(OPENSSL_LINKFLAGS)
-
-endproduct_debug_linkflags = $(debug_LINKFLAGS) $(node_LINKFLAGS) \
- $(OPENSSL_LINKFLAGS)
-
-
-
-# node executable
-$(builddir)/node: $(node_exe_release_objects) $(endproduct_release_objects)
- $(CXX) -o $@ $^ $(endproduct_release_linkflags)
-
-$(builddir)/node_g: $(node_exe_debug_objects) $(endproduct_debug_objects)
- $(CXX) -o $@ $^ $(endproduct_debug_linkflags)
-
-# node static library
-$(builddir)/libnode.a: $(endproduct_release_objects)
- ar -rcs $@ $^
-
-$(builddir)/libnode_g.a: $(endproduct_debug_objects)
- ar -rcs $@ $^
-
-# node dynamic library
-# WIP -- currently disabled
-#$(builddir)/libnode.$(dylib_suffix): CFLAGS += -shared -fPIC
-#$(builddir)/libnode.$(dylib_suffix): $(endproduct_release_objects)
-# $(CXX) -o $@ $^ $(endproduct_release_linkflags)
-#
-#$(builddir)/libnode_g.$(dylib_suffix): CFLAGS += -shared -fPIC
-#$(builddir)/libnode_g.$(dylib_suffix): $(endproduct_debug_objects)
-# $(CXX) -o $@ $^ $(endproduct_debug_linkflags)
-
-# built-in javascript (the "node standard library")
-$(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_flags = --directory="$(builddir)" --srcdir="`pwd`/deps/v8" \
- visibility=default arch=$(arch) library=static
-# TODO: if env[SNAPSHOT_V8]; then
-libv8_flags += snapshot=on
-#fi
-$(libv8):
- $(SCONS) $(libv8_flags) mode=release
-
-$(libv8_g):
- $(SCONS) $(libv8_flags) mode=debug
-
-
-# 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 libs
-#install: all doc
-install: all
- $(INSTALL) -d -m 755 '$(DESTDIR)$(PREFIX)/bin'
- $(INSTALL) $(builddir)/node '$(DESTDIR)$(PREFIX)/bin'
- $(INSTALL) -d -m 755 '$(DESTDIR)$(PREFIX)/include/node'
- $(INSTALL) $(node_install_includes) '$(DESTDIR)$(PREFIX)/include/node'
- $(INSTALL) -d -m 755 '$(DESTDIR)$(PREFIX)/share/man/man1/'
- $(INSTALL) -d -m 755 '$(DESTDIR)$(PREFIX)/lib/node/wafadmin/Tools'
- $(INSTALL) tools/wafadmin/*.py '$(DESTDIR)$(PREFIX)/lib/node/wafadmin'
- $(INSTALL) tools/wafadmin/Tools/*.py '$(DESTDIR)$(PREFIX)/lib/node/wafadmin/Tools'
- $(INSTALL) tools/node-waf '$(DESTDIR)$(PREFIX)/bin'
-# $(INSTALL) doc/node.1 '$(DESTDIR)$(PREFIX)/share/man/man1/'
-
-libnode-static: $(builddir)/libnode.a
- ln -fs $< $@
-
-libnode-static-debug: $(builddir)/libnode_g.a
- ln -fs $< $@
-
-libnode-dynamic: $(builddir)/libnode.$(dylib_suffix)
- ln -fs $< $@
-
-libnode-dynamic-debug: $(builddir)/libnode_g.$(dylib_suffix)
- ln -fs $< $@
-
-
-
-test: $(builddir)/node
+test: all
python tools/test.py --mode=release simple message
-test-all: $(builddir)/node $(builddir)/node_g
+test-all: all
python tools/test.py --mode=debug,release
-test-release: $(builddir)/node
+test-release: all
python tools/test.py --mode=release
-test-debug: $(builddir)/node_g
+test-debug: all
python tools/test.py --mode=debug
-test-message: $(builddir)/node
+test-message: all
python tools/test.py message
-test-simple: $(builddir)/node
+test-simple: all
python tools/test.py simple
-test-pummel: $(builddir)/node
+test-pummel: all
python tools/test.py pummel
-test-internet: $(builddir)/node
+test-internet: all
python tools/test.py internet
+# http://rtomayko.github.com/ronn
+# gem install ronn
+doc: doc/node.1 doc/api.html doc/index.html doc/changelog.html
-doc: $(builddir)/doc/api/all.html $(builddir)/doc/changelog.html
+## HACK to give the ronn-generated page a TOC
+doc/api.html: all doc/api.markdown doc/api_header.html doc/api_footer.html
+ build/default/node tools/ronnjs/bin/ronn.js --fragment doc/api.markdown \
+ | sed "s/
\(.*\)<\/h2>/\1<\/h2>/g" \
+ | cat doc/api_header.html - doc/api_footer.html > doc/api.html
-docopen: $(builddir)/doc/api/all.html
- -google-chrome $(builddir)/doc/api/all.html
+doc/changelog.html: ChangeLog doc/changelog_header.html doc/changelog_footer.html
+ cat doc/changelog_header.html ChangeLog doc/changelog_footer.html > doc/changelog.html
-$(builddir)/doc/api/all.html: $(builddir)/node doc/api/*.markdown
- $(builddir)/node tools/doctool/doctool.js
-
-$(builddir)/doc/changelog.html: ChangeLog doc/changelog_header.html \
- doc/changelog_footer.html
- cat doc/changelog_header.html ChangeLog doc/changelog_footer.html > $(builddir)/doc/changelog.html
-
-# $(buildir)/doc/node.1: $(builddir)/node doc/api.markdown all
-# $(builddir)/node tools/ronnjs/bin/ronn.js --roff doc/api.markdown > $(builddir)/doc/node.1
+doc/node.1: doc/api.markdown all
+ build/default/node tools/ronnjs/bin/ronn.js --roff doc/api.markdown > doc/node.1
website-upload: doc
scp doc/* ryan@nodejs.org:~/web/nodejs.org/
docclean:
- -rm -rf $(builddir)/doc
+ @-rm -f doc/node.1 doc/api.html doc/changelog.html
clean:
- -rm -f node node_g $(builddir)/node $(builddir)/node_g $(libv8) $(libv8_g)
- -rm -f $(node_release_objects) $(node_debug_objects)
- -rm -f $(cares_release_objects) $(cares_debug_objects)
- -rm -f $(http_parser_release_objects) $(http_parser_debug_objects)
- -rm -f $(libev_release_objects) $(libev_debug_objects)
- -rm -f $(libeio_release_objects) $(libeio_debug_objects)
- -find . -name "*.pyc" | xargs rm -f
+ @$(WAF) clean
+ @-find tools -name "*.pyc" | xargs rm -f
distclean: docclean
- -find tools -name "*.pyc" | xargs rm -f
- -rm -rf build/ node node_g
- -rm -rf configure.real config.mak.autogen config.log autom4te.cache config.status
+ @-find tools -name "*.pyc" | xargs rm -f
+ @-rm -rf build/ node node_g
+check:
+ @tools/waf-light check
VERSION=$(shell git describe)
TARNAME=node-$(VERSION)
@@ -451,11 +91,4 @@ bench-idle:
./node benchmark/idle_clients.js &
-.PHONY: all \
- test test-all \
- bench \
- install uninstall \
- dist distclean \
- website-upload \
- clean docclean docopen
-
+.PHONY: bench clean docclean dist distclean check uninstall install all test test-all website-upload
diff --git a/config.guess b/config.guess
deleted file mode 100755
index dc84c68ef79..00000000000
--- a/config.guess
+++ /dev/null
@@ -1,1501 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-# Free Software Foundation, Inc.
-
-timestamp='2009-11-20'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner. Please send patches (context
-# diff format) to and include a ChangeLog
-# entry.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub. If it succeeds, it prints the system name on stdout, and
-# exits with 0. Otherwise, it exits with 1.
-#
-# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to ."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help" >&2
- exit 1 ;;
- * )
- break ;;
- esac
-done
-
-if test $# != 0; then
- echo "$me: too many arguments$help" >&2
- exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,) echo "int x;" > $dummy.c ;
- for c in cc gcc c89 c99 ; do
- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
- CC_FOR_BUILD="$c"; break ;
- fi ;
- done ;
- if test x"$CC_FOR_BUILD" = x ; then
- CC_FOR_BUILD=no_compiler_found ;
- fi
- ;;
- ,,*) CC_FOR_BUILD=$CC ;;
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
- PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
- *:NetBSD:*:*)
- # NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
- # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
- # switched to ELF, *-*-netbsd* would select the old
- # object file format. This provides both forward
- # compatibility and a consistent mechanism for selecting the
- # object file format.
- #
- # Note: NetBSD doesn't particularly care about the vendor
- # portion of the name. We always set it to "unknown".
- sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
- case "${UNAME_MACHINE_ARCH}" in
- armeb) machine=armeb-unknown ;;
- arm*) machine=arm-unknown ;;
- sh3el) machine=shl-unknown ;;
- sh3eb) machine=sh-unknown ;;
- sh5el) machine=sh5le-unknown ;;
- *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
- esac
- # The Operating System including object format, if it has switched
- # to ELF recently, or will in the future.
- case "${UNAME_MACHINE_ARCH}" in
- arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval $set_cc_for_build
- if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ELF__
- then
- # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
- # Return netbsd for either. FIX?
- os=netbsd
- else
- os=netbsdelf
- fi
- ;;
- *)
- os=netbsd
- ;;
- esac
- # The OS release
- # Debian GNU/NetBSD machines have a different userland, and
- # thus, need a distinct triplet. However, they do not need
- # kernel version information, so it can be replaced with a
- # suitable tag, in the style of linux-gnu.
- case "${UNAME_VERSION}" in
- Debian*)
- release='-gnu'
- ;;
- *)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- ;;
- esac
- # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
- # contains redundant information, the shorter form:
- # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}"
- exit ;;
- *:OpenBSD:*:*)
- UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
- exit ;;
- *:ekkoBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
- exit ;;
- *:SolidBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
- exit ;;
- macppc:MirBSD:*:*)
- echo powerpc-unknown-mirbsd${UNAME_RELEASE}
- exit ;;
- *:MirBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
- exit ;;
- alpha:OSF1:*:*)
- case $UNAME_RELEASE in
- *4.0)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
- ;;
- *5.*)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
- ;;
- esac
- # According to Compaq, /usr/sbin/psrinfo has been available on
- # OSF/1 and Tru64 systems produced since 1995. I hope that
- # covers most systems running today. This code pipes the CPU
- # types through head -n 1, so we only detect the type of CPU 0.
- ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
- case "$ALPHA_CPU_TYPE" in
- "EV4 (21064)")
- UNAME_MACHINE="alpha" ;;
- "EV4.5 (21064)")
- UNAME_MACHINE="alpha" ;;
- "LCA4 (21066/21068)")
- UNAME_MACHINE="alpha" ;;
- "EV5 (21164)")
- UNAME_MACHINE="alphaev5" ;;
- "EV5.6 (21164A)")
- UNAME_MACHINE="alphaev56" ;;
- "EV5.6 (21164PC)")
- UNAME_MACHINE="alphapca56" ;;
- "EV5.7 (21164PC)")
- UNAME_MACHINE="alphapca57" ;;
- "EV6 (21264)")
- UNAME_MACHINE="alphaev6" ;;
- "EV6.7 (21264A)")
- UNAME_MACHINE="alphaev67" ;;
- "EV6.8CB (21264C)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8AL (21264B)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8CX (21264D)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.9A (21264/EV69A)")
- UNAME_MACHINE="alphaev69" ;;
- "EV7 (21364)")
- UNAME_MACHINE="alphaev7" ;;
- "EV7.9 (21364A)")
- UNAME_MACHINE="alphaev79" ;;
- esac
- # A Pn.n version is a patched version.
- # A Vn.n version is a released version.
- # A Tn.n version is a released field test version.
- # A Xn.n version is an unreleased experimental baselevel.
- # 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- exit ;;
- Alpha\ *:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # Should we change UNAME_MACHINE based on the output of uname instead
- # of the specific Alpha model?
- echo alpha-pc-interix
- exit ;;
- 21064:Windows_NT:50:3)
- echo alpha-dec-winnt3.5
- exit ;;
- Amiga*:UNIX_System_V:4.0:*)
- echo m68k-unknown-sysv4
- exit ;;
- *:[Aa]miga[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-amigaos
- exit ;;
- *:[Mm]orph[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-morphos
- exit ;;
- *:OS/390:*:*)
- echo i370-ibm-openedition
- exit ;;
- *:z/VM:*:*)
- echo s390-ibm-zvmoe
- exit ;;
- *:OS400:*:*)
- echo powerpc-ibm-os400
- exit ;;
- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
- exit ;;
- arm:riscos:*:*|arm:RISCOS:*:*)
- echo arm-unknown-riscos
- exit ;;
- SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
- echo hppa1.1-hitachi-hiuxmpp
- exit ;;
- Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
- # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
- echo pyramid-pyramid-sysv3
- else
- echo pyramid-pyramid-bsd
- fi
- exit ;;
- NILE*:*:*:dcosx)
- echo pyramid-pyramid-svr4
- exit ;;
- DRS?6000:unix:4.0:6*)
- echo sparc-icl-nx6
- exit ;;
- DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
- case `/usr/bin/uname -p` in
- sparc) echo sparc-icl-nx7; exit ;;
- esac ;;
- s390x:SunOS:*:*)
- echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4H:SunOS:5.*:*)
- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
- echo i386-pc-auroraux${UNAME_RELEASE}
- exit ;;
- i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
- eval $set_cc_for_build
- SUN_ARCH="i386"
- # If there is a compiler, see if it is configured for 64-bit objects.
- # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
- # This test works for both compilers.
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- SUN_ARCH="x86_64"
- fi
- fi
- echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:6*:*)
- # According to config.sub, this is the proper way to canonicalize
- # SunOS6. Hard to guess exactly what SunOS6 will be like, but
- # it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:*:*)
- case "`/usr/bin/arch -k`" in
- Series*|S4*)
- UNAME_RELEASE=`uname -v`
- ;;
- esac
- # Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit ;;
- sun3*:SunOS:*:*)
- echo m68k-sun-sunos${UNAME_RELEASE}
- exit ;;
- sun*:*:4.2BSD:*)
- UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
- case "`/bin/arch`" in
- sun3)
- echo m68k-sun-sunos${UNAME_RELEASE}
- ;;
- sun4)
- echo sparc-sun-sunos${UNAME_RELEASE}
- ;;
- esac
- exit ;;
- aushp:SunOS:*:*)
- echo sparc-auspex-sunos${UNAME_RELEASE}
- exit ;;
- # The situation for MiNT is a little confusing. The machine name
- # can be virtually everything (everything which is not
- # "atarist" or "atariste" at least should have a processor
- # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
- # to the lowercase version "mint" (or "freemint"). Finally
- # the system name "TOS" denotes a system which is actually not
- # MiNT. But MiNT is downward compatible to TOS, so this should
- # be no problem.
- atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
- exit ;;
- hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
- exit ;;
- *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
- exit ;;
- m68k:machten:*:*)
- echo m68k-apple-machten${UNAME_RELEASE}
- exit ;;
- powerpc:machten:*:*)
- echo powerpc-apple-machten${UNAME_RELEASE}
- exit ;;
- RISC*:Mach:*:*)
- echo mips-dec-mach_bsd4.3
- exit ;;
- RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix${UNAME_RELEASE}
- exit ;;
- VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix${UNAME_RELEASE}
- exit ;;
- 2020:CLIX:*:* | 2430:CLIX:*:*)
- echo clipper-intergraph-clix${UNAME_RELEASE}
- exit ;;
- mips:*:*:UMIPS | mips:*:*:RISCos)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-#ifdef __cplusplus
-#include /* for printf() prototype */
- int main (int argc, char *argv[]) {
-#else
- int main (argc, argv) int argc; char *argv[]; {
-#endif
- #if defined (host_mips) && defined (MIPSEB)
- #if defined (SYSTYPE_SYSV)
- printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_SVR4)
- printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
- printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
- #endif
- #endif
- exit (-1);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c &&
- dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
- SYSTEM_NAME=`$dummy $dummyarg` &&
- { echo "$SYSTEM_NAME"; exit; }
- echo mips-mips-riscos${UNAME_RELEASE}
- exit ;;
- Motorola:PowerMAX_OS:*:*)
- echo powerpc-motorola-powermax
- exit ;;
- Motorola:*:4.3:PL8-*)
- echo powerpc-harris-powermax
- exit ;;
- Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
- echo powerpc-harris-powermax
- exit ;;
- Night_Hawk:Power_UNIX:*:*)
- echo powerpc-harris-powerunix
- exit ;;
- m88k:CX/UX:7*:*)
- echo m88k-harris-cxux7
- exit ;;
- m88k:*:4*:R4*)
- echo m88k-motorola-sysv4
- exit ;;
- m88k:*:3*:R3*)
- echo m88k-motorola-sysv3
- exit ;;
- AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
- then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
- [ ${TARGET_BINARY_INTERFACE}x = x ]
- then
- echo m88k-dg-dgux${UNAME_RELEASE}
- else
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
- fi
- else
- echo i586-dg-dgux${UNAME_RELEASE}
- fi
- exit ;;
- M88*:DolphinOS:*:*) # DolphinOS (SVR3)
- echo m88k-dolphin-sysv3
- exit ;;
- M88*:*:R3*:*)
- # Delta 88k system running SVR3
- echo m88k-motorola-sysv3
- exit ;;
- XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
- echo m88k-tektronix-sysv3
- exit ;;
- Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
- echo m68k-tektronix-bsd
- exit ;;
- *:IRIX*:*:*)
- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
- exit ;;
- ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
- i*86:AIX:*:*)
- echo i386-ibm-aix
- exit ;;
- ia64:AIX:*:*)
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
- exit ;;
- *:AIX:2:3)
- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include
-
- main()
- {
- if (!__power_pc())
- exit(1);
- puts("powerpc-ibm-aix3.2.5");
- exit(0);
- }
-EOF
- if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
- then
- echo "$SYSTEM_NAME"
- else
- echo rs6000-ibm-aix3.2.5
- fi
- elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
- echo rs6000-ibm-aix3.2.4
- else
- echo rs6000-ibm-aix3.2
- fi
- exit ;;
- *:AIX:*:[456])
- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
- IBM_ARCH=rs6000
- else
- IBM_ARCH=powerpc
- fi
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit ;;
- *:AIX:*:*)
- echo rs6000-ibm-aix
- exit ;;
- ibmrt:4.4BSD:*|romp-ibm:BSD:*)
- echo romp-ibm-bsd4.4
- exit ;;
- ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit ;; # report: romp-ibm BSD 4.3
- *:BOSX:*:*)
- echo rs6000-bull-bosx
- exit ;;
- DPX/2?00:B.O.S.:*:*)
- echo m68k-bull-sysv3
- exit ;;
- 9000/[34]??:4.3bsd:1.*:*)
- echo m68k-hp-bsd
- exit ;;
- hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
- echo m68k-hp-bsd4.4
- exit ;;
- 9000/[34678]??:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- case "${UNAME_MACHINE}" in
- 9000/31? ) HP_ARCH=m68000 ;;
- 9000/[34]?? ) HP_ARCH=m68k ;;
- 9000/[678][0-9][0-9])
- if [ -x /usr/bin/getconf ]; then
- sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
- esac ;;
- esac
- fi
- if [ "${HP_ARCH}" = "" ]; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-
- #define _HPUX_SOURCE
- #include
- #include
-
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
-
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
- #if defined(_SC_KERNEL_BITS)
- switch (bits)
- {
- case 64: puts ("hppa2.0w"); break;
- case 32: puts ("hppa2.0n"); break;
- default: puts ("hppa2.0"); break;
- } break;
- #else /* !defined(_SC_KERNEL_BITS) */
- puts ("hppa2.0"); break;
- #endif
- default: puts ("hppa1.0"); break;
- }
- exit (0);
- }
-EOF
- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
- test -z "$HP_ARCH" && HP_ARCH=hppa
- fi ;;
- esac
- if [ ${HP_ARCH} = "hppa2.0w" ]
- then
- eval $set_cc_for_build
-
- # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
- # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
- # generating 64-bit code. GNU and HP use different nomenclature:
- #
- # $ CC_FOR_BUILD=cc ./config.guess
- # => hppa2.0w-hp-hpux11.23
- # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
- # => hppa64-hp-hpux11.23
-
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
- grep -q __LP64__
- then
- HP_ARCH="hppa2.0w"
- else
- HP_ARCH="hppa64"
- fi
- fi
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit ;;
- ia64:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ia64-hp-hpux${HPUX_REV}
- exit ;;
- 3050*:HI-UX:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include
- int
- main ()
- {
- long cpu = sysconf (_SC_CPU_VERSION);
- /* The order matters, because CPU_IS_HP_MC68K erroneously returns
- true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
- results, however. */
- if (CPU_IS_PA_RISC (cpu))
- {
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
- default: puts ("hppa-hitachi-hiuxwe2"); break;
- }
- }
- else if (CPU_IS_HP_MC68K (cpu))
- puts ("m68k-hitachi-hiuxwe2");
- else puts ("unknown-hitachi-hiuxwe2");
- exit (0);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
- echo unknown-hitachi-hiuxwe2
- exit ;;
- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
- echo hppa1.1-hp-bsd
- exit ;;
- 9000/8??:4.3bsd:*:*)
- echo hppa1.0-hp-bsd
- exit ;;
- *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
- echo hppa1.0-hp-mpeix
- exit ;;
- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
- echo hppa1.1-hp-osf
- exit ;;
- hp8??:OSF1:*:*)
- echo hppa1.0-hp-osf
- exit ;;
- i*86:OSF1:*:*)
- if [ -x /usr/sbin/sysversion ] ; then
- echo ${UNAME_MACHINE}-unknown-osf1mk
- else
- echo ${UNAME_MACHINE}-unknown-osf1
- fi
- exit ;;
- parisc*:Lites*:*:*)
- echo hppa1.1-hp-lites
- exit ;;
- C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
- echo c1-convex-bsd
- exit ;;
- C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
- echo c34-convex-bsd
- exit ;;
- C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
- echo c38-convex-bsd
- exit ;;
- C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
- echo c4-convex-bsd
- exit ;;
- CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*[A-Z]90:*:*:*)
- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
- | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
- -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
- -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*T3E:*:*:*)
- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*SV1:*:*:*)
- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- *:UNICOS/mp:*:*)
- echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- 5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit ;;
- sparc*:BSD/OS:*:*)
- echo sparc-unknown-bsdi${UNAME_RELEASE}
- exit ;;
- *:BSD/OS:*:*)
- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
- exit ;;
- *:FreeBSD:*:*)
- case ${UNAME_MACHINE} in
- pc98)
- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- amd64)
- echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- *)
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- esac
- exit ;;
- i*:CYGWIN*:*)
- echo ${UNAME_MACHINE}-pc-cygwin
- exit ;;
- *:MINGW*:*)
- echo ${UNAME_MACHINE}-pc-mingw32
- exit ;;
- i*:windows32*:*)
- # uname -m includes "-pc" on this system.
- echo ${UNAME_MACHINE}-mingw32
- exit ;;
- i*:PW*:*)
- echo ${UNAME_MACHINE}-pc-pw32
- exit ;;
- *:Interix*:*)
- case ${UNAME_MACHINE} in
- x86)
- echo i586-pc-interix${UNAME_RELEASE}
- exit ;;
- authenticamd | genuineintel | EM64T)
- echo x86_64-unknown-interix${UNAME_RELEASE}
- exit ;;
- IA64)
- echo ia64-unknown-interix${UNAME_RELEASE}
- exit ;;
- esac ;;
- [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
- echo i${UNAME_MACHINE}-pc-mks
- exit ;;
- 8664:Windows_NT:*)
- echo x86_64-pc-mks
- exit ;;
- i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
- # UNAME_MACHINE based on the output of uname instead of i386?
- echo i586-pc-interix
- exit ;;
- i*:UWIN*:*)
- echo ${UNAME_MACHINE}-pc-uwin
- exit ;;
- amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
- echo x86_64-unknown-cygwin
- exit ;;
- p*:CYGWIN*:*)
- echo powerpcle-unknown-cygwin
- exit ;;
- prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- *:GNU:*:*)
- # the GNU system
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit ;;
- *:GNU/*:*:*)
- # other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
- exit ;;
- i*86:Minix:*:*)
- echo ${UNAME_MACHINE}-pc-minix
- exit ;;
- alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- EV5) UNAME_MACHINE=alphaev5 ;;
- EV56) UNAME_MACHINE=alphaev56 ;;
- PCA56) UNAME_MACHINE=alphapca56 ;;
- PCA57) UNAME_MACHINE=alphapca56 ;;
- EV6) UNAME_MACHINE=alphaev6 ;;
- EV67) UNAME_MACHINE=alphaev67 ;;
- EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
- objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
- exit ;;
- arm*:Linux:*:*)
- eval $set_cc_for_build
- if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ARM_EABI__
- then
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- else
- echo ${UNAME_MACHINE}-unknown-linux-gnueabi
- fi
- exit ;;
- avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- cris:Linux:*:*)
- echo cris-axis-linux-gnu
- exit ;;
- crisv32:Linux:*:*)
- echo crisv32-axis-linux-gnu
- exit ;;
- frv:Linux:*:*)
- echo frv-unknown-linux-gnu
- exit ;;
- i*86:Linux:*:*)
- LIBC=gnu
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #ifdef __dietlibc__
- LIBC=dietlibc
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
- echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
- exit ;;
- ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- m32r*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- mips:Linux:*:* | mips64:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef ${UNAME_MACHINE}
- #undef ${UNAME_MACHINE}el
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=${UNAME_MACHINE}el
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=${UNAME_MACHINE}
- #else
- CPU=
- #endif
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
- ;;
- or32:Linux:*:*)
- echo or32-unknown-linux-gnu
- exit ;;
- padre:Linux:*:*)
- echo sparc-unknown-linux-gnu
- exit ;;
- parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
- exit ;;
- parisc:Linux:*:* | hppa:Linux:*:*)
- # Look for CPU level
- case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-gnu ;;
- PA8*) echo hppa2.0-unknown-linux-gnu ;;
- *) echo hppa-unknown-linux-gnu ;;
- esac
- exit ;;
- ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-gnu
- exit ;;
- ppc:Linux:*:*)
- echo powerpc-unknown-linux-gnu
- exit ;;
- s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux
- exit ;;
- sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-gnu
- exit ;;
- x86_64:Linux:*:*)
- echo x86_64-unknown-linux-gnu
- exit ;;
- xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- i*86:DYNIX/ptx:4*:*)
- # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
- # earlier versions are messed up and put the nodename in both
- # sysname and nodename.
- echo i386-sequent-sysv4
- exit ;;
- i*86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
- # I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
- exit ;;
- i*86:OS/2:*:*)
- # If we were able to find `uname', then EMX Unix compatibility
- # is probably installed.
- echo ${UNAME_MACHINE}-pc-os2-emx
- exit ;;
- i*86:XTS-300:*:STOP)
- echo ${UNAME_MACHINE}-unknown-stop
- exit ;;
- i*86:atheos:*:*)
- echo ${UNAME_MACHINE}-unknown-atheos
- exit ;;
- i*86:syllable:*:*)
- echo ${UNAME_MACHINE}-pc-syllable
- exit ;;
- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
- echo i386-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- i*86:*DOS:*:*)
- echo ${UNAME_MACHINE}-pc-msdosdjgpp
- exit ;;
- i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
- else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
- fi
- exit ;;
- i*86:*:5:[678]*)
- # UnixWare 7.x, OpenUNIX and OpenServer 6.
- case `/bin/uname -X | grep "^Machine"` in
- *486*) UNAME_MACHINE=i486 ;;
- *Pentium) UNAME_MACHINE=i586 ;;
- *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
- esac
- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
- exit ;;
- i*86:*:3.2:*)
- if test -f /usr/options/cb.name; then
- UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then
- UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
- (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
- (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
- && UNAME_MACHINE=i586
- (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
- && UNAME_MACHINE=i686
- (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
- && UNAME_MACHINE=i686
- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
- else
- echo ${UNAME_MACHINE}-pc-sysv32
- fi
- exit ;;
- pc:*:*:*)
- # Left here for compatibility:
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i586.
- # Note: whatever this is, it MUST be the same as what config.sub
- # prints for the "djgpp" host, or else GDB configury will decide that
- # this is a cross-build.
- echo i586-pc-msdosdjgpp
- exit ;;
- Intel:Mach:3*:*)
- echo i386-pc-mach3
- exit ;;
- paragon:*:*:*)
- echo i860-intel-osf1
- exit ;;
- i860:*:4.*:*) # i860-SVR4
- if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
- else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
- fi
- exit ;;
- mini*:CTIX:SYS*5:*)
- # "miniframe"
- echo m68010-convergent-sysv
- exit ;;
- mc68k:UNIX:SYSTEM5:3.51m)
- echo m68k-convergent-sysv
- exit ;;
- M680?0:D-NIX:5.3:*)
- echo m68k-diab-dnix
- exit ;;
- M68*:*:R3V[5678]*:*)
- test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
- 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
- OS_REL=''
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
- 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4; exit; } ;;
- NCR*:*:4.2:* | MPRAS*:*:4.2:*)
- OS_REL='.3'
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
- m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
- echo m68k-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- mc68030:UNIX_System_V:4.*:*)
- echo m68k-atari-sysv4
- exit ;;
- TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- rs6000:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
- echo powerpc-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv${UNAME_RELEASE}
- exit ;;
- RM*:ReliantUNIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
- RM*:SINIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
- *:SINIX-*:*:*)
- if uname -p 2>/dev/null >/dev/null ; then
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- echo ${UNAME_MACHINE}-sni-sysv4
- else
- echo ns32k-sni-sysv
- fi
- exit ;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says
- echo i586-unisys-sysv4
- exit ;;
- *:UNIX_System_V:4*:FTX*)
- # From Gerald Hewes .
- # How about differentiating between stratus architectures? -djm
- echo hppa1.1-stratus-sysv4
- exit ;;
- *:*:*:FTX*)
- # From seanf@swdc.stratus.com.
- echo i860-stratus-sysv4
- exit ;;
- i*86:VOS:*:*)
- # From Paul.Green@stratus.com.
- echo ${UNAME_MACHINE}-stratus-vos
- exit ;;
- *:VOS:*:*)
- # From Paul.Green@stratus.com.
- echo hppa1.1-stratus-vos
- exit ;;
- mc68*:A/UX:*:*)
- echo m68k-apple-aux${UNAME_RELEASE}
- exit ;;
- news*:NEWS-OS:6*:*)
- echo mips-sony-newsos6
- exit ;;
- R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
- if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
- else
- echo mips-unknown-sysv${UNAME_RELEASE}
- fi
- exit ;;
- BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
- echo powerpc-be-beos
- exit ;;
- BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
- echo powerpc-apple-beos
- exit ;;
- BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
- echo i586-pc-beos
- exit ;;
- BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
- echo i586-pc-haiku
- exit ;;
- SX-4:SUPER-UX:*:*)
- echo sx4-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-5:SUPER-UX:*:*)
- echo sx5-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-6:SUPER-UX:*:*)
- echo sx6-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-7:SUPER-UX:*:*)
- echo sx7-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8:SUPER-UX:*:*)
- echo sx8-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8R:SUPER-UX:*:*)
- echo sx8r-nec-superux${UNAME_RELEASE}
- exit ;;
- Power*:Rhapsody:*:*)
- echo powerpc-apple-rhapsody${UNAME_RELEASE}
- exit ;;
- *:Rhapsody:*:*)
- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
- exit ;;
- *:Darwin:*:*)
- UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- case $UNAME_PROCESSOR in
- i386)
- eval $set_cc_for_build
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- UNAME_PROCESSOR="x86_64"
- fi
- fi ;;
- unknown) UNAME_PROCESSOR=powerpc ;;
- esac
- echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
- exit ;;
- *:procnto*:*:* | *:QNX:[0123456789]*:*)
- UNAME_PROCESSOR=`uname -p`
- if test "$UNAME_PROCESSOR" = "x86"; then
- UNAME_PROCESSOR=i386
- UNAME_MACHINE=pc
- fi
- echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
- exit ;;
- *:QNX:*:4*)
- echo i386-pc-qnx
- exit ;;
- NSE-?:NONSTOP_KERNEL:*:*)
- echo nse-tandem-nsk${UNAME_RELEASE}
- exit ;;
- NSR-?:NONSTOP_KERNEL:*:*)
- echo nsr-tandem-nsk${UNAME_RELEASE}
- exit ;;
- *:NonStop-UX:*:*)
- echo mips-compaq-nonstopux
- exit ;;
- BS2000:POSIX*:*:*)
- echo bs2000-siemens-sysv
- exit ;;
- DS/*:UNIX_System_V:*:*)
- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
- exit ;;
- *:Plan9:*:*)
- # "uname -m" is not consistent, so use $cputype instead. 386
- # is converted to i386 for consistency with other x86
- # operating systems.
- if test "$cputype" = "386"; then
- UNAME_MACHINE=i386
- else
- UNAME_MACHINE="$cputype"
- fi
- echo ${UNAME_MACHINE}-unknown-plan9
- exit ;;
- *:TOPS-10:*:*)
- echo pdp10-unknown-tops10
- exit ;;
- *:TENEX:*:*)
- echo pdp10-unknown-tenex
- exit ;;
- KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
- echo pdp10-dec-tops20
- exit ;;
- XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
- echo pdp10-xkl-tops20
- exit ;;
- *:TOPS-20:*:*)
- echo pdp10-unknown-tops20
- exit ;;
- *:ITS:*:*)
- echo pdp10-unknown-its
- exit ;;
- SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
- exit ;;
- *:DragonFly:*:*)
- echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
- exit ;;
- *:*VMS:*:*)
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- case "${UNAME_MACHINE}" in
- A*) echo alpha-dec-vms ; exit ;;
- I*) echo ia64-dec-vms ; exit ;;
- V*) echo vax-dec-vms ; exit ;;
- esac ;;
- *:XENIX:*:SysV)
- echo i386-pc-xenix
- exit ;;
- i*86:skyos:*:*)
- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
- exit ;;
- i*86:rdos:*:*)
- echo ${UNAME_MACHINE}-pc-rdos
- exit ;;
- i*86:AROS:*:*)
- echo ${UNAME_MACHINE}-pc-aros
- exit ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <
-# include
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- c34*)
- echo c34-convex-bsd
- exit ;;
- c38*)
- echo c38-convex-bsd
- exit ;;
- c4*)
- echo c4-convex-bsd
- exit ;;
- esac
-fi
-
-cat >&2 < in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo = `(hostinfo) 2>/dev/null`
-/bin/universe = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/config.mak.in b/config.mak.in
deleted file mode 100644
index 14c143f6486..00000000000
--- a/config.mak.in
+++ /dev/null
@@ -1,33 +0,0 @@
-# git Makefile configuration, included in main Makefile
-# @configure_input@
-
-CC = @CC@
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-AR = @AR@
-TAR = @TAR@
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-bindir = @bindir@
-datarootdir = @datarootdir@
-PREFIX = @prefix@
-target_cpu = @target_cpu@
-target_vendor = @target_vendor@
-target_os = @target_os@
-arch = @arch@
-platform = @platform@
-
-mandir=@mandir@
-
-srcdir = @srcdir@
-VPATH = @srcdir@
-DEBUG = @DEBUG@
-
-export exec_prefix mandir
-export srcdir VPATH PREFIX
-
-
-
-HAVE_OPENSSL=@HAVE_OPENSSL@
-WANT_SOCKET=@WANT_SOCKET@
diff --git a/config.sub b/config.sub
deleted file mode 100755
index 2a55a50751c..00000000000
--- a/config.sub
+++ /dev/null
@@ -1,1705 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-# Free Software Foundation, Inc.
-
-timestamp='2009-11-20'
-
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine. It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Please send patches to . Submit a context
-# diff and a properly formatted GNU ChangeLog entry.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support. The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
- $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to ."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help"
- exit 1 ;;
-
- *local*)
- # First pass through any local machine types.
- echo $1
- exit ;;
-
- * )
- break ;;
- esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
- exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
- exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
- kopensolaris*-gnu* | \
- storm-chaos* | os2-emx* | rtmk-nova*)
- os=-$maybe_os
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
- ;;
- *)
- basic_machine=`echo $1 | sed 's/-[^-]*$//'`
- if [ $basic_machine != $1 ]
- then os=`echo $1 | sed 's/.*-/-/'`
- else os=; fi
- ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work. We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
- -sun*os*)
- # Prevent following clause from handling this invalid input.
- ;;
- -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
- -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
- -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis | -knuth | -cray | -microblaze)
- os=
- basic_machine=$1
- ;;
- -bluegene*)
- os=-cnk
- ;;
- -sim | -cisco | -oki | -wec | -winbond)
- os=
- basic_machine=$1
- ;;
- -scout)
- ;;
- -wrs)
- os=-vxworks
- basic_machine=$1
- ;;
- -chorusos*)
- os=-chorusos
- basic_machine=$1
- ;;
- -chorusrdb)
- os=-chorusrdb
- basic_machine=$1
- ;;
- -hiux*)
- os=-hiuxwe2
- ;;
- -sco6)
- os=-sco5v6
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco5)
- os=-sco3.2v5
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco4)
- os=-sco3.2v4
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2.[4-9]*)
- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2v[4-9]*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco5v6*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco*)
- os=-sco3.2v2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -udk*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -isc)
- os=-isc2.2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -clix*)
- basic_machine=clipper-intergraph
- ;;
- -isc*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -lynx*)
- os=-lynxos
- ;;
- -ptx*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
- ;;
- -windowsnt*)
- os=`echo $os | sed -e 's/windowsnt/winnt/'`
- ;;
- -psos*)
- os=-psos
- ;;
- -mint | -mint[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
- # Recognize the basic CPU types without company name.
- # Some are omitted here because they have special meanings below.
- 1750a | 580 \
- | a29k \
- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
- | am33_2.0 \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
- | bfin \
- | c4x | clipper \
- | d10v | d30v | dlx | dsp16xx \
- | fido | fr30 | frv \
- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
- | i370 | i860 | i960 | ia64 \
- | ip2k | iq2000 \
- | lm32 \
- | m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | mcore | mep | metag \
- | mips | mipsbe | mipseb | mipsel | mipsle \
- | mips16 \
- | mips64 | mips64el \
- | mips64octeon | mips64octeonel \
- | mips64orion | mips64orionel \
- | mips64r5900 | mips64r5900el \
- | mips64vr | mips64vrel \
- | mips64vr4100 | mips64vr4100el \
- | mips64vr4300 | mips64vr4300el \
- | mips64vr5000 | mips64vr5000el \
- | mips64vr5900 | mips64vr5900el \
- | mipsisa32 | mipsisa32el \
- | mipsisa32r2 | mipsisa32r2el \
- | mipsisa64 | mipsisa64el \
- | mipsisa64r2 | mipsisa64r2el \
- | mipsisa64sb1 | mipsisa64sb1el \
- | mipsisa64sr71k | mipsisa64sr71kel \
- | mipstx39 | mipstx39el \
- | mn10200 | mn10300 \
- | moxie \
- | mt \
- | msp430 \
- | nios | nios2 \
- | ns16k | ns32k \
- | or32 \
- | pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
- | pyramid \
- | rx \
- | score \
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
- | sh64 | sh64le \
- | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
- | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
- | spu | strongarm \
- | tahoe | thumb | tic4x | tic80 | tron \
- | ubicom32 \
- | v850 | v850e \
- | we32k \
- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
- | z8k | z80)
- basic_machine=$basic_machine-unknown
- ;;
- m6811 | m68hc11 | m6812 | m68hc12 | picochip)
- # Motorola 68HC11/12.
- basic_machine=$basic_machine-unknown
- os=-none
- ;;
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
- ;;
- ms1)
- basic_machine=mt-unknown
- ;;
-
- # We use `pc' rather than `unknown'
- # because (1) that's what they normally are, and
- # (2) the word "unknown" tends to confuse beginning users.
- i*86 | x86_64)
- basic_machine=$basic_machine-pc
- ;;
- # Object if more than one company name word.
- *-*-*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
- # Recognize the basic CPU types with company name.
- 580-* \
- | a29k-* \
- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* | avr32-* \
- | bfin-* | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
- | clipper-* | craynv-* | cydra-* \
- | d10v-* | d30v-* | dlx-* \
- | elxsi-* \
- | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
- | h8300-* | h8500-* \
- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
- | i*86-* | i860-* | i960-* | ia64-* \
- | ip2k-* | iq2000-* \
- | lm32-* \
- | m32c-* | m32r-* | m32rle-* \
- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
- | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
- | mips16-* \
- | mips64-* | mips64el-* \
- | mips64octeon-* | mips64octeonel-* \
- | mips64orion-* | mips64orionel-* \
- | mips64r5900-* | mips64r5900el-* \
- | mips64vr-* | mips64vrel-* \
- | mips64vr4100-* | mips64vr4100el-* \
- | mips64vr4300-* | mips64vr4300el-* \
- | mips64vr5000-* | mips64vr5000el-* \
- | mips64vr5900-* | mips64vr5900el-* \
- | mipsisa32-* | mipsisa32el-* \
- | mipsisa32r2-* | mipsisa32r2el-* \
- | mipsisa64-* | mipsisa64el-* \
- | mipsisa64r2-* | mipsisa64r2el-* \
- | mipsisa64sb1-* | mipsisa64sb1el-* \
- | mipsisa64sr71k-* | mipsisa64sr71kel-* \
- | mipstx39-* | mipstx39el-* \
- | mmix-* \
- | mt-* \
- | msp430-* \
- | nios-* | nios2-* \
- | none-* | np1-* | ns16k-* | ns32k-* \
- | orion-* \
- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
- | pyramid-* \
- | romp-* | rs6000-* | rx-* \
- | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
- | sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
- | tahoe-* | thumb-* \
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
- | tron-* \
- | ubicom32-* \
- | v850-* | v850e-* | vax-* \
- | we32k-* \
- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
- | xstormy16-* | xtensa*-* \
- | ymp-* \
- | z8k-* | z80-*)
- ;;
- # Recognize the basic CPU types without company name, with glob match.
- xtensa*)
- basic_machine=$basic_machine-unknown
- ;;
- # Recognize the various machine names and aliases which stand
- # for a CPU type and a company and sometimes even an OS.
- 386bsd)
- basic_machine=i386-unknown
- os=-bsd
- ;;
- 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
- basic_machine=m68000-att
- ;;
- 3b*)
- basic_machine=we32k-att
- ;;
- a29khif)
- basic_machine=a29k-amd
- os=-udi
- ;;
- abacus)
- basic_machine=abacus-unknown
- ;;
- adobe68k)
- basic_machine=m68010-adobe
- os=-scout
- ;;
- alliant | fx80)
- basic_machine=fx80-alliant
- ;;
- altos | altos3068)
- basic_machine=m68k-altos
- ;;
- am29k)
- basic_machine=a29k-none
- os=-bsd
- ;;
- amd64)
- basic_machine=x86_64-pc
- ;;
- amd64-*)
- basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- amdahl)
- basic_machine=580-amdahl
- os=-sysv
- ;;
- amiga | amiga-*)
- basic_machine=m68k-unknown
- ;;
- amigaos | amigados)
- basic_machine=m68k-unknown
- os=-amigaos
- ;;
- amigaunix | amix)
- basic_machine=m68k-unknown
- os=-sysv4
- ;;
- apollo68)
- basic_machine=m68k-apollo
- os=-sysv
- ;;
- apollo68bsd)
- basic_machine=m68k-apollo
- os=-bsd
- ;;
- aros)
- basic_machine=i386-pc
- os=-aros
- ;;
- aux)
- basic_machine=m68k-apple
- os=-aux
- ;;
- balance)
- basic_machine=ns32k-sequent
- os=-dynix
- ;;
- blackfin)
- basic_machine=bfin-unknown
- os=-linux
- ;;
- blackfin-*)
- basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- bluegene*)
- basic_machine=powerpc-ibm
- os=-cnk
- ;;
- c90)
- basic_machine=c90-cray
- os=-unicos
- ;;
- cegcc)
- basic_machine=arm-unknown
- os=-cegcc
- ;;
- convex-c1)
- basic_machine=c1-convex
- os=-bsd
- ;;
- convex-c2)
- basic_machine=c2-convex
- os=-bsd
- ;;
- convex-c32)
- basic_machine=c32-convex
- os=-bsd
- ;;
- convex-c34)
- basic_machine=c34-convex
- os=-bsd
- ;;
- convex-c38)
- basic_machine=c38-convex
- os=-bsd
- ;;
- cray | j90)
- basic_machine=j90-cray
- os=-unicos
- ;;
- craynv)
- basic_machine=craynv-cray
- os=-unicosmp
- ;;
- cr16)
- basic_machine=cr16-unknown
- os=-elf
- ;;
- crds | unos)
- basic_machine=m68k-crds
- ;;
- crisv32 | crisv32-* | etraxfs*)
- basic_machine=crisv32-axis
- ;;
- cris | cris-* | etrax*)
- basic_machine=cris-axis
- ;;
- crx)
- basic_machine=crx-unknown
- os=-elf
- ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
- basic_machine=mips-dec
- ;;
- decsystem10* | dec10*)
- basic_machine=pdp10-dec
- os=-tops10
- ;;
- decsystem20* | dec20*)
- basic_machine=pdp10-dec
- os=-tops20
- ;;
- delta | 3300 | motorola-3300 | motorola-delta \
- | 3300-motorola | delta-motorola)
- basic_machine=m68k-motorola
- ;;
- delta88)
- basic_machine=m88k-motorola
- os=-sysv3
- ;;
- dicos)
- basic_machine=i686-pc
- os=-dicos
- ;;
- djgpp)
- basic_machine=i586-pc
- os=-msdosdjgpp
- ;;
- dpx20 | dpx20-*)
- basic_machine=rs6000-bull
- os=-bosx
- ;;
- dpx2* | dpx2*-bull)
- basic_machine=m68k-bull
- os=-sysv3
- ;;
- ebmon29k)
- basic_machine=a29k-amd
- os=-ebmon
- ;;
- elxsi)
- basic_machine=elxsi-elxsi
- os=-bsd
- ;;
- encore | umax | mmax)
- basic_machine=ns32k-encore
- ;;
- es1800 | OSE68k | ose68k | ose | OSE)
- basic_machine=m68k-ericsson
- os=-ose
- ;;
- fx2800)
- basic_machine=i860-alliant
- ;;
- genix)
- basic_machine=ns32k-ns
- ;;
- gmicro)
- basic_machine=tron-gmicro
- os=-sysv
- ;;
- go32)
- basic_machine=i386-pc
- os=-go32
- ;;
- h3050r* | hiux*)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- h8300hms)
- basic_machine=h8300-hitachi
- os=-hms
- ;;
- h8300xray)
- basic_machine=h8300-hitachi
- os=-xray
- ;;
- h8500hms)
- basic_machine=h8500-hitachi
- os=-hms
- ;;
- harris)
- basic_machine=m88k-harris
- os=-sysv3
- ;;
- hp300-*)
- basic_machine=m68k-hp
- ;;
- hp300bsd)
- basic_machine=m68k-hp
- os=-bsd
- ;;
- hp300hpux)
- basic_machine=m68k-hp
- os=-hpux
- ;;
- hp3k9[0-9][0-9] | hp9[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k2[0-9][0-9] | hp9k31[0-9])
- basic_machine=m68000-hp
- ;;
- hp9k3[2-9][0-9])
- basic_machine=m68k-hp
- ;;
- hp9k6[0-9][0-9] | hp6[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k7[0-79][0-9] | hp7[0-79][0-9])
- basic_machine=hppa1.1-hp
- ;;
- hp9k78[0-9] | hp78[0-9])
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][13679] | hp8[0-9][13679])
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][0-9] | hp8[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hppa-next)
- os=-nextstep3
- ;;
- hppaosf)
- basic_machine=hppa1.1-hp
- os=-osf
- ;;
- hppro)
- basic_machine=hppa1.1-hp
- os=-proelf
- ;;
- i370-ibm* | ibm*)
- basic_machine=i370-ibm
- ;;
-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
- i*86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv32
- ;;
- i*86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv4
- ;;
- i*86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv
- ;;
- i*86sol2)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-solaris2
- ;;
- i386mach)
- basic_machine=i386-mach
- os=-mach
- ;;
- i386-vsta | vsta)
- basic_machine=i386-unknown
- os=-vsta
- ;;
- iris | iris4d)
- basic_machine=mips-sgi
- case $os in
- -irix*)
- ;;
- *)
- os=-irix4
- ;;
- esac
- ;;
- isi68 | isi)
- basic_machine=m68k-isi
- os=-sysv
- ;;
- m68knommu)
- basic_machine=m68k-unknown
- os=-linux
- ;;
- m68knommu-*)
- basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- m88k-omron*)
- basic_machine=m88k-omron
- ;;
- magnum | m3230)
- basic_machine=mips-mips
- os=-sysv
- ;;
- merlin)
- basic_machine=ns32k-utek
- os=-sysv
- ;;
- microblaze)
- basic_machine=microblaze-xilinx
- ;;
- mingw32)
- basic_machine=i386-pc
- os=-mingw32
- ;;
- mingw32ce)
- basic_machine=arm-unknown
- os=-mingw32ce
- ;;
- miniframe)
- basic_machine=m68000-convergent
- ;;
- *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
- mips3*-*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
- ;;
- mips3*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
- ;;
- monitor)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- morphos)
- basic_machine=powerpc-unknown
- os=-morphos
- ;;
- msdos)
- basic_machine=i386-pc
- os=-msdos
- ;;
- ms1-*)
- basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
- ;;
- mvs)
- basic_machine=i370-ibm
- os=-mvs
- ;;
- ncr3000)
- basic_machine=i486-ncr
- os=-sysv4
- ;;
- netbsd386)
- basic_machine=i386-unknown
- os=-netbsd
- ;;
- netwinder)
- basic_machine=armv4l-rebel
- os=-linux
- ;;
- news | news700 | news800 | news900)
- basic_machine=m68k-sony
- os=-newsos
- ;;
- news1000)
- basic_machine=m68030-sony
- os=-newsos
- ;;
- news-3600 | risc-news)
- basic_machine=mips-sony
- os=-newsos
- ;;
- necv70)
- basic_machine=v70-nec
- os=-sysv
- ;;
- next | m*-next )
- basic_machine=m68k-next
- case $os in
- -nextstep* )
- ;;
- -ns2*)
- os=-nextstep2
- ;;
- *)
- os=-nextstep3
- ;;
- esac
- ;;
- nh3000)
- basic_machine=m68k-harris
- os=-cxux
- ;;
- nh[45]000)
- basic_machine=m88k-harris
- os=-cxux
- ;;
- nindy960)
- basic_machine=i960-intel
- os=-nindy
- ;;
- mon960)
- basic_machine=i960-intel
- os=-mon960
- ;;
- nonstopux)
- basic_machine=mips-compaq
- os=-nonstopux
- ;;
- np1)
- basic_machine=np1-gould
- ;;
- nsr-tandem)
- basic_machine=nsr-tandem
- ;;
- op50n-* | op60c-*)
- basic_machine=hppa1.1-oki
- os=-proelf
- ;;
- openrisc | openrisc-*)
- basic_machine=or32-unknown
- ;;
- os400)
- basic_machine=powerpc-ibm
- os=-os400
- ;;
- OSE68000 | ose68000)
- basic_machine=m68000-ericsson
- os=-ose
- ;;
- os68k)
- basic_machine=m68k-none
- os=-os68k
- ;;
- pa-hitachi)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- paragon)
- basic_machine=i860-intel
- os=-osf
- ;;
- parisc)
- basic_machine=hppa-unknown
- os=-linux
- ;;
- parisc-*)
- basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- pbd)
- basic_machine=sparc-tti
- ;;
- pbb)
- basic_machine=m68k-tti
- ;;
- pc532 | pc532-*)
- basic_machine=ns32k-pc532
- ;;
- pc98)
- basic_machine=i386-pc
- ;;
- pc98-*)
- basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium | p5 | k5 | k6 | nexgen | viac3)
- basic_machine=i586-pc
- ;;
- pentiumpro | p6 | 6x86 | athlon | athlon_*)
- basic_machine=i686-pc
- ;;
- pentiumii | pentium2 | pentiumiii | pentium3)
- basic_machine=i686-pc
- ;;
- pentium4)
- basic_machine=i786-pc
- ;;
- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumpro-* | p6-* | 6x86-* | athlon-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium4-*)
- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pn)
- basic_machine=pn-gould
- ;;
- power) basic_machine=power-ibm
- ;;
- ppc) basic_machine=powerpc-unknown
- ;;
- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppcle | powerpclittle | ppc-le | powerpc-little)
- basic_machine=powerpcle-unknown
- ;;
- ppcle-* | powerpclittle-*)
- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64) basic_machine=powerpc64-unknown
- ;;
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
- basic_machine=powerpc64le-unknown
- ;;
- ppc64le-* | powerpc64little-*)
- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ps2)
- basic_machine=i386-ibm
- ;;
- pw32)
- basic_machine=i586-unknown
- os=-pw32
- ;;
- rdos)
- basic_machine=i386-pc
- os=-rdos
- ;;
- rom68k)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- rm[46]00)
- basic_machine=mips-siemens
- ;;
- rtpc | rtpc-*)
- basic_machine=romp-ibm
- ;;
- s390 | s390-*)
- basic_machine=s390-ibm
- ;;
- s390x | s390x-*)
- basic_machine=s390x-ibm
- ;;
- sa29200)
- basic_machine=a29k-amd
- os=-udi
- ;;
- sb1)
- basic_machine=mipsisa64sb1-unknown
- ;;
- sb1el)
- basic_machine=mipsisa64sb1el-unknown
- ;;
- sde)
- basic_machine=mipsisa32-sde
- os=-elf
- ;;
- sei)
- basic_machine=mips-sei
- os=-seiux
- ;;
- sequent)
- basic_machine=i386-sequent
- ;;
- sh)
- basic_machine=sh-hitachi
- os=-hms
- ;;
- sh5el)
- basic_machine=sh5le-unknown
- ;;
- sh64)
- basic_machine=sh64-unknown
- ;;
- sparclite-wrs | simso-wrs)
- basic_machine=sparclite-wrs
- os=-vxworks
- ;;
- sps7)
- basic_machine=m68k-bull
- os=-sysv2
- ;;
- spur)
- basic_machine=spur-unknown
- ;;
- st2000)
- basic_machine=m68k-tandem
- ;;
- stratus)
- basic_machine=i860-stratus
- os=-sysv4
- ;;
- sun2)
- basic_machine=m68000-sun
- ;;
- sun2os3)
- basic_machine=m68000-sun
- os=-sunos3
- ;;
- sun2os4)
- basic_machine=m68000-sun
- os=-sunos4
- ;;
- sun3os3)
- basic_machine=m68k-sun
- os=-sunos3
- ;;
- sun3os4)
- basic_machine=m68k-sun
- os=-sunos4
- ;;
- sun4os3)
- basic_machine=sparc-sun
- os=-sunos3
- ;;
- sun4os4)
- basic_machine=sparc-sun
- os=-sunos4
- ;;
- sun4sol2)
- basic_machine=sparc-sun
- os=-solaris2
- ;;
- sun3 | sun3-*)
- basic_machine=m68k-sun
- ;;
- sun4)
- basic_machine=sparc-sun
- ;;
- sun386 | sun386i | roadrunner)
- basic_machine=i386-sun
- ;;
- sv1)
- basic_machine=sv1-cray
- os=-unicos
- ;;
- symmetry)
- basic_machine=i386-sequent
- os=-dynix
- ;;
- t3e)
- basic_machine=alphaev5-cray
- os=-unicos
- ;;
- t90)
- basic_machine=t90-cray
- os=-unicos
- ;;
- tic54x | c54x*)
- basic_machine=tic54x-unknown
- os=-coff
- ;;
- tic55x | c55x*)
- basic_machine=tic55x-unknown
- os=-coff
- ;;
- tic6x | c6x*)
- basic_machine=tic6x-unknown
- os=-coff
- ;;
- tile*)
- basic_machine=tile-unknown
- os=-linux-gnu
- ;;
- tx39)
- basic_machine=mipstx39-unknown
- ;;
- tx39el)
- basic_machine=mipstx39el-unknown
- ;;
- toad1)
- basic_machine=pdp10-xkl
- os=-tops20
- ;;
- tower | tower-32)
- basic_machine=m68k-ncr
- ;;
- tpf)
- basic_machine=s390x-ibm
- os=-tpf
- ;;
- udi29k)
- basic_machine=a29k-amd
- os=-udi
- ;;
- ultra3)
- basic_machine=a29k-nyu
- os=-sym1
- ;;
- v810 | necv810)
- basic_machine=v810-nec
- os=-none
- ;;
- vaxv)
- basic_machine=vax-dec
- os=-sysv
- ;;
- vms)
- basic_machine=vax-dec
- os=-vms
- ;;
- vpp*|vx|vx-*)
- basic_machine=f301-fujitsu
- ;;
- vxworks960)
- basic_machine=i960-wrs
- os=-vxworks
- ;;
- vxworks68)
- basic_machine=m68k-wrs
- os=-vxworks
- ;;
- vxworks29k)
- basic_machine=a29k-wrs
- os=-vxworks
- ;;
- w65*)
- basic_machine=w65-wdc
- os=-none
- ;;
- w89k-*)
- basic_machine=hppa1.1-winbond
- os=-proelf
- ;;
- xbox)
- basic_machine=i686-pc
- os=-mingw32
- ;;
- xps | xps100)
- basic_machine=xps100-honeywell
- ;;
- ymp)
- basic_machine=ymp-cray
- os=-unicos
- ;;
- z8k-*-coff)
- basic_machine=z8k-unknown
- os=-sim
- ;;
- z80-*-coff)
- basic_machine=z80-unknown
- os=-sim
- ;;
- none)
- basic_machine=none-none
- os=-none
- ;;
-
-# Here we handle the default manufacturer of certain CPU types. It is in
-# some cases the only manufacturer, in others, it is the most popular.
- w89k)
- basic_machine=hppa1.1-winbond
- ;;
- op50n)
- basic_machine=hppa1.1-oki
- ;;
- op60c)
- basic_machine=hppa1.1-oki
- ;;
- romp)
- basic_machine=romp-ibm
- ;;
- mmix)
- basic_machine=mmix-knuth
- ;;
- rs6000)
- basic_machine=rs6000-ibm
- ;;
- vax)
- basic_machine=vax-dec
- ;;
- pdp10)
- # there are many clones, so DEC is not a safe bet
- basic_machine=pdp10-unknown
- ;;
- pdp11)
- basic_machine=pdp11-dec
- ;;
- we32k)
- basic_machine=we32k-att
- ;;
- sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
- basic_machine=sh-unknown
- ;;
- sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
- basic_machine=sparc-sun
- ;;
- cydra)
- basic_machine=cydra-cydrome
- ;;
- orion)
- basic_machine=orion-highlevel
- ;;
- orion105)
- basic_machine=clipper-highlevel
- ;;
- mac | mpw | mac-mpw)
- basic_machine=m68k-apple
- ;;
- pmac | pmac-mpw)
- basic_machine=powerpc-apple
- ;;
- *-unknown)
- # Make sure to match an already-canonicalized machine name.
- ;;
- *)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
- *-digital*)
- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
- ;;
- *-commodore*)
- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
- ;;
- *)
- ;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
- # First match some system type aliases
- # that might get confused with valid system types.
- # -solaris* is a basic system type, with this one exception.
- -auroraux)
- os=-auroraux
- ;;
- -solaris1 | -solaris1.*)
- os=`echo $os | sed -e 's|solaris1|sunos4|'`
- ;;
- -solaris)
- os=-solaris2
- ;;
- -svr4*)
- os=-sysv4
- ;;
- -unixware*)
- os=-sysv4.2uw
- ;;
- -gnu/linux*)
- os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
- ;;
- # First accept the basic system types.
- # The portable systems comes first.
- # Each alternative MUST END IN A *, to match a version number.
- # -sysv* is not here because it comes later, after sysvr4.
- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
- | -sym* | -kopensolaris* \
- | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* | -aros* \
- | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
- | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -openbsd* | -solidbsd* \
- | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
- | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
- | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
- | -chorusos* | -chorusrdb* | -cegcc* \
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* \
- | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
- | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
- | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
- | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
- | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
- # Remember, each alternative MUST END IN *, to match a version number.
- ;;
- -qnx*)
- case $basic_machine in
- x86-* | i*86-*)
- ;;
- *)
- os=-nto$os
- ;;
- esac
- ;;
- -nto-qnx*)
- ;;
- -nto*)
- os=`echo $os | sed -e 's|nto|nto-qnx|'`
- ;;
- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
- | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
- ;;
- -mac*)
- os=`echo $os | sed -e 's|mac|macos|'`
- ;;
- -linux-dietlibc)
- os=-linux-dietlibc
- ;;
- -linux*)
- os=`echo $os | sed -e 's|linux|linux-gnu|'`
- ;;
- -sunos5*)
- os=`echo $os | sed -e 's|sunos5|solaris2|'`
- ;;
- -sunos6*)
- os=`echo $os | sed -e 's|sunos6|solaris3|'`
- ;;
- -opened*)
- os=-openedition
- ;;
- -os400*)
- os=-os400
- ;;
- -wince*)
- os=-wince
- ;;
- -osfrose*)
- os=-osfrose
- ;;
- -osf*)
- os=-osf
- ;;
- -utek*)
- os=-bsd
- ;;
- -dynix*)
- os=-bsd
- ;;
- -acis*)
- os=-aos
- ;;
- -atheos*)
- os=-atheos
- ;;
- -syllable*)
- os=-syllable
- ;;
- -386bsd)
- os=-bsd
- ;;
- -ctix* | -uts*)
- os=-sysv
- ;;
- -nova*)
- os=-rtmk-nova
- ;;
- -ns2 )
- os=-nextstep2
- ;;
- -nsk*)
- os=-nsk
- ;;
- # Preserve the version number of sinix5.
- -sinix5.*)
- os=`echo $os | sed -e 's|sinix|sysv|'`
- ;;
- -sinix*)
- os=-sysv4
- ;;
- -tpf*)
- os=-tpf
- ;;
- -triton*)
- os=-sysv3
- ;;
- -oss*)
- os=-sysv3
- ;;
- -svr4)
- os=-sysv4
- ;;
- -svr3)
- os=-sysv3
- ;;
- -sysvr4)
- os=-sysv4
- ;;
- # This must come after -sysvr4.
- -sysv*)
- ;;
- -ose*)
- os=-ose
- ;;
- -es1800*)
- os=-ose
- ;;
- -xenix)
- os=-xenix
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- os=-mint
- ;;
- -aros*)
- os=-aros
- ;;
- -kaos*)
- os=-kaos
- ;;
- -zvmoe)
- os=-zvmoe
- ;;
- -dicos*)
- os=-dicos
- ;;
- -none)
- ;;
- *)
- # Get rid of the `-' at the beginning of $os.
- os=`echo $os | sed 's/[^-]*-//'`
- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
- exit 1
- ;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system. Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
- score-*)
- os=-elf
- ;;
- spu-*)
- os=-elf
- ;;
- *-acorn)
- os=-riscix1.2
- ;;
- arm*-rebel)
- os=-linux
- ;;
- arm*-semi)
- os=-aout
- ;;
- c4x-* | tic4x-*)
- os=-coff
- ;;
- # This must come before the *-dec entry.
- pdp10-*)
- os=-tops20
- ;;
- pdp11-*)
- os=-none
- ;;
- *-dec | vax-*)
- os=-ultrix4.2
- ;;
- m68*-apollo)
- os=-domain
- ;;
- i386-sun)
- os=-sunos4.0.2
- ;;
- m68000-sun)
- os=-sunos3
- # This also exists in the configure program, but was not the
- # default.
- # os=-sunos4
- ;;
- m68*-cisco)
- os=-aout
- ;;
- mep-*)
- os=-elf
- ;;
- mips*-cisco)
- os=-elf
- ;;
- mips*-*)
- os=-elf
- ;;
- or32-*)
- os=-coff
- ;;
- *-tti) # must be before sparc entry or we get the wrong os.
- os=-sysv3
- ;;
- sparc-* | *-sun)
- os=-sunos4.1.1
- ;;
- *-be)
- os=-beos
- ;;
- *-haiku)
- os=-haiku
- ;;
- *-ibm)
- os=-aix
- ;;
- *-knuth)
- os=-mmixware
- ;;
- *-wec)
- os=-proelf
- ;;
- *-winbond)
- os=-proelf
- ;;
- *-oki)
- os=-proelf
- ;;
- *-hp)
- os=-hpux
- ;;
- *-hitachi)
- os=-hiux
- ;;
- i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
- os=-sysv
- ;;
- *-cbm)
- os=-amigaos
- ;;
- *-dg)
- os=-dgux
- ;;
- *-dolphin)
- os=-sysv3
- ;;
- m68k-ccur)
- os=-rtu
- ;;
- m88k-omron*)
- os=-luna
- ;;
- *-next )
- os=-nextstep
- ;;
- *-sequent)
- os=-ptx
- ;;
- *-crds)
- os=-unos
- ;;
- *-ns)
- os=-genix
- ;;
- i370-*)
- os=-mvs
- ;;
- *-next)
- os=-nextstep3
- ;;
- *-gould)
- os=-sysv
- ;;
- *-highlevel)
- os=-bsd
- ;;
- *-encore)
- os=-bsd
- ;;
- *-sgi)
- os=-irix
- ;;
- *-siemens)
- os=-sysv4
- ;;
- *-masscomp)
- os=-rtu
- ;;
- f30[01]-fujitsu | f700-fujitsu)
- os=-uxpv
- ;;
- *-rom68k)
- os=-coff
- ;;
- *-*bug)
- os=-coff
- ;;
- *-apple)
- os=-macos
- ;;
- *-atari*)
- os=-mint
- ;;
- *)
- os=-none
- ;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer. We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
- *-unknown)
- case $os in
- -riscix*)
- vendor=acorn
- ;;
- -sunos*)
- vendor=sun
- ;;
- -cnk*|-aix*)
- vendor=ibm
- ;;
- -beos*)
- vendor=be
- ;;
- -hpux*)
- vendor=hp
- ;;
- -mpeix*)
- vendor=hp
- ;;
- -hiux*)
- vendor=hitachi
- ;;
- -unos*)
- vendor=crds
- ;;
- -dgux*)
- vendor=dg
- ;;
- -luna*)
- vendor=omron
- ;;
- -genix*)
- vendor=ns
- ;;
- -mvs* | -opened*)
- vendor=ibm
- ;;
- -os400*)
- vendor=ibm
- ;;
- -ptx*)
- vendor=sequent
- ;;
- -tpf*)
- vendor=ibm
- ;;
- -vxsim* | -vxworks* | -windiss*)
- vendor=wrs
- ;;
- -aux*)
- vendor=apple
- ;;
- -hms*)
- vendor=hitachi
- ;;
- -mpw* | -macos*)
- vendor=apple
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- vendor=atari
- ;;
- -vos*)
- vendor=stratus
- ;;
- esac
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
- ;;
-esac
-
-echo $basic_machine$os
-exit
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/configure b/configure
index a62c184ea52..de002e39b26 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,21 @@
-#!/bin/sh
+#! /bin/sh
-cd `dirname "$0"`
-autoconf --output configure.real
-exec ./configure.real "$@"
+# 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
deleted file mode 100644
index 8081a329c8a..00000000000
--- a/configure.ac
+++ /dev/null
@@ -1,155 +0,0 @@
-# -*- Autoconf -*-
-# Process this file with autoconf to produce a configure script.
-
-AC_PREREQ(2.59)
-AC_INIT([node], [0.3.0], [ryan@joyent.com])
-
-AC_CONFIG_MACRO_DIR([m4])
-AC_CONFIG_SRCDIR([src/node.cc])
-
-AC_CANONICAL_BUILD
-AC_CANONICAL_TARGET
-
-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)
-
-AC_ARG_ENABLE(debug,
- AC_HELP_STRING([--enable-debug], [enable debugging ]),
- AC_SUBST(DEBUG,[1]))
-
-
-# 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
-
-# ------------------------------------------------------------------------------
-# Checks
-
-# $arch (only those we support, i.e. lowest common denominator)
-# Customize by e.g: ./configure --target=i386-apple-darwin
-AC_MSG_CHECKING([target architecture identifier])
-case "$target_cpu" in
- x64|x86_64|ia64) arch=x64 ;;
- ia32|i386|i486|i586|i686) arch=ia32 ;;
- arm|armeb) arch=arm ;;
- *) AC_MSG_ERROR([Unsupported target architecture: $target_cpu]) ;;
-esac
-AC_SUBST(arch,[${arch}])
-AC_MSG_RESULT([$arch])
-
-# CFLAGS += -m{32,64}
-if ( echo "$build_cpu" | egrep -q 'x64|x86_64|ia64' ); then
- if test "$arch" = "ia32"; then CFLAGS="${CFLAGS} -m32"; fi
-else
- if test "$arch" = "x64"; then CFLAGS="${CFLAGS} -m64" ;fi
-fi
-
-# $platform (only those we support, i.e. [[ -d deps/c-ares/${platform}-* ]])
-AC_MSG_CHECKING([target platform identifier])
-if test "$target_os" = "none"; then target_os="$build_os"; fi
-case "$target_os" in
- #android*) platform=android ;;
- cygwin*) platform=cygwin ;;
- darwin*) platform=darwin ;;
- freebsd*) platform=freebsd ;;
- linux*) platform=linux ;;
- openbsd*) platform=openbsd ;;
- *solaris*|sunos*) platform=solaris ;;
- #win32*) platform=win32 ;;
- *) AC_MSG_ERROR([Unsupported target platform: $target_os]) ;;
-esac
-AC_SUBST(platform,[${platform}])
-AC_MSG_RESULT([$platform])
-
-# Darwin cross-compilation target -arch flag
-if test "$platform" = "darwin"; then
- CFLAGS="${CFLAGS} -arch ${target_cpu}";
- LDFLAGS="${LDFLAGS} -arch ${target_cpu}"
-fi
-
-# Checks for programs.
-AC_CHECK_PROGS(TAR, [gtar tar])
-AC_CHECK_TOOLS(AR, [gar ar], :)
-AC_PROG_MKDIR_P
-AC_PROG_LN_S
-AC_PROG_INSTALL
-
-# Checks for header files
-AC_HEADER_STDC
-
-# Checks for typedefs, structures, and compiler characteristics.
-AC_C_CONST
-AC_C_INLINE
-AC_C_CHAR_UNSIGNED
-AC_TYPE_OFF_T
-AC_TYPE_PID_T
-AC_TYPE_SIZE_T
-
-# Checks for library functions.
-AC_FUNC_FORK
-AC_FUNC_STAT
-AC_SEARCH_LIBS([dlopen], [dl dld], [], [
- AC_MSG_ERROR([Unable to find the dlopen() function])
-])
-
-# TODO FIXME: Check for OpenSSL -- expect it to exist for now
-AC_SUBST([HAVE_OPENSSL],[1])
-
-
-# check for -lsocket on solaris
-AC_CHECK_LIB([c], [socket], [WANT_SOCKET=], [WANT_SOCKET=1])
-AC_SUBST(WANT_SOCKET)
-
-
-
-# ------------------------------------------------------------------------------
-# Embedded dependencies
-
-m4_include([deps/libev/libev.m4])
-m4_include([deps/libeio/libeio.m4])
-
-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}"])
-
-mkdir -p build/debug/src build/release/src
-mkdir -p build/debug/deps/libev build/release/deps/libev
-mkdir -p build/debug/deps/libeio build/release/deps/libeio
-mkdir -p build/debug/deps/c-ares build/release/deps/c-ares
-mkdir -p build/debug/deps/http_parser build/release/deps/http_parser
-mkdir -p build/debug/deps/v8 build/release/deps/v8
-mkdir -p build/debug/lib/pkgconfig build/release/lib/pkgconfig
-
-# ------------------------------------------------------------------------------
-# Output files
-AC_OUTPUT
-
-# ------------------------------------------------------------------------------
-# Cleanup
-rm -f "${config_append}"
diff --git a/deps/c-ares/cygwin-ia32/ares_build.h b/deps/c-ares/cygwin-x86/ares_build.h
similarity index 100%
rename from deps/c-ares/cygwin-ia32/ares_build.h
rename to deps/c-ares/cygwin-x86/ares_build.h
diff --git a/deps/c-ares/cygwin-ia32/ares_config.h b/deps/c-ares/cygwin-x86/ares_config.h
similarity index 100%
rename from deps/c-ares/cygwin-ia32/ares_config.h
rename to deps/c-ares/cygwin-x86/ares_config.h
diff --git a/deps/c-ares/cygwin-ia32/ares_setup.h b/deps/c-ares/cygwin-x86/ares_setup.h
similarity index 100%
rename from deps/c-ares/cygwin-ia32/ares_setup.h
rename to deps/c-ares/cygwin-x86/ares_setup.h
diff --git a/deps/c-ares/darwin-ia32/ares_build.h b/deps/c-ares/darwin-x86/ares_build.h
similarity index 100%
rename from deps/c-ares/darwin-ia32/ares_build.h
rename to deps/c-ares/darwin-x86/ares_build.h
diff --git a/deps/c-ares/darwin-ia32/ares_config.h b/deps/c-ares/darwin-x86/ares_config.h
similarity index 100%
rename from deps/c-ares/darwin-ia32/ares_config.h
rename to deps/c-ares/darwin-x86/ares_config.h
diff --git a/deps/c-ares/darwin-ia32/ares_setup.h b/deps/c-ares/darwin-x86/ares_setup.h
similarity index 100%
rename from deps/c-ares/darwin-ia32/ares_setup.h
rename to deps/c-ares/darwin-x86/ares_setup.h
diff --git a/deps/c-ares/darwin-x64/ares_build.h b/deps/c-ares/darwin-x86_64/ares_build.h
similarity index 100%
rename from deps/c-ares/darwin-x64/ares_build.h
rename to deps/c-ares/darwin-x86_64/ares_build.h
diff --git a/deps/c-ares/darwin-x64/ares_config.h b/deps/c-ares/darwin-x86_64/ares_config.h
similarity index 100%
rename from deps/c-ares/darwin-x64/ares_config.h
rename to deps/c-ares/darwin-x86_64/ares_config.h
diff --git a/deps/c-ares/darwin-x64/ares_setup.h b/deps/c-ares/darwin-x86_64/ares_setup.h
similarity index 100%
rename from deps/c-ares/darwin-x64/ares_setup.h
rename to deps/c-ares/darwin-x86_64/ares_setup.h
diff --git a/deps/c-ares/freebsd-ia32/ares_build.h b/deps/c-ares/freebsd-x86/ares_build.h
similarity index 100%
rename from deps/c-ares/freebsd-ia32/ares_build.h
rename to deps/c-ares/freebsd-x86/ares_build.h
diff --git a/deps/c-ares/freebsd-ia32/ares_config.h b/deps/c-ares/freebsd-x86/ares_config.h
similarity index 100%
rename from deps/c-ares/freebsd-ia32/ares_config.h
rename to deps/c-ares/freebsd-x86/ares_config.h
diff --git a/deps/c-ares/freebsd-ia32/ares_setup.h b/deps/c-ares/freebsd-x86/ares_setup.h
similarity index 100%
rename from deps/c-ares/freebsd-ia32/ares_setup.h
rename to deps/c-ares/freebsd-x86/ares_setup.h
diff --git a/deps/c-ares/freebsd-x64/ares_build.h b/deps/c-ares/freebsd-x86_64/ares_build.h
similarity index 100%
rename from deps/c-ares/freebsd-x64/ares_build.h
rename to deps/c-ares/freebsd-x86_64/ares_build.h
diff --git a/deps/c-ares/freebsd-x64/ares_config.h b/deps/c-ares/freebsd-x86_64/ares_config.h
similarity index 100%
rename from deps/c-ares/freebsd-x64/ares_config.h
rename to deps/c-ares/freebsd-x86_64/ares_config.h
diff --git a/deps/c-ares/freebsd-x64/ares_setup.h b/deps/c-ares/freebsd-x86_64/ares_setup.h
similarity index 100%
rename from deps/c-ares/freebsd-x64/ares_setup.h
rename to deps/c-ares/freebsd-x86_64/ares_setup.h
diff --git a/deps/c-ares/linux-ia32/ares_build.h b/deps/c-ares/linux-x86/ares_build.h
similarity index 100%
rename from deps/c-ares/linux-ia32/ares_build.h
rename to deps/c-ares/linux-x86/ares_build.h
diff --git a/deps/c-ares/linux-ia32/ares_config.h b/deps/c-ares/linux-x86/ares_config.h
similarity index 100%
rename from deps/c-ares/linux-ia32/ares_config.h
rename to deps/c-ares/linux-x86/ares_config.h
diff --git a/deps/c-ares/linux-ia32/ares_setup.h b/deps/c-ares/linux-x86/ares_setup.h
similarity index 100%
rename from deps/c-ares/linux-ia32/ares_setup.h
rename to deps/c-ares/linux-x86/ares_setup.h
diff --git a/deps/c-ares/linux-x64/ares_build.h b/deps/c-ares/linux-x86_64/ares_build.h
similarity index 100%
rename from deps/c-ares/linux-x64/ares_build.h
rename to deps/c-ares/linux-x86_64/ares_build.h
diff --git a/deps/c-ares/linux-x64/ares_config.h b/deps/c-ares/linux-x86_64/ares_config.h
similarity index 100%
rename from deps/c-ares/linux-x64/ares_config.h
rename to deps/c-ares/linux-x86_64/ares_config.h
diff --git a/deps/c-ares/linux-x64/ares_setup.h b/deps/c-ares/linux-x86_64/ares_setup.h
similarity index 100%
rename from deps/c-ares/linux-x64/ares_setup.h
rename to deps/c-ares/linux-x86_64/ares_setup.h
diff --git a/deps/c-ares/openbsd-ia32/ares_build.h b/deps/c-ares/openbsd-x86/ares_build.h
similarity index 100%
rename from deps/c-ares/openbsd-ia32/ares_build.h
rename to deps/c-ares/openbsd-x86/ares_build.h
diff --git a/deps/c-ares/openbsd-ia32/ares_config.h b/deps/c-ares/openbsd-x86/ares_config.h
similarity index 100%
rename from deps/c-ares/openbsd-ia32/ares_config.h
rename to deps/c-ares/openbsd-x86/ares_config.h
diff --git a/deps/c-ares/openbsd-ia32/ares_setup.h b/deps/c-ares/openbsd-x86/ares_setup.h
similarity index 100%
rename from deps/c-ares/openbsd-ia32/ares_setup.h
rename to deps/c-ares/openbsd-x86/ares_setup.h
diff --git a/deps/c-ares/openbsd-x64/ares_build.h b/deps/c-ares/openbsd-x86_64/ares_build.h
similarity index 100%
rename from deps/c-ares/openbsd-x64/ares_build.h
rename to deps/c-ares/openbsd-x86_64/ares_build.h
diff --git a/deps/c-ares/openbsd-x64/ares_config.h b/deps/c-ares/openbsd-x86_64/ares_config.h
similarity index 100%
rename from deps/c-ares/openbsd-x64/ares_config.h
rename to deps/c-ares/openbsd-x86_64/ares_config.h
diff --git a/deps/c-ares/openbsd-x64/ares_setup.h b/deps/c-ares/openbsd-x86_64/ares_setup.h
similarity index 100%
rename from deps/c-ares/openbsd-x64/ares_setup.h
rename to deps/c-ares/openbsd-x86_64/ares_setup.h
diff --git a/deps/c-ares/solaris-ia32/ares_build.h b/deps/c-ares/sunos-x86/ares_build.h
similarity index 100%
rename from deps/c-ares/solaris-ia32/ares_build.h
rename to deps/c-ares/sunos-x86/ares_build.h
diff --git a/deps/c-ares/solaris-ia32/ares_config.h b/deps/c-ares/sunos-x86/ares_config.h
similarity index 100%
rename from deps/c-ares/solaris-ia32/ares_config.h
rename to deps/c-ares/sunos-x86/ares_config.h
diff --git a/deps/c-ares/solaris-ia32/ares_setup.h b/deps/c-ares/sunos-x86/ares_setup.h
similarity index 100%
rename from deps/c-ares/solaris-ia32/ares_setup.h
rename to deps/c-ares/sunos-x86/ares_setup.h
diff --git a/deps/c-ares/wscript b/deps/c-ares/wscript
new file mode 100644
index 00000000000..9acc41ecfc3
--- /dev/null
+++ b/deps/c-ares/wscript
@@ -0,0 +1,26 @@
+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/wscript b/deps/libeio/wscript
new file mode 100644
index 00000000000..8b60e544250
--- /dev/null
+++ b/deps/libeio/wscript
@@ -0,0 +1,127 @@
+import Options
+import sys
+
+def set_options(opt):
+ pass
+ #opt.tool_options('compiler_cc')
+
+def configure(conf):
+ print "--- libeio ---"
+ #conf.check_tool('compiler_cc')
+
+ conf.check(lib='pthread', uselib_store='PTHREAD')
+ conf.check_cc(lib="pthread", header_name="pthread.h", function_name="pthread_create", mandatory=True)
+ if not sys.platform.startswith("cygwin"):
+ conf.check_cc(lib="pthread", header_name="pthread.h", function_name="pthread_atfork", mandatory=True)
+ else:
+ conf.check_cc(lib="pthread", header_name="unistd.h", function_name="pthread_atfork", mandatory=True)
+
+ conf.check_cc(msg="Checking for futimes(2)", define_name="HAVE_FUTIMES", fragment="""
+ #include
+ #include
+ #include
+ struct timeval tv[2];
+ int res;
+ int fd;
+ int main(void)
+ {
+ res = futimes (fd, tv);
+ return 0;
+ }
+ """)
+
+ conf.check_cc(msg="Checking for readahead(2)", define_name="HAVE_READAHEAD", fragment="""
+ #include
+ int main(void)
+ {
+ int fd = 0;
+ size_t count = 2;
+ ssize_t res;
+ res = readahead (fd, 0, count);
+ return 0;
+ }
+ """)
+
+ conf.check_cc(msg="Checking for fdatasync(2)", define_name="HAVE_FDATASYNC", fragment="""
+ #include
+ int main(void)
+ {
+ int fd = 0;
+ fdatasync (fd);
+ return 0;
+ }
+ """)
+
+ conf.check_cc(msg="Checking for pread(2) and pwrite(2)", define_name="HAVE_PREADWRITE", fragment="""
+ #include
+ int main(void)
+ {
+ int fd = 0;
+ size_t count = 1;
+ char buf;
+ off_t offset = 1;
+ ssize_t res;
+ res = pread (fd, &buf, count, offset);
+ res = pwrite (fd, &buf, count, offset);
+ return 0;
+ }
+ """)
+
+ conf.check_cc(msg="Checking for sendfile(2)" , define_name="HAVE_SENDFILE" , fragment="""
+ # include
+ #if __linux
+ # include
+ #elif __FreeBSD__ || defined(__APPLE__)
+ # include
+ # include
+ #elif __hpux
+ # include
+ #else
+ # error unsupported architecture
+ #endif
+ int main(void)
+ {
+ int fd = 0;
+ off_t offset = 1;
+ size_t count = 2;
+ ssize_t res;
+ #if __linux
+ res = sendfile (fd, fd, offset, count);
+ #elif __FreeBSD__
+ res = sendfile (fd, fd, offset, count, 0, &offset, 0);
+ #elif __APPLE__
+ res = sendfile (fd, fd, offset, &offset, 0, 0);
+ #elif __hpux
+ res = sendfile (fd, fd, offset, count, 0, 0);
+ #endif
+ return 0;
+ }
+ """)
+
+ conf.env.append_value("CCFLAGS", "-D_GNU_SOURCE")
+ conf.check_cc(msg="Checking for sync_file_range(2) ", fragment="""
+ #include
+ int main(void)
+ {
+ int fd = 0;
+ off64_t offset = 1;
+ off64_t nbytes = 1;
+ unsigned int flags = SYNC_FILE_RANGE_WAIT_BEFORE|SYNC_FILE_RANGE_WRITE|SYNC_FILE_RANGE_WAIT_AFTER;
+ ssize_t res;
+ res = sync_file_range (fd, offset, nbytes, flags);
+ return 0;
+ }
+ """, define_name="HAVE_SYNC_FILE_RANGE")
+
+def build(bld):
+ libeio = bld.new_task_gen("cc")
+ libeio.source = "eio.c"
+ libeio.target = 'eio'
+ libeio.name = 'eio'
+ libeio.includes = '. ../..'
+ libeio.uselib = "PTHREAD"
+ 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/wscript b/deps/libev/wscript
new file mode 100644
index 00000000000..24e30a1b840
--- /dev/null
+++ b/deps/libev/wscript
@@ -0,0 +1,85 @@
+import Options
+import platform
+
+PLATFORM_IS_DARWIN = platform.platform().find('Darwin') == 0
+
+def set_options(opt):
+ pass
+ #opt.tool_options('compiler_cc')
+
+def configure(conf):
+ print "--- libev ---"
+ #conf.check_tool('compiler_cc')
+
+ # Why to the two checks? One is to define HAVE_SYS_EPOLL_H
+ # the other is to define HAVE_EPOLL_CTL
+ # Yes, WAF is a piece of shit.
+
+ if conf.check_cc(header_name="sys/inotify.h"):
+ conf.check_cc(header_name="sys/inotify.h", function_name="inotify_init")
+
+ if conf.check_cc(header_name="sys/epoll.h"):
+ conf.check_cc(header_name="sys/epoll.h", function_name="epoll_ctl")
+
+ if conf.check_cc(header_name="port.h"):
+ conf.check_cc(header_name="port.h", function_name="port_create")
+
+ if conf.check_cc(header_name="poll.h"):
+ conf.check_cc(header_name="poll.h", function_name="poll")
+
+ conf.check_cc(header_name="sys/event.h")
+ conf.check_cc(header_name="sys/queue.h")
+ if PLATFORM_IS_DARWIN:
+ conf.check_cc(header_name="sys/event.h", function_name="kqueue")
+ else:
+ conf.check_cc(header_name="sys/queue.h", function_name="kqueue")
+
+ if conf.check_cc(header_name="sys/select.h"):
+ conf.check_cc(header_name="sys/select.h", function_name="select")
+
+ if conf.check_cc(header_name="sys/eventfd.h"):
+ conf.check_cc(header_name="sys/eventfd.h", function_name="eventfd")
+
+
+ code = """
+ #include
+ #include
+ #include
+
+ int main() {
+ struct timespec ts;
+ int status = syscall(SYS_clock_gettime, CLOCK_REALTIME, &ts);
+ return 0;
+ }
+ """
+ conf.check_cc(fragment=code, define_name="HAVE_CLOCK_SYSCALL", execute=True,
+ msg="Checking for SYS_clock_gettime")
+
+ have_librt = conf.check(lib='rt', uselib_store='RT')
+ if have_librt:
+ conf.check_cc(lib="rt", header_name="time.h", function_name="clock_gettime")
+ if PLATFORM_IS_DARWIN:
+ conf.check_cc(header_name="time.h", function_name="nanosleep")
+ elif have_librt:
+ conf.check_cc(lib="rt", header_name="time.h", function_name="nanosleep")
+
+ conf.check_cc(lib="m", header_name="math.h", function_name="ceil")
+
+ conf.define("HAVE_CONFIG_H", 1)
+ # Not using these.
+ conf.env.append_value('CPPFLAGS', ['-DEV_FORK_ENABLE=0',
+ '-DEV_EMBED_ENABLE=0',
+ '-DEV_MULTIPLICITY=0'])
+
+def build(bld):
+ libev = bld.new_task_gen("cc")
+ libev.source = 'ev.c'
+ libev.target = 'ev'
+ libev.name = 'ev'
+ libev.includes = '. ../..'
+ libev.uselib = "RT"
+ libev.install_path = None
+ if bld.env["USE_DEBUG"]:
+ libev.clone("debug");
+ bld.install_files('${PREFIX}/include/node/', 'ev.h');
+
diff --git a/install-sh b/install-sh
deleted file mode 100755
index 6781b987bdb..00000000000
--- a/install-sh
+++ /dev/null
@@ -1,520 +0,0 @@
-#!/bin/sh
-# install - install a program, script, or datafile
-
-scriptversion=2009-04-28.21; # UTC
-
-# This originates from X11R5 (mit/util/scripts/install.sh), which was
-# later released in X11R6 (xc/config/util/install.sh) with the
-# following copyright and license.
-#
-# Copyright (C) 1994 X Consortium
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
-# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name of the X Consortium shall not
-# be used in advertising or otherwise to promote the sale, use or other deal-
-# ings in this Software without prior written authorization from the X Consor-
-# tium.
-#
-#
-# FSF changes to this file are in the public domain.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.
-
-nl='
-'
-IFS=" "" $nl"
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit=${DOITPROG-}
-if test -z "$doit"; then
- doit_exec=exec
-else
- doit_exec=$doit
-fi
-
-# Put in absolute file names if you don't have them in your path;
-# or use environment vars.
-
-chgrpprog=${CHGRPPROG-chgrp}
-chmodprog=${CHMODPROG-chmod}
-chownprog=${CHOWNPROG-chown}
-cmpprog=${CMPPROG-cmp}
-cpprog=${CPPROG-cp}
-mkdirprog=${MKDIRPROG-mkdir}
-mvprog=${MVPROG-mv}
-rmprog=${RMPROG-rm}
-stripprog=${STRIPPROG-strip}
-
-posix_glob='?'
-initialize_posix_glob='
- test "$posix_glob" != "?" || {
- if (set -f) 2>/dev/null; then
- posix_glob=
- else
- posix_glob=:
- fi
- }
-'
-
-posix_mkdir=
-
-# Desired mode of installed file.
-mode=0755
-
-chgrpcmd=
-chmodcmd=$chmodprog
-chowncmd=
-mvcmd=$mvprog
-rmcmd="$rmprog -f"
-stripcmd=
-
-src=
-dst=
-dir_arg=
-dst_arg=
-
-copy_on_change=false
-no_target_directory=
-
-usage="\
-Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
- or: $0 [OPTION]... SRCFILES... DIRECTORY
- or: $0 [OPTION]... -t DIRECTORY SRCFILES...
- or: $0 [OPTION]... -d DIRECTORIES...
-
-In the 1st form, copy SRCFILE to DSTFILE.
-In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
-In the 4th, create DIRECTORIES.
-
-Options:
- --help display this help and exit.
- --version display version info and exit.
-
- -c (ignored)
- -C install only if different (preserve the last data modification time)
- -d create directories instead of installing files.
- -g GROUP $chgrpprog installed files to GROUP.
- -m MODE $chmodprog installed files to MODE.
- -o USER $chownprog installed files to USER.
- -s $stripprog installed files.
- -t DIRECTORY install into DIRECTORY.
- -T report an error if DSTFILE is a directory.
-
-Environment variables override the default commands:
- CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
- RMPROG STRIPPROG
-"
-
-while test $# -ne 0; do
- case $1 in
- -c) ;;
-
- -C) copy_on_change=true;;
-
- -d) dir_arg=true;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift;;
-
- --help) echo "$usage"; exit $?;;
-
- -m) mode=$2
- case $mode in
- *' '* | *' '* | *'
-'* | *'*'* | *'?'* | *'['*)
- echo "$0: invalid mode: $mode" >&2
- exit 1;;
- esac
- shift;;
-
- -o) chowncmd="$chownprog $2"
- shift;;
-
- -s) stripcmd=$stripprog;;
-
- -t) dst_arg=$2
- shift;;
-
- -T) no_target_directory=true;;
-
- --version) echo "$0 $scriptversion"; exit $?;;
-
- --) shift
- break;;
-
- -*) echo "$0: invalid option: $1" >&2
- exit 1;;
-
- *) break;;
- esac
- shift
-done
-
-if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
- # When -d is used, all remaining arguments are directories to create.
- # When -t is used, the destination is already specified.
- # Otherwise, the last argument is the destination. Remove it from $@.
- for arg
- do
- if test -n "$dst_arg"; then
- # $@ is not empty: it contains at least $arg.
- set fnord "$@" "$dst_arg"
- shift # fnord
- fi
- shift # arg
- dst_arg=$arg
- done
-fi
-
-if test $# -eq 0; then
- if test -z "$dir_arg"; then
- echo "$0: no input file specified." >&2
- exit 1
- fi
- # It's OK to call `install-sh -d' without argument.
- # This can happen when creating conditional directories.
- exit 0
-fi
-
-if test -z "$dir_arg"; then
- trap '(exit $?); exit' 1 2 13 15
-
- # Set umask so as not to create temps with too-generous modes.
- # However, 'strip' requires both read and write access to temps.
- case $mode in
- # Optimize common cases.
- *644) cp_umask=133;;
- *755) cp_umask=22;;
-
- *[0-7])
- if test -z "$stripcmd"; then
- u_plus_rw=
- else
- u_plus_rw='% 200'
- fi
- cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
- *)
- if test -z "$stripcmd"; then
- u_plus_rw=
- else
- u_plus_rw=,u+rw
- fi
- cp_umask=$mode$u_plus_rw;;
- esac
-fi
-
-for src
-do
- # Protect names starting with `-'.
- case $src in
- -*) src=./$src;;
- esac
-
- if test -n "$dir_arg"; then
- dst=$src
- dstdir=$dst
- test -d "$dstdir"
- dstdir_status=$?
- else
-
- # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
- # might cause directories to be created, which would be especially bad
- # if $src (and thus $dsttmp) contains '*'.
- if test ! -f "$src" && test ! -d "$src"; then
- echo "$0: $src does not exist." >&2
- exit 1
- fi
-
- if test -z "$dst_arg"; then
- echo "$0: no destination specified." >&2
- exit 1
- fi
-
- dst=$dst_arg
- # Protect names starting with `-'.
- case $dst in
- -*) dst=./$dst;;
- esac
-
- # If destination is a directory, append the input filename; won't work
- # if double slashes aren't ignored.
- if test -d "$dst"; then
- if test -n "$no_target_directory"; then
- echo "$0: $dst_arg: Is a directory" >&2
- exit 1
- fi
- dstdir=$dst
- dst=$dstdir/`basename "$src"`
- dstdir_status=0
- else
- # Prefer dirname, but fall back on a substitute if dirname fails.
- dstdir=`
- (dirname "$dst") 2>/dev/null ||
- expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$dst" : 'X\(//\)[^/]' \| \
- X"$dst" : 'X\(//\)$' \| \
- X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$dst" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'
- `
-
- test -d "$dstdir"
- dstdir_status=$?
- fi
- fi
-
- obsolete_mkdir_used=false
-
- if test $dstdir_status != 0; then
- case $posix_mkdir in
- '')
- # Create intermediate dirs using mode 755 as modified by the umask.
- # This is like FreeBSD 'install' as of 1997-10-28.
- umask=`umask`
- case $stripcmd.$umask in
- # Optimize common cases.
- *[2367][2367]) mkdir_umask=$umask;;
- .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
- *[0-7])
- mkdir_umask=`expr $umask + 22 \
- - $umask % 100 % 40 + $umask % 20 \
- - $umask % 10 % 4 + $umask % 2
- `;;
- *) mkdir_umask=$umask,go-w;;
- esac
-
- # With -d, create the new directory with the user-specified mode.
- # Otherwise, rely on $mkdir_umask.
- if test -n "$dir_arg"; then
- mkdir_mode=-m$mode
- else
- mkdir_mode=
- fi
-
- posix_mkdir=false
- case $umask in
- *[123567][0-7][0-7])
- # POSIX mkdir -p sets u+wx bits regardless of umask, which
- # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
- ;;
- *)
- tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
- if (umask $mkdir_umask &&
- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
- then
- if test -z "$dir_arg" || {
- # Check for POSIX incompatibilities with -m.
- # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
- # other-writeable bit of parent directory when it shouldn't.
- # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
- ls_ld_tmpdir=`ls -ld "$tmpdir"`
- case $ls_ld_tmpdir in
- d????-?r-*) different_mode=700;;
- d????-?--*) different_mode=755;;
- *) false;;
- esac &&
- $mkdirprog -m$different_mode -p -- "$tmpdir" && {
- ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
- test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
- }
- }
- then posix_mkdir=:
- fi
- rmdir "$tmpdir/d" "$tmpdir"
- else
- # Remove any dirs left behind by ancient mkdir implementations.
- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
- fi
- trap '' 0;;
- esac;;
- esac
-
- if
- $posix_mkdir && (
- umask $mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
- )
- then :
- else
-
- # The umask is ridiculous, or mkdir does not conform to POSIX,
- # or it failed possibly due to a race condition. Create the
- # directory the slow way, step by step, checking for races as we go.
-
- case $dstdir in
- /*) prefix='/';;
- -*) prefix='./';;
- *) prefix='';;
- esac
-
- eval "$initialize_posix_glob"
-
- oIFS=$IFS
- IFS=/
- $posix_glob set -f
- set fnord $dstdir
- shift
- $posix_glob set +f
- IFS=$oIFS
-
- prefixes=
-
- for d
- do
- test -z "$d" && continue
-
- prefix=$prefix$d
- if test -d "$prefix"; then
- prefixes=
- else
- if $posix_mkdir; then
- (umask=$mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
- # Don't fail if two instances are running concurrently.
- test -d "$prefix" || exit 1
- else
- case $prefix in
- *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
- *) qprefix=$prefix;;
- esac
- prefixes="$prefixes '$qprefix'"
- fi
- fi
- prefix=$prefix/
- done
-
- if test -n "$prefixes"; then
- # Don't fail if two instances are running concurrently.
- (umask $mkdir_umask &&
- eval "\$doit_exec \$mkdirprog $prefixes") ||
- test -d "$dstdir" || exit 1
- obsolete_mkdir_used=true
- fi
- fi
- fi
-
- if test -n "$dir_arg"; then
- { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
- { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
- { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
- test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
- else
-
- # Make a couple of temp file names in the proper directory.
- dsttmp=$dstdir/_inst.$$_
- rmtmp=$dstdir/_rm.$$_
-
- # Trap to clean up those temp files at exit.
- trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
-
- # Copy the file name to the temp name.
- (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
-
- # and set any options; do chmod last to preserve setuid bits.
- #
- # If any of these fail, we abort the whole thing. If we want to
- # ignore errors from any of these, just make sure not to ignore
- # errors from the above "$doit $cpprog $src $dsttmp" command.
- #
- { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
- { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
- { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
- { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
-
- # If -C, don't bother to copy if it wouldn't change the file.
- if $copy_on_change &&
- old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
- new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
-
- eval "$initialize_posix_glob" &&
- $posix_glob set -f &&
- set X $old && old=:$2:$4:$5:$6 &&
- set X $new && new=:$2:$4:$5:$6 &&
- $posix_glob set +f &&
-
- test "$old" = "$new" &&
- $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
- then
- rm -f "$dsttmp"
- else
- # Rename the file to the real destination.
- $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
-
- # The rename failed, perhaps because mv can't rename something else
- # to itself, or perhaps because mv is so ancient that it does not
- # support -f.
- {
- # Now remove or move aside any old file at destination location.
- # We try this two ways since rm can't unlink itself on some
- # systems and the destination file might be busy for other
- # reasons. In this case, the final cleanup might fail but the new
- # file should still install successfully.
- {
- test ! -f "$dst" ||
- $doit $rmcmd -f "$dst" 2>/dev/null ||
- { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
- { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
- } ||
- { echo "$0: cannot unlink or rename $dst" >&2
- (exit 1); exit 1
- }
- } &&
-
- # Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dst"
- }
- fi || exit 1
-
- trap '' 0
- fi
-done
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/test/simple/test-executable-path.js b/test/simple/test-executable-path.js
index f4e6401208f..6ba09f4d23c 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', 'node_g'));
-defaultPath = path.normalize(path.join(__dirname, '..', '..', 'build', 'node'));
+debugPath = path.normalize(path.join(__dirname, '..', '..', 'build', 'debug', 'node_g'));
+defaultPath = path.normalize(path.join(__dirname, '..', '..', 'build', 'default', 'node'));
console.log('debugPath: ' + debugPath);
console.log('defaultPath: ' + defaultPath);
diff --git a/tools/js2c.py b/tools/js2c.py
index ec3efb77121..db4885553bb 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):
+def JS2C(source, target):
ids = []
delay_ids = []
modules = []
@@ -328,7 +328,8 @@ def JS2C(source):
i = i + 1
# Emit result
- return HEADER_TEMPLATE % {
+ output = open(str(target[0]), "w")
+ output.write(HEADER_TEMPLATE % {
'builtin_count': len(ids) + len(delay_ids),
'delay_count': len(delay_ids),
'source_lines': "\n".join(source_lines),
@@ -336,11 +337,17 @@ def JS2C(source):
'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)
- }
-
-
-if __name__ == "__main__":
- files = sys.argv[1:]
- print JS2C(files)
-
+ })
+ 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()
diff --git a/tools/test.py b/tools/test.py
index 4b3fdb63a65..ba201334fce 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/node_g'
+ name = 'build/debug/node_g'
else:
- name = 'build/node'
+ name = 'build/default/node'
if utils.IsWindows() and not name.endswith('.exe'):
name = name + '.exe'
diff --git a/wscript b/wscript
new file mode 100644
index 00000000000..0ad07f19189
--- /dev/null
+++ b/wscript
@@ -0,0 +1,604 @@
+#!/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.1-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')