= polymake =

== Description ==

polymake started out as a tool for the algorithmic treatment of convex polyhedra. By now it also deals with finite simplicial complexes, tight spans of finite metric spaces, polyhedral surfaces, and other objects.

Website: http://www.math.tu-berlin.de/polymake/

== License ==

GPL V2

== SPKG Maintainers ==

 * Michael Abshoff
 * Marshall Hampton

== Upstream Contact ==

 *  Ewgenij Gawrilow and Michael Joswig - see http://www.math.tu-berlin.de/polymake/

== Dependencies ==

 * gmp
 * cddlib
 * lrs

== Special Update/Build Instructions ==

See blow, but the info is outdated and at least partially wrong.

== Changelog ==

=== polymake-2.2.p5 (Michael Abshoff, December 24th, 2008) ===

 * convert spkg-install to bash script
 * fix version detection of gmp and cddlib so that things do not break with version changes
 * write a proper SPKG.txt
 * move sources to src 

=== polymake-2.2.p4 ===

 * previous changes lost to history

--------------------------------------------------------------------------
The info below is outdated and needs to be cleaned up
--------------------------------------------------------------------------

Changes:

 1) I deleted the gmp and cddlib directories; but extract them from
    the SAGE standard distro when they're needed.

 2) If you update gmp or cddlib, you *must* change the spkg-install in
    this directory (because it refs specific version numbers).
 
 3) I modified support/configure.pl so it works non-interactively
    in the context of SAGE.  Here are the diffs:

"diff new_ver orig_ver":
48,51d47
< $Cflags="-I".$ENV{"SAGE_LOCAL"}."/include";
< $CXXflags="-I".$ENV{"SAGE_LOCAL"}."/include";
< $LDflags="-I".$ENV{"SAGE_LOCAL"}."/lib";
<
272c268
< $InstallTop ||= $multi ? "/usr/local/share/polymake" : $ENV{"SAGE_LOCAL"}."/polymake";
---
> $InstallTop ||= $multi ? "/usr/local/share/polymake" : "/usr/local/polymake";

 4) After the build process we replace the standard script
    perl/polymake by our own.  This fixes it so polymake is
    *relocatable* (can be moved to another directory safely).  In
    particular, it uses paths determined by SAGE environment
    variables.

==========================================
These are some "notes to self" I made
when writing spkg-install.

Notes:

 (1) "make" asks less questions than "make configure"

 (2) the make process gets confused and corrupts arguments
     passed in that involve environment variables; so make
     them into exact paths somehow, e.g., 

       -I/home/was/s/local

was@sha:~/s/spkg/build/polymake-2.2$ make

Where should polymake be installed? [/usr/local/polymake] /home/was/s/local/

A program checking for the GNU Multiprecision Library (GMP) couldn't be compiled:
polymake_configure.c:1:17: error: gmp.h: No such file or directory
...
polymake_configure.c:6: error: '__GNU_MP_VERSION_PATCHLEVEL' undeclared (first use in this function)

If you know that the required version of GMP is installed somewhere at your site,
would you like to adjust compiler and linker options,
so that it can be found by the next try? [n] y

Please supply the path to gmp.h in the -I compiler option
and the path to libgmp.a or libgmp.so in the -L linker option

Which additional C++ compiler flags should be used (e.g. choosing specific CPU model)? [none] /home/-I/home/was/s/local/include

Which additional C compiler flags should be used? [-I/home/was/s/local/include]

Which additional linker flags should be used? [none] 

-------

After first failure (due to missing libs), do the following:

cd build/external/cdd
ln -s $SAGE_LOCAL/lib/libcddgmp.a .
ln -s $SAGE_LOCAL/lib/libcdd.a .


----------------

For some reason 

was@sha:~/s/spkg/build/polymake-2.2/build/external/cdd/src/ext_lib/cdd$ mv globals_gmp.h globals_gmp.h.orig
was@sha:~/s/spkg/build/polymake-2.2/build/external/cdd/src/ext_lib/cdd$ touch globals_gmp.h
was@sha:~/s/spkg/build/polymake-2.2/build/external/cdd/src/ext_lib/cdd$                       


