#!/usr/bin/env bash
#
# This script will exec LzmaCompress tool with --f86 option that enables converter for x86 code.
#
# Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution.  The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
# 
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#

for arg in $*; do
  if [ "arg" = "-e" -o "arg" = "-d" ]; then
    FLAG=--f86
    break;
  fi
done

LzmaCompress $* $FLAG
