提交 8abfa25f 编写于 作者: L Lei Wang 提交者: Qi Luo

Build: fix glog and gflags multiple verison issue.

上级 ea94d69a
......@@ -18,7 +18,7 @@ install: skip
before_script:
- cp scripts/AGREEMENT.txt ${HOME}/.apollo_agreement.txt
script:
- ./docker/scripts/dev_start.sh -t dev-x86_64-20180806_1111
- ./docker/scripts/dev_start.sh -t dev-x86_64-20180906_2002-ci
- ./apollo_docker.sh ${JOB}
- rm -rf "${HOME}/.cache/bazel/_bazel_${USER}/install"
notifications:
......
......@@ -10,11 +10,10 @@ new_http_archive(
)
# gflags
http_archive(
new_local_repository(
name = "com_github_gflags_gflags",
sha256 = "466c36c6508a451734e4f4d76825cf9cd9b8716d2b70ef36479ae40f08271f88",
strip_prefix = "gflags-2.2.0",
url = "file:///home/tmp/gflags-2.2.0.tar.gz",
build_file = "third_party/gflags.BUILD",
path = "/usr/local/include/gflags",
)
bind(
......@@ -23,12 +22,10 @@ bind(
)
# glog
new_http_archive(
new_local_repository(
name = "glog",
build_file = "third_party/glog.BUILD",
sha256 = "7580e408a2c0b5a89ca214739978ce6ff480b5e7d8d7698a2aa92fadc484d1e0",
strip_prefix = "glog-0.3.5",
url = "file:///home/tmp/glog-0.3.5.tar.gz",
path = "/usr/local/include/glog",
)
# Google Benchmark
......
......@@ -64,7 +64,7 @@ function start_build_docker() {
}
function gen_docker() {
IMG="apolloauto/apollo:run-${MACHINE_ARCH}-20180830_2013"
IMG="apolloauto/apollo:run-${MACHINE_ARCH}-20180906_2002"
RELEASE_DIR=${HOME}/.cache/apollo_release
APOLLO_DIR="${RELEASE_DIR}/apollo"
......
......@@ -20,7 +20,7 @@ INCHINA="no"
LOCAL_IMAGE="no"
VERSION=""
ARCH=$(uname -m)
VERSION_X86_64="dev-x86_64-20180904_1200"
VERSION_X86_64="dev-x86_64-20180906_2002"
VERSION_AARCH64="dev-aarch64-20170927_1111"
VERSION_OPT=""
......
......@@ -43,8 +43,8 @@ void ApolloApp::ExportFlags() const {
std::ofstream fout(export_file);
CHECK(fout) << "Cannot open file " << export_file;
std::vector<gflags::CommandLineFlagInfo> flags;
gflags::GetAllFlags(&flags);
std::vector<google::CommandLineFlagInfo> flags;
google::GetAllFlags(&flags);
for (const auto& flag : flags) {
fout << "# " << flag.type << ", default=" << flag.default_value << "\n"
<< "# " << flag.description << "\n"
......
......@@ -29,7 +29,7 @@ int main(int argc, char* argv[]) {
FLAGS_flagfile =
"./modules/perception/tool/export_sensor_data/conf/"
"export_sensor_data.flag";
gflags::ParseCommandLineFlags(&argc, &argv, true);
google::ParseCommandLineFlags(&argc, &argv, true);
apollo::perception::ExportSensorData export_sensor_data;
export_sensor_data.Init();
spinner.start();
......
......@@ -212,7 +212,7 @@ int main(int argc, char* argv[]) {
FLAGS_flagfile =
"./modules/perception/tool/offline_visualizer_tool/conf/"
"offline_lidar_perception_test.flag";
gflags::ParseCommandLineFlags(&argc, &argv, true);
google::ParseCommandLineFlags(&argc, &argv, true);
apollo::perception::OfflineLidarPerceptionTool tool;
tool.Init(FLAGS_enable_visualization);
tool.Run(FLAGS_pcd_path, FLAGS_pose_path, FLAGS_output_path);
......
package(default_visibility = ["//visibility:public"])
licenses(["notice"])
cc_library(
name = "gflags",
includes = [
".",
],
linkopts = [
"-lgflags",
],
)
package(default_visibility = ["//visibility:public"])
licenses(["notice"])
cc_library(
name = "glog",
srcs = [
"src/base/commandlineflags.h",
"src/base/googleinit.h",
"src/demangle.cc",
"src/logging.cc",
"src/raw_logging.cc",
"src/symbolize.cc",
"src/utilities.cc",
"src/vlog_is_on.cc",
],
hdrs = [
"raw_logging_h",
"src/base/mutex.h",
"src/demangle.h",
"src/symbolize.h",
"src/utilities.h",
":config_h",
":logging_h",
":stl_logging_h",
":vlog_is_on_h",
],
copts = [
# Disable warnings that exists in glog
"-Wno-sign-compare",
"-Wno-unused-local-typedefs",
# Inject google namespace as "google"
"-D_START_GOOGLE_NAMESPACE_='namespace google {'",
"-D_END_GOOGLE_NAMESPACE_='}'",
"-DGOOGLE_NAMESPACE='google'",
# Allows src/base/mutex.h to include pthread.h.
"-DHAVE_PTHREAD",
# Allows src/logging.cc to determine the host name.
"-DHAVE_SYS_UTSNAME_H",
# System header files enabler for src/utilities.cc
# Enable system calls from syscall.h
"-DHAVE_SYS_SYSCALL_H",
# Enable system calls from sys/time.h
"-DHAVE_SYS_TIME_H",
"-DHAVE_STDINT_H",
"-DHAVE_STRING_H",
# For logging.cc
"-DHAVE_PREAD",
"-DHAVE_FCNTL",
"-DHAVE_SYS_TYPES_H",
# Allows syslog support
"-DHAVE_SYSLOG_H",
# GFlags
"-isystem $(GENDIR)/external/com_github_gflags_gflags/",
"-DHAVE_LIB_GFLAGS",
# Necessary for creating soft links of log files
"-DHAVE_UNISTD_H",
],
includes = [
".",
"src",
],
visibility = ["//visibility:public"],
deps = [
"//external:gflags",
],
)
# Below are the generation rules that generates the necessary header
# files for glog. Originally they are generated by CMAKE
# configure_file() command, which replaces certain template
# placeholders in the .in files with provided values.
# gen_sh is a bash script that provides the values for generated
# header files. Under the hood it is just a wrapper over sed.
genrule(
name = "gen_sh",
outs = [
"gen.sh",
],
cmd = """
cat > $@ <<"EOF"
#! /bin/sh
sed -e 's/@ac_cv_have_unistd_h@/1/g' \
-e 's/@ac_cv_have_stdint_h@/1/g' \
-e 's/@ac_cv_have_systypes_h@/1/g' \
-e 's/@ac_cv_have_libgflags_h@/1/g' \
-e 's/@ac_cv_have_uint16_t@/1/g' \
-e 's/@ac_cv_have___builtin_expect@/1/g' \
-e 's/@ac_cv_have_.*@/0/g' \
-e 's/@ac_google_start_namespace@/namespace google {/g' \
-e 's/@ac_google_end_namespace@/}/g' \
-e 's/@ac_google_namespace@/google/g' \
-e 's/@ac_cv___attribute___noinline@/__attribute__((noinline))/g' \
-e 's/@ac_cv___attribute___noreturn@/__attribute__((noreturn))/g' \
-e 's/@ac_cv___attribute___printf_4_5@/__attribute__((__format__ (__printf__, 4, 5)))/g'
EOF""",
)
genrule(
name = "config_h",
srcs = [
"src/config.h.cmake.in",
],
outs = [
"config.h",
],
cmd = "awk '{ gsub(/^#cmakedefine/, \"//cmakedefine\"); print; }' $(<) > $(@)",
)
genrule(
name = "logging_h",
srcs = [
"src/glog/logging.h.in",
],
outs = [
"glog/logging.h",
],
cmd = "$(location :gen_sh) < $(<) > $(@)",
tools = [":gen_sh"],
)
genrule(
name = "raw_logging_h",
srcs = [
"src/glog/raw_logging.h.in",
],
outs = [
"glog/raw_logging.h",
],
cmd = "$(location :gen_sh) < $(<) > $(@)",
tools = [":gen_sh"],
)
genrule(
name = "stl_logging_h",
srcs = [
"src/glog/stl_logging.h.in",
],
outs = [
"glog/stl_logging.h",
],
cmd = "$(location :gen_sh) < $(<) > $(@)",
tools = [":gen_sh"],
)
genrule(
name = "vlog_is_on_h",
srcs = [
"src/glog/vlog_is_on.h.in",
],
outs = [
"glog/vlog_is_on.h",
linkopts = [
"-lglog",
"-lgflags",
],
cmd = "$(location :gen_sh) < $(<) > $(@)",
tools = [":gen_sh"],
)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册