138 lines
5.7 KiB
C
138 lines
5.7 KiB
C
#ifndef lint
|
|
static char sccsid[] = "@(#)rw_data.c 1.1 94/10/31 SMI";
|
|
#endif
|
|
/*
|
|
* Copyright (c) 1987 by Sun Microsystems, Inc.
|
|
*/
|
|
|
|
#include "driver.h"
|
|
|
|
/* The following crt0.o data must be R/W, in order to handle both 3.2
|
|
* and 4.0 source organizations.
|
|
*/
|
|
Const_int f68881= { FLOAT_68881, "-f68881", NULL };
|
|
Const_int ffpa= { FLOAT_FPA, "-ffpa", NULL };
|
|
Const_int fsky= { FLOAT_SKY, "-fsky", NULL };
|
|
Const_int fsoft= { FLOAT_SOFT, "-fsoft", NULL };
|
|
|
|
Const_int gprof= { PROF_NEW, "gprof", NULL };
|
|
Const_int no_prof={ PROF_NONE, NULL, NULL };
|
|
Const_int prof= { PROF_OLD, "prof", NULL };
|
|
|
|
Const_int arch_foreign= { ARCH_FOREIGN, NULL, NULL };
|
|
|
|
Named_int debugger= { NULL, "debug", 0, 0 };
|
|
Named_int driver= { NULL, "", 0, 0 };
|
|
Named_int float_mode= { NULL, "floating point option", 0, 0 };
|
|
Named_int host_arch= { NULL, "host architecture", 0, 0 };
|
|
Named_int product= { &executable, "produce", 0, 0 };
|
|
Named_int profile= { &no_prof, "profile", 0, 0 };
|
|
Named_int target_arch= { NULL, "target architecture", 0, 0 };
|
|
Named_int target_sw_release[R_elements]=
|
|
{ { &sw_release_default,
|
|
"target software release[0]",
|
|
0, 0 },
|
|
{ &sw_release_default,
|
|
"target software release[1]",
|
|
0, 0 },
|
|
{ &sw_release_default,
|
|
"target software release[2]",
|
|
0, 0 }
|
|
};
|
|
|
|
char **argv_for_passes;
|
|
char *base_driver_release;
|
|
char *debug_info_filename;
|
|
int exit_status;
|
|
ListP files_to_unlink;
|
|
Global_flag global_flag;
|
|
ListP infile;
|
|
int infile_count;
|
|
ListP infile_ln;
|
|
ListP infile_o;
|
|
char *iropt_files[3];
|
|
int last_program_path;
|
|
char *ld_to_vpa_file;
|
|
int make_lint_lib_fd;
|
|
ListP module_list;
|
|
int optim_after_cat;
|
|
char optimizer_level= OPTIM_NONE;
|
|
char *outfile;
|
|
char *program_name= "compile";
|
|
pathpt program_path;
|
|
ListP report;
|
|
SuffixP requested_suffix;
|
|
int source_infile_count;
|
|
char *tcov_file;
|
|
char *temp_dir= "/tmp";
|
|
int temp_file_number;
|
|
ListP temp_files_named;
|
|
char *to_as_file;
|
|
int use_default_optimizer_level= 0;
|
|
|
|
#ifdef lint
|
|
char *sys_siglist[1];
|
|
char **environ;
|
|
#endif lint
|
|
|
|
|
|
Programs program=
|
|
{
|
|
{ "cppas", "/usr/ucb/cppas", DRIVER_P, setup_cppas, NULL, NULL, NULL, NULL, NULL, NULL, 0,
|
|
{ OPTION_TEMPLATE, STDOUT_TEMPLATE, IN_TEMPLATE } },
|
|
{ "cpp", "/lib/cpp", DRIVER_CFLP, setup_cpp, NULL, NULL, NULL, NULL, NULL, NULL, 0,
|
|
{ STDOUT_TEMPLATE, OPTION_TEMPLATE, IN_TEMPLATE } },
|
|
{ "m4", "/usr/bin/m4", DRIVER_F, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0,
|
|
{ STDIN_TEMPLATE, STDOUT_TEMPLATE, OPTION_TEMPLATE } },
|
|
{ "ratfor", "/usr/bin/ratfor", DRIVER_F, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0,
|
|
{ STDIN_TEMPLATE, STDOUT_TEMPLATE, OPTION_TEMPLATE } },
|
|
{ "lint1", "/usr/lib/lint/lint1", DRIVER_L, NULL, NULL, NULL,NULL,NULL,NULL,NULL,0,
|
|
{ STDIN_TEMPLATE, STDOUT_TEMPLATE, OPTION_TEMPLATE } },
|
|
{ "cat", "/bin/cat", HIDE(DRIVER_FL), NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0,
|
|
{ STDOUT_TEMPLATE, OPTION_TEMPLATE, IN_TEMPLATE } },
|
|
{ "lint2", "/usr/lib/lint/lint2", DRIVER_L, NULL, NULL, NULL,NULL,NULL,NULL,NULL,0,
|
|
{ IN_TEMPLATE, OPTION_TEMPLATE } },
|
|
{ "m2cfe", "/usr/lib/modula2/m2cfe", DRIVER_M, setup_m2cfe, NULL, NULL, NULL, NULL, NULL, NULL, 0,
|
|
{ OPTION_TEMPLATE, IN_TEMPLATE, OUT_TEMPLATE, OUT2_TEMPLATE}},
|
|
{ "ccom", "/lib/ccom", DRIVER_C, setup_ccom, NULL, NULL, NULL, NULL, NULL, NULL, 0,
|
|
{ STDIN_TEMPLATE, STDOUT_TEMPLATE, MINUS_TEMPLATE, OPTION_TEMPLATE } },
|
|
{ "pc0", "/usr/lib/pc0", DRIVER_P, setup_pc0, NULL, NULL, NULL, NULL, NULL, NULL, 0,
|
|
{ OUT_TEMPLATE, MINUS_O_TEMPLATE, OPTION_TEMPLATE, IN_TEMPLATE} },
|
|
{ "f1", "/usr/lib/f1", DRIVER_P, setup_f1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0,
|
|
{ STDOUT_TEMPLATE, OPTION_TEMPLATE, IN_TEMPLATE } },
|
|
{ "mf1", "/usr/lib/modula2/f1", DRIVER_M, setup_mf1, NULL, NULL, NULL, NULL, NULL, NULL, 0,
|
|
{ STDOUT_TEMPLATE, OPTION_TEMPLATE, IN_TEMPLATE } },
|
|
{ "vpaf77", "/usr/lib/vpaf77", DRIVER_F, NULL, NULL, NULL, NULL, NULL, NULL,NULL,0,
|
|
{ STDIN_TEMPLATE, STDOUT_TEMPLATE, OPTION_TEMPLATE } },
|
|
{ "f77pass1", "/usr/lib/f77pass1", DRIVER_F, setup_f77pass1, NULL, NULL, NULL, NULL, NULL, NULL, 0,
|
|
{ OPTION_TEMPLATE, IN_TEMPLATE, OUT_TEMPLATE } },
|
|
|
|
{ "iropt", "/usr/lib/iropt", DRIVER_CFMP, setup_iropt_all, NULL, NULL, NULL, NULL, NULL, NULL, 0,
|
|
{ OPTION_TEMPLATE, MINUS_O_TEMPLATE,OUT_TEMPLATE,IN_TEMPLATE} },
|
|
|
|
{ "cg", "/usr/lib/cg", DRIVER_CFP, setup_cg_all, NULL, NULL, NULL, NULL, NULL, NULL, 0,
|
|
{ STDOUT_TEMPLATE, OPTION_TEMPLATE, IN_TEMPLATE } },
|
|
|
|
{ "inline", "/usr/lib/inline", DRIVER_CFMP, NULL, NULL, NULL,NULL,NULL,NULL,NULL, 0,
|
|
{ STDIN_TEMPLATE, STDOUT_TEMPLATE, OPTION_TEMPLATE } },
|
|
|
|
# ifdef sun386
|
|
{ "optim", "/lib/optim", DRIVER_CFMP, setup_c2, NULL, NULL, NULL, NULL, NULL, NULL, 0,
|
|
# else /*!sun386*/
|
|
{ "c2", "/lib/c2", DRIVER_CFMP, setup_c2, NULL, NULL, NULL, NULL, NULL, NULL, 0,
|
|
# endif /*sun386*/
|
|
{ STDIN_TEMPLATE, STDOUT_TEMPLATE, OPTION_TEMPLATE } },
|
|
{ "as", "/bin/as", DRIVER_CFMP, setup_as, NULL, NULL, NULL, NULL, NULL, NULL, 0,
|
|
{ MINUS_O_TEMPLATE, OUT_TEMPLATE,OPTION_TEMPLATE,IN_TEMPLATE} },
|
|
{ "asS", "/bin/as", DRIVER_CFMP, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0,
|
|
{ STDOUT_TEMPLATE, OPTION_TEMPLATE, IN_TEMPLATE } },
|
|
{ "pc3", "/usr/lib/pc3", DRIVER_P, setup_pc3, NULL, NULL, NULL, NULL, NULL, NULL, 0,
|
|
{ OPTION_TEMPLATE, IN_TEMPLATE } },
|
|
{ "ld", "/bin/ld", DRIVER_CFP, setup_link_step, NULL, NULL, NULL, NULL, NULL, NULL, 0,
|
|
{ OPTION_TEMPLATE, MINUS_O_TEMPLATE,OUT_TEMPLATE,IN_TEMPLATE} },
|
|
{ "vpald", "/usr/lib/vpald", DRIVER_F, setup_vpald, NULL, NULL, NULL, NULL, NULL, NULL, 0,
|
|
{ OPTION_TEMPLATE, MINUS_O_TEMPLATE,OUT_TEMPLATE,IN_TEMPLATE} },
|
|
{ "m2l", "/usr/bin/m2l", DRIVER_M, setup_link_step, NULL, NULL, NULL, NULL, NULL, NULL, 0,
|
|
{ OPTION_TEMPLATE, IN_TEMPLATE,MINUS_O_TEMPLATE,OUT_TEMPLATE} },
|
|
};
|