summaryrefslogblamecommitdiffstats
blob: d635e6559d1daf49272325858fcb678e725f1930 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14













                                                                           

                             
                           
                             
                         
 
                  
                         
                            
                            

                                
                         
                            
                            
      
                                     
 
             



                                                                


                          
                  

                          


      

                              
                           
                             



                                     

                         



                  
                                                
                  


                                

                           
 


                  
 







                                       


                                               

                            
                                 
              



                                            

          



                                                    







                                            

                          
          




                                              
                  




                                                                       



                          

 











                                    



















                            
                                     



































                                       





                                                               
                              

                                   



                  
 
// Copyright (C) 2008 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

cc_library_headers {
    name: "libutils_headers",
    vendor_available: true,
    recovery_available: true,
    host_supported: true,

    header_libs: [
        "liblog_headers",
        "libsystem_headers",
        "libcutils_headers",
    ],
    export_header_lib_headers: [
        "liblog_headers",
        "libsystem_headers",
        "libcutils_headers",
    ],
    export_include_dirs: ["include"],

    target: {
        android: {
            header_libs: ["libbacktrace_headers"],
            export_header_lib_headers: ["libbacktrace_headers"],
        },
        linux_bionic: {
            enabled: true,
        },
        windows: {
            enabled: true,
        },
    },
}

cc_defaults {
    name: "libutils_defaults",
    vendor_available: true,
    recovery_available: true,
    vndk: {
        enabled: true,
        support_system_process: true,
    },
    host_supported: true,

    cflags: [
        "-Wall",
        "-Werror",
    ],
    include_dirs: ["external/safe-iop/include"],
    header_libs: [
        "libutils_headers",
    ],
    export_header_lib_headers: [
        "libutils_headers",
    ],

    shared_libs: [
        "liblog",
    ],

    arch: {
        mips: {
            cflags: ["-DALIGN_DOUBLE"],
        },
    },

    target: {
        android: {
            cflags: ["-fvisibility=protected"],

            shared_libs: [
                "libcutils",
                "libdl",
                "libvndksupport",
            ],

            sanitize: {
                misc_undefined: ["integer"],
            },
        },

        recovery: {
            exclude_shared_libs: ["libvndksupport"],
        },

        host: {
            cflags: ["-DLIBUTILS_NATIVE=1"],

            shared: {
                enabled: false,
            },
        },

        linux_bionic: {
            enabled: true,
        },

        darwin: {
            cflags: ["-Wno-unused-parameter"],
        },

        windows: {
            cflags: [
                // Under MinGW, ctype.h doesn't need multi-byte support
                "-DMB_CUR_MAX=1",
                "-Wno-unused-private-field",
            ],

            enabled: true,
        },
    },
}

cc_library {
    name: "libutils",
    defaults: ["libutils_defaults"],

    srcs: [
        "FileMap.cpp",
        "JenkinsHash.cpp",
        "NativeHandle.cpp",
        "Printer.cpp",
        "PropertyMap.cpp",
        "RefBase.cpp",
        "SharedBuffer.cpp",
        "StopWatch.cpp",
        "String8.cpp",
        "String16.cpp",
        "StrongPointer.cpp",
        "SystemClock.cpp",
        "Threads.cpp",
        "Timers.cpp",
        "Tokenizer.cpp",
        "Unicode.cpp",
        "VectorImpl.cpp",
        "misc.cpp",
    ],

    target: {
        android: {
            srcs: [
                "Trace.cpp",
            ],
        },
        linux: {
            shared_libs: ["libbase"],
            srcs: [
                "Looper.cpp",
            ],
        },
    },
}

cc_library {
    name: "libutilscallstack",
    defaults: ["libutils_defaults"],

    srcs: [
        "CallStack.cpp",
    ],

    arch: {
        mips: {
            cflags: ["-DALIGN_DOUBLE"],
        },
    },

    target: {
        android: {
            shared_libs: [
                "libutils",
                "libbacktrace",
            ],
        },
        linux: {
            srcs: [
                "ProcessCallStack.cpp",
            ],
        },
    },
}

// Include subdirectory makefiles
// ============================================================

cc_test {
    name: "SharedBufferTest",
    host_supported: true,
    static_libs: ["libutils"],
    shared_libs: ["liblog"],
    srcs: ["SharedBufferTest.cpp"],
    cflags: [
        "-Wall",
        "-Werror",
    ],
}