|
Distribute your products in such a way that your customer does
not need to use the HP aC++ compiler or driver. That is,
distribute only executables and shared libraries. Be sure your customer
has read this distribution information.
If you write code in HP aC++ and distribute any of the
following C++ files to your customers, read all of the
following sections for recommendations and legal requirements.
- Shared libraries containing C++ code
(with the exception of the following:
- /usr/lib/hpux##/libCsup.so
- /usr/lib/hpux##/libstd.so (and libstd_v2.so)
- /usr/lib/hpux##/librwtool.so (and librwtool_v2.so)
- /usr/lib/hpux##/libstream.so
(## is 32 or 64 - provided as part of the HP-UX core system)
- Executable files produced by HP aC++ and applications that use shared libraries provided with HP aC++.
- Object files produced by HP aC++.
- Archived libraries containing C++ code.
- Any combination of the above.
Note: If you choose to distribute archive libraries or
object files, your customer must have purchased HP aC++.
This section is organized into the following topics:
|
| Applications that use HP aC++ Shared Libraries |
The following HP aC++ run-time libraries are shipped as part of the HP-UX 11.x core system:
- /usr/lib/hpux##/libCsup.so
- /usr/lib/hpux##/libstd.so and libstd_v2.so
- /usr/lib/hpux##/libstd_v2.so and librwtool_v2.so
- /usr/lib/hpux##/libstream.so
- Libraries in /usr/include/hpux32 or /usr/include/hpux64
(Where ## is 32 or 64, which are provided as part of the HP-UX core system).
Note: If you distribute either executable files or shared
libraries as part of your product, you should not ship the above
HP aC++ runtime libraries with your product in such a way that it
results in overwriting a newer library version with an older,
incompatible version. If you ship any HP aC++ run-time library,
then it is your responsibility to ensure that an old library
version is not installed over a new one.
|
| Linking Your HP aC++ Libraries with Other Languages |
|
The C++ language requires that non-local static objects be initialized
before any function or object is used. HP aC++ automatically initializes
non-local static objects in all object files, including shared libraries,
before the first statement in main() executes. No special files
or link options are needed.
If the library is being dynamically loaded from pure C or Java
as a plugin, the library should be linked with the HP aC++ runtime
libraries in the following order:
-AP: -lstd -lstream -lCsup -lunwind -lm
-AA: -lstd_v2 -lCsup -lunwind -lm
If the library does not use libstd (STL) or libstream
(iostreams), then they can be eliminated. If tools.h++
is used, then add -lrwtool (or -lrwtool_v2) to the left.
In addition, your customers should review Mixing C++ with Other Languages
for information on linking HP aC++ modules with HP C and HP FORTRAN 90.
|
| Installing your Application |
|
HP aC++ releases are usually forward compatible, but HP cannot guarantee
that this will be true for all releases. If you have questions about the
compatibility of HP aC++ releases, you should contact your HP support
representative.
Normally your customer will already have the correct runtime installed.
If your product requires a newer version, it is recommended that the
customer install the latest patch.
Your application’s installation procedure should install the
appropriate HP aC++ components in the standard directories on your
customer’s systems. This will ensure that the aCC command
can find them.
Note: If your customer already has HP aC++ installed and
their version is newer than yours, do not overwrite any of the
existing HP aC++ components. Do not install your product on a system
that has a newer version of HP aC++ if that newer version is
incompatible with your version.
Ensure that your customer does not install a version of HP aC++
after installing your product; if that version of HP aC++ is
incompatible with your version.
|
| HP aC++ Files You May Distribute |
You can package and redistribute the following HP aC++ components to
your customers. The following HP aC++ runtime libraries are provided
as a patch to the HP-UX core system:
- /usr/lib/hpux##/libCsup.so
- /usr/lib/hpux##/libstd.so and libstd_v2.so
- /usr/lib/hpux##/librwtool.so and librwtool_v2.so
- /usr/lib/hpux##/libstream.so
(## is 32 or 64)
|
| Terms for Distribution of HP aC++ Files |
Permission to distribute the above mentioned HP aC++ runtime
shared libraries is based on the following terms and conditions:
-
These HP aC++ components cannot be redistributed as part
of a C++ compiler, linker, or interpreter product.
-
All copyright notices in the code must be retained.
-
The HP aC++ executable components can only be redistributed by HP aC++ customers.
|