#!/usr/bin/env zsh
#
# Copyright (c) 2016 Dyne.org Foundation
# ARM SDK is written and maintained by parazyd <parazyd@dyne.org>
#
# This file is part of ARM SDK
#
# This source code is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This software is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this source code. If not, see <http://www.gnu.org/licenses/>.

init() {
	fn init $*
	os="$1"
	armdev="$2"
	req=(os armdev)
	ckreq || {
		error "Missing arguments. Please retry."
		return 1
	}

	# Initialize binfmt_misc if not already, needed to run qemu
	[[ -d /proc/sys/fs/binfmt_misc ]] || sudo modprobe binfmt_misc
	[[ -f /proc/sys/fs/binfmt_misc/register ]] || sudo mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc

	# Build scripts are mapped to a device name here
	arm_map=(
		"raspi2"                "$R/arm/scripts/raspberry-pi-2.sh"
		"bananapi"              "$R/arm/scripts/bananapi.sh"
		"bananapro"             "$R/arm/scripts/bananapro.sh"
		"cubieboard2"           "$R/arm/scripts/cubieboard2.sh"
		"cubietruck"            "$R/arm/scripts/cubietruck.sh"
		"chromeacer"            "$R/arm/scripts/chromebook-acer.sh"
		"chromeveyron"          "$R/arm/scripts/chromebook-veyron.sh"
		"odroidxu"              "$R/arm/scripts/odroid-xu.sh"
		"bbb"                   "$R/arm/scripts/beaglebone-black.sh"
	)

	arm_build_device=${arm_map[$armdev]}
	common="$R/arm/profiles/common-${os}"

	[[ -f $common ]] ||  { error "No valid distro specified"; return 1 }
	[[ -f $arm_build_device ]] || { error "No valid device specified"; return 1 }

	source ${arm_build_device}
}
