# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  targets = [
    "win32",
    "win64",
  ]

  targets.each do |target|
    config.vm.define(target) do |node|
      node.vm.box = "ubuntu-16.04-x86_64"
      node.vm.box_url = "http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_ubuntu-16.04_chef-provisionerless.box"

      node.vm.synced_folder("../", "/rcairo")
      node.vm.synced_folder("../../pkg-config", "/pkg-config")
      node.vm.synced_folder("../../ruby-gnome2", "/ruby-gnome2")

      node.vm.provision(:shell,
                        :privileged => false,
                        :path => "build-#{target}.sh")
      config.vm.provider("virtualbox") do |virtual_box|
        system_n_cpus = 1
        if File.exist?("/proc/cpuinfo")
          system_n_cpus = File.readlines("/proc/cpuinfo").grep(/^processor/).size
        end
        if system_n_cpus > 1
          vm_n_cpus = system_n_cpus / 2
        else
          vm_n_cpus = 1
        end
        virtual_box.cpus = (ENV["N_CPUS"] || vm_n_cpus).to_i
        virtual_box.memory = (ENV["VM_MEMORY"] || 1024).to_i
      end
    end
  end
end
