[Scons-users] SWIG

William Blevins wblevins001 at gmail.com
Wed Mar 11 01:04:49 EDT 2015


You haven't supplied enough context.  This is most likely specific to your
SConscript calls.  Can you please include your script?

V/R,
William

On Wed, Mar 11, 2015 at 12:57 AM, William Roberts <bill.c.roberts at gmail.com>
wrote:

> FYI my work is here:
> https://bitbucket.org/miniat/0x1-miniat/branch/swig-python
>
>
> On Tue, Mar 10, 2015 at 8:56 PM, Bill Deegan <bill at baddogconsulting.com>
> wrote:
>
>> William,
>>
>> If you want more control, you might break out.
>>
>> xyz=
>> env.SharedObject('targetdir/file','sourcefile.i',SWIGFLAGS=['-python',
>> '-outdir', 'out/lib'])
>> And then use all or part of xyz
>>
>> Also note that all builders should be treated as if they return a list of
>> Node objects.
>> So your:
>> return [l, x]
>>
>> Should likely be:
>> return l+x
>>
>
> doesn't scons internally flatten nested lists? Although, concatenating is
> probably the better way, as you suggest.
>
> I seem to get some weird issues when I run scons without any modfications
> to any files, it reruns swig and I see the following issues:
>
> scons: warning: Two different environments were specified for target
> src/miniat_wrap.os,
> but they appear to have the same action: $SHCC -o $TARGET -c $SHCFLAGS
> $SHCCFLAGS $_CCCOMCOM $SOURCES
> File "/home/bill/workspace/miniat/SConstruct", line 96, in
> buildSharedLibrary
> Executing script: /home/bill/workspace/miniat/out/vm/test
> Executing script: /home/bill/workspace/miniat/out/tools/mash
> Executing script: /home/bill/workspace/miniat/out/peripherals/debugger
> Executing script: /home/bill/workspace/miniat/out/peripherals/simple_kb
> Executing script: /home/bill/workspace/miniat/out/peripherals/simple_term
> scons: done reading SConscript files.
> scons: Building targets ...
> swig -o out/vm/src/miniat_wrap.c -python -outdir out/lib
> out/vm/src/miniat.i
> LD out/vm/libminiat.so
> CP out/lib/libminiat.so
> LD out/system/console/miniat_console
>
> It also somehow ends up modifying the libminiat.so library to include swig
> python stuff that it didn't include in that so on the first build.
> If you use nm to dump the symbols
>
> First Run, builds and links fine:
> $ nm out/lib/libminiat.so | grep swig
> <no output>
>
> run scons again, see the issues noted above, and the check the library:
> $ nm out/lib/libminiat.so | grep swig
> 0000000000213740 d _swigc__p_char
> 0000000000213780 d _swigc__p_miniat
>
> It seems to be getting confused.
>
>
>
>
>
>
>
>
>
>
>>
>> -Bill
>>
>> On Tue, Mar 10, 2015 at 6:07 PM, William Roberts <
>> bill.c.roberts at gmail.com> wrote:
>>
>>>
>>>
>>> On Tue, Mar 10, 2015 at 6:03 PM, William Roberts <
>>> bill.c.roberts at gmail.com> wrote:
>>>
>>>> So I have a heiarchical biuld going on, my SConstruct defines this
>>>> method that is exported to my SConscripts
>>>>
>>>> def buildSharedLibrary(*args, **kwargs):
>>>>         l = env.SharedLibrary(*args, **kwargs)
>>>>         x = env.Install(libdir, l)
>>>>         return [l, x]
>>>>
>>>> So all my shared libraries end up in out/lib
>>>>
>>>> I am currently trying to make a swig wrapper, and my SConstruct defines:
>>>>
>>>> buildSharedLibrary('_miniat.so', 'src/miniat.i', LIBS=['miniat'],
>>>> CPPPATH=[ INC, distutils.sysconfig.get_python_inc() ], SHLIBPREFIX="",
>>>> SWIGFLAGS=['-python'])
>>>>
>>>> Which builds the wrapper into a shared object just fine. However, swig
>>>> outputs a generated python file at:
>>>> ./out/vm/src/miniat.py
>>>>
>>>> What I am trying to do, is get SCons to install this into the
>>>> SharedLibrary directory, but it doesn't seem to be ommited here:
>>>> l = env.SharedLibrary(*args, **kwargs)
>>>>
>>>> How can I get that generated file output where I want it?
>>>>
>>>>
>>>>
>>> As usual, just after I sent I found what I was looking for:
>>>
>>> buildSharedLibrary('_miniat.so', 'src/miniat.i', LIBS=['miniat'],
>>> CPPPATH=[ INC, distutils.sysconfig.get_python_inc() ], SHLIBPREFIX="",
>>> SWIGFLAGS=['-python', '-outdir', 'out/lib'])
>>>
>>> But is this the best way?
>>>
>>>
>>>
>>>
>>>
>>>> --
>>>> Respectfully,
>>>>
>>>> William C Roberts
>>>>
>>>>
>>>
>>>
>>> --
>>> Respectfully,
>>>
>>> William C Roberts
>>>
>>>
>>> _______________________________________________
>>> Scons-users mailing list
>>> Scons-users at scons.org
>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>
>>>
>>
>> _______________________________________________
>> Scons-users mailing list
>> Scons-users at scons.org
>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>
>>
>
>
> --
> Respectfully,
>
> William C Roberts
>
>
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20150311/54aab308/attachment-0001.html>


More information about the Scons-users mailing list