1. 20 Oct, 2011 2 commits
    • David 'Digit' Turner's avatar
      download-toolchain-sources.sh: Use android.googlesource.com · 4c26d7cd
      David 'Digit' Turner authored
      This patch updates all files to refer to the new location of the
      AOSP source server, which is now android.googlesource.com.
      
      It updates the download-toolchain-sources.sh script to download
      from this server, using the https:// git protocol, instead of
      git://
      
      + Remove the --git-http option since it isn't supported by
        the new servers, nor really desirable since the https://
        protocol should work across firewalls.
      
        In case you need an alternative, you can still use the
        --git-base option, so nothing of value was lost here.
      
      Change-Id: I99816a4791741474708ad390f96e2ba18cea35b8
      4c26d7cd
    • David 'Digit' Turner's avatar
      Fix infinite loop when calling ndk-build from a project sub-directory · bf6d1d00
      David 'Digit' Turner authored
      Fixes b/5486087
      
      Change-Id: I9bb1ecb9853a9472a9999f73ecab30a620330eaf
      bf6d1d00
  2. 18 Oct, 2011 6 commits
    • David 'Digit' Turner's avatar
      Minor native win32 fixes · 1e631212
      David 'Digit' Turner authored
      This fixes a couple of issues in the native win32 build
      support. Mainly reduce verbosity of host cp/rm commands
      and deals with cmd.exe program's limitations.
      
      We really need our own implementations of "rm" and "mkdir"
      in the toolbox to avoid this kind of hack, but for now this
      is good enough.
      
      Change-Id: I07b4ad977357de7eeae5217b36c7854765fc0f42
      1e631212
    • David 'Digit' Turner's avatar
      package-release.sh: Don't include host tools sources · 2f831032
      David 'Digit' Turner authored
      This patch removes the sources for our host tools from the
      final release package to save about 4MB in the final size.
      
      Change-Id: I9874ffc63569832b25734abdf34fa6b22bef346e
      2f831032
    • David Turner's avatar
      Merge "Native media: NDK API level 14" · aa7bffc2
      David Turner authored
      aa7bffc2
    • Glenn Kasten's avatar
      Native media: NDK API level 14 · 24d60fb0
      Glenn Kasten authored
      Bugs 4108488 and 5045712
      
      Change-Id: Iaf3fbfac2bdc8045220675552bf031f8b23f2175
      24d60fb0
    • David 'Digit' Turner's avatar
      run-tests.sh: Add a --wine option · d6f2b8c1
      David 'Digit' Turner authored
      This patch adds a --wine option to run-tests.sh to build all
      the tests on Linux with the Wine emulator, using the native
      Windows ndk-build.cmd script.
      
      This is an easy way to check that the native windows support
      in our NDK build system keeps running.
      
      Change-Id: I023957aa3e4744a094964cbc9b91747aa7ec1c74
      d6f2b8c1
    • David 'Digit' Turner's avatar
      Add win32 native build support · ad1afc5e
      David 'Digit' Turner authored
      This patch is adds support to "native" (i.e. Cygwin-less) Windows
      NDK build through the new 'ndk-build.cmd' Windows shell script.
      
      Just call it from the cmd.exe command-line, when in your project
      path. The script takes the same arguments than 'ndk-build'.
      
      + Adds the source of a new tiny Windows-specific command-line
        "echo" program.  The reason for this is that the 'echo' that
        comes with cmd.exe is too weird and will not work properly
        when invoked from make (e.g. it can't deal with double-quoted
        strings properly: it will print the double-quotes in the
        output).
      
      + build/tools/build-host-toolbox.sh: new script to rebuild the
        'echo' program on Windows.  The idea is that the 'toolbox' may
        contain other command-line programs like "cp" or "mkdir" in
        the future, to avoid relying on the not-so-robust cmd.exe
        versions of these commands (del, md, xcopy), if necessary.
      
      + Make build-host-prebuilts.sh call build-host-toolbox.sh
        when generating Windows binaries, and package-release.sh
        unpack the corresponding archive when generating the
        Windows packages.
      
      + build-funcs.sh can now be used to build host binaries too.
      
      + docs/CHANGES.html: document new native win32 build support.
      
      Change-Id: I4d30f6c6532ae84deb95e7e5f595af76b97d9257
      ad1afc5e
  3. 14 Oct, 2011 21 commits
  4. 12 Oct, 2011 2 commits
    • David 'Digit' Turner's avatar
      gen-platforms.sh: No libgcc symbols in shell libraries · 3c41e4cd
      David 'Digit' Turner authored
      This patch ensures that the shell system libraries that are
      generated by gen-platforms.sh never ever expose any symbol from
      libgcc.a.
      
      Fact is that libgcc.a is linked against any shared library on
      Android (be it a system or application library). Because the
      symbols in this library don't have hidden visibility by default,
      they get re-exported by the binaries (e.g. /system/lib/libc.so
      exports __div0 or _Unwind_Resume).
      
      When using the standalone toolchain, one can naively do something
      like the following:
      
        gcc -shared -o libfoo.so foo.o -lc
      
      Which gcc will translate as a link command that looks like:
      
        ld -o libfoo.so foo.o $SYSROOT/usr/lib/libc.so /path/to/libgcc.a
      
      In this case, references in foo.o to symbols like __div0, which
      are automatically created by the compiler under various circumstances,
      will result in a dynamic import for the '__div0' symbol, that will
      be looked inside the system libc.so at runtime.
      
      This is problematic because when we upgrade the toolchain used to
      build the system, we change the set of libgcc symbols exported by
      /system/lib/libc.so, and this may result in ABI breakages.
      
      What we want instead is for libfoo.so to have its own copy of
      __div0 et al. If our shell library in $SYSROOT/usr/lib/libc.so
      doesn't export the symbol, its code will be taken from libgcc.a
      and added to libfoo.so directly.
      
      Note that when we use the NDK build system, it ensures that libgcc.a
      is placed before any shared library in the final link command, i.e.
      that something like the following is used:
      
        ld -o libfoo.so foo.o /path/to/libgcc.a $SYSROOT/usr/lib/libc.so
      
      In this case, the problem doesn't exist because our build system
      enforces the correct ordering. This cannot be guaranteed when using
      the standalone toolchain unless this change is implemented.
      
      Change-Id: Ic195d21fe56c7118366c2536efa5fc264a7fb263
      3c41e4cd
    • David 'Digit' Turner's avatar
      docs/NATIVE-ACTIVITY.HTML: Fix typo · 958ae2d8
      David 'Digit' Turner authored
      Fixes http://code.google.com/p/android/issues/detail?id=20017
      
      Change-Id: Ibec86df874222792c236f943a97b1366c7e6ca58
      958ae2d8
  5. 11 Oct, 2011 4 commits
  6. 10 Oct, 2011 5 commits
    • David 'Digit' Turner's avatar
      dev-defaults.sh: OpenMAX AL is API level 14, not 13 · 606f10d7
      David 'Digit' Turner authored
      Change-Id: I3ad484ca4d65838b4b5cb842bfb489c796c6c360
      606f10d7
    • David 'Digit' Turner's avatar
      package-release.sh: Fix brokeness · 1280b52b
      David 'Digit' Turner authored
      Change-Id: Ife010c68013b5476cbfc53df33c4847a9f59c8d7
      1280b52b
    • David 'Digit' Turner's avatar
      gnu-libstdc++: Fix rebuild script and NDK build system · f2c6c623
      David 'Digit' Turner authored
      Change-Id: Id0c2ce8f7c8a95f8633db9161e73d61249962c08
      f2c6c623
    • David 'Digit' Turner's avatar
      gen-platforms.sh: Add --package-dir option · b6af594b
      David 'Digit' Turner authored
      Change-Id: I3efc6a334d7cca08d5fc3f24fce79a98a2d69fed
      b6af594b
    • David 'Digit' Turner's avatar
      gnustl_shared: New C++ runtime · 0059fb2a
      David 'Digit' Turner authored
      This patch fixes build-gnu-libstdc++.sh to work properly
      and generate libgnustl_shared.so from the GNU libstdc++ sources.
      
      This is done by a custom patch to the gcc toolchain source tree
      to force the generation of libgnustl_shared.so from the same objects
      than libstdc++.so. This is required because there is no way to change
      the internal DT_SONAME of a given shared library, so a simple rename
      will not work.
      
      We also ensure that libgnustl_static.a is properly generated and
      used by the make-standalone-toolchain.sh script (which uses
      copy-libstdcxx.sh)
      
      + Update definitions.mk to make "gnustl_shared" available in APP_STL
      + Update documentation to reflect that STLport now supports RTTI
      + Update documentation to reflect the new gnustl_shared runtime
      
      Change-Id: Ie3ffaf825ba2d65eca027ec0be5e320d0ee39cbc
      0059fb2a