1. 21 Oct, 2011 1 commit
  2. 20 Oct, 2011 6 commits
    • Glenn Kasten's avatar
      Minor fixes in native media documentation · d7cfa495
      Glenn Kasten authored
      Change-Id: Ib6bae86d8fb12109bf08dd325523da79b1bf9c9c
      d7cfa495
    • David 'Digit' Turner's avatar
      build-gnu-libstdc++.sh: separate static and shared library builds · b4623237
      David 'Digit' Turner authored
      This change uses different configuration flags for the static and
      shared builds of GNU libstdc++, this allows up to disable visible
      symbols for the static library, but keep them for the shared one.
      
      + Fix gnustl_shared module exports. We need to export the
        static libsupc++ library as well. Curiously the library
        isn't part of the shared library (but is part of the
        static one).
      
        It's probably something we would want to fix with a local
        GNU libstdc++ in the future.
      
      + New unit test to check that exceptions cross binaries
        properly (i.e. an exception thrown in a shared library
        is properly caught in the executable that links against
        it).
      
      Change-Id: Iba1f9bc6f0d4f7333dd3b7a87d5b84dbd7991be2
      b4623237
    • David 'Digit' Turner's avatar
      Update 'exceptions-crash' unit test. · 2bde00ab
      David 'Digit' Turner authored
      Update the test so that it actually crashes on Cupcake and Eclair.
      This unit test is to track the bug described at
      
         http://code.google.com/p/android/issues/detail?id=20176
      
      Note that there is no solution yet. It looks like this reveals
      a bug in the system's dynamic linker that was only fixed in
      Android 2.2 (probably related to weak symbols).
      
      Change-Id: Ie8595016da6cd6fcba71a0d4b73cb0dedbf90a5a
      2bde00ab
    • David 'Digit' Turner's avatar
      Fix "ndk-build clean" · 72ab69d4
      David 'Digit' Turner authored
      A typo prevented it to remove directories properly.
      
      Change-Id: I6ace3ddb934c940f8bd8293736fef15ccb949688
      72ab69d4
    • 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
  3. 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
  4. 14 Oct, 2011 21 commits
  5. 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
  6. 11 Oct, 2011 4 commits