| I checked, and there are a few binary links between csnd.so and Python. But
I believe these can easily be removed.
In any case, I think the best way to make packages for Debian is to use the
install target in SConstruct, and not an external script. The install
target, if done properly, will pick up only what is appropriate from the
build options. In other words, if you build the Python interface, the
install target will get a copy of csnd.so that contains the Python
interface. If you do not build the Python interface, csnd.so will not
contain any Python linkages.
This is because SConstruct has conditional code for building different
configurations of the source code, depending on the platform, build tools,
and command-line build options.
The install target has not been maintained. Basically, environment.Install()
should get every target that is built, plus the header files and any local
third-party binaries (such as Lua) that we want to distribute.
Install(dir, source)
env.Install(dir, source)
Installs one or more source files or directories in a destination directory
dir. The names of the specified source files or directories remain the same
within the destination directory.
env.Install(dir = '/usr/local/bin', source = ['foo', 'bar'])
InstallAs(target, source)
env.InstallAs(target, source)
Installs one or more source files or directories to specific names, allowing
changing a file or directory name as part of the installation. It is an
error if the target and source arguments list different numbers of files or
directories.
env.InstallAs(target = '/usr/local/bin/foo',
source = 'foo_debug')
env.InstallAs(target = ['../lib/libfoo.a', '../lib/libbar.a'],
source = ['libFOO.a', 'libBAR.a'])
Note well: 'target' can be a literal filename, or the object that is
returned by environment.Program() or environment.SharedLibrary() or
whatever. So normally, whenever we use an environment to build an object of
some sort, we will add environment.Install() after that, like this:
csoundJavaWrapper = csoundJavaWrapperEnvironment.Program(
'lib_jcsound.jnilib', csoundJavaWrapperSources)
csoundJavaWrapperEnvironment.Install('/usr/local/lib',
csoundJavaWrapper)Then when you run "scons install", you will get a
directory tree containing all the stuff that you want to go into the Debian
package for that build configuration.Hope this helps,Mike
----- Original Message -----
From: "Felipe Sateler"
To:
Sent: Wednesday, August 15, 2007 5:02 PM
Subject: [Cs-dev] Interfaces building
>I just noticed that there is a common environment for building the
> interfaces in SConstruct. The result is that all interface libraries are
> built with the same build flags, which means that the lua interface
> library
> is linked with python, for example. This usually is not a problem, because
> one would install all built interfaces on the system.
> However, for a Debian package, I need to be able to provide separate
> packages for the different interfaces, which should be installable
> independently. The problem is that, as (for example) the python interface
> library is linked to the lua core libraries, a person would need to
> install
> lua to use the python interface[1]. This doesn't make much sense.
> The solution is, of course, creating separate environments for the
> different
> interfaces. However I'm not proficient with neither python nor SCons, and
> I
> don't know well how the csound build system works, so I don't know where
> to
> start to do that.
>
> [1] This is due to debian's automatic dependency handling: a package
> automatically depends on the correct version of all linked libraries.
>
> --
>
> Felipe Sateler
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems? Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net |