Project import
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..939d0ca --- /dev/null +++ b/Makefile
@@ -0,0 +1,91 @@ +# +# Copyright (c) 2015 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 eigen, a C++ linear algebra library +# + + +include pre.mak + +PackageName := eigen + +PackageExtension := tar.bz2 +PackageSeparator := - + +PackagePatchArgs := -p1 + +PackageArchive := $(PackageName).$(PackageExtension) +PackageSourceDir := $(PackageName)$(PackageSeparator)$(PackageVersion) + +PackageBuildMakefile = $(call GenerateBuildPaths,Makefile) + +LicenseSourceFile := $(PackageSourceDir)/COPYING.MPL2 + +CleanPaths += $(PackageLicenseFile) + +SOURCEDIRS = $(PackageSourceDir) +$(PackageSourceDir)_RULE_TARGET = $(BuildDirectory)/configure + +all: $(PackageDefaultGoal) + +# Generate the package license contents. + +$(LicenseSourceFile): $(BuildDirectory)/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. + +$(BuildDirectory)/source: | $(PackageSourceDir) $(BuildDirectory) + $(Verbose)touch $@ + +# Patch the sources, if necessary. + +$(BuildDirectory)/patch: $(BuildDirectory)/source + $(Verbose)touch $@ + +$(BuildDirectory)/configure: $(BuildDirectory)/source + $(Verbose)touch $@ + +ResultHeaderPath = $(ResultDirectory)/include +SourceHeaderPathEigen = $(PackageSourceDir)/Eigen +SourceHeaderPathUnsupported = $(PackageSourceDir)/unsupported + +$(ResultHeaderPath): + $(create-directory) + +$(BuildDirectory)/copyEigen: $(BuildDirectory)/configure | $(ResultHeaderPath) + $(Verbose)cp -Rf $(SourceHeaderPathEigen) $(ResultHeaderPath) + $(Verbose)touch $@ + +$(BuildDirectory)/copyUnsupported: $(BuildDirectory)/configure | $(ResultHeaderPath) + $(Verbose)cp -Rf $(SourceHeaderPathUnsupported) $(ResultHeaderPath) + $(Verbose)touch $@ + +$(BuildDirectory)/stage: $(BuildDirectory)/copyEigen $(BuildDirectory)/copyUnsupported | $(ResultDirectory) + $(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/eigen.patches/eigen-51.description b/eigen.patches/eigen-51.description new file mode 100644 index 0000000..7e34142 --- /dev/null +++ b/eigen.patches/eigen-51.description
@@ -0,0 +1,2 @@ +This patch resolves any -Wshadow warnings/errors that Eigen produces +as a result of Sapphire calls.
diff --git a/eigen.patches/eigen-51.patch.gz b/eigen.patches/eigen-51.patch.gz new file mode 100644 index 0000000..1f794cc --- /dev/null +++ b/eigen.patches/eigen-51.patch.gz Binary files differ
diff --git a/eigen.patches/eigen-52.description b/eigen.patches/eigen-52.description new file mode 100644 index 0000000..d3ff8e5 --- /dev/null +++ b/eigen.patches/eigen-52.description
@@ -0,0 +1 @@ +Further clean up of shadowed members
diff --git a/eigen.patches/eigen-52.patch b/eigen.patches/eigen-52.patch new file mode 100644 index 0000000..3fdd65b --- /dev/null +++ b/eigen.patches/eigen-52.patch
@@ -0,0 +1,22 @@ +diff -aNur unpatched/Eigen/src/Core/ProductBase.h patched/Eigen/src/Core/ProductBase.h +--- unpatched/Eigen/src/Core/ProductBase.h 2015-01-21 08:26:41.000000000 -0800 ++++ patched/Eigen/src/Core/ProductBase.h 2016-10-26 17:11:53.638624059 -0700 +@@ -139,15 +139,15 @@ + { return FullyLazyCoeffBaseProductType(m_lhs, m_rhs).diagonal(index); } + + // restrict coeff accessors to 1x1 expressions. No need to care about mutators here since this isnt a Lvalue expression +- typename Base::CoeffReturnType coeff(Index row, Index col) const ++ typename Base::CoeffReturnType coeff(Index aRow, Index aCol) const + { + #ifdef EIGEN2_SUPPORT +- return lhs().row(row).cwiseProduct(rhs().col(col).transpose()).sum(); ++ return lhs().row(aRow).cwiseProduct(rhs().col(col).transpose()).sum(); + #else + EIGEN_STATIC_ASSERT_SIZE_1x1(Derived) + eigen_assert(this->rows() == 1 && this->cols() == 1); + Matrix<Scalar,1,1> result = *this; +- return result.coeff(row,col); ++ return result.coeff(aRow,aCol); + #endif + } +
diff --git a/eigen.tar.bz2 b/eigen.tar.bz2 new file mode 100644 index 0000000..1dcc960 --- /dev/null +++ b/eigen.tar.bz2 Binary files differ
diff --git a/eigen.url b/eigen.url new file mode 100644 index 0000000..e9626a2 --- /dev/null +++ b/eigen.url
@@ -0,0 +1 @@ +http://bitbucket.org/eigen/eigen/get/3.2.4.tar.bz2
diff --git a/eigen.version b/eigen.version new file mode 100644 index 0000000..a4c8315 --- /dev/null +++ b/eigen.version
@@ -0,0 +1 @@ +eigen-10219c95fe65