PERL58ORGREATER = $(shell perl -MConfig -e 'print ($$Config{PERL_REVISION} > 5 || ($$Config{PERL_REVISION} == 5 && $$Config{PERL_VERSION} >= 8) ? "YES" : "NO")')
LEOPARD_OR_HIGHER = $(shell perl -e 'my $$osVersion = `/usr/bin/uname -r`; chomp($$osVersion); $$osVersion =~ s|^(\d+).*|$$1|; print $$osVersion >= 9 ? "YES" : "NO"')
export AUTOMATED_TESTING := 1
ifneq ($(PERL58ORGREATER),YES)
$(error You must have perl 5.8.0 or later!)
endif
ifeq ($(LEOPARD_OR_HIGHER),YES)
OTHERCPANSUBDIRS = Readonly Readonly-XS String-ShellQuote-1.00 Error-0.15 Log-Log4perl-0.42 Log-Dispatch-2.10 Mail-Sender Crypt-Rijndael Crypt-OpenSSL-Random Crypt-OpenSSL-RSA File-NFSLock HTTP-Proxy Class-Std-Utils YAML-Syck Heap Graph Test-Exception Tree-Simple Tree-Simple-VisitorFactory Class-Std Config-Std Text-LevenshteinXS Text-WordDiff
DATETIMESUBDIRS = Module-Build-0.20 Params-Validate Class-Factory-Util-1.6 Class-Singleton-1.03 DateTime-TimeZone DateTime-Locale DateTime DateTime-Format-Strptime-1.04 DateTime-Format-Builder DateTime-Format-Pg DateTime-Format-W3CDTF DateTime-Format-ISO8601
SOAPLITESUBDIRS = SOAP-Lite
CLASS_DBI_MODULES = UNIVERSAL-moniker Class-Accessor Class-Data-Inheritable Class-Trigger Class-WhiteHole DBIx-ContextualFetch Ima-DBI Class-DBI SQL-Abstract Class-DBI-AbstractSearch
DBIX_CLASS_MODULES = Sub-Uplevel Test-Simple Class-Accessor-Chained Class-Inspector Data-Page SQL-Abstract-Limit Module-Find Algorithm-C3 Class-C3 Class-Data-Accessor ExtUtils-CBuilder PathTools Lingua-EN-Inflect Lingua-EN-Inflect-Number Data-Dump UNIVERSAL-require DBIx-Class DBIx-Class-Schema-Loader
XML_MODULES = Pod-WSDL
else
OTHERCPANSUBDIRS = version Readonly Readonly-XS String-ShellQuote-1.00 Error-0.15 Log-Log4perl-0.42 Log-Dispatch-2.10 Mail-Sender Apache-DBI Crypt-Rijndael Crypt-OpenSSL-Random Crypt-OpenSSL-RSA File-NFSLock HTTP-Proxy Class-Std-Utils YAML-Syck Heap Graph Test-Exception Tree-Simple Tree-Simple-VisitorFactory Class-Std Config-Std Text-LevenshteinXS Text-WordDiff Term-ReadLine-Perl
DATETIMESUBDIRS = Module-Build-0.20 Params-Validate Class-Factory-Util-1.6 Class-Singleton-1.03 DateTime-TimeZone DateTime-Locale DateTime DateTime-Format-Strptime-1.04 DateTime-Format-Builder DateTime-Format-Pg DateTime-Format-W3CDTF DateTime-Format-ISO8601
SOAPLITESUBDIRS = URI libwww-perl SOAP-Lite
CLASS_DBI_MODULES = DBI DBD-SQLite UNIVERSAL-moniker Class-Accessor Class-Data-Inheritable Class-Trigger Class-WhiteHole DBIx-ContextualFetch Ima-DBI Class-DBI SQL-Abstract Class-DBI-AbstractSearch
DBIX_CLASS_MODULES = Sub-Uplevel Test-Simple Class-Accessor-Chained Class-Inspector Data-Page SQL-Abstract-Limit Carp-Clan Module-Find Algorithm-C3 Class-C3 Class-Data-Accessor ExtUtils-CBuilder PathTools Lingua-EN-Inflect Lingua-EN-Inflect-Number Data-Dump UNIVERSAL-require DBIx-Class DBIx-Class-Schema-Loader
XML_MODULES = XML-NamespaceSupport XML-SAX XML-LibXML-Common XML-LibXML XML-Writer XML-Parser XML-XPath Pod-WSDL
export XMLVS_TEST_PARSER=XML::LibXML::SAX
endif
SUBDIRS = $(DATETIMESUBDIRS) $(CLASS_DBI_MODULES) $(XML_MODULES) $(SOAPLITESUBDIRS) $(OTHERCPANSUBDIRS) $(DBIX_CLASS_MODULES)
INSTALLMAN1DIR=/usr/local/share/man/man1 INSTALLMAN3DIR=/usr/local/share/man/man3
INSTALLEXTRAS = $(subst Perl,Perl/Extras,$(shell perl -MConfig -e 'print $$Config{installprivlib}'))
INSTALL_SITE_LIB = $(shell perl -MConfig -e 'print $$Config{installsitelib}')
INSTALL_SITE_ARCH = $(shell perl -MConfig -e 'print $$Config{installsitearch}')
INSTALL_ARCH = /AppleInternal$(INSTALL_SITE_ARCH)
INSTALL_LIB = /AppleInternal$(INSTALL_SITE_LIB)
ifeq "$(shell test -d $(INSTALLEXTRAS) && echo YES )" ""
INSTALL_ARCH = $(INSTALL_SITE_ARCH)
INSTALL_LIB = $(INSTALL_SITE_LIB)
endif
INCARGS= -I$(DSTROOT)/$(INSTALL_ARCH) -I$(DSTROOT)/$(INSTALL_LIB)
INSTALLBIN=$(shell perl -MConfig -e 'print $$Config{installsitebin}')
PREFIX=$(shell perl -MConfig -e 'print $$Config{prefix}')
Crypt-OpenSSL-Random Crypt-OpenSSL-RSA Crypt-Rijndael UNIVERSAL-moniker Class-Accessor Class-Inspector Class-Data-Inheritable Class-Trigger Class-WhiteHole DBI DBD-SQLite DBIx-ContextualFetch Ima-DBI Class-DBI SQL-Abstract Class-DBI-AbstractSearch XML-NamespaceSupport XML-SAX XML-LibXML-Common XML-LibXML Log-Log4perl-0.42 Error-0.15 MIME-Base64-2.20 URI HTML-Tagset-3.03 Class-Factory-Util-1.6 Class-Singleton-1.03 Params-Validate DateTime-Format-Pg DateTime DateTime-Format-Strptime-1.04 Readonly Readonly-XS String-ShellQuote-1.00 Mail-Sender Apache-DBI DateTime-Format-W3CDTF File-NFSLock HTTP-Proxy XML-Writer XML-Parser XML-XPath Pod-WSDL Class-Std-Utils YAML-Syck Heap Graph Test-Simple Carp-Clan Module-Find Lingua-EN-Inflect Lingua-EN-Inflect-Number Data-Dump UNIVERSAL-require Tree-Simple Tree-Simple-VisitorFactory Text-LevenshteinXS Term-ReadLine-Perl ::
@echo "=============== Making $@ =================="; \
cd $(OBJROOT)/$@; \
mv Makefile.PL Makefile.PL.orig; \
cat Makefile.PL.orig ../add_rc_constants.pl > Makefile.PL; \
if [ -d Expat ]; then \
mv Expat/Makefile.PL Expat/Makefile.PL.orig; \
cat Expat/Makefile.PL.orig ../add_rc_constants.pl > Expat/Makefile.PL; \
fi; \
PERL_MM_USE_DEFAULT=1 perl $(INCARGS) Makefile.PL \
"PERL=/usr/bin/perl $(INCARGS)" \
INSTALLDIRS=site \
INSTALLSITEARCH=$(DSTROOT)/$(INSTALL_ARCH) \
INSTALLSITELIB=$(DSTROOT)/$(INSTALL_LIB) \
PREFIX=$(DSTROOT)/$(PREFIX) \
INSTALLSITEBIN=$(DSTROOT)/$(INSTALLBIN) \
INSTALLSCRIPT=$(DSTROOT)/$(INSTALLBIN) \
INSTALLSITEMAN1DIR=$(DSTROOT)/$(INSTALLMAN1DIR) \
INSTALLSITEMAN3DIR=$(DSTROOT)/$(INSTALLMAN3DIR); \
make all test pure_install;
@echo "";
version Log-Dispatch-2.10 Module-Build-0.20 DateTime-TimeZone DateTime-Locale DateTime-Format-Builder DateTime-Format-ISO8601 Sub-Uplevel Test-Exception Class-Accessor-Chained Data-Page SQL-Abstract-Limit Algorithm-C3 Class-C3 Class-Data-Accessor ExtUtils-CBuilder PathTools DBIx-Class DBIx-Class-Schema-Loader Class-Std Config-Std Text-WordDiff::
@echo "=============== Making $@ =================="; \
cd $(OBJROOT)/$@; \
perl $(INCARGS) Build.PL \
destdir=$(DSTROOT) installdirs=site \
--install_path arch=$(INSTALL_ARCH) \
--install_path lib=$(INSTALL_LIB) \
--install_path libdoc=$(INSTALLMAN3DIR) \
--install_path bindoc=$(INSTALLMAN1DIR); \
perl $(INCARGS) Build; \
perl $(INCARGS) Build test; \
perl $(INCARGS) Build install; \
echo
libwww-perl::
@echo "=============== Making $@ =================="; \
cd $(OBJROOT)/$@; \
mv Makefile.PL Makefile.PL.orig; \
cat Makefile.PL.orig ../add_rc_constants.pl > Makefile.PL; \
perl $(INCARGS) Makefile.PL -n "PERL=/usr/bin/perl $(INCARGS)" \
INSTALLSITEARCH=$(DSTROOT)/$(INSTALL_ARCH) \
INSTALLSITELIB=$(DSTROOT)/$(INSTALL_LIB) \
PREFIX=$(DSTROOT)/$(PREFIX) \
INSTALLSITEBIN=$(DSTROOT)/$(INSTALLBIN) \
INSTALLSITEMAN1DIR=$(DSTROOT)/$(INSTALLMAN1DIR) \
INSTALLSITEMAN3DIR=$(DSTROOT)/$(INSTALLMAN3DIR); \
make all test pure_install;
echo "";
SOAP-Lite::
@echo "=============== Making $@ =================="; \
cd $(OBJROOT)/$@; \
mv Makefile.PL Makefile.PL.orig; \
cat Makefile.PL.orig ../add_rc_constants.pl > Makefile.PL; \
perl Makefile.PL --noprompt \
INSTALLDIRS=site \
INSTALLSITEARCH=$(DSTROOT)/$(INSTALL_ARCH) \
INSTALLSITELIB=$(DSTROOT)/$(INSTALL_LIB) \
PREFIX=$(DSTROOT)/$(PREFIX) \
INSTALLSITEBIN=$(DSTROOT)/$(INSTALLBIN) \
INSTALLSCRIPT=$(DSTROOT)/$(INSTALLBIN) \
INSTALLSITEMAN1DIR=$(DSTROOT)/$(INSTALLMAN1DIR) \
INSTALLSITEMAN3DIR=$(DSTROOT)/$(INSTALLMAN3DIR) \
--HTTP-Client \
--noHTTPS-Client \
--noMAILTO-Client \
--noFTP-Client \
--noHTTP-Daemon \
--noHTTP-Apache \
--noHTTP-FCGI \
--noPOP3-Server \
--noIO-Server \
--noMQ \
--noJABBER \
--noMIMEParser \
--noTCP \
--noHTTP; \
make all pure_install;
@echo "";
ConfigurationFiles::
@echo "=============== Making $@ =================="; \
cd $(OBJROOT)/$@; \
make install;
install:: echo-config-info install-ditto-phase $(SUBDIRS) ConfigurationFiles
@if [ $(DSTROOT) ]; then \
echo Stripping symbols from bundles ... ; \
echo find $(DSTROOT) -xdev -name '*.bundle' -print -exec strip -S {} \; ; \
find $(DSTROOT) -xdev -name '*.bundle' -print -exec strip -S {} \; ; \
echo "" ; \
echo Stripping packlists ... ; \
find $(DSTROOT) -xdev -name '.packlist' -print -exec rm -f {} \; ; \
fi
@if [ -d $(INSTALLEXTRAS) ]; then \
echo Creating PrependToPath ... ; \
mkdir -p $(DSTROOT)/$(INSTALL_SITE_LIB) ; \
echo '/AppleInternal$(INSTALL_SITE_LIB)' > $(DSTROOT)/$(INSTALL_SITE_LIB)/PrependToPath ; \
fi
rm -f $(DSTROOT)"$$INSTALLSITEARCH"/perllocal.pod
installhdrs::
clean::
@for i in $(SUBDIRS); do \
( \
echo "=============== Cleaning $$i =================="; \
cd $$i; \
if [ -e Makefile ]; then \
make realclean; \
fi; \
rm -f Makefile.old; \
echo ""; \
) \
done \
installsrc::
ditto . $(SRCROOT)
install-ditto-phase::
@if [ "$(OBJROOT)" != "." ]; then \
ditto . $(OBJROOT); \
fi;
(cd $(OBJROOT) && ./applyPatches)
echo-config-info::
@echo "=============== Configuration Information ==============="
@echo "Perl 5.8.0 or greater: $(PERL58ORGREATER)"
@echo "Building on Leopard or higher (if so we'll skip certain modules that Leopard installs by default): $(LEOPARD_OR_HIGHER)"
@echo Building subdirs: $(SUBDIRS)
@echo INSTALLSITEARCH=$(DSTROOT)/$(INSTALL_ARCH)
@echo INSTALLSITELIB=$(DSTROOT)/$(INSTALL_LIB)
@echo PREFIX=$(DSTROOT)/$(PREFIX)
@echo INSTALLSITEBIN=$(DSTROOT)/$(INSTALLBIN)
@echo INSTALLSITEMAN1DIR=$(DSTROOT)/$(INSTALLMAN1DIR)
@echo INSTALLSITEMAN3DIR=$(DSTROOT)/$(INSTALLMAN3DIR)
@echo