ChrisPei / gyp

Automatically exported from code.google.com/p/gyp
0 stars 0 forks source link

Gyp backend for Android makefiles #275

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
We (the Chrome for Android) team are working on a gyp backend to produce 
makefiles that can be loaded by the Android build system to compile a gyp-based 
project.

This is a bug to track the process of getting it into an acceptable state to be 
submitted.

Current CL: http://codereview.chromium.org/10540028/

Original issue reported on code.google.com by torne@chromium.org on 20 Jun 2012 at 1:26

GoogleCodeExporter commented 9 years ago
Commit: 9be1d37a9a6561f135412db66806def9f82a29c1
 Email: steveblock@chromium.org@78cadc50-ecff-11dd-a971-7dbc132099af

Add android makefile generator backend to gyp.

Add a new backend to gyp, "android", which creates Android.mk style 
makefiles. This can be used to build gyp projects as part of the full 
Android system build, to incorporate them into the ROM image. 

Android's existing compilation rules are used where possible, and gyp 
targets are mapped 1:1 onto Android modules (via a name mangling scheme 
to ensure uniqueness). Dependencies are preserved to the best of the 
Android build system's ability (some order-only deps have become full 
deps). 

gyp tests have been updated to work with the Android backend and all 
either pass or are skipped for being inappropriate; however, there is 
currently no support in the test harness for actually running any 
generated executables (as this would require an Android device or 
emulator), and thus the test framework just checks that the executable 
exists and if so, claims success. 

BUG=gyp:275

git-svn-id: http://gyp.googlecode.com/svn/trunk@1428 
78cadc50-ecff-11dd-a971-7dbc132099af

A   pylib/gyp/generator/android.py
M   test/actions/gyptest-all.py
M   test/actions/gyptest-default.py
M   test/additional-targets/gyptest-additional.py
M   test/assembly/src/assembly.gyp
M   test/assembly/src/lib1.S
M   test/builddir/gyptest-all.py
M   test/builddir/gyptest-default.py
M   test/cflags/gyptest-cflags.py
M   test/cxxflags/gyptest-cxxflags.py
M   test/defines/gyptest-defines-env-regyp.py
M   test/generator-output/gyptest-actions.py
M   test/generator-output/gyptest-copies.py
M   test/generator-output/gyptest-relocate.py
M   test/generator-output/gyptest-rules.py
M   test/generator-output/gyptest-subdir2-deep.py
M   test/generator-output/gyptest-top-all.py
M   test/hello/gyptest-regyp.py
M   test/home_dot_gyp/gyptest-home-includes-regyp.py
M   test/lib/TestGyp.py
M   test/library/gyptest-shared-obj-install-path.py
M   test/module/gyptest-default.py
M   test/product/gyptest-product.py
M   test/same-target-name-different-directory/gyptest-all.py
M   test/sibling/gyptest-all.py
M   test/sibling/gyptest-relocate.py
M   test/sibling/src/prog1/prog1.gyp
M   test/sibling/src/prog2/prog2.gyp
M   test/subdirectory/gyptest-subdir-all.py
M   test/subdirectory/gyptest-subdir-default.py

Original comment by bugdroid1@chromium.org on 4 Jul 2012 at 2:47

GoogleCodeExporter commented 9 years ago
Issues still to address ...
- Address final review comments
- Set up Android bot
- Add support for running executables

Original comment by stevebl...@chromium.org on 4 Jul 2012 at 3:31

GoogleCodeExporter commented 9 years ago
The backend is landed and in a reasonable state, but we still need a bot and a 
way to test running executables.

Original comment by torne@chromium.org on 18 Oct 2012 at 9:12

GoogleCodeExporter commented 9 years ago
I'm working on getting all tests passing again and a bot going for this.

Original comment by torne@chromium.org on 7 Dec 2012 at 12:19

GoogleCodeExporter commented 9 years ago

Original comment by torne@chromium.org on 7 Dec 2012 at 1:34

GoogleCodeExporter commented 9 years ago

Original comment by torne@chromium.org on 6 Mar 2013 at 2:58

GoogleCodeExporter commented 9 years ago

Original comment by torne@chromium.org on 17 May 2013 at 2:38

GoogleCodeExporter commented 9 years ago

Original comment by torne@chromium.org on 17 May 2013 at 4:20

GoogleCodeExporter commented 9 years ago

Original comment by torne@chromium.org on 13 Jun 2013 at 11:40

GoogleCodeExporter commented 9 years ago
It seems the pre-built so copy rule doesn't work. 

For example lets say we have a GYP :-

{
  'conditions': [
    [ 'OS == "android"', {
      'targets': [
        {
          'target_name' : 'mydeps',
          'type': 'none',
          'copies': [
            {
              'destination': '<(SHARED_LIB_DIR)/',
              'files': [
                '<(android_stlport_libs_dir)/libstlport_shared.so',
              ],
            },
          ],
        },
      ],
    }],
  ],
}

and I run ./android_webview/tools/gyp_webview to generate make file.
Any clue?

Original comment by tnain...@gmail.com on 4 Oct 2013 at 5:22

GoogleCodeExporter commented 9 years ago

Original comment by torne@chromium.org on 3 Jun 2014 at 1:20

GoogleCodeExporter commented 9 years ago
Android generator is being removed.

Original comment by torne@chromium.org on 8 May 2015 at 5:56