From 8110d8d800f053aff0c4810da5ab208e3e45751c Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Sat, 20 Apr 2019 21:36:17 -0500 Subject: [PATCH 01/28] 0.0.521 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fae24e2919..e2e2f743c1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "exokit", - "version": "0.0.520", + "version": "0.0.521", "description": "Native VR and AR engine for JavaScript", "engines": { "node": ">=10.0.0" From 909923a8ed1e08ec5bf31cfba871543ea55b53cb Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Sat, 20 Apr 2019 22:22:11 -0500 Subject: [PATCH 02/28] change build.gradle to be oculusmobile specific --- android/{build.gradle => oculusmobile-build.gradle} | 1 - 1 file changed, 1 deletion(-) rename android/{build.gradle => oculusmobile-build.gradle} (99%) diff --git a/android/build.gradle b/android/oculusmobile-build.gradle similarity index 99% rename from android/build.gradle rename to android/oculusmobile-build.gradle index 91caed3adb..118f523255 100644 --- a/android/build.gradle +++ b/android/oculusmobile-build.gradle @@ -24,4 +24,3 @@ allprojects { mavenLocal() } } - From 7dbacb9cfbf2ebe75725f4594300bc54ae11e5ae Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Sat, 20 Apr 2019 22:22:27 -0500 Subject: [PATCH 03/28] specify build gradle file name for oculus mobile --- scripts/build-android.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build-android.sh b/scripts/build-android.sh index 9d94eb1983..71a8d8f75c 100755 --- a/scripts/build-android.sh +++ b/scripts/build-android.sh @@ -60,7 +60,7 @@ rsync -a --relative --copy-links build/Release/exokit.node ./android/app/assets/ # build apk pushd android -./gradlew build && ./gradlew assembleDebug +./gradlew build -b oculusmobile-build.gradle && ./gradlew assembleDebug popd # for debugging symbols lookup From 031da13a89a6d71eba4f8f13f4152a45b9238fd8 Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Sat, 20 Apr 2019 22:26:52 -0500 Subject: [PATCH 04/28] add googlevr build.gradle --- android/googlevr-build.gradle | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 android/googlevr-build.gradle diff --git a/android/googlevr-build.gradle b/android/googlevr-build.gradle new file mode 100644 index 0000000000..c2123bc5ee --- /dev/null +++ b/android/googlevr-build.gradle @@ -0,0 +1,31 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +buildscript { + repositories { + google() + jcenter() + maven { + url "https://maven.google.com" + } + } +} + +allprojects { + repositories { + google() + jcenter() + maven { + // For Android support library components. + url "https://maven.google.com" + } + // You can also use a local Maven repository if desired. + mavenLocal() + } + dependencies { + // The Google VR SDK requires version 2.3.3 or higher. + classpath 'com.android.tools.build:gradle:3.3.2' + + // The Google VR NDK requires experimental version 0.9.3 or higher. + // classpath 'com.android.tools.build:gradle-experimental:0.9.3' + } + +} From 801e034b03a12cee1c48b3abc81426d06cbe91e9 Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Sat, 20 Apr 2019 22:29:49 -0500 Subject: [PATCH 05/28] change name for oculus mobile CMakeLists --- android/{CMakeLists.txt => oculusmobile-CMakeLists.txt} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename android/{CMakeLists.txt => oculusmobile-CMakeLists.txt} (100%) diff --git a/android/CMakeLists.txt b/android/oculusmobile-CMakeLists.txt similarity index 100% rename from android/CMakeLists.txt rename to android/oculusmobile-CMakeLists.txt From c4490c536b831e3630ad294b169c588b5f7af39b Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Sat, 20 Apr 2019 22:30:23 -0500 Subject: [PATCH 06/28] change name for oculus mobile module build.gradle --- .../app/{build.gradle => oculusmobile-build.gradle} | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) rename android/app/{build.gradle => oculusmobile-build.gradle} (84%) diff --git a/android/app/build.gradle b/android/app/oculusmobile-build.gradle similarity index 84% rename from android/app/build.gradle rename to android/app/oculusmobile-build.gradle index 3d08f5e86f..ef0c01f744 100644 --- a/android/app/build.gradle +++ b/android/app/oculusmobile-build.gradle @@ -36,7 +36,7 @@ android { externalNativeBuild { cmake { // version '3.10.2' - path '../CMakeLists.txt' + path '../oculusmobile-CMakeLists.txt' } } lintOptions { @@ -44,15 +44,6 @@ android { } } - -/* dependencies { - implementation 'com.google.vr:sdk-base:1.190.0' - - // Obj - a simple Wavefront OBJ file loader - // https://github.com/javagl/Obj - implementation 'de.javagl:obj:0.2.1' -} */ - android { sourceSets { main { From 45e52c79fa149872e8a808fe28e56ff31e3b340b Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Sat, 20 Apr 2019 22:30:35 -0500 Subject: [PATCH 07/28] add googlevr cmakelists --- android/googlevr-CMakeLists.txt | 62 +++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 android/googlevr-CMakeLists.txt diff --git a/android/googlevr-CMakeLists.txt b/android/googlevr-CMakeLists.txt new file mode 100644 index 0000000000..451187a89e --- /dev/null +++ b/android/googlevr-CMakeLists.txt @@ -0,0 +1,62 @@ +cmake_minimum_required(VERSION 3.6.0) + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11 -Wall -Werror") +add_library(native-main SHARED ${CMAKE_SOURCE_DIR}/../main.cpp ${ANDROID_NDK}/sources/android/native_app_glue/android_native_app_glue.c) + +include_directories( SYSTEM ${CMAKE_SOURCE_DIR}/../node_modules/nan ) +include_directories( SYSTEM ${CMAKE_SOURCE_DIR}/../deps/exokit-bindings/util/include ) +include_directories( SYSTEM ${CMAKE_SOURCE_DIR}/../.node-gyp/11.6.0/include/node ) +include_directories( SYSTEM ${CMAKE_SOURCE_DIR}/../build/libexokit ) +include_directories( SYSTEM ${ANDROID_NDK}/sources/android/native_app_glue ) + +add_library( exokit STATIC IMPORTED ) +set_target_properties( exokit PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../build/libexokit/libexokit.a ) + +add_library( node STATIC IMPORTED ) +set_target_properties( node PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../node_modules/libnode.a-android/libnode.a ) + +add_library( skia STATIC IMPORTED ) +set_target_properties( skia PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../node_modules/native-canvas-deps/lib2/magicleap/libskia.a ) + +add_library( labsound STATIC IMPORTED ) +set_target_properties( labsound PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../node_modules/native-audio-deps/lib2/magicleap/libLabSound.a ) + +add_library( avformat STATIC IMPORTED ) +set_target_properties( avformat PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../node_modules/native-video-deps/lib2/magicleap/libavformat.a ) +add_library( avcodec STATIC IMPORTED ) +set_target_properties( avcodec PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../node_modules/native-video-deps/lib2/magicleap/libavcodec.a ) +add_library( avutil STATIC IMPORTED ) +set_target_properties( avutil PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../node_modules/native-video-deps/lib2/magicleap/libavutil.a ) +add_library( avdevice STATIC IMPORTED ) +set_target_properties( avdevice PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../node_modules/native-video-deps/lib2/magicleap/libavdevice.a ) +add_library( swscale STATIC IMPORTED ) +set_target_properties( swscale PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../node_modules/native-video-deps/lib2/magicleap/libswscale.a ) +add_library( swresample STATIC IMPORTED ) +set_target_properties( swresample PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../node_modules/native-video-deps/lib2/magicleap/libswresample.a ) +add_library( opus STATIC IMPORTED ) +set_target_properties( opus PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../node_modules/native-video-deps/lib2/magicleap/libopus.a ) + +add_library( webrtc STATIC IMPORTED ) +set_target_properties( webrtc PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../node_modules/native-webrtc-deps/lib2/magicleap/libwebrtc.a ) + +target_link_libraries(native-main + android + log + EGL + GLESv1_CM + GLESv2 + GLESv3 + exokit + node + skia + labsound + avformat + avcodec + avutil + avdevice + swscale + swresample + opus + webrtc + OpenSLES +) From d750379e056470e18c6d0ccb26f53ab78c341d4c Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Sat, 20 Apr 2019 22:30:49 -0500 Subject: [PATCH 08/28] add googlevr module build.gradle --- android/app/googlevr-build.gradle | 64 +++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 android/app/googlevr-build.gradle diff --git a/android/app/googlevr-build.gradle b/android/app/googlevr-build.gradle new file mode 100644 index 0000000000..1562a9d44d --- /dev/null +++ b/android/app/googlevr-build.gradle @@ -0,0 +1,64 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 21 + // Sceneform libraries use language constructs from Java 8. + // Add these compile options if targeting minSdkVersion < 26. + compileOptions { + sourceCompatibility 1.8 + targetCompatibility 1.8 + } + + + defaultConfig { + applicationId = 'com.webmr.exokit' + minSdkVersion 21 + targetSdkVersion 21 + externalNativeBuild { + cmake { + arguments '-DANDROID_STL=c++_static' + cppFlags "-std=c++11" + } + } + ndk { + // Specifies the ABI configurations of your native + // libraries Gradle should build and package with your APK. + abiFilters 'arm64-v8a' + } + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), + 'proguard-rules.pro' + } + } + externalNativeBuild { + cmake { + // version '3.10.2' + path '../googlevr-CMakeLists.txt' + } + } + lintOptions { + abortOnError false + } +} + + +dependencies { + // Adds Google VR spatial audio support + compile 'com.google.vr:sdk-audio:1.160.0' + + // Required for all Google VR apps + compile 'com.google.vr:sdk-base:1.160.0' +} + + +android { + sourceSets { + main { + assets.srcDirs = ['assets'] + jniLibs.srcDirs = ['assets/node_modules/native-oculus-mobile-deps/lib/android'] + } + } +} From 4cb6344d1cc02ea7b738171c746f2a17d5b2b3f2 Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Sat, 20 Apr 2019 22:54:24 -0500 Subject: [PATCH 09/28] rename oculus mobile android manifest --- .../{AndroidManifest.xml => oculusmobile-AndroidManifest.xml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename android/app/src/main/{AndroidManifest.xml => oculusmobile-AndroidManifest.xml} (100%) diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/oculusmobile-AndroidManifest.xml similarity index 100% rename from android/app/src/main/AndroidManifest.xml rename to android/app/src/main/oculusmobile-AndroidManifest.xml From e36ffe237dd46eb28eba793fe5a91e270ff2800f Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Sat, 20 Apr 2019 22:54:36 -0500 Subject: [PATCH 10/28] add googlevr android manifest --- .../app/src/main/googlevr-AndroidManifest.xml | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 android/app/src/main/googlevr-AndroidManifest.xml diff --git a/android/app/src/main/googlevr-AndroidManifest.xml b/android/app/src/main/googlevr-AndroidManifest.xml new file mode 100644 index 0000000000..29a85cc85b --- /dev/null +++ b/android/app/src/main/googlevr-AndroidManifest.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From b4e3e5b58c1789ce766497c912b05f7d20008fda Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Sat, 20 Apr 2019 23:56:07 -0500 Subject: [PATCH 11/28] add gvr libs to cmakelists --- android/googlevr-CMakeLists.txt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/android/googlevr-CMakeLists.txt b/android/googlevr-CMakeLists.txt index 451187a89e..ab7d62d67f 100644 --- a/android/googlevr-CMakeLists.txt +++ b/android/googlevr-CMakeLists.txt @@ -39,13 +39,16 @@ set_target_properties( opus PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../ add_library( webrtc STATIC IMPORTED ) set_target_properties( webrtc PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../node_modules/native-webrtc-deps/lib2/magicleap/libwebrtc.a ) +add_library( gvr-lib SHARED IMPORTED ) +set_target_properties( gvr-lib PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../node_modules/native-googlevr-deps/lib/android/arm64-v8a/libgvr.so ) +add_library( gvraudio-lib SHARED IMPORTED ) +set_target_properties( gvraudio-lib PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../node_modules/native-googlevr-deps/lib/android/arm64-v8a/libgvr_audio.so ) + target_link_libraries(native-main android log EGL - GLESv1_CM GLESv2 - GLESv3 exokit node skia @@ -59,4 +62,6 @@ target_link_libraries(native-main opus webrtc OpenSLES + gvr-lib + gvraudio-lib ) From 28894fbf6ed4e98167b055aebc05019cdf272ad9 Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Sun, 21 Apr 2019 13:27:24 -0500 Subject: [PATCH 12/28] differentiate apk name for oculusmobile --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index ddd64795fb..176c4ea852 100644 --- a/.travis.yml +++ b/.travis.yml @@ -54,7 +54,7 @@ matrix: - docker pull debian:latest install: - docker build -f android.Dockerfile -t exokit . - - docker run exokit cat exokit.apk >exokit.apk + - docker run exokit cat exokit.apk >exokit-oculusmobile.apk script: - echo "skipping 'npm run test' outside of docker" deploy: From 3504e771cff52a83bfc5c4c280387aae21a13a08 Mon Sep 17 00:00:00 2001 From: "Christopher P. La Torres" <29695350+chrisplatorres@users.noreply.github.com> Date: Mon, 22 Apr 2019 13:25:17 -0500 Subject: [PATCH 13/28] Delete package.json --- package.json | 107 --------------------------------------------------- 1 file changed, 107 deletions(-) delete mode 100644 package.json diff --git a/package.json b/package.json deleted file mode 100644 index e2e2f743c1..0000000000 --- a/package.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "name": "exokit", - "version": "0.0.521", - "description": "Native VR and AR engine for JavaScript", - "engines": { - "node": ">=10.0.0" - }, - "bin": { - "exokit": "src/index.js" - }, - "main": "src/index.js", - "scripts": { - "build": "node-gyp build", - "debug": "ndb", - "install": "node ./scripts/preinstall.js && node-gyp configure --msvs_version=2017 && node-gyp rebuild", - "lint": "eslint src tests", - "rebuild": "shx rm -rf node_modules && npm cache clean --force && npm install", - "serve": "serve examples", - "start": "node --experimental-worker .", - "test": "node node_modules/mocha/bin/mocha --experimental-worker --full-trace --exit --bail tests/unit/__setup.test.js tests/unit/*.test.js tests/unit/**/*.test.js", - "test:watch": "npm run test -- --watch" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/exokitxr/exokit.git" - }, - "keywords": [ - "browser", - "native", - "webvr", - "webgl", - "webvr", - "webar", - "webxr", - "vr", - "ar", - "magic leap" - ], - "author": "Avaer Kazmer ", - "license": "MIT", - "bugs": { - "url": "https://github.com/exokitxr/exokit/issues" - }, - "homepage": "https://github.com/exokitxr/exokit#readme", - "dependencies": { - "@rgrove/parse-xml": "^1.1.1", - "bugsnag": "^2.4.3", - "cross-env": "^5.2.0", - "css": "^2.2.4", - "event-loop-native": "0.0.13", - "events": "^3.0.0", - "fake-indexeddb": "^2.0.4", - "fault-zone": "0.0.20", - "he": "^1.1.1", - "history": "^4.9.0", - "hterm-repl": "0.0.10", - "isolator": "0.0.9", - "leapmotion": "0.0.4", - "libnode.a": "0.0.9", - "libnode.a-android": "0.0.1", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "murmurhash-js": "^1.0.0", - "nan": "^2.13.1", - "native-audio-deps": "0.0.59", - "native-browser-deps": "0.0.16", - "native-browser-deps-linux": "0.0.8", - "native-browser-deps-macos": "0.0.1", - "native-browser-deps-magicleap": "0.0.5", - "native-browser-deps-windows": "0.0.1", - "native-canvas-deps": "0.0.51", - "native-graphics-deps": "0.0.20", - "native-oculus-deps": "0.0.2", - "native-oculus-mobile-deps": "0.0.2", - "native-openvr-deps": "0.0.18", - "native-video-deps": "0.0.35", - "native-webrtc-deps": "0.0.45", - "node-ipc": "^9.1.1", - "node-localstorage": "^1.3.1", - "parse-int": "^1.0.2", - "parse5": "^5.0.0", - "redirect-output": "^1.0.0", - "repl.history": "^0.1.4", - "rimraf": "^2.6.2", - "unescape": "^1.0.1", - "vm-one": "0.0.36", - "webgl-to-opengl": "0.0.16", - "window-classlist": "0.0.4", - "window-fetch": "0.0.10", - "window-selector": "0.0.6", - "window-worker": "0.0.102", - "window-xhr": "0.0.29", - "worker-native": "0.0.36", - "ws": "^6.2.0" - }, - "devDependencies": { - "chai": "^4.1.2", - "eslint": "^5.2.0", - "express": "^4.16.3", - "find": "^0.2.9", - "mocha": "^6.0.0-1", - "ndb": "^1.0.44", - "serve": "^9.4.0", - "shx": "^0.3.2", - "sinon": "^6.1.4" - } -} From a4eaa522bb312e8c7665b08ce72989dfff190f62 Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Mon, 22 Apr 2019 13:27:29 -0500 Subject: [PATCH 14/28] Revert "Delete package.json" This reverts commit 3504e771cff52a83bfc5c4c280387aae21a13a08. --- package.json | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 package.json diff --git a/package.json b/package.json new file mode 100644 index 0000000000..e2e2f743c1 --- /dev/null +++ b/package.json @@ -0,0 +1,107 @@ +{ + "name": "exokit", + "version": "0.0.521", + "description": "Native VR and AR engine for JavaScript", + "engines": { + "node": ">=10.0.0" + }, + "bin": { + "exokit": "src/index.js" + }, + "main": "src/index.js", + "scripts": { + "build": "node-gyp build", + "debug": "ndb", + "install": "node ./scripts/preinstall.js && node-gyp configure --msvs_version=2017 && node-gyp rebuild", + "lint": "eslint src tests", + "rebuild": "shx rm -rf node_modules && npm cache clean --force && npm install", + "serve": "serve examples", + "start": "node --experimental-worker .", + "test": "node node_modules/mocha/bin/mocha --experimental-worker --full-trace --exit --bail tests/unit/__setup.test.js tests/unit/*.test.js tests/unit/**/*.test.js", + "test:watch": "npm run test -- --watch" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/exokitxr/exokit.git" + }, + "keywords": [ + "browser", + "native", + "webvr", + "webgl", + "webvr", + "webar", + "webxr", + "vr", + "ar", + "magic leap" + ], + "author": "Avaer Kazmer ", + "license": "MIT", + "bugs": { + "url": "https://github.com/exokitxr/exokit/issues" + }, + "homepage": "https://github.com/exokitxr/exokit#readme", + "dependencies": { + "@rgrove/parse-xml": "^1.1.1", + "bugsnag": "^2.4.3", + "cross-env": "^5.2.0", + "css": "^2.2.4", + "event-loop-native": "0.0.13", + "events": "^3.0.0", + "fake-indexeddb": "^2.0.4", + "fault-zone": "0.0.20", + "he": "^1.1.1", + "history": "^4.9.0", + "hterm-repl": "0.0.10", + "isolator": "0.0.9", + "leapmotion": "0.0.4", + "libnode.a": "0.0.9", + "libnode.a-android": "0.0.1", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "murmurhash-js": "^1.0.0", + "nan": "^2.13.1", + "native-audio-deps": "0.0.59", + "native-browser-deps": "0.0.16", + "native-browser-deps-linux": "0.0.8", + "native-browser-deps-macos": "0.0.1", + "native-browser-deps-magicleap": "0.0.5", + "native-browser-deps-windows": "0.0.1", + "native-canvas-deps": "0.0.51", + "native-graphics-deps": "0.0.20", + "native-oculus-deps": "0.0.2", + "native-oculus-mobile-deps": "0.0.2", + "native-openvr-deps": "0.0.18", + "native-video-deps": "0.0.35", + "native-webrtc-deps": "0.0.45", + "node-ipc": "^9.1.1", + "node-localstorage": "^1.3.1", + "parse-int": "^1.0.2", + "parse5": "^5.0.0", + "redirect-output": "^1.0.0", + "repl.history": "^0.1.4", + "rimraf": "^2.6.2", + "unescape": "^1.0.1", + "vm-one": "0.0.36", + "webgl-to-opengl": "0.0.16", + "window-classlist": "0.0.4", + "window-fetch": "0.0.10", + "window-selector": "0.0.6", + "window-worker": "0.0.102", + "window-xhr": "0.0.29", + "worker-native": "0.0.36", + "ws": "^6.2.0" + }, + "devDependencies": { + "chai": "^4.1.2", + "eslint": "^5.2.0", + "express": "^4.16.3", + "find": "^0.2.9", + "mocha": "^6.0.0-1", + "ndb": "^1.0.44", + "serve": "^9.4.0", + "shx": "^0.3.2", + "sinon": "^6.1.4" + } +} From 90cc862347162ab05d7254a5b78c00c8bddac44f Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Mon, 22 Apr 2019 14:40:51 -0500 Subject: [PATCH 15/28] add native-googlevr-deps to package.json --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index e2e2f743c1..5707bca3e1 100644 --- a/package.json +++ b/package.json @@ -72,6 +72,7 @@ "native-graphics-deps": "0.0.20", "native-oculus-deps": "0.0.2", "native-oculus-mobile-deps": "0.0.2", + "native-googlevr-deps": "0.0.1", "native-openvr-deps": "0.0.18", "native-video-deps": "0.0.35", "native-webrtc-deps": "0.0.45", From fc1b52b981245bd07f3c9cd7327e47e075f62279 Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Mon, 22 Apr 2019 14:41:18 -0500 Subject: [PATCH 16/28] add googlevr to binding.gyp --- binding.gyp | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 106 insertions(+), 1 deletion(-) diff --git a/binding.gyp b/binding.gyp index 5020e7c9c5..3148f31426 100644 --- a/binding.gyp +++ b/binding.gyp @@ -566,7 +566,7 @@ 'WEBRTC_POSIX', ], }], - ['" Date: Mon, 22 Apr 2019 14:46:34 -0500 Subject: [PATCH 17/28] add googlevr build script --- scripts/{build-android.sh => build-googlevr-android.sh} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename scripts/{build-android.sh => build-googlevr-android.sh} (96%) mode change 100755 => 100644 diff --git a/scripts/build-android.sh b/scripts/build-googlevr-android.sh old mode 100755 new mode 100644 similarity index 96% rename from scripts/build-android.sh rename to scripts/build-googlevr-android.sh index 71a8d8f75c..7a77c2f322 --- a/scripts/build-android.sh +++ b/scripts/build-googlevr-android.sh @@ -60,7 +60,7 @@ rsync -a --relative --copy-links build/Release/exokit.node ./android/app/assets/ # build apk pushd android -./gradlew build -b oculusmobile-build.gradle && ./gradlew assembleDebug +./gradlew build -b googlevr-build.gradle && ./gradlew assembleDebug popd # for debugging symbols lookup From ce93d54d84460070a2b8944d5f6931435f878a03 Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Mon, 22 Apr 2019 14:46:47 -0500 Subject: [PATCH 18/28] differentiate build oculusmobile script --- scripts/build-oculusmobile-android.sh | 70 +++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 scripts/build-oculusmobile-android.sh diff --git a/scripts/build-oculusmobile-android.sh b/scripts/build-oculusmobile-android.sh new file mode 100644 index 0000000000..71a8d8f75c --- /dev/null +++ b/scripts/build-oculusmobile-android.sh @@ -0,0 +1,70 @@ +#!/bin/bash + +# Initialization. + +set -e + +# Preface. + +TOOLCHAIN="$ANDROID_HOME/ndk-bundle/toolchain" +cd "$(dirname "$0")" + +export TOOLCHAIN_USR="$TOOLCHAIN/sysroot/usr" +export TOOLCHAIN_LIB=$TOOLCHAIN/sysroot/usr/lib +export TOOLCHAIN_LIB_CXX=$TOOLCHAIN/aarch64-linux-android/lib +export TOOLCHAIN_LIB_64=$TOOLCHAIN/aarch64-linux-android/lib64 +#export TOOLCHAIN_INCLUDE_LIB=$TOOLCHAIN/include/c++/4.9.x +export TOOLCHAIN_INCLUDE_SYSROOT=$TOOLCHAIN/sysroot/usr/include +export LD_LIBRARY_PATH="./Release:.:$LD_LIBRARY_PATH" + +export CC_target="aarch64" +export GYP_CROSSCOMPILE=1 +export CLANG_CXX_LIBRARY="libstdc++" +export CC="$TOOLCHAIN/bin/aarch64-linux-android-clang" +export CXX="$TOOLCHAIN/bin/aarch64-linux-android-clang++" +export LINK="$TOOLCHAIN/bin/aarch64-linux-android-clang++" +export AR="$TOOLCHAIN/bin/aarch64-linux-android-ar" +export LD="$TOOLCHAIN/bin/aarch64-linux-android-ld" + +export OS="android" +export ANDROID=1 + +EXTRA_FLAGS="-I$TOOLCHAIN_INCLUDE_LIB -I$TOOLCHAIN_INCLUDE_SYSROOT" +export CFLAGS="$CFLAGS $EXTRA_FLAGS" +export CXXFLAGS="$CXXFLAGS $EXTRA_FLAGS" +export LDFLAGS="" + +export npm_config_arch=aarch64 +export OS="android" +export TARGET_ARCH="aarch64" # For webrtc install prebuilt. + +pushd .. + +# build native modules +npm install --verbose --devdir="$(pwd)/.node-gyp" --arch=aarch64 --target_arch=aarch64 --no-optional + +# archive native module dlibs +mkdir -p build/libexokit +find build/Release/obj.target node_modules -name '*.o' | xargs "$AR" crs build/libexokit/libexokit.a +./scripts/gen-dlibs-h.js "$(pwd)" >build/libexokit/dlibs.h + +# copy assets for packaging +mkdir -p ./android/app/assets +rsync -a --copy-links package.json ./android/app/assets/package.json +rsync -a --copy-links src/ ./android/app/assets/src +rsync -a --copy-links lib/ ./android/app/assets/lib +rsync -a --copy-links examples/ ./android/app/assets/examples +rsync -a --copy-links node_modules/* ./android/app/assets/node_modules/ +rsync -a --relative --copy-links build/Release/exokit.node ./android/app/assets/ +./scripts/gen-assets-h.js >android/app/assets/index.bin + +# build apk +pushd android +./gradlew build -b oculusmobile-build.gradle && ./gradlew assembleDebug +popd + +# for debugging symbols lookup +mkdir -p android/app/src/main/arm64-v8a +rsync -a --copy-links android/app/build/intermediates/cmake/debug/obj/arm64-v8a/libnative-main.so android/app/src/main/arm64-v8a/libnative-main.so + +popd From b7e784f192c510ae1169a03342a051bf42848681 Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Mon, 22 Apr 2019 15:06:00 -0500 Subject: [PATCH 19/28] move oboe directory to deps/android --- deps/{oculus-mobile/deps => android}/oboe/.travis.yml | 0 deps/{oculus-mobile/deps => android}/oboe/AUTHORS | 0 deps/{oculus-mobile/deps => android}/oboe/CMakeLists.txt | 0 deps/{oculus-mobile/deps => android}/oboe/CONTRIBUTING | 0 deps/{oculus-mobile/deps => android}/oboe/CONTRIBUTING.md | 0 deps/{oculus-mobile/deps => android}/oboe/CONTRIBUTORS | 0 deps/{oculus-mobile/deps => android}/oboe/Doxyfile | 0 deps/{oculus-mobile/deps => android}/oboe/LICENSE | 0 deps/{oculus-mobile/deps => android}/oboe/README | 0 deps/{oculus-mobile/deps => android}/oboe/README.md | 0 .../deps => android}/oboe/include/oboe/AudioStream.h | 0 .../deps => android}/oboe/include/oboe/AudioStreamBase.h | 0 .../deps => android}/oboe/include/oboe/AudioStreamBuilder.h | 0 .../deps => android}/oboe/include/oboe/AudioStreamCallback.h | 0 .../deps => android}/oboe/include/oboe/Definitions.h | 0 .../deps => android}/oboe/include/oboe/LatencyTuner.h | 0 deps/{oculus-mobile/deps => android}/oboe/include/oboe/Oboe.h | 0 .../deps => android}/oboe/include/oboe/ResultWithValue.h | 0 .../deps => android}/oboe/include/oboe/StabilizedCallback.h | 0 .../{oculus-mobile/deps => android}/oboe/include/oboe/Utilities.h | 0 deps/{oculus-mobile/deps => android}/oboe/include/oboe/Version.h | 0 .../deps => android}/oboe/src/aaudio/AAudioLoader.cpp | 0 .../deps => android}/oboe/src/aaudio/AAudioLoader.h | 0 .../deps => android}/oboe/src/aaudio/AudioStreamAAudio.cpp | 0 .../deps => android}/oboe/src/aaudio/AudioStreamAAudio.h | 0 deps/{oculus-mobile/deps => android}/oboe/src/common/AudioClock.h | 0 .../deps => android}/oboe/src/common/AudioStream.cpp | 0 .../deps => android}/oboe/src/common/AudioStreamBuilder.cpp | 0 .../deps => android}/oboe/src/common/LatencyTuner.cpp | 0 .../deps => android}/oboe/src/common/MonotonicCounter.h | 0 deps/{oculus-mobile/deps => android}/oboe/src/common/OboeDebug.h | 0 .../deps => android}/oboe/src/common/StabilizedCallback.cpp | 0 deps/{oculus-mobile/deps => android}/oboe/src/common/Trace.cpp | 0 deps/{oculus-mobile/deps => android}/oboe/src/common/Trace.h | 0 .../{oculus-mobile/deps => android}/oboe/src/common/Utilities.cpp | 0 deps/{oculus-mobile/deps => android}/oboe/src/fifo/FifoBuffer.cpp | 0 deps/{oculus-mobile/deps => android}/oboe/src/fifo/FifoBuffer.h | 0 .../deps => android}/oboe/src/fifo/FifoController.cpp | 0 .../deps => android}/oboe/src/fifo/FifoController.h | 0 .../deps => android}/oboe/src/fifo/FifoControllerBase.cpp | 0 .../deps => android}/oboe/src/fifo/FifoControllerBase.h | 0 .../deps => android}/oboe/src/fifo/FifoControllerIndirect.cpp | 0 .../deps => android}/oboe/src/fifo/FifoControllerIndirect.h | 0 .../oboe/src/opensles/AudioInputStreamOpenSLES.cpp | 0 .../deps => android}/oboe/src/opensles/AudioInputStreamOpenSLES.h | 0 .../oboe/src/opensles/AudioOutputStreamOpenSLES.cpp | 0 .../oboe/src/opensles/AudioOutputStreamOpenSLES.h | 0 .../deps => android}/oboe/src/opensles/AudioStreamBuffered.cpp | 0 .../deps => android}/oboe/src/opensles/AudioStreamBuffered.h | 0 .../deps => android}/oboe/src/opensles/AudioStreamOpenSLES.cpp | 0 .../deps => android}/oboe/src/opensles/AudioStreamOpenSLES.h | 0 .../deps => android}/oboe/src/opensles/EngineOpenSLES.cpp | 0 .../deps => android}/oboe/src/opensles/EngineOpenSLES.h | 0 .../deps => android}/oboe/src/opensles/OpenSLESUtilities.cpp | 0 .../deps => android}/oboe/src/opensles/OpenSLESUtilities.h | 0 .../deps => android}/oboe/src/opensles/OutputMixerOpenSLES.cpp | 0 .../deps => android}/oboe/src/opensles/OutputMixerOpenSLES.h | 0 57 files changed, 0 insertions(+), 0 deletions(-) rename deps/{oculus-mobile/deps => android}/oboe/.travis.yml (100%) rename deps/{oculus-mobile/deps => android}/oboe/AUTHORS (100%) mode change 100755 => 100644 rename deps/{oculus-mobile/deps => android}/oboe/CMakeLists.txt (100%) rename deps/{oculus-mobile/deps => android}/oboe/CONTRIBUTING (100%) mode change 100755 => 100644 rename deps/{oculus-mobile/deps => android}/oboe/CONTRIBUTING.md (100%) rename deps/{oculus-mobile/deps => android}/oboe/CONTRIBUTORS (100%) mode change 100755 => 100644 rename deps/{oculus-mobile/deps => android}/oboe/Doxyfile (100%) rename deps/{oculus-mobile/deps => android}/oboe/LICENSE (100%) mode change 100755 => 100644 rename deps/{oculus-mobile/deps => android}/oboe/README (100%) mode change 100755 => 100644 rename deps/{oculus-mobile/deps => android}/oboe/README.md (100%) mode change 100755 => 100644 rename deps/{oculus-mobile/deps => android}/oboe/include/oboe/AudioStream.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/include/oboe/AudioStreamBase.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/include/oboe/AudioStreamBuilder.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/include/oboe/AudioStreamCallback.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/include/oboe/Definitions.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/include/oboe/LatencyTuner.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/include/oboe/Oboe.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/include/oboe/ResultWithValue.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/include/oboe/StabilizedCallback.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/include/oboe/Utilities.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/include/oboe/Version.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/aaudio/AAudioLoader.cpp (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/aaudio/AAudioLoader.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/aaudio/AudioStreamAAudio.cpp (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/aaudio/AudioStreamAAudio.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/common/AudioClock.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/common/AudioStream.cpp (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/common/AudioStreamBuilder.cpp (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/common/LatencyTuner.cpp (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/common/MonotonicCounter.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/common/OboeDebug.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/common/StabilizedCallback.cpp (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/common/Trace.cpp (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/common/Trace.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/common/Utilities.cpp (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/fifo/FifoBuffer.cpp (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/fifo/FifoBuffer.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/fifo/FifoController.cpp (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/fifo/FifoController.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/fifo/FifoControllerBase.cpp (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/fifo/FifoControllerBase.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/fifo/FifoControllerIndirect.cpp (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/fifo/FifoControllerIndirect.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/opensles/AudioInputStreamOpenSLES.cpp (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/opensles/AudioInputStreamOpenSLES.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/opensles/AudioOutputStreamOpenSLES.cpp (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/opensles/AudioOutputStreamOpenSLES.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/opensles/AudioStreamBuffered.cpp (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/opensles/AudioStreamBuffered.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/opensles/AudioStreamOpenSLES.cpp (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/opensles/AudioStreamOpenSLES.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/opensles/EngineOpenSLES.cpp (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/opensles/EngineOpenSLES.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/opensles/OpenSLESUtilities.cpp (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/opensles/OpenSLESUtilities.h (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/opensles/OutputMixerOpenSLES.cpp (100%) rename deps/{oculus-mobile/deps => android}/oboe/src/opensles/OutputMixerOpenSLES.h (100%) diff --git a/deps/oculus-mobile/deps/oboe/.travis.yml b/deps/android/oboe/.travis.yml similarity index 100% rename from deps/oculus-mobile/deps/oboe/.travis.yml rename to deps/android/oboe/.travis.yml diff --git a/deps/oculus-mobile/deps/oboe/AUTHORS b/deps/android/oboe/AUTHORS old mode 100755 new mode 100644 similarity index 100% rename from deps/oculus-mobile/deps/oboe/AUTHORS rename to deps/android/oboe/AUTHORS diff --git a/deps/oculus-mobile/deps/oboe/CMakeLists.txt b/deps/android/oboe/CMakeLists.txt similarity index 100% rename from deps/oculus-mobile/deps/oboe/CMakeLists.txt rename to deps/android/oboe/CMakeLists.txt diff --git a/deps/oculus-mobile/deps/oboe/CONTRIBUTING b/deps/android/oboe/CONTRIBUTING old mode 100755 new mode 100644 similarity index 100% rename from deps/oculus-mobile/deps/oboe/CONTRIBUTING rename to deps/android/oboe/CONTRIBUTING diff --git a/deps/oculus-mobile/deps/oboe/CONTRIBUTING.md b/deps/android/oboe/CONTRIBUTING.md similarity index 100% rename from deps/oculus-mobile/deps/oboe/CONTRIBUTING.md rename to deps/android/oboe/CONTRIBUTING.md diff --git a/deps/oculus-mobile/deps/oboe/CONTRIBUTORS b/deps/android/oboe/CONTRIBUTORS old mode 100755 new mode 100644 similarity index 100% rename from deps/oculus-mobile/deps/oboe/CONTRIBUTORS rename to deps/android/oboe/CONTRIBUTORS diff --git a/deps/oculus-mobile/deps/oboe/Doxyfile b/deps/android/oboe/Doxyfile similarity index 100% rename from deps/oculus-mobile/deps/oboe/Doxyfile rename to deps/android/oboe/Doxyfile diff --git a/deps/oculus-mobile/deps/oboe/LICENSE b/deps/android/oboe/LICENSE old mode 100755 new mode 100644 similarity index 100% rename from deps/oculus-mobile/deps/oboe/LICENSE rename to deps/android/oboe/LICENSE diff --git a/deps/oculus-mobile/deps/oboe/README b/deps/android/oboe/README old mode 100755 new mode 100644 similarity index 100% rename from deps/oculus-mobile/deps/oboe/README rename to deps/android/oboe/README diff --git a/deps/oculus-mobile/deps/oboe/README.md b/deps/android/oboe/README.md old mode 100755 new mode 100644 similarity index 100% rename from deps/oculus-mobile/deps/oboe/README.md rename to deps/android/oboe/README.md diff --git a/deps/oculus-mobile/deps/oboe/include/oboe/AudioStream.h b/deps/android/oboe/include/oboe/AudioStream.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/include/oboe/AudioStream.h rename to deps/android/oboe/include/oboe/AudioStream.h diff --git a/deps/oculus-mobile/deps/oboe/include/oboe/AudioStreamBase.h b/deps/android/oboe/include/oboe/AudioStreamBase.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/include/oboe/AudioStreamBase.h rename to deps/android/oboe/include/oboe/AudioStreamBase.h diff --git a/deps/oculus-mobile/deps/oboe/include/oboe/AudioStreamBuilder.h b/deps/android/oboe/include/oboe/AudioStreamBuilder.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/include/oboe/AudioStreamBuilder.h rename to deps/android/oboe/include/oboe/AudioStreamBuilder.h diff --git a/deps/oculus-mobile/deps/oboe/include/oboe/AudioStreamCallback.h b/deps/android/oboe/include/oboe/AudioStreamCallback.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/include/oboe/AudioStreamCallback.h rename to deps/android/oboe/include/oboe/AudioStreamCallback.h diff --git a/deps/oculus-mobile/deps/oboe/include/oboe/Definitions.h b/deps/android/oboe/include/oboe/Definitions.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/include/oboe/Definitions.h rename to deps/android/oboe/include/oboe/Definitions.h diff --git a/deps/oculus-mobile/deps/oboe/include/oboe/LatencyTuner.h b/deps/android/oboe/include/oboe/LatencyTuner.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/include/oboe/LatencyTuner.h rename to deps/android/oboe/include/oboe/LatencyTuner.h diff --git a/deps/oculus-mobile/deps/oboe/include/oboe/Oboe.h b/deps/android/oboe/include/oboe/Oboe.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/include/oboe/Oboe.h rename to deps/android/oboe/include/oboe/Oboe.h diff --git a/deps/oculus-mobile/deps/oboe/include/oboe/ResultWithValue.h b/deps/android/oboe/include/oboe/ResultWithValue.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/include/oboe/ResultWithValue.h rename to deps/android/oboe/include/oboe/ResultWithValue.h diff --git a/deps/oculus-mobile/deps/oboe/include/oboe/StabilizedCallback.h b/deps/android/oboe/include/oboe/StabilizedCallback.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/include/oboe/StabilizedCallback.h rename to deps/android/oboe/include/oboe/StabilizedCallback.h diff --git a/deps/oculus-mobile/deps/oboe/include/oboe/Utilities.h b/deps/android/oboe/include/oboe/Utilities.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/include/oboe/Utilities.h rename to deps/android/oboe/include/oboe/Utilities.h diff --git a/deps/oculus-mobile/deps/oboe/include/oboe/Version.h b/deps/android/oboe/include/oboe/Version.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/include/oboe/Version.h rename to deps/android/oboe/include/oboe/Version.h diff --git a/deps/oculus-mobile/deps/oboe/src/aaudio/AAudioLoader.cpp b/deps/android/oboe/src/aaudio/AAudioLoader.cpp similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/aaudio/AAudioLoader.cpp rename to deps/android/oboe/src/aaudio/AAudioLoader.cpp diff --git a/deps/oculus-mobile/deps/oboe/src/aaudio/AAudioLoader.h b/deps/android/oboe/src/aaudio/AAudioLoader.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/aaudio/AAudioLoader.h rename to deps/android/oboe/src/aaudio/AAudioLoader.h diff --git a/deps/oculus-mobile/deps/oboe/src/aaudio/AudioStreamAAudio.cpp b/deps/android/oboe/src/aaudio/AudioStreamAAudio.cpp similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/aaudio/AudioStreamAAudio.cpp rename to deps/android/oboe/src/aaudio/AudioStreamAAudio.cpp diff --git a/deps/oculus-mobile/deps/oboe/src/aaudio/AudioStreamAAudio.h b/deps/android/oboe/src/aaudio/AudioStreamAAudio.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/aaudio/AudioStreamAAudio.h rename to deps/android/oboe/src/aaudio/AudioStreamAAudio.h diff --git a/deps/oculus-mobile/deps/oboe/src/common/AudioClock.h b/deps/android/oboe/src/common/AudioClock.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/common/AudioClock.h rename to deps/android/oboe/src/common/AudioClock.h diff --git a/deps/oculus-mobile/deps/oboe/src/common/AudioStream.cpp b/deps/android/oboe/src/common/AudioStream.cpp similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/common/AudioStream.cpp rename to deps/android/oboe/src/common/AudioStream.cpp diff --git a/deps/oculus-mobile/deps/oboe/src/common/AudioStreamBuilder.cpp b/deps/android/oboe/src/common/AudioStreamBuilder.cpp similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/common/AudioStreamBuilder.cpp rename to deps/android/oboe/src/common/AudioStreamBuilder.cpp diff --git a/deps/oculus-mobile/deps/oboe/src/common/LatencyTuner.cpp b/deps/android/oboe/src/common/LatencyTuner.cpp similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/common/LatencyTuner.cpp rename to deps/android/oboe/src/common/LatencyTuner.cpp diff --git a/deps/oculus-mobile/deps/oboe/src/common/MonotonicCounter.h b/deps/android/oboe/src/common/MonotonicCounter.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/common/MonotonicCounter.h rename to deps/android/oboe/src/common/MonotonicCounter.h diff --git a/deps/oculus-mobile/deps/oboe/src/common/OboeDebug.h b/deps/android/oboe/src/common/OboeDebug.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/common/OboeDebug.h rename to deps/android/oboe/src/common/OboeDebug.h diff --git a/deps/oculus-mobile/deps/oboe/src/common/StabilizedCallback.cpp b/deps/android/oboe/src/common/StabilizedCallback.cpp similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/common/StabilizedCallback.cpp rename to deps/android/oboe/src/common/StabilizedCallback.cpp diff --git a/deps/oculus-mobile/deps/oboe/src/common/Trace.cpp b/deps/android/oboe/src/common/Trace.cpp similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/common/Trace.cpp rename to deps/android/oboe/src/common/Trace.cpp diff --git a/deps/oculus-mobile/deps/oboe/src/common/Trace.h b/deps/android/oboe/src/common/Trace.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/common/Trace.h rename to deps/android/oboe/src/common/Trace.h diff --git a/deps/oculus-mobile/deps/oboe/src/common/Utilities.cpp b/deps/android/oboe/src/common/Utilities.cpp similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/common/Utilities.cpp rename to deps/android/oboe/src/common/Utilities.cpp diff --git a/deps/oculus-mobile/deps/oboe/src/fifo/FifoBuffer.cpp b/deps/android/oboe/src/fifo/FifoBuffer.cpp similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/fifo/FifoBuffer.cpp rename to deps/android/oboe/src/fifo/FifoBuffer.cpp diff --git a/deps/oculus-mobile/deps/oboe/src/fifo/FifoBuffer.h b/deps/android/oboe/src/fifo/FifoBuffer.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/fifo/FifoBuffer.h rename to deps/android/oboe/src/fifo/FifoBuffer.h diff --git a/deps/oculus-mobile/deps/oboe/src/fifo/FifoController.cpp b/deps/android/oboe/src/fifo/FifoController.cpp similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/fifo/FifoController.cpp rename to deps/android/oboe/src/fifo/FifoController.cpp diff --git a/deps/oculus-mobile/deps/oboe/src/fifo/FifoController.h b/deps/android/oboe/src/fifo/FifoController.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/fifo/FifoController.h rename to deps/android/oboe/src/fifo/FifoController.h diff --git a/deps/oculus-mobile/deps/oboe/src/fifo/FifoControllerBase.cpp b/deps/android/oboe/src/fifo/FifoControllerBase.cpp similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/fifo/FifoControllerBase.cpp rename to deps/android/oboe/src/fifo/FifoControllerBase.cpp diff --git a/deps/oculus-mobile/deps/oboe/src/fifo/FifoControllerBase.h b/deps/android/oboe/src/fifo/FifoControllerBase.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/fifo/FifoControllerBase.h rename to deps/android/oboe/src/fifo/FifoControllerBase.h diff --git a/deps/oculus-mobile/deps/oboe/src/fifo/FifoControllerIndirect.cpp b/deps/android/oboe/src/fifo/FifoControllerIndirect.cpp similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/fifo/FifoControllerIndirect.cpp rename to deps/android/oboe/src/fifo/FifoControllerIndirect.cpp diff --git a/deps/oculus-mobile/deps/oboe/src/fifo/FifoControllerIndirect.h b/deps/android/oboe/src/fifo/FifoControllerIndirect.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/fifo/FifoControllerIndirect.h rename to deps/android/oboe/src/fifo/FifoControllerIndirect.h diff --git a/deps/oculus-mobile/deps/oboe/src/opensles/AudioInputStreamOpenSLES.cpp b/deps/android/oboe/src/opensles/AudioInputStreamOpenSLES.cpp similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/opensles/AudioInputStreamOpenSLES.cpp rename to deps/android/oboe/src/opensles/AudioInputStreamOpenSLES.cpp diff --git a/deps/oculus-mobile/deps/oboe/src/opensles/AudioInputStreamOpenSLES.h b/deps/android/oboe/src/opensles/AudioInputStreamOpenSLES.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/opensles/AudioInputStreamOpenSLES.h rename to deps/android/oboe/src/opensles/AudioInputStreamOpenSLES.h diff --git a/deps/oculus-mobile/deps/oboe/src/opensles/AudioOutputStreamOpenSLES.cpp b/deps/android/oboe/src/opensles/AudioOutputStreamOpenSLES.cpp similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/opensles/AudioOutputStreamOpenSLES.cpp rename to deps/android/oboe/src/opensles/AudioOutputStreamOpenSLES.cpp diff --git a/deps/oculus-mobile/deps/oboe/src/opensles/AudioOutputStreamOpenSLES.h b/deps/android/oboe/src/opensles/AudioOutputStreamOpenSLES.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/opensles/AudioOutputStreamOpenSLES.h rename to deps/android/oboe/src/opensles/AudioOutputStreamOpenSLES.h diff --git a/deps/oculus-mobile/deps/oboe/src/opensles/AudioStreamBuffered.cpp b/deps/android/oboe/src/opensles/AudioStreamBuffered.cpp similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/opensles/AudioStreamBuffered.cpp rename to deps/android/oboe/src/opensles/AudioStreamBuffered.cpp diff --git a/deps/oculus-mobile/deps/oboe/src/opensles/AudioStreamBuffered.h b/deps/android/oboe/src/opensles/AudioStreamBuffered.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/opensles/AudioStreamBuffered.h rename to deps/android/oboe/src/opensles/AudioStreamBuffered.h diff --git a/deps/oculus-mobile/deps/oboe/src/opensles/AudioStreamOpenSLES.cpp b/deps/android/oboe/src/opensles/AudioStreamOpenSLES.cpp similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/opensles/AudioStreamOpenSLES.cpp rename to deps/android/oboe/src/opensles/AudioStreamOpenSLES.cpp diff --git a/deps/oculus-mobile/deps/oboe/src/opensles/AudioStreamOpenSLES.h b/deps/android/oboe/src/opensles/AudioStreamOpenSLES.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/opensles/AudioStreamOpenSLES.h rename to deps/android/oboe/src/opensles/AudioStreamOpenSLES.h diff --git a/deps/oculus-mobile/deps/oboe/src/opensles/EngineOpenSLES.cpp b/deps/android/oboe/src/opensles/EngineOpenSLES.cpp similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/opensles/EngineOpenSLES.cpp rename to deps/android/oboe/src/opensles/EngineOpenSLES.cpp diff --git a/deps/oculus-mobile/deps/oboe/src/opensles/EngineOpenSLES.h b/deps/android/oboe/src/opensles/EngineOpenSLES.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/opensles/EngineOpenSLES.h rename to deps/android/oboe/src/opensles/EngineOpenSLES.h diff --git a/deps/oculus-mobile/deps/oboe/src/opensles/OpenSLESUtilities.cpp b/deps/android/oboe/src/opensles/OpenSLESUtilities.cpp similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/opensles/OpenSLESUtilities.cpp rename to deps/android/oboe/src/opensles/OpenSLESUtilities.cpp diff --git a/deps/oculus-mobile/deps/oboe/src/opensles/OpenSLESUtilities.h b/deps/android/oboe/src/opensles/OpenSLESUtilities.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/opensles/OpenSLESUtilities.h rename to deps/android/oboe/src/opensles/OpenSLESUtilities.h diff --git a/deps/oculus-mobile/deps/oboe/src/opensles/OutputMixerOpenSLES.cpp b/deps/android/oboe/src/opensles/OutputMixerOpenSLES.cpp similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/opensles/OutputMixerOpenSLES.cpp rename to deps/android/oboe/src/opensles/OutputMixerOpenSLES.cpp diff --git a/deps/oculus-mobile/deps/oboe/src/opensles/OutputMixerOpenSLES.h b/deps/android/oboe/src/opensles/OutputMixerOpenSLES.h similarity index 100% rename from deps/oculus-mobile/deps/oboe/src/opensles/OutputMixerOpenSLES.h rename to deps/android/oboe/src/opensles/OutputMixerOpenSLES.h From 9c818ebbcf01b725e2f83e584e9e7ebba14b419b Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Mon, 22 Apr 2019 15:06:20 -0500 Subject: [PATCH 20/28] add GOOGLEVR define to build script --- scripts/build-googlevr-android.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/build-googlevr-android.sh b/scripts/build-googlevr-android.sh index 7a77c2f322..4a1a82ada3 100644 --- a/scripts/build-googlevr-android.sh +++ b/scripts/build-googlevr-android.sh @@ -28,6 +28,7 @@ export LD="$TOOLCHAIN/bin/aarch64-linux-android-ld" export OS="android" export ANDROID=1 +export GOOGLEVR=1 EXTRA_FLAGS="-I$TOOLCHAIN_INCLUDE_LIB -I$TOOLCHAIN_INCLUDE_SYSROOT" export CFLAGS="$CFLAGS $EXTRA_FLAGS" From 6db6c4c17b2ce666068681b1b03995db438a2f77 Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Mon, 22 Apr 2019 15:07:23 -0500 Subject: [PATCH 21/28] add OCULUSMOBILE define to oculus mobile build script --- scripts/build-oculusmobile-android.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/build-oculusmobile-android.sh b/scripts/build-oculusmobile-android.sh index 71a8d8f75c..28d4b1cec7 100644 --- a/scripts/build-oculusmobile-android.sh +++ b/scripts/build-oculusmobile-android.sh @@ -28,6 +28,7 @@ export LD="$TOOLCHAIN/bin/aarch64-linux-android-ld" export OS="android" export ANDROID=1 +export OCULUSMOBILE=1 EXTRA_FLAGS="-I$TOOLCHAIN_INCLUDE_LIB -I$TOOLCHAIN_INCLUDE_SYSROOT" export CFLAGS="$CFLAGS $EXTRA_FLAGS" From c717f44105e7bd6af6e86088224b126abca239df Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Mon, 22 Apr 2019 15:07:45 -0500 Subject: [PATCH 22/28] update oboe deps path in binding.gyp --- binding.gyp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/binding.gyp b/binding.gyp index 3148f31426..553db629cf 100644 --- a/binding.gyp +++ b/binding.gyp @@ -587,10 +587,10 @@ ' Date: Mon, 22 Apr 2019 15:08:08 -0500 Subject: [PATCH 23/28] update oculusmobile specific ifdefs in exokit.cpp --- exokit.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/exokit.cpp b/exokit.cpp index d3455e573c..ce45b02870 100644 --- a/exokit.cpp +++ b/exokit.cpp @@ -12,7 +12,7 @@ #ifdef OPENVR #include #endif -#ifdef ANDROID +#if defined(ANDROID) && defined(OCULUSMOBILE) #include #endif @@ -211,7 +211,7 @@ void InitExports(Local exports) { exports->Set(v8::String::NewFromUtf8(Isolate::GetCurrent(), "nativeLm"), lm); #endif -#ifdef ANDROID +#if defined(ANDROID) && defined(OCULUSMOBILE) Local oculusMobileVr = makeOculusMobileVr(); exports->Set(v8::String::NewFromUtf8(Isolate::GetCurrent(), "nativeOculusMobileVr"), oculusMobileVr); #endif From b6b15e4b4b6e4b4edfb3bd3bc439ec5c38fb2207 Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Mon, 22 Apr 2019 15:26:47 -0500 Subject: [PATCH 24/28] add googlevr.h --- deps/googlevr/include/googlevr.h | 39 ++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 deps/googlevr/include/googlevr.h diff --git a/deps/googlevr/include/googlevr.h b/deps/googlevr/include/googlevr.h new file mode 100644 index 0000000000..66f3be7f3a --- /dev/null +++ b/deps/googlevr/include/googlevr.h @@ -0,0 +1,39 @@ +#ifndef _GOOGLEVR_H_ +#define _GOOGLEVR_H_ + +#include +#include + +#include + +#include +#include +#include + +#include "gvr.h" +#include "gvr_audio.h" +#include "gvr_audio_surround.h" +#include "gvr_beta.h" +#include "gvr_controller.h" +#include "gvr_gesture.h" +#include "gvr_types.h" +#include "gvr_version.h" + +using namespace v8; + +extern struct android_app *androidApp; +extern JNIEnv *androidJniEnv; + +namespace googlevr { + +extern Nan::Persistent googleVrContextConstructor; +extern Nan::Persistent googleVrContext; + +NAN_METHOD(GoogleVr_Init); +NAN_METHOD(GoogleVr_IsHmdPresent); + +} + +Local makeGoogleVr(); + +#endif From 2f55d923f01784cb3ad204a22312124bb8d59e08 Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Mon, 22 Apr 2019 15:26:54 -0500 Subject: [PATCH 25/28] add googlevr-math.h --- deps/googlevr/include/googlevr-math.h | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 deps/googlevr/include/googlevr-math.h diff --git a/deps/googlevr/include/googlevr-math.h b/deps/googlevr/include/googlevr-math.h new file mode 100644 index 0000000000..0b3961da20 --- /dev/null +++ b/deps/googlevr/include/googlevr-math.h @@ -0,0 +1,11 @@ +#ifndef _GOOGLEVR_MATH_H_ +#define _GOOGLEVR_MATH_H_ + +#include + +namespace googlevr { + + +} + +#endif From 94c01ec63a9bd483766c70c096b5f6e826711054 Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Mon, 22 Apr 2019 15:27:03 -0500 Subject: [PATCH 26/28] add googlevr-context.h --- deps/googlevr/include/googlevr-context.h | 51 ++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 deps/googlevr/include/googlevr-context.h diff --git a/deps/googlevr/include/googlevr-context.h b/deps/googlevr/include/googlevr-context.h new file mode 100644 index 0000000000..7e14b49b63 --- /dev/null +++ b/deps/googlevr/include/googlevr-context.h @@ -0,0 +1,51 @@ +#ifndef _GOOGLEVR_CONTEXT_H_ +#define _GOOGLEVR_CONTEXT_H_ + +#include +#include +#include +#include + +namespace googlevr { + +extern ovrJava java; + +class GoogleVrContext : public ObjectWrap { +public: + static Local Initialize(); + + void RequestPresent(); + static void handleAppCmd(struct android_app *app, int32_t cmd); + void CreateSwapChain(WebGLRenderingContext *gl, int width, int height); + void PollEvents(bool wait); + + static NAN_METHOD(New); + void Destroy(); + + static NAN_METHOD(WaitGetPoses); + static NAN_METHOD(Submit); + static NAN_METHOD(GetRecommendedRenderTargetSize); + + GoogleVrContext(NATIVEwindow *windowHandle); + ~GoogleVrContext(); + +// protected: + NATIVEwindow *windowHandle; + // ovrMobile *ovrState; + bool running; + ANativeWindow *androidNativeWindow; + // ovrTextureSwapChain *swapChains[2]; + int swapChainMetrics[2]; + int swapChainLength; + int swapChainIndex; + bool hasSwapChain; + GLuint fboId; + ovrTracking2 tracking; + long long frameIndex; + double displayTime; + int swapInterval; +}; + +} + +#endif From 1b3733b5408c93c6826ed8b77d0f449270f5b4a1 Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Mon, 22 Apr 2019 15:33:50 -0500 Subject: [PATCH 27/28] add googlevr-math.cpp --- deps/googlevr/src/googlevr-math.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 deps/googlevr/src/googlevr-math.cpp diff --git a/deps/googlevr/src/googlevr-math.cpp b/deps/googlevr/src/googlevr-math.cpp new file mode 100644 index 0000000000..cd9a73aaa6 --- /dev/null +++ b/deps/googlevr/src/googlevr-math.cpp @@ -0,0 +1,10 @@ +#if defined(ANDROID) + +#include + +namespace googlevr { + + +} + +#endif From d8dc0d052502a7cce4cb9629157dce4cffb4edc8 Mon Sep 17 00:00:00 2001 From: chrisplatorres Date: Mon, 22 Apr 2019 15:46:42 -0500 Subject: [PATCH 28/28] add googlevr.cpp --- deps/googlevr/src/googlevr.cpp | 72 ++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 deps/googlevr/src/googlevr.cpp diff --git a/deps/googlevr/src/googlevr.cpp b/deps/googlevr/src/googlevr.cpp new file mode 100644 index 0000000000..f1f9c86d4f --- /dev/null +++ b/deps/googlevr/src/googlevr.cpp @@ -0,0 +1,72 @@ +#ifdef ANDROID + +#include +#include +#include + +#include +#include + +#include +#include + +namespace googlevr { + +Nan::Persistent googleVrContextConstructor; +Nan::Persistent googleVrContext; + +NAN_METHOD(GoogleVr_Init) { + std::cout << "GoogleVr_Init 1" << std::endl; + + Local windowHandleArray = Local::Cast(info[0]); + + if (googleVrContextConstructor.IsEmpty()) { + googleVrContextConstructor.Reset(GoogleVrContext::Initialize()); + } + + Local localGoogleVrContextConstructor = Nan::New(googleVrContextConstructor); + Local argv[] = { + windowHandleArray, + }; + Local googleVrContextObj = localGoogleVrContextConstructor->NewInstance(Isolate::GetCurrent()->GetCurrentContext(), sizeof(argv)/sizeof(argv[0]), argv).ToLocalChecked(); + // Local googleVrContextObj = localGoogleVrContextConstructor->NewInstance(Isolate::GetCurrent()->GetCurrentContext(), 0, nullptr).ToLocalChecked(); + googleVrContext.Reset(googleVrContextObj); + + GoogleVrContext *omc = ObjectWrap::Unwrap(googleVrContextObj); + omc->RequestPresent(); + + info.GetReturnValue().Set(googleVrContextObj); +} + +NAN_METHOD(GoogleVr_Shutdown) { + std::cout << "GoogleVr_Shutdown" << std::endl; + + Local googleVrContextObj = Nan::New(googleVrContext); + GoogleVrContext *omc = ObjectWrap::Unwrap(googleVrContextObj); + omc->Destroy(); + googleVrContext.Reset(); + + // gvr_Shutdown(); +} + +NAN_METHOD(GoogleVr_IsHmdPresent) { + std::cout << "GoogleVr_IsHmdPresent" << std::endl; + + info.GetReturnValue().Set(Nan::New(true)); +} + +} + +Local makeGoogleVrVr() { + v8::EscapableHandleScope scope(Isolate::GetCurrent()); + + Local exports = Object::New(Isolate::GetCurrent()); + + exports->Set(Nan::New("GoogleVr_Init").ToLocalChecked(), Nan::New(googlevr::GoogleVr_Init)->GetFunction()); + exports->Set(Nan::New("GoogleVr_Shutdown").ToLocalChecked(), Nan::New(googlevr::GoogleVr_Shutdown)->GetFunction()); + exports->Set(Nan::New("GoogleVr_IsHmdPresent").ToLocalChecked(), Nan::New(googlevr::GoogleVr_IsHmdPresent)->GetFunction()); + + return scope.Escape(exports); +} + +#endif