Commit 6d1c363d authored by Rob Earhart's avatar Rob Earhart Committed by Andreas Schuh

Add Bazel-on-Windows support

parent 77592648
...@@ -6,7 +6,13 @@ licenses(["notice"]) ...@@ -6,7 +6,13 @@ licenses(["notice"])
exports_files(["src/gflags_completions.sh", "COPYING.txt"]) exports_files(["src/gflags_completions.sh", "COPYING.txt"])
config_setting(
name = "x64_windows",
values = {"cpu": "x64_windows"},
)
load(":bazel/gflags.bzl", "gflags_sources", "gflags_library") load(":bazel/gflags.bzl", "gflags_sources", "gflags_library")
(hdrs, srcs) = gflags_sources(namespace=["gflags", "google"]) (hdrs, srcs) = gflags_sources(namespace=["gflags", "google"])
gflags_library(hdrs=hdrs, srcs=srcs, threads=0) gflags_library(hdrs=hdrs, srcs=srcs, threads=0)
gflags_library(hdrs=hdrs, srcs=srcs, threads=1) gflags_library(hdrs=hdrs, srcs=srcs, threads=1)
...@@ -47,8 +47,14 @@ def gflags_sources(namespace=["google", "gflags"]): ...@@ -47,8 +47,14 @@ def gflags_sources(namespace=["google", "gflags"]):
"src/gflags_completions.cc", "src/gflags_completions.cc",
"src/gflags_reporting.cc", "src/gflags_reporting.cc",
"src/mutex.h", "src/mutex.h",
"src/util.h" "src/util.h",
] ] + select({
"//:x64_windows": [
"src/windows_port.cc",
"src/windows_port.h",
],
"//conditions:default": [],
})
return [hdrs, srcs] return [hdrs, srcs]
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
...@@ -64,19 +70,28 @@ def gflags_library(hdrs=[], srcs=[], threads=1): ...@@ -64,19 +70,28 @@ def gflags_library(hdrs=[], srcs=[], threads=1):
"-DHAVE_SYS_TYPES_H", "-DHAVE_SYS_TYPES_H",
"-DHAVE_INTTYPES_H", "-DHAVE_INTTYPES_H",
"-DHAVE_SYS_STAT_H", "-DHAVE_SYS_STAT_H",
"-DHAVE_UNISTD_H",
"-DHAVE_FNMATCH_H",
"-DHAVE_STRTOLL", "-DHAVE_STRTOLL",
"-DHAVE_STRTOQ", "-DHAVE_STRTOQ",
"-DHAVE_PTHREAD",
"-DHAVE_RWLOCK", "-DHAVE_RWLOCK",
] ] + select({
"//:x64_windows": [
"-DOS_WINDOWS",
],
"//conditions:default": [
"-DHAVE_UNISTD_H",
"-DHAVE_FNMATCH_H",
"-DHAVE_PTHREAD",
],
})
linkopts = [] linkopts = []
if threads: if threads:
linkopts.append("-lpthread") linkopts = linkopts + select({
"//:x64_windows": [],
"//conditions:default": ["-lpthread"],
})
else: else:
name += "_nothreads" name += "_nothreads"
copts.append("-DNO_THREADS") copts = copts + ["-DNO_THREADS"]
native.cc_library( native.cc_library(
name = name, name = name,
hdrs = hdrs, hdrs = hdrs,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment