Changeset 480 in Sophya for trunk/SophyaLib/SysTools/pdlmgr.cc
- Timestamp:
- Oct 20, 1999, 12:25:32 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/SysTools/pdlmgr.cc
r296 r480 23 23 if ( (path.length() > 0) && (path[path.length()] != '/') ) GetTmpDir() = path + '/'; 24 24 else GetTmpDir() = path; 25 #if defined(OSF1) || defined(Linux) || defined(SunOS) 26 string cmd = "LD_LIBRARY_PATH="; 27 char* varenv=NULL; 28 varenv=getenv("LD_LIBRARY_PATH"); 29 #elif defined(IRIX64) 30 string cmd = "LD_LIBRARYN32_PATH="; 31 char* varenv=NULL; 32 varenv=getenv("LD_LIBRARYN32_PATH"); 33 34 if (varenv == NULL) { 35 cmd += '.'; 36 if (path.length() > 0) cmd += ':' + path; 37 } 38 else { 39 if (varenv[0] != '.') cmd += ".:"; 40 if (path.length() > 0) cmd += path + ':'; 41 cmd += varenv; 42 putenv(cmd.c_str()); 43 } 44 #elif defined(AIX) 45 string cmd = "LIBPATH="; 46 char* varenv=NULL; 47 varenv=getenv("LIBPATH"); 48 if (varenv == NULL) { 49 cmd += '.'; 50 if (path.length() > 0) cmd += ':' + path; 51 cmd += ":/usr/lib:/lib"; 52 } 53 else { 54 if (varenv[0] != '.') cmd += ".:"; 55 if (path.length() > 0) cmd += path + ':'; 56 cmd += varenv; 57 putenv(const_cast<char *>(cmd.c_str())); 58 } 59 60 #endif 25 61 return; 26 62 } … … 49 85 50 86 // Compilation du fichier 51 #if defined(OSF1) || defined(Linux)87 #ifndef __mac__ 52 88 cmd = "cc -c -o " + fnameobj + " " + fname; 89 #else 90 cmd = "Il faut compiler !!!" + fnameobj + " " + fname; 53 91 #endif 54 92 rc = system(cmd.c_str()); … … 68 106 #if defined(OSF1) 69 107 cmd = "ld -shared -o " + fnameso + " -all " + fnameobj + " -none -lm -lc"; 70 #el se108 #elif defined(Linux) 71 109 cmd = "ld -shared -o " + fnameso + " " + fnameobj + " -lm -lc"; 110 #elif defined(SunOS) 111 cmd = "ld -G -o " + fnameso + " " + fnameobj + " -lm -lc"; 112 #elif defined(IRIX64) 113 cmd = "ld -shared -o " + fnameso + " " + fnameobj + " -lm -lc"; 114 #elif defined(AIX) 115 cmd = "ld -G -bnogc -bexpall -bM:1L -o " + fnameso + " " + fnameobj; 116 #elif defined(HPUX) 117 cmd = "ld -b -o " + fnameso + " " + fnameobj + " -lm -lc"; 118 #else 119 cmd = "ld -o " + fnameso + " " + fnameobj + " -lm -lc"; 72 120 #endif 73 121 rc = system(cmd.c_str()); … … 76 124 return(NULL); 77 125 } 78 79 126 PDynLinkMgr* rdyn = new PDynLinkMgr(fnameso, false); 80 127 rdyn->copy = true; … … 117 164 soName = fnameso; 118 165 119 #if defined(OSF1) || defined(Linux) 166 #if defined(HPUX) 167 dlhandle = NULL; 168 cerr << "PDynLinkMgr::PDynLinkMgr() Not yet available on HP-UX " << endl; 169 return; 170 #else 120 171 dlhandle = dlopen(fnameso.c_str(), RTLD_NOW); 121 172 if (dlhandle == NULL) { … … 132 183 PDynLinkMgr::~PDynLinkMgr() 133 184 { 134 #if defined(OSF1) || defined(Linux) 185 #if defined(HPUX) 186 cerr << "PDynLinkMgr::~PDynLinkMgr() Not yet available on HP-UX " << endl; 187 return; 188 #else 135 189 if (dlhandle) dlclose(dlhandle); dlhandle = NULL; 136 #endif137 190 if (copy) { 138 191 string cmd = "rm -f " + soName; 139 192 system(cmd.c_str()); 140 193 } 194 #endif 141 195 } 142 196 … … 145 199 { 146 200 DlFunction f = NULL; 147 #if defined(OSF1) || defined(Linux) 201 #if defined(HPUX) 202 cerr << "PDynLinkMgr::GetFunction() Not yet available on HP-UX " << endl; 203 return f; 204 #else 148 205 if (dlhandle != NULL) 149 206 f = (DlFunction)dlsym(dlhandle, funcname.c_str()); 150 #endif 151 if (f == NULL) cerr << "PDynLinkMgr::PDynLinkMgr(): Error linking " << funcname << endl; 207 if (f == NULL) cerr << "PDynLinkMgr::GetFunction(): Error linking " << funcname << endl; 152 208 return(f); 153 } 154 209 #endif 210 } 211
Note:
See TracChangeset
for help on using the changeset viewer.