forked from alibaba/yalantinglibs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
14 changed files
with
236 additions
and
70 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
# Must be first. Enables build:windows, build:linux, build:macos, build:freebsd, build:openbsd | ||
build --enable_platform_specific_config | ||
############################################################################### | ||
# On Windows, provide: BAZEL_SH, and BAZEL_LLVM (if using clang-cl) | ||
# On all platforms, provide: PYTHON3_BIN_PATH=python | ||
############################################################################### | ||
build --action_env=PATH | ||
# For --compilation_mode=dbg, consider enabling checks in the standard library as well (below). | ||
build --compilation_mode=opt | ||
# FIXME(lingxuan.zlx) TEST CASE: test wide string crash since cxx abi off. | ||
build --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" | ||
# Using C++ 20 on all platforms. | ||
build:linux --cxxopt="-std=c++20" | ||
build:macos --cxxopt="-std=c++20" | ||
build:clang-cl --cxxopt="-std=c++20" | ||
build:gcc-cl --cxxopt="-std=c++20" | ||
build:gcc-cl --cxxopt="-fcoroutines" | ||
build:msvc-cl --cxxopt="/std:c++20" | ||
build:windows --cxxopt="/std:c++20" | ||
# This workaround is needed to prevent Bazel from compiling the same file twice (once PIC and once not). | ||
build:linux --force_pic | ||
build:macos --force_pic | ||
build:clang-cl --compiler=clang-cl | ||
build:msvc-cl --compiler=msvc-cl | ||
# `LC_ALL` and `LANG` is needed for cpp worker tests, because they will call "ray start". | ||
# If we don't add them, python's `click` library will raise an error. | ||
build --action_env=LC_ALL | ||
build --action_env=LANG | ||
# Allow C++ worker tests to execute "ray start" with the correct version of Python. | ||
build --action_env=VIRTUAL_ENV | ||
build --action_env=PYENV_VIRTUAL_ENV | ||
build --action_env=PYENV_VERSION | ||
build --action_env=PYENV_SHELL | ||
# This is needed for some core tests to run correctly | ||
build:windows --enable_runfiles | ||
build:linux --per_file_copt="-\\.(asm|S)$@-Werror" | ||
build:macos --per_file_copt="-\\.(asm|S)$@-Werror" | ||
build:clang-cl --per_file_copt="-\\.(asm|S)$@-Werror" | ||
build:gcc-cl --per_file_copt="-\\.(asm|S)$@-Werror" | ||
build:msvc-cl --per_file_copt="-\\.(asm|S)$@-WX" | ||
# Ignore warnings for protobuf generated files and external projects. | ||
build --per_file_copt="\\.pb\\.cc$@-w" | ||
build --per_file_copt="-\\.(asm|S)$,external/.*@-w" | ||
#build --per_file_copt="external/.*@-Wno-unused-result" | ||
# Ignore minor warnings for host tools, which we generally can't control | ||
build:clang-cl --host_copt="-Wno-inconsistent-missing-override" | ||
build:clang-cl --host_copt="-Wno-microsoft-unqualified-friend" | ||
# Ignore wchar_t -> char conversion warning on MSVC | ||
build:msvc-cl --per_file_copt="external/boost/libs/regex/src/wc_regex_traits\\.cpp@-wd4244" | ||
build --http_timeout_scaling=5.0 | ||
build --verbose_failures | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
name: Bazel-GCC | ||
|
||
on: | ||
push: | ||
branches: [ main ] | ||
pull_request: | ||
branches: [ main ] | ||
workflow_dispatch: | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-22.04 | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
|
||
- name: Build | ||
working-directory: ${{github.workspace}} | ||
run: bazel build --config=gcc-cl ... | ||
|
||
- name: Test | ||
working-directory: ${{github.workspace}} | ||
run: bazel test --config=gcc-cl --test_output=errors ... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,95 @@ | ||
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library") | ||
load("//bazel:defs.bzl", "YA_BIN_COPT", "YA_LT_COPT") | ||
|
||
package(default_visibility = ["//visibility:public"]) | ||
|
||
cc_library( | ||
name = "ylt", | ||
hdrs = glob([ | ||
"include/**", | ||
"src/include/**" | ||
srcs = glob([ | ||
"include/ylt/**/*.hpp", | ||
"include/ylt/**/*.h", | ||
"include/ylt/**/*.ipp", | ||
"src/include/*.h", | ||
]), | ||
includes = ["include", "include/ylt/thirdparty","src/include"], | ||
copts = YA_LT_COPT, | ||
includes = [ | ||
"include", | ||
"include/ylt", | ||
"include/ylt/thirdparty", | ||
"src/include", | ||
], | ||
linkopts = ["-lpthread"], | ||
visibility = ["//visibility:public"], | ||
) | ||
|
||
# List one example for ylt tests. | ||
cc_test( | ||
name = "easylog_test", | ||
srcs = [ | ||
"src/easylog/tests/main.cpp", | ||
"src/easylog/tests/test_easylog.cpp", | ||
], | ||
copts = YA_BIN_COPT, | ||
includes = [ | ||
"include", | ||
"include/ylt/thirdparty", | ||
"src/include", | ||
], | ||
deps = [":ylt"], | ||
) | ||
|
||
cc_binary( | ||
name = "easylog_benchmark", | ||
srcs = [ | ||
"src/easylog/benchmark/main.cpp", | ||
], | ||
copts = YA_BIN_COPT, | ||
includes = [ | ||
"include", | ||
"include/ylt/thirdparty", | ||
"src/include", | ||
], | ||
deps = [":ylt"], | ||
) | ||
|
||
cc_binary( | ||
name = "coro_http_example", | ||
srcs = ["src/coro_http/examples/example.cpp"], | ||
copts = YA_BIN_COPT, | ||
includes = [ | ||
"include", | ||
"include/ylt", | ||
"include/ylt/thirdparty", | ||
"src/include", | ||
], | ||
linkopts = ["-lpthread"], | ||
deps = [":ylt"], | ||
) | ||
|
||
cc_binary( | ||
name = "coro_http_channel", | ||
srcs = ["src/coro_http/examples/channel.cpp"], | ||
copts = YA_BIN_COPT, | ||
includes = [ | ||
"include", | ||
"include/ylt", | ||
"include/ylt/thirdparty", | ||
"src/include", | ||
], | ||
linkopts = ["-lpthread"], | ||
deps = [":ylt"], | ||
) | ||
|
||
cc_binary( | ||
name = "coro_http_chat_room", | ||
srcs = ["src/coro_http/examples/chat_room.cpp"], | ||
copts = YA_BIN_COPT, | ||
includes = [ | ||
"include", | ||
"include/ylt", | ||
"include/ylt/thirdparty", | ||
"src/include", | ||
], | ||
linkopts = ["-lpthread"], | ||
deps = [":ylt"], | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
workspace(name = "com_alibaba_yalantinglibs") |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
YA_LT_COPT = [ | ||
"-fno-tree-slp-vectorize", # -ftree-slp-vectorize with coroutine cause link error. disable it util gcc fix. | ||
] | ||
|
||
YA_BIN_COPT = [ | ||
"-fno-tree-slp-vectorize", # -ftree-slp-vectorize with coroutine cause link error. disable it util gcc fix. | ||
"-Wno-unused-but-set-variable", | ||
"-Wno-unused-value", | ||
"-Wno-unused-variable", | ||
"-Wno-sign-compare", | ||
"-Wno-reorder", | ||
"-Wno-unused-local-typedefs", | ||
"-Wno-missing-braces", | ||
"-Wno-uninitialized", | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,18 @@ | ||
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library") | ||
load("//bazel:defs.bzl", "YA_BIN_COPT", "YA_LT_COPT") | ||
|
||
cc_binary( | ||
name = "serialize_example", | ||
srcs = ["basic_usage.cpp","main.cpp","non_aggregated_type.cpp","serialize_config.cpp","user_defined_serialization.cpp","derived_class.cpp"], | ||
copts = ["-std=c++20"], | ||
srcs = [ | ||
"basic_usage.cpp", | ||
"derived_class.cpp", | ||
"main.cpp", | ||
"non_aggregated_type.cpp", | ||
"serialize_config.cpp", | ||
"user_defined_serialization.cpp", | ||
], | ||
copts = YA_BIN_COPT, | ||
deps = [ | ||
"//:ylt" | ||
"//:ylt", | ||
], | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,16 @@ | ||
load("@rules_cc//cc:defs.bzl", "cc_test") | ||
load("//bazel:defs.bzl", "YA_BIN_COPT") | ||
|
||
cc_test( | ||
name = "test_serialize", | ||
srcs = glob(["*.cpp"]) + ["test_struct.hpp"]+["test_derived.hpp"], | ||
copts = ["-std=c++20"], | ||
defines = ["STRUCT_PACK_ENABLE_UNPORTABLE_TYPE"], | ||
deps = [ | ||
"//:ylt" | ||
], | ||
srcs = glob(["*.cpp"]) + ["test_struct.hpp"] + ["test_derived.hpp"], | ||
copts = YA_BIN_COPT, | ||
data = [ | ||
"//src/struct_pack/tests/binary_data:test_cross_platform.dat", | ||
"//src/struct_pack/tests/binary_data:test_cross_platform_without_debug_info.dat" | ||
"//src/struct_pack/tests/binary_data:test_cross_platform_without_debug_info.dat", | ||
], | ||
defines = ["STRUCT_PACK_ENABLE_UNPORTABLE_TYPE"], | ||
deps = [ | ||
"//:ylt", | ||
], | ||
) |