[csw-devel] SF.net SVN: gar:[13534] csw/mgar/pkg/perl/branches/perl-5.10.1-64bit/ Makefile

dmichelsen at users.sourceforge.net dmichelsen at users.sourceforge.net
Wed Mar 2 17:41:56 CET 2011


Revision: 13534
          http://gar.svn.sourceforge.net/gar/?rev=13534&view=rev
Author:   dmichelsen
Date:     2011-03-02 16:41:56 +0000 (Wed, 02 Mar 2011)

Log Message:
-----------
perl/perl-5-10.1-64bit: Intermediate commit

Modified Paths:
--------------
    csw/mgar/pkg/perl/branches/perl-5.10.1-64bit/Makefile

Modified: csw/mgar/pkg/perl/branches/perl-5.10.1-64bit/Makefile
===================================================================
--- csw/mgar/pkg/perl/branches/perl-5.10.1-64bit/Makefile	2011-03-02 15:21:20 UTC (rev 13533)
+++ csw/mgar/pkg/perl/branches/perl-5.10.1-64bit/Makefile	2011-03-02 16:41:56 UTC (rev 13534)
@@ -17,22 +17,30 @@
 
 DISTFILES  = $(NAME)-$(VERSION).tar.gz
 
-PACKAGES = CSWperl CSWperldoc
-ARCHALL_CSWperldoc = 1
-RUNTIME_DEP_PKGS_CSWperl = CSWbdb48 CSWgdbm
-RUNTIME_DEP_PKGS_CSWperldoc = CSWperl
-INCOMPATIBLE_PKGS_CSWperl = CSWperlmods CSWpmdigest CSWpmi18nlangtags
+PACKAGES += CSWperl
+SPKG_DESC_CSWperl = $(DESCRIPTION)
+RUNTIME_DEP_PKGS_CSWperl += CSWbdb48
+RUNTIME_DEP_PKGS_CSWperl += CSWgdbm
 
-SPKG_DESC_CSWperl = $(DESCRIPTION)
+PACKAGES += CSWperldoc
 SPKG_DESC_CSWperldoc = Perl documentation
+PKGFILES_CSWperldoc = .*\/pod\/.*\.pod .*\/man\/man.\/.*
+ARCHALL_CSWperldoc = 1
+INCOMPATIBLE_PKGS_CSWperl += CSWperlmods
+INCOMPATIBLE_PKGS_CSWperl += CSWpmdigest
+INCOMPATIBLE_PKGS_CSWperl += CSWpmi18nlangtags
 
+# The diagnostics.pm module needs the podfile to output its messages.
+# That means it must be included in the main package, not the docs.
+EXTRA_PKGFILES_EXCLUDED_CSWperldoc = .*\/perldiag.pod
+EXTRA_PKGFILES_INCLUDED_CSWperl = .*\/perldiag.pod
+
 LICENSE = Copying
 
 PATCHFILES += 0001-change-inc-based-on-rhel5-patch.patch
 
-CHECKPKG_OVERRIDES_CSWperldoc += surplus-dependency|CSWperl
-CHECKPKG_OVERRIDES_CSWperl += surplus-dependency|CSWgdbm
-CHECKPKG_OVERRIDES_CSWperl += soname-not-found|libgdbm.so.3|is|needed|by|opt/csw/lib/perl/5.10.1/auto/GDBM_File/GDBM_File.so
+# CHECKPKG_OVERRIDES_CSWperl += surplus-dependency|CSWgdbm
+# CHECKPKG_OVERRIDES_CSWperl += soname-not-found|libgdbm.so.3|is|needed|by|opt/csw/lib/perl/5.10.1/auto/GDBM_File/GDBM_File.so
 
 # Core module updates
 # Not used at the moment, leave one as example
@@ -42,9 +50,7 @@
 
 DISTFILES += $(foreach N,$(CORE_UPDATES),$(N).tar.gz)
 
-# Dependencies
-#LIBDEPS += bdb48/lib
-LIBDEPS += lib/gdbm
+BUILD64 = 1
 
 # Custom configure
 CONFIGURE_SCRIPTS = perl
@@ -53,7 +59,10 @@
 INC_COMPAT = 5.8.0 5.8.2 5.8.4 5.8.6 5.8.7 5.8.8 5.10.0
 
 # Force use of db-4.8
-PERL_LIBS += -lsocket -lnsl -lgdbm -ldb-4.8 -ldl -lm -lpthread -lc -lperl
+# TBD: Take out libperl.so, see below.
+PERL_LIBS-32 += -lsocket -lnsl -lgdbm -ldb-4.8 -ldl -lm -lpthread -lc -lperl
+PERL_LIBS-64 += -lsocket -lnsl -lgdbm -ldb-4.8 -ldl -lm -lpthread -lc
+PERL_LIBS = $(PERL_LIBS-$(MEMORYMODEL))
 
 # Configuration flags
 CONFIGURE_ARGS += -Darchlib=$(libdir)/perl/$(VERSION)
@@ -74,13 +83,14 @@
 CONFIGURE_ARGS += -Doptimize="$(OPTFLAGS)"
 CONFIGURE_ARGS += -Dperladmin="root at localhost"
 CONFIGURE_ARGS += -Dprefix=$(prefix)
+CONFIGURE_ARGS += -Dbin=$(bindir)
+CONFIGURE_ARGS += -Dscriptdir=$(bindir)
 CONFIGURE_ARGS += -Dprivlib=$(datadir)/perl/$(VERSION)
 CONFIGURE_ARGS += -Dsitearch=$(libdir)/perl/site_perl
 CONFIGURE_ARGS += -Dsitelib=$(datadir)/perl/site_perl
 CONFIGURE_ARGS += -Dsiteman1dir=$(mandir)/man1
 CONFIGURE_ARGS += -Dsiteman3dir=$(mandir)/man3
 CONFIGURE_ARGS += -Dsiteprefix=/usr
-CONFIGURE_ARGS += -Duselargefiles
 CONFIGURE_ARGS += -Duseshrplib
 CONFIGURE_ARGS += -Dusesitecustomize
 CONFIGURE_ARGS += -Dusethreads
@@ -89,9 +99,13 @@
 CONFIGURE_ARGS += -Dvendorlib=$(datadir)/perl/csw
 CONFIGURE_ARGS += -Dvendorprefix=$(prefix)
 CONFIGURE_ARGS += -Dlibs="$(PERL_LIBS)"
-CONFIGURE_ARGS += -Dlibsdirs=" /usr/lib /opt/csw/lib"
+CONFIGURE_ARGS += -Dlibsdirs=" /usr/lib $(libdir)"
 CONFIGURE_ARGS += -Dsed=$(bindir)/gsed
 
+# On 64 bit there are no largefile issues and the definition disturbs other builds (like NetSNMP embeddded Perl)
+CONFIGURE_ARGS-32 += -Duselargefiles
+CONFIGURE_ARGS += $(CONFIGURE_ARGS-$(MEMORYMODEL))
+
 EXTRA_LIB += $(prefix)/bdb48/lib
 EXTRA_INC += $(prefix)/bdb48/include
 
@@ -102,23 +116,22 @@
 #   https://www.opencsw.org/mantis/view.php?id=4544
 EXTRA_CFLAGS = $(CPPFLAGS)
 
-EXTRA_LDFLAGS = -L$(libdir) -lperl
+# Adding -lperl requires that libperl.so is available during compilation, which is not
+# the case on bootstrapping. However, we require explicit libperl linkage or programs
+# embedding perl will have problems with duplicated static variables.
+# XXX Investigate further after 64 bit has built
+EXTRA_LDFLAGS-32 = -L$(libdir) -lperl
+EXTRA_LDFLAGS += $(EXTRA_LDFLAGS-$(MEMORYMODEL))
 
-EXTRA_MERGE_EXCLUDE_FILES = .*\/perllocal.pod
-PKGFILES_CSWperldoc = .*\/pod\/.*\.pod .*\/man\/man.\/.*
-
-# The diagnostics.pm module needs the podfile to output its messages.
-# That means it must be included in the main package, not the docs.
-EXTRA_PKGFILES_EXCLUDED_CSWperldoc = .*\/perldiag.pod
-EXTRA_PKGFILES_INCLUDED_CSWperl = .*\/perldiag.pod
-
 # Tests take a long time
-TEST_SCRIPTS =
+# SKIPTEST ?= 1
 
 # Make sure we don't include the path to the newly built perl as the
 # library is not in place yet.
 IGNORE_DESTDIR = 1
 
+EXTRA_MERGE_EXCLUDE_FILES = .*\/perllocal.pod
+
 # Do not exclude static libs as at least DynaLoader.a is needed for XS compilation
 MERGE_EXCLUDE_STATICLIBS =
 
@@ -129,6 +142,9 @@
 
 include gar/category.mk
 
+# This is probably due to -lperl, but during Configure the one in /opt/csw/lib is picked up and
+# the one in $WORKSRC has not been built yet
+# TBD: Investigate
 post-extract-modulated:
 	mkdir -p $(WORKSRC)
 	gln -s libperl.so.5.10.1 $(WORKSRC)/libperl.so


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.


More information about the devel mailing list