[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::c_plus_plus

Title:C++
Notice:Read 1.* and use keywords (e.g. SHOW KEY/FULL KIT_CXX_VAX_VMS)
Moderator:DECCXX::AMARTIN
Created:Fri Nov 06 1987
Last Modified:Thu Jun 05 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:3604
Total number of notes:18242

3598.0. "re-distribution of libcxxstd.olb on VMS systems" by KZIN::HUDSON (That's what I think) Tue Jun 03 1997 12:32

A software partner distributes some components of his software in the
form of .OBJ and .OLB files, to be linked on the customer target machine.
The customers may not have the C++ product themselves.

For certain modules, this would normally require CXXLINK, and the 
LIBCXXSTD.OLB file.

What should this partner do?  Is it valid to send a copy of LIBCXXSTD.OLB
to his customers?  Does he need (and is he allowed) to send CXX$LINK.EXE?

Or is the answer just "you must ship .EXEs, not .OBJs"?

Thanks,
nick
T.RTitleUserPersonal
Name
DateLines
3598.1DECCXX::MITCHELLTue Jun 03 1997 17:0813
The SPD doesn't explicitly cover LIBCXXSTD.OLB, but the intent is
to allow redistribution of run-time code as necessary.

Redistribution of CXX$LINK.EXE isn't permitted, and the issue hasn't
come up before.  CXXLINK iteratively instantiates all templates
by doing trial pre-links, and then invokes the linker to do the
final link.  (You can see the commands that CXXLINK generates by
specifying the /LOG_FILE qualifier.)  It would seem that the partner
could provide all needed object files, including those for necessary
instantiations, and provide a linker options file to do the link.

We might want to have some off-line discussion of this and involve
the product manager.  Please feel free to send me mail or call me.
3598.2KZIN::HUDSONThat's what I thinkWed Jun 04 1997 09:5612
re: .1

Thanks for the quick answer.  I don't know whether the partner will need the
CXXLINK capability, or whether being able to redistribute LIBCXXSTD.OLB
will be enough; I'll go back to him with the info and see what he says.

Out of interest, why is this file shipped as an object library with C++
rather than as a shareable image with VMS?  Is there a technical reason
for this, or is it just that VMS hasn't caught up with C++ yet and in a future
version will include the LIBCXXSTD functionality in a shareable image?

nick
3598.3it will be a shareable image in the futureHNDYMN::MCCARTHYA Quinn Martin ProductionWed Jun 04 1997 10:4412
>>Out of interest, why is this file shipped as an object library with C++
>>rather than as a shareable image with VMS?  Is there a technical reason
>>for this, or is it just that VMS hasn't caught up with C++ yet and in a future
>>version will include the LIBCXXSTD functionality in a shareable image?

The standard isn't yet.  IE, its still changing.  Having had to deal with
upward compatabile issues in the past, we are shipping the object only form
until things like "which external names are supposed to be exported" are
all firmed up.  At that time a shared library and shared object (Digital UNIX)
will start showing up in the base operating system.

Brian J.