= rubiks.spkg =

== Description ==

There are several programs for working with Rubik's cubes, by three
different people. Look inside the directories under /src to see
specific info and licensing. In summary the three contributers are:


Michael Reid (GPL) http://www.math.ucf.edu/~reid/Rubik/optimal_solver.html
    optimal - uses many pre-computed tables to find an optimal
              solution to the 3x3x3 Rubik's cube


Dik T. Winter (MIT License)
    cube    - uses Kociemba's algorithm to iteratively find a short
              solution to the 3x3x3 Rubik's cube
    size222 - solves a 2x2x2 Rubik's cube


Eric Dietz (GPL) http://www.wrongway.org/?rubiksource
    cu2   - A fast, non-optimal 2x2x2 solver
    cubex - A fast, non-optimal 3x3x3 solver
    mcube - A fast, non-optimal 4x4x4 solver

== Changelog ==

=== rubiks-20070912.p18 (John Palmieri, 23 March 2012) ===
 * #12311: Remove explicit path to testcc.sh in spkg-install.

=== rubiks-20070912.p17 (Jeroen Demeyer, 8 June 2011) ===
 * #11437: Apply workaround for versions 4.6.0 and 4.6.1 of gcc.
   The bug is supposed to be fixed in the final gcc 4.6.1 but we still
   apply the workaround for gcc 4.6.1 to support pre-release versions
   of gcc 4.6.1.

=== rubiks-20070912.p16 (Jeroen Demeyer, 3 May 2011) ===
 * #11168: Apply workaround for versions 4.6.x of gcc, not only
   version 4.6.0.

=== rubiks-20070912.p15 (Jeroen Demeyer, 25 April 2011) ===
 * #11168: Instead of using -O1 with gcc 4.6.0, use -O2 -fno-ivopts
   The is because the bug is in the file gcc/tree-ssa-loop-ivopts.c,
   see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48702

=== rubiks-20070912.p14 (David Kirkby, 23rd April 2011) ===
 * #11168: Drop optimisation level to -O1 on all platforms, but
   only if gcc 4.6.0 is used.

=== rubiks-20070912.p13 (David Kirkby, 10th April 2011) ===
 * #11168: Drop optimisation level on Solaris to -O1 as this
   mis-compiles on OpenSolaris with gcc 4.6.0. It is not
   worth making the test too specific, so the optimisation
   level is dropped to -O1 on any sort of Solaris machine.
 * Correct a few typos in SPKG.txt

=== rubiks-20070912.p12 (David Kirkby, 30th June 2010) ===
 * #9388 Corrected my unportable use of 'mktemp' which I erroneously
   believed was portable, but it is not defined as a command (only
   a system call) by POSIX. The revised version avoids this.


=== rubiks-20070912.p11 (David Kirkby, 30th May 2010) ===
 * #9030 rubiks is building part 32-bit and part 64-bit on OpenSolaris x64.
   Added ${CFLAG64} to src/dik/makefile. CFLAG64 gets set to -m64 (by default)
   if the variable SAGE64 is "yes". So this patch adds an -m64 which is
   needed to build rubiks fully 64-bit.

=== rubiks-20070912.p10  ????????????????????????????????  ===

=== rubiks-20070912.p9 (William Stein, June 14, 2009) ===
 * Make too many changes to the Makefiles to list really!
 * Remove hard coding of CC, which was set to g++ in some places
   There was a total mix-up of variable names for compilers.
 * Remove the hard-coding of gcc, which was supposedly done
   by Micheal to allow it to build on Solaris (see
   rubiks-20070912.p1 below). With the intention later to
   build Sage on Solaris with the Sun compiler, why the hell
   he hard-coded g++ I do not know.
 * Added -Wall to build if using g++
 * Checks there are not a mix of Sun and GNU compilers
 * Adds -m64 if SAGE64 is set to yes.
 * Print out what things like CC, CXX etc are set to
   The Makefile do not modify these in this case.

=== rubiks-20070912.p9 (William Stein, June 14, 2009) ===
 * use $MAKE environment variable so that parallel build works

=== rubiks-20070912.p8 (Michael Abshoff, September 1st, 2008) ===
 * work around install problem on Solaris

=== rubiks-20070912.p7 (William Stein, May 16th, 2008) ===
 * Add Cygwin build support (#3241)

=== rubiks-20070912.p6 (Michael Abshoff, April 14th, 2008) ===
 * remove binary crap from reid solver (fixes #2985)
 * build Reid solvers with "-O2 -g"

=== rubiks-20070912.p5 (Michael Abshoff, April 14th, 2008) ===
 * fix gcc 4.3 build. The patch has been applied to the source tree. It need to be send upstream.

=== rubiks-20070912.p4 (Michael Abshoff, April 1st, 2008) ===
 * Debian amd64 fixes for rubiks (Tim Abbott, #2763)

=== rubiks-20070912.p3 (Michael Abshoff, March 21st, 2008) ===
 * SAGE_LOCAL check (#633)
 * remove binary crap
 * rename cube to dikcube to avoid name clash with polymake (#2595)
 * detect the location of install instead of hardcoding it (#2287)

=== rubiks-20070912.p2 (Tim Abbott, Feb. 17th, 2008) ===
 * Convert normal spkg-install to using new Makefile

=== rubiks-20070912.p1 (Michael Abshoff, Jan. 28th, 2008) ===
 * fix Solaris build by setting CC to gcc and changing Dik's makefile to use $CC instead of cc

=== rubiks-20070912.p0 (Michael Abshoff) ===
 * clean up SPKG.txt
 * remove *DS*Store and various prebuild binaries from tree
 * remove global hg repo (that included src!)

=== rubiks-20070912 ===
 * initial version


