Ignore:
Timestamp:
Apr 6, 2008, 8:07:40 PM (16 years ago)
Author:
dai_9181
Message:

構成管理を大幅に改良。

Location:
trunk/ab5.0/abdev/BasicCompiler_Common
Files:
1 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/BasicCompiler_Common/BasicCompiler.cpp

    r472 r477  
    9393void ts(const char *msg,const char *title){
    9494    MessageBox(0,FormatEscapeSequenceStringToDefaultString(msg).c_str(),title,0);
     95}
     96void ts(const std::string msg)
     97{
     98    ts(msg.c_str());
    9599}
    96100
     
    192196    }
    193197
    194     i3=(int)baseDirPath.size();i4=0;
     198    std::string tempBaseDirPath = baseDirPath;
     199    if( tempBaseDirPath[tempBaseDirPath.size()-1] != '\\' )
     200    {
     201        tempBaseDirPath += "\\";
     202    }
     203
     204    i3=(int)tempBaseDirPath.size();i4=0;
    195205    while(i4<i2){
    196206        for(i3--;;i3--){
    197             if(baseDirPath[i3-1]=='\\'){
     207            if(tempBaseDirPath[i3-1]=='\\'){
    198208                i4++;
    199209                break;
     
    201211        }
    202212    }
    203     memcpy(temporary,baseDirPath.c_str(),i3);
     213    memcpy(temporary,tempBaseDirPath.c_str(),i3);
    204214    temporary[i3]=0;
    205215    lstrcat(temporary,path+i);
     
    601611    pobj_nv->load();
    602612
     613    program.Configurate();
     614
    603615    if( !program.AnalysisCommandLines() )
    604616    {
     
    664676        if( program.GetIncludeDir().size() == 0 )
    665677        {
    666             program.SetIncludeDir( Jenga::Common::Path::MakeFullPath( ".\\Include\\", baseDirPath ) );
     678            program.SetIncludeDir( Jenga::Common::Path::MakeFullPath( ".\\Include", ActiveBasic::Common::Environment::GetAbdevRootPath() ) );
    667679        }
    668680        else
    669681        {
    670682            // インクルードディレクトリを絶対パスに変更
    671             program.SetIncludeDir( Jenga::Common::Path::MakeFullPath( program.GetIncludeDir(), baseDirPath ) );
     683            program.SetIncludeDir( Jenga::Common::Path::MakeFullPath( program.GetIncludeDir(), ActiveBasic::Common::Environment::GetAbdevRootPath() ) );
    672684        }
    673685
  • trunk/ab5.0/abdev/BasicCompiler_Common/common.h

    r467 r477  
    216216void ts(const char *msg);
    217217void ts(const char *msg,const char *title);
     218void ts(const std::string msg);
    218219void epi_check();
    219220void GetRelationalPath(char *path,char *dir);
  • trunk/ab5.0/abdev/BasicCompiler_Common/include/Program.h

    r472 r477  
    2828    {
    2929    }
     30
     31    void Configurate();
    3032
    3133    bool AnalysisCommandLines();
  • trunk/ab5.0/abdev/BasicCompiler_Common/src/BoostSerializationSupport.cpp

    r404 r477  
    485485
    486486#include <logger.h>
     487#include <Configuration.h>
    487488
    488489template class Jenga::Common::BoostSerializationSupport<LoggerSetting>;
     490template class Jenga::Common::BoostSerializationSupport<Configuration>;
  • trunk/ab5.0/abdev/BasicCompiler_Common/src/Delegate.cpp

    r465 r477  
    163163    destSource = "";
    164164
    165     SourceTemplate sourceTemplate( "\\SubOperation\\templates\\delegate_class.tab" );
     165    SourceTemplate sourceTemplate( ActiveBasic::Common::Environment::GetAbdevSystemDirPath() + "\\templates\\delegate_class.tab" );
    166166
    167167    this->Iterator_Reset();
  • trunk/ab5.0/abdev/BasicCompiler_Common/src/Program.cpp

    r472 r477  
    1010
    1111Program program;
     12
     13void Program::Configurate()
     14{
     15    Configuration configuration;
     16    const std::string filePath = Jenga::Common::Environment::GetAppDir() + "\\config.xml";
     17    if( Jenga::Common::Path( filePath ).IsExistFile() )
     18    {
     19        configuration.ReadXml( filePath );
     20    }
     21    else
     22    {
     23        configuration.WriteXml( filePath );
     24    }
     25
     26    ActiveBasic::Common::Environment::SetAbdevRootPath( configuration.GetAbdevRootRelativePath() );
     27}
    1228
    1329bool Program::AnalysisCommandLines()
  • trunk/ab5.0/abdev/BasicCompiler_Common/src/Source.cpp

    r467 r477  
    614614
    615615                    if(sw1){
    616                         sprintf(temp2,"%s%s", program.GetIncludeDir().c_str(), temporary );
     616                        sprintf(temp2,"%s\\%s", program.GetIncludeDir().c_str(), temporary );
    617617                        lstrcpy(temporary,temp2);
    618618                    }
     
    624624            else if(memcmp(buffer+i+1,"prompt",6)==0){
    625625                i2=i+7;
    626                 sprintf(temporary,"%sbasic\\prompt.sbp", program.GetIncludeDir().c_str() );
     626                sprintf(temporary,"%s\\basic\\prompt.sbp", program.GetIncludeDir().c_str() );
    627627            }
    628628            else if(memcmp(buffer+i+1,"N88BASIC",8)==0){
    629629                i2=i+9;
    630                 sprintf(temporary,"%sbasic\\prompt.sbp", program.GetIncludeDir().c_str() );
     630                sprintf(temporary,"%s\\basic\\prompt.sbp", program.GetIncludeDir().c_str() );
    631631            }
    632632            else if(memcmp(buffer+i+1,"console",7)==0){
     
    636636
    637637                i2=i+8;
    638                 sprintf(temporary,"%sbasic\\dos_console.sbp", program.GetIncludeDir().c_str() );
     638                sprintf(temporary,"%s\\basic\\dos_console.sbp", program.GetIncludeDir().c_str() );
    639639            }
    640640            else continue;
Note: See TracChangeset for help on using the changeset viewer.