Commit Graph

28 Commits

Author SHA1 Message Date
scroggo
8338a9a855 Reland "Move from libstlport to libc++ for Android framework builds" (patchset #1 id:1 of https://codereview.chromium.org/718793003/)
> Original issue's description:
> > Move from libstlport to libc++ for Android framework builds
> >
> > Committed: https://skia.googlesource.com/skia/+/ce259510a738fab05a0d456440104f5aba1c9d72
>
> TBR=tomhudson@google.com,djsollen@google.com
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://skia.googlesource.com/skia/+/3c3fe7ce4893204eb8bcf885e8a1d539763bca5d

TBR=tomhudson@google.com,djsollen@google.com
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/717303002
2014-11-12 11:52:23 -08:00
scroggo
3c3fe7ce48 Revert of Move from libstlport to libc++ for Android framework builds (patchset #1 id:1 of https://codereview.chromium.org/714113002/)
Reason for revert:
The code this depends on is not ready yet. We can submit once https://android-review.googlesource.com/#/c/113924/ is submitted.

Original issue's description:
> Move from libstlport to libc++ for Android framework builds
>
> Committed: https://skia.googlesource.com/skia/+/ce259510a738fab05a0d456440104f5aba1c9d72

TBR=tomhudson@google.com,djsollen@google.com
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/718793003
2014-11-11 13:58:44 -08:00
djsollen
ce259510a7 Move from libstlport to libc++ for Android framework builds
Review URL: https://codereview.chromium.org/714113002
2014-11-11 07:02:03 -08:00
scroggo
978d37b343 Add LOCAL_PICKUP_FILES to dm and bench makefiles.
Update the generator to include a line for LOCAL_PICKUP_FILES. When
generating makefiles for our tests, they will now have the following line:

LOCAL_PICKUP_FILES := \
    $(LOCAL_PATH)/../resources

This allows testing infrastructure to pick up resource files used by
our tests.

Update expectations files to test LOCAL_PICKUP_FILES.

BUG=skia:2454

Review URL: https://codereview.chromium.org/704393002
2014-11-07 06:02:20 -08:00
djsollen
ed20c9b9c9 Fix root level Android.mk to now point to the correct nanobench makefile
R=mtklein@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/494193003
2014-08-21 13:12:34 -07:00
djsollen
8ebdd99bb1 Cleanup FDO options.
R=tomhudson@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/489373004
2014-08-21 13:02:27 -07:00
djsollen
6bf35c2100 Update FDO options to match what is needed by the framework
R=tomhudson@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/497503003
2014-08-21 07:38:31 -07:00
Derek Sollenberger
c7f069b501 Fix Android framework builds
R=mtklein@google.com

Review URL: https://codereview.chromium.org/450503002
2014-08-06 16:31:41 -04:00
djsollen
937fca8106 Add ability to generate/use FDO profiles for Android
R=scroggo@google.com, bungeman@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/420803003
2014-07-29 12:38:25 -07:00
scroggo
3eb258d3f6 Generate makefile for bench_pictures.
When generating Android framework makefiles, create one for
bench_pictures.

BUG=skia:2744
R=djsollen@google.com, halcanary@google.com, mtklein@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/391423002
2014-07-17 06:58:29 -07:00
scroggo
24b04fa2ad Alphabetize defines in generated SkUserConfig.
When generating SkUserConfig.h for Android, alphabetize the defines.

This will make one merge much harder to look at, but every following
one much easier.

R=mtklein@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/388693003
2014-07-14 10:22:02 -07:00
scroggo
f50a79366f Use BUILD_NATIVE_TEST instead of BUILD_EXECUTABLE.
This will generate makefiles for our tools (bench, tests, gm, dm) using
the line "include $(BUILD_NATIVE_TEST)". This has been recommended by the
Android team, as it builds both 32 bit and 64 bit versions of the test.

Do not use LOCAL_MODULE_PATH, which is deprecated (see https://docs.google.com/a/google.com/document/d/1uLAuY7_KYGx1TSzJ9SXkyevT8qNpra2ZoIBkmCoq8VM/edit# ).

Corresponds to ag/498302 , which makes this change just for bench.

R=djsollen@google.com, halcanary@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/369673002
2014-07-08 11:20:58 -07:00
scroggo
950f89dd20 Specify the name of tool for creating a makefile.
When generating tool Android.mks from gyp files, specify the name
of the target needed.

This fixes a bug where nanobench was being added to the same
makefile as bench, which would not compile.

TODO: Make gyp_to_android more general, so that it handles this
case better. See http://skbug.com/2709

R=mtklein@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/366653002
2014-07-01 08:02:30 -07:00
scroggo
b30aa62294 Update comments about debugging on master.
Update the makefile to reference the correct location of
config.mk.

R=djsollen@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/308703009
2014-06-02 07:19:13 -07:00
commit-bot@chromium.org
738a9218b8 If our gyp does not exist, use chromium's.
The previous version had faith that if the third_party folder
existed, it must contain externals/gyp. A recent change added
third_party (in git, as opposed to using DEPS), so now Android
has third_party but not externals/gyp.

Now check the full filepath. If it's not there, back up to
chromium's version.

Fixes Android canary bot.

R=halcanary@google.com
TBR=halcanary@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/295103008

git-svn-id: http://skia.googlecode.com/svn/trunk@14855 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 19:30:54 +00:00
commit-bot@chromium.org
120c99993e Generate Android.mk for DM.
ifdef out code that won't build where we don't have jsoncpp.

Include ctype instead of string.h for tolower.

Depends on https://codereview.chromium.org/282053002/

BUG=skia:2447
R=mtklein@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/290603002

git-svn-id: http://skia.googlecode.com/svn/trunk@14768 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-16 18:11:51 +00:00
commit-bot@chromium.org
25c1066e4d Generate gm/Android.mk, minus JSON.
When running gyp_to_android.py, generate the makefile for gm.

For now, remove json functionality and do not depend on json. This
allows us to build and run until solving skbug.com/2448.

gm/gm_expectations.cpp:
gm/gm_expectations.h:
gm/gmmain.cpp:
Remove all json functionality when SK_BUILD_JSON_WRITER is not defined.
This flag is not defined when SK_BUILD_FOR_ANDROID is defined.

gyp/gm.gyp:
Depend on skia and cutils.

platform_tools/android/bin/gyp_to_android.py:
Generate gm/Android.mk.

platform_tools/android/gyp_gen/makefile_writer.py:
Build gm/Android.mk when building external/skia.

Depends on https://codereview.chromium.org/282053002/

BUG=skia:2447
BUG=skia:2448
R=epoger@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/281303003

git-svn-id: http://skia.googlecode.com/svn/trunk@14767 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-16 17:56:43 +00:00
commit-bot@chromium.org
61744ec1d2 Generate bench/Android.mk from gyp.
For now, remove json functionality and do not depend on json. This
allows us to build and run until solving skbug.com/2448.

bench/DeferredSurfaceCopyBench.cpp:
Include GrRenderTarget last, so SK_SUPPORT_GPU will be set properly.

bench/ResultsWriter.h:
bench/benchmain.cpp:
Remove JSONResultsWriter when SK_BUILD_JSON_WRITER is not defined,
which is the case for the Android framework build.

gyp/bench.gyp:
Depend on skia and cutils (for android_atomic_inc etc).

gyp/common_conditions.gypi:
Define SK_BUILD_JSON_WRITER when skia_build_json_writer is set.

gyp/common_variables.gypi:
Add a flag for skia_build_json_writer, and set it only when
skia_android_framework is not set.

gyp/jsoncpp.gyp:
Do not build jsoncpp when skia_build_json_writer is not defined.
include/utils/SkJSONCPP.h:
Do not include json headers when SK_BUILD_JSON_WRITER is not defined.

platform_tools/android/bin/gyp_to_android.py:
Generate bench/Android.mk.

platform_tools/android/gyp_gen/gypd_parser.py:
Skip dest_dir when checking for include_dirs.

platform_tools/android/gyp_gen/makefile_writer.py:
Build bench/Android.mk when building external/skia.

platform_tools/android/gyp_gen/tool_makefile_writer.py:
Add a parameter for putting the binary into /data/local/tmp.

BUG=skia:2447
BUG=skia:2448
R=halcanary@google.com, reed@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/282053002

git-svn-id: http://skia.googlecode.com/svn/trunk@14760 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-16 13:15:41 +00:00
commit-bot@chromium.org
a3987574c8 Explicitly include gyp_gen/android_framework_gyp.
Add __init__.py to gyp_gen and explicitly include android_framework_gyp
from there.

Fixes a bug where after moving that file, python was looking for it in
its old location, where there was a compiled version of the file.

BUG=skia:2468
R=epoger@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/251903003

git-svn-id: http://skia.googlecode.com/svn/trunk@14427 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-29 00:39:45 +00:00
commit-bot@chromium.org
d665685469 Generate tests/Android.mk from gyp
gyp/apptype_console.gypi:
Don't include console app dependencies when building for Android framework.

gyp/tests.gyp:
Add/remove libraries for framework build.

platform_tools/android/bin/android_framework_gyp.py:
Moved to gyp_gen.
clean_up_gypd_files moved to this script.

platform_tools/android/bin/gyp_to_android.py:
Call new function for generating tool makefile.
Set LOCAL_MODULE.

platform_tools/android/gyp_gen/gypd_parser.py:
Support relative paths.

platform_tools/android/gyp_gen/makefile_writer.py:
Factor out helper functions to be used by tool writer.
LOCAL_MODULE is set elsewhere.

platform_tools/android/gyp_gen/tool_makefile_writer.py:
Multipurpose file for writing makefiles for tools. Should be able to use
it mostly unchanged for bench, gm, etc.

platform_tools/android/gyp_gen/vars_dict_lib.py:
Make the comments follow the style guide.
Add set().
Rename __li to __ordered_set

More/update tests:
platform_tools/android/tests/android_framework_gyp_tests.py
platform_tools/android/tests/expectations/Android.mk
platform_tools/android/tests/expectations/tool/Android.mk
platform_tools/android/tests/expectations/write_local_vars_append_arm
platform_tools/android/tests/expectations/write_local_vars_append_foo
platform_tools/android/tests/expectations/write_local_vars_append_no_name
platform_tools/android/tests/expectations/write_local_vars_no_append_arm
platform_tools/android/tests/expectations/write_local_vars_no_append_foo
platform_tools/android/tests/expectations/write_local_vars_no_append_no_name
platform_tools/android/tests/gyp_to_android_tests.py
platform_tools/android/tests/makefile_writer_tests.py
platform_tools/android/tests/ordered_set_tests.py
platform_tools/android/tests/test_variables.py

BUG=skia:2447

May require an update to the bot to remove pyc files.

R=halcanary@google.com, djsollen@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/235883015

git-svn-id: http://skia.googlecode.com/svn/trunk@14408 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-28 16:00:30 +00:00
commit-bot@chromium.org
ec68ee9d56 Allow running gyp_to_android without SkUserConfig.
The old code requires that include/config/SkUserConfig.h exists,
to ensure that it gets copied into Android's
include/core/SkUserConfig.h when we do a merge. However, if a
developer wants to make changes and rerun the script, they
should not have to recreate include/config/SkUserConfig.h just
to rerun the script. By default, allow the original to not
exist and just skip the copy.

Update tests to pass. Also add tests to support this use case.

Make gyp_to_android.py executable.

R=robertphillips@google.com, halcanary@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/242203008

git-svn-id: http://skia.googlecode.com/svn/trunk@14273 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-21 14:45:01 +00:00
commit-bot@chromium.org
479d1ae9b6 Fixes to Android.mk generation for arm64.
Remove warning about no optimizations for arm64 and rebaseline the
associated test.

Exclude _opts_none.cpps when building arm64, to avoid double definitions.

BUG=skia:1975
R=halcanary@google.com, djsollen@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/229393002

git-svn-id: http://skia.googlecode.com/svn/trunk@14104 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-09 13:34:26 +00:00
commit-bot@chromium.org
23f116daa3 Rename test SkUserConfig files.
Since we never want to build with the fake SkUserConfig.h files
(they're only there for testing), change their name to
SkUserConfig-h.txt. Now the housekeeper will ignore it.

Also, update the generated version to match what the housekeeper
wanted. It wants my tabs to be 4 spaces, so change my tabs to 4
spaces!

NOTRY=true

Fixes buildbots.

BUG=skia:2365
R=epoger@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/221063003

git-svn-id: http://skia.googlecode.com/svn/trunk@14013 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-01 19:03:00 +00:00
commit-bot@chromium.org
ba0c5ea90d Updates to Android.mk generation.
Generate SkUserConfig.
Include arm64 as another build flavor.
Add tests.

gyp/common_conditions.gypi:
Add conditions for Android framework. These will get written into the generated SkUserConfig.

include/core/SkUserConfig.h:
Generated version that will ultimately be checked into Android (but not here).

platform_tools/android/bin/gyp_to_android.py:
Generate SkUserConfig.
Add arm64 (note that arm64 is not currently respected by our gyp files, so it results in use _none.cpp for the various opts).
Reset the common defines, which are now passed to the generated SkUserConfig.

platform_tools/android/gyp_gen/generate_user_config.py:
New script to generate SkUserConfig.h.

platform_tools/android/gyp_gen/gypd_parser.py:
Fix a lint error (unused import).

platform_tools/android/gyp_gen/makefile_writer.py:
Append any remaining DEFINES to LOCAL_CFLAGS (previously this was done during parsing).
Add a warning for arm64 (corresponds to downstream Android.mk).

platform_tools/android/gyp_gen/vars_dict_lib.py:
Add OrderedSet.reset().
Add DEFINES to VarsDict.

platform_tools/android/tests/expectations/:
Add and update expectations files.

platform_tools/android/tests/generate_user_config_tests.py:
New test for generate_user_config.py

platform_tools/android/tests/inputs/SkUserConfig.h:
Input to the new test, so we don't have to update the expectations each time the real SkUserConfig.h changes.

platform_tools/android/tests/makefile_writer_tests.py:
Add a way to rebaseline test_write_local_vars, which has changed.
Refactor EXPECTATIONS_DIR and compare_files into a separate file for sharing with generate_user_config_tests.py.

platform_tools/android/tests/utils.py:
Common code for tests.

platform_tools/android/tests/var_dict_tests.py:
Use a for loop to test the new key (DEFINES) and future proof this test to test any new keys in the future.

BUG=skia:1975
R=djsollen@google.com, halcanary@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/198063002

git-svn-id: http://skia.googlecode.com/svn/trunk@13975 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-28 15:59:04 +00:00
commit-bot@chromium.org
f6394d91e5 Add tests for makefile_writer.py.
Many of the tests performed are comparison tests, where we call the
functions using dummy values and then compare to expectations (also
newly added).

Add a way to rebaseline the test for write_android_mk, which is likely
to change in the future.

BUG=skia:1975
R=epoger@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/205383006

git-svn-id: http://skia.googlecode.com/svn/trunk@13957 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-26 19:46:51 +00:00
commit-bot@chromium.org
2ac68c6892 Add tools to generated Android.mk
Include the skia tools (bench, gm, tests) in the generated Android
make file for the framework. They are commented out, so that a tester
can include them if desired.

BUG=skia:1975
R=halcanary@google.com, djsollen@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/210173002

git-svn-id: http://skia.googlecode.com/svn/trunk@13915 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-24 18:26:36 +00:00
commit-bot@chromium.org
069c2a46ba Updates to the Android.mk writer.
Keeping up with changes made to the Android.mk file that is
currently checked in.

R=djsollen@google.com, epoger@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/183953002

git-svn-id: http://skia.googlecode.com/svn/trunk@13626 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-28 17:24:32 +00:00
commit-bot@chromium.org
8933563174 Scripts to generate Android.mk for framework Skia.
In order to create Android.mk, run

>> python platform_tools/android/bin/gyp_to_android.py

For the change in the Android.mk file, see
https://googleplex-android-review.git.corp.google.com/#/c/408170/

(SkipBuildbotRuns)

BUG=skia:1975
R=djsollen@google.com, epoger@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/140503007

git-svn-id: http://skia.googlecode.com/svn/trunk@13344 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-06 16:13:00 +00:00