GnuCash
c935c2f+
Loading...
Searching...
No Matches
common
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
6
use Getopt::Long;
7
8
my $define_exports=1;
9
my
@gnc_module_dirs
=();
10
my
@guile_load_dirs
=();
11
my
@library_dirs
=();
12
GetOptions (
"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
17
or
die(
18
"Usage: gnc-test-env.pl [ --exports | --noexports ]\n"
.
19
" [ (--gnc-module-dir dir | --guile-load-dir dir | --library-dir dir) ... ]\n"
);
20
21
if
( $^O =~ /MSWin32/ ) {
22
$path_separator=
";"
;
23
}
else
{
24
$path_separator=
":"
;
25
}
26
27
sub 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
41
print_env_var
"GNC_MODULE_PATH"
,
"/.libs"
, $path_separator,
@gnc_module_dirs
;
42
print_env_var
"GUILE_LOAD_PATH"
,
""
, $path_separator,
@guile_load_dirs
;
43
print_env_var
"GUILE_LOAD_COMPILED_PATH"
,
""
, $path_separator,
@guile_load_dirs
;
44
print_env_var
"LD_LIBRARY_PATH"
,
"/.libs"
, $path_separator,
@library_dirs
;
45
print_env_var
"DYLD_LIBRARY_PATH"
,
"/.libs"
, $path_separator,
@library_dirs
;
46
47
if
( $^O =~ /MSWin32/ ) {
48
print_env_var
"PATH"
,
"/.libs"
,
":"
,
@library_dirs
;
49
}
50
51
if
($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
}
Generated by
1.9.8