Rogue Wave Knowledge Base
Search:    
Browse by category:
Knowledgebase | Glossary | Ask a Question |

How to create a single SourcePro threads rollup library?

Article ID: 1267
Last updated: 07 Jun, 2012
Revision: 1
print  Print
share  Share
Views: 952
Posted: 01 Jan, 2000
by --
Updated: 07 Jun, 2012
by Rehme L.

Problem


How to create a single consolidated SourcePro threads rollup library on UNIX?




Cause





Action


Customers in the past requested for a single consolidated SourcePro Threads rollup library that will help link just one Threads library instead of nine Threads module libraries. Here are brief instructions to build a threads rollup library on Solaris 10 with studio 10 compiler. You need to modify the makefile that comes with threads module under <SourcePro_root>source hread<build_tag>makefile. Use this makefile as it has targets to build libthread2412d.so which is the last one to be built based on the dependencies. We tested on Solaris 10 using studio 10 32-bit compiler with patch 4 (117830-04) using 12d configuration.

On your system please make sure that the following macros in the makefile point to the right Rogue Wave locations. The first one, BUILDSPACE, should point to the Rogue Wave root directory; the second one, RWCOMBINEDOBJECTS, should have the object modules at the relative locations shown.

# The path to the root of the buildspace

BUILDSPACE= ./../../..

RWCOMBINEDOBJECTS= ../../trace/$(TAG)/*.o ../../threxcept/$(TAG)/*.o ../../sync/$(TAG)/*.o ../../pointer/$(TAG)/*.o ../../functor/$(TAG)/*.o ../../functor_list/$(TAG)/*.o ../../functor_map/$(TAG)/*.o ../../itc/$(TAG)/*.o $(THREADOBJECTS)

And, at the end of the makefile add the following rule to build the threads rollup library.

# Rule to build the threads rollup library.

$(BUILDSPACE)/lib/libthr12d.so:$(BUILDSPACE)/lib/libthread2412d.so $(BUILDSPACE)/lib/libtls71012d.so $(BUILDSPACE)/lib/libtrace2312d.so $(BUILDSPACE)/lib/libthrexcept2312d.so $(BUILDSPACE)/lib/libsync2412d.so $(BUILDSPACE)/lib/libpointer2512d.so $(BUILDSPACE)/lib/libfunctor2312d.so $(BUILDSPACE)/lib/libfunctor_list2312d.so $(BUILDSPACE)/lib/libitc2312d.so $(THREADOBJECTS)

$(AR) $(LINKFLAGS) $(ARFLAGS) $(BUILDSPACE)/lib/libthr12d.so $(RWCOMBINEDOBJECTS)

Note that the libraries included above are for 12d configuration and for other RW build configurations you'll have to include the correct dependent libraries.


This article was:   Helpful | Not helpful Report an issue


Prev     Next
What is a static initialization problem?       Display Issues during SourcePro installation

Others in this category
b Incorrect RCB Compiler & OS Selections in SuSE Linux Enterprise Server (SLES) 9
b SourcePro Static build looking for a shared Standard Library version
b Currency Library fails to build on AIX 5.3 with xlC 8.0.0.15
b SourcePro install problem on Linux platform
b Use Stream Versions to Improve Efficiency or Provide Compatibility
b On AIX 5.3, RCB only generates static libs (*.a) and not dynamic libs (*.so)
b What is a static initialization problem?
b Display Issues during SourcePro installation
b Problem Installing SourcePro on 64bit Linux