From 2de07455d4c25c2982ab1976f9c2e076a2583c92 Mon Sep 17 00:00:00 2001 From: admin Date: Tue, 2 Dec 2008 10:50:52 +0000 Subject: [PATCH] This commit was generated by cvs2git to create branch 'SALOME_4_DOC'. Sprout from SALOME_4_NEW 2008-12-02 10:50:51 UTC maintenance team '*** empty log message ***' Delete: config_files/patches/netgen-4.5-for-SALOME.patch config_files/patches/netgen-4.5-lib64.patch config_files/patches/omniNotify-2.1-lib64.patch config_files/patches/python_patch_lib64.patch --- .../patches/netgen-4.5-for-SALOME.patch | 1229 ----------------- config_files/patches/netgen-4.5-lib64.patch | 45 - .../patches/omniNotify-2.1-lib64.patch | 94 -- config_files/patches/python_patch_lib64.patch | 301 ---- 4 files changed, 1669 deletions(-) delete mode 100755 config_files/patches/netgen-4.5-for-SALOME.patch delete mode 100755 config_files/patches/netgen-4.5-lib64.patch delete mode 100755 config_files/patches/omniNotify-2.1-lib64.patch delete mode 100755 config_files/patches/python_patch_lib64.patch diff --git a/config_files/patches/netgen-4.5-for-SALOME.patch b/config_files/patches/netgen-4.5-for-SALOME.patch deleted file mode 100755 index fac1fc0..0000000 --- a/config_files/patches/netgen-4.5-for-SALOME.patch +++ /dev/null @@ -1,1229 +0,0 @@ -diff -Naur netgen-4.5.old/libsrc/csg/meshsurf.cpp netgen-4.5.new/libsrc/csg/meshsurf.cpp ---- netgen-4.5.old/libsrc/csg/meshsurf.cpp 2006-02-14 11:54:35.000000000 +0300 -+++ netgen-4.5.new/libsrc/csg/meshsurf.cpp 2008-02-12 14:57:01.000000000 +0300 -@@ -77,11 +77,12 @@ - } - - --void MeshOptimize2dSurfaces :: ProjectPoint (INDEX surfind, Point3d & p) const -+bool MeshOptimize2dSurfaces :: ProjectPoint (INDEX surfind, Point3d & p) const - { - Point<3> hp = p; - geometry.GetSurface(surfind)->Project (hp); - p = hp; -+ return true; - } - - void MeshOptimize2dSurfaces :: ProjectPoint2 (INDEX surfind, INDEX surfind2, -diff -Naur netgen-4.5.old/libsrc/csg/meshsurf.hpp netgen-4.5.new/libsrc/csg/meshsurf.hpp ---- netgen-4.5.old/libsrc/csg/meshsurf.hpp 2004-01-20 14:49:44.000000000 +0300 -+++ netgen-4.5.new/libsrc/csg/meshsurf.hpp 2008-02-12 14:57:01.000000000 +0300 -@@ -45,7 +45,7 @@ - MeshOptimize2dSurfaces (const CSGeometry & ageometry); - - /// -- virtual void ProjectPoint (INDEX surfind, Point3d & p) const; -+ virtual bool ProjectPoint (INDEX surfind, Point3d & p) const; - /// - virtual void ProjectPoint2 (INDEX surfind, INDEX surfind2, Point3d & p) const; - /// -diff -Naur netgen-4.5.old/libsrc/interface/Makefile netgen-4.5.new/libsrc/interface/Makefile ---- netgen-4.5.old/libsrc/interface/Makefile 2005-08-09 18:14:59.000000000 +0400 -+++ netgen-4.5.new/libsrc/interface/Makefile 2008-02-12 14:57:01.000000000 +0300 -@@ -1,4 +1,5 @@ --src = nginterface.cpp writeuser.cpp writediffpack.cpp writeabaqus.cpp writefluent.cpp writepermas.cpp writetochnog.cpp writetecplot.cpp wuchemnitz.cpp writetochnog.cpp writefeap.cpp writeelmer.cpp writegmsh.cpp writejcm.cpp readuser.cpp importsolution.cpp -+#src = nginterface.cpp writeuser.cpp writediffpack.cpp writeabaqus.cpp writefluent.cpp writepermas.cpp writetochnog.cpp writetecplot.cpp wuchemnitz.cpp writetochnog.cpp writefeap.cpp writeelmer.cpp writegmsh.cpp writejcm.cpp readuser.cpp importsolution.cpp -+src = writeuser.cpp writediffpack.cpp writeabaqus.cpp writefluent.cpp writepermas.cpp writetochnog.cpp writetecplot.cpp wuchemnitz.cpp writetochnog.cpp writefeap.cpp writeelmer.cpp writegmsh.cpp writejcm.cpp readuser.cpp nglib.cpp ngnewdelete.cpp - # - lib = nginterface - libpath = libsrc/interface -diff -Naur netgen-4.5.old/libsrc/interface/nglib.cpp netgen-4.5.new/libsrc/interface/nglib.cpp ---- netgen-4.5.old/libsrc/interface/nglib.cpp 2005-10-18 17:53:18.000000000 +0400 -+++ netgen-4.5.new/libsrc/interface/nglib.cpp 2008-02-12 14:57:01.000000000 +0300 -@@ -56,7 +56,8 @@ - - void Ng_Exit () - { -- ; -+ delete testout; -+ testout = NULL; - } - - -diff -Naur netgen-4.5.old/libsrc/makefile.inc netgen-4.5.new/libsrc/makefile.inc ---- netgen-4.5.old/libsrc/makefile.inc 2005-09-02 17:17:51.000000000 +0400 -+++ netgen-4.5.new/libsrc/makefile.inc 2008-02-12 14:59:55.000000000 +0300 -@@ -8,17 +8,14 @@ - LIBSRC_DIR=$(CPP_DIR)/libsrc - LIB_DIR=$(CPP_DIR)/lib/$(MACHINE) - --#OCC_DIR=../../occ --#OCCINC_DIR=$(OCC_DIR)/inc --#OCCLIB_DIR=$(OCC_DIR)/lib --# OCC_DIR=/opt/OpenCASCADE5.2/ros --# OCC_DIR=/home/joachim/download/occ/Linux --# OCCINC_DIR=$(OCC_DIR)/inc -I$(OCC_DIR)/ros/inc --# OCCLIB_DIR=$(OCC_DIR)/Linux/lib -+OCC_DIR=$(CASROOT) -+OCCINC_DIR=$(OCC_DIR)/inc -+OCCLIB_DIR=$(OCC_DIR)/Linux/lib - # - include $(LIBSRC_DIR)/makefile.mach.$(MACHINE) - # --CPLUSPLUSFLAGS1 = -c -I$(LIBSRC_DIR)/include -I$(OCCINC_DIR) -+CPLUSPLUSFLAGS1 = -c -fPIC -I$(LIBSRC_DIR)/include -I$(OCCINC_DIR) \ -+ -DOCCGEOMETRY -DOCC52 -DHAVE_IOSTREAM -DHAVE_LIMITS_H - # - ARFLAGS = r - # -diff -Naur netgen-4.5.old/libsrc/makefile.mach.LINUX netgen-4.5.new/libsrc/makefile.mach.LINUX ---- netgen-4.5.old/libsrc/makefile.mach.LINUX 2004-10-11 23:49:26.000000000 +0400 -+++ netgen-4.5.new/libsrc/makefile.mach.LINUX 2008-02-12 14:57:01.000000000 +0300 -@@ -16,7 +16,7 @@ - # - CFLAGS2 = - --CPLUSPLUSFLAGS2 = -O2 -I/usr/include/GL3.5 -DLINUX -DOPENGL \ -+CPLUSPLUSFLAGS2 = -O2 -I/usr/include/GL3.5 -DLINUX \ - -ftemplate-depth-99 -finline-limit=10000 \ - -Wdisabled-optimization -funroll-loops -DnoNGSOLVE - -diff -Naur netgen-4.5.old/libsrc/meshing/meshtype.cpp netgen-4.5.new/libsrc/meshing/meshtype.cpp ---- netgen-4.5.old/libsrc/meshing/meshtype.cpp 2006-02-10 13:11:08.000000000 +0300 -+++ netgen-4.5.new/libsrc/meshing/meshtype.cpp 2008-03-14 13:19:53.000000000 +0300 -@@ -1,4 +1,5 @@ - #include -+#include - - #include "meshing.hpp" - -@@ -774,7 +775,7 @@ - frob /= 2; - - double det = trans.Det(); -- if (det <= 0) -+ if (det <= DBL_MIN) - err += 1e12; - else - err += frob * frob / det; - - -diff -Naur netgen-4.5.old/libsrc/meshing/improve2.cpp netgen-4.5.new/libsrc/meshing/improve2.cpp ---- netgen-4.5.old/libsrc/meshing/improve2.cpp 2006-01-11 19:08:19.000000000 +0300 -+++ netgen-4.5.new/libsrc/meshing/improve2.cpp 2008-02-12 14:57:01.000000000 +0300 -@@ -4,7 +4,7 @@ - #include - - #ifndef SMALLLIB --#include -+//#include - #endif - - namespace netgen -diff -Naur netgen-4.5.old/libsrc/meshing/improve2.hpp netgen-4.5.new/libsrc/meshing/improve2.hpp ---- netgen-4.5.old/libsrc/meshing/improve2.hpp 2004-10-12 23:22:55.000000000 +0400 -+++ netgen-4.5.new/libsrc/meshing/improve2.hpp 2008-02-12 14:57:01.000000000 +0300 -@@ -32,17 +32,16 @@ - /// - virtual void SelectSurfaceOfPoint (const Point3d & p, - const PointGeomInfo & gi); -- /// -- virtual void ProjectPoint (INDEX /* surfind */, Point3d & /* p */) const { }; -+ -+ /// project point on surface, returns true if success -+ virtual bool ProjectPoint (INDEX /* surfind */, Point3d & /* p */) const { return false; } -+ /// fast project point on surface using point geom info of a neighboring point -+ /// if gi.trignum != 0, -+ /// returns true if success, gi is updated -+ virtual bool ProjectPoint (INDEX surfind, Point3d & p, PointGeomInfo& gi) const -+ { gi.trignum = 1; return ProjectPoint (surfind, p); } - /// - virtual void ProjectPoint2 (INDEX /* surfind */, INDEX /* surfind2 */, Point3d & /* p */) const { }; -- /// liefert zu einem 3d-Punkt die geominfo (Dreieck) und liefert 1, wenn erfolgreich, -- /// 0, wenn nicht (Punkt ausserhalb von chart) -- virtual int CalcPointGeomInfo(PointGeomInfo& gi, const Point3d& /*p3*/) const -- { gi.trignum = 1; return 1;}; -- -- virtual int CalcPointGeomInfo(int /* surfind */, PointGeomInfo& gi, const Point3d& p3) const -- { return CalcPointGeomInfo (gi, p3); } - - /// - virtual void GetNormalVector(INDEX surfind, const Point3d & p, PointGeomInfo & gi, Vec3d & n) const; -diff -Naur netgen-4.5.old/libsrc/meshing/smoothing2.cpp netgen-4.5.new/libsrc/meshing/smoothing2.cpp ---- netgen-4.5.old/libsrc/meshing/smoothing2.cpp 2006-01-11 19:08:20.000000000 +0300 -+++ netgen-4.5.new/libsrc/meshing/smoothing2.cpp 2008-02-12 14:57:01.000000000 +0300 -@@ -300,7 +300,7 @@ - double Opti2SurfaceMinFunction :: - FuncGrad (const Vector & x, Vector & grad) const - { -- Vec3d n, vgrad; -+ Vec3d vgrad; - Point3d pp1; - double g1x, g1y; - double badness, hbadness; -@@ -308,8 +308,6 @@ - vgrad = 0; - badness = 0; - -- meshthis -> GetNormalVector (surfi, sp1, gi1, n); -- - pp1 = sp1; - pp1.Add2 (x.Get(1), t1, x.Get(2), t2); - -@@ -360,7 +358,7 @@ - double Opti2SurfaceMinFunction :: - FuncDeriv (const Vector & x, const Vector & dir, double & deriv) const - { -- Vec3d n, vgrad; -+ Vec3d vgrad; - Point3d pp1; - double g1x, g1y; - double badness, hbadness; -@@ -368,8 +366,6 @@ - vgrad = 0; - badness = 0; - -- meshthis -> GetNormalVector (surfi, sp1, gi1, n); -- - pp1 = sp1; - pp1.Add2 (x.Get(1), t1, x.Get(2), t2); - -@@ -520,7 +516,7 @@ - // from 2d: - - int j, k, lpi, gpi; -- Vec3d n, vgrad; -+ Vec3d vgrad; - Point3d pp1; - Vec2d g1, vdir; - double badness, hbadness, hbad, hderiv; -@@ -528,8 +524,6 @@ - vgrad = 0; - badness = 0; - -- meshthis -> GetNormalVector (surfi, sp1, gi1, n); -- - pp1 = sp1; - pp1.Add2 (x.Get(1), t1, x.Get(2), t2); - -@@ -593,7 +587,7 @@ - // from 2d: - - int j, k, lpi, gpi; -- Vec3d n, vgrad; -+ Vec3d vgrad; - Point3d pp1; - Vec2d g1, vdir; - double badness, hbadness, hbad, hderiv; -@@ -601,8 +595,6 @@ - vgrad = 0; - badness = 0; - -- meshthis -> GetNormalVector (surfi, sp1, gi1, n); -- - pp1 = sp1; - pp1.Add2 (x.Get(1), t1, x.Get(2), t2); - -@@ -859,19 +851,21 @@ - locelements.SetSize(0); - locrots.SetSize (0); - lochs.SetSize (0); -+ ngi.trignum = 0; - - for (j = 0; j < elementsonpoint[pi].Size(); j++) - { - sei = elementsonpoint[pi][j]; - const Element2d & bel = mesh[sei]; - surfi = mesh.GetFaceDescriptor(bel.GetIndex()).SurfNr(); -- -+ - locelements.Append (sei); - - for (k = 1; k <= bel.GetNP(); k++) - if (bel.PNum(k) == pi) - { - locrots.Append (k); -+ ngi = bel.GeomInfoPi(k); - break; - } - -@@ -942,7 +936,7 @@ - } - - //optimizer loop (if not whole distance is not possible, move only a bit!!!!) -- while (loci <= 5 && !moveisok) -+ while (loci <= 5 && !moveisok) - { - loci ++; - mesh[pi].X() = origp.X() + (x.Get(1) * t1.X() + x.Get(2) * t2.X())*fact; -@@ -951,11 +945,9 @@ - fact = fact/2.; - - -- ProjectPoint (surfi, mesh[pi]); -+ moveisok = ProjectPoint (surfi, mesh[pi], ngi); - -- moveisok = CalcPointGeomInfo(surfi, ngi, mesh[pi]); -- // point lies on same chart in stlsurface -- -+ // point lies on same chart in stlsurface - if (moveisok) - { - for (j = 0; j < locelements.Size(); j++) -diff -Naur netgen-4.5.old/libsrc/occ/occconstruction.cpp netgen-4.5.new/libsrc/occ/occconstruction.cpp ---- netgen-4.5.old/libsrc/occ/occconstruction.cpp 2005-12-06 18:15:53.000000000 +0300 -+++ netgen-4.5.new/libsrc/occ/occconstruction.cpp 2008-02-12 14:57:01.000000000 +0300 -@@ -28,8 +28,8 @@ - #include - #include - #include --#include --#include -+//#include -+//#include - #include - #include - namespace netgen -diff -Naur netgen-4.5.old/libsrc/occ/occgenmesh.cpp netgen-4.5.new/libsrc/occ/occgenmesh.cpp ---- netgen-4.5.old/libsrc/occ/occgenmesh.cpp 2006-02-07 13:12:48.000000000 +0300 -+++ netgen-4.5.new/libsrc/occ/occgenmesh.cpp 2008-02-12 14:57:01.000000000 +0300 -@@ -28,7 +28,7 @@ - return Point<3> (p.X(), p.Y(), p.Z()); - } - -- void DivideEdge (TopoDS_Edge & edge, -+ static void DivideEdge (TopoDS_Edge & edge, - ARRAY & ps, - ARRAY & params, - Mesh & mesh) -@@ -49,23 +49,19 @@ - hvalue[0] = 0; - pnt = c->Value(s0); - -- double olddist = 0; -- double dist = 0; -- -- for (int i = 1; i <= DIVIDEEDGESECTIONS; i++) -+ int i; -+ for (i = 1; i <= DIVIDEEDGESECTIONS; i++) - { - oldpnt = pnt; - pnt = c->Value(s0+(i/double(DIVIDEEDGESECTIONS))*(s1-s0)); -+ double dist = pnt.Distance(oldpnt); - hvalue[i] = hvalue[i-1] + - 1.0/mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z()))* -- pnt.Distance(oldpnt); -+ dist; - - //(*testout) << "mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z())) " << mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z())) - // << " pnt.Distance(oldpnt) " << pnt.Distance(oldpnt) << endl; - -- -- olddist = dist; -- dist = pnt.Distance(oldpnt); - } - - // nsubedges = int(ceil(hvalue[DIVIDEEDGESECTIONS])); -@@ -74,7 +70,7 @@ - ps.SetSize(nsubedges-1); - params.SetSize(nsubedges+1); - -- int i = 1; -+ i = 1; - int i1 = 0; - do - { -@@ -112,7 +108,7 @@ - - static void FindEdges (OCCGeometry & geom, Mesh & mesh) - { -- char * savetask = multithread.task; -+ const char * savetask = multithread.task; - multithread.task = "Edge meshing"; - - (*testout) << "edge meshing" << endl; -@@ -124,6 +120,7 @@ - (*testout) << "nedges = " << nedges << endl; - - double eps = 1e-6 * geom.GetBoundingBox().Diam(); -+ double eps2 = eps * eps; - - for (int i = 1; i <= nvertices; i++) - { -@@ -133,7 +130,7 @@ - bool exists = 0; - if (merge_solids) - for (PointIndex pi = 1; pi <= mesh.GetNP(); pi++) -- if ( Dist2 (mesh[pi], Point<3>(mp)) < eps*eps) -+ if ( Dist2 (mesh[pi], Point<3>(mp)) < eps2) - { - exists = 1; - break; -@@ -163,6 +160,7 @@ - { - TopoDS_Face face = TopoDS::Face(exp1.Current()); - int facenr = geom.fmap.FindIndex(face); -+ if ( facenr < 1 ) continue; - - if (face2solid[0][facenr-1] == 0) - face2solid[0][facenr-1] = solidnr; -@@ -184,6 +182,9 @@ - int facenr = 0; - int edgenr = 0; - -+ // EAP, IMP [SALOME platform 0013410]. -+ // take into account nb of already meshed edges -+ edgenr = mesh.GetNSeg(); - - (*testout) << "faces = " << geom.fmap.Extent() << endl; - int curr = 0; -@@ -232,6 +233,11 @@ - continue; - } - -+ // EAP, IMP [SALOME platform 0013410]. -+ // Do not divide already meshed edges -+ if ( geom.emap.FindIndex(edge) < 1 ) -+ continue; -+ - if (geom.vmap.FindIndex(TopExp::FirstVertex (edge)) == - geom.vmap.FindIndex(TopExp::LastVertex (edge))) - { -@@ -276,8 +282,8 @@ - pnums.Last() = -1; - for (PointIndex pi = 1; pi < first_ep; pi++) - { -- if (Dist2 (mesh[pi], fp) < eps*eps) pnums[0] = pi; -- if (Dist2 (mesh[pi], lp) < eps*eps) pnums.Last() = pi; -+ if (Dist2 (mesh[pi], fp) < eps2) pnums[0] = pi; -+ if (Dist2 (mesh[pi], lp) < eps2) pnums.Last() = pi; - } - } - -@@ -287,7 +293,7 @@ - bool exists = 0; - int j; - for (j = first_ep; j <= mesh.GetNP(); j++) -- if ((mesh.Point(j)-Point<3>(mp[i-1])).Length() < eps) -+ if (Dist2(mesh.Point(j), Point<3>(mp[i-1])) < eps2) - { - exists = 1; - break; -@@ -394,7 +400,7 @@ - int i, j, k; - int changed; - -- char * savetask = multithread.task; -+ const char * savetask = multithread.task; - multithread.task = "Surface meshing"; - - geom.facemeshstatus = 0; -@@ -751,7 +760,7 @@ - multithread.task = savetask; - } - -- double ComputeH (double kappa) -+ static double ComputeH (double kappa) - { - double hret; - kappa *= mparam.curvaturesafety; -@@ -779,7 +788,7 @@ - double nq = n*q; - - Point<3> p = p0 + 0.5*n; -- double lambda = (p-l.p0)*n / nq; -+ double lambda = (fabs(nq) > 1e-10 ? (p-l.p0)*n / nq : -1); - - if (lambda >= 0 && lambda <= 1) - { -@@ -799,55 +808,55 @@ - - - -- void RestrictHTriangle (gp_Pnt2d & par0, gp_Pnt2d & par1, gp_Pnt2d & par2, -- BRepLProp_SLProps * prop, Mesh & mesh, const double maxside, int depth, double h = 0) -+ static void RestrictHTriangle (gp_Pnt2d & par0, gp_Pnt2d & par1, gp_Pnt2d & par2, -+ BRepAdaptor_Surface& surf, Mesh & mesh, const double maxside, int depth, double h = 0) - { -- -+ BRepLProp_SLProps prop(surf, 2, 1e-5); - - gp_Pnt2d parmid; - - parmid.SetX(0.3*(par0.X()+par1.X()+par2.X())); - parmid.SetY(0.3*(par0.Y()+par1.Y()+par2.Y())); - -- if (depth == 0) -+ //if (depth == 0) - { - double curvature = 0; - -- prop->SetParameters (parmid.X(), parmid.Y()); -- if (!prop->IsCurvatureDefined()) -+ prop.SetParameters (parmid.X(), parmid.Y()); -+ if (!prop.IsCurvatureDefined()) - { - (*testout) << "curvature not defined!" << endl; - return; - } -- curvature = max(fabs(prop->MinCurvature()), -- fabs(prop->MaxCurvature())); -+ curvature = max(fabs(prop.MinCurvature()), -+ fabs(prop.MaxCurvature())); - -- prop->SetParameters (par0.X(), par0.Y()); -- if (!prop->IsCurvatureDefined()) -+ prop.SetParameters (par0.X(), par0.Y()); -+ if (!prop.IsCurvatureDefined()) - { - (*testout) << "curvature not defined!" << endl; - return; - } -- curvature = max(curvature,max(fabs(prop->MinCurvature()), -- fabs(prop->MaxCurvature()))); -+ curvature = max(curvature,max(fabs(prop.MinCurvature()), -+ fabs(prop.MaxCurvature()))); - -- prop->SetParameters (par1.X(), par1.Y()); -- if (!prop->IsCurvatureDefined()) -+ prop.SetParameters (par1.X(), par1.Y()); -+ if (!prop.IsCurvatureDefined()) - { - (*testout) << "curvature not defined!" << endl; - return; - } -- curvature = max(curvature,max(fabs(prop->MinCurvature()), -- fabs(prop->MaxCurvature()))); -+ curvature = max(curvature,max(fabs(prop.MinCurvature()), -+ fabs(prop.MaxCurvature()))); - -- prop->SetParameters (par2.X(), par2.Y()); -- if (!prop->IsCurvatureDefined()) -+ prop.SetParameters (par2.X(), par2.Y()); -+ if (!prop.IsCurvatureDefined()) - { - (*testout) << "curvature not defined!" << endl; - return; - } -- curvature = max(curvature,max(fabs(prop->MinCurvature()), -- fabs(prop->MaxCurvature()))); -+ curvature = max(curvature,max(fabs(prop.MinCurvature()), -+ fabs(prop.MaxCurvature()))); - - //(*testout) << "curvature " << curvature << endl; - -@@ -886,51 +895,47 @@ - pm1.SetX(0.5*(par0.X()+par2.X())); pm1.SetY(0.5*(par0.Y()+par2.Y())); - pm2.SetX(0.5*(par1.X()+par0.X())); pm2.SetY(0.5*(par1.Y()+par0.Y())); - -- RestrictHTriangle (pm0, pm1, pm2, prop, mesh, 0.5*maxside, depth+1, h); -- RestrictHTriangle (par0, pm1, pm2, prop, mesh, 0.5*maxside, depth+1, h); -- RestrictHTriangle (par1, pm0, pm2, prop, mesh, 0.5*maxside, depth+1, h); -- RestrictHTriangle (par2, pm1, pm0, prop, mesh, 0.5*maxside, depth+1, h); -+ RestrictHTriangle (pm0, pm1, pm2, surf, mesh, 0.5*maxside, depth+1, h); -+ RestrictHTriangle (par0, pm1, pm2, surf, mesh, 0.5*maxside, depth+1, h); -+ RestrictHTriangle (par1, pm0, pm2, surf, mesh, 0.5*maxside, depth+1, h); -+ RestrictHTriangle (par2, pm1, pm0, surf, mesh, 0.5*maxside, depth+1, h); - } - else - { - gp_Pnt pnt; - Point3d p3d; - -- prop->SetParameters (parmid.X(), parmid.Y()); -- pnt = prop->Value(); -+ surf.D0(parmid.X(), parmid.Y(), pnt); - p3d = Point3d(pnt.X(), pnt.Y(), pnt.Z()); - mesh.RestrictLocalH (p3d, h); - - -- prop->SetParameters (par0.X(), par0.Y()); -- pnt = prop->Value(); -+ surf.D0(par0.X(), par0.Y(), pnt); - p3d = Point3d(pnt.X(), pnt.Y(), pnt.Z()); - mesh.RestrictLocalH (p3d, h); - -- prop->SetParameters (par1.X(), par1.Y()); -- pnt = prop->Value(); -+ surf.D0(par1.X(), par1.Y(), pnt); - p3d = Point3d(pnt.X(), pnt.Y(), pnt.Z()); - mesh.RestrictLocalH (p3d, h); - -- prop->SetParameters (par2.X(), par2.Y()); -- pnt = prop->Value(); -+ surf.D0(par2.X(), par2.Y(), pnt); - p3d = Point3d(pnt.X(), pnt.Y(), pnt.Z()); - mesh.RestrictLocalH (p3d, h); - -- (*testout) << "p = " << p3d << ", h = " << h << ", maxside = " << maxside << endl; -+ //(*testout) << "p = " << p3d << ", h = " << h << ", maxside = " << maxside << endl; - /* - (*testout) << pnt.X() << " " << pnt.Y() << " " << pnt.Z() << endl; - -- prop->SetParameters (par0.X(), par0.Y()); -- pnt = prop->Value(); -+ prop.SetParameters (par0.X(), par0.Y()); -+ pnt = prop.Value(); - (*testout) << pnt.X() << " " << pnt.Y() << " " << pnt.Z() << endl; - -- prop->SetParameters (par1.X(), par1.Y()); -- pnt = prop->Value(); -+ prop.SetParameters (par1.X(), par1.Y()); -+ pnt = prop.Value(); - (*testout) << pnt.X() << " " << pnt.Y() << " " << pnt.Z() << endl; - -- prop->SetParameters (par2.X(), par2.Y()); -- pnt = prop->Value(); -+ prop.SetParameters (par2.X(), par2.Y()); -+ pnt = prop.Value(); - (*testout) << pnt.X() << " " << pnt.Y() << " " << pnt.Z() << endl; - */ - } -@@ -970,7 +975,7 @@ - if (mparam.uselocalh) - { - -- char * savetask = multithread.task; -+ const char * savetask = multithread.task; - multithread.percent = 0; - - mesh->SetLocalH (bb.PMin(), bb.PMax(), mparam.grading); -@@ -1075,7 +1080,6 @@ - if (triangulation.IsNull()) continue; - - BRepAdaptor_Surface sf(face, Standard_True); -- BRepLProp_SLProps prop(sf, 2, 1e-5); - - int ntriangles = triangulation -> NbTriangles(); - for (int j = 1; j <= ntriangles; j++) -@@ -1096,7 +1100,7 @@ - maxside = max (maxside, p[1].Distance(p[2])); - //cout << "\rFace " << i << " pos11 ntriangles " << ntriangles << " maxside " << maxside << flush; - -- RestrictHTriangle (par[0], par[1], par[2], &prop, *mesh, maxside, 0); -+ RestrictHTriangle (par[0], par[1], par[2], sf, *mesh, maxside, 0); - //cout << "\rFace " << i << " pos12 ntriangles " << ntriangles << flush; - } - } -diff -Naur netgen-4.5.old/libsrc/occ/occgeom.cpp netgen-4.5.new/libsrc/occ/occgeom.cpp ---- netgen-4.5.old/libsrc/occ/occgeom.cpp 2006-01-25 16:35:50.000000000 +0300 -+++ netgen-4.5.new/libsrc/occ/occgeom.cpp 2008-02-12 14:57:01.000000000 +0300 -@@ -7,6 +7,8 @@ - #include "ShapeAnalysis_ShapeContents.hxx" - #include "ShapeAnalysis_CheckSmallFace.hxx" - #include "ShapeAnalysis_DataMapOfShapeListOfReal.hxx" -+#include -+#include - #include "BRepAlgoAPI_Fuse.hxx" - #include "BRepCheck_Analyzer.hxx" - #include "BRepLib.hxx" -@@ -16,11 +18,19 @@ - #include "Partition_Spliter.hxx" - //#include "VrmlAPI.hxx" - //#include "StlAPI.hxx" -+#include - - - namespace netgen - { - -+ OCCGeometry::~OCCGeometry() -+ { -+ NCollection_DataMap::Iterator it(fclsmap); -+ for (; it.More(); it.Next()) -+ delete it.Value(); -+ } -+ - void OCCGeometry :: PrintNrShapes () - { - TopExp_Explorer e; -@@ -947,13 +957,13 @@ - - void OCCGeometry :: BuildVisualizationMesh () - { -- -- cout << "Preparing visualization (deflection = " << vispar.occdeflection << ") ... " << flush; -+ double vispar_occdeflection = 0.01; -+ cout << "Preparing visualization (deflection = " << vispar_occdeflection << ") ... " << flush; - - - BRepTools::Clean (shape); - //WriteOCC_STL("test.stl"); -- BRepMesh_IncrementalMesh::BRepMesh_IncrementalMesh (shape, vispar.occdeflection, true); -+ BRepMesh_IncrementalMesh::BRepMesh_IncrementalMesh (shape, vispar_occdeflection, true); - cout << "done" << endl; - - -@@ -973,8 +983,27 @@ - - } - -+ void OCCGeometry::GetFaceTools(int surfi, Handle(ShapeAnalysis_Surface)& proj, -+ BRepTopAdaptor_FClass2d*& cls) const -+ { -+ //MSV: organize caching projector in the map -+ if (fprjmap.IsBound(surfi)) -+ { -+ proj = fprjmap.Find(surfi); -+ cls = fclsmap.Find(surfi); -+ } -+ else -+ { -+ const TopoDS_Face& aFace = TopoDS::Face(fmap(surfi)); -+ Handle(Geom_Surface) aSurf = BRep_Tool::Surface(aFace); -+ proj = new ShapeAnalysis_Surface(aSurf); -+ fprjmap.Bind(surfi, proj); -+ cls = new BRepTopAdaptor_FClass2d(aFace,Precision::Confusion()); -+ fclsmap.Bind(surfi, cls); -+ } -+ } - -- void OCCGeometry :: Project (int surfi, Point<3> & p) const -+ bool OCCGeometry :: Project (int surfi, Point<3> & p, double& u, double& v) const - { - static int cnt = 0; - if (++cnt % 1000 == 0) cout << "Project cnt = " << cnt << endl; -@@ -983,18 +1012,22 @@ - - //(*testout) << "before " << pnt.X() << " "<< pnt.Y() << " "<< pnt.Z() << " " << endl; - -- GeomAPI_ProjectPointOnSurf proj(pnt, BRep_Tool::Surface(TopoDS::Face(fmap(surfi)))); -- if (proj.NbPoints() == 0) -- { -- cout << "Projection fails" << endl; -- } -- else -- { -- pnt = proj.NearestPoint(); -- //(*testout) << "after " << pnt.X() << " "<< pnt.Y() << " "<< pnt.Z() << " " << endl; -+ Handle(ShapeAnalysis_Surface) proj; -+ BRepTopAdaptor_FClass2d *cls; -+ GetFaceTools(surfi, proj, cls); - -- p = Point<3> (pnt.X(), pnt.Y(), pnt.Z()); -- } -+ gp_Pnt2d p2d = proj->ValueOfUV(pnt, Precision::Confusion()); -+ if (cls->Perform(p2d) == TopAbs_OUT) -+ { -+ //cout << "Projection fails" << endl; -+ return false; -+ } -+ pnt = proj->Value(p2d); -+ p2d.Coord(u, v); -+ //(*testout) << "after " << pnt.X() << " "<< pnt.Y() << " "<< pnt.Z() << " " << endl; -+ -+ p = Point<3> (pnt.X(), pnt.Y(), pnt.Z()); -+ return true; - } - - -@@ -1002,54 +1035,20 @@ - { - gp_Pnt p(ap(0), ap(1), ap(2)); - -- Handle(Geom_Surface) surface = BRep_Tool::Surface(TopoDS::Face(fmap(surfi))); -+ Handle(ShapeAnalysis_Surface) proj; -+ BRepTopAdaptor_FClass2d *cls; -+ GetFaceTools(surfi, proj, cls); - -- gp_Pnt x = surface->Value (u,v); -- -- if (p.SquareDistance(x) <= sqr(PROJECTION_TOLERANCE)) return true; -- -- gp_Vec du, dv; -- -- surface->D1(u,v,x,du,dv); -- -- int count = 0; -- -- gp_Pnt xold; -- gp_Vec n; -- double det, lambda, mu; -- -- do { -- count++; -- -- n = du^dv; -- -- det = Det3 (n.X(), du.X(), dv.X(), -- n.Y(), du.Y(), dv.Y(), -- n.Z(), du.Z(), dv.Z()); -- -- if (det < 1e-15) return false; -- -- lambda = Det3 (n.X(), p.X()-x.X(), dv.X(), -- n.Y(), p.Y()-x.Y(), dv.Y(), -- n.Z(), p.Z()-x.Z(), dv.Z())/det; -- -- mu = Det3 (n.X(), du.X(), p.X()-x.X(), -- n.Y(), du.Y(), p.Y()-x.Y(), -- n.Z(), du.Z(), p.Z()-x.Z())/det; -- -- u += lambda; -- v += mu; -- -- xold = x; -- surface->D1(u,v,x,du,dv); -- -- } while (xold.SquareDistance(x) > sqr(PROJECTION_TOLERANCE) && count < 50); -- -- // (*testout) << "FastProject count: " << count << endl; -- -- if (count == 50) return false; -+ gp_Pnt2d p2d = proj->NextValueOfUV(gp_Pnt2d(u,v), p, Precision::Confusion()); -+ if (cls->Perform(p2d) == TopAbs_OUT) -+ { -+ //cout << "Projection fails" << endl; -+ return false; -+ } - -- ap = Point<3> (x.X(), x.Y(), x.Z()); -+ p = proj->Value(p2d); -+ p2d.Coord(u, v); -+ ap = Point<3> (p.X(), p.Y(), p.Z()); - - return true; - } -diff -Naur netgen-4.5.old/libsrc/occ/occgeom.hpp netgen-4.5.new/libsrc/occ/occgeom.hpp ---- netgen-4.5.old/libsrc/occ/occgeom.hpp 2006-01-25 16:35:50.000000000 +0300 -+++ netgen-4.5.new/libsrc/occ/occgeom.hpp 2008-02-12 14:57:01.000000000 +0300 -@@ -15,8 +15,6 @@ - #include "Geom_Curve.hxx" - #include "Geom2d_Curve.hxx" - #include "Geom_Surface.hxx" --#include "GeomAPI_ProjectPointOnSurf.hxx" --#include "GeomAPI_ProjectPointOnCurve.hxx" - #include "BRepTools.hxx" - #include "TopExp.hxx" - #include "BRepBuilderAPI_MakeVertex.hxx" -@@ -41,8 +39,6 @@ - #include "Geom_Curve.hxx" - #include "Geom2d_Curve.hxx" - #include "Geom_Surface.hxx" --#include "GeomAPI_ProjectPointOnSurf.hxx" --#include "GeomAPI_ProjectPointOnCurve.hxx" - #include "TopoDS_Wire.hxx" - #include "BRepTools_WireExplorer.hxx" - #include "BRepTools.hxx" -@@ -69,7 +65,7 @@ - #include "IGESToBRep_Reader.hxx" - #include "Interface_Static.hxx" - #include "GeomAPI_ExtremaCurveCurve.hxx" --#include "Standard_ErrorHandler.hxx" -+//#include "Standard_ErrorHandler.hxx" - #include "Standard_Failure.hxx" - #include "ShapeUpgrade_ShellSewing.hxx" - #include "ShapeFix_Shape.hxx" -@@ -84,11 +80,15 @@ - #include "STEPControl_Writer.hxx" - #include "StlAPI_Writer.hxx" - #include "STEPControl_StepModelType.hxx" -+#include -+ -+class Handle_ShapeAnalysis_Surface; -+class BRepTopAdaptor_FClass2d; - - namespace netgen - { - --#include "../visualization/vispar.hpp" -+ //#include "../visualization/vispar.hpp" - // class VisualizationParameters; - // extern VisualizationParameters vispar; - -@@ -159,6 +159,8 @@ - class OCCGeometry - { - Point<3> center; -+ mutable NCollection_DataMap fprjmap; -+ mutable NCollection_DataMap fclsmap; - - public: - TopoDS_Shape shape; -@@ -189,6 +191,7 @@ - vmap.Clear(); - } - -+ ~OCCGeometry(); - - void BuildFMap(); - -@@ -204,10 +207,12 @@ - Point<3> Center() - { return center; } - -- void Project (int surfi, Point<3> & p) const; -+ bool Project (int surfi, Point<3> & p, double& u, double& v) const; - bool FastProject (int surfi, Point<3> & ap, double& u, double& v) const; - -- -+ void GetFaceTools(int surfi, Handle(ShapeAnalysis_Surface)& proj, -+ BRepTopAdaptor_FClass2d*& cls) const; -+ - OCCSurface GetSurface (int surfi) - { - cout << "OCCGeometry::GetSurface using PLANESPACE" << endl; -diff -Naur netgen-4.5.old/libsrc/occ/occmeshsurf.cpp netgen-4.5.new/libsrc/occ/occmeshsurf.cpp ---- netgen-4.5.old/libsrc/occ/occmeshsurf.cpp 2006-01-25 16:36:26.000000000 +0300 -+++ netgen-4.5.new/libsrc/occ/occmeshsurf.cpp 2008-02-12 14:57:01.000000000 +0300 -@@ -5,6 +5,8 @@ - #include - #include - #include -+#include -+#include - - - namespace netgen -@@ -411,11 +413,16 @@ - } - - -- void MeshOptimize2dOCCSurfaces :: ProjectPoint (INDEX surfind, Point3d & p) const -+ bool MeshOptimize2dOCCSurfaces :: ProjectPoint (INDEX surfind, Point3d & p, PointGeomInfo& gi) const - { - Point<3> hp = p; -- geometry.Project (surfind, hp); -+ bool ok; -+ if (gi.trignum > 0) -+ ok = geometry.FastProject (surfind, hp, gi.u, gi.v); -+ else -+ ok = geometry.Project (surfind, hp, gi.u, gi.v); - p = hp; -+ return ok; - } - - void MeshOptimize2dOCCSurfaces :: ProjectPoint2 (INDEX surfind, INDEX surfind2, -@@ -506,38 +513,6 @@ - } - - -- int MeshOptimize2dOCCSurfaces :: -- CalcPointGeomInfo(int surfind, PointGeomInfo& gi, const Point3d& p) const -- { -- Standard_Real u,v; -- -- gp_Pnt pnt(p.X(), p.Y(), p.Z()); -- -- Handle(Geom_Surface) occface; -- occface = BRep_Tool::Surface(TopoDS::Face(geometry.fmap(surfind))); -- -- GeomAPI_ProjectPointOnSurf proj(pnt, occface); -- -- if (proj.NbPoints() < 1) -- { -- cout << "ERROR: OCCSurface :: GetNormalVector: GeomAPI_ProjectPointOnSurf failed!" -- << endl; -- cout << p << endl; -- return 0; -- } -- -- proj.LowerDistanceParameters (u, v); -- -- gi.u = u; -- gi.v = v; -- return 1; -- } -- -- -- -- -- -- - OCCRefinementSurfaces :: OCCRefinementSurfaces (const OCCGeometry & ageometry) - : Refinement(), geometry(ageometry) - { -@@ -627,10 +602,11 @@ - if (!geometry.FastProject (surfi, hnewp, u, v)) - { - cout << "Fast projection to surface fails! Using OCC projection" << endl; -- geometry.Project (surfi, hnewp); -+ double u, v; -+ geometry.Project (surfi, hnewp, u, v); - } - -- newgi.trignum = 1; -+ newgi.trignum = surfi; - } - - newp = hnewp; -@@ -653,14 +629,17 @@ - hnewp = Point<3> (pnt.X(), pnt.Y(), pnt.Z()); - newp = hnewp; - newgi = ap1; -- }; -+ } - - - void OCCRefinementSurfaces :: ProjectToSurface (Point<3> & p, int surfi) - { - if (surfi > 0) -- geometry.Project (surfi, p); -- }; -+ { -+ double u, v; -+ geometry.Project (surfi, p, u, v); -+ } -+ } - - void OCCRefinementSurfaces :: ProjectToSurface (Point<3> & p, int surfi, PointGeomInfo & gi) - { -@@ -668,9 +647,10 @@ - if (!geometry.FastProject (surfi, p, gi.u, gi.v)) - { - cout << "Fast projection to surface fails! Using OCC projection" << endl; -- geometry.Project (surfi, p); -+ double u, v; -+ geometry.Project (surfi, p, u, v); - } -- }; -+ } - - - -diff -Naur netgen-4.5.old/libsrc/occ/occmeshsurf.hpp netgen-4.5.new/libsrc/occ/occmeshsurf.hpp ---- netgen-4.5.old/libsrc/occ/occmeshsurf.hpp 2005-06-09 18:51:10.000000000 +0400 -+++ netgen-4.5.new/libsrc/occ/occmeshsurf.hpp 2008-02-12 14:57:01.000000000 +0300 -@@ -151,7 +151,7 @@ - MeshOptimize2dOCCSurfaces (const OCCGeometry & ageometry); - - /// -- virtual void ProjectPoint (INDEX surfind, Point3d & p) const; -+ virtual bool ProjectPoint (INDEX surfind, Point3d & p, PointGeomInfo& gi) const; - /// - virtual void ProjectPoint2 (INDEX surfind, INDEX surfind2, Point3d & p) const; - /// -@@ -159,9 +159,6 @@ - /// - virtual void GetNormalVector(INDEX surfind, const Point3d & p, PointGeomInfo & gi, Vec3d & n) const; - -- -- virtual int CalcPointGeomInfo(int surfind, PointGeomInfo& gi, const Point3d& p3) const; -- - }; - - -diff -Naur netgen-4.5.old/libsrc/stlgeom/meshstlsurface.cpp netgen-4.5.new/libsrc/stlgeom/meshstlsurface.cpp ---- netgen-4.5.old/libsrc/stlgeom/meshstlsurface.cpp 2006-01-11 19:08:20.000000000 +0300 -+++ netgen-4.5.new/libsrc/stlgeom/meshstlsurface.cpp 2008-02-12 14:57:01.000000000 +0300 -@@ -946,20 +946,23 @@ - } - - --void MeshOptimizeSTLSurface :: ProjectPoint (INDEX surfind, Point3d & p) const -+bool MeshOptimizeSTLSurface :: ProjectPoint (INDEX surfind, Point3d & p, PointGeomInfo& gi) const - { - Point<3> hp = p; -- if (!geom.Project (hp)) -+ if (gi.trignum > 0) -+ ((STLGeometry&)geom).SelectChartOfTriangle (gi.trignum); -+ if (!(gi.trignum = geom.Project (hp))) - { - PrintMessage(7,"project failed"); - -- if (!geom.ProjectOnWholeSurface(hp)) -+ if (!(gi.trignum = geom.ProjectOnWholeSurface(hp))) - { - PrintMessage(7, "project on whole surface failed"); - } - } - p = hp; - // geometry.GetSurface(surfind)->Project (p); -+ return gi.trignum > 0; - } - - void MeshOptimizeSTLSurface :: ProjectPoint2 (INDEX surfind, INDEX surfind2, Point3d & p) const -@@ -970,20 +973,6 @@ - */ - } - --int MeshOptimizeSTLSurface :: CalcPointGeomInfo(PointGeomInfo& gi, const Point3d& p3) const --{ -- Point<3> hp = p3; -- gi.trignum = geom.Project (hp); -- -- if (gi.trignum) -- { -- return 1; -- } -- -- return 0; -- --} -- - void MeshOptimizeSTLSurface :: GetNormalVector(INDEX surfind, const Point3d & p, Vec3d & n) const - { - n = geom.GetChartNormalVector(); -diff -Naur netgen-4.5.old/libsrc/stlgeom/meshstlsurface.hpp netgen-4.5.new/libsrc/stlgeom/meshstlsurface.hpp ---- netgen-4.5.old/libsrc/stlgeom/meshstlsurface.hpp 2004-09-30 17:13:56.000000000 +0400 -+++ netgen-4.5.new/libsrc/stlgeom/meshstlsurface.hpp 2008-02-12 14:57:01.000000000 +0300 -@@ -79,12 +79,10 @@ - virtual void SelectSurfaceOfPoint (const Point3d & p, - const PointGeomInfo & gi); - /// -- virtual void ProjectPoint (INDEX surfind, Point3d & p) const; -+ virtual bool ProjectPoint (INDEX surfind, Point3d & p, PointGeomInfo& gi) const; - /// - virtual void ProjectPoint2 (INDEX surfind, INDEX surfind2, Point3d & p) const; - /// -- virtual int CalcPointGeomInfo(PointGeomInfo& gi, const Point3d& p3) const; -- /// - virtual void GetNormalVector(INDEX surfind, const Point3d & p, Vec3d & n) const; - }; - -diff -Naur netgen-4.5.old/makeForSalome.sh netgen-4.5.new/makeForSalome.sh ---- netgen-4.5.old/makeForSalome.sh 1970-01-01 03:00:00.000000000 +0300 -+++ netgen-4.5.new/makeForSalome.sh 2008-02-12 14:57:01.000000000 +0300 -@@ -0,0 +1,31 @@ -+#! /bin/sh -+cp ngtcltk/ngnewdelete.* libsrc/interface/ -+ -+MACHINE=LINUX -+export MACHINE -+make -C libsrc/csg -+make -C libsrc/general -+make -C libsrc/geom2d -+make -C libsrc/gprim -+make -C libsrc/interface -+make -C libsrc/linalg -+make -C libsrc/meshing -+make -C libsrc/opti -+make -C libsrc/stlgeom -+make -C libsrc/occ -+ -+if [ ! -d install ] ; then -+ mkdir install -+fi -+ -+cp -r lib install/ -+ -+if [ ! -d install/include ] ; then -+ mkdir install/include -+fi -+ -+cp libsrc/interface/nglib.h libsrc/general/*.hpp libsrc/csg/*.hpp libsrc/geom2d/*.hpp \ -+ libsrc/gprim/*.hpp libsrc/linalg/*.hpp libsrc/meshing/*.hpp \ -+ libsrc/occ/*.hpp libsrc/opti/*.hpp libsrc/include/mydefs.hpp \ -+ libsrc/stlgeom/*.hpp libsrc/include/mystdlib.h \ -+ install/include -diff -Naur netgen-4.5.old/libsrc/occ/Partition_Inter2d.cxx netgen-4.5.new/libsrc/occ/Partition_Inter2d.cxx ---- netgen-4.5.old/libsrc/occ/Partition_Inter2d.cxx 2005-06-09 18:51:10.000000000 +0400 -+++ netgen-4.5.new/libsrc/occ/Partition_Inter2d.cxx 2008-02-26 12:34:14.000000000 +0300 -@@ -29,10 +29,10 @@ - // $Header$ - - //using namespace std; --#include "Partition_Inter2d.ixx" -- - #include "utilities.h" - -+#include "Partition_Inter2d.ixx" -+ - #include - #include - #include -diff -Naur netgen-4.5.old/libsrc/occ/Partition_Inter3d.cxx netgen-4.5.new/libsrc/occ/Partition_Inter3d.cxx ---- netgen-4.5.old/libsrc/occ/Partition_Inter3d.cxx 2005-06-09 18:51:10.000000000 +0400 -+++ netgen-4.5.new/libsrc/occ/Partition_Inter3d.cxx 2008-02-26 12:36:27.000000000 +0300 -@@ -29,13 +29,17 @@ - // $Header$ - - //using namespace std; -+ -+#include "utilities.h" -+ - #include "Partition_Inter2d.hxx" - #include "Partition_Inter3d.ixx" --#include "utilities.h" - - #include - #include - #include -+//using namespace std; -+ - #include - #include - #include -diff -Naur netgen-4.5.old/libsrc/occ/Partition_Loop2d.cxx netgen-4.5.new/libsrc/occ/Partition_Loop2d.cxx ---- netgen-4.5.old/libsrc/occ/Partition_Loop2d.cxx 2005-06-09 18:51:10.000000000 +0400 -+++ netgen-4.5.new/libsrc/occ/Partition_Loop2d.cxx 2008-02-26 12:37:10.000000000 +0300 -@@ -12,9 +12,11 @@ - // $Header$ - - //using namespace std; --#include "Partition_Loop2d.ixx" -+ - - #include "utilities.h" -+ -+#include "Partition_Loop2d.ixx" - #include - - #include -diff -Naur netgen-4.5.old/libsrc/occ/Partition_Loop3d.cxx netgen-4.5.new/libsrc/occ/Partition_Loop3d.cxx ---- netgen-4.5.old/libsrc/occ/Partition_Loop3d.cxx 2005-06-09 18:51:10.000000000 +0400 -+++ netgen-4.5.new/libsrc/occ/Partition_Loop3d.cxx 2008-02-26 12:39:32.000000000 +0300 -@@ -10,6 +10,11 @@ - // Module : GEOM - - //using namespace std; -+ -+ -+ -+#include "utilities.h" -+ - #include "Partition_Loop3d.ixx" - - #include -diff -Naur netgen-4.5.old/libsrc/occ/Partition_Loop.cxx netgen-4.5.new/libsrc/occ/Partition_Loop.cxx ---- netgen-4.5.old/libsrc/occ/Partition_Loop.cxx 2005-06-09 18:51:10.000000000 +0400 -+++ netgen-4.5.new/libsrc/occ/Partition_Loop.cxx 2008-02-26 12:40:41.000000000 +0300 -@@ -29,12 +29,14 @@ - // $Header$ - - //using namespace std; --#include - --#include "Partition_Loop.ixx" - - #include "utilities.h" - -+#include -+ -+#include "Partition_Loop.ixx" -+ - #include - #include - #include -diff -Naur netgen-4.5.old/libsrc/occ/Partition_Spliter.cxx netgen-4.5.new/libsrc/occ/Partition_Spliter.cxx ---- netgen-4.5.old/libsrc/occ/Partition_Spliter.cxx 2005-07-11 10:33:27.000000000 +0400 -+++ netgen-4.5.new/libsrc/occ/Partition_Spliter.cxx 2008-02-26 12:41:32.000000000 +0300 -@@ -29,14 +29,15 @@ - // $Header$ - - //using namespace std; -+ -+#include "utilities.h" -+ - #include "Partition_Inter2d.hxx" - #include "Partition_Inter3d.hxx" - #include "Partition_Loop2d.hxx" - #include "Partition_Loop3d.hxx" - #include "Partition_Spliter.ixx" - --#include "utilities.h" -- - #include - #include - #include -diff -Naur netgen-4.5.old/libsrc/occ/utilities.h netgen-4.5.new/libsrc/occ/utilities.h ---- netgen-4.5.old/libsrc/occ/utilities.h 2005-02-11 14:35:43.000000000 +0300 -+++ netgen-4.5.new/libsrc/occ/utilities.h 2008-02-26 12:28:02.000000000 +0300 -@@ -33,6 +33,7 @@ - - #include - #include -+#include - #include - // #include "SALOME_Log.hxx" - diff --git a/config_files/patches/netgen-4.5-lib64.patch b/config_files/patches/netgen-4.5-lib64.patch deleted file mode 100755 index 6a29138..0000000 --- a/config_files/patches/netgen-4.5-lib64.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -ur netgen-4.5.old/libsrc/makefile.inc netgen-4.5.new/libsrc/makefile.inc ---- netgen-4.5/libsrc/makefile.inc 2006-04-27 13:12:54.000000000 +0400 -+++ netgen-4.5/libsrc/makefile.inc 2006-09-05 14:16:32.000000000 +0400 -@@ -14,7 +14,7 @@ - # - include $(LIBSRC_DIR)/makefile.mach.$(MACHINE) - # --CPLUSPLUSFLAGS1 = -c -fPIC -I$(LIBSRC_DIR)/include -I$(OCCINC_DIR) \ -+CPLUSPLUSFLAGS1 = -c -m64 -D_OCC64 -fPIC -I$(LIBSRC_DIR)/include -I$(OCCINC_DIR) \ - -DOCCGEOMETRY -DOCC52 -DHAVE_IOSTREAM -DHAVE_LIMITS_H - # - ARFLAGS = r -diff -ur netgen-4.5.old/libsrc/makefile.mach.LINUX64 netgen-4.5.new/libsrc/makefile.mach.LINUX64 ---- netgen-4.5/libsrc/makefile.mach.LINUX64 2006-03-29 15:09:32.000000000 +0400 -+++ netgen-4.5/libsrc/makefile.mach.LINUX64 2006-09-07 15:48:39.000000000 +0400 -@@ -11,7 +11,7 @@ - # - # - CFLAGS2 = --CPLUSPLUSFLAGS2 = -pg -march=nocona -O2 -DLINUX -DOPENGL \ -+CPLUSPLUSFLAGS2 = -pg -march=nocona -O2 -DLINUX \ - -ftemplate-depth-99 -finline-limit=100000 \ - -fforce-addr -funroll-loops \ - -DTRAFO -DNGSOLVE -DnoADDON -DnoLAPACK -DnoFAST \ -@@ -23,7 +23,7 @@ - # - # - --LINKFLAGS2 = -pg -L/usr/openwin/lib64 -L/usr/X11R6/lib64 -L/usr/lib/GL3.5 -L/usr/lib64 -+LINKFLAGS2 = -fPIC -pg -L/usr/openwin/lib64 -L/usr/X11R6/lib64 -L/usr/lib/GL3.5 -L/usr/lib64 - - - SYSLIB2 = -lstdc++ -diff -ur netgen-4.5.old/Makefile netgen-4.5.new/Makefile ---- netgen-4.5/Makefile 2006-03-29 15:09:12.000000000 +0400 -+++ netgen-4.5/Makefile 2006-09-07 15:46:07.000000000 +0400 -@@ -72,7 +72,7 @@ - # - #CPLUSPLUSFLAGS1 = -c -I$(LIBSRC_DIR)/include -DOPENGL - --CPLUSPLUSFLAGS1 = -c -I$(LIBSRC_DIR)/include -I$(OCCINC_DIR) -I./ngsolve/include -Ilibsrc/interface -DOPENGL -I$(METISINC) -+CPLUSPLUSFLAGS1 = -c -m64 -D_OCC64 -I$(LIBSRC_DIR)/include -I$(OCCINC_DIR) -I./ngsolve/include -Ilibsrc/interface -I$(METISINC) - - LINKFLAGS1 = -lGL -lGLU -lX11 -lXext -lXmu - # diff --git a/config_files/patches/omniNotify-2.1-lib64.patch b/config_files/patches/omniNotify-2.1-lib64.patch deleted file mode 100755 index ed9997a..0000000 --- a/config_files/patches/omniNotify-2.1-lib64.patch +++ /dev/null @@ -1,94 +0,0 @@ -diff -Naur omniNotify-orig/include/RDIstrstream.h omniNotify/include/RDIstrstream.h ---- omniNotify/include/RDIstrstream.h 2003-10-12 22:51:15.000000000 +0400 -+++ omniNotify/include/RDIstrstream.h 2006-09-28 17:44:20.000000000 +0400 -@@ -57,8 +57,10 @@ - RDIstrstream& operator<<(const void *p); - RDIstrstream& operator<<(int n); - RDIstrstream& operator<<(unsigned int n); -+#ifndef HAS_LongLong - RDIstrstream& operator<<(long n); - RDIstrstream& operator<<(unsigned long n); -+#endif - RDIstrstream& operator<<(short n) {return operator<<((int)n);} - RDIstrstream& operator<<(unsigned short n) {return operator<<((unsigned int)n);} - #ifdef HAS_LongLong -diff -Naur omniNotify-orig/include/RDITimeWrappers.h omniNotify/include/RDITimeWrappers.h ---- omniNotify/include/RDITimeWrappers.h 2003-10-23 17:28:18.000000000 +0400 -+++ omniNotify/include/RDITimeWrappers.h 2006-09-28 18:10:41.000000000 +0400 -@@ -236,8 +236,11 @@ - // pretty-printing of absolute local time -- no newline - void out_local(RDIstrstream& str) { - CORBA::ULong ts, tn; -- get_posixbase_secs_nanosecs(ts, tn); -- RDI_posixbase_out_time(str, ts, tn); -+ unsigned long ts3, tn3; -+ get_posixbase_secs_nanosecs(ts3, tn3); -+ RDI_posixbase_out_time(str, ts3, tn3); -+ ts = (CORBA::ULong)ts3; -+ tn = (CORBA::ULong)tn3; - str << " (local time)"; - } - -@@ -396,8 +399,11 @@ - // pretty-printing of absolute univ time -- no newline - void out_gmt(RDIstrstream& str) { - CORBA::ULong ts, tn; -- get_gmt_posixbase_secs_nanosecs(ts, tn); -- RDI_posixbase_out_time(str, ts, tn); -+ unsigned long ts4, tn4; -+ get_gmt_posixbase_secs_nanosecs(ts4, tn4); -+ RDI_posixbase_out_time(str, ts4, tn4); -+ ts = (CORBA::ULong)ts4; -+ tn = (CORBA::ULong)tn4; - str << " (greenwich mean time)"; - } - // static helpers for producing TimeBase::UtcT min and max -diff -Naur omniNotify-orig/lib/RDIstrstream.cc omniNotify/lib/RDIstrstream.cc ---- omniNotify/lib/RDIstrstream.cc 2003-10-23 08:39:12.000000000 +0400 -+++ omniNotify/lib/RDIstrstream.cc 2006-09-28 16:56:03.000000000 +0400 -@@ -175,6 +175,7 @@ - return *this; - } - -+#ifndef HAS_LongLong - RDIstrstream& - RDIstrstream::operator<<(long n) - { -@@ -194,6 +195,7 @@ - width_fill(); - return *this; - } -+#endif - - #ifdef HAS_LongLong - RDIstrstream& -diff -Naur omniNotify-orig/lib/RDITimeWrappers.cc omniNotify/lib/RDITimeWrappers.cc ---- omniNotify/lib/RDITimeWrappers.cc 2003-10-23 08:39:12.000000000 +0400 -+++ omniNotify/lib/RDITimeWrappers.cc 2006-09-28 16:56:09.000000000 +0400 -@@ -147,7 +147,10 @@ - #define WHATFN "RDI_TimeT::fmt_local" - const char *RDI_TimeT::fmt_local() { - CORBA::ULong ts, tm; -- get_posixbase_secs_msecs(ts, tm); -+ unsigned long ts2, tm2; -+ get_posixbase_secs_msecs(ts2, tm2); -+ ts = (CORBA::ULong)ts2; -+ tm = (CORBA::ULong)tm2; - time_t secs_as_time_t = ts; - TW_SCOPE_LOCK(otime_lock, RDI_out_time_lock, "RDI_out_time", WHATFN); - RDI_TimeT_fmt_local_buf_idx = (RDI_TimeT_fmt_local_buf_idx + 1) % 10; -diff -Naur omniNotify/mk/beforeauto.mk.in omniNotify/mk/beforeauto.mk.in ---- omniNotify/mk/beforeauto.mk.in 2003-10-29 22:18:36.000000000 +0300 -+++ omniNotify/mk/beforeauto.mk.in 2006-10-13 16:58:26.000000000 +0400 -@@ -95,9 +95,9 @@ - - CPPFLAGS = $(DIR_CPPFLAGS) $(IMPORT_CPPFLAGS) - --CFLAGS = $(CDEBUGFLAGS) $(COPTIONS) $(CPPFLAGS) -+CFLAGS = -m64 $(CDEBUGFLAGS) $(COPTIONS) $(CPPFLAGS) - --CXXFLAGS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(CPPFLAGS) -+CXXFLAGS = -m64 $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(CPPFLAGS) - - - ############################################################################# diff --git a/config_files/patches/python_patch_lib64.patch b/config_files/patches/python_patch_lib64.patch deleted file mode 100755 index 1e99600..0000000 --- a/config_files/patches/python_patch_lib64.patch +++ /dev/null @@ -1,301 +0,0 @@ -diff -Naur --exclude=CVS Python-2.4.4/configure.in Python-2.4.4-patched/configure.in ---- Python-2.4.4/configure.in 2006-10-17 20:03:36.000000000 +0400 -+++ Python-2.4.4-patched/configure.in 2007-04-23 19:31:52.000000000 +0400 -@@ -494,6 +494,41 @@ - ;; - esac - -+AC_SUBST(ARCH) -+AC_MSG_CHECKING(ARCH) -+ARCH=`uname -m` -+case $ARCH in -+i?86) ARCH=i386;; -+esac -+AC_MSG_RESULT($ARCH) -+ -+AC_SUBST(LIB) -+AC_MSG_CHECKING(LIB) -+case $ac_sys_system in -+Linux*) -+ # Test if the compiler is 64bit -+ echo 'int i;' > conftest.$ac_ext -+ python_cv_cc_64bit_output=no -+ if AC_TRY_EVAL(ac_compile); then -+ case `/usr/bin/file conftest.$ac_objext` in -+ *"ELF 64"*) -+ python_cv_cc_64bit_output=yes -+ ;; -+ esac -+ fi -+ rm -rf conftest* -+ ;; -+esac -+ -+case $ARCH:$python_cv_cc_64bit_output in -+powerpc64:yes | s390x:yes | sparc64:yes | x86_64:yes) -+ LIB="lib64" -+ ;; -+*:*) -+ LIB="lib" -+ ;; -+esac -+AC_MSG_RESULT($LIB) - - AC_SUBST(LIBRARY) - AC_MSG_CHECKING(LIBRARY) -diff -Naur --exclude=CVS Python-2.4.4/Include/pythonrun.h Python-2.4.4-patched/Include/pythonrun.h ---- Python-2.4.4/Include/pythonrun.h 2004-10-07 07:58:07.000000000 +0400 -+++ Python-2.4.4-patched/Include/pythonrun.h 2007-04-23 19:10:18.000000000 +0400 -@@ -93,6 +93,8 @@ - /* In their own files */ - PyAPI_FUNC(const char *) Py_GetVersion(void); - PyAPI_FUNC(const char *) Py_GetPlatform(void); -+PyAPI_FUNC(const char *) Py_GetArch(void); -+PyAPI_FUNC(const char *) Py_GetLib(void); - PyAPI_FUNC(const char *) Py_GetCopyright(void); - PyAPI_FUNC(const char *) Py_GetCompiler(void); - PyAPI_FUNC(const char *) Py_GetBuildInfo(void); -diff -Naur --exclude=CVS Python-2.4.4/Lib/distutils/command/install.py Python-2.4.4-patched/Lib/distutils/command/install.py ---- Python-2.4.4/Lib/distutils/command/install.py 2005-01-20 22:15:39.000000000 +0300 -+++ Python-2.4.4-patched/Lib/distutils/command/install.py 2007-04-23 19:12:27.000000000 +0400 -@@ -19,6 +19,8 @@ - from distutils.errors import DistutilsOptionError - from glob import glob - -+libname = sys.lib -+ - if sys.version < "2.2": - WINDOWS_SCHEME = { - 'purelib': '$base', -@@ -38,15 +40,15 @@ - - INSTALL_SCHEMES = { - 'unix_prefix': { -- 'purelib': '$base/lib/python$py_version_short/site-packages', -- 'platlib': '$platbase/lib/python$py_version_short/site-packages', -+ 'purelib': '$base/'+libname+'/python$py_version_short/site-packages', -+ 'platlib': '$platbase/'+libname+'/python$py_version_short/site-packages', - 'headers': '$base/include/python$py_version_short/$dist_name', - 'scripts': '$base/bin', - 'data' : '$base', - }, - 'unix_home': { -- 'purelib': '$base/lib/python', -- 'platlib': '$base/lib/python', -+ 'purelib': '$base/'+libname+'/python', -+ 'platlib': '$base/'+libname+'/python', - 'headers': '$base/include/python/$dist_name', - 'scripts': '$base/bin', - 'data' : '$base', -diff -Naur --exclude=CVS Python-2.4.4/Lib/distutils/sysconfig.py Python-2.4.4-patched/Lib/distutils/sysconfig.py ---- Python-2.4.4/Lib/distutils/sysconfig.py 2006-10-08 21:41:25.000000000 +0400 -+++ Python-2.4.4-patched/Lib/distutils/sysconfig.py 2007-04-23 19:21:19.000000000 +0400 -@@ -100,7 +100,7 @@ - - if os.name == "posix": - libpython = os.path.join(prefix, -- "lib", "python" + get_python_version()) -+ sys.lib, "python" + get_python_version()) - if standard_lib: - return libpython - else: -diff -Naur --exclude=CVS Python-2.4.4/Lib/distutils/tests/test_install.py Python-2.4.4-patched/Lib/distutils/tests/test_install.py ---- Python-2.4.4/Lib/distutils/tests/test_install.py 2004-06-26 03:02:59.000000000 +0400 -+++ Python-2.4.4-patched/Lib/distutils/tests/test_install.py 2007-04-23 19:20:24.000000000 +0400 -@@ -1,6 +1,7 @@ - """Tests for distutils.command.install.""" - - import os -+import sys - import unittest - - from distutils.command.install import install -@@ -38,7 +39,7 @@ - expected = os.path.normpath(expected) - self.assertEqual(got, expected) - -- libdir = os.path.join(destination, "lib", "python") -+ libdir = os.path.join(destination, sys.lib, "python") - check_path(cmd.install_lib, libdir) - check_path(cmd.install_platlib, libdir) - check_path(cmd.install_purelib, libdir) -diff -Naur --exclude=CVS Python-2.4.4/Lib/site.py Python-2.4.4-patched/Lib/site.py ---- Python-2.4.4/Lib/site.py 2004-07-20 06:28:28.000000000 +0400 -+++ Python-2.4.4-patched/Lib/site.py 2007-04-23 19:23:19.000000000 +0400 -@@ -179,12 +179,18 @@ - sitedirs = [os.path.join(prefix, "Lib", "site-packages")] - elif os.sep == '/': - sitedirs = [os.path.join(prefix, -- "lib", -+ sys.lib, - "python" + sys.version[:3], - "site-packages"), -- os.path.join(prefix, "lib", "site-python")] -+ os.path.join(prefix, sys.lib, "site-python")] -+ if sys.lib != 'lib': -+ sitedirs.append(os.path.join(prefix, -+ 'lib', -+ "python" + sys.version[:3], -+ "site-packages")) -+ sitedirs.append(os.path.join(prefix, 'lib', "site-python")) - else: -- sitedirs = [prefix, os.path.join(prefix, "lib", "site-packages")] -+ sitedirs = [prefix, os.path.join(prefix, sys.lib, "site-packages")] - if sys.platform == 'darwin': - # for framework builds *only* we add the standard Apple - # locations. Currently only per-user, but /Library and -diff -Naur --exclude=CVS Python-2.4.4/Makefile.pre.in Python-2.4.4-patched/Makefile.pre.in ---- Python-2.4.4/Makefile.pre.in 2006-10-08 21:41:25.000000000 +0400 -+++ Python-2.4.4-patched/Makefile.pre.in 2007-04-23 19:34:43.000000000 +0400 -@@ -70,6 +70,8 @@ - - # Machine-dependent subdirectories - MACHDEP= @MACHDEP@ -+LIB= @LIB@ -+ARCH= @ARCH@ - - # Install prefix for architecture-independent files - prefix= @prefix@ -@@ -79,11 +81,11 @@ - - # Expanded directories - BINDIR= $(exec_prefix)/bin --LIBDIR= $(exec_prefix)/lib -+LIBDIR= $(exec_prefix)/$(LIB) - MANDIR= @mandir@ - INCLUDEDIR= @includedir@ - CONFINCLUDEDIR= $(exec_prefix)/include --SCRIPTDIR= $(prefix)/lib -+SCRIPTDIR= $(prefix)/$(LIB) - - # Detailed destination directories - BINLIBDEST= $(LIBDIR)/python$(VERSION) -@@ -471,7 +473,7 @@ - Python/compile.o Python/symtable.o: $(GRAMMAR_H) - - Python/getplatform.o: $(srcdir)/Python/getplatform.c -- $(CC) -c $(PY_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c -+ $(CC) -c $(PY_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -DARCH='"$(ARCH)"' -DLIB='"$(LIB)"' -o $@ $(srcdir)/Python/getplatform.c - - Python/importdl.o: $(srcdir)/Python/importdl.c - $(CC) -c $(PY_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c -diff -Naur --exclude=CVS Python-2.4.4/Modules/getpath.c Python-2.4.4-patched/Modules/getpath.c ---- Python-2.4.4/Modules/getpath.c 2006-02-20 20:37:39.000000000 +0300 -+++ Python-2.4.4-patched/Modules/getpath.c 2007-04-23 19:25:34.000000000 +0400 -@@ -111,9 +111,17 @@ - #define EXEC_PREFIX PREFIX - #endif - -+#ifndef LIB_PYTHON -+#if defined(__x86_64__) -+#define LIB_PYTHON "lib64/python" VERSION -+#else -+#define LIB_PYTHON "lib/python" VERSION -+#endif -+#endif -+ - #ifndef PYTHONPATH --#define PYTHONPATH PREFIX "/lib/python" VERSION ":" \ -- EXEC_PREFIX "/lib/python" VERSION "/lib-dynload" -+#define PYTHONPATH PREFIX "/" LIB_PYTHON ":" \ -+ EXEC_PREFIX "/" LIB_PYTHON "/lib-dynload" - #endif - - #ifndef LANDMARK -@@ -124,7 +132,7 @@ - static char exec_prefix[MAXPATHLEN+1]; - static char progpath[MAXPATHLEN+1]; - static char *module_search_path = NULL; --static char lib_python[] = "lib/python" VERSION; -+static char lib_python[] = LIB_PYTHON; - - static void - reduce(char *dir) -diff -Naur --exclude=CVS Python-2.4.4/Python/getplatform.c Python-2.4.4-patched/Python/getplatform.c ---- Python-2.4.4/Python/getplatform.c 2000-09-02 03:29:29.000000000 +0400 -+++ Python-2.4.4-patched/Python/getplatform.c 2007-04-23 19:27:19.000000000 +0400 -@@ -10,3 +10,23 @@ - { - return PLATFORM; - } -+ -+#ifndef ARCH -+#define ARCH "unknown" -+#endif -+ -+const char * -+Py_GetArch(void) -+{ -+ return ARCH; -+} -+ -+#ifndef LIB -+#define LIB "lib" -+#endif -+ -+const char * -+Py_GetLib(void) -+{ -+ return LIB; -+} -diff -Naur --exclude=CVS Python-2.4.4/Python/sysmodule.c Python-2.4.4-patched/Python/sysmodule.c ---- Python-2.4.4/Python/sysmodule.c 2006-10-05 22:08:58.000000000 +0400 -+++ Python-2.4.4-patched/Python/sysmodule.c 2007-04-23 19:29:43.000000000 +0400 -@@ -1035,6 +1035,10 @@ - PyString_FromString(Py_GetCopyright())); - SET_SYS_FROM_STRING("platform", - PyString_FromString(Py_GetPlatform())); -+ SET_SYS_FROM_STRING("arch", -+ PyString_FromString(Py_GetArch())); -+ SET_SYS_FROM_STRING("lib", -+ PyString_FromString(Py_GetLib())); - SET_SYS_FROM_STRING("executable", - PyString_FromString(Py_GetProgramFullPath())); - SET_SYS_FROM_STRING("prefix", -diff -Naur --exclude=CVS Python-2.4.4/setup.py Python-2.4.4-patched/setup.py ---- Python-2.4.4/setup.py 2006-10-08 21:41:25.000000000 +0400 -+++ Python-2.4.4-patched/setup.py 2007-04-23 19:38:02.000000000 +0400 -@@ -263,12 +263,12 @@ - except NameError: - have_unicode = 0 - -+ libname = sys.lib - # lib_dirs and inc_dirs are used to search for files; - # if a file is found in one of those directories, it can - # be assumed that no additional -I,-L directives are needed. - lib_dirs = self.compiler.library_dirs + [ -- '/lib64', '/usr/lib64', -- '/lib', '/usr/lib', -+ libname, '/usr/'+libname - ] - inc_dirs = self.compiler.include_dirs + ['/usr/include'] - exts = [] -@@ -450,7 +450,7 @@ - elif self.compiler.find_library_file(lib_dirs, 'curses'): - readline_libs.append('curses') - elif self.compiler.find_library_file(lib_dirs + -- ['/usr/lib/termcap'], -+ ['/usr/'+libname+'/termcap'], - 'termcap'): - readline_libs.append('termcap') - -@@ -465,7 +465,7 @@ - readline_extra_link_args = () - - exts.append( Extension('readline', ['readline.c'], -- library_dirs=['/usr/lib/termcap'], -+ library_dirs=['/usr/'+libname+'/termcap'], - extra_link_args=readline_extra_link_args, - libraries=readline_libs) ) - if platform not in ['mac']: -@@ -1069,8 +1069,8 @@ - added_lib_dirs.append('/usr/openwin/lib') - elif os.path.exists('/usr/X11R6/include'): - include_dirs.append('/usr/X11R6/include') -- added_lib_dirs.append('/usr/X11R6/lib64') -- added_lib_dirs.append('/usr/X11R6/lib') -+ added_lib_dirs.append('/usr/X11R6/'+sys.lib) -+ #added_lib_dirs.append('/usr/X11R6/lib') - elif os.path.exists('/usr/X11R5/include'): - include_dirs.append('/usr/X11R5/include') - added_lib_dirs.append('/usr/X11R5/lib') -- 2.39.2