コード例 #1
0
ファイル: ideentry.c プロジェクト: andreiw/open-watcom-v2
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 );
}
コード例 #2
0
ファイル: ideentry.c プロジェクト: andreiw/open-watcom-v2
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 );
}
コード例 #3
0
ファイル: normmain.c プロジェクト: Ukusbobra/open-watcom-v2
extern  int     main( char *p ) {
/*******************************/

    return( FrontEnd( p ) );
}