aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Laszlo Csomor <laszlocsomor@google.com>2017-07-04 05:45:40 -0400
committerGravatar John Cater <jcater@google.com>2017-07-05 10:57:51 -0400
commit9409109c3016c51403ed4387ecda6c99459f1a8d (patch)
treea4df58dec6aa7990bf7280785b63abfe9840da03
parent6c446ac82a23bd803a4881ac84e427325db15e69 (diff)
build_windows_jni.sh: move file to subdirectory
The script more logically belongs in src/main/native/windows than in src/main/native. Also move the //src/main/native:windows_jni rule into //src/main/native/windows:windows_jni, so the logic of building the JNI library is fully contained in that package. Change-Id: I96e19003932cc0ddc5af3471b0b31a1aec09b8fa PiperOrigin-RevId: 160876594
-rwxr-xr-xscripts/bootstrap/compile.sh4
-rw-r--r--src/BUILD6
-rw-r--r--src/main/java/com/google/devtools/build/lib/windows/jni/WindowsFileOperations.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/windows/jni/WindowsJniLoader.java2
-rw-r--r--src/main/native/BUILD10
-rw-r--r--src/main/native/windows/BUILD28
-rwxr-xr-xsrc/main/native/windows/build_windows_jni.sh (renamed from src/main/native/build_windows_jni.sh)0
-rw-r--r--src/test/java/com/google/devtools/build/lib/BUILD6
8 files changed, 27 insertions, 31 deletions
diff --git a/scripts/bootstrap/compile.sh b/scripts/bootstrap/compile.sh
index 587c445207..494c1a109e 100755
--- a/scripts/bootstrap/compile.sh
+++ b/scripts/bootstrap/compile.sh
@@ -248,12 +248,12 @@ function build_jni() {
mkdir -p "$(dirname "$output")"
# Keep this `find` command in sync with the `srcs` of
- # //src/main/native:windows_jni
+ # //src/main/native/windows:windows_jni
local srcs=$(find src/main/native/windows -name '*.cc' -o -name '*.h')
[ -n "$srcs" ] || fail "Could not find sources for Windows JNI library"
# do not quote $srcs because we need to expand it to multiple args
- src/main/native/build_windows_jni.sh "$tmp_output" ${srcs}
+ src/main/native/windows/build_windows_jni.sh "$tmp_output" ${srcs}
cp "$tmp_output" "$output"
chmod 0555 "$output"
diff --git a/src/BUILD b/src/BUILD
index 1ba651cdd9..82f2d02b7c 100644
--- a/src/BUILD
+++ b/src/BUILD
@@ -8,9 +8,9 @@ filegroup(
srcs = select({
":darwin": ["//src/main/native:libunix.dylib"],
":darwin_x86_64": ["//src/main/native:libunix.dylib"],
- ":windows": ["//src/main/native:windows_jni.dll"],
- ":windows_msys": ["//src/main/native:windows_jni.dll"],
- ":windows_msvc": ["//src/main/native:windows_jni.dll"],
+ ":windows": ["//src/main/native/windows:windows_jni.dll"],
+ ":windows_msys": ["//src/main/native/windows:windows_jni.dll"],
+ ":windows_msvc": ["//src/main/native/windows:windows_jni.dll"],
"//conditions:default": ["//src/main/native:libunix.so"],
}),
visibility = [
diff --git a/src/main/java/com/google/devtools/build/lib/windows/jni/WindowsFileOperations.java b/src/main/java/com/google/devtools/build/lib/windows/jni/WindowsFileOperations.java
index 44b6cba976..32868c204d 100644
--- a/src/main/java/com/google/devtools/build/lib/windows/jni/WindowsFileOperations.java
+++ b/src/main/java/com/google/devtools/build/lib/windows/jni/WindowsFileOperations.java
@@ -44,7 +44,7 @@ public class WindowsFileOperations {
private static final int MAX_PATH = 260;
- // Keep IS_JUNCTION_* values in sync with src/main/native/windows_file_operations.cc.
+ // Keep IS_JUNCTION_* values in sync with src/main/native/windows/file.cc.
private static final int IS_JUNCTION_YES = 0;
private static final int IS_JUNCTION_NO = 1;
private static final int IS_JUNCTION_ERROR = 2;
diff --git a/src/main/java/com/google/devtools/build/lib/windows/jni/WindowsJniLoader.java b/src/main/java/com/google/devtools/build/lib/windows/jni/WindowsJniLoader.java
index 8b53d0c1a8..b68c1a8b07 100644
--- a/src/main/java/com/google/devtools/build/lib/windows/jni/WindowsJniLoader.java
+++ b/src/main/java/com/google/devtools/build/lib/windows/jni/WindowsJniLoader.java
@@ -31,7 +31,7 @@ public class WindowsJniLoader {
} catch (UnsatisfiedLinkError ex) {
// We are probably in tests, let's try to find the library in the runfiles
try {
- System.load(WindowsRunfiles.getRunfile("io_bazel/src/main/native/windows_jni.dll"));
+ System.load(WindowsRunfiles.getRunfile("io_bazel/src/main/native/windows/windows_jni.dll"));
} catch (IOException e) {
// We throw the UnsatisfiedLinkError if we cannot find the runfiles
throw ex;
diff --git a/src/main/native/BUILD b/src/main/native/BUILD
index 59eaf02cb6..c4b0d2ee3b 100644
--- a/src/main/native/BUILD
+++ b/src/main/native/BUILD
@@ -62,16 +62,6 @@ cc_binary(
],
)
-genrule(
- name = "windows_jni",
- srcs = ["//src/main/native/windows:raw-sources"],
- outs = ["windows_jni.dll"],
- cmd = "$(location build_windows_jni.sh) $@ $(SRCS)",
- output_to_bindir = 1,
- tools = ["build_windows_jni.sh"],
- visibility = ["//src:__subpackages__"],
-)
-
# TODO(bazel-team): Come up with a way to support platform-specific dynamic
# library extensions. This is issue #914.
genrule(
diff --git a/src/main/native/windows/BUILD b/src/main/native/windows/BUILD
index c7dead2469..926643c878 100644
--- a/src/main/native/windows/BUILD
+++ b/src/main/native/windows/BUILD
@@ -6,8 +6,8 @@ filegroup(
visibility = ["//src/main/native:__pkg__"],
)
-# TODO(xingao): verify that this filegroup contains exactly what it has to wrt.
-# where it is used (//src/main/native:embedded_tools).
+# TODO(xingao): verify that this filegroup contains exactly what it has to, with
+# regard to where it is used (//src/main/native:embedded_tools).
# Context: https://github.com/bazelbuild/bazel/commit/33d05f6b551cf2fdb257cb536a5e864d095144a1
filegroup(
name = "embedded_tools",
@@ -15,15 +15,6 @@ filegroup(
visibility = ["//src/main/native:__pkg__"],
)
-filegroup(
- name = "raw-sources",
- srcs = glob([
- "*.cc",
- "*.h",
- ]),
- visibility = ["//src/main/native:__pkg__"],
-)
-
cc_library(
name = "lib-file",
srcs = ["file.cc"],
@@ -41,3 +32,18 @@ cc_library(
srcs = ["util.cc"],
hdrs = ["util.h"],
)
+
+genrule(
+ name = "windows_jni",
+ srcs = glob([
+ "*.cc",
+ "*.h",
+ ]),
+ outs = ["windows_jni.dll"],
+ cmd = "$(location build_windows_jni.sh) $@ $(SRCS)",
+ tools = ["build_windows_jni.sh"],
+ visibility = [
+ "//src:__pkg__",
+ "//src/test/java/com/google/devtools/build/lib:__subpackages__",
+ ],
+)
diff --git a/src/main/native/build_windows_jni.sh b/src/main/native/windows/build_windows_jni.sh
index a66267814a..a66267814a 100755
--- a/src/main/native/build_windows_jni.sh
+++ b/src/main/native/windows/build_windows_jni.sh
diff --git a/src/test/java/com/google/devtools/build/lib/BUILD b/src/test/java/com/google/devtools/build/lib/BUILD
index fa97e1cb09..5e6cc1a432 100644
--- a/src/test/java/com/google/devtools/build/lib/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/BUILD
@@ -22,9 +22,9 @@ WINDOWS_ON_WINDOWS_TESTS = glob(
ALL_WINDOWS_TESTS = CROSS_PLATFORM_WINDOWS_TESTS + WINDOWS_ON_WINDOWS_TESTS
JNI_LIB = select({
- "//src:windows": ["//src/main/native:windows_jni.dll"],
- "//src:windows_msys": ["//src/main/native:windows_jni.dll"],
- "//src:windows_msvc": ["//src/main/native:windows_jni.dll"],
+ "//src:windows": ["//src/main/native/windows:windows_jni.dll"],
+ "//src:windows_msys": ["//src/main/native/windows:windows_jni.dll"],
+ "//src:windows_msvc": ["//src/main/native/windows:windows_jni.dll"],
"//conditions:default": [
"//src/main/native:libunix.dylib",
"//src/main/native:libunix.so",