Home | History | Annotate | Download | only in libutils
      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 cc_library_headers {
     16     name: "libutils_headers",
     17     vendor_available: true,
     18     host_supported: true,
     19 
     20     header_libs: ["libsystem_headers",],
     21     export_header_lib_headers: ["libsystem_headers",],
     22     export_include_dirs: ["include"],
     23 
     24     target: {
     25         android: {
     26             header_libs: ["libbacktrace_headers"],
     27             export_header_lib_headers: ["libbacktrace_headers"],
     28         },
     29         linux_bionic: {
     30             enabled: true,
     31         },
     32         windows: {
     33             enabled: true,
     34         },
     35     },
     36 }
     37 
     38 cc_library {
     39     name: "libutils",
     40     vendor_available: true,
     41     host_supported: true,
     42 
     43     srcs: [
     44         "CallStack.cpp",
     45         "FileMap.cpp",
     46         "JenkinsHash.cpp",
     47         "Log.cpp",
     48         "NativeHandle.cpp",
     49         "Printer.cpp",
     50         "PropertyMap.cpp",
     51         "RefBase.cpp",
     52         "SharedBuffer.cpp",
     53         "Static.cpp",
     54         "StopWatch.cpp",
     55         "String8.cpp",
     56         "String16.cpp",
     57         "StrongPointer.cpp",
     58         "SystemClock.cpp",
     59         "Threads.cpp",
     60         "Timers.cpp",
     61         "Tokenizer.cpp",
     62         "Unicode.cpp",
     63         "VectorImpl.cpp",
     64         "misc.cpp",
     65     ],
     66 
     67     cflags: ["-Werror"],
     68     include_dirs: ["external/safe-iop/include"],
     69     header_libs: [
     70         "libutils_headers",
     71     ],
     72     export_header_lib_headers: [
     73         "libutils_headers",
     74     ],
     75 
     76     arch: {
     77         mips: {
     78             cflags: ["-DALIGN_DOUBLE"],
     79         },
     80     },
     81 
     82     target: {
     83         android: {
     84             srcs: [
     85                 "Looper.cpp",
     86                 "ProcessCallStack.cpp",
     87                 "Trace.cpp",
     88             ],
     89 
     90             cflags: ["-fvisibility=protected"],
     91 
     92             shared_libs: [
     93                 "libbacktrace",
     94                 "libcutils",
     95                 "libdl",
     96                 "liblog",
     97                 "libvndksupport",
     98             ],
     99 
    100             sanitize: {
    101                 misc_undefined: ["integer"],
    102             },
    103         },
    104 
    105         host: {
    106             cflags: ["-DLIBUTILS_NATIVE=1"],
    107 
    108             shared: {
    109                 enabled: false,
    110             },
    111         },
    112 
    113         linux: {
    114             srcs: [
    115                 "Looper.cpp",
    116                 "ProcessCallStack.cpp",
    117             ],
    118         },
    119         linux_bionic: {
    120             enabled: true,
    121             srcs: [
    122                 "Looper.cpp",
    123                 "ProcessCallStack.cpp",
    124             ],
    125         },
    126 
    127         darwin: {
    128             cflags: ["-Wno-unused-parameter"],
    129         },
    130 
    131         // Under MinGW, ctype.h doesn't need multi-byte support
    132         windows: {
    133             cflags: ["-DMB_CUR_MAX=1"],
    134 
    135             enabled: true,
    136         },
    137     },
    138 
    139     clang: true,
    140 }
    141 
    142 // Include subdirectory makefiles
    143 // ============================================================
    144 
    145 cc_test {
    146     name: "SharedBufferTest",
    147     host_supported: true,
    148     static_libs: ["libutils"],
    149     shared_libs: ["liblog"],
    150     srcs: ["SharedBufferTest.cpp"],
    151 }
    152 
    153 subdirs = ["tests"]
    154