Commit Graph

1053 Commits

Author SHA1 Message Date
b4deb30a02 Reorganize build scripts for libuv.
- Create separate libs for each architecture. OS X doesn't need this
  (we just build a universal binary), but it will help Linux.
- Move the libuv build stuff into wren.mk where the actual dependency
  on the lib is.
- Download libuv to deps/ instead of build/. That way "make clean"
  doesn't blow it away.
- Don't redownload libuv unless needed.
2015-08-28 19:31:03 -07:00
0ae59be11a Use the same libuv output directory on Mac and Linux. 2015-08-27 07:55:12 -07:00
4d613fc394 Merge branch 'fix-timer-libuv' of https://github.com/Rohansi/wren into timer 2015-08-20 22:09:52 -07:00
147a0815f2 Tweak style. 2015-08-20 22:08:39 -07:00
95ef53e758 Merge branch 'fix-windows-libuv' of https://github.com/Rohansi/wren into win 2015-08-20 22:07:34 -07:00
513f272244 Copy the null terminator with the string instead of setting it 2015-08-16 14:00:50 -04:00
cb603f44c2 Properly dispose of libuv timers when we finish using them 2015-08-16 13:58:24 -04:00
0efb943173 Fix timerGetSource() returning a string without a null terminator 2015-08-16 13:58:23 -04:00
cd5087d222 Get 32-bit and C++ Mac builds happy with libuv. 2015-08-16 10:28:55 -07:00
6be1dce49c Link to rtlib too. 2015-08-16 09:59:53 -07:00
214f72ccf1 Put the libs last? 2015-08-16 09:57:47 -07:00
e6b0a89046 Try allowing gnu C99 extensions. 2015-08-16 09:55:50 -07:00
bd3a9ad7c6 Try including libuv as an object instead of linking to it. 2015-08-16 09:40:02 -07:00
1f13416724 Remove libuv.a from the objects list. 2015-08-16 09:36:17 -07:00
572ba7c7da Maybe the order of libraries matters... 2015-08-16 09:16:26 -07:00
9608002d65 Try to get pthreads working on Linux (again...). 2015-08-16 09:07:41 -07:00
c46519eeda Don't use rmtree on Windows if it's going to cause problems 2015-08-16 09:32:38 -04:00
ad60a7e46e Update project files to build with libuv and the timer module 2015-08-13 01:39:34 -04:00
8e791c70c0 Getting farther... 2015-08-08 09:14:52 -07:00
0c5c291d85 Try to make Linux and libuv love each other. 2015-08-08 09:06:40 -07:00
eaaaca7cd2 Enable POSIX extensions when compiling stuff that uses libuv. 2015-08-08 08:57:57 -07:00
8d90e093ea Try to get libuv working on Linux (again).
It seems to want to build to a different output directory on Mac and
Linux. I can't fix that, so just make our Makefile accommodate.
2015-08-08 07:40:27 -07:00
bb7485d46b Use the same libuv build directory on Linux. 2015-08-08 07:20:07 -07:00
9845ed5126 Tests for Timer.sleep(). 2015-08-08 07:17:30 -07:00
d4acbe8a70 A vertical slice of real libuv integration.
This adds a "timer" module to the CLI that provides a Timer class with
a static sleep() method. Not the most exciting functionality in the
world, but it requires the full hunk of libuv integration:

- The CLI sets up libuv and runs the event loop.
- Added a new directory src/module for CLI modules.
- Updated all the make scripts to handle it.
- Reorganized some other CLI code.
2015-08-07 08:10:55 -07:00
254729d067 Merge branch 'master' into libuv 2015-08-07 07:57:32 -07:00
56d4d3e671 Allow passing WrenValues to wrenCall(). 2015-08-07 07:57:23 -07:00
07615ed1f2 Merge branch 'master' into libuv 2015-08-06 23:15:55 -07:00
0b97b27cf4 Add an API for storing handles to values outside of the VM.
It's pretty bare bones now, but it lets you get a reference to an object
from a foreign call and then return it later.
2015-08-06 22:24:15 -07:00
59ff15d26a Merge branch 'master' into libuv 2015-08-06 21:37:13 -07:00
a1424f8371 Be more explicit about fulling initializing Signature structs.
Thanks, Michel!
2015-08-06 07:34:19 -07:00
d18ee3068a Make wrenFindVariable() also take a module.
Thanks, Michel!
2015-08-06 07:13:11 -07:00
0631f3b109 Fix deadlock bug in map insertion. 2015-08-06 06:55:30 -07:00
d995dc894c Set working directory for Linux libuv compile. 2015-08-02 10:58:27 -07:00
30752b26be First pass at compiling libuv on Linux. 2015-08-02 10:56:44 -07:00
4a6d7e0428 Integrate libuv into Wren.
- Add a script that downloads and compiles libuv.
- Hook that up to the Makefile so it pulls down libuv on build.
- Add a separate "vm" target that just builds the VM library and skips
  libuv.
- Link to libuv when compiling the CLI.
- Update the XCode project to link to libuv too.

Linux and Windows support isn't done yet, but it should be pretty
straightforward to add to the Python script.
2015-08-02 10:43:38 -07:00
71ab3ca887 Use "construct" instead of "this" to define constructors. 2015-07-21 07:24:53 -07:00
ed8ec262e4 Fix example in README. 2015-07-20 07:34:30 -07:00
bc822cd4c7 Merge branch 'master' into constructor-methods 2015-07-19 12:49:23 -07:00
6ece2c173b More test runner fixes. 2015-07-19 10:31:55 -07:00
71eda0e427 Make an inline function for getting the fn for a call frame.
Thanks, Michel!
2015-07-19 10:16:54 -07:00
e42893fe4c Clean up macros and fix non-nan-tagged and non-computed-goto modes. 2015-07-19 10:16:27 -07:00
1b27d556e0 Fix bug in test runner. 2015-07-19 09:33:00 -07:00
214794db67 Fix a tiny typo. 2015-07-19 09:10:42 -07:00
fd637e46bc Fix a couple of style nits. 2015-07-18 14:17:39 -07:00
d91c06d18b Tweak IO library a bit:
- Reword some docs.
- Make IO.printAll() public.
- Require () on read.
2015-07-18 14:09:00 -07:00
ea2bad3272 Merge pull request #286 from BarabasGitHub/string_equals-py
Added string_equals.py to benchmarks
2015-07-18 11:21:49 -07:00
c095b72976 Reorganize community docs a bit. 2015-07-18 11:19:52 -07:00
f7d3c85329 added links on the community page to 'wrenjs' and 'wren-nest' 2015-07-15 17:40:12 -05:00
df6b5cfde1 Added string_equals.py 2015-07-10 19:40:10 +02:00