[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