Hi Ben scons can do that very easily (platform specific checks). That's why I want to move from distutils to scons build system as soon as possible.
Thomas ben lipkowitz a écrit : > since the directory may or may not always exist on any given linux > distribution, perhaps a better solution is to check to see if it exists? > like > > if os.access('/usr/include/', os.F_OK): > OCC_INC = '/usr/include/' > > etc > > there are not any directories named "inc" on my debian installation > > On Sun, 15 Mar 2009, Arthur Magill wrote: > >> Date: Sun, 15 Mar 2009 16:37:56 +0100 >> From: Arthur Magill <arthur.mag...@epfl.ch> >> To: Thomas Paviot <thomas.pav...@free.fr> >> Cc: "pythonocc-users@gna.org" <pythonocc-users@gna.org> >> Subject: Re: [Pythonocc-users] New modules for Linux/Darwin >> >> Hi Thomas, >> >> >>> To be as portable as possible, it's better to use the os.path.join >>> method: >>> OCC_INC = os.path.join(OCC_ROOT,'inc') >>> OCC_LIB = os.path.join(OCC_ROOT,'lib') >> >> Yep, that's certainly better. >> >>> >>>> in environment.py? I think that should work on all Linux >>>> installations. >>> >>> As far as I know, according to the OpenCascade package you choose to >>> install (whether it is under Ubuntu or OpenSuse), /inc and /lib >>> directories are not always located in the same folder. >>> >> >> Yes, re-reading my own suggestion, you're right. Taking VTK as an >> example, I >> have here >> >> /usr/include/vtk >> /usr/lib/vtk-5.0 >> >> so yes, it is a bit more complicated. I'll try and think of another >> solution. >> >>> Here is the answer: SWIG_generator.py uses GCCXML to parse OpenCascade >>> headers and check all classes/methods to wrap. GCCXML performs a >>> *recursive* parse of all headers. When processing the TopOpeBRep_* >>> headers, I noticed that GCCXML didn't find the file >>> TopOpeBRepDS_tools.hxx and the process fails. The >>> 'TopOpeBRepDS_tools.hxx' is simply missing from the /inc OCC directory. >>> I think it's a bug of OpenCascade but I didn't send any feedback to the >>> Opencascade team. I just 'added' an empty TopOpeBRepDS_tools.hxx to the >>> /inc directory so that GCCXML parsing is ok (note that SWIG does not >>> need this file). >> >> Thanks for the explanation - I'm still trying to learn exactly how >> you've >> managed to generate these wrappers ;-) >> >>> The problem is that it requires, on Linux, root privileges since it >>> modifies a directory that may have read only access for common user. >>> It's a thing I didn't think about when hacking on Windows. Another >>> soultion (Linux compliant) would be to: >>> - create the missing header TopOpeBRepDS_tools.hxx in the >>> SWIG_modular_linux_darwin directory >>> - add this directory to the list of include paths so that g++ find the >>> header. >>> We could then remove all that weird lines from setup.py >> >> I like that solution, let's do that. >> >> Arthur >> >> _______________________________________________ >> Pythonocc-users mailing list >> Pythonocc-users@gna.org >> https://mail.gna.org/listinfo/pythonocc-users >> > > _______________________________________________ Pythonocc-users mailing list Pythonocc-users@gna.org https://mail.gna.org/listinfo/pythonocc-users