# Copyright 2016 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

inputs = [
  "data/ref/input/net.in",
  "data/ref/input/arch.in",
  "data/ref/input/place.in",
]

executable("175.vpr") {
  testonly = true

  sources = [
    "src/check_route.c",
    "src/check_rr_graph.c",
    "src/draw.c",
    "src/graphics.c",
    "src/hash.c",
    "src/main.c",
    "src/place.c",
    "src/read_arch.c",
    "src/read_netlist.c",
    "src/read_place.c",
    "src/route.c",
    "src/rr_graph.c",
    "src/rr_graph2.c",
    "src/rr_graph_area.c",
    "src/rr_graph_sbox.c",
    "src/rr_graph_timing_params.c",
    "src/rr_graph_util.c",
    "src/segment_stats.c",
    "src/stats.c",
    "src/util.c",
  ]
  cflags_c = [ "-Wno-sign-compare" ]
  defines = [ "SPEC_CPU2000" ]
  if (current_os == "fuchsia") {
    data = inputs
  } else {
    data_deps = [
      ":copy_inputs",
    ]
  }
}

copy("copy_inputs") {
  visibility = [ ":*" ]
  sources = inputs
  outputs = [
    "$root_out_dir/data/175.vpr/{{source_file_part}}",
  ]
}
