Salome HOME
PR: merge from branch BR_OCC_For_3_1_0a3 tag mergeto_trunk_16nov05
authorprascle <prascle>
Wed, 16 Nov 2005 14:48:14 +0000 (14:48 +0000)
committerprascle <prascle>
Wed, 16 Nov 2005 14:48:14 +0000 (14:48 +0000)
bin/launchConfigureParser.py
bin/orbmodule.py
bin/runSalome.py
salome_adm/unix/config_files/check_cas.m4

index fa814742d1d40e8dff623579756041e97a0892b1..0de312b040119b4e102d3eed6f5941d31f293454 100755 (executable)
@@ -161,7 +161,7 @@ class xml_parser:
 
 config_var = appname+'Config'
 dirs = os.environ[config_var]
-dirs = dirs.split( ';' )
+dirs = re.split('[;|:]', dirs )
 dirs.reverse() # reverse order, like in "path" variable - FILO-style processing
 
 _opts = {} # assiciative array of options to be filled
index fdc254472e9a5fb5250001117863f42098337179..9dfad8a2c025352bfc27f3c26d07ff1a9473a56b 100755 (executable)
@@ -141,6 +141,36 @@ class client:
       if nobj is None:
             print "%s exists but is not a %s" % (name,typobj)
       return nobj
+   def waitNSPID(self, theName, thePID, theTypObj = None):
+      aCount = 0
+      aDelta = 0.5
+      anObj = None
+      print "Searching %s in Naming Service " % theName,
+      while(1):
+         try:
+            aPid, aStatus = os.waitpid(thePID,os.WNOHANG)
+         except Exception, exc:
+            raise "Impossible de trouver %s" % theName
+         aCount += 1
+         anObj = self.Resolve(theName)
+         if anObj: 
+            print " found in %s seconds " % ((aCount-1)*aDelta)
+            break
+         else:
+            sys.stdout.write('+')
+            sys.stdout.flush()
+            time.sleep(aDelta)
+            pass
+         pass
+      
+      if theTypObj is None:
+         return anObj
+
+      anObject = anObj._narrow(theTypObj)
+      if anObject is None:
+         print "%s exists but is not a %s" % (theName,theTypObj)
+      return anObject
+
 
    # --------------------------------------------------------------------------
 
index 311dc45ed8f2248347ffb5bdf1b8b086a83042da..94e17db922b19830b9a6057b945a4abdd5de520a 100755 (executable)
@@ -256,6 +256,7 @@ class Server:
     """Generic class for CORBA server launch"""
 
     def initArgs(self):
+        self.PID=None
         self.CMD=[]
         self.ARGS=[]   
         if self.args['xterm']:
@@ -278,6 +279,7 @@ class Server:
         print "command = ", command
         pid = os.spawnvp(os.P_NOWAIT, command[0], command)
         process_id[pid]=self.CMD
+        self.PID = pid
 
 
 class InterpServer(Server):
@@ -293,6 +295,7 @@ class InterpServer(Server):
         #print "command = ", command
         pid = os.spawnvp(os.P_NOWAIT, command[0], command)
         process_id[pid]=self.CMD
+        self.PID = pid
 
 # ---
 
@@ -526,7 +529,7 @@ def startSalome(args, modules_list, modules_root_dir):
     if 'registry' not in args['embedded']:
         myServer=RegistryServer(args)
         myServer.run()
-        clt.waitNS("/Registry")
+        clt.waitNSPID("/Registry",myServer.PID)
 
     #
     # Lancement Catalog Server,
@@ -539,7 +542,7 @@ def startSalome(args, modules_list, modules_root_dir):
         cataServer.setpath(modules_list,modules_root_dir)
         cataServer.run()
         import SALOME_ModuleCatalog
-        clt.waitNS("/Kernel/ModulCatalog",SALOME_ModuleCatalog.ModuleCatalog)
+        clt.waitNSPID("/Kernel/ModulCatalog",cataServer.PID,SALOME_ModuleCatalog.ModuleCatalog)
 
     #
     # Lancement SalomeDS Server,
@@ -551,7 +554,7 @@ def startSalome(args, modules_list, modules_root_dir):
         print "RunStudy"
         myServer=SalomeDSServer(args)
         myServer.run()
-        clt.waitNS("/myStudyManager")
+        clt.waitNSPID("/myStudyManager",myServer.PID)
 
     #
     # Lancement ContainerManagerServer
@@ -580,7 +583,7 @@ def startSalome(args, modules_list, modules_root_dir):
     if 'cppContainer' in args['standalone']:
         myServer=ContainerCPPServer(args)
         myServer.run()
-        clt.waitNS("/Containers/" + theComputer + "/FactoryServer")
+        clt.waitNSPID("/Containers/" + theComputer + "/FactoryServer",myServer.PID)
 
     #
     # Lancement Container Python local,
@@ -591,7 +594,7 @@ def startSalome(args, modules_list, modules_root_dir):
     if 'pyContainer' in args['standalone']:
         myServer=ContainerPYServer(args)
         myServer.run()
-        clt.waitNS("/Containers/" + theComputer + "/FactoryServerPy")
+        clt.waitNSPID("/Containers/" + theComputer + "/FactoryServerPy",myServer.PID)
 
     #
     # Lancement Container Supervision local,
@@ -602,7 +605,7 @@ def startSalome(args, modules_list, modules_root_dir):
     if 'supervContainer' in args['standalone']:
         myServer=ContainerSUPERVServer(args)
         myServer.run()
-        clt.waitNS("/Containers/" + theComputer + "/SuperVisionContainer")
+        clt.waitNSPID("/Containers/" + theComputer + "/SuperVisionContainer",myServer.PID)
 
     #
     # Lancement Session Server
@@ -617,7 +620,7 @@ def startSalome(args, modules_list, modules_root_dir):
 
     import SALOME
     import SALOME_Session_idl
-    session=clt.waitNS("/Kernel/Session",SALOME.Session)
+    session=clt.waitNSPID("/Kernel/Session",mySessionServ.PID,SALOME.Session)
 
     end_time = os.times()
     print
index 345b13f48104c115b6705f4b07e27428b5165d05..0d1eb1653573af6474cd90c5bc73c2eb20dc87f9 100644 (file)
@@ -217,8 +217,13 @@ else
   CAS_KERNEL="$CAS_LDPATH -lTKernel"
   CAS_MATH="$CAS_LDPATH -lTKMath"
 
-  CAS_OCAF="$CAS_LDPATH -lTKernel -lTKCDF -lTKLCAF"
-  CAS_OCAFVIS="$CAS_LDPATH -lTKCAF -lStdPlugin"
+  if test -f $CASROOT/$casdir/lib/libStdPlugin.so ; then
+    # this libraries are only for CASCADE 5.2.3
+    CAS_STDPLUGIN="StdPlugin"
+  fi
+
+  CAS_OCAF="$CAS_LDPATH -lPTKernel -lTKernel -lTKCDF -lTKLCAF -lTKPCAF -lTKStdSchema"
+  CAS_OCAFVIS="$CAS_LDPATH -lTKCAF -lStdPlugin -lStdLPlugin -lTKPLCAF -lTKPShape -lTKStdLSchema -lTKShapeSchema"
   
   CAS_TKV3d="$CAS_LDPATH -lTKV3d"
   CAS_VIEWER="$CAS_TKV3d -lTKService"