IDEBool IDEAPI IDERunYourSelf // COMPILE A PROGRAM ( IDEDllHdl hdl // - handle for this instantiation , const char* opts // - options , IDEBool* fatal_error ) { // - addr[fatality indication] //**************************** // Do a compile of a file //**************************** jmp_buf env; char infile[_MAX_PATH]; // - input file name char outfile[4 + _MAX_PATH]; // - output file name (need room for "-fo=") char *argv[4]; int ret; hdl = hdl; TBreak(); // clear any pending IDEStopRunning's *fatal_error = FALSE; FatalEnv = &env; if( (ret = setjmp( env )) != 0 ) { /* if fatal error has occurred */ *fatal_error = TRUE; } else { argv[0] = (char *)opts; argv[1] = NULL; getFrontEndArgv( argv, 0, infile, outfile ); ret = FrontEnd( argv ); } #if HEAP_CHK == 1 heap_check(); #endif #ifdef __OS2__ _heapmin(); #endif return( ret != 0 ); }
IDEBool IDEAPI IDERunYourSelfArgv // COMPILE A PROGRAM ( IDEDllHdl hdl, // - handle for this instantiation int argc, // - # of arguments char **args, // - argument vector IDEBool* fatal_error ) // - addr[fatality indication] { //**************************** // Do a compile of a file //**************************** jmp_buf env; char infile[_MAX_PATH]; // - input file name char outfile[4 + _MAX_PATH]; // - output file name (need room for "-fo=") char **argv = NULL; int ret; TBreak(); // clear any pending IDEStopRunning's *fatal_error = FALSE; FatalEnv = &env; if( (ret = setjmp( env )) != 0 ) { /* if fatal error has occurred */ *fatal_error = TRUE; } else { argv = getFrontEndArgv( args, argc, infile, outfile ); ret = FrontEnd( argv ); } if( !GlobalCompFlags.ide_cmd_line_has_files ) { free( argv ); } #if HEAP_CHK == 1 heap_check(); #endif return( ret != 0 ); }
extern int main( char *p ) { /*******************************/ return( FrontEnd( p ) ); }