diff options
27 files changed, 1 insertions, 3001 deletions
diff --git a/components/servo/main.rs b/components/servo/main.rs index 2176461bb46..01cd4fbc591 100644 --- a/components/servo/main.rs +++ b/components/servo/main.rs @@ -103,7 +103,7 @@ fn redirect_output(file_no: c_int) { #[cfg(target_os="android")] fn setup_logging() { use libc::consts::os::posix88::{STDERR_FILENO, STDOUT_FILENO}; - //os::setenv("RUST_LOG", "servo,gfx,msg,util,layers,js,glut,std,rt,extra"); + //os::setenv("RUST_LOG", "servo,gfx,msg,util,layers,js,std,rt,extra"); redirect_output(STDERR_FILENO); redirect_output(STDOUT_FILENO); } diff --git a/ports/android/.cargo/config b/ports/android/.cargo/config deleted file mode 100644 index c441f661b36..00000000000 --- a/ports/android/.cargo/config +++ /dev/null @@ -1,5 +0,0 @@ -[target.arm-linux-androideabi] -ar = "arm-linux-androideabi-ar" -linker = "arm-linux-androideabi-g++" - - diff --git a/ports/android/AndroidManifest.xml b/ports/android/AndroidManifest.xml deleted file mode 100644 index 8d6c8714199..00000000000 --- a/ports/android/AndroidManifest.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- BEGIN_INCLUDE(manifest) --> -<manifest xmlns:android="http://schemas.android.com/apk/res/android" - package="com.example.ServoAndroid" - android:versionCode="1" - android:versionName="1.0"> - - <!-- This is the platform API where NativeActivity was introduced. --> - <uses-sdk android:minSdkVersion="18" - android:targetSdkVersion="18" /> - <uses-feature android:glEsVersion="0x00020000" android:required="true"></uses-feature> - - <uses-permission android:name="android.permission.INTERNET" /> - <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> - <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> - - <!-- This .apk has no Java code itself, so set hasCode to false. --> - <!-- Add the flag android:debuggable="true" to the application tag to enable use of ndk-gdb --> - <application android:label="@string/app_name" android:hasCode="false" android:debuggable="true"> - - <!-- Our activity is the built-in NativeActivity framework class. - This will take care of integrating with our NDK code. --> - <activity android:name="android.app.NativeActivity" - android:label="@string/app_name" - android:exported="true" - android:hasCode="false" - android:hardwareAccelerated="true" - android:theme="@android:style/Theme.NoTitleBar.Fullscreen" - android:configChanges="orientation|keyboardHidden"> - <!-- Tell NativeActivity the name of or .so --> - <meta-data android:name="android.app.lib_name" - android:value="ServoAndroid" /> - <intent-filter> - <action android:name="android.intent.action.MAIN" /> - <category android:name="android.intent.category.LAUNCHER" /> - </intent-filter> - </activity> - </application> - -</manifest> -<!-- END_INCLUDE(manifest) --> diff --git a/ports/android/Makefile b/ports/android/Makefile deleted file mode 100644 index b99354e98cb..00000000000 --- a/ports/android/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -CARGO_OPTS ?= -RUST_ROOT ?= /usr/local - -.PHONY: all -all: glut_app - NDK_DEBUG=1 $(ANDROID_NDK)/ndk-build -B - find glut_app/target ! \( -type d -name dist -prune \) -name libmozjs.so | \ - xargs -I {} cp -f {} libs/armeabi - find glut_app/target ! \( -type d -name dist -prune \) -name 'libglut_app-*.so' | \ - xargs -I {} cp -f {} libs/armeabi/libservo.so - find $(RUST_ROOT)/lib/rustlib/arm-linux-androideabi/lib \ - -name '*.so' -type f -size +1c | \ - xargs -I {} cp -f {} libs/armeabi - $(ANDROID_SDK)/tools/android update project \ - --name ServoAndroid \ - --target "android-18" \ - --path . - ant debug - -.PHONY: glut_app -glut_app: - cd glut_app; \ - ../../../mach cargo build --target=arm-linux-androideabi $(CARGO_OPTS) - -.PHONY: install -install: - $(ANDROID_SDK)/platform-tools/adb install -r bin/ServoAndroid-debug.apk diff --git a/ports/android/build.xml b/ports/android/build.xml deleted file mode 100644 index b9cac14efdd..00000000000 --- a/ports/android/build.xml +++ /dev/null @@ -1,92 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project name="ServoAndroid" default="help"> - - <!-- The local.properties file is created and updated by the 'android' tool. - It contains the path to the SDK. It should *NOT* be checked into - Version Control Systems. --> - <property file="local.properties" /> - - <!-- The ant.properties file can be created by you. It is only edited by the - 'android' tool to add properties to it. - This is the place to change some Ant specific build properties. - Here are some properties you may want to change/update: - - source.dir - The name of the source directory. Default is 'src'. - out.dir - The name of the output directory. Default is 'bin'. - - For other overridable properties, look at the beginning of the rules - files in the SDK, at tools/ant/build.xml - - Properties related to the SDK location or the project target should - be updated using the 'android' tool with the 'update' action. - - This file is an integral part of the build system for your - application and should be checked into Version Control Systems. - - --> - <property file="ant.properties" /> - - <!-- if sdk.dir was not set from one of the property file, then - get it from the ANDROID_HOME env var. - This must be done before we load project.properties since - the proguard config can use sdk.dir --> - <property environment="env" /> - <condition property="sdk.dir" value="${env.ANDROID_HOME}"> - <isset property="env.ANDROID_HOME" /> - </condition> - - <!-- The project.properties file is created and updated by the 'android' - tool, as well as ADT. - - This contains project specific properties such as project target, and library - dependencies. Lower level build properties are stored in ant.properties - (or in .classpath for Eclipse projects). - - This file is an integral part of the build system for your - application and should be checked into Version Control Systems. --> - <loadproperties srcFile="project.properties" /> - - <!-- quick check on sdk.dir --> - <fail - message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." - unless="sdk.dir" - /> - - <!-- - Import per project custom build rules if present at the root of the project. - This is the place to put custom intermediary targets such as: - -pre-build - -pre-compile - -post-compile (This is typically used for code obfuscation. - Compiled code location: ${out.classes.absolute.dir} - If this is not done in place, override ${out.dex.input.absolute.dir}) - -post-package - -post-build - -pre-clean - --> - <import file="custom_rules.xml" optional="true" /> - - <!-- Import the actual build file. - - To customize existing targets, there are two options: - - Customize only one target: - - copy/paste the target into this file, *before* the - <import> task. - - customize it to your needs. - - Customize the whole content of build.xml - - copy/paste the content of the rules files (minus the top node) - into this file, replacing the <import> task. - - customize to your needs. - - *********************** - ****** IMPORTANT ****** - *********************** - In all cases you must update the value of version-tag below to read 'custom' instead of an integer, - in order to avoid having your file be overridden by tools such as "android update project" - --> - <!-- version-tag: 1 --> - <import file="${sdk.dir}/tools/ant/build.xml" /> - -</project> diff --git a/ports/android/glut_app/.gitignore b/ports/android/glut_app/.gitignore deleted file mode 100644 index 54466f5b094..00000000000 --- a/ports/android/glut_app/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/target - diff --git a/ports/android/glut_app/Cargo.lock b/ports/android/glut_app/Cargo.lock deleted file mode 100644 index 10f9ecfdda4..00000000000 --- a/ports/android/glut_app/Cargo.lock +++ /dev/null @@ -1,644 +0,0 @@ -[root] -name = "glut_app" -version = "0.0.1" -dependencies = [ - "compositing 0.0.1", - "egl 0.1.0 (git+https://github.com/servo/rust-egl)", - "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "glut 0.0.1 (git+https://github.com/servo/rust-glut)", - "layers 0.1.0 (git+https://github.com/servo/rust-layers)", - "msg 0.0.1", - "servo 0.0.1", - "util 0.0.1", -] - -[[package]] -name = "azure" -version = "0.1.0" -source = "git+https://github.com/servo/rust-azure#e8323588209b47a07b67f61812c75dfeb2ad6851" -dependencies = [ - "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", - "core_graphics 0.1.0 (git+https://github.com/servo/rust-core-graphics)", - "core_text 0.1.0 (git+https://github.com/servo/rust-core-text)", - "egl 0.1.0 (git+https://github.com/servo/rust-egl)", - "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", - "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "layers 0.1.0 (git+https://github.com/servo/rust-layers)", - "skia-sys 0.0.20130412 (git+https://github.com/servo/skia?ref=upstream-2014-06-16)", - "xlib 0.1.0 (git+https://github.com/servo/rust-xlib)", -] - -[[package]] -name = "canvas" -version = "0.0.1" -dependencies = [ - "azure 0.1.0 (git+https://github.com/servo/rust-azure)", - "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "util 0.0.1", -] - -[[package]] -name = "cgl" -version = "0.0.1" -source = "git+https://github.com/servo/rust-cgl#7b7090729f65e2287c3d80651df02e547911b119" -dependencies = [ - "gleam 0.0.1 (git+https://github.com/servo/gleam)", -] - -[[package]] -name = "compositing" -version = "0.0.1" -dependencies = [ - "azure 0.1.0 (git+https://github.com/servo/rust-azure)", - "core_graphics 0.1.0 (git+https://github.com/servo/rust-core-graphics)", - "core_text 0.1.0 (git+https://github.com/servo/rust-core-text)", - "devtools 0.0.1", - "devtools_traits 0.0.1", - "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "gfx 0.0.1", - "gleam 0.0.1 (git+https://github.com/servo/gleam)", - "layers 0.1.0 (git+https://github.com/servo/rust-layers)", - "layout_traits 0.0.1", - "msg 0.0.1", - "net 0.0.1", - "png 0.1.0 (git+https://github.com/servo/rust-png)", - "script_traits 0.0.1", - "url 0.1.0 (git+https://github.com/servo/rust-url)", - "util 0.0.1", -] - -[[package]] -name = "cookie" -version = "0.0.1" -source = "git+https://github.com/servo/cookie-rs#30520767a95b92e39265aaf6822db515b2418f1d" -dependencies = [ - "openssl 0.0.1 (git+https://github.com/servo/rust-openssl)", - "url 0.1.0 (git+https://github.com/servo/rust-url)", -] - -[[package]] -name = "core_foundation" -version = "0.1.0" -source = "git+https://github.com/servo/rust-core-foundation#6fa0b908f3912e20d081193e83bf5a9aa958fb83" - -[[package]] -name = "core_graphics" -version = "0.1.0" -source = "git+https://github.com/servo/rust-core-graphics#9434e2bda65d259f825104170b5fa6cc6dbaf5a9" -dependencies = [ - "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", -] - -[[package]] -name = "core_text" -version = "0.1.0" -source = "git+https://github.com/servo/rust-core-text#85784007b6fa1b8f9614059edcd0429b2bd69a11" -dependencies = [ - "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", - "core_graphics 0.1.0 (git+https://github.com/servo/rust-core-graphics)", -] - -[[package]] -name = "cssparser" -version = "0.1.0" -source = "git+https://github.com/servo/rust-cssparser#cbbfd66f794bd019bbdeaefc88b29eff455b62e5" -dependencies = [ - "encoding 0.2.0 (git+https://github.com/lifthrasiir/rust-encoding)", -] - -[[package]] -name = "devtools" -version = "0.0.1" -dependencies = [ - "devtools_traits 0.0.1", - "msg 0.0.1", - "util 0.0.1", -] - -[[package]] -name = "devtools_traits" -version = "0.0.1" -dependencies = [ - "msg 0.0.1", -] - -[[package]] -name = "egl" -version = "0.1.0" -source = "git+https://github.com/servo/rust-egl#88f2a13812ddbce2bf2317221663a61c31b3e220" - -[[package]] -name = "encoding" -version = "0.2.0" -source = "git+https://github.com/lifthrasiir/rust-encoding#a06637cc6d0da37c12c68661e2ee9ca1999764a4" -dependencies = [ - "encoding-index-japanese 1.0.20140915 (git+https://github.com/lifthrasiir/rust-encoding)", - "encoding-index-korean 1.0.20140915 (git+https://github.com/lifthrasiir/rust-encoding)", - "encoding-index-simpchinese 1.0.20140915 (git+https://github.com/lifthrasiir/rust-encoding)", - "encoding-index-singlebyte 1.0.20140915 (git+https://github.com/lifthrasiir/rust-encoding)", - "encoding-index-tradchinese 1.0.20140915 (git+https://github.com/lifthrasiir/rust-encoding)", -] - -[[package]] -name = "encoding-index-japanese" -version = "1.0.20140915" -source = "git+https://github.com/lifthrasiir/rust-encoding#a06637cc6d0da37c12c68661e2ee9ca1999764a4" - -[[package]] -name = "encoding-index-korean" -version = "1.0.20140915" -source = "git+https://github.com/lifthrasiir/rust-encoding#a06637cc6d0da37c12c68661e2ee9ca1999764a4" - -[[package]] -name = "encoding-index-simpchinese" -version = "1.0.20140915" -source = "git+https://github.com/lifthrasiir/rust-encoding#a06637cc6d0da37c12c68661e2ee9ca1999764a4" - -[[package]] -name = "encoding-index-singlebyte" -version = "1.0.20140915" -source = "git+https://github.com/lifthrasiir/rust-encoding#a06637cc6d0da37c12c68661e2ee9ca1999764a4" - -[[package]] -name = "encoding-index-tradchinese" -version = "1.0.20140915" -source = "git+https://github.com/lifthrasiir/rust-encoding#a06637cc6d0da37c12c68661e2ee9ca1999764a4" - -[[package]] -name = "expat-sys" -version = "2.1.0" -source = "git+https://github.com/servo/libexpat#da2ddaf78cbef836b8790807bb76b357c58df3a1" - -[[package]] -name = "fontconfig" -version = "0.1.0" -source = "git+https://github.com/servo/rust-fontconfig#f42ff5cbd0404fe4d2cd64e8d9bb6307bad8fd7c" -dependencies = [ - "fontconfig-sys 2.11.1 (git+https://github.com/servo/libfontconfig)", -] - -[[package]] -name = "fontconfig-sys" -version = "2.11.1" -source = "git+https://github.com/servo/libfontconfig#fcc324d2c8175d2e8e8c0aab032c03a404809f6d" -dependencies = [ - "expat-sys 2.1.0 (git+https://github.com/servo/libexpat)", - "freetype-sys 2.4.11 (git+https://github.com/servo/libfreetype2)", -] - -[[package]] -name = "freetype" -version = "0.1.0" -source = "git+https://github.com/servo/rust-freetype#e55b06110fb2d74a2db68ead740db7e98fb98060" - -[[package]] -name = "freetype-sys" -version = "2.4.11" -source = "git+https://github.com/servo/libfreetype2#f5c49c0da1d5bc6b206c4176344012ac37524243" - -[[package]] -name = "geom" -version = "0.1.0" -source = "git+https://github.com/servo/rust-geom#95e746133b4a35b53eb259304668b63ee8de42b8" - -[[package]] -name = "gfx" -version = "0.0.1" -dependencies = [ - "azure 0.1.0 (git+https://github.com/servo/rust-azure)", - "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", - "core_graphics 0.1.0 (git+https://github.com/servo/rust-core-graphics)", - "core_text 0.1.0 (git+https://github.com/servo/rust-core-text)", - "fontconfig 0.1.0 (git+https://github.com/servo/rust-fontconfig)", - "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", - "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "harfbuzz 0.1.0 (git+https://github.com/servo/rust-harfbuzz)", - "layers 0.1.0 (git+https://github.com/servo/rust-layers)", - "msg 0.0.1", - "net 0.0.1", - "plugins 0.0.1", - "png 0.1.0 (git+https://github.com/servo/rust-png)", - "script_traits 0.0.1", - "stb_image 0.1.0 (git+https://github.com/servo/rust-stb-image)", - "style 0.0.1", - "url 0.1.0 (git+https://github.com/servo/rust-url)", - "util 0.0.1", -] - -[[package]] -name = "gl_common" -version = "0.0.1" -source = "git+https://github.com/bjz/gl-rs.git#79cd3b3f9f19aa0e39f6af572fc8673a6d9760bc" - -[[package]] -name = "gl_generator" -version = "0.0.1" -source = "git+https://github.com/bjz/gl-rs.git#79cd3b3f9f19aa0e39f6af572fc8673a6d9760bc" -dependencies = [ - "gl_common 0.0.1 (git+https://github.com/bjz/gl-rs.git)", - "khronos_api 0.0.1 (git+https://github.com/bjz/gl-rs.git)", - "rust-xml 0.1.0 (git+https://github.com/netvl/rust-xml)", -] - -[[package]] -name = "gleam" -version = "0.0.1" -source = "git+https://github.com/servo/gleam#aaea38be25ce9de6e1e8620fa5b554669ac6475c" -dependencies = [ - "gl_generator 0.0.1 (git+https://github.com/bjz/gl-rs.git)", -] - -[[package]] -name = "glut" -version = "0.0.1" -source = "git+https://github.com/servo/rust-glut#63aa09161b6b2a8c5daac91449d1fc3b0c3e665f" -dependencies = [ - "opengles 0.1.0 (git+https://github.com/servo/rust-opengles)", -] - -[[package]] -name = "glx" -version = "0.0.1" -source = "git+https://github.com/servo/rust-glx#7126ffa09fcfcc9f85f1406f3b5db729f5fdb7c3" -dependencies = [ - "gl_generator 0.0.1 (git+https://github.com/bjz/gl-rs.git)", -] - -[[package]] -name = "harfbuzz" -version = "0.1.0" -source = "git+https://github.com/servo/rust-harfbuzz#8aab215463214647b7a81f66011da552bbb1121c" - -[[package]] -name = "html5ever" -version = "0.0.0" -source = "git+https://github.com/servo/html5ever?ref=servo#87c7e8b710391338b2463652be835f498923653c" -dependencies = [ - "html5ever_macros 0.0.0 (git+https://github.com/servo/html5ever?ref=servo)", - "phf 0.0.0 (git+https://github.com/sfackler/rust-phf)", - "phf_mac 0.0.0 (git+https://github.com/sfackler/rust-phf)", - "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", -] - -[[package]] -name = "html5ever_macros" -version = "0.0.0" -source = "git+https://github.com/servo/html5ever?ref=servo#87c7e8b710391338b2463652be835f498923653c" - -[[package]] -name = "hyper" -version = "0.0.1" -source = "git+https://github.com/servo/hyper?ref=servo#dd9d1830f35f7a8371b1b3bcb2d3e9cf2763f33f" -dependencies = [ - "cookie 0.0.1 (git+https://github.com/servo/cookie-rs)", - "mime 0.0.1 (git+https://github.com/hyperium/mime.rs)", - "move-acceptor 0.0.1 (git+https://github.com/reem/rust-move-acceptor)", - "openssl 0.0.1 (git+https://github.com/servo/rust-openssl)", - "typeable 0.0.3 (git+https://github.com/reem/rust-typeable)", - "unsafe-any 0.1.0 (git+https://github.com/reem/rust-unsafe-any)", - "url 0.1.0 (git+https://github.com/servo/rust-url)", -] - -[[package]] -name = "io_surface" -version = "0.1.0" -source = "git+https://github.com/servo/rust-io-surface#691cbccc320c4fb9b75e215da9b0b82539d729bd" -dependencies = [ - "cgl 0.0.1 (git+https://github.com/servo/rust-cgl)", - "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", - "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "gleam 0.0.1 (git+https://github.com/servo/gleam)", -] - -[[package]] -name = "js" -version = "0.1.0" -source = "git+https://github.com/servo/rust-mozjs#7563bbd5abf12a1f0d01661c525b1f2491f783a9" -dependencies = [ - "mozjs-sys 0.0.0 (git+https://github.com/servo/mozjs)", -] - -[[package]] -name = "khronos_api" -version = "0.0.1" -source = "git+https://github.com/bjz/gl-rs.git#79cd3b3f9f19aa0e39f6af572fc8673a6d9760bc" - -[[package]] -name = "layers" -version = "0.1.0" -source = "git+https://github.com/servo/rust-layers#63d1093f2a01a6fb9599ea6d932aadf79598451f" -dependencies = [ - "cgl 0.0.1 (git+https://github.com/servo/rust-cgl)", - "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", - "egl 0.1.0 (git+https://github.com/servo/rust-egl)", - "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "gleam 0.0.1 (git+https://github.com/servo/gleam)", - "glx 0.0.1 (git+https://github.com/servo/rust-glx)", - "io_surface 0.1.0 (git+https://github.com/servo/rust-io-surface)", - "xlib 0.1.0 (git+https://github.com/servo/rust-xlib)", -] - -[[package]] -name = "layout" -version = "0.0.1" -dependencies = [ - "encoding 0.2.0 (git+https://github.com/lifthrasiir/rust-encoding)", - "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "gfx 0.0.1", - "layout_traits 0.0.1", - "net 0.0.1", - "plugins 0.0.1", - "script 0.0.1", - "script_traits 0.0.1", - "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", - "style 0.0.1", - "url 0.1.0 (git+https://github.com/servo/rust-url)", - "util 0.0.1", -] - -[[package]] -name = "layout_traits" -version = "0.0.1" -dependencies = [ - "gfx 0.0.1", - "msg 0.0.1", - "net 0.0.1", - "script_traits 0.0.1", - "util 0.0.1", -] - -[[package]] -name = "lazy_static" -version = "0.1.0" -source = "git+https://github.com/Kimundi/lazy-static.rs#62976cb611c5396e11315ae64c9c389576240eb7" - -[[package]] -name = "libressl-pnacl-sys" -version = "2.0.2" -source = "git+https://github.com/DiamondLovesYou/libressl-pnacl-sys.git#8e9349e0280b069bfab247a2202cd10b8beae154" -dependencies = [ - "pnacl-build-helper 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "mime" -version = "0.0.1" -source = "git+https://github.com/hyperium/mime.rs#5264e04655974f85c8d6581395cc24597266c653" - -[[package]] -name = "move-acceptor" -version = "0.0.1" -source = "git+https://github.com/reem/rust-move-acceptor#25c5c33a83f605fdd0f3d37d2589e2b0b4e6cbd1" - -[[package]] -name = "mozjs-sys" -version = "0.0.0" -source = "git+https://github.com/servo/mozjs#0dd618fcc78fe7aa64e4e2a3b0f7f0d8a2f0f08a" - -[[package]] -name = "msg" -version = "0.0.1" -dependencies = [ - "azure 0.1.0 (git+https://github.com/servo/rust-azure)", - "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", - "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "hyper 0.0.1 (git+https://github.com/servo/hyper?ref=servo)", - "io_surface 0.1.0 (git+https://github.com/servo/rust-io-surface)", - "layers 0.1.0 (git+https://github.com/servo/rust-layers)", - "url 0.1.0 (git+https://github.com/servo/rust-url)", - "util 0.0.1", -] - -[[package]] -name = "net" -version = "0.0.1" -dependencies = [ - "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "hyper 0.0.1 (git+https://github.com/servo/hyper?ref=servo)", - "png 0.1.0 (git+https://github.com/servo/rust-png)", - "stb_image 0.1.0 (git+https://github.com/servo/rust-stb-image)", - "url 0.1.0 (git+https://github.com/servo/rust-url)", - "util 0.0.1", -] - -[[package]] -name = "opengles" -version = "0.1.0" -source = "git+https://github.com/servo/rust-opengles#7f025f0069fbf6fefef4ed383b9be120584f2ab5" - -[[package]] -name = "openssl" -version = "0.0.1" -source = "git+https://github.com/servo/rust-openssl#82b520100532dba9a4cdd4588709eaedb37c7a77" -dependencies = [ - "libressl-pnacl-sys 2.0.2 (git+https://github.com/DiamondLovesYou/libressl-pnacl-sys.git)", - "openssl-sys 0.0.1 (git+https://github.com/servo/rust-openssl)", -] - -[[package]] -name = "openssl-sys" -version = "0.0.1" -source = "git+https://github.com/servo/rust-openssl#82b520100532dba9a4cdd4588709eaedb37c7a77" -dependencies = [ - "pkg-config 0.1.0 (git+https://github.com/alexcrichton/pkg-config-rs)", -] - -[[package]] -name = "phf" -version = "0.0.0" -source = "git+https://github.com/sfackler/rust-phf#18a5ecc028055c3dbd650cc5a064b6fb033d82ef" -dependencies = [ - "xxhash 0.0.1 (git+https://github.com/Jurily/rust-xxhash)", -] - -[[package]] -name = "phf_mac" -version = "0.0.0" -source = "git+https://github.com/sfackler/rust-phf#18a5ecc028055c3dbd650cc5a064b6fb033d82ef" -dependencies = [ - "xxhash 0.0.1 (git+https://github.com/Jurily/rust-xxhash)", -] - -[[package]] -name = "pkg-config" -version = "0.1.0" -source = "git+https://github.com/alexcrichton/pkg-config-rs#9b3b44a2e1a8ccc70c3f701aeb5154ad79e665e9" - -[[package]] -name = "plugins" -version = "0.0.1" - -[[package]] -name = "pnacl-build-helper" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "png" -version = "0.1.0" -source = "git+https://github.com/servo/rust-png#b0b4acde0080dd475dee93615276bfc19207a21e" -dependencies = [ - "png-sys 1.6.3 (git+https://github.com/servo/libpng?ref=servo)", -] - -[[package]] -name = "png-sys" -version = "1.6.3" -source = "git+https://github.com/servo/libpng?ref=servo#d01f32b4eb86904695efe7fc02b574f902e21a98" - -[[package]] -name = "rust-xml" -version = "0.1.0" -source = "git+https://github.com/netvl/rust-xml#d6c57380a300b94f7e7881979dbe5459dbe4ca06" - -[[package]] -name = "script" -version = "0.0.1" -dependencies = [ - "canvas 0.0.1", - "cssparser 0.1.0 (git+https://github.com/servo/rust-cssparser)", - "devtools_traits 0.0.1", - "encoding 0.2.0 (git+https://github.com/lifthrasiir/rust-encoding)", - "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "gfx 0.0.1", - "html5ever 0.0.0 (git+https://github.com/servo/html5ever?ref=servo)", - "hyper 0.0.1 (git+https://github.com/servo/hyper?ref=servo)", - "js 0.1.0 (git+https://github.com/servo/rust-mozjs)", - "msg 0.0.1", - "net 0.0.1", - "plugins 0.0.1", - "script_traits 0.0.1", - "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", - "style 0.0.1", - "url 0.1.0 (git+https://github.com/servo/rust-url)", - "util 0.0.1", - "uuid 0.0.1 (git+https://github.com/rust-lang/uuid)", -] - -[[package]] -name = "script_traits" -version = "0.0.1" -dependencies = [ - "devtools_traits 0.0.1", - "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "msg 0.0.1", - "net 0.0.1", - "url 0.1.0 (git+https://github.com/servo/rust-url)", - "util 0.0.1", -] - -[[package]] -name = "servo" -version = "0.0.1" -dependencies = [ - "compositing 0.0.1", - "gfx 0.0.1", - "layout 0.0.1", - "msg 0.0.1", - "net 0.0.1", - "script 0.0.1", - "url 0.1.0 (git+https://github.com/servo/rust-url)", - "util 0.0.1", -] - -[[package]] -name = "skia-sys" -version = "0.0.20130412" -source = "git+https://github.com/servo/skia?ref=upstream-2014-06-16#35649d0cddfd89c0bfee0ff558da7291e26d30c3" -dependencies = [ - "expat-sys 2.1.0 (git+https://github.com/servo/libexpat)", - "freetype-sys 2.4.11 (git+https://github.com/servo/libfreetype2)", -] - -[[package]] -name = "stb_image" -version = "0.1.0" -source = "git+https://github.com/servo/rust-stb-image#74488fef4740acf287ff5dc248d65cc74033467a" - -[[package]] -name = "string_cache" -version = "0.0.0" -source = "git+https://github.com/servo/string-cache#ae950525434b642eff5f4904f5e0c76cd6ea99b9" -dependencies = [ - "lazy_static 0.1.0 (git+https://github.com/Kimundi/lazy-static.rs)", - "phf 0.0.0 (git+https://github.com/sfackler/rust-phf)", - "phf_mac 0.0.0 (git+https://github.com/sfackler/rust-phf)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", - "xxhash 0.0.1 (git+https://github.com/Jurily/rust-xxhash)", -] - -[[package]] -name = "string_cache_macros" -version = "0.0.0" -source = "git+https://github.com/servo/string-cache#ae950525434b642eff5f4904f5e0c76cd6ea99b9" -dependencies = [ - "lazy_static 0.1.0 (git+https://github.com/Kimundi/lazy-static.rs)", -] - -[[package]] -name = "style" -version = "0.0.1" -dependencies = [ - "cssparser 0.1.0 (git+https://github.com/servo/rust-cssparser)", - "encoding 0.2.0 (git+https://github.com/lifthrasiir/rust-encoding)", - "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "lazy_static 0.1.0 (git+https://github.com/Kimundi/lazy-static.rs)", - "plugins 0.0.1", - "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", - "url 0.1.0 (git+https://github.com/servo/rust-url)", - "util 0.0.1", -] - -[[package]] -name = "task_info" -version = "0.0.1" - -[[package]] -name = "typeable" -version = "0.0.3" -source = "git+https://github.com/reem/rust-typeable#db8975daaa3889871f67eea11baeaefd8e706eaf" - -[[package]] -name = "unsafe-any" -version = "0.1.0" -source = "git+https://github.com/reem/rust-unsafe-any#2863af363bbd83079b6773920bba5b736408db33" - -[[package]] -name = "url" -version = "0.1.0" -source = "git+https://github.com/servo/rust-url#8a61b7654ab5378b488225a1d8a9cbbbcbd38894" -dependencies = [ - "encoding 0.2.0 (git+https://github.com/lifthrasiir/rust-encoding)", -] - -[[package]] -name = "util" -version = "0.0.1" -dependencies = [ - "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "layers 0.1.0 (git+https://github.com/servo/rust-layers)", - "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", - "task_info 0.0.1", - "url 0.1.0 (git+https://github.com/servo/rust-url)", -] - -[[package]] -name = "uuid" -version = "0.0.1" -source = "git+https://github.com/rust-lang/uuid#7c5af48d4f9074717199e05a1895f42b9fb1c1f0" - -[[package]] -name = "xlib" -version = "0.1.0" -source = "git+https://github.com/servo/rust-xlib#58ec3847b592aeabdcfeb6a2d02033d3a2c7f427" - -[[package]] -name = "xxhash" -version = "0.0.1" -source = "git+https://github.com/Jurily/rust-xxhash#7e4174e780af0cfb29a5e53ede0b987adca16396" - diff --git a/ports/android/glut_app/Cargo.toml b/ports/android/glut_app/Cargo.toml deleted file mode 100644 index f2e1bf4f65a..00000000000 --- a/ports/android/glut_app/Cargo.toml +++ /dev/null @@ -1,34 +0,0 @@ -[package] -name = "glut_app" -version = "0.0.1" -authors = ["The Servo Project Developers"] - -[lib] -name = "glut_app" -path = "lib.rs" -crate-type = ["dylib"] - -[dependencies.compositing] -path = "../../../components/compositing" - -[dependencies.geom] -git = "https://github.com/servo/rust-geom" - -[dependencies.glut] -git = "https://github.com/servo/rust-glut" - -[dependencies.layers] -git = "https://github.com/servo/rust-layers" - -[dependencies.msg] -path = "../../../components/msg" - -[dependencies.servo] -path = "../../../components/servo" -default-features = false - -[dependencies.util] -path = "../../../components/util" - -[dependencies.egl] -git = "https://github.com/servo/rust-egl" diff --git a/ports/android/glut_app/lib.rs b/ports/android/glut_app/lib.rs deleted file mode 100644 index 2efb83c8d24..00000000000 --- a/ports/android/glut_app/lib.rs +++ /dev/null @@ -1,65 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -//! A simple application that uses GLUT to open a window for Servo to display in. - -#![license = "MPL"] -#![feature(macro_rules, phase)] -#![deny(unused_imports)] -#![deny(unused_variables)] - -extern crate compositing; -extern crate egl; -extern crate geom; -extern crate glut; -extern crate layers; -extern crate libc; -#[phase(plugin, link)] extern crate log; -extern crate msg; -extern crate native; -extern crate servo; -#[phase(plugin, link)] extern crate util; - -use geom::scale_factor::ScaleFactor; -use std::rc::Rc; -use std::string; -use util::opts; -use window::Window; - -use glut::glut::{init, init_display_mode, DOUBLE}; - -mod window; - -pub fn create_window() -> Rc<Window> { - // Initialize GLUT. - init(); - init_display_mode(DOUBLE); - - // Read command-line options. - let scale_factor = opts::get().device_pixels_per_px.unwrap_or(ScaleFactor(1.0)); - let size = opts::get().initial_window_size.as_f32() * scale_factor; - - // Open a window. - Window::new(size.as_uint()) -} - -#[no_mangle] -#[allow(dead_code)] -pub extern "C" fn android_start(argc: int, argv: *const *const u8) -> int { - native::start(argc, argv, proc() { - let mut args: Vec<String> = vec!(); - for i in range(0u, argc as uint) { - unsafe { - args.push(string::raw::from_buf(*argv.offset(i as int) as *const u8)); - } - } - - if opts::from_cmdline_args(args.as_slice()) { - let window = create_window(); - let mut browser = servo::Browser::new(Some(window.clone())); - while browser.handle_event(window.wait_events()) {} - browser.shutdown(); - } - }) -} diff --git a/ports/android/glut_app/window.rs b/ports/android/glut_app/window.rs deleted file mode 100644 index 29ec9cdcd2b..00000000000 --- a/ports/android/glut_app/window.rs +++ /dev/null @@ -1,330 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -//! A windowing implementation using GLUT. - -use compositing::compositor_task::{mod, CompositorProxy, CompositorReceiver}; -use compositing::windowing::{WindowEvent, WindowMethods}; -use compositing::windowing::{IdleWindowEvent, ResizeWindowEvent, MouseWindowEventClass}; -use compositing::windowing::{ScrollWindowEvent, ZoomWindowEvent, NavigationWindowEvent}; -use compositing::windowing::{MouseWindowClickEvent, MouseWindowMouseDownEvent, MouseWindowMouseUpEvent}; -use compositing::windowing::{Forward, Back}; - -use libc::{c_int, c_uchar}; -use std::cell::{Cell, RefCell}; -use std::rc::Rc; -use geom::point::{Point2D, TypedPoint2D}; -use geom::scale_factor::ScaleFactor; -use geom::size::TypedSize2D; -use layers::geometry::DevicePixel; -use layers::platform::surface::NativeGraphicsMetadata; -use msg::compositor_msg::{Blank, IdlePaintState, PaintState, ReadyState}; -use msg::constellation_msg::LoadData; -use util::geometry::ScreenPx; - -use glut::glut::{ACTIVE_SHIFT, WindowHeight}; -use glut::glut::WindowWidth; -use glut::glut; - -// static THROBBER: [char, ..8] = [ '⣾', '⣽', '⣻', '⢿', '⡿', '⣟', '⣯', '⣷' ]; - -/// The type of a window. -pub struct Window { - pub glut_window: glut::Window, - - pub event_queue: RefCell<Vec<WindowEvent>>, - - pub drag_origin: Point2D<c_int>, - - pub mouse_down_button: Cell<c_int>, - pub mouse_down_point: Cell<Point2D<c_int>>, - - pub ready_state: Cell<ReadyState>, - pub paint_state: Cell<PaintState>, - pub throbber_frame: Cell<u8>, -} - -impl Window { - /// Creates a new window. - pub fn new(size: TypedSize2D<DevicePixel, uint>) -> Rc<Window> { - // Create the GLUT window. - let window_size = size.to_untyped(); - glut::init_window_size(window_size.width, window_size.height); - let glut_window = glut::create_window("Servo".to_string()); - - // Create our window object. - let window = Window { - glut_window: glut_window, - - event_queue: RefCell::new(vec!()), - - drag_origin: Point2D(0 as c_int, 0), - - mouse_down_button: Cell::new(0), - mouse_down_point: Cell::new(Point2D(0 as c_int, 0)), - - ready_state: Cell::new(Blank), - paint_state: Cell::new(IdlePaintState), - throbber_frame: Cell::new(0), - }; - - // Register event handlers. - - //Added dummy display callback to freeglut. According to freeglut ref, we should register some kind of display callback after freeglut 3.0. - - struct DisplayCallbackState; - impl glut::DisplayCallback for DisplayCallbackState { - fn call(&self) { - debug!("GLUT display func registgered"); - } - } - glut::display_func(box DisplayCallbackState); - struct ReshapeCallbackState; - impl glut::ReshapeCallback for ReshapeCallbackState { - fn call(&self, width: c_int, height: c_int) { - let tmp = local_window(); - tmp.event_queue.borrow_mut().push(ResizeWindowEvent(TypedSize2D(width as uint, height as uint))) - } - } - glut::reshape_func(glut_window, box ReshapeCallbackState); - struct KeyboardCallbackState; - impl glut::KeyboardCallback for KeyboardCallbackState { - fn call(&self, key: c_uchar, _x: c_int, _y: c_int) { - let tmp = local_window(); - tmp.handle_key(key) - } - } - glut::keyboard_func(box KeyboardCallbackState); - struct MouseCallbackState; - impl glut::MouseCallback for MouseCallbackState { - fn call(&self, button: c_int, state: c_int, x: c_int, y: c_int) { - if button < 3 { - let tmp = local_window(); - tmp.handle_mouse(button, state, x, y); - } else { - match button { - 3 => { - let tmp = local_window(); - tmp.event_queue.borrow_mut().push(ScrollWindowEvent( - TypedPoint2D(0.0f32, 5.0f32), - TypedPoint2D(0i32, 5i32))); - }, - 4 => { - let tmp = local_window(); - tmp.event_queue.borrow_mut().push(ScrollWindowEvent( - TypedPoint2D(0.0f32, -5.0f32), - TypedPoint2D(0i32, -5i32))); - }, - _ => {} - } - } - } - } - glut::mouse_func(box MouseCallbackState); - - let wrapped_window = Rc::new(window); - - install_local_window(wrapped_window.clone()); - - wrapped_window - } - - pub fn wait_events(&self) -> WindowEvent { - if !self.event_queue.borrow_mut().is_empty() { - return self.event_queue.borrow_mut().remove(0).unwrap(); - } - - // XXX: Need a function that blocks waiting for events, like glfwWaitEvents. - glut::check_loop(); - - self.event_queue.borrow_mut().remove(0).unwrap_or(IdleWindowEvent) - } -} - -impl Drop for Window { - fn drop(&mut self) { - drop_local_window(); - } -} - -impl WindowMethods for Window { - /// Returns the size of the window in hardware pixels. - fn framebuffer_size(&self) -> TypedSize2D<DevicePixel, uint> { - TypedSize2D(glut::get(WindowWidth) as uint, glut::get(WindowHeight) as uint) - } - - /// Returns the size of the window in density-independent "px" units. - fn size(&self) -> TypedSize2D<ScreenPx, f32> { - self.framebuffer_size().as_f32() / self.hidpi_factor() - } - - /// Presents the window to the screen (perhaps by page flipping). - fn present(&self) { - glut::swap_buffers(); - } - - fn create_compositor_channel(_: &Option<Rc<Window>>) - -> (Box<CompositorProxy+Send>, Box<CompositorReceiver>) { - let (sender, receiver) = channel(); - (box GlutCompositorProxy { - sender: sender, - } as Box<CompositorProxy+Send>, - box receiver as Box<CompositorReceiver>) - } - - /// Sets the ready state. - fn set_ready_state(&self, ready_state: ReadyState) { - self.ready_state.set(ready_state); - // FIXME: set_window_title causes crash with Android version of freeGLUT. Temporarily - // blocked. - // - // self.update_window_title() - } - - /// Sets the paint state. - fn set_paint_state(&self, paint_state: PaintState) { - self.paint_state.set(paint_state); - // FIXME: set_window_title causes crash with Android version of freeGLUT. Temporarily - // blocked. - // - // self.update_window_title() - } - - fn hidpi_factor(&self) -> ScaleFactor<ScreenPx, DevicePixel, f32> { - // FIXME: Do nothing in GLUT now. - ScaleFactor(1.0) - } - - fn native_metadata(&self) -> NativeGraphicsMetadata { - use egl::egl::GetCurrentDisplay; - NativeGraphicsMetadata { - display: GetCurrentDisplay(), - } - } - - fn set_page_title(&self, _: Option<String>) { - // TODO(pcwalton) - } - - fn set_page_load_data(&self, _: LoadData) { - // TODO(pcwalton) - } - - fn load_end(&self) { - // TODO(pcwalton) - } - - fn prepare_for_composite(&self) -> bool { - true - } -} - -impl Window { - /// Helper function to set the window title in accordance with the ready state. - // fn update_window_title(&self) { - // let throbber = THROBBER[self.throbber_frame]; - // match self.ready_state { - // Blank => { - // glut::set_window_title(self.glut_window, "Blank") - // } - // Loading => { - // glut::set_window_title(self.glut_window, format!("{:c} Loading . Servo", throbber)) - // } - // PerformingLayout => { - // glut::set_window_title(self.glut_window, format!("{:c} Performing Layout . Servo", throbber)) - // } - // FinishedLoading => { - // match self.paint_state { - // PaintingPaintState => { - // glut::set_window_title(self.glut_window, format!("{:c} Rendering . Servo", throbber)) - // } - // IdlePaintState => glut::set_window_title(self.glut_window, "Servo"), - // } - // } - // } - // } - - /// Helper function to handle keyboard events. - fn handle_key(&self, key: u8) { - debug!("got key: {}", key); - let modifiers = glut::get_modifiers(); - match key { - 43 => self.event_queue.borrow_mut().push(ZoomWindowEvent(1.1)), - 45 => self.event_queue.borrow_mut().push(ZoomWindowEvent(0.909090909)), - 56 => self.event_queue.borrow_mut().push(ScrollWindowEvent(TypedPoint2D(0.0f32, 5.0f32), - TypedPoint2D(0i32, 5i32))), - 50 => self.event_queue.borrow_mut().push(ScrollWindowEvent(TypedPoint2D(0.0f32, -5.0f32), - TypedPoint2D(0i32, -5i32))), - 127 => { - if (modifiers & ACTIVE_SHIFT) != 0 { - self.event_queue.borrow_mut().push(NavigationWindowEvent(Forward)); - } - else { - self.event_queue.borrow_mut().push(NavigationWindowEvent(Back)); - } - } - _ => {} - } - } - - /// Helper function to handle a click - fn handle_mouse(&self, button: c_int, state: c_int, x: c_int, y: c_int) { - // FIXME(tkuehn): max pixel dist should be based on pixel density - let max_pixel_dist = 10f32; - let event = match state { - glut::MOUSE_DOWN => { - self.mouse_down_point.set(Point2D(x, y)); - self.mouse_down_button.set(button); - MouseWindowMouseDownEvent(button as uint, TypedPoint2D(x as f32, y as f32)) - } - glut::MOUSE_UP => { - if self.mouse_down_button.get() == button { - let pixel_dist = self.mouse_down_point.get() - Point2D(x, y); - let pixel_dist = ((pixel_dist.x * pixel_dist.x + - pixel_dist.y * pixel_dist.y) as f32).sqrt(); - if pixel_dist < max_pixel_dist { - let click_event = MouseWindowClickEvent(button as uint, - TypedPoint2D(x as f32, y as f32)); - self.event_queue.borrow_mut().push(MouseWindowEventClass(click_event)); - } - } - MouseWindowMouseUpEvent(button as uint, TypedPoint2D(x as f32, y as f32)) - } - _ => panic!("I cannot recognize the type of mouse action that occured. :-(") - }; - self.event_queue.borrow_mut().push(MouseWindowEventClass(event)); - } -} - -struct GlutCompositorProxy { - sender: Sender<compositor_task::Msg>, -} - -impl CompositorProxy for GlutCompositorProxy { - fn send(&mut self, msg: compositor_task::Msg) { - // Send a message and kick the OS event loop awake. - self.sender.send(msg); - // XXX: Need a way to unblock wait_events, like glfwPostEmptyEvent - } - fn clone_compositor_proxy(&self) -> Box<CompositorProxy+Send> { - box GlutCompositorProxy { - sender: self.sender.clone(), - } as Box<CompositorProxy+Send> - } -} - - -local_data_key!(TLS_KEY: Rc<Window>) - -fn install_local_window(window: Rc<Window>) { - TLS_KEY.replace(Some(window)); -} - -fn drop_local_window() { - TLS_KEY.replace(None); -} - -fn local_window() -> Rc<Window> { - TLS_KEY.get().unwrap().clone() -} diff --git a/ports/android/include/GL/freeglut.h b/ports/android/include/GL/freeglut.h deleted file mode 100644 index 0e6f8c6ad86..00000000000 --- a/ports/android/include/GL/freeglut.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef __FREEGLUT_H__ -#define __FREEGLUT_H__ - -/* - * freeglut.h - * - * The freeglut library include file - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#include "freeglut_std.h" -#include "freeglut_ext.h" - -/*** END OF FILE ***/ - -#endif /* __FREEGLUT_H__ */ diff --git a/ports/android/include/GL/freeglut_ext.h b/ports/android/include/GL/freeglut_ext.h deleted file mode 100644 index db9c7dbfe58..00000000000 --- a/ports/android/include/GL/freeglut_ext.h +++ /dev/null @@ -1,252 +0,0 @@ -#ifndef __FREEGLUT_EXT_H__ -#define __FREEGLUT_EXT_H__ - -/* - * freeglut_ext.h - * - * The non-GLUT-compatible extensions to the freeglut library include file - * - * Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved. - * Written by Pawel W. Olszta, <olszta@sourceforge.net> - * Creation date: Thu Dec 2 1999 - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifdef __cplusplus - extern "C" { -#endif - -/* - * Additional GLUT Key definitions for the Special key function - */ -#define GLUT_KEY_NUM_LOCK 0x006D -#define GLUT_KEY_BEGIN 0x006E -#define GLUT_KEY_DELETE 0x006F -#define GLUT_KEY_SHIFT_L 0x0070 -#define GLUT_KEY_SHIFT_R 0x0071 -#define GLUT_KEY_CTRL_L 0x0072 -#define GLUT_KEY_CTRL_R 0x0073 -#define GLUT_KEY_ALT_L 0x0074 -#define GLUT_KEY_ALT_R 0x0075 - -/* - * GLUT API Extension macro definitions -- behaviour when the user clicks on an "x" to close a window - */ -#define GLUT_ACTION_EXIT 0 -#define GLUT_ACTION_GLUTMAINLOOP_RETURNS 1 -#define GLUT_ACTION_CONTINUE_EXECUTION 2 - -/* - * Create a new rendering context when the user opens a new window? - */ -#define GLUT_CREATE_NEW_CONTEXT 0 -#define GLUT_USE_CURRENT_CONTEXT 1 - -/* - * Direct/Indirect rendering context options (has meaning only in Unix/X11) - */ -#define GLUT_FORCE_INDIRECT_CONTEXT 0 -#define GLUT_ALLOW_DIRECT_CONTEXT 1 -#define GLUT_TRY_DIRECT_CONTEXT 2 -#define GLUT_FORCE_DIRECT_CONTEXT 3 - -/* - * GLUT API Extension macro definitions -- the glutGet parameters - */ -#define GLUT_INIT_STATE 0x007C - -#define GLUT_ACTION_ON_WINDOW_CLOSE 0x01F9 - -#define GLUT_WINDOW_BORDER_WIDTH 0x01FA -#define GLUT_WINDOW_BORDER_HEIGHT 0x01FB -#define GLUT_WINDOW_HEADER_HEIGHT 0x01FB /* Docs say it should always have been GLUT_WINDOW_BORDER_HEIGHT, keep this for backward compatibility */ - -#define GLUT_VERSION 0x01FC - -#define GLUT_RENDERING_CONTEXT 0x01FD -#define GLUT_DIRECT_RENDERING 0x01FE - -#define GLUT_FULL_SCREEN 0x01FF - -#define GLUT_SKIP_STALE_MOTION_EVENTS 0x0204 - -#define GLUT_GEOMETRY_VISUALIZE_NORMALS 0x0205 - -/* - * New tokens for glutInitDisplayMode. - * Only one GLUT_AUXn bit may be used at a time. - * Value 0x0400 is defined in OpenGLUT. - */ -#define GLUT_AUX 0x1000 - -#define GLUT_AUX1 0x1000 -#define GLUT_AUX2 0x2000 -#define GLUT_AUX3 0x4000 -#define GLUT_AUX4 0x8000 - -/* - * Context-related flags, see freeglut_state.c - * Set the requested OpenGL version - */ -#define GLUT_INIT_MAJOR_VERSION 0x0200 -#define GLUT_INIT_MINOR_VERSION 0x0201 -#define GLUT_INIT_FLAGS 0x0202 -#define GLUT_INIT_PROFILE 0x0203 - -/* - * Flags for glutInitContextFlags, see freeglut_init.c - */ -#define GLUT_DEBUG 0x0001 -#define GLUT_FORWARD_COMPATIBLE 0x0002 - - -/* - * Flags for glutInitContextProfile, see freeglut_init.c - */ -#define GLUT_CORE_PROFILE 0x0001 -#define GLUT_COMPATIBILITY_PROFILE 0x0002 - -/* - * Process loop function, see freeglut_main.c - */ -FGAPI void FGAPIENTRY glutMainLoopEvent( void ); -FGAPI void FGAPIENTRY glutLeaveMainLoop( void ); -FGAPI void FGAPIENTRY glutExit ( void ); - -/* - * Window management functions, see freeglut_window.c - */ -FGAPI void FGAPIENTRY glutFullScreenToggle( void ); -FGAPI void FGAPIENTRY glutLeaveFullScreen( void ); - -/* - * Window-specific callback functions, see freeglut_callbacks.c - */ -FGAPI void FGAPIENTRY glutMouseWheelFunc( void (* callback)( int, int, int, int ) ); -FGAPI void FGAPIENTRY glutPositionFunc( void (* callback)( int, int ) ); -FGAPI void FGAPIENTRY glutCloseFunc( void (* callback)( void ) ); -FGAPI void FGAPIENTRY glutWMCloseFunc( void (* callback)( void ) ); -/* And also a destruction callback for menus */ -FGAPI void FGAPIENTRY glutMenuDestroyFunc( void (* callback)( void ) ); - -/* - * State setting and retrieval functions, see freeglut_state.c - */ -FGAPI void FGAPIENTRY glutSetOption ( GLenum option_flag, int value ); -FGAPI int * FGAPIENTRY glutGetModeValues(GLenum mode, int * size); -/* A.Donev: User-data manipulation */ -FGAPI void* FGAPIENTRY glutGetWindowData( void ); -FGAPI void FGAPIENTRY glutSetWindowData(void* data); -FGAPI void* FGAPIENTRY glutGetMenuData( void ); -FGAPI void FGAPIENTRY glutSetMenuData(void* data); - -/* - * Font stuff, see freeglut_font.c - */ -FGAPI int FGAPIENTRY glutBitmapHeight( void* font ); -FGAPI GLfloat FGAPIENTRY glutStrokeHeight( void* font ); -FGAPI void FGAPIENTRY glutBitmapString( void* font, const unsigned char *string ); -FGAPI void FGAPIENTRY glutStrokeString( void* font, const unsigned char *string ); - -/* - * Geometry functions, see freeglut_geometry.c - */ -FGAPI void FGAPIENTRY glutWireRhombicDodecahedron( void ); -FGAPI void FGAPIENTRY glutSolidRhombicDodecahedron( void ); -FGAPI void FGAPIENTRY glutWireSierpinskiSponge ( int num_levels, double offset[3], double scale ); -FGAPI void FGAPIENTRY glutSolidSierpinskiSponge ( int num_levels, double offset[3], double scale ); -FGAPI void FGAPIENTRY glutWireCylinder( double radius, double height, GLint slices, GLint stacks); -FGAPI void FGAPIENTRY glutSolidCylinder( double radius, double height, GLint slices, GLint stacks); - -/* - * Extension functions, see freeglut_ext.c - */ -typedef void (*GLUTproc)(); -FGAPI GLUTproc FGAPIENTRY glutGetProcAddress( const char *procName ); - -/* - * Multi-touch/multi-pointer extensions - */ - -#define GLUT_HAS_MULTI 1 - -/* TODO: add device_id paramater, - cf. http://sourceforge.net/mailarchive/forum.php?thread_name=20120518071314.GA28061%40perso.beuc.net&forum_name=freeglut-developer */ -FGAPI void FGAPIENTRY glutMultiEntryFunc( void (* callback)( int, int ) ); -FGAPI void FGAPIENTRY glutMultiButtonFunc( void (* callback)( int, int, int, int, int ) ); -FGAPI void FGAPIENTRY glutMultiMotionFunc( void (* callback)( int, int, int ) ); -FGAPI void FGAPIENTRY glutMultiPassiveFunc( void (* callback)( int, int, int ) ); - -/* - * Joystick functions, see freeglut_joystick.c - */ -/* USE OF THESE FUNCTIONS IS DEPRECATED !!!!! */ -/* If you have a serious need for these functions in your application, please either - * contact the "freeglut" developer community at freeglut-developer@lists.sourceforge.net, - * switch to the OpenGLUT library, or else port your joystick functionality over to PLIB's - * "js" library. - */ -int glutJoystickGetNumAxes( int ident ); -int glutJoystickGetNumButtons( int ident ); -int glutJoystickNotWorking( int ident ); -float glutJoystickGetDeadBand( int ident, int axis ); -void glutJoystickSetDeadBand( int ident, int axis, float db ); -float glutJoystickGetSaturation( int ident, int axis ); -void glutJoystickSetSaturation( int ident, int axis, float st ); -void glutJoystickSetMinRange( int ident, float *axes ); -void glutJoystickSetMaxRange( int ident, float *axes ); -void glutJoystickSetCenter( int ident, float *axes ); -void glutJoystickGetMinRange( int ident, float *axes ); -void glutJoystickGetMaxRange( int ident, float *axes ); -void glutJoystickGetCenter( int ident, float *axes ); - -/* - * Initialization functions, see freeglut_init.c - */ -/* to get the typedef for va_list */ -#include <stdarg.h> -FGAPI void FGAPIENTRY glutInitContextVersion( int majorVersion, int minorVersion ); -FGAPI void FGAPIENTRY glutInitContextFlags( int flags ); -FGAPI void FGAPIENTRY glutInitContextProfile( int profile ); -FGAPI void FGAPIENTRY glutInitErrorFunc( void (* callback)( const char *fmt, va_list ap ) ); -FGAPI void FGAPIENTRY glutInitWarningFunc( void (* callback)( const char *fmt, va_list ap ) ); - -/* OpenGL >= 2.0 support */ -FGAPI void FGAPIENTRY glutSetVertexAttribCoord3(GLint attrib); -FGAPI void FGAPIENTRY glutSetVertexAttribNormal(GLint attrib); - -/* Mobile platforms lifecycle */ -FGAPI void FGAPIENTRY glutInitContextFunc(void (* callback)()); -FGAPI void FGAPIENTRY glutPauseFunc(void (* callback)()); -FGAPI void FGAPIENTRY glutResumeFunc(void (* callback)()); - -/* - * GLUT API macro definitions -- the display mode definitions - */ -#define GLUT_CAPTIONLESS 0x0400 -#define GLUT_BORDERLESS 0x0800 -#define GLUT_SRGB 0x1000 - -#ifdef __cplusplus - } -#endif - -/*** END OF FILE ***/ - -#endif /* __FREEGLUT_EXT_H__ */ diff --git a/ports/android/include/GL/freeglut_std.h b/ports/android/include/GL/freeglut_std.h deleted file mode 100644 index 8cac2dc76a1..00000000000 --- a/ports/android/include/GL/freeglut_std.h +++ /dev/null @@ -1,656 +0,0 @@ -#ifndef __FREEGLUT_STD_H__ -#define __FREEGLUT_STD_H__ - -/* - * freeglut_std.h - * - * The GLUT-compatible part of the freeglut library include file - * - * Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved. - * Written by Pawel W. Olszta, <olszta@sourceforge.net> - * Creation date: Thu Dec 2 1999 - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifdef __cplusplus - extern "C" { -#endif - -/* - * Under windows, we have to differentiate between static and dynamic libraries - */ -#ifdef _WIN32 -/* #pragma may not be supported by some compilers. - * Discussion by FreeGLUT developers suggests that - * Visual C++ specific code involving pragmas may - * need to move to a separate header. 24th Dec 2003 - */ - -/* Define FREEGLUT_LIB_PRAGMAS to 1 to include library - * pragmas or to 0 to exclude library pragmas. - * The default behavior depends on the compiler/platform. - */ -# ifndef FREEGLUT_LIB_PRAGMAS -# if ( defined(_MSC_VER) || defined(__WATCOMC__) ) && !defined(_WIN32_WCE) -# define FREEGLUT_LIB_PRAGMAS 1 -# else -# define FREEGLUT_LIB_PRAGMAS 0 -# endif -# endif - -# ifndef WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN 1 -# endif -# ifndef NOMINMAX -# define NOMINMAX -# endif -# include <windows.h> - -/* Windows static library */ -# ifdef FREEGLUT_STATIC - -# define FGAPI -# define FGAPIENTRY - - /* Link with Win32 static freeglut lib */ -# if FREEGLUT_LIB_PRAGMAS -# ifdef NDEBUG -# pragma comment (lib, "freeglut_static.lib") -# else -# pragma comment (lib, "freeglut_staticd.lib") -# endif -# endif - -/* Windows shared library (DLL) */ -# else - -# define FGAPIENTRY __stdcall -# if defined(FREEGLUT_EXPORTS) -# define FGAPI __declspec(dllexport) -# else -# define FGAPI __declspec(dllimport) - - /* Link with Win32 shared freeglut lib */ -# if FREEGLUT_LIB_PRAGMAS -# ifdef NDEBUG -# pragma comment (lib, "freeglut.lib") -# else -# pragma comment (lib, "freeglutd.lib") -# endif -# endif - -# endif - -# endif - -/* Drag in other Windows libraries as required by FreeGLUT */ -# if FREEGLUT_LIB_PRAGMAS -# pragma comment (lib, "glu32.lib") /* link OpenGL Utility lib */ -# pragma comment (lib, "opengl32.lib") /* link Microsoft OpenGL lib */ -# pragma comment (lib, "gdi32.lib") /* link Windows GDI lib */ -# pragma comment (lib, "winmm.lib") /* link Windows MultiMedia lib */ -# pragma comment (lib, "user32.lib") /* link Windows user lib */ -# endif - -#else - -/* Non-Windows definition of FGAPI and FGAPIENTRY */ -# define FGAPI -# define FGAPIENTRY - -#endif - -/* - * The freeglut and GLUT API versions - */ -#define FREEGLUT 1 -#define GLUT_API_VERSION 4 -#define GLUT_XLIB_IMPLEMENTATION 13 -/* Deprecated: - cf. http://sourceforge.net/mailarchive/forum.php?thread_name=CABcAi1hw7cr4xtigckaGXB5X8wddLfMcbA_rZ3NAuwMrX_zmsw%40mail.gmail.com&forum_name=freeglut-developer */ -#define FREEGLUT_VERSION_2_0 1 - -/* - * Always include OpenGL and GLU headers - */ -/* Note: FREEGLUT_GLES1 and FREEGLUT_GLES2 are only used to cleanly - bootstrap headers inclusion here; use GLES constants directly - (e.g. GL_ES_VERSION_2_0) for all other needs */ -#ifdef FREEGLUT_GLES2 -# include <EGL/egl.h> -# include <GLES2/gl2.h> -#elif FREEGLUT_GLES1 -# include <EGL/egl.h> -# include <GLES/gl.h> -#elif __APPLE__ -# include <OpenGL/gl.h> -# include <OpenGL/glu.h> -#else -# include <GL/gl.h> -# include <GL/glu.h> -#endif - -/* - * GLUT API macro definitions -- the special key codes: - */ -#define GLUT_KEY_F1 0x0001 -#define GLUT_KEY_F2 0x0002 -#define GLUT_KEY_F3 0x0003 -#define GLUT_KEY_F4 0x0004 -#define GLUT_KEY_F5 0x0005 -#define GLUT_KEY_F6 0x0006 -#define GLUT_KEY_F7 0x0007 -#define GLUT_KEY_F8 0x0008 -#define GLUT_KEY_F9 0x0009 -#define GLUT_KEY_F10 0x000A -#define GLUT_KEY_F11 0x000B -#define GLUT_KEY_F12 0x000C -#define GLUT_KEY_LEFT 0x0064 -#define GLUT_KEY_UP 0x0065 -#define GLUT_KEY_RIGHT 0x0066 -#define GLUT_KEY_DOWN 0x0067 -#define GLUT_KEY_PAGE_UP 0x0068 -#define GLUT_KEY_PAGE_DOWN 0x0069 -#define GLUT_KEY_HOME 0x006A -#define GLUT_KEY_END 0x006B -#define GLUT_KEY_INSERT 0x006C - -/* - * GLUT API macro definitions -- mouse state definitions - */ -#define GLUT_LEFT_BUTTON 0x0000 -#define GLUT_MIDDLE_BUTTON 0x0001 -#define GLUT_RIGHT_BUTTON 0x0002 -#define GLUT_DOWN 0x0000 -#define GLUT_UP 0x0001 -#define GLUT_LEFT 0x0000 -#define GLUT_ENTERED 0x0001 - -/* - * GLUT API macro definitions -- the display mode definitions - */ -#define GLUT_RGB 0x0000 -#define GLUT_RGBA 0x0000 -#define GLUT_INDEX 0x0001 -#define GLUT_SINGLE 0x0000 -#define GLUT_DOUBLE 0x0002 -#define GLUT_ACCUM 0x0004 -#define GLUT_ALPHA 0x0008 -#define GLUT_DEPTH 0x0010 -#define GLUT_STENCIL 0x0020 -#define GLUT_MULTISAMPLE 0x0080 -#define GLUT_STEREO 0x0100 -#define GLUT_LUMINANCE 0x0200 - -/* - * GLUT API macro definitions -- windows and menu related definitions - */ -#define GLUT_MENU_NOT_IN_USE 0x0000 -#define GLUT_MENU_IN_USE 0x0001 -#define GLUT_NOT_VISIBLE 0x0000 -#define GLUT_VISIBLE 0x0001 -#define GLUT_HIDDEN 0x0000 -#define GLUT_FULLY_RETAINED 0x0001 -#define GLUT_PARTIALLY_RETAINED 0x0002 -#define GLUT_FULLY_COVERED 0x0003 - -/* - * GLUT API macro definitions -- fonts definitions - * - * Steve Baker suggested to make it binary compatible with GLUT: - */ -#if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__WATCOMC__) -# define GLUT_STROKE_ROMAN ((void *)0x0000) -# define GLUT_STROKE_MONO_ROMAN ((void *)0x0001) -# define GLUT_BITMAP_9_BY_15 ((void *)0x0002) -# define GLUT_BITMAP_8_BY_13 ((void *)0x0003) -# define GLUT_BITMAP_TIMES_ROMAN_10 ((void *)0x0004) -# define GLUT_BITMAP_TIMES_ROMAN_24 ((void *)0x0005) -# define GLUT_BITMAP_HELVETICA_10 ((void *)0x0006) -# define GLUT_BITMAP_HELVETICA_12 ((void *)0x0007) -# define GLUT_BITMAP_HELVETICA_18 ((void *)0x0008) -#else - /* - * I don't really know if it's a good idea... But here it goes: - */ - extern void* glutStrokeRoman; - extern void* glutStrokeMonoRoman; - extern void* glutBitmap9By15; - extern void* glutBitmap8By13; - extern void* glutBitmapTimesRoman10; - extern void* glutBitmapTimesRoman24; - extern void* glutBitmapHelvetica10; - extern void* glutBitmapHelvetica12; - extern void* glutBitmapHelvetica18; - - /* - * Those pointers will be used by following definitions: - */ -# define GLUT_STROKE_ROMAN ((void *) &glutStrokeRoman) -# define GLUT_STROKE_MONO_ROMAN ((void *) &glutStrokeMonoRoman) -# define GLUT_BITMAP_9_BY_15 ((void *) &glutBitmap9By15) -# define GLUT_BITMAP_8_BY_13 ((void *) &glutBitmap8By13) -# define GLUT_BITMAP_TIMES_ROMAN_10 ((void *) &glutBitmapTimesRoman10) -# define GLUT_BITMAP_TIMES_ROMAN_24 ((void *) &glutBitmapTimesRoman24) -# define GLUT_BITMAP_HELVETICA_10 ((void *) &glutBitmapHelvetica10) -# define GLUT_BITMAP_HELVETICA_12 ((void *) &glutBitmapHelvetica12) -# define GLUT_BITMAP_HELVETICA_18 ((void *) &glutBitmapHelvetica18) -#endif - -/* - * GLUT API macro definitions -- the glutGet parameters - */ -#define GLUT_WINDOW_X 0x0064 -#define GLUT_WINDOW_Y 0x0065 -#define GLUT_WINDOW_WIDTH 0x0066 -#define GLUT_WINDOW_HEIGHT 0x0067 -#define GLUT_WINDOW_BUFFER_SIZE 0x0068 -#define GLUT_WINDOW_STENCIL_SIZE 0x0069 -#define GLUT_WINDOW_DEPTH_SIZE 0x006A -#define GLUT_WINDOW_RED_SIZE 0x006B -#define GLUT_WINDOW_GREEN_SIZE 0x006C -#define GLUT_WINDOW_BLUE_SIZE 0x006D -#define GLUT_WINDOW_ALPHA_SIZE 0x006E -#define GLUT_WINDOW_ACCUM_RED_SIZE 0x006F -#define GLUT_WINDOW_ACCUM_GREEN_SIZE 0x0070 -#define GLUT_WINDOW_ACCUM_BLUE_SIZE 0x0071 -#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 0x0072 -#define GLUT_WINDOW_DOUBLEBUFFER 0x0073 -#define GLUT_WINDOW_RGBA 0x0074 -#define GLUT_WINDOW_PARENT 0x0075 -#define GLUT_WINDOW_NUM_CHILDREN 0x0076 -#define GLUT_WINDOW_COLORMAP_SIZE 0x0077 -#define GLUT_WINDOW_NUM_SAMPLES 0x0078 -#define GLUT_WINDOW_STEREO 0x0079 -#define GLUT_WINDOW_CURSOR 0x007A - -#define GLUT_SCREEN_WIDTH 0x00C8 -#define GLUT_SCREEN_HEIGHT 0x00C9 -#define GLUT_SCREEN_WIDTH_MM 0x00CA -#define GLUT_SCREEN_HEIGHT_MM 0x00CB -#define GLUT_MENU_NUM_ITEMS 0x012C -#define GLUT_DISPLAY_MODE_POSSIBLE 0x0190 -#define GLUT_INIT_WINDOW_X 0x01F4 -#define GLUT_INIT_WINDOW_Y 0x01F5 -#define GLUT_INIT_WINDOW_WIDTH 0x01F6 -#define GLUT_INIT_WINDOW_HEIGHT 0x01F7 -#define GLUT_INIT_DISPLAY_MODE 0x01F8 -#define GLUT_ELAPSED_TIME 0x02BC -#define GLUT_WINDOW_FORMAT_ID 0x007B - -/* - * GLUT API macro definitions -- the glutDeviceGet parameters - */ -#define GLUT_HAS_KEYBOARD 0x0258 -#define GLUT_HAS_MOUSE 0x0259 -#define GLUT_HAS_SPACEBALL 0x025A -#define GLUT_HAS_DIAL_AND_BUTTON_BOX 0x025B -#define GLUT_HAS_TABLET 0x025C -#define GLUT_NUM_MOUSE_BUTTONS 0x025D -#define GLUT_NUM_SPACEBALL_BUTTONS 0x025E -#define GLUT_NUM_BUTTON_BOX_BUTTONS 0x025F -#define GLUT_NUM_DIALS 0x0260 -#define GLUT_NUM_TABLET_BUTTONS 0x0261 -#define GLUT_DEVICE_IGNORE_KEY_REPEAT 0x0262 -#define GLUT_DEVICE_KEY_REPEAT 0x0263 -#define GLUT_HAS_JOYSTICK 0x0264 -#define GLUT_OWNS_JOYSTICK 0x0265 -#define GLUT_JOYSTICK_BUTTONS 0x0266 -#define GLUT_JOYSTICK_AXES 0x0267 -#define GLUT_JOYSTICK_POLL_RATE 0x0268 - -/* - * GLUT API macro definitions -- the glutLayerGet parameters - */ -#define GLUT_OVERLAY_POSSIBLE 0x0320 -#define GLUT_LAYER_IN_USE 0x0321 -#define GLUT_HAS_OVERLAY 0x0322 -#define GLUT_TRANSPARENT_INDEX 0x0323 -#define GLUT_NORMAL_DAMAGED 0x0324 -#define GLUT_OVERLAY_DAMAGED 0x0325 - -/* - * GLUT API macro definitions -- the glutVideoResizeGet parameters - */ -#define GLUT_VIDEO_RESIZE_POSSIBLE 0x0384 -#define GLUT_VIDEO_RESIZE_IN_USE 0x0385 -#define GLUT_VIDEO_RESIZE_X_DELTA 0x0386 -#define GLUT_VIDEO_RESIZE_Y_DELTA 0x0387 -#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 0x0388 -#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 0x0389 -#define GLUT_VIDEO_RESIZE_X 0x038A -#define GLUT_VIDEO_RESIZE_Y 0x038B -#define GLUT_VIDEO_RESIZE_WIDTH 0x038C -#define GLUT_VIDEO_RESIZE_HEIGHT 0x038D - -/* - * GLUT API macro definitions -- the glutUseLayer parameters - */ -#define GLUT_NORMAL 0x0000 -#define GLUT_OVERLAY 0x0001 - -/* - * GLUT API macro definitions -- the glutGetModifiers parameters - */ -#define GLUT_ACTIVE_SHIFT 0x0001 -#define GLUT_ACTIVE_CTRL 0x0002 -#define GLUT_ACTIVE_ALT 0x0004 - -/* - * GLUT API macro definitions -- the glutSetCursor parameters - */ -#define GLUT_CURSOR_RIGHT_ARROW 0x0000 -#define GLUT_CURSOR_LEFT_ARROW 0x0001 -#define GLUT_CURSOR_INFO 0x0002 -#define GLUT_CURSOR_DESTROY 0x0003 -#define GLUT_CURSOR_HELP 0x0004 -#define GLUT_CURSOR_CYCLE 0x0005 -#define GLUT_CURSOR_SPRAY 0x0006 -#define GLUT_CURSOR_WAIT 0x0007 -#define GLUT_CURSOR_TEXT 0x0008 -#define GLUT_CURSOR_CROSSHAIR 0x0009 -#define GLUT_CURSOR_UP_DOWN 0x000A -#define GLUT_CURSOR_LEFT_RIGHT 0x000B -#define GLUT_CURSOR_TOP_SIDE 0x000C -#define GLUT_CURSOR_BOTTOM_SIDE 0x000D -#define GLUT_CURSOR_LEFT_SIDE 0x000E -#define GLUT_CURSOR_RIGHT_SIDE 0x000F -#define GLUT_CURSOR_TOP_LEFT_CORNER 0x0010 -#define GLUT_CURSOR_TOP_RIGHT_CORNER 0x0011 -#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 0x0012 -#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 0x0013 -#define GLUT_CURSOR_INHERIT 0x0064 -#define GLUT_CURSOR_NONE 0x0065 -#define GLUT_CURSOR_FULL_CROSSHAIR 0x0066 - -/* - * GLUT API macro definitions -- RGB color component specification definitions - */ -#define GLUT_RED 0x0000 -#define GLUT_GREEN 0x0001 -#define GLUT_BLUE 0x0002 - -/* - * GLUT API macro definitions -- additional keyboard and joystick definitions - */ -#define GLUT_KEY_REPEAT_OFF 0x0000 -#define GLUT_KEY_REPEAT_ON 0x0001 -#define GLUT_KEY_REPEAT_DEFAULT 0x0002 - -#define GLUT_JOYSTICK_BUTTON_A 0x0001 -#define GLUT_JOYSTICK_BUTTON_B 0x0002 -#define GLUT_JOYSTICK_BUTTON_C 0x0004 -#define GLUT_JOYSTICK_BUTTON_D 0x0008 - -/* - * GLUT API macro definitions -- game mode definitions - */ -#define GLUT_GAME_MODE_ACTIVE 0x0000 -#define GLUT_GAME_MODE_POSSIBLE 0x0001 -#define GLUT_GAME_MODE_WIDTH 0x0002 -#define GLUT_GAME_MODE_HEIGHT 0x0003 -#define GLUT_GAME_MODE_PIXEL_DEPTH 0x0004 -#define GLUT_GAME_MODE_REFRESH_RATE 0x0005 -#define GLUT_GAME_MODE_DISPLAY_CHANGED 0x0006 - -/* - * Initialization functions, see fglut_init.c - */ -FGAPI void FGAPIENTRY glutInit( int* pargc, char** argv ); -FGAPI void FGAPIENTRY glutInitWindowPosition( int x, int y ); -FGAPI void FGAPIENTRY glutInitWindowSize( int width, int height ); -FGAPI void FGAPIENTRY glutInitDisplayMode( unsigned int displayMode ); -FGAPI void FGAPIENTRY glutInitDisplayString( const char* displayMode ); - -/* - * Process loop function, see freeglut_main.c - */ -FGAPI void FGAPIENTRY glutMainLoop( void ); - -/* - * Window management functions, see freeglut_window.c - */ -FGAPI int FGAPIENTRY glutCreateWindow( const char* title ); -FGAPI int FGAPIENTRY glutCreateSubWindow( int window, int x, int y, int width, int height ); -FGAPI void FGAPIENTRY glutDestroyWindow( int window ); -FGAPI void FGAPIENTRY glutSetWindow( int window ); -FGAPI int FGAPIENTRY glutGetWindow( void ); -FGAPI void FGAPIENTRY glutSetWindowTitle( const char* title ); -FGAPI void FGAPIENTRY glutSetIconTitle( const char* title ); -FGAPI void FGAPIENTRY glutReshapeWindow( int width, int height ); -FGAPI void FGAPIENTRY glutPositionWindow( int x, int y ); -FGAPI void FGAPIENTRY glutShowWindow( void ); -FGAPI void FGAPIENTRY glutHideWindow( void ); -FGAPI void FGAPIENTRY glutIconifyWindow( void ); -FGAPI void FGAPIENTRY glutPushWindow( void ); -FGAPI void FGAPIENTRY glutPopWindow( void ); -FGAPI void FGAPIENTRY glutFullScreen( void ); - -/* - * Display-connected functions, see freeglut_display.c - */ -FGAPI void FGAPIENTRY glutPostWindowRedisplay( int window ); -FGAPI void FGAPIENTRY glutPostRedisplay( void ); -FGAPI void FGAPIENTRY glutSwapBuffers( void ); - -/* - * Mouse cursor functions, see freeglut_cursor.c - */ -FGAPI void FGAPIENTRY glutWarpPointer( int x, int y ); -FGAPI void FGAPIENTRY glutSetCursor( int cursor ); - -/* - * Overlay stuff, see freeglut_overlay.c - */ -FGAPI void FGAPIENTRY glutEstablishOverlay( void ); -FGAPI void FGAPIENTRY glutRemoveOverlay( void ); -FGAPI void FGAPIENTRY glutUseLayer( GLenum layer ); -FGAPI void FGAPIENTRY glutPostOverlayRedisplay( void ); -FGAPI void FGAPIENTRY glutPostWindowOverlayRedisplay( int window ); -FGAPI void FGAPIENTRY glutShowOverlay( void ); -FGAPI void FGAPIENTRY glutHideOverlay( void ); - -/* - * Menu stuff, see freeglut_menu.c - */ -FGAPI int FGAPIENTRY glutCreateMenu( void (* callback)( int menu ) ); -FGAPI void FGAPIENTRY glutDestroyMenu( int menu ); -FGAPI int FGAPIENTRY glutGetMenu( void ); -FGAPI void FGAPIENTRY glutSetMenu( int menu ); -FGAPI void FGAPIENTRY glutAddMenuEntry( const char* label, int value ); -FGAPI void FGAPIENTRY glutAddSubMenu( const char* label, int subMenu ); -FGAPI void FGAPIENTRY glutChangeToMenuEntry( int item, const char* label, int value ); -FGAPI void FGAPIENTRY glutChangeToSubMenu( int item, const char* label, int value ); -FGAPI void FGAPIENTRY glutRemoveMenuItem( int item ); -FGAPI void FGAPIENTRY glutAttachMenu( int button ); -FGAPI void FGAPIENTRY glutDetachMenu( int button ); - -/* - * Global callback functions, see freeglut_callbacks.c - */ -FGAPI void FGAPIENTRY glutTimerFunc( unsigned int time, void (* callback)( int ), int value ); -FGAPI void FGAPIENTRY glutIdleFunc( void (* callback)( void ) ); - -/* - * Window-specific callback functions, see freeglut_callbacks.c - */ -FGAPI void FGAPIENTRY glutKeyboardFunc( void (* callback)( unsigned char, int, int ) ); -FGAPI void FGAPIENTRY glutSpecialFunc( void (* callback)( int, int, int ) ); -FGAPI void FGAPIENTRY glutReshapeFunc( void (* callback)( int, int ) ); -FGAPI void FGAPIENTRY glutVisibilityFunc( void (* callback)( int ) ); -FGAPI void FGAPIENTRY glutDisplayFunc( void (* callback)( void ) ); -FGAPI void FGAPIENTRY glutMouseFunc( void (* callback)( int, int, int, int ) ); -FGAPI void FGAPIENTRY glutMotionFunc( void (* callback)( int, int ) ); -FGAPI void FGAPIENTRY glutPassiveMotionFunc( void (* callback)( int, int ) ); -FGAPI void FGAPIENTRY glutEntryFunc( void (* callback)( int ) ); - -FGAPI void FGAPIENTRY glutKeyboardUpFunc( void (* callback)( unsigned char, int, int ) ); -FGAPI void FGAPIENTRY glutSpecialUpFunc( void (* callback)( int, int, int ) ); -FGAPI void FGAPIENTRY glutJoystickFunc( void (* callback)( unsigned int, int, int, int ), int pollInterval ); -FGAPI void FGAPIENTRY glutMenuStateFunc( void (* callback)( int ) ); -FGAPI void FGAPIENTRY glutMenuStatusFunc( void (* callback)( int, int, int ) ); -FGAPI void FGAPIENTRY glutOverlayDisplayFunc( void (* callback)( void ) ); -FGAPI void FGAPIENTRY glutWindowStatusFunc( void (* callback)( int ) ); - -FGAPI void FGAPIENTRY glutSpaceballMotionFunc( void (* callback)( int, int, int ) ); -FGAPI void FGAPIENTRY glutSpaceballRotateFunc( void (* callback)( int, int, int ) ); -FGAPI void FGAPIENTRY glutSpaceballButtonFunc( void (* callback)( int, int ) ); -FGAPI void FGAPIENTRY glutButtonBoxFunc( void (* callback)( int, int ) ); -FGAPI void FGAPIENTRY glutDialsFunc( void (* callback)( int, int ) ); -FGAPI void FGAPIENTRY glutTabletMotionFunc( void (* callback)( int, int ) ); -FGAPI void FGAPIENTRY glutTabletButtonFunc( void (* callback)( int, int, int, int ) ); - -/* - * State setting and retrieval functions, see freeglut_state.c - */ -FGAPI int FGAPIENTRY glutGet( GLenum query ); -FGAPI int FGAPIENTRY glutDeviceGet( GLenum query ); -FGAPI int FGAPIENTRY glutGetModifiers( void ); -FGAPI int FGAPIENTRY glutLayerGet( GLenum query ); - -/* - * Font stuff, see freeglut_font.c - */ -FGAPI void FGAPIENTRY glutBitmapCharacter( void* font, int character ); -FGAPI int FGAPIENTRY glutBitmapWidth( void* font, int character ); -FGAPI void FGAPIENTRY glutStrokeCharacter( void* font, int character ); -FGAPI int FGAPIENTRY glutStrokeWidth( void* font, int character ); -FGAPI int FGAPIENTRY glutBitmapLength( void* font, const unsigned char* string ); -FGAPI int FGAPIENTRY glutStrokeLength( void* font, const unsigned char* string ); - -/* - * Geometry functions, see freeglut_geometry.c - */ - -FGAPI void FGAPIENTRY glutWireCube( double size ); -FGAPI void FGAPIENTRY glutSolidCube( double size ); -FGAPI void FGAPIENTRY glutWireSphere( double radius, GLint slices, GLint stacks ); -FGAPI void FGAPIENTRY glutSolidSphere( double radius, GLint slices, GLint stacks ); -FGAPI void FGAPIENTRY glutWireCone( double base, double height, GLint slices, GLint stacks ); -FGAPI void FGAPIENTRY glutSolidCone( double base, double height, GLint slices, GLint stacks ); -FGAPI void FGAPIENTRY glutWireTorus( double innerRadius, double outerRadius, GLint sides, GLint rings ); -FGAPI void FGAPIENTRY glutSolidTorus( double innerRadius, double outerRadius, GLint sides, GLint rings ); -FGAPI void FGAPIENTRY glutWireDodecahedron( void ); -FGAPI void FGAPIENTRY glutSolidDodecahedron( void ); -FGAPI void FGAPIENTRY glutWireOctahedron( void ); -FGAPI void FGAPIENTRY glutSolidOctahedron( void ); -FGAPI void FGAPIENTRY glutWireTetrahedron( void ); -FGAPI void FGAPIENTRY glutSolidTetrahedron( void ); -FGAPI void FGAPIENTRY glutWireIcosahedron( void ); -FGAPI void FGAPIENTRY glutSolidIcosahedron( void ); - -/* - * Teapot rendering functions, found in freeglut_teapot.c - * NB: front facing polygons have clockwise winding, not counter clockwise - */ -/* TODO: doesn't work with GLES1 yet */ -#ifndef EGL_VERSION_1_0 -FGAPI void FGAPIENTRY glutWireTeapot( GLdouble size ); -FGAPI void FGAPIENTRY glutSolidTeapot( GLdouble size ); -#endif - -/* - * Game mode functions, see freeglut_gamemode.c - */ -FGAPI void FGAPIENTRY glutGameModeString( const char* string ); -FGAPI int FGAPIENTRY glutEnterGameMode( void ); -FGAPI void FGAPIENTRY glutLeaveGameMode( void ); -FGAPI int FGAPIENTRY glutGameModeGet( GLenum query ); - -/* - * Video resize functions, see freeglut_videoresize.c - */ -FGAPI int FGAPIENTRY glutVideoResizeGet( GLenum query ); -FGAPI void FGAPIENTRY glutSetupVideoResizing( void ); -FGAPI void FGAPIENTRY glutStopVideoResizing( void ); -FGAPI void FGAPIENTRY glutVideoResize( int x, int y, int width, int height ); -FGAPI void FGAPIENTRY glutVideoPan( int x, int y, int width, int height ); - -/* - * Colormap functions, see freeglut_misc.c - */ -FGAPI void FGAPIENTRY glutSetColor( int color, GLfloat red, GLfloat green, GLfloat blue ); -FGAPI GLfloat FGAPIENTRY glutGetColor( int color, int component ); -FGAPI void FGAPIENTRY glutCopyColormap( int window ); - -/* - * Misc keyboard and joystick functions, see freeglut_misc.c - */ -FGAPI void FGAPIENTRY glutIgnoreKeyRepeat( int ignore ); -FGAPI void FGAPIENTRY glutSetKeyRepeat( int repeatMode ); -FGAPI void FGAPIENTRY glutForceJoystickFunc( void ); - -/* - * Misc functions, see freeglut_misc.c - */ -FGAPI int FGAPIENTRY glutExtensionSupported( const char* extension ); -FGAPI void FGAPIENTRY glutReportErrors( void ); - -/* Comment from glut.h of classic GLUT: - - Win32 has an annoying issue where there are multiple C run-time - libraries (CRTs). If the executable is linked with a different CRT - from the GLUT DLL, the GLUT DLL will not share the same CRT static - data seen by the executable. In particular, atexit callbacks registered - in the executable will not be called if GLUT calls its (different) - exit routine). GLUT is typically built with the - "/MD" option (the CRT with multithreading DLL support), but the Visual - C++ linker default is "/ML" (the single threaded CRT). - - One workaround to this issue is requiring users to always link with - the same CRT as GLUT is compiled with. That requires users supply a - non-standard option. GLUT 3.7 has its own built-in workaround where - the executable's "exit" function pointer is covertly passed to GLUT. - GLUT then calls the executable's exit function pointer to ensure that - any "atexit" calls registered by the application are called if GLUT - needs to exit. - - Note that the __glut*WithExit routines should NEVER be called directly. - To avoid the atexit workaround, #define GLUT_DISABLE_ATEXIT_HACK. */ - -/* to get the prototype for exit() */ -#include <stdlib.h> - -#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK) && !defined(__WATCOMC__) -FGAPI void FGAPIENTRY __glutInitWithExit(int *argcp, char **argv, void (__cdecl *exitfunc)(int)); -FGAPI int FGAPIENTRY __glutCreateWindowWithExit(const char *title, void (__cdecl *exitfunc)(int)); -FGAPI int FGAPIENTRY __glutCreateMenuWithExit(void (* func)(int), void (__cdecl *exitfunc)(int)); -#ifndef FREEGLUT_BUILDING_LIB -#if defined(__GNUC__) -#define FGUNUSED __attribute__((unused)) -#else -#define FGUNUSED -#endif -static void FGAPIENTRY FGUNUSED glutInit_ATEXIT_HACK(int *argcp, char **argv) { __glutInitWithExit(argcp, argv, exit); } -#define glutInit glutInit_ATEXIT_HACK -static int FGAPIENTRY FGUNUSED glutCreateWindow_ATEXIT_HACK(const char *title) { return __glutCreateWindowWithExit(title, exit); } -#define glutCreateWindow glutCreateWindow_ATEXIT_HACK -static int FGAPIENTRY FGUNUSED glutCreateMenu_ATEXIT_HACK(void (* func)(int)) { return __glutCreateMenuWithExit(func, exit); } -#define glutCreateMenu glutCreateMenu_ATEXIT_HACK -#endif -#endif - -#ifdef __cplusplus - } -#endif - -/*** END OF FILE ***/ - -#endif /* __FREEGLUT_STD_H__ */ - diff --git a/ports/android/include/GL/glut.h b/ports/android/include/GL/glut.h deleted file mode 100644 index 6191f77b75d..00000000000 --- a/ports/android/include/GL/glut.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef __GLUT_H__ -#define __GLUT_H__ - -/* - * glut.h - * - * The freeglut library include file - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#include "freeglut_std.h" - -/*** END OF FILE ***/ - -#endif /* __GLUT_H__ */ diff --git a/ports/android/jni/Android.mk b/ports/android/jni/Android.mk deleted file mode 100644 index e4f4478916d..00000000000 --- a/ports/android/jni/Android.mk +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright (C) 2010 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) - -LOCAL_MODULE := freeglut -LOCAL_SRC_FILES := libfreeglut-gles2.a - -include $(PREBUILT_STATIC_LIBRARY) - - -include $(CLEAR_VARS) - -LOCAL_MODULE := ServoAndroid - -LOCAL_SRC_FILES := common.cpp android-dl.cpp main.cpp - -LOCAL_C_INCLUDES := $(LOCAL_PATH) \ - $(LOCAL_PATH)/../include - -LOCAL_CXXFLAGS := -DFREEGLUT_GLES2 -gstabs+ - -LOCAL_LDLIBS := -ldl -llog -landroid -lGLESv2 -lGLESv1_CM -lEGL - -LOCAL_STATIC_LIBRARIES := android_native_app_glue freeglut -LOCAL_SHARED_LIBRARIES := libdl - -include $(BUILD_SHARED_LIBRARY) - -$(call import-module,android/native_app_glue) diff --git a/ports/android/jni/Application.mk b/ports/android/jni/Application.mk deleted file mode 100644 index ee34d0278ae..00000000000 --- a/ports/android/jni/Application.mk +++ /dev/null @@ -1,3 +0,0 @@ -APP_PLATFORM := android-18 -APP_STL := stlport_static -APP_CPPFLAGS += -lstdc++ diff --git a/ports/android/jni/android-dl.cpp b/ports/android/jni/android-dl.cpp deleted file mode 100644 index 8a301d3d829..00000000000 --- a/ports/android/jni/android-dl.cpp +++ /dev/null @@ -1,472 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * Version: MPL 1.1 / GPLv3+ / LGPLv3+ - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License or as specified alternatively below. You may obtain a copy of - * the License at http: *www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * Major Contributor(s): - * Copyright (C) 2011 Tor Lillqvist <tml@iki.fi> (initial developer) - * Copyright (C) 2011 SUSE Linux http://suse.com (initial developer's employer) - * - * All Rights Reserved. - * - * For minor contributions see the git repository. - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 3 or later (the "GPLv3+"), or - * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), - * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable - * instead of those above. - */ - -#include <assert.h> -#include <string.h> -#include <stdlib.h> -#include <stdio.h> -#include <stdarg.h> -#include <sys/stat.h> -#include <sys/time.h> - -#include <unistd.h> -#include <errno.h> -#include <fcntl.h> -#include <dlfcn.h> -#include <sys/mman.h> - -#include <linux/elf.h> - -#include "android-dl.h" -#include "common.h" - -/* The library paths. */ -const char **library_locations; - -static char last_error[1024] = {0}; - -extern "C" { - -void set_error(const char* format, ...) -{ - va_list args; - va_start(args, format); - - vsnprintf(last_error, sizeof(last_error), format, args); - __android_log_write(ANDROID_LOG_ERROR, LOG_TAG, last_error); - - va_end(args); -} - -#define SET_ERROR(format, ...) set_error("%s: " format, __FUNCTION__, ##__VA_ARGS__) - -static char * -read_section(int fd, - Elf32_Shdr *shdr) -{ - char *result = (char*)malloc(shdr->sh_size); - if (lseek(fd, shdr->sh_offset, SEEK_SET) < 0) { - close(fd); - free(result); - return NULL; - } - if (read(fd, result, shdr->sh_size) < (int) shdr->sh_size) { - close(fd); - free(result); - return NULL; - } - - return result; -} - -__attribute__ ((visibility("default"))) -char ** -android_dlneeds(const char *library) -{ - int i, fd; - int n_needed; - char **result; - char *shstrtab; - char *dynstr = NULL; - Elf32_Ehdr hdr; - Elf32_Shdr shdr; - Elf32_Dyn dyn; - - /* Open library and read ELF header */ - - fd = open(library, O_RDONLY); - - if (fd == -1) { - SET_ERROR("Could not open library %s: %s", library, strerror(errno)); - return NULL; - } - - if (read(fd, &hdr, sizeof(hdr)) < (int) sizeof(hdr)) { - set_error("Could not read ELF header of %s", library); - close(fd); - return NULL; - } - - /* Read in .shstrtab */ - - if (lseek(fd, hdr.e_shoff + hdr.e_shstrndx * sizeof(shdr), SEEK_SET) < 0) { - set_error("Could not seek to .shstrtab section header of %s", library); - close(fd); - return NULL; - } - if (read(fd, &shdr, sizeof(shdr)) < (int) sizeof(shdr)) { - set_error("Could not read section header of %s", library); - close(fd); - return NULL; - } - - shstrtab = read_section(fd, &shdr); - if (shstrtab == NULL) - return NULL; - - /* Read section headers, looking for .dynstr section */ - - if (lseek(fd, hdr.e_shoff, SEEK_SET) < 0) { - set_error("Could not seek to section headers of %s", library); - close(fd); - return NULL; - } - for (i = 0; i < hdr.e_shnum; i++) { - if (read(fd, &shdr, sizeof(shdr)) < (int) sizeof(shdr)) { - set_error("Could not read section header of %s", library); - close(fd); - return NULL; - } - if (shdr.sh_type == SHT_STRTAB && - strcmp(shstrtab + shdr.sh_name, ".dynstr") == 0) { - dynstr = read_section(fd, &shdr); - if (dynstr == NULL) { - free(shstrtab); - return NULL; - } - break; - } - } - - if (i == hdr.e_shnum) { - set_error("No .dynstr section in %s", library); - close(fd); - return NULL; - } - - /* Read section headers, looking for .dynamic section */ - - if (lseek(fd, hdr.e_shoff, SEEK_SET) < 0) { - SET_ERROR("Could not seek to section headers of %s", library); - close(fd); - return NULL; - } - for (i = 0; i < hdr.e_shnum; i++) { - if (read(fd, &shdr, sizeof(shdr)) < (int) sizeof(shdr)) { - SET_ERROR("Could not read section header of %s", library); - close(fd); - return NULL; - } - if (shdr.sh_type == SHT_DYNAMIC) { - size_t dynoff; - - /* Count number of DT_NEEDED entries */ - n_needed = 0; - if (lseek(fd, shdr.sh_offset, SEEK_SET) < 0) { - SET_ERROR("Could not seek to .dynamic section of %s", library); - close(fd); - return NULL; - } - for (dynoff = 0; dynoff < shdr.sh_size; dynoff += sizeof(dyn)) { - if (read(fd, &dyn, sizeof(dyn)) < (int) sizeof(dyn)) { - SET_ERROR("Could not read .dynamic entry of %s", library); - close(fd); - return NULL; - } - if (dyn.d_tag == DT_NEEDED) - n_needed++; - } - - /* LOGI("Found %d DT_NEEDED libs", n_needed); */ - - result = (char**)malloc((n_needed+1) * sizeof(char *)); - - n_needed = 0; - if (lseek(fd, shdr.sh_offset, SEEK_SET) < 0) { - SET_ERROR("Could not seek to .dynamic section of %s", library); - close(fd); - free(result); - return NULL; - } - for (dynoff = 0; dynoff < shdr.sh_size; dynoff += sizeof(dyn)) { - if (read(fd, &dyn, sizeof(dyn)) < (int) sizeof(dyn)) { - SET_ERROR("Could not read .dynamic entry in %s", library); - close(fd); - free(result); - return NULL; - } - if (dyn.d_tag == DT_NEEDED) { - LOGI("needs: %s\n", dynstr + dyn.d_un.d_val); - result[n_needed] = strdup(dynstr + dyn.d_un.d_val); - n_needed++; - } - } - - close(fd); - if (dynstr) - free(dynstr); - free(shstrtab); - result[n_needed] = NULL; - return result; - } - } - - SET_ERROR("Could not find .dynamic section in %s", library); - close(fd); - return NULL; -} - -__attribute__ ((visibility("default"))) -void * -android_dlopen(const char *library) -{ - //added by aydin.kim - parse ld_library_path - char *libraries[256]; - int i1 = 0, icnt = 0; - - char ld_library_path[1024]; - char* library_path = getenv("LD_LIBRARY_PATH"); - strcpy(ld_library_path, library_path); - - // LOGI("LD_LIBRARY_PATH is : %s", ld_library_path); - libraries[i1] = strtok(ld_library_path, ":"); - //LOGI("library : %s", libraries[i1]); - while(libraries[i1]) { - libraries[++i1] = strtok(NULL, ":"); - //LOGI("library : %s", libraries[i1]); - } - icnt = i1; - - library_locations = (const char**)malloc((icnt+2) * sizeof(char *)); - for(int j = 0; j < icnt+2; j++) - library_locations[j] = NULL; - if(library_locations == NULL) { - SET_ERROR("Cannot allocate library locations"); - return 0; - } - library_locations[0] = "/data/data/com.example.ServoAndroid/lib"; - // LOGI("added library path : %s", library_locations[0]); - for(int i = 0; i < icnt; i++ ) { - library_locations[i+1] = strdup(libraries[i]); - // LOGI("added library path : %s", library_locations[i+1]); - } - - /* - * We should *not* try to just dlopen() the bare library name - * first, as the stupid dynamic linker remembers for each library - * basename if loading it has failed. Thus if you try loading it - * once, and it fails because of missing needed libraries, and - * your load those, and then try again, it fails with an - * infuriating message "failed to load previously" in the log. - * - * We *must* first dlopen() all needed libraries, recursively. It - * shouldn't matter if we dlopen() a library that already is - * loaded, dlopen() just returns the same value then. - */ - - struct loadedLib { - const char *name; - void *handle; - struct loadedLib *next; - }; - static struct loadedLib *loaded_libraries = NULL; - - struct loadedLib *rover; - struct loadedLib *new_loaded_lib; - - struct stat st; - void *p; - char *full_name = NULL; - char **needed; - int i; - int found; - - struct timeval tv0, tv1, tvdiff; - - rover = loaded_libraries; - while (rover != NULL && - strcmp(rover->name, library) != 0) - rover = rover->next; - - if (rover != NULL) - return rover->handle; - - /* LOGI("android_dlopen(%s)", library); */ - - found = 0; - if (library[0] == '/') { - full_name = strdup(library); - - if (stat(full_name, &st) == 0 && - S_ISREG(st.st_mode)) { - found = 1; - } else { - free(full_name); - full_name = NULL; - } - } else { - for (i = 0; !found && library_locations[i] != NULL; i++) { - full_name = (char*)malloc(strlen(library_locations[i]) + 1 + strlen(library) + 1); - strcpy(full_name, library_locations[i]); - strcat(full_name, "/"); - strcat(full_name, library); - - if (stat(full_name, &st) == 0 && - S_ISREG(st.st_mode)) { - found = 1; - } else { - free(full_name); - full_name = NULL; - } - } - } - - if (!found) { - SET_ERROR("Library %s not found", library); - assert(full_name == NULL); // full_name was freed above if !found - return NULL; - } - - needed = android_dlneeds(full_name); - if (needed == NULL) { - free(full_name); - return NULL; - } - - for (i = 0; needed[i] != NULL; i++) { - if (android_dlopen(needed[i]) == NULL) { - free_ptrarray((void **) needed); - free(full_name); - return NULL; - } - } - free_ptrarray((void **) needed); - - gettimeofday(&tv0, NULL); - p = dlopen(full_name, RTLD_LOCAL); - gettimeofday(&tv1, NULL); - timersub(&tv1, &tv0, &tvdiff); - LOGI("dlopen(%s) = %p, %ld.%03lds", - full_name, p, - (long) tvdiff.tv_sec, (long) tvdiff.tv_usec / 1000); - if (p == NULL) - SET_ERROR("Error from dlopen(%s): %s", full_name, dlerror()); - free(full_name); - full_name = NULL; - - new_loaded_lib = (struct loadedLib*)malloc(sizeof(*new_loaded_lib)); - new_loaded_lib->name = strdup(library); - new_loaded_lib->handle = p; - - new_loaded_lib->next = loaded_libraries; - loaded_libraries = new_loaded_lib; - - return p; -} - -__attribute__ ((visibility("default"))) -void * -android_dlsym(void *handle, - const char *symbol) -{ - void *p = dlsym(handle, symbol); - if (p == NULL) - set_error("%s(%p,%s): %s", __FUNCTION__, handle, symbol, dlerror()); - return p; -} - -__attribute__ ((visibility("default"))) -int -android_dladdr(void *addr, - Dl_info *info) -{ - FILE *maps; - char line[200]; - int result; - int found; - - result = dladdr(addr, info); - if (result == 0) { - /* LOGI("dladdr(%p) = 0", addr); */ - return 0; - } - - maps = fopen("/proc/self/maps", "r"); - if (maps == NULL) { - SET_ERROR("Could not open /proc/self/maps: %s", strerror(errno)); - return 0; - } - - found = 0; - while (fgets(line, sizeof(line), maps) != NULL && - line[strlen(line)-1] == '\n') { - void *lo, *hi; - char file[sizeof(line)]; - file[0] = '\0'; - if (sscanf(line, "%x-%x %*s %*x %*x:%*x %*d %[^\n]", (unsigned *) &lo, (unsigned *) &hi, file) == 3) { - /* LOGI("got %p-%p: %s", lo, hi, file); */ - if (addr >= lo && addr < hi) { - if (info->dli_fbase != lo) { - SET_ERROR("Base for %s in /proc/self/maps %p doesn't match what dladdr() said", file, lo); - fclose(maps); - return 0; - } - /* LOGI("dladdr(%p) = { %s:%p, %s:%p }: %s", - addr, - info->dli_fname, info->dli_fbase, - info->dli_sname ? info->dli_sname : "(none)", info->dli_saddr, - file); */ - info->dli_fname = strdup(file); - found = 1; - break; - } - } - } - if (!found) - SET_ERROR("Did not find %p in /proc/self/maps", addr); - fclose(maps); - - return result; -} - -__attribute__ ((visibility("default"))) -int -android_dlclose(void *handle) -{ - /* As we don't know when the reference count for a dlopened shared - * object drops to zero, we wouldn't know when to remove it from - * our list, so we can't call dlclose(). - */ - LOGI("ll_dlclose(%p)", handle); - - return 0; -} - -__attribute__ ((visibility("default"))) -const char * -android_dl_get_last_error() -{ - return last_error; -} - -} // extern "C" - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ - - diff --git a/ports/android/jni/android-dl.h b/ports/android/jni/android-dl.h deleted file mode 100644 index 7caca6a0544..00000000000 --- a/ports/android/jni/android-dl.h +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include <dlfcn.h> - -#if defined(__cplusplus) -extern "C" { -#endif - -__attribute__ ((visibility("default"))) -char ** android_dlneeds(const char *library); - -__attribute__ ((visibility("default"))) -void * android_dlopen(const char *library); - -__attribute__ ((visibility("default"))) -void * android_dlsym(void *handle, const char *symbol); - -__attribute__ ((visibility("default"))) -int android_dladdr(void *addr, Dl_info *info); - -__attribute__ ((visibility("default"))) -int android_dlclose(void *handle); - -__attribute__ ((visibility("default"))) -const char * android_dl_get_last_error(); - -#if defined(__cplusplus) -} // extern "C" -#endif diff --git a/ports/android/jni/common.cpp b/ports/android/jni/common.cpp deleted file mode 100644 index 804c625fd85..00000000000 --- a/ports/android/jni/common.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include "common.h" -#include <stdlib.h> - -void free_ptrarray(void **pa) -{ - void **rover = pa; - - while (*rover != NULL) - free(*rover++); - - free(pa); -} - - diff --git a/ports/android/jni/common.h b/ports/android/jni/common.h deleted file mode 100644 index 5f0e10bf0b8..00000000000 --- a/ports/android/jni/common.h +++ /dev/null @@ -1,18 +0,0 @@ -#pragma once -#include <android/log.h> - -#undef LOGI -#undef LOGW - -#define LOG_TAG "android-dl" -#define LOGI(message, ...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, "%s: " message, __FUNCTION__, ##__VA_ARGS__) -#define LOGW(message, ...) __android_log_print(ANDROID_LOG_WARN, LOG_TAG, "%s: " message, __FUNCTION__, ##__VA_ARGS__) -#define LOGE(message, ...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, "%s: " message, __FUNCTION__, ##__VA_ARGS__) -#define LOGF(message, ...) __android_log_print(ANDROID_LOG_FATAL, LOG_TAG, "%s: " message, __FUNCTION__, ##__VA_ARGS__) - -/* Defines the signature of the function that's callable through Java dlcall */ -typedef int (*android_dlcall_func_t)(int, const char **); - -void free_ptrarray(void **pa); - - diff --git a/ports/android/jni/libfreeglut-gles2-old.a b/ports/android/jni/libfreeglut-gles2-old.a Binary files differdeleted file mode 100644 index 167349d3867..00000000000 --- a/ports/android/jni/libfreeglut-gles2-old.a +++ /dev/null diff --git a/ports/android/jni/libfreeglut-gles2.a b/ports/android/jni/libfreeglut-gles2.a Binary files differdeleted file mode 100644 index 3023af8b696..00000000000 --- a/ports/android/jni/libfreeglut-gles2.a +++ /dev/null diff --git a/ports/android/jni/main.cpp b/ports/android/jni/main.cpp deleted file mode 100644 index 01c5cefa242..00000000000 --- a/ports/android/jni/main.cpp +++ /dev/null @@ -1,191 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include <jni.h> -#include <errno.h> -#include <pthread.h> -#include <string.h> - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> - -#include <GL/freeglut.h> -#include <GL/freeglut_ext.h> -#include <GLES2/gl2.h> -#include <GLES/gl.h> - -#include <android/sensor.h> -#include <android/log.h> -#include <android_native_app_glue.h> -#include <android-dl.h> - -#define LOG(prio, tag, a, args...) __android_log_print(prio, tag, "[%s::%d]"#a"",__FUNCTION__, __LINE__, ##args); -#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "native-activity", __VA_ARGS__)) -#define LOGW(...) ((void)__android_log_print(ANDROID_LOG_WARN, "native-activity", __VA_ARGS__)) - -typedef void (*fty_glutMainLoopEvent)(); -typedef void (*fty_glutInit)(int*, char**); -typedef void (*fty_glutInitDisplayMode)(unsigned int); -typedef int (*fty_glutCreateWindow)(const char*); -typedef void (*fty_glutDestroyWindow)(int); -typedef void (*fty_glutPostRedisplay)(); -typedef void (*fty_glutSwapBuffers)(); -typedef int (*fty_glutGetWindow)(); -typedef void (*fty_glutSetWindow)(int); -typedef void (*fty_glutReshapeWindow)(int ,int); -typedef void (*fty_glutDisplayFunc)(void (*)()); -typedef void (*fty_glutReshapeFunc)(void (*)(int, int)); -typedef void (*fty_glutTimerFunc)(unsigned int, void (*)(int), int); -typedef int (*fty_glutGet)(unsigned int); -typedef void (*fty_glutKeyboardFunc)(void (*)(unsigned char, int, int)); -typedef void (*fty_glutMouseFunc)(void (*)(int, int, int, int)); -typedef void (*fty_glutMouseWheelFunc)(void (*)(int, int, int, int)); -typedef void (*fty_glutSetWindowTitle)(char const*); -typedef void (*fty_glutIdleFunc)(void(*)()); -typedef void (*fty_glutInitWindowSize)(int, int); -typedef int (*fty_glutGetModifiers)(); - -#define REGISTER_FUNCTION(lib, function)\ - void (*reg_fn_##function)(fty_##function);\ - *(void**)(®_fn_##function) = dlsym(lib, "reg_fn_" #function);\ - if (function == NULL) {\ - LOGW("could not find reg_fn_" #function " from " #lib);\ - return;\ - } else {\ - LOGI("loaded reg_fn_" #function " from " #lib);\ - reg_fn_##function(function);\ - LOGI("registerd "#function);\ - }\ - -static void init_servo() -{ - LOGI("initializing native application for Servo"); - - //setenv("RUST_LOG", "servo,gfx,msg,util,layers,js,glut,std,rt,extra", 1); - -// setenv("SERVO_URL", "/mnt/sdcard/html/demo.html", 1); -// setenv("RUST_THREADS", "1", 1); - -// char* size_stack = getenv("RUST_MIN_STACK"); -// char* rust_log = getenv("RUST_LOG"); -// char* servo_url = getenv("SERVO_URL"); - -// LOGI("Stack Size is : %s", size_stack); -// LOGI("RUST_LOG flag is : %s", rust_log); -// LOGI("loading url is : %s", servo_url); - - - LOGI("load servo library"); - void* libservo = android_dlopen("/data/data/com.example.ServoAndroid/lib/libservo.so"); - if (libservo == NULL) { - LOGW("failed to load servo lib: %s", dlerror()); - return; - } - - REGISTER_FUNCTION(libservo, glutMainLoopEvent); - REGISTER_FUNCTION(libservo, glutInit); - REGISTER_FUNCTION(libservo, glutInitDisplayMode); - REGISTER_FUNCTION(libservo, glutCreateWindow); - REGISTER_FUNCTION(libservo, glutDestroyWindow); - REGISTER_FUNCTION(libservo, glutPostRedisplay); - REGISTER_FUNCTION(libservo, glutSwapBuffers); - REGISTER_FUNCTION(libservo, glutGetWindow); - REGISTER_FUNCTION(libservo, glutSetWindow); - REGISTER_FUNCTION(libservo, glutReshapeWindow); - REGISTER_FUNCTION(libservo, glutDisplayFunc); - REGISTER_FUNCTION(libservo, glutReshapeFunc); - REGISTER_FUNCTION(libservo, glutTimerFunc); - REGISTER_FUNCTION(libservo, glutGet); - REGISTER_FUNCTION(libservo, glutKeyboardFunc); - REGISTER_FUNCTION(libservo, glutMouseFunc); - REGISTER_FUNCTION(libservo, glutMouseWheelFunc); - REGISTER_FUNCTION(libservo, glutSetWindowTitle); - REGISTER_FUNCTION(libservo, glutIdleFunc); - REGISTER_FUNCTION(libservo, glutInitWindowSize); - REGISTER_FUNCTION(libservo, glutGetModifiers); - - void (*main)(int, char**); - *(void**)(&main) = dlsym(libservo, "android_start"); - if (main) { - LOGI("go into android_start()"); - static const char* argv[] = {"servo", "http://en.wikipedia.org/wiki/Rust"}; - (*main)(2, (char **)argv); - return; - } - LOGW("could not find android_start() in the libServo shared library"); -} - -extern "C" void *stderr_thread(void *) { - int pipes[2]; - pipe(pipes); - dup2(pipes[1], STDERR_FILENO); - FILE *inputFile = fdopen(pipes[0], "r"); - char readBuffer[1024]; - while (1) { - fgets(readBuffer, sizeof(readBuffer), inputFile); - __android_log_write(2, "stderr", readBuffer); - } - return NULL; -} - -extern "C" void *stdout_thread(void *) { - int pipes[2]; - pipe(pipes); - dup2(pipes[1], STDOUT_FILENO); - FILE *inputFile = fdopen(pipes[0], "r"); - char readBuffer[1024]; - while (1) { - fgets(readBuffer, sizeof(readBuffer), inputFile); - __android_log_write(2, "stdout", readBuffer); - } - return NULL; -} - -pthread_t stderr_tid = -1; -pthread_t stdout_tid = -1; - -static void init_std_threads() { - pthread_create(&stderr_tid, NULL, stderr_thread, NULL); - pthread_create(&stdout_tid, NULL, stdout_thread, NULL); -} - -static void shutdown_std_threads() { - // FIXME(larsberg): this needs to change to signal the threads - // to exit, as pthread_cancel is not implemented on Android. -} - - -const int W = 2560; -const int H = 1600; - -static int init_display() { - LOGI("initialize GLUT window"); - - glutInitWindowSize(W, H); - return 0; -} - -int main(int argc, char* argv[]) -{ - init_display(); - init_std_threads(); - init_servo(); - shutdown_std_threads(); - - return 0; -} diff --git a/ports/android/proguard-project.txt b/ports/android/proguard-project.txt deleted file mode 100644 index f2fe1559a21..00000000000 --- a/ports/android/proguard-project.txt +++ /dev/null @@ -1,20 +0,0 @@ -# To enable ProGuard in your project, edit project.properties -# to define the proguard.config property as described in that file. -# -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in ${sdk.dir}/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the ProGuard -# include property in project.properties. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} diff --git a/ports/android/project.properties b/ports/android/project.properties deleted file mode 100644 index ce39f2d0a06..00000000000 --- a/ports/android/project.properties +++ /dev/null @@ -1,14 +0,0 @@ -# This file is automatically generated by Android Tools. -# Do not modify this file -- YOUR CHANGES WILL BE ERASED! -# -# This file must be checked in Version Control Systems. -# -# To customize properties used by the Ant build system edit -# "ant.properties", and override values to adapt the script to your -# project structure. -# -# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): -#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt - -# Project target. -target=android-18 diff --git a/ports/android/res/values/strings.xml b/ports/android/res/values/strings.xml deleted file mode 100644 index 6d76ba353dc..00000000000 --- a/ports/android/res/values/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<resources> - <string name="app_name">ServoAndroid</string> -</resources> diff --git a/python/servo/devenv_commands.py b/python/servo/devenv_commands.py index bbb602469f2..30c8a440750 100644 --- a/python/servo/devenv_commands.py +++ b/python/servo/devenv_commands.py @@ -36,7 +36,6 @@ class MachCommands(CommandBase): cargo_paths = [path.join('components', 'servo'), path.join('ports', 'cef'), - path.join('ports', 'android', 'glut_app'), path.join('ports', 'gonk')] for cargo_path in cargo_paths: |