Removed Windows specific debug code from common core so it can be compiled on other platforms (i.e. Android).
Android: Started adding platform specific macro identifiers and code paths to support building JavaScriptCore on Android. Even though Android is a Linux derivative, Android doesn’t provide full access to the kernel headers and other very OS specific headers. Additionally, Android does not use glibc, and instead reimplemented a minimal C library replacement called Bionic which is neither POSIX or ANSI compliant (and thus missing things).

In this change set:

Platform.h:
Added the OS(ANDROID) support macro. Additionally, the OS(UNIX) marco will considered Android to be a UNIX.
TODO: I need to remove the #warning stuff (debugging compiles)

ThreadIdentifierDataPthreads.cpp:
PTHREADS_KEYS_MAX was already known not to be defined in Bionic according to the comment, but there was no OS(ANDROID) check for this which this fixes.

MacroAssemblerARM.cpp:
Android doesn't provide <asm/hwcap.h>, but cpu-features.c in the ndk in sources/android/cpufeatures has the following #defines referring to <asm/hwcap.h>, so I think it is safe to paste them in here with the OS(ANDROID) guard.

Assertions.cpp:
Android doesn’t have the header <execinfo.h> and it doesn’t have backtrace(). The code is commented out temporarily. This will break other platforms (not Windows though).
TODO: Add the OS(ANDROID) guards to disable backtrace() support just for Android and avoid breaking the other platforms.
TODO: Figure out if there is an alternative. (Some searching suggests it won’t be easy. There is a function that will dump traces to the log, but not return actual data.)
Android: Initial attempt to get JavaScriptCore compiled for Android using the CMake build system. This contains lots of hacks which need to be reverted because they break the build system for other platforms.

CMakeLists.txt:
Disabled a lot of stuff not needed to build only WTF and JavaScriptCore.
Note that Perl, Python, and Ruby are needed for JSCore, but because we are using CMake cross-compiler chains, find_package won’t work because we need to find the host system’s Perl/Python/Ruby, not the target system (which doesn’t have it). (The workaround for this involves setting these via -D flags to CMake when invoking.)
Added Android as a possible CMake target (ALL_PORTS). OptionsAndroid.cmake needs to be introduced as a result. (See below.)
Hacked in -std=c++11 to get around early compiler problems, particularly with Android’s gcc 4.6. This hack really should be disabled because the problem with Android’s gcc 4.6 is resolved by switching to gnustl. Additionally, WebKitHelpers.cmake has -std=gnu++0x flags which I disabled. If this hack is still needed, this probably should be moved to OptionsAndroid.cmake
TODO:
Restore disabled blocks.
Add something like IF(CMAKE_CROSSCOMPILING) checks for Perl/Python/Ruby/etc and/or invent something like FIND_HOST_PACKAGE.
Add more conditionals to allow for building just WTF and just JSCore.

Source/CMakeLists.txt:
I forgot why I disabled the ADDITIONAL_FLAGS.
TODO:
This probably should be completely reverted.

Source/WTF/wtf/CMakeLists.txt:
Added wtf/icu to the list of include paths. This should either be moved inside a conditional, or maybe better moved to OptionsAndroid.cmake. Or maybe this should be removed entirely because a mailing list message (Blink list?) I came across mentioned icu headers were copied into the source tree. This is actually bad because that means we may have conflicting versions of headers when we refer at the real icu source. I got bit by ICU 52’s manually imposed macro magic name mangling. But when I disabled it, have my initial build was still broken. I had to pass more -D flags to disable mangling. I think it might be that half the build process is pulling different headers. It would be nice to remove this complexity if possible.
Also have debug messages.
TODO:
See if include path for icu can be removed, if not, see if it can be moved.
Delete message() calls.

Source/WTF/config.h:
I originally couldn’t find cmakeconfig.h; I don’t think it was being generated as it should be. I think it works now. This probably should be reverted.
TODO:
Revert change.

Source/cmake/OptionsAndroid.cmake:
The main script uses string manipulation to use a file named Options + <platform>. So I needed to have this file. This file will probably grow as we find more Android specific stuff we want to control.

Source/cmake/WebKitHelpers.cmake:
I think I disabled it because when my first compiles with gcc 4.6 failed on C++11 related code, I tried to force -std=c++11, but was still seeing gnu++0x. Since it still wasn’t compiling, I disabled it to make sure it wasn’t overriding the C++11 switch. It turns out the real problem was the C++ standard library being used as generated by the Android standalone-toolchain.
TODO:
Revert this change.

Source/cmake/WebKitMacros.cmake:
I don’t have a PlatformAndroid.cmake file yet.
TODO:
Revert change.
Add PlatformAndroid.cmake.
Merge branch 'javascriptcore-wp8-test262' of https://github.com/appcelerator/webkit into javascriptcore-wp8-test262