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