# 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.

import("//packages/package.gni")

group("speccpu2000") {
  testonly = true

  deps = [
    "164.gzip",
    "175.vpr",
    "176.gcc",
    "177.mesa",
    "179.art",
    "181.mcf",
    "183.equake",
    "186.crafty",
    "188.ammp",
    "252.eon",
    "255.vortex",
    "256.bzip2",
    "300.twolf",
    "benchmarks:speccpu2000_benchmark",
  ]
}

package("package") {
  testonly = true
  system_image = true

  package_name = "speccpu2000"

  deps = [
    ":speccpu2000",
    ":speccpu2000(//build/toolchain:host_x64)",
  ]

  binaries = [
    {
      name = "164.gzip"
    },

    {
      name = "175.vpr"
    },

    {
      name = "176.gcc"
    },

    {
      name = "177.mesa"
    },

    {
      name = "179.art"
    },

    {
      name = "181.mcf"
    },

    {
      name = "183.equake"
    },

    {
      name = "186.crafty"
    },

    {
      name = "188.ammp"
    },

    {
      name = "252.eon"
    },

    {
      name = "255.vortex"
    },

    {
      name = "256.bzip2"
    },

    {
      name = "300.twolf"
    },

    {
      name = "speccpu2000_benchmark"
    },
  ]

  resources = [
    {
      path = rebase_path(
              "third_party/speccpu2000/164.gzip/data/ref/input/input.graphic")
      dest = "benchmarks/data/164.gzip/input.graphic"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/164.gzip/data/ref/input/input.log")
      dest = "benchmarks/data/164.gzip/input.log"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/164.gzip/data/ref/input/input.program")
      dest = "benchmarks/data/164.gzip/input.program"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/164.gzip/data/ref/input/input.random")
      dest = "benchmarks/data/164.gzip/input.random"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/164.gzip/data/ref/input/input.source")
      dest = "benchmarks/data/164.gzip/input.source"
    },

    {
      path =
          rebase_path("third_party/speccpu2000/175.vpr/data/ref/input/net.in")
      dest = "benchmarks/data/175.vpr/net.in"
    },

    {
      path =
          rebase_path("third_party/speccpu2000/175.vpr/data/ref/input/place.in")
      dest = "benchmarks/data/175.vpr/place.in"
    },

    {
      path =
          rebase_path("third_party/speccpu2000/175.vpr/data/ref/input/arch.in")
      dest = "benchmarks/data/175.vpr/arch.in"
    },

    {
      path = rebase_path("third_party/speccpu2000/176.gcc/data/ref/input/166.i")
      dest = "benchmarks/data/176.gcc/166.i"
    },

    {
      path = rebase_path("third_party/speccpu2000/176.gcc/data/ref/input/200.i")
      dest = "benchmarks/data/176.gcc/200.i"
    },

    {
      path =
          rebase_path("third_party/speccpu2000/176.gcc/data/ref/input/expr.i")
      dest = "benchmarks/data/176.gcc/expr.i"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/176.gcc/data/ref/input/integrate.i")
      dest = "benchmarks/data/176.gcc/integrate.i"
    },

    {
      path =
          rebase_path("third_party/speccpu2000/176.gcc/data/ref/input/scilab.i")
      dest = "benchmarks/data/176.gcc/scilab.i"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/177.mesa/data/ref/input/mesa.mesh")
      dest = "benchmarks/data/177.mesa/mesa.mesh"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/179.art/data/ref/input/c756hel.in")
      dest = "benchmarks/data/179.art/c756hel.in"
    },

    {
      path =
          rebase_path("third_party/speccpu2000/179.art/data/ref/input/a10.img")
      dest = "benchmarks/data/179.art/a10.img"
    },

    {
      path =
          rebase_path("third_party/speccpu2000/179.art/data/ref/input/hc.img")
      dest = "benchmarks/data/179.art/hc.img"
    },

    {
      path =
          rebase_path("third_party/speccpu2000/181.mcf/data/ref/input/inp.in")
      dest = "benchmarks/data/181.mcf/inp.in"
    },

    {
      path =
          rebase_path("third_party/speccpu2000/181.mcf/data/ref/input/mcf.out")
      dest = "benchmarks/data/181.mcf/mcf.out"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/183.equake/data/ref/input/inp.in")
      dest = "benchmarks/data/183.equake/inp.in"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/186.crafty/data/ref/input/crafty.in")
      dest = "benchmarks/data/186.crafty/crafty.in"
    },

    {
      path =
          rebase_path("third_party/speccpu2000/188.ammp/data/ref/input/ammp.in")
      dest = "benchmarks/data/188.ammp/ammp.in"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/188.ammp/data/ref/input/all.init.ammp")
      dest = "benchmarks/data/188.ammp/all.init.ammp"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/188.ammp/data/ref/input/init_cond.run.1")
      dest = "benchmarks/data/188.ammp/init_cond.run.1"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/188.ammp/data/ref/input/init_cond.run.2")
      dest = "benchmarks/data/188.ammp/init_cond.run.2"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/188.ammp/data/ref/input/init_cond.run.3")
      dest = "benchmarks/data/188.ammp/init_cond.run.3"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/252.eon/data/ref/input/chair.camera")
      dest = "benchmarks/data/252.eon/chair.camera"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/252.eon/data/ref/input/chair.control.cook")
      dest = "benchmarks/data/252.eon/chair.control.cook"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/252.eon/data/ref/input/chair.control.kajiya")
      dest = "benchmarks/data/252.eon/chair.control.kajiya"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/252.eon/data/ref/input/chair.control.rushmeier")
      dest = "benchmarks/data/252.eon/chair.control.rushmeier"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/252.eon/data/ref/input/chair.surfaces")
      dest = "benchmarks/data/252.eon/chair.surfaces"
    },

    {
      path =
          rebase_path("third_party/speccpu2000/252.eon/data/ref/input/eon.dat")
      dest = "benchmarks/data/252.eon/eon.dat"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/252.eon/data/ref/input/spectra.dat")
      dest = "benchmarks/data/252.eon/spectra.dat"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/252.eon/data/ref/input/materials")
      dest = "benchmarks/data/252.eon/materials"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/255.vortex/data/ref/input/lendian1.raw")
      dest = "benchmarks/data/255.vortex/lendian1.raw"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/255.vortex/data/ref/input/lendian2.raw")
      dest = "benchmarks/data/255.vortex/lendian2.raw"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/255.vortex/data/ref/input/lendian3.raw")
      dest = "benchmarks/data/255.vortex/lendian3.raw"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/255.vortex/data/ref/input/lendian.wnv")
      dest = "benchmarks/data/255.vortex/lendian.wnv"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/255.vortex/data/ref/input/lendian.rnv")
      dest = "benchmarks/data/255.vortex/lendian.rnv"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/255.vortex/data/ref/input/bendian1.raw")
      dest = "benchmarks/data/255.vortex/bendian1.raw"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/255.vortex/data/ref/input/bendian2.raw")
      dest = "benchmarks/data/255.vortex/bendian2.raw"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/255.vortex/data/ref/input/bendian3.raw")
      dest = "benchmarks/data/255.vortex/bendian3.raw"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/255.vortex/data/ref/input/bendian.wnv")
      dest = "benchmarks/data/255.vortex/bendian.wnv"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/255.vortex/data/ref/input/bendian.rnv")
      dest = "benchmarks/data/255.vortex/bendian.rnv"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/255.vortex/data/ref/input/persons.1k")
      dest = "benchmarks/data/255.vortex/persons.1k"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/256.bzip2/data/ref/input/input.source")
      dest = "benchmarks/data/256.bzip2/input.source"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/256.bzip2/data/ref/input/input.graphic")
      dest = "benchmarks/data/256.bzip2/input.graphic"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/256.bzip2/data/ref/input/input.program")
      dest = "benchmarks/data/256.bzip2/input.program"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/300.twolf/data/ref/input/ref.blk")
      dest = "benchmarks/data/300.twolf/ref.blk"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/300.twolf/data/ref/input/ref.cel")
      dest = "benchmarks/data/300.twolf/ref.cel"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/300.twolf/data/ref/input/ref.net")
      dest = "benchmarks/data/300.twolf/ref.net"
    },

    {
      path = rebase_path(
              "third_party/speccpu2000/300.twolf/data/ref/input/ref.par")
      dest = "benchmarks/data/300.twolf/ref.par"
    },
  ]
}
