GnuCash c935c2f+
Loading...
Searching...
No Matches
gnc-test-env.pl
1#!/usr/bin/perl
2
3# Spit out the environment variable settings needed based on
4# arguments listing @gnc_module_dirs, @guile_load_dirs, and
5# @library_dirs
6use Getopt::Long;
7
8my $define_exports=1;
9my @gnc_module_dirs=();
10my @guile_load_dirs=();
11my @library_dirs=();
12GetOptions ("exports!" => \$define_exports, # flag
13 "gnc-module-dir=s" => \@gnc_module_dirs, # array of strings
14 "guile-load-dir=s" => \@guile_load_dirs, # array of strings
15 "library-dir=s" => \@library_dirs, # array of strings
16 "verbose" => \$verbose) # flag
17or die(
18"Usage: gnc-test-env.pl [ --exports | --noexports ]\n" .
19" [ (--gnc-module-dir dir | --guile-load-dir dir | --library-dir dir) ... ]\n");
20
21if ( $^O =~ /MSWin32/ ) {
22 $path_separator=";";
23} else {
24 $path_separator=":";
25}
26
27sub print_env_var {
28 ($env_name, $dir_suffix, $separator, @dir_list) = @_;
29 return if not @dir_list;
30 my @suffixed_dir_list = map {
31 my $dir = $_ . $dir_suffix;
32 if ( $^O =~ /MSWin32/ ) {
33 $dir =~ s!/!\\\\!g; } # Backslashes need to be escaped for the environment
34 $dir;
35 } @dir_list;
36 print $env_name . '="' .
37 join($separator, @suffixed_dir_list) .
38 $separator . '${' . $env_name . '}" ';
39}
40
41print_env_var "GNC_MODULE_PATH", "/.libs", $path_separator, @gnc_module_dirs;
42print_env_var "GUILE_LOAD_PATH", "", $path_separator, @guile_load_dirs;
43print_env_var "GUILE_LOAD_COMPILED_PATH", "", $path_separator, @guile_load_dirs;
44print_env_var "LD_LIBRARY_PATH", "/.libs", $path_separator, @library_dirs;
45print_env_var "DYLD_LIBRARY_PATH", "/.libs", $path_separator, @library_dirs;
46
47if ( $^O =~ /MSWin32/ ) {
48 print_env_var "PATH", "/.libs", ":", @library_dirs;
49}
50
51if ($define_exports) {
52 print ";\n";
53 print "export GNC_MODULE_PATH;\n" if @gnc_module_dirs;
54 print "export GUILE_LOAD_PATH;\n" if @guile_load_dirs;
55 print "export GUILE_LOAD_COMPILED_PATH;\n" if @guile_load_dirs;
56 print "export LD_LIBRARY_PATH;\n" if @library_dirs;
57 print "export DYLD_LIBRARY_PATH;\n" if @library_dirs;
58 if ( $^O =~ /MSWin32/ ) {
59 print "export PATH;\n" if @library_dirs;
60 }
61}