summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Stormont <astormont@racktopsystems.com>2019-09-04 15:57:56 +0100
committerAndrew Stormont <astormont@racktopsystems.com>2019-09-27 23:36:30 +0100
commit0ae9a84f82e18b30b7354ca5193afdbbb1cdc880 (patch)
tree28b6af611a075fd3f997ae03a5badd5e556c7a09
parent2b292e00835d471d54a29c338155ab9d5756c18d (diff)
downloadillumos-joyent-0ae9a84f82e18b30b7354ca5193afdbbb1cdc880.tar.gz
7661 illumos should provide 64bit perl modules
Reviewed by: Andy Fiddaman <andy@omniosce.org> Reviewed by: Toomas Soome <tsoome@me.com> Approved by: Dan McDonald <danmcd@joyent.com>
-rw-r--r--usr/src/Makefile.master30
-rw-r--r--usr/src/Makefile.master.6423
-rw-r--r--usr/src/cmd/perl/Makefile.perl15
-rw-r--r--usr/src/cmd/perl/Makefile.targ35
-rw-r--r--usr/src/cmd/perl/contrib/Sun/Solaris/BSM/Makefile6
-rw-r--r--usr/src/cmd/perl/contrib/Sun/Solaris/Intrs/Makefile11
-rw-r--r--usr/src/cmd/perl/contrib/Sun/Solaris/Kstat/Makefile11
-rw-r--r--usr/src/cmd/perl/contrib/Sun/Solaris/Lgrp/Makefile11
-rw-r--r--usr/src/cmd/perl/contrib/Sun/Solaris/Pg/Makefile6
-rw-r--r--usr/src/cmd/perl/contrib/Sun/Solaris/Project/Makefile11
-rw-r--r--usr/src/cmd/perl/contrib/Sun/Solaris/Task/Makefile11
-rw-r--r--usr/src/cmd/perl/contrib/Sun/Solaris/Utils/Makefile10
-rw-r--r--usr/src/lib/Makefile.lib5
-rw-r--r--usr/src/pkg/Makefile4
-rw-r--r--usr/src/pkg/manifests/runtime-perl-module-sun-solaris.mf110
-rw-r--r--usr/src/pkg/manifests/system-extended-system-utilities.mf2
-rw-r--r--usr/src/tools/env/illumos.sh8
17 files changed, 227 insertions, 82 deletions
diff --git a/usr/src/Makefile.master b/usr/src/Makefile.master
index 375f4fb01f..892c447a49 100644
--- a/usr/src/Makefile.master
+++ b/usr/src/Makefile.master
@@ -26,6 +26,7 @@
# Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved.
# Copyright 2015 Gary Mills
# Copyright 2015 Igor Kozhukhov <ikozhukhov@gmail.com>
+# Copyright 2016 RackTop Systems.
# Copyright 2016 Toomas Soome <tsoome@me.com>
# Copyright 2018 OmniOS Community Edition (OmniOSce) Association.
# Copyright 2019, Joyent, Inc.
@@ -193,8 +194,11 @@ FIND= /usr/bin/find
PERL= /usr/bin/perl
PERL_VERSION= 5.10.0
PERL_PKGVERS= -510
-PERL_ARCH = i86pc-solaris-64int
-$(SPARC_BLD)PERL_ARCH = sun4-solaris-64int
+PERL_MACH= i86pc
+$(SPARC_BLD)PERL_MACH= sun4
+PERL_VARIANT=
+PERL_ARCH= $(PERL_MACH)-solaris$(PERL_VARIANT)-64int
+PERL_ARCH64= $(PERL_MACH)-solaris$(PERL_VARIANT)-64
PYTHON_VERSION= 2.7
PYTHON_PKGVERS= -27
PYTHON_SUFFIX=
@@ -794,13 +798,18 @@ CCEXTNEEDED = -lCrun -lCstd
$(__GNUC)CCNEEDED = -L$(GCCLIBDIR) -lstdc++ -lgcc_s
$(__GNUC)CCEXTNEEDED = $(CCNEEDED)
+CCNEEDED64 = -lCrun
+CCEXTNEEDED64 = -lCrun -lCstd
+$(__GNUC64)CCNEEDED64 = -L$(GCCLIBDIR) -lstdc++ -lgcc_s
+$(__GNUC64)CCEXTNEEDED = $(CCNEEDED64)
+
LINK.c= $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
LINK64.c= $(CC) $(CFLAGS64) $(CPPFLAGS) $(LDFLAGS)
NORUNPATH= -norunpath -nolib
LINK.cc= $(CCC) $(CCFLAGS) $(CPPFLAGS) $(NORUNPATH) \
$(LDFLAGS) $(CCNEEDED)
LINK64.cc= $(CCC) $(CCFLAGS64) $(CPPFLAGS) $(NORUNPATH) \
- $(LDFLAGS) $(CCNEEDED)
+ $(LDFLAGS) $(CCNEEDED64)
#
# lint macros
@@ -843,6 +852,7 @@ LINT.s= $(LINT.c)
#
# For now at least, we cross-compile amd64 on i386 machines.
NATIVE_MACH= $(MACH:amd64=i386)
+NATIVE_MACH64= $(MACH64)
# Define native compilation macros
#
@@ -907,6 +917,13 @@ NATIVEAS= $($(NATIVE_MACH)_AS)
NATIVELD= $($(NATIVE_MACH)_LD)
NATIVELINT= $($(NATIVE_MACH)_LINT)
+NATIVECC64= $($(NATIVE_MACH64)_CC)
+NATIVECCC64= $($(NATIVE_MACH64)_CCC)
+NATIVECPP64= $($(NATIVE_MACH64)_CPP)
+NATIVEAS64= $($(NATIVE_MACH64)_AS)
+NATIVELD64= $($(NATIVE_MACH64)_LD)
+NATIVELINT64= $($(NATIVE_MACH64)_LINT)
+
#
# Makefile.master.64 overrides these settings
#
@@ -917,6 +934,13 @@ AS= $(NATIVEAS)
LD= $(NATIVELD)
LINT= $(NATIVELINT)
+CC64= $(NATIVECC64)
+CCC64= $(NATIVECCC64)
+CPP64= $(NATIVECPP64)
+AS64= $(NATIVEAS64)
+LD64= $(NATIVELD64)
+LINT64= $(NATIVELINT64)
+
# Pass -Y flag to cpp (method of which is release-dependent)
CCYFLAG= -Y I,
diff --git a/usr/src/Makefile.master.64 b/usr/src/Makefile.master.64
index a06525bd6d..c0db926f93 100644
--- a/usr/src/Makefile.master.64
+++ b/usr/src/Makefile.master.64
@@ -21,6 +21,7 @@
#
# Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
# Copyright 2014 Garrett D'Amore <garrett@damore.org>
+# Copyright 2016 RackTop Systems.
#
# rebind basic build macros to 64-bit versions
@@ -56,25 +57,19 @@ GCCLIBDIR= $(GCCLIBDIR64)
#
# Override Makefile.master's settings of CC, CCC, AS and LINT
#
-CC= $($(MACH64)_CC)
-CCC= $($(MACH64)_CCC)
-CPP= $($(MACH64)_CPP)
-AS= $($(MACH64)_AS)
-LD= $($(MACH64)_LD)
-LINT= $($(MACH64)_LINT)
+CC= $(CC64)
+CCC= $(CCC64)
+CPP= $(CPP64)
+AS= $(AS64)
+LD= $(LD64)
+LINT= $(LINT64)
-BUILD.SO= $(CC) $(CFLAGS) -o $@ $(GSHARED) $(DYNFLAGS) \
- $(PICS) $(EXTPICS) -L $(ROOTLIBDIR64) $(LDLIBS)
+BUILD.SO= $(BUILD64.SO)
+BUILDCCC.SO= $(BUILDCCC64.SO)
#
# ld(1) requires the -64 option to create a 64-bit filter solely from a mapfile
#
MAPFILECLASS= -64
-CCNEEDED = -lCrun
-$(__GNUC64)CCNEEDED = -L$(GCCLIBDIR) -lstdc++
-$(__GNUC64)CCNEEDED += -lgcc_s
-
-BUILDCCC.SO= $(CCC) $(CCFLAGS) -o $@ $(GSHARED) $(DYNFLAGS) \
- $(PICS) $(EXTPICS) $(LDLIBS) $(CCNEEDED)
MAPFILE.NGB = $(MAPFILE.NGB_$(MACH64))
diff --git a/usr/src/cmd/perl/Makefile.perl b/usr/src/cmd/perl/Makefile.perl
index 441f3de665..823c2d048d 100644
--- a/usr/src/cmd/perl/Makefile.perl
+++ b/usr/src/cmd/perl/Makefile.perl
@@ -9,8 +9,8 @@
# http://www.illumos.org/license/CDDL.
#
#
-# Copyright (c) 2014 Racktop Systems.
# Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved.
+# Copyright 2016 RackTop Systems.
#
include $(SRC)/lib/Makefile.lib
@@ -22,16 +22,29 @@ include $(SRC)/lib/Makefile.lib
PERLDIR = $(ADJUNCT_PROTO)/usr/perl5/$(PERL_VERSION)
PERLLIBDIR = $(PERLDIR)/lib/$(PERL_ARCH)
PERLINCDIR = $(PERLLIBDIR)/CORE
+PERLLIBDIR64 = $(PERLDIR)/lib/$(PERL_ARCH64)
+PERLINCDIR64 = $(PERLLIBDIR64)/CORE
PERLMOD = $(MODULE).pm
PERLEXT = $(MACH)/$(MODULE).so
+PERLEXT64 = $(MACH64)/$(MODULE).so
ROOTPERLDIR = $(ROOT)/usr/perl5/$(PERL_VERSION)
ROOTPERLLIBDIR = $(ROOTPERLDIR)/lib/$(PERL_ARCH)
ROOTPERLMODDIR = $(ROOTPERLLIBDIR)/Sun/Solaris
ROOTPERLEXTDIR = $(ROOTPERLLIBDIR)/auto/Sun/Solaris/$(MODULE)
+ROOTPERLLIBDIR64 = $(ROOTPERLDIR)/lib/$(PERL_ARCH64)
+ROOTPERLMODDIR64 = $(ROOTPERLLIBDIR64)/Sun/Solaris
+ROOTPERLEXTDIR64 = $(ROOTPERLLIBDIR64)/auto/Sun/Solaris/$(MODULE)
ROOTPERLMOD = $(ROOTPERLMODDIR)/$(MODULE).pm
ROOTPERLEXT = $(ROOTPERLEXTDIR)/$(MODULE).so
+ROOTPERLMOD64 = $(ROOTPERLMODDIR64)/$(MODULE).pm
+ROOTPERLEXT64 = $(ROOTPERLEXTDIR64)/$(MODULE).so
+
+XSUBPP = $(PERLDIR)/bin/$(MACH)/perl $(PERLDIR)/lib/ExtUtils/xsubpp \
+ -typemap $(PERLDIR)/lib/ExtUtils/typemap
+XSUBPP64 = $(PERLDIR)/bin/$(MACH64)/perl $(PERLDIR)/lib/ExtUtils/xsubpp \
+ -typemap $(PERLDIR)/lib/ExtUtils/typemap
CSTD = $(CSTD_GNU99)
diff --git a/usr/src/cmd/perl/Makefile.targ b/usr/src/cmd/perl/Makefile.targ
index ec6110c5cb..d2a04232d7 100644
--- a/usr/src/cmd/perl/Makefile.targ
+++ b/usr/src/cmd/perl/Makefile.targ
@@ -9,45 +9,66 @@
# http://www.illumos.org/license/CDDL.
#
#
-# Copyright (c) 2014 Racktop Systems.
# Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved.
+# Copyright (c) 2016 Racktop Systems.
# Copyright (c) 2018, Joyent, Inc.
-# Link against libc as perl solaris specs
+# Link against libc as per solaris specs
$(PERLEXT):= LDLIBS += -lc
+$(PERLEXT64):= LDLIBS += -lc
# Allow for undefined symbols satisfied by perl
$(PERLEXT):= ZDEFS =
+$(PERLEXT64):= ZDEFS =
$(ROOTPERLEXT) := FILEMODE = 0555
$(ROOTPERLMOD) := FILEMODE = 0444
+$(ROOTPERLEXT64) := FILEMODE = 0555
+$(ROOTPERLMOD64) := FILEMODE = 0444
# CFLAGS for perl, specifically.
PCFLAGS= -DPERL_EUPXS_ALWAYS_EXPORT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
-DPERL_USE_SAFE_PUTENV -D_TS_ERRNO
+PCFLAGS64= -DPERL_EUPXS_ALWAYS_EXPORT -D_LARGEFILE_SOURCE64 \
+ -DPERL_USE_SAFE_PUTENV -D_TS_ERRNO
SMATCH=off
-$(MACH):
+$(MACH) $(MACH64):
$(INS.dir)
$(PERLEXT): $(MACH)/$(MODULE).o
$(BUILD.SO) $(MACH)/$(MODULE).o
+$(PERLEXT64): $(MACH64)/$(MODULE).o
+ $(BUILD64.SO) $(MACH64)/$(MODULE).o
+
$(MACH)/$(MODULE).o: $(MACH)/$(MODULE).c
$(COMPILE.c) $(PCFLAGS) $(C_PICFLAGS) -I$(PERLINCDIR) $< -o $@
-$(MACH)/$(MODULE).c: $(MACH) $(MODULE).xs
- $(PERLDIR)/bin/xsubpp $(XSUBPPFLAGS) $(MODULE).xs >$@
+$(MACH64)/$(MODULE).o: $(MACH64)/$(MODULE).c
+ $(COMPILE64.c) $(PCFLAGS64) $(C_PICFLAGS) -I$(PERLINCDIR64) $< -o $@
+
+$(MACH)/$(MODULE).c: $(MACH) $(MODULE).xs
+ $(XSUBPP) $(XSUBPPFLAGS) $(MODULE).xs >$@
-$(ROOTPERLMODDIR):
+$(MACH64)/$(MODULE).c: $(MACH64) $(MODULE).xs
+ $(XSUBPP64) $(XSUBPPFLAGS64) $(MODULE).xs >$@
+
+$(ROOTPERLMODDIR) $(ROOTPERLMODDIR64):
$(INS.dir)
$(ROOTPERLMOD): $(ROOTPERLMODDIR) $(MODULE).pm
$(RM) $@; $(INS) -s -m $(FILEMODE) -f $^
-$(ROOTPERLEXTDIR):
+$(ROOTPERLMOD64): $(ROOTPERLMODDIR64) $(MODULE).pm
+ $(RM) $@; $(INS) -s -m $(FILEMODE) -f $^
+
+$(ROOTPERLEXTDIR) $(ROOTPERLEXTDIR64):
$(INS.dir)
$(ROOTPERLEXT): $(ROOTPERLEXTDIR) $(MACH)/$(MODULE).so
$(RM) $@; $(INS) -s -m $(FILEMODE) -f $^
+
+$(ROOTPERLEXT64): $(ROOTPERLEXTDIR64) $(MACH64)/$(MODULE).so
+ $(RM) $@; $(INS) -s -m $(FILEMODE) -f $^
diff --git a/usr/src/cmd/perl/contrib/Sun/Solaris/BSM/Makefile b/usr/src/cmd/perl/contrib/Sun/Solaris/BSM/Makefile
index e6bf6fa9f8..df94b776a6 100644
--- a/usr/src/cmd/perl/contrib/Sun/Solaris/BSM/Makefile
+++ b/usr/src/cmd/perl/contrib/Sun/Solaris/BSM/Makefile
@@ -9,14 +9,15 @@
# http://www.illumos.org/license/CDDL.
#
#
-# Copyright (c) 2014 Racktop Systems.
+# Copyright 2014, OmniTI Computer Consulting, Inc. All rights reserved.
+# Copyright 2016 RackTop Systems.
#
MODULE = _BSMparse
include $(SRC)/cmd/perl/Makefile.perl
-# Install module into arch independant directory
+# Install module into arch independent directory
ROOTPERLMODDIR = $(ROOTPERLDIR)/lib/Sun/Solaris/BSM
include $(SRC)/cmd/perl/Makefile.targ
@@ -28,4 +29,3 @@ all: $(PERLMOD)
install: $(ROOTPERLMOD)
clean clobber:
- $(RM) -r $(MACH)
diff --git a/usr/src/cmd/perl/contrib/Sun/Solaris/Intrs/Makefile b/usr/src/cmd/perl/contrib/Sun/Solaris/Intrs/Makefile
index 27085c3a0e..b23fb528fb 100644
--- a/usr/src/cmd/perl/contrib/Sun/Solaris/Intrs/Makefile
+++ b/usr/src/cmd/perl/contrib/Sun/Solaris/Intrs/Makefile
@@ -9,7 +9,8 @@
# http://www.illumos.org/license/CDDL.
#
#
-# Copyright (c) 2014 Racktop Systems.
+# Copyright 2014, OmniTI Computer Consulting, Inc. All rights reserved.
+# Copyright 2016 RackTop Systems.
#
MODULE = Intrs
@@ -24,9 +25,11 @@ include $(SRC)/cmd/perl/Makefile.targ
.KEEP_STATE:
-all: $(PERLEXT) $(PERLMOD)
+$(BUILDPERL32)all: $(PERLEXT) $(PERLMOD)
+$(BUILDPERL64)all: $(PERLEXT64) $(PERLMOD)
-install: $(ROOTPERLEXT) $(ROOTPERLMOD)
+$(BUILDPERL32)install: $(ROOTPERLEXT) $(ROOTPERLMOD)
+$(BUILDPERL64)install: $(ROOTPERLEXT64) $(ROOTPERLMOD64)
clean clobber:
- $(RM) -r $(MACH)
+ $(RM) -r $(MACH) $(MACH64)
diff --git a/usr/src/cmd/perl/contrib/Sun/Solaris/Kstat/Makefile b/usr/src/cmd/perl/contrib/Sun/Solaris/Kstat/Makefile
index 03519911aa..49a63b172a 100644
--- a/usr/src/cmd/perl/contrib/Sun/Solaris/Kstat/Makefile
+++ b/usr/src/cmd/perl/contrib/Sun/Solaris/Kstat/Makefile
@@ -10,7 +10,8 @@
#
# Copyright 2014 Gary Mills
#
-# Copyright (c) 2014 Racktop Systems.
+# Copyright 2014, OmniTI Computer Consulting, Inc. All rights reserved.
+# Copyright 2016 RackTop Systems.
#
MODULE = Kstat
@@ -33,9 +34,11 @@ include $(SRC)/cmd/perl/Makefile.targ
.KEEP_STATE:
-all: $(PERLEXT) $(PERLMOD)
+$(BUILDPERL32)all: $(PERLEXT) $(PERLMOD)
+$(BUILDPERL64)all: $(PERLEXT64) $(PERLMOD)
-install: $(ROOTPERLEXT) $(ROOTPERLMOD)
+$(BUILDPERL32)install: $(ROOTPERLEXT) $(ROOTPERLMOD)
+$(BUILDPERL64)install: $(ROOTPERLEXT64) $(ROOTPERLMOD64)
clean clobber:
- $(RM) -r $(MACH)
+ $(RM) -r $(MACH) $(MACH64)
diff --git a/usr/src/cmd/perl/contrib/Sun/Solaris/Lgrp/Makefile b/usr/src/cmd/perl/contrib/Sun/Solaris/Lgrp/Makefile
index e158241e86..e2d641dbd8 100644
--- a/usr/src/cmd/perl/contrib/Sun/Solaris/Lgrp/Makefile
+++ b/usr/src/cmd/perl/contrib/Sun/Solaris/Lgrp/Makefile
@@ -9,7 +9,8 @@
# http://www.illumos.org/license/CDDL.
#
#
-# Copyright (c) 2014 Racktop Systems.
+# Copyright 2014, OmniTI Computer Consulting. All rights reserved.
+# Copyright 2016 RackTop Systems.
#
MODULE = Lgrp
@@ -28,9 +29,11 @@ include $(SRC)/cmd/perl/Makefile.targ
.KEEP_STATE:
-all: $(PERLEXT) $(PERLMOD)
+$(BUILDPERL32)all: $(PERLEXT) $(PERLMOD)
+$(BUILDPERL64)all: $(PERLEXT64) $(PERLMOD)
-install: $(ROOTPERLEXT) $(ROOTPERLMOD)
+$(BUILDPERL32)install: $(ROOTPERLEXT) $(ROOTPERLMOD)
+$(BUILDPERL64)install: $(ROOTPERLEXT64) $(ROOTPERLMOD64)
clean clobber:
- $(RM) -r $(MACH)
+ $(RM) -r $(MACH) $(MACH64)
diff --git a/usr/src/cmd/perl/contrib/Sun/Solaris/Pg/Makefile b/usr/src/cmd/perl/contrib/Sun/Solaris/Pg/Makefile
index 681e65aa46..0491584ea7 100644
--- a/usr/src/cmd/perl/contrib/Sun/Solaris/Pg/Makefile
+++ b/usr/src/cmd/perl/contrib/Sun/Solaris/Pg/Makefile
@@ -9,14 +9,15 @@
# http://www.illumos.org/license/CDDL.
#
#
-# Copyright (c) 2014 Racktop Systems.
+# Copyright 2014, OmniTI Computer Consulting, Inc. All rights reserved.
+# Copyright 2016 RackTop Systems.
#
MODULE = Pg
include $(SRC)/cmd/perl/Makefile.perl
-# Install module into arch independant directory
+# Install module into arch independent directory
ROOTPERLMODDIR = $(ROOTPERLDIR)/lib/Sun/Solaris
include $(SRC)/cmd/perl/Makefile.targ
@@ -28,4 +29,3 @@ all: $(PERLMOD)
install: $(ROOTPERLMOD)
clean clobber:
- $(RM) -r $(MACH)
diff --git a/usr/src/cmd/perl/contrib/Sun/Solaris/Project/Makefile b/usr/src/cmd/perl/contrib/Sun/Solaris/Project/Makefile
index f05200e560..56e93da14a 100644
--- a/usr/src/cmd/perl/contrib/Sun/Solaris/Project/Makefile
+++ b/usr/src/cmd/perl/contrib/Sun/Solaris/Project/Makefile
@@ -9,7 +9,8 @@
# http://www.illumos.org/license/CDDL.
#
#
-# Copyright (c) 2014 Racktop Systems.
+# Copyright 2014, OmniTI Computer Consulting, Inc. All rights reserved.
+# Copyright 2016 RackTop Systems.
#
MODULE = Project
@@ -28,9 +29,11 @@ include $(SRC)/cmd/perl/Makefile.targ
.KEEP_STATE:
-all: $(PERLEXT) $(PERLMOD)
+$(BUILDPERL32)all: $(PERLEXT) $(PERLMOD)
+$(BUILDPERL64)all: $(PERLEXT64) $(PERLMOD)
-install: $(ROOTPERLEXT) $(ROOTPERLMOD)
+$(BUILDPERL32)install: $(ROOTPERLEXT) $(ROOTPERLMOD)
+$(BUILDPERL64)install: $(ROOTPERLEXT64) $(ROOTPERLMOD64)
clean clobber:
- $(RM) -r $(MACH)
+ $(RM) -r $(MACH) $(MACH64)
diff --git a/usr/src/cmd/perl/contrib/Sun/Solaris/Task/Makefile b/usr/src/cmd/perl/contrib/Sun/Solaris/Task/Makefile
index 1fb3235e1a..0d4bed08ce 100644
--- a/usr/src/cmd/perl/contrib/Sun/Solaris/Task/Makefile
+++ b/usr/src/cmd/perl/contrib/Sun/Solaris/Task/Makefile
@@ -9,7 +9,8 @@
# http://www.illumos.org/license/CDDL.
#
#
-# Copyright (c) 2014 Racktop Systems.
+# Copyright 2014, OmniTI Computer Consulting, Inc. All rights reserved.
+# Copyright 2016 RackTop Systems.
#
MODULE = Task
@@ -24,9 +25,11 @@ include $(SRC)/cmd/perl/Makefile.targ
.KEEP_STATE:
-all: $(PERLEXT) $(PERLMOD)
+$(BUILDPERL32)all: $(PERLEXT) $(PERLMOD)
+$(BUILDPERL64)all: $(PERLEXT64) $(PERLMOD)
-install: $(ROOTPERLEXT) $(ROOTPERLMOD)
+$(BUILDPERL32)install: $(ROOTPERLEXT) $(ROOTPERLMOD)
+$(BUILDPERL64)install: $(ROOTPERLEXT64) $(ROOTPERLMOD64)
clean clobber:
- $(RM) -r $(MACH)
+ $(RM) -r $(MACH) $(MACH64)
diff --git a/usr/src/cmd/perl/contrib/Sun/Solaris/Utils/Makefile b/usr/src/cmd/perl/contrib/Sun/Solaris/Utils/Makefile
index 107c496268..d64b4bc9c6 100644
--- a/usr/src/cmd/perl/contrib/Sun/Solaris/Utils/Makefile
+++ b/usr/src/cmd/perl/contrib/Sun/Solaris/Utils/Makefile
@@ -9,8 +9,8 @@
# http://www.illumos.org/license/CDDL.
#
#
-# Copyright (c) 2014 Racktop Systems.
# Copyright 2014, OmniTI Computer Consulting, Inc. All rights reserved.
+# Copyright 2016 RackTop Systems.
#
MODULE = Utils
@@ -25,9 +25,11 @@ include $(SRC)/cmd/perl/Makefile.targ
.KEEP_STATE:
-all: $(PERLEXT) $(PERLMOD)
+$(BUILDPERL32)all: $(PERLEXT) $(PERLMOD)
+$(BUILDPERL64)all: $(PERLEXT64) $(PERLMOD)
-install: $(ROOTPERLEXT) $(ROOTPERLMOD)
+$(BUILDPERL32)install: $(ROOTPERLEXT) $(ROOTPERLMOD)
+$(BUILDPERL64)install: $(ROOTPERLEXT64) $(ROOTPERLMOD64)
clean clobber:
- $(RM) -r $(MACH)
+ $(RM) -r $(MACH) $(MACH64)
diff --git a/usr/src/lib/Makefile.lib b/usr/src/lib/Makefile.lib
index c6521af70e..1471e292c9 100644
--- a/usr/src/lib/Makefile.lib
+++ b/usr/src/lib/Makefile.lib
@@ -21,6 +21,7 @@
# Copyright 2019 OmniOS Community Edition (OmniOSce) Association.
# Copyright 2015 Gary Mills
# Copyright 2015 Igor Kozhukhov <ikozhukhov@gmail.com>
+# Copyright 2016 RackTop Systems.
# Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
# Copyright 2019, Joyent, Inc.
#
@@ -146,8 +147,12 @@ SRCS= $(OBJECTS:%.o=$(SRCDIR)/%.c)
BUILD.AR= $(AR) $(ARFLAGS) $@ $(AROBJS)
BUILD.SO= $(CC) $(CFLAGS) -o $@ $(GSHARED) $(DYNFLAGS) \
$(PICS) $(EXTPICS) $(LDLIBS)
+BUILD64.SO= $(CC64) $(CFLAGS64) -o $@ $(GSHARED) $(DYNFLAGS) \
+ $(PICS) $(EXTPICS) -L $(ROOTLIBDIR64) $(LDLIBS)
BUILDCCC.SO= $(CCC) $(CCFLAGS) -o $@ $(GSHARED) $(DYNFLAGS) \
$(PICS) $(EXTPICS) $(LDLIBS)
+BUILDCCC64.SO= $(CCC64) $(CCFLAGS64) -o $@ $(GSHARED) $(DYNFLAGS) \
+ $(PICS) $(EXTPICS) $(LDLIBS) $(CCNEEDED64)
# default dynamic library symlink
INS.liblink= -$(RM) $@; $(SYMLINK) $(LIBLINKPATH)$(LIBLINKS)$(VERS) $@
diff --git a/usr/src/pkg/Makefile b/usr/src/pkg/Makefile
index 3ac8594165..6a627b4e12 100644
--- a/usr/src/pkg/Makefile
+++ b/usr/src/pkg/Makefile
@@ -23,6 +23,7 @@
# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
# Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved.
# Copyright 2015 Igor Kozhukhov <ikozhukhov@gmail.com>
+# Copyright 2016 RackTop Systems.
# Copyright 2018 OmniOS Community Edition (OmniOSce) Association.
#
@@ -187,8 +188,11 @@ PKGMOG_DEFINES= \
PKGVERS_BRANCH=$(PKGVERS_BRANCH) \
PKGVERS=$(PKGVERS) \
PERL_ARCH=$(PERL_ARCH) \
+ PERL_ARCH64=$(PERL_ARCH64) \
PERL_VERSION=$(PERL_VERSION) \
PERL_PKGVERS=$(PERL_PKGVERS) \
+ BUILDPERL32=$(BUILDPERL32) \
+ BUILDPERL64=$(BUILDPERL64) \
PYTHON_VERSION=$(PYTHON_VERSION) \
PYTHON3_VERSION=$(PYTHON3_VERSION) \
PYTHON_PKGVERS=$(PYTHON_PKGVERS) \
diff --git a/usr/src/pkg/manifests/runtime-perl-module-sun-solaris.mf b/usr/src/pkg/manifests/runtime-perl-module-sun-solaris.mf
index f444a4548a..5e68399439 100644
--- a/usr/src/pkg/manifests/runtime-perl-module-sun-solaris.mf
+++ b/usr/src/pkg/manifests/runtime-perl-module-sun-solaris.mf
@@ -21,11 +21,11 @@
#
# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
-# Copyright (c) 2014 Racktop Systems.
# Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved.
+# Copyright 2016 RackTop Systems.
#
-<transform file path=.*\.(pm|bs) -> default mode 0444>
+<transform file path=.*\.pm -> default mode 0444>
<transform file path=.*\.so -> default mode 0555>
set name=pkg.fmri \
value=pkg:/runtime/perl$(PERL_PKGVERS)/module/sun-solaris@0.5.11,$(PKGVERS_BUILTON)-$(PKGVERS_BRANCH)
@@ -37,41 +37,98 @@ dir path=usr group=sys
dir path=usr/perl5
dir path=usr/perl5/$(PERL_VERSION)
dir path=usr/perl5/$(PERL_VERSION)/lib
-dir path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)
-dir path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/Sun
-dir path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/Sun/Solaris
-dir path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto
-dir path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto/Sun
-dir path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto/Sun/Solaris
-dir path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto/Sun/Solaris/Intrs
-dir path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto/Sun/Solaris/Kstat
-dir path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto/Sun/Solaris/Lgrp
-dir path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto/Sun/Solaris/Project
-dir path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto/Sun/Solaris/Task
-dir path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto/Sun/Solaris/Utils
+$(BUILDPERL32)dir path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)
+$(BUILDPERL32)dir path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/Sun
+$(BUILDPERL32)dir path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/Sun/Solaris
+$(BUILDPERL32)dir path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto
+$(BUILDPERL32)dir path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto/Sun
+$(BUILDPERL32)dir \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto/Sun/Solaris
+$(BUILDPERL32)dir \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto/Sun/Solaris/Intrs
+$(BUILDPERL32)dir \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto/Sun/Solaris/Kstat
+$(BUILDPERL32)dir \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto/Sun/Solaris/Lgrp
+$(BUILDPERL32)dir \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto/Sun/Solaris/Project
+$(BUILDPERL32)dir \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto/Sun/Solaris/Task
+$(BUILDPERL32)dir \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto/Sun/Solaris/Utils
+$(BUILDPERL64)dir path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)
+$(BUILDPERL64)dir path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/Sun
+$(BUILDPERL64)dir \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/Sun/Solaris
+$(BUILDPERL64)dir path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/auto
+$(BUILDPERL64)dir path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/auto/Sun
+$(BUILDPERL64)dir \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/auto/Sun/Solaris
+$(BUILDPERL64)dir \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/auto/Sun/Solaris/Intrs
+$(BUILDPERL64)dir \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/auto/Sun/Solaris/Kstat
+$(BUILDPERL64)dir \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/auto/Sun/Solaris/Lgrp
+$(BUILDPERL64)dir \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/auto/Sun/Solaris/Project
+$(BUILDPERL64)dir \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/auto/Sun/Solaris/Task
+$(BUILDPERL64)dir \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/auto/Sun/Solaris/Utils
dir path=usr/perl5/$(PERL_VERSION)/lib/Sun
dir path=usr/perl5/$(PERL_VERSION)/lib/Sun/Solaris
dir path=usr/perl5/$(PERL_VERSION)/lib/Sun/Solaris/BSM
dir path=usr/share/man
dir path=usr/share/man/man3perl
-file path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/Sun/Solaris/Intrs.pm
-file path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/Sun/Solaris/Kstat.pm
-file path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/Sun/Solaris/Lgrp.pm
-file path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/Sun/Solaris/Project.pm
-file path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/Sun/Solaris/Task.pm
-file path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/Sun/Solaris/Utils.pm
-file \
+$(BUILDPERL32)file \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/Sun/Solaris/Intrs.pm
+$(BUILDPERL32)file \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/Sun/Solaris/Kstat.pm
+$(BUILDPERL32)file \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/Sun/Solaris/Lgrp.pm
+$(BUILDPERL32)file \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/Sun/Solaris/Project.pm
+$(BUILDPERL32)file \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/Sun/Solaris/Task.pm
+$(BUILDPERL32)file \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/Sun/Solaris/Utils.pm
+$(BUILDPERL32)file \
path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto/Sun/Solaris/Intrs/Intrs.so
-file \
+$(BUILDPERL32)file \
path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto/Sun/Solaris/Kstat/Kstat.so
-file \
+$(BUILDPERL32)file \
path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto/Sun/Solaris/Lgrp/Lgrp.so
-file \
+$(BUILDPERL32)file \
path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto/Sun/Solaris/Project/Project.so
-file \
+$(BUILDPERL32)file \
path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto/Sun/Solaris/Task/Task.so
-file \
+$(BUILDPERL32)file \
path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH)/auto/Sun/Solaris/Utils/Utils.so
+$(BUILDPERL64)file \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/Sun/Solaris/Intrs.pm
+$(BUILDPERL64)file \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/Sun/Solaris/Kstat.pm
+$(BUILDPERL64)file \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/Sun/Solaris/Lgrp.pm
+$(BUILDPERL64)file \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/Sun/Solaris/Project.pm
+$(BUILDPERL64)file \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/Sun/Solaris/Task.pm
+$(BUILDPERL64)file \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/Sun/Solaris/Utils.pm
+$(BUILDPERL64)file \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/auto/Sun/Solaris/Intrs/Intrs.so
+$(BUILDPERL64)file \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/auto/Sun/Solaris/Kstat/Kstat.so
+$(BUILDPERL64)file \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/auto/Sun/Solaris/Lgrp/Lgrp.so
+$(BUILDPERL64)file \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/auto/Sun/Solaris/Project/Project.so
+$(BUILDPERL64)file \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/auto/Sun/Solaris/Task/Task.so
+$(BUILDPERL64)file \
+ path=usr/perl5/$(PERL_VERSION)/lib/$(PERL_ARCH64)/auto/Sun/Solaris/Utils/Utils.so
file path=usr/perl5/$(PERL_VERSION)/lib/Sun/Solaris/BSM/_BSMparse.pm
file path=usr/perl5/$(PERL_VERSION)/lib/Sun/Solaris/Pg.pm
file path=usr/share/man/man3perl/Kstat.3perl
@@ -81,3 +138,4 @@ file path=usr/share/man/man3perl/Task.3perl
license cr_Sun license=cr_Sun
license usr/src/cmd/perl/THIRDPARTYLICENSE \
license=usr/src/cmd/perl/THIRDPARTYLICENSE
+depend fmri=runtime/perl$(PERL_PKGVERS) type=require
diff --git a/usr/src/pkg/manifests/system-extended-system-utilities.mf b/usr/src/pkg/manifests/system-extended-system-utilities.mf
index 2e955470c4..0a8502a491 100644
--- a/usr/src/pkg/manifests/system-extended-system-utilities.mf
+++ b/usr/src/pkg/manifests/system-extended-system-utilities.mf
@@ -22,6 +22,7 @@
#
# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
# Copyright 2012 Nexenta Systems, Inc. All rights reserved.
+# Copyright 2016 RackTop Systems.
#
set name=pkg.fmri value=pkg:/system/extended-system-utilities@$(PKGVERS)
@@ -292,3 +293,4 @@ link path=usr/share/man/man1/unexpand.1 target=expand.1
link path=usr/share/man/man1/unpack.1 target=pack.1
link path=usr/share/man/man1/zcat.1 target=compress.1
depend fmri=runtime/perl$(PERL_PKGVERS) type=require
+depend fmri=runtime/perl$(PERL_PKGVERS)/module/sun-solaris type=require
diff --git a/usr/src/tools/env/illumos.sh b/usr/src/tools/env/illumos.sh
index 3753a0be3e..03c524fdeb 100644
--- a/usr/src/tools/env/illumos.sh
+++ b/usr/src/tools/env/illumos.sh
@@ -22,6 +22,7 @@
# Copyright 2015 Nexenta Systems, Inc. All rights reserved.
# Copyright 2012 Joshua M. Clulow <josh@sysmgr.org>
# Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved.
+# Copyright 2016 RackTop Systems.
# Copyright 2019 OmniOS Community Edition (OmniOSce) Association.
# Copyright 2019, Joyent, Inc.
#
@@ -95,9 +96,14 @@ export ENABLE_SMB_PRINTING=
# contains your new defaults OR your .env file sets them.
# These are how you would override for building on OmniOS r151028, for example.
#export PERL_VERSION=5.28
-#export PERL_ARCH=i86pc-solaris-thread-multi-64int
+#export PERL_VARIANT=-thread-multi
#export PERL_PKGVERS=
+# To disable building of the 32-bit or 64-bit perl modules (or both),
+# uncomment these lines:
+#export BUILDPERL32='#'
+#export BUILDPERL64='#'
+
# If your distro uses certain versions of Python, make sure either
# Makefile.master contains your new defaults OR your .env file sets them.
#export PYTHON_VERSION=2.7