Commit Graph

8 Commits

Author SHA1 Message Date
David 'Digit' Turner
e872f4e101 ndk: Remove obsolete platform files
Remove the prebuilt system shared libraries and unified symbol files
from development/ndk. We don't need them anymore:

  - the unified symbol files are replaced by separate functions/variables
    symbol list, which were added in a previous commit, i.e.:

	libc.so.txt  --> libc.so.functions.txt
	                 libc.so.variables.txt

 - the shared libraries are now generated on the fly by the NDK
   gen-platforms.sh script, from the functions/variables symbol lists.

Note that we need to keep the static libraries and runtime objects,
they are required to build the cross-toolchains and target binaries.

Change-Id: Ifa0a7f2d741ed32b80216561ca3f17e67df06ce9
2011-10-10 21:52:17 +02:00
David 'Digit' Turner
02053eb7a1 ndk: separate functions and variables symbol lists
This change introduces separate symbol lists for functions
and variables of each NDK system shared library.

Note that we don't remove the unified symbol files yet. This
will be done later when we complete other changes under ndk/,
namely the ability to generate platforms trees containing shell
libraries generated directly from them.

These files were generated using the following:

  cd development/ndk
  for DIR in platforms/*/*/lib; do
    for ARCH in arm x86; do
      $NDK/build/tools/gen-system-symbols $DIR $DIR/../symbols
    done
  done

This means that the symbol lists were generated by parsing the
existing prebuilt shared libraries under platforms/ and extracting
their function and variable names.

Change-Id: Ie1e791d98260a7f0d8d2e9f71323a7ea448f2dd4
2011-10-10 21:52:09 +02:00
David 'Digit' Turner
7c2ba504e9 ndk: remove undefined symbols from system headers
This change removes the declaration of functions that are not
implemented by our various versions of our C library.

The corresponding declarations are moved inside #if 0 .. #endif
blocks (so it becomes easy to remember that they are missing)

Also refresh the headers a little (i.e. adding a few missing decl
and macros, remove C++ comments, etc)

See http://code.google.com/p/android/issues/detail?id=7807

Change-Id: I4ae1b1f3a181419eee2004c41b54768cc15e896f
NOTE: The missing decl are still there but encased in #if 0 .. #endif
      blocks (to make it easier to implement them later). There are
      a few exceptions in order to build STLport and libstdc++-v3
      properly.
2010-10-08 17:07:39 +02:00
David 'Digit' Turner
7c5623becb ndk: Update platform system libraries.
This change updates various system libraries to reflect changes that
happened during distinct platform releases. All details are in the
file bionic/libc/docs/CHANGES.TXT, but the summary is:

API level 5:
    pthread.h:
        pthread_mutex_lock_timeout_np()
        pthread_cond_timedwait_monotonic_np()
        pthread_cond_timedwait_relative_np()

API level 8:
    pthread.h:
        pthread_condattr_init()
        pthread_condattr_destroy()
        pthread_condattr_setpshared()
        pthread_condattr_getpshared()

    dlfcn.h:
        dladdr()

    sched.h:
        clone()

    signal.h:
        killpg()

    stdio.h:
        fdprintf()
        vfdprintf()

    unistd.h:
        getusershell()
        setusershell()
        endusershell()

    wchar.h:
        mbstowcs()
        wcstombs()

    time.h:
        timezone
        daylight

    plus symbols from new headers: <fts.h>, <regex.h>, <err.h>, <warn.h>

Change-Id: I7ff1ffa2cb37b71473b1d137c7799f17d644ab63
2010-10-07 11:17:39 +02:00
David 'Digit' Turner
7012117d4a Unify NDK platform headers.
This commit removes duplication of system headers per platform, i.e. remove
copies of common headers like <stdlib.h> from arch-arm/usr/include and arch-x86/usr/include
and move them to a common include directory. More specifically:

- common headers:        android-N/arch-A/usr/include --> android-N/include
- arch-specific headers: android-N/arch-A/usr-include --> android-N/arch-A/include
- arch-specific libs:    android-N/arch-A/usr/lib     --> android-N/arch-A/lib

Change-Id: Ifdba5038d108901931f3e3a7c14ebe6270d2d276

NOTE: This also contains careful separation of API-level-specific headers.
      For example, platforms/android-5/include/pthread.h contains new function
      declarations that are not available when using platforms/android-3/include/pthread.h

NOTE: The NDK's build-platforms.sh script has been updated to understand the new
      layout. This change in develeopment/ndk does not change the layout of
      platform files under $NDK/platforms after build-platforms.sh is called.
2010-09-22 18:04:36 +02:00
David 'Digit' Turner
f4790e6f9e Separate platform files and samples by API level.
Remove all duplicate platform files, i.e development/ndk/platforms/android-N now
only contains files that are introduced in API level 'N' and not found in level 'N-1'

(This makes it easier to manage independent platform release branches, and makes
 platform additions trivial to examine and maintain).

Move samples that depends on features of API level 'N' into platforms/android-N/samples

+ update tests/run-all.sh accordingly

Change-Id: I04c4c67c6c674c1714d5812d461d0524a4f4cfd9
2010-07-29 18:07:56 -07:00
David 'Digit' Turner
74ff6746d1 Remove C++ headers from the platform directories.
We now rely instead on the content of $NDK/sources/cxx-stl/system/include
that is automatically used if a module has C++ sources.

Change-Id: I4319d9260fcf9fb31c59c2f21ca64b536725d4f5
2010-07-07 12:57:25 -07:00
David 'Digit' Turner
c817c5210e Copy platforms and samples from ndk/ source tree.
The idea is to allow developing the NDK in the open, while
having the platforms and samples under a private branch until
the corresponding release are open-sourced.

Change-Id: Iee995fb6c4d3ee1387dea7486e599e079c9e4c6d
2010-06-09 17:02:09 -07:00