ccolamd now installs and works with gtsam - all tests pass
parent
2d0984e9b4
commit
e9b8a48c43
35
configure.ac
35
configure.ac
|
@ -16,8 +16,10 @@ AC_CONFIG_SRCDIR([gtsam/slam/pose2SLAM.cpp])
|
|||
AC_CONFIG_SRCDIR([tests/testTupleValues.cpp])
|
||||
AC_CONFIG_SRCDIR([examples/SimpleRotation.cpp])
|
||||
|
||||
# pull in all subdirectories of Eigen - FIXME: find a better way of handling this
|
||||
AC_CONFIG_SRCDIR([gtsam/3rdparty/Makefile.am])
|
||||
AC_CONFIG_SRCDIR([gtsam/3rdparty/ccolamd/Makefile.am])
|
||||
|
||||
# pull in all subdirectories of Eigen - FIXME: find a better way of handling this
|
||||
AC_CONFIG_SRCDIR([gtsam/3rdparty/Eigen/Makefile.am])
|
||||
AC_CONFIG_SRCDIR([gtsam/3rdparty/Eigen/src/Makefile.am])
|
||||
AC_CONFIG_SRCDIR([gtsam/3rdparty/Eigen/src/Cholesky/Makefile.am])
|
||||
|
@ -140,21 +142,21 @@ AX_BOOST_BASE([1.40])
|
|||
# ])
|
||||
#AC_SUBST([boost])
|
||||
|
||||
# ask for ccolamd library include directory
|
||||
AC_ARG_WITH([ccolamd-inc],
|
||||
[AS_HELP_STRING([--with-ccolamd-inc],
|
||||
[specify the CCOLAMD library include directory (defaults to /HOME/include/ccolamd)])],
|
||||
[CCOLAMDInc=$withval],
|
||||
[CCOLAMDInc=${HOME}/include/ccolamd])
|
||||
AC_SUBST([CCOLAMDInc])
|
||||
|
||||
# ask for sparse library lib directory
|
||||
AC_ARG_WITH([ccolamd-lib],
|
||||
[AS_HELP_STRING([--with-ccolamd-lib],
|
||||
[specify the CCOLAMD library lib directory (defaults to /HOME/lib)])],
|
||||
[CCOLAMDLib=$withval],
|
||||
[CCOLAMDLib=${HOME}/lib])
|
||||
AC_SUBST([CCOLAMDLib])
|
||||
## ask for ccolamd library include directory
|
||||
#AC_ARG_WITH([ccolamd-inc],
|
||||
# [AS_HELP_STRING([--with-ccolamd-inc],
|
||||
# [specify the CCOLAMD library include directory (defaults to /HOME/include/ccolamd)])],
|
||||
# [CCOLAMDInc=$withval],
|
||||
# [CCOLAMDInc=${HOME}/include/ccolamd])
|
||||
#AC_SUBST([CCOLAMDInc])
|
||||
#
|
||||
## ask for sparse library lib directory
|
||||
#AC_ARG_WITH([ccolamd-lib],
|
||||
# [AS_HELP_STRING([--with-ccolamd-lib],
|
||||
# [specify the CCOLAMD library lib directory (defaults to /HOME/lib)])],
|
||||
# [CCOLAMDLib=$withval],
|
||||
# [CCOLAMDLib=${HOME}/lib])
|
||||
#AC_SUBST([CCOLAMDLib])
|
||||
|
||||
AC_CONFIG_FILES([CppUnitLite/Makefile \
|
||||
gtsam/3rdparty/Eigen/src/Cholesky/Makefile \
|
||||
|
@ -183,6 +185,7 @@ gtsam/3rdparty/Eigen/src/Eigen2Support/Makefile \
|
|||
gtsam/3rdparty/Eigen/src/Eigen2Support/Geometry/Makefile \
|
||||
gtsam/3rdparty/Eigen/src/Makefile \
|
||||
gtsam/3rdparty/Eigen/Makefile \
|
||||
gtsam/3rdparty/ccolamd/Makefile \
|
||||
gtsam/3rdparty/Makefile \
|
||||
gtsam/base/Makefile \
|
||||
gtsam/geometry/Makefile \
|
||||
|
|
|
@ -22,7 +22,7 @@ SUBDIRS = vSLAMexample # visual SLAM examples with 3D point landmarks and 6D cam
|
|||
#----------------------------------------------------------------------------------------------------
|
||||
# rules to build local programs
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(CCOLAMDInc) -I$(top_srcdir)
|
||||
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(top_srcdir)
|
||||
AM_LDFLAGS = $(BOOST_LDFLAGS)
|
||||
LDADD = ../gtsam/libgtsam.la
|
||||
AM_DEFAULT_SOURCE_EXT = .cpp
|
||||
|
|
|
@ -28,7 +28,7 @@ dist-hook:
|
|||
#----------------------------------------------------------------------------------------------------
|
||||
# rules to build local programs
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(CCOLAMDInc) -I$(top_srcdir)
|
||||
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(top_srcdir)
|
||||
AM_LDFLAGS = $(BOOST_LDFLAGS)
|
||||
LDADD = ../../gtsam/libgtsam.la
|
||||
AM_DEFAULT_SOURCE_EXT = .cpp
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
# 3rd Party libraries to be built and installed along with gtsam
|
||||
|
||||
# All the sub-directories that need to be built
|
||||
SUBDIRS = Eigen
|
||||
SUBDIRS = Eigen ccolamd
|
||||
|
||||
# And the corresponding libraries produced
|
||||
# TODO add sublibs when something in 3rdparty actually needs compilation
|
||||
# SUBLIBS =
|
||||
SUBLIBS = ccolamd/libccolamd.la
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
Changes for GTSAM Distribution
|
||||
June 2, 2011:
|
||||
|
||||
* Moved all source/header files into a single folder within gtsam/3rdparty
|
||||
* Removed demos, matlab examples, original makefiles
|
||||
* Added UFconfig.[c|h] from the UFconfig suitesparse package
|
||||
* Renamed licence file to LGPL.txt - contents remain the same
|
||||
* All code is unchanged from original
|
||||
|
||||
|
||||
Original ChangeLog by authors
|
||||
Jan 25, 2011: version 2.7.3
|
||||
|
||||
* minor fix to "make install"
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
#-------------------------------------------------------------------------------
|
||||
# CCOLAMD Makefile
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
default: libccolamd.a
|
||||
|
||||
include ../../UFconfig/UFconfig.mk
|
||||
|
||||
I = -I../Include -I../../UFconfig
|
||||
|
||||
INC = ../Include/ccolamd.h ../../UFconfig/UFconfig.h
|
||||
|
||||
SRC = ../Source/ccolamd.c ../Source/ccolamd_global.c
|
||||
|
||||
# creates libccolamd.a, a C-callable COLAMD library
|
||||
libccolamd.a: $(SRC) $(INC)
|
||||
$(CC) $(CFLAGS) $(I) -c ../Source/ccolamd_global.c
|
||||
$(CC) $(CFLAGS) $(I) -c ../Source/ccolamd.c
|
||||
$(CC) $(CFLAGS) $(I) -c ../Source/ccolamd.c -DDLONG -o ccolamd_l.o
|
||||
$(AR) libccolamd.a ccolamd.o ccolamd_l.o ccolamd_global.o
|
||||
|
||||
ccode: libccolamd.a
|
||||
|
||||
library: libccolamd.a
|
||||
|
||||
clean:
|
||||
- $(RM) $(CLEAN)
|
||||
|
||||
purge: distclean
|
||||
|
||||
distclean: clean
|
||||
- $(RM) libccolamd.a
|
|
@ -0,0 +1,30 @@
|
|||
#----------------------------------------------------------------------------------------------------
|
||||
# GTSAM 3rdparty: CCOLAMD
|
||||
# Tim Davis' sparse library for column ordering - part of suitesparse
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
|
||||
# use nostdinc to turn off -I. and -I.., we do not need them because
|
||||
# header files are qualified so they can be included in external projects.
|
||||
AUTOMAKE_OPTIONS = nostdinc
|
||||
|
||||
headers =
|
||||
sources =
|
||||
|
||||
# CCOLAMD (with UFconfig files included)
|
||||
headers += ccolamd.h UFconfig.h
|
||||
sources += ccolamd.c ccolamd_global.c UFconfig.c
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# Create a libtool library that is not installed
|
||||
# It will be packaged in the toplevel libgtsam.la as specfied in ../Makefile.am
|
||||
# The headers are installed in $(includedir)/gtsam/3rdparty:
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
ccolamddir = $(pkgincludedir)/3rdparty/ccolamd
|
||||
ccolamd_HEADERS = $(headers)
|
||||
noinst_LTLIBRARIES = libccolamd.la
|
||||
libccolamd_la_SOURCES = $(sources)
|
||||
|
||||
AM_CPPFLAGS =
|
||||
|
||||
AM_CPPFLAGS += $(BOOST_CPPFLAGS) -I$(top_srcdir) -DDLONG
|
||||
AM_LDFLAGS = $(BOOST_LDFLAGS)
|
|
@ -1,386 +0,0 @@
|
|||
#===============================================================================
|
||||
# UFconfig.mk: common configuration file for the SuiteSparse
|
||||
#===============================================================================
|
||||
|
||||
# This file contains all configuration settings for all packages authored or
|
||||
# co-authored by Tim Davis at the University of Florida:
|
||||
#
|
||||
# Package Version Description
|
||||
# ------- ------- -----------
|
||||
# AMD 1.2 or later approximate minimum degree ordering
|
||||
# COLAMD 2.4 or later column approximate minimum degree ordering
|
||||
# CCOLAMD 1.0 or later constrained column approximate minimum degree ordering
|
||||
# CAMD any constrained approximate minimum degree ordering
|
||||
# UMFPACK 4.5 or later sparse LU factorization, with the BLAS
|
||||
# CHOLMOD any sparse Cholesky factorization, update/downdate
|
||||
# KLU 0.8 or later sparse LU factorization, BLAS-free
|
||||
# BTF 0.8 or later permutation to block triangular form
|
||||
# LDL 1.2 or later concise sparse LDL'
|
||||
# LPDASA any linear program solve (dual active set algorithm)
|
||||
# CXSparse any extended version of CSparse (int/long, real/complex)
|
||||
# SuiteSparseQR any sparse QR factorization
|
||||
#
|
||||
# The UFconfig directory and the above packages should all appear in a single
|
||||
# directory, in order for the Makefile's within each package to find this file.
|
||||
#
|
||||
# To enable an option of the form "# OPTION = ...", edit this file and
|
||||
# delete the "#" in the first column of the option you wish to use.
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Generic configuration
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# C compiler and compiler flags: These will normally not give you optimal
|
||||
# performance. You should select the optimization parameters that are best
|
||||
# for your system. On Linux, use "CFLAGS = -O3 -fexceptions" for example.
|
||||
CC = cc
|
||||
CFLAGS = -O3 -fexceptions
|
||||
|
||||
# C++ compiler (also uses CFLAGS)
|
||||
CPLUSPLUS = g++
|
||||
|
||||
# ranlib, and ar, for generating libraries
|
||||
RANLIB = ranlib
|
||||
AR = ar cr
|
||||
|
||||
# copy, delete, and rename a file
|
||||
CP = cp -f
|
||||
RM = rm -f
|
||||
MV = mv -f
|
||||
|
||||
# Fortran compiler (not normally required)
|
||||
F77 = f77
|
||||
F77FLAGS = -O
|
||||
F77LIB =
|
||||
|
||||
# C and Fortran libraries
|
||||
LIB = -lm
|
||||
|
||||
# For compiling MATLAB mexFunctions (MATLAB 7.5 or later)
|
||||
MEX = mex -O -largeArrayDims -lmwlapack -lmwblas
|
||||
|
||||
# For compiling MATLAB mexFunctions (MATLAB 7.3 and 7.4)
|
||||
# MEX = mex -O -largeArrayDims -lmwlapack
|
||||
|
||||
# For MATLAB 7.2 or earlier, you must use one of these options:
|
||||
# MEX = mex -O -lmwlapack
|
||||
# MEX = mex -O
|
||||
|
||||
# Which version of MAKE you are using (default is "make")
|
||||
# MAKE = make
|
||||
# MAKE = gmake
|
||||
|
||||
# For "make install"
|
||||
INSTALL_LIB = /usr/local/lib
|
||||
INSTALL_INCLUDE = /usr/local/include
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# BLAS and LAPACK configuration:
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# UMFPACK and CHOLMOD both require the BLAS. CHOLMOD also requires LAPACK.
|
||||
# See Kazushige Goto's BLAS at http://www.cs.utexas.edu/users/flame/goto/ or
|
||||
# http://www.tacc.utexas.edu/~kgoto/ for the best BLAS to use with CHOLMOD.
|
||||
# LAPACK is at http://www.netlib.org/lapack/ . You can use the standard
|
||||
# Fortran LAPACK along with Goto's BLAS to obtain very good performance.
|
||||
# CHOLMOD gets a peak numeric factorization rate of 3.6 Gflops on a 3.2 GHz
|
||||
# Pentium 4 (512K cache, 4GB main memory) with the Goto BLAS, and 6 Gflops
|
||||
# on a 2.5Ghz dual-core AMD Opteron.
|
||||
|
||||
# These settings will probably not work, since there is no fixed convention for
|
||||
# naming the BLAS and LAPACK library (*.a or *.so) files.
|
||||
|
||||
# This is probably slow ... it might connect to the Standard Reference BLAS:
|
||||
BLAS = -lblas -lgfortran
|
||||
LAPACK = -llapack
|
||||
|
||||
# NOTE: this next option for the "Goto BLAS" has nothing to do with a "goto"
|
||||
# statement. Rather, the Goto BLAS is written by Dr. Kazushige Goto.
|
||||
# Using the Goto BLAS:
|
||||
# BLAS = -lgoto -lgfortran -lgfortranbegin
|
||||
|
||||
# Using non-optimized versions:
|
||||
# BLAS = -lblas_plain -lgfortran -lgfortranbegin
|
||||
# LAPACK = -llapack_plain
|
||||
|
||||
# BLAS = -lblas_plain -lgfortran -lgfortranbegin
|
||||
# LAPACK = -llapack
|
||||
|
||||
# The BLAS might not contain xerbla, an error-handling routine for LAPACK and
|
||||
# the BLAS. Also, the standard xerbla requires the Fortran I/O library, and
|
||||
# stops the application program if an error occurs. A C version of xerbla
|
||||
# distributed with this software (UFconfig/xerbla/libcerbla.a) includes a
|
||||
# Fortran-callable xerbla routine that prints nothing and does not stop the
|
||||
# application program. This is optional.
|
||||
# XERBLA = ../../UFconfig/xerbla/libcerbla.a
|
||||
|
||||
# If you wish to use the XERBLA in LAPACK and/or the BLAS instead,
|
||||
# use this option:
|
||||
XERBLA =
|
||||
|
||||
# If you wish to use the Fortran UFconfig/xerbla/xerbla.f instead, use this:
|
||||
# XERBLA = ../../UFconfig/xerbla/libxerbla.a
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# METIS, optionally used by CHOLMOD
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# If you do not have METIS, or do not wish to use it in CHOLMOD, you must
|
||||
# compile CHOLMOD with the -DNPARTITION flag. You must also use the
|
||||
# "METIS =" option, below.
|
||||
|
||||
# The path is relative to where it is used, in CHOLMOD/Lib, CHOLMOD/MATLAB, etc.
|
||||
# You may wish to use an absolute path. METIS is optional. Compile
|
||||
# CHOLMOD with -DNPARTITION if you do not wish to use METIS.
|
||||
METIS_PATH = ../../metis-4.0
|
||||
METIS = ../../metis-4.0/libmetis.a
|
||||
|
||||
# If you use CHOLMOD_CONFIG = -DNPARTITION then you must use the following
|
||||
# options:
|
||||
# METIS_PATH =
|
||||
# METIS =
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# UMFPACK configuration:
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# Configuration flags for UMFPACK. See UMFPACK/Source/umf_config.h for details.
|
||||
#
|
||||
# -DNBLAS do not use the BLAS. UMFPACK will be very slow.
|
||||
# -D'LONGBLAS=long' or -DLONGBLAS='long long' defines the integers used by
|
||||
# LAPACK and the BLAS (defaults to 'int')
|
||||
# -DNSUNPERF do not use the Sun Perf. Library (default is use it on Solaris)
|
||||
# -DNPOSIX do not use POSIX routines sysconf and times.
|
||||
# -DGETRUSAGE use getrusage
|
||||
# -DNO_TIMER do not use any timing routines
|
||||
# -DNRECIPROCAL do not multiply by the reciprocal
|
||||
# -DNO_DIVIDE_BY_ZERO do not divide by zero
|
||||
|
||||
UMFPACK_CONFIG =
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# CHOLMOD configuration
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# CHOLMOD Library Modules, which appear in libcholmod.a:
|
||||
# Core requires: none
|
||||
# Check requires: Core
|
||||
# Cholesky requires: Core, AMD, COLAMD. optional: Partition, Supernodal
|
||||
# MatrixOps requires: Core
|
||||
# Modify requires: Core
|
||||
# Partition requires: Core, CCOLAMD, METIS. optional: Cholesky
|
||||
# Supernodal requires: Core, BLAS, LAPACK
|
||||
#
|
||||
# CHOLMOD test/demo Modules (all are GNU GPL, do not appear in libcholmod.a):
|
||||
# Tcov requires: Core, Check, Cholesky, MatrixOps, Modify, Supernodal
|
||||
# optional: Partition
|
||||
# Valgrind same as Tcov
|
||||
# Demo requires: Core, Check, Cholesky, MatrixOps, Supernodal
|
||||
# optional: Partition
|
||||
#
|
||||
# Configuration flags:
|
||||
# -DNCHECK do not include the Check module. License GNU LGPL
|
||||
# -DNCHOLESKY do not include the Cholesky module. License GNU LGPL
|
||||
# -DNPARTITION do not include the Partition module. License GNU LGPL
|
||||
# also do not include METIS.
|
||||
# -DNGPL do not include any GNU GPL Modules in the CHOLMOD library:
|
||||
# -DNMATRIXOPS do not include the MatrixOps module. License GNU GPL
|
||||
# -DNMODIFY do not include the Modify module. License GNU GPL
|
||||
# -DNSUPERNODAL do not include the Supernodal module. License GNU GPL
|
||||
#
|
||||
# -DNPRINT do not print anything.
|
||||
# -D'LONGBLAS=long' or -DLONGBLAS='long long' defines the integers used by
|
||||
# LAPACK and the BLAS (defaults to 'int')
|
||||
# -DNSUNPERF for Solaris only. If defined, do not use the Sun
|
||||
# Performance Library
|
||||
|
||||
CHOLMOD_CONFIG =
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# SuiteSparseQR configuration:
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# The SuiteSparseQR library can be compiled with the following options:
|
||||
#
|
||||
# -DNPARTITION do not include the CHOLMOD partition module
|
||||
# -DNEXPERT do not include the functions in SuiteSparseQR_expert.cpp
|
||||
# -DTIMING enable timing and flop counts
|
||||
# -DHAVE_TBB enable the use of Intel's Threading Building Blocks (TBB)
|
||||
|
||||
# default, without timing, without TBB:
|
||||
SPQR_CONFIG =
|
||||
# with timing and TBB:
|
||||
# SPQR_CONFIG = -DTIMING -DHAVE_TBB
|
||||
# with timing
|
||||
# SPQR_CONFIG = -DTIMING
|
||||
|
||||
# This is needed for IBM AIX: (but not for and C codes, just C++)
|
||||
# SPQR_CONFIG = -DBLAS_NO_UNDERSCORE
|
||||
|
||||
# with TBB, you must select this:
|
||||
# TBB = -ltbb
|
||||
# without TBB:
|
||||
TBB =
|
||||
|
||||
# with timing, you must include the timing library:
|
||||
# RTLIB = -lrt
|
||||
# without timing
|
||||
RTLIB =
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Linux
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# Using default compilers:
|
||||
# CC = gcc
|
||||
# CFLAGS = -O3 -fexceptions
|
||||
|
||||
# alternatives:
|
||||
# CFLAGS = -g -fexceptions \
|
||||
-Wall -W -Wshadow -Wmissing-prototypes -Wstrict-prototypes \
|
||||
-Wredundant-decls -Wnested-externs -Wdisabled-optimization -ansi \
|
||||
-funit-at-a-time
|
||||
# CFLAGS = -O3 -fexceptions \
|
||||
-Wall -W -Werror -Wshadow -Wmissing-prototypes -Wstrict-prototypes \
|
||||
-Wredundant-decls -Wnested-externs -Wdisabled-optimization -ansi
|
||||
# CFLAGS = -O3 -fexceptions -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
|
||||
# CFLAGS = -O3
|
||||
# CFLAGS = -O3 -g -fexceptions
|
||||
# CFLAGS = -g -fexceptions \
|
||||
-Wall -W -Wshadow \
|
||||
-Wredundant-decls -Wdisabled-optimization -ansi
|
||||
|
||||
# consider:
|
||||
# -fforce-addr -fmove-all-movables -freduce-all-givs -ftsp-ordering
|
||||
# -frename-registers -ffast-math -funroll-loops
|
||||
|
||||
# Using the Goto BLAS:
|
||||
# BLAS = -lgoto -lfrtbegin -lg2c $(XERBLA) -lpthread
|
||||
|
||||
# Using Intel's icc and ifort compilers:
|
||||
# (does not work for mexFunctions unless you add a mexopts.sh file)
|
||||
# F77 = ifort
|
||||
# CC = icc
|
||||
# CFLAGS = -O3 -xN -vec_report=0
|
||||
# CFLAGS = -g
|
||||
# old (broken): CFLAGS = -ansi -O3 -ip -tpp7 -xW -vec_report0
|
||||
|
||||
# 64bit:
|
||||
# F77FLAGS = -O -m64
|
||||
# CFLAGS = -O3 -fexceptions -m64
|
||||
# BLAS = -lgoto64 -lfrtbegin -lg2c -lpthread $(XERBLA)
|
||||
# LAPACK = -llapack64
|
||||
|
||||
|
||||
# SUSE Linux 10.1, AMD Opteron, with GOTO Blas
|
||||
# F77 = gfortran
|
||||
# BLAS = -lgoto_opteron64 -lgfortran
|
||||
|
||||
# SUSE Linux 10.1, Intel Pentium, with GOTO Blas
|
||||
# F77 = gfortran
|
||||
# BLAS = -lgoto -lgfortran
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Mac
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# As recommended by macports, http://suitesparse.darwinports.com/
|
||||
# I've tested them myself on Mac OSX 10.6.1 (Snow Leopard), on my MacBook Air.
|
||||
# F77 = gfortran
|
||||
# CFLAGS = -O3 -fno-common -no-cpp-precomp -fexceptions
|
||||
# BLAS = -framework Accelerate
|
||||
# LAPACK = -framework Accelerate
|
||||
|
||||
# Using netlib.org LAPACK and BLAS compiled by gfortran, with and without
|
||||
# optimzation:
|
||||
# BLAS = -lblas_plain -lgfortran
|
||||
# LAPACK = -llapack_plain
|
||||
# BLAS = -lblas_optimized -lgfortran
|
||||
# LAPACK = -llapack_optimized
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Solaris
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# 32-bit
|
||||
# CFLAGS = -KPIC -dalign -xc99=%none -Xc -xlibmieee -xO5 -xlibmil -m32
|
||||
|
||||
# 64-bit
|
||||
# CFLAGS = -fast -KPIC -xc99=%none -xlibmieee -xlibmil -m64 -Xc
|
||||
|
||||
# FFLAGS = -fast -KPIC -dalign -xlibmil -m64
|
||||
|
||||
# The Sun Performance Library includes both LAPACK and the BLAS:
|
||||
# BLAS = -xlic_lib=sunperf
|
||||
# LAPACK =
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Compaq Alpha
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# 64-bit mode only
|
||||
# CFLAGS = -O2 -std1
|
||||
# BLAS = -ldxml
|
||||
# LAPACK =
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Macintosh
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# CC = gcc
|
||||
# CFLAGS = -O3 -fno-common -no-cpp-precomp -fexceptions
|
||||
# LIB = -lstdc++
|
||||
# BLAS = -framework Accelerate
|
||||
# LAPACK = -framework Accelerate
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# IBM RS 6000
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# BLAS = -lessl
|
||||
# LAPACK =
|
||||
|
||||
# 32-bit mode:
|
||||
# CFLAGS = -O4 -qipa -qmaxmem=16384 -qproto
|
||||
# F77FLAGS = -O4 -qipa -qmaxmem=16384
|
||||
|
||||
# 64-bit mode:
|
||||
# CFLAGS = -O4 -qipa -qmaxmem=16384 -q64 -qproto
|
||||
# F77FLAGS = -O4 -qipa -qmaxmem=16384 -q64
|
||||
# AR = ar -X64
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# SGI IRIX
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# BLAS = -lscsl
|
||||
# LAPACK =
|
||||
|
||||
# 32-bit mode
|
||||
# CFLAGS = -O
|
||||
|
||||
# 64-bit mode (32 bit int's and 64-bit long's):
|
||||
# CFLAGS = -64
|
||||
# F77FLAGS = -64
|
||||
|
||||
# SGI doesn't have ranlib
|
||||
# RANLIB = echo
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# AMD Opteron (64 bit)
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# BLAS = -lgoto_opteron64 -lg2c
|
||||
# LAPACK = -llapack_opteron64
|
||||
|
||||
# SUSE Linux 10.1, AMD Opteron
|
||||
# F77 = gfortran
|
||||
# BLAS = -lgoto_opteron64 -lgfortran
|
||||
# LAPACK = -llapack_opteron64
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# remove object files and profile output
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
CLEAN = *.o *.obj *.ln *.bb *.bbg *.da *.tcov *.gcov gmon.out *.bak *.d *.gcda *.gcno
|
|
@ -1,63 +0,0 @@
|
|||
#------------------------------------------------------------------------------
|
||||
# CCOLAMD Makefile
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
VERSION = 2.7.3
|
||||
|
||||
default: demos
|
||||
|
||||
include ../UFconfig/UFconfig.mk
|
||||
|
||||
# Compile all C code, including the C-callable routine and the mexFunctions.
|
||||
# Do not the MATLAB interface.
|
||||
demos:
|
||||
( cd Lib ; $(MAKE) )
|
||||
( cd Demo ; $(MAKE) )
|
||||
|
||||
# Compile all C code, including the C-callable routine and the mexFunctions.
|
||||
all:
|
||||
( cd Lib ; $(MAKE) )
|
||||
( cd Demo ; $(MAKE) )
|
||||
( cd MATLAB ; $(MAKE) )
|
||||
|
||||
# compile just the C-callable libraries (not mexFunctions or Demos)
|
||||
library:
|
||||
( cd Lib ; $(MAKE) )
|
||||
|
||||
# remove object files, but keep the compiled programs and library archives
|
||||
clean:
|
||||
( cd Lib ; $(MAKE) clean )
|
||||
( cd Demo ; $(MAKE) clean )
|
||||
( cd MATLAB ; $(MAKE) clean )
|
||||
|
||||
# clean, and then remove compiled programs and library archives
|
||||
purge:
|
||||
( cd Lib ; $(MAKE) purge )
|
||||
( cd Demo ; $(MAKE) purge )
|
||||
( cd MATLAB ; $(MAKE) purge )
|
||||
|
||||
distclean: purge
|
||||
|
||||
# get ready for distribution
|
||||
dist: purge
|
||||
( cd Demo ; $(MAKE) dist )
|
||||
|
||||
ccode: library
|
||||
|
||||
lib: library
|
||||
|
||||
# compile the MATLAB mexFunction
|
||||
mex:
|
||||
( cd MATLAB ; $(MAKE) )
|
||||
|
||||
# install CCOLAMD
|
||||
install:
|
||||
$(CP) Lib/libccolamd.a $(INSTALL_LIB)/libccolamd.$(VERSION).a
|
||||
( cd $(INSTALL_LIB) ; ln -sf libccolamd.$(VERSION).a libccolamd.a )
|
||||
$(CP) Include/ccolamd.h $(INSTALL_INCLUDE)
|
||||
|
||||
# uninstall CCOLAMD
|
||||
uninstall:
|
||||
$(RM) $(INSTALL_LIB)/libccolamd*.a
|
||||
$(RM) $(INSTALL_INCLUDE)/ccolamd.h
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
# Makefile for UFconfig.c
|
||||
|
||||
VERSION = 3.6.0
|
||||
|
||||
default: ccode
|
||||
|
||||
include UFconfig.mk
|
||||
|
||||
ccode: libufconfig.a
|
||||
|
||||
all: libufconfig.a
|
||||
|
||||
libufconfig.a: UFconfig.c UFconfig.h
|
||||
$(CC) $(CFLAGS) -c UFconfig.c
|
||||
$(AR) libufconfig.a UFconfig.o
|
||||
- $(RM) UFconfig.o
|
||||
|
||||
distclean: purge
|
||||
|
||||
purge: clean
|
||||
- $(RM) *.o *.a
|
||||
|
||||
clean:
|
||||
- $(RM) -r $(CLEAN)
|
||||
|
||||
# install UFconfig
|
||||
install:
|
||||
$(CP) libufconfig.a $(INSTALL_LIB)/libufconfig.$(VERSION).a
|
||||
( cd $(INSTALL_LIB) ; ln -sf libufconfig.$(VERSION).a libufconfig.a )
|
||||
$(CP) UFconfig.h $(INSTALL_INCLUDE)
|
||||
|
||||
# uninstall UFconfig
|
||||
uninstall:
|
||||
$(RM) $(INSTALL_LIB)/libufconfig*.a
|
||||
$(RM) $(INSTALL_INCLUDE)/UFconfig.h
|
||||
|
|
@ -1,14 +1,15 @@
|
|||
|
||||
# All the sub-directories that need to be built
|
||||
SUBDIRS = base geometry inference linear nonlinear slam 3rdparty
|
||||
SUBDIRS = 3rdparty base geometry inference linear nonlinear slam
|
||||
|
||||
# And the corresponding libraries produced
|
||||
SUBLIBS = base/libbase.la geometry/libgeometry.la inference/libinference.la \
|
||||
linear/liblinear.la nonlinear/libnonlinear.la slam/libslam.la
|
||||
SUBLIBS = 3rdparty/ccolamd/libccolamd.la base/libbase.la geometry/libgeometry.la \
|
||||
inference/libinference.la linear/liblinear.la nonlinear/libnonlinear.la \
|
||||
slam/libslam.la
|
||||
|
||||
# The following lines specify the actual shared library to be built with libtool
|
||||
lib_LTLIBRARIES = libgtsam.la
|
||||
libgtsam_la_SOURCES =
|
||||
nodist_EXTRA_libgtsam_la_SOURCES = dummy.cxx
|
||||
libgtsam_la_LIBADD = $(SUBLIBS) -L$(CCOLAMDLib) $(BOOST_LDFLAGS) -lccolamd
|
||||
libgtsam_la_LIBADD = $(SUBLIBS) $(BOOST_LDFLAGS)
|
||||
libgtsam_la_LDFLAGS = -no-undefined -version-info 0:0:0
|
||||
|
|
|
@ -55,7 +55,7 @@ libbase_la_SOURCES = $(sources)
|
|||
|
||||
AM_CPPFLAGS =
|
||||
|
||||
AM_CPPFLAGS += $(BOOST_CPPFLAGS) -I$(CCOLAMDInc) -I$(top_srcdir)
|
||||
AM_CPPFLAGS += $(BOOST_CPPFLAGS) -I$(top_srcdir)
|
||||
AM_LDFLAGS = $(BOOST_LDFLAGS)
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
|
@ -63,8 +63,8 @@ AM_LDFLAGS = $(BOOST_LDFLAGS)
|
|||
#----------------------------------------------------------------------------------------------------
|
||||
TESTS = $(check_PROGRAMS)
|
||||
AM_DEFAULT_SOURCE_EXT = .cpp
|
||||
AM_LDFLAGS += $(boost_serialization) -L$(CCOLAMDLib) -lccolamd
|
||||
LDADD = libbase.la ../../CppUnitLite/libCppUnitLite.a
|
||||
AM_LDFLAGS += $(boost_serialization)
|
||||
LDADD = libbase.la ../../CppUnitLite/libCppUnitLite.a ../3rdparty/ccolamd/libccolamd.la
|
||||
|
||||
# rule to run an executable
|
||||
%.run: % $(LDADD)
|
||||
|
|
|
@ -43,17 +43,6 @@ check_PROGRAMS += tests/testEliminationTree
|
|||
check_PROGRAMS += tests/testClusterTree
|
||||
check_PROGRAMS += tests/testJunctionTree
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# discrete
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
|
||||
# Binary Inference
|
||||
#headers += BinaryConditional.h
|
||||
#check_PROGRAMS += tests/testBinaryBayesNet
|
||||
|
||||
# Timing tests
|
||||
#noinst_PROGRAMS = tests/timeSymbolMaps
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# Create a libtool library that is not installed
|
||||
# It will be packaged in the toplevel libgtsam.la as specfied in ../Makefile.am
|
||||
|
@ -64,7 +53,7 @@ inferencedir = $(pkgincludedir)/inference
|
|||
inference_HEADERS = $(headers)
|
||||
noinst_LTLIBRARIES = libinference.la
|
||||
libinference_la_SOURCES = $(sources)
|
||||
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(CCOLAMDInc) -I$(top_srcdir)
|
||||
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(top_srcdir)
|
||||
AM_LDFLAGS = $(BOOST_LDFLAGS)
|
||||
AM_CXXFLAGS =
|
||||
|
||||
|
@ -73,7 +62,7 @@ AM_CXXFLAGS =
|
|||
#----------------------------------------------------------------------------------------------------
|
||||
TESTS = $(check_PROGRAMS)
|
||||
AM_LDFLAGS += $(boost_serialization)
|
||||
LDADD = libinference.la ../base/libbase.la
|
||||
LDADD = libinference.la ../base/libbase.la ../3rdparty/ccolamd/libccolamd.la
|
||||
LDADD += ../../CppUnitLite/libCppUnitLite.a
|
||||
AM_DEFAULT_SOURCE_EXT = .cpp
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
#include <iostream>
|
||||
#include <vector>
|
||||
|
||||
#include <ccolamd.h>
|
||||
#include <gtsam/3rdparty/ccolamd/ccolamd.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ lineardir = $(pkgincludedir)/linear
|
|||
linear_HEADERS = $(headers)
|
||||
noinst_LTLIBRARIES = liblinear.la
|
||||
liblinear_la_SOURCES = $(sources)
|
||||
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(CCOLAMDInc) -I$(top_srcdir)
|
||||
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(top_srcdir)
|
||||
AM_LDFLAGS = $(BOOST_LDFLAGS)
|
||||
AM_CXXFLAGS =
|
||||
|
||||
|
@ -64,7 +64,7 @@ AM_CXXFLAGS =
|
|||
#----------------------------------------------------------------------------------------------------
|
||||
TESTS = $(check_PROGRAMS)
|
||||
AM_LDFLAGS += $(boost_serialization)
|
||||
LDADD = liblinear.la ../inference/libinference.la ../base/libbase.la
|
||||
LDADD = liblinear.la ../inference/libinference.la ../base/libbase.la ../3rdparty/ccolamd/libccolamd.la
|
||||
LDADD += ../../CppUnitLite/libCppUnitLite.a
|
||||
AM_DEFAULT_SOURCE_EXT = .cpp
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ nonlineardir = $(pkgincludedir)/nonlinear
|
|||
nonlinear_HEADERS = $(headers)
|
||||
noinst_LTLIBRARIES = libnonlinear.la
|
||||
libnonlinear_la_SOURCES = $(sources)
|
||||
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(CCOLAMDInc) -I$(top_srcdir)
|
||||
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(top_srcdir)
|
||||
AM_LDFLAGS = $(BOOST_LDFLAGS)
|
||||
AM_CXXFLAGS =
|
||||
|
||||
|
@ -52,7 +52,7 @@ AM_CXXFLAGS =
|
|||
#----------------------------------------------------------------------------------------------------
|
||||
TESTS = $(check_PROGRAMS)
|
||||
AM_LDFLAGS += $(boost_serialization)
|
||||
LDADD = libnonlinear.la ../linear/liblinear.la ../inference/libinference.la ../base/libbase.la
|
||||
LDADD = libnonlinear.la ../linear/liblinear.la ../inference/libinference.la ../base/libbase.la ../3rdparty/ccolamd/libccolamd.la
|
||||
LDADD += ../../CppUnitLite/libCppUnitLite.a
|
||||
AM_DEFAULT_SOURCE_EXT = .cpp
|
||||
|
||||
|
|
|
@ -64,7 +64,7 @@ slamdir = $(pkgincludedir)/slam
|
|||
slam_HEADERS = $(headers)
|
||||
noinst_LTLIBRARIES = libslam.la
|
||||
libslam_la_SOURCES = $(sources)
|
||||
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(CCOLAMDInc) -I$(top_srcdir)
|
||||
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(top_srcdir)
|
||||
AM_LDFLAGS = $(BOOST_LDFLAGS)
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
|
@ -72,8 +72,8 @@ AM_LDFLAGS = $(BOOST_LDFLAGS)
|
|||
#----------------------------------------------------------------------------------------------------
|
||||
TESTS = $(check_PROGRAMS)
|
||||
AM_DEFAULT_SOURCE_EXT = .cpp
|
||||
AM_LDFLAGS += $(boost_serialization) -L$(CCOLAMDLib) -lccolamd
|
||||
LDADD = libslam.la ../geometry/libgeometry.la ../nonlinear/libnonlinear.la ../linear/liblinear.la ../inference/libinference.la ../base/libbase.la
|
||||
AM_LDFLAGS += $(boost_serialization)
|
||||
LDADD = libslam.la ../geometry/libgeometry.la ../nonlinear/libnonlinear.la ../linear/liblinear.la ../inference/libinference.la ../base/libbase.la ../3rdparty/ccolamd/libccolamd.la
|
||||
LDADD += ../../CppUnitLite/libCppUnitLite.a
|
||||
|
||||
# rule to run an executable
|
||||
|
|
|
@ -34,7 +34,7 @@ noinst_PROGRAMS = timeGaussianFactorGraph timeSequentialOnDataset timeMultifront
|
|||
#----------------------------------------------------------------------------------------------------
|
||||
TESTS = $(check_PROGRAMS)
|
||||
AM_LDFLAGS = $(BOOST_LDFLAGS)
|
||||
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(CCOLAMDInc) -I$(top_srcdir)
|
||||
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(top_srcdir)
|
||||
|
||||
# link to serialization library for test
|
||||
if ENABLE_SERIALIZATION
|
||||
|
|
Loading…
Reference in New Issue