  set_target_properties(jsc PROPERTIES FOLDER "JavaScriptCore")
  
  if (JSC_OUTPUT_NAME)
-diff -Naur webkitgtk-2.10.7/Source/JavaScriptCore/shell/PlatformGTK.cmake webkitgtk-2.10.7/Source/JavaScriptCore/shell/PlatformGTK.cmake
+diff -Naur webkitgtk-2.10.7/Source/JavaScriptCore/shell/PlatformGTK.cmake /home/eric/workspace/hemroid/vault/src/webkitgtk-2.10.7/Source/JavaScriptCore/shell/PlatformGTK.cmake
 --- webkitgtk-2.10.7/Source/JavaScriptCore/shell/PlatformGTK.cmake	2013-08-03 21:40:38.000000000 +0530
-+++ webkitgtk-2.10.7/Source/JavaScriptCore/shell/PlatformGTK.cmake	2016-02-25 08:25:04.000000000 +0530
++++ /home/eric/workspace/hemroid/vault/src/webkitgtk-2.10.7/Source/JavaScriptCore/shell/PlatformGTK.cmake	2016-04-05 22:52:15.496286112 +0530
 @@ -1,3 +1,12 @@
 +include_directories(./ ${JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES})
 +

 
 if (ENABLE_WEBKIT)
     WEBKIT_SET_EXTRA_COMPILER_FLAGS(WebKit ${ADDITIONAL_COMPILER_FLAGS})
diff -Naur webkitgtk-2.10.7/Source/JavaScriptCore/CMakeLists.txt webkitgtk-2.10.7/Source/JavaScriptCore/CMakeLists.txt
--- webkitgtk-2.10.7/Source/JavaScriptCore/CMakeLists.txt	2016-01-29 21:59:32.000000000 +0530
+++ webkitgtk-2.10.7/Source/JavaScriptCore/CMakeLists.txt	2016-04-05 21:14:58.000000000 +0530
@@ -752,7 +752,11 @@
     ${JAVASCRIPTCORE_DIR}/llint/LLIntOffsetsExtractor.cpp
     ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntDesiredOffsets.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/Bytecodes.h
 )
-target_link_libraries(LLIntOffsetsExtractor WTF)
+if ( MIPS OR MIPS64 )
+    target_link_libraries(LLIntOffsetsExtractor WTF -L${SANDBOX}/lib ffi gmodule-2.0 icudata intl iconv)
+else ()
+    target_link_libraries(LLIntOffsetsExtractor WTF)
+endif ()
 
 # The build system will execute asm.rb every time LLIntOffsetsExtractor's mtime is newer than
 # LLIntAssembly.h's mtime. The problem we have here is: asm.rb has some built-in optimization
diff -Naur webkitgtk-2.10.7/Source/JavaScriptCore/PlatformJSC.cmake webkitgtk-2.10.7/Source/JavaScriptCore/PlatformJSC.cmake
--- webkitgtk-2.10.7/Source/JavaScriptCore/PlatformJSC.cmake	1970-01-01 05:30:00.000000000 +0530
+++ webkitgtk-2.10.7/Source/JavaScriptCore/PlatformJSC.cmake	2016-04-03 17:11:19.000000000 +0530
@@ -0,0 +1,42 @@
+set(JavaScriptCore_OUTPUT_NAME javascriptcoregtk-${WEBKITGTK_API_VERSION})
+
+configure_file(javascriptcoregtk.pc.in ${CMAKE_BINARY_DIR}/Source/JavaScriptCore/javascriptcoregtk-${WEBKITGTK_API_VERSION}.pc @ONLY)
+configure_file(JavaScriptCore.gir.in ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir @ONLY)
+
+add_custom_command(
+    OUTPUT ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.typelib
+    DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
+    COMMAND ${INTROSPECTION_COMPILER} ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir -o ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.typelib
+)
+
+install(FILES "${CMAKE_BINARY_DIR}/Source/JavaScriptCore/javascriptcoregtk-${WEBKITGTK_API_VERSION}.pc"
+        DESTINATION "${LIB_INSTALL_DIR}/pkgconfig"
+)
+
+install(FILES API/JavaScript.h
+              API/JSBase.h
+              API/JSContextRef.h
+              API/JSObjectRef.h
+              API/JSStringRef.h
+              API/JSValueRef.h
+              API/WebKitAvailability.h
+        DESTINATION "${WEBKITGTK_HEADER_INSTALL_DIR}/JavaScriptCore"
+)
+
+if (ENABLE_INTROSPECTION)
+    install(FILES ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
+            DESTINATION ${INTROSPECTION_INSTALL_GIRDIR}
+    )
+    install(FILES ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.typelib
+            DESTINATION ${INTROSPECTION_INSTALL_TYPELIBDIR}
+    )
+endif ()
+
+add_definitions(-DSTATICALLY_LINKED_WITH_WTF)
+
+list(APPEND JavaScriptCore_LIBRARIES
+    ${GLIB_LIBRARIES}
+)
+list(APPEND JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES
+    ${GLIB_INCLUDE_DIRS}
+)
diff -Naur webkitgtk-2.10.7/Source/JavaScriptCore/assembler/MacroAssemblerARM.cpp webkitgtk-2.10.7/Source/JavaScriptCore/assembler/MacroAssemblerARM.cpp
--- webkitgtk-2.10.7/Source/JavaScriptCore/assembler/MacroAssemblerARM.cpp	2016-01-29 21:59:32.000000000 +0530
+++ webkitgtk-2.10.7/Source/JavaScriptCore/assembler/MacroAssemblerARM.cpp	2016-02-25 21:42:09.000000000 +0530
@@ -31,20 +31,22 @@
 
 #include "MacroAssemblerARM.h"

 set(PORT "NOPORT" CACHE STRING "choose which WebKit port to build (one of ${ALL_PORTS})")
 
 list(FIND ALL_PORTS ${PORT} RET)
diff -Naur webkitgtk-2.10.7/Source/bmalloc/bmalloc/Allocator.cpp /home/eric/workspace/hemroid/vault/src/webkitgtk-2.10.7/Source/bmalloc/bmalloc/Allocator.cpp
--- webkitgtk-2.10.7/Source/bmalloc/bmalloc/Allocator.cpp	2016-01-28 14:25:09.000000000 +0530
+++ /home/eric/workspace/hemroid/vault/src/webkitgtk-2.10.7/Source/bmalloc/bmalloc/Allocator.cpp	2016-04-05 22:52:15.500286120 +0530
@@ -73,8 +73,12 @@
 
     if (!m_isBmallocEnabled) {
         void* result = nullptr;
+#ifdef __ANDROID__
+        result = memalign(alignment, size);
+#else
         if (posix_memalign(&result, alignment, size))
             return nullptr;
+#endif
         return result;
     }
     
diff -Naur webkitgtk-2.10.7/Source/cmake/FindZLIB.cmake /home/eric/workspace/hemroid/vault/src/webkitgtk-2.10.7/Source/cmake/FindZLIB.cmake
--- webkitgtk-2.10.7/Source/cmake/FindZLIB.cmake	1970-01-01 05:30:00.000000000 +0530
+++ /home/eric/workspace/hemroid/vault/src/webkitgtk-2.10.7/Source/cmake/FindZLIB.cmake	2016-04-23 10:05:44.966787122 +0530
@@ -0,0 +1,21 @@
+include(FindPkgConfig)
+
+
+find_path(ZLIB_INCLUDE_DIRS NAMES zlib.h
+    HINTS ${ANDROID_SYSROOT}/usr/include
+)
+
+if(EXISTS "${ANDROID_SYSROOT}/usr/lib64/libz.so")
+    set( ZLIB_LIBRARIES "${ANDROID_SYSROOT}/usr/lib64/libz.so" )
+else()
+    set( ZLIB_LIBRARIES "${ANDROID_SYSROOT}/usr/lib/libz.so" )
+endif()
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(ZLIB DEFAULT_MSG ZLIB_INCLUDE_DIRS ZLIB_LIBRARIES)
+
+mark_as_advanced(
+    ZLIB_INCLUDE_DIRS
+    ZLIB_LIBRARIES
+)
+
diff -Naur webkitgtk-2.10.7/Source/cmake/OptionsGTK.cmake /home/eric/workspace/hemroid/vault/src/webkitgtk-2.10.7/Source/cmake/OptionsGTK.cmake
--- webkitgtk-2.10.7/Source/cmake/OptionsGTK.cmake	2016-01-29 22:23:52.000000000 +0530
+++ /home/eric/workspace/hemroid/vault/src/webkitgtk-2.10.7/Source/cmake/OptionsGTK.cmake	2016-04-23 10:06:27.138787766 +0530
@@ -44,7 +44,6 @@
 find_package(PNG REQUIRED)
 find_package(Sqlite REQUIRED)
 find_package(Threads REQUIRED)
-find_package(ZLIB REQUIRED)
 find_package(ATK REQUIRED)
 find_package(WebP REQUIRED)
 find_package(ATSPI 2.5.3)
@@ -52,6 +51,7 @@
 find_package(GTKUnixPrint)
 find_package(OpenGL)
 find_package(OpenGLES2)
+find_package(ZLIB REQUIRED)
 
 WEBKIT_OPTION_BEGIN()
 
diff -Naur webkitgtk-2.10.7/Source/cmake/OptionsJSC.cmake /home/eric/workspace/hemroid/vault/src/webkitgtk-2.10.7/Source/cmake/OptionsJSC.cmake
--- webkitgtk-2.10.7/Source/cmake/OptionsJSC.cmake	1970-01-01 05:30:00.000000000 +0530
+++ /home/eric/workspace/hemroid/vault/src/webkitgtk-2.10.7/Source/cmake/OptionsJSC.cmake	2016-04-23 08:57:46.636195486 +0530
@@ -0,0 +1,135 @@
+include(GNUInstallDirs)
+
+set(PROJECT_VERSION_MAJOR 2)
+set(PROJECT_VERSION_MINOR 10)
+set(PROJECT_VERSION_MICRO 7)
+set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_MICRO})
+set(WEBKITGTK_API_VERSION 4.0)
+
+# IndexedDB support requires GCC 4.9, see https://bugs.webkit.org/show_bug.cgi?id=98932.
+if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+    if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.9.0")
+        message(FATAL_ERROR "GCC 4.9.0 is required to build WebKitGTK+, use a newer GCC version or clang")
+    endif ()
+endif ()
+
+# Libtool library version, not to be confused with API version.
+# See http://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html
+CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(WEBKIT2 48 10 11)
+CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(JAVASCRIPTCORE 20 15 2)
+
+# These are shared variables, but we special case their definition so that we can use the
+# CMAKE_INSTALL_* variables that are populated by the GNUInstallDirs macro.
+set(LIB_INSTALL_DIR "${CMAKE_INSTALL_FULL_LIBDIR}" CACHE PATH "Absolute path to library installation directory")
+set(EXEC_INSTALL_DIR "${CMAKE_INSTALL_FULL_BINDIR}" CACHE PATH "Absolute path to executable installation directory")
+set(LIBEXEC_INSTALL_DIR "${CMAKE_INSTALL_FULL_LIBEXECDIR}/webkit2gtk-${WEBKITGTK_API_VERSION}" CACHE PATH "Absolute path to install executables executed by the library")
+
+set(DATA_BUILD_DIR "${CMAKE_BINARY_DIR}/share/${WebKit_OUTPUT_NAME}")
+set(DATA_INSTALL_DIR "${CMAKE_INSTALL_DATADIR}/webkitgtk-${WEBKITGTK_API_VERSION}")
+set(WEBKITGTK_HEADER_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/webkitgtk-${WEBKITGTK_API_VERSION}")
+set(INTROSPECTION_INSTALL_GIRDIR "${CMAKE_INSTALL_FULL_DATADIR}/gir-1.0")
+set(INTROSPECTION_INSTALL_TYPELIBDIR "${LIB_INSTALL_DIR}/girepository-1.0")
+
+find_package(ICU REQUIRED)
+find_package(Threads REQUIRED)
+find_library(ZLIB_LIBRARIES
+    NAMES z
+    PATHS ${ANDROID_SYSROOT}/usr/lib64
+          ${ANDROID_SYSROOT}/usr/lib
+    NO_DEFAULT_PATH
+)
+
+WEBKIT_OPTION_BEGIN()
+
+# Set the default value for ENABLE_GLES2 automatically.
+# We are not enabling or disabling automatically a feature here, because
+# the feature is by default always on (ENABLE_OPENGL=ON).
+# What we select here automatically is if we use OPENGL (ENABLE_GLES2=OFF)
+# or OPENGLES2 (ENABLE_GLES2=ON) for building the feature.
+set(ENABLE_GLES2_DEFAULT OFF)
+
+if (NOT OPENGL_FOUND AND OPENGLES2_FOUND)
+    set(ENABLE_GLES2_DEFAULT ON)
+endif ()
+
+if (CMAKE_SYSTEM_NAME MATCHES "Linux")
+    WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEMORY_SAMPLER PUBLIC ON)
+else ()
+    WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEMORY_SAMPLER PUBLIC OFF)
+endif ()
+
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_JIT PUBLIC ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_SYSTEM_MALLOC PUBLIC OFF)
+
+# Finalize the value for all options. Do not attempt to use an option before
+# this point, and do not attempt to change any option after this point.
+WEBKIT_OPTION_END()
+
+set(USE_UDIS86 ON)
+set(ENABLE_WEBKIT OFF)
+set(ENABLE_WEBKIT2 OFF)
+set(ENABLE_WEBCORE OFF)
+
+add_definitions(-DBUILDING_GTK__=1)
+#add_definitions(-DGETTEXT_PACKAGE="WebKit2GTK-${WEBKITGTK_API_VERSION}")
+add_definitions(-DDATA_DIR="${CMAKE_INSTALL_DATADIR}")
+add_definitions(-DUSER_AGENT_GTK_MAJOR_VERSION=602)
+add_definitions(-DUSER_AGENT_GTK_MINOR_VERSION=1)
+add_definitions(-DWEBKITGTK_API_VERSION_STRING="${WEBKITGTK_API_VERSION}")
+
+#set(GTK_LIBRARIES ${GTK3_LIBRARIES})
+#set(GTK_INCLUDE_DIRS ${GTK3_INCLUDE_DIRS})
+#set(GDK_LIBRARIES ${GDK3_LIBRARIES})
+#set(GDK_INCLUDE_DIRS ${GDK3_INCLUDE_DIRS})
+
+#SET_AND_EXPOSE_TO_BUILD(HAVE_GTK_GESTURES ${GTK3_SUPPORTS_GESTURES})
+#SET_AND_EXPOSE_TO_BUILD(HAVE_GTK_UNIX_PRINTING ${GTK_UNIX_PRINT_FOUND})
+
+set(glib_components gio gobject gthread gmodule)
+if (ENABLE_GAMEPAD_DEPRECATED OR ENABLE_GEOLOCATION)
+    list(APPEND glib_components gio-unix)
+endif ()
+find_package(GLIB 2.36 REQUIRED COMPONENTS ${glib_components})
+
+# Override the cached variables, gtk-doc and gobject-introspection do not really work when cross-building.
+if (CMAKE_CROSSCOMPILING)
+    set(ENABLE_GTKDOC OFF)
+    set(ENABLE_INTROSPECTION OFF)
+endif ()
+
+set(SHOULD_INSTALL_JS_SHELL ON)
+
+# CMake does not automatically add --whole-archive when building shared objects from
+# a list of convenience libraries. This can lead to missing symbols in the final output.
+# We add --whole-archive to all libraries manually to prevent the linker from trimming
+# symbols that we actually need later. (--whole-archive isn't an option on XCode's
+# linker, though.)
+macro(ADD_WHOLE_ARCHIVE_TO_LIBRARIES _list_name)
+    if (NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")
+        foreach (library IN LISTS ${_list_name})
+          list(APPEND ${_list_name}_TMP -Wl,--whole-archive ${library} -Wl,--no-whole-archive)
+        endforeach ()
+        set(${_list_name} "${${_list_name}_TMP}")
+    endif ()
+endmacro()
+
+if (CMAKE_MAJOR_VERSION LESS 3)
+    # Before CMake 3 it was necessary to use a build script instead of using cmake --build directly
+    # to preserve colors and pretty-printing.
+
+    build_command(COMMAND_LINE_TO_BUILD)
+    # build_command unconditionally adds -i (ignore errors) for make, and there's
+    # no reasonable way to turn that off, so we just replace it with -k, which has
+    # the same effect, except that the return code will indicate that an error occurred.
+    # See: http://www.cmake.org/cmake/help/v3.0/command/build_command.html
+    string(REPLACE " -i" " -k" COMMAND_LINE_TO_BUILD ${COMMAND_LINE_TO_BUILD})
+    file(WRITE
+        ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/build.sh
+        "#!/bin/sh\n"
+        "${COMMAND_LINE_TO_BUILD} $@"
+    )
+    file(COPY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/build.sh
+        DESTINATION ${CMAKE_BINARY_DIR}
+        FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE
+    )
+endif ()
diff -Naur webkitgtk-2.10.7/Source/CMakeLists.txt /home/eric/workspace/hemroid/vault/src/webkitgtk-2.10.7/Source/CMakeLists.txt
--- webkitgtk-2.10.7/Source/CMakeLists.txt	2016-01-29 21:59:32.000000000 +0530
+++ /home/eric/workspace/hemroid/vault/src/webkitgtk-2.10.7/Source/CMakeLists.txt	2016-04-05 22:52:15.496286112 +0530
@@ -10,7 +10,9 @@
 
 add_subdirectory(JavaScriptCore)
