[WIP] mingw64 related changes to Cygwin configure and other assorted files with departed w32api/mingw

Christopher Faylor cgf-use-the-mailinglist-please@cygwin.com
Mon Nov 12 20:02:00 GMT 2012


I decided over the weekend to port over configury changes that I made to
Cygwin's now-out-of-date GIT repository.

These changes basically just cleaned up some of the configure scripts
and made it easier to pinpoint where windows headers and libraries come
from by adding a --with-windows-headers and --with-windows-libs options.
However, some of the assumptions made for the git repository weren't
really valid for the CVS repository so there was a fair amount of work
involved.

I thought that I'd do this so I could easily get up-and-running with the
MinGW64 stuff but I ran into some problems building things with gentoo's
MinGW64 implementation.  So, I switched to using the files from the
Cygwin release.

As I mentioned in cygwin-developers, getting the most recent version of
mingw64 stuff working required making some changes to some Cygwin source
files.  Most of the changes just involved #undef'ing constants defined
in Windows headers.  Still, I was surprised that these hadn't already
been handled since I thought I was behind the times by still using the
Mingw32 stuff.

Anyway, is a summary of the changes I've made to files is below.  I'll
be doing appropriate ChangeLogs too, of course.  I've also attached the
patch.

This is a heads up in case this conflicted materially with any of the
w64 development.

cgf

--- winsup/Makefile.common

Gutted.  Revamped to just include common definitions and macros.

--- winsup/acinclude.m4

Gutted.  Now defines:

AC_WINDOWS_HEADERS
AC_WINDOWS_LIBS
AC_CYGWIN_INCLUDES

--- winsup/configure.cygwin

New file.  Does common stuff for cygwin configure files.

--- **/autogen.sh

New script.  Regenerates configure and aclocal.m4.

--- winsup/ccwrap

New script.  Used to run gcc/g++ using defined cygwin/newlib/windows
locations.

CCWRAP_VERBOSE=1 environment variable shows full expanded path to
compiler command line.

(I wish gcc had a way to say "Don't use this built-in header directory")

--- winsup/c++wrap

C++ front-end to ccwrap - because CVS doesn't like symlinks.

--- **/configure.in

Revamped to use new acinclude.m4 directives and to eliminate cruft.

--- **/Makefile.in

Add .E target to generate macro expanded version of source file.
Eliminate "VERBOSE=" option.  Always print everything.
Revamp to use new configure framework and c*wrap.
Regenerate Makefile if Makefile.in, config.status change.
Use WINDOWS_LIBDIR and WINDOWS_HEADERS to find windows stuff.
Remove unneeded SHELL:= setting.

--- cygwin/Makefile.in

Add the very important datarootdir setting!

Revamp (slightly) CFLAGS/CXXFLAGS settings.  These two things should
really be separate but I've gotten into the habit of saying:

make CFLAGS=-g

to cause things to not be built with optimization.  Handle that case
but otherwise decouple CFLAGS from CXXFLAGS.

Generate tlsoffsets.h in the build directory.

--- cygwin/mkvers.sh

Fix version.h and winver.rc generation to not assume in-tree windows
files.

--- cygwin/winlean.h

#define _WIN32

cygwin/winsup.h

#define _WIN32

--- cygwin/include/netdb.h

#undef a bunch of windows-defined constants.

--- cygwin/include/cygwin/if.h

Use #pragma once

--- cygwin/include/cygwin/in.h

Use #pragma once
Use _IN_PORT_DECLARED to guard against define of in_port_t.

--- cygwin/include/cygwin/in6.h

Use #pragma once
Use _IN_PORT_DECLARED to guard against define of in_port_t.

--- cygwin/include/cygwin/socket.h

#undef a bunch of windows-defined constants.

--- cygwin/include/sys/socket.h

#pragma once

--- cygwin/include/sys/termios.h

#undef FIONBIO before defining it.

--- cygwin/minires-os-if.c

#define __INSIDE_CYGWIN__
#include <sys/time.h>
Delete some #undef's that are now in header files.

--- cygwin/libc/minires.h

#pragma once
#undef some windows-defined constants.

--- utils/Makefile.in

Lots of changes.  Assume that we always have mingw libraries available for cygcheck.
Set CCWRAP variables to control where to find header files for various utilities.

--- utils/dump_setup.cc

Include zlib.h directly.

--- utils/path.cc

#define __CRT__NO_INLINE
to avoid an error from a windows header.
-------------- next part --------------
Index: Makefile.common
===================================================================
RCS file: /cvs/uberbaum/winsup/Makefile.common,v
retrieving revision 1.61
diff -u -p -r1.61 Makefile.common
--- Makefile.common	7 Nov 2012 16:32:07 -0000	1.61
+++ Makefile.common	12 Nov 2012 19:53:05 -0000
@@ -8,154 +8,23 @@
 # Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
 # details.
 
-# This makefile requires GNU make.
+define justdir
+$(patsubst %/,%,$(dir $1))
+endef
 
-CFLAGS_COMMON:=-Wall -Wstrict-aliasing -Wwrite-strings -fno-common -pipe -fbuiltin -fmessage-length=0 -D_SDKDDKVER_H
-MALLOC_DEBUG:=#-DMALLOC_DEBUG -I/cygnus/src/uberbaum/winsup/cygwin/dlmalloc
-MALLOC_OBJ:=#/cygnus/src/uberbaum/winsup/cygwin/dlmalloc/malloc.o
-
-override srcdir:=${shell cd $(srcdir); pwd}
-ifneq (,${filter-out /%,$(srcdir)})
-    updir:=$(srcdir)/..
-    updir1:=$(updir)/..
-else
-    updir:=${patsubst %:::,%,${patsubst %/:::,%,$(dir $(srcdir)):::}}
-ifneq (,${findstring /,$(updir)})
-    updir1:=${patsubst %:::,%,${patsubst %/:::,%,$(dir $(updir)):::}}
-else
-    updir1:=$(updir)/..
-endif
-endif
-
-pwd:=${shell pwd}
-ifneq "${filter winsup%,${notdir $(pwd)}}" ""
-    here:=${pwd}/cygwin
-else
-    here:=${dir $(pwd)}cygwin
-endif
-bupdir:=${shell cd $(here)/..; pwd}
-ifneq (,${filter-out /%,$(bupdir)})
-    bupdir1:=../..
-    bupdir2:=../../..
-else
-ifneq (,${findstring /,$(bupdir)})
-    bupdir1:=${patsubst %:::,%,${patsubst %/:::,%,$(dir $(bupdir)):::}}
-else
-    bupdir1:=$(bupdir)/..
-endif
-ifneq (,${findstring /,$(bupdir1)})
-    bupdir2:=${patsubst %:::,%,${patsubst %/:::,%,$(dir $(bupdir1)):::}}
-else
-    bupdir2:=$(bupdir1)/..
-endif
-endif
-
-newlib_source:=$(updir1)/newlib
-newlib_build:=$(bupdir1)/newlib
-cygwin_build:=$(bupdir)/cygwin
-cygwin_source:=$(updir)/cygwin
-utils_build:=$(bupdir)/utils
-utils_source:=$(updir)/utils
-ifeq (,${findstring $(newlib_source)/libc/include,$(CFLAGS) $(CXXFLAGS) $(CXX) $(CC)})
-newlib_include:=-I$(newlib_source)/libc/include
-endif
-ifeq (,${findstring $(cygwin_source)/include,$(CFLAGS) $(CXXFLAGS) $(CXX) $(CC)})
-cygwin_include:=-I$(cygwin_source)/include
-endif
-
-nostdincxx:=-nostdinc++
-
-nostdlib:=-nostdlib
-
-ifeq (,${nostdlib})
-nostdinc:=
-endif
-
-INCLUDES:=-I. $(cygwin_include) -I$(cygwin_source) $(newlib_include)
-ifdef CONFIG_DIR
-INCLUDES+=-I$(CONFIG_DIR)
-endif
-
-MINGW_LDFLAGS:=-static
-MINGW_CFLAGS:=
-MINGW_CXXFLAGS:=
-
-GCC_DEFAULT_OPTIONS:=$(CFLAGS_COMMON) $(CFLAGS_CONFIG) $(INCLUDES)
-
-# Link in libc and libm from newlib
-
-LIBC:=$(newlib_build)/libc/libc.a
-LIBM:=$(newlib_build)/libm/libm.a
-CRT0:=$(cygwin_build)/crt0.o
-
-ALL_CFLAGS=$(DEFS) $(MALLOC_DEBUG) $(CFLAGS) $(GCC_DEFAULT_OPTIONS)
-ALL_CXXFLAGS=$(DEFS) $(MALLOC_DEBUG) $(CXXFLAGS) $(GCC_DEFAULT_OPTIONS)
-
-ifndef PREPROCESS
-c=-c
-o=.o
-else
-c=-E -dD
-o=.E
-endif
-
-libgcc:=${subst \,/,${shell $(CC_FOR_TARGET) -print-libgcc-file-name}}
-gcc_libdir:=${word 1,${dir $(libgcc)}}
-ifeq (,${findstring $(gcc_libdir),$(CFLAGS) $(CXXFLAGS) $(CXX) $(CC)})
-GCC_INCLUDE:=${subst //,/,-I$(gcc_libdir)/include}
-endif
-
-COMPILE_CXX=$(CXX) $c $(if $($(*F)_STDINCFLAGS),,$(nostdincxx) $(nostdinc)) \
-	     $(ALL_CXXFLAGS) $(GCC_INCLUDE) -fno-rtti -fno-exceptions
-COMPILE_CC=$(CC) $c $(if $($(*F)_STDINCFLAGS),,$(nostdinc)) $(ALL_CFLAGS) $(GCC_INCLUDE)
-
-vpath %.a	$(cygwin_build):$(newlib_build)/libc:$(newlib_build)/libm
-
-MAKEOVERRIDES_WORKAROUND=${wordlist 2,1,a b c}
-
-ifneq ($(MAKEOVERRIDES_WORKAROUND),)
-    override MAKE:=$(MAKE) $(MAKEOVERRIDES)
-    MAKEOVERRIDES:=
-    export MAKEOVERRIDES
-endif
-
-ifdef RPATH_ENVVAR
-VERBOSE=1
-endif
-
-ifneq "${findstring -B,$(COMPILE_CXX) $(COMPILE_CC)}" ""
-VERBOSE=1
-endif
-
-.PRECIOUS: %.o
-
-%.o: %.cc
-ifdef VERBOSE
-	$(COMPILE_CXX) -o $(@D)/$(*F)$o $<
-else
-	@echo $(CXX) $c $(CXXFLAGS) ... $(*F).cc
-	@$(COMPILE_CXX) -o $(@D)/$(*F)$o $<
-endif
-
-%.o: %.c
-ifdef VERBOSE
-	$(COMPILE_CC) -o $(@D)/$(*F)$o $<
-else
-	@echo $(CC) $c $(CFLAGS) ... $(*F).c
-	@$(COMPILE_CC) -o $(@D)/$(*F)$o $<
-endif
-
-$(bupdir1)/libiberty/%.o: $(updir1)/libiberty/%.c
-	@$(MAKE) -C $(@D) $(@F)
-
-all:
-
-# For auto-rebuilding the Makefile
+define libname
+$(realpath $(shell ${CC} --print-file-name=$1 $2))
+endef
 
-.PRECIOUS: Makefile
+export PATH:=${winsup_srcdir}:${PATH}
 
-Makefile: Makefile.in $(srcdir)/configure.in config.status
-	$(SHELL) config.status
+COMPILE.cc=c++wrap -c ${CXXFLAGS}
+COMPILE.c=ccwrap -c ${CFLAGS}
 
-config.status: configure
-	$(SHELL) config.status --recheck
+top_srcdir:=$(call justdir,${winsup_srcdir})
+top_builddir:=$(call justdir,${target_builddir})
+
+cygwin_build:=${target_builddir}/winsup/cygwin
+newlib_build:=${target_builddir}/newlib
+
+VPATH:=${srcdir}
Index: acinclude.m4
===================================================================
RCS file: /cvs/uberbaum/winsup/acinclude.m4,v
retrieving revision 1.1
diff -u -p -r1.1 acinclude.m4
--- acinclude.m4	24 May 2006 16:59:02 -0000	1.1
+++ acinclude.m4	12 Nov 2012 19:53:05 -0000
@@ -1,43 +1,83 @@
-dnl This provides configure definitions used by all the winsup
+dnl This provides configure definitions used by all the cygwin
 dnl configure.in files.
 
-# FIXME: We temporarily define our own version of AC_PROG_CC.  This is
-# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS.  We
-# are probably using a cross compiler, which will not be able to fully
-# link an executable.  This should really be fixed in autoconf
-# itself.
-
-AC_DEFUN([LIB_AC_PROG_CC_GNU],
-[AC_CACHE_CHECK(whether we are using GNU C, ac_cv_prog_gcc,
-[dnl The semicolon is to pacify NeXT's syntax-checking cpp.
-cat > conftest.c <<EOF
-#ifdef __GNUC__
-  yes;
-#endif
-EOF
-if AC_TRY_COMMAND(${CC-cc} -E conftest.c) | egrep yes >/dev/null 2>&1; then
-  ac_cv_prog_gcc=yes
-else
-  ac_cv_prog_gcc=no
-fi])])
-
-AC_DEFUN([LIB_AC_PROG_CC],
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_CHECK_TOOL(CC, gcc, gcc)
-: ${CC:=gcc}
-AC_PROG_CC
-test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+AC_DEFUN([AC_WINDOWS_HEADERS],[
+AC_ARG_WITH(
+    [windows-headers],
+    [AS_HELP_STRING([--with-windows-headers=DIR],
+		    [specify where the windows includes are located])],
+    [test -z "$withval" && AC_MSG_ERROR([must specify value for --with-windows-headers])]
+)
 ])
 
-AC_DEFUN([LIB_AC_PROG_CXX],
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_CHECK_TOOL(CXX, g++, g++)
-if test -z "$CXX"; then
-  AC_CHECK_TOOL(CXX, g++, c++, , , )
-  : ${CXX:=g++}
-  AC_PROG_CXX
-  test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+AC_DEFUN([AC_WINDOWS_LIBS],[
+AC_ARG_WITH(
+    [windows-libs],
+    [AS_HELP_STRING([--with-windows-libs=DIR],
+		    [specify where the windows libraries are located])],
+    [test -z "$withval" && AC_MSG_ERROR([must specify value for --with-windows-libs])]
+)
+windows_libdir=$(cd "$with_windows_libs" 2>/dev/null && pwd)
+if test -z "$windows_libdir"; then
+    windows_libdir=$(cd $(dirname $($ac_cv_prog_CC -print-file-name=libcygwin.a))/w32api 2>&1 && pwd)
+    if ! test -z "$windows_libdir"; then
+	AC_MSG_ERROR([cannot find windows library files])
+    fi
+fi
+AC_SUBST(windows_libdir)
+]
+)
+
+AC_DEFUN([AC_CYGWIN_INCLUDES], [
+addto_CPPFLAGS -nostdinc
+: ${ac_cv_prog_CXX:=$CXX}
+: ${ac_cv_prog_CC:=$CC}
+
+cygwin_headers=$(cd "$winsup_srcdir/cygwin/include" 2>/dev/null && pwd)
+if test -z "$cygwin_headers"; then
+    AC_MSG_ERROR([cannot find $winsup_srcdir/cygwin/include directory])
+fi
+
+newlib_headers=$(cd $winsup_srcdir/../newlib/libc/include 2>/dev/null && pwd)
+if test -z "$newlib_headers"; then
+    AC_MSG_ERROR([cannot find newlib source directory: $winsup_srcdir/../newlib/libc/include])
+fi
+newlib_headers="$target_builddir/newlib/targ-include $newlib_headers"
+
+if test -n "$with_windows_headers"; then
+    if test -e "$with_windows_headers/windef.h"; then
+	windows_headers="$with_windows_headers"
+    else
+	AC_MSG_ERROR([cannot find windef.h in specified --with-windows-headers path: $saw_windows_headers]);
+    fi
+elif test -d "$winsup_srcdir/w32api/include/windef.h"; then
+    windows_headers="$winsup_srcdir/w32api/include"
+else
+    windows_headers=$(cd $($ac_cv_prog_CC -xc /dev/null -E -include windef.h 2>/dev/null | sed -n 's%^# 1 "\([^"]*\)/windef\.h".*$%\1%p' | head -n1) 2>/dev/null && pwd)
+    if test -z "$windows_headers" -o ! -d "$windows_headers"; then
+	AC_MSG_ERROR([cannot find windows header files])
+    fi
 fi
+CC=$ac_cv_prog_CC
+CXX=$ac_cv_prog_CXX
+export CC
+export CXX
+AC_SUBST(windows_headers)
+AC_SUBST(newlib_headers)
+AC_SUBST(cygwin_headers)
+])
 
-CXXFLAGS='$(CFLAGS)'
+AC_DEFUN([AC_CONFIGURE_ARGS], [
+configure_args=X
+for f in $ac_configure_args; do
+    case "$f" in
+	*--srcdir*) ;;
+	*) configure_args="$configure_args $f" ;;
+    esac
+done
+configure_args=$(/usr/bin/expr "$configure_args" : 'X \(.*\)')
+AC_SUBST(configure_args)
 ])
+
+AC_SUBST(target_builddir)
+AC_SUBST(winsup_srcdir)
Index: autogen.sh
===================================================================
RCS file: autogen.sh
diff -N autogen.sh
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ autogen.sh	12 Nov 2012 19:53:05 -0000
@@ -0,0 +1,17 @@
+#!/bin/sh -e
+if ! /usr/bin/test -e config.guess; then
+    /usr/bin/wget -q -O config.guess 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD'
+    /bin/chmod a+x config.guess
+fi
+if ! /usr/bin/test -e config.sub; then
+    /usr/bin/wget -q -O config.sub 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD'
+    /bin/chmod a+x config.sub
+fi
+/usr/bin/aclocal --force
+/usr/bin/autoconf -f
+/bin/rm -rf autom4te.cache
+res=0
+for d in cygwin utils cygserver; do
+    (cd $d && exec ./autogen.sh) || res=1
+done
+exit $res
Index: c++wrap
===================================================================
RCS file: c++wrap
diff -N c++wrap
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ c++wrap	12 Nov 2012 19:53:05 -0000
@@ -0,0 +1,6 @@
+#!/usr/bin/perl
+use strict;
+use File::Basename;
+my $pgm = basename($0);
+(my $wrapper = $pgm) =~ s/\+\+/c/o;
+exec $wrapper, '++', @ARGV;
Index: ccwrap
===================================================================
RCS file: ccwrap
diff -N ccwrap
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ccwrap	12 Nov 2012 19:53:05 -0000
@@ -0,0 +1,48 @@
+#!/usr/bin/perl
+use Cwd;
+use strict;
+my @compiler = ();
+my $cxx;
+if ($ARGV[0] ne '++') {
+    @compiler = ($ENV{CC} || 'i686-pc-cygwin-gcc');
+    $cxx = 0;
+} else {
+    @compiler = ($ENV{CXX} || 'i686-pc-cygwin-g++');
+    shift @ARGV;
+    $cxx = 1;
+}
+if ("@ARGV" !~ / -nostdinc/o) {
+    my $fd;
+    push @compiler, ($cxx ? '-xc++' : '-xc');
+    if (!open $fd, '-|') {
+	open STDERR, '>&', \*STDOUT;
+	exec @compiler, '/dev/null', '-v', '-E', '-o', '/dev/null' or die "*** error execing $compiler[0] - $!\n";
+    }
+    $compiler[1] =~ s/xc/nostdinc/o;
+    push @compiler, '-nostdinc' if $cxx;
+    push @compiler, '-I' . $_ for split ' ', $ENV{CCWRAP_HEADERS};
+    push @compiler, '-isystem', $_ for split ' ', $ENV{CCWRAP_SYSTEM_HEADERS};
+    push @compiler, '-idirafter', $_ for split ' ', $ENV{CCWRAP_DIRAFTER_HEADERS};
+    my $finding_paths = 0;
+    while (<$fd>) {
+	if (/^\*\*\*/o) {
+	    print;
+	} elsif ($_ eq "#include <...> search starts here:\n") {
+	    $finding_paths = 1;
+	} elsif (!$finding_paths) {
+	    next;
+	} elsif ($_ eq "End of search list.\n") {
+	    last;
+	} elsif (!/mingw|w32api/o) {
+	    chomp;
+	    s/^\s+//;
+	    push @compiler, '-isystem', Cwd::abs_path($_);
+	}
+    }
+    close $fd;
+}
+
+push @compiler, @ARGV;
+
+print join(' ', '+', @compiler), "\n" if $ENV{CCWRAP_VERBOSE};
+exec @compiler or die "$0: $compiler[0] failed to execute\n";
Index: configure.in
===================================================================
RCS file: /cvs/uberbaum/winsup/configure.in,v
retrieving revision 1.35
diff -u -p -r1.35 configure.in
--- configure.in	7 Nov 2012 16:32:07 -0000	1.35
+++ configure.in	12 Nov 2012 19:53:05 -0000
@@ -1,6 +1,6 @@
 dnl Autoconf configure script for Cygwin.
 dnl Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2006,
-dnl 2009 Red Hat, Inc.
+dnl 2009, 2010, 2011, 2012 Red Hat, Inc.
 dnl
 dnl This file is part of Cygwin.
 dnl
@@ -12,30 +12,26 @@ dnl Process this file with autoconf to p
 
 AC_PREREQ(2.59)dnl
 AC_INIT(Makefile.in)
+AC_CONFIG_AUX_DIR(..)
 
-INSTALL=`cd $srcdir/..; echo $(pwd)/install-sh -c`
+. ${srcdir}/configure.cygwin
+
+AC_WINDOWS_HEADERS
+AC_WINDOWS_LIBS
 
 AC_PROG_INSTALL
 AC_CANONICAL_SYSTEM
 
-GCC_NO_EXECUTABLES
-
-LIB_AC_PROG_CC
-LIB_AC_PROG_CXX
-
-AC_LANG_C
+AC_PROG_CC
+AC_PROG_CXX
+AC_PROG_CPP
+AC_LANG(C)
+AC_LANG(C++)
 
-INSTALL_LICENSE=
+AC_CYGWIN_INCLUDES
 
-case "$target" in
-  *cygwin*)
-    if ! test -d $srcdir/cygwin; then
-      AC_MSG_ERROR("No cygwin dir.  Can't build Cygwin.  Exiting...")
-    fi
-    AC_CONFIG_SUBDIRS(cygwin cygserver lsaauth utils doc)
-    INSTALL_LICENSE="install-license"
-    ;;
-esac
+AC_CONFIG_SUBDIRS(cygwin utils cygserver lsaauth doc)
+INSTALL_LICENSE="install-license"
 
 AC_SUBST(INSTALL_LICENSE)
 
Index: cygserver/Makefile.in
===================================================================
RCS file: /cvs/uberbaum/winsup/cygserver/Makefile.in,v
retrieving revision 1.24
diff -u -p -r1.24 Makefile.in
--- cygserver/Makefile.in	16 Nov 2009 08:50:07 -0000	1.24
+++ cygserver/Makefile.in	12 Nov 2012 19:53:05 -0000
@@ -7,10 +7,22 @@
 # Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
 # details.
 
-SHELL:=@SHELL@
-
 srcdir:=@srcdir@
-VPATH:=@srcdir@
+target_builddir:=@target_builddir@
+winsup_srcdir:=@winsup_srcdir@
+configure_args=@configure_args@
+
+export CC:=@CC@
+export CXX:=@CXX@
+
+include ${srcdir}/../Makefile.common
+
+cygwin_build:=${target_builddir}/winsup/cygwin
+
+# environment variables used by ccwrap
+export CCWRAP_HEADERS:=$(dir ${srcdir})/cygwin ${cygwin_build}
+export CCWRAP_SYSTEM_HEADERS:=@cygwin_headers@ @newlib_headers@
+export CCWRAP_DIRAFTER_HEADERS:=@windows_headers@
 
 DESTDIR=
 prefix:=${DESTDIR}@prefix@
@@ -24,17 +36,13 @@ INSTALL:=@INSTALL@
 INSTALL_PROGRAM:=@INSTALL_PROGRAM@
 INSTALL_DATA:=@INSTALL_DATA@
 
-CC:=@CC@
-CC_FOR_TARGET:=$(CC)
-CXX:=@CXX@
-CXX_FOR_TARGET:=$(CXX)
 AR:=@AR@
 
-include $(srcdir)/../Makefile.common
-
 CFLAGS:=@CFLAGS@
 override CXXFLAGS=@CXXFLAGS@
 override CXXFLAGS+=-MMD -DHAVE_DECL_GETOPT=0 -D__OUTSIDE_CYGWIN__ -DSYSCONFDIR="\"$(sysconfdir)\""
+COMPILE.cc=c++wrap -c ${CXXFLAGS}
+COMPILE.c=ccwrap -c ${CFLAGS}
 
 .SUFFIXES: .c .cc .a .o .d
 
@@ -78,13 +86,26 @@ $(cygwin_build)/%.o: $(cygwin_source)/%.
 	@$(MAKE) -C $(@D) $(@F)
 
 Makefile: Makefile.in configure
+	./config.status
 
 lib%.o: %.cc
-	${filter-out -D__OUTSIDE_CYGWIN__, $(COMPILE_CXX)} -c -I$(updir)/cygwin -I$(bupdir)/cygwin -o $(@D)/${basename $(@F)}$o $<
+	${filter-out -D__OUTSIDE_CYGWIN__, $(COMPILE.cc)} -c -o $(@D)/${basename $(@F)}.o $<
 
 libcygserver.a: $(LIBOBJS)
 	$(AR) crus $@ $?
 
+%.o: %.cc
+	${COMPILE.cc} -c -o $@ $<
+
+%.o: %.c
+	${COMPILE.c} -c -o $@ $<
+
+%.E: %.cc
+	${COMPILE.cc} -E -dD -o $@ $<
+
+%.E: %.c
+	${COMPILE.c} -E -dD -o $@ $<
+
 deps:=${wildcard *.d}
 ifneq (,$(deps))
 include $(deps)
Index: cygserver/autogen.sh
===================================================================
RCS file: cygserver/autogen.sh
diff -N cygserver/autogen.sh
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ cygserver/autogen.sh	12 Nov 2012 19:53:06 -0000
@@ -0,0 +1,4 @@
+#!/bin/sh -e
+/usr/bin/aclocal --acdir=..
+/usr/bin/autoconf -f
+exec /bin/rm -rf autom4te.cache
Index: cygserver/configure.in
===================================================================
RCS file: /cvs/uberbaum/winsup/cygserver/configure.in,v
retrieving revision 1.5
diff -u -p -r1.5 configure.in
--- cygserver/configure.in	7 Feb 2011 16:22:02 -0000	1.5
+++ cygserver/configure.in	12 Nov 2012 19:53:06 -0000
@@ -11,16 +11,23 @@ dnl Process this file with autoconf to p
 
 AC_PREREQ(2.59)dnl
 AC_INIT(cygserver.cc)
+AC_CONFIG_AUX_DIR(..)
 
-AC_CONFIG_AUX_DIR(../..)
+. ${srcdir}/../configure.cygwin
 
-INSTALL=`cd $srcdir/../..; echo $(pwd)/install-sh -c`
+AC_WINDOWS_HEADERS
+AC_WINDOWS_LIBS
 
 AC_PROG_INSTALL
 AC_CANONICAL_SYSTEM
 
-LIB_AC_PROG_CC
-LIB_AC_PROG_CXX
+AC_PROG_CC
+AC_PROG_CXX
+AC_PROG_CPP
+AC_LANG(C)
+AC_LANG(C++)
+
+AC_CYGWIN_INCLUDES
 
 case "$with_cross_host" in
   ""|*cygwin*)
Index: cygwin/Makefile.in
===================================================================
RCS file: /cvs/uberbaum/winsup/cygwin/Makefile.in,v
retrieving revision 1.258
diff -u -p -r1.258 Makefile.in
--- cygwin/Makefile.in	24 Oct 2012 10:12:45 -0000	1.258
+++ cygwin/Makefile.in	12 Nov 2012 19:53:06 -0000
@@ -1,28 +1,32 @@
 # Makefile.in for Cygwin.
 # Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
+# 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
 #
 # This file is part of Cygwin.
 #
 # This software is a copyrighted work licensed under the terms of the
 # Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
 # details.
+# configure_input: @configure_input@
 
 # This makefile requires GNU make.
-#
-# Include common definitions for winsup directory
-# The following assignments are "inputs" to Makefile.common
-#
-CC:=@CC@
-CC_FOR_TARGET:=$(CC)
+
 srcdir:=@srcdir@
-CONFIG_DIR:=$(srcdir)/config/@CONFIG_DIR@
+target_builddir:=@target_builddir@
+winsup_srcdir:=@winsup_srcdir@
+configure_args=@configure_args@
+
+export CC:=@CC@
+export CXX:=@CXX@
+
 include ${srcdir}/../Makefile.common
 
-SHELL:=@SHELL@
-objdir:=.
+# environment variables used by ccwrap
+export CCWRAP_HEADERS:=. ${srcdir}
+export CCWRAP_SYSTEM_HEADERS:=@cygwin_headers@ @newlib_headers@
+export CCWRAP_DIRAFTER_HEADERS:=@windows_headers@
 
-VPATH:=$(srcdir):$(CONFIG_DIR):$(srcdir)/regex:$(srcdir)/lib:$(srcdir)/libc
+VPATH+=$(CONFIG_DIR) $(srcdir)/regex $(srcdir)/lib $(srcdir)/libc
 
 target_alias:=@target_alias@
 build_alias:=@build_alias@
@@ -35,6 +39,7 @@ bindir:=@bindir@
 libdir:=@libdir@
 mandir:=@mandir@
 sysconfdir:=@sysconfdir@
+datarootdir:=@datarootdir@
 ifeq ($(target_alias),$(host_alias))
 ifeq ($(build_alias),$(host_alias))
 tooldir:=$(exec_prefix)
@@ -52,17 +57,29 @@ override INSTALL:=@INSTALL@
 override INSTALL_PROGRAM:=@INSTALL_PROGRAM@
 override INSTALL_DATA:=@INSTALL_DATA@
 
+WINDOWS_LIBDIR:=@windows_libdir@
+
+cygserver_blddir:=${target_builddir}/winsup/cygserver
+LIBSERVER:=${cygserver_blddir}/libcygserver.a
+
+LIBC:=$(newlib_build)/libc/libc.a
+LIBM:=$(newlib_build)/libm/libm.a
+CRT0:=$(cygwin_build)/crt0.o
+
 #
 # --enable options from configure
 #
 MT_SAFE:=@MT_SAFE@
 DEFS:=@DEFS@
-CCEXTRA:=
+CCEXTRA=
+COMMON_CFLAGS=-MMD ${$(*F)_CFLAGS} -Werror -fmerge-constants -ftracer $(CCEXTRA)
 CFLAGS?=@CFLAGS@
-override CFLAGS+=-MMD ${$(*F)_CFLAGS} -Werror -fmerge-constants -ftracer \
-  -mno-use-libstdc-wrappers $(CCEXTRA)
-CXX=@CXX@
-override CXXFLAGS=@CXXFLAGS@
+CXXFLAGS?=@CXXFLAGS@
+ifeq "$(filter -O%,${CFLAGS})" ""
+override CXXFLAGS:=$(filter-out -O%,${CXXFLAGS})
+endif
+COMPILE.cc+=${COMMON_CFLAGS} -mno-use-libstdc-wrappers
+COMPILE.c+=${COMMON_CFLAGS}
 
 AR:=@AR@
 AR_FLAGS:=qv
@@ -169,6 +186,13 @@ EXCLUDE_STATIC_OFILES:=$(addprefix --exc
 	spawn.o \
 )
 
+ifdef PREPROCESS
+override DLL_OFILES:=$(patsubst %.o,%_E,${DLL_OFILES})
+override EXCLUDE_STATIC_OFILES:=$(patsubst %.o,%_E,${EXCLUDE_STATIC_OFILES})
+override EXTRA_OFILES=$(patsubst %.o,%_E,${DLL_OFILES}))
+override MALLOC_OFILES:=$(patsubst %.o,%.E,${MALLOC_OFILES})
+endif #PREPROCESS
+
 GMON_OFILES:=gmon.o mcount.o profil.o
 
 NEW_FUNCTIONS:=$(addprefix --replace=,\
@@ -227,7 +251,6 @@ NEW_FUNCTIONS:=$(addprefix --replace=,\
 API_VER:=$(srcdir)/include/cygwin/version.h
 
 LIB_NAME:=libcygwin.a
-LIBSERVER:=@LIBSERVER@
 SUBLIBS:=libpthread.a libutil.a ${CURDIR}/libm.a ${CURDIR}/libc.a libdl.a libresolv.a librt.a
 EXTRALIBS:=libautomode.a libbinmode.a libtextmode.a libtextreadmode.a
 INSTOBJS:=automode.o binmode.o textmode.o textreadmode.o
@@ -300,7 +323,7 @@ cxx_STDINCFLAGS:=yes
 	install install-libs install-headers
 
 .SUFFIXES:
-.SUFFIXES: .c .cc .def .a .o .d .s
+.SUFFIXES: .c .cc .def .a .o .d .s .E
 
 all_host=@all_host@
 install_host=@install_host@
@@ -385,8 +408,8 @@ uninstall-man:
 	done
 
 clean:
-	-rm -f *.o *.dll *.dbg *.a *.exp junk *.base version.cc winver_stamp *.exe *.d *stamp* *_magic.h sigfe.s cygwin.def globals.h $(srcdir)/tlsoffsets.h $(srcdir)/devices.cc
-	-@$(MAKE) -C $(bupdir)/cygserver libclean
+	-rm -f *.o *.dll *.dbg *.a *.exp junk *.base version.cc winver_stamp *.exe *.d *stamp* *_magic.h sigfe.s cygwin.def globals.h tlsoffsets.h $(srcdir)/devices.cc
+	-@$(MAKE) -C ${cygserver_blddir} libclean
 
 maintainer-clean realclean: clean
 	@echo "This command is intended for maintainers to use;"
@@ -396,7 +419,7 @@ maintainer-clean realclean: clean
 
 # Rule to build cygwin.dll
 $(TEST_DLL_NAME): $(LDSCRIPT) dllfixdbg $(DLL_OFILES) $(LIBSERVER) $(LIBC) $(LIBM) $(API_VER) Makefile winver_stamp
-	$(CXX) $(CXXFLAGS) -Wl,--gc-sections $(nostdlib) -Wl,-T$(firstword $^) -static \
+	$(CXX) $(CXXFLAGS) -L${WINDOWS_LIBDIR} -Wl,--gc-sections $(nostdlib) -Wl,-T$(firstword $^) -static \
 	-Wl,--heap=0 -Wl,--out-implib,cygdll.a -shared -o $@ \
 	-e $(DLL_ENTRY) $(DEF_FILE) $(DLL_OFILES) version.o winver.o \
 	$(MALLOC_OBJ) $(LIBSERVER) $(LIBM) $(LIBC) \
@@ -416,8 +439,12 @@ ${STATIC_LIB_NAME}: mkstatic ${TEST_DLL_
 $(TEST_LIB_NAME): $(LIB_NAME)
 	perl -p -e 'BEGIN{binmode(STDIN); binmode(STDOUT);}; s/cygwin1/cygwin0/g' < $? > $@
 
-$(LIBSERVER): $(bupdir)/cygserver/Makefile
-	$(MAKE) -C $(bupdir)/cygserver libcygserver.a
+$(LIBSERVER): ${cygserver_blddir}/Makefile
+	$(MAKE) -C ${cygserver_blddir} libcygserver.a
+
+${cygserver_blddir}/Makefile:
+	mkdir -p ${@D}
+	cd ${@D} && exec ${SHELL} $(dir ${srcdir})/cygserver/configure ${configure_args}
 
 dll_ofiles: $(DLL_OFILES)
 
@@ -436,10 +463,10 @@ globals.h: mkglobals_h globals.cc
 ${DLL_OFILES} ${LIBCOS}: globals.h
 
 shared_info_magic.h: cygmagic shared_info.h
-	/bin/sh $(word 1,$^) $@ "${COMPILE_CXX} -E -x c++" $(word 2,$^) SHARED_MAGIC 'class shared_info' USER_MAGIC 'class user_info'
+	/bin/sh $(word 1,$^) $@ "${COMPILE.cc} -E -x c++" $(word 2,$^) SHARED_MAGIC 'class shared_info' USER_MAGIC 'class user_info'
 
 child_info_magic.h: cygmagic child_info.h
-	/bin/sh $(word 1,$^) $@ "${COMPILE_CXX} -E -x c++" $(word 2,$^) CHILD_INFO_MAGIC 'class child_info'
+	/bin/sh $(word 1,$^) $@ "${COMPILE.cc} -E -x c++" $(word 2,$^) CHILD_INFO_MAGIC 'class child_info'
 
 dcrt0.o sigproc.o: child_info_magic.h
 
@@ -473,18 +500,19 @@ ${EXTRALIBS}: lib%.a: %.o
 	$(AR) cru $@ $?
 
 winver_stamp: mkvers.sh include/cygwin/version.h winver.rc $(DLL_OFILES)
-	@echo "Making version.o and winver.o";\
-	$(SHELL) ${word 1,$^} ${word 2,$^} ${word 3,$^} $(WINDRES) && \
-	$(COMPILE_CXX) -c -o version.o version.cc && \
+	echo "Making version.o and winver.o";\
+	$(SHELL) ${word 1,$^} ${word 2,$^} ${word 3,$^} $(WINDRES) ${CFLAGS} ${INCLUDES} && \
+	$(COMPILE.cc) -c -o version.o version.cc && \
 	touch $@
 
-Makefile: cygwin.din
+Makefile: cygwin.din ${srcdir}/Makefile.in
+	${SHELL} ./config.status
 
-$(DEF_FILE): gendef cygwin.din $(srcdir)/tlsoffsets.h
+$(DEF_FILE): gendef cygwin.din tlsoffsets.h
 	$^ $@ sigfe.s
 
-$(srcdir)/tlsoffsets.h: gentls_offsets cygtls.h
-	$^ $@ $(COMPILE_CXX) -c
+tlsoffsets.h: gentls_offsets cygtls.h
+	$^ $@ $(COMPILE.cc) -c
 
 sigfe.s: $(DEF_FILE)
 	@[ -s $@ ] || \
@@ -494,7 +522,17 @@ sigfe.s: $(DEF_FILE)
 sigfe.o: sigfe.s
 	$(CC) -c -o $@ $<
 
-winsup.h: config.h
+%.o: %.cc
+	${COMPILE.cc} -c -o $@ $<
+
+%.o: %.c
+	${COMPILE.c} -c -o $@ $<
+
+%.E: %.cc
+	${COMPILE.cc} -E -dD -o $@ $<
+
+%.E: %.c
+	${COMPILE.c} -E -dD -o $@ $<
 
 ctags: CTAGS
 tags:  CTAGS
Index: cygwin/autogen.sh
===================================================================
RCS file: cygwin/autogen.sh
diff -N cygwin/autogen.sh
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ cygwin/autogen.sh	12 Nov 2012 19:53:06 -0000
@@ -0,0 +1,4 @@
+#!/bin/sh -e
+/usr/bin/aclocal --acdir=..
+/usr/bin/autoconf -f
+exec /bin/rm -rf autom4te.cache
Index: cygwin/configure.in
===================================================================
RCS file: /cvs/uberbaum/winsup/cygwin/configure.in,v
retrieving revision 1.38
diff -u -p -r1.38 configure.in
--- cygwin/configure.in	9 Jul 2012 09:00:56 -0000	1.38
+++ cygwin/configure.in	12 Nov 2012 19:53:06 -0000
@@ -1,25 +1,23 @@
-dnl Autoconf configure script for Cygwin.
-dnl Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-dnl 2008, 2009, 2011 Red Hat, Inc.
-dnl
-dnl This file is part of Cygwin.
-dnl
-dnl This software is a copyrighted work licensed under the terms of the
-dnl Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
-dnl details.
-dnl
-dnl Process this file with autoconf to produce a configure script.
-
 AC_PREREQ(2.59)dnl
-AC_INIT(init.cc)
+AC_INIT(Makefile.in)
 AC_CONFIG_HEADER(config.h)
-AC_CONFIG_AUX_DIR(../..)
+AC_CONFIG_AUX_DIR(..)
+
+. ${srcdir}/../configure.cygwin
+
+AC_WINDOWS_HEADERS
+AC_WINDOWS_LIBS
 
 AC_PROG_INSTALL
 AC_CANONICAL_SYSTEM
 
-LIB_AC_PROG_CC
-LIB_AC_PROG_CXX
+AC_PROG_CC
+AC_PROG_CXX
+AC_PROG_CPP
+AC_LANG(C)
+AC_LANG(C++)
+
+AC_CYGWIN_INCLUDES
 
 case "$with_cross_host" in
   ""|*cygwin*)
@@ -32,8 +30,6 @@ case "$with_cross_host" in
     ;;
 esac
 
-LIBSERVER='$(bupdir)/cygserver/libcygserver.a'
-
 AC_SUBST(all_host)
 AC_SUBST(install_host)
 
@@ -83,6 +79,7 @@ case "$target_cpu" in
    *)		AC_MSG_ERROR(Invalid target processor \"$target_cpu\") ;;
 esac
 
+AC_CONFIGURE_ARGS
 AC_SUBST(MALLOC_OFILES)
 AC_SUBST(LIBSERVER)
 AC_SUBST(DLL_ENTRY)
Index: cygwin/mkvers.sh
===================================================================
RCS file: /cvs/uberbaum/winsup/cygwin/mkvers.sh,v
retrieving revision 1.21
diff -u -p -r1.21 mkvers.sh
--- cygwin/mkvers.sh	9 Jul 2012 09:00:56 -0000	1.21
+++ cygwin/mkvers.sh	12 Nov 2012 19:53:06 -0000
@@ -1,7 +1,7 @@
 #!/bin/sh
 # mkvers.sh - Make version information for cygwin DLL
 #
-#   Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2010 Red Hat, Inc.
+#   Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2010, 2012 Red Hat, Inc.
 #
 # This file is part of Cygwin.
 #
@@ -14,9 +14,23 @@ exec 9> version.cc
 #
 # Arg 1 is the name of the version include file
 #
-incfile="$1"
-rcfile="$2"
-windres="$3"
+incfile="$1"; shift
+rcfile="$1"; shift
+windres="$1"; shift
+iflags=
+# Find header file locations
+while [ -n "$*" ]; do
+    case "$1" in
+	-I*)
+	    iflags="$iflags $1"
+	    ;;
+	-idirafter)
+	    shift
+	    iflags="$iflags -I$1"
+	    ;;
+    esac
+    shift
+done
 
 [ -r $incfile ] || {
     echo "**** Couldn't open file '$incfile'.  Aborting."
@@ -151,4 +165,4 @@ fi
 
 echo "Version $cygwin_ver"
 set -$- $builddate
-$windres --include-dir $dir/../w32api/include --include-dir $dir/include --define CYGWIN_BUILD_DATE="$1" --define CYGWIN_BUILD_TIME="$2" --define CYGWIN_VERSION='"'"$cygwin_ver"'"' $rcfile winver.o
+$windres $iflags --define CYGWIN_BUILD_DATE="$1" --define CYGWIN_BUILD_TIME="$2" --define CYGWIN_VERSION='"'"$cygwin_ver"'"' $rcfile winver.o
Index: cygwin/winlean.h
===================================================================
RCS file: /cvs/uberbaum/winsup/cygwin/winlean.h,v
retrieving revision 1.10
diff -u -p -r1.10 winlean.h
--- cygwin/winlean.h	30 Jul 2012 04:43:22 -0000	1.10
+++ cygwin/winlean.h	12 Nov 2012 19:53:06 -0000
@@ -12,6 +12,10 @@ details. */
 #define _WINLEAN_H 1
 #define WIN32_LEAN_AND_MEAN 1
 
+#ifndef _WIN32
+#define _WIN32
+#endif /*_WIN32*/
+
 /* Mingw32 */
 #define _WINGDI_H
 #define _WINUSER_H
Index: cygwin/winsup.h
===================================================================
RCS file: /cvs/uberbaum/winsup/cygwin/winsup.h,v
retrieving revision 1.247
diff -u -p -r1.247 winsup.h
--- cygwin/winsup.h	30 Jul 2012 04:26:05 -0000	1.247
+++ cygwin/winsup.h	12 Nov 2012 19:53:06 -0000
@@ -14,6 +14,9 @@ details. */
 #endif
 
 #define __INSIDE_CYGWIN__
+#ifndef _WIN32
+#define _WIN32
+#endif
 
 #define NO_COPY __attribute__((nocommon)) __attribute__((section(".data_cygwin_nocopy")))
 #define NO_COPY_INIT __attribute__((section(".data_cygwin_nocopy")))
Index: cygwin/include/netdb.h
===================================================================
RCS file: /cvs/uberbaum/winsup/cygwin/include/netdb.h,v
retrieving revision 1.14
diff -u -p -r1.14 netdb.h
--- cygwin/include/netdb.h	6 Jul 2012 13:52:18 -0000	1.14
+++ cygwin/include/netdb.h	12 Nov 2012 19:53:06 -0000
@@ -67,7 +67,34 @@ extern "C" {
 #include <sys/socket.h>
 #ifndef __INSIDE_CYGWIN_NET__
 #include <netinet/in.h>
-#endif
+#else
+/* undef defines from Windows headers */
+
+#undef AI_ADDRCONFIG
+#undef AI_CANONNAME
+#undef AI_NUMERICHOST
+#undef AI_PASSIVE
+#undef EAI_AGAIN
+#undef EAI_BADFLAGS
+#undef EAI_FAIL
+#undef EAI_FAMILY
+#undef EAI_MEMORY
+#undef EAI_NODATA
+#undef EAI_NONAME
+#undef EAI_SERVICE
+#undef EAI_SOCKTYPE
+#undef HOST_NOT_FOUND
+#undef h_errno
+#undef NI_DGRAM
+#undef NI_NAMEREQD
+#undef NI_NOFQDN
+#undef NI_NUMERICHOST
+#undef NI_NUMERICSERV
+#undef NO_ADDRESS
+#undef NO_DATA
+#undef NO_RECOVERY
+#undef TRY_AGAIN
+#endif /*__INSIDE_CYGWIN_NET__*/
 
 /*
  * Structures returned by network data base library.  All addresses are
Index: cygwin/include/cygwin/if.h
===================================================================
RCS file: /cvs/uberbaum/winsup/cygwin/include/cygwin/if.h,v
retrieving revision 1.10
diff -u -p -r1.10 if.h
--- cygwin/include/cygwin/if.h	6 Jul 2012 13:52:18 -0000	1.10
+++ cygwin/include/cygwin/if.h	12 Nov 2012 19:53:06 -0000
@@ -1,6 +1,6 @@
 /* cygwin/if.h
 
-   Copyright 1996, 2001, 2007 Red Hat, Inc.
+   Copyright 1996, 2001, 2007, 2012 Red Hat, Inc.
 
 This file is part of Cygwin.
 
@@ -8,8 +8,7 @@ This software is a copyrighted work lice
 Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
 details. */
 
-#ifndef _CYGWIN_IF_H_
-#define _CYGWIN_IF_H_
+#pragma once
 
 #ifdef __cplusplus
 extern "C" {
@@ -121,5 +120,3 @@ extern void                 if_freenamei
 #ifdef __cplusplus
 };
 #endif /* __cplusplus */
-
-#endif /* _CYGWIN_IF_H_ */
Index: cygwin/include/cygwin/in.h
===================================================================
RCS file: /cvs/uberbaum/winsup/cygwin/include/cygwin/in.h,v
retrieving revision 1.19
diff -u -p -r1.19 in.h
--- cygwin/include/cygwin/in.h	10 Oct 2012 08:36:33 -0000	1.19
+++ cygwin/include/cygwin/in.h	12 Nov 2012 19:53:06 -0000
@@ -15,12 +15,14 @@
  *		as published by the Free Software Foundation; either version
  *		2 of the License, or (at your option) any later version.
  */
-#ifndef _CYGWIN_IN_H
-#define _CYGWIN_IN_H
+#pragma once
 
-#include <cygwin/socket.h>
+#include <sys/socket.h>
 
+#ifndef _IN_PORT_DECLARED
+#define _IN_PORT_DECLARED
 typedef uint16_t in_port_t;
+#endif
 typedef uint32_t in_addr_t;
 
 #ifndef __INSIDE_CYGWIN_NET__
@@ -267,5 +269,3 @@ struct sockaddr_in
 #include <cygwin/in6.h>
 #endif
 #endif
-
-#endif	/* _CYGWIN_IN_H */
Index: cygwin/include/cygwin/in6.h
===================================================================
RCS file: /cvs/uberbaum/winsup/cygwin/include/cygwin/in6.h,v
retrieving revision 1.6
diff -u -p -r1.6 in6.h
--- cygwin/include/cygwin/in6.h	18 Jan 2007 10:25:40 -0000	1.6
+++ cygwin/include/cygwin/in6.h	12 Nov 2012 19:53:06 -0000
@@ -1,6 +1,6 @@
 /* cygwin/in6.h
 
-   Copyright 2006, 2007 Red Hat, Inc.
+   Copyright 2006, 2007, 2012 Red Hat, Inc.
 
 This file is part of Cygwin.
 
@@ -10,8 +10,7 @@ details. */
 
 /* NOTE:  This file is NOT for direct inclusion.  Use netinet/in.h. */
 
-#ifndef _CYGWIN_IN6_H
-#define _CYGWIN_IN6_H
+#pragma once
 
 #define INET6_ADDRSTRLEN 46
 
@@ -97,7 +96,8 @@ struct in6_pktinfo
   uint32_t        ipi6_ifindex;
 };
 
-#if defined (__INSIDE_CYGWIN__) && !defined (_CYGWIN_IN_H)
+#ifndef _IN_PORT_DECLARED
+#define _IN_PORT_DECLARED
 typedef uint16_t in_port_t;
 #endif
 
@@ -115,5 +115,3 @@ struct sockaddr_in6
 
 extern const struct in6_addr in6addr_any;
 extern const struct in6_addr in6addr_loopback;
-
-#endif	/* _CYGWIN_IN6_H */
Index: cygwin/include/cygwin/socket.h
===================================================================
RCS file: /cvs/uberbaum/winsup/cygwin/include/cygwin/socket.h,v
retrieving revision 1.31
diff -u -p -r1.31 socket.h
--- cygwin/include/cygwin/socket.h	1 Aug 2012 18:56:45 -0000	1.31
+++ cygwin/include/cygwin/socket.h	12 Nov 2012 19:53:06 -0000
@@ -8,8 +8,29 @@ This software is a copyrighted work lice
 Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
 details. */
 
-#ifndef _CYGWIN_SOCKET_H
-#define _CYGWIN_SOCKET_H
+#pragma once
+
+#ifdef __INSIDE_CYGWIN__
+/* undef defines from Windows headers */
+#undef AF_MAX
+#undef CMSG_DATA
+#undef FIOASYNC
+#undef FIONBIO
+#undef FIONREAD
+#undef IFF_BROADCAST
+#undef IFF_LOOPBACK
+#undef IFF_MULTICAST
+#undef IFF_UP
+#undef SIOCATMARK
+#undef SIOCGHIWAT
+#undef SIOCGLOWAT
+#undef SIOCSHIWAT
+#undef SIOCSLOWAT
+#undef SO_DONTLINGER
+#undef _IO
+#undef _IOR
+#undef _IOW
+#endif /*__INSIDE_CYGWIN__*/
 
 #ifdef __cplusplus
 extern "C" {
@@ -309,5 +330,3 @@ struct OLD_msghdr
 #ifdef __cplusplus
 };
 #endif /* __cplusplus */
-
-#endif /* _CYGWIN_SOCKET_H */
Index: cygwin/include/sys/socket.h
===================================================================
RCS file: /cvs/uberbaum/winsup/cygwin/include/sys/socket.h,v
retrieving revision 1.10
diff -u -p -r1.10 socket.h
--- cygwin/include/sys/socket.h	15 Jan 2010 15:40:05 -0000	1.10
+++ cygwin/include/sys/socket.h	12 Nov 2012 19:53:06 -0000
@@ -1,7 +1,7 @@
 /* sys/socket.h
 
    Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2005, 2006,
-   2009, 2010 Red Hat, Inc.
+   2009, 2010, 2012 Red Hat, Inc.
 
 This file is part of Cygwin.
 
@@ -9,8 +9,7 @@ This software is a copyrighted work lice
 Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
 details. */
 
-#ifndef _SYS_SOCKET_H
-#define _SYS_SOCKET_H
+#pragma once
 
 #include <features.h>
 #include <cygwin/socket.h>
@@ -56,5 +55,3 @@ extern "C"
 #ifdef __cplusplus
 };
 #endif
-
-#endif /* _SYS_SOCKET_H */
Index: cygwin/include/sys/termios.h
===================================================================
RCS file: /cvs/uberbaum/winsup/cygwin/include/sys/termios.h,v
retrieving revision 1.23
diff -u -p -r1.23 termios.h
--- cygwin/include/sys/termios.h	5 Nov 2012 03:19:28 -0000	1.23
+++ cygwin/include/sys/termios.h	12 Nov 2012 19:53:06 -0000
@@ -11,8 +11,7 @@ details. */
 
 /* sys/termios.h */
 
-#ifndef	_SYS_TERMIOS_H
-#define _SYS_TERMIOS_H
+#pragma once
 
 #include <sys/types.h>
 
@@ -71,6 +70,9 @@ POSIX commands */
 #define TIOCPKT_NOSTOP		16
 #define TIOCPKT_DOSTOP		32
 
+#ifdef __INSIDE_CYGWIN__
+#undef FIONBIO
+#endif /*__INSIDE_CYGWIN__*/
 #define FIONBIO 0x8004667e /* To be compatible with socket version */
 
 #define CTRL(ch)	((ch)&0x1F)
@@ -367,5 +369,3 @@ struct winsize
 #define TIOCLINUX  (('T' << 8) | 3)
 #define TIOCGPGRP  (('T' << 8) | 0xf)
 #define TIOCSPGRP  (('T' << 8) | 0x10)
-
-#endif	/* _SYS_TERMIOS_H */
Index: cygwin/libc/minires-os-if.c
===================================================================
RCS file: /cvs/uberbaum/winsup/cygwin/libc/minires-os-if.c,v
retrieving revision 1.14
diff -u -p -r1.14 minires-os-if.c
--- cygwin/libc/minires-os-if.c	12 Jul 2012 11:27:28 -0000	1.14
+++ cygwin/libc/minires-os-if.c	12 Nov 2012 19:53:06 -0000
@@ -11,13 +11,14 @@ Cygwin license.  Please consult the file
 details. */
 
 #define  __INSIDE_CYGWIN_NET__
+#define  __INSIDE_CYGWIN__
 #define USE_SYS_TYPES_FD_SET
+#include <sys/time.h>
 #include <winsup.h>
 #include <ws2tcpip.h>
 #include <iphlpapi.h>
 #include <windns.h>
 #include "ntdll.h"
-#undef h_errno
 #include "minires.h"
 
 #ifdef __CYGWIN__
@@ -27,10 +28,6 @@ details. */
 
 ***********************************************************************/
 
-/* Conflict between Windows definitions and others */
-#undef ERROR
-#undef NOERROR
-#undef DELETE
 
 /***********************************************************************
  * write_record: Translates a Windows DNS record into a compressed record
Index: cygwin/libc/minires.h
===================================================================
RCS file: /cvs/uberbaum/winsup/cygwin/libc/minires.h,v
retrieving revision 1.4
diff -u -p -r1.4 minires.h
--- cygwin/libc/minires.h	6 Jul 2012 13:56:37 -0000	1.4
+++ cygwin/libc/minires.h	12 Nov 2012 19:53:06 -0000
@@ -1,6 +1,6 @@
 /* minires.h.  Stub synchronous resolver for Cygwin.
 
-   Copyright 2006, 2012 Red Hat, Inc.
+   Copyright 2006, 2008, 2012 Red Hat, Inc.
 
    Written by Pierre A. Humblet <Pierre.Humblet@ieee.org>
 
@@ -10,6 +10,8 @@ This software is a copyrighted work lice
 Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
 details. */
 
+#pragma once
+
 #include "winsup.h"
 #include <string.h>
 #include <malloc.h>
@@ -25,6 +27,9 @@ details. */
 #include <stdarg.h>
 #include <sys/unistd.h>
 #define  __INSIDE_CYGWIN_NET__
+#undef ERROR
+#undef NOERROR
+#undef DELETE
 #include <netdb.h>
 #include <arpa/nameser.h>
 #include <resolv.h>
Index: utils/Makefile.in
===================================================================
RCS file: /cvs/uberbaum/winsup/utils/Makefile.in,v
retrieving revision 1.104
diff -u -p -r1.104 Makefile.in
--- utils/Makefile.in	7 Nov 2012 16:32:08 -0000	1.104
+++ utils/Makefile.in	12 Nov 2012 19:53:06 -0000
@@ -8,10 +8,29 @@
 # Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
 # details.
 
-SHELL:=@SHELL@
-
 srcdir:=@srcdir@
-VPATH:=@srcdir@
+target_builddir:=@target_builddir@
+winsup_srcdir:=@winsup_srcdir@
+configure_args=@configure_args@
+
+export CC:=@CC@
+export CXX:=@CXX@
+
+include ${srcdir}/../Makefile.common
+
+cygwin_build:=${target_builddir}/winsup/cygwin
+
+cygwin_headers:=@cygwin_headers@
+newlib_headers:=@newlib_headers@
+
+# environment variables used by ccwrap
+export CCWRAP_HEADERS:=. ${srcdir} $(call justdir,${cygwin_headers})
+export CCWRAP_SYSTEM_HEADERS:=${cygwin_headers} ${newlib_headers}
+export CCWRAP_DIRAFTER_HEADERS:=@windows_headers@
+export PATH:=$(subst %/,%,$(dir ${srcdir})):${PATH}
+
+WINDOWS_LIBDIR:=@windows_libdir@
+
 prefix:=@prefix@
 exec_prefix:=@exec_prefix@
 
@@ -25,26 +44,21 @@ override INSTALL_DATA:=@INSTALL_DATA@
 EXEEXT:=@EXEEXT@
 EXEEXT_FOR_BUILD:=@EXEEXT_FOR_BUILD@
 
-CC:=@CC@
-CC_FOR_TARGET:=$(CC)
-CXX:=@CXX@
-CXX_FOR_TARGET:=$(CXX)
-
 CFLAGS:=@CFLAGS@
 CXXFLAGS:=@CXXFLAGS@
 override CXXFLAGS+=-fno-exceptions -fno-rtti -DHAVE_DECL_GETOPT=0
-
-include $(srcdir)/../Makefile.common
+COMPILE.cc=c++wrap ${CXXFLAGS}
+COMPILE.c=ccwrap ${CFLAGS}
 
 .SUFFIXES:
 .NOEXPORT:
 .PHONY: all install clean realclean warn_dumper warn_cygcheck_zlib
 
-ALL_LDLIBS     := -lnetapi32 -ladvapi32 -lkernel32 -luser32
-ALL_LDFLAGS    := -static-libgcc -Wl,--enable-auto-import -B$(newlib_build)/libc $(LDFLAGS) $(ALL_LDLIBS)
-ALL_DEP_LDLIBS := $(cygwin_build)/libcygwin.a
+LDLIBS     := -lnetapi32 -ladvapi32 -lkernel32 -luser32
+LDFLAGS    := -static-libgcc -Wl,--enable-auto-import -L${WINDOWS_LIBDIR} $(LDLIBS)
+DEP_LDLIBS := $(cygwin_build)/libcygwin.a
 
-MINGW_CXX      := @MINGW_CXX@ $(CFLAGS)
+MINGW_CXX      := @MINGW_CXX@
 
 # List all binaries to be linked in Cygwin mode.  Each binary on this list
 # must have a corresponding .o of the same name.
@@ -59,6 +73,11 @@ MINGW_BINS := ${addsuffix .exe,cygcheck 
 # list will will be compiled in Cygwin mode implicitly, so there is no
 # need for a CYGWIN_OBJS.
 MINGW_OBJS := bloda.o cygcheck.o dump_setup.o ldh.o path.o strace.o
+MINGW_LDFLAGS:=-L${WINDOWS_LIBDIR}
+
+all:
+
+path.o: export CCWRAP_HEADERS+=${cygwin_headers} ${newlib_headers}
 
 # If a binary should link in any objects besides the .o with the same
 # name as the binary, then list those here.
@@ -66,49 +85,41 @@ strace.exe: path.o
 cygcheck.exe: bloda.o path.o dump_setup.o
 
 path-mount.o: path.cc
-	$(CXX) -c $(CXXFLAGS) -DFSTAB_ONLY -I$(updir) $< -o $@
+	${COMPILE.cc} -c -DFSTAB_ONLY -o $@ $<
 mount.exe: path-mount.o
 
 # Provide any necessary per-target variable overrides.
-cygcheck.exe: MINGW_CXXFLAGS += -idirafter $(cygwin_source)/include -idirafter $(newlib_source)/libc/include
-cygcheck.exe: MINGW_LDFLAGS += -lpsapi -lntdll
-cygpath.exe: ALL_LDFLAGS += -lcygwin -luserenv -lntdll
+# cygcheck.exe: MINGW_CXXFLAGS += -idirafter $(cygwin_source)/include -idirafter $(newlib_source)/libc/include
+cygcheck.exe: export CCWRAP_DIRAFTER_HEADERS+=${cygwin_headers} ${newlib_headers}
+cygcheck.exe: MINGW_LDFLAGS += -lpsapi -lntdll -lz
+cygpath.exe: LDFLAGS += -luserenv -lntdll
 cygpath.exe: CXXFLAGS += -fno-threadsafe-statics
-ps.exe: ALL_LDFLAGS += -lcygwin -lpsapi -lntdll
+ps.exe: LDFLAGS += -lpsapi -lntdll
 strace.exe: MINGW_LDFLAGS += -lntdll
 
-ldd.exe: ALL_LDFLAGS += -lpsapi
-pldd.exe: ALL_LDFLAGS += -lpsapi
+ldd.exe:LDFLAGS += -lpsapi
+pldd.exe: LDFLAGS += -lpsapi
 
-ldh.exe: MINGW_LDFLAGS := -nostdlib -lkernel32
+ldh.exe: MINGW_LDFLAGS += -nostdlib -lkernel32
 
 # Check for dumper's requirements and enable it if found.
-libiconv := ${shell $(CC) --print-file-name=libiconv.a}
-libbfd   := ${shell $(CC) -B$(bupdir2)/bfd/ --print-file-name=libbfd.a}
-libintl  := ${shell $(CC) -B$(bupdir2)/intl/ --print-file-name=libintl.a}
-bfdlink	 := $(shell ${CC} -xc /dev/null -o /dev/null -c -B${bupdir2}/bfd/ -include bfd.h 2>&1)
-build_dumper := ${shell test -r $(libbfd) -a -r $(libintl) -a -n "$(libiconv)" -a -z "${bfdlink}" && echo 1}
+libiconv := $(call libname,libiconv.a)
+libbfd   := $(call libname,libbfd.a,-B$(target_builddir)/bfd/)
+libintl  := $(call libname,libintl.a,-B$(target_builddir)/intl/)
+bfdlink	 := $(realpath $(shell ${CC} -xc /dev/null -o /dev/null -c -B${target_builddir}/bfd/ -include bfd.h 2>&1))
+build_dumper := ${shell test -r "$(libbfd)" -a -r "$(libintl)" -a -r "$(libiconv)" -a -z "${bfdlink}" && echo 1}
+
+.PHONY: all
 ifdef build_dumper
 CYGWIN_BINS += dumper.exe
-dumper.o module_info.o parse_pe.o: CXXFLAGS += -I$(bupdir2)/bfd -I$(updir1)/include
+dumper.o module_info.o parse_pe.o: CXXFLAGS += -I$(target_builddir)/bfd -I$(top_srcdir)/include
 dumper.o parse_pe.o: dumper.h
 dumper.exe: module_info.o parse_pe.o
-dumper.exe: ALL_LDFLAGS += ${libbfd} ${libintl} -L$(bupdir1)/libiberty $(libiconv) -liberty -lz
+dumper.exe: LDFLAGS += -L${top_builddir}/libiberty ${libbfd} ${libintl} $(libiconv) -liberty -lz
 else
 all: warn_dumper
 endif
 
-# Check for availability of a MinGW libz and enable for cygcheck.
-libz:=${shell x=$$(${MINGW_CXX} --print-file-name=libz.a); cd $$(dirname $$x); dir=$$(pwd); case "$$dir" in *mingw*) echo $$dir/libz.a ;; esac}
-ifdef libz
-zlib_h  := -include ${patsubst %/lib/libz.a,%/include/zlib.h,$(libz)}
-zconf_h := ${patsubst %/zlib.h,%/zconf.h,$(zlib_h)}
-dump_setup.o: MINGW_CXXFLAGS += $(zconf_h) $(zlib_h)
-cygcheck.exe: MINGW_LDFLAGS += $(libz)
-else
-all: warn_cygcheck_zlib
-endif
-
 all: Makefile $(CYGWIN_BINS) $(MINGW_BINS)
 
 # test harness support (note: the "MINGW_BINS +=" should come after the
@@ -127,37 +138,24 @@ check: testsuite.exe ; $(<D)/$(<F)
 # the rest of this file contains generic rules
 
 # how to compile a MinGW object
+${MINGW_OBJS}: export CXX:=${MINGW_CXX}
+${MINGW_OBJS}: export CCWRAP_SYSTEM_HEADERS:=
 $(MINGW_OBJS): %.o: %.cc
-ifdef VERBOSE
-	$(MINGW_CXX) $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) $<
-else
-	@echo $(MINGW_CXX) $c $(MINGW_CXXFLAGS) ... $(*F).cc;\
-	$(MINGW_CXX) $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) $<
-endif
+	c++wrap -c -o $@ ${CXXFLAGS} $(MINGW_CXXFLAGS) $<
 
 # how to link a MinGW binary
 $(MINGW_BINS): %.exe: %.o
-ifdef VERBOSE
 	$(MINGW_CXX) $(MINGW_CXXFLAGS) -o $@ ${filter %.o,$^} $(MINGW_LDFLAGS)
-else
-	@echo $(MINGW_CXX) -o $@ ${filter %.o,$^} ${filter-out -B%, $(MINGW_CXXFLAGS) $(MINGW_LDFLAGS)};\
-	$(MINGW_CXX) $(MINGW_CXXFLAGS) -o $@ ${filter %.o,$^} $(MINGW_LDFLAGS)
-endif
 
 # how to link a Cygwin binary
 $(CYGWIN_BINS): %.exe: %.o
-ifdef VERBOSE
-	$(CXX) -o $@ ${filter %.o,$^} -B$(cygwin_build)/ $(ALL_LDFLAGS)
-else
-	@echo $(CXX) -o $@ ${filter %.o,$^} ... ${filter-out -B%, $(ALL_LDFLAGS)};\
-	$(CXX) -o $@ ${filter %.o,$^} -B$(cygwin_build)/ $(ALL_LDFLAGS)
-endif
+	$(CXX) -o $@ ${filter %.o,$^} -B$(cygwin_build)/ $(LDFLAGS)
 
 # note: how to compile a Cygwin object is covered by the pattern rule in Makefile.common
 
 # these dependencies ensure that the required in-tree libs are built first
-$(MINGW_BINS): $(ALL_DEP_LDLIBS)
-$(CYGWIN_BINS): $(ALL_DEP_LDLIBS)
+$(MINGW_BINS): $(DEP_LDLIBS)
+$(CYGWIN_BINS): $(DEP_LDLIBS)
 
 clean:
 	rm -f *.o $(CYGWIN_BINS) $(MINGW_BINS) path-testsuite.cc testsuite.exe
@@ -166,7 +164,7 @@ realclean: clean
 	rm -f Makefile config.cache
 
 install: all
-	$(SHELL) $(updir1)/mkinstalldirs $(DESTDIR)$(bindir)
+	/bin/mkdir -p ${DESTDIR}${bindir}
 	for i in $(CYGWIN_BINS) ${filter-out testsuite.exe,$(MINGW_BINS)} ; do \
 	  n=`echo $$i | sed '$(program_transform_name)'`; \
 	  $(INSTALL_PROGRAM) $$i $(DESTDIR)$(bindir)/$$n; \
@@ -183,5 +181,17 @@ warn_dumper:
 	@echo '*** sources from sourceware.org.  Then, configure and build these'
 	@echo '*** libraries.  Otherwise, you can safely ignore this warning.'
 
-warn_cygcheck_zlib:
-	@echo '*** Building cygcheck without package content checking due to missing mingw libz.a.'
+%.o: %.cc
+	${COMPILE.cc} -c -o $@ $<
+
+%.o: %.c
+	${COMPILE.c} -c -o $@ $<
+
+%.E: %.cc
+	${COMPILE.cc} -E -dD -o $@ $<
+
+%.E: %.c
+	${COMPILE.c} -E -dD -o $@ $<
+
+Makefile: Makefile.in config.status
+	./config.status
Index: utils/autogen.sh
===================================================================
RCS file: utils/autogen.sh
diff -N utils/autogen.sh
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ utils/autogen.sh	12 Nov 2012 19:53:06 -0000
@@ -0,0 +1,4 @@
+#!/bin/sh -e
+/usr/bin/aclocal --acdir=..
+/usr/bin/autoconf -f
+exec /bin/rm -rf autom4te.cache
Index: utils/configure.in
===================================================================
RCS file: /cvs/uberbaum/winsup/utils/configure.in,v
retrieving revision 1.11
diff -u -p -r1.11 configure.in
--- utils/configure.in	24 Oct 2012 12:45:09 -0000	1.11
+++ utils/configure.in	12 Nov 2012 19:53:06 -0000
@@ -14,19 +14,26 @@ AC_INIT(mount.cc)
 AC_CONFIG_AUX_DIR(../..)
 
 AC_NO_EXECUTABLES
+
+. ${srcdir}/../configure.cygwin
+
+AC_WINDOWS_HEADERS
+AC_WINDOWS_LIBS
+
 AC_CANONICAL_SYSTEM
 
-LIB_AC_PROG_CC
-LIB_AC_PROG_CXX
+AC_PROG_CC
+AC_PROG_CXX
 
-AC_ARG_PROGRAM
+AC_CYGWIN_INCLUDES
 
-INSTALL="/bin/sh "`cd $srcdir/../..; echo $(pwd)/install-sh -c`
+AC_ARG_PROGRAM
 
 AC_PROG_INSTALL
 
 AC_CHECK_PROGS(MINGW_CXX, ${target_cpu}-w64-mingw32-g++)
-test -z "$MINGW_CXX" && AC_MSG_ERROR([no acceptable mingw g++ found in \$PATH])
+test -n "$MINGW_CXX" || AC_MSG_ERROR([no acceptable mingw g++ found in \$PATH])
 
 AC_EXEEXT
+AC_CONFIGURE_ARGS
 AC_OUTPUT(Makefile)
Index: utils/dump_setup.cc
===================================================================
RCS file: /cvs/uberbaum/winsup/utils/dump_setup.cc,v
retrieving revision 1.24
diff -u -p -r1.24 dump_setup.cc
--- utils/dump_setup.cc	11 Jul 2012 16:41:51 -0000	1.24
+++ utils/dump_setup.cc	12 Nov 2012 19:53:06 -0000
@@ -28,15 +28,7 @@ details. */
 # include <ntstatus.h>
 #endif
 #include "path.h"
-#if 0
-#include "zlib.h"
-#endif
-
-#ifndef ZLIB_VERSION
-typedef void * gzFile;
-#define gzgets(fp, buf, size) ({0;})
-#define gzclose(fp) ({0;})
-#endif
+#include <zlib.h>
 
 static int package_len = 20;
 static unsigned int version_len = 10;
Index: utils/path.cc
===================================================================
RCS file: /cvs/uberbaum/winsup/utils/path.cc,v
retrieving revision 1.33
diff -u -p -r1.33 path.cc
--- utils/path.cc	9 Nov 2012 08:53:01 -0000	1.33
+++ utils/path.cc	12 Nov 2012 19:53:06 -0000
@@ -16,6 +16,7 @@ details. */
 
 #define str(a) #a
 #define scat(a,b) str(a##b)
+#define __CRT__NO_INLINE
 #include <windows.h>
 #include <lmcons.h>
 #include <stdio.h>


More information about the Cygwin-patches mailing list