blob: 7791f015772b5d6f6f268e709e3180a37019cbc9 [file] [log] [blame]
licenses(["notice"])
package(default_visibility = ["//visibility:public"])
package_name = "glog"
package_version = "0.3.4"
package_file = package_name + "-" + package_version + ".tar.gz"
package_dir = package_name + "-" + package_version
include_files = [
"include/glog/log_severity.h",
"include/glog/logging.h",
"include/glog/raw_logging.h",
"include/glog/stl_logging.h",
"include/glog/vlog_is_on.h",
]
lib_files = [
"lib/libglog.a",
]
common_script = [
'export UNWIND_DIR=$$(pwd)/$(GENDIR)/third_party/libunwind',
'export INSTALL_DIR=$$(pwd)/$(@D)',
'export TMP_DIR=$$(mktemp -d -t glog.XXXXX)',
'mkdir -p $$TMP_DIR',
'cp -R $(SRCS) $$TMP_DIR',
'cd $$TMP_DIR',
'tar xfz ' + package_file,
'cd ' + package_dir,
]
mac_script = "\n".join(common_script + [
'./configure --prefix=$$INSTALL_DIR --enable-shared=no',
'make install',
'rm -rf $$TMP_DIR',
])
linux_script = "\n".join(common_script + [
'export VAR_LIBS="-Wl,--rpath -Wl,$$UNWIND_DIR/lib -L$$UNWIND_DIR/lib"',
'export VAR_INCL="-I$$UNWIND_DIR/include"',
'export VAR_LD="-L$$UNWIND_DIR/lib"',
'./configure --prefix=$$INSTALL_DIR --enable-shared=no LIBS="$$VAR_LIBS" CPPFLAGS="$$VAR_INCL" LDFLAGS="$$VAR_LD"',
'make install LIBS="$$VAR_LIBS" CPPFLAGS="$$VAR_INCL" LDFLAGS="$$VAR_LD"',
'rm -rf $$TMP_DIR',
])
genrule(
name = "glog-srcs",
srcs = select({
"//tools/platform:darwin": [package_file],
"//conditions:default": [
package_file,
"//third_party/libunwind:libunwind-files",
]
}),
outs = include_files + lib_files,
cmd = select({
"//tools/platform:darwin": mac_script,
"//conditions:default": linux_script,
}),
)
cc_library(
name = "glog-cxx",
srcs = ["empty.cc"] + lib_files,
deps = [
"//third_party/gflags:gflags-cxx",
],
hdrs = include_files,
includes = [
"include",
],
linkstatic = 1,
)
filegroup(
name = "glog",
srcs = [
":glog-cxx",
]
)
filegroup(
name = "glog-files",
srcs = include_files + lib_files
)