Fixes for building with sdl on android
BUG=skia:
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/1437613002
diff --git a/gyp/visualbench.gyp b/gyp/visualbench.gyp
index 4ae6489..52b4c53 100644
--- a/gyp/visualbench.gyp
+++ b/gyp/visualbench.gyp
@@ -58,6 +58,11 @@
],
},
}],
+ [ 'skia_os == "android" and skia_use_sdl == 1', {
+ 'dependencies': [
+ 'android_deps.gyp:Android_VisualBenchSDL',
+ ],
+ }],
],
},
],
diff --git a/platform_tools/android/gyp/dependencies.gypi b/platform_tools/android/gyp/dependencies.gypi
index 3be8542..eb34f10 100644
--- a/platform_tools/android/gyp/dependencies.gypi
+++ b/platform_tools/android/gyp/dependencies.gypi
@@ -177,5 +177,31 @@
],
},
},
+ {
+ # This target is a dependency for VisualBench application which runs on
+ # Android. Since Android requires us to load native code in shared
+ # libraries, we need a common entry point to wrap around main(). Here
+ # we also change the type of all would-be executables to be shared
+ # libraries. The alternative would be to introduce a condition in every
+ # executable target which changes to a shared library if the target OS is
+ # Android. This is nicer because the switch is in one place.
+ 'target_name': 'Android_VisualBenchSDL',
+ 'type': 'static_library',
+ 'direct_dependent_settings': {
+ 'target_conditions': [
+ # '_type' is an 'automatic variable' which is defined for any
+ # target which defines a key-value pair with 'type' as the key (so,
+ # all of them). Conditionals inside 'target_conditions' are evaluated
+ # *after* all other definitions and conditionals are evaluated, so
+ # we're guaranteed that '_type' will be defined when we get here.
+ # For more info, see:
+ # - http://code.google.com/p/gyp/wiki/InputFormatReference#Variables
+ # - http://codereview.appspot.com/6353065/
+ ['_type == "executable"', {
+ 'type': 'shared_library',
+ }],
+ ],
+ },
+ },
]
}