#include <string.h>
#include "opttbl.h"

struct OPT_TBL  opt_tbl[] = {
	{ "-lib",	_LIB,99 },	/*  ドライバが処理するオプション  */
	{ "-l",		_LIB,99 },
	{ "-new",	_NEW, 0 },
	{ "-n",		_NEW, 0 },
	{ "-test",	_TEST,0 },
	{ "-t",		_TEST,0 },
	{ "-env",	_ENV, 1 },

	{ "-ansi",	_HIGH,0 },	/*  HC386P が処理するオプション  */
	{ "-an",	_HIGH,0 },
	{ "-noansi",	_HIGH,0 },
	{ "-noan",	_HIGH,0 },
	{ "-asm",	_HIGH,0 },
	{ "-as",	_HIGH,0 },
	{ "-noasm",	_HIGH,0 },
	{ "-noas",	_HIGH,0 },
	{ "-cram",	_HIGH,0 },
	{ "-cr",	_HIGH,0 },
	{ "-nocram",	_HIGH,0 },
	{ "-nocr",	_HIGH,0 },
	{ "-debug",	_HIGH,0 },
	{ "-nodebug",	_HIGH,0 },
	{ "-define",	_HIGH,2 },
	{ "-def",	_HIGH,2 },
	{ "-ipath",	_HIGH,1 },
	{ "-ip",	_HIGH,1 },
	{ "-lines_per_page",_HIGH,1 },
	{ "-lin",	_HIGH,1 },
	{ "-list",	_HIGH,1 },
	{ "-lis",	_HIGH,1 },
	{ "-object",	_HIGH,1 },
	{ "-ob",	_HIGH,1 },
	{ "-noobject",	_HIGH,0 },
	{ "-noob",	_HIGH,0 },
	{ "-off",	_HIGH,99 },
	{ "-on",	_HIGH,99 },
	{ "-profile",	_HIGH,1 },
	{ "-pr",	_HIGH,1 },
	{ "-noprofile",	_HIGH,0 },
	{ "-nopr",	_HIGH,0 },
	{ "-tmpi1",	_HIGH,1 },
	{ "-tmpi2",	_HIGH,1 },
	{ "-tmptp",	_HIGH,1 },
	{ "-tpages",	_HIGH,1 },
	{ "-tp",	_HIGH,1 },
	{ "-xref",	_HIGH,1 },
	{ "-xr",	_HIGH,1 },
	{ "-noxref",	_HIGH,0 },
	{ "-noxr",	_HIGH,0 },
	{ "-kanji",	_HIGH,0 },
	{ "-make",	_HIGH,0 },
	{ "-retwc",	_HIGH,0 },

	{ "-8086",	_LINK,0 },	/*  TLINKP が処理するオプション  */
	{ "-86",	_LINK,0 },
	{ "-80386",	_LINK,0 },
	{ "-386",	_LINK,0 },
	{ "-exe",	_LINK,1 },
	{ "-e",		_LINK,1 },
	{ "-relexe",	_LINK,1 },
	{ "-nooutput",	_LINK,0 },
	{ "-noo",	_LINK,0 },
	{ "-pack",	_LINK,0 },
	{ "-nopack",	_LINK,0 },
	{ "-dosorder",	_LINK,0 },
	{ "-logorder",	_LINK,0 },
	{ "-mindata",	_LINK,1 },
	{ "-mind",	_LINK,1 },
	{ "-maxdata",	_LINK,1 },
	{ "-maxd",	_LINK,1 },
	{ "-stack",	_LINK,1 },
	{ "-s",		_LINK,1 },
	{ "-offset",	_LINK,1 },
/*	{ "-off",	_LINK,1 },	コンパイラと重複  */
	{ "-realbreak",	_LINK,1 },
	{ "-realb",	_LINK,1 },
	{ "-minreal",	_LINK,1 },
	{ "-maxreal",	_LINK,1 },
	{ "-callbufs",	_LINK,1 },
	{ "-minibuf",	_LINK,1 },
	{ "-maxibuf",	_LINK,1 },
	{ "-nistack",	_LINK,1 },
	{ "-istksize",	_LINK,1 },
	{ "-onecase",	_LINK,0 },
	{ "-oc",	_LINK,0 },
	{ "-twocase",	_LINK,0 },
	{ "-tc",	_LINK,0 },
	{ "-fullwarn",	_LINK,0 },
/*	{ "-lib",	_LINK,0 },	ドライバ側で処理する  */
/*	{ "-l",		_LINK,0 },	ドライバ側で処理する  */

	{ NULL,		0,    0 }
};

/*  オプションをテーブルから探す  */
struct OPT_TBL *FindOption( char *option )
{
	struct OPT_TBL *p;

	for( p = opt_tbl; p->str; p++ ) {
		if( strcmpi( option,p->str ) == 0 )  return( p );
	}
	return( NULL );
}

