Files
nethack/sys/unix
nhmall a6631e3bb0 suppress a particular warning for an individual function; useful for non-gcc
Microsoft and other non-GNU compilers don't recognize gcc tricks
like  /*NOTREACHED*/ to suppress individual warnings. clang recognizes most
of them because it tries to be gcc-compatible. Because of that, a lot of
potentially useful warnings have had to be completely suppressed in the
past in all source files when using the non-gcc compatible compilers.

Now that the code is C99, take advantage of a way to suppress warnings for
individual functions, a big step up from suppressing the warnings
altogether.

Unfortunately, it does require a bit of ugliness caused by the
insertion of some macros in a few spots, but I'm not aware of
a cleaner alternative that still allows warnings to be enabled
in general, while suppressing a warning for known white-listed
instances.

Prior to the warning-tiggering function, place whichever one of
the following is needed to suppress the warning being encountered:

DISABLE_WARNING_UNREACHABLE_CODE
DISABLE_WARNING_CONDEXPR_IS_CONSTANT

After the warning-triggering function, place this:

RESTORE_WARNINGS

Under the hood, the compiler-appropriate warning-disabling
mechanics involve the use of C99 _Pragma, which can be used
in macros.

For unrecognized or inappropriate compilers, or if
DISABLE_WARNING_PRAGMAS is defined, the macros expand
to nothing.
2021-02-01 12:54:19 -05:00
..
2021-01-31 07:57:28 -05:00
2019-05-11 11:10:00 +03:00
2002-01-05 21:05:59 +00:00
2002-01-05 21:05:59 +00:00
2002-01-05 21:05:59 +00:00
2021-01-31 13:05:32 -08:00
2020-08-03 13:36:40 -07:00
2020-12-29 20:38:37 -06:00
2020-09-28 16:25:31 -04:00
2020-09-05 13:28:46 -07:00
2021-01-26 21:06:16 -05:00
2021-01-26 21:06:16 -05:00
2021-01-26 21:06:16 -05:00

This README provides the instructions for building the unofficial Mac
binaries using the Apple provided developer IDE named XCode.

Establish a developer team in XCode
===================================

Your first step should be to establish a developer team within XCode.
Launch XCode and open the preferences dialog (XCode Menu->Preferences).
Select the "Accounts" tab.  Add an account (usually this should just be
your apple ID account you used to setup the Mac).  After adding the account,
select the account and then add a team (usually this will be just a
personal team for Mac Development).

Obtain your developer team identifier
=====================================

Your DEVELOPMENT_TEAM can be found by opening Keychain Access
(found by Finder->Applications->Utilities).  Click on "My Certificates".
Look for your "Mac Developer" certificate.  Right click on
the certificate to open a dialog that shows certificate details.
Look for "Organizational Unit" among the details.  This ten digit value
is your development team identifier.

Create XCodeLocal.xcconfig file
===============================

Now you need to create the XCodeLocal.xcconfig file that will be used by
XCode to get your development team identifier.  Create the file in
sys/unix and add a single line such as:
DEVELOPMENT_TEAM = XXXXXXXXXX

Where XXXXXXXXXX is replaced with your development team identifier.

Open the project and build
==========================

In XCode open the project file sys\unix\NetHack.xcodeproj, select
the product NetHack and build.  The build results are placed in
~nethackdir.