Modifying the PATH envariable

Our app invokes some binary executables (imagine `convert image.png`).
In order to make deployment error free, I'd like to include them in our
source tree, and add the paths to the ENV['PATH'] dynamically.

Is there a cross platform way of doing this? Unix uses ':' as a path
separator, Windows uses ';'.

In case you're wondering how the binaries can be cross platform.
Imaging:
/vendor/bin/i386-linux/
/vendor/bin/i386-mswin32/
require 'rbconfig'
add_to_path('vendor/bin/' + Config::CONFIG['arch'] + '/')

Not sure how to compile cross Linux binaries, though - they're often
dependent on the distro and even version. Is it enough to compile them
statically linked?

···

--
Posted via http://www.ruby-forum.com/.

Robert James wrote:

Our app invokes some binary executables (imagine `convert image.png`).
In order to make deployment error free, I'd like to include them in our
source tree, and add the paths to the ENV['PATH'] dynamically.

Is there a cross platform way of doing this? Unix uses ':' as a path
separator, Windows uses ';'.

Not sure how to compile cross Linux binaries, though - they're often
dependent on the distro and even version. Is it enough to compile them
statically linked?

Can anyobdy get me started with this?

···

--
Posted via http://www.ruby-forum.com/\.

Robert James wrote:
> Our app invokes some binary executables (imagine `convert image.png`).
> In order to make deployment error free, I'd like to include them in our
> source tree, and add the paths to the ENV['PATH'] dynamically.

If it's in the source tree, maybe you can use full paths in the invocation.

> Is there a cross platform way of doing this? Unix uses ':' as a path
> separator, Windows uses ';'.

File::PATH_SEPARATOR, http://www.rubycentral.com/book/ref_c_file.html
ENV['PATH'] << File::PATH_SEPARATOR << 'new.dir'

See also File::SEPARATOR and File#join

···

On 1/14/07, Robert James <srobertjames@gmail.com> wrote:

> Not sure how to compile cross Linux binaries, though - they're often
> dependent on the distro and even version. Is it enough to compile them
> statically linked?

Can anyobdy get me started with this?