Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perl-5.8.0 / lib / site_perl / 5.8.0 / auto / Inline / check_config_file.al
CommitLineData
86530b38
AT
1# NOTE: Derived from blib/lib/Inline.pm.
2# Changes made here will be lost when autosplit is run again.
3# See AutoSplit.pm.
4package Inline;
5
6#line 659 "blib/lib/Inline.pm (autosplit into blib/lib/auto/Inline/check_config_file.al)"
7#==============================================================================
8# Read the cached config file from the Inline directory. This will indicate
9# whether the Language code is valid or not.
10#==============================================================================
11sub check_config_file {
12 my ($DIRECTORY, %config);
13 my $o = shift;
14
15 croak M14_usage_Config() if defined %main::Inline::Config::;
16 croak M63_no_source($o->{API}{pkg})
17 if $o->{INLINE}{md5} eq $o->{API}{code};
18
19 # First make sure we have the DIRECTORY
20 if ($o->{CONFIG}{_INSTALL_}) {
21 croak M15_usage_install_directory()
22 if $o->{CONFIG}{DIRECTORY};
23 my $cwd = Cwd::cwd();
24 $DIRECTORY =
25 $o->{INLINE}{DIRECTORY} = File::Spec->catdir($cwd,"_Inline");
26 if (not -d $DIRECTORY) {
27 _mkdir($DIRECTORY, 0777)
28 or croak M16_DIRECTORY_mkdir_failed($DIRECTORY);
29 }
30 }
31 else {
32 $DIRECTORY = $o->{INLINE}{DIRECTORY} =
33 $o->{CONFIG}{DIRECTORY} || $o->find_temp_dir;
34 }
35
36 $o->create_config_file($DIRECTORY)
37 if not -e File::Spec->catfile($DIRECTORY,"config");
38
39 open CONFIG, "< ".File::Spec->catfile($DIRECTORY,"config")
40 or croak M17_config_open_failed($DIRECTORY);
41 my $config = join '', <CONFIG>;
42 close CONFIG;
43
44 croak M62_invalid_config_file(File::Spec->catfile($DIRECTORY,"config"))
45 unless $config =~ /^version :/;
46 ($config) = $config =~ /(.*)/s if UNTAINT;
47
48 %config = Inline::denter->new()->undent($config);
49 $Inline::languages = $config{languages};
50
51 croak M18_error_old_version($config{version}, $DIRECTORY)
52 unless (defined $config{version} and
53 $config{version} =~ /TRIAL/ or
54 $config{version} >= 0.40);
55 croak M19_usage_language($o->{API}{language_id}, $DIRECTORY)
56 unless defined $config{languages}->{$o->{API}{language_id}};
57 $o->{API}{language} = $config{languages}->{$o->{API}{language_id}};
58 if ($o->{API}{language} ne $o->{API}{language_id}) {
59 if (defined $o->{$o->{API}{language_id}}) {
60 $o->{$o->{API}{language}} = $o->{$o->{API}{language_id}};
61 delete $o->{$o->{API}{language_id}};
62 }
63 }
64
65 $o->{INLINE}{ILSM_type} = $config{types}->{$o->{API}{language}};
66 $o->{INLINE}{ILSM_module} = $config{modules}->{$o->{API}{language}};
67 $o->{INLINE}{ILSM_suffix} = $config{suffixes}->{$o->{API}{language}};
68}
69
70# end of Inline::check_config_file
711;