This list is closed, nobody may subscribe to it.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(12) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(13) |
Feb
(2) |
Mar
(1) |
Apr
(1) |
May
|
Jun
(38) |
Jul
(10) |
Aug
(70) |
Sep
(63) |
Oct
(61) |
Nov
(41) |
Dec
(28) |
| 2002 |
Jan
(43) |
Feb
(11) |
Mar
(9) |
Apr
(2) |
May
(97) |
Jun
(94) |
Jul
(13) |
Aug
(49) |
Sep
(41) |
Oct
(24) |
Nov
(55) |
Dec
(126) |
| 2003 |
Jan
(90) |
Feb
(75) |
Mar
(32) |
Apr
(24) |
May
(54) |
Jun
(54) |
Jul
(22) |
Aug
(4) |
Sep
(16) |
Oct
(8) |
Nov
(6) |
Dec
(13) |
| 2004 |
Jan
|
Feb
(17) |
Mar
(60) |
Apr
(21) |
May
(12) |
Jun
|
Jul
(13) |
Aug
|
Sep
(29) |
Oct
|
Nov
|
Dec
(2) |
| 2005 |
Jan
(22) |
Feb
(3) |
Mar
(2) |
Apr
(13) |
May
(82) |
Jun
(18) |
Jul
(30) |
Aug
(17) |
Sep
(3) |
Oct
(19) |
Nov
(4) |
Dec
(8) |
| 2006 |
Jan
(1) |
Feb
(6) |
Mar
(2) |
Apr
(40) |
May
|
Jun
(21) |
Jul
(1) |
Aug
(410) |
Sep
(3) |
Oct
|
Nov
(56) |
Dec
(7) |
| 2007 |
Jan
(19) |
Feb
|
Mar
(4) |
Apr
(8) |
May
(19) |
Jun
(6) |
Jul
(4) |
Aug
(6) |
Sep
|
Oct
(4) |
Nov
(3) |
Dec
(2) |
| 2008 |
Jan
(13) |
Feb
(18) |
Mar
(12) |
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
|
Feb
(6) |
Mar
(8) |
Apr
(2) |
May
(2) |
Jun
|
Jul
|
Aug
(2) |
Sep
(11) |
Oct
(13) |
Nov
(17) |
Dec
(6) |
| 2010 |
Jan
(24) |
Feb
(10) |
Mar
(27) |
Apr
(20) |
May
(108) |
Jun
(8) |
Jul
(23) |
Aug
(38) |
Sep
(49) |
Oct
(17) |
Nov
(12) |
Dec
(14) |
| 2011 |
Jan
(17) |
Feb
(7) |
Mar
(28) |
Apr
(8) |
May
(20) |
Jun
(11) |
Jul
(7) |
Aug
(12) |
Sep
(4) |
Oct
(20) |
Nov
(19) |
Dec
(2) |
| 2012 |
Jan
(2) |
Feb
(6) |
Mar
(5) |
Apr
(24) |
May
(5) |
Jun
(4) |
Jul
(6) |
Aug
(18) |
Sep
(38) |
Oct
(26) |
Nov
(12) |
Dec
(6) |
| 2013 |
Jan
(19) |
Feb
(18) |
Mar
(44) |
Apr
(35) |
May
(18) |
Jun
(21) |
Jul
(10) |
Aug
(19) |
Sep
(44) |
Oct
(25) |
Nov
(1) |
Dec
(2) |
| 2014 |
Jan
(8) |
Feb
|
Mar
|
Apr
(5) |
May
(1) |
Jun
(3) |
Jul
|
Aug
(3) |
Sep
|
Oct
(4) |
Nov
(4) |
Dec
(7) |
| 2015 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(2) |
Jun
(4) |
Jul
(6) |
Aug
(2) |
Sep
(8) |
Oct
(2) |
Nov
(1) |
Dec
(3) |
| 2016 |
Jan
(7) |
Feb
(9) |
Mar
(5) |
Apr
(5) |
May
(9) |
Jun
(4) |
Jul
(20) |
Aug
(4) |
Sep
(7) |
Oct
(6) |
Nov
(9) |
Dec
(2) |
| 2017 |
Jan
(7) |
Feb
(7) |
Mar
(5) |
Apr
|
May
(1) |
Jun
(4) |
Jul
(12) |
Aug
(4) |
Sep
(1) |
Oct
(4) |
Nov
(11) |
Dec
(14) |
| 2018 |
Jan
(3) |
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Keith M. <no...@so...> - 2016-09-05 08:29:08
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-dist".
The branch, master has been updated
via 1e44fede9da5c88f2b66fbc55b54f428045382be (commit)
from a4172ef377ba74439cb4f46f3c72a36a9a60b1ca (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-dist/ci/1e44fede9da5c88f2b66fbc55b54f428045382be/
commit 1e44fede9da5c88f2b66fbc55b54f428045382be
Author: Keith Marshall <kei...@us...>
Date: Mon Sep 5 09:28:49 2016 +0100
Correct underspecified dependency in 2016-09-04 update.
diff --git a/ChangeLog b/ChangeLog
index c1a48c4..a0e8d5d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2016-09-05 Keith Marshall <kei...@us...>
+
+ Correct underspecified dependency in 2016-09-04 update.
+
+ * mingw32-gcc4.xml (mingw32-gcc-core-bin): Respecify...
+ (libpthreadgc-*-mingw32-dev) [* >= 2.10.*]: ...this dependency.
+ * common/issue.log mingw32/issue.log: Update accordingly.
+
2016-09-04 Keith Marshall <kei...@us...>
Add missing "-lpthread" dependency for GCC-5.3.0-2.
diff --git a/common/issue.log b/common/issue.log
index 79d6a97..79c3a20 100644
--- a/common/issue.log
+++ b/common/issue.log
@@ -23,6 +23,6 @@
# MinGW Project, accept liability for any damages, however caused,
# arising from the use of this software.
#
- c6a9068e183254c0b930ac6e1a70fd81743dc212 2016090400 package-list.xml
+ c6a9068e183254c0b930ac6e1a70fd81743dc212 2016090500 package-list.xml
#
# $RCSfile$: end of file
diff --git a/mingw32/issue.log b/mingw32/issue.log
index 2b2c0d5..fa95c76 100644
--- a/mingw32/issue.log
+++ b/mingw32/issue.log
@@ -35,7 +35,7 @@
4dab2d86ca2203a8ac0233824c687504fda4601e 2013091000 mingw32-expat.xml
bc4b331f9bdfbf72a11a310fbc17a027396d09d5 2012073100 mingw32-gcc-tools.xml
9d1d9deeccee4fb04f2944e3cd5e7b85757308ce 2011050500 mingw32-gcc3.xml
- a87f75a6ca4ef42eaee58adb2d68c93f8d51c418 2016090400 mingw32-gcc4.xml
+ fdbe1dff8fb008acaf74214a4222f59e849bc14f 2016090500 mingw32-gcc4.xml
21031079d59268339bfd7c6dc8239df214588bca 2013091501 mingw32-gdb.xml
14dd10ab97b27430bdb688f4e85993cd821f7a05 2012073100 mingw32-gendef.xml
7b16c690a8b02106e7cc7abc6c6310fe30390683 2015090600 mingw32-gettext.xml
@@ -50,7 +50,7 @@
cd33ad74b608bce33ea297801253e6efbafce27c 2012073100 mingw32-mingw-utils.xml
8d3a7125499a85916b53efb4c897ac907e2490ab 2015082000 mingw32-mpc.xml
8a11de23e7a89fd11436bdf162ef90712f30101b 2013102300 mingw32-mpfr.xml
- 56f4032058328cacfabe64fa46706d72c2fa931e 2016090400 mingw32-package-list.xml
+ 56f4032058328cacfabe64fa46706d72c2fa931e 2016090500 mingw32-package-list.xml
1f15439ee5f66ec22321c7aa853559b6f8f7172f 2015090800 mingw32-pexports.xml
cdb2a4dbedfc9f2cdfc92340f6f9b12da061c0d9 2012073100 mingw32-popt.xml
6032af6ff68aa4821cf51938781fd9e75f05de5f 2016082200 mingw32-pthreads-w32.xml
diff --git a/mingw32/mingw32-gcc4.xml b/mingw32/mingw32-gcc4.xml
index 3758430..cd5e90b 100644
--- a/mingw32/mingw32-gcc4.xml
+++ b/mingw32/mingw32-gcc4.xml
@@ -46,7 +46,7 @@
<requires eq="libgcc-%-mingw32-dll-1.tar" />
<requires eq="libssp-%-mingw32-dll-0.tar" />
<requires eq="libgomp-%-mingw32-dll-1.tar" />
- <requires ge="libpthreadgc-2.10-mingw32-dev.tar" />
+ <requires ge="libpthreadgc-2.10.*-mingw32-dev.tar" />
<requires eq="libatomic-%-mingw32-dll-1.tar" />
<requires eq="libquadmath-%-mingw32-dll-0.tar" />
<requires eq="libmpc-*-mingw32-dll-3.tar" />
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 8 ++++++++
common/issue.log | 2 +-
mingw32/issue.log | 4 ++--
mingw32/mingw32-gcc4.xml | 2 +-
4 files changed, 12 insertions(+), 4 deletions(-)
hooks/post-receive
--
Repository: mingw-dist
|
|
From: Keith M. <no...@so...> - 2016-09-04 12:52:44
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-dist".
The branch, master has been updated
via a4172ef377ba74439cb4f46f3c72a36a9a60b1ca (commit)
from 1282dfdafc61b3836d73875844d8d3b06bdc9da3 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-dist/ci/a4172ef377ba74439cb4f46f3c72a36a9a60b1ca/
commit a4172ef377ba74439cb4f46f3c72a36a9a60b1ca
Author: Keith Marshall <kei...@us...>
Date: Sun Sep 4 13:51:29 2016 +0100
Add missing "-lpthread" dependency for GCC-5.3.0-2.
diff --git a/ChangeLog b/ChangeLog
index 74418c3..c1a48c4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2016-09-04 Keith Marshall <kei...@us...>
+
+ Add missing "-lpthread" dependency for GCC-5.3.0-2.
+
+ * mingw32-gcc4.xml (mingw32-gcc-core-bin): Require...
+ (libpthreadgc-*-mingw32-dev) [* >= 2.10]: ...this package.
+ * common/issue.log mingw32/issue.log: Update accordingly.
+
2016-08-24 Keith Marshall <kei...@us...>
Add references for previously published GCC-5.3.0-2.
diff --git a/common/issue.log b/common/issue.log
index 6be91b9..79d6a97 100644
--- a/common/issue.log
+++ b/common/issue.log
@@ -23,6 +23,6 @@
# MinGW Project, accept liability for any damages, however caused,
# arising from the use of this software.
#
- c6a9068e183254c0b930ac6e1a70fd81743dc212 2016082401 package-list.xml
+ c6a9068e183254c0b930ac6e1a70fd81743dc212 2016090400 package-list.xml
#
# $RCSfile$: end of file
diff --git a/mingw32/issue.log b/mingw32/issue.log
index dfa6b92..2b2c0d5 100644
--- a/mingw32/issue.log
+++ b/mingw32/issue.log
@@ -35,7 +35,7 @@
4dab2d86ca2203a8ac0233824c687504fda4601e 2013091000 mingw32-expat.xml
bc4b331f9bdfbf72a11a310fbc17a027396d09d5 2012073100 mingw32-gcc-tools.xml
9d1d9deeccee4fb04f2944e3cd5e7b85757308ce 2011050500 mingw32-gcc3.xml
- b02ad3ef3d9e52e7564b3421ce51bb364e17f384 2016082400 mingw32-gcc4.xml
+ a87f75a6ca4ef42eaee58adb2d68c93f8d51c418 2016090400 mingw32-gcc4.xml
21031079d59268339bfd7c6dc8239df214588bca 2013091501 mingw32-gdb.xml
14dd10ab97b27430bdb688f4e85993cd821f7a05 2012073100 mingw32-gendef.xml
7b16c690a8b02106e7cc7abc6c6310fe30390683 2015090600 mingw32-gettext.xml
@@ -50,7 +50,7 @@
cd33ad74b608bce33ea297801253e6efbafce27c 2012073100 mingw32-mingw-utils.xml
8d3a7125499a85916b53efb4c897ac907e2490ab 2015082000 mingw32-mpc.xml
8a11de23e7a89fd11436bdf162ef90712f30101b 2013102300 mingw32-mpfr.xml
- 56f4032058328cacfabe64fa46706d72c2fa931e 2016082400 mingw32-package-list.xml
+ 56f4032058328cacfabe64fa46706d72c2fa931e 2016090400 mingw32-package-list.xml
1f15439ee5f66ec22321c7aa853559b6f8f7172f 2015090800 mingw32-pexports.xml
cdb2a4dbedfc9f2cdfc92340f6f9b12da061c0d9 2012073100 mingw32-popt.xml
6032af6ff68aa4821cf51938781fd9e75f05de5f 2016082200 mingw32-pthreads-w32.xml
diff --git a/mingw32/mingw32-gcc4.xml b/mingw32/mingw32-gcc4.xml
index 2efb9ea..3758430 100644
--- a/mingw32/mingw32-gcc4.xml
+++ b/mingw32/mingw32-gcc4.xml
@@ -46,6 +46,7 @@
<requires eq="libgcc-%-mingw32-dll-1.tar" />
<requires eq="libssp-%-mingw32-dll-0.tar" />
<requires eq="libgomp-%-mingw32-dll-1.tar" />
+ <requires ge="libpthreadgc-2.10-mingw32-dev.tar" />
<requires eq="libatomic-%-mingw32-dll-1.tar" />
<requires eq="libquadmath-%-mingw32-dll-0.tar" />
<requires eq="libmpc-*-mingw32-dll-3.tar" />
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 8 ++++++++
common/issue.log | 2 +-
mingw32/issue.log | 4 ++--
mingw32/mingw32-gcc4.xml | 1 +
4 files changed, 12 insertions(+), 3 deletions(-)
hooks/post-receive
--
Repository: mingw-dist
|
|
From: Keith M. <no...@so...> - 2016-08-24 23:02:58
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, 5.0-active has been updated
via a58a5c2852c7e1ca849453cf89643402f438526a (commit)
from dbd96e5c332de45c8ffa35f0e85a6b2b36190619 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/a58a5c2852c7e1ca849453cf89643402f438526a/
commit a58a5c2852c7e1ca849453cf89643402f438526a
Author: Keith Marshall <kei...@us...>
Date: Thu Aug 25 00:01:17 2016 +0100
Add pthreads-win32 courtesy support hooks.
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 8e5ea5b..e29044d 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,16 @@
+2016-08-25 Keith Marshall <kei...@us...>
+
+ Add pthreads-win32 courtesy support hooks.
+
+ * include/errno.h: Assert copyright; tidy layout.
+ (_ERRNO_H_): Rename this repeat inclusion guard macro as...
+ (_ERRNO_H): ...this, conforming to preferred naming convention.
+ [__PTW32_H]: Include "ptw32_errno.h".
+
+ * include/time.h [__SCHED_H_SOURCED__]
+ (struct timespec): Typedef it selectively; do not define...
+ (_TIME_H): ...this.
+
2016-08-07 Keith Marshall <kei...@us...>
Implement POSIX printf() feature per request [#2310].
diff --git a/mingwrt/include/errno.h b/mingwrt/include/errno.h
index e3690a7..ad58267 100644
--- a/mingwrt/include/errno.h
+++ b/mingwrt/include/errno.h
@@ -1,87 +1,99 @@
/*
* errno.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
*
- * Error numbers and access to error reporting.
+ * Definition of error codes, and error code retrieval mechanism.
+ *
+ * $Id$
+ *
+ * Written by Colin Peters <co...@bi...>
+ * Copyright (C) 1997-1999, 2001, 2003-2005, 2007, 2016, MinGW.org Project.
+ *
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice, this permission notice, and the following
+ * disclaimer shall be included in all copies or substantial portions of
+ * the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OF OR OTHER
+ * DEALINGS IN THE SOFTWARE.
*
*/
+#ifndef _ERRNO_H
+#define _ERRNO_H
-#ifndef _ERRNO_H_
-#define _ERRNO_H_
-
-/* All the headers include this file. */
+/* All MinGW headers are expected to include <_mingw.h>
+ */
#include <_mingw.h>
-/*
- * Error numbers.
+/* Error code numbers.
+ *
* TODO: Can't be sure of some of these assignments, I guessed from the
* names given by strerror and the defines in the Cygnus errno.h. A lot
* of the names from the Cygnus errno.h are not represented, and a few
* of the descriptions returned by strerror do not obviously match
* their error naming.
*/
-#define EPERM 1 /* Operation not permitted */
-#define ENOFILE 2 /* No such file or directory */
-#define ENOENT 2
-#define ESRCH 3 /* No such process */
-#define EINTR 4 /* Interrupted function call */
-#define EIO 5 /* Input/output error */
-#define ENXIO 6 /* No such device or address */
-#define E2BIG 7 /* Arg list too long */
-#define ENOEXEC 8 /* Exec format error */
-#define EBADF 9 /* Bad file descriptor */
-#define ECHILD 10 /* No child processes */
-#define EAGAIN 11 /* Resource temporarily unavailable */
-#define ENOMEM 12 /* Not enough space */
-#define EACCES 13 /* Permission denied */
-#define EFAULT 14 /* Bad address */
+#define EPERM 1 /* Operation not permitted */
+#define ENOFILE 2 /* No such file or directory */
+#define ENOENT 2
+#define ESRCH 3 /* No such process */
+#define EINTR 4 /* Interrupted function call */
+#define EIO 5 /* Input/output error */
+#define ENXIO 6 /* No such device or address */
+#define E2BIG 7 /* Arg list too long */
+#define ENOEXEC 8 /* Exec format error */
+#define EBADF 9 /* Bad file descriptor */
+#define ECHILD 10 /* No child processes */
+#define EAGAIN 11 /* Resource temporarily unavailable */
+#define ENOMEM 12 /* Not enough space */
+#define EACCES 13 /* Permission denied */
+#define EFAULT 14 /* Bad address */
/* 15 - Unknown Error */
-#define EBUSY 16 /* strerror reports "Resource device" */
-#define EEXIST 17 /* File exists */
-#define EXDEV 18 /* Improper link (cross-device link?) */
-#define ENODEV 19 /* No such device */
-#define ENOTDIR 20 /* Not a directory */
-#define EISDIR 21 /* Is a directory */
-#define EINVAL 22 /* Invalid argument */
-#define ENFILE 23 /* Too many open files in system */
-#define EMFILE 24 /* Too many open files */
-#define ENOTTY 25 /* Inappropriate I/O control operation */
+#define EBUSY 16 /* strerror reports "Resource device" */
+#define EEXIST 17 /* File exists */
+#define EXDEV 18 /* Improper link (cross-device link?) */
+#define ENODEV 19 /* No such device */
+#define ENOTDIR 20 /* Not a directory */
+#define EISDIR 21 /* Is a directory */
+#define EINVAL 22 /* Invalid argument */
+#define ENFILE 23 /* Too many open files in system */
+#define EMFILE 24 /* Too many open files */
+#define ENOTTY 25 /* Inappropriate I/O control operation */
/* 26 - Unknown Error */
-#define EFBIG 27 /* File too large */
-#define ENOSPC 28 /* No space left on device */
-#define ESPIPE 29 /* Invalid seek (seek on a pipe?) */
-#define EROFS 30 /* Read-only file system */
-#define EMLINK 31 /* Too many links */
-#define EPIPE 32 /* Broken pipe */
-#define EDOM 33 /* Domain error (math functions) */
-#define ERANGE 34 /* Result too large (possibly too small) */
+#define EFBIG 27 /* File too large */
+#define ENOSPC 28 /* No space left on device */
+#define ESPIPE 29 /* Invalid seek (seek on a pipe?) */
+#define EROFS 30 /* Read-only file system */
+#define EMLINK 31 /* Too many links */
+#define EPIPE 32 /* Broken pipe */
+#define EDOM 33 /* Domain error (math functions) */
+#define ERANGE 34 /* Result too large (possibly too small) */
/* 35 - Unknown Error */
-#define EDEADLOCK 36 /* Resource deadlock avoided (non-Cyg) */
-#define EDEADLK 36
+#define EDEADLOCK 36 /* Resource deadlock avoided (non-Cyg) */
+#define EDEADLK 36
/* 37 - Unknown Error */
-#define ENAMETOOLONG 38 /* Filename too long (91 in Cyg?) */
-#define ENOLCK 39 /* No locks available (46 in Cyg?) */
-#define ENOSYS 40 /* Function not implemented (88 in Cyg?) */
-#define ENOTEMPTY 41 /* Directory not empty (90 in Cyg?) */
-#define EILSEQ 42 /* Illegal byte sequence */
-
-/*
- * NOTE: ENAMETOOLONG and ENOTEMPTY conflict with definitions in the
- * sockets.h header provided with windows32api-0.1.2.
- * You should go and put an #if 0 ... #endif around the whole block
- * of errors (look at the comment above them).
- */
+#define ENAMETOOLONG 38 /* Filename too long (91 in Cyg?) */
+#define ENOLCK 39 /* No locks available (46 in Cyg?) */
+#define ENOSYS 40 /* Function not implemented (88 in Cyg?) */
+#define ENOTEMPTY 41 /* Directory not empty (90 in Cyg?) */
+#define EILSEQ 42 /* Illegal byte sequence */
#ifndef RC_INVOKED
-#ifdef __cplusplus
-extern "C" {
-#endif
+_BEGIN_C_DECLS
-/*
- * Definitions of errno. For _doserrno, sys_nerr and * sys_errlist, see
+/* Definitions of errno. For _doserrno, sys_nerr and * sys_errlist, see
* stdlib.h.
*/
#ifdef _UWIN
@@ -92,10 +104,23 @@ _CRTIMP int* __cdecl __MINGW_NOTHROW _errno(void);
#define errno (*_errno())
#endif
-#ifdef __cplusplus
-}
-#endif
+_END_C_DECLS
+
+#endif /* ! RC_INVOKED */
-#endif /* Not RC_INVOKED */
+#if defined __PTW32_H && ! defined _PTW32_ERRNO_H
+/* As a courtesy to users of pthreads-win32, ensure that the appropriate
+ * additional error codes, as defined by that package, are automatically
+ * defined when <errno.h> is included AFTER any pthreads-win32 header; a
+ * complementary hook, in <_ptw32.h>, ensures that such additional error
+ * codes are defined, if <errno.h> is included BEFORE any pthreads-win32
+ * header is subsequently included.
+ *
+ * NOTE: this assumes pthreads-win32-2.10 or later, with corresponding
+ * MinGW.org patches applied; it will favour "ptw32_errno.h" installed
+ * in the mingwrt system include directory.
+ */
+#include "ptw32_errno.h"
-#endif /* Not _ERRNO_H_ */
+#endif /* __PTW32_H */
+#endif /* !_ERRNO_H: $RCSfile$: end of file */
diff --git a/mingwrt/include/time.h b/mingwrt/include/time.h
index ea90870..634c831 100644
--- a/mingwrt/include/time.h
+++ b/mingwrt/include/time.h
@@ -52,7 +52,20 @@
#undef __need_struct_timespec
#undef __need_wchar_decls
-#if defined __WCHAR_H_SOURCED__
+#if defined __SCHED_H_SOURCED__
+/* This is selective inclusion by <sched.h>; although not a standard
+ * MinGW.org header, we provide this hook to grant access from third
+ * party implementations, (e.g. pthreads-win32), to get a definition
+ * for struct timespec, which POSIX requires it to provide.
+ *
+ * Note that, in common with all selective inclusion strategies, we
+ * do not define the _TIME_H guard macro in this case, and we select
+ * only the minimally required subset of declarations to be exposed
+ * from within <time.h>, as required by <sched.h>
+ */
+# define __need_struct_timespec 1
+
+#elif defined __WCHAR_H_SOURCED__
/* This is selective inclusion by <wchar.h>; thus, we do not define the
* _TIME_H guard macro, and we select only the minimally required subset
* of declarations to be exposed from within <time.h>
-----------------------------------------------------------------------
Summary of changes:
mingwrt/ChangeLog | 13 ++++
mingwrt/include/errno.h | 159 +++++++++++++++++++++++++++--------------------
mingwrt/include/time.h | 15 ++++-
3 files changed, 119 insertions(+), 68 deletions(-)
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2016-08-24 22:13:11
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-dist".
The branch, master has been updated
via 1282dfdafc61b3836d73875844d8d3b06bdc9da3 (commit)
from 1772d5dcd3899d2367b6931688594dff82f5a1b5 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-dist/ci/1282dfdafc61b3836d73875844d8d3b06bdc9da3/
commit 1282dfdafc61b3836d73875844d8d3b06bdc9da3
Author: Keith Marshall <kei...@us...>
Date: Wed Aug 24 23:08:28 2016 +0100
Add references for previously published GCC-5.3.0-2.
diff --git a/ChangeLog b/ChangeLog
index 1228388..74418c3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2016-08-24 Keith Marshall <kei...@us...>
+
+ Add references for previously published GCC-5.3.0-2.
+
+ * mingw32/mingw32-gcc4.xml (mingw32-gcc-bin, mingw32-libgcc-dll)
+ (mingw32-gcc-ada-bin, mingw32-gcc-g++-bin, mingw32-gcc-fortran-bin)
+ (mingw32-gcc-info, mingw32-gcc-lang, mingw32-gcc-lic, mingw32-gcc-man)
+ (mingw32-libstdc++-dll, mingw32-libssp-dll, mingw32-libquadmath-dll)
+ (mingw32-libgfortran-dll, mingw32-libobjc-dll, mingw32-libgomp-dll)
+ (mingw32-gcc-fortran-info, mingw32-libquadmath-info)
+ (mingw32-gcc-objc-bin, mingw32-gcc-fortran-man): Add release records.
+ (mingw32-gcc-dev, mingw32-gcc-ada-dev, mingw32-gcc-fortran-dev)
+ (mingw32-gcc-objc-dev, mingw32-gcc-doc, mingw32-gcc-fortran-doc)
+ (mingw32-gcc-c++-dev, mingw32-gcc-c++-doc): Add fake release records;
+ these remove artefacts from previous releases, which may otherwise
+ result in installation conflicts for the current release.
+ (mingw32-libatomic-dll): New component package; specify it.
+ * common/issue.log mingw32/issue.log: Update accordingly.
+
2016-08-22 Keith Marshall <kei...@us...>
Publish pthreads-win32-2.10-mingw32-pre-20160821-1.
diff --git a/common/issue.log b/common/issue.log
index 72eb1cf..6be91b9 100644
--- a/common/issue.log
+++ b/common/issue.log
@@ -23,6 +23,6 @@
# MinGW Project, accept liability for any damages, however caused,
# arising from the use of this software.
#
- c6a9068e183254c0b930ac6e1a70fd81743dc212 2016082201 package-list.xml
+ c6a9068e183254c0b930ac6e1a70fd81743dc212 2016082401 package-list.xml
#
# $RCSfile$: end of file
diff --git a/mingw32/issue.log b/mingw32/issue.log
index 44bef09..dfa6b92 100644
--- a/mingw32/issue.log
+++ b/mingw32/issue.log
@@ -35,7 +35,7 @@
4dab2d86ca2203a8ac0233824c687504fda4601e 2013091000 mingw32-expat.xml
bc4b331f9bdfbf72a11a310fbc17a027396d09d5 2012073100 mingw32-gcc-tools.xml
9d1d9deeccee4fb04f2944e3cd5e7b85757308ce 2011050500 mingw32-gcc3.xml
- 3ea99f53084c1402dbcec0f4869537374744dfe3 2016022200 mingw32-gcc4.xml
+ b02ad3ef3d9e52e7564b3421ce51bb364e17f384 2016082400 mingw32-gcc4.xml
21031079d59268339bfd7c6dc8239df214588bca 2013091501 mingw32-gdb.xml
14dd10ab97b27430bdb688f4e85993cd821f7a05 2012073100 mingw32-gendef.xml
7b16c690a8b02106e7cc7abc6c6310fe30390683 2015090600 mingw32-gettext.xml
@@ -50,7 +50,7 @@
cd33ad74b608bce33ea297801253e6efbafce27c 2012073100 mingw32-mingw-utils.xml
8d3a7125499a85916b53efb4c897ac907e2490ab 2015082000 mingw32-mpc.xml
8a11de23e7a89fd11436bdf162ef90712f30101b 2013102300 mingw32-mpfr.xml
- 56f4032058328cacfabe64fa46706d72c2fa931e 2016082200 mingw32-package-list.xml
+ 56f4032058328cacfabe64fa46706d72c2fa931e 2016082400 mingw32-package-list.xml
1f15439ee5f66ec22321c7aa853559b6f8f7172f 2015090800 mingw32-pexports.xml
cdb2a4dbedfc9f2cdfc92340f6f9b12da061c0d9 2012073100 mingw32-popt.xml
6032af6ff68aa4821cf51938781fd9e75f05de5f 2016082200 mingw32-pthreads-w32.xml
diff --git a/mingw32/mingw32-gcc4.xml b/mingw32/mingw32-gcc4.xml
index 58de716..2efb9ea 100644
--- a/mingw32/mingw32-gcc4.xml
+++ b/mingw32/mingw32-gcc4.xml
@@ -25,6 +25,7 @@
<licence tarname="gcc-%-mingw32-lic.tar.*" />
<component class="lic">
+ <release tarname="gcc-5.3.0-2-mingw32-lic.tar.xz" />
<release tarname="gcc-4.9.3-1-mingw32-lic.tar.xz" />
<release tarname="gcc-core-4.8.1-4-mingw32-lic.tar.lzma" />
<release tarname="gcc-core-4.8.1-3-mingw32-lic.tar.lzma" />
@@ -41,6 +42,14 @@
<requires eq="binutils-*-mingw32-bin.tar" />
<requires eq="mingwrt-*-mingw32-dev.tar" />
<requires eq="w32api-*-mingw32-dev.tar" />
+ <release tarname="gcc-core-5.3.0-2-mingw32-bin.tar.xz">
+ <requires eq="libgcc-%-mingw32-dll-1.tar" />
+ <requires eq="libssp-%-mingw32-dll-0.tar" />
+ <requires eq="libgomp-%-mingw32-dll-1.tar" />
+ <requires eq="libatomic-%-mingw32-dll-1.tar" />
+ <requires eq="libquadmath-%-mingw32-dll-0.tar" />
+ <requires eq="libmpc-*-mingw32-dll-3.tar" />
+ </release>
<release tarname="gcc-core-4.9.3-1-mingw32-bin.tar.xz">
<requires eq="libgcc-%-mingw32-dll-1.tar" />
<requires eq="libquadmath-%-mingw32-dll-0.tar" />
@@ -102,6 +111,9 @@
<component class="dev">
<requires eq="mingw32-libgcc-%-mingw32-dll-1.tar" />
<requires eq="mingw32-libquadmath-%-mingw32-dll-0.tar" />
+ <release tarname="gcc-5.3.0-2-mingw32-dev.tar.xz">
+ <download tarname="none" />
+ </release>
<release tarname="gcc-4.9.3-1-mingw32-dev.tar.xz">
<download tarname="none" />
</release>
@@ -133,6 +145,9 @@
</component>
<component class="doc">
+ <release tarname="gcc-core-5.3.0-2-mingw32-doc.tar.xz">
+ <download tarname="none" />
+ </release>
<release tarname="gcc-core-4.9.3-1-mingw32-doc.tar.xz">
<download tarname="none" />
</release>
@@ -148,6 +163,7 @@
</component>
<component class="man">
+ <release tarname="gcc-5.3.0-2-mingw32-man.tar.xz" />
<release tarname="gcc-4.9.3-1-mingw32-man.tar.xz" />
<release tarname="gcc-core-4.8.1-4-mingw32-man.tar.lzma" />
<release tarname="gcc-core-4.8.1-3-mingw32-man.tar.lzma" />
@@ -156,6 +172,7 @@
</component>
<component class="info">
+ <release tarname="gcc-5.3.0-2-mingw32-info.tar.xz" />
<release tarname="gcc-4.9.3-1-mingw32-info.tar.xz" />
<release tarname="gcc-core-4.8.1-4-mingw32-info.tar.lzma" />
<release tarname="gcc-core-4.8.1-3-mingw32-info.tar.lzma" />
@@ -164,6 +181,7 @@
</component>
<component class="lang">
+ <release tarname="gcc-5.3.0-2-mingw32-lang.tar.xz" />
<release tarname="gcc-4.9.3-1-mingw32-lang.tar.xz" />
<release tarname="gcc-4.8.1-4-mingw32-lang.tar.lzma" />
<release tarname="gcc-4.8.1-3-mingw32-lang.tar.lzma" />
@@ -204,6 +222,7 @@
<licence tarname="gcc-%-mingw32-lic.tar.*" />
<component class="dll">
+ <release tarname="libgcc-5.3.0-2-mingw32-dll-1.tar.xz" />
<release tarname="libgcc-4.9.3-1-mingw32-dll-1.tar.xz" />
<release tarname="libgcc-4.8.1-4-mingw32-dll-1.tar">
<download tarname="gcc-core-4.8.1-4-mingw32-dll.tar.lzma"/>
@@ -245,7 +264,12 @@
<component class="bin">
<affiliate group="Basic Setup" />
<requires eq="gcc-core-%-mingw32-bin.tar" />
- <release tarname="gcc-ada-4.9.3-1-mingw32-bin.tar.xz" />
+ <release tarname="gcc-ada-5.3.0-2-mingw32-bin.tar.xz">
+ <requires eq="gcc-ada-%-mingw32-dev.tar" />
+ </release>
+ <release tarname="gcc-ada-4.9.3-1-mingw32-bin.tar.xz">
+ <requires eq="gcc-ada-%-mingw32-dev.tar" />
+ </release>
<release tarname="gcc-ada-4.8.1-4-mingw32-bin.tar.lzma">
<requires eq="gcc-ada-%-mingw32-dev.tar" />
</release>
@@ -273,11 +297,24 @@
</component>
<component class="dev">
- <requires eq="mingw32-libgnat-%-mingw32-dll.tar" />
- <release tarname="gcc-ada-4.8.1-4-mingw32-dev.tar.lzma" />
- <release tarname="gcc-ada-4.8.1-3-mingw32-dev.tar.lzma" />
- <release tarname="gcc-ada-4.8.1-2-mingw32-dev.tar.lzma" />
- <release tarname="gcc-ada-4.8.1-1-mingw32-dev.tar.lzma" />
+ <release tarname="gcc-ada-5.3.0-2-mingw32-dev.tar.xz">
+ <download tarname="none" />
+ </release>
+ <release tarname="gcc-ada-4.9.3-1-mingw32-dev.tar.xz">
+ <download tarname="none" />
+ </release>
+ <release tarname="gcc-ada-4.8.1-4-mingw32-dev.tar.lzma">
+ <requires eq="mingw32-libgnat-%-mingw32-dll.tar" />
+ </release>
+ <release tarname="gcc-ada-4.8.1-3-mingw32-dev.tar.lzma">
+ <requires eq="mingw32-libgnat-%-mingw32-dll.tar" />
+ </release>
+ <release tarname="gcc-ada-4.8.1-2-mingw32-dev.tar.lzma">
+ <requires eq="mingw32-libgnat-%-mingw32-dll.tar" />
+ </release>
+ <release tarname="gcc-ada-4.8.1-1-mingw32-dev.tar.lzma">
+ <requires eq="mingw32-libgnat-%-mingw32-dll.tar" />
+ </release>
</component>
<component class="info">
@@ -306,7 +343,7 @@
NOTE: The gcc-4.8.1 release delivers this library in a tarball
named with the "gcc-ada" prefix, rather than "libgnat". There
is (currently) no DLL component release of libgnat, for the
- gcc-4.9.3 release.
+ gcc-4.9.3 (or later) release.
</paragraph>
</description>
@@ -353,8 +390,13 @@
<component class="bin">
<affiliate group="Basic Setup" />
<requires eq="gcc-core-%-mingw32-bin.tar" />
+ <release tarname="gcc-c++-5.3.0-2-mingw32-bin.tar.xz" >
+ <requires eq="libstdc++-%-mingw32-dll-6.tar" />
+ <requires eq="gcc-c++-%-mingw32-dev.tar" />
+ </release>
<release tarname="gcc-c++-4.9.3-1-mingw32-bin.tar.xz" >
<requires eq="libstdc++-%-mingw32-dll-6.tar" />
+ <requires eq="gcc-c++-%-mingw32-dev.tar" />
</release>
<release tarname="gcc-c++-4.8.1-4-mingw32-bin.tar.lzma" >
<requires eq="gcc-c++-%-mingw32-dev.tar" />
@@ -386,6 +428,12 @@
<component class="dev">
<requires eq="mingw32-libstdc++-%-mingw32-dll-6.tar" />
+ <release tarname="gcc-c++-5.3.0-2-mingw32-dev.tar.xz">
+ <download tarname="none" />
+ </release>
+ <release tarname="gcc-c++-4.9.3-1-mingw32-dev.tar.xz">
+ <download tarname="none" />
+ </release>
<release tarname="gcc-c++-4.8.1-4-mingw32-dev.tar.lzma" />
<release tarname="gcc-c++-4.8.1-3-mingw32-dev.tar.lzma" />
<release tarname="gcc-c++-4.8.1-2-mingw32-dev.tar.lzma" />
@@ -393,6 +441,12 @@
</component>
<component class="doc">
+ <release tarname="gcc-c++-5.3.0-2-mingw32-doc.tar.xz">
+ <download tarname="none" />
+ </release>
+ <release tarname="gcc-c++-4.9.3-1-mingw32-doc.tar.xz">
+ <download tarname="none" />
+ </release>
<release tarname="gcc-c++-4.8.1-4-mingw32-doc.tar.lzma" />
<release tarname="gcc-c++-4.8.1-3-mingw32-doc.tar.lzma" />
<release tarname="gcc-c++-4.8.1-2-mingw32-doc.tar.lzma" />
@@ -400,6 +454,7 @@
</component>
<component class="man">
+ <release tarname="gcc-c++-5.3.0-2-mingw32-man.tar.xz" />
<release tarname="gcc-c++-4.9.3-1-mingw32-man.tar.xz" />
<release tarname="gcc-c++-4.8.1-4-mingw32-man.tar.lzma" />
<release tarname="gcc-c++-4.8.1-3-mingw32-man.tar.lzma" />
@@ -432,6 +487,7 @@
<licence tarname="gcc-%-mingw32-lic.tar.*" />
<component class="dll">
+ <release tarname="libstdc++-5.3.0-2-mingw32-dll-6.tar.xz" />
<release tarname="libstdc++-4.9.3-1-mingw32-dll-6.tar.xz" />
<release tarname="libstdc++-4.8.1-4-mingw32-dll-6.tar" >
<download tarname="gcc-c++-4.8.1-4-mingw32-dll.tar.lzma" />
@@ -451,7 +507,6 @@
<release tarname="libstdc++-4.7.0-1-mingw32-dll-6.tar.lzma" />
<release tarname="libstdc++-4.7.2-1-mingw32-dll-6.tar.lzma" />
</component>
-
</package>
<package name="mingw32-gcc-fortran" alias="gcc-fortran gfortran fortran">
@@ -474,8 +529,13 @@
<component class="bin">
<affiliate group="Basic Setup" />
<requires eq="gcc-core-%-mingw32-bin.tar" />
+ <release tarname="gcc-fortran-5.3.0-2-mingw32-bin.tar.xz">
+ <requires eq="libgfortran-%-mingw32-dll-3.tar" />
+ <requires eq="gcc-fortran-%-mingw32-dev.tar" />
+ </release>
<release tarname="gcc-fortran-4.9.3-1-mingw32-bin.tar.xz">
<requires eq="libgfortran-%-mingw32-dll-3.tar" />
+ <requires eq="gcc-fortran-%-mingw32-dev.tar" />
</release>
<release tarname="gcc-fortran-4.8.1-4-mingw32-bin.tar.lzma">
<requires eq="gcc-fortran-%-mingw32-dev.tar.lzma" />
@@ -508,6 +568,12 @@
<component class="dev">
<requires eq="libgfortran-%-mingw32-dll-3.tar" />
+ <release tarname="gcc-fortran-5.3.0-2-mingw32-dev.tar.xz">
+ <download tarname="none" />
+ </release>
+ <release tarname="gcc-fortran-4.9.3-1-mingw32-dev.tar.xz">
+ <download tarname="none" />
+ </release>
<release tarname="gcc-fortran-4.8.1-4-mingw32-dev.tar.lzma" />
<release tarname="gcc-fortran-4.8.1-3-mingw32-dev.tar.lzma" />
<release tarname="gcc-fortran-4.8.1-2-mingw32-dev.tar.lzma" />
@@ -515,6 +581,12 @@
</component>
<component class="doc">
+ <release tarname="gcc-fortran-5.3.0-2-mingw32-doc.tar.xz">
+ <download tarname="none" />
+ </release>
+ <release tarname="gcc-fortran-4.9.3-1-mingw32-doc.tar.xz">
+ <download tarname="none" />
+ </release>
<release tarname="gcc-fortran-4.8.1-4-mingw32-doc.tar.lzma" />
<release tarname="gcc-fortran-4.8.1-3-mingw32-doc.tar.lzma" />
<release tarname="gcc-fortran-4.8.1-2-mingw32-doc.tar.lzma" />
@@ -522,6 +594,7 @@
</component>
<component class="info">
+ <release tarname="gcc-fortran-5.3.0-2-mingw32-info.tar.xz" />
<release tarname="gcc-fortran-4.9.3-1-mingw32-info.tar.xz" />
<release tarname="gcc-fortran-4.8.1-4-mingw32-info.tar.lzma" />
<release tarname="gcc-fortran-4.8.1-3-mingw32-info.tar.lzma" />
@@ -530,6 +603,9 @@
</component>
<component class="man">
+ <release tarname="gcc-fortran-5.3.0-2-mingw32-man.tar.xz">
+ <download tarname="libgfortran-5.3.0-2-mingw32-man.tar.xz" />
+ </release>
<release tarname="gcc-fortran-4.9.3-1-mingw32-man.tar.xz" />
<release tarname="gcc-fortran-4.8.1-4-mingw32-man.tar.lzma" />
<release tarname="gcc-fortran-4.8.1-3-mingw32-man.tar.lzma" />
@@ -576,6 +652,7 @@
<download tarname="gcc-fortran-4.8.1-1-mingw32-dll.tar.lzma" />
</release>
<release tarname="libgfortran-4.9.3-1-mingw32-dll-3.tar.xz" />
+ <release tarname="libgfortran-5.3.0-2-mingw32-dll-3.tar.xz" />
</component>
</package>
@@ -634,8 +711,13 @@
<component class="bin">
<affiliate group="Basic Setup" />
<requires eq="gcc-core-%-mingw32-bin.tar" />
+ <release tarname="gcc-objc-5.3.0-2-mingw32-bin.tar.xz">
+ <requires eq="libobjc-%-mingw32-dll-4.tar" />
+ <requires eq="gcc-objc-%-mingw32-dev.tar" />
+ </release>
<release tarname="gcc-objc-4.9.3-1-mingw32-bin.tar.xz">
<requires eq="libobjc-%-mingw32-dll-4.tar" />
+ <requires eq="gcc-objc-%-mingw32-dev.tar" />
</release>
<release tarname="gcc-objc-4.7.2-1-mingw32-bin.tar.lzma">
<requires eq="libobjc-%-mingw32-dll-4.tar" />
@@ -672,6 +754,12 @@
<component class="dev">
<requires eq="libobjc-%-mingw32-dll-4.tar" />
+ <release tarname="gcc-objc-5.3.0-2-mingw32-dev.tar.xz">
+ <download tarname="none" />
+ </release>
+ <release tarname="gcc-objc-4.9.3-1-mingw32-dev.tar.xz">
+ <download tarname="none" />
+ </release>
<release tarname="gcc-objc-4.8.1-4-mingw32-dev.tar.lzma" />
<release tarname="gcc-objc-4.8.1-3-mingw32-dev.tar.lzma" />
<release tarname="gcc-objc-4.8.1-2-mingw32-dev.tar.lzma" />
@@ -721,43 +809,78 @@
<download tarname="gcc-objc-4.8.1-1-mingw32-dll.tar.lzma"/>
</release>
<release tarname="libobjc-4.9.3-1-mingw32-dll-4.tar.xz" />
+ <release tarname="libobjc-5.3.0-2-mingw32-dll-4.tar.xz" />
+ </component>
+ </package>
+
+ <package name="mingw32-libatomic" alias="libatomic">
+ <affiliate group="MinGW Compiler Suite" />
+ <description lang="en" title="GCC Atomic Function Support Library">
+ <paragraph />
+ </description>
+
+ <source tarname="gcc-%-mingw32-src.tar.*" />
+ <licence tarname="gcc-%-mingw32-lic.tar.*" />
+
+ <component class="dll">
+ <release tarname="libatomic-5.3.0-2-mingw32-dll-1.tar.xz" />
</component>
</package>
<package name="mingw32-libgomp" alias="libgomp">
<affiliate group="MinGW Compiler Suite" />
+ <description lang="en" title="GCC MultiProcessor Support Library">
+ <paragraph />
+ </description>
<source tarname="gcc-%-mingw32-src.tar.*" />
<licence tarname="gcc-%-mingw32-lic.tar.*" />
<component class="dll">
- <requires eq="libpthread-*-mingw32-dll-2.tar" />
- <release tarname="libgomp-4.5.2-1-mingw32-dll-1.tar.lzma" />
- <release tarname="libgomp-4.6.1-2-mingw32-dll-1.tar.lzma" />
- <release tarname="libgomp-4.6.2-1-mingw32-dll-1.tar.lzma" />
- <release tarname="libgomp-4.7.0-1-mingw32-dll-1.tar.lzma" />
- <release tarname="libgomp-4.7.2-1-mingw32-dll-1.tar.lzma" />
- <release tarname="libgomp-4.8.1-4-mingw32-dll-1.tar" >
+ <release tarname="libgomp-4.5.2-1-mingw32-dll-1.tar.lzma">
+ <requires eq="libpthread-*-mingw32-dll-2.tar" />
+ </release>
+ <release tarname="libgomp-4.6.1-2-mingw32-dll-1.tar.lzma">
+ <requires eq="libpthread-*-mingw32-dll-2.tar" />
+ </release>
+ <release tarname="libgomp-4.6.2-1-mingw32-dll-1.tar.lzma">
+ <requires eq="libpthread-*-mingw32-dll-2.tar" />
+ </release>
+ <release tarname="libgomp-4.7.0-1-mingw32-dll-1.tar.lzma">
+ <requires eq="libpthread-*-mingw32-dll-2.tar" />
+ </release>
+ <release tarname="libgomp-4.7.2-1-mingw32-dll-1.tar.lzma">
+ <requires eq="libpthread-*-mingw32-dll-2.tar" />
+ </release>
+ <release tarname="libgomp-4.8.1-4-mingw32-dll-1.tar">
<download tarname="none" />
<requires eq="mingw32-libgcc-%-mingw32-dll-1.tar" />
+ <requires eq="libpthread-*-mingw32-dll-2.tar" />
</release>
- <release tarname="libgomp-4.8.1-3-mingw32-dll-1.tar" >
+ <release tarname="libgomp-4.8.1-3-mingw32-dll-1.tar">
<download tarname="none" />
<requires eq="mingw32-libgcc-%-mingw32-dll-1.tar" />
+ <requires eq="libpthread-*-mingw32-dll-2.tar" />
</release>
- <release tarname="libgomp-4.8.1-2-mingw32-dll-1.tar" >
+ <release tarname="libgomp-4.8.1-2-mingw32-dll-1.tar">
<download tarname="none"/>
<requires eq="mingw32-libgcc-%-mingw32-dll-1.tar" />
+ <requires eq="libpthread-*-mingw32-dll-2.tar" />
</release>
- <release tarname="libgomp-4.8.1-1-mingw32-dll-1.tar" >
+ <release tarname="libgomp-4.8.1-1-mingw32-dll-1.tar">
<download tarname="none"/>
<requires eq="mingw32-libgcc-%-mingw32-dll-1.tar" />
+ <requires eq="libpthread-*-mingw32-dll-2.tar" />
</release>
+ <release tarname="libgomp-5.3.0-2-mingw32-dll-1.tar.xz" />
</component>
</package>
<package name="mingw32-libssp" alias="libssp">
<affiliate group="MinGW Compiler Suite" />
+ <description lang="en" title="GCC Stack Smashing Protection Library">
+ <paragraph />
+ </description>
<source tarname="gcc-%-mingw32-src.tar.*" />
<licence tarname="gcc-%-mingw32-lic.tar.*" />
@@ -784,6 +907,7 @@
<download tarname="none" />
<requires eq="mingw32-libgcc-%-mingw32-dll-1.tar" />
</release>
+ <release tarname="libssp-5.3.0-2-mingw32-dll-0.tar.xz" />
</component>
</package>
@@ -815,14 +939,15 @@
<requires eq="mingw32-libgcc-%-mingw32-dll-1.tar" />
</release>
<release tarname="libquadmath-4.9.3-1-mingw32-dll-0.tar.xz" />
+ <release tarname="libquadmath-5.3.0-2-mingw32-dll-0.tar.xz" />
</component>
<component class="info">
<release tarname="libquadmath-4.9.3-1-mingw32-info.tar.xz" />
+ <release tarname="libquadmath-5.3.0-2-mingw32-info.tar.xz" />
</component>
</package>
</package-collection>
</software-distribution>
<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
-
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 19 ++++++
common/issue.log | 2 +-
mingw32/issue.log | 4 +-
mingw32/mingw32-gcc4.xml | 163 ++++++++++++++++++++++++++++++++++++++++------
4 files changed, 166 insertions(+), 22 deletions(-)
hooks/post-receive
--
Repository: mingw-dist
|
|
From: Keith M. <no...@so...> - 2016-08-23 21:51:56
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-dist".
The branch, master has been updated
via 1772d5dcd3899d2367b6931688594dff82f5a1b5 (commit)
from 489c8bcc0e856dda2c767d0b3aed32d617e6774b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-dist/ci/1772d5dcd3899d2367b6931688594dff82f5a1b5/
commit 1772d5dcd3899d2367b6931688594dff82f5a1b5
Author: Keith Marshall <kei...@us...>
Date: Tue Aug 23 22:51:31 2016 +0100
Publish pthreads-win32-2.10-mingw32-pre-20160821-1.
diff --git a/ChangeLog b/ChangeLog
index 73fac1d..1228388 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,20 @@
+2016-08-22 Keith Marshall <kei...@us...>
+
+ Publish pthreads-win32-2.10-mingw32-pre-20160821-1.
+
+ * mingw32/mingw32-pthreads-w32.xml (pthreads-w32-2.10-dev): Add
+ component package release record; it is specified as a meta-component.
+ (pthreads-w32-2.10-doc, pthreads-w32-2.10-lic, libpthreadgc-2.10-dll-3)
+ (libpthreadgce-2.10-dll-3): Add component package release records.
+ (libpthreadgc-2.10-dev, libpthreadgce-2.10-dev): New components.
+ * common/issue.log mingw32/issue.log: Update accordingly.
+
2016-07-31 Keith Marshall <kei...@us...>
Publish mingwrt-3.22.1.
* mingw32/mingw32-runtime.xml (mingwrt-3.22.1-dev)
- (mingwrt-3.22.1-dll mingwrt-3.22.1-lic mingwrt-3.22.1-man): Add
+ (mingwrt-3.22.1-dll, mingwrt-3.22.1-lic, mingwrt-3.22.1-man): Add
component package release records.
* common/issue.log mingw32/issue.log: Update accordingly.
diff --git a/common/issue.log b/common/issue.log
index 9c223ab..72eb1cf 100644
--- a/common/issue.log
+++ b/common/issue.log
@@ -23,6 +23,6 @@
# MinGW Project, accept liability for any damages, however caused,
# arising from the use of this software.
#
- c6a9068e183254c0b930ac6e1a70fd81743dc212 2016073100 package-list.xml
+ c6a9068e183254c0b930ac6e1a70fd81743dc212 2016082201 package-list.xml
#
# $RCSfile$: end of file
diff --git a/mingw32/issue.log b/mingw32/issue.log
index b8d38e1..44bef09 100644
--- a/mingw32/issue.log
+++ b/mingw32/issue.log
@@ -50,10 +50,10 @@
cd33ad74b608bce33ea297801253e6efbafce27c 2012073100 mingw32-mingw-utils.xml
8d3a7125499a85916b53efb4c897ac907e2490ab 2015082000 mingw32-mpc.xml
8a11de23e7a89fd11436bdf162ef90712f30101b 2013102300 mingw32-mpfr.xml
- 56f4032058328cacfabe64fa46706d72c2fa931e 2016073100 mingw32-package-list.xml
+ 56f4032058328cacfabe64fa46706d72c2fa931e 2016082200 mingw32-package-list.xml
1f15439ee5f66ec22321c7aa853559b6f8f7172f 2015090800 mingw32-pexports.xml
cdb2a4dbedfc9f2cdfc92340f6f9b12da061c0d9 2012073100 mingw32-popt.xml
- 0a5d210a13d073104fb74b4f9c081674c9745cd1 2013090900 mingw32-pthreads-w32.xml
+ 6032af6ff68aa4821cf51938781fd9e75f05de5f 2016082200 mingw32-pthreads-w32.xml
61adccdf6a1167fd46f6c066e776c661410d5eb2 2016073100 mingw32-runtime.xml
12acb32f80e49c893167cfae82e448dd766d49bb 2013070100 mingw32-wsl-candidate.xml
247a02890f109a5fe4996fde4af9d576dca3cd1e 2012073100 mingw32-xz.xml
diff --git a/mingw32/mingw32-pthreads-w32.xml b/mingw32/mingw32-pthreads-w32.xml
index eb21080..02ccb35 100644
--- a/mingw32/mingw32-pthreads-w32.xml
+++ b/mingw32/mingw32-pthreads-w32.xml
@@ -24,13 +24,17 @@
</paragraph>
</description>
- <source tarname="pthreads-w32-%-mingw32-%-src.tar.lzma" />
- <licence tarname="pthreads-w32-%-mingw32-%-lic.tar.lzma" />
+ <source tarname="pthreads-w32-%-mingw32-%-src.tar" />
+ <licence tarname="pthreads-w32-%-mingw32-%-lic.tar" />
<component class="dev">
- <release tarname="pthreads-w32-2.9.1-1-mingw32-dev.tar.lzma">
+ <release tarname="pthreads-w32-2.10-mingw32-pre-20160821-1-dev.tar.xz">
+ <requires eq="mingw32-libpthreadgc-%-mingw32-%-dev.tar" />
+ <download tarname="none" />
+ </release>
+ <release tarname="pthreads-w32-2.9.1-1-mingw32-dev.tar.lzma">
<requires eq="mingw32-libpthread-%-mingw32-dll-2.tar" />
- </release>
+ </release>
<release tarname="pthreads-w32-2.8.0-3-mingw32-dev.tar.lzma" >
<requires eq="mingw32-libpthread-%-mingw32-dll-2.tar" />
</release>
@@ -40,28 +44,29 @@
</component>
<component class="doc">
- <release tarname="pthreads-w32-2.9.1-1-mingw32-doc.tar.lzma" />
+ <release tarname="pthreads-w32-2.10-mingw32-pre-20160821-1-doc.tar.xz" />
+ <release tarname="pthreads-w32-2.9.1-1-mingw32-doc.tar.lzma" />
<release tarname="pthreads-w32-2.8.0-3-mingw32-doc.tar.lzma" />
<release tarname="pthreads-w32-2.9.0-mingw32-pre-20110507-2-doc.tar.lzma" />
</component>
<component class="lic">
- <release tarname="pthreads-w32-2.9.1-1-mingw32-lic.tar.lzma" />
+ <release tarname="pthreads-w32-2.10-mingw32-pre-20160821-1-lic.tar.xz" />
+ <release tarname="pthreads-w32-2.9.1-1-mingw32-lic.tar.lzma" />
<release tarname="pthreads-w32-2.9.0-mingw32-pre-20110507-2-lic.tar.lzma" />
<release tarname="pthreads-w32-2.8.0-3-mingw32-lic.tar.lzma" />
</component>
-
</package>
<package name="mingw32-libpthreadgc" alias="libpthreadgc mingw32-libpthread libpthread">
<affiliate group="MinGW Standard Libraries" />
<description lang="en" title="POSIX threading library for Win32" >
- <paragraph>
- NOTE: The 2.9.1 release delivers this library as part of the
- pthreads-w32-2.9.1-1-mingw32-dll.tar.lzma file. This DLL file is a
- dependency for gcc-core-4.8.1 and will be installed as such when using
- mingw-get.
- </paragraph>
+ <paragraph>
+ NOTE: The 2.9.1 release delivers this library as part of the
+ pthreads-w32-2.9.1-1-mingw32-dll.tar.lzma file. This DLL file is
+ a dependency for gcc-core-4.8.1 and will be installed as such when
+ using mingw-get.
+ </paragraph>
<paragraph>
pthreads-w32 seeks to provide a freely available and high-quality
implementation of pthreads for Windows. Pthreads is an API for
@@ -77,7 +82,7 @@
behavior of mingw32-libpthreadgc, and NOT the behavior of the 'GCE'
version). We recommend that most users rely on mingw32-libpthreadgc
('GC') and not mingw32-libpthreadgce ('GCE').
- </paragraph>
+ </paragraph>
<paragraph>
The mingw32-libpthreadgc and mingw32-libpthreadgce packages provide
the two runtime libraries (most people need not install the 'GCE'
@@ -92,13 +97,23 @@
</paragraph>
</description>
- <source tarname="pthreads-w32-%-mingw32-%-src.tar.lzma" />
- <licence tarname="pthreads-w32-%-mingw32-%-lic.tar.lzma" />
+ <source tarname="pthreads-w32-%-mingw32-%-src.tar" />
+ <licence tarname="pthreads-w32-%-mingw32-%-lic.tar" />
+
+ <component class="dev">
+ <release tarname="libpthreadgc-2.10-mingw32-pre-20160821-1-dev.tar.xz">
+ <download tarname="pthreads-GC-w32-2.10-mingw32-pre-20160821-1-dev.tar.xz" />
+ <requires eq="mingw32-libpthreadgc-%-mingw32-%-dll-3.tar" />
+ </release>
+ </component>
<component class="dll">
- <release tarname="libpthread-2.9.1-1-mingw32-dll-2.tar" >
- <download tarname="pthreads-w32-2.9.1-1-mingw32-dll.tar.lzma" />
- </release>
+ <release tarname="libpthreadgc-2.10-mingw32-pre-20160821-1-dll-3.tar.xz">
+ <download tarname="pthreads-GC-w32-2.10-mingw32-pre-20160821-1-dll-3.tar.xz" />
+ </release>
+ <release tarname="libpthread-2.9.1-1-mingw32-dll-2.tar" >
+ <download tarname="pthreads-w32-2.9.1-1-mingw32-dll.tar.lzma" />
+ </release>
<release tarname="libpthread-2.8.0-3-mingw32-dll-2.tar.lzma" />
<release tarname="libpthreadgc-2.9.0-mingw32-pre-20110507-2-dll-2.tar.lzma" />
</component>
@@ -107,12 +122,12 @@
<package name="mingw32-libpthreadgce" alias="libpthreadgce" >
<affiliate group="MinGW Standard Libraries" />
<description lang="en" title="POSIX threading library for Win32" >
- <paragraph>
- NOTE: The 2.9.1 release delivers this library as part of the
- pthreads-w32-2.9.1-1-mingw32-dll.tar.lzma file. This DLL file is a
- dependency for gcc-core-4.8.1 and will be installed as such when using
- mingw-get.
- </paragraph>
+ <paragraph>
+ NOTE: The 2.9.1 release delivers this library as part of the
+ pthreads-w32-2.9.1-1-mingw32-dll.tar.lzma file. This DLL file is
+ a dependency for gcc-core-4.8.1 and will be installed as such when
+ using mingw-get.
+ </paragraph>
<paragraph>
pthreads-w32 seeks to provide a freely available and high-quality
implementation of pthreads for Windows. Pthreads is an API for
@@ -129,7 +144,7 @@
and NOT the behavior of the 'GCE' version). We recommend that most
users rely on mingw32-libpthreadgc ('GC') and not
mingw32-libpthreadgce ('GCE').
- </paragraph>
+ </paragraph>
<paragraph>
The mingw32-libpthreadgc and mingw32-libpthreadgce packages provide
the two runtime libraries (most people need not install the 'GCE'
@@ -140,14 +155,25 @@
</paragraph>
</description>
- <source tarname="pthreads-w32-%-mingw32-%-src.tar.lzma" />
- <licence tarname="pthreads-w32-%-mingw32-%-lic.tar.lzma" />
+ <source tarname="pthreads-w32-%-mingw32-%-src.tar" />
+ <licence tarname="pthreads-w32-%-mingw32-%-lic.tar" />
+
+ <component class="dev">
+ <release tarname="libpthreadgce-2.10-mingw32-pre-20160821-1-dev.tar.xz">
+ <download tarname="pthreads-GCE-w32-2.10-mingw32-pre-20160821-1-dev.tar.xz" />
+ <requires eq="mingw32-libpthreadgce-%-mingw32-%-dll-3.tar" />
+ <requires eq="mingw32-libpthreadgc-%-mingw32-%-dev.tar" />
+ </release>
+ </component>
<component class="dll">
- <release tarname="libpthreadgce-2.9.1-1-mingw32-dll-2.tar" >
- <download tarname="none" />
- <requires eq="mingw32-libpthread-2.9.1-1-mingw32-dll-2.tar" />
- </release>
+ <release tarname="libpthreadgce-2.10-mingw32-pre-20160821-1-dll-3.tar.xz">
+ <download tarname="pthreads-GCE-w32-2.10-mingw32-pre-20160821-1-dll-3.tar.xz" />
+ </release>
+ <release tarname="libpthreadgce-2.9.1-1-mingw32-dll-2.tar" >
+ <download tarname="none" />
+ <requires eq="mingw32-libpthread-2.9.1-1-mingw32-dll-2.tar" />
+ </release>
<release tarname="libpthreadgce-2.9.0-mingw32-pre-20110507-2-dll-2.tar.lzma" />
</component>
</package>
@@ -155,11 +181,11 @@
<package name="mingw32-libquserex" alias="libquserex" >
<affiliate group="MinGW Standard Libraries" />
<description lang="en" title="POSIX threading library for Win32" >
- <paragraph>
- NOTE: The 2.9.1 release does not deliver this library. This decision
- was based on the number of downloads for the library and the fact that
- it is experimental.
- </paragraph>
+ <paragraph>
+ NOTE: The 2.9.1 and later releases do not deliver this library.
+ This decision was based on the number of downloads for the library
+ and the fact that it is experimental.
+ </paragraph>
<paragraph>
pthreads-w32 seeks to provide a freely available and high-quality
implementation of pthreads for Windows. Pthreads is an API for
@@ -196,8 +222,8 @@
</paragraph>
</description>
- <source tarname="pthreads-w32-%-mingw32-%-src.tar.lzma" />
- <licence tarname="pthreads-w32-%-mingw32-%-lic.tar.lzma" />
+ <source tarname="pthreads-w32-%-mingw32-%-src.tar" />
+ <licence tarname="pthreads-w32-%-mingw32-%-lic.tar" />
<component class="dll">
<release tarname="libquserex-2.9.0-mingw32-pre-20110507-2-dll.tar.lzma" />
@@ -225,8 +251,8 @@
</paragraph>
</description>
- <source tarname="pthreads-w32-%-mingw32-src.tar.lzma" />
- <licence tarname="pthreads-w32-%-mingw32-lic.tar.lzma" />
+ <source tarname="pthreads-w32-%-mingw32-src.tar" />
+ <licence tarname="pthreads-w32-%-mingw32-lic.tar" />
<component class="dll">
<release tarname="libpthread-2.8.0-3-mingw32-dll-2.tar.lzma" />
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 13 ++++-
common/issue.log | 2 +-
mingw32/issue.log | 4 +-
mingw32/mingw32-pthreads-w32.xml | 108 +++++++++++++++++++++++--------------
4 files changed, 82 insertions(+), 45 deletions(-)
hooks/post-receive
--
Repository: mingw-dist
|
|
From: Keith M. <no...@so...> - 2016-08-06 23:13:43
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, 5.0-active has been updated
via dbd96e5c332de45c8ffa35f0e85a6b2b36190619 (commit)
via 737316eb8909298d1f59538743159c946ffb76db (commit)
via edf7aeb9763e81001d8e976b02215b5c94603a4b (commit)
via e0acd92412d6a50de0fe0ff689238b9cee813b5d (commit)
via 192ced79957109f4c49d72a8b846470d0e1270d2 (commit)
via 2bbfdee6ae9611a573a7e6e30f636e32b170c4c2 (commit)
via 9dfbd74133cf492252223f82f9887a7bd2b6eba6 (commit)
via 76be37ae450b3e24c2deda9348954b79c2291b03 (commit)
via 7a511c73f74aae29157a66c02304be61844606d4 (commit)
via 30a7c2e28639a2c18a02f11b5d333e7b9d77125a (commit)
via 68c86dc87382d22d14eea408830e062a78d432ef (commit)
via 6313c67b9e29285e06cf02b4fee8b29fd81f6df6 (commit)
from 72b00095f9eb8196e3136a9bb1214e0052e05af8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/dbd96e5c332de45c8ffa35f0e85a6b2b36190619/
commit dbd96e5c332de45c8ffa35f0e85a6b2b36190619
Author: Keith Marshall <kei...@us...>
Date: Sun Aug 7 00:10:54 2016 +0100
Implement POSIX printf() feature per request [#2310].
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 03c3472..8e5ea5b 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,33 @@
+2016-08-07 Keith Marshall <kei...@us...>
+
+ Implement POSIX printf() feature per request [#2310].
+
+ * mingwex/stdio/pformat.c [WITH_XSI_FEATURES]: Delete references.
+ (PFORMAT_GROUPED): New manifest constant; define it. It previously
+ appeared in an occluded XSI feature reference, but is now required.
+ (__pformat_t.tslen, __pformat_t.tschr, __pformat_t.grouping): New
+ structure member fields; they maintain control state as set up by...
+ (__pformat_enable_thousands_grouping): ...this new internal function.
+ (__pformat_int_bufsiz): Use it; it may request a size increment.
+ (__pformat_emit_digit, __pformat_emit_punct): New functions; they
+ handle output of digits, radix point, and thousands digits separator
+ punctuation for all numeric conversion formats, thus replacing...
+ (__pformat_emit_numeric_value, __pformat_emit_radix_point): ...these;
+ delete them, and update all callers to use appropriate replacements.
+ (__pformat_int) [PFORMAT_GROUPED]: Add and emit group separators.
+ (__pformat_xint_bufsiz): New internal function; it serves in place of
+ __pformat_int_bufsiz(), for those integer data conversion formats
+ which explicitly do not support thousands digits grouping, hence...
+ (__pformat_xint): ...use it, rather than __pformat_int_bufsiz().
+ (__pformat_adjust_for_grouping): New internal function; it adjusts the
+ __gdtoa radix point index for fixed point conversion formats, to allow
+ for the insertion of thousands digits group separators, hence...
+ (__pformat_emit_float): ...use it, and emit separators as appropriate.
+ (__pformat_emit_efloat) [PFORMAT_GROUPED]: Explicitly disable it.
+ (__pformat): Initialise stream references for __pformat_t.grouping,
+ __pformat_t.tslen, and _pformat_t.tschr, on entry; release any memory
+ allocated for __pformat_t.grouping, when done.
+
2016-08-01 Keith Marshall <kei...@us...>
Implement POSIX conforming getline() and getdelim() functions.
diff --git a/mingwrt/mingwex/stdio/pformat.c b/mingwrt/mingwex/stdio/pformat.c
index 593e712..75441ba 100644
--- a/mingwrt/mingwex/stdio/pformat.c
+++ b/mingwrt/mingwex/stdio/pformat.c
@@ -1,8 +1,3 @@
-/* FIXME: to be removed one day; for now we explicitly are not
- * prepared to support the POSIX-XSI additions to the C99 standard.
- */
-#undef WITH_XSI_FEATURES
-
/* pformat.c
*
* $Id$
@@ -134,6 +129,7 @@
#define PFORMAT_XCASE 0x0020
#define PFORMAT_LDOUBLE 0x0004
+#define PFORMAT_GROUPED 0x0001
/* `%o' format digit extraction mask, and shift count...
* (These are constant, and do not propagate through the flags).
@@ -279,6 +275,9 @@ typedef struct
int count;
int quota;
int expmin;
+ int tslen;
+ wchar_t tschr;
+ char * grouping;
} __pformat_t;
static
@@ -465,6 +464,56 @@ void __pformat_wcputs( const wchar_t *s, __pformat_t *stream )
__pformat_wputchars( s, wcslen( s ), stream );
}
+static
+int __pformat_enable_thousands_grouping( __pformat_t *stream )
+{
+ /* Helper to activate the thousands digits grouping feature,
+ * for any numeric conversion specification which includes the
+ * apostrophe flag, subject to an appropriate grouping strategy
+ * being defined within the current locale.
+ */
+ int enabled = stream->flags & PFORMAT_GROUPED;
+ if( (enabled == PFORMAT_GROUPED) && (stream->tslen == PFORMAT_RPINIT) )
+ {
+ /* Grouping has been requested, but we don't yet know if it
+ * is supported for the current locale; (it normally isn't in
+ * the default C/POSIX locale). Link a copy of the locale's
+ * grouping strategy, if any, into the stream control block...
+ */
+ stream->grouping = strdup( localeconv()->grouping );
+ if( (stream->grouping != NULL) && (*stream->grouping != '\0') )
+ {
+ /* ...and when at least one non-zero group size is specified,
+ * applying to the least significant digit group, (provided it
+ * isn't CHAR_MAX, which subsequently terminates grouping for
+ * more significant digits), also store a copy of the group
+ * separator character, (encoded as a UTF-16LE character,
+ * with its corresponding MBCS byte count).
+ */
+ int len = 0; wchar_t ts; mbstate_t state;
+ memset( &state, 0, sizeof( state ) );
+ if( (*stream->grouping < CHAR_MAX)
+ && ((len = mbrtowc( &ts, localeconv()->thousands_sep, 16, &state )) > 0) )
+ stream->tschr = ts;
+ stream->tslen = len;
+ }
+ /* Check that we've established a usable grouping strategy, (but
+ * note that an apparently viable grouping sequence also requires
+ * a serviceable separator character...
+ */
+ if( stream->tschr == (wchar_t)(0) )
+ {
+ /* ...otherwise it becomes non-viable, so we disable it).
+ */
+ free( stream->grouping ); stream->grouping = NULL;
+ enabled = (stream->flags &= ~PFORMAT_GROUPED);
+ }
+ }
+ /* Finally, return the enabled status for a viable grouping strategy.
+ */
+ return enabled == PFORMAT_GROUPED;
+}
+
static __inline__
int __pformat_int_bufsiz( int bias, int size, __pformat_t *stream )
{
@@ -474,10 +523,131 @@ int __pformat_int_bufsiz( int bias, int size, __pformat_t *stream )
*/
size = ((size - 1 + LLONGBITS) / size) + bias;
size += (stream->precision > 0) ? stream->precision : 0;
+
+ /* If thousands digits grouping is requested, and viable, we
+ * must reserve additional buffer space, to store the internal
+ * representation of the group separator characters...
+ */
+ if( __pformat_enable_thousands_grouping( stream ) )
+ /*
+ * ...by simply doubling the requested buffer size; (while
+ * this may be excessive, it should certainly be safe).
+ */
+ size <<= 1;
+
+ /* Finally, return the greater of the computed minimum buffer
+ * size, and the originally requested field width.
+ */
return (size > stream->width) ? size : stream->width;
}
static
+int __pformat_emit_punct( wchar_t code, int len, __pformat_t *stream )
+{
+ /* Helper to place the external representation of either the radix
+ * point character, or the thousands digits group separator character,
+ * which is applicable in the current locale, into the output stream.
+ */
+ if( code != (wchar_t)(0) )
+ {
+ /* We have a localised radix point or thousands separator mark;
+ * establish a converter to make it a multibyte character...
+ */
+ char buf[len]; mbstate_t state;
+
+ /* Initialise the conversion state...
+ */
+ memset( &state, 0, sizeof( state ) );
+
+ /* Convert the `wchar_t' representation to multibyte...
+ */
+ if( (len = wcrtomb( buf, code, &state )) > 0 )
+ {
+ /* ...and copy to the output destination, when valid.
+ */
+ char *p = buf;
+ while( len-- > 0 )
+ __pformat_putc( *p++, stream );
+
+ /* The requested output has been completed; inform the caller
+ * that no further fall back output is required.
+ */
+ return 0;
+ }
+ }
+ /* If we get to here, there was no appropriate localisation for the
+ * requested output; inform the caller that it may wish to provide
+ * fall back output, by returning a non-zero value.
+ */
+ return ~0;
+}
+
+static
+void __pformat_emit_digit( int c, __pformat_t *stream )
+{
+ /* Helper to transfer the individual digits of any decimal numeric
+ * value representation to the output stream; (note that the radix
+ * point and thousands digits group separator are considered to be
+ * special cases of "digits", internally represented by ASCII '.'
+ * and ASCII comma, respectively).
+ */
+ switch( c )
+ {
+ case '.':
+ /* Helper to place a localised representation of the radix point
+ * character at the ultimate destination, when formatting fixed or
+ * floating point numbers.
+ */
+ if( stream->rplen == PFORMAT_RPINIT )
+ {
+ /* Radix point initialisation not yet completed;
+ * establish a multibyte to `wchar_t' converter...
+ */
+ int len; wchar_t rpchr; mbstate_t state;
+
+ /* Initialise the conversion state...
+ */
+ memset( &state, 0, sizeof( state ) );
+
+ /* Fetch and convert the localised radix point representation...
+ */
+ if( (len = mbrtowc( &rpchr, localeconv()->decimal_point, 16, &state )) > 0 )
+ /*
+ * and store it, if valid.
+ */
+ stream->rpchr = rpchr;
+
+ /* In any case, store the reported effective multibyte length,
+ * (or the error flag), marking initialisation as `done'.
+ */
+ stream->rplen = len;
+ }
+
+ /* Emit the localised radix point character code, if available...
+ */
+ if( __pformat_emit_punct( stream->rpchr, stream->rplen, stream ) )
+ /*
+ * ...otherwise fall back to use of ASCII '.'
+ */
+ __pformat_putc( '.', stream );
+ break;
+
+ case ',':
+ /* Helper to emit the localised representation of the thousands
+ * digit separator character, if available; in this case, although
+ * we never expect it to arise, the fall back is to emit nothing.
+ */
+ (void)(__pformat_emit_punct( stream->tschr, stream->tslen, stream ));
+ break;
+
+ default:
+ /* Helper to emit any regular digit character.
+ */
+ __pformat_putc( c, stream );
+ }
+}
+
+static
void __pformat_int( __pformat_intarg_t value, __pformat_t *stream )
{
/* Handler for `%d', `%i' and `%u' conversion specifications.
@@ -487,7 +657,20 @@ void __pformat_int( __pformat_intarg_t value, __pformat_t *stream )
* output will be truncated, if any specified quota is exceeded.
*/
char buf[__pformat_int_bufsiz(1, PFORMAT_OSHIFT, stream)];
- char *p = buf; int precision;
+ char *p = buf, *grouping = NULL; int precision, groupsize = 0;
+
+ /* First check if thousands grouping can be supported, and has been
+ * requested, for the digits of this integer valued field; (note that
+ * supportability has already been verified, as a side effect of the
+ * computation of the necessary transfer buffer size)...
+ */
+ if( (stream->grouping != NULL)
+ && ((stream->flags & PFORMAT_GROUPED) == PFORMAT_GROUPED)
+ /*
+ * ...and initialise the grouping counter controls accordingly.
+ */
+ && ((groupsize = *stream->grouping) > 0) && (groupsize != CHAR_MAX) )
+ grouping = stream->grouping;
if( stream->flags & PFORMAT_NEGATIVE )
{
@@ -511,8 +694,25 @@ void __pformat_int( __pformat_intarg_t value, __pformat_t *stream )
*/
while( value.__pformat_ullong_t )
{
- /* decomposing it into its constituent decimal digits,
- * in order from least significant to most significant, using
+ /* decomposing it into its constituent decimal digits...
+ */
+ if( (grouping != NULL) && (groupsize-- == 0) )
+ {
+ /* noting that, when thousands grouping is in effect, and
+ * we are currently at a group boundary, we must reset the
+ * grouping counter...
+ */
+ groupsize = (grouping[1] != '\0') ? *++grouping : *grouping;
+ if( groupsize-- == CHAR_MAX )
+ grouping = NULL;
+
+ /* and store a group separator mark, using a simple ASCII
+ * comma to represent it internally...
+ */
+ *p++ = ',';
+ }
+ /* before recording each digit from the decomposition, in
+ * order from least significant to most significant, using
* the local buffer as a LIFO queue in which to store them.
*/
*p++ = '0' + (unsigned char)(value.__pformat_ullong_t % 10LL);
@@ -588,11 +788,10 @@ void __pformat_int( __pformat_intarg_t value, __pformat_t *stream )
* Emit the accumulated constituent digits,
* in order from most significant to least significant...
*/
- __pformat_putc( *--p, stream );
+ __pformat_emit_digit( *--p, stream );
while( stream->width-- > 0 )
- /*
- * The specified output field has not yet been completely filled;
+ /* The specified output field has not yet been completely filled;
* the `-' flag must be in effect, resulting in a displayed value which
* appears left justified within the output field; we must pad the field
* to the right of the displayed value, by emitting additional spaces,
@@ -601,6 +800,18 @@ void __pformat_int( __pformat_intarg_t value, __pformat_t *stream )
__pformat_putc( '\x20', stream );
}
+static __pformat_inline__
+int __pformat_xint_bufsiz( int bias, int size, __pformat_t *stream )
+{
+ /* The xint formats do not support thousands grouping; (POSIX specifies
+ * only that the behaviour is undefined, if such grouping is requested).
+ * We will ensure that any such request is simply ignored, before using
+ * our int format determination of required buffer size.
+ */
+ stream->flags &= ~PFORMAT_GROUPED;
+ return __pformat_int_bufsiz( bias, size, stream );
+}
+
static
void __pformat_xint( int fmt, __pformat_intarg_t value, __pformat_t *stream )
{
@@ -614,7 +825,7 @@ void __pformat_xint( int fmt, __pformat_intarg_t value, __pformat_t *stream )
int width;
int mask = (fmt == 'o') ? PFORMAT_OMASK : PFORMAT_XMASK;
int shift = (fmt == 'o') ? PFORMAT_OSHIFT : PFORMAT_XSHIFT;
- char buf[__pformat_int_bufsiz(2, shift, stream)];
+ char buf[__pformat_xint_bufsiz(2, shift, stream)];
char *p = buf;
while( value.__pformat_ullong_t )
@@ -828,8 +1039,7 @@ char *__pformat_fcvt( long double x, int precision, int *dp, int *sign )
#define __pformat_fcvt_release( value ) __freedtoa( value )
#else
-/*
- * TODO: remove this before final release; it is included here as a
+/* TODO: remove this before final release; it is included here as a
* convenience for testing, without requiring a working `__gdtoa()'.
*/
static __inline__
@@ -882,90 +1092,6 @@ char *__pformat_fcvt( long double x, int precision, int *dp, int *sign )
/* TODO: end of conditional to be removed. */
#endif
-static __inline__
-void __pformat_emit_radix_point( __pformat_t *stream )
-{
- /* Helper to place a localised representation of the radix point
- * character at the ultimate destination, when formatting fixed or
- * floating point numbers.
- */
- if( stream->rplen == PFORMAT_RPINIT )
- {
- /* Radix point initialisation not yet completed;
- * establish a multibyte to `wchar_t' converter...
- */
- int len; wchar_t rpchr; mbstate_t state;
-
- /* Initialise the conversion state...
- */
- memset( &state, 0, sizeof( state ) );
-
- /* Fetch and convert the localised radix point representation...
- */
- if( (len = mbrtowc( &rpchr, localeconv()->decimal_point, 16, &state )) > 0 )
- /*
- * and store it, if valid.
- */
- stream->rpchr = rpchr;
-
- /* In any case, store the reported effective multibyte length,
- * (or the error flag), marking initialisation as `done'.
- */
- stream->rplen = len;
- }
-
- if( stream->rpchr != (wchar_t)(0) )
- {
- /* We have a localised radix point mark;
- * establish a converter to make it a multibyte character...
- */
- int len; char buf[len = stream->rplen]; mbstate_t state;
-
- /* Initialise the conversion state...
- */
- memset( &state, 0, sizeof( state ) );
-
- /* Convert the `wchar_t' representation to multibyte...
- */
- if( (len = wcrtomb( buf, stream->rpchr, &state )) > 0 )
- {
- /* and copy to the output destination, when valid...
- */
- char *p = buf;
- while( len-- > 0 )
- __pformat_putc( *p++, stream );
- }
-
- else
- /* otherwise fall back to plain ASCII '.'...
- */
- __pformat_putc( '.', stream );
- }
-
- else
- /* No localisation: just use ASCII '.'...
- */
- __pformat_putc( '.', stream );
-}
-
-static __pformat_inline__
-void __pformat_emit_numeric_value( int c, __pformat_t *stream )
-{
- /* Convenience helper to transfer numeric data from an internal
- * formatting buffer to the ultimate destination...
- */
- if( c == '.' )
- /* converting this internal representation of the the radix
- * point to the appropriately localised representation...
- */
- __pformat_emit_radix_point( stream );
-
- else
- /* and passing all other characters through, unmodified.
- */
- __pformat_putc( c, stream );
-}
-
static
void __pformat_emit_inf_or_nan( int sign, char *value, __pformat_t *stream )
{
@@ -1015,19 +1141,68 @@ void __pformat_emit_inf_or_nan( int sign, char *value, __pformat_t *stream )
}
static
+int __pformat_adjust_for_grouping( int *len, __pformat_t *stream )
+{
+ /* Helper to compute the field width adjustment needed to
+ * accommodate thousands digits group separator characters,
+ * when these are requested for %f, %F, %g, and %G formats.
+ */
+ if( (*len > 0) && __pformat_enable_thousands_grouping( stream ) )
+ {
+ /* Only significant digits to the left of the radix point
+ * are grouped; when "len" indicates that such digits are
+ * present, and when grouping is enabled, then we evaluate
+ * the grouping strategy, to determine how many separators
+ * should be inserted, and adjust "len" to represent the
+ * number of ungrouped digits will be left preceding the
+ * leftmost separator.
+ */
+ char *grouping = stream->grouping;
+ int groupsize = *grouping, groupcount = 0;
+ while( (grouping != NULL) && (*len > groupsize) )
+ {
+ /* Account for possible variant group sizes...
+ */
+ ++groupcount; *len -= groupsize;
+ groupsize = (grouping[1] != '\0') ? *++grouping : *grouping;
+
+ /* ...noting that a group size of CHAR_MAX means that
+ * all more significant digits should remain ungrouped.
+ */
+ if( groupsize == CHAR_MAX )
+ grouping = NULL;
+ }
+ /* Return value is the number of group separators which
+ * are to be inserted into the output field.
+ */
+ return groupcount;
+ }
+ /* If we get to here, there are no significant digits to be
+ * placed to the left of the radix, or grouping has not been
+ * enabled for this conversion; in either case, no adjustment
+ * is required.
+ */
+ return 0;
+}
+
+static
void __pformat_emit_float( int sign, char *value, int len, __pformat_t *stream )
{
/* Helper to emit a fixed point representation of numeric data,
* as encoded by a prior call to `ecvt()' or `fcvt()'; (this does
* NOT include the exponent, for floating point format).
*/
- if( len > 0 )
+ int prefix, gc = 0;
+ if( (prefix = len) > 0 )
{
/* The magnitude of `x' is greater than or equal to 1.0...
* reserve space in the output field, for the required number of
- * decimal digits to be placed before the decimal point...
+ * decimal digits to be placed before the decimal point, including
+ * any adjustment required to accommodate thousands digits group
+ * separator characters...
*/
- if( stream->width > len )
+ gc = __pformat_adjust_for_grouping( &prefix, stream );
+ if( stream->width > (len += gc) )
/*
* adjusting as appropriate, when width is sufficient...
*/
@@ -1118,12 +1293,22 @@ void __pformat_emit_float( int sign, char *value, int len, __pformat_t *stream )
/* Emit the digits of the encoded numeric value...
*/
if( len > 0 )
- /*
- * ...beginning with those which precede the radix point,
+ /* ...beginning with those which precede the radix point,
* and appending any necessary significant trailing zeros.
*/
- do __pformat_putc( *value ? *value++ : '0', stream );
- while( --len > 0 );
+ do { __pformat_putc( *value ? *value++ : '0', stream );
+ if( (--prefix == 0) && (gc > 0) )
+ {
+ /* When thousands digits grouping has been enabled,
+ * emit group separators as directed by the grouping
+ * strategy for the current locale.
+ */
+ char *gp = stream->grouping; int c = gc--;
+ do prefix = *gp++;
+ while( (*gp != '\0') && (*gp != CHAR_MAX) && (--c > 0) );
+ __pformat_emit_digit( ',', stream ); --len;
+ }
+ } while( --len > 0 );
else
/* The magnitude of the encoded value is less than 1.0, so no
@@ -1137,7 +1322,11 @@ void __pformat_emit_float( int sign, char *value, int len, __pformat_t *stream )
* the appropriately localised radix point mark here...
*/
if( (stream->precision > 0) || (stream->flags & PFORMAT_HASHED) )
- __pformat_emit_radix_point( stream );
+ /*
+ * ...treating it as a special case of digit emission, with
+ * an internal representation equivalent to ASCII period.
+ */
+ __pformat_emit_digit( '.', stream );
/* When the radix point offset, `len', is negative, this implies
* that additional zeros must appear, following the radix point,
@@ -1171,6 +1360,12 @@ void __pformat_emit_efloat( int sign, char *value, int e, __pformat_t *stream )
int exp_width = 1;
__pformat_intarg_t exponent; exponent.__pformat_llong_t = e -= 1;
+ /* POSIX explicitly specifies that behaviour is undefined, if the
+ * user requests thousands digits grouping for any efloat format;
+ * we simply overrule any such request.
+ */
+ stream->flags &= ~PFORMAT_GROUPED;
+
/* Determine how many digit positions are required for the exponent.
*/
while( (e /= 10) != 0 )
@@ -1656,7 +1851,7 @@ void __pformat_emit_xfloat( __pformat_fpreg_t value, __pformat_t *stream )
/* Next, we emit the encoded value, without its exponent...
*/
while( p > buf )
- __pformat_emit_numeric_value( *--p, stream );
+ __pformat_emit_digit( *--p, stream );
/* followed by any additional zeros needed to satisfy the
* precision specification...
@@ -2445,7 +2640,10 @@ int __pformat( int flags, void *dest, int max, const char *fmt, va_list args )
(wchar_t)(0), /* leave it unspecified */
0, /* zero output char count */
max, /* establish output limit */
- PFORMAT_MINEXP /* exponent chars preferred */
+ PFORMAT_MINEXP, /* exponent chars preferred */
+ PFORMAT_RPINIT, /* thou' sep uninitialised */
+ (wchar_t)(0), /* leave it unspecified ... */
+ NULL /* with no grouping counts */
};
/* Establish a variant argument resource pool, to support processing of
@@ -3067,17 +3265,16 @@ int __pformat( int flags, void *dest, int max, const char *fmt, va_list args )
stream.flags |= PFORMAT_LJUSTIFY;
break;
-# ifdef WITH_XSI_FEATURES
-
- case '\'':
- /* This is an XSI extension to the POSIX standard,
- * which we do not support, at present.
- */
- if( state == PFORMAT_INIT )
- stream.flags |= PFORMAT_GROUPED;
- break;
-
-# endif
+ case '\'':
+ /* Formerly an XSI extension to the POSIX standard,
+ * but fully supported as of POSIX.1-2008, this flag
+ * causes grouping of digits according to the rules
+ * defined for the LC_NUMERIC category within the
+ * current locale.
+ */
+ if( state == PFORMAT_INIT )
+ stream.flags |= PFORMAT_GROUPED;
+ break;
case '\x20':
/* Reserve a single space, within the output field,
@@ -3155,6 +3352,11 @@ int __pformat( int flags, void *dest, int max, const char *fmt, va_list args )
while( argc-- > 0 ) va_end( argv_indexed[argc] );
va_end( argv );
+ /* Release the memory, if any, allocated to manage the grouping strategy
+ * of digits with intervening thousands digits group separators.
+ */
+ free( stream.grouping );
+
/* When we have fully dispatched the format string, the return value is the
* total number of bytes we transferred to the output destination.
*/
https://sf.net/p/mingw/mingw-org-wsl/ci/737316eb8909298d1f59538743159c946ffb76db/
commit 737316eb8909298d1f59538743159c946ffb76db
Author: Keith Marshall <kei...@us...>
Date: Mon Aug 1 15:42:35 2016 +0100
Implement POSIX conforming getline() and getdelim() functions.
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 12123cd..03c3472 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,5 +1,23 @@
2016-08-01 Keith Marshall <kei...@us...>
+ Implement POSIX conforming getline() and getdelim() functions.
+
+ * mingwrt/mingwex/stdio/getdelim.c: New file.
+ * mingwrt/man/getline.3.man: Likewise.
+
+ * mingwrt/include/stdio.h [_POSIX_C_SOURCE >= 200809L]
+ (getdelim): New function, implemented externally; declare prototype.
+ (getline): New function; declare prototype; implement as __CRT_ALIAS
+ inline, with __LIBIMPL__ external representation.
+
+ * mingwrt/Makefile.in (libmingwex.a): Add getdelim.$OBJEXT
+ (mingwrt-man$man3ext): Add manpage dependency references to create...
+ (getline.$man3ext, getdelim.$man3ext): ...these; declare them as
+ distributable duplicates, to be generated from...
+ (getline.$man3ext.man): ...this common source.
+
+2016-08-01 Keith Marshall <kei...@us...>
+
Merge mingwrt-3.22.1 legacy updates to 5.0-active branch.
* mingwex/math/powl.c: Update per issue [#2036] workaround.
diff --git a/mingwrt/Makefile.in b/mingwrt/Makefile.in
index 561afdb..bf14d7f 100644
--- a/mingwrt/Makefile.in
+++ b/mingwrt/Makefile.in
@@ -487,14 +487,13 @@ $(addsuffix fmt.$(OBJEXT),varo crto geto seto crtn getn setn): %.$(OBJEXT): ofmt
# Some additional miscellaneous functions, in libmingwex.a
#
-#libmingwex.a: $(addsuffix .$(OBJEXT), glob membarrier)
libmingwex.a: $(addsuffix .$(OBJEXT), mingw-aligned-malloc mingw-fseek)
libmingwex.a: $(addsuffix .$(OBJEXT), glob getopt basename dirname nsleep)
libmingwex.a: $(addsuffix .$(OBJEXT), mkstemp mkdtemp cryptnam)
libmingwex.a: $(addsuffix .$(OBJEXT), tdelete tfind tsearch twalk)
-libmingwex.a: gettimeofday.$(OBJEXT)
+libmingwex.a: $(addsuffix .$(OBJEXT), getdelim gettimeofday)
libmingwex.a: $(addsuffix .$(OBJEXT), dirent wdirent dlfcn)
vpath %.s ${mingwrt_srcdir}/mingwex
@@ -772,7 +771,7 @@ install-%-dll-files:
#
vpath %.man ${mingwrt_srcdir}/man
install-man install-manpages: install-mingwrt-manpages
-mingwrt-man$(man3ext): $(addsuffix .$(man3ext),basename dirname)
+mingwrt-man$(man3ext): $(addsuffix .$(man3ext),basename dirname getline getdelim)
install-mingwrt-manpages: mandir mingwrt-man3
mingwrt-man%:
@@ -789,6 +788,9 @@ format_manpage = sed \
basename.$(man3ext): export reference_manpage = dirname.$(man3ext).man
basename.$(man3ext): %: %.mancopy-recursive
+getdelim.$(man3ext): export reference_manpage = getline.$(man3ext).man
+getdelim.$(man3ext): %: %.mancopy-recursive
+
%.mancopy-recursive:
$(MAKE) --no-print-directory $*.mancopy
diff --git a/mingwrt/include/stdio.h b/mingwrt/include/stdio.h
index 339087a..252c210 100644
--- a/mingwrt/include/stdio.h
+++ b/mingwrt/include/stdio.h
@@ -587,9 +587,29 @@ int _vswprintf_p_l (wchar_t *, size_t, const wchar_t *, locale_t, __VALIST);
#endif /* ! (defined _STDIO_H && defined _WCHAR_H) */
#ifdef _STDIO_H
/* Once again, back to <stdio.h> specific declarations.
- *
- *
- * Formatted Input
+ */
+#if _POSIX_C_SOURCE >= 200809L
+/* POSIX standard IEEE 1003.1-2008 added getdelim() and getline()
+ */
+__cdecl __MINGW_NOTHROW ssize_t
+getdelim (char ** __restrict__, size_t * __restrict__, int, FILE * __restrict__);
+
+__cdecl __MINGW_NOTHROW ssize_t
+getline (char ** __restrict__, size_t * __restrict__, FILE * __restrict__);
+
+#ifndef __NO_INLINE__
+/* getline() is a trivial specialization of getdelim(), which may
+ * be readily expressed by inline expansion.
+ */
+__CRT_ALIAS __LIBIMPL__(( FUNCTION = getline ))
+__cdecl __MINGW_NOTHROW ssize_t getline
+( char **__restrict__ __l, size_t *__restrict__ __n, FILE *__restrict__ __s )
+{ return getdelim( __l, __n, '\n', __s ); }
+
+#endif /* !__NO_INLINE__ */
+#endif /* POSIX.1-2008 */
+
+/* Formatted Input
*/
_CRTIMP __cdecl __MINGW_NOTHROW int fscanf (FILE *, const char *, ...);
_CRTIMP __cdecl __MINGW_NOTHROW int scanf (const char *, ...);
diff --git a/mingwrt/man/getline.3.man b/mingwrt/man/getline.3.man
new file mode 100644
index 0000000..b33bb4f
--- /dev/null
+++ b/mingwrt/man/getline.3.man
@@ -0,0 +1,387 @@
+.\" vim: ft=nroff
+.TH %PAGEREF% MinGW "Programmer's Reference Manual"
+.
+.SH NAME
+.BR getline ,\0 getdelim
+\- read a delimited record from a stream
+.
+.
+.SH SYNOPSIS
+.B #include
+.RB < stdio.h >
+.PP
+.B ssize_t getdelim( char
+.BI ** linebuf ,
+.B size_t
+.BI * n ,
+.B int
+.IB delim ,
+.B FILE
+.BI * stream
+.B );
+.br
+.B ssize_t getline( char
+.BI ** linebuf ,
+.B size_t
+.BI * n ,
+.B FILE
+.BI * stream
+.B );
+.
+.PP
+.in -4n
+Feature Test Macro Requirements for libmingwex:
+.TP 4
+.BR getdelim (),\~ getline ():
+.nf
+Available since libmingwex version 3.22:
+.BR _POSIX_C_SOURCE\0 >=\0 200809L\0 ||\0 _XOPEN_SOURCE\0 >=\0 700
+.fi
+.
+.
+.SH DESCRIPTION
+The
+.BR getdelim ()
+function reads data from
+.IR stream ,
+until either a character entity matching
+.IR delim ,
+or
+.I EOF
+is encountered;
+the data so read,
+including the
+.I delim
+character if present,
+is stored into the buffer referenced by the pointer at
+.B *\c
+.IR linebuf ,
+and is
+.I NUL
+terminated.
+.PP
+The
+.BR getline ()
+function is a special case of
+.BR getdelim (),
+with the
+.I delim
+argument implicitly specified as the POSIX newline character,
+.IR '\en' .
+.
+.PP
+The
+.I linebuf
+argument must be a reference to a pointer which is safe to pass to
+.BR free ();
+either a
+.I NULL
+pointer,
+or a pointer to a buffer of size as indicated by
+.B *\c
+.IR n ,
+allocated by
+.BR malloc ().
+Passing a value of
+.I NULL
+in
+.B *\c
+.IR linebuf ,
+with a value of zero in
+.B *\c
+.IR n ,
+is both allowed,
+and recommended as a mechanism for requesting allocation
+of a default buffer.
+.
+.PP
+The
+.I delim
+argument is specified as an
+.BR int ;
+it must be passed a value which is representable as an
+.BR "unsigned char" ,
+otherwise the behaviour is undefined.
+.
+.
+.PP
+If
+.BI * linebuf
+is initially passed as a
+.I NULL
+pointer,
+then
+.BR getdelim ()
+or
+.BR getline ()
+will call
+.BR malloc (),
+in an attempt to allocate
+.BI * n
+bytes,
+or an arbitrarily sized smaller default buffer,
+if such an allocation is not achievable.
+In either case,
+.BI * linebuf
+and
+.BI * n
+will be updated to reflect the allocated buffer location,
+and the actual size allocated.
+.
+.PP
+If,
+at any time during collection of the input record,
+the buffer referenced by
+.BI * linebuf
+becomes too small to store the record,
+it will be expanded as necessary,
+and both
+.BI * linebuf
+and
+.BI * n
+will be adjusted to reflect the change in allocation.
+.
+.
+.SH RETURN VALUE
+.
+On successful completion,
+.BR getline ()
+and
+.BR getdelim ()
+return the number of characters stored into the buffer at
+.B *\c
+.IR linebuf ,
+including the
+.I delim
+character if this was encountered before
+.IR EOF ,
+but excluding the terminating
+.I NUL
+character.
+.
+.PP
+If no characters were read,
+and
+.I stream
+is at end-of-file,
+.BR getline ()
+and
+.BR getdelim ()
+return \(mi1,
+and the end-of-file indicator is set for
+.IR stream .
+.
+.PP
+If an error occurs,
+.BR getline ()
+and
+.BR getdelim ()
+set
+.IR errno ,
+as indicated under the heading
+.B ERROR CONDITIONS
+below,
+and return \(mi1.
+.
+.
+.SH ERROR CONDITIONS
+.
+.BR getline ()
+and
+.BR getdelim
+may fail for any of the reasons described as failure conditions for
+.BR fgetc ();
+when any such error occurs,
+.I errno
+is left as set by
+.BR fgetc (),
+and
+.BR getline ()
+or
+.BR getdelim ()
+returns \(mi1.
+.
+.PP
+In addition to
+.BR fgetc ()
+failure conditions,
+.BR getline ()
+and
+.BR getdelim ()
+may fail,
+returning \(mi1 after setting
+.I errno
+to indicate occurrence of any of the following errors:
+.
+.RS 4
+.TP 10
+.B EINVAL
+.I linebuf
+or
+.I n
+is
+.IR NULL .
+.
+.TP 10
+.B EBADF
+.I stream
+is a
+.I NULL
+pointer,
+or otherwise is not a valid stream opened for reading,
+as determined by
+.BR fgetc ().
+.
+.TP 10
+.B ENOMEM
+An attempt to allocate a buffer,
+or to expand the buffer referenced by
+.B *
+.IR linebuf ,
+was unsuccessful.
+.
+.TP 10
+.B ERANGE
+More than
+.B SSIZE_MAX
+characters were read,
+without finding
+.IR delim .
+(Note that POSIX specifies that
+.I errno
+should be set to
+.B EOVERFLOW
+for this error condition;
+see heading
+.B CAVEATS AND BUGS
+below,
+for the rationale for the use of
+.B ERANGE
+in this implementation).
+.RE
+.
+.
+.SH CONFORMING TO
+.
+Originally implemented as GNU extension functions,
+both
+.BR getline ()
+and
+.BR getdelim ()
+were adopted into POSIX.1-2008;
+implementations conforming to this POSIX standard have been
+integrated into libmingwex from version 3.22 onwards.
+.
+.
+.SH EXAMPLE
+.nf
+#include <stdio.h>
+#include <stdlib.h>
+
+int main ()
+{
+ FILE *fp;
+ char *line = NULL;
+ size_t len = 0;
+ ssize_t count;
+
+ if ((fp = fopen ("/etc/motd", "r")) == NULL)
+ exit (EXIT_FAILURE);
+
+ while ((count = getline (&line, &len, fp)) != -1)
+ printf ("Retrieved line of length %zu:\en> %s\en", count, line);
+
+ if (ferror (fp)) { /* handle error */ }
+
+ free (line);
+ fclose (fp);
+ return 0;
+}
+.fi
+.
+.
+.SH CAVEATS AND BUGS
+.
+A return value of \(mi1 may indicate that
+.I stream
+is already at end-of-file when
+.BR getline ()
+or
+.BR getdelim ()
+is called,
+or it may indicate an error condition;
+use
+.BR ferror ()
+or
+.BR feof ()
+to distinguish error and end-of-file conditions.
+.
+.PP
+The return type of
+.I ssize_t
+can accommodate a maximum character count of
+.BR SSIZE_MAX ,
+and thus,
+the return value will overflow if
+.BR getline ()
+or
+.BR getdelim ()
+reads
+.B SSIZE_MAX
+characters without encountering a line delimiter;
+for this overflow condition,
+POSIX.1-2008 stipulates an
+.I errno
+condition code of
+.B EOVERFLOW .
+However,
+MSVCRT.DLL provides no significant interpretation for
+an arbitrarily assigned
+.B EOVERFLOW
+.I errno
+code.
+Thus,
+this implementation of
+.BR getline ()
+and
+.BR getdelim ()
+substitutes the semantically similar,
+(but not semantically identical),
+.B ERANGE
+.I errno
+code for
+.BR EOVERFLOW ,
+to ensure that MSVCRT.DLL's
+.BR strerror ()
+can return an acceptable description for this error condition.
+.
+.
+.SH SEE ALSO
+.
+Please refer to Microsoft's documentation,
+on MSDN,
+for standard I/O streams,
+.BR fgetc (),
+.BR ferror (),
+.BR feof (),
+.BR malloc (),
+.BR free (),
+.BR strerror (),
+and
+.BR errno .
+.
+.
+.SH AUTHOR
+.
+This manpage was written by \%Keith\ Marshall,
+\%<kei...@us...>, to document the
+.BR \%getline ()
+and
+.BR \%getdelim ()
+functions as they have been implemented for the MinGW.org Project.
+It may be copied, modified and redistributed,
+without restriction of copyright,
+provided this acknowledgement of contribution by
+the original author remains unchanged.
+.
+.\" EOF
diff --git a/mingwrt/mingwex/stdio/getdelim.c b/mingwrt/mingwex/stdio/getdelim.c
new file mode 100644
index 0000000..60e363e
--- /dev/null
+++ b/mingwrt/mingwex/stdio/getdelim.c
@@ -0,0 +1,172 @@
+/*
+ * getdelim.c
+ *
+ * Implementation of POSIX standard IEEE 1003.1-2008 getdelim() function;
+ * also provides the core functionality to support an inline implementation
+ * of the getline() function, within <stdio.h>
+ *
+ * $Id$
+ *
+ * Written by Keith Marshall <kei...@us...>
+ * Copyright (C) 2012, 2015, MinGW.org Project
+ *
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <limits.h>
+#include <errno.h>
+
+#ifndef EOVERFLOW
+/* This is one of the errno failure states specified by POSIX, for both
+ * getdelim(), and for getline(). It is not normally available for use
+ * in Windows applications, so, although not identical, substitute the
+ * semantically similar ERANGE.
+ */
+#define EOVERFLOW ERANGE
+#endif
+
+#undef CRT_INLINE
+#define CRT_INLINE static __inline__ __attribute__((__always_inline__))
+
+CRT_INLINE ssize_t getline_abort( int error_code )
+{
+ /* A local helper, to set errno and return getline()'s end-of-input state.
+ */
+ errno = error_code;
+ return (ssize_t)(-1);
+}
+
+#define RESTRICT __restrict__
+
+ssize_t getdelim
+( char **RESTRICT linebuf, size_t *RESTRICT len, int brk, FILE *RESTRICT stream )
+{
+ /* Capture a string of characters from the input stream,
+ * up to and including the specified "brk" delimiter, or to EOF,
+ * storing the resultant string in the designated buffer.
+ *
+ * Also serves as getline(), via this inline wrapper in <stdio.h>:
+ *
+ * static __inline__ __attribute__((__always_inline__)) ssize_t getline
+ * ( char **RESTRICT linebuf, size_t *RESTRICT len, FILE *RESTRICT stream )
+ * { return getdelim( linebuf, len, '\n', stream ); }
+ *
+ */
+ int nextchar = EOF;
+ ssize_t count = (ssize_t)(0);
+
+ /* Caller MUST pass us valid references to locations where the
+ * buffer address, and its allocated length will be returned...
+ */
+ if( (linebuf == NULL) || (len == NULL) )
+ /*
+ * ...otherwise the call is invalid.
+ */
+ return getline_abort( EINVAL );
+
+ /* Passing a NULL pointer as the stream reference may result
+ * in a segmentation fault...
+ */
+ if( stream == NULL )
+ /* ...so also provide a graceful exit, in this case.
+ */
+ return getline_abort( EBADF );
+
+ if( feof( stream ) || ferror( stream ) )
+ /*
+ * When already at end-of-file, or following any persistent
+ * prior stream I/O error, we have nothing to return.
+ */
+ return (ssize_t)(-1);
+
+ /* Typically, the caller will initialize the line buffer to
+ * zero length, with a NULL reference pointer; (POSIX allows
+ * this, and even allows for a NULL pointer with a non-zero
+ * initial length specification, but is not explicit about
+ * how this case should be handled...
+ */
+ if( (*linebuf == NULL) && (*len > 0)
+ /*
+ * ...so we assume that we should allocate a new buffer
+ * of the specified length...
+ */
+ && ((*linebuf = malloc( *len )) == NULL) )
+ /*
+ * ...but if that isn't feasible, revert to the typical
+ * default initial zero length NULL buffer state).
+ */
+ *len = 0;
+
+ /* Okay to accept input...
+ * read character by character, until "brk" or EOF...
+ */
+ while( (nextchar != brk) && ((nextchar = fgetc( stream )) != EOF) )
+ {
+ if( ferror( stream ) )
+ /* We caught an I/O error; bail out, assuming that fgetc() has
+ * already set errno appropriately, and returning nothing.
+ */
+ return (ssize_t)(-1);
+
+ if( count == SSIZE_MAX )
+ /* We've read another character, but we've already accumulated
+ * as many as we can account for in the return value; POSIX says
+ * that we MAY fail, in this case.
+ */
+ return getline_abort( EOVERFLOW );
+
+ /* We will store the resultant string into the buffer located
+ * at the address pointed to by *linebuf; this MUST be a dynamically
+ * allocated buffer of size as specified by *len, so we may increase
+ * its size if necessary, (allowing space to accommodate the current
+ * input character, and a terminating NUL).
+ */
+ if( (count + 2) > *len )
+ { char *newbuf = realloc( *linebuf, *len + 64 );
+ if( newbuf == NULL )
+ /* Failed to expand the buffer; report insufficient memory.
+ */
+ return getline_abort( ENOMEM );
+
+ /* Buffer expansion was successful; update reference data.
+ */
+ *linebuf = newbuf;
+ *len += 64;
+ }
+
+ /* We successfully read a character; append it to the buffer.
+ */
+ (*linebuf)[count++] = nextchar;
+ }
+
+ /* Finished the current string capture; ensure that the buffer
+ * is properly terminated, by appending a NUL.
+ */
+ (*linebuf)[count] = '\0';
+
+ /* If we've successfully read at least one character, then we
+ * return the count of characters read, else we return nothing.
+ */
+ return (count > (ssize_t)(0)) ? count : (ssize_t)(-1);
+}
+
+/* $RCSfile$: end of file */
https://sf.net/p/mingw/mingw-org-wsl/ci/edf7aeb9763e81001d8e976b02215b5c94603a4b/
commit edf7aeb9763e81001d8e976b02215b5c94603a4b
Merge: e0acd92 192ced7
Author: Keith Marshall <kei...@us...>
Date: Mon Aug 1 12:55:07 2016 +0100
Merge mingwrt-3.22.1 legacy updates to 5.0-active branch.
diff --cc mingwrt/ChangeLog
index 4b712b4,a5caa09..12123cd
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@@ -1,26 -1,40 +1,68 @@@
++2016-08-01 Keith Marshall <kei...@us...>
++
++ Merge mingwrt-3.22.1 legacy updates to 5.0-active branch.
++
++ * mingwex/math/powl.c: Update per issue [#2036] workaround.
++ * mingwex/stdio/pformat.c: Likewise, per issue [#2309] resolution,
++ and subsequent 2016-07-24 optimization.
++
+ 2016-07-31 Keith Marshall <kei...@us...>
+
+ Prepare and tag all files for release of mingwrt-3.22.1.
+
+ * configure.ac (AC_INIT): Adjust package version number; append
+ patch level identification.
+
+ 2016-07-31 Keith Marshall <kei...@us...>
+
+ Interim workaround for issue [#2306].
+
+ * mingwex/math/powl.c: Tidy layout; correct indentation.
+ (powl, reducl): Use ISO-C declaration syntax; K&R is obsolescent.
+ (powl) [OVERFLOW]: Correct representation of return value, using...
+ (INFINITYL): ...this manifest constant value, instead of...
+ (MAXNUML): ...this.
+
+ 2016-07-24 Keith Marshall <kei...@us...>
+
+ Optimize printf() field width accumulation function.
+
+ * mingwex/stdio/pformat.c (__imul10plus): Omit multiply by ten on
+ already accumulated zero total; it is unnecessary, since ten times
+ zero is still zero.
+
+ 2016-07-22 Keith Marshall <kei...@us...>
+
+ Fix printf() field width parsing regression issue [#2309].
+
+ * mingwex/stdio/pformat.c (__imul10plus): Coerce any accumulated
+ negative total to zero; the only negative value to be handled is...
+ (PFORMAT_IGNORE): ...this; it ceases to be applicable, on first call
+ to __imul10plus(), to accumulate field width or precision.
+
+2016-07-19 Keith Marshall <kei...@us...>
+
+ Update install-sh to match mingw.org/build-aux package.
+
+ * install-sh: Delete it; use version in parent directory instead,
+ recreating local copy, (as symlink, if supported), on demand.
+
+2016-07-17 Keith Marshall <kei...@us...>
+
+ Eliminate redundant configuration files.
+
+ * aclocal.m4 VERSION.m4: Delete them; restore them on demand, via...
+ * Makefile.in ($top_srcdir/../%): ...this symlink dependency rule.
+
+ * configure.ac (AC_PROG_LN_S): Add configuration check.
+
+2016-07-17 Keith Marshall <kei...@us...>
+
+ Merge mingwrt-3.22 packaging correction to 5.0-active branch.
+
2016-07-17 Keith Marshall <kei...@us...>
- Correct source package omission of msvcrt-xref subdirectory.
+ Correct mingwrt-3.22 source package subdirectory omission.
* Makefile.in (mingwrt-srcdist-files): Add msvcrt-xref.
https://sf.net/p/mingw/mingw-org-wsl/ci/e0acd92412d6a50de0fe0ff689238b9cee813b5d/
commit e0acd92412d6a50de0fe0ff689238b9cee813b5d
Merge: 72b0009 68c86dc
Author: Keith Marshall <kei...@us...>
Date: Mon Aug 1 12:46:09 2016 +0100
Merge w32api-3.18.1 legacy updates to 5.0-active branch.
diff --cc w32api/ChangeLog
index 2566dd7,684c4a2..9cf61c7
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@@ -1,35 -1,46 +1,85 @@@
++2016-08-01 Keith Marshall <kei...@us...>
++
++ Merge w32api-3.18.1 legacy updates to 5.0-active branch.
++
++ * include/ddk/winddk.h: Update per issue [#2307] resolution.
++ * include/ddk/ntdddisk.h include/ddk/ntddstor.h: Likewise.
++
+ 2016-07-21 Keith Marshall <kei...@us...>
+
+ Prepare and tag all files for release of w32api-3.18.1
+
+ * configure.ac (AC_INIT): Increment patch level to 3.18.1
+
+ 2016-07-21 Keith Marshall <kei...@us...>
+
+ Resolve improper macro expansion issue [#2307].
+
+ * include/ddk/winddk.h (__FILE_AM_BUFFERED, __FILE_RD_BUFFERED)
+ (__FILE_RW_BUFFERED): Redefine, encapsulating the expansion of each
+ dependent macro WITHIN the expansion of each of these; hence...
+
+ * include/ddk/ntdddisk.h (IOCTL_DISK_GET_DRIVE_GEOMETRY)
+ (IOCTL_DISK_FORMAT_TRACKS_EX, IOCTL_DISK_REASSIGN_BLOCKS)
+ (IOCTL_DISK_GET_MEDIA_TYPES, IOCTL_DISK_CONTROLLER_NUMBER)
+ (IOCTL_DISK_GET_DRIVE_LAYOUT, IOCTL_DISK_SET_DRIVE_LAYOUT)
+ (IOCTL_DISK_GET_PARTITION_INFO, IOCTL_DISK_SET_PARTITION_INFO)
+ (IOCTL_DISK_GET_DRIVE_GEOMETRY_EX, IOCTL_DISK_UPDATE_DRIVE_SIZE)
+ (IOCTL_DISK_VERIFY, IOCTL_DISK_FORMAT_TRACKS, IOCTL_DISK_PERFORMANCE)
+ (IOCTL_DISK_CREATE_DISK, IOCTL_DISK_RESERVE, IOCTL_DISK_IS_WRITABLE)
+ (IOCTL_DISK_GET_PARTITION_INFO_EX, IOCTL_DISK_SET_PARTITION_INFO_EX)
+ (IOCTL_DISK_GET_CACHE_INFORMATION, IOCTL_DISK_SET_CACHE_INFORMATION)
+ (IOCTL_DISK_INTERNAL_SET_VERIFY, IOCTL_DISK_INTERNAL_CLEAR_VERIFY)
+ (IOCTL_DISK_GET_DRIVE_LAYOUT_EX, IOCTL_DISK_SET_DRIVE_LAYOUT_EX)
+ (IOCTL_DISK_GROW_PARTITION, IOCTL_DISK_DELETE_DRIVE_LAYOUT)
+ (IOCTL_DISK_GET_LENGTH_INFO, IOCTL_DISK_PERFORMANCE_OFF)
+ (IOCTL_DISK_CHECK_VERIFY, IOCTL_DISK_FIND_NEW_DEVICES)
+ (SMART_GET_VERSION, SMART_RCV_DRIVE_DATA, SMART_SEND_DRIVE_COMMAND):
+ ...adjust these dependent macro definitions accordingly.
+
+ * include/ddk/ntddstor.h (IOCTL_STORAGE_CHECK_VERIFY)
+ (IOCTL_STORAGE_CHECK_VERIFY2, IOCTL_STORAGE_MEDIA_REMOVAL)
+ (IOCTL_STORAGE_EJECTION_CONTROL, IOCTL_STORAGE_MCN_CONTROL)
+ (IOCTL_STORAGE_GET_DEVICE_NUMBER, IOCTL_STORAGE_PREDICT_FAILURE)
+ (IOCTL_STORAGE_GET_MEDIA_TYPES, IOCTL_STORAGE_GET_MEDIA_TYPES_EX)
+ (IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER, IOCTL_STORAGE_QUERY_PROPERTY)
+ (IOCTL_STORAGE_RELEASE, IOCTL_STORAGE_FIND_NEW_DEVICES)
+ (IOCTL_STORAGE_RESET_BUS, IOCTL_STORAGE_RESET_DEVICE)
+ (IOCTL_STORAGE_EJECT_MEDIA, IOCTL_STORAGE_LOAD_MEDIA)
+ (IOCTL_STORAGE_LOAD_MEDIA2, IOCTL_STORAGE_RESERVE): Likewise.
+
+2016-07-19 Keith Marshall <kei...@us...>
+
+ Update install-sh to match mingw.org/build-aux package.
+
+ * install-sh: Delete it; use version in parent directory instead,
+ recreating local copy, (as symlink, if supported), on demand.
+
+2016-07-17 Keith Marshall <kei...@us...>
+
+ Eliminate redundant configuration files.
+
+ * aclocal.m4 VERSION.m4: Delete them; restore them on demand, via...
+ * Makefile.in ($top_srcdir/../%): ...this symlink dependency rule.
+
+ * configure.ac (AC_PROG_LN_S): Add configuration check.
+
+2016-07-16 Keith Marshall <kei...@us...>
+
+ Discard redundant config.guess and config.sub files.
+
+ * config.guess config.sub: Delete them; they are no longer required.
+ * Makefile.in (SRCDIST_ADD): Remove related references.
+
+2016-07-16 Keith Marshall <kei...@us...>
+
+ Merge recent legacy branch updates to 5.0-active branch.
+
+ * Makefile.in include/ddk/ntifs.h include/ddk/winddk.h
+ * include/sdkddkver.h include/setupapi.h include/windows.h
+ * include/winnt.h include/winuser.h include/winver.h
+ * include/wtsapi32.h lib/wtsapi32.def: Updated.
+
2016-07-14 Keith Marshall <kei...@us...>
Prepare and tag all files for release of w32api-3.18.
-----------------------------------------------------------------------
Summary of changes:
.hgtags | 2 +
mingwrt/ChangeLog | 90 ++++++
mingwrt/Makefile.in | 8 +-
mingwrt/include/stdio.h | 26 ++-
mingwrt/man/getline.3.man | 387 ++++++++++++++++++++++++
mingwrt/mingwex/math/powl.c | 608 +++++++++++++++++++-------------------
mingwrt/mingwex/stdio/getdelim.c | 172 +++++++++++
mingwrt/mingwex/stdio/pformat.c | 457 ++++++++++++++++++++--------
w32api/ChangeLog | 50 +++
w32api/include/ddk/ntdddisk.h | 72 +++---
w32api/include/ddk/ntddstor.h | 40 ++--
w32api/include/ddk/winddk.h | 8 +-
12 files changed, 1422 insertions(+), 498 deletions(-)
create mode 100644 mingwrt/man/getline.3.man
create mode 100644 mingwrt/mingwex/stdio/getdelim.c
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2016-07-31 19:07:57
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The tag, mingwrt-3.22.1-release has been created
at 2bbfdee6ae9611a573a7e6e30f636e32b170c4c2 (commit)
- Log -----------------------------------------------------------------
commit 2bbfdee6ae9611a573a7e6e30f636e32b170c4c2
Author: Keith Marshall <kei...@us...>
Date: Sun Jul 31 18:13:53 2016 +0100
Prepare and tag all files for release of mingwrt-3.22.1.
-----------------------------------------------------------------------
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2016-07-31 19:07:55
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, legacy has been updated
via 192ced79957109f4c49d72a8b846470d0e1270d2 (commit)
via 2bbfdee6ae9611a573a7e6e30f636e32b170c4c2 (commit)
via 9dfbd74133cf492252223f82f9887a7bd2b6eba6 (commit)
from 76be37ae450b3e24c2deda9348954b79c2291b03 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/192ced79957109f4c49d72a8b846470d0e1270d2/
commit 192ced79957109f4c49d72a8b846470d0e1270d2
Author: Keith Marshall <kei...@us...>
Date: Sun Jul 31 18:14:24 2016 +0100
Added tag mingwrt-3.22.1-release for changeset c42986e81e9c
diff --git a/.hgtags b/.hgtags
index dbe562a..66dcc91 100644
--- a/.hgtags
+++ b/.hgtags
@@ -5,3 +5,4 @@ ef4db1b16b1422d4eb06cbe47f0f3c08e11d2f8d w32api-3.18-release
ef4db1b16b1422d4eb06cbe47f0f3c08e11d2f8d mingwrt-3.22-release
b1ff7f59f95a8334245c7e7c07795514e55b6921 mingwrt-3.22-release
cd1bc4d018548b498e0e74e52bea935b0904d1f2 w32api-3.18.1-release
+c42986e81e9ce0a5fcf8f09012f9d0f038032bac mingwrt-3.22.1-release
https://sf.net/p/mingw/mingw-org-wsl/ci/2bbfdee6ae9611a573a7e6e30f636e32b170c4c2/
commit 2bbfdee6ae9611a573a7e6e30f636e32b170c4c2
Author: Keith Marshall <kei...@us...>
Date: Sun Jul 31 18:13:53 2016 +0100
Prepare and tag all files for release of mingwrt-3.22.1.
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 88e1dd1..a5caa09 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,5 +1,12 @@
2016-07-31 Keith Marshall <kei...@us...>
+ Prepare and tag all files for release of mingwrt-3.22.1.
+
+ * configure.ac (AC_INIT): Adjust package version number; append
+ patch level identification.
+
+2016-07-31 Keith Marshall <kei...@us...>
+
Interim workaround for issue [#2306].
* mingwex/math/powl.c: Tidy layout; correct indentation.
diff --git a/mingwrt/configure.ac b/mingwrt/configure.ac
index 598f2b2..d33b540 100644
--- a/mingwrt/configure.ac
+++ b/mingwrt/configure.ac
@@ -29,7 +29,7 @@
# DEALINGS IN THE SOFTWARE.
#
AC_PREREQ([2.64])
- AC_INIT([MinGW C Runtime],[3.22],[http://mingw.org/Reporting_Bugs],[mingwrt])
+ AC_INIT([MinGW C Runtime],[3.22.1],[http://mingw.org/Reporting_Bugs],[mingwrt])
AC_PREFIX_DEFAULT([/mingw])
AC_CONFIG_SRCDIR([include/_mingw.h.in])
https://sf.net/p/mingw/mingw-org-wsl/ci/9dfbd74133cf492252223f82f9887a7bd2b6eba6/
commit 9dfbd74133cf492252223f82f9887a7bd2b6eba6
Author: Keith Marshall <kei...@us...>
Date: Sun Jul 31 16:44:59 2016 +0100
Interim workaround for issue [#2306].
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 6378264..88e1dd1 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,13 @@
+2016-07-31 Keith Marshall <kei...@us...>
+
+ Interim workaround for issue [#2306].
+
+ * mingwex/math/powl.c: Tidy layout; correct indentation.
+ (powl, reducl): Use ISO-C declaration syntax; K&R is obsolescent.
+ (powl) [OVERFLOW]: Correct representation of return value, using...
+ (INFINITYL): ...this manifest constant value, instead of...
+ (MAXNUML): ...this.
+
2016-07-24 Keith Marshall <kei...@us...>
Optimize printf() field width accumulation function.
diff --git a/mingwrt/mingwex/math/powl.c b/mingwrt/mingwex/math/powl.c
index b425d9e..03d7122 100644
--- a/mingwrt/mingwex/math/powl.c
+++ b/mingwrt/mingwex/math/powl.c
@@ -1,6 +1,7 @@
-/* powl.c
+/*
+ * powl.c
*
- * Power function, long double precision
+ * Power function, long double precision
*
*
*
@@ -445,334 +446,333 @@ __fast_ldexpl (long double x, int expn)
#endif
-long double powl( x, y )
-long double x, y;
+long double powl( long double x, long double y )
{
-/* double F, Fa, Fb, G, Ga, Gb, H, Ha, Hb */
-int i, nflg, iyflg, yoddint;
-long e;
+ /* double F, Fa, Fb, G, Ga, Gb, H, Ha, Hb */
+ int i, nflg, iyflg, yoddint;
+ long e;
-if( y == 0.0L )
- return( 1.0L );
+ if( y == 0.0L )
+ return( 1.0L );
#ifdef NANS
-if( isnanl(x) )
- {
- _SET_ERRNO (EDOM);
- return( x );
- }
-if( isnanl(y) )
- {
- _SET_ERRNO (EDOM);
- return( y );
- }
+ if( isnanl(x) )
+ {
+ _SET_ERRNO (EDOM);
+ return( x );
+ }
+ if( isnanl(y) )
+ {
+ _SET_ERRNO (EDOM);
+ return( y );
+ }
#endif
-if( y == 1.0L )
- return( x );
+ if( y == 1.0L )
+ return( x );
-if( isinfl(y) && (x == -1.0L || x == 1.0L) )
- return( y );
+ if( isinfl(y) && (x == -1.0L || x == 1.0L) )
+ return( y );
-if( x == 1.0L )
- return( 1.0L );
+ if( x == 1.0L )
+ return( 1.0L );
-if( y >= MAXNUML )
- {
- _SET_ERRNO (ERANGE);
+ if( y >= MAXNUML )
+ {
+ _SET_ERRNO (ERANGE);
#ifdef INFINITIES
- if( x > 1.0L )
- return( INFINITYL );
+ if( x > 1.0L )
+ return( INFINITYL );
#else
- if( x > 1.0L )
- return( MAXNUML );
+ if( x > 1.0L )
+ return( MAXNUML );
#endif
- if( x > 0.0L && x < 1.0L )
- return( 0.0L );
+ if( x > 0.0L && x < 1.0L )
+ return( 0.0L );
#ifdef INFINITIES
- if( x < -1.0L )
- return( INFINITYL );
+ if( x < -1.0L )
+ return( INFINITYL );
#else
- if( x < -1.0L )
- return( MAXNUML );
+ if( x < -1.0L )
+ return( MAXNUML );
#endif
- if( x > -1.0L && x < 0.0L )
- return( 0.0L );
- }
-if( y <= -MAXNUML )
- {
- _SET_ERRNO (ERANGE);
- if( x > 1.0L )
- return( 0.0L );
+ if( x > -1.0L && x < 0.0L )
+ return( 0.0L );
+ }
+ if( y <= -MAXNUML )
+ {
+ _SET_ERRNO (ERANGE);
+ if( x > 1.0L )
+ return( 0.0L );
#ifdef INFINITIES
- if( x > 0.0L && x < 1.0L )
- return( INFINITYL );
+ if( x > 0.0L && x < 1.0L )
+ return( INFINITYL );
#else
- if( x > 0.0L && x < 1.0L )
- return( MAXNUML );
+ if( x > 0.0L && x < 1.0L )
+ return( MAXNUML );
#endif
- if( x < -1.0L )
- return( 0.0L );
+ if( x < -1.0L )
+ return( 0.0L );
#ifdef INFINITIES
- if( x > -1.0L && x < 0.0L )
- return( INFINITYL );
+ if( x > -1.0L && x < 0.0L )
+ return( INFINITYL );
#else
- if( x > -1.0L && x < 0.0L )
- return( MAXNUML );
+ if( x > -1.0L && x < 0.0L )
+ return( MAXNUML );
#endif
- }
-if( x >= MAXNUML )
- {
+ }
+ if( x >= MAXNUML )
+ {
#if INFINITIES
- if( y > 0.0L )
- return( INFINITYL );
+ if( y > 0.0L )
+ return( INFINITYL );
#else
- if( y > 0.0L )
- return( MAXNUML );
+ if( y > 0.0L )
+ return( MAXNUML );
#endif
- return( 0.0L );
- }
-
-w = floorl(y);
-/* Set iyflg to 1 if y is an integer. */
-iyflg = 0;
-if( w == y )
- iyflg = 1;
-
-/* Test for odd integer y. */
-yoddint = 0;
-if( iyflg )
- {
- ya = fabsl(y);
- ya = floorl(0.5L * ya);
- yb = 0.5L * fabsl(w);
- if( ya != yb )
- yoddint = 1;
- }
-
-if( x <= -MAXNUML )
- {
- if( y > 0.0L )
- {
+ return( 0.0L );
+ }
+
+ w = floorl(y);
+ /* Set iyflg to 1 if y is an integer. */
+ iyflg = 0;
+ if( w == y )
+ iyflg = 1;
+
+ /* Test for odd integer y. */
+ yoddint = 0;
+ if( iyflg )
+ {
+ ya = fabsl(y);
+ ya = floorl(0.5L * ya);
+ yb = 0.5L * fabsl(w);
+ if( ya != yb )
+ yoddint = 1;
+ }
+
+ if( x <= -MAXNUML )
+ {
+ if( y > 0.0L )
+ {
#ifdef INFINITIES
- if( yoddint )
- return( -INFINITYL );
- return( INFINITYL );
+ if( yoddint )
+ return( -INFINITYL );
+ return( INFINITYL );
#else
- if( yoddint )
- return( -MAXNUML );
- return( MAXNUML );
+ if( yoddint )
+ return( -MAXNUML );
+ return( MAXNUML );
#endif
- }
- if( y < 0.0L )
- {
+ }
+ if( y < 0.0L )
+ {
#ifdef MINUSZERO
- if( yoddint )
- return( NEGZEROL );
+ if( yoddint )
+ return( NEGZEROL );
#endif
- return( 0.0 );
- }
- }
-
-
-nflg = 0; /* flag = 1 if x<0 raised to integer power */
-if( x <= 0.0L )
- {
- if( x == 0.0L )
- {
- if( y < 0.0 )
- {
+ return( 0.0 );
+ }
+ }
+
+
+ nflg = 0; /* flag = 1 if x<0 raised to integer power */
+ if( x <= 0.0L )
+ {
+ if( x == 0.0L )
+ {
+ if( y < 0.0 )
+ {
#ifdef MINUSZERO
- if( signbitl(x) && yoddint )
- return( -INFINITYL );
+ if( signbitl(x) && yoddint )
+ return( -INFINITYL );
#endif
#ifdef INFINITIES
- return( INFINITYL );
+ return( INFINITYL );
#else
- return( MAXNUML );
+ return( MAXNUML );
#endif
- }
- if( y > 0.0 )
- {
+ }
+ if( y > 0.0 )
+ {
#ifdef MINUSZERO
- if( signbitl(x) && yoddint )
- return( NEGZEROL );
+ if( signbitl(x) && yoddint )
+ return( NEGZEROL );
#endif
- return( 0.0 );
- }
- if( y == 0.0L )
- return( 1.0L ); /* 0**0 */
- else
- return( 0.0L ); /* 0**y */
- }
- else
- {
- if( iyflg == 0 )
- { /* noninteger power of negative number */
- mtherr( fname, DOMAIN );
- _SET_ERRNO (EDOM);
+ return( 0.0 );
+ }
+ if( y == 0.0L )
+ return( 1.0L ); /* 0**0 */
+ else
+ return( 0.0L ); /* 0**y */
+ }
+ else
+ {
+ if( iyflg == 0 )
+ { /* noninteger power of negative number */
+ mtherr( fname, DOMAIN );
+ _SET_ERRNO (EDOM);
#ifdef NANS
- return(NANL);
+ return(NANL);
#else
- return(0.0L);
+ return(0.0L);
#endif
- }
- nflg = 1;
- }
- }
-
-/* Integer power of an integer. */
-
-if( iyflg )
- {
- i = w;
- w = floorl(x);
- if( (w == x) && (fabsl(y) < 32768.0) )
- {
- w = __powil( x, (int) y );
- return( w );
- }
- }
-
-
-if( nflg )
- x = fabsl(x);
-
-/* separate significand from exponent */
-x = frexpl( x, &i );
-e = i;
-
-/* find significand in antilog table A[] */
-i = 1;
-if( x <= douba(17) )
- i = 17;
-if( x <= douba(i+8) )
- i += 8;
-if( x <= douba(i+4) )
- i += 4;
-if( x <= douba(i+2) )
- i += 2;
-if( x >= douba(1) )
- i = -1;
-i += 1;
-
-
-/* Find (x - A[i])/A[i]
- * in order to compute log(x/A[i]):
- *
- * log(x) = log( a x/a ) = log(a) + log(x/a)
- *
- * log(x/a) = log(1+v), v = x/a - 1 = (x-a)/a
- */
-x -= douba(i);
-x -= doubb(i/2);
-x /= douba(i);
-
-
-/* rational approximation for log(1+v):
- *
- * log(1+v) = v - v**2/2 + v**3 P(v) / Q(v)
- */
-z = x*x;
-w = x * ( z * polevll( x, P, 3 ) / p1evll( x, Q, 3 ) );
-w = w - ldexpl( z, -1 ); /* w - 0.5 * z */
-
-/* Convert to base 2 logarithm:
- * multiply by log2(e) = 1 + LOG2EA
- */
-z = LOG2EA * w;
-z += w;
-z += LOG2EA * x;
-z += x;
-
-/* Compute exponent term of the base 2 logarithm. */
-w = -i;
-w = ldexpl( w, -LNXT ); /* divide by NXT */
-w += e;
-/* Now base 2 log of x is w + z. */
-
-/* Multiply base 2 log by y, in extended precision. */
-
-/* separate y into large part ya
- * and small part yb less than 1/NXT
- */
-ya = reducl(y);
-yb = y - ya;
-
-/* (w+z)(ya+yb)
- * = w*ya + w*yb + z*y
- */
-F = z * y + w * yb;
-Fa = reducl(F);
-Fb = F - Fa;
-
-G = Fa + w * ya;
-Ga = reducl(G);
-Gb = G - Ga;
-
-H = Fb + Gb;
-Ha = reducl(H);
-w = ldexpl( Ga + Ha, LNXT );
-
-/* Test the power of 2 for overflow */
-if( w > MEXP )
- {
- _SET_ERRNO (ERANGE);
- mtherr( fname, OVERFLOW );
- return( MAXNUML );
- }
-
-if( w < MNEXP )
- {
- _SET_ERRNO (ERANGE);
- mtherr( fname, UNDERFLOW );
- return( 0.0L );
- }
-
-e = w;
-Hb = H - Ha;
-
-if( Hb > 0.0L )
- {
- e += 1;
- Hb -= (1.0L/NXT); /*0.0625L;*/
- }
-
-/* Now the product y * log2(x) = Hb + e/NXT.
- *
- * Compute base 2 exponential of Hb,
- * where -0.0625 <= Hb <= 0.
- */
-z = Hb * polevll( Hb, R, 6 ); /* z = 2**Hb - 1 */
-
-/* Express e/NXT as an integer plus a negative number of (1/NXT)ths.
- * Find lookup table entry for the fractional power of 2.
- */
-if( e < 0 )
- i = 0;
-else
- i = 1;
-i = e/NXT + i;
-e = NXT*i - e;
-w = douba( e );
-z = w * z; /* 2**-e * ( 1 + (2**Hb-1) ) */
-z = z + w;
-z = ldexpl( z, i ); /* multiply by integer power of 2 */
-
-if( nflg )
- {
-/* For negative x,
- * find out if the integer exponent
- * is odd or even.
- */
- w = ldexpl( y, -1 );
- w = floorl(w);
- w = ldexpl( w, 1 );
- if( w != y )
- z = -z; /* odd exponent */
- }
-
-return( z );
+ }
+ nflg = 1;
+ }
+ }
+
+ /* Integer power of an integer. */
+
+ if( iyflg )
+ {
+ i = w;
+ w = floorl(x);
+ if( (w == x) && (fabsl(y) < 32768.0) )
+ {
+ w = __powil( x, (int) y );
+ return( w );
+ }
+ }
+
+
+ if( nflg )
+ x = fabsl(x);
+
+ /* separate significand from exponent */
+ x = frexpl( x, &i );
+ e = i;
+
+ /* find significand in antilog table A[] */
+ i = 1;
+ if( x <= douba(17) )
+ i = 17;
+ if( x <= douba(i+8) )
+ i += 8;
+ if( x <= douba(i+4) )
+ i += 4;
+ if( x <= douba(i+2) )
+ i += 2;
+ if( x >= douba(1) )
+ i = -1;
+ i += 1;
+
+
+ /* Find (x - A[i])/A[i]
+ * in order to compute log(x/A[i]):
+ *
+ * log(x) = log( a x/a ) = log(a) + log(x/a)
+ *
+ * log(x/a) = log(1+v), v = x/a - 1 = (x-a)/a
+ */
+ x -= douba(i);
+ x -= doubb(i/2);
+ x /= douba(i);
+
+
+ /* rational approximation for log(1+v):
+ *
+ * log(1+v) = v - v**2/2 + v**3 P(v) / Q(v)
+ */
+ z = x*x;
+ w = x * ( z * polevll( x, P, 3 ) / p1evll( x, Q, 3 ) );
+ w = w - ldexpl( z, -1 ); /* w - 0.5 * z */
+
+ /* Convert to base 2 logarithm:
+ * multiply by log2(e) = 1 + LOG2EA
+ */
+ z = LOG2EA * w;
+ z += w;
+ z += LOG2EA * x;
+ z += x;
+
+ /* Compute exponent term of the base 2 logarithm. */
+ w = -i;
+ w = ldexpl( w, -LNXT ); /* divide by NXT */
+ w += e;
+ /* Now base 2 log of x is w + z. */
+
+ /* Multiply base 2 log by y, in extended precision. */
+
+ /* separate y into large part ya
+ * and small part yb less than 1/NXT
+ */
+ ya = reducl(y);
+ yb = y - ya;
+
+ /* (w+z)(ya+yb)
+ * = w*ya + w*yb + z*y
+ */
+ F = z * y + w * yb;
+ Fa = reducl(F);
+ Fb = F - Fa;
+
+ G = Fa + w * ya;
+ Ga = reducl(G);
+ Gb = G - Ga;
+
+ H = Fb + Gb;
+ Ha = reducl(H);
+ w = ldexpl( Ga + Ha, LNXT );
+
+ /* Test the power of 2 for overflow */
+ if( w > MEXP )
+ {
+ _SET_ERRNO (ERANGE);
+ mtherr( fname, OVERFLOW );
+ return( INFINITYL );
+ }
+
+ if( w < MNEXP )
+ {
+ _SET_ERRNO (ERANGE);
+ mtherr( fname, UNDERFLOW );
+ return( 0.0L );
+ }
+
+ e = w;
+ Hb = H - Ha;
+
+ if( Hb > 0.0L )
+ {
+ e += 1;
+ Hb -= (1.0L/NXT); /*0.0625L;*/
+ }
+
+ /* Now the product y * log2(x) = Hb + e/NXT.
+ *
+ * Compute base 2 exponential of Hb,
+ * where -0.0625 <= Hb <= 0.
+ */
+ z = Hb * polevll( Hb, R, 6 ); /* z = 2**Hb - 1 */
+
+ /* Express e/NXT as an integer plus a negative number of (1/NXT)ths.
+ * Find lookup table entry for the fractional power of 2.
+ */
+ if( e < 0 )
+ i = 0;
+ else
+ i = 1;
+ i = e/NXT + i;
+ e = NXT*i - e;
+ w = douba( e );
+ z = w * z; /* 2**-e * ( 1 + (2**Hb-1) ) */
+ z = z + w;
+ z = ldexpl( z, i ); /* multiply by integer power of 2 */
+
+ if( nflg )
+ {
+ /* For negative x,
+ * find out if the integer exponent
+ * is odd or even.
+ */
+ w = ldexpl( y, -1 );
+ w = floorl(w);
+ w = ldexpl( w, 1 );
+ if( w != y )
+ z = -z; /* odd exponent */
+ }
+
+ return( z );
}
static __inline__ long double
@@ -786,18 +786,18 @@ __convert_inf_to_maxnum(long double x)
/* Find a multiple of 1/NXT that is within 1/NXT of x. */
-static __inline__ long double reducl(x)
-long double x;
+static __inline__ long double reducl( long double x )
{
-long double t;
-
-/* If the call to ldexpl overflows, set it to MAXNUML.
- This avoids Inf - Inf = Nan result when calculating the 'small'
- part of a reduction. Instead, the small part becomes Inf,
- causing under/overflow when adding it to the 'large' part.
- There must be a cleaner way of doing this. */
-t = __convert_inf_to_maxnum (ldexpl( x, LNXT ));
-t = floorl( t );
-t = ldexpl( t, -LNXT );
-return(t);
+ long double t;
+
+ /* If the call to ldexpl overflows, set it to MAXNUML.
+ * This avoids Inf - Inf = Nan result when calculating the 'small'
+ * part of a reduction. Instead, the small part becomes Inf,
+ * causing under/overflow when adding it to the 'large' part.
+ * There must be a cleaner way of doing this.
+ */
+ t = __convert_inf_to_maxnum (ldexpl( x, LNXT ));
+ t = floorl( t );
+ t = ldexpl( t, -LNXT );
+ return(t);
}
-----------------------------------------------------------------------
Summary of changes:
.hgtags | 1 +
mingwrt/ChangeLog | 17 ++
mingwrt/configure.ac | 2 +-
mingwrt/mingwex/math/powl.c | 608 +++++++++++++++++++++---------------------
4 files changed, 323 insertions(+), 305 deletions(-)
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2016-07-31 18:48:49
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-dist".
The branch, master has been updated
via 489c8bcc0e856dda2c767d0b3aed32d617e6774b (commit)
from 5f44598116a4c643ec72907631d4df92fa2bf070 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-dist/ci/489c8bcc0e856dda2c767d0b3aed32d617e6774b/
commit 489c8bcc0e856dda2c767d0b3aed32d617e6774b
Author: Keith Marshall <kei...@us...>
Date: Sun Jul 31 19:45:25 2016 +0100
Publish mingwrt-3.22.1.
diff --git a/ChangeLog b/ChangeLog
index 4d5406c..73fac1d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,17 @@
+2016-07-31 Keith Marshall <kei...@us...>
+
+ Publish mingwrt-3.22.1.
+
+ * mingw32/mingw32-runtime.xml (mingwrt-3.22.1-dev)
+ (mingwrt-3.22.1-dll mingwrt-3.22.1-lic mingwrt-3.22.1-man): Add
+ component package release records.
+ * common/issue.log mingw32/issue.log: Update accordingly.
+
2016-07-24 Keith Marshall <kei...@us...>
Publish w32api-3.18.1.
* mingw32/mingw32-runtime.xml (w32api-3.18.1-dev): Add release record.
-
* common/issue.log mingw32/issue.log: Update accordingly.
2016-07-15 Cesar Strauss <ces...@gm...>
diff --git a/common/issue.log b/common/issue.log
index 5f678cf..9c223ab 100644
--- a/common/issue.log
+++ b/common/issue.log
@@ -23,6 +23,6 @@
# MinGW Project, accept liability for any damages, however caused,
# arising from the use of this software.
#
- c6a9068e183254c0b930ac6e1a70fd81743dc212 2016072401 package-list.xml
+ c6a9068e183254c0b930ac6e1a70fd81743dc212 2016073100 package-list.xml
#
# $RCSfile$: end of file
diff --git a/mingw32/issue.log b/mingw32/issue.log
index 72efdf4..b8d38e1 100644
--- a/mingw32/issue.log
+++ b/mingw32/issue.log
@@ -50,11 +50,11 @@
cd33ad74b608bce33ea297801253e6efbafce27c 2012073100 mingw32-mingw-utils.xml
8d3a7125499a85916b53efb4c897ac907e2490ab 2015082000 mingw32-mpc.xml
8a11de23e7a89fd11436bdf162ef90712f30101b 2013102300 mingw32-mpfr.xml
- 56f4032058328cacfabe64fa46706d72c2fa931e 2016072400 mingw32-package-list.xml
+ 56f4032058328cacfabe64fa46706d72c2fa931e 2016073100 mingw32-package-list.xml
1f15439ee5f66ec22321c7aa853559b6f8f7172f 2015090800 mingw32-pexports.xml
cdb2a4dbedfc9f2cdfc92340f6f9b12da061c0d9 2012073100 mingw32-popt.xml
0a5d210a13d073104fb74b4f9c081674c9745cd1 2013090900 mingw32-pthreads-w32.xml
- c14679e51cb0d73f85ff23739085e5db44e1f328 2016072400 mingw32-runtime.xml
+ 61adccdf6a1167fd46f6c066e776c661410d5eb2 2016073100 mingw32-runtime.xml
12acb32f80e49c893167cfae82e448dd766d49bb 2013070100 mingw32-wsl-candidate.xml
247a02890f109a5fe4996fde4af9d576dca3cd1e 2012073100 mingw32-xz.xml
c223ecd7389eb02948b54f8959d595cf608306a7 2013101200 mingw32-zlib.xml
diff --git a/mingw32/mingw32-runtime.xml b/mingw32/mingw32-runtime.xml
index 19a75b3..da4e41e 100644
--- a/mingw32/mingw32-runtime.xml
+++ b/mingw32/mingw32-runtime.xml
@@ -30,6 +30,7 @@
<component class="dev">
<requires eq="mingwrt-%-mingw32-dll.tar" />
<release tarname="mingwrt-3.22-mingw32-dev.tar.xz" />
+ <release tarname="mingwrt-3.22.1-mingw32-dev.tar.xz" />
<release tarname="mingwrt-3.21-mingw32-dev.tar.xz" />
<release tarname="mingwrt-3.21.1-mingw32-dev.tar.xz" />
<release tarname="mingwrt-3.20-2-mingw32-dev.tar.lzma">
@@ -52,6 +53,7 @@
<component class="dll">
<release tarname="mingwrt-3.22-mingw32-dll.tar.xz" />
+ <release tarname="mingwrt-3.22.1-mingw32-dll.tar.xz" />
<release tarname="mingwrt-3.21-mingw32-dll.tar.xz" />
<release tarname="mingwrt-3.21.1-mingw32-dll.tar.xz" />
<release tarname="mingwrt-3.20-2-mingw32-dll.tar.lzma" />
@@ -62,6 +64,7 @@
<component class="lic">
<release tarname="mingwrt-3.22-mingw32-lic.tar.xz" />
+ <release tarname="mingwrt-3.22.1-mingw32-lic.tar.xz" />
<release tarname="mingwrt-3.21-mingw32-lic.tar.xz" />
<release tarname="mingwrt-3.21.1-mingw32-lic.tar.xz" />
<release tarname="mingwrt-3.20-2-mingw32-lic.tar.lzma">
@@ -84,6 +87,7 @@
<component class="man">
<release tarname="mingwrt-3.22-mingw32-man.tar.xz" />
+ <release tarname="mingwrt-3.22.1-mingw32-man.tar.xz" />
<release tarname="mingwrt-3.21-mingw32-man.tar.xz" />
<release tarname="mingwrt-3.21.1-mingw32-man.tar.xz" />
<release tarname="mingwrt-3.20-2-mingw32-man.tar.lzma">
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 10 +++++++++-
common/issue.log | 2 +-
mingw32/issue.log | 4 ++--
mingw32/mingw32-runtime.xml | 4 ++++
4 files changed, 16 insertions(+), 4 deletions(-)
hooks/post-receive
--
Repository: mingw-dist
|
|
From: Keith M. <no...@so...> - 2016-07-24 21:09:11
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-dist".
The branch, master has been updated
via 5f44598116a4c643ec72907631d4df92fa2bf070 (commit)
from dd97453226061478342381dab317d6aac4b824b9 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-dist/ci/5f44598116a4c643ec72907631d4df92fa2bf070/
commit 5f44598116a4c643ec72907631d4df92fa2bf070
Author: Keith Marshall <kei...@us...>
Date: Sun Jul 24 22:08:55 2016 +0100
Publish w32api-3.18.1.
diff --git a/ChangeLog b/ChangeLog
index a25e267..4d5406c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2016-07-24 Keith Marshall <kei...@us...>
+
+ Publish w32api-3.18.1.
+
+ * mingw32/mingw32-runtime.xml (w32api-3.18.1-dev): Add release record.
+
+ * common/issue.log mingw32/issue.log: Update accordingly.
+
2016-07-15 Cesar Strauss <ces...@gm...>
Upgrade msys-core to version 1.0.19.
diff --git a/common/issue.log b/common/issue.log
index 7d38e6e..5f678cf 100644
--- a/common/issue.log
+++ b/common/issue.log
@@ -23,6 +23,6 @@
# MinGW Project, accept liability for any damages, however caused,
# arising from the use of this software.
#
- c6a9068e183254c0b930ac6e1a70fd81743dc212 2016071502 package-list.xml
+ c6a9068e183254c0b930ac6e1a70fd81743dc212 2016072401 package-list.xml
#
# $RCSfile$: end of file
diff --git a/mingw32/issue.log b/mingw32/issue.log
index 679d2cd..72efdf4 100644
--- a/mingw32/issue.log
+++ b/mingw32/issue.log
@@ -50,11 +50,11 @@
cd33ad74b608bce33ea297801253e6efbafce27c 2012073100 mingw32-mingw-utils.xml
8d3a7125499a85916b53efb4c897ac907e2490ab 2015082000 mingw32-mpc.xml
8a11de23e7a89fd11436bdf162ef90712f30101b 2013102300 mingw32-mpfr.xml
- 56f4032058328cacfabe64fa46706d72c2fa931e 2016071500 mingw32-package-list.xml
+ 56f4032058328cacfabe64fa46706d72c2fa931e 2016072400 mingw32-package-list.xml
1f15439ee5f66ec22321c7aa853559b6f8f7172f 2015090800 mingw32-pexports.xml
cdb2a4dbedfc9f2cdfc92340f6f9b12da061c0d9 2012073100 mingw32-popt.xml
0a5d210a13d073104fb74b4f9c081674c9745cd1 2013090900 mingw32-pthreads-w32.xml
- 73cfdf0a26055e9333b48f71c39567d678fa48cc 2016071500 mingw32-runtime.xml
+ c14679e51cb0d73f85ff23739085e5db44e1f328 2016072400 mingw32-runtime.xml
12acb32f80e49c893167cfae82e448dd766d49bb 2013070100 mingw32-wsl-candidate.xml
247a02890f109a5fe4996fde4af9d576dca3cd1e 2012073100 mingw32-xz.xml
c223ecd7389eb02948b54f8959d595cf608306a7 2013101200 mingw32-zlib.xml
diff --git a/mingw32/mingw32-runtime.xml b/mingw32/mingw32-runtime.xml
index 1a88484..19a75b3 100644
--- a/mingw32/mingw32-runtime.xml
+++ b/mingw32/mingw32-runtime.xml
@@ -124,6 +124,7 @@
<licence tarname="w32api-%-mingw32-dev.tar.%" />
<component class="dev">
+ <release tarname="w32api-3.18.1-mingw32-dev.tar.xz" />
<release tarname="w32api-3.18-mingw32-dev.tar.xz" />
<release tarname="w32api-3.17-2-mingw32-dev.tar.lzma" />
<release tarname="w32api-3.17-1-mingw32-dev.tar.lzma" />
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 8 ++++++++
common/issue.log | 2 +-
mingw32/issue.log | 4 ++--
mingw32/mingw32-runtime.xml | 1 +
4 files changed, 12 insertions(+), 3 deletions(-)
hooks/post-receive
--
Repository: mingw-dist
|
|
From: Keith M. <no...@so...> - 2016-07-24 15:42:59
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, legacy has been updated
via 76be37ae450b3e24c2deda9348954b79c2291b03 (commit)
from 7a511c73f74aae29157a66c02304be61844606d4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/76be37ae450b3e24c2deda9348954b79c2291b03/
commit 76be37ae450b3e24c2deda9348954b79c2291b03
Author: Keith Marshall <kei...@us...>
Date: Sun Jul 24 16:35:49 2016 +0100
Optimize printf() field width accumulation function.
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 7347834..6378264 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,11 @@
+2016-07-24 Keith Marshall <kei...@us...>
+
+ Optimize printf() field width accumulation function.
+
+ * mingwex/stdio/pformat.c (__imul10plus): Omit multiply by ten on
+ already accumulated zero total; it is unnecessary, since ten times
+ zero is still zero.
+
2016-07-22 Keith Marshall <kei...@us...>
Fix printf() field width parsing regression issue [#2309].
diff --git a/mingwrt/mingwex/stdio/pformat.c b/mingwrt/mingwex/stdio/pformat.c
index a40ef02..593e712 100644
--- a/mingwrt/mingwex/stdio/pformat.c
+++ b/mingwrt/mingwex/stdio/pformat.c
@@ -1758,7 +1758,7 @@ static __pformat_inline__
* able to override an initial PFORMAT_IGNORE (-1) setting).
*/
int __pformat_imul10plus( int total, int units )
-{ return units + ((total >= 0) ? ((total + (total << 2)) << 1) : 0); }
+{ return units + ((total > 0) ? ((total + (total << 2)) << 1) : 0); }
static
int __pformat_read_arg_index( const char **fmt )
-----------------------------------------------------------------------
Summary of changes:
mingwrt/ChangeLog | 8 ++++++++
mingwrt/mingwex/stdio/pformat.c | 2 +-
2 files changed, 9 insertions(+), 1 deletions(-)
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2016-07-24 14:55:59
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, 5.0-active has been updated
via 72b00095f9eb8196e3136a9bb1214e0052e05af8 (commit)
from 7113e04924002634443c4a300ecb13ab14abaf1e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/72b00095f9eb8196e3136a9bb1214e0052e05af8/
commit 72b00095f9eb8196e3136a9bb1214e0052e05af8
Author: Keith Marshall <kei...@us...>
Date: Tue Jul 19 11:02:00 2016 +0100
Update install-sh to match mingw.org/build-aux package.
diff --git a/.gitignore b/.gitignore
index 6c29be6..f611c50 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,8 +4,10 @@ configure
autom4te.cache
mingwrt/aclocal.m4
mingwrt/VERSION.m4
+mingwrt/install-sh
w32api/aclocal.m4
w32api/VERSION.m4
+w32api/install-sh
config.status
missing
depcomp
diff --git a/.hgignore b/.hgignore
index de18271..6789495 100644
--- a/.hgignore
+++ b/.hgignore
@@ -3,7 +3,7 @@ build/
Makefile
configure
autom4te.cache/
-{mingwrt,w32api}/{aclocal,VERSION}.m4
+{mingwrt,w32api}/{{aclocal,VERSION}.m4,install-sh}
config.status
**.swp
**.log
diff --git a/ChangeLog b/ChangeLog
index c420f58..ee3de1a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2016-07-19 Keith Marshall <kei...@us...>
+
+ Update install-sh to match mingw.org/build-aux package.
+
+ * install-sh: New file; copied from build-aux package, it replaces...
+ * mingwrt/install-sh w32api/install-sh: ...both of these.
+
2016-07-17 Keith Marshall <kei...@us...>
Eliminate redundant configuration files.
diff --git a/configure.ac b/configure.ac
index 193b7c9..bdf0a4a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -30,7 +30,6 @@
#
AC_PREREQ([2.64])
AC_INIT([MinGW System Libraries],[__VERSION__],[__BUG_REPORT_URL__],[wsl])
- AC_CONFIG_AUX_DIR([mingwrt])
AC_PROG_MKDIR_P
AC_PATH_PROG([LN],[ln],[ln])
diff --git a/install-sh b/install-sh
new file mode 100755
index 0000000..a5897de
--- /dev/null
+++ b/install-sh
@@ -0,0 +1,519 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2006-12-25.00
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+
+nl='
+'
+IFS=" "" $nl"
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit=${DOITPROG-}
+if test -z "$doit"; then
+ doit_exec=exec
+else
+ doit_exec=$doit
+fi
+
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_glob='?'
+initialize_posix_glob='
+ test "$posix_glob" != "?" || {
+ if (set -f) 2>/dev/null; then
+ posix_glob=
+ else
+ posix_glob=:
+ fi
+ }
+'
+
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
+rmcmd="$rmprog -f"
+stripcmd=
+
+src=
+dst=
+dir_arg=
+dst_arg=
+
+copy_on_change=false
+no_target_directory=
+
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+ or: $0 [OPTION]... SRCFILES... DIRECTORY
+ or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+ or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+ --help display this help and exit.
+ --version display version info and exit.
+
+ -c (ignored)
+ -C install only if different (preserve the last data modification time)
+ -d create directories instead of installing files.
+ -g GROUP $chgrpprog installed files to GROUP.
+ -m MODE $chmodprog installed files to MODE.
+ -o USER $chownprog installed files to USER.
+ -s $stripprog installed files.
+ -t DIRECTORY install into DIRECTORY.
+ -T report an error if DSTFILE is a directory.
+
+Environment variables override the default commands:
+ CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+ RMPROG STRIPPROG
+"
+
+while test $# -ne 0; do
+ case $1 in
+ -c) ;;
+
+ -C) copy_on_change=true;;
+
+ -d) dir_arg=true;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift;;
+
+ --help) echo "$usage"; exit $?;;
+
+ -m) mode=$2
+ case $mode in
+ *' '* | *' '* | *'
+'* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
+
+ -o) chowncmd="$chownprog $2"
+ shift;;
+
+ -s) stripcmd=$stripprog;;
+
+ -t) dst_arg=$2
+ shift;;
+
+ -T) no_target_directory=true;;
+
+ --version) echo "$0 $scriptversion"; exit $?;;
+
+ --) shift
+ break;;
+
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
+
+ *) break;;
+ esac
+ shift
+done
+
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+ # When -d is used, all remaining arguments are directories to create.
+ # When -t is used, the destination is already specified.
+ # Otherwise, the last argument is the destination. Remove it from $@.
+ for arg
+ do
+ if test -n "$dst_arg"; then
+ # $@ is not empty: it contains at least $arg.
+ set fnord "$@" "$dst_arg"
+ shift # fnord
+ fi
+ shift # arg
+ dst_arg=$arg
+ done
+fi
+
+if test $# -eq 0; then
+ if test -z "$dir_arg"; then
+ echo "$0: no input file specified." >&2
+ exit 1
+ fi
+ # It's OK to call `install-sh -d' without argument.
+ # This can happen when creating conditional directories.
+ exit 0
+fi
+
+if test -z "$dir_arg"; then
+ trap '(exit $?); exit' 1 2 13 15
+
+ # Set umask so as not to create temps with too-generous modes.
+ # However, 'strip' requires both read and write access to temps.
+ case $mode in
+ # Optimize common cases.
+ *644) cp_umask=133;;
+ *755) cp_umask=22;;
+
+ *[0-7])
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw='% 200'
+ fi
+ cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+ *)
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw=,u+rw
+ fi
+ cp_umask=$mode$u_plus_rw;;
+ esac
+fi
+
+for src
+do
+ # Protect names starting with `-'.
+ case $src in
+ -*) src=./$src;;
+ esac
+
+ if test -n "$dir_arg"; then
+ dst=$src
+ dstdir=$dst
+ test -d "$dstdir"
+ dstdir_status=$?
+ else
+
+ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+ # might cause directories to be created, which would be especially bad
+ # if $src (and thus $dsttmp) contains '*'.
+ if test ! -f "$src" && test ! -d "$src"; then
+ echo "$0: $src does not exist." >&2
+ exit 1
+ fi
+
+ if test -z "$dst_arg"; then
+ echo "$0: no destination specified." >&2
+ exit 1
+ fi
+
+ dst=$dst_arg
+ # Protect names starting with `-'.
+ case $dst in
+ -*) dst=./$dst;;
+ esac
+
+ # If destination is a directory, append the input filename; won't work
+ # if double slashes aren't ignored.
+ if test -d "$dst"; then
+ if test -n "$no_target_directory"; then
+ echo "$0: $dst_arg: Is a directory" >&2
+ exit 1
+ fi
+ dstdir=$dst
+ dst=$dstdir/`basename "$src"`
+ dstdir_status=0
+ else
+ # Prefer dirname, but fall back on a substitute if dirname fails.
+ dstdir=`
+ (dirname "$dst") 2>/dev/null ||
+ expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$dst" : 'X\(//\)[^/]' \| \
+ X"$dst" : 'X\(//\)$' \| \
+ X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+ echo X"$dst" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'
+ `
+
+ test -d "$dstdir"
+ dstdir_status=$?
+ fi
+ fi
+
+ obsolete_mkdir_used=false
+
+ if test $dstdir_status != 0; then
+ case $posix_mkdir in
+ '')
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ if (umask $mkdir_umask &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writeable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/d" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
+ esac
+
+ if
+ $posix_mkdir && (
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ )
+ then :
+ else
+
+ # The umask is ridiculous, or mkdir does not conform to POSIX,
+ # or it failed possibly due to a race condition. Create the
+ # directory the slow way, step by step, checking for races as we go.
+
+ case $dstdir in
+ /*) prefix='/';;
+ -*) prefix='./';;
+ *) prefix='';;
+ esac
+
+ eval "$initialize_posix_glob"
+
+ oIFS=$IFS
+ IFS=/
+ $posix_glob set -f
+ set fnord $dstdir
+ shift
+ $posix_glob set +f
+ IFS=$oIFS
+
+ prefixes=
+
+ for d
+ do
+ test -z "$d" && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
+ done
+
+ if test -n "$prefixes"; then
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
+ fi
+ fi
+ fi
+
+ if test -n "$dir_arg"; then
+ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+ { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+ else
+
+ # Make a couple of temp file names in the proper directory.
+ dsttmp=$dstdir/_inst.$$_
+ rmtmp=$dstdir/_rm.$$_
+
+ # Trap to clean up those temp files at exit.
+ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+ # Copy the file name to the temp name.
+ (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+
+ # and set any options; do chmod last to preserve setuid bits.
+ #
+ # If any of these fail, we abort the whole thing. If we want to
+ # ignore errors from any of these, just make sure not to ignore
+ # errors from the above "$doit $cpprog $src $dsttmp" command.
+ #
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+ { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+ { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+ # If -C, don't bother to copy if it wouldn't change the file.
+ if $copy_on_change &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+
+ eval "$initialize_posix_glob" &&
+ $posix_glob set -f &&
+ set X $old && old=:$2:$4:$5:$6 &&
+ set X $new && new=:$2:$4:$5:$6 &&
+ $posix_glob set +f &&
+
+ test "$old" = "$new" &&
+ $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+ then
+ rm -f "$dsttmp"
+ else
+ # Rename the file to the real destination.
+ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+ # The rename failed, perhaps because mv can't rename something else
+ # to itself, or perhaps because mv is so ancient that it does not
+ # support -f.
+ {
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
+ }
+ fi || exit 1
+
+ trap '' 0
+ fi
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index ed41e0f..4b712b4 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,10 @@
+2016-07-19 Keith Marshall <kei...@us...>
+
+ Update install-sh to match mingw.org/build-aux package.
+
+ * install-sh: Delete it; use version in parent directory instead,
+ recreating local copy, (as symlink, if supported), on demand.
+
2016-07-17 Keith Marshall <kei...@us...>
Eliminate redundant configuration files.
diff --git a/mingwrt/install-sh b/mingwrt/install-sh
deleted file mode 100755
index ab370a2..0000000
--- a/mingwrt/install-sh
+++ /dev/null
@@ -1,253 +0,0 @@
-#!/bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5 (mit/util/scripts/install.sh).
-#
-# Copyright 1991 by the Massachusetts Institute of Technology
-#
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission. M.I.T. makes no representations about the
-# suitability of this software for any purpose. It is provided "as is"
-# without express or implied warranty.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch. It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd="$cpprog"
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd="$stripprog"
- shift
- continue;;
-
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
-
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
-
- *) if [ x"$src" = x ]
- then
- src=$1
- else
- # this colon is to work around a 386BSD /bin/sh bug
- :
- dst=$1
- fi
- shift
- continue;;
- esac
-done
-
-if [ x"$src" = x ]
-then
- echo "install: no input file specified"
- exit 1
-else
- true
-fi
-
-if [ x"$dir_arg" != x ]; then
- dst=$src
- src=""
-
- if [ -d $dst ]; then
- instcmd=:
- chmodcmd=""
- else
- instcmd=mkdir
- fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
-
- if [ -f $src -o -d $src ]
- then
- true
- else
- echo "install: $src does not exist"
- exit 1
- fi
-
- if [ x"$dst" = x ]
- then
- echo "install: no destination specified"
- exit 1
- else
- true
- fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
- if [ -d $dst ]
- then
- dst="$dst"/`basename $src`
- else
- true
- fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
- pathcomp="${pathcomp}${1}"
- shift
-
- if [ ! -d "${pathcomp}" ] ;
- then
- $mkdirprog "${pathcomp}"
- else
- true
- fi
-
- pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
- $doit $instcmd $dst &&
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename $dst`
- else
- dstfile=`basename $dst $transformbasename |
- sed $transformarg`$transformbasename
- fi
-
-# don't allow the sed command to completely eliminate the filename
-
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename $dst`
- else
- true
- fi
-
-# Make a temp file name in the proper directory.
-
- dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
- $doit $instcmd $src $dsttmp &&
-
- trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing. If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
- $doit $rmcmd -f $dstdir/$dstfile
- ([ -f $dstdir/$dstfile ] &&
- $doit $mvcmd $dstdir/$dstfile $dstdir/$dstfile.$$ );
- exec $doit $mvcmd $dsttmp $dstdir/$dstfile
-
-fi &&
-
-
-exit 0
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index 91707ab..2566dd7 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,3 +1,10 @@
+2016-07-19 Keith Marshall <kei...@us...>
+
+ Update install-sh to match mingw.org/build-aux package.
+
+ * install-sh: Delete it; use version in parent directory instead,
+ recreating local copy, (as symlink, if supported), on demand.
+
2016-07-17 Keith Marshall <kei...@us...>
Eliminate redundant configuration files.
diff --git a/w32api/install-sh b/w32api/install-sh
deleted file mode 100755
index 594a4ed..0000000
--- a/w32api/install-sh
+++ /dev/null
@@ -1,251 +0,0 @@
-#!/bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5 (mit/util/scripts/install.sh).
-#
-# Copyright 1991 by the Massachusetts Institute of Technology
-#
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission. M.I.T. makes no representations about the
-# suitability of this software for any purpose. It is provided "as is"
-# without express or implied warranty.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch. It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd="$cpprog"
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd="$stripprog"
- shift
- continue;;
-
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
-
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
-
- *) if [ x"$src" = x ]
- then
- src=$1
- else
- # this colon is to work around a 386BSD /bin/sh bug
- :
- dst=$1
- fi
- shift
- continue;;
- esac
-done
-
-if [ x"$src" = x ]
-then
- echo "install: no input file specified"
- exit 1
-else
- true
-fi
-
-if [ x"$dir_arg" != x ]; then
- dst=$src
- src=""
-
- if [ -d $dst ]; then
- instcmd=:
- chmodcmd=""
- else
- instcmd=mkdir
- fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
-
- if [ -f $src -o -d $src ]
- then
- true
- else
- echo "install: $src does not exist"
- exit 1
- fi
-
- if [ x"$dst" = x ]
- then
- echo "install: no destination specified"
- exit 1
- else
- true
- fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
- if [ -d $dst ]
- then
- dst="$dst"/`basename $src`
- else
- true
- fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
- pathcomp="${pathcomp}${1}"
- shift
-
- if [ ! -d "${pathcomp}" ] ;
- then
- $mkdirprog "${pathcomp}"
- else
- true
- fi
-
- pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
- $doit $instcmd $dst &&
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename $dst`
- else
- dstfile=`basename $dst $transformbasename |
- sed $transformarg`$transformbasename
- fi
-
-# don't allow the sed command to completely eliminate the filename
-
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename $dst`
- else
- true
- fi
-
-# Make a temp file name in the proper directory.
-
- dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
- $doit $instcmd $src $dsttmp &&
-
- trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing. If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
- $doit $rmcmd -f $dstdir/$dstfile &&
- $doit $mvcmd $dsttmp $dstdir/$dstfile
-
-fi &&
-
-
-exit 0
-----------------------------------------------------------------------
Summary of changes:
.gitignore | 2 +
.hgignore | 2 +-
ChangeLog | 7 +
configure.ac | 1 -
install-sh | 519 ++++++++++++++++++++++++++++++++++++++++++++++++++++
mingwrt/ChangeLog | 7 +
mingwrt/install-sh | 253 -------------------------
w32api/ChangeLog | 7 +
w32api/install-sh | 251 -------------------------
9 files changed, 543 insertions(+), 506 deletions(-)
create mode 100755 install-sh
delete mode 100755 mingwrt/install-sh
delete mode 100755 w32api/install-sh
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2016-07-24 14:55:56
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The tag, w32api-3.18.1-release has been created
at 68c86dc87382d22d14eea408830e062a78d432ef (commit)
- Log -----------------------------------------------------------------
commit 68c86dc87382d22d14eea408830e062a78d432ef
Author: Keith Marshall <kei...@us...>
Date: Thu Jul 21 22:46:35 2016 +0100
Prepare and tag all files for release of w32api-3.18.1
-----------------------------------------------------------------------
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2016-07-24 14:55:53
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, legacy has been updated
via 7a511c73f74aae29157a66c02304be61844606d4 (commit)
via 30a7c2e28639a2c18a02f11b5d333e7b9d77125a (commit)
via 68c86dc87382d22d14eea408830e062a78d432ef (commit)
via 6313c67b9e29285e06cf02b4fee8b29fd81f6df6 (commit)
from 5da8a5e0f73083024b3dfb3de79966ea55ef553a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/7a511c73f74aae29157a66c02304be61844606d4/
commit 7a511c73f74aae29157a66c02304be61844606d4
Author: Keith Marshall <kei...@us...>
Date: Fri Jul 22 18:33:42 2016 +0100
Fix printf() field width parsing regression issue [#2309].
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 033c55d..7347834 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,12 @@
+2016-07-22 Keith Marshall <kei...@us...>
+
+ Fix printf() field width parsing regression issue [#2309].
+
+ * mingwex/stdio/pformat.c (__imul10plus): Coerce any accumulated
+ negative total to zero; the only negative value to be handled is...
+ (PFORMAT_IGNORE): ...this; it ceases to be applicable, on first call
+ to __imul10plus(), to accumulate field width or precision.
+
2016-07-17 Keith Marshall <kei...@us...>
Correct source package omission of msvcrt-xref subdirectory.
diff --git a/mingwrt/mingwex/stdio/pformat.c b/mingwrt/mingwex/stdio/pformat.c
index 9354e30..a40ef02 100644
--- a/mingwrt/mingwex/stdio/pformat.c
+++ b/mingwrt/mingwex/stdio/pformat.c
@@ -1752,10 +1752,13 @@ void __pformat_xldouble( long double x, __pformat_t *stream )
static __pformat_inline__
/* Inline helper to accumulate a running total of successive
* decimal digits, optimized to use bitwise shifts to multiply
- * the total of more significant digits by ten.
+ * the total of more significant digits by ten; (note that we
+ * coerce negative totals to zero, since this implementation
+ * never needs to accumulate negative values, but it must be
+ * able to override an initial PFORMAT_IGNORE (-1) setting).
*/
int __pformat_imul10plus( int total, int units )
-{ return units + ((total == 0) ? 0 : ((total + (total << 2)) << 1)); }
+{ return units + ((total >= 0) ? ((total + (total << 2)) << 1) : 0); }
static
int __pformat_read_arg_index( const char **fmt )
@@ -3110,21 +3113,18 @@ int __pformat( int flags, void *dest, int max, const char *fmt, va_list args )
if( (state < PFORMAT_END) && isdigit( c ) )
{
if( state == PFORMAT_INIT )
- /*
- * Initial digits explicitly relate to field width...
+ /* Initial digits explicitly relate to field width...
*/
state = PFORMAT_SET_WIDTH;
else if( state == PFORMAT_GET_PRECISION )
- /*
- * while those following a precision indicator
+ /* while those following a precision indicator
* explicitly relate to precision.
*/
state = PFORMAT_SET_PRECISION;
if( width_spec )
- {
- /* We are accepting a width or precision specification;
+ { /* We are accepting a width or precision specification;
* add the units value represented by the current digit,
* to ten times the value accumulated so far.
*/
@@ -3149,7 +3149,6 @@ int __pformat( int flags, void *dest, int max, const char *fmt, va_list args )
*/
__pformat_putc( c, &stream );
}
-
/* Clean up the resource pool, which was allocated for local processing of
* the passed-in argument vector in either sequential or random order.
*/
https://sf.net/p/mingw/mingw-org-wsl/ci/30a7c2e28639a2c18a02f11b5d333e7b9d77125a/
commit 30a7c2e28639a2c18a02f11b5d333e7b9d77125a
Author: Keith Marshall <kei...@us...>
Date: Thu Jul 21 22:50:10 2016 +0100
Added tag w32api-3.18.1-release for changeset cd1bc4d01854
diff --git a/.hgtags b/.hgtags
index 8c1a1ba..dbe562a 100644
--- a/.hgtags
+++ b/.hgtags
@@ -4,3 +4,4 @@ ef4db1b16b1422d4eb06cbe47f0f3c08e11d2f8d mingwrt-3.22-release
ef4db1b16b1422d4eb06cbe47f0f3c08e11d2f8d w32api-3.18-release
ef4db1b16b1422d4eb06cbe47f0f3c08e11d2f8d mingwrt-3.22-release
b1ff7f59f95a8334245c7e7c07795514e55b6921 mingwrt-3.22-release
+cd1bc4d018548b498e0e74e52bea935b0904d1f2 w32api-3.18.1-release
https://sf.net/p/mingw/mingw-org-wsl/ci/68c86dc87382d22d14eea408830e062a78d432ef/
commit 68c86dc87382d22d14eea408830e062a78d432ef
Author: Keith Marshall <kei...@us...>
Date: Thu Jul 21 22:46:35 2016 +0100
Prepare and tag all files for release of w32api-3.18.1
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index ae30f46..684c4a2 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,5 +1,11 @@
2016-07-21 Keith Marshall <kei...@us...>
+ Prepare and tag all files for release of w32api-3.18.1
+
+ * configure.ac (AC_INIT): Increment patch level to 3.18.1
+
+2016-07-21 Keith Marshall <kei...@us...>
+
Resolve improper macro expansion issue [#2307].
* include/ddk/winddk.h (__FILE_AM_BUFFERED, __FILE_RD_BUFFERED)
diff --git a/w32api/configure.ac b/w32api/configure.ac
index c3cc008..00c159c 100644
--- a/w32api/configure.ac
+++ b/w32api/configure.ac
@@ -29,7 +29,7 @@
# DEALINGS IN THE SOFTWARE.
#
AC_PREREQ([2.64])
- AC_INIT([MinGW Win32 API],[3.18],[http://mingw.org/Reporting_Bugs],[w32api])
+ AC_INIT([MinGW Win32 API],[3.18.1],[http://mingw.org/Reporting_Bugs],[w32api])
AC_PREFIX_DEFAULT([/mingw])
AC_CONFIG_SRCDIR([include/w32api.h.in])
https://sf.net/p/mingw/mingw-org-wsl/ci/6313c67b9e29285e06cf02b4fee8b29fd81f6df6/
commit 6313c67b9e29285e06cf02b4fee8b29fd81f6df6
Author: Keith Marshall <kei...@us...>
Date: Thu Jul 21 22:20:34 2016 +0100
Resolve improper macro expansion issue [#2307].
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index 076f248..ae30f46 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,3 +1,40 @@
+2016-07-21 Keith Marshall <kei...@us...>
+
+ Resolve improper macro expansion issue [#2307].
+
+ * include/ddk/winddk.h (__FILE_AM_BUFFERED, __FILE_RD_BUFFERED)
+ (__FILE_RW_BUFFERED): Redefine, encapsulating the expansion of each
+ dependent macro WITHIN the expansion of each of these; hence...
+
+ * include/ddk/ntdddisk.h (IOCTL_DISK_GET_DRIVE_GEOMETRY)
+ (IOCTL_DISK_FORMAT_TRACKS_EX, IOCTL_DISK_REASSIGN_BLOCKS)
+ (IOCTL_DISK_GET_MEDIA_TYPES, IOCTL_DISK_CONTROLLER_NUMBER)
+ (IOCTL_DISK_GET_DRIVE_LAYOUT, IOCTL_DISK_SET_DRIVE_LAYOUT)
+ (IOCTL_DISK_GET_PARTITION_INFO, IOCTL_DISK_SET_PARTITION_INFO)
+ (IOCTL_DISK_GET_DRIVE_GEOMETRY_EX, IOCTL_DISK_UPDATE_DRIVE_SIZE)
+ (IOCTL_DISK_VERIFY, IOCTL_DISK_FORMAT_TRACKS, IOCTL_DISK_PERFORMANCE)
+ (IOCTL_DISK_CREATE_DISK, IOCTL_DISK_RESERVE, IOCTL_DISK_IS_WRITABLE)
+ (IOCTL_DISK_GET_PARTITION_INFO_EX, IOCTL_DISK_SET_PARTITION_INFO_EX)
+ (IOCTL_DISK_GET_CACHE_INFORMATION, IOCTL_DISK_SET_CACHE_INFORMATION)
+ (IOCTL_DISK_INTERNAL_SET_VERIFY, IOCTL_DISK_INTERNAL_CLEAR_VERIFY)
+ (IOCTL_DISK_GET_DRIVE_LAYOUT_EX, IOCTL_DISK_SET_DRIVE_LAYOUT_EX)
+ (IOCTL_DISK_GROW_PARTITION, IOCTL_DISK_DELETE_DRIVE_LAYOUT)
+ (IOCTL_DISK_GET_LENGTH_INFO, IOCTL_DISK_PERFORMANCE_OFF)
+ (IOCTL_DISK_CHECK_VERIFY, IOCTL_DISK_FIND_NEW_DEVICES)
+ (SMART_GET_VERSION, SMART_RCV_DRIVE_DATA, SMART_SEND_DRIVE_COMMAND):
+ ...adjust these dependent macro definitions accordingly.
+
+ * include/ddk/ntddstor.h (IOCTL_STORAGE_CHECK_VERIFY)
+ (IOCTL_STORAGE_CHECK_VERIFY2, IOCTL_STORAGE_MEDIA_REMOVAL)
+ (IOCTL_STORAGE_EJECTION_CONTROL, IOCTL_STORAGE_MCN_CONTROL)
+ (IOCTL_STORAGE_GET_DEVICE_NUMBER, IOCTL_STORAGE_PREDICT_FAILURE)
+ (IOCTL_STORAGE_GET_MEDIA_TYPES, IOCTL_STORAGE_GET_MEDIA_TYPES_EX)
+ (IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER, IOCTL_STORAGE_QUERY_PROPERTY)
+ (IOCTL_STORAGE_RELEASE, IOCTL_STORAGE_FIND_NEW_DEVICES)
+ (IOCTL_STORAGE_RESET_BUS, IOCTL_STORAGE_RESET_DEVICE)
+ (IOCTL_STORAGE_EJECT_MEDIA, IOCTL_STORAGE_LOAD_MEDIA)
+ (IOCTL_STORAGE_LOAD_MEDIA2, IOCTL_STORAGE_RESERVE): Likewise.
+
2016-07-14 Keith Marshall <kei...@us...>
Prepare and tag all files for release of w32api-3.18.
diff --git a/w32api/include/ddk/ntdddisk.h b/w32api/include/ddk/ntdddisk.h
index 76314f4..e82bea3 100644
--- a/w32api/include/ddk/ntdddisk.h
+++ b/w32api/include/ddk/ntdddisk.h
@@ -56,34 +56,34 @@
#define __IOCTL_DISK_(FN,M,A) CTL_CODE(IOCTL_DISK_BASE,(FN),(M),(A))
#define IOCTL_DISK_BASE FILE_TYPE_DISK
-#define IOCTL_DISK_GET_DRIVE_GEOMETRY __IOCTL_DISK_(0x0000,__FILE_AM_BUFFERED)
-#define IOCTL_DISK_GET_PARTITION_INFO __IOCTL_DISK_(0x0001,__FILE_RD_BUFFERED)
-#define IOCTL_DISK_SET_PARTITION_INFO __IOCTL_DISK_(0x0002,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_GET_DRIVE_LAYOUT __IOCTL_DISK_(0x0003,__FILE_RD_BUFFERED)
-#define IOCTL_DISK_SET_DRIVE_LAYOUT __IOCTL_DISK_(0x0004,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_VERIFY __IOCTL_DISK_(0x0005,__FILE_AM_BUFFERED)
-#define IOCTL_DISK_FORMAT_TRACKS __IOCTL_DISK_(0x0006,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_REASSIGN_BLOCKS __IOCTL_DISK_(0x0007,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_PERFORMANCE __IOCTL_DISK_(0x0008,__FILE_AM_BUFFERED)
-#define IOCTL_DISK_IS_WRITABLE __IOCTL_DISK_(0x0009,__FILE_AM_BUFFERED)
-#define IOCTL_DISK_FORMAT_TRACKS_EX __IOCTL_DISK_(0x000B,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_GET_PARTITION_INFO_EX __IOCTL_DISK_(0x0012,__FILE_AM_BUFFERED)
-#define IOCTL_DISK_SET_PARTITION_INFO_EX __IOCTL_DISK_(0x0013,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_GET_DRIVE_LAYOUT_EX __IOCTL_DISK_(0x0014,__FILE_AM_BUFFERED)
-#define IOCTL_DISK_SET_DRIVE_LAYOUT_EX __IOCTL_DISK_(0x0015,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_CREATE_DISK __IOCTL_DISK_(0x0016,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_GET_LENGTH_INFO __IOCTL_DISK_(0x0017,__FILE_RD_BUFFERED)
-#define IOCTL_DISK_PERFORMANCE_OFF __IOCTL_DISK_(0x0018,__FILE_AM_BUFFERED)
-#define IOCTL_DISK_GET_DRIVE_GEOMETRY_EX __IOCTL_DISK_(0x0028,__FILE_AM_BUFFERED)
-#define IOCTL_DISK_UPDATE_DRIVE_SIZE __IOCTL_DISK_(0x0032,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_GROW_PARTITION __IOCTL_DISK_(0x0034,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_GET_CACHE_INFORMATION __IOCTL_DISK_(0x0035,__FILE_RD_BUFFERED)
-#define IOCTL_DISK_SET_CACHE_INFORMATION __IOCTL_DISK_(0x0036,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_DELETE_DRIVE_LAYOUT __IOCTL_DISK_(0x0040,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_CHECK_VERIFY __IOCTL_DISK_(0x0200,__FILE_RD_BUFFERED)
-#define IOCTL_DISK_RESERVE __IOCTL_DISK_(0x0204,__FILE_RD_BUFFERED)
-#define IOCTL_DISK_FIND_NEW_DEVICES __IOCTL_DISK_(0x0206,__FILE_RD_BUFFERED)
-#define IOCTL_DISK_GET_MEDIA_TYPES __IOCTL_DISK_(0x0300,__FILE_AM_BUFFERED)
+#define IOCTL_DISK_GET_DRIVE_GEOMETRY __FILE_AM_BUFFERED(__IOCTL_DISK_,0x0000)
+#define IOCTL_DISK_GET_PARTITION_INFO __FILE_RD_BUFFERED(__IOCTL_DISK_,0x0001)
+#define IOCTL_DISK_SET_PARTITION_INFO __FILE_RW_BUFFERED(__IOCTL_DISK_,0x0002)
+#define IOCTL_DISK_GET_DRIVE_LAYOUT __FILE_RD_BUFFERED(__IOCTL_DISK_,0x0003)
+#define IOCTL_DISK_SET_DRIVE_LAYOUT __FILE_RW_BUFFERED(__IOCTL_DISK_,0x0004)
+#define IOCTL_DISK_VERIFY __FILE_AM_BUFFERED(__IOCTL_DISK_,0x0005)
+#define IOCTL_DISK_FORMAT_TRACKS __FILE_RW_BUFFERED(__IOCTL_DISK_,0x0006)
+#define IOCTL_DISK_REASSIGN_BLOCKS __FILE_RW_BUFFERED(__IOCTL_DISK_,0x0007)
+#define IOCTL_DISK_PERFORMANCE __FILE_AM_BUFFERED(__IOCTL_DISK_,0x0008)
+#define IOCTL_DISK_IS_WRITABLE __FILE_AM_BUFFERED(__IOCTL_DISK_,0x0009)
+#define IOCTL_DISK_FORMAT_TRACKS_EX __FILE_RW_BUFFERED(__IOCTL_DISK_,0x000B)
+#define IOCTL_DISK_GET_PARTITION_INFO_EX __FILE_AM_BUFFERED(__IOCTL_DISK_,0x0012)
+#define IOCTL_DISK_SET_PARTITION_INFO_EX __FILE_RW_BUFFERED(__IOCTL_DISK_,0x0013)
+#define IOCTL_DISK_GET_DRIVE_LAYOUT_EX __FILE_AM_BUFFERED(__IOCTL_DISK_,0x0014)
+#define IOCTL_DISK_SET_DRIVE_LAYOUT_EX __FILE_RW_BUFFERED(__IOCTL_DISK_,0x0015)
+#define IOCTL_DISK_CREATE_DISK __FILE_RW_BUFFERED(__IOCTL_DISK_,0x0016)
+#define IOCTL_DISK_GET_LENGTH_INFO __FILE_RD_BUFFERED(__IOCTL_DISK_,0x0017)
+#define IOCTL_DISK_PERFORMANCE_OFF __FILE_AM_BUFFERED(__IOCTL_DISK_,0x0018)
+#define IOCTL_DISK_GET_DRIVE_GEOMETRY_EX __FILE_AM_BUFFERED(__IOCTL_DISK_,0x0028)
+#define IOCTL_DISK_UPDATE_DRIVE_SIZE __FILE_RW_BUFFERED(__IOCTL_DISK_,0x0032)
+#define IOCTL_DISK_GROW_PARTITION __FILE_RW_BUFFERED(__IOCTL_DISK_,0x0034)
+#define IOCTL_DISK_GET_CACHE_INFORMATION __FILE_RD_BUFFERED(__IOCTL_DISK_,0x0035)
+#define IOCTL_DISK_SET_CACHE_INFORMATION __FILE_RW_BUFFERED(__IOCTL_DISK_,0x0036)
+#define IOCTL_DISK_DELETE_DRIVE_LAYOUT __FILE_RW_BUFFERED(__IOCTL_DISK_,0x0040)
+#define IOCTL_DISK_CHECK_VERIFY __FILE_RD_BUFFERED(__IOCTL_DISK_,0x0200)
+#define IOCTL_DISK_RESERVE __FILE_RD_BUFFERED(__IOCTL_DISK_,0x0204)
+#define IOCTL_DISK_FIND_NEW_DEVICES __FILE_RD_BUFFERED(__IOCTL_DISK_,0x0206)
+#define IOCTL_DISK_GET_MEDIA_TYPES __FILE_AM_BUFFERED(__IOCTL_DISK_,0x0300)
enum
{ PARTITION_ENTRY_UNUSED = 0x00,
@@ -408,16 +408,16 @@ struct _DISK_GROW_PARTITION
*/
_BEGIN_C_DECLS
-#define DD_DISK_DEVICE_NAME "\\Device\\UNKNOWN"
-#define DD_DISK_DEVICE_NAME_U L"\\Device\\UNKNOWN"
+#define DD_DISK_DEVICE_NAME "\\Device\\UNKNOWN"
+#define DD_DISK_DEVICE_NAME_U L"\\Device\\UNKNOWN"
-#define IOCTL_DISK_CONTROLLER_NUMBER __IOCTL_DISK_(0x0011,__FILE_AM_BUFFERED)
-#define IOCTL_DISK_INTERNAL_SET_VERIFY __IOCTL_DISK_(0x0100,__FILE_AM_BUFFERED)
-#define IOCTL_DISK_INTERNAL_CLEAR_VERIFY __IOCTL_DISK_(0x0101,__FILE_AM_BUFFERED)
+#define IOCTL_DISK_CONTROLLER_NUMBER __FILE_AM_BUFFERED(__IOCTL_DISK_,0x0011)
+#define IOCTL_DISK_INTERNAL_SET_VERIFY __FILE_AM_BUFFERED(__IOCTL_DISK_,0x0100)
+#define IOCTL_DISK_INTERNAL_CLEAR_VERIFY __FILE_AM_BUFFERED(__IOCTL_DISK_,0x0101)
-#define SMART_GET_VERSION __IOCTL_DISK_(0x0020,__FILE_RD_BUFFERED)
-#define SMART_RCV_DRIVE_DATA __IOCTL_DISK_(0x0022,__FILE_RW_BUFFERED)
-#define SMART_SEND_DRIVE_COMMAND __IOCTL_DISK_(0x0021,__FILE_RW_BUFFERED)
+#define SMART_GET_VERSION __FILE_RD_BUFFERED(__IOCTL_DISK_,0x0020)
+#define SMART_RCV_DRIVE_DATA __FILE_RW_BUFFERED(__IOCTL_DISK_,0x0022)
+#define SMART_SEND_DRIVE_COMMAND __FILE_RW_BUFFERED(__IOCTL_DISK_,0x0021)
#define IsFTPartition( PartitionType ) \
(((PartitionType) & PARTITION_NTFT) && IsRecognizedPartition(PartitionType))
diff --git a/w32api/include/ddk/ntddstor.h b/w32api/include/ddk/ntddstor.h
index 59fdb86..724ad4f 100644
--- a/w32api/include/ddk/ntddstor.h
+++ b/w32api/include/ddk/ntddstor.h
@@ -50,28 +50,28 @@
* structural type STORAGE_BUS_TYPE, and its associated pointer type,
* are required to be defined by both <ddk/ntddstor.h> and <winioctl.h>,
* but if both repeat inclusion guards are already defined, then we've
- * already seen this; ther is no need to process it again.
+ * already seen this; there is no need to process it again.
*/
#define __IOCTL_STORAGE_(FN,M,A) CTL_CODE(IOCTL_STORAGE_BASE,(FN),(M),(A))
#define IOCTL_STORAGE_BASE FILE_DEVICE_MASS_STORAGE
-#define IOCTL_STORAGE_CHECK_VERIFY __IOCTL_STORAGE_(0x0200,__FILE_RD_BUFFERED)
-#define IOCTL_STORAGE_CHECK_VERIFY2 __IOCTL_STORAGE_(0x0200,__FILE_AM_BUFFERED)
-#define IOCTL_STORAGE_MEDIA_REMOVAL __IOCTL_STORAGE_(0x0201,__FILE_RD_BUFFERED)
-#define IOCTL_STORAGE_EJECT_MEDIA __IOCTL_STORAGE_(0x0202,__FILE_RD_BUFFERED)
-#define IOCTL_STORAGE_LOAD_MEDIA __IOCTL_STORAGE_(0x0203,__FILE_RD_BUFFERED)
-#define IOCTL_STORAGE_LOAD_MEDIA2 __IOCTL_STORAGE_(0x0203,__FILE_AM_BUFFERED)
-#define IOCTL_STORAGE_RESERVE __IOCTL_STORAGE_(0x0204,__FILE_RD_BUFFERED)
-#define IOCTL_STORAGE_RELEASE __IOCTL_STORAGE_(0x0205,__FILE_RD_BUFFERED)
-#define IOCTL_STORAGE_FIND_NEW_DEVICES __IOCTL_STORAGE_(0x0206,__FILE_RD_BUFFERED)
-#define IOCTL_STORAGE_EJECTION_CONTROL __IOCTL_STORAGE_(0x0250,__FILE_AM_BUFFERED)
-#define IOCTL_STORAGE_MCN_CONTROL __IOCTL_STORAGE_(0x0251,__FILE_AM_BUFFERED)
-#define IOCTL_STORAGE_GET_MEDIA_TYPES __IOCTL_STORAGE_(0x0300,__FILE_AM_BUFFERED)
-#define IOCTL_STORAGE_GET_MEDIA_TYPES_EX __IOCTL_STORAGE_(0x0301,__FILE_AM_BUFFERED)
-#define IOCTL_STORAGE_RESET_BUS __IOCTL_STORAGE_(0x0400,__FILE_RW_BUFFERED)
-#define IOCTL_STORAGE_RESET_DEVICE __IOCTL_STORAGE_(0x0401,__FILE_RW_BUFFERED)
-#define IOCTL_STORAGE_GET_DEVICE_NUMBER __IOCTL_STORAGE_(0x0420,__FILE_AM_BUFFERED)
-#define IOCTL_STORAGE_PREDICT_FAILURE __IOCTL_STORAGE_(0x0440,__FILE_AM_BUFFERED)
+#define IOCTL_STORAGE_CHECK_VERIFY __FILE_RD_BUFFERED(__IOCTL_STORAGE_,0x0200)
+#define IOCTL_STORAGE_CHECK_VERIFY2 __FILE_AM_BUFFERED(__IOCTL_STORAGE_,0x0200)
+#define IOCTL_STORAGE_MEDIA_REMOVAL __FILE_RD_BUFFERED(__IOCTL_STORAGE_,0x0201)
+#define IOCTL_STORAGE_EJECT_MEDIA __FILE_RD_BUFFERED(__IOCTL_STORAGE_,0x0202)
+#define IOCTL_STORAGE_LOAD_MEDIA __FILE_RD_BUFFERED(__IOCTL_STORAGE_,0x0203)
+#define IOCTL_STORAGE_LOAD_MEDIA2 __FILE_AM_BUFFERED(__IOCTL_STORAGE_,0x0203)
+#define IOCTL_STORAGE_RESERVE __FILE_RD_BUFFERED(__IOCTL_STORAGE_,0x0204)
+#define IOCTL_STORAGE_RELEASE __FILE_RD_BUFFERED(__IOCTL_STORAGE_,0x0205)
+#define IOCTL_STORAGE_FIND_NEW_DEVICES __FILE_RD_BUFFERED(__IOCTL_STORAGE_,0x0206)
+#define IOCTL_STORAGE_EJECTION_CONTROL __FILE_AM_BUFFERED(__IOCTL_STORAGE_,0x0250)
+#define IOCTL_STORAGE_MCN_CONTROL __FILE_AM_BUFFERED(__IOCTL_STORAGE_,0x0251)
+#define IOCTL_STORAGE_GET_MEDIA_TYPES __FILE_AM_BUFFERED(__IOCTL_STORAGE_,0x0300)
+#define IOCTL_STORAGE_GET_MEDIA_TYPES_EX __FILE_AM_BUFFERED(__IOCTL_STORAGE_,0x0301)
+#define IOCTL_STORAGE_RESET_BUS __FILE_RW_BUFFERED(__IOCTL_STORAGE_,0x0400)
+#define IOCTL_STORAGE_RESET_DEVICE __FILE_RW_BUFFERED(__IOCTL_STORAGE_,0x0401)
+#define IOCTL_STORAGE_GET_DEVICE_NUMBER __FILE_AM_BUFFERED(__IOCTL_STORAGE_,0x0420)
+#define IOCTL_STORAGE_PREDICT_FAILURE __FILE_AM_BUFFERED(__IOCTL_STORAGE_,0x0440)
typedef
enum _STORAGE_BUS_TYPE
@@ -105,8 +105,8 @@ enum _STORAGE_BUS_TYPE
*/
_BEGIN_C_DECLS
-#define IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER __IOCTL_STORAGE_(0x0304,__FILE_AM_BUFFERED)
-#define IOCTL_STORAGE_QUERY_PROPERTY __IOCTL_STORAGE_(0x0500,__FILE_AM_BUFFERED)
+#define IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER __FILE_AM_BUFFERED(__IOCTL_STORAGE_,0x0304)
+#define IOCTL_STORAGE_QUERY_PROPERTY __FILE_AM_BUFFERED(__IOCTL_STORAGE_,0x0500)
DEFINE_GUID( GUID_DEVINTERFACE_DISK,
0x53f56307L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b
diff --git a/w32api/include/ddk/winddk.h b/w32api/include/ddk/winddk.h
index 07bbafc..5858a4b 100644
--- a/w32api/include/ddk/winddk.h
+++ b/w32api/include/ddk/winddk.h
@@ -134,10 +134,10 @@ enum
/* Some derived convenience macros; Microsoft do not specify these,
* but they help to keep the CTL_CODE specifications tidy.
*/
-#define __FILE_RW_ACCESS (FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-#define __FILE_AM_BUFFERED METHOD_BUFFERED, FILE_ANY_ACCESS
-#define __FILE_RD_BUFFERED METHOD_BUFFERED, FILE_READ_ACCESS
-#define __FILE_RW_BUFFERED METHOD_BUFFERED, __FILE_RW_ACCESS
+#define __FILE_RW_ACCESS (FILE_READ_ACCESS | FILE_WRITE_ACCESS)
+#define __FILE_AM_BUFFERED(F,OP) F(OP, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define __FILE_RD_BUFFERED(F,OP) F(OP, METHOD_BUFFERED, FILE_READ_ACCESS)
+#define __FILE_RW_BUFFERED(F,OP) F(OP, METHOD_BUFFERED, __FILE_RW_ACCESS)
typedef
struct _DRIVE_LAYOUT_INFORMATION_MBR
-----------------------------------------------------------------------
Summary of changes:
.hgtags | 1 +
mingwrt/ChangeLog | 9 +++++
mingwrt/mingwex/stdio/pformat.c | 17 ++++-----
w32api/ChangeLog | 43 +++++++++++++++++++++++
w32api/configure.ac | 2 +-
w32api/include/ddk/ntdddisk.h | 72 +++++++++++++++++++-------------------
w32api/include/ddk/ntddstor.h | 40 +++++++++++-----------
w32api/include/ddk/winddk.h | 8 ++--
8 files changed, 122 insertions(+), 70 deletions(-)
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2016-07-18 13:23:13
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, 5.0-active has been updated
via 7113e04924002634443c4a300ecb13ab14abaf1e (commit)
via 6b76992bb8114f56302bd6e58db0b8eec71722d6 (commit)
via 5da8a5e0f73083024b3dfb3de79966ea55ef553a (commit)
via 4f06e0a14e0eef9dd42e30a493d40cb4be82ced2 (commit)
via a945c8e2e50ab942642737915f058edd9e0c2fff (commit)
via aefa8ea7a036c6a527e8666f7bdc3da14bcfc927 (commit)
from c4e55653606e6ea8c1cdebe69c0035380b5fe67c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/7113e04924002634443c4a300ecb13ab14abaf1e/
commit 7113e04924002634443c4a300ecb13ab14abaf1e
Author: Keith Marshall <kei...@us...>
Date: Sun Jul 17 20:35:18 2016 +0100
Eliminate redundant configuration files.
diff --git a/.gitignore b/.gitignore
index 17420de..6c29be6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,16 @@
+build
Makefile
configure
-.*.swp
-*~
autom4te.cache
+mingwrt/aclocal.m4
+mingwrt/VERSION.m4
+w32api/aclocal.m4
+w32api/VERSION.m4
+config.status
missing
depcomp
+.*.swp
+*.log
+*.bak
+*.o
+*~
diff --git a/.hgignore b/.hgignore
index 6f8aa33..de18271 100644
--- a/.hgignore
+++ b/.hgignore
@@ -3,6 +3,7 @@ build/
Makefile
configure
autom4te.cache/
+{mingwrt,w32api}/{aclocal,VERSION}.m4
config.status
**.swp
**.log
diff --git a/ChangeLog b/ChangeLog
index 5c25fe0..c420f58 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2016-07-17 Keith Marshall <kei...@us...>
+
+ Eliminate redundant configuration files.
+
+ * .gitignore .hgignore (mingwrt/aclocal.m4, mingwrt/VERSION.m4)
+ (w32api/aclocal.m4, w32api/VERSION.m4): Remove from SCM control.
+
2016-07-16 Keith Marshall <kei...@us...>
Support 'install-strip' as a universal make goal.
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 84428c1..ed41e0f 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,5 +1,14 @@
2016-07-17 Keith Marshall <kei...@us...>
+ Eliminate redundant configuration files.
+
+ * aclocal.m4 VERSION.m4: Delete them; restore them on demand, via...
+ * Makefile.in ($top_srcdir/../%): ...this symlink dependency rule.
+
+ * configure.ac (AC_PROG_LN_S): Add configuration check.
+
+2016-07-17 Keith Marshall <kei...@us...>
+
Merge mingwrt-3.22 packaging correction to 5.0-active branch.
2016-07-17 Keith Marshall <kei...@us...>
diff --git a/mingwrt/Makefile.in b/mingwrt/Makefile.in
index 2edb45c..561afdb 100644
--- a/mingwrt/Makefile.in
+++ b/mingwrt/Makefile.in
@@ -105,6 +105,7 @@ INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@ $1 $2
mkinstalldirs = @MKDIR_P@ $(addprefix $1,$2)
+LN_S = @LN_S@
# Keep the configuration in a consistent state. Note that we assume
# that configure has been run initially, (otherwise we wouldn't have
@@ -141,6 +142,9 @@ vpath configure.ac ${top_srcdir}
configure: configure.ac aclocal.m4 VERSION.m4
cd ${top_srcdir}; autoconf
+${top_srcdir}/%: ${top_srcdir}/../%
+ cd $(dir $@) && $(LN_S) -f ../$* .
+
# Propagate package version, as configured, consistently throughout
# the package build.
#
@@ -871,8 +875,8 @@ mingwrt-srcdist-files:
mingwrt-srcdist-files: $(wildcard ${mingwrt_srcdir}/*.[chs]) \
$(addprefix ${mingwrt_srcdir}/,ChangeLog CONTRIBUTORS DISCLAIMER README) \
$(wildcard ${mingwrt_srcdir}/*.def.in) $(wildcard ${mingwrt_srcdir}/config*) \
- $(addprefix ${mingwrt_srcdir}/,aclocal.m4 install-sh Makefile.in TODO) \
- $(addprefix ${mingwrt_srcdir}/,include man mingwex profile) \
+ $(addprefix ${mingwrt_srcdir}/,aclocal.m4 VERSION.m4 install-sh Makefile.in) \
+ $(addprefix ${mingwrt_srcdir}/,TODO include man mingwex profile) \
$(addprefix ${mingwrt_srcdir}/,msvcrt-xref crtdll.def) \
$(wildcard ${mingwrt_srcdir}/*.txt)
diff --git a/mingwrt/VERSION.m4 b/mingwrt/VERSION.m4
deleted file mode 100644
index 872bc33..0000000
--- a/mingwrt/VERSION.m4
+++ /dev/null
@@ -1,11 +0,0 @@
-# VERSION.m4 -- vim: filetype=config
-#
-# $Id$
-#
-# Non-copyrightable material; adjust the following definition, to
-# assign a common version number to each of the mingwrt and w32api
-# MinGW System Library sub-packages.
-
-m4_define([__VERSION__],[5.0])
-
-# $RCSfile$: end of file
diff --git a/mingwrt/aclocal.m4 b/mingwrt/aclocal.m4
deleted file mode 100644
index acdf9fa..0000000
--- a/mingwrt/aclocal.m4
+++ /dev/null
@@ -1,169 +0,0 @@
-## aclocal.m4 -*- Autoconf -*- vim: filetype=config
-##
-## Autoconf macros for MinGW.org Runtime Library Package
-##
-## $Id$
-##
-## Written by Keith Marshall <kei...@us...>
-## Copyright (C) 2014, 2016, MinGW.org Project
-##
-##
-m4_include([VERSION.m4])
-m4_define([__BUG_REPORT_URL__],[http://mingw.org/Reporting_Bugs])
-##
-##
-## Permission is hereby granted, free of charge, to any person obtaining a
-## copy of this software and associated documentation files (the "Software"),
-## to deal in the Software without restriction, including without limitation
-## the rights to use, copy, modify, merge, publish, distribute, sublicense,
-## and/or sell copies of the Software, and to permit persons to whom the
-## Software is furnished to do so, subject to the following conditions:
-##
-## The above copyright notice and this permission notice (including the next
-## paragraph) shall be included in all copies or substantial portions of the
-## Software.
-##
-## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-## OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-## AUTHORS OR THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-## FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-## DEALINGS IN THE SOFTWARE.
-##
-
-# MINGW_AC_CONFIG_EXTRA_SRCDIR( PACKAGE, WITNESS_FILE )
-# -----------------------------------------------------
-# Identify the top source directory for a sibling PACKAGE, which
-# provides WITNESS_FILE, and set AC_SUBST variable PACKAGE_srcdir
-# to its path relative to the build directory. Prefers a sibling
-# directory of ${srcdir} named exactly PACKAGE, but falls back to
-# PACKAGE*, and then to *PACKAGE*, if necessary.
-#
-AC_DEFUN_ONCE([MINGW_AC_CONFIG_EXTRA_SRCDIR],
-[AC_MSG_CHECKING([location of $1 source files])
- for ac_dir in ${srcdir}/../$1 ${srcdir}/../$1* ${srcdir}/../*$1*
- do test -f $ac_dir/$2 && { $1_srcdir=$ac_dir; break; }; done
- AC_MSG_RESULT([$$1_srcdir])
- AC_SUBST([$1_srcdir])dnl
-])
-
-# MINGW_AC_NO_EXECUTABLES
-# -----------------------
-# When building the runtime and W32 API libraries with only
-# a partially installed compiler, as we will be required to do
-# between the stage-1 and stage-2 phases of building GCC itself,
-# autoconf's _AC_COMPILER_EXEEXT may choke because the runtime
-# library itself is not yet available; here, we have provided
-# a redefined "do-nothing" version, which will avoid this mode
-# of failure, while retaining the original test for subsequent
-# use, after verifying that it should not fail.
-#
-AC_DEFUN_ONCE([MINGW_AC_NO_EXECUTABLES],
-[AC_BEFORE([$0],[AC_PROG_CC])dnl cannot let this use...
- m4_rename([_AC_COMPILER_EXEEXT],[_MINGW_AC_COMPILER_EXEEXT])dnl so...
- m4_define([_AC_COMPILER_EXEEXT])dnl move it away quickly!
-])
-
-# MINGW_AC_PROG_CC_COMPILE_ONLY
-# -----------------------------
-# A wrapper for AC_PROG_CC, ensuring that it will not succumb to
-# the failure mode described above, while still running the checks
-# provided by the original _AC_COMPILER_EXEEXT macro, when the
-# circumstances of failure do not prevail.
-#
-AC_DEFUN_ONCE([MINGW_AC_PROG_CC_COMPILE_ONLY],
-[AC_REQUIRE([MINGW_AC_NO_EXECUTABLES])dnl no need for linking
- AC_LINK_IFELSE([AC_LANG_PROGRAM],dnl minimal 'int main(){return 0;}'
- [_MINGW_AC_COMPILER_EXEEXT],dnl can create executables anyway!
- [_MINGW_AC_COMPILER_NO_EXECUTABLES])dnl
-])
-
-# _MINGW_AC_COMPILER_NO_EXECUTABLES
-# ---------------------------------
-# Package specific diagnostics for the case where the compiler
-# really does succumb to the _AC_COMPILER_EXEEXT failure mode; in
-# this case, we allow the build to proceed, but we disallow the
-# building of executables and shared libraries by default.
-#
-AC_DEFUN([_MINGW_AC_COMPILER_NO_EXECUTABLES],
-[AC_MSG_CHECKING([whether the C compiler can create executables])
- AC_MSG_RESULT([${may_enable_stage_2=no}])
- AC_MSG_WARN([$CC compiler cannot create executables!])
- AC_MSG_WARN([build will proceed to completion of stage-1 only;])
- AC_MSG_WARN([no executables or shared libraries will be built.])
-])
-
-# MINGW_AC_DISABLE_STAGE_2
-# ------------------------
-# Implement the '--disable-stage-2' configure option, such that
-# it activates the non-failing _AC_COMPILER_EXEEXT behaviour, as
-# described above; default is to proceed with the stage-2 build,
-# provided the compiler is determined to be able to support it.
-#
-AC_DEFUN_ONCE([MINGW_AC_DISABLE_STAGE_2],
-[AC_ARG_ENABLE([stage-2],
- [AS_HELP_STRING([--disable-stage-2],
- [disable building of DLL components which require a fully installed compiler;
- this option may be used during the compiler build process, to permit building
- of the libraries required before commencing stage-2 of the compiler build.
- ])dnl
- ],[],dnl
- [enable_stage_2=auto])dnl let compiler capability govern
-])
-
-# MINGW_AC_MAKE_COMMAND_GOALS
-# ---------------------------
-# Resolve choice of whether stage-2 should be built or not, in
-# favour of user's preference, if supported by the compiler; by
-# default prefer to build, if possible. Propagate the resolved
-# choice as a default make command goal, by assignment to the
-# AC_SUBST variable, DEFAULT_MAKECMDGOALS.
-#
-AC_DEFUN_ONCE([MINGW_AC_MAKE_COMMAND_GOALS],
-[AC_REQUIRE([MINGW_AC_DISABLE_STAGE_2])dnl
- AC_REQUIRE([MINGW_AC_PROG_CC_COMPILE_ONLY])dnl
- AC_MSG_CHECKING([whether to complete stage-2 build])
- ac_val="user's choice"
- AS_CASE([$enable_stage_2],dnl
- [auto],[enable_stage_2=${may_enable_stage_2-yes};dnl
- test x$enable_stage_2 = xyes && ac_val="default choice" dnl
- || ac_val="compiler override"],dnl
- [yes],[enable_stage_2=${may_enable_stage_2-yes};dnl
- test x$enable_stage_2 = xyes || ac_val="compiler override"dnl
- ])
- AC_MSG_RESULT([$enable_stage_2 ($ac_val)])
- test "x$enable_stage_2" = xno dnl
- && DEFAULT_MAKECMDGOALS=all-stage-1-only dnl
- || DEFAULT_MAKECMDGOALS=all-stage-1-and-2
- AC_SUBST([DEFAULT_MAKECMDGOALS])
-])
-
-# MINGW_AC_PROG_COMPILE_SX
-# ------------------------
-# Determine how to invoke GCC to compile *.sx asssembly language
-# files, and provide a suitable derivative of GNU make's COMPILE.S
-# rule in AC_SUBST variable 'COMPILE_SX'. Note that GCC itself has
-# supported direct compilation of such files from version 4.3 onward,
-# (earlier versions require the '-x assembler-with-cpp' hint), but
-# GNU make does not provide a complementary built-in rule.
-#
-AC_DEFUN([MINGW_AC_PROG_COMPILE_SX],
-[AC_REQUIRE([AC_PROG_CC])dnl
- AC_MSG_CHECKING([for $CC option to compile .sx files])
- rm -f conftest.sx conftest.$OBJEXT; : > conftest.sx
- ac_compile_sx='$CC -c $ASFLAGS $CPPFLAGS $ac_val conftest.sx >&5'
- for ac_val in "" "-x assembler-with-cpp"; do
- (eval $ac_compile_sx) 2>&5 && test -f conftest.$OBJEXT && break
- done
- AC_SUBST([COMPILE_SX],[`echo '$(COMPILE.S)' $ac_val`])
- test "x$ac_val" = x && ac_val="none needed"
- test -f conftest.$OBJEXT || ac_val="not supported"
- AC_MSG_RESULT([$ac_val])
- rm -f conftest.sx conftest.$OBJEXT
- test "x$ac_val" = "xnot supported" && {
- AC_MSG_FAILURE([$CC cannot compile .sx files])
- }dnl
-])
-
-# $RCSfile$: end of file
diff --git a/mingwrt/configure.ac b/mingwrt/configure.ac
index e9454dc..2f51250 100644
--- a/mingwrt/configure.ac
+++ b/mingwrt/configure.ac
@@ -50,6 +50,7 @@
AC_PROG_INSTALL
AC_PROG_MKDIR_P
+ AC_PROG_LN_S
MINGW_AC_MAKE_COMMAND_GOALS
AC_CONFIG_FILES([Makefile])
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index 539a56a..91707ab 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,3 +1,12 @@
+2016-07-17 Keith Marshall <kei...@us...>
+
+ Eliminate redundant configuration files.
+
+ * aclocal.m4 VERSION.m4: Delete them; restore them on demand, via...
+ * Makefile.in ($top_srcdir/../%): ...this symlink dependency rule.
+
+ * configure.ac (AC_PROG_LN_S): Add configuration check.
+
2016-07-16 Keith Marshall <kei...@us...>
Discard redundant config.guess and config.sub files.
diff --git a/w32api/Makefile.in b/w32api/Makefile.in
index d534c97..97d28b1 100644
--- a/w32api/Makefile.in
+++ b/w32api/Makefile.in
@@ -78,6 +78,7 @@ mkinstalldirs = @MKDIR_P@ $(addprefix $1,$2)
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@ $1 $2
+LN_S = @LN_S@
# Keep the configuration in a consistent state. Note that we assume
# that configure has been run initially, (otherwise we wouldn't have
@@ -113,6 +114,9 @@ vpath configure.ac ${top_srcdir}
configure: configure.ac aclocal.m4 VERSION.m4
cd ${top_srcdir}; autoconf
+${top_srcdir}/%: ${top_srcdir}/../%
+ cd $(dir $@) && $(LN_S) -f ../$* .
+
# Propagate package version, as configured, consistently throughout
# the package build.
#
@@ -340,9 +344,8 @@ mingwrt-devdist w32api-devdist: %-devdist: %-dist-staged
SRCDIST_ADD = $1-srcdist-files: $(addprefix ${$1_srcdir}/,$2)
$(call SRCDIST_ADD,w32api,ChangeLog CONTRIBUTIONS README.w32api TODO)
-$(call SRCDIST_ADD,w32api,configure configure.ac aclocal.m4 Makefile.in)
-$(call SRCDIST_ADD,w32api,install-sh include lib)
-
+$(call SRCDIST_ADD,w32api,configure configure.ac aclocal.m4 VERSION.m4)
+$(call SRCDIST_ADD,w32api,Makefile.in install-sh include lib)
# Clean-up Rules
# --------------
diff --git a/w32api/VERSION.m4 b/w32api/VERSION.m4
deleted file mode 100644
index 872bc33..0000000
--- a/w32api/VERSION.m4
+++ /dev/null
@@ -1,11 +0,0 @@
-# VERSION.m4 -- vim: filetype=config
-#
-# $Id$
-#
-# Non-copyrightable material; adjust the following definition, to
-# assign a common version number to each of the mingwrt and w32api
-# MinGW System Library sub-packages.
-
-m4_define([__VERSION__],[5.0])
-
-# $RCSfile$: end of file
diff --git a/w32api/aclocal.m4 b/w32api/aclocal.m4
deleted file mode 100644
index acdf9fa..0000000
--- a/w32api/aclocal.m4
+++ /dev/null
@@ -1,169 +0,0 @@
-## aclocal.m4 -*- Autoconf -*- vim: filetype=config
-##
-## Autoconf macros for MinGW.org Runtime Library Package
-##
-## $Id$
-##
-## Written by Keith Marshall <kei...@us...>
-## Copyright (C) 2014, 2016, MinGW.org Project
-##
-##
-m4_include([VERSION.m4])
-m4_define([__BUG_REPORT_URL__],[http://mingw.org/Reporting_Bugs])
-##
-##
-## Permission is hereby granted, free of charge, to any person obtaining a
-## copy of this software and associated documentation files (the "Software"),
-## to deal in the Software without restriction, including without limitation
-## the rights to use, copy, modify, merge, publish, distribute, sublicense,
-## and/or sell copies of the Software, and to permit persons to whom the
-## Software is furnished to do so, subject to the following conditions:
-##
-## The above copyright notice and this permission notice (including the next
-## paragraph) shall be included in all copies or substantial portions of the
-## Software.
-##
-## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-## OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-## AUTHORS OR THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-## FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-## DEALINGS IN THE SOFTWARE.
-##
-
-# MINGW_AC_CONFIG_EXTRA_SRCDIR( PACKAGE, WITNESS_FILE )
-# -----------------------------------------------------
-# Identify the top source directory for a sibling PACKAGE, which
-# provides WITNESS_FILE, and set AC_SUBST variable PACKAGE_srcdir
-# to its path relative to the build directory. Prefers a sibling
-# directory of ${srcdir} named exactly PACKAGE, but falls back to
-# PACKAGE*, and then to *PACKAGE*, if necessary.
-#
-AC_DEFUN_ONCE([MINGW_AC_CONFIG_EXTRA_SRCDIR],
-[AC_MSG_CHECKING([location of $1 source files])
- for ac_dir in ${srcdir}/../$1 ${srcdir}/../$1* ${srcdir}/../*$1*
- do test -f $ac_dir/$2 && { $1_srcdir=$ac_dir; break; }; done
- AC_MSG_RESULT([$$1_srcdir])
- AC_SUBST([$1_srcdir])dnl
-])
-
-# MINGW_AC_NO_EXECUTABLES
-# -----------------------
-# When building the runtime and W32 API libraries with only
-# a partially installed compiler, as we will be required to do
-# between the stage-1 and stage-2 phases of building GCC itself,
-# autoconf's _AC_COMPILER_EXEEXT may choke because the runtime
-# library itself is not yet available; here, we have provided
-# a redefined "do-nothing" version, which will avoid this mode
-# of failure, while retaining the original test for subsequent
-# use, after verifying that it should not fail.
-#
-AC_DEFUN_ONCE([MINGW_AC_NO_EXECUTABLES],
-[AC_BEFORE([$0],[AC_PROG_CC])dnl cannot let this use...
- m4_rename([_AC_COMPILER_EXEEXT],[_MINGW_AC_COMPILER_EXEEXT])dnl so...
- m4_define([_AC_COMPILER_EXEEXT])dnl move it away quickly!
-])
-
-# MINGW_AC_PROG_CC_COMPILE_ONLY
-# -----------------------------
-# A wrapper for AC_PROG_CC, ensuring that it will not succumb to
-# the failure mode described above, while still running the checks
-# provided by the original _AC_COMPILER_EXEEXT macro, when the
-# circumstances of failure do not prevail.
-#
-AC_DEFUN_ONCE([MINGW_AC_PROG_CC_COMPILE_ONLY],
-[AC_REQUIRE([MINGW_AC_NO_EXECUTABLES])dnl no need for linking
- AC_LINK_IFELSE([AC_LANG_PROGRAM],dnl minimal 'int main(){return 0;}'
- [_MINGW_AC_COMPILER_EXEEXT],dnl can create executables anyway!
- [_MINGW_AC_COMPILER_NO_EXECUTABLES])dnl
-])
-
-# _MINGW_AC_COMPILER_NO_EXECUTABLES
-# ---------------------------------
-# Package specific diagnostics for the case where the compiler
-# really does succumb to the _AC_COMPILER_EXEEXT failure mode; in
-# this case, we allow the build to proceed, but we disallow the
-# building of executables and shared libraries by default.
-#
-AC_DEFUN([_MINGW_AC_COMPILER_NO_EXECUTABLES],
-[AC_MSG_CHECKING([whether the C compiler can create executables])
- AC_MSG_RESULT([${may_enable_stage_2=no}])
- AC_MSG_WARN([$CC compiler cannot create executables!])
- AC_MSG_WARN([build will proceed to completion of stage-1 only;])
- AC_MSG_WARN([no executables or shared libraries will be built.])
-])
-
-# MINGW_AC_DISABLE_STAGE_2
-# ------------------------
-# Implement the '--disable-stage-2' configure option, such that
-# it activates the non-failing _AC_COMPILER_EXEEXT behaviour, as
-# described above; default is to proceed with the stage-2 build,
-# provided the compiler is determined to be able to support it.
-#
-AC_DEFUN_ONCE([MINGW_AC_DISABLE_STAGE_2],
-[AC_ARG_ENABLE([stage-2],
- [AS_HELP_STRING([--disable-stage-2],
- [disable building of DLL components which require a fully installed compiler;
- this option may be used during the compiler build process, to permit building
- of the libraries required before commencing stage-2 of the compiler build.
- ])dnl
- ],[],dnl
- [enable_stage_2=auto])dnl let compiler capability govern
-])
-
-# MINGW_AC_MAKE_COMMAND_GOALS
-# ---------------------------
-# Resolve choice of whether stage-2 should be built or not, in
-# favour of user's preference, if supported by the compiler; by
-# default prefer to build, if possible. Propagate the resolved
-# choice as a default make command goal, by assignment to the
-# AC_SUBST variable, DEFAULT_MAKECMDGOALS.
-#
-AC_DEFUN_ONCE([MINGW_AC_MAKE_COMMAND_GOALS],
-[AC_REQUIRE([MINGW_AC_DISABLE_STAGE_2])dnl
- AC_REQUIRE([MINGW_AC_PROG_CC_COMPILE_ONLY])dnl
- AC_MSG_CHECKING([whether to complete stage-2 build])
- ac_val="user's choice"
- AS_CASE([$enable_stage_2],dnl
- [auto],[enable_stage_2=${may_enable_stage_2-yes};dnl
- test x$enable_stage_2 = xyes && ac_val="default choice" dnl
- || ac_val="compiler override"],dnl
- [yes],[enable_stage_2=${may_enable_stage_2-yes};dnl
- test x$enable_stage_2 = xyes || ac_val="compiler override"dnl
- ])
- AC_MSG_RESULT([$enable_stage_2 ($ac_val)])
- test "x$enable_stage_2" = xno dnl
- && DEFAULT_MAKECMDGOALS=all-stage-1-only dnl
- || DEFAULT_MAKECMDGOALS=all-stage-1-and-2
- AC_SUBST([DEFAULT_MAKECMDGOALS])
-])
-
-# MINGW_AC_PROG_COMPILE_SX
-# ------------------------
-# Determine how to invoke GCC to compile *.sx asssembly language
-# files, and provide a suitable derivative of GNU make's COMPILE.S
-# rule in AC_SUBST variable 'COMPILE_SX'. Note that GCC itself has
-# supported direct compilation of such files from version 4.3 onward,
-# (earlier versions require the '-x assembler-with-cpp' hint), but
-# GNU make does not provide a complementary built-in rule.
-#
-AC_DEFUN([MINGW_AC_PROG_COMPILE_SX],
-[AC_REQUIRE([AC_PROG_CC])dnl
- AC_MSG_CHECKING([for $CC option to compile .sx files])
- rm -f conftest.sx conftest.$OBJEXT; : > conftest.sx
- ac_compile_sx='$CC -c $ASFLAGS $CPPFLAGS $ac_val conftest.sx >&5'
- for ac_val in "" "-x assembler-with-cpp"; do
- (eval $ac_compile_sx) 2>&5 && test -f conftest.$OBJEXT && break
- done
- AC_SUBST([COMPILE_SX],[`echo '$(COMPILE.S)' $ac_val`])
- test "x$ac_val" = x && ac_val="none needed"
- test -f conftest.$OBJEXT || ac_val="not supported"
- AC_MSG_RESULT([$ac_val])
- rm -f conftest.sx conftest.$OBJEXT
- test "x$ac_val" = "xnot supported" && {
- AC_MSG_FAILURE([$CC cannot compile .sx files])
- }dnl
-])
-
-# $RCSfile$: end of file
diff --git a/w32api/configure.ac b/w32api/configure.ac
index a40b1db..6dc4a17 100644
--- a/w32api/configure.ac
+++ b/w32api/configure.ac
@@ -48,6 +48,7 @@
AC_PROG_INSTALL
AC_PROG_MKDIR_P
+ AC_PROG_LN_S
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
https://sf.net/p/mingw/mingw-org-wsl/ci/6b76992bb8114f56302bd6e58db0b8eec71722d6/
commit 6b76992bb8114f56302bd6e58db0b8eec71722d6
Merge: a945c8e 5da8a5e
Author: Keith Marshall <kei...@us...>
Date: Sun Jul 17 13:05:20 2016 +0100
Merge mingwrt-3.22 packaging correction to 5.0-active branch.
diff --cc mingwrt/ChangeLog
index a7f116d,033c55d..84428c1
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@@ -1,19 -1,9 +1,29 @@@
+ 2016-07-17 Keith Marshall <kei...@us...>
+
- Correct source package omission of msvcrt-xref subdirectory.
++ Merge mingwrt-3.22 packaging correction to 5.0-active branch.
++
++2016-07-17 Keith Marshall <kei...@us...>
++
++ Correct mingwrt-3.22 source package subdirectory omission.
+
+ * Makefile.in (mingwrt-srcdist-files): Add msvcrt-xref.
+
+2016-07-16 Keith Marshall <kei...@us...>
+
+ Discard redundant config.guess and config.sub files.
+
+ * config.guess config.sub: Delete them; they are no longer required.
+
+2016-07-16 Keith Marshall <kei...@us...>
+
+ Merge recent legacy branch updates to 5.0-active branch.
+
+ * Makefile.in include/ctype.h include/excpt.h include/stdint.h
+ * include/glob.h include/limits.h include/locale.h include/search.h
+ * include/stdio.h include/stdlib.h include/wchar.h include/wctype.h
+ * include/sys/param.h include/sys/stat.h mingwex/tdelete.c
+ * mingwex/tfind.c mingwex/tsearch.c mingwex/twalk.c: Updated.
+
2016-07-14 Keith Marshall <kei...@us...>
Prepare and tag all files for release of mingwrt-3.22.
https://sf.net/p/mingw/mingw-org-wsl/ci/a945c8e2e50ab942642737915f058edd9e0c2fff/
commit a945c8e2e50ab942642737915f058edd9e0c2fff
Author: Keith Marshall <kei...@us...>
Date: Sat Jul 16 19:07:04 2016 +0100
Discard redundant config.guess and config.sub files.
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 3ae49b4..a7f116d 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,5 +1,11 @@
2016-07-16 Keith Marshall <kei...@us...>
+ Discard redundant config.guess and config.sub files.
+
+ * config.guess config.sub: Delete them; they are no longer required.
+
+2016-07-16 Keith Marshall <kei...@us...>
+
Merge recent legacy branch updates to 5.0-active branch.
* Makefile.in include/ctype.h include/excpt.h include/stdint.h
@@ -358,7 +364,7 @@
[__need_ssize_t, __need_time_t]: Move corresponding #undef out of, and
after the respective conditional blocks, which provide each associated
typedef, so ensuring that any repeat request is properly reset.
-
+
* include/time.h [__need_time_t]: Always delegate to <sys/types.h> for
typedef, and reset of request, even in cases where...
[_TIME_H]: ...this is already defined.
diff --git a/mingwrt/config.guess b/mingwrt/config.guess
deleted file mode 100755
index a461730..0000000
--- a/mingwrt/config.guess
+++ /dev/null
@@ -1,1407 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-
-timestamp='2003-07-02'
-
-# This file 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 2 of the License, or
-# (at your option) any later version.
-#
-# This program 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 this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Per Bothner <pe...@bo...>.
-# Please send patches to <con...@gn...>. Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub. If it succeeds, it prints the system name on stdout, and
-# exits with 0. Otherwise, it exits with 1.
-#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <con...@gn...>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit 0 ;;
- --version | -v )
- echo "$version" ; exit 0 ;;
- --help | --h* | -h )
- echo "$usage"; exit 0 ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help" >&2
- exit 1 ;;
- * )
- break ;;
- esac
-done
-
-if test $# != 0; then
- echo "$me: too many arguments$help" >&2
- exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,) echo "int x;" > $dummy.c ;
- for c in cc gcc c89 c99 ; do
- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
- CC_FOR_BUILD="$c"; break ;
- fi ;
- done ;
- if test x"$CC_FOR_BUILD" = x ; then
- CC_FOR_BUILD=no_compiler_found ;
- fi
- ;;
- ,,*) CC_FOR_BUILD=$CC ;;
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (gh...@no... 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
- PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
- *:NetBSD:*:*)
- # NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
- # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
- # switched to ELF, *-*-netbsd* would select the old
- # object file format. This provides both forward
- # compatibility and a consistent mechanism for selecting the
- # object file format.
- #
- # Note: NetBSD doesn't particularly care about the vendor
- # portion of the name. We always set it to "unknown".
- sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
- case "${UNAME_MACHINE_ARCH}" in
- armeb) machine=armeb-unknown ;;
- arm*) machine=arm-unknown ;;
- sh3el) machine=shl-unknown ;;
- sh3eb) machine=sh-unknown ;;
- *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
- esac
- # The Operating System including object format, if it has switched
- # to ELF recently, or will in the future.
- case "${UNAME_MACHINE_ARCH}" in
- arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval $set_cc_for_build
- if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep __ELF__ >/dev/null
- then
- # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
- # Return netbsd for either. FIX?
- os=netbsd
- else
- os=netbsdelf
- fi
- ;;
- *)
- os=netbsd
- ;;
- esac
- # The OS release
- # Debian GNU/NetBSD machines have a different userland, and
- # thus, need a distinct triplet. However, they do not need
- # kernel version information, so it can be replaced with a
- # suitable tag, in the style of linux-gnu.
- case "${UNAME_VERSION}" in
- Debian*)
- release='-gnu'
- ;;
- *)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- ;;
- esac
- # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
- # contains redundant information, the shorter form:
- # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}"
- exit 0 ;;
- amiga:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- arc:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- hp300:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mac68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- macppc:OpenBSD:*:*)
- echo powerpc-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvme68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvme88k:OpenBSD:*:*)
- echo m88k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvmeppc:OpenBSD:*:*)
- echo powerpc-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- pmax:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- sgi:OpenBSD:*:*)
- echo mipseb-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- sun3:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- wgrisc:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- *:OpenBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- alpha:OSF1:*:*)
- if test $UNAME_RELEASE = "V4.0"; then
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
- fi
- # According to Compaq, /usr/sbin/psrinfo has been available on
- # OSF/1 and Tru64 systems produced since 1995. I hope that
- # covers most systems running today. This code pipes the CPU
- # types through head -n 1, so we only detect the type of CPU 0.
- ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
- case "$ALPHA_CPU_TYPE" in
- "EV4 (21064)")
- UNAME_MACHINE="alpha" ;;
- "EV4.5 (21064)")
- UNAME_MACHINE="alpha" ;;
- "LCA4 (21066/21068)")
- UNAME_MACHINE="alpha" ;;
- "EV5 (21164)")
- UNAME_MACHINE="alphaev5" ;;
- "EV5.6 (21164A)")
- UNAME_MACHINE="alphaev56" ;;
- "EV5.6 (21164PC)")
- UNAME_MACHINE="alphapca56" ;;
- "EV5.7 (21164PC)")
- UNAME_MACHINE="alphapca57" ;;
- "EV6 (21264)")
- UNAME_MACHINE="alphaev6" ;;
- "EV6.7 (21264A)")
- UNAME_MACHINE="alphaev67" ;;
- "EV6.8CB (21264C)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8AL (21264B)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8CX (21264D)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.9A (21264/EV69A)")
- UNAME_MACHINE="alphaev69" ;;
- "EV7 (21364)")
- UNAME_MACHINE="alphaev7" ;;
- "EV7.9 (21364A)")
- UNAME_MACHINE="alphaev79" ;;
- esac
- # A Vn.n version is a released version.
- # A Tn.n version is a released field test version.
- # A Xn.n version is an unreleased experimental baselevel.
- # 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- exit 0 ;;
- Alpha*:OpenVMS:*:*)
- echo alpha-hp-vms
- exit 0 ;;
- Alpha\ *:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # Should we change UNAME_MACHINE based on the output of uname instead
- # of the specific Alpha model?
- echo alpha-pc-interix
- exit 0 ;;
- 21064:Windows_NT:50:3)
- echo alpha-dec-winnt3.5
- exit 0 ;;
- Amiga*:UNIX_System_V:4.0:*)
- echo m68k-unknown-sysv4
- exit 0;;
- *:[Aa]miga[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-amigaos
- exit 0 ;;
- *:[Mm]orph[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-morphos
- exit 0 ;;
- *:OS/390:*:*)
- echo i370-ibm-openedition
- exit 0 ;;
- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
- exit 0;;
- SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
- echo hppa1.1-hitachi-hiuxmpp
- exit 0;;
- Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
- # ak...@wp... (Earle F. Ake) contributed MIS and NILE.
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
- echo pyramid-pyramid-sysv3
- else
- echo pyramid-pyramid-bsd
- fi
- exit 0 ;;
- NILE*:*:*:dcosx)
- echo pyramid-pyramid-svr4
- exit 0 ;;
- DRS?6000:unix:4.0:6*)
- echo sparc-icl-nx6
- exit 0 ;;
- DRS?6000:UNIX_SV:4.2*:7*)
- case `/usr/bin/uname -p` in
- sparc) echo sparc-icl-nx7 && exit 0 ;;
- esac ;;
- sun4H:SunOS:5.*:*)
- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- i86pc:SunOS:5.*:*)
- echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- sun4*:SunOS:6*:*)
- # According to config.sub, this is the proper way to canonicalize
- # SunOS6. Hard to guess exactly what SunOS6 will be like, but
- # it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- sun4*:SunOS:*:*)
- case "`/usr/bin/arch -k`" in
- Series*|S4*)
- UNAME_RELEASE=`uname -v`
- ;;
- esac
- # Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit 0 ;;
- sun3*:SunOS:*:*)
- echo m68k-sun-sunos${UNAME_RELEASE}
- exit 0 ;;
- sun*:*:4.2BSD:*)
- UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
- case "`/bin/arch`" in
- sun3)
- echo m68k-sun-sunos${UNAME_RELEASE}
- ;;
- sun4)
- echo sparc-sun-sunos${UNAME_RELEASE}
- ;;
- esac
- exit 0 ;;
- aushp:SunOS:*:*)
- echo sparc-auspex-sunos${UNAME_RELEASE}
- exit 0 ;;
- # The situation for MiNT is a little confusing. The machine name
- # can be virtually everything (everything which is not
- # "atarist" or "atariste" at least should have a processor
- # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
- # to the lowercase version "mint" (or "freemint"). Finally
- # the system name "TOS" denotes a system which is actually not
- # MiNT. But MiNT is downward compatible to TOS, so this should
- # be no problem.
- atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
- atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
- *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
- milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
- exit 0 ;;
- hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
- exit 0 ;;
- *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
- exit 0 ;;
- powerpc:machten:*:*)
- echo powerpc-apple-machten${UNAME_RELEASE}
- exit 0 ;;
- RISC*:Mach:*:*)
- echo mips-dec-mach_bsd4.3
- exit 0 ;;
- RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
- VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
- 2020:CLIX:*:* | 2430:CLIX:*:*)
- echo clipper-intergraph-clix${UNAME_RELEASE}
- exit 0 ;;
- mips:*:*:UMIPS | mips:*:*:RISCos)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h> /* for printf() prototype */
- int main (int argc, char *argv[]) {
-#else
- int main (argc, argv) int argc; char *argv[]; {
-#endif
- #if defined (host_mips) && defined (MIPSEB)
- #if defined (SYSTYPE_SYSV)
- printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_SVR4)
- printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
- printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
- #endif
- #endif
- exit (-1);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c \
- && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
- && exit 0
- echo mips-mips-riscos${UNAME_RELEASE}
- exit 0 ;;
- Motorola:PowerMAX_OS:*:*)
- echo powerpc-motorola-powermax
- exit 0 ;;
- Motorola:*:4.3:PL8-*)
- echo powerpc-harris-powermax
- exit 0 ;;
- Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
- echo powerpc-harris-powermax
- exit 0 ;;
- Night_Hawk:Power_UNIX:*:*)
- echo powerpc-harris-powerunix
- exit 0 ;;
- m88k:CX/UX:7*:*)
- echo m88k-harris-cxux7
- exit 0 ;;
- m88k:*:4*:R4*)
- echo m88k-motorola-sysv4
- exit 0 ;;
- m88k:*:3*:R3*)
- echo m88k-motorola-sysv3
- exit 0 ;;
- AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
- then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
- [ ${TARGET_BINARY_INTERFACE}x = x ]
- then
- echo m88k-dg-dgux${UNAME_RELEASE}
- else
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
- fi
- else
- echo i586-dg-dgux${UNAME_RELEASE}
- fi
- exit 0 ;;
- M88*:DolphinOS:*:*) # DolphinOS (SVR3)
- echo m88k-dolphin-sysv3
- exit 0 ;;
- M88*:*:R3*:*)
- # Delta 88k system running SVR3
- echo m88k-motorola-sysv3
- exit 0 ;;
- XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
- echo m88k-tektronix-sysv3
- exit 0 ;;
- Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
- echo m68k-tektronix-bsd
- exit 0 ;;
- *:IRIX*:*:*)
- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
- exit 0 ;;
- ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
- i*86:AIX:*:*)
- echo i386-ibm-aix
- exit 0 ;;
- ia64:AIX:*:*)
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
- exit 0 ;;
- *:AIX:2:3)
- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <sys/systemcfg.h>
-
- main()
- {
- if (!__power_pc())
- exit(1);
- puts("powerpc-ibm-aix3.2.5");
- exit(0);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
- echo rs6000-ibm-aix3.2.5
- elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
- echo rs6000-ibm-aix3.2.4
- else
- echo rs6000-ibm-aix3.2
- fi
- exit 0 ;;
- *:AIX:*:[45])
- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
- IBM_ARCH=rs6000
- else
- IBM_ARCH=powerpc
- fi
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit 0 ;;
- *:AIX:*:*)
- echo rs6000-ibm-aix
- exit 0 ;;
- ibmrt:4.4BSD:*|romp-ibm:BSD:*)
- echo romp-ibm-bsd4.4
- exit 0 ;;
- ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit 0 ;; # report: romp-ibm BSD 4.3
- *:BOSX:*:*)
- echo rs6000-bull-bosx
- exit 0 ;;
- DPX/2?00:B.O.S.:*:*)
- echo m68k-bull-sysv3
- exit 0 ;;
- 9000/[34]??:4.3bsd:1.*:*)
- echo m68k-hp-bsd
- exit 0 ;;
- hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
- echo m68k-hp-bsd4.4
- exit 0 ;;
- 9000/[34678]??:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- case "${UNAME_MACHINE}" in
- 9000/31? ) HP_ARCH=m68000 ;;
- 9000/[34]?? ) HP_ARCH=m68k ;;
- 9000/[678][0-9][0-9])
- if [ -x /usr/bin/getconf ]; then
- sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
- esac ;;
- esac
- fi
- if [ "${HP_ARCH}" = "" ]; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-
- #define _HPUX_SOURCE
- #include <stdlib.h>
- #include <unistd.h>
-
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
-
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
- #if defined(_SC_KERNEL_BITS)
- switch (bits)
- {
- case 64: puts ("hppa2.0w"); break;
- case 32: puts ("hppa2.0n"); break;
- default: puts ("hppa2.0"); break;
- } break;
- #else /* !defined(_SC_KERNEL_BITS) */
- puts ("hppa2.0"); break;
- #endif
- default: puts ("hppa1.0"); break;
- }
- exit (0);
- }
-EOF
- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
- test -z "$HP_ARCH" && HP_ARCH=hppa
- fi ;;
- esac
- if [ ${HP_ARCH} = "hppa2.0w" ]
- then
- # avoid double evaluation of $set_cc_for_build
- test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
- then
- HP_ARCH="hppa2.0w"
- else
- HP_ARCH="hppa64"
- fi
- fi
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit 0 ;;
- ia64:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ia64-hp-hpux${HPUX_REV}
- exit 0 ;;
- 3050*:HI-UX:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <unistd.h>
- int
- main ()
- {
- long cpu = sysconf (_SC_CPU_VERSION);
- /* The order matters, because CPU_IS_HP_MC68K erroneously returns
- true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
- results, however. */
- if (CPU_IS_PA_RISC (cpu))
- {
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
- default: puts ("hppa-hitachi-hiuxwe2"); break;
- }
- }
- else if (CPU_IS_HP_MC68K (cpu))
- puts ("m68k-hitachi-hiuxwe2");
- else puts ("unknown-hitachi-hiuxwe2");
- exit (0);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
- echo unknown-hitachi-hiuxwe2
- exit 0 ;;
- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
- echo hppa1.1-hp-bsd
- exit 0 ;;
- 9000/8??:4.3bsd:*:*)
- echo hppa1.0-hp-bsd
- exit 0 ;;
- *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
- echo hppa1.0-hp-mpeix
- exit 0 ;;
- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
- echo hppa1.1-hp-osf
- exit 0 ;;
- hp8??:OSF1:*:*)
- echo hppa1.0-hp-osf
- exit 0 ;;
- i*86:OSF1:*:*)
- if [ -x /usr/sbin/sysversion ] ; then
- echo ${UNAME_MACHINE}-unknown-osf1mk
- else
- echo ${UNAME_MACHINE}-unknown-osf1
- fi
- exit 0 ;;
- parisc*:Lites*:*:*)
- echo hppa1.1-hp-lites
- exit 0 ;;
- C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
- echo c1-convex-bsd
- exit 0 ;;
- C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit 0 ;;
- C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
- echo c34-convex-bsd
- exit 0 ;;
- C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
- echo c38-convex-bsd
- exit 0 ;;
- C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
- echo c4-convex-bsd
- exit 0 ;;
- CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- CRAY*[A-Z]90:*:*:*)
- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
- | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
- -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
- -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- CRAY*T3E:*:*:*)
- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- CRAY*SV1:*:*:*)
- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- *:UNICOS/mp:*:*)
- echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit 0 ;;
- i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit 0 ;;
- sparc*:BSD/OS:*:*)
- echo sparc-unknown-bsdi${UNAME_RELEASE}
- exit 0 ;;
- *:BSD/OS:*:*)
- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
- exit 0 ;;
- *:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
- # Determine whether the default compiler uses glibc.
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <features.h>
- #if __GLIBC__ >= 2
- LIBC=gnu
- #else
- LIBC=
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
- # GNU/FreeBSD systems have a "k" prefix to indicate we are using
- # FreeBSD's kernel, but not the complete OS.
- case ${LIBC} in gnu) kernel_only='k' ;; esac
- echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
- exit 0 ;;
- i*:CYGWIN*:*)
- echo ${UNAME_MACHINE}-pc-cygwin
- exit 0 ;;
- i*:MINGW*:*)
- echo ${UNAME_MACHINE}-pc-mingw32
- exit 0 ;;
- i*:PW*:*)
- echo ${UNAME_MACHINE}-pc-pw32
- exit 0 ;;
- x86:Interix*:[34]*)
- echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
- exit 0 ;;
- [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
- echo i${UNAME_MACHINE}-pc-mks
- exit 0 ;;
- i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
- # UNAME_MACHINE based on the output of uname instead of i386?
- echo i586-pc-interix
- exit 0 ;;
- i*:UWIN*:*)
- echo ${UNAME_MACHINE}-pc-uwin
- exit 0 ;;
- p*:CYGWIN*:*)
- echo powerpcle-unknown-cygwin
- exit 0 ;;
- prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- *:GNU:*:*)
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit 0 ;;
- i*86:Minix:*:*)
- echo ${UNAME_MACHINE}-pc-minix
- exit 0 ;;
- arm*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- cris:Linux:*:*)
- echo cris-axis-linux-gnu
- exit 0 ;;
- ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- mips:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef mips
- #undef mipsel
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mipsel
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips
- #else
- CPU=
- #endif
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
- test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
- ;;
- mips64:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef mips64
- #undef mips64el
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mips64el
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips64
- #else
- CPU=
- #endif
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
- test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
- ;;
- ppc:Linux:*:*)
- echo powerpc-unknown-linux-gnu
- exit 0 ;;
- ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-gnu
- exit 0 ;;
- alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- EV5) UNAME_MACHINE=alphaev5 ;;
- EV56) UNAME_MACHINE=alphaev56 ;;
- PCA56) UNAME_MACHINE=alphapca56 ;;
- PCA57) UNAME_MACHINE=alphapca56 ;;
- EV6) UNAME_MACHINE=alphaev6 ;;
- EV67) UNAME_MACHINE=alphaev67 ;;
- EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
- objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
- exit 0 ;;
- parisc:Linux:*:* | hppa:Linux:*:*)
- # Look for CPU level
- case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-gnu ;;
- PA8*) echo hppa2.0-unknown-linux-gnu ;;
- *) echo hppa-unknown-linux-gnu ;;
- esac
- exit 0 ;;
- parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
- exit 0 ;;
- s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux
- exit 0 ;;
- sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- x86_64:Linux:*:*)
- echo x86_64-unknown-linux-gnu
- exit 0 ;;
- i*86:Linux:*:*)
- # The BFD linker knows what the default object file format is, so
- # first see if it will tell us. cd to the root directory to prevent
- # problems with other programs or directories called `ld' in the path.
- # Set LC_ALL=C to ensure ld outputs messages in English.
- ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
- | sed -ne '/supported targets:/!d
- s/[ ][ ]*/ /g
- s/.*supported targets: *//
- s/ .*//
- p'`
- case "$ld_supported_targets" in
- elf32-i386)
- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
- ;;
- a.out-i386-linux)
- echo "${UNAME_MACHINE}-pc-linux-gnuaout"
- exit 0 ;;
- coff-i386)
- echo "${UNAME_MACHINE}-pc-linux-gnucoff"
- exit 0 ;;
- "")
- # Either a pre-BFD a.out linker (linux-gnuoldld) or
- # one that does not give us useful --help.
- echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
- exit 0 ;;
- esac
- # Determine whether the default compiler is a.out or elf
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <features.h>
- #ifdef __ELF__
- # ifdef __GLIBC__
- # if __GLIBC__ >= 2
- LIBC=gnu
- # else
- LIBC=gnulibc1
- # endif
- # else
- LIBC=gnulibc1
- # endif
- #else
- #ifdef __INTEL_COMPILER
- LIBC=gnu
- #else
- LIBC=gnuaout
- #endif
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
- test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
- test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
- ;;
- i*86:DYNIX/ptx:4*:*)
- # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
- # earlier versions are messed up and put the nodename in both
- # sysname and nodename.
- echo i386-sequent-sysv4
- exit 0 ;;
- i*86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
- # I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
- exit 0 ;;
- i*86:OS/2:*:*)
- # If we were able to find `uname', then EMX Unix compatibility
- # is probably installed.
- echo ${UNAME_MACHINE}-pc-os2-emx
- exit 0 ;;
- i*86:XTS-300:*:STOP)
- echo ${UNAME_MACHINE}-unknown-stop
- exit 0 ;;
- i*86:atheos:*:*)
- echo ${UNAME_MACHINE}-unknown-atheos
- exit 0 ;;
- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
- echo i386-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- i*86:*DOS:*:*)
- echo ${UNAME_MACHINE}-pc-msdosdjgpp
- exit 0 ;;
- i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
- else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
- fi
- exit 0 ;;
- i*86:*:5:[78]*)
- case `/bin/uname -X | grep "^Machine"` in
- *486*) UNAME_MACHINE=i486 ;;
- *Pentium) UNAME_MACHINE=i586 ;;
- *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
- esac
- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
- exit 0 ;;
- i*86:*:3.2:*)
- if test -f /usr/options/cb.name; then
- UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
- echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
- elif /bin/uname -X 2>/dev/null >/dev/null ; then
- UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
- (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
- (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
- && UNAME_MACHINE=i586
- (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
- && UNAME_MACHINE=i686
- (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
- && UNAME_MACHINE=i686
- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
- else
- echo ${UNAME_MACHINE}-pc-sysv32
- fi
- exit 0 ;;
- pc:*:*:*)
- # Left here for compatibility:
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i386.
- echo i386-pc-msdosdjgpp
- exit 0 ;;
- Intel:Mach:3*:*)
- echo i386-pc-mach3
- exit 0 ;;
- paragon:*:*:*)
- echo i860-intel-osf1
- exit 0 ;;
- i860:*:4.*:*) # i860-SVR4
- if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
- else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
- fi
- exit 0 ;;
- mini*:CTIX:SYS*5:*)
- # "miniframe"
- echo m68010-convergent-sysv
- exit 0 ;;
- mc68k:UNIX:SYSTEM5:3.51m)
- echo m68k-convergent-sysv
- exit 0 ;;
- M680?0:D-NIX:5.3:*)
- echo m68k-diab-dnix
- exit 0 ;;
- M68*:*:R3V[567]*:*)
- test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
- 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
- OS_REL=''
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4.3${OS_REL} && exit 0
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
- 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4 && exit 0 ;;
- m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
- echo m68k-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- mc68030:UNIX_System_V:4.*:*)
- echo m68k-atari-sysv4
- exit 0 ;;
- TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- rs6000:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
- echo powerpc-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv${UNAME_RELEASE}
- exit 0 ;;
- RM*:ReliantUNIX-*:*:*)
- echo mips-sni-s...
[truncated message content] |
|
From: Keith M. <no...@so...> - 2016-07-18 13:23:07
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The tag, mingwrt-3.22-release has been updated
to 4f06e0a14e0eef9dd42e30a493d40cb4be82ced2 (commit)
from 1fa7d08b511c446767370ae57bc1da6b1cb1f2b2
- Log -----------------------------------------------------------------
commit 4f06e0a14e0eef9dd42e30a493d40cb4be82ced2
Author: Keith Marshall <kei...@us...>
Date: Sun Jul 17 11:11:20 2016 +0100
Correct source package omission of msvcrt-xref subdirectory.
-----------------------------------------------------------------------
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2016-07-18 13:23:04
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, legacy has been updated
via 5da8a5e0f73083024b3dfb3de79966ea55ef553a (commit)
via 4f06e0a14e0eef9dd42e30a493d40cb4be82ced2 (commit)
from df3545be36f18656d5d232c555ad7c3a2866390f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
-----------------------------------------------------------------------
Summary of changes:
.hgtags | 2 ++
mingwrt/ChangeLog | 6 ++++++
mingwrt/Makefile.in | 2 +-
3 files changed, 9 insertions(+), 1 deletions(-)
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2016-07-16 16:29:31
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, 5.0-active has been updated
via c4e55653606e6ea8c1cdebe69c0035380b5fe67c (commit)
via df3545be36f18656d5d232c555ad7c3a2866390f (commit)
via 1fa7d08b511c446767370ae57bc1da6b1cb1f2b2 (commit)
via af2dfd04b9d875a7bace110ba987ce072758bada (commit)
via 591dff56c6c73eec2236af4c980e2e57e3b1c6d0 (commit)
via dae98a836e072bfc1aacd34da8b63fa138e7c2d1 (commit)
via b4fe285fd979fae8364d3c70056584aaacd95e8b (commit)
via cc84f5a03d271ea8a3d14f20aa0f26cfedce6929 (commit)
via 8b688df2fd6c40d8287e8f84024546f8fff9f64a (commit)
via fc36f6df4ede289014df0c328a28a2621fea3457 (commit)
via 47d501fda777efe7fa8520aeac0e0da347ae20b0 (commit)
via 64d998b13ef807e943fae48f8a2b06168e9c95fc (commit)
via d57bcb63bf479f693b69ad4aa4a6b61f99d85263 (commit)
via f8a8324deb5fb459c79afc10f3d2f4b3707e09bf (commit)
via 39e2fc7fccb558df06e4051d147a582b115d92d3 (commit)
via ca86cd03418d519b1bdc11c034d44f64ed6fa1d2 (commit)
via 42c2c9ff1f46aff26193b6e5c24ae1e5705a3c02 (commit)
via fbb8abff03832badefffe114774a00cb5674d6e5 (commit)
via 8678ba90607738f8c6fced3abd9388632c50a84a (commit)
via e9ed0d723b52050ba8ed0fed0642f6d77fdcf2e1 (commit)
via d6dde8b0ea290f42799ea8512faffb94066a6563 (commit)
via 67762b44ceb8a8811c69eec12456df9aa87d10f1 (commit)
via 71d711e8ebf46f56553689f0d4371385bd0daebd (commit)
via 9b6b49f790d6ccb86b656b178a5483f73524fc66 (commit)
via 762582763056792d03872e8dad9b987a0b1e96ff (commit)
via b0dee9302554e05db1f546bab0ecfba11c5fa13e (commit)
via 33b631c9a788ebb65a6ac7f10010e0ff3ab94579 (commit)
via 52bb06001ad85b456e91bf9a1a43da32de336243 (commit)
from c9fb9cb929b74c25ea239d4c35591b774f63ec99 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/c4e55653606e6ea8c1cdebe69c0035380b5fe67c/
commit c4e55653606e6ea8c1cdebe69c0035380b5fe67c
Merge: c9fb9cb df3545b
Author: Keith Marshall <kei...@us...>
Date: Sat Jul 16 14:47:57 2016 +0100
Merge recent legacy branch updates to 5.0-active branch.
diff --cc mingwrt/ChangeLog
index 471a017,3f7bb7c..3ae49b4
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@@ -1,3 -1,188 +1,198 @@@
++2016-07-16 Keith Marshall <kei...@us...>
++
++ Merge recent legacy branch updates to 5.0-active branch.
++
++ * Makefile.in include/ctype.h include/excpt.h include/stdint.h
++ * include/glob.h include/limits.h include/locale.h include/search.h
++ * include/stdio.h include/stdlib.h include/wchar.h include/wctype.h
++ * include/sys/param.h include/sys/stat.h mingwex/tdelete.c
++ * mingwex/tfind.c mingwex/tsearch.c mingwex/twalk.c: Updated.
++
+ 2016-07-14 Keith Marshall <kei...@us...>
+
+ Prepare and tag all files for release of mingwrt-3.22.
+
+ * configure.ac (AC_INIT): Adjust package version number.
+
+ 2016-07-14 Keith Marshall <kei...@us...>
+
+ Preserve kludge to evade GCC build failure on S_ISBLK misuse.
+
+ * include/sys/stat.h (_NO_UNSUPPORTED): New feature test macro; it
+ should be user defined, if desired, before inclusion; leave undefined.
+ [!_S_IFBLK && !_NO_UNSUPPORTED && !_NO_OLDNAMES] (S_ISBLK): Define it,
+ as appropriate for POSIX conforming usage; do not poison it.
+
+ 2016-07-10 Keith Marshall <kei...@us...>
+
+ Fix C++ strict type checking inconsistency in <glob.h>
+
+ * include/glob.h (__ERRFUNC_P): New private macro; define it to match
+ the type signature of the error function pointer, to be passed to...
+ (glob): ...this function; use it to correctly represent error function
+ pointer argument in inline implementation.
+
+ 2016-07-09 Keith Marshall <kei...@us...>
+
+ Factor out <ctype.h> vs. <wctype.h> duplicate elements.
+
+ * include/ctype.h: Assert copyright; tidy layout.
+ [!_CTYPE_H_]: Do not evaluate; rename macro to be tested, as...
+ [!_CTYPE_H]: ...this preferred multiple inclusion guard macro name.
+ (__CTYPE_H_SOURCED__): New macro; define it, and include <wctype.h>,
+ so requesting partial inclusion, to retrieve definitions for...
+ (_ALPHA, _BLANK, _CONTROL, _DIGIT, _HEX, _LOWER, _PUNCT, _SPACE)
+ (_UPPER, WEOF): ...these macros; hence, do not define them locally.
+ (wint_t, wchar_t, wctype_t): Likewise these type definitions...
+ (iswalnum, iswalpha, iswascii, iswblank, iswcntrl, iswctype)
+ (iswdigit, iswgraph, iswlower, iswprint, iswpunct, iswspace)
+ (iswupper, iswxdigit, towlower, towupper, is_wctype): ...these function
+ prototypes, and corresponding inline alternative implementations.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use these as appropriate.
+ [__MSVCRT_VERSION__<=__MSVCR70_DLL]: Likewise.
+
+ * include/wctype.h: Assert copyright; tidy layout.
+ [!_WCTYPE_H_]: Do not evaluate; rename macro to be tested, as...
+ [!_WCTYPE_H]: ...this preferred multiple inclusion guard macro name;
+ do not define it when partial inclusion only is selected, by...
+ [__CTYPE_H_SOURCED__]: ...this; thence define only...
+ (_ALPHA, _BLANK, _CONTROL, _DIGIT, _HEX, _LOWER, _PUNCT, _SPACE)
+ (_UPPER): ...these character characterisation macros...
+ (wint_t, wchar_t, wctype_t): ...these type definitions...
+ (iswalnum, iswalpha, iswascii, iswblank, iswcntrl, iswctype)
+ (iswdigit, iswgraph, iswlower, iswprint, iswpunct, iswspace)
+ (iswupper, iswxdigit, towlower, towupper): ...these function
+ prototypes, with corresponding inline alternative implementations...
+ (is_wctype): ...this further prototype, qualified as deprecated...
+ (WEOF): ...and this status reporting macro.
+ (_ctype, _pctype, _pctype_dll, _imp___ctype, _imp___pctype): Delete
+ declarations, and associated definitions; they do not belong here.
+ (isleadbyte): Likewise, this Microsoft specific function prototype...
+ (_LEADBYTE): ...and this associated character classification macro.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use these as appropriate.
+
+ 2016-07-04 Keith Marshall <kei...@us...>
+
+ Do not pass MAKEFLAGS explicitly, when invoking recursive make.
+
+ * Makefile.in (install-strip, uninstall): Delete explicit $(MAKEFLAGS)
+ references from $(MAKE) command lines; make passes them implicitly.
+
+ 2016-07-03 Keith Marshall <kei...@us...>
+
+ Rework tsearch and friends; resolve issues [#1512] and [#1576].
+
+ * include/search.h: Assert copyright; tidy layout.
+ (_SEARCH_H_): Rename this multiple inclusion guard macro...
+ (_SEARCH_H): ...to conform to this preferred standard convention.
+ (__search_comparator): New function prototype typedef; it provides a
+ convenient shorthand notation for argument declarations in functions
+ which require a comparator function pointer; use it where appropriate.
+ (tsearch, tfind, tdelete) [__MINGW_ATTRIB_NONNULL]: Apply to arguments
+ #2 and #3; was previously incorrectly applied to arguments #1 and #3.
+ (twalk) [__MINGW_ATTRIB_NONNULL]: Apply to both arguments #1 and #2.
+ [_SEARCH_PRIVATE] (__MINGW_ATTRIB_NONNULL): Suppress its effect, to
+ ensure that GCC does not optimize away checks within implementation.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use these.
+
+ * mingwex/tdelete.c: Tidy layout.
+ (tdelete): Reimplement it as a thin wrapper around...
+ (__tdelete): ...this; it encapsulates the original implementation as a
+ __CRT_ALIAS (inline) function, to simplify void ** --> node_t ** casts.
+ Remove unnecessary non-null assertions for arguments #1 and #3; prefer
+ to validate arguments #2 and #3 internally, and simply return NULL if
+ necessary; hence, do not include <assert.h>
+
+ * mingwex/tfind.c: Tidy layout.
+ (tfind): Similarly reimplement it as a thin wrapper around...
+ (__tfind): ...this __CRT_ALIAS (inline) encapsulation of the original.
+ Add non-null validation for argument #3; do not include <assert.h>
+
+ * mingwex/tsearch.c: Tidy layout.
+ (tsearch): Once again, reimplement it as a thin wrapper around...
+ (__tsearch): ...this __CRT_ALIAS variant. Add non-null validation for
+ argument #3; do not include <assert.h>
+
+ * mingwex/twalk.c: Tidy layout; do not include <assert.h>
+
+ 2016-06-28 Keith Marshall <kei...@us...>
+
+ Rework __try1/__except1 to resolve issue [#1328].
+
+ * include/excpt.h: Assert copyright; tidy layout.
+ (_EXCPT_H_): Multiple inclusion guard macro renamed to...
+ (_EXCPT_H): ...this; update all references as appropriate.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use these.
+ (__typecast_alloca): New macro; define it, casting return type of...
+ (__builtin_alloca): ...this to a specified data type; use it in...
+ (__try1_setup, __except1_teardown): ...these new macros; define them
+ as parameterized templates, providing both -masm-att and -masm-intel
+ syntax implementations, with host specific word size and register
+ assignment parameter substitutions; use them to redefine...
+ (__try1, __except1): ...each of these, using __builtin_alloca to avoid
+ direct stack pushes when registering exception handlers; assign the
+ template parameters as appropriate to support implementation for...
+ [_WIN64, _WIN32]: ...either of these, as the host requires.
+
+ 2016-06-17 Keith Marshall <kei...@us...>
+
+ Merge Cygwin CVS updates to legacy branch.
+
+ * include/stdio.h: Merge 2011-11-30 and 2012-08-02 commits.
+ (getc, getchar, putc, putchar): Declare function prototypes.
+ (fopen64, ftello64): Likewise; change implementation classification
+ from __CRT_INLINE to __CRT_ALIAS, to avoid C++ emitted code bloat.
+ (_lock_file, _unlock_file): Add prototypes; modify merge to...
+ [__MSVCRT_VERSION__>=__MSVCR80_DLL]: ...require this.
+
+ * include/stdint.h: Merge 2012-07-30 commit; include <_mingw.h>
+
+ * include/excpt.h: Merge 2012-08-01 commit.
+ (__try1, __except1) [_WIN64]: Add alternative implementations.
+
+ * include/stdlib.h: Merge 2012-08-02 commit.
+ [__MSVCRT__VERSION__>=__MSVCR70_DLL || _WIN32_WINNT >= _WINXP]
+ (_strtoi64, _strtoui64, _wcstoi64, _wcstoui64): Declare prototypes.
+ [__MSVCRT__VERSION__>=__MSVCR80_DLL || _WIN32_WINNT >= _VISTA]
+ (_strtoi64_l, _strtoui64_l, _wcstoi64_l, _wcstoui64_l): Likewise...
+ [!__have_typedef_locale_t] (__need_locale_t): ...and define to get...
+ (locale_t): ...this, by selective inclusion of <locale.h>
+ [__WCHAR_H_SOURCED] (_wcstoi64, _wcstoui64, _wcstoi64_l)
+ (_wcstoui64_l): Make these function prototypes available for selective
+ inclusion by...
+ * include/wchar.h: ...this; merge 2012-08-02 commit.
+ [__MSVCRT__VERSION__>=__MSVCR70_DLL || _WIN32_WINNT >= _WINXP]
+ (_wcstoi64, _wcstoui64): Note availability of function prototypes via
+ selective inclusion of their actual declarations from <stdlib.h>
+ [__MSVCRT__VERSION__>=__MSVCR80_DLL || _WIN32_WINNT >= _VISTA]
+ (_wcstoi64_l, _wcstoui64_l): Likewise.
+
+ * include/limits.h: Merge 2012-08-02 commit.
+ [__STRICT_ANSI__] (PATH_MAX): Suppress definition.
+
+ * include/sys/param.h: Merge 2012-08-02 commit.
+ [PATH_MAX not defined] (MAXPATHLEN): Define it explicitly.
+ [PATH_MAX defined] (MAXPATHLEN): Define it as an alias.
+
+ 2016-06-12 Keith Marshall <kei...@us...>
+
+ Add typedef and access support for opaque locale_t objects.
+
+ * include/locale.h (locale_t, _locale_t): Define opaque types.
+ [__need_locale_t]: Make them selectively accessible; define...
+ (__have_typedef_locale_t): ...this, when they are available.
+ [_LOCALE_H] (_create_locale, _get_current_locale, _free_locale):
+ Declare function prototypes, on direct <locale.h> inclusion only.
+ [_LOCALE_H || _WCHAR_H] (_wcreate_locale): Likewise; this is to be
+ visible on direct inclusion, or when including <wchar.h>
+
+ * include/stdio.h [!(_STDIO_H && _WCHAR_T)]: Correct expression of...
+ [__MSVCR80_DLL || _WIN32_WINNT_VISTA]: ...this subsidiary condition;
+ for all cases when this is true, (including when [_STDIO_H] alone)...
+ [!__have_typedef_locale_t] (__need_locale_t): ...define this, and
+ include <locale.h>, for selective definition of...
+ (locale_t): ...this.
+
2016-05-19 Keith Marshall <kei...@us...>
Occlude unsupported _S_IFBLK feature; resolve issue [#1146].
diff --cc w32api/ChangeLog
index 1023660,076f248..d1459eb
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@@ -1,3 -1,67 +1,76 @@@
++2016-07-16 Keith Marshall <kei...@us...>
++
++ Merge recent legacy branch updates to 5.0-active branch.
++
++ * Makefile.in include/ddk/ntifs.h include/ddk/winddk.h
++ * include/sdkddkver.h include/setupapi.h include/windows.h
++ * include/winnt.h include/winuser.h include/winver.h
++ * include/wtsapi32.h lib/wtsapi32.def: Updated.
++
+ 2016-07-14 Keith Marshall <kei...@us...>
+
+ Prepare and tag all files for release of w32api-3.18.
+
+ 2016-07-04 Keith Marshall <kei...@us...>
+
+ Do not pass MAKEFLAGS explicitly, when invoking recursive make.
+
+ * Makefile.in (install-strip, uninstall): Delete explicit $(MAKEFLAGS)
+ references from $(MAKE) command lines; make passes them implicitly.
+
+ 2016-06-04 Keith Marshall <kei...@us...>
+
+ Backport MemoryBarrier() implementation from 4.0-dev branch.
+
+ * include/winnt.h (MemoryBarrier): Implement it; this is a rework of
+ Earnie's original inline implementation, but declared 'static' to fix
+ issue [#1661]; it is further modified, to avoid the broken pre-Vista
+ fallback identified by issue [#2131], and to remove references to...
+ (__faststorefence, __mf): ...these MSVC intrinsics, replaced by...
+ [defined __ATOMIC_SEQ_CST] (__atomic_thread_fence): ...this, or...
+ [GCC >= 4.4] (__sync_synchronize): ...this, as appropriate, falling
+ back to inline assembly code when necessary.
+
+ * include/ddk/winddk.h (KeMemoryBarrier): Delegate it to...
+ (MemoryBarrier): ...this, so avoiding the potential to emit invalid
+ code, for hosts which do not support the SSE2 'mfence' instruction.
+
+ 2016-06-03 Keith Marshall <kei...@us...>
+
+ Merge further W32API updates from Cygwin CVS.
+ Incorporated selected changes from 2012-08-01 to 2012-08-04.
+
+ * include/setupapi.h include/winuser.h include/winver.h
+ * include/wtsapi32.h lib/wtsapi32.def: Merged and updated.
+
+ 2016-06-02 Keith Marshall <kei...@us...>
+
+ Update mapping of GCC to MSVC host identification macros.
+
+ * include/windows.h: Assert copyright; tidy layout.
+ (_M_IX86, _ALPHA_, _PPC_, _MIPS_, _68K_): Delete duplicate defines.
+ [!_WINUSER_H, !_WINNLS_H, !_WINVER_H, !_WINNETWK_H, !_WINREG_H]
+ [!_WINSVC_H]: Do not explicitly test these here; they are properly
+ managed implicitly, by GCC, when including the associated headers.
+
+ * include/winnt.h: Assert copyright; tidy layout.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use these, as appropriate.
+ (__aligned__, __always_inline__, __selectany__): Prefer these...
+ (aligned, always_inline, selectany): ...to these attribute forms.
+ (CONTEXT) [_ALPHA_, _PPC_, MIPS, ARM]: Change selector macros to...
+ [_M_ALPHA, _M_PPC, _M_MRX000, _M_ARM]: ...these, respectively.
+ (GetCurrentFiber, GetFiberData, NtCurrentTeb): Redefine in terms of...
+ (__tib_fiber_data__, __tib_self_refptr__): ...these adaptive macros...
+ [!_WIN64]: ...to accommodate 32-bit, or otherwise 64-bit Windows.
+ (_ALPHA_, _PPC_, _MIPS_, _68K_): Delete these redundant macros...
+ (_M_IX86): ...also removing this, but relocate it to...
+ * include/sdkddkver.h (_M_IX86): ...here; augment it with...
+ (_M_IX86_FP, _M_X64, _M_AMD64, _M_IA64): ...these; define them as
+ appropriate.
+
+ * include/ddk/ntifs.h [!_ALPHA_]: Augment test; rather consider...
+ [!_ALPHA_ && !_M_ALPHA]: ...this, for structure alignment control.
+
2016-05-23 Keith Marshall <kei...@us...>
Merge W32API updates, from Cygwin CVS, into legacy branch.
-----------------------------------------------------------------------
Summary of changes:
.hgtags | 2 +
mingwrt/ChangeLog | 267 ++
mingwrt/Makefile.in | 4 +-
mingwrt/include/ctype.h | 409 ++--
mingwrt/include/excpt.h | 222 +-
mingwrt/include/glob.h | 8 +-
mingwrt/include/limits.h | 4 +-
mingwrt/include/locale.h | 67 +-
mingwrt/include/search.h | 187 +-
mingwrt/include/stdint.h | 5 +
mingwrt/include/stdio.h | 53 +-
mingwrt/include/stdlib.h | 62 +
mingwrt/include/sys/param.h | 4 +
mingwrt/include/sys/stat.h | 16 +-
mingwrt/include/wchar.h | 14 +
mingwrt/include/wctype.h | 314 ++-
mingwrt/mingwex/tdelete.c | 99 +-
mingwrt/mingwex/tfind.c | 56 +-
mingwrt/mingwex/tsearch.c | 82 +-
mingwrt/mingwex/twalk.c | 64 +-
w32api/ChangeLog | 113 +
w32api/Makefile.in | 4 +-
w32api/include/ddk/ntifs.h | 4 +-
w32api/include/ddk/winddk.h | 3 +-
w32api/include/sdkddkver.h | 89 +
w32api/include/setupapi.h | 12 +-
w32api/include/windows.h | 82 +-
w32api/include/winnt.h | 7419 ++++++++++++++++++++++---------------------
w32api/include/winuser.h | 4 +-
w32api/include/winver.h | 4 +-
w32api/include/wtsapi32.h | 50 +
w32api/lib/wtsapi32.def | 1 +
32 files changed, 5443 insertions(+), 4281 deletions(-)
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Cesar S. <no...@so...> - 2016-07-15 21:16:55
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "UNNAMED PROJECT".
The tag, MSYS-1_0_19 has been created
at a6b29e7d72ba72a18b278640bfbc4a9ea4bdef79 (commit)
- Log -----------------------------------------------------------------
commit a6b29e7d72ba72a18b278640bfbc4a9ea4bdef79
Author: Cesar Strauss <ces...@gm...>
Date: Tue Feb 9 16:04:24 2016 +0000
Optimize execvp, considering we already know the lengths of the strings we want to concatenate.
-----------------------------------------------------------------------
hooks/post-receive
--
UNNAMED PROJECT
|
|
From: Cesar S. <no...@so...> - 2016-07-15 18:12:52
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-dist".
The branch, master has been updated
via dd97453226061478342381dab317d6aac4b824b9 (commit)
from fc5e9e664519f96f6099c20dbbd0bc0eed39493c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-dist/ci/dd97453226061478342381dab317d6aac4b824b9/
commit dd97453226061478342381dab317d6aac4b824b9
Author: Cesar Strauss <ces...@gm...>
Date: Fri Jul 15 18:10:37 2016 +0000
Upgrade msys-core to version 1.0.19.
diff --git a/ChangeLog b/ChangeLog
index 016ddad..a25e267 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2016-07-15 Cesar Strauss <ces...@gm...>
+
+ Upgrade msys-core to version 1.0.19.
+
+ * msys/msys-core.xml: Add new release specifications.
+ (msys-core) <bin>: Generate /etc/fstab automatically in postinstall.
+
+ * common/issue.log msys/issue.log: Updated accordingly.
+
2016-07-15 Keith Marshall <kei...@us...>
Publish mingwrt-3.22 and w32api-3.18.
diff --git a/common/issue.log b/common/issue.log
index ba53119..7d38e6e 100644
--- a/common/issue.log
+++ b/common/issue.log
@@ -23,6 +23,6 @@
# MinGW Project, accept liability for any damages, however caused,
# arising from the use of this software.
#
- c6a9068e183254c0b930ac6e1a70fd81743dc212 2016071501 package-list.xml
+ c6a9068e183254c0b930ac6e1a70fd81743dc212 2016071502 package-list.xml
#
# $RCSfile$: end of file
diff --git a/msys/issue.log b/msys/issue.log
index b81b7ef..4bacee2 100644
--- a/msys/issue.log
+++ b/msys/issue.log
@@ -33,7 +33,7 @@
098df570908eec421a271133cd0556f5894cce65 2012073100 msys-bison.xml
a339eb6a797f2365119e4d2fd12c97ef50615dfc 2013020400 msys-bzip2.xml
9fa0f6bc936b8fae418f79e38ecf31abb35ade20 2012073100 msys-console.xml
- ddfeed199d4857e2d14d9ee73a96786f14a37d7d 2012112200 msys-core.xml
+ 5777ed1232aea4cdf348d18b4d301d7e09c00609 2016071500 msys-core.xml
82080d78dce4eca134aa22803a3364ff04d3607c 2012073100 msys-coreutils.xml
0cae2a34f3da7edea476ecab29807727f033f4fa 2012073100 msys-crypt.xml
b0972dbaf1906fa98f7f3502a0c4417a5edb4853 2012073100 msys-cvs.xml
@@ -74,7 +74,7 @@
b99a540c08e3321515ed2485c1771d22c0c9ef08 2016031600 msys-ncurses.xml
243df0057053eebc442d922dff075e09fb579805 2012073100 msys-openssh.xml
0103c79956ba9fa128755cd93374f0fc334c7cf6 2012073100 msys-openssl.xml
- 5c9e6921f171ce31b016037f5b7c836ed1a4960f 2016031601 msys-package-list.xml
+ 5c9e6921f171ce31b016037f5b7c836ed1a4960f 2016071500 msys-package-list.xml
d19e1e39e5fab25a3d40acb92b98b40a60b0da90 2012073100 msys-patch.xml
d4f194d2e95035da2b712c54053fb6ad5d45e1d9 2013101200 msys-perl.xml
19ddf46e23e23010a440af1b423d986712c3bda7 2012073100 msys-popt.xml
diff --git a/msys/msys-core.xml b/msys/msys-core.xml
index aedcb32..e6da95f 100644
--- a/msys/msys-core.xml
+++ b/msys/msys-core.xml
@@ -45,6 +45,31 @@
<requires eq="msys-core-%-msys-%-lic.tar" />
<release tarname="msysCORE-1.0.17-1-msys-1.0.17-bin.tar.lzma" />
<release tarname="msysCORE-1.0.18-1-msys-1.0.18-bin.tar.lzma" />
+ <release tarname="msysCORE-1.0.19-1-msys-1.0.19-bin.tar.xz" />
+
+ <action class="post-install">
+ sysroot = os.getenv( "MSYS_SYSROOT" )
+ package.path = sysroot.."/postinstall/?.lua;"..package.path
+
+ local has_fstab_module, fstab = pcall( require, "fstab" )
+
+ if has_fstab_module and fstab
+ then
+ have_fstab = io.open( fstab.pathname(), "r" )
+ if have_fstab
+ then
+ io.close( have_fstab )
+ else
+ fstab.initialize()
+ end
+ fstab.sample = io.open( fstab.pathname( ".sample" ), "w" )
+ if fstab.sample
+ then
+ fstab.dump_sample( fstab.sample )
+ io.close( fstab.sample )
+ end
+ end
+ </action>
</component>
<component class="ext">
@@ -53,6 +78,7 @@
-->
<release tarname="msysCORE-1.0.17-1-msys-1.0.17-ext.tar.lzma" />
<release tarname="msysCORE-1.0.18-1-msys-1.0.18-ext.tar.lzma" />
+ <release tarname="msysCORE-1.0.19-1-msys-1.0.19-ext.tar.xz" />
<requires eq="msys-bash-*-msys-*-bin.tar" />
<requires eq="msys-core-%-msys-%-bin.tar" />
<requires eq="msys-coreutils-*-msys-*-bin.tar" />
@@ -64,21 +90,25 @@
<component class="dev">
<release tarname="msysCORE-1.0.17-1-msys-1.0.17-dev.tar.lzma" />
<release tarname="msysCORE-1.0.18-1-msys-1.0.18-dev.tar.lzma" />
+ <release tarname="msysCORE-1.0.19-1-msys-1.0.19-dev.tar.xz" />
</component>
<component class="doc">
<release tarname="msysCORE-1.0.17-1-msys-1.0.17-doc.tar.lzma" />
<release tarname="msysCORE-1.0.18-1-msys-1.0.18-doc.tar.lzma" />
+ <release tarname="msysCORE-1.0.19-1-msys-1.0.19-doc.tar.xz" />
</component>
<component class="lic">
<release tarname="msysCORE-1.0.17-1-msys-1.0.17-lic.tar.lzma" />
<release tarname="msysCORE-1.0.18-1-msys-1.0.18-lic.tar.lzma" />
+ <release tarname="msysCORE-1.0.19-1-msys-1.0.19-lic.tar.xz" />
</component>
<component class="dbg">
<release tarname="msysCORE-1.0.17-1-msys-1.0.17-dbg.tar.lzma" />
<release tarname="msysCORE-1.0.18-1-msys-1.0.18-dbg.tar.lzma" />
+ <release tarname="msysCORE-1.0.19-1-msys-1.0.19-dbg.tar.xz" />
<requires eq="msys-core-%-msys-%-bin.tar" />
</component>
</package>
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 9 +++++++++
common/issue.log | 2 +-
msys/issue.log | 4 ++--
msys/msys-core.xml | 30 ++++++++++++++++++++++++++++++
4 files changed, 42 insertions(+), 3 deletions(-)
hooks/post-receive
--
Repository: mingw-dist
|
|
From: Keith M. <no...@so...> - 2016-07-15 13:15:35
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-dist".
The branch, master has been updated
via fc5e9e664519f96f6099c20dbbd0bc0eed39493c (commit)
from 67cea671f9210b0a0af65c2a855a15340cd66f30 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-dist/ci/fc5e9e664519f96f6099c20dbbd0bc0eed39493c/
commit fc5e9e664519f96f6099c20dbbd0bc0eed39493c
Author: Keith Marshall <kei...@us...>
Date: Fri Jul 15 14:12:14 2016 +0100
Publish mingwrt-3.22 and w32api-3.18.
diff --git a/ChangeLog b/ChangeLog
index 2ba6f1f..016ddad 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2016-07-15 Keith Marshall <kei...@us...>
+
+ Publish mingwrt-3.22 and w32api-3.18.
+
+ * mingw32/mingw32-runtime.xml (mingwrt-3.22): Add release records...
+ (dev, dll, lic, man): ...for each of these component packages.
+ (w32api-3.18): Likewise, for 'dev' component package only.
+
+ * common/issue.log mingw32/issue.log: Update accordingly.
+
2016-03-16 Erwin Waterlander <wat...@xs...>
New package msys-ncurses 6.0.
diff --git a/common/issue.log b/common/issue.log
index 62f0d78..ba53119 100644
--- a/common/issue.log
+++ b/common/issue.log
@@ -23,6 +23,6 @@
# MinGW Project, accept liability for any damages, however caused,
# arising from the use of this software.
#
- c6a9068e183254c0b930ac6e1a70fd81743dc212 2016031601 package-list.xml
+ c6a9068e183254c0b930ac6e1a70fd81743dc212 2016071501 package-list.xml
#
# $RCSfile$: end of file
diff --git a/mingw32/issue.log b/mingw32/issue.log
index 850b350..679d2cd 100644
--- a/mingw32/issue.log
+++ b/mingw32/issue.log
@@ -50,11 +50,11 @@
cd33ad74b608bce33ea297801253e6efbafce27c 2012073100 mingw32-mingw-utils.xml
8d3a7125499a85916b53efb4c897ac907e2490ab 2015082000 mingw32-mpc.xml
8a11de23e7a89fd11436bdf162ef90712f30101b 2013102300 mingw32-mpfr.xml
- 56f4032058328cacfabe64fa46706d72c2fa931e 2016022200 mingw32-package-list.xml
+ 56f4032058328cacfabe64fa46706d72c2fa931e 2016071500 mingw32-package-list.xml
1f15439ee5f66ec22321c7aa853559b6f8f7172f 2015090800 mingw32-pexports.xml
cdb2a4dbedfc9f2cdfc92340f6f9b12da061c0d9 2012073100 mingw32-popt.xml
0a5d210a13d073104fb74b4f9c081674c9745cd1 2013090900 mingw32-pthreads-w32.xml
- eb06e2c5405277455a42d3cadc6184811ad38034 2016012000 mingw32-runtime.xml
+ 73cfdf0a26055e9333b48f71c39567d678fa48cc 2016071500 mingw32-runtime.xml
12acb32f80e49c893167cfae82e448dd766d49bb 2013070100 mingw32-wsl-candidate.xml
247a02890f109a5fe4996fde4af9d576dca3cd1e 2012073100 mingw32-xz.xml
c223ecd7389eb02948b54f8959d595cf608306a7 2013101200 mingw32-zlib.xml
diff --git a/mingw32/mingw32-runtime.xml b/mingw32/mingw32-runtime.xml
index 88e1161..1a88484 100644
--- a/mingw32/mingw32-runtime.xml
+++ b/mingw32/mingw32-runtime.xml
@@ -29,6 +29,7 @@
<component class="dev">
<requires eq="mingwrt-%-mingw32-dll.tar" />
+ <release tarname="mingwrt-3.22-mingw32-dev.tar.xz" />
<release tarname="mingwrt-3.21-mingw32-dev.tar.xz" />
<release tarname="mingwrt-3.21.1-mingw32-dev.tar.xz" />
<release tarname="mingwrt-3.20-2-mingw32-dev.tar.lzma">
@@ -50,6 +51,7 @@
</component>
<component class="dll">
+ <release tarname="mingwrt-3.22-mingw32-dll.tar.xz" />
<release tarname="mingwrt-3.21-mingw32-dll.tar.xz" />
<release tarname="mingwrt-3.21.1-mingw32-dll.tar.xz" />
<release tarname="mingwrt-3.20-2-mingw32-dll.tar.lzma" />
@@ -59,6 +61,7 @@
</component>
<component class="lic">
+ <release tarname="mingwrt-3.22-mingw32-lic.tar.xz" />
<release tarname="mingwrt-3.21-mingw32-lic.tar.xz" />
<release tarname="mingwrt-3.21.1-mingw32-lic.tar.xz" />
<release tarname="mingwrt-3.20-2-mingw32-lic.tar.lzma">
@@ -80,6 +83,7 @@
</component>
<component class="man">
+ <release tarname="mingwrt-3.22-mingw32-man.tar.xz" />
<release tarname="mingwrt-3.21-mingw32-man.tar.xz" />
<release tarname="mingwrt-3.21.1-mingw32-man.tar.xz" />
<release tarname="mingwrt-3.20-2-mingw32-man.tar.lzma">
@@ -120,6 +124,7 @@
<licence tarname="w32api-%-mingw32-dev.tar.%" />
<component class="dev">
+ <release tarname="w32api-3.18-mingw32-dev.tar.xz" />
<release tarname="w32api-3.17-2-mingw32-dev.tar.lzma" />
<release tarname="w32api-3.17-1-mingw32-dev.tar.lzma" />
<release tarname="w32api-3.16-1-mingw32-dev.tar.lzma" />
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 10 ++++++++++
common/issue.log | 2 +-
mingw32/issue.log | 4 ++--
mingw32/mingw32-runtime.xml | 5 +++++
4 files changed, 18 insertions(+), 3 deletions(-)
hooks/post-receive
--
Repository: mingw-dist
|
|
From: Keith M. <no...@so...> - 2016-07-14 20:19:52
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The tag, w32api-3.18-release has been created
at 1fa7d08b511c446767370ae57bc1da6b1cb1f2b2 (commit)
- Log -----------------------------------------------------------------
commit 1fa7d08b511c446767370ae57bc1da6b1cb1f2b2
Author: Keith Marshall <kei...@us...>
Date: Thu Jul 14 19:02:24 2016 +0100
Prepare and tag all files for release of w32api-3.18.
-----------------------------------------------------------------------
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2016-07-14 20:19:50
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The tag, mingwrt-3.22-release has been created
at 1fa7d08b511c446767370ae57bc1da6b1cb1f2b2 (commit)
- Log -----------------------------------------------------------------
commit 1fa7d08b511c446767370ae57bc1da6b1cb1f2b2
Author: Keith Marshall <kei...@us...>
Date: Thu Jul 14 19:02:24 2016 +0100
Prepare and tag all files for release of w32api-3.18.
-----------------------------------------------------------------------
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2016-07-14 20:19:48
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, legacy has been updated
via df3545be36f18656d5d232c555ad7c3a2866390f (commit)
via 1fa7d08b511c446767370ae57bc1da6b1cb1f2b2 (commit)
via af2dfd04b9d875a7bace110ba987ce072758bada (commit)
via 591dff56c6c73eec2236af4c980e2e57e3b1c6d0 (commit)
via dae98a836e072bfc1aacd34da8b63fa138e7c2d1 (commit)
via b4fe285fd979fae8364d3c70056584aaacd95e8b (commit)
via cc84f5a03d271ea8a3d14f20aa0f26cfedce6929 (commit)
from 8b688df2fd6c40d8287e8f84024546f8fff9f64a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/df3545be36f18656d5d232c555ad7c3a2866390f/
commit df3545be36f18656d5d232c555ad7c3a2866390f
Author: Keith Marshall <kei...@us...>
Date: Thu Jul 14 19:03:12 2016 +0100
Added tag mingwrt-3.22-release, w32api-3.18-release for changeset ef4db1b16b14
diff --git a/.hgtags b/.hgtags
index 29afce2..3b76a40 100644
--- a/.hgtags
+++ b/.hgtags
@@ -1,2 +1,4 @@
e6ff0d91cb5027521a314fd0c5eaaedcc7521c19 mingwrt-3.21-release
283116261e256a65a941ce62e80059843d4d8c51 mingwrt-3.21.1-release
+ef4db1b16b1422d4eb06cbe47f0f3c08e11d2f8d mingwrt-3.22-release
+ef4db1b16b1422d4eb06cbe47f0f3c08e11d2f8d w32api-3.18-release
https://sf.net/p/mingw/mingw-org-wsl/ci/1fa7d08b511c446767370ae57bc1da6b1cb1f2b2/
commit 1fa7d08b511c446767370ae57bc1da6b1cb1f2b2
Author: Keith Marshall <kei...@us...>
Date: Thu Jul 14 19:02:24 2016 +0100
Prepare and tag all files for release of w32api-3.18.
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index a88eb4c..076f248 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,3 +1,7 @@
+2016-07-14 Keith Marshall <kei...@us...>
+
+ Prepare and tag all files for release of w32api-3.18.
+
2016-07-04 Keith Marshall <kei...@us...>
Do not pass MAKEFLAGS explicitly, when invoking recursive make.
https://sf.net/p/mingw/mingw-org-wsl/ci/af2dfd04b9d875a7bace110ba987ce072758bada/
commit af2dfd04b9d875a7bace110ba987ce072758bada
Author: Keith Marshall <kei...@us...>
Date: Thu Jul 14 19:00:23 2016 +0100
Prepare and tag all files for release of mingwrt-3.22.
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index d9daac2..3f7bb7c 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,5 +1,11 @@
2016-07-14 Keith Marshall <kei...@us...>
+ Prepare and tag all files for release of mingwrt-3.22.
+
+ * configure.ac (AC_INIT): Adjust package version number.
+
+2016-07-14 Keith Marshall <kei...@us...>
+
Preserve kludge to evade GCC build failure on S_ISBLK misuse.
* include/sys/stat.h (_NO_UNSUPPORTED): New feature test macro; it
diff --git a/mingwrt/configure.ac b/mingwrt/configure.ac
index 3bc73a4..598f2b2 100644
--- a/mingwrt/configure.ac
+++ b/mingwrt/configure.ac
@@ -29,7 +29,7 @@
# DEALINGS IN THE SOFTWARE.
#
AC_PREREQ([2.64])
- AC_INIT([MinGW C Runtime],[3.21.2],[http://mingw.org/Reporting_Bugs],[mingwrt])
+ AC_INIT([MinGW C Runtime],[3.22],[http://mingw.org/Reporting_Bugs],[mingwrt])
AC_PREFIX_DEFAULT([/mingw])
AC_CONFIG_SRCDIR([include/_mingw.h.in])
https://sf.net/p/mingw/mingw-org-wsl/ci/591dff56c6c73eec2236af4c980e2e57e3b1c6d0/
commit 591dff56c6c73eec2236af4c980e2e57e3b1c6d0
Author: Keith Marshall <kei...@us...>
Date: Thu Jul 14 18:59:07 2016 +0100
Preserve kludge to evade GCC build failure on S_ISBLK misuse.
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 7b938f9..d9daac2 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,12 @@
+2016-07-14 Keith Marshall <kei...@us...>
+
+ Preserve kludge to evade GCC build failure on S_ISBLK misuse.
+
+ * include/sys/stat.h (_NO_UNSUPPORTED): New feature test macro; it
+ should be user defined, if desired, before inclusion; leave undefined.
+ [!_S_IFBLK && !_NO_UNSUPPORTED && !_NO_OLDNAMES] (S_ISBLK): Define it,
+ as appropriate for POSIX conforming usage; do not poison it.
+
2016-07-10 Keith Marshall <kei...@us...>
Fix C++ strict type checking inconsistency in <glob.h>
diff --git a/mingwrt/include/sys/stat.h b/mingwrt/include/sys/stat.h
index fb84d90..f81bfb4 100644
--- a/mingwrt/include/sys/stat.h
+++ b/mingwrt/include/sys/stat.h
@@ -122,11 +122,23 @@
#ifndef _S_IFBLK
/* When the _S_IFBLK kludge is NOT enabled, (as it ideally should not be),
- * ensure that any attempt to use its dependent macros is firmly denied.
+ * ensure that any attempt to use its dependent macros is denied...
*/
# pragma GCC poison _S_ISBLK
-# pragma GCC poison S_ISBLK
+# if defined _NO_UNSUPPORTED || defined _NO_OLDNAMES
+ /* ...including that for the standard POSIX macro, when unsupported
+ * features, or Microsoft's old names, are explicitly forbidden...
+ */
+# pragma GCC poison S_ISBLK
+
+# else /* !(_NO_UNSUPPORTED || _NO_OLDNAMES) */
+ /* ...otherwise assume that the kludge is automatically enabled with
+ * respect to S_ISBLK, (because GCC gratuitously misuses it).
+ */
+# define S_IFBLK 0x3001 /* Block: unsupported on Win32 */
+
+# endif /* !(_NO_UNSUPPORTED || _NO_OLDNAMES) */
#endif /* !_S_IFBLK */
#endif /* !__WCHAR_H_SOURCED__ */
https://sf.net/p/mingw/mingw-org-wsl/ci/dae98a836e072bfc1aacd34da8b63fa138e7c2d1/
commit dae98a836e072bfc1aacd34da8b63fa138e7c2d1
Author: Keith Marshall <kei...@us...>
Date: Sun Jul 10 22:38:45 2016 +0100
Fix C++ strict type checking inconsistency in <glob.h>
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 84588ad..7b938f9 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,12 @@
+2016-07-10 Keith Marshall <kei...@us...>
+
+ Fix C++ strict type checking inconsistency in <glob.h>
+
+ * include/glob.h (__ERRFUNC_P): New private macro; define it to match
+ the type signature of the error function pointer, to be passed to...
+ (glob): ...this function; use it to correctly represent error function
+ pointer argument in inline implementation.
+
2016-07-09 Keith Marshall <kei...@us...>
Factor out <ctype.h> vs. <wctype.h> duplicate elements.
diff --git a/mingwrt/include/glob.h b/mingwrt/include/glob.h
index b9a7655..9cfa169 100644
--- a/mingwrt/include/glob.h
+++ b/mingwrt/include/glob.h
@@ -8,7 +8,7 @@
* $Id$
*
* Written by Keith Marshall <kei...@us...>
- * Copyright (C) 2011, 2012, 2014, MinGW.org Project.
+ * Copyright (C) 2011, 2012, 2014, 2016, MinGW.org Project.
*
*
* Permission is hereby granted, free of charge, to any person obtaining a
@@ -132,15 +132,17 @@ _BEGIN_C_DECLS
* However, our actual function implementations are provided via this
* pair of reserved function names...
*/
-int __mingw_glob (const char *, int, int (*)( const char *, int ), glob_t *);
+int __mingw_glob (const char *, int, int (*)(const char *, int), glob_t *);
void __mingw_globfree (glob_t *);
/* ...to which the standard names are then mapped as aliases,
* via __CRT_ALIAS inline function expansion.
*/
__CRT_ALIAS __JMPSTUB__(( FUNCTION = glob ))
-int glob (const char *__pattern, int __flags, int (*__errfunc)(), glob_t *__data)
+# define __ERRFUNC_P (*__errfunc) (const char *, int)
+int glob (const char *__pattern, int __flags, int __ERRFUNC_P, glob_t *__data)
{ return __mingw_glob (__pattern, __flags, __errfunc, __data); }
+# undef __ERRFUNC_P
__CRT_ALIAS __JMPSTUB__(( FUNCTION = globfree ))
void globfree (glob_t *__data){ return __mingw_globfree (__data); }
https://sf.net/p/mingw/mingw-org-wsl/ci/b4fe285fd979fae8364d3c70056584aaacd95e8b/
commit b4fe285fd979fae8364d3c70056584aaacd95e8b
Author: Keith Marshall <kei...@us...>
Date: Sat Jul 9 21:53:41 2016 +0100
Factor out <ctype.h> vs. <wctype.h> duplicate elements.
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 375577e..84588ad 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,42 @@
+2016-07-09 Keith Marshall <kei...@us...>
+
+ Factor out <ctype.h> vs. <wctype.h> duplicate elements.
+
+ * include/ctype.h: Assert copyright; tidy layout.
+ [!_CTYPE_H_]: Do not evaluate; rename macro to be tested, as...
+ [!_CTYPE_H]: ...this preferred multiple inclusion guard macro name.
+ (__CTYPE_H_SOURCED__): New macro; define it, and include <wctype.h>,
+ so requesting partial inclusion, to retrieve definitions for...
+ (_ALPHA, _BLANK, _CONTROL, _DIGIT, _HEX, _LOWER, _PUNCT, _SPACE)
+ (_UPPER, WEOF): ...these macros; hence, do not define them locally.
+ (wint_t, wchar_t, wctype_t): Likewise these type definitions...
+ (iswalnum, iswalpha, iswascii, iswblank, iswcntrl, iswctype)
+ (iswdigit, iswgraph, iswlower, iswprint, iswpunct, iswspace)
+ (iswupper, iswxdigit, towlower, towupper, is_wctype): ...these function
+ prototypes, and corresponding inline alternative implementations.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use these as appropriate.
+ [__MSVCRT_VERSION__<=__MSVCR70_DLL]: Likewise.
+
+ * include/wctype.h: Assert copyright; tidy layout.
+ [!_WCTYPE_H_]: Do not evaluate; rename macro to be tested, as...
+ [!_WCTYPE_H]: ...this preferred multiple inclusion guard macro name;
+ do not define it when partial inclusion only is selected, by...
+ [__CTYPE_H_SOURCED__]: ...this; thence define only...
+ (_ALPHA, _BLANK, _CONTROL, _DIGIT, _HEX, _LOWER, _PUNCT, _SPACE)
+ (_UPPER): ...these character characterisation macros...
+ (wint_t, wchar_t, wctype_t): ...these type definitions...
+ (iswalnum, iswalpha, iswascii, iswblank, iswcntrl, iswctype)
+ (iswdigit, iswgraph, iswlower, iswprint, iswpunct, iswspace)
+ (iswupper, iswxdigit, towlower, towupper): ...these function
+ prototypes, with corresponding inline alternative implementations...
+ (is_wctype): ...this further prototype, qualified as deprecated...
+ (WEOF): ...and this status reporting macro.
+ (_ctype, _pctype, _pctype_dll, _imp___ctype, _imp___pctype): Delete
+ declarations, and associated definitions; they do not belong here.
+ (isleadbyte): Likewise, this Microsoft specific function prototype...
+ (_LEADBYTE): ...and this associated character classification macro.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use these as appropriate.
+
2016-07-04 Keith Marshall <kei...@us...>
Do not pass MAKEFLAGS explicitly, when invoking recursive make.
diff --git a/mingwrt/include/ctype.h b/mingwrt/include/ctype.h
index 5eec63b..5c4ef43 100644
--- a/mingwrt/include/ctype.h
+++ b/mingwrt/include/ctype.h
@@ -1,139 +1,166 @@
/*
* ctype.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
*
- * Functions for testing character types and converting characters.
+ * Functions for character classification and conversion.
+ *
+ * $Id$
+ *
+ * Written by Colin Peters <co...@bi...>
+ * Copyright (C) 1997-2008, 2016, MinGW.org Project
+ *
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice, this permission notice, and the following
+ * disclaimer shall be included in all copies or substantial portions of
+ * the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OF OR OTHER
+ * DEALINGS IN THE SOFTWARE.
*
*/
+#ifndef _CTYPE_H
+#pragma GCC system_header
+#define _CTYPE_H
-#ifndef _CTYPE_H_
-#define _CTYPE_H_
-
-/* All the headers include this file. */
+/* All MinGW headers must include <_mingw.h>
+ */
#include <_mingw.h>
-#define __need_wchar_t
-#define __need_wint_t
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-
+/* Although conflicting with both ISO-C and POSIX, Microsoft say that,
+ * in addition to the single byte character classification API which is
+ * properly declared here, this file should also declare elements of the
+ * wide classification API, which is properly declared in <wctype.h>
+ *
+ * To avoid the burden of maintaining duplicate declarations, in two
+ * locations, we keep the wide character declarations where ISO-C and
+ * POSIX say they belong, in <wctype.h>, while accommodating Microsoft
+ * compatibility by providing for selective inclusion of the relevant
+ * elements of it here. (Note that we must do this early, because to
+ * avoid duplication, we delegate the definition of common character
+ * classification macros, with the exception of _LEADBYTE, which is
+ * not required in both headers, to <wctype.h>).
+ */
+#define __CTYPE_H_SOURCED__
+#include <wctype.h>
-/*
- * The following flags are used to tell iswctype and _isctype what character
- * types you are looking for.
+/* This is the one character classification macro, for which definition
+ * is NOT delegated to <wctype.h>
*/
-#define _UPPER 0x0001
-#define _LOWER 0x0002
-#define _DIGIT 0x0004
-#define _SPACE 0x0008 /* HT LF VT FF CR SP */
-#define _PUNCT 0x0010
-#define _CONTROL 0x0020
-/* _BLANK is set for SP and non-ASCII horizontal space chars (eg,
- "no-break space", 0xA0, in CP1250) but not for HT. */
-#define _BLANK 0x0040
-#define _HEX 0x0080
-#define _LEADBYTE 0x8000
-
-#define _ALPHA 0x0103
+#define _LEADBYTE 0x8000
#ifndef RC_INVOKED
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_CRTIMP int __cdecl __MINGW_NOTHROW isalnum(int);
-_CRTIMP int __cdecl __MINGW_NOTHROW isalpha(int);
-_CRTIMP int __cdecl __MINGW_NOTHROW iscntrl(int);
-_CRTIMP int __cdecl __MINGW_NOTHROW isdigit(int);
-_CRTIMP int __cdecl __MINGW_NOTHROW isgraph(int);
-_CRTIMP int __cdecl __MINGW_NOTHROW islower(int);
-_CRTIMP int __cdecl __MINGW_NOTHROW isprint(int);
-_CRTIMP int __cdecl __MINGW_NOTHROW ispunct(int);
-_CRTIMP int __cdecl __MINGW_NOTHROW isspace(int);
-_CRTIMP int __cdecl __MINGW_NOTHROW isupper(int);
-_CRTIMP int __cdecl __MINGW_NOTHROW isxdigit(int);
-
-#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \
- || !defined __STRICT_ANSI__
-int __cdecl __MINGW_NOTHROW isblank (int);
+_BEGIN_C_DECLS
+
+_CRTIMP __cdecl __MINGW_NOTHROW int isalnum(int);
+_CRTIMP __cdecl __MINGW_NOTHROW int isalpha(int);
+_CRTIMP __cdecl __MINGW_NOTHROW int iscntrl(int);
+_CRTIMP __cdecl __MINGW_NOTHROW int isdigit(int);
+_CRTIMP __cdecl __MINGW_NOTHROW int isgraph(int);
+_CRTIMP __cdecl __MINGW_NOTHROW int islower(int);
+_CRTIMP __cdecl __MINGW_NOTHROW int isleadbyte (int);
+_CRTIMP __cdecl __MINGW_NOTHROW int isprint(int);
+_CRTIMP __cdecl __MINGW_NOTHROW int ispunct(int);
+_CRTIMP __cdecl __MINGW_NOTHROW int isspace(int);
+_CRTIMP __cdecl __MINGW_NOTHROW int isupper(int);
+_CRTIMP __cdecl __MINGW_NOTHROW int isxdigit(int);
+
+#if __STDC_VERSION__ >= 199901L || !defined __STRICT_ANSI__
+__cdecl __MINGW_NOTHROW int isblank (int);
#endif
#ifndef __STRICT_ANSI__
-_CRTIMP int __cdecl __MINGW_NOTHROW _isctype (int, int);
+_CRTIMP __cdecl __MINGW_NOTHROW int _isctype (int, int);
#endif
-/* These are the ANSI versions, with correct checking of argument */
-_CRTIMP int __cdecl __MINGW_NOTHROW tolower(int);
-_CRTIMP int __cdecl __MINGW_NOTHROW toupper(int);
-
-/*
- * NOTE: The above are not old name type wrappers, but functions exported
- * explicitly by MSVCRT/CRTDLL. However, underscored versions are also
- * exported.
+/* These are ISO-C conforming functions, with correct checking of
+ * argument; they are exported by MSVCRT.DLL, and by CRTDLL.DLL as
+ * such, and are NOT simply old-name mapped variants; however...
*/
+_CRTIMP __cdecl __MINGW_NOTHROW int tolower (int);
+_CRTIMP __cdecl __MINGW_NOTHROW int toupper (int);
+
#ifndef __STRICT_ANSI__
-/*
- * These are the cheap non-std versions: The return values are undefined
- * if the argument is not ASCII char or is not of appropriate case
+/* ...Microsoft's beloved underscore decorated variants are also
+ * exported. These are cheap non-standard versions: their return
+ * values are undefined if the argument is not an ASCII character,
+ * or is not of appropriate case for the requested conversion.
+ *
+ * Note that these appear to be approximately equivalent to POSIX
+ * macros of the same names, (declared obsolescent in POSIX.1-2008),
+ * but are implemented as DLL functions, rather than macros.
*/
-_CRTIMP int __cdecl __MINGW_NOTHROW _tolower(int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _toupper(int);
+_CRTIMP __cdecl __MINGW_NOTHROW int _tolower (int);
+_CRTIMP __cdecl __MINGW_NOTHROW int _toupper (int);
#endif
-/* Also defined in stdlib.h */
#ifndef MB_CUR_MAX
-#ifdef __DECLSPEC_SUPPORTED
-# ifdef __MSVCRT__
-# define MB_CUR_MAX __mb_cur_max
- __MINGW_IMPORT int __mb_cur_max;
-# else /* not __MSVCRT */
-# define MB_CUR_MAX __mb_cur_max_dll
- __MINGW_IMPORT int __mb_cur_max_dll;
-# endif /* not __MSVCRT */
-
-#else /* ! __DECLSPEC_SUPPORTED */
-# ifdef __MSVCRT__
- extern int* _imp____mb_cur_max;
-# define MB_CUR_MAX (*_imp____mb_cur_max)
-# else /* not __MSVCRT */
- extern int* _imp____mb_cur_max_dll;
-# define MB_CUR_MAX (*_imp____mb_cur_max_dll)
-# endif /* not __MSVCRT */
-#endif /* __DECLSPEC_SUPPORTED */
-#endif /* MB_CUR_MAX */
-
+/* FIXME: also defined in stdlib.h; should be factored into ONE
+ * location ONLY, and included into the other.
+ */
+# ifdef __DECLSPEC_SUPPORTED
+# ifdef __MSVCRT__
+# define MB_CUR_MAX __mb_cur_max
+ __MINGW_IMPORT int __mb_cur_max;
+
+# else /* !__MSVCRT__ */
+# define MB_CUR_MAX __mb_cur_max_dll
+ __MINGW_IMPORT int __mb_cur_max_dll;
+# endif /* !__MSVCRT__ */
+
+# else /* !__DECLSPEC_SUPPORTED */
+# ifdef __MSVCRT__
+# define MB_CUR_MAX (*_imp____mb_cur_max)
+ extern int *_imp____mb_cur_max;
+
+# else /* !__MSVCRT__ */
+# define MB_CUR_MAX (*_imp____mb_cur_max_dll)
+ extern int *_imp____mb_cur_max_dll;
+# endif /* !__MSVCRT__ */
+# endif /* __DECLSPEC_SUPPORTED */
+#endif /* ! MB_CUR_MAX */
#ifdef __DECLSPEC_SUPPORTED
-# if __MSVCRT_VERSION__ <= 0x0700
- __MINGW_IMPORT unsigned short _ctype[];
+# if __MSVCRT_VERSION__ <= __MSVCR70_DLL
+ __MINGW_IMPORT unsigned short _ctype[];
# endif
+
# ifdef __MSVCRT__
- __MINGW_IMPORT unsigned short* _pctype;
-# else /* CRTDLL */
- __MINGW_IMPORT unsigned short* _pctype_dll;
+ __MINGW_IMPORT unsigned short *_pctype;
+
+# else /* !__MSVCRT__ (implies CRTDLL) */
# define _pctype _pctype_dll
+ __MINGW_IMPORT unsigned short *_pctype_dll;
# endif
-#else /* __DECLSPEC_SUPPORTED */
-# if __MSVCRT_VERSION__ <= 0x0700
- extern unsigned short** _imp___ctype;
-# define _ctype (*_imp___ctype)
+#else /* !__DECLSPEC_SUPPORTED */
+# if __MSVCRT_VERSION__ <= __MSVCR70_DLL
+# define _ctype (*_imp___ctype)
+ extern unsigned short **_imp___ctype;
# endif
+
# ifdef __MSVCRT__
- extern unsigned short** _imp___pctype;
-# define _pctype (*_imp___pctype)
-# else /* CRTDLL */
- extern unsigned short** _imp___pctype_dll;
-# define _pctype (*_imp___pctype_dll)
+# define _pctype (*_imp___pctype)
+ extern unsigned short **_imp___pctype;
+
+# else /* !__MSVCRT__ (implies CRTDLL) */
+# define _pctype (*_imp___pctype_dll)
+ extern unsigned short **_imp___pctype_dll;
# endif /* CRTDLL */
-#endif /* __DECLSPEC_SUPPORTED */
+#endif /* !__DECLSPEC_SUPPORTED */
-/*
- * Use inlines here rather than macros, because macros will upset
+/* Use inlines here rather than macros, because macros will upset
* C++ usage (eg, ::isalnum), and so usually get undefined
*
* According to standard for SB chars, these function are defined only
@@ -149,127 +176,101 @@ _CRTIMP int __cdecl __MINGW_NOTHROW _toupper(int);
#if !(defined (__NO_INLINE__) || defined (__NO_CTYPE_INLINES) \
|| defined (__STRICT_ANSI__))
-/* use simple lookup if SB locale, else _isctype() */
-#define __ISCTYPE(c, mask) (MB_CUR_MAX == 1 ? (_pctype[c] & mask) : _isctype(c, mask))
-__CRT_INLINE int __cdecl __MINGW_NOTHROW isalnum(int c) {return __ISCTYPE(c, (_ALPHA|_DIGIT));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW isalpha(int c) {return __ISCTYPE(c, _ALPHA);}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iscntrl(int c) {return __ISCTYPE(c, _CONTROL);}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW isdigit(int c) {return __ISCTYPE(c, _DIGIT);}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW isgraph(int c) {return __ISCTYPE(c, (_PUNCT|_ALPHA|_DIGIT));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW islower(int c) {return __ISCTYPE(c, _LOWER);}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW isprint(int c) {return __ISCTYPE(c, (_BLANK|_PUNCT|_ALPHA|_DIGIT));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW ispunct(int c) {return __ISCTYPE(c, _PUNCT);}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW isspace(int c) {return __ISCTYPE(c, _SPACE);}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW isupper(int c) {return __ISCTYPE(c, _UPPER);}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW isxdigit(int c) {return __ISCTYPE(c, _HEX);}
-
-#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \
- || !defined __STRICT_ANSI__
-__CRT_INLINE int __cdecl __MINGW_NOTHROW isblank (int c)
- {return (__ISCTYPE(c, _BLANK) || c == '\t');}
-#endif
+/* Use simple lookup in single byte locales, else _isctype()
+ */
+#define __ISCTYPE(c, mask) (MB_CUR_MAX == 1 ? (_pctype[c] & mask) : _isctype (c, mask))
-/* these reproduce behaviour of lib underscored versions */
-__CRT_INLINE int __cdecl __MINGW_NOTHROW _tolower(int c) {return ( c -'A'+'a');}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW _toupper(int c) {return ( c -'a'+'A');}
+__CRT_INLINE __cdecl __MINGW_NOTHROW int isalnum (int c)
+{ return __ISCTYPE(c, (_ALPHA|_DIGIT)); }
-/* TODO? Is it worth inlining ANSI tolower, toupper? Probably only
- if we only want C-locale. */
+__CRT_INLINE __cdecl __MINGW_NOTHROW int isalpha (int c)
+{ return __ISCTYPE(c, _ALPHA); }
-#endif /* _NO_CTYPE_INLINES */
+__CRT_INLINE __cdecl __MINGW_NOTHROW int iscntrl (int c)
+{ return __ISCTYPE(c, _CONTROL); }
-/* Wide character equivalents */
+__CRT_INLINE __cdecl __MINGW_NOTHROW int isdigit (int c)
+{ return __ISCTYPE(c, _DIGIT); }
-#ifndef WEOF
-#define WEOF (wchar_t)(0xFFFF)
-#endif
+__CRT_INLINE __cdecl __MINGW_NOTHROW int isgraph (int c)
+{ return __ISCTYPE(c, (_PUNCT|_ALPHA|_DIGIT)); }
-#ifndef _WCTYPE_T_DEFINED
-typedef wchar_t wctype_t;
-#define _WCTYPE_T_DEFINED
-#endif
+__CRT_INLINE __cdecl __MINGW_NOTHROW int islower (int c)
+{ return __ISCTYPE(c, _LOWER); }
-_CRTIMP int __cdecl __MINGW_NOTHROW iswalnum(wint_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW iswalpha(wint_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW iswascii(wint_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW iswcntrl(wint_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW iswctype(wint_t, wctype_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW is_wctype(wint_t, wctype_t); /* Obsolete! */
-_CRTIMP int __cdecl __MINGW_NOTHROW iswdigit(wint_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW iswgraph(wint_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW iswlower(wint_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW iswprint(wint_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW iswpunct(wint_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW iswspace(wint_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW iswupper(wint_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW iswxdigit(wint_t);
-
-#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \
- || !defined __STRICT_ANSI__ || defined __cplusplus
-int __cdecl __MINGW_NOTHROW iswblank (wint_t);
-#endif
+__CRT_INLINE __cdecl __MINGW_NOTHROW int isprint (int c)
+{ return __ISCTYPE(c, (_BLANK|_PUNCT|_ALPHA|_DIGIT)); }
+
+__CRT_INLINE __cdecl __MINGW_NOTHROW int ispunct (int c)
+{ return __ISCTYPE(c, _PUNCT); }
+
+__CRT_INLINE __cdecl __MINGW_NOTHROW int isspace (int c)
+{ return __ISCTYPE(c, _SPACE); }
+
+__CRT_INLINE __cdecl __MINGW_NOTHROW int isupper (int c)
+{ return __ISCTYPE(c, _UPPER); }
+
+__CRT_INLINE __cdecl __MINGW_NOTHROW int isxdigit (int c)
+{ return __ISCTYPE(c, _HEX); }
-/* Older MS docs uses wchar_t for arg and return type, while newer
- online MS docs say arg is wint_t and return is int.
- ISO C uses wint_t for both. */
-_CRTIMP wint_t __cdecl __MINGW_NOTHROW towlower (wint_t);
-_CRTIMP wint_t __cdecl __MINGW_NOTHROW towupper (wint_t);
-
-_CRTIMP int __cdecl __MINGW_NOTHROW isleadbyte (int);
-
-/* Also in wctype.h */
-#if ! (defined (__NO_INLINE__) || defined(__NO_CTYPE_INLINES) \
- || defined(__WCTYPE_INLINES_DEFINED))
-#define __WCTYPE_INLINES_DEFINED
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswalnum(wint_t wc) {return (iswctype(wc,_ALPHA|_DIGIT));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswalpha(wint_t wc) {return (iswctype(wc,_ALPHA));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswascii(wint_t wc) {return ((wc & ~0x7F) ==0);}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswcntrl(wint_t wc) {return (iswctype(wc,_CONTROL));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswdigit(wint_t wc) {return (iswctype(wc,_DIGIT));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswgraph(wint_t wc) {return (iswctype(wc,_PUNCT|_ALPHA|_DIGIT));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswlower(wint_t wc) {return (iswctype(wc,_LOWER));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswprint(wint_t wc) {return (iswctype(wc,_BLANK|_PUNCT|_ALPHA|_DIGIT));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswpunct(wint_t wc) {return (iswctype(wc,_PUNCT));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswspace(wint_t wc) {return (iswctype(wc,_SPACE));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswupper(wint_t wc) {return (iswctype(wc,_UPPER));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswxdigit(wint_t wc) {return (iswctype(wc,_HEX));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW isleadbyte(int c) {return (_pctype[(unsigned char)(c)] & _LEADBYTE);}
-#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \
- || !defined __STRICT_ANSI__ || defined __cplusplus
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswblank (wint_t wc)
- {return (iswctype(wc,_BLANK) || wc == L'\t');}
+#if __STDC_VERSION__ >= 199901L || !defined __STRICT_ANSI__
+__CRT_INLINE __cdecl __MINGW_NOTHROW int isblank (int c)
+{ return (__ISCTYPE(c, _BLANK) || c == '\t'); }
#endif
-#endif /* !(defined(__NO_CTYPE_INLINES) || defined(__WCTYPE_INLINES_DEFINED)) */
+/* These reproduce the behaviour of their DLL exported namesakes,
+ * and thus ARE the effective equivalents of the similarly named,
+ * and now-obsolescent, POSIX macros.
+ */
+__CRT_INLINE __cdecl __MINGW_NOTHROW int _tolower (int c)
+{ return (c - 'A' + 'a'); }
+
+__CRT_INLINE __cdecl __MINGW_NOTHROW int _toupper (int c)
+{ return (c - 'a' + 'A'); }
+
+/* TODO: is it worth inlining ANSI tolower(), and toupper()?
+ * Probably only if we only want C-locale.
+ */
+#endif /* _NO_CTYPE_INLINES */
+
+__CRT_INLINE __cdecl __MINGW_NOTHROW int isleadbyte (int c)
+{ return (_pctype[(unsigned char)(c)] & _LEADBYTE); }
#ifndef __STRICT_ANSI__
-int __cdecl __MINGW_NOTHROW __isascii (int);
-int __cdecl __MINGW_NOTHROW __toascii (int);
-int __cdecl __MINGW_NOTHROW __iscsymf (int); /* Valid first character in C symbol */
-int __cdecl __MINGW_NOTHROW __iscsym (int); /* Valid character in C symbol (after first) */
+__cdecl __MINGW_NOTHROW int __isascii (int);
+__cdecl __MINGW_NOTHROW int __toascii (int);
+__cdecl __MINGW_NOTHROW int __iscsymf (int); /* Valid as first character in a C symbol */
+__cdecl __MINGW_NOTHROW int __iscsym (int); /* Valid character in C symbol (after first) */
#if !(defined (__NO_INLINE__) || defined (__NO_CTYPE_INLINES))
-__CRT_INLINE int __cdecl __MINGW_NOTHROW __isascii(int c) {return ((c & ~0x7F) == 0);}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW __toascii(int c) {return (c & 0x7F);}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW __iscsymf(int c) {return (isalpha(c) || (c == '_'));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW __iscsym(int c) {return (isalnum(c) || (c == '_'));}
-#endif /* __NO_CTYPE_INLINES */
+
+__CRT_INLINE __cdecl __MINGW_NOTHROW int __isascii (int c)
+{ return ((c & ~0x7F) == 0); }
+
+__CRT_INLINE __cdecl __MINGW_NOTHROW int __toascii (int c)
+{ return (c & 0x7F); }
+
+__CRT_INLINE __cdecl __MINGW_NOTHROW int __iscsymf (int c)
+{ return (isalpha(c) || (c == '_')); }
+
+__CRT_INLINE __cdecl __MINGW_NOTHROW int __iscsym (int c)
+{ return (isalnum(c) || (c == '_')); }
+
+#endif /* !__NO_CTYPE_INLINES */
#ifndef _NO_OLDNAMES
/* Not _CRTIMP */
-int __cdecl __MINGW_NOTHROW isascii (int);
-int __cdecl __MINGW_NOTHROW toascii (int);
-int __cdecl __MINGW_NOTHROW iscsymf (int);
-int __cdecl __MINGW_NOTHROW iscsym (int);
-#endif /* Not _NO_OLDNAMES */
-
-#endif /* Not __STRICT_ANSI__ */
+__cdecl __MINGW_NOTHROW int isascii (int);
+__cdecl __MINGW_NOTHROW int toascii (int);
+__cdecl __MINGW_NOTHROW int iscsymf (int);
+__cdecl __MINGW_NOTHROW int iscsym (int);
+#endif /* !_NO_OLDNAMES */
-#ifdef __cplusplus
-}
-#endif
+#endif /* !__STRICT_ANSI__ */
-#endif /* Not RC_INVOKED */
+_END_C_DECLS
-#endif /* Not _CTYPE_H_ */
+#endif /* ! RC_INVOKED */
+#undef __CTYPE_H_SOURCED__
+#endif /* !_CTYPE_H: $RCSfile$: end of file */
diff --git a/mingwrt/include/wctype.h b/mingwrt/include/wctype.h
index 3b322ff..492f2f0 100644
--- a/mingwrt/include/wctype.h
+++ b/mingwrt/include/wctype.h
@@ -1,168 +1,210 @@
/*
* wctype.h
*
- * Functions for testing wide character types and converting characters.
+ * Functions for wide character classification and conversion.
*
- * This file is part of the Mingw32 package.
+ * $Id$
*
- * Contributors:
- * Created by Mumit Khan <kh...@xr...>
+ * Written by Mumit Khan <kh...@xr...>
+ * Copyright (C) 1999-2003, 2005-2007, 2016, MinGW.org Project
*
- * THIS SOFTWARE IS NOT COPYRIGHTED
*
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
*
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * The above copyright notice, this permission notice, and the following
+ * disclaimer shall be included in all copies or substantial portions of
+ * the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OF OR OTHER
+ * DEALINGS IN THE SOFTWARE.
*
*/
+#ifndef _WCTYPE_H
+#pragma GCC system_header
+
+#ifndef __CTYPE_H_SOURCED__
+/* Perversely, (since they provide <wctype.h> themselves), Microsoft
+ * say that most of the definitions and declarations which follow are
+ * provided by <ctype.h>, rather than here; (this conflicts with both
+ * ISO-C and POSIX). We prefer to provide them here, for ISO-C/POSIX
+ * conformance, while also exposing them for selective inclusion by
+ * <ctype.h>, to maintain Microsoft compatibility.
+ *
+ * We define the <wctype.h> multiple inclusion guard macro only when
+ * <wctype.h> is included directly, NOT when included via <ctype.h>
+ */
+#define _WCTYPE_H
-#ifndef _WCTYPE_H_
-#define _WCTYPE_H_
-
-/* All the headers include this file. */
+/* All MinGW headers must include <_mingw.h>; when sourced by <ctype.h>,
+ * we may delegate that responsibility to it, but in the case of direct
+ * inclusion, we must address it ourselves.
+ */
#include <_mingw.h>
+#endif
+
+/* The following flags are used to tell iswctype() and _isctype() what
+ * character classes are to be matched; (note that _BLANK will match for
+ * SP and non-ASCII horizontal space chars -- e.g. for "no-break space",
+ * 0xA0, in CP1250 -- but NOT for HT).
+ *
+ * These are defined such that they will be made visible by inclusion
+ * of either <wctype.h> (this file), or <ctype.h>:
+ */
+#define _ALPHA 0x0103
+#define _LOWER 0x0002
+#define _UPPER 0x0001
+#define _DIGIT 0x0004
+#define _SPACE 0x0008 /* HT LF VT FF CR SP */
+#define _PUNCT 0x0010
+#define _CONTROL 0x0020
+#define _BLANK 0x0040
+#define _HEX 0x0080
-#define __need_wchar_t
-#define __need_wint_t
#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-/*
- * The following flags are used to tell iswctype and _isctype what character
- * types you are looking for.
+/* ISO-C and POSIX specify that <wctype.h> must define wint_t, wctype_t,
+ * and the WEOF macro, (which also requires wchar_t), as they are defined
+ * in <wchar.h>; since <wchar.h> gets wint_t, (and wchar_t), from <stddef.h>,
+ * we do likewise here. Furthermore, to maintain Microsoft compatibility,
+ * we must also do this on behalf of <ctype.h>; however...
*/
-#define _UPPER 0x0001
-#define _LOWER 0x0002
-#define _DIGIT 0x0004
-#define _SPACE 0x0008
-#define _PUNCT 0x0010
-#define _CONTROL 0x0020
-#define _BLANK 0x0040
-#define _HEX 0x0080
-#define _LEADBYTE 0x8000
-
-#define _ALPHA 0x0103
+#if !(defined _WCTYPE_H && defined _CTYPE_H)
+/* ...we need not incur the overhead of doing it twice, when both <ctype.h>
+ * and <wctype.h> have been included.
+ */
+#define __need_wint_t
+#define __need_wchar_t
+#include <stddef.h>
-#ifndef RC_INVOKED
+typedef wchar_t wctype_t;
+#define WEOF (wchar_t)(0xffff)
-#ifdef __cplusplus
-extern "C" {
-#endif
+_BEGIN_C_DECLS
-#ifndef WEOF
-#define WEOF (wchar_t)(0xFFFF)
-#endif
+/* Wide character classification functions. In typically perverse
+ * fashion, and contrary to both ISO-C and POSIX, Microsoft specify
+ * that these should be declared in <ctype.h>; thus, to accommodate
+ * this persersity, we make them visible here, irrespective of any
+ * selective inclusion filter macro.
+ */
+_CRTIMP __cdecl __MINGW_NOTHROW int iswalnum (wint_t);
+_CRTIMP __cdecl __MINGW_NOTHROW int iswalpha (wint_t);
+_CRTIMP __cdecl __MINGW_NOTHROW int iswascii (wint_t);
+_CRTIMP __cdecl __MINGW_NOTHROW int iswcntrl (wint_t);
+_CRTIMP __cdecl __MINGW_NOTHROW int iswctype (wint_t, wctype_t);
+_CRTIMP __cdecl __MINGW_NOTHROW int iswdigit (wint_t);
+_CRTIMP __cdecl __MINGW_NOTHROW int iswgraph (wint_t);
+_CRTIMP __cdecl __MINGW_NOTHROW int iswlower (wint_t);
+_CRTIMP __cdecl __MINGW_NOTHROW int iswprint (wint_t);
+_CRTIMP __cdecl __MINGW_NOTHROW int iswpunct (wint_t);
+_CRTIMP __cdecl __MINGW_NOTHROW int iswspace (wint_t);
+_CRTIMP __cdecl __MINGW_NOTHROW int iswupper (wint_t);
+_CRTIMP __cdecl __MINGW_NOTHROW int iswxdigit (wint_t);
+
+__MINGW_ATTRIB_DEPRECATED
+/* This function is exported by all versions of MSVCRT.DLL, (up to and
+ * including that in Windows-7), and in all non-free counterparts up to
+ * and including MSVCR120.DLL, but as of MSVC-2013, Microsoft declare
+ * it to be obsolete. DO NOT USE IT! Use iswctype() instead.
+ */
+_CRTIMP __cdecl __MINGW_NOTHROW int is_wctype (wint_t, wctype_t);
-#ifndef _WCTYPE_T_DEFINED
-typedef wchar_t wctype_t;
-#define _WCTYPE_T_DEFINED
+#if __STDC_VERSION__>=199901L || !defined __STRICT_ANSI__ || defined __cplusplus
+__cdecl __MINGW_NOTHROW int iswblank (wint_t);
#endif
-/* Wide character equivalents - also in ctype.h */
-_CRTIMP int __cdecl __MINGW_NOTHROW iswalnum(wint_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW iswalpha(wint_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW iswascii(wint_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW iswcntrl(wint_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW iswctype(wint_t, wctype_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW is_wctype(wint_t, wctype_t); /* Obsolete! */
-_CRTIMP int __cdecl __MINGW_NOTHROW iswdigit(wint_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW iswgraph(wint_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW iswlower(wint_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW iswprint(wint_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW iswpunct(wint_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW iswspace(wint_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW iswupper(wint_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW iswxdigit(wint_t);
-
-#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \
- || !defined __STRICT_ANSI__ || defined __cplusplus
-int __cdecl __MINGW_NOTHROW iswblank (wint_t);
-#endif
+/* Wide character case transliteration functions; the following conform
+ * to the ISO-C and POSIX standard declarations; Microsoft, at one time,
+ * specified both as taking a wchar_t argument, and returning a wchar_t
+ * result, but now take a wint_t argument, and return int.
+ */
+_CRTIMP __cdecl __MINGW_NOTHROW wint_t towlower (wint_t);
+_CRTIMP __cdecl __MINGW_NOTHROW wint_t towupper (wint_t);
+
+#if !(defined __NO_INLINE__ || defined __NO_CTYPE_INLINES)
+/* Provide inline alternatives to the DLL-exported isw*() functions.
+ * Note that POSIX stipulates that these alternatives should be macros;
+ * we prefer __CRT_INLINEs, (which GCC effectively treats as macros),
+ * because they do not interfere with C++ namespace qualification.
+ */
+__CRT_INLINE __cdecl __MINGW_NOTHROW int iswalnum (wint_t wc)
+{ return (iswctype (wc, _ALPHA | _DIGIT)); }
-/* Older MS docs uses wchar_t for arg and return type, while newer
- online MS docs say arg is wint_t and return is int.
- ISO C uses wint_t for both. */
-_CRTIMP wint_t __cdecl __MINGW_NOTHROW towlower (wint_t);
-_CRTIMP wint_t __cdecl __MINGW_NOTHROW towupper (wint_t);
-
-_CRTIMP int __cdecl __MINGW_NOTHROW isleadbyte (int);
-
-/* Also in ctype.h */
-
-#ifdef __DECLSPEC_SUPPORTED
-# if __MSVCRT_VERSION__ <= 0x0700
- __MINGW_IMPORT unsigned short _ctype[];
-# endif
-# ifdef __MSVCRT__
- __MINGW_IMPORT unsigned short* _pctype;
-# else /* CRTDLL */
- __MINGW_IMPORT unsigned short* _pctype_dll;
-# define _pctype _pctype_dll
-# endif
-
-#else /* ! __DECLSPEC_SUPPORTED */
-# if __MSVCRT_VERSION__ <= 0x0700
- extern unsigned short** _imp___ctype;
-# define _ctype (*_imp___ctype)
-# endif
-# ifdef __MSVCRT__
- extern unsigned short** _imp___pctype;
-# define _pctype (*_imp___pctype)
-# else /* CRTDLL */
- extern unsigned short** _imp___pctype_dll;
-# define _pctype (*_imp___pctype_dll)
-# endif /* CRTDLL */
-#endif /* __DECLSPEC_SUPPORTED */
-
-
-#if !(defined (__NO_INLINE__) || defined(__NO_CTYPE_INLINES) \
- || defined(__WCTYPE_INLINES_DEFINED))
-#define __WCTYPE_INLINES_DEFINED
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswalnum(wint_t wc) {return (iswctype(wc,_ALPHA|_DIGIT));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswalpha(wint_t wc) {return (iswctype(wc,_ALPHA));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswascii(wint_t wc) {return ((wc & ~0x7F) ==0);}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswcntrl(wint_t wc) {return (iswctype(wc,_CONTROL));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswdigit(wint_t wc) {return (iswctype(wc,_DIGIT));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswgraph(wint_t wc) {return (iswctype(wc,_PUNCT|_ALPHA|_DIGIT));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswlower(wint_t wc) {return (iswctype(wc,_LOWER));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswprint(wint_t wc) {return (iswctype(wc,_BLANK|_PUNCT|_ALPHA|_DIGIT));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswpunct(wint_t wc) {return (iswctype(wc,_PUNCT));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswspace(wint_t wc) {return (iswctype(wc,_SPACE));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswupper(wint_t wc) {return (iswctype(wc,_UPPER));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswxdigit(wint_t wc) {return (iswctype(wc,_HEX));}
-__CRT_INLINE int __cdecl __MINGW_NOTHROW isleadbyte(int c) {return (_pctype[(unsigned char)(c)] & _LEADBYTE);}
-
-#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \
- || !defined __STRICT_ANSI__ || defined __cplusplus
-__CRT_INLINE int __cdecl __MINGW_NOTHROW iswblank (wint_t wc)
- {return (iswctype(wc, _BLANK) || wc == L'\t');}
-#endif
+__CRT_INLINE __cdecl __MINGW_NOTHROW int iswalpha (wint_t wc)
+{ return (iswctype (wc, _ALPHA )); }
+
+__CRT_INLINE __cdecl __MINGW_NOTHROW int iswascii (wint_t wc)
+{ return ((wc & ~0x7F) == 0); }
+
+__CRT_INLINE __cdecl __MINGW_NOTHROW int iswcntrl (wint_t wc)
+{ return (iswctype (wc, _CONTROL)); }
+
+__CRT_INLINE __cdecl __MINGW_NOTHROW int iswdigit (wint_t wc)
+{ return (iswctype (wc, _DIGIT)); }
+
+__CRT_INLINE __cdecl __MINGW_NOTHROW int iswgraph (wint_t wc)
+{ return (iswctype (wc, _PUNCT | _ALPHA | _DIGIT)); }
-#endif /* !(defined(__NO_CTYPE_INLINES) || defined(__WCTYPE_INLINES_DEFINED)) */
+__CRT_INLINE __cdecl __MINGW_NOTHROW int iswlower (wint_t wc)
+{ return (iswctype (wc, _LOWER)); }
-typedef wchar_t wctrans_t;
+__CRT_INLINE __cdecl __MINGW_NOTHROW int iswprint (wint_t wc)
+{ return (iswctype (wc, _BLANK | _PUNCT | _ALPHA | _DIGIT)); }
-/* These are resolved by libmingwex.a. Note, that they are also exported
- by the MS C++ runtime lib (msvcp60.dll). The msvcp60.dll implementations
- of wctrans and towctrans are not C99 compliant in that wctrans("tolower")
- returns 0, while std specifies that a non-zero value should be returned
- for a valid string descriptor. If you want the MS behaviour (and you have
- msvcp60.dll in your path) add -lmsvcp60 to your command line. */
+__CRT_INLINE __cdecl __MINGW_NOTHROW int iswpunct (wint_t wc)
+{ return (iswctype (wc, _PUNCT)); }
-wint_t __cdecl __MINGW_NOTHROW towctrans(wint_t, wctrans_t);
-wctrans_t __cdecl __MINGW_NOTHROW wctrans(const char*);
-wctype_t __cdecl __MINGW_NOTHROW wctype(const char*);
+__CRT_INLINE __cdecl __MINGW_NOTHROW int iswspace (wint_t wc)
+{ return (iswctype (wc, _SPACE)); }
-#ifdef __cplusplus
-}
+__CRT_INLINE __cdecl __MINGW_NOTHROW int iswupper (wint_t wc)
+{ return (iswctype (wc, _UPPER)); }
+
+__CRT_INLINE __cdecl __MINGW_NOTHROW int iswxdigit (wint_t wc)
+{ return (iswctype (wc, _HEX)); }
+
+#if __STDC_VERSION__>=199901L || !defined __STRICT_ANSI__ || defined __cplusplus
+__CRT_INLINE __cdecl __MINGW_NOTHROW int iswblank (wint_t wc)
+{ return (iswctype (wc, _BLANK) || wc == L'\t'); }
#endif
+#endif /* !__NO_CTYPE_INLINES */
+
+_END_C_DECLS
+
+#endif /* !(_WCTYPE_H && _CTYPE_H) */
-#endif /* Not RC_INVOKED */
+#ifdef _WCTYPE_H
+/* Although Microsoft make most of the content, which ISO-C and POSIX say
+ * should be in <wctype.h>, available through <ctype.h>, the declarations
+ * in this section are exclusive to <wctype.h>
+ */
+typedef wchar_t wctrans_t;
+
+_BEGIN_C_DECLS
+
+/* These are provided in libmingwex.a. Note, that they are also exported
+ * by the MS C++ runtime lib (MSVCP60.DLL). The MSVCP60.DLL implementations
+ * of wctrans and towctrans are not C99 compliant in that wctrans("tolower")
+ * returns 0, while C99 specifies that a non-zero value should be returned
+ * for a valid string descriptor. If you want the MS behaviour (and you
+ * have MSVCP60.DLL in your path) add -lmsvcp60 to your command line.
+ */
+__cdecl __MINGW_NOTHROW wint_t towctrans (wint_t, wctrans_t);
+__cdecl __MINGW_NOTHROW wctrans_t wctrans (const char*);
+__cdecl __MINGW_NOTHROW wctype_t wctype (const char*);
-#endif /* Not _WCTYPE_H_ */
+_END_C_DECLS
+#endif /* _WCTYPE_H */
+#endif /* ! RC_INVOKED */
+#endif /* !_WCTYPE_H: $RCSfile$: end of file */
https://sf.net/p/mingw/mingw-org-wsl/ci/cc84f5a03d271ea8a3d14f20aa0f26cfedce6929/
commit cc84f5a03d271ea8a3d14f20aa0f26cfedce6929
Author: Keith Marshall <kei...@us...>
Date: Mon Jul 4 12:00:52 2016 +0100
Do not pass MAKEFLAGS explicitly, when invoking recursive make.
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index da12f15..375577e 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,10 @@
+2016-07-04 Keith Marshall <kei...@us...>
+
+ Do not pass MAKEFLAGS explicitly, when invoking recursive make.
+
+ * Makefile.in (install-strip, uninstall): Delete explicit $(MAKEFLAGS)
+ references from $(MAKE) command lines; make passes them implicitly.
+
2016-07-03 Keith Marshall <kei...@us...>
Rework tsearch and friends; resolve issues [#1512] and [#1576].
diff --git a/mingwrt/Makefile.in b/mingwrt/Makefile.in
index d5017f7..a6ad2b2 100644
--- a/mingwrt/Makefile.in
+++ b/mingwrt/Makefile.in
@@ -695,7 +695,7 @@ install-gcc: install-stage-1-only
install-strip: install-strip-mingwrt
install-strip-%:
- $(MAKE) --no-print-directory $(MAKEFLAGS) \
+ $(MAKE) --no-print-directory \
STRIP_DATA='cd ${libdir}; $(STRIP) --strip-unneeded $$1' \
STRIP_DLL='cd ${bindir}; $(STRIP) $$1' install-$*
@@ -812,7 +812,7 @@ uninstall-mingwrt-headers:
uninstall-mingwrt-dll \
uninstall-mingwrt-libdir-objects uninstall-mingwrt-libdir-libs: un%:
- $(MAKE) --no-print-directory $(MAKEFLAGS) mkinstalldirs= \
+ $(MAKE) --no-print-directory mkinstalldirs= \
INSTALL_DATA='cd $$2 && $(RM) $$1' $*
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index 3be6ffe..a88eb4c 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,3 +1,10 @@
+2016-07-04 Keith Marshall <kei...@us...>
+
+ Do not pass MAKEFLAGS explicitly, when invoking recursive make.
+
+ * Makefile.in (install-strip, uninstall): Delete explicit $(MAKEFLAGS)
+ references from $(MAKE) command lines; make passes them implicitly.
+
2016-06-04 Keith Marshall <kei...@us...>
Backport MemoryBarrier() implementation from 4.0-dev branch.
diff --git a/w32api/Makefile.in b/w32api/Makefile.in
index 56c4c73..5fc9e3a 100644
--- a/w32api/Makefile.in
+++ b/w32api/Makefile.in
@@ -276,7 +276,7 @@ install-w32api-libs: w32api-lib-reqs
$(if $(STRIP_LIBS),$(call STRIP_LIBS,$(filter-out w32api-lib-reqs,$^)))
install-strip-w32api-libs:
- $(MAKE) --no-print-directory $(MAKEFLAGS) \
+ $(MAKE) --no-print-directory \
STRIP_LIBS='cd ${libdir}; $(STRIP) --strip-unneeded $$1' \
install-w32api-libs
@@ -294,7 +294,7 @@ uninstall-w32api-headers:
done
uninstall-w32api-libs: un%:
- $(MAKE) --no-print-directory $(MAKEFLAGS) mkinstalldirs= \
+ $(MAKE) --no-print-directory mkinstalldirs= \
INSTALL_DATA='cd $$2 && rm -f $$1' $*
# Distribution
-----------------------------------------------------------------------
Summary of changes:
.hgtags | 2 +
mingwrt/ChangeLog | 70 ++++++++
mingwrt/Makefile.in | 4 +-
mingwrt/configure.ac | 2 +-
mingwrt/include/ctype.h | 409 ++++++++++++++++++++++----------------------
mingwrt/include/glob.h | 8 +-
mingwrt/include/sys/stat.h | 16 ++-
mingwrt/include/wctype.h | 314 +++++++++++++++++++---------------
w32api/ChangeLog | 11 ++
w32api/Makefile.in | 4 +-
10 files changed, 490 insertions(+), 350 deletions(-)
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Cesar S. <no...@so...> - 2016-07-14 13:41:17
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "UNNAMED PROJECT".
The branch, master has been updated
via a6b29e7d72ba72a18b278640bfbc4a9ea4bdef79 (commit)
via 74075ea8638a64e5450bd33f3b9d28a151612a42 (commit)
via 4f63b40378d1a84bc1d6b940e203074209050794 (commit)
from 96f67347bc237ca689ad6f13e634d49f9de38cab (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/msys-runtime/ci/a6b29e7d72ba72a18b278640bfbc4a9ea4bdef79/
commit a6b29e7d72ba72a18b278640bfbc4a9ea4bdef79
Author: Cesar Strauss <ces...@gm...>
Date: Tue Feb 9 16:04:24 2016 +0000
Optimize execvp, considering we already know the lengths of the strings we want to concatenate.
diff --git a/newlib/ChangeLog.MSYS b/newlib/ChangeLog.MSYS
index 74c5fd2..9f83a86 100644
--- a/newlib/ChangeLog.MSYS
+++ b/newlib/ChangeLog.MSYS
@@ -1,3 +1,9 @@
+2016.02.09 Cesar Strauss <ces...@gm...>
+
+ * libc/posix/execvp.c (execvp): Since we already know the lengths of
+ the strings, replace strccpy and strcat by memcpy.
+ (strccpy): Remove, no longer needed.
+
2016.02.08 Cesar Strauss <ces...@gm...>
* libc/posix/execvp.c (execvp): Check pathname size before copying it
diff --git a/newlib/libc/posix/execvp.c b/newlib/libc/posix/execvp.c
index 011aad6..030c8bc 100644
--- a/newlib/libc/posix/execvp.c
+++ b/newlib/libc/posix/execvp.c
@@ -18,26 +18,6 @@ static char path_delim;
#define PATH_DELIM ':'
#endif
-/*
- * Copy string, until c or <nul> is encountered.
- * NUL-terminate the destination string (s1).
- */
-
-static char *
-_DEFUN (strccpy, (s1, s2, c),
- char *s1 _AND
- char *s2 _AND
- char c)
-{
- char *dest = s1;
-
- while (*s2 && *s2 != c)
- *s1++ = *s2++;
- *s1 = 0;
-
- return dest;
-}
-
int
_DEFUN (execvp, (file, argv),
_CONST char *file _AND
@@ -83,22 +63,24 @@ _DEFUN (execvp, (file, argv),
else
path_len = strlen (path);
/* Check if the combined pathname fits into the buffer */
- if (path_len + file_len + 2 > MAXNAMLEN) {
+ if (path_len + file_len + 2 > MAXNAMLEN)
errno = ENAMETOOLONG;
- path += path_len;
- if (*path == PATH_DELIM)
- path++; /* skip over delim */
- continue;
+ else {
+ /* Combine the path element with the file name */
+ char *end_of_string = buf;
+ memcpy (end_of_string, path, path_len);
+ end_of_string += path_len;
+ /* An empty entry means the current directory. */
+ if (path_len != 0 && path[path_len - 1] != '/')
+ *end_of_string++ = '/';
+ memcpy (end_of_string, file, file_len);
+ end_of_string += file_len;
+ *end_of_string = 0;
+ /* Try executing the resulting pathname */
+ if (execv (buf, argv) == -1 && errno != ENOENT)
+ return -1;
}
- strccpy (buf, path, PATH_DELIM);
- /* An empty entry means the current directory. */
- if (*buf != 0 && buf[strlen(buf) - 1] != '/')
- strcat (buf, "/");
- strcat (buf, file);
- if (execv (buf, argv) == -1 && errno != ENOENT)
- return -1;
- while (*path && *path != PATH_DELIM)
- path++;
+ path += path_len;
if (*path == PATH_DELIM)
path++; /* skip over delim */
}
https://sf.net/p/mingw/msys-runtime/ci/74075ea8638a64e5450bd33f3b9d28a151612a42/
commit 74075ea8638a64e5450bd33f3b9d28a151612a42
Author: Cesar Strauss <ces...@gm...>
Date: Mon Feb 8 17:52:50 2016 +0000
Fix execvp to check pathname size before writing it into the buffer.
diff --git a/newlib/ChangeLog.MSYS b/newlib/ChangeLog.MSYS
index 14b13fa..74c5fd2 100644
--- a/newlib/ChangeLog.MSYS
+++ b/newlib/ChangeLog.MSYS
@@ -1,3 +1,8 @@
+2016.02.08 Cesar Strauss <ces...@gm...>
+
+ * libc/posix/execvp.c (execvp): Check pathname size before copying it
+ into the buffer.
+
2010.03.29 Charles Wilson <mi...@cw...>
* libc/include/sys/unistd.h: Declare fchdir and getdomainname.
diff --git a/newlib/libc/posix/execvp.c b/newlib/libc/posix/execvp.c
index ea87bb6..011aad6 100644
--- a/newlib/libc/posix/execvp.c
+++ b/newlib/libc/posix/execvp.c
@@ -45,6 +45,7 @@ _DEFUN (execvp, (file, argv),
{
char *path = getenv ("PATH");
char buf[MAXNAMLEN];
+ size_t file_len;
/* If $PATH doesn't exist, just pass FILE on unchanged. */
if (!path)
@@ -71,8 +72,24 @@ _DEFUN (execvp, (file, argv),
path_delim = cygwin_posix_path_list_p (path) ? ':' : ';';
#endif
+ file_len = strlen (file);
while (*path)
{
+ /* Find the length of the path element */
+ char *path_ptr = strchr (path, PATH_DELIM);
+ size_t path_len;
+ if (path_ptr)
+ path_len = path_ptr - path;
+ else
+ path_len = strlen (path);
+ /* Check if the combined pathname fits into the buffer */
+ if (path_len + file_len + 2 > MAXNAMLEN) {
+ errno = ENAMETOOLONG;
+ path += path_len;
+ if (*path == PATH_DELIM)
+ path++; /* skip over delim */
+ continue;
+ }
strccpy (buf, path, PATH_DELIM);
/* An empty entry means the current directory. */
if (*buf != 0 && buf[strlen(buf) - 1] != '/')
https://sf.net/p/mingw/msys-runtime/ci/4f63b40378d1a84bc1d6b940e203074209050794/
commit 4f63b40378d1a84bc1d6b940e203074209050794
Author: Cesar Strauss <ces...@gm...>
Date: Sun Jul 13 18:01:38 2014 +0000
Increment version to 1.0.19.
diff --git a/winsup/cygwin/ChangeLog.MSYS b/winsup/cygwin/ChangeLog.MSYS
index fc04e27..2cd8cc1 100644
--- a/winsup/cygwin/ChangeLog.MSYS
+++ b/winsup/cygwin/ChangeLog.MSYS
@@ -1,3 +1,7 @@
+2014.07.13 Cesar Strauss <ces...@gm...>
+
+ * include/cygwin/version.h: Increment version to 1.0.19.
+
2014.06.14 Cesar Strauss <ces...@gm...>
Import a Cygwin fix for the incorrect use of a pipe capability flag.
diff --git a/winsup/cygwin/include/cygwin/version.h b/winsup/cygwin/include/cygwin/version.h
index a0a2b84..0bcc86b 100644
--- a/winsup/cygwin/include/cygwin/version.h
+++ b/winsup/cygwin/include/cygwin/version.h
@@ -42,12 +42,12 @@ details. */
changes to the DLL and is mainly informative in nature. */
/* The current cygwin version is 1.3.3 */
- /* The current msys version is 1.0.18 */
+ /* The current msys version is 1.0.19 */
#define CYGWIN_VERSION_DLL_MAJOR 1000
-#define CYGWIN_VERSION_DLL_MINOR 18
+#define CYGWIN_VERSION_DLL_MINOR 19
#define DLL_VERSION_MAJOR 1000
-#define DLL_VERSION_MINOR 18
+#define DLL_VERSION_MINOR 19
/* Major numbers before CYGWIN_VERSION_DLL_EPOCH are
incompatible. */
-----------------------------------------------------------------------
Summary of changes:
newlib/ChangeLog.MSYS | 11 ++++++
newlib/libc/posix/execvp.c | 57 +++++++++++++++----------------
winsup/cygwin/ChangeLog.MSYS | 4 ++
winsup/cygwin/include/cygwin/version.h | 6 ++--
4 files changed, 46 insertions(+), 32 deletions(-)
hooks/post-receive
--
UNNAMED PROJECT
|