Fix iOS cc_library build for protobuf.
The SDK and os versions were hard coded. Archs were mixed up. Because of this, Was getting errors with latest SDK: clang: warning: no such sysroot directory: '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.2.sdk/' [-Wmissing-sysroot] clang: warning: no such sysroot directory: '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.2.sdk/' [-Wmissing-sysroot] clang: warning: no such sysroot directory: '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.2.sdk/' [-Wmissing-sysroot] In file included from external/com_google_protobuf/src/google/protobuf/io/printer.cc:35: In file included from external/com_google_protobuf/src/google/protobuf/io/printer.h:40: In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string:470: In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string_view:171: In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__string:56: In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/algorithm:638: In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cstring:61: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string.h:61:15: fatal error: 'string.h' file not found ^~~~~~~~~~ 1 error generated. Currently none of these are needed when using bazel with https://github.com/bazelbuild/rules_apple. -target arm64-apple-ios is passed properly to clang. So -arch armv7 etc are not needed. OS_IOS is not used anywhere. Sources have: GOOGLE_PROTOBUF_NO_THREADLOCAL defined in src/google/protobuf/stubs/platform_macros.h for iOS. So __thread= is not needed. In fact now that bazel is using C++11 by default, __thread should ideally be moved to thread_local. -miphoneos-version-min is passed by rules_apple.
This commit is contained in:
parent
f850188e6e
commit
16792c6240
45
BUILD
45
BUILD
@ -61,37 +61,6 @@ load(
|
||||
"internal_protobuf_py_tests",
|
||||
)
|
||||
|
||||
config_setting(
|
||||
name = "ios_armv7",
|
||||
values = {
|
||||
"ios_cpu": "armv7",
|
||||
},
|
||||
)
|
||||
|
||||
config_setting(
|
||||
name = "ios_armv7s",
|
||||
values = {
|
||||
"ios_cpu": "armv7s",
|
||||
},
|
||||
)
|
||||
|
||||
config_setting(
|
||||
name = "ios_arm64",
|
||||
values = {
|
||||
"ios_cpu": "arm64",
|
||||
},
|
||||
)
|
||||
|
||||
IOS_ARM_COPTS = [
|
||||
"-DOS_IOS",
|
||||
"-miphoneos-version-min=7.0",
|
||||
"-arch armv7",
|
||||
"-arch armv7s",
|
||||
"-arch arm64",
|
||||
"-D__thread=",
|
||||
"-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.2.sdk/",
|
||||
]
|
||||
|
||||
cc_library(
|
||||
name = "protobuf_lite",
|
||||
srcs = [
|
||||
@ -123,12 +92,7 @@ cc_library(
|
||||
"src/google/protobuf/wire_format_lite.cc",
|
||||
],
|
||||
hdrs = glob(["src/google/protobuf/**/*.h"]),
|
||||
copts = select({
|
||||
":ios_armv7": IOS_ARM_COPTS,
|
||||
":ios_armv7s": IOS_ARM_COPTS,
|
||||
":ios_arm64": IOS_ARM_COPTS,
|
||||
"//conditions:default": [],
|
||||
}) + COPTS,
|
||||
copts = COPTS,
|
||||
includes = ["src/"],
|
||||
linkopts = LINK_OPTS,
|
||||
visibility = ["//visibility:public"],
|
||||
@ -195,12 +159,7 @@ cc_library(
|
||||
"src/google/protobuf/wrappers.pb.cc",
|
||||
],
|
||||
hdrs = glob(["src/**/*.h"]),
|
||||
copts = select({
|
||||
":ios_armv7": IOS_ARM_COPTS,
|
||||
":ios_armv7s": IOS_ARM_COPTS,
|
||||
":ios_arm64": IOS_ARM_COPTS,
|
||||
"//conditions:default": [],
|
||||
}) + COPTS,
|
||||
copts = COPTS,
|
||||
includes = ["src/"],
|
||||
linkopts = LINK_OPTS,
|
||||
visibility = ["//visibility:public"],
|
||||
|
Loading…
Reference in New Issue
Block a user