Project import
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..f7059ed
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,174 @@
+#
+#    Copyright (c) 2010-2012 Nest, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the makefile for the library and command line
+#      utility for transferring files with URL syntax, libcurl and
+#      curl, respectively.
+#
+
+include pre.mak
+
+PackageName		:= curl
+
+PackageExtension	:= tar.gz
+PackageSeparator	:= -
+
+PackagePatchArgs    := -p1
+
+PackageArchive		:= $(PackageName).$(PackageExtension)
+PackageSourceDir	:= $(PackageName)$(PackageSeparator)$(PackageVersion)
+
+PackageBuildMakefile	= $(call GenerateBuildPaths,Makefile)
+
+CleanPaths		+= $(PackageLicenseFile)
+
+TpsDir                  = sw/tps
+
+OpenSSLDir              = $(TpsDir)/openssl
+OpenSSLPrefixDir        = usr
+OpenSSLIncludeDir       = $(OpenSSLPrefixDir)/include
+OpenSSLLibraryDir       = $(OpenSSLPrefixDir)/lib
+OpenSSLNames            = crypto ssl
+OpenSSLSearchPath       = $(call GenerateResultPaths,$(OpenSSLDir),$(OpenSSLPrefixDir))
+OpenSSLIncludePath      = $(call GenerateResultPaths,$(OpenSSLDir),$(OpenSSLIncludeDir))
+OpenSSLLibraryPath      = $(call GenerateResultPaths,$(OpenSSLDir),$(OpenSSLLibraryDir))
+OpenSSLLibraryPaths     = $(call GenerateResultPaths,$(OpenSSLResultsDir),$(addprefix $(OpenSSLLibraryDir)/,$(OpenSSLNames)))
+OpenSSLDependPaths      = $(call GenerateSharedLibraryResultPaths,$(OpenSSLDir)/$(OpenSSLLibraryDir),$(OpenSSLNames))
+
+ZlibDir                 = $(TpsDir)/zlib
+ZlibPrefixDir           = usr
+ZlibIncludeDir          = $(ZlibPrefixDir)/include
+ZlibLibraryDir          = $(ZlibPrefixDir)/lib
+ZlibName                = z
+ZlibSearchPath          = $(call GenerateResultPaths,$(ZlibDir),$(ZlibPrefixDir))
+ZlibIncludePath         = $(call GenerateResultPaths,$(ZlibDir),$(ZlibIncludeDir))
+ZlibLibraryPath         = $(call GenerateResultPaths,$(ZlibDir),$(ZlibLibraryDir))
+ZlibDependPath          = $(call GenerateSharedLibraryResultPaths,$(ZlibDir)/$(ZlibLibraryDir),$(ZlibName))
+
+SOURCEDIRS                      = $(PackageSourceDir)
+$(PackageSourceDir)_RULE_TARGET = $(BuildDirectory)/configure
+
+all: $(PackageDefaultGoal)
+
+# Generate the package license contents.
+
+$(PackageSourceDir)/COPYING: $(BuildDirectory)/source
+
+$(PackageLicenseFile): $(PackageSourceDir)/COPYING
+	$(copy-result)
+
+# Extract the source from the archive and apply patches, if any.
+
+$(PackageSourceDir): $(PackageArchive) $(PackagePatchPaths)
+	$(expand-and-patch-package)
+
+# Prepare the sources.
+
+$(BuildDirectory)/source: | $(PackageSourceDir)
+	$(Verbose)touch $@
+
+# Patch the sources, if necessary.
+
+$(BuildDirectory)/patch: $(BuildDirectory)/source
+	$(Verbose)touch $@
+
+# Generate the package build makefile.
+#
+# For non-cross-compiled targets (e.g. simulators), the curl configure
+# attempts to perform run-time tests.
+#
+# To ensure this works against the in-project versions of openssl and
+# zlib, the paths to these shared objects MUST be found by the dynamic
+# loader.
+
+$(BuildDirectory)/configure: export $(LoaderSearchPath) := $(OpenSSLLibraryPath):$(ZlibLibraryPath):$($(LoaderSearchPath))
+
+# Configure the source for building.
+
+$(BuildDirectory)/configure: $(BuildDirectory)/source | $(PackageSourceDir) $(BuildDirectory)
+	$(Verbose)cd $(BuildDirectory) && \
+	$(CURDIR)/$(PackageSourceDir)/configure \
+	INSTALL="$(INSTALL) $(INSTALLFLAGS)" \
+	CC="$(CC)" CXX="$(CXX)" AR=$(AR) RANLIB=$(RANLIB) STRIP=$(STRIP) \
+	CPPFLAGS="$(call ToolGenerateIncludeArgument,$(OpenSSLIncludePath))" \
+	LDFLAGS="$(call GenerateResolveArguments,$(ZlibDependPath)) \
+	$(call GenerateResolveArguments,$(OpenSSLDependPaths)) \
+	$(call ToolGenerateLibraryPathArgument,$(OpenSSLLibraryPath))" \
+	--build=$(HostTuple) \
+	--host=$(TargetTuple) \
+	$(CurlPackageOptions) \
+	--disable-ares \
+	--disable-dict \
+	--disable-gopher \
+	--disable-imap \
+	--disable-ldap \
+	--disable-ldaps \
+	--disable-manual \
+	--disable-ntlm-wb \
+	--disable-pop3 \
+	--disable-rtsp \
+	--disable-smtp \
+	--disable-telnet \
+	--enable-ipv6 \
+	--with-ssl=$(OpenSSLSearchPath) \
+	--with-zlib=$(ZlibSearchPath) \
+	--without-libidn \
+	--prefix=$(addprefix $(LibPrefixConfigOption),/usr) \
+	--sysconfdir=$(addprefix $(LibPrefixConfigOption),/etc) \
+	--localstatedir=$(addprefix $(LibPrefixConfigOption),/var) \
+	--disable-static
+	$(Verbose)touch $@
+
+# Build the source.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+
+$(BuildDirectory)/build: $(BuildDirectory)/configure
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) all
+	$(Verbose)touch $@
+
+# Stage the build to a temporary installation area.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+#
+# We explictly remove 'libcurl.la' because some packages that depend
+# on libcurl use libtool. If libtool finds a '*.la' file for a
+# library, it uses the value of 'libdir=<dir>' it finds. In our case,
+# since '--prefix=/usr' this value is '/usr/lib'. It then resolves
+# '-lcurl' to '/usr/lib/libcurl.so'. In a cross-compilation
+# environment, this is likely to be neither the right architecture nor
+# the right version to link against. In short, we lose.
+#
+# We could also handle this by removing DESTDIR and setting the prefix
+# to $(ResultDirectory); however, that results in libtool hard-coding
+# $(ResultDirectory) as the RPATH in the linked executables which is
+# NOT what we want either. We lose again.
+#
+# By removing the '*.la' file, we win by ensuring neither a misdirected
+# link nor an RPATH.
+
+$(BuildDirectory)/stage: $(BuildDirectory)/build | $(ResultDirectory)
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) $(call GenerateLibraryDestinationArgument,$(ResultDirectory)) install
+	$(Verbose)$(RM) $(RMFLAGS) $(call GenerateResultPaths,,usr/lib/libcurl.la) 
+	$(Verbose)touch $@
+
+.PHONY: stage
+stage: $(BuildDirectory)/stage
+
+clean:
+	$(Verbose)$(RM) $(RMFLAGS) -r $(PackageSourceDir)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(BuildDirectory)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(ResultDirectory)
+
+include post.mak
diff --git a/curl.tar.gz b/curl.tar.gz
new file mode 100644
index 0000000..ec1f1b7
--- /dev/null
+++ b/curl.tar.gz
Binary files differ
diff --git a/curl.url b/curl.url
new file mode 100644
index 0000000..df4d2b8
--- /dev/null
+++ b/curl.url
@@ -0,0 +1 @@
+http://curl.haxx.se/download/curl-7.49.1.tar.gz
diff --git a/curl.version b/curl.version
new file mode 100644
index 0000000..a4ab940
--- /dev/null
+++ b/curl.version
@@ -0,0 +1 @@
+7.49.1