cygwin has ncurses.h in <ncurses/ncurses.h>

This commit is contained in:
rocky
2011-11-30 06:06:40 -05:00
parent 7b64aa70c6
commit f5a2c6666f
3 changed files with 93 additions and 42 deletions

116
INSTALL
View File

@@ -12,13 +12,14 @@ without warranty of any kind.
Basic Installation Basic Installation
================== ==================
If you are compiling from git sources, see README.develop. Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package. The following
Briefly, the shell command: more-detailed instructions are generic; see the `README' file for
./configure && make && sudo make install instructions specific to this package. Some packages provide this
`INSTALL' file but do not implement all of the features documented
should configure, build, and install this package. "sudo" may not be below. The lack of an optional feature in a given package is not
in situations where "root" access is not needed to install software. necessarily a bug. More recommendations for GNU packages can be found
in *note Makefile Conventions: (standards)Makefile Conventions.
The `configure' shell script attempts to guess correct values for The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses various system-dependent variables used during compilation. It uses
@@ -29,13 +30,23 @@ you can run in the future to recreate the current configuration, and a
file `config.log' containing compiler output (useful mainly for file `config.log' containing compiler output (useful mainly for
debugging `configure'). debugging `configure').
If you need to do unusual things to compile the package, please try It can also use an optional file (typically called `config.cache'
to figure out how `configure' could check whether to do them, and send and enabled with `--cache-file=config.cache' or simply `-C') that saves
patches to https://savannah.gnu.org/patch/?group=libcdio the results of its tests to speed up reconfiguring. Caching is
disabled by default to prevent problems with accidental use of stale
cache files.
The file `configure.ac' is used to create `configure' by a program If you need to do unusual things to compile the package, please try
called `autoconf'. You need `configure.ac' if you want to change it to figure out how `configure' could check whether to do them, and mail
or regenerate `configure' using a newer version of `autoconf'. diffs or instructions to the address given in the `README' so they can
be considered for the next release. If you are using the cache, and at
some point `config.cache' contains results you don't want to keep, you
may remove or edit it.
The file `configure.ac' (or `configure.in') is used to create
`configure' by a program called `autoconf'. You need `configure.ac' if
you want to change it or regenerate `configure' using a newer version
of `autoconf'.
The simplest way to compile this package is: The simplest way to compile this package is:
@@ -45,8 +56,7 @@ or regenerate `configure' using a newer version of `autoconf'.
Running `configure' might take a while. While running, it prints Running `configure' might take a while. While running, it prints
some messages telling which features it is checking for. some messages telling which features it is checking for.
2. Type `make' or `remake' (GNU make with better error reporting, 2. Type `make' to compile the package.
tracing and a debugger) to compile the package.
3. Optionally, type `make check' to run any self-tests that come with 3. Optionally, type `make check' to run any self-tests that come with
the package, generally using the just-built uninstalled binaries. the package, generally using the just-built uninstalled binaries.
@@ -66,23 +76,22 @@ or regenerate `configure' using a newer version of `autoconf'.
6. You can remove the program binaries and object files from the 6. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package files that `configure' created (so you can compile the package for
for a different kind of computer), type `make distclean'. There a different kind of computer), type `make distclean'. There is
is also a `make maintainer-clean' target, but that is intended also a `make maintainer-clean' target, but that is intended mainly
mainly for the package's developers. If you use it, you may have for the package's developers. If you use it, you may have to get
to get all sorts of other programs listed in README.develop in all sorts of other programs in order to regenerate files that came
order to regenerate files that came with the distribution. with the distribution.
7. You can also type `make uninstall' to remove the installed 7. Often, you can also type `make uninstall' to remove the installed
files again. files again. In practice, not all packages have tested that
uninstallation works correctly, even though it is required by the
8. `make distcheck', which can by used by developers to test that GNU Coding Standards.
all other targets like `make install' and `make uninstall' work
correctly. This target is generally not run by end users.
9. For a list of all targets if you have remake installed, `remake
--tasks' will give a list.
8. Some packages, particularly those that use Automake, provide `make
distcheck', which can by used by developers to test that all other
targets like `make install' and `make uninstall' work correctly.
This target is generally not run by end users.
Compilers and Options Compilers and Options
===================== =====================
@@ -99,6 +108,36 @@ is an example:
*Note Defining Variables::, for more details. *Note Defining Variables::, for more details.
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'. This
is known as a "VPATH" build.
With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
installed the package for one architecture, use `make distclean' before
reconfiguring for another architecture.
On MacOS X 10.5 and later systems, you can create libraries and
executables that work on multiple system types--known as "fat" or
"universal" binaries--by specifying multiple `-arch' options to the
compiler but only a single `-arch' option to the preprocessor. Like
this:
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
CPP="gcc -E" CXXCPP="g++ -E"
This is not guaranteed to produce working output in all cases, you
may have to build one architecture at a time and combine the results
using the `lipo' tool if you have problems.
Installation Names Installation Names
================== ==================
@@ -157,12 +196,17 @@ Optional Features
with an extra prefix or suffix on their names by giving `configure' the with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Pay attention to `--enable-FEATURE' options to `configure', where Some packages pay attention to `--enable-FEATURE' options to
FEATURE indicates an optional part of the package. Also pay attention `configure', where FEATURE indicates an optional part of the package.
to `--with-PACKAGE' options, where PACKAGE is something like `cddb' They may also pay attention to `--with-PACKAGE' options, where PACKAGE
(CDDB lookup support) or `vcd-info' (for enabling VCD support). The is something like `gnu-as' or `x' (for the X Window System). The
botom of file `README.libcdio' has a list of `--enable-' and `--with-' `README' should mention any `--enable-' and `--with-' options that the
options recognized. package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Some packages offer the ability to configure how verbose the Some packages offer the ability to configure how verbose the
execution of `make' will be. For these packages, running `./configure execution of `make' will be. For these packages, running `./configure

View File

@@ -195,7 +195,10 @@ if test $enable_cdda_player = 'yes' ; then
AC_CHECK_HEADERS(ncurses.h, AC_CHECK_HEADERS(ncurses.h,
[enable_cdda_player='yes'; have_ncurses_h='yes'], [enable_cdda_player='yes'; have_ncurses_h='yes'],
[AC_CHECK_HEADERS(curses.h, [AC_CHECK_HEADERS(curses.h,
enable_cdda_player='yes')]) [enable_cdda_player='yes'],
[AC_CHECK_HEADERS(ncurses/ncurses.h,
enable_cdda_player='yes')
])])
fi fi
# FreeBSD 4 has getopt in unistd.h. So we include that before # FreeBSD 4 has getopt in unistd.h. So we include that before

View File

@@ -53,13 +53,17 @@
#endif #endif
#ifdef HAVE_CURSES_H #ifdef HAVE_CURSES_H
#include <curses.h> # include <curses.h>
#else #else
#ifdef HAVE_NCURSES_H # ifdef HAVE_NCURSES_H
#include <ncurses.h> #include <ncurses.h>
#else # else
# error "You need <curses.h> or <ncurses.h to build cdda-player" # ifdef HAVE_NCURSES_NCURSES_H
#endif # include <ncurses/ncurses.h>
# else
# error "You need <curses.h> or <ncurses.h to build cdda-player"
# endif
# endif
#endif #endif
#include <cdio/cdio.h> #include <cdio/cdio.h>