mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-22 08:25:45 -07:00

This is probably slightly nicer anyway, in that it specifies exactly _which_ ANSI standard I'm talking about; but the main reason for making the change is that it means I can now build the Unix puzzles with clang. It's not that clang doesn't _support_ -ansi; it accepts it just fine on any command line that's actually doing some compiling. But on a link-only command line, i.e. with only object files as input and no sources, clang emits the annoying warning "argument unused during compilation: '-ansi", and if you have -Werror as well then that warning becomes an error. You'd think there would be some makefile flags variable I could nonetheless put -ansi in, but apparently not - automake passes CFLAGS to both compiles and to link-only commands. And you'd also think that surely I should be able to work around this by having my configure.ac do a test link and stop trying to use that option if it didn't work - especially since configure.ac already tests a bunch of compile options to make sure they don't object to system header files, after the time I found that a GTK header was incompatible with my usual -Werror. But in fact, if I change that AC_COMPILE_IFELSE to an AC_LINK_IFELSE, autoconf generates a single compile-and-link command line, and hence does not expose the problem using -ansi on link-only command lines. Fortunately, -std=c89 does not generate this same warning from clang. I don't know why not - surely the two options are more or less equivalent - but it makes my build work again for the moment.
Fix a failure to warn about non-unique rows/columns in non-square Unruly grids, reported in Debian bug #718354.
This is the README accompanying the source code to Simon Tatham's puzzle collection. The collection's web site is at <http://www.chiark.greenend.org.uk/~sgtatham/puzzles/>. If you've obtained the source code by downloading a .tar.gz archive from the Puzzles web site, you should find several Makefiles in the source code. However, if you've checked the source code out from the Puzzles Subversion repository, you won't find the Makefiles: they're automatically generated by `mkfiles.pl', so run that to create them. The Makefiles include: - `Makefile' should work under GNU make on Linux, provided you have GTK installed to compile and link against. It builds GTK binaries of the puzzle games. - `Makefile.vc' should work under MS Visual C++ on Windows. - `Makefile.cyg' should work under Cygwin / MinGW. With appropriate tweaks and setting of TOOLPATH, it should work for both compiling on Windows and cross-compiling on Unix. - `Makefile.osx' should work under Mac OS X, provided the Xcode tools are installed. It builds a single monolithic OS X application capable of running any of the puzzles, or even more than one of them at a time. - `Makefile.wce' should work under MS eMbedded Visual C++ on Windows and the Pocket PC SDK; it builds Pocket PC binaries. Many of these Makefiles build a program called `nullgame' in addition to the actual game binaries. This program doesn't do anything; it's just a template for people to start from when adding a new game to the collection, and it's compiled every time to ensure that it _does_ compile and link successfully (because otherwise it wouldn't be much use as a template). Once it's built, you can run it if you really want to (but it's very boring), and then you should ignore it. DO NOT EDIT THE MAKEFILES DIRECTLY, if you plan to send any changes back to the maintainer. The makefiles are generated automatically by the Perl script `mkfiles.pl' from the file `Recipe' and the various .R files. If you need to change the makefiles as part of a patch, you should change Recipe, *.R, and/or mkfiles.pl. The manual is provided in Windows Help format for the Windows build; in text format for anyone who needs it; and in HTML for the Mac OS X application and for the web site. It is generated from a Halibut source file (puzzles.but), which is the preferred form for modification. To generate the manual in other formats, rebuild it, or learn about Halibut, visit the Halibut website at <http://www.chiark.greenend.org.uk/~sgtatham/halibut/>.
Description
Languages
C
93.3%
JavaScript
1.4%
Objective-C
1.1%
CMake
1.1%
HTML
0.8%
Other
2.2%