Changeset 8827
- Timestamp:
- 01/24/08 09:56:56 (17 years ago)
- Location:
- trunk/MagicSoft/Cosy
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Cosy/Changelog
r8826 r8827 26 26 - SetOwner of the fList 27 27 28 * macros/rootlogon.C: 29 - improved 28 30 29 31 -
trunk/MagicSoft/Cosy/macros/rootlogon.C
r1690 r8827 16 16 ! 17 17 ! 18 ! Author(s): Thomas Bretz 12/2000 (tbretz@uni-sw.gwdg.de)18 ! Author(s): Thomas Bretz, 12/2000 <mailto:tbretz@astro.uni-wuerzburg.de> 19 19 ! 20 ! Copyright: MAGIC Software Development, 2000-200 120 ! Copyright: MAGIC Software Development, 2000-2008 21 21 ! 22 22 ! 23 23 \* ======================================================================== */ 24 24 25 /////////////////////////////////////////////////////////////////////////// 26 // 27 // rootlogon.C 28 // =========== 29 // 30 // This file is the startup script ("autoexec.bat") executed when root is 31 // started. The definition which file to start is done in ".rootrc". 32 // There are three files which are automatically processed by root at 33 // startup: A systemwide .rootrc, one in your home directory and one 34 // in the current directory. 35 // So rootlogon.C is correctly executed if your start root from your 36 // Mars directory. 37 // 38 // The script setupts some small environmental things and makes 39 // sure that the Mars shared object (libmars.so) is loaded. This shared 40 // object gives you access to all Mars features from within the root 41 // interpreter. 42 // 43 // If libmars.so is not found in the current directory we search in the 44 // directory given in "MARSSYS" environment variable. 45 // 46 /////////////////////////////////////////////////////////////////////////// 25 47 26 void rootlogon()48 bool load(TString &dir) 27 49 { 50 bool rc = true; 28 51 29 cout << endl; 52 if (dir.IsNull()) 53 dir = "./"; 30 54 31 cout << " Loading 'cosy.so'..." << flush;55 cout << "\033[33m\033[1m" << "Loading '" << dir << "libmars.so'... " << "\033[0m" << flush; 32 56 33 if (gSystem->Load("cosy.so")!=0) 34 cout << "error." << endl; 57 if (gSystem->Load(dir+"libmars.so")!=0) 58 { 59 cout << "\033[33m\033[1m" << "error." << endl; 60 cout << "\033[0m" << endl; 61 rc = false; 62 } 63 else 64 { 65 MParContainer::Class()->IgnoreTObjectStreamer(); 66 MArray::Class()->IgnoreTObjectStreamer(); 67 cout << "\033[33m\033[1m" << "done." << "\033[0m" << endl; 68 } 69 70 cout << "\033[33m\033[1m" << "Loading '" << dir << "libcosy.so'... " << "\033[0m" << flush; 71 72 if (gSystem->Load(dir+"libcosy.so")!=0) 73 { 74 cout << "\033[33m\033[1m" << "error." << endl; 75 cout << "\033[0m" << endl; 76 rc = false; 77 } 35 78 else 36 79 { 37 80 //MParContainer::Class()->IgnoreTObjectStreamer(); 38 81 //MArray::Class()->IgnoreTObjectStreamer(); 39 cout << "done." << endl; 82 cout << "\033[33m\033[1m" << "done." << endl; 83 cout << "\033[0m" << endl; 84 } 85 return rc; 86 } 87 /* 88 void make() 89 { 90 unload(); 91 92 if (gSystem->Exec("make")) 93 { 94 cout << "Error calling make..." << endl; 95 return; 40 96 } 41 97 42 gInterpreter->AddIncludePath("base"); 43 gInterpreter->AddIncludePath("main"); 44 98 load(); 99 } 100 */ 101 void rootlogon() 102 { 45 103 cout << endl; 46 104 47 co ut << "Welcome to the Cosy Root environment." << endl;105 const Bool_t fileexist = !gSystem->AccessPathName("libcosy.so", kFileExists); 48 106 107 TString dir = fileexist ? "" : gSystem->Getenv("COSYSYS"); 108 if (!dir.IsNull()) 109 { 110 cout << "\033[34m\033[1m" << "Searching Mars in " << dir << " (COSYSYS)" << "\033[0m" << endl << endl; 111 112 if (!dir.EndsWith("/")) 113 dir += "/"; 114 } 115 116 if (!load(dir)) 117 return; 118 119 MLog::RedirectErrorHandler(MLog::kColor); 120 121 /* 122 gInterpreter->AddIncludePath(dir+"macros"); 123 gInterpreter->AddIncludePath(dir+"manalysis"); 124 gInterpreter->AddIncludePath(dir+"mastro"); 125 gInterpreter->AddIncludePath(dir+"mbase"); 126 gInterpreter->AddIncludePath(dir+"mbadpixels"); 127 gInterpreter->AddIncludePath(dir+"mcamera"); 128 gInterpreter->AddIncludePath(dir+"mcalib"); 129 gInterpreter->AddIncludePath(dir+"mhcalib"); 130 gInterpreter->AddIncludePath(dir+"mdata"); 131 gInterpreter->AddIncludePath(dir+"mfbase"); 132 gInterpreter->AddIncludePath(dir+"mfileio"); 133 gInterpreter->AddIncludePath(dir+"mfilter"); 134 gInterpreter->AddIncludePath(dir+"mgeom"); 135 gInterpreter->AddIncludePath(dir+"mgui"); 136 gInterpreter->AddIncludePath(dir+"mhbase"); 137 gInterpreter->AddIncludePath(dir+"mhflux"); 138 gInterpreter->AddIncludePath(dir+"mhft"); 139 gInterpreter->AddIncludePath(dir+"mhist"); 140 gInterpreter->AddIncludePath(dir+"mhistmc"); 141 gInterpreter->AddIncludePath(dir+"mhvstime"); 142 gInterpreter->AddIncludePath(dir+"mimage"); 143 gInterpreter->AddIncludePath(dir+"mjobs"); 144 gInterpreter->AddIncludePath(dir+"mjoptim"); 145 gInterpreter->AddIncludePath(dir+"mjtrain"); 146 gInterpreter->AddIncludePath(dir+"mmain"); 147 gInterpreter->AddIncludePath(dir+"mmc"); 148 gInterpreter->AddIncludePath(dir+"mmontecarlo"); 149 gInterpreter->AddIncludePath(dir+"mmuon"); 150 gInterpreter->AddIncludePath(dir+"mpedestal"); 151 gInterpreter->AddIncludePath(dir+"mpointing"); 152 gInterpreter->AddIncludePath(dir+"mranforest"); 153 gInterpreter->AddIncludePath(dir+"mraw"); 154 gInterpreter->AddIncludePath(dir+"mreflector"); 155 gInterpreter->AddIncludePath(dir+"mreport"); 156 gInterpreter->AddIncludePath(dir+"msignal"); 157 gInterpreter->AddIncludePath(dir+"msql"); 158 gInterpreter->AddIncludePath(dir+"mstarcam"); 159 gInterpreter->AddIncludePath(dir+"mtools"); 160 gInterpreter->AddIncludePath(dir+"mtrigger"); 161 */ 162 163 if (TString("linux")==gSystem->GetBuildArch()) 164 { 165 TString options = " -O3 -pipe -Wall -Woverloaded-virtual -fno-exceptions -fPIC "; 166 167 TString s = "cd $BuildDir ; "; 168 s += "g++ -c" + options + "-Iinclude -D_REENTRANT $IncludePath $SourceFiles ; "; 169 s += "g++ $ObjectFiles -shared -Wl,-soname,$LibName.so -O -o $SharedLib"; 170 gSystem->SetMakeSharedLib(s); 171 } 172 173 cout << "\033[32m" << "Welcome to the Cosy Root environment." << "\033[0m" << endl; 49 174 cout << endl; 50 175 } 51
Note:
See TracChangeset
for help on using the changeset viewer.