diff options
-rw-r--r-- | Android.mk | 8 | ||||
-rw-r--r-- | base/compiler_specific.h | 5 | ||||
-rw-r--r-- | base/macros.h | 13 |
3 files changed, 24 insertions, 2 deletions
diff --git a/Android.mk b/Android.mk index 47ca1ac93a..018bd4ed07 100644 --- a/Android.mk +++ b/Android.mk @@ -428,7 +428,8 @@ LOCAL_CPP_EXTENSION := $(libchromeCommonCppExtension) LOCAL_CFLAGS := $(libchromeCommonCFlags) LOCAL_CLANG := $(libchromeUseClang) LOCAL_C_INCLUDES := $(libchromeCommonCIncludes) -LOCAL_SHARED_LIBRARIES := libevent liblog libcutils +LOCAL_EXPORT_SHARED_LIBRARY_HEADERS := libbase +LOCAL_SHARED_LIBRARIES := libbase libevent liblog libcutils LOCAL_STATIC_LIBRARIES := libmodpb64 LOCAL_EXPORT_C_INCLUDE_DIRS := $(libchromeExportedCIncludes) include $(BUILD_SHARED_LIBRARY) @@ -442,7 +443,8 @@ LOCAL_CLANG := $(libchromeUseClang) LOCAL_CPP_EXTENSION := $(libchromeCommonCppExtension) LOCAL_C_INCLUDES := $(libchromeCommonCIncludes) LOCAL_EXPORT_C_INCLUDE_DIRS := $(libchromeExportedCIncludes) -LOCAL_SHARED_LIBRARIES := libevent-host +LOCAL_EXPORT_SHARED_LIBRARY_HEADERS := libbase +LOCAL_SHARED_LIBRARIES := libbase libevent-host LOCAL_STATIC_LIBRARIES := libmodpb64-host LOCAL_SRC_FILES := $(libchromeCommonSrc) $(libchromeHostSrc) LOCAL_LDFLAGS := $(libchromeHostLdFlags) @@ -473,6 +475,7 @@ LOCAL_CPP_EXTENSION := $(libchromeCommonCppExtension) LOCAL_CFLAGS := $(libchromeCommonCFlags) LOCAL_CLANG := $(libchromeUseClang) LOCAL_C_INCLUDES := $(libchromeCommonCIncludes) +LOCAL_EXPORT_SHARED_LIBRARY_HEADERS := libchrome LOCAL_SHARED_LIBRARIES := \ libchrome \ libdbus \ @@ -480,6 +483,7 @@ LOCAL_SHARED_LIBRARIES := \ LOCAL_STATIC_LIBRARIES := LOCAL_EXPORT_C_INCLUDE_DIRS := $(libchromeExportedCIncludes) +LOCAL_EXPORT_SHARED_LIBRARY_HEADERS := libchrome include $(BUILD_SHARED_LIBRARY) endif # local_use_dbus == 1 diff --git a/base/compiler_specific.h b/base/compiler_specific.h index 339e9b74e9..4067d61b9a 100644 --- a/base/compiler_specific.h +++ b/base/compiler_specific.h @@ -7,6 +7,11 @@ #include "build/build_config.h" +#if defined(ANDROID) +// Prefer Android's libbase definitions to our own. +#include <android-base/macros.h> +#endif // defined(ANDROID) + #if defined(COMPILER_MSVC) // For _Printf_format_string_. diff --git a/base/macros.h b/base/macros.h index b9dd8993a6..f971da9060 100644 --- a/base/macros.h +++ b/base/macros.h @@ -12,13 +12,22 @@ #include <stddef.h> // For size_t. +#if defined(ANDROID) +// Prefer Android's libbase definitions to our own. +#include <android-base/macros.h> +#endif // defined(ANDROID) + // Put this in the declarations for a class to be uncopyable. +#if !defined(DISALLOW_COPY) #define DISALLOW_COPY(TypeName) \ TypeName(const TypeName&) = delete +#endif // Put this in the declarations for a class to be unassignable. +#if !defined(DISALLOW_ASSIGN) #define DISALLOW_ASSIGN(TypeName) \ void operator=(const TypeName&) = delete +#endif // A macro to disallow the copy constructor and operator= functions // This should be used in the private: declarations for a class @@ -50,8 +59,10 @@ // This template function declaration is used in defining arraysize. // Note that the function doesn't need an implementation, as we only // use its type. +#if !defined(arraysize) template <typename T, size_t N> char (&ArraySizeHelper(T (&array)[N]))[N]; #define arraysize(array) (sizeof(ArraySizeHelper(array))) +#endif // Used to explicitly mark the return value of a function as unused. If you are // really sure you don't want to do anything with the return value of a function @@ -84,8 +95,10 @@ enum LinkerInitialized { LINKER_INITIALIZED }; // Use these to declare and define a static local variable (static T;) so that // it is leaked so that its destructors are not called at exit. If you need // thread-safe initialization, use base/lazy_instance.h instead. +#if !defined(CR_DEFINE_STATIC_LOCAL) #define CR_DEFINE_STATIC_LOCAL(type, name, arguments) \ static type& name = *new type arguments +#endif } // base |