Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 41e82a3c authored by Colin Cross's avatar Colin Cross Committed by Gerrit Code Review
Browse files

Merge changes I6f0df904,I8b578f67

* changes:
  Convert libziparchive from Android.mk to Android.bp
  Convert libbacktrace, libutils to Soong
parents bc6c52f9 45566ba8
Loading
Loading
Loading
Loading
+121 −0
Original line number Diff line number Diff line
//
// Copyright (C) 2014 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_defaults {
    name: "libbacktrace_common",

    cflags: [
        "-Wall",
        "-Werror",
    ],
    conlyflags: ["-std=gnu99"],
    cppflags: ["-std=gnu++11"],

    clang_cflags: ["-Wno-inline-asm"],

    // The latest clang (r230699) does not allow SP/PC to be declared in inline asm lists.
    include_dirs: ["external/libunwind/include/tdep"],

    // TODO: LLVM_DEVICE_BUILD_MK
    // TODO: LLVM_HOST_BUILD_MK

    target: {
        host: {
            // -fno-omit-frame-pointer should be set for host build. Because currently
            // libunwind can't recognize .debug_frame using dwarf version 4, and it relies
            // on stack frame pointer to do unwinding on x86.
            // $(LLVM_HOST_BUILD_MK) overwrites -fno-omit-frame-pointer. so the below line
            // must be after the include.
            cflags: [
                "-Wno-extern-c-compat",
                "-fno-omit-frame-pointer",
            ],
        },

        darwin: {
            enabled: false,
        },
    },

    multilib: {
        lib32: {
            suffix: "32",
        },
        lib64: {
            suffix: "64",
        },
    }
}

libbacktrace_sources = [
    "Backtrace.cpp",
    "BacktraceCurrent.cpp",
    "BacktracePtrace.cpp",
    "thread_utils.c",
    "ThreadEntry.cpp",
    "UnwindCurrent.cpp",
    "UnwindMap.cpp",
    "UnwindPtrace.cpp",
]

cc_library {
    name: "libbacktrace",
    defaults: ["libbacktrace_common"],
    host_supported: true,

    srcs: [
        "BacktraceMap.cpp",
    ],

    target: {
        darwin: {
            enabled: true,
        },
        linux: {
            srcs: libbacktrace_sources,

            shared_libs: [
                "libbase",
                "liblog",
                "libunwind",
            ],

            static_libs: ["libcutils"],
        },
        android: {
            srcs: libbacktrace_sources,

            shared_libs: [
                "libbase",
                "liblog",
                "libunwind",
            ],

            static_libs: ["libcutils"],
        },
    },
}

cc_library_shared {
    name: "libbacktrace_test",
    defaults: ["libbacktrace_common"],
    host_supported: true,
    strip: {
        none: true,
    },
    cflags: ["-O0"],
    srcs: ["backtrace_testlib.c"],
}
+0 −86
Original line number Diff line number Diff line
@@ -43,53 +43,6 @@ endif
LLVM_ROOT_PATH := external/llvm
include $(LLVM_ROOT_PATH)/llvm.mk

#-------------------------------------------------------------------------
# The libbacktrace library.
#-------------------------------------------------------------------------
libbacktrace_src_files := \
	Backtrace.cpp \
	BacktraceCurrent.cpp \
	BacktraceMap.cpp \
	BacktracePtrace.cpp \
	thread_utils.c \
	ThreadEntry.cpp \
	UnwindCurrent.cpp \
	UnwindMap.cpp \
	UnwindPtrace.cpp \

libbacktrace_shared_libraries := \
	libbase \
	liblog \
	libunwind \

libbacktrace_static_libraries := \
	libcutils

module := libbacktrace
module_tag := optional
build_type := target
build_target := SHARED_LIBRARY
include $(LOCAL_PATH)/Android.build.mk
build_type := host
libbacktrace_multilib := both
include $(LOCAL_PATH)/Android.build.mk

libbacktrace_shared_libraries :=

libbacktrace_static_libraries := \
	libbase \
	liblog \
	libunwind \
	liblzma \

module := libbacktrace
build_type := target
build_target := STATIC_LIBRARY
include $(LOCAL_PATH)/Android.build.mk
build_type := host
libbacktrace_multilib := both
include $(LOCAL_PATH)/Android.build.mk

#-------------------------------------------------------------------------
# The libbacktrace_offline shared library.
#-------------------------------------------------------------------------
@@ -134,26 +87,6 @@ include $(LOCAL_PATH)/Android.build.mk
build_type := host
include $(LOCAL_PATH)/Android.build.mk

#-------------------------------------------------------------------------
# The libbacktrace_test library needed by backtrace_test.
#-------------------------------------------------------------------------
libbacktrace_test_cflags := \
	-O0 \

libbacktrace_test_src_files := \
	backtrace_testlib.c \

libbacktrace_test_strip_module := false

module := libbacktrace_test
module_tag := debug
build_type := target
build_target := SHARED_LIBRARY
libbacktrace_test_multilib := both
include $(LOCAL_PATH)/Android.build.mk
build_type := host
include $(LOCAL_PATH)/Android.build.mk

#-------------------------------------------------------------------------
# The backtrace_test executable.
#-------------------------------------------------------------------------
@@ -219,22 +152,3 @@ backtrace_test_multilib := both
include $(LOCAL_PATH)/Android.build.mk
build_type := host
include $(LOCAL_PATH)/Android.build.mk

#----------------------------------------------------------------------------
# Special truncated libbacktrace library for mac.
#----------------------------------------------------------------------------
ifeq ($(HOST_OS),darwin)

include $(CLEAR_VARS)

LOCAL_MODULE := libbacktrace
LOCAL_MODULE_TAGS := optional

LOCAL_SRC_FILES := \
	BacktraceMap.cpp \

LOCAL_MULTILIB := both

include $(BUILD_HOST_SHARED_LIBRARY)

endif # HOST_OS-darwin

libutils/Android.bp

0 → 100644
+118 −0
Original line number Diff line number Diff line
// 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 {
    name: "libutils",
    host_supported: true,

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

    cflags: ["-Werror"],
    include_dirs: ["external/safe-iop/include"],

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

    target: {
        android: {
            srcs: [
                "BlobCache.cpp",
                "Looper.cpp",
                "ProcessCallStack.cpp",
                "Trace.cpp",
            ],

            cflags: ["-fvisibility=protected"],

            shared_libs: [
                "libbacktrace",
                "libcutils",
                "libdl",
                "liblog",
            ],
        },

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

            shared: {
                enabled: false,
            },
        },

        linux: {
            srcs: [
                "Looper.cpp",
                "ProcessCallStack.cpp",
            ],
        },

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

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

            enabled: true,
        },
    },

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

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

cc_test {
    name: "SharedBufferTest",
    host_supported: true,
    static_libs: [
        "libutils",
        "libcutils",
    ],
    shared_libs: ["liblog"],
    srcs: ["SharedBufferTest.cpp"],
}

subdirs = ["tests"]

libutils/Android.mk

deleted100644 → 0
+0 −127
Original line number Diff line number Diff line
# 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.

LOCAL_PATH:= $(call my-dir)

commonSources:= \
	CallStack.cpp \
	FileMap.cpp \
	JenkinsHash.cpp \
	LinearTransform.cpp \
	Log.cpp \
	NativeHandle.cpp \
	Printer.cpp \
	PropertyMap.cpp \
	RefBase.cpp \
	SharedBuffer.cpp \
	Static.cpp \
	StopWatch.cpp \
	String8.cpp \
	String16.cpp \
	SystemClock.cpp \
	Threads.cpp \
	Timers.cpp \
	Tokenizer.cpp \
	Unicode.cpp \
	VectorImpl.cpp \
	misc.cpp \

host_commonCflags := -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) -Werror

# For the host
# =====================================================
include $(CLEAR_VARS)
LOCAL_SRC_FILES:= $(commonSources)
LOCAL_SRC_FILES_linux := Looper.cpp ProcessCallStack.cpp
LOCAL_CFLAGS_darwin := -Wno-unused-parameter
LOCAL_MODULE:= libutils
LOCAL_STATIC_LIBRARIES := liblog
LOCAL_CFLAGS += $(host_commonCflags)
# Under MinGW, ctype.h doesn't need multi-byte support
LOCAL_CFLAGS_windows := -DMB_CUR_MAX=1
LOCAL_MULTILIB := both
LOCAL_MODULE_HOST_OS := darwin linux windows
LOCAL_C_INCLUDES += external/safe-iop/include
include $(BUILD_HOST_STATIC_LIBRARY)


# For the device, static
# =====================================================
include $(CLEAR_VARS)


# we have the common sources, plus some device-specific stuff
LOCAL_SRC_FILES:= \
	$(commonSources) \
	BlobCache.cpp \
	Looper.cpp \
	ProcessCallStack.cpp \
	Trace.cpp

ifeq ($(TARGET_ARCH),mips)
LOCAL_CFLAGS += -DALIGN_DOUBLE
endif
LOCAL_CFLAGS += -Werror -fvisibility=protected

LOCAL_STATIC_LIBRARIES := \
	libcutils \
	libc

LOCAL_SHARED_LIBRARIES := \
        libbacktrace \
        liblog \
        libdl

LOCAL_MODULE := libutils
LOCAL_CLANG := true
LOCAL_SANITIZE := integer
LOCAL_C_INCLUDES += external/safe-iop/include
include $(BUILD_STATIC_LIBRARY)

# For the device, shared
# =====================================================
include $(CLEAR_VARS)
LOCAL_MODULE:= libutils
LOCAL_WHOLE_STATIC_LIBRARIES := libutils
LOCAL_SHARED_LIBRARIES := \
        libbacktrace \
        libcutils \
        libdl \
        liblog
LOCAL_CFLAGS := -Werror
LOCAL_C_INCLUDES += external/safe-iop/include

LOCAL_CLANG := true
LOCAL_SANITIZE := integer
include $(BUILD_SHARED_LIBRARY)

# Include subdirectory makefiles
# ============================================================

include $(CLEAR_VARS)
LOCAL_MODULE := SharedBufferTest
LOCAL_STATIC_LIBRARIES := libutils libcutils
LOCAL_SHARED_LIBRARIES := liblog
LOCAL_SRC_FILES := SharedBufferTest.cpp
include $(BUILD_NATIVE_TEST)

include $(CLEAR_VARS)
LOCAL_MODULE := SharedBufferTest
LOCAL_STATIC_LIBRARIES := libutils libcutils
LOCAL_SHARED_LIBRARIES := liblog
LOCAL_SRC_FILES := SharedBufferTest.cpp
include $(BUILD_HOST_NATIVE_TEST)

# Build the tests in the tests/ subdirectory.
include $(call first-makefiles-under,$(LOCAL_PATH))
+49 −0
Original line number Diff line number Diff line
//
// Copyright (C) 2014 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.
//

// Build the unit tests.

cc_test {
    name: "libutils_tests",

    srcs: [
        "BlobCache_test.cpp",
        "BitSet_test.cpp",
        "Looper_test.cpp",
        "LruCache_test.cpp",
        "String8_test.cpp",
        "StrongPointer_test.cpp",
        "SystemClock_test.cpp",
        "Unicode_test.cpp",
        "Vector_test.cpp",
    ],

    shared_libs: [
        "libz",
        "liblog",
        "libcutils",
        "libutils",
    ],
}

cc_test_host {
    name: "libutils_tests_host",
    srcs: ["Vector_test.cpp"],
    static_libs: [
        "libutils",
        "liblog",
    ],
}
Loading