xref: /AOO42X/main/solenv/bin/modules/par2script/parameter.pm (revision 1d8b6e91a3b2f2ad618841a92777e1029795617f)
19780544fSAndrew Rist#**************************************************************
2cdf0e10cSrcweir#
39780544fSAndrew Rist#  Licensed to the Apache Software Foundation (ASF) under one
49780544fSAndrew Rist#  or more contributor license agreements.  See the NOTICE file
59780544fSAndrew Rist#  distributed with this work for additional information
69780544fSAndrew Rist#  regarding copyright ownership.  The ASF licenses this file
79780544fSAndrew Rist#  to you under the Apache License, Version 2.0 (the
89780544fSAndrew Rist#  "License"); you may not use this file except in compliance
99780544fSAndrew Rist#  with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir#
119780544fSAndrew Rist#    http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir#
139780544fSAndrew Rist#  Unless required by applicable law or agreed to in writing,
149780544fSAndrew Rist#  software distributed under the License is distributed on an
159780544fSAndrew Rist#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
169780544fSAndrew Rist#  KIND, either express or implied.  See the License for the
179780544fSAndrew Rist#  specific language governing permissions and limitations
189780544fSAndrew Rist#  under the License.
19cdf0e10cSrcweir#
209780544fSAndrew Rist#**************************************************************
219780544fSAndrew Rist
229780544fSAndrew Rist
23cdf0e10cSrcweir
24cdf0e10cSrcweir
25cdf0e10cSrcweirpackage par2script::parameter;
26cdf0e10cSrcweir
27cdf0e10cSrcweiruse Cwd;
28cdf0e10cSrcweiruse par2script::files;
29cdf0e10cSrcweiruse par2script::globals;
30cdf0e10cSrcweiruse par2script::systemactions;
31cdf0e10cSrcweir
32cdf0e10cSrcweir############################################
33cdf0e10cSrcweir# Parameter Operations
34cdf0e10cSrcweir############################################
35cdf0e10cSrcweir
36cdf0e10cSrcweir###############################################################################
37cdf0e10cSrcweir# Usage:
38cdf0e10cSrcweir# perl par2script.pl -i ..\wntmsci8.pro\par,o:\SRX645\wntmsci8.pro\par.m24
39cdf0e10cSrcweir#                   @@C:\DOCUMEN~1\is\LOCALS~1\Temp\mk6pd
40cdf0e10cSrcweir#                   -o ..\wntmsci8.pro\bin\osl\setup_osl.inf
41cdf0e10cSrcweir###############################################################################
42cdf0e10cSrcweir
43cdf0e10cSrcweirsub usage
44cdf0e10cSrcweir{
45cdf0e10cSrcweir    print <<Ende;
46cdf0e10cSrcweir
47cdf0e10cSrcweir--------------------------------------------------------------
48cdf0e10cSrcweir$par2script::globals::prog
49cdf0e10cSrcweirThe following parameter are needed:
50*86e1cf34SPedro Giffuni-i: include paths, comma separated list
51cdf0e10cSrcweir-o: setup script file name
52cdf0e10cSrcweir-v: writing logfile.txt (optional)
53cdf0e10cSrcweir\@\@list: list of all par files
54cdf0e10cSrcweir
55cdf0e10cSrcweirExample:
56cdf0e10cSrcweir perl par2script.pl -i ..\\wntmsci8\\par\,o\:\\SRX645\\wntmsci8\\par.m24
57cdf0e10cSrcweir        \@\@C\:\\DOCUMEN\~1\\is\\LOCALS\~1\\Temp\\mk6pd
58cdf0e10cSrcweir        -o ..\\wntmsci8.pro\\bin\\osl\\setup_osl.inf \[-v\]
59cdf0e10cSrcweir
60cdf0e10cSrcweir--------------------------------------------------------------
61cdf0e10cSrcweirEnde
62cdf0e10cSrcweir    exit(-1);
63cdf0e10cSrcweir}
64cdf0e10cSrcweir
65cdf0e10cSrcweir#####################################
66cdf0e10cSrcweir# Reading parameter
67cdf0e10cSrcweir#####################################
68cdf0e10cSrcweir
69cdf0e10cSrcweirsub getparameter
70cdf0e10cSrcweir{
71cdf0e10cSrcweir    while ( $#ARGV >= 0 )
72cdf0e10cSrcweir    {
73cdf0e10cSrcweir        my $param = shift(@ARGV);
74cdf0e10cSrcweir
75cdf0e10cSrcweir        if ($param eq "-o") { $par2script::globals::scriptname = shift(@ARGV); }
76cdf0e10cSrcweir        elsif ($param eq "-v") { $par2script::globals::logging = 1; }
77cdf0e10cSrcweir        elsif ($param =~ /\@\@/) { $par2script::globals::parfilelistorig = $param; }
78cdf0e10cSrcweir        elsif ($param eq "-i") { $par2script::globals::includepathlist = shift(@ARGV); }
79cdf0e10cSrcweir        elsif (($param =~ /\//) || ($param =~ /\\/))    # another include parameter!
80cdf0e10cSrcweir        {
81cdf0e10cSrcweir            $par2script::globals::includepathlist = $par2script::globals::includepathlist . "," . $param;
82cdf0e10cSrcweir        }
83cdf0e10cSrcweir        else
84cdf0e10cSrcweir        {
85cdf0e10cSrcweir            print("\n*************************************\n");
86cdf0e10cSrcweir            print("Sorry, unknown parameter: $param");
87cdf0e10cSrcweir            print("\n*************************************\n");
88cdf0e10cSrcweir            usage();
89cdf0e10cSrcweir            exit(-1);
90cdf0e10cSrcweir        }
91cdf0e10cSrcweir    }
92cdf0e10cSrcweir}
93cdf0e10cSrcweir
94cdf0e10cSrcweir############################################
95cdf0e10cSrcweir# Controlling  the fundamental parameter
96cdf0e10cSrcweir# (required for every process)
97cdf0e10cSrcweir############################################
98cdf0e10cSrcweir
99cdf0e10cSrcweirsub control_parameter
100cdf0e10cSrcweir{
101cdf0e10cSrcweir    if ($par2script::globals::includepathlist eq "")
102cdf0e10cSrcweir    {
103cdf0e10cSrcweir        print "\n************************************************\n";
104*86e1cf34SPedro Giffuni        print "Error: Include paths not set not set (-i)!";
105cdf0e10cSrcweir        print "\n************************************************\n";
106cdf0e10cSrcweir        usage();
107cdf0e10cSrcweir        exit(-1);
108cdf0e10cSrcweir    }
109cdf0e10cSrcweir
110cdf0e10cSrcweir    if ($par2script::globals::scriptname eq "")
111cdf0e10cSrcweir    {
112cdf0e10cSrcweir        print "\n************************************************\n";
113cdf0e10cSrcweir        print "Error: Name of the setup script not set (-o)!";
114cdf0e10cSrcweir        print "\n************************************************\n";
115cdf0e10cSrcweir        usage();
116cdf0e10cSrcweir        exit(-1);
117cdf0e10cSrcweir    }
118cdf0e10cSrcweir
119cdf0e10cSrcweir    if ($par2script::globals::parfilelistorig eq "")
120cdf0e10cSrcweir    {
121cdf0e10cSrcweir        print "\n************************************************\n";
122cdf0e10cSrcweir        print "Error: List of par files not set!";
123cdf0e10cSrcweir        print "\n************************************************\n";
124cdf0e10cSrcweir        usage();
125cdf0e10cSrcweir        exit(-1);
126cdf0e10cSrcweir    }
127cdf0e10cSrcweir
128cdf0e10cSrcweir    # The par file list has to exist
129cdf0e10cSrcweir
130cdf0e10cSrcweir    $par2script::globals::parfilelist = $par2script::globals::parfilelistorig;
131cdf0e10cSrcweir    $par2script::globals::parfilelist =~ s/\@\@//;
132cdf0e10cSrcweir    par2script::files::check_file($par2script::globals::parfilelist);
133cdf0e10cSrcweir}
134cdf0e10cSrcweir
135cdf0e10cSrcweir#####################################
136cdf0e10cSrcweir# Writing parameter to shell
137cdf0e10cSrcweir#####################################
138cdf0e10cSrcweir
139cdf0e10cSrcweirsub outputparameter
140cdf0e10cSrcweir{
141cdf0e10cSrcweir    my $outputline = "\n$par2script::globals::prog -i $par2script::globals::includepathlist $par2script::globals::parfilelistorig -o $par2script::globals::scriptname";
142cdf0e10cSrcweir
143cdf0e10cSrcweir    if ($par2script::globals::logging) { $outputline .= " -v"; }
144cdf0e10cSrcweir
145cdf0e10cSrcweir    $outputline .= "\n";
146cdf0e10cSrcweir
147cdf0e10cSrcweir    print $outputline;
148cdf0e10cSrcweir}
149cdf0e10cSrcweir
150cdf0e10cSrcweir1;
151