Ignore:
Timestamp:
Feb 15, 2002, 6:35:01 PM (24 years ago)
Author:
ansari
Message:

Portage sous Mac OS X - Reza 15/02/2002

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/SysTools/cxxcmplnk.cc

    r1797 r1900  
    3636
    3737/* --Methode-- */
    38 CxxCompilerLinker::CxxCompilerLinker()
     38CxxCompilerLinker::CxxCompilerLinker(bool fglibsophya, bool fglibextsophya, bool fglibpi)
    3939  : verbose(false)
    4040{
     
    9292#endif
    9393
     94#ifndef Darwin
     95  linkCmd = compCmd;
     96#else
     97  linkCmd = "cc -bundle -flat_namespace -undefined suppress ";
     98  linkOptions = "-L/usr/lib/gcc/darwin/default -lstdc++ -lcc_dynamic -lpthread -lm";
     99#endif
     100
    94101  cppFlags += " -I. ";
    95102  compOptions += " -c ";
     
    102109    if (dpcbase[dpcbase.length()-1] != '/')  dpcbase += '/';
    103110    cppFlags += ( " -I" + dpcbase + "Include/ ");
    104     linkOptions += " -L" + dpcbase + syscomp + "ShLibs/ -lextsophya -lsophya -lm ";
     111    linkOptions += " -L" + dpcbase + syscomp + "ShLibs/";
     112    if (fglibsophya) linkOptions += " -lsophya ";
     113    if (fglibextsophya) linkOptions += " -lextsophya ";
     114    if (fglibpi) linkOptions += " -lPI ";
    105115  }
    106116
     
    151161int CxxCompilerLinker::BuildSO(string const & oname, string & soname)
    152162{
     163  //  char * soext = ".dylib"; if defined(Darwin) - pas necessaire Reza 02/2002
     164  char * soext = ".so";
     165
    153166  if (soname.length() < 1) {
    154167    size_t l,p,q;
     
    158171    else p++;
    159172    q = oname.find('.');
    160     if (q < l)  soname = tmpDir + oname.substr(p, q-p) + ".so";
    161     else soname = tmpDir + oname.substr(p) + ".so";
     173    if (q < l)  soname = tmpDir + oname.substr(p, q-p) + soext;
     174    else soname = tmpDir + oname.substr(p) + soext;
    162175  }
    163176  string cmd;
    164   cmd = compCmd + linkOptions + "-o " + soname + " " + oname ;
     177  cmd = linkCmd + " " + oname + " " + linkOptions + " -o " + soname + " " ;
    165178  if (verbose)
    166179    cout << "CxxCompilerLinker::BuildSO() - Executing \n" << cmd << endl;
Note: See TracChangeset for help on using the changeset viewer.