summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2014-01-18 21:12:42 +1100
committerDarren Tucker <dtucker@zip.com.au>2014-01-18 21:12:42 +1100
commitfdce3731660699b2429e93e822f2ccbaccd163ae (patch)
tree2f80622e6f2fec28032b21b106e663a3040f33a6
parent1411c9263f46e1ee49d0d302bf7258ebe69ce827 (diff)
- (dtucker) [configure.ac] On Cygwin the getopt variables (like optargs,
optind) are defined in getopt.h already. Unfortunately they are defined as "declspec(dllimport)" for historical reasons, because the GNU linker didn't allow auto-import on PE/COFF targets way back when. The problem is the dllexport attributes collide with the definitions in the various source files in OpenSSH, which obviousy define the variables without declspec(dllimport). The least intrusive way to get rid of these warnings is to disable warnings for GCC compiler attributes when building on Cygwin. Patch from vinschen at redhat.com.
-rw-r--r--ChangeLog9
-rw-r--r--configure.ac9
2 files changed, 15 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 092333cd..ebe80e5c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,15 @@
declarations that stopped being included when we stopped including
<windows.h> from openbsd-compat/bsd-cygwin_util.h. Patch from vinschen at
redhat.com.
+ - (dtucker) [configure.ac] On Cygwin the getopt variables (like optargs,
+ optind) are defined in getopt.h already. Unfortunately they are defined as
+ "declspec(dllimport)" for historical reasons, because the GNU linker didn't
+ allow auto-import on PE/COFF targets way back when. The problem is the
+ dllexport attributes collide with the definitions in the various source
+ files in OpenSSH, which obviousy define the variables without
+ declspec(dllimport). The least intrusive way to get rid of these warnings
+ is to disable warnings for GCC compiler attributes when building on Cygwin.
+ Patch from vinschen at redhat.com.
20140117
- (dtucker) [aclocal.m4 configure.ac] Add some additional compiler/toolchain
diff --git a/configure.ac b/configure.ac
index f9d87e4b..76784c52 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-# $Id: configure.ac,v 1.554 2014/01/17 10:54:32 dtucker Exp $
+# $Id: configure.ac,v 1.555 2014/01/18 10:12:43 dtucker Exp $
#
# Copyright (c) 1999-2004 Damien Miller
#
@@ -15,7 +15,7 @@
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
AC_INIT([OpenSSH], [Portable], [openssh-unix-dev@mindrot.org])
-AC_REVISION($Revision: 1.554 $)
+AC_REVISION($Revision: 1.555 $)
AC_CONFIG_SRCDIR([ssh.c])
AC_LANG([C])
@@ -544,7 +544,10 @@ case "$host" in
[Define if your platform needs to skip post auth
file descriptor passing])
AC_DEFINE([SSH_IOBUFSZ], [65535], [Windows is sensitive to read buffer size])
- AC_DEFINE([FILESYSTEM_NO_BACKSLASH], [1], [File names may not contain backslash characters])
+ AC_DEFINE([FILESYSTEM_NO_BACKSLASH], [1], [File names may not contain backslash characters])
+ # Cygwin defines optargs, optargs as declspec(dllimport) for historical
+ # reasons which cause compile warnings, so we disable those warnings.
+ OSSH_CHECK_CFLAG_COMPILE([-Wno-attributes])
;;
*-*-dgux*)
AC_DEFINE([IP_TOS_IS_BROKEN], [1],