Home | History | Annotate | Download | only in common
      1 // Copyright (C) 2008 The Android Open Source Project
      2 //
      3 // Licensed under the Apache License, Version 2.0 (the "License");
      4 // you may not use this file except in compliance with the License.
      5 // You may obtain a copy of the License at
      6 //
      7 //      http://www.apache.org/licenses/LICENSE-2.0
      8 //
      9 // Unless required by applicable law or agreed to in writing, software
     10 // distributed under the License is distributed on an "AS IS" BASIS,
     11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     12 // See the License for the specific language governing permissions and
     13 // limitations under the License.
     14 
     15 //
     16 // Common definitions.
     17 //
     18 
     19 cc_defaults {
     20     name: "libicuuc_defaults",
     21     srcs: [
     22         "*.cpp",
     23     ],
     24 
     25     // We deliberately do not set -DICU_DATA_DIR: ICU4C is configured on Android
     26     // using udata_setCommonData.
     27     cflags: [
     28         "-D_REENTRANT",
     29         "-DU_COMMON_IMPLEMENTATION",
     30 
     31         "-O3",
     32         "-fvisibility=hidden",
     33 
     34         "-Wall",
     35         "-Werror",
     36         "-Wno-unused-parameter",
     37         "-Wno-missing-field-initializers",
     38         "-Wno-sign-compare",
     39         "-Wno-deprecated-declarations",
     40     ],
     41 
     42     cppflags: [
     43         "-std=c++11",
     44     ],
     45 
     46     rtti: true,
     47 
     48     required: ["icu-data_host_runtime_apex"],
     49 
     50     target: {
     51         android: {
     52             cflags: [
     53                 "-DANDROID_LINK_SHARED_ICU4C",
     54                 "-DPIC",
     55                 "-fPIC",
     56             ],
     57         },
     58     },
     59 }
     60 
     61 cc_library_headers {
     62     name: "libicuuc_headers",
     63     host_supported: true,
     64     header_libs: [ "icu4c_extra_headers" ],
     65     export_header_lib_headers: [ "icu4c_extra_headers" ],
     66     export_include_dirs: ["."],
     67     target: {
     68         windows: {
     69             enabled: true,
     70         },
     71     },
     72 }
     73 
     74 //
     75 // Build for the host and target.
     76 //
     77 cc_library_shared {
     78     name: "libicuuc",
     79     host_supported: true,
     80     unique_host_soname: true,
     81     defaults: ["libicuuc_defaults"],
     82     target: {
     83         android: {
     84             static_libs: ["libicuuc_stubdata"],
     85         },
     86         not_windows: {
     87             static_libs: ["libicuuc_stubdata"],
     88         },
     89         windows: {
     90             enabled: true,
     91             // Windows requires importing data as a DLL when building with U_COMMON_IMPLEMENTATION
     92             shared_libs: ["libicuuc_stubdata"],
     93         },
     94     },
     95     header_libs: [ "libicuuc_headers" ],
     96     export_header_lib_headers: [ "libicuuc_headers" ],
     97 }
     98