| # | 
 | #    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 make file for the GNU TLS library, providing a | 
 | #      secure layer over a reliable network transport. | 
 | # | 
 |  | 
 | BuildConfigSpecialized	:= No | 
 | BuildProductSpecialized	:= No | 
 |  | 
 | include pre.mak | 
 |  | 
 | PackageName		:= gnutls | 
 |  | 
 | PackageExtension	:= tar.bz2 | 
 | PackageSeparator	:= - | 
 |  | 
 | PackagePatchArgs	:= -p1 | 
 |  | 
 | PackageArchive		:= $(PackageName).$(PackageExtension) | 
 | PackageSourceDir	:= $(PackageName)$(PackageSeparator)$(PackageVersion) | 
 |  | 
 | PackageBuildMakefile	= $(call GenerateBuildPaths,Makefile) | 
 |  | 
 | LicenseSourceFile	:= $(PackageSourceDir)/COPYING | 
 |  | 
 | CleanPaths		+= $(PackageLicenseFile) | 
 |  | 
 | GcryptDir		:= sw/tps/libgcrypt | 
 | GcryptIncDir		:= $(call GenerateResultPaths,$(GcryptDir),usr/include) | 
 | GcryptLibDir		:= $(call GenerateResultPaths,$(GcryptDir),usr/lib) | 
 |  | 
 | GpgErrorDir		:= sw/tps/libgpg-error | 
 | GpgErrorIncDir		:= $(call GenerateResultPaths,$(GpgErrorDir),usr/include) | 
 | GpgErrorLibDir		:= $(call GenerateResultPaths,$(GpgErrorDir),usr/lib) | 
 |  | 
 | all: $(PackageDefaultGoal) | 
 |  | 
 | # Generate the package license contents. | 
 |  | 
 | $(LicenseSourceFile): source | 
 |  | 
 | $(PackageLicenseFile): $(LicenseSourceFile) | 
 | 	$(copy-result) | 
 |  | 
 | # Extract the source from the archive and apply patches, if any. | 
 |  | 
 | $(PackageSourceDir): $(PackageArchive) $(PackagePatchPaths) | 
 | 	$(expand-and-patch-package) | 
 |  | 
 | # Prepare the sources. | 
 |  | 
 | .PHONY: source | 
 | source: | $(PackageSourceDir) | 
 |  | 
 | # Patch the sources, if necessary. | 
 |  | 
 | .PHONY: patch | 
 | patch: source | 
 |  | 
 | # Generate the package build makefile. | 
 |  | 
 | $(PackageBuildMakefile): | $(PackageSourceDir) $(BuildDirectory) $(ResultDirectory) | 
 | 	$(Verbose)cd $(BuildDirectory) && \ | 
 | 	$(CURDIR)/$(PackageSourceDir)/configure \ | 
 | 	CC=$(CC) CXX=$(CXX) AR=$(AR) NM=$(NM) RANLIB=$(RANLIB) STRIP=$(STRIP) \ | 
 | 	CPPFLAGS="$(call ToolGenerateIncludeArgument,$(GpgErrorIncDir))" \ | 
 | 	LDFLAGS="$(call ToolGenerateLibraryPathArgument,$(GpgErrorLibDir))" \ | 
 | 	ac_cv_libgcrypt=yes \ | 
 | 	ac_cv_libtasn1=yes \ | 
 | 	--build=$(HostTuple) \ | 
 | 	--host=$(TargetTuple) \ | 
 | 	--target=$(TargetTuple) \ | 
 | 	--prefix=/usr \ | 
 | 	--sysconfdir=/etc \ | 
 | 	--localstatedir=/var \ | 
 | 	--disable-cxx \ | 
 | 	--disable-gtk-doc \ | 
 | 	--disable-gtk-doc-html \ | 
 | 	--disable-gtk-doc-pdf \ | 
 | 	--with-included-libtasn1 \ | 
 | 	--with-libgcrypt-prefix=$(call GenerateResultPaths,$(GcryptDir),usr) | 
 |  | 
 | # Configure the source for building. | 
 |  | 
 | .PHONY: configure | 
 | configure: source $(PackageBuildMakefile) | 
 |  | 
 | # Build the source. | 
 | # | 
 | # We have to unset MAKEFLAGS since they confuse the package build otherwise. | 
 |  | 
 | .PHONY: build | 
 | build: configure | 
 | 	$(Verbose)unset MAKEFLAGS && \ | 
 | 	$(MAKE) -C $(BuildDirectory) \ | 
 | 	all | 
 |  | 
 | # Stage the build to a temporary installation area. | 
 | # | 
 | # We have to unset MAKEFLAGS since they confuse the package build otherwise. | 
 | # | 
 | # We explictly remove 'libavahi-core.la' and 'libavahi-common.la' | 
 | # because some packages that depend on these libraries 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 '-lavahi-core' or | 
 | # '-lavahi-common' to '/usr/lib/libavahi-core.so' and | 
 | # '/usr/lib/libavahi-common.so', respectively. 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. | 
 |  | 
 | .PHONY: stage | 
 | stage: build | $(ResultDirectory) | 
 | 	$(Verbose)unset MAKEFLAGS && \ | 
 | 	$(MAKE) -C $(BuildDirectory) \ | 
 | 	DESTDIR=$(ResultDirectory) \ | 
 | 	install | 
 | 	$(Verbose)$(RM) $(RMFLAGS) $(call GenerateResultPaths,,$(addprefix usr/lib/, libgnutls.la libgnutls-extra.la libgnutls-openssl.la)) | 
 |  | 
 | clean: | 
 | 	$(Verbose)$(RM) $(RMFLAGS) -r $(PackageSourceDir) | 
 | 	$(Verbose)$(RM) $(RMFLAGS) -r $(BuildDirectory) | 
 | 	$(Verbose)$(RM) $(RMFLAGS) -r $(ResultDirectory) | 
 |  | 
 | include post.mak |