shithub: puzzles

Download patch

ref: b10be2b32adc91e3d51117aeac8a75e59271d941
parent: 2040ff96317be6b93ca459c44bfea5d775a18692
author: Simon Tatham <anakin@pobox.com>
date: Mon Jan 24 07:09:51 EST 2005

The #definition of COMBINED was done very badly: it was a piece of
platform-dependent code in puzzles.h (ick), which in turn depended
on the magic symbol MAC_OS_X being defined by mkfiles.pl itself
(yuck). Suddenly realised I can do much better simply by putting it
in an OS X makefile extras section in Recipe, and removing both
previous hacks. Much nicer.

[originally from svn r5191]

--- a/Recipe
+++ b/Recipe
@@ -41,8 +41,11 @@
 # Mac OS X unified application containing all the puzzles.
 Puzzles  : [MX] osx osx.icns osx-info.plist COMMON ALL
 # For OS X, we must create the online help and include it in the
-# application bundle.)
+# application bundle.) Also we add -DCOMBINED to the compiler flags
+# so as to inform the code that we're building a single binary for
+# all the puzzles.
 !begin osx
+CFLAGS += -DCOMBINED
 Puzzles_extra = Puzzles.app/Contents/Resources/Help/index.html
 Puzzles.app/Contents/Resources/Help/index.html: \
 	Puzzles.app/Contents/Resources/Help puzzles.but
--- a/mkfiles.pl
+++ b/mkfiles.pl
@@ -1128,7 +1128,7 @@
     print
     "CC = \$(TOOLPATH)gcc\n".
     "\n".
-    &splitline("CFLAGS = -O2 -Wall -Werror -g -DMAC_OS_X " .
+    &splitline("CFLAGS = -O2 -Wall -Werror -g " .
 	       (join " ", map {"-I$dirpfx$_"} @srcdirs))."\n".
     "LDFLAGS = -framework Cocoa\n".
     &splitline("all:" . join "", map { " $_" } &progrealnames("MX")) .
--- a/puzzles.h
+++ b/puzzles.h
@@ -200,14 +200,6 @@
 };
 
 /*
- * Here we include the knowledge of which platforms are of which
- * type.
- */
-#ifdef MAC_OS_X   /* this must be defined in the OS X Makefile */
-#define COMBINED
-#endif
-
-/*
  * For one-game-at-a-time platforms, there's a single structure
  * like the above, under a fixed name. For all-at-once platforms,
  * there's a list of all available puzzles in array form.