Uploaded image for project: 'Qbs ("Cubes")'
  1. Qbs ("Cubes")
  2. QBS-1109

Take Unified Headers into account with the Android NDK

    XMLWordPrintable

Details

    • Task
    • Resolution: Done
    • P2: Important
    • 1.9.0
    • None
    • Platforms: Android
    • None
    • a66281bec7dca8a0c733ecc4c61bc0415c0a3dfa

    Description

      Android NDK r14 will introduce "unified headers" (see https://github.com/android-ndk/ndk/wiki/Changelog-r14-beta2, https://android.googlesource.com/platform/ndk/+/master/docs/UnifiedHeaders.md).

      Basically, there are no more separate headers for each Android API version, instead have only one set of headers for all API levels with embedded macros for conditionally enabling features based on the API level.

      tl;dr: we need to update the Android NDK include path for NDK r >= 14 and possibly pass _ANDROID_API_=$API to defines when building with GCC.

      Unified Headers will be default in NDK r15, and the old ones will be removed entirely in NDK r16.

      ndk-build, CMake, and Gradle all have options to use the deprecated headers; qbs probably should also, even though it won't matter much in the long term.

      Attachments

        For Gerrit Dashboard: QBS-1109
        # Subject Branch Project Status CR V

        Activity

          People

            jakepetroules Jake Petroules (DO NOT ASSIGN ISSUES)
            jakepetroules Jake Petroules (DO NOT ASSIGN ISSUES)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes