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