[csw-devel] SF.net SVN: gar:[8736] csw/mgar/pkg/curl/trunk/Makefile

dmichelsen at users.sourceforge.net dmichelsen at users.sourceforge.net
Mon Feb 22 15:49:56 CET 2010


Revision: 8736
          http://gar.svn.sourceforge.net/gar/?rev=8736&view=rev
Author:   dmichelsen
Date:     2010-02-22 14:49:56 +0000 (Mon, 22 Feb 2010)

Log Message:
-----------
curl: Add feature modulation

Modified Paths:
--------------
    csw/mgar/pkg/curl/trunk/Makefile

Modified: csw/mgar/pkg/curl/trunk/Makefile
===================================================================
--- csw/mgar/pkg/curl/trunk/Makefile	2010-02-22 14:48:45 UTC (rev 8735)
+++ csw/mgar/pkg/curl/trunk/Makefile	2010-02-22 14:49:56 UTC (rev 8736)
@@ -21,31 +21,38 @@
 DISTFILES += libcurl.so.2.0.2.i
 DISTFILES += curlbuild.h
 
-PACKAGES = CSWcurl CSWcurlrt CSWcurldevel
+UFILES_REGEX = $(GARNAME)-(\d+(?:\.\d+)*).tar.bz2
+
+PACKAGES = CSWcurl CSWcurlrt CSWcurlrtfull CSWcurldevel
 CATALOGNAME_CSWcurl = curl
 CATALOGNAME_CSWcurlrt = curl_rt
+CATALOGNAME_CSWcurlrtfull = curl_rt_full
 CATALOGNAME_CSWcurldevel = curl_devel
 
 SPKG_DESC_CSWcurl      = A command line tool and library for client-side URL transfers
-SPKG_DESC_CSWcurlrt    = Curl Runtime Libraries
+SPKG_DESC_CSWcurlrt    = Curl Runtime Libraries (minimal dependencies)
+SPKG_DESC_CSWcurlrtfull = Curl Runtime Libraries (full featured)
 SPKG_DESC_CSWcurldevel = Curl Developer Files
 
 SPKG_SOURCEURL = http://curl.haxx.se
 
-UFILES_REGEX = $(GARNAME)-(\d+(?:\.\d+)*).tar.bz2
+EXTRA_MODULATORS = FEATURES
+MODULATIONS_FEATURES = minimal full
 
 # amd64 is built without openldap because there are no libs available right now (Mantis 3028)
-EXTRA_CONFIGURE_ARGS_isa-sparcv8 = --enable-ldap --enable-ldaps
-EXTRA_CONFIGURE_ARGS_isa-sparcv9 = --enable-ldap --enable-ldaps
-EXTRA_CONFIGURE_ARGS_isa-i386    = --enable-ldap --enable-ldaps
-EXTRA_CONFIGURE_ARGS_isa-amd64   = --disable-ldap
+EXTRA_CONFIGURE_ARGS_LDAP_isa-sparcv8 = --enable-ldap --enable-ldaps
+EXTRA_CONFIGURE_ARGS_LDAP_isa-sparcv9 = --enable-ldap --enable-ldaps
+EXTRA_CONFIGURE_ARGS_LDAP_isa-i386    = --enable-ldap --enable-ldaps
+EXTRA_CONFIGURE_ARGS_LDAP_isa-amd64   = --disable-ldap
 
+EXTRA_CONFIGURE_ARGS_features-minimal = --disable-ldap --disable-libssh2 --disable-ares
+EXTRA_CONFIGURE_ARGS_features-full    = --enable-ares --with-spnego=$(libdir)
+EXTRA_CONFIGURE_ARGS_features-full   += $(EXTRA_CONFIGURE_ARGS_LDAP_isa-$(ISA))
+
 CONFIGURE_ARGS = $(DIRPATHS)
 CONFIGURE_ARGS += --with-ssl=/opt/csw/ssl
-CONFIGURE_ARGS += --enable-ares
-CONFIGURE_ARGS += --with-spnego=$(libdir)
 CONFIGURE_ARGS += --with-ca-path=/opt/csw/ssl/certs
-CONFIGURE_ARGS += $(EXTRA_CONFIGURE_ARGS_isa-$(ISA))
+CONFIGURE_ARGS += $(EXTRA_CONFIGURE_ARGS_features-$(FEATURES))
 
 BUILD64 = 1
 
@@ -53,38 +60,57 @@
 NOISAEXEC = 1
 
 RUNTIME_DEP_PKGS_CSWcurl = CSWlibidn CSWlibnet CSWoldaprt CSWosslrt CSWzlib CSWsasl CSWcurlrt CSWlibcares CSWlibssh2
-RUNTIME_DEP_PKGS_CSWcurlrt = CSWlibidn CSWoldaprt CSWosslrt CSWzlib CSWlibcares CSWlibssh2 CSWlibfbopenssl
+RUNTIME_DEP_PKGS_CSWcurlrt = CSWlibidn CSWosslrt CSWzlib 
+RUNTIME_DEP_PKGS_CSWcurlrtfull = CSWlibidn CSWoldaprt CSWosslrt CSWzlib CSWlibcares CSWlibssh2 CSWlibfbopenssl
 RUNTIME_DEP_PKGS_CSWcurldevel = CSWcurl
 
-BUILD_DEP_PKGS = $(filter-out CSWcurl CSWcurlrt,$(RUNTIME_DEP_PKGS_CSWcurl) $(RUNTIME_DEP_PKGS_CSWcurlrt) $(RUNTIME_DEP_PKGS_CSWcurldevel))
+BUILD_DEP_PKGS = $(filter-out CSWcurl CSWcurlrt,$(RUNTIME_DEP_PKGS_CSWcurl) $(RUNTIME_DEP_PKGS_CSWcurlrt) $(RUNTIME_DEP_PKGS_CSWcurlrtfull) $(RUNTIME_DEP_PKGS_CSWcurldevel))
 BUILD_DEP_PKGS += CSWoldapdevel CSWossldevel CSWlibcaresdevel CSWlibssh2devel
 
 SKIPTEST = 1
 
-# The 64 bit binary just takes space
-EXTRA_MERGE_EXCLUDE_FILES_isa-sparcv9 = $(bindir)/curl
-EXTRA_MERGE_EXCLUDE_FILES_isa-amd64 = $(bindir)/curl
+# isa-sparcv8-features-minimal isa-sparcv8-features-full isa-sparcv9-features-minimal isa-sparcv9-features-full
 
 EXTRA_PAX_ARGS_32 = -s ",^\.$(includedir)/curl/curlbuild.h$$,.$(includedir)/curl/curlbuild-32.h,p"
 EXTRA_PAX_ARGS_64 = -s ",^\.$(includedir)/curl/curlbuild.h$$,.$(includedir)/curl/curlbuild-64.h,p"
-EXTRA_PAX_ARGS_isa-sparcv8 = $(EXTRA_PAX_ARGS_32)
-EXTRA_PAX_ARGS_isa-sparcv9 = $(EXTRA_PAX_ARGS_64)
-EXTRA_PAX_ARGS_isa-i386    = $(EXTRA_PAX_ARGS_32)
-EXTRA_PAX_ARGS_isa-amd64   = $(EXTRA_PAX_ARGS_64)
+EXTRA_PAX_ARGS_32 += -s ",$(libdir)/libcurl\.so\.4\.2\.0$$,$(libdir_install)/libcurl-$(FEATURES).so.4.2.0,p"
+EXTRA_PAX_ARGS_64 += -s ",$(libdir)/libcurl\.so\.4\.2\.0$$,$(libdir_install)/$(ISA)/libcurl-$(FEATURES).so.4.2.0,p"
+EXTRA_PAX_ARGS = $(EXTRA_PAX_ARGS_$(MEMORYMODEL))
 
+# We select pkgconfig for minimal library bindings. As libneon is self-contained (links
+# to all necessary libs directly) the full version can simly be linked in.
+EXTRA_PAX_ARGS_features-full = -s ",.*/pkgconfig.*,,"
+EXTRA_PAX_ARGS += $(EXTRA_PAX_ARGS_features-$(FEATURES))
+
+MERGE_SCRIPTS_isa-default-features-minimal = copy-all
+MERGE_SCRIPTS_isa-default64-features-minimal = copy-relocated-only
+MERGE_DIRS_isa-default64-features-minimal = $(libdir)
+MERGE_SCRIPTS_isa-default-features-full = copy-only
+MERGE_DIRS_isa-default-features-full = $(libdir)
+MERGE_SCRIPTS_isa-default64-features-full = copy-relocated-only
+MERGE_DIRS_isa-default64-features-full = $(libdir)
+
+ALTERNATIVES_CSWcurlrt = minimal
+ALTERNATIVES_CSWcurlrtfull = full
+ALTERNATIVE_minimal  = $(libdir)/libcurl.so.4.2.0 curl $(libdir)/libcurl-minimal.so.4.2.0 100
+ALTERNATIVE_minimal += $(libdir)/$(ISA_DEFAULT64)/libcurl.so.4.2.0 curl64 $(libdir)/$(ISA_DEFAULT64)/libcurl-minimal.so.4.2.0
+ALTERNATIVE_full     = $(libdir)/libcurl.so.4.2.0 curl $(libdir)/libcurl-full.so.4.2.0 200
+ALTERNATIVE_full    += $(libdir)/$(ISA_DEFAULT64)/libcurl.so.4.2.0 curl64 $(libdir)/$(ISA_DEFAULT64)/libcurl-full.so.4.2.0
+
 PKGFILES_CSWcurldevel = $(PKGFILES_DEVEL)
 PKGFILES_CSWcurlrt = $(PKGFILES_RT)
+PKGFILES_CSWcurlrtfull = .*-full.*
 
 include gar/category.mk
 
-post-install-isa-sparcv8:
+post-install-isa-sparcv8-features-minimal:
 	ginstall $(FILEDIR)/libcurl.so.3.0.0.s $(DESTDIR)$(libdir)/libcurl.so.3.0.0
 	ginstall $(FILEDIR)/libcurl.so.2.0.2.s $(DESTDIR)$(libdir)/libcurl.so.2.0.2
 	ln -s libcurl.so.3.0.0 $(DESTDIR)$(libdir)/libcurl.so.3
 	ln -s libcurl.so.2.0.2 $(DESTDIR)$(libdir)/libcurl.so.2
 	@$(MAKECOOKIE)
 
-post-install-isa-i386:
+post-install-isa-i386-features-minimal:
 	cp $(FILEDIR)/libcurl.so.3.0.0.i $(DESTDIR)$(libdir)/libcurl.so.3.0.0
 	cp $(FILEDIR)/libcurl.so.2.0.2.i $(DESTDIR)$(libdir)/libcurl.so.2.0.2
 	ln -s libcurl.so.3.0.0 $(DESTDIR)$(libdir)/libcurl.so.3


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