Hi!
I'm building V8 on FreeBSD as a prerequisite for intensity engine
(syntensity.com). The engine have just switched to latest version
of V8, which fixed a problem with building on 64bit FreeBSD. Now it
builds just fine, but there are some issues which it would be good
to fix:
1) V8 doesn't build on 64bit system out of box:
---
% scons
scons: Reading SConscript files ...
TypeError: cannot concatenate 'str' and 'NoneType' objects:
File "/usr/home/amdmi3/v8-be/SConstruct", line 607:
'help': 'the architecture to build for (' + ARCH_GUESS + ')'
---
stangely, there's no quirks for 64bit systems in tools/utils.py which
is used to set ARCH_GUESS. With this, it builds fine:
--- 1.patch begins here ---
Index: tools/utils.py
===================================================================
--- tools/utils.py (revision 3732)
+++ tools/utils.py (working copy)
@@ -71,6 +71,8 @@
return 'ia32'
elif id == 'i86pc':
return 'ia32'
+ elif id == 'amd64':
+ return 'x64'
else:
return None
--- 1.patch ends here ---
2) V8 doesn't build in presence of lang/spidermonkey port, as there's
an include conflict: spidermonkey installs jsregexp.h, and it's included
instead of the correct one from V8. Here's what happens:
---
...
/usr/local/libexec/ccache/c++ -o obj/release/ia32/codegen-ia32.o -c -Wall
-Werror -W -Wno-unused-parameter -Wnon-virtual-dtor -m32 -O3
-fomit-frame-pointer -fdata-sections -ffunction-sections -ansi -fno-rtti
-fno-exceptions -fvisibility=hidden -Wall -Werror -W -Wno-unused-parameter
-Wnon-virtual-dtor -m32 -O3 -fomit-frame-pointer -fdata-sections
-ffunction-sections -ansi -DV8_TARGET_ARCH_IA32 -DENABLE_DEBUGGER_SUPPORT
-DV8_NATIVE_REGEXP -DENABLE_LOGGING_AND_PROFILING -I/usr/local/include -Isrc
src/ia32/codegen-ia32.cc
In file included from /usr/local/include/jspubtd.h:45,
from /usr/local/include/jsregexp.h:46,
from src/ia32/codegen-ia32.cc:35:
/usr/local/include/jstypes.h:248:6: error: #error "Must define one of XP_BEOS,
XP_OS2, XP_WIN or XP_UNIX"
...
---
That should be fixed by changing the order of include paths.
3) Also I've ran tests - everything pass on amd64, but some fail on i386:
http://people.freebsd.org/~amdmi3/v8-i386.tests.log
--
Dmitry Marakasov . 55B5 0596 FF1E 8D84 5F56 9510 D35A 80DD F9D2 F77D
[email protected] ..: jabber: [email protected] http://www.amdmi3.ru
--
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users