/* %Z%%M% %I% %E% */ /* * Copyright (c) 1991, 1992, 1994, 1995 by Wayne C. Gramlich. * All rights reserved. * * Permission to use, copy, modify, distribute, and sell this software * for any purpose is hereby granted without fee provided that the above * copyright notice and this permission are retained. The author makes * no representations about the suitability of this software for any purpose. * It is provided "as is" without express or implied warranty. */ /* This file contains the definitions for the compiler options: */ #ifndef FLAGS_DEFS_H #define FLAGS_DEFS_H #ifndef FLAGS_EXPORTS_H #include "flags_exports.h" #endif #ifndef VECTOR_TYPES_H #include "vector_types.h" #endif struct Flags_file_struct { Str base; /* Base name of file name */ Str full; /* Full name (everything) */ Str path; /* Path portion of file name */ Str suffix; /* Suffix of file, including '.' */ }; struct Flags_struct { Flags_file c_file; /* C output file */ Str compiler; /* Compiler to use */ int cross_compile; /* 1 => cross compile */ int debug; /* 1 => debug */ int debug_c; /* 1 => compile .c file with -g */ int dump_tables; /* 1 => dump tables -d */ int gen_asm; /* 1 => produce assembly output .s */ int gen_c; /* 1 => produce ANSI-C output .c */ int gen_calls; /* 1 => produce calls file .stc */ Flags_file gen_file; /* File to generate output into */ int gen_interface; /* 1 => produce interface file .sti */ int gen_object; /* 1 => produce object file .o */ int gen_parse; /* 1 => produce parse file .stp */ int gen_patch; /* 1 => produce patch file .so */ int gen_text; /* 1 => produce doc file .txt */ Heap heap; /* Heap allocated from */ Vec(Str) import_dirs; /* List of imported directories */ int import_dump; /* 1 => dump imports information */ Flags_file in_file; /* First input file */ Vec(Flags_file) in_files; /* All files listed on command line */ int linkage; /* 1 => generate linkage info */ int opt_base_types; /* 1 => optimize base types */ int opt_inter; /* 1 => do inter-module opts. */ int opt_level; /* opt. level to pass to compiler */ int opt_pic; /* 1 => position independent code */ Vec(Str) options; /* Compiler options */ Flags_file out_file; /* Output file (or 0 */ Str out_dir; /* Output directory */ Str package_name; /* Package name or "" is none */ int profile; /* 1 => turn on gprof */ int verbose; /* 1 => list compiler commands */ }; #endif /* FLAGS_DEFS_H */