/gnushogi/gnuminishogi
/gnushogi/gnuminishogi.bbk
+/win32/
+
/xshogi/scanner.c
/xshogi/parser.c
/xshogi/xshogi
#
+# Alien target architectures
+#
+
+win32/Makefile: misc/mkmakefile.mingw-on-cygwin
+ $<
+
+#
# Installation.
#
tar -cf - --exclude .git --exclude $(DISTNAME) $(ROOT) | (cd $(DISTNAME) && tar -xf -)
cd $(DISTNAME) && $(ROOT)/autogen.sh && $(ROOT)/configure
cd $(DISTNAME)/doc && $(MAKE) info
- cd $(DISTNAME) && make distclean
+ cd $(DISTNAME) && $(MAKE) win32/Makefile
+ cd $(DISTNAME) && $(MAKE) distclean
tar -zcf $(DISTNAME).tar.gz $(DISTNAME)
#
distclean: clean
rm -rf $(DISTCLEANFILES)
+ find -name '*~' | xargs rm -f
cd $(BUILDROOT)/doc && $(MAKE) distclean
#
# Extra cleanup, for the maintainer only.
#
-MAINTAINERCLEANFILES = configure config.h.in
+MAINTAINERCLEANFILES = configure config.h.in win32/Makefile
maintainerclean: distclean
rm -f $(MAINTAINERCLEANFILES)
* Initial support for the MiniShogi variant, for now as a separate
executable built using "./configure --enable-minishogi".
-* Support for building with the curses UI.
+* Support for building without the curses UI.
+* Preliminary win32 support: can be built on cygwin with gcc3, in the
+ win32 directory.
* Build system enhancements.
* Bug fixes.
------------------
git log --pretty --numstat --summary v1.4.0..savannah/master | git2cl > ChangeLog
+
+Profiling
+---------
+
+Build with "-g -pg -fprofile-arcs -ftest-coverage"
- switch cli parsing to getopt
- hunt for extern's and prototypes spread all over the source
-- merge old Makefile.profile.in back into Makefile.in if meaningful at all
- use automake
- hunt for more hardcoded variant-specific constants
- position of captured pieces in curses mode
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.57)
-AC_INIT([gnushogi],[1.4.1-rc0+],[https://savannah.gnu.org/bugs/?group=gnushogi])
+AC_INIT([gnushogi],[1.4.1-rc1+],[https://savannah.gnu.org/bugs/?group=gnushogi])
AC_CONFIG_SRCDIR([gnushogi/gnushogi.h])
AC_CONFIG_HEADER(config.h)
then
WARNINGS="-Wall -Wno-implicit-int -Wstrict-prototypes -ansi"
CEXTRAFLAGS="-fsigned-char -funroll-loops"
-# For profiling targets:
-CEXTRAFLAGS2="-fsigned-char -pg -fprofile-arcs -ftest-coverage"
else
# Who knows what warnings your compiler uses?
WARNINGS=
AC_SUBST(WARNINGS)
AC_SUBST(CEXTRAFLAGS)
-AC_SUBST(CEXTRAFLAGS2)
##########
AC_MSG_NOTICE([header files])
##########
AC_CONFIG_FILES([Makefile
gnushogi/Makefile
- gnushogi/Makefile.profile
+ win32/config.h
doc/Makefile
xshogi/Makefile])
AC_OUTPUT
SRCDIR = @srcdir@
info:
- makeinfo $(SRCDIR)/gnushogi.texinfo
+ makeinfo $(SRCDIR)/gnushogi.texi
dvi:
- texi2dvi $(SRCDIR)/gnushogi.texinfo
+ texi2dvi $(SRCDIR)/gnushogi.texi
pdf:
- texi2pdf $(SRCDIR)/gnushogi.texinfo
+ texi2pdf $(SRCDIR)/gnushogi.texi
# I do some egregious hacks to get around limitations of
# texi2html.
html:
- makeinfo --html --split=section $(SRCDIR)/gnushogi.texinfo
+ makeinfo --html --split=section $(SRCDIR)/gnushogi.texi
ps: dvi
dvips -t letter gnushogi.dvi -o gnushogi.ps
dvi2ps gnushogi.dvi > gnushogi.ps
spell:
- tr '[A-Z]' '[a-z]' < $(SRCDIR)/gnushogi.texinfo | tr -cd '[A-Za-z0-9_ \012]' | \
+ tr '[A-Z]' '[a-z]' < $(SRCDIR)/gnushogi.texi | tr -cd '[A-Za-z0-9_ \012]' | \
tr -s '[ ]' '\012' | sort | uniq -c | sort -nr | spell | sort | uniq
clean:
CC = @CC@
CWARNINGS = @WARNINGS@
CEXTRAFLAGS = @CEXTRAFLAGS@
-CFLAGS = @CFLAGS@ $(HASH) $(CEXTRAFLAGS) $(CWARNINGS) -I$(ROOT) -I@top_builddir@ -I.
+CFLAGS = @CFLAGS@ $(HASH) $(CEXTRAFLAGS) $(CWARNINGS) -I. -I@top_builddir@ -I$(ROOT)
LDFLAGS = @LDFLAGS@
# The hashfile is a record of positions seen. It is used by
# Files specific to particular targets.
pat2inc.o: pat2inc.c
- $(CC) $(CFLAGS) $(BINBOOK) $(PATTERN) -c $<
+ $(CC) $(CFLAGS) -c $<
sizetest.o: sizetest.c
$(CC) $(CFLAGS) -c $<
+++ /dev/null
-#
-# Makefile for GNU Shogi
-#
-# Copyright (c) 1993, 1994 Matthias Mutz
-# Copyright (c) 1998, 1999 Michael Vanier and the Free Software Foundation
-#
-# GNU Shogi is based on GNU Chess
-# Copyright (c) 1992 Free Software Foundation
-#
-# This file is part of GNU Shogi.
-#
-# GNU Shogi is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or (at your option)
-# any later version.
-#
-# GNU Shogi is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Shogi; see the file COPYING.
-# If not, see <http://www.gnu.org/licenses/>.
-#
-
-#
-# gnushogi is GNU shogi, for raw text, curses, or x output.
-# pat2inc converts pattern textfile to "pattern.inc" include file.
-# sizetest shows the memory usage of the main data structures.
-#
-
-SHELL = /bin/sh
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-ROOT = ..
-
-
-# Installation directory.
-prefix = @prefix@
-
-# Where the binaries live.
-BINDIR = $(prefix)/bin
-
-# Where the language description, the book, and the
-# persistent hashtable live.
-LIBDIR = $(prefix)/lib/gnushogi
-
-# Where the man page goes.
-MANDIR = $(prefix)/man/man6
-
-# Where the info file goes.
-INFODIR = $(prefix)/info
-
-# For _pow external
-LIBS = -lm
-
-# Display routines.
-LCURSES = -lcurses -ltermcap
-
-
-#
-# C compiler and compiler options.
-#
-
-CC = @CC@
-CWARNINGS = @WARNINGS@
-CEXTRAFLAGS = @CEXTRAFLAGS2@
-CFLAGS = -g $(CEXTRAFLAGS) $(CWARNINGS) -I..
-
-
-# The hashfile is a record of positions seen. It is used by
-# GNU Shogi to avoid making the same mistakes, a form of learning.
-
-HASH = -DHASHFILE=\"$(LIBDIR)/gnushogi.hsh\"
-
-
-# The "book" is a record of the first few moves, for playing good
-# moves easily and quickly, saving time, and irritating the human
-# opponent.
-
-TEXTBOOK = -DBOOK=\"$(LIBDIR)/gnushogi.tbk\"
-BINBOOK = -DBINBOOK=\"$(LIBDIR)/gnushogi.bbk\"
-
-
-# The language file describes capabilities of the program. It may
-# be useful for customizing gnushogi for non-English-speaking players.
-
-LANGF = -DLANGFILE=\"../misc/gnushogi.lng\"
-
-
-# The pattern file contains various opening patterns. The program tries to
-# obtain such a pattern in the opening stage. Sequences of opening
-# patterns may be described in order to support the correct order of moves.
-
-PATTERN = -DPATTERNFILE=\"../misc/gnushogi.pat\"
-
-
-all:
- @echo No target specified.
-
-
-#
-# Source files.
-#
-
-COMMONFILES = \
- attacks.o \
- book.o \
- commondsp.o \
- cursesdsp.o \
- dspwrappers.o \
- eval.o \
- genmove.o \
- globals.o \
- init.o \
- pattern.o \
- rawdsp.o \
- search.o \
- tcontrl.o \
- util.o
-
-GNUSHOGI_FILES = $(COMMONFILES) main.o
-
-
-PAT2INCFILES = $(COMMONFILES) makepattern.o pat2inc.o
-
-
-#
-# Primary targets.
-#
-
-gnushogi:
- $(CC) $(CFLAGS) -o gnushogi $(GNUSHOGI_FILES) $(LCURSES) $(LIBS)
-
-pat2inc:
- $(CC) $(CFLAGS) -o pat2inc $(PAT2INCFILES) $(LCURSES) $(LIBS)
-
-sizetest:
- $(CC) $(CFLAGS) -o sizetest sizetest.o $(LIBS)
-
-
-#
-# Object files.
-#
-
-# Common files.
-
-attacks.o:
- $(CC) $(CFLAGS) -c attacks.c
-
-book.o:
- $(CC) $(CFLAGS) $(TEXTBOOK) $(BINBOOK) -c book.c
-
-commondsp.o:
- $(CC) $(CFLAGS) -c commondsp.c
-
-cursesdsp.o:
- $(CC) $(CFLAGS) -c cursesdsp.c
-
-dspwrappers.o:
- $(CC) $(CFLAGS) -c dspwrappers.c
-
-genmove.o:
- $(CC) $(CFLAGS) -c genmove.c
-
-globals.o:
- $(CC) $(CFLAGS) -c globals.c
-
-eval.o:
- $(CC) $(CFLAGS) -c eval.c
-
-init.o:
- $(CC) $(CFLAGS) $(LANGF) -c init.c
-
-main.o:
- $(CC) $(CFLAGS) $(BINBOOK) -c main.c
-
-# To create "pattern.inc" with "pat2inc", the external
-# pattern textfile must be used.
-
-makepattern.o:
- $(CC) $(CFLAGS) $(PATTERN) -c makepattern.c
-
-pattern.o:
- $(CC) $(CFLAGS) -c pattern.c
-
-rawdsp.o:
- $(CC) $(CFLAGS) -c rawdsp.c
-
-search.o:
- $(CC) $(CFLAGS) -c search.c
-
-tcontrl.o:
- $(CC) $(CFLAGS) -c tcontrl.c
-
-util.o:
- $(CC) $(CFLAGS) -c util.c
-
-
-# Files specific to particular targets.
-
-pat2inc.o:
- $(CC) $(CFLAGS) $(LANGF) $(BINBOOK) $(PATTERN) -c pat2inc.c
-
-sizetest.o:
- $(CC) $(CFLAGS) -c sizetest.c
-
-
-#
-# Other targets.
-#
-
-gnushogi.bbk:
- @if [ -f ./gnushogi.bbk ]; then rm ./gnushogi.bbk; fi
- echo quit > test
- cat ../misc/gnushogi.tbk > _tmp_t
- cat test | ./gnushogi -R -b _tmp_t -B ./gnushogi.bbk -S 8000 -P 40 3 0
- rm test _tmp_t
- @echo
-
-
-#
-# Installation.
-#
-
-install: gnushogi
- strip gnushogi
- $(INSTALL_PROGRAM) -d $(BINDIR)
- $(INSTALL_PROGRAM) -d $(LIBDIR)
- $(INSTALL_PROGRAM) -d $(MANDIR)
- $(INSTALL_PROGRAM) -d $(INFODIR)
- $(INSTALL_PROGRAM) gnushogi $(BINDIR)
- $(INSTALL_DATA) $(ROOT)/doc/gnushogi.6 $(MANDIR)
- $(INSTALL_DATA) $(ROOT)/doc/gnushogi.info* $(INFODIR)
- $(INSTALL_DATA) gnushogi.bbk $(LIBDIR)/gnushogi.bbk
-
-
-#
-# Cleanup.
-#
-
-CLEANFILES = *.o gnushogi sizetest pat2inc CLp* *.bbk
-
-clean:
- @for file in $(CLEANFILES); do \
- if [ -f $$file ]; then rm $$file; fi; \
- done
- @-find . -name gmon.out -exec rm {} \;
- @-find . -name '*.bb' -exec rm {} \;
- @-find . -name '*.bbg' -exec rm {} \;
- @-find . -name '*.da' -exec rm {} \;
- @-find . -name '*.gcov' -exec rm {} \;
-
-
-#
-# Dependencies.
-#
-
-gnushogi: $(GNUSHOGI_FILES)
-pat2inc: $(PAT2INCFILES)
-sizetest: sizetest.o
-attacks.o: attacks.c gnushogi.h ../version.h
-book.o: book.c gnushogi.h ../version.h
-commondsp.o: commondsp.c gnushogi.h ../version.h
-cursesdsp.o: cursesdsp.c gnushogi.h ../version.h
-dspwrappers.o: dspwrappers.c gnushogi.h ../version.h
-genmove.o: genmove.c gnushogi.h ../version.h
-globals.o: globals.c gnushogi.h ../version.h
-eval.o: eval.c eval.h gnushogi.h ../version.h pattern.h
-init.o: init.c gnushogi.h ../version.h pattern.h
-main.o: main.c gnushogi.h ../version.h
-makepattern.o: pattern.c gnushogi.h pattern.h
-pattern.o: pattern.c gnushogi.h pattern.h pattern.inc
-rawdsp.o: rawdsp.c gnushogi.h ../version.h
-search.o: search.c gnushogi.h ../version.h
-tcontrl.o: tcontrl.c gnushogi.h ../version.h
-util.o: util.c gnushogi.h ../version.h
-pat2inc.o: pat2inc.c pattern.h gnushogi.h
-sizetest.o: sizetest.c gnushogi.h eval.h
-gnushogi.bbk: gnushogi
-
#define MAX_OPENING_SEQUENCE 20
#define MAX_PATTERN 200
-char *patternfile = PATTERNFILE;
+static char *patternfile = PATTERNFILE;
small_short pattern_data[MAX_PATTERN_DATA];
/* minimal ShowMessage to avoid dependency on extraneous display code */
void
ReadOpeningSequences (short *pindex)
-
{
FILE *fd;
char s[256];
/*
* This file is for options that control the behavior of GNU shogi,
- * and also for debugging #defines. They were previously placed on the
+ * probably only be of interest to people who are hacking the source codes.
+ * They were previously placed on the
* command line as -D<option> statements, but this cluttered things
* up so much that I changed it. For the evaluator options, I recommend
* you don't change anything unless you *really* know what you're doing.
extern void ReadOpeningSequences(short *pindex);
extern void WriteOpeningSequences(short pindex);
-/*
-
-small_short PieceCnt[2];
-small_short PieceList[2][NO_SQUARES];
-small_short PieceIndex[NO_SQUARES];
-*/
-
small_short board[NO_SQUARES];
small_short color[NO_SQUARES];
-void
-test_distance(void)
-{
- short side, piece, f, t, d;
-
- for (side = 0; side <= 1; side++)
- {
- printf("SIDE = %d\n", side);
-
- for (piece = pawn; piece <= king; piece++)
- {
- printf("PIECE = %d\n", piece);
-
- for (f = 0; f < NO_SQUARES; f++)
- {
- printf("FROM %d TO ", f);
-
- for (t = 0; t < NO_SQUARES; t++)
- {
- d = piece_distance(side, piece, f, t);
-
- if (d != CANNOT_REACH)
- printf("%d:%d ", t, d);
- }
-
- printf("\n");
- }
- }
- }
-
-}
-
-
-
int
main(int argc, char **argv)
-
{
-
short sq, side, max_pattern_data;
#ifdef TEST_DISTANCE
return 0;
}
-
void
ShowOpeningPatterns (short max_opening_sequence)
-
{
short os, p, n, i;
--- /dev/null
+#!/bin/sh
+set -e
+
+# Script to generate cygwin.make from Makefile.in, to build a standard
+# win32 binary from a cygwin shell.
+#
+# Copyright (c) 2013 Yann Dirson and the Free Software Foundation
+#
+# This file is part of GNU Shogi.
+#
+# GNU Shogi is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either ../version 3 of the License, or (at your option)
+# any later ../version.
+#
+# GNU Shogi is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Shogi; see the file COPYING.
+# If not, see <http://www.gnu.org/licenses/>.
+
+mkdir -p win32
+cat <<'EOF' | sed -f - gnushogi/Makefile.in > win32/Makefile
+s,@INSTALL@,/usr/bin/install -c,
+s,@INSTALL_DATA@,${INSTALL} -m 644,
+s,@INSTALL_PROGRAM@,${INSTALL},
+s,@prefix@,/usr/local,
+s,@LIBCURSES@,,
+s,@CURSESDSP@,,
+s,@CC@,gcc,
+s,@WARNINGS@,-Wall -Wno-implicit-int -Wstrict-prototypes -ansi -pedantic,
+s,@CFLAGS@,-g -O2 -mno-cygwin -fsigned-char -funroll-loops,
+s,@CEXTRAFLAGS@,,
+s,@LDFLAGS@,,
+s,@top_srcdir@,..,
+s,@top_builddir@,.,
+s,@srcdir@,../gnushogi,
+s,@PROGNAME@,gnushogi,
+s,^LIBS *= *-lm$,#\0,
+EOF
--- /dev/null
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define to 1 if you have the `bcopy' function. */
+#undef HAVE_BCOPY
+
+/* Define to 1 if you have the `dup2' function. */
+#undef HAVE_DUP2
+
+/* Define to 1 if you have the <errno.h> header file. */
+#undef HAVE_ERRNO_H
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H 1
+
+/* Define to 1 if you have the `fork' function. */
+#undef HAVE_FORK
+
+/* Define to 1 if you have the `gethostname' function. */
+#undef HAVE_GETHOSTNAME
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#undef HAVE_GETTIMEOFDAY
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define if you have lib */
+#undef HAVE_LIBCURSES
+
+/* Define to 1 if you have the `m' library (-lm). */
+#undef HAVE_LIBM
+
+/* Define to 1 if you have the `termcap' library (-ltermcap). */
+#undef HAVE_LIBTERMCAP
+
+/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
+ to 0 otherwise. */
+#undef HAVE_MALLOC
+
+/* Define to 1 if you have the `memcpy' function. */
+#define HAVE_MEMCPY 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the `memset' function. */
+#undef HAVE_MEMSET
+
+/* Define to 1 if you have the `pow' function. */
+#undef HAVE_POW
+
+/* Define to 1 if you have the `setlinebuf' function. */
+#undef HAVE_SETLINEBUF
+
+/* Define to 1 if you have the `setvbuf' function. */
+#undef HAVE_SETVBUF
+
+/* Define to 1 if stdbool.h conforms to C99. */
+#undef HAVE_STDBOOL_H
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the `strcasecmp' function. */
+#undef HAVE_STRCASECMP
+
+/* Define to 1 if you have the `strchr' function. */
+#undef HAVE_STRCHR
+
+/* Define to 1 if you have the `strerror' function. */
+#undef HAVE_STRERROR
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the `strrchr' function. */
+#undef HAVE_STRRCHR
+
+/* Define to 1 if you have the `strstr' function. */
+#undef HAVE_STRSTR
+
+/* Define to 1 if you have the `strtol' function. */
+#undef HAVE_STRTOL
+
+/* Define to 1 if you have the <sys/file.h> header file. */
+#undef HAVE_SYS_FILE_H
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#undef HAVE_SYS_IOCTL_H
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
+#undef HAVE_SYS_WAIT_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the `vfork' function. */
+#undef HAVE_VFORK
+
+/* Define to 1 if you have the <vfork.h> header file. */
+#undef HAVE_VFORK_H
+
+/* Define to 1 if `fork' works. */
+#undef HAVE_WORKING_FORK
+
+/* Define to 1 if `vfork' works. */
+#undef HAVE_WORKING_VFORK
+
+/* Define to 1 if the system has the type `_Bool'. */
+#undef HAVE__BOOL
+
+/* Define to build gnuminishogi instead of gnushogi */
+#undef MINISHOGI
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "@PACKAGE_NAME@"
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "@PACKAGE_VERSION@"
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#undef RETSIGTYPE
+
+/* The size of `long', as computed by sizeof. */
+#undef SIZEOF_LONG
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#undef TIME_WITH_SYS_TIME
+
+/* Define to 1 if your <sys/time.h> declares `struct tm'. */
+#undef TM_IN_SYS_TIME
+
+/* Define to 1 if the X Window System is missing or not being used. */
+#undef X_DISPLAY_MISSING
+
+/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
+ `char[]'. */
+#undef YYTEXT_POINTER
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+ calls it, or to nothing if 'inline' is not supported under any name. */
+#ifndef __cplusplus
+/* #undef inline */
+#endif
+
+/* Define to rpl_malloc if the replacement function should be used. */
+#undef malloc
+
+/* Define to `int' if <sys/types.h> does not define. */
+#undef pid_t
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
+
+/* Define as `fork' if `vfork' does not work. */
+#undef vfork