SPECS: python-gnome-desktop.spec - use system waf and waf/__waf rp...
Bartłomiej Zimoń
uzi18 w o2.pl
Czw, 27 Mar 2008, 16:53:03 CET
Wednesday 26 of March 2008 20:06:39 Jakub Bogusz napisał(a):
> On Wed, Mar 26, 2008 at 09:08:34PM +0100, Bartłomiej Zimoń wrote:
> > Wednesday 26 of March 2008 18:40:23 Jakub Bogusz napisał(a):
> > > On Wed, Mar 26, 2008 at 07:44:53PM +0100, Bartłomiej Zimoń wrote:
> > > > Tuesday 25 of March 2008 21:17:00 Jakub Bogusz napisał(a):
> > > > > On Tue, Mar 25, 2008 at 09:18:44PM +0100, qboosh wrote:
> > > > > > Author: qboosh Date: Tue Mar 25 20:18:44 2008 GMT
> > > > > > Module: SPECS Tag: HEAD
> > > > > > ---- Log message:
> > > > > > - use system waf and waf/__waf rpm macros to use optflags
> > > > > > - use waf -v build to avoid hiding compiler commands
> > > > >
> > > > > Jeszcze jedno do poprawki - jak to coś przekonać, żeby nie wciskało
> > > > > trzech ostatnich elementów do tych flag linkowania:
> > > > >
> > > > > LIBPATH_PYEMBED = ['/usr/lib64', '/usr/lib/', '/usr/local/lib/', '/lib']
> > > > > LIBPATH_PYEXT = ['/usr/lib64', '/usr/lib/', '/usr/local/lib/', '/lib']
> > > > >
> > > > > Oczywiście problem ze złym katalogiem gtk-doc wynikł z użycia wafa
> > > > > zamiast autotools.
> > > > >
> > > > >
> > > >
> > > > moze to w czyms pomoze - fragment waf-1.3.2/wafadmin/Tools/python.py :
> > > > # according to
> > > > # distutils.command.build_ext.build_ext.get_libraries.__doc__
> > > > # this might want to be OS/2 aswell.
> > > > if sys.platform == 'win32' or (Py_ENABLE_SHARED is not None
> > > > and sys.platform != 'darwin'):
> > > > env['LIBPATH_PYEXT'] = env['LIBPATH_PYEMBED']
> > > > env['LIB_PYEXT'] = env['LIB_PYEMBED']
> > >
> > > To jeszcze skąd się bierze błędne LIBPATH_PYEMBED?
> > >
> > >
> > waf tak pobiera mniej wiecej zmienne z kompilacji pythona:
> > $ python
> > [...]
> > >>> from distutils.sysconfig import get_config_var
> > >>> v = 'prefix SO SYSLIBS SHLIBS LIBDIR LIBPL INCLUDEPY Py_ENABLE_SHARED'.split()
> > >>> for x in v: print 'python_'+x+'=', get_config_var(x)
> > ...
> >
> > u mnie ta operacja pokazuje:
> >
> > python_prefix= /usr
> > python_SO= .so
> > python_SYSLIBS= -lm
> > python_SHLIBS= -lpthread -ldl -lutil
> > python_LIBDIR= /usr/lib
> > python_LIBPL= /usr/lib/python2.5/config
> > python_INCLUDEPY= /usr/include/python2.5
> > python_Py_ENABLE_SHARED= 1
> >
> > Co widzisz u siebie jak to uruchomisz?
>
> [qboosh w carme-pld ~]$ python
> Python 2.5.2 (r252:60911, Feb 26 2008, 23:48:32)
> [GCC 4.2.3 20080201 (release) (PLD-Linux)] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
> >>> from distutils.sysconfig import get_config_var
> >>> v = 'prefix SO SYSLIBS SHLIBS LIBDIR LIBPL INCLUDEPY Py_ENABLE_SHARED'.split()
> >>> for x in v: print 'python_'+x+'=', get_config_var(x)
> ...
> python_prefix= /usr
> python_SO= .so
> python_SYSLIBS= -lm
> python_SHLIBS= -lpthread -ldl -lutil
> python_LIBDIR= /usr/lib64
> python_LIBPL= /usr/lib64/python2.5/config
> python_INCLUDEPY= /usr/include/python2.5
> python_Py_ENABLE_SHARED= 1
> >>>
>
>
Zbadalem to troche i przychodzi mi na mysl (brzydki) hack a la:
export BIBLIOTEKI=/usr/lib
%waf ........
a latka na waf sprawdzalaby czy zdefiniowano zmienna ... i jesli tak to pcha to w lib.path ?
Oczywiscie prawdziwe jest to tylko dla pythona
Przygotowac taka latke?
_________________
Pozdrawiam
Bartłomiej Zimoń
Więcej informacji o liście dyskusyjnej pld-devel-pl