> thanks for the patch!  Overall, the change looks good.  I see only a
> couple of issues that we have to resolve:
> 
> src/platform-freebsd.cc:

>  // XXX including this should get __LONG_LONG_SUPPORTED...
>  #include <sys/cdefs.h>
>  #define __LONG_LONG_SUPPORTED
>  #include <sys/ucontext.h>
> 
> This should be resolved somehow.
I looked into this one a bit more..

#if (defined(__INTEL_COMPILER) || (defined(__GNUC__) && __GNUC__ >= 2)) && !defi
ned(__STRICT_ANSI__) || __STDC_VERSION__ >= 199901
#define __LONG_LONG_SUPPORTED
#endif

When you set -ansi as a dialect flag, you're telling FreeBSD you don't
want c99, and strtoll and other long long things are a part of C99,
from the strtoll man page:
 STANDARDS
     The strtol() function conforms to ISO/IEC 9899:1990 (``ISO C90'').  The
     strtoll() and strtoimax() functions conform to ISO/IEC 9899:1999
     (``ISO C99'').  The BSD strtoq() function is deprecated.

So the solution is to remove -ansi from the DIALECTFLAGS or change it
to -std=c99 (or gnu99).

SConstruct:

Why do you need the explicit CCFLAGS, LIBPATH, and LIBS parts on
FreeBSD?  I would have expected this file to be almost untouched. 

execinfo is actually a third party library on FreeBSD that you need
to install via the ports collection. Third party stuff is put in
/usr/local, which isn't part of the standard search paths for gcc,
so we need to tell scons to look in /usr/local. To be honest, what
I should be doing is checking if execinfo is installed, but I was
being lazy..

Alex

--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to