Commit Graph

229 Commits (1b6b090cdc63301ccd1a2b1f3105c5bde7a73cf8)

Author SHA1 Message Date
Ryan Dahl 96f42745ff Merge branch 'master' into net2 2010-02-05 19:00:26 -08:00
Ryan Dahl 0cfa789cc5 bump version 2010-02-03 12:20:27 -08:00
Ryan Dahl bf803f478b Reimplment Buffers 2010-01-27 15:40:09 -08:00
Ryan Dahl b8c3d715fd use efence again 2010-01-26 18:34:42 -08:00
Ryan Dahl 42ee16978e Implement new http-parser binding using Buffer 2010-01-24 11:21:45 -08:00
Ryan Dahl 653bf580bf Merge branch 'develop' into net2
Conflicts:
	src/node.cc
2010-01-20 15:24:38 -08:00
Ryan Dahl da00413196 bump version 2010-01-20 11:28:32 -08:00
Ryan Dahl 0c1255453e Initial Solaris support 2010-01-19 16:51:27 -08:00
Ryan Dahl aeb7d6d168 Add process.IdleWatcher
With priorities. Will be used for process.nextLoop().
2010-01-18 10:12:04 -08:00
Ryan Dahl 02e52ef8e9 Merge branch 'master' into net2 2010-01-12 16:59:14 -08:00
Ryan Dahl c4397b801a Make sure GNUTLS is first on uselib
Why? Because I have two versions of GnuTLS installed - one is old 2.0.X in
/usr and one is new 2.5.X in ~/local/gnutls. waf correctly finds that the
newer version, but because GNUTLS was behind other libraries in the
node.uselib -L/usr/lib was before -L/home/ryan/local/gnutls/lib in the
actual gcc command - hence getting link errors. WAF SUCKS, really.
I wish someone would invent a good build system that could avoid such
problems.
2010-01-12 01:09:58 -08:00
Ryan Dahl f379b77735 Error out when no compiler found 2010-01-11 16:43:10 -08:00
Ryan Dahl 39ca93549a bump version 2010-01-09 02:11:54 -08:00
Vanilla Hsu d22952bfe0 getmem for freebsd 2010-01-06 23:37:27 -08:00
Ryan Dahl 642c2773a7 bump version 2009-12-31 00:30:53 -08:00
Ryan Dahl 1beb840fec Back to 64kb stack size - enlarging it was a typo 2009-12-30 09:01:28 +01:00
Ryan Dahl 6e5abf4551 implement getaddrinfo 2009-12-29 21:12:31 +01:00
Ryan Dahl c819abccb6 Start on net2 2009-12-29 21:12:30 +01:00
Ryan Dahl f219938b69 add io watcher 2009-12-29 21:12:29 +01:00
Ryan Dahl 630bb7a012 Rename blob to buffer. 2009-12-29 21:12:28 +01:00
Ryan Dahl 0afed52329 initial blobs 2009-12-29 21:12:28 +01:00
Ryan Dahl f91e347eee bump version 2009-12-22 20:31:45 +01:00
Ryan Dahl a2d809fe90 bump version 2009-12-19 01:24:59 +01:00
Rasmus Andersson 6eb8bbc640 note about why execinfo detection fails on Darwin even though it exists 2009-12-18 15:37:24 +01:00
Simon Cornelius P. Umacob e801f420d0 Use conf.fatal() instead of fatal() in order to abort the configure script 2009-12-09 14:28:02 +01:00
Ryan Dahl c6affb64f9 bump version 2009-12-06 17:59:37 +01:00
Ryan Dahl aa42c6790d bump version 2009-11-28 17:04:42 +01:00
Ryan Dahl 8a58e83870 Add gnutls version to configure script 2009-11-28 15:25:10 +01:00
Ryan Dahl 633d6be328 bump version 2009-11-28 01:49:11 +01:00
Rhys Jones b6dda61249 Initial TLS support 2009-11-22 04:03:53 +01:00
Ryan Dahl 027829d285 bump version 2009-11-17 15:05:10 +01:00
Ryan Dahl 8d2f9e83a4 Add process.watchFile() process.unwatchFile()
This is an interface to libev's ev_stat watcher.
2009-11-17 14:07:48 +01:00
Ryan Dahl d1f69ef35d bump version 2009-11-07 20:20:30 +01:00
Ryan Dahl d737a060c8 Combine all compiled javascript files into src/node.js 2009-11-07 14:37:22 +01:00
Ryan Dahl 726865af7b bump version 2009-11-03 13:48:02 +01:00
Ryan Dahl f481183140 Add process.platform 2009-11-03 00:21:00 +01:00
Ryan Dahl eca2de73ed bump version 2009-10-28 16:36:44 +01:00
Ryan Dahl fc937aa3e5 Use full path to link to libv8.a and libudns.a
Previously was linking just by doing -lv8 or -ludns which could confuse the
build when a system libv8 or libudns was installed.
2009-10-28 12:34:47 +01:00
Ryan Dahl 122e74b49b Link to objects instead of shlibs for evcom, http_parser, coupling 2009-10-27 22:26:53 +01:00
Ryan Dahl 5f466c8762 fix make install (was broken from node_ prefix change) 2009-10-27 20:17:03 +01:00
Ryan Dahl c779647600 Link libev and libeio as a normal .o instead of as .a
Using WAF "staticlib" to compile libev tends to confuse it with a system
version. Thanks to mr.binary42 for helping debug.
2009-10-27 18:50:41 +01:00
Ryan Dahl 132d685796 Add symlinks in root directory to executables after build. 2009-10-27 18:11:07 +01:00
Ryan Dahl 2b743aa5bb Enable large file support. 2009-10-27 12:05:38 +01:00
Ryan Dahl a5df0f6a65 Prefix all source files with node_ 2009-10-27 11:46:58 +01:00
Ryan Dahl 7d9d881e22 Correctly guess x64 architecture
Previously was dependent on how python was compiled, and this was causing
build errors for some Macintosh Snow Leopard users. The solution is to use
a functionality already in WAF which looks at the output of

  echo | gcc -E -dM -
2009-10-26 22:27:52 +01:00
Ryan Dahl 4bcb01c8bf Add work-around for configure --debug with Python 2.4.3
This is the error that was encountered:

  : make
  Waf: Entering directory `/dcs/06/csugds/node/ry-node-cfe5876/build'
  Traceback (most recent call last):
    File "tools/waf-light", line 148, in ?
      Scripting.prepare(t, cwd, VERSION, wafdir)
    File "/dcs/06/csugds/node/ry-node-cfe5876/tools/wafadmin/Scripting.py", line 142, in prepare
      prepare_impl(t, cwd, ver, wafdir)
    File "/dcs/06/csugds/node/ry-node-cfe5876/tools/wafadmin/Scripting.py", line 132, in prepare_impl
      main()
    File "/dcs/06/csugds/node/ry-node-cfe5876/tools/wafadmin/Scripting.py", line 185, in main
      fun(ctx)
    File "/dcs/06/csugds/node/ry-node-cfe5876/tools/wafadmin/Scripting.py", line 382, in build
      return build_impl(bld)
    File "/dcs/06/csugds/node/ry-node-cfe5876/tools/wafadmin/Scripting.py", line 395, in build_impl
      bld.add_subdirs([os.path.split(Utils.g_module.root_path)[0]])
    File "/dcs/06/csugds/node/ry-node-cfe5876/tools/wafadmin/Build.py", line 924, in add_subdirs
      self.recurse(dirs, 'build')
    File "/dcs/06/csugds/node/ry-node-cfe5876/tools/wafadmin/Utils.py", line 599, in recurse
      f(self)
    File "<string>", line 312, in build
    File "/dcs/06/csugds/node/ry-node-cfe5876/tools/wafadmin/TaskGen.py", line 297, in clone
      setattr(newobj, x, copy.copy(getattr(self, x)))
    File "/usr/lib/python2.4/copy.py", line 108, in copy
      return _reconstruct(x, rv, 0)
    File "/usr/lib/python2.4/copy.py", line 336, in _reconstruct
      y = callable(*args)
    File "/usr/lib/python2.4/copy_reg.py", line 92, in __newobj__
      return cls.__new__(cls, *args)
  TypeError: function() takes at least 2 arguments (0 given)
  make: *** [all] Error 1
2009-10-16 22:53:44 +02:00
Ryan Dahl 8b62e8616b Fix tabs in changelog 2009-10-10 11:58:36 +02:00
Ryan Dahl d79b6e9f7f bump version 2009-10-09 18:15:16 +02:00
Ryan Dahl 962e9291f7 'git-describe' to 'git describe' 2009-10-09 16:16:27 +02:00
Ryan Dahl d979ac9c7f Put git revision into version string 2009-10-09 15:00:12 +02:00
Ryan Dahl 59b7a1bf26 More updates to wscripts v8 building.
This allows me to hack on V8 without recompiling the whole thing.
2009-10-09 12:59:42 +02:00
Ryan Dahl d85724d741 Fix wscript for python 2.4 2009-10-09 00:34:39 +02:00
Ryan Dahl 53ebe75930 Improve build for V8
Users following HEAD should 'make distclean' and reconfigure after this
update.
2009-10-08 23:20:14 +02:00
Brandon Beacher f068251494 Added signal handler.
To be used internally. Needs an exposed interface.
2009-10-07 01:23:29 +02:00
Ryan Dahl bac16bd8ac Remove node.pc 2009-10-05 13:04:21 +02:00
Ryan Dahl bf0d278a45 Improve "make dist" remove generated doc from repo. 2009-10-03 22:48:33 +02:00
Ryan Dahl 6f17ca51c3 Install wafadmin into $PREFIX/lib/node/wafadmin
This is in preparation for a special node_waf script for building external
modules.

Also change system library path to $PREFIX/lib/node/libraries
2009-10-03 19:09:00 +02:00
Ryan Dahl bc9b343fd3 Add note about symbol visibility in V8 to wscript 2009-10-02 14:10:40 +02:00
Ryan Dahl 9c9d67eb6c bump version 2009-09-30 23:21:25 +02:00
Ryan Dahl 18da8ffaee Copy Python's shutil.copytree into wscript.
It's broken in Python 2.4.4. One gets this message when trying to run
configure:

  [...]
  Checking for SYS_clock_gettime           : ok
  Checking for library rt                  : ok
  Checking for function clock_gettime      : ok
  Checking for function nanosleep          : ok
  Checking for function ceil               : ok
  ---- deps/udns ----
  Traceback (most recent call last):
    File "/path/to/node/tools/waf", line 148, in ?
      Scripting.prepare(t, cwd, VERSION, wafdir)
    File "/path/to/node/tools/.waf-1.5.8-3e327cd9534c48e6762f56fdb1332663/wafadmin/Scripting.py", line 102, in prepare
      prepare_impl(t,cwd,ver,wafdir)
    File "/path/to/node/tools/.waf-1.5.8-3e327cd9534c48e6762f56fdb1332663/wafadmin/Scripting.py", line 95, in prepare_impl
      main()
    File "/path/to/node/tools/.waf-1.5.8-3e327cd9534c48e6762f56fdb1332663/wafadmin/Scripting.py", line 130, in main
      fun(ctx)
    File "/path/to/node/tools/.waf-1.5.8-3e327cd9534c48e6762f56fdb1332663/wafadmin/Scripting.py", line 168, in configure
      conf.sub_config([''])
    File "/path/to/node/tools/.waf-1.5.8-3e327cd9534c48e6762f56fdb1332663/wafadmin/Configure.py", line 100, in sub_config
      self.recurse(k,name='configure')
    File "/path/to/node/tools/.waf-1.5.8-3e327cd9534c48e6762f56fdb1332663/wafadmin/Utils.py", line 391, in recurse
      f(self)
    File "<string>", line 82, in configure
    File "<string>", line 48, in conf_subproject
    File "/usr/lib/python2.4/shutil.py", line 111, in copytree
      os.mkdir(dst)
  OSError: [Errno 2] No such file or directory: '/sites/rabidlabs.net/sandboxes/m/public_html/projects/0909.node/node/build/default/deps/udns'

The problem is probably this:
http://mail.python.org/pipermail/python-bugs-list/2005-January/027118.html

As a solution I am copying 2.6's version of the function in.
2009-09-28 22:39:00 +02:00
Ryan Dahl f6657c3c9d Move http library to /http.js 2009-09-28 12:36:36 +02:00
Ryan Dahl 45ea62a0f6 Changes to compile on Andrew Miller's very old machine 2009-09-26 15:11:31 +02:00
Ryan Dahl 2f56ccb45e bump version 2009-09-24 13:51:10 +02:00
Ryan Dahl 2db7d6755e Move node-repl to bin/node-repl 2009-09-20 20:54:19 +02:00
Ryan Dahl 4b8f503fac Move mjsunit.js to system module directory. 2009-09-20 18:19:33 +02:00
Ryan Dahl 5ddc4f5d0c bump version 2009-09-18 18:32:25 +02:00
Jeff Smick bc6f381c98 Use "platform.architecture()" to find the proper architecture.
In Snow Leopard "platform.machine()" returns "i386" while
"platform.architecture()" returns ('64bit',''). Using information from both
we can determine the proper architecture

This reverts commit ea29e137b5 re-enabling the
64bit build on Macintosh.
2009-09-12 14:22:57 +02:00
Ryan 12bb0d46ce bump version 2009-09-11 21:06:50 +02:00
Ryan 8c41adb628 Add node-repl 2009-09-11 20:32:24 +02:00
Ryan 68dda0a7d8 Man page generation. 2009-09-10 13:40:38 +02:00
Ryan ba6c5e38d5 bump version 2009-09-05 14:47:56 +02:00
Ryan ea29e137b5 Hack for compiling on Snow Leopard.
I don't have access to this OS to fix the issue properly, so for the moment
I'm reverting back to 32bit build on Darwin. We changed to native 64bit in
8ddf930901.

Thanks to Johan Dahlberg and Tim Caswell for reporting and debugging this.
2009-09-05 14:40:12 +02:00
Ryan 734e86b9e5 bump version 2009-09-04 12:35:30 +02:00
Ryan 1df6d61208 Upgrade libeio, increase xthread stacksize to 64kb.
64kb seems to be the magic number for getaddrinfo() to work on Macintosh.
2009-09-03 15:59:48 +02:00
Ryan 8ddf930901 Build natively on x64.
Had to add some waf hackery to override V8's architecture choice. They
probably have a reason for defaulting still to IA32, but all tests are
passing for me, and it makes it easier on users-and I think chrome is using
x64 builds too. So let's go for it!
2009-09-02 20:19:52 +02:00
Ryan 8152f9cff2 Revert static library build.
Not necessary to build dll modules after all.
2009-09-01 14:15:29 +02:00
Ryan a97dce7523 Build static executable.
- Fix a few errors with node.dlopen()

- Report errors to stderr (this should probably be a separate commit, but
  whatever)
2009-08-31 11:45:44 +02:00
Ryan b73264d9b3 Add command line arguments for accessing build flags.
node --cflags
node --libs

At the expense of some WAF nastiness.
2009-08-27 16:08:47 +02:00
Ryan 4d92199d18 Add pkgconfig files to help with dll builds. 2009-08-27 16:08:47 +02:00
Ryan 2b6d72431b First attempt at node.dlopen
Compiled first working 'hello world' module with this config
2009-08-27 16:08:40 +02:00
Ryan ad9d683f9f API: rename node.Process to node.ChildProcess
This is to avoid confusion with the global "process" object, especially for
the instances of node.Process.
2009-08-26 22:36:45 +02:00
Ryan 17c6a67f15 Introduce node.stdio
Remove old stdout, stderr, stdin objects.
2009-08-24 21:20:26 +02:00
Ryan 1bf9be6b37 Add node.version 2009-08-03 17:51:35 +02:00
Ryan e10fbab00f bump version 2009-08-01 14:56:45 +02:00
Ryan 41d89f611f Add DNS API.
Missing functional tests. I'm not sure how to do tests because I don't want
to rely on the fact that users have an internet connection.
2009-07-28 12:36:41 +02:00
Ryan 77d407df28 bump version 2009-07-27 15:48:16 +02:00
Ryan 0fb0af3a6c Rename evnet to evcom. 2009-07-25 17:52:26 +02:00
Ryan eb10553634 Move node.inherit, node.path, node.cat to new file: util.js 2009-07-16 17:19:36 +02:00
Ryan c5ab0d5a80 Upgrade liboi, which is now called evnet. 2009-07-13 16:38:25 +02:00
Ryan 813b53938b bump version 2009-06-30 15:18:05 +02:00
Ryan a623d763c1 Add -m32 flags for compiling on 64bit machines.
These can be removed after v8 supports x64.
2009-06-29 21:17:06 +02:00
Ryan 2ecd7ffe54 in the middle putting in event code. broken. 2009-06-28 19:08:25 +02:00
Ryan fbe0be19eb bump version 2009-06-24 16:43:37 +02:00
Ryan 115c4942db Create tools directory
Users will need to "make distclean" to recompile from scratch since I've
moved a lot of the core build tools around.
2009-06-22 13:08:32 +02:00
Ryan 83cb156b6f skelton of node.Process 2009-06-20 16:55:40 +02:00
Ryan ec5f3dbae1 bump version 2009-06-18 23:22:31 +02:00
Ryan 7bad9dea51 Add electric fence option to configure process 2009-06-16 15:47:57 +02:00
Ryan f76c3dc3ca bump version 2009-06-13 14:13:42 +02:00
Ryan 4cfc982c77 bump version 2009-06-11 13:54:03 +02:00
Ryan 452d3f1418 comment out gnutls check in wscript until it's used 2009-06-11 13:40:14 +02:00
Ryan 4fbe15f065 bump version to v0.0.2 2009-05-31 14:25:07 +02:00
Ryan a3627c06f8 Change to build on FreeBSD
The v8/SConstruct change has been give to the v8 people.
http://codereview.chromium.org/113897
2009-05-27 16:29:55 +02:00
Ryan b260a9108b Add errno constants. Move all constants to `node.constants` namespace. 2009-05-26 19:48:49 +02:00
Ryan dfde465483 Don't need librt. 2009-05-14 17:36:39 +02:00
Ryan 427e3f5dcb Introduce NODE_SET_PROTOTYPE_METHOD which properly sets the signature. 2009-05-14 13:16:45 +02:00
Ryan 3212b31ea1 Rename main.js to node.js. 2009-05-13 21:43:24 +02:00
Ryan 94a182a2c8 liboi should include libev 2009-05-12 03:46:30 +02:00
Ryan 0bb12be660 link to google profiler 2009-05-05 21:16:19 +02:00
Ryan 30450388d6 update oi_socket - modify node code to match 2009-05-05 12:52:18 +02:00
Ryan be6b3acf0e extract headers, status_code, path, http version from http messages.
still a work in progress.
2009-05-03 21:06:20 +02:00
Ryan 5a071ad72f Begin refactor of http.cc. Remove libebb add http_parser.
And most of http.cc was deleted.
2009-05-03 14:09:16 +02:00
Ryan 0f5170339c remove process.{cc,h} process.exit() now exit()
the process object might return in the future but for now it is going away.
2009-04-29 11:09:32 +02:00
Ryan f213a27657 Refactor setTimeout to be a Timer object.
Timer now uses ObjectWrap. setTimeout, setInterval are now implemented in
javascript.
2009-04-29 11:00:46 +02:00
Ryan 8e7bbf26e2 get 'make install' working 2009-04-23 19:26:56 +02:00
Ryan 29b528c980 fix the waf configure --debug options. seems to work now. 2009-04-23 17:29:31 +02:00
Ryan a4593e3ebd WAF: fix the debug variant.
problem is they both build by default. need a way to disable the debug variant.
2009-04-23 13:18:38 +02:00
Ryan c62b124082 add scons local for v8. check for librt in wscript 2009-04-22 19:55:08 +02:00
Ryan 40c0f755c9 import full versions of dependency libraries! 2009-04-22 19:35:47 +02:00
Ryan 7703ad5153 update eio. add EIO_STACKSIZE define for getaddrinfo problem 2009-04-22 17:19:08 +02:00
Ryan 822d7fa27e add framework for tcp server. change eio stacksize to 16kb. 2009-04-22 10:29:45 +02:00
Ryan 1542fc6a0b add async dns for Socket 2009-04-21 23:13:13 +02:00
Ryan 707f244291 begin clean up of Socket 2009-04-21 19:56:30 +02:00
Ryan ec9697b1ba add 'make test' 2009-04-21 13:51:05 +02:00
Ryan 67af958f81 rename a few files to remove node_ prefix 2009-04-18 15:37:53 +02:00
Ryan 12d31dd0b7 file operations are queued. 2009-04-16 20:09:55 +02:00
Ryan 7e1350f6e4 add file.write() 2009-04-16 11:37:44 +02:00
Ryan 63a9cd3897 everything is changed. i've waited much too long to commit.
this is awful. i'm sorry for being so messy.
2009-04-15 10:08:28 +02:00
Ryan 0e9e927fcb enable support for the thread pool 2009-04-04 16:53:43 +02:00
Ryan 1a126ed11c use the WAF build system 2009-04-04 14:50:15 +02:00