summary refs log tree commit diff
path: root/third_party/bazel/rules_haskell/haskell/CROSSTOOL.windows
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/bazel/rules_haskell/haskell/CROSSTOOL.windows')
-rw-r--r--third_party/bazel/rules_haskell/haskell/CROSSTOOL.windows49
1 files changed, 49 insertions, 0 deletions
diff --git a/third_party/bazel/rules_haskell/haskell/CROSSTOOL.windows b/third_party/bazel/rules_haskell/haskell/CROSSTOOL.windows
new file mode 100644
index 000000000000..ae167769581e
--- /dev/null
+++ b/third_party/bazel/rules_haskell/haskell/CROSSTOOL.windows
@@ -0,0 +1,49 @@
+major_version: "local"
+minor_version: ""
+
+toolchain {
+  toolchain_identifier: "ghc_windows_mingw64"
+  abi_version: "local"
+  abi_libc_version: "local"
+  builtin_sysroot: ""
+  compiler: "ghc-mingw-gcc"
+  host_system_name: "local"
+  needsPic: false
+  target_libc: "mingw"
+  target_cpu: "x64_windows"
+  target_system_name: "local"
+
+  artifact_name_pattern {
+     category_name: 'executable'
+     prefix: ''
+     extension: '.exe'
+  }
+
+  tool_path { name: "ar" path: "mingw/bin/ar" }
+  tool_path { name: "compat-ld" path: "mingw/bin/ld" }
+  tool_path { name: "cpp" path: "mingw/bin/cpp" }
+  tool_path { name: "dwp" path: "mingw/bin/dwp" }
+  tool_path { name: "gcc" path: "mingw/bin/gcc" }
+  tool_path { name: "gcov" path: "mingw/bin/gcov" }
+  tool_path { name: "ld" path: "mingw/bin/ld" }
+  tool_path { name: "nm" path: "mingw/bin/nm" }
+  tool_path { name: "objcopy" path: "mingw/bin/objcopy" }
+  tool_path { name: "objdump" path: "mingw/bin/objdump" }
+  tool_path { name: "strip" path: "mingw/bin/strip" }
+  cxx_builtin_include_directory: "mingw"
+  cxx_flag: "-std=gnu++0x"
+
+  # Needed to prevent Bazel from complaining about undeclared inclusions of
+  # MingW headers.
+  #
+  # See: https://github.com/bazelbuild/bazel/issues/4605
+  unfiltered_cxx_flag: "-no-canonical-prefixes"
+  unfiltered_cxx_flag: "-fno-canonical-system-headers"
+
+  linker_flag: "-lstdc++"
+  objcopy_embed_flag: "-I"
+  objcopy_embed_flag: "binary"
+  feature { name: "targets_windows" implies: "copy_dynamic_libraries_to_binary" enabled: true }
+  feature { name: "copy_dynamic_libraries_to_binary" }
+  linking_mode_flags { mode: DYNAMIC }
+}