xref: /aosp_15_r20/external/sqlite/android/Android.bp (revision a3141fd39888aecc864dfb08485df64ff6c387f9)
1package {
2    default_applicable_licenses: ["external_sqlite_android_license"],
3}
4
5// Added automatically by a large-scale-change
6// See: http://go/android-license-faq
7license {
8    name: "external_sqlite_android_license",
9    visibility: [":__subpackages__"],
10    license_kinds: [
11        "SPDX-license-identifier-Apache-2.0",
12    ],
13    license_text: [
14        "NOTICE",
15    ],
16}
17
18soong_config_module_type {
19    name: "release_package_libsqlite3_android_defaults_config",
20    module_type: "cc_defaults",
21    config_namespace: "libsqlite3",
22    value_variables: ["release_package_libsqlite3"],
23    properties: [
24        "include_dirs",
25    ],
26}
27
28// Construct the correct source and includes for sqlite libraries,
29// based on the build flag.
30release_package_libsqlite3_android_defaults_config {
31    name: "libsqlite3_android_defaults",
32    soong_config_variables: {
33        release_package_libsqlite3: {
34            include_dirs: ["external/sqlite/dist/sqlite-autoconf-%s"],
35            conditions_default: {
36                include_dirs: ["external/sqlite/dist/sqlite-default"],
37            },
38        },
39    },
40
41    host_supported: true,
42    cflags: [
43        "-Wall",
44        "-Werror",
45        "-Wno-unused-function",
46        "-Wno-unused-variable",
47    ],
48    srcs: [
49        "PhoneNumberUtils.cpp",
50        "OldPhoneNumberUtils.cpp",
51        "sqlite3_android.cpp",
52    ],
53    shared_libs: [
54        "liblog",
55    ],
56    export_include_dirs: ["."],
57}
58
59cc_library_static {
60    name: "libsqlite3_android",
61    defaults: ["libsqlite3_android_defaults"],
62    vendor_available: true,
63    native_bridge_supported: true,
64    target: {
65        android: {
66            cflags: [
67                "-DSQLITE_ENABLE_ICU",
68                "-DSQLITE_DEFAULT_LEGACY_ALTER_TABLE",
69            ],
70            shared_libs: [
71                "libandroidicu",
72            ],
73        },
74        host: {
75            cflags: ["-DSQLITE_ENABLE_ICU"],
76            shared_libs: [
77                "libicui18n",
78                "libicuuc",
79            ],
80        },
81        windows: {
82            enabled: true,
83        },
84        vendor: {
85            cflags: ["-USQLITE_ENABLE_ICU"],
86            exclude_shared_libs: ["libandroidicu"],
87        },
88    },
89    apex_available: [
90        "//apex_available:platform",
91        "com.android.virt",
92    ],
93
94}
95
96// This static library is variant of libsqlite3_android built without the ICU
97// extension.  The library is supposed to be used in environments where the ICU
98// extension is not needed and the dependency to ICU (which is as large as 60+
99// MB) is not desirable, like microdroid.
100cc_library_static {
101    name: "libsqlite3_android_noicu",
102    defaults: ["libsqlite3_android_defaults"],
103    // Not define SQLITE_ENABLE_ICU
104    apex_available: [
105        "//apex_available:platform",
106        "com.android.os.statsd",
107        "test_com.android.os.statsd",
108    ],
109    min_sdk_version: "apex_inherit",
110}
111
112//       The formal test for phone_number_compare() is in DataBaseGeneralTest.java
113//       (as of 2009-08-02), in which phone_number_compare() is tested via sqlite's custom
114//       function "PHONE_NUMBER_COMPARE".
115cc_test {
116    host_supported: true,
117    name: "libsqlite3_phone_number_utils_test",
118    cflags: [
119        "-Wall",
120        "-Werror",
121    ],
122    srcs: [
123        "OldPhoneNumberUtils.cpp",
124        "OldPhoneNumberUtilsTest.cpp",
125        "PhoneNumberUtils.cpp",
126        "PhoneNumberUtilsTest.cpp",
127    ],
128}
129