}],
[ 'skia_os == "android" and skia_use_sdl == 1', {
'dependencies': [
- 'android_deps.gyp:Android_VisualBenchSDL',
+ 'android_deps.gyp:Android_EntryPoint',
],
}],
],
],
},
},
- {
- # 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',
- }],
- ],
- },
- },
]
}
return -1;
}
- void* skiaLibrary;
-
#if defined(SKIA_DLL)
// load the local skia shared library
- skiaLibrary = load_library(appLocation, "skia_android");
+ void* skiaLibrary = load_library(appLocation, "skia_android");
if (NULL == skiaLibrary)
{
return -1;
return -1;
}
-#if !defined(SKIA_DLL)
- skiaLibrary = appLibrary;
-#endif
-
// find the address of the main function
int (*app_main)(int, const char**);
*(void **) (&app_main) = dlsym(appLibrary, "main");