xref: /aoo4110/main/odk/util/check.pl (revision b1cdbd2c)
1*b1cdbd2cSJim Jagielski#**************************************************************
2*b1cdbd2cSJim Jagielski#
3*b1cdbd2cSJim Jagielski#  Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski#  or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski#  distributed with this work for additional information
6*b1cdbd2cSJim Jagielski#  regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski#  to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski#  "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski#  with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski#
11*b1cdbd2cSJim Jagielski#    http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski#
13*b1cdbd2cSJim Jagielski#  Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski#  software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski#  KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski#  specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski#  under the License.
19*b1cdbd2cSJim Jagielski#
20*b1cdbd2cSJim Jagielski#**************************************************************
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski
24*b1cdbd2cSJim Jagielski#
25*b1cdbd2cSJim Jagielski# check - a perl script to check some files and directories if they exists
26*b1cdbd2cSJim Jagielski# A first simple check if the SDK was built completely.
27*b1cdbd2cSJim Jagielski#
28*b1cdbd2cSJim Jagielski#use IO::File;
29*b1cdbd2cSJim Jagielski
30*b1cdbd2cSJim Jagielski$return = 0;
31*b1cdbd2cSJim Jagielski
32*b1cdbd2cSJim Jagielski$StartDir = "$ARGV[0]";
33*b1cdbd2cSJim Jagielski$OperatingSystem = "$ARGV[1]";
34*b1cdbd2cSJim Jagielski$ExePrefix = "$ARGV[2]";
35*b1cdbd2cSJim Jagielski
36*b1cdbd2cSJim Jagielskiprint "Check for $OperatingSystem\n";
37*b1cdbd2cSJim Jagielski
38*b1cdbd2cSJim Jagielskiif (-d "$StartDir") {
39*b1cdbd2cSJim Jagielski    # check binaries
40*b1cdbd2cSJim Jagielski    print "check binaries: ";
41*b1cdbd2cSJim Jagielski    if (-d "$StartDir/bin") {
42*b1cdbd2cSJim Jagielski	my @binarylist = ( "idlc","ucpp","cppumaker","javamaker",
43*b1cdbd2cSJim Jagielski			   "regcompare","autodoc",
44*b1cdbd2cSJim Jagielski			   "unoapploader", "uno-skeletonmaker" );
45*b1cdbd2cSJim Jagielski
46*b1cdbd2cSJim Jagielski	foreach $i (@binarylist)
47*b1cdbd2cSJim Jagielski	{
48*b1cdbd2cSJim Jagielski	    if (! -e "$StartDir/bin/$i$ExePrefix") {
49*b1cdbd2cSJim Jagielski		$return++;
50*b1cdbd2cSJim Jagielski		print "\nERROR: \"$StartDir/bin/$i$ExePrefix\" is missing\n";
51*b1cdbd2cSJim Jagielski	    } else {
52*b1cdbd2cSJim Jagielski		print "+";
53*b1cdbd2cSJim Jagielski	    }
54*b1cdbd2cSJim Jagielski	}
55*b1cdbd2cSJim Jagielski
56*b1cdbd2cSJim Jagielski	if ($OperatingSystem eq "windows" || $OperatingSystem eq "mingw") {
57*b1cdbd2cSJim Jagielski	    if ($OperatingSystem eq "windows" && ! -e "$StartDir/bin/climaker.exe") {
58*b1cdbd2cSJim Jagielski		$return++;
59*b1cdbd2cSJim Jagielski		print "\nERROR: \"$StartDir/bin/climaker.exe\" is missing\n";
60*b1cdbd2cSJim Jagielski	    } else {
61*b1cdbd2cSJim Jagielski		print "+";
62*b1cdbd2cSJim Jagielski	    }
63*b1cdbd2cSJim Jagielski	}
64*b1cdbd2cSJim Jagielski	if ($OperatingSystem eq "macosx") {
65*b1cdbd2cSJim Jagielski	    if (! -e "$StartDir/bin/addsym-macosx.sh") {
66*b1cdbd2cSJim Jagielski		$return++;
67*b1cdbd2cSJim Jagielski		print "\nERROR: \"$StartDir/bin/addsym-macosx.sh\" is missing\n";
68*b1cdbd2cSJim Jagielski	    } else {
69*b1cdbd2cSJim Jagielski		print "+";
70*b1cdbd2cSJim Jagielski	    }
71*b1cdbd2cSJim Jagielski	}
72*b1cdbd2cSJim Jagielski    } else {
73*b1cdbd2cSJim Jagielski	$return++;
74*b1cdbd2cSJim Jagielski    }
75*b1cdbd2cSJim Jagielski    print "\n";
76*b1cdbd2cSJim Jagielski
77*b1cdbd2cSJim Jagielski    # packaging files
78*b1cdbd2cSJim Jagielski    print "check packaging files: ";
79*b1cdbd2cSJim Jagielski    if (-d "$StartDir/docs") {
80*b1cdbd2cSJim Jagielski	my @filelist = ( "install.html",
81*b1cdbd2cSJim Jagielski			 "notsupported.html","sdk_styles.css","tools.html",
82*b1cdbd2cSJim Jagielski			 "images/arrow-1.gif", "images/arrow-3.gif",
83*b1cdbd2cSJim Jagielski			 "images/odk-footer-logo.gif",
84*b1cdbd2cSJim Jagielski			 "images/bg_table.png","images/bg_table2.png",
85*b1cdbd2cSJim Jagielski			 "images/bg_table3.png", "images/nav_down.png",
86*b1cdbd2cSJim Jagielski			 "images/nav_home.png","images/nav_left.png",
87*b1cdbd2cSJim Jagielski			 "images/nav_right.png","images/nav_up.png",
88*b1cdbd2cSJim Jagielski			 "images/sdk_head-1.png", "images/sdk_head-2.png",
89*b1cdbd2cSJim Jagielski			 "images/sdk_line-1.gif", "images/sdk_line-2.gif",
90*b1cdbd2cSJim Jagielski			 "common/ref/idl.css", "images/nada.gif",
91*b1cdbd2cSJim Jagielski			 "images/arrow-2.gif", "images/bluball.gif",
92*b1cdbd2cSJim Jagielski			 "images/ooo-main-app_32.png");
93*b1cdbd2cSJim Jagielski
94*b1cdbd2cSJim Jagielski	foreach $i (@filelist)
95*b1cdbd2cSJim Jagielski	{
96*b1cdbd2cSJim Jagielski	    if (! -e "$StartDir/docs/$i") {
97*b1cdbd2cSJim Jagielski		$return++;
98*b1cdbd2cSJim Jagielski		print "\nERROR: \"$StartDir/docs/$i\" is missing\n";
99*b1cdbd2cSJim Jagielski	    } else {
100*b1cdbd2cSJim Jagielski		print "+";
101*b1cdbd2cSJim Jagielski	    }
102*b1cdbd2cSJim Jagielski	}
103*b1cdbd2cSJim Jagielski    } else {
104*b1cdbd2cSJim Jagielski	$return++;
105*b1cdbd2cSJim Jagielski    }
106*b1cdbd2cSJim Jagielski    print "\n";
107*b1cdbd2cSJim Jagielski
108*b1cdbd2cSJim Jagielski    #check configure files
109*b1cdbd2cSJim Jagielski    print "check config files: ";
110*b1cdbd2cSJim Jagielski    if ($OperatingSystem eq "windows" || $OperatingSystem eq "mingw") {
111*b1cdbd2cSJim Jagielski	if (! -e "$StartDir/setsdkenv_windows.bat") {
112*b1cdbd2cSJim Jagielski	    print "\nERROR: \"$StartDir/setsdkenv_windows.bat\" is missing\n";
113*b1cdbd2cSJim Jagielski	    $return++;
114*b1cdbd2cSJim Jagielski	}
115*b1cdbd2cSJim Jagielski	if (! -e "$StartDir/setsdkenv_windows.template") {
116*b1cdbd2cSJim Jagielski	    print "\nERROR: \"$StartDir/setsdkenv_windows.template\" is missing\n";
117*b1cdbd2cSJim Jagielski	    $return++;
118*b1cdbd2cSJim Jagielski	}
119*b1cdbd2cSJim Jagielski	if (! -e "$StartDir/cfgWin.js") {
120*b1cdbd2cSJim Jagielski	    print "\nERROR: \"$StartDir/cfgWin.js\" is missing\n";
121*b1cdbd2cSJim Jagielski	    $return++;
122*b1cdbd2cSJim Jagielski	}
123*b1cdbd2cSJim Jagielski    } else {
124*b1cdbd2cSJim Jagielski	if (! -e "$StartDir/configure.pl") {
125*b1cdbd2cSJim Jagielski	    print "\nERROR: \"$StartDir/configure.pl\" is missing\n";
126*b1cdbd2cSJim Jagielski	    $return++;
127*b1cdbd2cSJim Jagielski	}
128*b1cdbd2cSJim Jagielski	if (! -e "$StartDir/config.guess") {
129*b1cdbd2cSJim Jagielski	    print "\nERROR: \"$StartDir/config.guess\" is missing\n";
130*b1cdbd2cSJim Jagielski	    $return++;
131*b1cdbd2cSJim Jagielski	}
132*b1cdbd2cSJim Jagielski	if (! -e "$StartDir/config.sub") {
133*b1cdbd2cSJim Jagielski	    print "\nERROR: \"$StartDir/config.sub\" is missing\n";
134*b1cdbd2cSJim Jagielski	    $return++;
135*b1cdbd2cSJim Jagielski       }
136*b1cdbd2cSJim Jagielski	if (! -e "$StartDir/setsdkenv_unix") {
137*b1cdbd2cSJim Jagielski	    print "\nERROR: \"$StartDir/setsdkenv_unix\" is missing\n";
138*b1cdbd2cSJim Jagielski	    $return++;
139*b1cdbd2cSJim Jagielski	}
140*b1cdbd2cSJim Jagielski	if (! -e "$StartDir/setsdkenv_unix.sh.in") {
141*b1cdbd2cSJim Jagielski	    print "\nERROR: \"$StartDir/setsdkenv_unix.sh.in\" is missing\n";
142*b1cdbd2cSJim Jagielski	    $return++;
143*b1cdbd2cSJim Jagielski	}
144*b1cdbd2cSJim Jagielski    }
145*b1cdbd2cSJim Jagielski    print "\n";
146*b1cdbd2cSJim Jagielski
147*b1cdbd2cSJim Jagielski    #check setting files
148*b1cdbd2cSJim Jagielski    print "check setting files: ";
149*b1cdbd2cSJim Jagielski    if (-d "$StartDir/settings") {
150*b1cdbd2cSJim Jagielski	if (! -e "$StartDir/settings/settings.mk") {
151*b1cdbd2cSJim Jagielski	    print "\nERROR: \"$StartDir/settings/settings.mk\" is missing\n";
152*b1cdbd2cSJim Jagielski	    $return++;
153*b1cdbd2cSJim Jagielski	}
154*b1cdbd2cSJim Jagielski	if (! -e "$StartDir/settings/std.mk") {
155*b1cdbd2cSJim Jagielski	    print "\nERROR: \"$StartDir/settings/std.mk\" is missing\n";
156*b1cdbd2cSJim Jagielski	    $return++;
157*b1cdbd2cSJim Jagielski	}
158*b1cdbd2cSJim Jagielski	if (! -e "$StartDir/settings/stdtarget.mk") {
159*b1cdbd2cSJim Jagielski	    print "\nERROR: \"$StartDir/settings/stdtarget.mk\" is missing\n";
160*b1cdbd2cSJim Jagielski	    $return++;
161*b1cdbd2cSJim Jagielski	}
162*b1cdbd2cSJim Jagielski    } else {
163*b1cdbd2cSJim Jagielski	$return++;
164*b1cdbd2cSJim Jagielski    }
165*b1cdbd2cSJim Jagielski    print "\n";
166*b1cdbd2cSJim Jagielski
167*b1cdbd2cSJim Jagielski    #check cpp docu, it is only a first and simple check
168*b1cdbd2cSJim Jagielski    # improvement required
169*b1cdbd2cSJim Jagielski    print "check cpp docu: ";
170*b1cdbd2cSJim Jagielski    if (-d "$StartDir/docs/cpp/ref") {
171*b1cdbd2cSJim Jagielski	if (! -e "$StartDir/docs/cpp/ref/index.html") {
172*b1cdbd2cSJim Jagielski	    print "\nERROR: \"$StartDir/docs/cpp/ref/index.html\" is missing\n";
173*b1cdbd2cSJim Jagielski	    $return++;
174*b1cdbd2cSJim Jagielski	}
175*b1cdbd2cSJim Jagielski	if (! -d "$StartDir/docs/cpp/ref/index-files") {
176*b1cdbd2cSJim Jagielski	    print "\nERROR: \"$StartDir/docs/cpp/ref/index-files\" is missing\n";
177*b1cdbd2cSJim Jagielski	    $return++;
178*b1cdbd2cSJim Jagielski	}
179*b1cdbd2cSJim Jagielski	if (! -e "$StartDir/docs/cpp/ref/index-files/index-10.html") {
180*b1cdbd2cSJim Jagielski	    print "\nERROR: \"$StartDir/docs/cpp/ref/index-files/index-10.html\" is missing\n";
181*b1cdbd2cSJim Jagielski	    $return++;
182*b1cdbd2cSJim Jagielski	}
183*b1cdbd2cSJim Jagielski
184*b1cdbd2cSJim Jagielski	my @dir_list = ( "com","com/sun","com/sun/star","com/sun/star/uno",
185*b1cdbd2cSJim Jagielski			 "com/sun/star/uno/Any","com/sun/star/uno/Type",
186*b1cdbd2cSJim Jagielski			 "com/sun/star/uno/Array","com/sun/star/uno/WeakReferenceHelper",
187*b1cdbd2cSJim Jagielski			 "com/sun/star/uno/Reference","com/sun/star/uno/WeakReference",
188*b1cdbd2cSJim Jagielski			 "com/sun/star/uno/Environment","com/sun/star/uno/Sequence",
189*b1cdbd2cSJim Jagielski			 "com/sun/star/uno/BaseReference","com/sun/star/uno/Mapping",
190*b1cdbd2cSJim Jagielski			 "com/sun/star/uno/ContextLayer","com/sun/star/uno/TypeDescription",
191*b1cdbd2cSJim Jagielski			 "osl","osl/File","osl/Pipe","osl/FileStatus","osl/FileBase",
192*b1cdbd2cSJim Jagielski			 "osl/Guard","osl/Mutex","osl/VolumeInfo","osl/GetGlobalMutex",
193*b1cdbd2cSJim Jagielski			 "osl/Security","osl/Profile","osl/DatagramSocket","osl/SocketAddr",
194*b1cdbd2cSJim Jagielski			 "osl/StreamPipe","osl/ResettableGuard","osl/AcceptorSocket",
195*b1cdbd2cSJim Jagielski			 "osl/ClearableGuard","osl/VolumeDevice","rtl","rtl/Uri","rtl/math",
196*b1cdbd2cSJim Jagielski			 "rtl/OUStringHash","rtl/MalformedUriException","rtl/OUStringBuffer",
197*b1cdbd2cSJim Jagielski			 "rtl/OUString","rtl/Reference","rtl/ByteSequence","rtl/OLocale",
198*b1cdbd2cSJim Jagielski			 "rtl/Logfile","rtl/OString","rtl/IReference","rtl/OStringBuffer",
199*b1cdbd2cSJim Jagielski			 "rtl/OStringHash","_typelib_CompoundTypeDescription","cppu",
200*b1cdbd2cSJim Jagielski			 "cppu/ContextEntry_Init","cppu/ImplInheritanceHelper10",
201*b1cdbd2cSJim Jagielski			 "cppu/ImplInheritanceHelper11","cppu/ImplInheritanceHelper12",
202*b1cdbd2cSJim Jagielski			 "cppu/WeakAggImplHelper1","cppu/WeakAggImplHelper2",
203*b1cdbd2cSJim Jagielski			 "cppu/WeakAggImplHelper3","cppu/WeakAggImplHelper4",
204*b1cdbd2cSJim Jagielski			 "cppu/WeakAggImplHelper5","cppu/WeakAggImplHelper6",
205*b1cdbd2cSJim Jagielski			 "cppu/WeakAggImplHelper7","cppu/WeakAggImplHelper8",
206*b1cdbd2cSJim Jagielski			 "cppu/WeakAggImplHelper9",
207*b1cdbd2cSJim Jagielski			 "cppu/OMultiTypeInterfaceContainerHelperInt32","cppu/AccessControl",
208*b1cdbd2cSJim Jagielski			 "cppu/OPropertyArrayHelper","cppu/ImplHelper1","cppu/ImplHelper2",
209*b1cdbd2cSJim Jagielski			 "cppu/ImplHelper3","cppu/ImplHelper4","cppu/ImplHelper5",
210*b1cdbd2cSJim Jagielski			 "cppu/ImplHelper6","cppu/ImplHelper7","cppu/ImplHelper8",
211*b1cdbd2cSJim Jagielski			 "cppu/ImplHelper9","cppu/WeakComponentImplHelper10",
212*b1cdbd2cSJim Jagielski			 "cppu/WeakComponentImplHelper11","cppu/WeakComponentImplHelper12",
213*b1cdbd2cSJim Jagielski			 "cppu/UnoUrl","cppu/WeakComponentImplHelper1",
214*b1cdbd2cSJim Jagielski			 "cppu/WeakComponentImplHelper2","cppu/WeakComponentImplHelper3",
215*b1cdbd2cSJim Jagielski			 "cppu/WeakComponentImplHelper4","cppu/WeakComponentImplHelper5",
216*b1cdbd2cSJim Jagielski			 "cppu/WeakComponentImplHelper6","cppu/WeakComponentImplHelper7",
217*b1cdbd2cSJim Jagielski			 "cppu/WeakComponentImplHelper8","cppu/WeakComponentImplHelper9",
218*b1cdbd2cSJim Jagielski			 "cppu/OInterfaceIteratorHelper",
219*b1cdbd2cSJim Jagielski			 "cppu/OMultiTypeInterfaceContainerHelper","cppu/UnoUrlDescriptor",
220*b1cdbd2cSJim Jagielski			 "cppu/IPropertyArrayHelper","cppu/OBroadcastHelperVar",
221*b1cdbd2cSJim Jagielski			 "cppu/OComponentHelper","cppu/OWeakAggObject",
222*b1cdbd2cSJim Jagielski			 "cppu/ImplementationEntry","cppu/WeakImplHelper10",
223*b1cdbd2cSJim Jagielski			 "cppu/WeakImplHelper11","cppu/WeakImplHelper12",
224*b1cdbd2cSJim Jagielski			 "cppu/OPropertySetHelper","cppu/ImplHelper10","cppu/ImplHelper11",
225*b1cdbd2cSJim Jagielski			 "cppu/ImplHelper12","cppu/WeakAggImplHelper10",
226*b1cdbd2cSJim Jagielski			 "cppu/WeakAggImplHelper11","cppu/WeakAggImplHelper12",
227*b1cdbd2cSJim Jagielski			 "cppu/ImplInheritanceHelper1","cppu/ImplInheritanceHelper2",
228*b1cdbd2cSJim Jagielski			 "cppu/ImplInheritanceHelper3","cppu/ImplInheritanceHelper4",
229*b1cdbd2cSJim Jagielski			 "cppu/ImplInheritanceHelper5","cppu/ImplInheritanceHelper6",
230*b1cdbd2cSJim Jagielski			 "cppu/ImplInheritanceHelper7","cppu/ImplInheritanceHelper8",
231*b1cdbd2cSJim Jagielski			 "cppu/ImplInheritanceHelper9","cppu/OTypeCollection",
232*b1cdbd2cSJim Jagielski			 "cppu/WeakAggComponentImplHelper10",
233*b1cdbd2cSJim Jagielski			 "cppu/WeakAggComponentImplHelper11",
234*b1cdbd2cSJim Jagielski			 "cppu/WeakAggComponentImplHelper12",
235*b1cdbd2cSJim Jagielski			 "cppu/WeakAggComponentImplHelper1",
236*b1cdbd2cSJim Jagielski			 "cppu/WeakAggComponentImplHelper2",
237*b1cdbd2cSJim Jagielski			 "cppu/WeakAggComponentImplHelper3",
238*b1cdbd2cSJim Jagielski			 "cppu/WeakAggComponentImplHelper4",
239*b1cdbd2cSJim Jagielski			 "cppu/WeakAggComponentImplHelper5",
240*b1cdbd2cSJim Jagielski			 "cppu/WeakAggComponentImplHelper6",
241*b1cdbd2cSJim Jagielski			 "cppu/WeakAggComponentImplHelper7",
242*b1cdbd2cSJim Jagielski			 "cppu/WeakAggComponentImplHelper8",
243*b1cdbd2cSJim Jagielski			 "cppu/WeakAggComponentImplHelper9",
244*b1cdbd2cSJim Jagielski			 "cppu/OMultiTypeInterfaceContainerHelperVar",
245*b1cdbd2cSJim Jagielski			 "cppu/OInterfaceContainerHelper","cppu/OImplementationId",
246*b1cdbd2cSJim Jagielski			 "cppu/AggImplInheritanceHelper1","cppu/AggImplInheritanceHelper2",
247*b1cdbd2cSJim Jagielski			 "cppu/AggImplInheritanceHelper3","cppu/AggImplInheritanceHelper4",
248*b1cdbd2cSJim Jagielski			 "cppu/AggImplInheritanceHelper5","cppu/AggImplInheritanceHelper6",
249*b1cdbd2cSJim Jagielski			 "cppu/AggImplInheritanceHelper7","cppu/AggImplInheritanceHelper8",
250*b1cdbd2cSJim Jagielski			 "cppu/AggImplInheritanceHelper9","cppu/AggImplInheritanceHelper10",
251*b1cdbd2cSJim Jagielski			 "cppu/AggImplInheritanceHelper11","cppu/AggImplInheritanceHelper12",
252*b1cdbd2cSJim Jagielski			 "cppu/WeakImplHelper1","cppu/WeakImplHelper2","cppu/WeakImplHelper3",
253*b1cdbd2cSJim Jagielski			 "cppu/WeakImplHelper4","cppu/WeakImplHelper5","cppu/WeakImplHelper6",
254*b1cdbd2cSJim Jagielski			 "cppu/WeakImplHelper7","cppu/WeakImplHelper8","cppu/WeakImplHelper9",
255*b1cdbd2cSJim Jagielski			 "cppu/OWeakObject","__store_FindData","_rtl_StandardModuleCount",
256*b1cdbd2cSJim Jagielski			 "RTUik","RTConstValue","_typelib_TypeDescriptionReference",
257*b1cdbd2cSJim Jagielski			 "_typelib_InterfaceMethodTypeDescription","store","RegistryKey",
258*b1cdbd2cSJim Jagielski			 "_typelib_Union_Init","_sal_Sequence","_typelib_Parameter_Init",
259*b1cdbd2cSJim Jagielski			 "_typelib_TypeDescription","_uno_Environment",
260*b1cdbd2cSJim Jagielski			 "_typelib_InterfaceAttributeTypeDescription",
261*b1cdbd2cSJim Jagielski			 "_rtl_ModuleCount","_uno_ExtEnvironment",
262*b1cdbd2cSJim Jagielski			 "_typelib_IndirectTypeDescription",
263*b1cdbd2cSJim Jagielski			 "Registry_Api","_oslFileStatus",
264*b1cdbd2cSJim Jagielski			 "_typelib_InterfaceMemberTypeDescription","RegistryValueList",
265*b1cdbd2cSJim Jagielski			 "RegistryTypeWriter_Api","_rtl_TextEncodingInfo",
266*b1cdbd2cSJim Jagielski			 "namespace_anonymous_1",
267*b1cdbd2cSJim Jagielski			 "_oslVolumeInfo","_uno_Interface",
268*b1cdbd2cSJim Jagielski			 "_typelib_InterfaceTypeDescription","_uno_Mapping","Registry",
269*b1cdbd2cSJim Jagielski			 "RegistryTypeReader_Api","_typelib_Uik",
270*b1cdbd2cSJim Jagielski			 "_typelib_ArrayTypeDescription",
271*b1cdbd2cSJim Jagielski			 "RegistryKeyArray","RegistryTypeReader","RegistryKeyNames",
272*b1cdbd2cSJim Jagielski			 "RTConstValueUnion","_typelib_UnionTypeDescription","_uno_Any",
273*b1cdbd2cSJim Jagielski			 "RegistryTypeWriter","_rtl_Locale","_typelib_CompoundMember_Init",
274*b1cdbd2cSJim Jagielski			 "_typelib_EnumTypeDescription","_typelib_MethodParameter");
275*b1cdbd2cSJim Jagielski
276*b1cdbd2cSJim Jagielski	foreach $i (@dir_list)
277*b1cdbd2cSJim Jagielski	{
278*b1cdbd2cSJim Jagielski	    if (! -d "$StartDir/docs/cpp/ref/names/$i") {
279*b1cdbd2cSJim Jagielski		$return++;
280*b1cdbd2cSJim Jagielski		print "\nERROR: \"$StartDir/docs/cpp/ref/names/$i\" is missing\n";
281*b1cdbd2cSJim Jagielski	    } else {
282*b1cdbd2cSJim Jagielski		print "+";
283*b1cdbd2cSJim Jagielski	    }
284*b1cdbd2cSJim Jagielski	}
285*b1cdbd2cSJim Jagielski    } else {
286*b1cdbd2cSJim Jagielski	$return++;
287*b1cdbd2cSJim Jagielski    }
288*b1cdbd2cSJim Jagielski    print "\n";
289*b1cdbd2cSJim Jagielski
290*b1cdbd2cSJim Jagielski    #check java docu, it is only a first and simple check
291*b1cdbd2cSJim Jagielski    # improvement required
292*b1cdbd2cSJim Jagielski    my $solar_java = $ENV{"SOLAR_JAVA"};
293*b1cdbd2cSJim Jagielski    my $JDK = $ENV{"JDK"};
294*b1cdbd2cSJim Jagielski    if (defined($solar_java) && $solar_java ne "" && (!defined($JDK) || $JDK ne "gcj")) {
295*b1cdbd2cSJim Jagielski	print "check java docu: ";
296*b1cdbd2cSJim Jagielski	if (-d "$StartDir/docs/java/ref") {
297*b1cdbd2cSJim Jagielski	    if (! -e "$StartDir/docs/java/ref/index.html") {
298*b1cdbd2cSJim Jagielski		print "\nERROR: \"$StartDir/docs/java/ref/index.html\" is missing\n";
299*b1cdbd2cSJim Jagielski		$return++;
300*b1cdbd2cSJim Jagielski	    }
301*b1cdbd2cSJim Jagielski
302*b1cdbd2cSJim Jagielski	    my @dir_list = ( "lib","lib/uno","lib/uno/helper","lib/uno/helper/class-use",
303*b1cdbd2cSJim Jagielski			     "uno","uno/class-use","comp","comp/helper",
304*b1cdbd2cSJim Jagielski			     "comp/helper/class-use");
305*b1cdbd2cSJim Jagielski
306*b1cdbd2cSJim Jagielski	    foreach $i (@dir_list)
307*b1cdbd2cSJim Jagielski	    {
308*b1cdbd2cSJim Jagielski		if (! -d "$StartDir/docs/java/ref/com/sun/star/$i") {
309*b1cdbd2cSJim Jagielski		    $return++;
310*b1cdbd2cSJim Jagielski		    print "\nERROR: \"$StartDir/docs/java/ref/com/sun/star/$i\" is missing\n";
311*b1cdbd2cSJim Jagielski		} else {
312*b1cdbd2cSJim Jagielski		    print "+";
313*b1cdbd2cSJim Jagielski		}
314*b1cdbd2cSJim Jagielski	    }
315*b1cdbd2cSJim Jagielski	} else {
316*b1cdbd2cSJim Jagielski	    $return++;
317*b1cdbd2cSJim Jagielski	}
318*b1cdbd2cSJim Jagielski	print "\n";
319*b1cdbd2cSJim Jagielski    }
320*b1cdbd2cSJim Jagielski
321*b1cdbd2cSJim Jagielski    #check idl docu, it is only a first and simple check
322*b1cdbd2cSJim Jagielski    # improvement required
323*b1cdbd2cSJim Jagielski    print "check idl docu: ";
324*b1cdbd2cSJim Jagielski    if (-d "$StartDir/docs/common/ref") {
325*b1cdbd2cSJim Jagielski	if (! -e "$StartDir/docs/common/ref/module-ix.html") {
326*b1cdbd2cSJim Jagielski	    print "\nERROR: \"$StartDir/docs/common/ref/module-ix.html\" is missing\n";
327*b1cdbd2cSJim Jagielski	    $return++;
328*b1cdbd2cSJim Jagielski	}
329*b1cdbd2cSJim Jagielski	if (! -d "$StartDir/docs/common/ref/index-files") {
330*b1cdbd2cSJim Jagielski	    print "\nERROR: \"$StartDir/docs/common/ref/index-files\" is missing\n";
331*b1cdbd2cSJim Jagielski	    $return++;
332*b1cdbd2cSJim Jagielski	}
333*b1cdbd2cSJim Jagielski	if (! -e "$StartDir/docs/common/ref/index-files/index-10.html") {
334*b1cdbd2cSJim Jagielski	    print "\nERROR: \"$StartDir/docs/common/ref/index-files/index-10.html\" is missing\n";
335*b1cdbd2cSJim Jagielski	    $return++;
336*b1cdbd2cSJim Jagielski	}
337*b1cdbd2cSJim Jagielski
338*b1cdbd2cSJim Jagielski	my @idl_dirlist = ( "accessibility",
339*b1cdbd2cSJim Jagielski			    "animations",
340*b1cdbd2cSJim Jagielski			    "auth",
341*b1cdbd2cSJim Jagielski			    "awt",
342*b1cdbd2cSJim Jagielski			    "awt/tab",
343*b1cdbd2cSJim Jagielski			    "awt/tree",
344*b1cdbd2cSJim Jagielski			    "awt/grid",
345*b1cdbd2cSJim Jagielski			    "beans",
346*b1cdbd2cSJim Jagielski			    "bridge",
347*b1cdbd2cSJim Jagielski			    "bridge/oleautomation",
348*b1cdbd2cSJim Jagielski			    "chart",
349*b1cdbd2cSJim Jagielski			    "chart2",
350*b1cdbd2cSJim Jagielski			    "chart2/data",
351*b1cdbd2cSJim Jagielski			    "configuration",
352*b1cdbd2cSJim Jagielski			    "configuration/backend",
353*b1cdbd2cSJim Jagielski			    "configuration/backend/xml",
354*b1cdbd2cSJim Jagielski			    "configuration/bootstrap",
355*b1cdbd2cSJim Jagielski			    "connection",
356*b1cdbd2cSJim Jagielski			    "container",
357*b1cdbd2cSJim Jagielski			    "datatransfer",
358*b1cdbd2cSJim Jagielski			    "datatransfer/clipboard",
359*b1cdbd2cSJim Jagielski			    "datatransfer/dnd",
360*b1cdbd2cSJim Jagielski			    "deployment",
361*b1cdbd2cSJim Jagielski			    "deployment/ui",
362*b1cdbd2cSJim Jagielski			    "document",
363*b1cdbd2cSJim Jagielski			    "drawing",
364*b1cdbd2cSJim Jagielski			    "drawing/framework",
365*b1cdbd2cSJim Jagielski			    "embed",
366*b1cdbd2cSJim Jagielski			    "form",
367*b1cdbd2cSJim Jagielski			    "form/binding",
368*b1cdbd2cSJim Jagielski			    "form/component",
369*b1cdbd2cSJim Jagielski			    "form/control",
370*b1cdbd2cSJim Jagielski			    "form/inspection",
371*b1cdbd2cSJim Jagielski			    "form/runtime",
372*b1cdbd2cSJim Jagielski			    "form/submission",
373*b1cdbd2cSJim Jagielski			    "form/validation",
374*b1cdbd2cSJim Jagielski			    "formula",
375*b1cdbd2cSJim Jagielski			    "frame",
376*b1cdbd2cSJim Jagielski			    "frame/status",
377*b1cdbd2cSJim Jagielski			    "gallery",
378*b1cdbd2cSJim Jagielski			    "geometry",
379*b1cdbd2cSJim Jagielski			    "graphic",
380*b1cdbd2cSJim Jagielski			    "i18n",
381*b1cdbd2cSJim Jagielski			    "image",
382*b1cdbd2cSJim Jagielski			    "inspection",
383*b1cdbd2cSJim Jagielski			    "installation",
384*b1cdbd2cSJim Jagielski			    "io",
385*b1cdbd2cSJim Jagielski			    "java",
386*b1cdbd2cSJim Jagielski			    "lang",
387*b1cdbd2cSJim Jagielski			    "ldap",
388*b1cdbd2cSJim Jagielski			    "linguistic2",
389*b1cdbd2cSJim Jagielski			    "loader",
390*b1cdbd2cSJim Jagielski			    "logging",
391*b1cdbd2cSJim Jagielski			    "mail",
392*b1cdbd2cSJim Jagielski			    "media",
393*b1cdbd2cSJim Jagielski			    "mozilla",
394*b1cdbd2cSJim Jagielski			    "packages",
395*b1cdbd2cSJim Jagielski			    "packages/manifest",
396*b1cdbd2cSJim Jagielski			    "packages/zip",
397*b1cdbd2cSJim Jagielski			    "plugin",
398*b1cdbd2cSJim Jagielski			    "presentation",
399*b1cdbd2cSJim Jagielski			    "reflection",
400*b1cdbd2cSJim Jagielski			    "registry",
401*b1cdbd2cSJim Jagielski			    "rendering",
402*b1cdbd2cSJim Jagielski			    "report",
403*b1cdbd2cSJim Jagielski			    "report/inspection",
404*b1cdbd2cSJim Jagielski			    "resource",
405*b1cdbd2cSJim Jagielski			    "scanner",
406*b1cdbd2cSJim Jagielski			    "script",
407*b1cdbd2cSJim Jagielski			    "script/browse",
408*b1cdbd2cSJim Jagielski			    "script/provider",
409*b1cdbd2cSJim Jagielski			    "sdb",
410*b1cdbd2cSJim Jagielski			    "sdb/application",
411*b1cdbd2cSJim Jagielski			    "sdb/tools",
412*b1cdbd2cSJim Jagielski			    "sdbc",
413*b1cdbd2cSJim Jagielski			    "sdbcx",
414*b1cdbd2cSJim Jagielski			    "security",
415*b1cdbd2cSJim Jagielski			    "setup",
416*b1cdbd2cSJim Jagielski			    "sheet",
417*b1cdbd2cSJim Jagielski			    "smarttags",
418*b1cdbd2cSJim Jagielski			    "style",
419*b1cdbd2cSJim Jagielski			    "svg",
420*b1cdbd2cSJim Jagielski			    "sync",
421*b1cdbd2cSJim Jagielski			    "sync2",
422*b1cdbd2cSJim Jagielski			    "system",
423*b1cdbd2cSJim Jagielski			    "table",
424*b1cdbd2cSJim Jagielski			    "task",
425*b1cdbd2cSJim Jagielski			    "test",
426*b1cdbd2cSJim Jagielski			    "test/bridge",
427*b1cdbd2cSJim Jagielski			    "test/performance",
428*b1cdbd2cSJim Jagielski			    "text",
429*b1cdbd2cSJim Jagielski			    "text/fieldmaster",
430*b1cdbd2cSJim Jagielski			    "text/textfield",
431*b1cdbd2cSJim Jagielski			    "text/textfield/docinfo",
432*b1cdbd2cSJim Jagielski			    "ucb",
433*b1cdbd2cSJim Jagielski			    "ui",
434*b1cdbd2cSJim Jagielski			    "ui/dialogs",
435*b1cdbd2cSJim Jagielski			    "uno",
436*b1cdbd2cSJim Jagielski			    "uri",
437*b1cdbd2cSJim Jagielski			    "util",
438*b1cdbd2cSJim Jagielski			    "util/logging",
439*b1cdbd2cSJim Jagielski			    "view",
440*b1cdbd2cSJim Jagielski			    "xforms",
441*b1cdbd2cSJim Jagielski			    "xml",
442*b1cdbd2cSJim Jagielski			    "xml/crypto",
443*b1cdbd2cSJim Jagielski			    "xml/crypto/sax",
444*b1cdbd2cSJim Jagielski			    "xml/csax",
445*b1cdbd2cSJim Jagielski			    "xml/dom",
446*b1cdbd2cSJim Jagielski			    "xml/dom/events",
447*b1cdbd2cSJim Jagielski			    "xml/dom/views",
448*b1cdbd2cSJim Jagielski			    "xml/input",
449*b1cdbd2cSJim Jagielski			    "xml/sax",
450*b1cdbd2cSJim Jagielski			    "xml/wrapper",
451*b1cdbd2cSJim Jagielski			    "xml/xpath",
452*b1cdbd2cSJim Jagielski			    "xsd" );
453*b1cdbd2cSJim Jagielski
454*b1cdbd2cSJim Jagielski	foreach $i (@idl_dirlist)
455*b1cdbd2cSJim Jagielski	{
456*b1cdbd2cSJim Jagielski	    if (! -d "$StartDir/docs/common/ref/com/sun/star/$i") {
457*b1cdbd2cSJim Jagielski		$return++;
458*b1cdbd2cSJim Jagielski		print "\nERROR: \"$StartDir/docs/common/ref/com/sun/star/$i\" is missing\n";
459*b1cdbd2cSJim Jagielski	    } else {
460*b1cdbd2cSJim Jagielski		print "+";
461*b1cdbd2cSJim Jagielski	    }
462*b1cdbd2cSJim Jagielski	}
463*b1cdbd2cSJim Jagielski    } else {
464*b1cdbd2cSJim Jagielski	$return++;
465*b1cdbd2cSJim Jagielski    }
466*b1cdbd2cSJim Jagielski    print "\n";
467*b1cdbd2cSJim Jagielski
468*b1cdbd2cSJim Jagielski} else {
469*b1cdbd2cSJim Jagielski    $return++;
470*b1cdbd2cSJim Jagielski}
471*b1cdbd2cSJim Jagielski
472*b1cdbd2cSJim Jagielskiif( $return != 0 )
473*b1cdbd2cSJim Jagielski{
474*b1cdbd2cSJim Jagielski    print "ERROR\n";
475*b1cdbd2cSJim Jagielski    unlink "$ARGV[3]";
476*b1cdbd2cSJim Jagielski} else {
477*b1cdbd2cSJim Jagielski    print "OK\n";
478*b1cdbd2cSJim Jagielski}
479*b1cdbd2cSJim Jagielskiexit $return;
480