1 #*************************************************************************
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 # Copyright 2008 by Sun Microsystems, Inc.
7 # OpenOffice.org - a multi-platform office productivity suite
11 # $Revision: 1.17.2.2 $
13 # This file is part of OpenOffice.org.
15 # OpenOffice.org is free software: you can redistribute it and/or modify
16 # it under the terms of the GNU Lesser General Public License version 3
17 # only, as published by the Free Software Foundation.
19 # OpenOffice.org is distributed in the hope that it will be useful,
20 # but WITHOUT ANY WARRANTY; without even the implied warranty of
21 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 # GNU Lesser General Public License version 3 for more details
23 # (a copy is included in the LICENSE file that accompanied this code).
25 # You should have received a copy of the GNU Lesser General Public License
26 # version 3 along with OpenOffice.org. If not, see
27 # <http://www.openoffice.org/license.html>
28 # for a copy of the LGPLv3 License.
30 #*************************************************************************
33 Overview of URE installation
34 -----------------------------
36 Linux x86, Solaris x86, and Solaris SPARC:
38 /opt/openoffice.org/ure/LICENSE
39 /opt/openoffice.org/ure/THIRDPARTYLICENSEREADME.html
40 /opt/openoffice.org/ure/README
41 /opt/openoffice.org/ure/bin/uno
42 /opt/openoffice.org/ure/bin/regcomp
43 /opt/openoffice.org/ure/bin/regmerge
44 /opt/openoffice.org/ure/bin/regview
45 /opt/openoffice.org/ure/bin/javaldx
46 /opt/openoffice.org/ure/lib/libuno_cppu.so.3
47 /opt/openoffice.org/ure/lib/libuno_cppuhelpergcc3.so.3 [Linux x86 only]
48 /opt/openoffice.org/ure/lib/libuno_cppuhelperC52.so.3 [Solaris only]
49 /opt/openoffice.org/ure/lib/libuno_purpenvhelpergcc3.so.3 [Linux x86 only]
50 /opt/openoffice.org/ure/lib/libuno_purpenvhelperC52.so.3 [Solaris only]
51 /opt/openoffice.org/ure/lib/libuno_sal.so.3
52 /opt/openoffice.org/ure/lib/libuno_salhelpergcc3.so.3 [Linux x86 only]
53 /opt/openoffice.org/ure/lib/libuno_salhelperC52.so.3 [Solaris only]
54 /opt/openoffice.org/ure/lib/libstlport_gcc.so [Linux x86 only]
55 /opt/openoffice.org/ure/lib/libstlport_sunpro.so [Solaris only]
56 /opt/openoffice.org/ure/share/java/unoloader.jar
57 /opt/openoffice.org/ure/share/java/juh.jar
58 /opt/openoffice.org/ure/share/java/jurt.jar
59 /opt/openoffice.org/ure/share/java/ridl.jar
60 /opt/openoffice.org/ure/share/misc/types.rdb
61 /opt/openoffice.org/ure/share/misc/services.rdb
62 /opt/openoffice.org/ure/lib/libxml2.so.2 [external]
63 /opt/openoffice.org/ure/lib/libgcc_s.so.1 [external; Linux x86 only]
64 /opt/openoffice.org/ure/lib/libstdc++.so.6 [external; Linux x86 only]
65 /opt/openoffice.org/ure/bin/startup.sh [private]
66 /opt/openoffice.org/ure/bin/uno.bin [private]
67 /opt/openoffice.org/ure/bin/regcomp.bin [private]
68 /opt/openoffice.org/ure/lib/unorc [private]
69 /opt/openoffice.org/ure/lib/libreg.so.3 [private]
70 /opt/openoffice.org/ure/lib/librmcxt.so.3 [private]
71 /opt/openoffice.org/ure/lib/libstore.so.3 [private]
72 /opt/openoffice.org/ure/lib/libjvmaccessgcc3.so.3 [private; Linux x86 only]
73 /opt/openoffice.org/ure/lib/libjvmaccessC52.so.3 [private; Solaris only]
74 /opt/openoffice.org/ure/lib/libjvmfwk.so.3 [private]
75 /opt/openoffice.org/ure/lib/sunjavaplugin.so [private]
76 /opt/openoffice.org/ure/lib/JREProperties.class [private]
77 /opt/openoffice.org/ure/lib/jvmfwk3rc [private]
78 /opt/openoffice.org/ure/lib/libgcc3_uno.so [private; Linux x86 only]
79 /opt/openoffice.org/ure/lib/libsunpro5_uno.so [private; Solaris only]
80 /opt/openoffice.org/ure/lib/libjava_uno.so [private]
81 /opt/openoffice.org/ure/lib/liburp_uno.so [private]
82 /opt/openoffice.org/ure/lib/libunsafe_uno_uno.so [private]
83 /opt/openoffice.org/ure/lib/libaffine_uno_uno.so [private]
84 /opt/openoffice.org/ure/lib/liblog_uno_uno.so [private]
85 /opt/openoffice.org/ure/lib/libjpipe.so [private]
86 /opt/openoffice.org/ure/lib/libjuh.so [private]
87 /opt/openoffice.org/ure/lib/libjuhx.so [private]
88 /opt/openoffice.org/ure/lib/acceptor.uno.so [private]
89 /opt/openoffice.org/ure/lib/bootstrap.uno.so [private]
90 /opt/openoffice.org/ure/lib/bridgefac.uno.so [private]
91 /opt/openoffice.org/ure/lib/connector.uno.so [private]
92 /opt/openoffice.org/ure/lib/introspection.uno.so [private]
93 /opt/openoffice.org/ure/lib/invocadapt.uno.so [private]
94 /opt/openoffice.org/ure/lib/invocation.uno.so [private]
95 /opt/openoffice.org/ure/lib/javaloader.uno.so [private]
96 /opt/openoffice.org/ure/lib/javavm.uno.so [private]
97 /opt/openoffice.org/ure/lib/namingservice.uno.so [private]
98 /opt/openoffice.org/ure/lib/proxyfac.uno.so [private]
99 /opt/openoffice.org/ure/lib/reflection.uno.so [private]
100 /opt/openoffice.org/ure/lib/remotebridge.uno.so [private]
101 /opt/openoffice.org/ure/lib/streams.uno.so [private]
102 /opt/openoffice.org/ure/lib/textinstream.uno.so [private]
103 /opt/openoffice.org/ure/lib/textoutstream.uno.so [private]
104 /opt/openoffice.org/ure/lib/stocservices.uno.so [private]
105 /opt/openoffice.org/ure/lib/uuresolver.uno.so [private]
106 /opt/openoffice.org/ure/share/java/java_uno.jar [private]
107 /opt/openoffice.org/ure/share/misc/javavendors.xml [private]
111 Program Files\URE\LICENSE
112 Program Files\URE\THIRDPARTYLICENSEREADME.html
113 Program Files\URE\README
114 Program Files\URE\bin\uno.exe
115 Program Files\URE\bin\regcomp.exe
116 Program Files\URE\bin\regmerge.exe
117 Program Files\URE\bin\regview.exe
118 Program Files\URE\bin\cppu3.dll
119 Program Files\URE\bin\cppuhelper3MSC.dll
120 Program Files\URE\bin\purpenvhelper3MSC.dll
121 Program Files\URE\bin\sal3.dll
122 Program Files\URE\bin\salhelper3MSC.dll
123 Program Files\URE\bin\stlport_vc7145.dll
124 Program Files\URE\java\unoloader.jar
125 Program Files\URE\java\juh.jar
126 Program Files\URE\java\jurt.jar
127 Program Files\URE\java\ridl.jar
128 Program Files\URE\misc\types.rdb
129 Program Files\URE\misc\services.rdb
130 Program Files\URE\bin\libxml2.dll [external]
131 Program Files\URE\bin\uno.ini [private]
132 Program Files\URE\bin\reg3.dll [private]
133 Program Files\URE\bin\rmcxt3.dll [private]
134 Program Files\URE\bin\store3.dll [private]
135 Program Files\URE\bin\jvmaccess3MSC.dll [private]
136 Program Files\URE\bin\jvmfwk3.dll [private]
137 Program Files\URE\bin\sunjavaplugin.dll [private]
138 Program Files\URE\bin\JREProperties.class [private]
139 Program Files\URE\bin\jvmfwk3.ini [private]
140 Program Files\URE\bin\msci_uno.dll [private]
141 Program Files\URE\bin\java_uno.dll [private]
142 Program Files\URE\bin\cli_uno.dll [private]
143 Program Files\URE\bin\urp_uno.dll [private]
144 Program Files\URE\bin\unsafe_uno_uno.dll [private]
145 Program Files\URE\bin\affine_uno_uno.dll [private]
146 Program Files\URE\bin\log_uno_uno.dll [private]
147 Program Files\URE\bin\jpipe.dll [private]
148 Program Files\URE\bin\juh.dll [private]
149 Program Files\URE\bin\juhx.dll [private]
150 Program Files\URE\bin\acceptor.uno.dll [private]
151 Program Files\URE\bin\bootstrap.uno.dll [private]
152 Program Files\URE\bin\bridgefac.uno.dll [private]
153 Program Files\URE\bin\connector.uno.dll [private]
154 Program Files\URE\bin\introspection.uno.dll [private]
155 Program Files\URE\bin\invocadapt.uno.dll [private]
156 Program Files\URE\bin\invocation.uno.dll [private]
157 Program Files\URE\bin\javaloader.uno.dll [private]
158 Program Files\URE\bin\javavm.uno.dll [private]
159 Program Files\URE\bin\namingservice.uno.dll [private]
160 Program Files\URE\bin\proxyfac.uno.dll [private]
161 Program Files\URE\bin\reflection.uno.dll [private]
162 Program Files\URE\bin\remotebridge.uno.dll [private]
163 Program Files\URE\bin\streams.uno.dll [private]
164 Program Files\URE\bin\textinstream.uno.dll [private]
165 Program Files\URE\bin\textoutstream.uno.dll [private]
166 Program Files\URE\bin\stocservices.uno.dll [private]
167 Program Files\URE\bin\uuresolver.uno.dll [private]
168 Program Files\URE\bin\unicows.dll [private]
169 Program Files\URE\bin\uwinapi.dll [private]
170 Program Files\URE\java\java_uno.jar [private]
171 Program Files\URE\misc\javavendors.xml [private]
173 %windir%\assembly\cli_basetypes.dll [GAC]
174 %windir%\assembly\cli_ure.dll [GAC]
175 %windir%\assembly\cli_uretypes.dll [GAC]
176 %windir%\assembly\cli_cppuhelper.dll [GAC]
177 %windir%\assembly\policy.1.0.cli_basetypes.dll [GAC]
178 %windir%\assembly\policy.1.0.cli_ure.dll [GAC]
179 %windir%\assembly\policy.1.0.cli_uretypes.dll [GAC]
180 %windir%\assembly\policy.1.0.cli_cppuhelper.dll [GAC]
182 Files marked as [external] are included in the URE installation because the URE
183 needs them and it cannot be guaranteed that they are available on a given
184 system. Applications using the URE may need those files too, so they are made
185 available as non-private files of the URE installation. However, in an ideal
186 world, those files would not need to be included in the URE installation.
188 Files marked as [private] are private to the URE installation. To avoid
189 stability issues, applications that use the URE should not access the
190 functionality of these files.
192 Files marked as [GAC] are installed in the Global Assembly Cache on Windows. The
193 file path reflects the path as seen in the Explorer with the Assembly
194 Cache Viewer Tool (Shfusion.dll) installed. The actual paths are different.
197 Public Files in a URE Installation
198 ----------------------------------
200 A URE installation contains the following public files:
202 - uno is the executable file that runs UNO components. For more details, see
203 the SDK Developer's Guide.
205 - regcomp, regmerge, and regview are tools that work with binary registries that
206 contain UNO type or UNO service information. For more details, see the SDK
209 - javaldx is a helper program on Linux x86, Solaris x86, and Solaris SPARC that
210 enables Java executables to use a Java VM, such as the Sun JDK/JRE. Executables
211 such as uno and regcomp run this helper automatically.
213 - cppu, cppuhelper, purpenvhelper, sal, and salhelper are the public C++ UNO
214 runtime dynamic libraries that client code can call. For details on the
215 functionality that these libraries offer, see the "C++ Reference" section of the
216 SDK HTML documentation. The corresponding C++ header files are not in the URE,
217 but rather in the SDK.
219 - stlport is the dynamic library of STLport 4.5, which is used in the public
220 interface of cppuhelper and salhelper, and thus also has to be part of the
221 public interface of the URE. The corresponding C++ header files are not in the
222 URE, but rather in the SDK.
224 - unoloader.jar, juh.jar, jurt.jar, and ridl.jar are the public Java UNO runtime
225 Java[tm] Archives (JARs) that client code can call. For details on the
226 functionality that these files offer, see the "Java UNO Runtime Reference"
227 section of the SDK HTML documentation.
229 - types.rdb and services.rdb are preconfigured UNO type and service registries.
230 For more details, see the "Deploying a URE" section of this README.
236 By default, the URE is installed in /opt/openoffice.org/ure on Linux x86,
237 Solaris x86, and Solaris SPARC, and in Program Files\URE on Windows. If you
238 want, you can override this location when you install the URE, for example, with
239 rpm --relocate on Linux. The URE is designed so that multiple instances of the
240 URE can coexist on a single system in different locations.
242 On Windows, the path to the installed URE is stored in the registry under the
243 path "HKEY_CLASSES_ROOT\Software\OpenOffice.org\URE" and key "Path".
246 UNO Deployment Variables
247 ------------------------
249 The URE installation is preconfigured with several UNO types and UNO services.
250 The available types and services are listed in the types.rdb and services.rdb
251 files respectively. The location of these files is stored by two UNO deployment
252 variables, namely UNO_TYPES and UNO_SERVICES. These variables are set up by a
253 unorc or uno.ini that is private to the URE installation. This private file
254 also contains the private deployment variables URE_INTERNAL_LIB_DIR,
255 URE_INTERNAL_JAVA_DIR, and URE_INTERNAL_JAVA_CLASSPATH, which are required by
258 The UNO_TYPES and UNO_SERVICES variables automatically search the following
259 locations for types.rdb and services.rdb files:
261 Linux x86, Solaris x86, and Solaris SPARC:
263 - <URE installation>/share/misc/ types.rdb and services.rdb, respectively
264 - /etc/opt/ure/ types.rdb and services.rdb, respectively
265 - ~/.ure/ types.rdb and services.rdb, respectively
266 - any URLs listed in the public deployment variables URE_MORE_TYPES and
267 URE_MORE_SERVICES, respectively
271 - <URE installation>\misc\ types.rdb and services.rdb, respectively
272 - Documents and Settings\<User Name>\Application Data\URE\ types.rdb and
273 services.rdb, respectively
274 - any URLs listed in the public deployment variables URE_MORE_TYPES and
275 URE_MORE_SERVICES, respectively
277 NOTE: The URE on Windows does not support a system-wide deployment of additional
278 types.rdb and services.rdb files. That is, you cannot store additional
279 types.rdb and services.rdb files in a Documents and Settings\All
280 Users\Application Data\URE directory.
282 The Java UNO environment needs type information in the form of Java class files
283 instead of rdb files. Additional types are searched for in any URLs listed in
284 the public deployment variable URE_MORE_JAVA_TYPES.
286 For details on how to override the UNO deployment variables, see the SDK
287 Developer's Guide or go to http://udk.openoffice.org/common/man/concept/
288 micro_deployment.html.
290 If you want to deploy additional UNO types and services, use regcomp.
292 CAUTION: Do not deploy these types and services to the types.rdb and
293 services.rdb in the URE installation.
299 When a URE executable, such as uno, starts a Java VM, the URE Java Framework
300 searches for a suitable JDK/JRE installation. For more information on the URE
301 Java Framework, go to http://udk.openoffice.org/common/man/spec/
302 javavendorextension.sxw. The private javavendors.xml file in a URE installation
303 provides preconfigured support for various JDK/JRE versions. The private
304 jvmfwk3rc or jvmfwk3.ini file specifies the location of a suitable JDK/JRE
305 installation. When an executable tries to start a Java VM, the URE searches the
306 relevant Java settings file for information on a suitable JDK/JRE version.
308 NOTE: On any platform, you can delete the javasettings_${_OS}_${_ARCH}.xml file
309 if the file contains problematic stale data.
311 By default, the URE searches for a Java settings file in the following
314 Linux x86, Solaris x86, and Solaris SPARC:
316 - /etc/opt/ure/javasettings_${_OS}_${_ARCH}.xml
317 - ~/.ure/javasettings_${_OS}_${_ARCH}.xml
319 NOTE: If these files do not contain information about a JDK/JRE, the URE
320 searches for a suitable JDK/JRE installation and stores the relevant information
321 in the ~/.ure/javasettings_${_OS}_${_ARCH}.xml file. If you want all users to
322 access the same JDK/JRE, log on as root and copy an existing
323 ~/.ure/javasettings_${_OS}_${_ARCH}.xml to
324 /etc/opt/ure/javasettings_${_OS}_${_ARCH}.xml.
328 - Documents and Settings\<User Name>\Application
329 Data\URE\javasettings_${_OS}_${_ARCH}.xml
331 NOTE: If this file does not contain information about a JDK/JRE, the URE
332 searches for a suitable JDK/JRE installation and stores the relevant information
333 in the Documents and Settings\<User Name>\Application
334 Data\URE\javasettings_${_OS}_${_ARCH}.xml file. The URE on Windows does not
335 by default support a system-wide deployment of the Java settings file. That is,
336 you cannot store the file in a Documents and Settings\All Users\Application
339 You can override these paths by setting the URE_OVERRIDE_JAVA_JFW_SHARED_DATA
340 and URE_OVERRIDE_JAVA_JFW_USER_DATA deployment variables. You can also use the
341 UNO_JAVA_JFW_JREHOME deployment variable to specify the location of a JDK/JRE
342 installation. For more information on this variable, see
343 http://udk.openoffice.org/common/man/spec/javavendorextension.sxw.
345 The URE allows clients to extend the content of UNO_JAVA_JFW_CLASSPATH_URLS (see
346 http://udk.openoffice.org/common/man/spec/javavendorextension.sxw): The content
347 of the public deployment variable URE_MORE_JAVA_CLASSPATH_URLS, if set, is
348 added to the end of the URE's UNO_JAVA_JFW_CLASSPATH_URLS list.
350 You might experience problems in an SDK environment that uses different JDK/JRE
351 versions for the SDK and the URE. This problem arises when the OO_SDK_JAVA_HOME
352 SDK environment variable specifies a different Java VM than the Java VM that is
353 used in the URE Java Framework. See the "Installation Guide" section of the SDK
354 HTML documentation to find out how to set the OO_SDK_JAVA_HOME environment
358 GNU Compiler Collection on Linux x86
359 ------------------------------------
361 On Linux x86, the URE uses libgcc_s.so.1 to run binary UNO components that were
362 compiled with the GNU Compiler Collection (GCC). The libgcc_s.so.1 corresponds
363 to GCC 3.4.1 as built on a glibc 2.2.4 system. To avoid GCC compatibility
364 issues, use the same GCC version (or later) when you compile the UNO binaries.
365 Otherwise, use LD_PRELOAD to replace the libgcc_s.so.1 in URE with a matching
369 C++ and Java UNO Components
370 ---------------------------
372 C++ UNO components run from within the uno executable can depend on an
373 environment in which the public C++ UNO runtime dynamic libraries (cppu,
374 cppuhelper, purpenvhelper, sal, salhelper, stlport) and the external dynamic
375 libraries (libxml2 etc.) are already available (that is, on Linux x86, Solaris
376 x86, and Solaris SPARC, a component dynamic library need not make sure that the
377 UNO runtime dynamic libraries it needs can be found on its RPATH).
379 Similarly, Java UNO components can depend on an environment in which the public
380 Java UNO runtime JARs are already available (that is, a component JAR need not
381 list in its manifest Class-Path the UNO runtime JARs it needs).
383 If a Java UNO component requires additional UNO types, use the UNO-Type-Path
384 manifest entry to specify the location of the UNO types. The UNO-Type-Path is
385 similar to the Class-Path manifest entry and can contain URLs of JARs and
386 directories that contain the Java classes that represent additional UNO types.
387 The UnoClassLoader evaluates the UNO-Type-Path manifest entry to ensure that the
388 additional UNO types are available to the Java UNO environment.
390 The UNO-Type-Path can have the following entries:
393 Current JAR does not contain UNO types.
396 Current JAR contains UNO types.
398 - UNO-Type-Path: any/other/jar.jar yet/another/jar.jar
399 Current JAR brings other JARs that contain UNO types.
401 - UNO-Type-Path: any/other/jar.jar <> yet/another/jar.jar
402 Current JAR and other JARs that the current JARs uses contain UNO types.
404 NOTE: If you do not include the UNO-Type-Path manifest entry, the URE assumes
405 that the current JAR contains UNO types.
407 If a Java application requires the Java UNO environment, the UnoClassLoader must
408 be set up to load the relevant Java classes. For example, Runner.java in the
409 uretest bundle is packed as runner.jar, which the makefiles use to launch the
410 javaclient.jar application. For more information, see
411 com.sun.star.lib.unoloader.UnoClassLoader and
412 com.sun.star.lib.unoloader.UnoLoader in the "Java UNO Runtime Reference" section
413 of the SDK HTML documentation.