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