Skip to content

Commit 07a2f2c

Browse files
committed
contrib/tools/m4: Lay configs out in yamaker style
commit_hash:50f038568eec3c70847921699053655c691e7487
1 parent 52aed29 commit 07a2f2c

File tree

15 files changed

+453
-444
lines changed

15 files changed

+453
-444
lines changed

build/sysincl/misc.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,7 @@
5959
- source_filter: "^contrib/tools/m4/"
6060
includes:
6161
- error.h: contrib/tools/m4/lib/error.h
62-
- fcntl.h: contrib/tools/m4/lib/platform/posix/fcntl.h
63-
- getopt.h: contrib/tools/m4/lib/platform/posix/getopt.h
62+
- fcntl.h: contrib/tools/m4/lib/fcntl.h
6463
- obstack.h: contrib/tools/m4/lib/obstack.h
6564
- regex.h: contrib/tools/m4/lib/regex.h
6665
- system.h

contrib/tools/m4/lib/binary-io.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,14 @@
2525
so we include it here first. */
2626
#include <stdio.h>
2727

28+
#ifndef O_BINARY
29+
#define O_BINARY 0
30+
#endif
31+
32+
#ifndef O_TEXT
33+
#define O_TEXT 0
34+
#endif
35+
2836
#ifndef _GL_INLINE_HEADER_BEGIN
2937
#error "Please include config.h first."
3038
#endif

contrib/tools/m4/lib/config.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#pragma once
2+
3+
#if defined(_MSC_VER)
4+
# include "config-win.h"
5+
#else
6+
# include "config-linux.h"
7+
#endif

contrib/tools/m4/lib/configmake.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#pragma once
2+
3+
#if defined(_MSC_VER)
4+
# include "configmake-win.h"
5+
#else
6+
# include "configmake-linux.h"
7+
#endif

contrib/tools/m4/lib/platform/posix/fcntl.h renamed to contrib/tools/m4/lib/fcntl.h

Lines changed: 344 additions & 55 deletions
Large diffs are not rendered by default.

contrib/tools/m4/lib/getopt1.c

Lines changed: 84 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,44 @@
11
/* getopt_long and getopt_long_only entry points for GNU getopt.
2-
Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2013 Free Software
3-
Foundation, Inc.
4-
This file is part of the GNU C Library.
2+
Copyright (C) 1987-2021 Free Software Foundation, Inc.
3+
This file is part of the GNU C Library and is also part of gnulib.
4+
Patches to this file should be submitted to both projects.
55
6-
This program is free software: you can redistribute it and/or modify
7-
it under the terms of the GNU General Public License as published by
8-
the Free Software Foundation; either version 3 of the License, or
9-
(at your option) any later version.
6+
The GNU C Library is free software; you can redistribute it and/or
7+
modify it under the terms of the GNU General Public
8+
License as published by the Free Software Foundation; either
9+
version 3 of the License, or (at your option) any later version.
1010
11-
This program is distributed in the hope that it will be useful,
11+
The GNU C Library is distributed in the hope that it will be useful,
1212
but WITHOUT ANY WARRANTY; without even the implied warranty of
13-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14-
GNU General Public License for more details.
13+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14+
General Public License for more details.
1515
16-
You should have received a copy of the GNU General Public License
17-
along with this program. If not, see <http://www.gnu.org/licenses/>. */
16+
You should have received a copy of the GNU General Public
17+
License along with the GNU C Library; if not, see
18+
<https://www.gnu.org/licenses/>. */
1819

19-
#ifdef _LIBC
20-
# include <getopt.h>
21-
#else
20+
#ifndef _LIBC
2221
# include <config.h>
23-
# include "getopt.h"
2422
#endif
25-
#include "getopt_int.h"
26-
27-
#include <stdio.h>
2823

29-
/* This needs to come after some library #include
30-
to get __GNU_LIBRARY__ defined. */
31-
#ifdef __GNU_LIBRARY__
32-
#include <stdlib.h>
33-
#endif
34-
35-
#ifndef NULL
36-
#define NULL 0
37-
#endif
24+
#include "getopt.h"
25+
#include "getopt_int.h"
3826

3927
int
4028
getopt_long (int argc, char *__getopt_argv_const *argv, const char *options,
41-
const struct option *long_options, int *opt_index)
29+
const struct option *long_options, int *opt_index)
4230
{
4331
return _getopt_internal (argc, (char **) argv, options, long_options,
44-
opt_index, 0, 0);
32+
opt_index, 0, 0);
4533
}
4634

4735
int
4836
_getopt_long_r (int argc, char **argv, const char *options,
49-
const struct option *long_options, int *opt_index,
50-
struct _getopt_data *d)
37+
const struct option *long_options, int *opt_index,
38+
struct _getopt_data *d)
5139
{
5240
return _getopt_internal_r (argc, argv, options, long_options, opt_index,
53-
0, d, 0);
41+
0, d, 0);
5442
}
5543

5644
/* Like getopt_long, but '-' as well as '--' can indicate a long option.
@@ -60,26 +48,27 @@ _getopt_long_r (int argc, char **argv, const char *options,
6048

6149
int
6250
getopt_long_only (int argc, char *__getopt_argv_const *argv,
63-
const char *options,
64-
const struct option *long_options, int *opt_index)
51+
const char *options,
52+
const struct option *long_options, int *opt_index)
6553
{
6654
return _getopt_internal (argc, (char **) argv, options, long_options,
67-
opt_index, 1, 0);
55+
opt_index, 1, 0);
6856
}
6957

7058
int
7159
_getopt_long_only_r (int argc, char **argv, const char *options,
72-
const struct option *long_options, int *opt_index,
73-
struct _getopt_data *d)
60+
const struct option *long_options, int *opt_index,
61+
struct _getopt_data *d)
7462
{
7563
return _getopt_internal_r (argc, argv, options, long_options, opt_index,
76-
1, d, 0);
64+
1, d, 0);
7765
}
7866

7967

8068
#ifdef TEST
8169

8270
#include <stdio.h>
71+
#include <stdlib.h>
8372

8473
int
8574
main (int argc, char **argv)
@@ -93,74 +82,74 @@ main (int argc, char **argv)
9382
int option_index = 0;
9483
static const struct option long_options[] =
9584
{
96-
{"add", 1, 0, 0},
97-
{"append", 0, 0, 0},
98-
{"delete", 1, 0, 0},
99-
{"verbose", 0, 0, 0},
100-
{"create", 0, 0, 0},
101-
{"file", 1, 0, 0},
102-
{0, 0, 0, 0}
85+
{"add", 1, 0, 0},
86+
{"append", 0, 0, 0},
87+
{"delete", 1, 0, 0},
88+
{"verbose", 0, 0, 0},
89+
{"create", 0, 0, 0},
90+
{"file", 1, 0, 0},
91+
{0, 0, 0, 0}
10392
};
10493

10594
c = getopt_long (argc, argv, "abc:d:0123456789",
106-
long_options, &option_index);
95+
long_options, &option_index);
10796
if (c == -1)
108-
break;
97+
break;
10998

11099
switch (c)
111-
{
112-
case 0:
113-
printf ("option %s", long_options[option_index].name);
114-
if (optarg)
115-
printf (" with arg %s", optarg);
116-
printf ("\n");
117-
break;
118-
119-
case '0':
120-
case '1':
121-
case '2':
122-
case '3':
123-
case '4':
124-
case '5':
125-
case '6':
126-
case '7':
127-
case '8':
128-
case '9':
129-
if (digit_optind != 0 && digit_optind != this_option_optind)
130-
printf ("digits occur in two different argv-elements.\n");
131-
digit_optind = this_option_optind;
132-
printf ("option %c\n", c);
133-
break;
134-
135-
case 'a':
136-
printf ("option a\n");
137-
break;
138-
139-
case 'b':
140-
printf ("option b\n");
141-
break;
142-
143-
case 'c':
144-
printf ("option c with value '%s'\n", optarg);
145-
break;
146-
147-
case 'd':
148-
printf ("option d with value '%s'\n", optarg);
149-
break;
150-
151-
case '?':
152-
break;
153-
154-
default:
155-
printf ("?? getopt returned character code 0%o ??\n", c);
156-
}
100+
{
101+
case 0:
102+
printf ("option %s", long_options[option_index].name);
103+
if (optarg)
104+
printf (" with arg %s", optarg);
105+
printf ("\n");
106+
break;
107+
108+
case '0':
109+
case '1':
110+
case '2':
111+
case '3':
112+
case '4':
113+
case '5':
114+
case '6':
115+
case '7':
116+
case '8':
117+
case '9':
118+
if (digit_optind != 0 && digit_optind != this_option_optind)
119+
printf ("digits occur in two different argv-elements.\n");
120+
digit_optind = this_option_optind;
121+
printf ("option %c\n", c);
122+
break;
123+
124+
case 'a':
125+
printf ("option a\n");
126+
break;
127+
128+
case 'b':
129+
printf ("option b\n");
130+
break;
131+
132+
case 'c':
133+
printf ("option c with value '%s'\n", optarg);
134+
break;
135+
136+
case 'd':
137+
printf ("option d with value '%s'\n", optarg);
138+
break;
139+
140+
case '?':
141+
break;
142+
143+
default:
144+
printf ("?? getopt returned character code 0%o ??\n", c);
145+
}
157146
}
158147

159148
if (optind < argc)
160149
{
161150
printf ("non-option ARGV-elements: ");
162151
while (optind < argc)
163-
printf ("%s ", argv[optind++]);
152+
printf ("%s ", argv[optind++]);
164153
printf ("\n");
165154
}
166155

0 commit comments

Comments
 (0)