Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

Commit

Permalink
Merge remote-tracking branch 'origin/v0.8'
Browse files Browse the repository at this point in the history
Conflicts:
	configure
	src/node_version.h
  • Loading branch information
bnoordhuis committed Jul 4, 2012
2 parents fee02db + fc4e12b commit 41b129f
Show file tree
Hide file tree
Showing 764 changed files with 5,019 additions and 23,167 deletions.
3 changes: 3 additions & 0 deletions AUTHORS
Expand Up @@ -319,3 +319,6 @@ Simon Sturmer <sstur@me.com>
Joel Brandt <joelrbrandt@gmail.com>
Marc Harter <wavded@gmail.com>
Nuno Job <nunojobpinto@gmail.com>
Ben Kelly <ben@wanderview.com>
Felix Böhm <felixboehm55@googlemail.com>
Gabriel de Perthuis <g2p.code@gmail.com>
41 changes: 40 additions & 1 deletion ChangeLog
@@ -1,4 +1,43 @@
2012.06.25, Version 0.8.0 (stable)
2012.06.29, Version 0.8.1 (stable)

* V8: upgrade to v3.11.10.12

* npm: upgrade to v1.1.33
- Support for parallel use of the cache folder
- Retry on registry timeouts or network failures (Trent Mick)
- Reduce 'engines' failures to a warning
- Use new zsh completion if aviailable (Jeremy Cantrell)

* Fix #3577 Un-break require('sys')

* util: speed up formatting of large arrays/objects (Ben Noordhuis)

* windows: make fs.realpath(Sync) work with UNC paths (Bert Belder)

* build: fix --shared-v8 option (Ben Noordhuis)

* doc: `detached` is a boolean (Andreas Madsen)

* build: use proper python interpreter (Ben Noordhuis)

* build: expand ~ in `./configure --prefix=~/a/b/c` (Ben Noordhuis)

* build: handle CC env var with spaces (Gabriel de Perthuis)

* build: fix V8 build when compiling with gcc 4.5 (Ben Noordhuis)

* build: fix --shared-v8 option (Ben Noordhuis)

* windows msi: Fix icon issue which caused huge file size (Bert Belder)

* unix: assume that dlopen() may clobber dlerror() (Ben Noordhuis)

* sunos: fix memory corruption bugs (Ben Noordhuis)

* windows: better (f)utimes and (f)stat (Bert Belder)


2012.06.25, Version 0.8.0 (stable), 8b8a7a7f9b41e74e1e810d0330738ad06fc302ec

* V8: upgrade to v3.11.10.10

Expand Down
97 changes: 56 additions & 41 deletions configure
Expand Up @@ -65,20 +65,43 @@ parser.add_option("--shared-v8-libname",
dest="shared_v8_libname",
help="Alternative lib name to link to (default: 'v8')")

parser.add_option("--shared-openssl",
action="store_true",
dest="shared_openssl",
help="Link to a shared OpenSSl DLL instead of static linking")

parser.add_option("--shared-openssl-includes",
action="store",
dest="shared_openssl_includes",
help="Directory containing OpenSSL header files")

parser.add_option("--shared-openssl-libpath",
action="store",
dest="shared_openssl_libpath",
help="A directory to search for the shared OpenSSL DLLs")

parser.add_option("--shared-openssl-libname",
action="store",
dest="shared_openssl_libname",
help="Alternative lib name to link to (default: 'crypto,ssl')")

# deprecated
parser.add_option("--openssl-use-sys",
action="store_true",
dest="openssl_use_sys",
help="Use the system OpenSSL instead of one included with Node")
dest="shared_openssl",
help=optparse.SUPPRESS_HELP)

# deprecated
parser.add_option("--openssl-includes",
action="store",
dest="openssl_includes",
help="A directory to search for the OpenSSL includes")
dest="shared_openssl_includes",
help=optparse.SUPPRESS_HELP)

# deprecated
parser.add_option("--openssl-libpath",
action="store",
dest="openssl_libpath",
help="A directory to search for the OpenSSL libraries")
dest="shared_openssl_libpath",
help=optparse.SUPPRESS_HELP)

parser.add_option("--no-ssl2",
action="store_true",
Expand Down Expand Up @@ -239,22 +262,16 @@ def host_arch():
def target_arch():
return host_arch()


def compiler_version():
try:
proc = subprocess.Popen(CC.split() + ['-v'], stderr=subprocess.PIPE)
except OSError:
return (False, False, None)
lines = proc.communicate()[1].split('\n')
version_line = None
for i, line in enumerate(lines):
if 'version' in line:
version_line = line
if not version_line:
return (False, False, None)
version = version_line.split("version")[1].strip().split()[0].split(".")
if not version:
return (False, False, None)
return ('LLVM' in version_line, 'clang' in CC, tuple(version))
proc = subprocess.Popen(CC.split() + ['--version'], stdout=subprocess.PIPE)
is_clang = 'clang' in proc.communicate()[0].split('\n')[0]

proc = subprocess.Popen(CC.split() + ['-dumpversion'], stdout=subprocess.PIPE)
version = tuple(map(int, proc.communicate()[0].split('.')))

return (version, is_clang)


def configure_node(o):
# TODO add gdb
Expand All @@ -265,14 +282,14 @@ def configure_node(o):
o['variables']['target_arch'] = options.dest_cpu or target_arch()
o['default_configuration'] = 'Debug' if options.debug else 'Release'

is_llvm, is_clang, cc_version = compiler_version()
cc_version, is_clang = compiler_version()

# turn off strict aliasing if gcc >= 4.5.0 && < 4.6.0 unless it's clang
# turn off strict aliasing if gcc < 4.6.0 unless it's llvm-gcc
# see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45883
# see http://code.google.com/p/v8/issues/detail?id=884
no_strict_aliasing = (4,5,0) <= cc_version < (4,6,0) and not is_clang
o['variables']['node_no_strict_aliasing'] = int(no_strict_aliasing)
o['variables']['v8_no_strict_aliasing'] = int(no_strict_aliasing)
no_strict_aliasing = int(not(is_clang or cc_version >= (4,6,0)))
o['variables']['v8_no_strict_aliasing'] = no_strict_aliasing
o['variables']['node_no_strict_aliasing'] = no_strict_aliasing

# clang has always supported -fvisibility=hidden, right?
if not is_clang and cc_version < (4,0,0):
Expand All @@ -290,6 +307,8 @@ def configure_node(o):
else:
o['variables']['node_use_dtrace'] = 'false'

if options.no_ifaddrs:
o['defines'] += ['SUNOS_NO_IFADDRS']

# By default, enable ETW on Windows.
if sys.platform.startswith('win32'):
Expand Down Expand Up @@ -331,35 +350,31 @@ def configure_v8(o):

def configure_openssl(o):
o['variables']['node_use_openssl'] = b(not options.without_ssl)
o['variables']['node_shared_openssl'] = b(options.shared_openssl)

if options.without_ssl:
return

if options.no_ifaddrs:
o['defines'] += ['SUNOS_NO_IFADDRS']

if options.no_ssl2:
o['defines'] += ['OPENSSL_NO_SSL2=1']

if not options.openssl_use_sys:
o['variables']['node_shared_openssl'] = b(False)
else:
out = pkg_config('openssl')
(libs, cflags) = out if out else ('', '')
if options.shared_openssl:
(libs, cflags) = pkg_config('openssl') or ('-lssl -lcrypto', '')

if options.openssl_libpath:
o['libraries'] += ['-L%s' % options.openssl_libpath, '-lssl', '-lcrypto']
if options.shared_openssl_libpath:
o['libraries'] += ['-L%s' % options.shared_openssl_libpath]

if options.shared_openssl_libname:
libnames = options.shared_openssl_libname.split(',')
o['libraries'] += ['-l%s' % s for s in libnames]
else:
o['libraries'] += libs.split()

if options.openssl_includes:
o['include_dirs'] += [options.openssl_includes]
if options.shared_openssl_includes:
o['include_dirs'] += [options.shared_openssl_includes]
else:
o['cflags'] += cflags.split()

o['variables']['node_shared_openssl'] = b(
libs or cflags or options.openssl_libpath or options.openssl_includes)


output = {
'variables': {},
Expand Down
22 changes: 11 additions & 11 deletions deps/npm/.npmignore
@@ -1,16 +1,16 @@
*.swp
test/bin
test/output.log
test/packages/*/node_modules
test/packages/npm-test-depends-on-spark/which-spark.log
test/packages/test-package/random-data.txt
test/root
node_modules/ronn
node_modules/.bin
npm-debug.log
./npmrc
.gitignore
release/
/test/bin
/test/output.log
/test/packages/*/node_modules
/test/packages/npm-test-depends-on-spark/which-spark.log
/test/packages/test-package/random-data.txt
/test/root
/node_modules/ronn
/node_modules/tap
/node_modules/.bin
/npmrc
/release/

# don't need these in the npm package.
html/*.png
Expand Down
62 changes: 62 additions & 0 deletions deps/npm/doc/cli/config.md
Expand Up @@ -195,6 +195,27 @@ See also the `strict-ssl` config.

The location of npm's cache directory. See `npm-cache(1)`

### cache-lock-stale

* Default: 60000 (1 minute)
* Type: Number

The number of ms before cache folder lockfiles are considered stale.

### cache-lock-retries

* Default: 10
* Type: Number

Number of times to retry to acquire a lock on cache folder lockfiles.

### cache-lock-wait

* Default: 10000 (10 seconds)
* Type: Number

Number of ms to wait for cache lock files to expire.

### cache-max

* Default: Infinity
Expand Down Expand Up @@ -266,6 +287,15 @@ set.

The command to run for `npm edit` or `npm config edit`.

### engine-strict

* Default: false
* Type: Boolean

If set to true, then npm will stubbornly refuse to install (or even
consider installing) any package that claims to not be compatible with
the current Node.js version.

### force

* Default: false
Expand All @@ -278,6 +308,38 @@ Makes various commands more forceful.
* skips cache when requesting from the registry.
* prevents checks against clobbering non-npm files.

### fetch-retries

* Default: 2
* Type: Number

The "retries" config for the `retry` module to use when fetching
packages from the registry.

### fetch-retry-factor

* Default: 10
* Type: Number

The "factor" config for the `retry` module to use when fetching
packages.

### fetch-retry-mintimeout

* Default: 10000 (10 seconds)
* Type: Number

The "minTimeout" config for the `retry` module to use when fetching
packages.

### fetch-retry-maxtimeout

* Default: 60000 (1 minute)
* Type: Number

The "maxTimeout" config for the `retry` module to use when fetching
packages.

### git

* Default: `"git"`
Expand Down
19 changes: 17 additions & 2 deletions deps/npm/doc/cli/json.md
Expand Up @@ -453,8 +453,7 @@ Entries in `optionalDependencies` will override entries of the same name in

## engines

You can specify the version of
node that your stuff works on:
You can specify the version of node that your stuff works on:

{ "engines" : { "node" : ">=0.1.27 <0.1.30" } }

Expand All @@ -470,6 +469,22 @@ are capable of properly installing your program. For example:

{ "engines" : { "npm" : "~1.0.20" } }

Note that, unless the user has set the `engine-strict` config flag, this
field is advisory only.

## engineStrict

If you are sure that your module will *definitely not* run properly on
versions of Node/npm other than those specified in the `engines` hash,
then you can set `"engineStrict": true` in your package.json file.
This will override the user's `engine-strict` config setting.

Please do not do this unless you are really very very sure. If your
engines hash is something overly restrictive, you can quite easily and
inadvertently lock yourself into obscurity and prevent your users from
updating to new versions of Node. Consider this choice carefully. If
people abuse it, it will be removed in a future version of npm.

## os

You can specify which operating systems your
Expand Down
2 changes: 1 addition & 1 deletion deps/npm/html/api/bin.html
Expand Up @@ -19,7 +19,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>This function should not be used programmatically. Instead, just refer
to the <code>npm.bin</code> member.</p>
</div>
<p id="footer">bin &mdash; npm@1.1.32</p>
<p id="footer">bin &mdash; npm@1.1.33</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
Expand Down
2 changes: 1 addition & 1 deletion deps/npm/html/api/bugs.html
Expand Up @@ -25,7 +25,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>This command will launch a browser, so this command may not be the most
friendly for programmatic use.</p>
</div>
<p id="footer">bugs &mdash; npm@1.1.32</p>
<p id="footer">bugs &mdash; npm@1.1.33</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
Expand Down
2 changes: 1 addition & 1 deletion deps/npm/html/api/commands.html
Expand Up @@ -28,7 +28,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>

<ul><li><a href="../doc/index.html">index(1)</a></li></ul>
</div>
<p id="footer">commands &mdash; npm@1.1.32</p>
<p id="footer">commands &mdash; npm@1.1.33</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
Expand Down
2 changes: 1 addition & 1 deletion deps/npm/html/api/config.html
Expand Up @@ -33,7 +33,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>

<ul><li><a href="../api/npm.html">npm(3)</a></li></ul>
</div>
<p id="footer">config &mdash; npm@1.1.32</p>
<p id="footer">config &mdash; npm@1.1.33</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
Expand Down
2 changes: 1 addition & 1 deletion deps/npm/html/api/deprecate.html
Expand Up @@ -30,7 +30,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>

<ul><li><a href="../api/publish.html">publish(3)</a></li><li><a href="../api/unpublish.html">unpublish(3)</a></li><li><a href="../doc/registry.html">registry(1)</a></li></ul>
</div>
<p id="footer">deprecate &mdash; npm@1.1.32</p>
<p id="footer">deprecate &mdash; npm@1.1.33</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
Expand Down

0 comments on commit 41b129f

Please sign in to comment.