fixopts.c revision 1.1.1.1.8.2
1/* Handle options that are passed from environment variables.
2
3   Copyright (C) 2004, 2009 Free Software Foundation, Inc.
4
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GCC is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GCC; see the file COPYING3.  If not see
19<http://www.gnu.org/licenses/>.  */
20
21#include "fixlib.h"
22
23#define _ENV_(v,m,n,t)   tCC* v = NULL;
24ENV_TABLE
25#undef _ENV_
26
27void
28initialize_opts (void)
29{
30  static const char var_not_found[] =
31#ifndef __STDC__
32    "fixincl ERROR:  %s environment variable not defined\n"
33#else
34    "fixincl ERROR:  %s environment variable not defined\n"
35    "each of these must be defined:\n"
36# define _ENV_(vv,mm,nn,tt) "\t" nn "  - " tt "\n"
37  ENV_TABLE
38# undef _ENV_
39#endif
40    ;
41
42#define _ENV_(v,m,n,t)   { tSCC var[] = n;  \
43  v = getenv (var); if (m && (v == NULL)) { \
44  fprintf (stderr, var_not_found, var);     \
45  exit (EXIT_FAILURE); } }
46
47ENV_TABLE
48
49#undef _ENV_
50}
51