PSARC 2013/102 Enabling threading support in Perl
authorBrian Cameron <brian.cameron@oracle.com>
Thu, 25 Apr 2013 17:27:57 -0700
changeset 1283 992606b944e8
parent 1282 16201bef295c
child 1284 2142b1cabcbe
PSARC 2013/102 Enabling threading support in Perl 16635084 we want a threaded perl 5.12 in solaris
components/perl512/Makefile
components/perl512/perl-512.p5m
components/perl512/resolve.deps
--- a/components/perl512/Makefile	Wed Apr 24 11:14:11 2013 -0700
+++ b/components/perl512/Makefile	Thu Apr 25 17:27:57 2013 -0700
@@ -91,6 +91,9 @@
 			    -O \
 			    -de
 
+CONFIGURE_THREAD_OPTIONS =  -Dusethreads \
+			    -Duseithreads
+
 COMPONENT_POST_CONFIGURE_ACTION = \
 	(cd $(@D); \
 	    cp config.sh config.sh_orig ; \
@@ -116,6 +119,22 @@
 #
 COMPONENT_BUILD_ENV	+=	PATH=$(dir $(CC.studio.32)):$(PATH)
 
+# ST=single-thread.  MT=multi-thread.  The only difference in the build is that
+# $(CONFIGURE_THREAD_OPTIONS) gets added to $(CONFIGURE_OPTIONS) in the MT case.
+#
+ST_VARIANT =	$(BUILD_DIR)/$(MACH32)-st
+MT_VARIANT =	$(BUILD_DIR)/$(MACH32)-mt
+
+VARIANTS =	$(MT_VARIANT) $(ST_VARIANT)
+
+$(VARIANTS:%=%/.configured):	BITS=32
+
+$(MT_VARIANT)/.configured:	CONFIGURE_OPTIONS += $(CONFIGURE_THREAD_OPTIONS)
+
+BUILD_32 =	$(VARIANTS:%=%/.built)
+INSTALL_32 =	$(VARIANTS:%=%/.installed)
+TEST_32 =	$(VARIANTS:%=%/.tested)
+
 build:		$(BUILD_32)
 
 install:	$(INSTALL_32)
--- a/components/perl512/perl-512.p5m	Wed Apr 24 11:14:11 2013 -0700
+++ b/components/perl512/perl-512.p5m	Thu Apr 25 17:27:57 2013 -0700
@@ -50,7 +50,7 @@
 file path=usr/perl5/$(PERL_VERSION)/bin/h2xs
 file path=usr/perl5/$(PERL_VERSION)/bin/instmodsh
 file path=usr/perl5/$(PERL_VERSION)/bin/libnetcfg
-file path=usr/perl5/$(PERL_VERSION)/bin/perl$(COMPONENT_VERSION)
+file build/$(MACH32)-st/perl path=usr/perl5/$(PERL_VERSION)/bin/perl$(COMPONENT_VERSION)
 file path=usr/perl5/$(PERL_VERSION)/bin/perlbug
 file path=usr/perl5/$(PERL_VERSION)/bin/perldoc
 file path=usr/perl5/$(PERL_VERSION)/bin/perlivp
@@ -203,6 +203,8 @@
 file \
     path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)-solaris-64int/Data/Dumper.pm
 file \
+    path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)-solaris-64int/DB_File.pm
+file \
     path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)-solaris-64int/Devel/DProf.pm
 file \
     path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)-solaris-64int/Devel/PPPort.pm
@@ -382,6 +384,10 @@
 file \
     path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)-solaris-64int/auto/Data/Dumper/Dumper.so
 file \
+    path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)-solaris-64int/auto/DB_File/autosplit.ix
+file \
+    path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)-solaris-64int/auto/DB_File/DB_File.so
+file \
     path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)-solaris-64int/auto/Devel/DProf/DProf.so
 file \
     path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)-solaris-64int/auto/Devel/PPPort/PPPort.so
@@ -1461,6 +1467,7 @@
 file path=usr/perl5/$(PERL_VERSION)/lib/pod/perl5122delta.pod
 file path=usr/perl5/$(PERL_VERSION)/lib/pod/perl5123delta.pod
 file path=usr/perl5/$(PERL_VERSION)/lib/pod/perl5124delta.pod
+file path=usr/perl5/$(PERL_VERSION)/lib/pod/perl5125delta.pod
 file path=usr/perl5/$(PERL_VERSION)/lib/pod/perl561delta.pod
 file path=usr/perl5/$(PERL_VERSION)/lib/pod/perl56delta.pod
 file path=usr/perl5/$(PERL_VERSION)/lib/pod/perl570delta.pod
@@ -2556,6 +2563,7 @@
 file path=usr/perl5/$(PERL_VERSION)/man/man1/perl5122delta.1
 file path=usr/perl5/$(PERL_VERSION)/man/man1/perl5123delta.1
 file path=usr/perl5/$(PERL_VERSION)/man/man1/perl5124delta.1
+file path=usr/perl5/$(PERL_VERSION)/man/man1/perl5125delta.1
 file path=usr/perl5/$(PERL_VERSION)/man/man1/perl561delta.1
 file path=usr/perl5/$(PERL_VERSION)/man/man1/perl56delta.1
 file path=usr/perl5/$(PERL_VERSION)/man/man1/perl570delta.1
@@ -2836,6 +2844,7 @@
 file path=usr/perl5/$(PERL_VERSION)/man/man3/DBM_Filter::null.3
 file path=usr/perl5/$(PERL_VERSION)/man/man3/DBM_Filter::utf8.3
 file path=usr/perl5/$(PERL_VERSION)/man/man3/Data::Dumper.3
+file path=usr/perl5/$(PERL_VERSION)/man/man3/DB_File.3
 file path=usr/perl5/$(PERL_VERSION)/man/man3/Devel::DProf.3
 file path=usr/perl5/$(PERL_VERSION)/man/man3/Devel::InnerPackage.3
 file path=usr/perl5/$(PERL_VERSION)/man/man3/Devel::PPPort.3
@@ -3305,7 +3314,7 @@
 # This link is always mediated.
 # Customers may customize this link by creating their own IPS
 # packages with mediated links.
-link path=usr/bin/perl target=../perl5/5.12/bin/perl \
+link path=usr/bin/perl target=../perl5/$(PERL_VERSION)/bin/perl \
     mediator=perl mediator-version=5.12 mediator-priority=vendor
 
 link path=usr/perl5/bin target=5.12/bin
--- a/components/perl512/resolve.deps	Wed Apr 24 11:14:11 2013 -0700
+++ b/components/perl512/resolve.deps	Thu Apr 25 17:27:57 2013 -0700
@@ -1,3 +1,4 @@
+database/berkeleydb-5
 library/database/gdbm
 system/library
 system/library/math