How to create a single SourcePro threads rollup library?

Article ID: 1267
Last updated: 07 Jun, 2012
Article ID: 1267
Last updated: 07 Jun, 2012
Revision: 1
Views: 963
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
Article ID: 1267
Last updated: 07 Jun, 2012
Revision: 1
Views: 963
Posted: 01 Jan, 2000 by --
Updated: 07 Jun, 2012 by Rehme L.

Others in this category