Ticket #64894: config.log

File config.log, 36.2 KB (added by barracuda156, 2 years ago)
Line 
1This file contains any messages produced by compilers while
2running configure, to aid debugging if configure makes a mistake.
3
4It was created by edge configure 3.0.0, which was
5generated by GNU Autoconf 2.71.  Invocation command line was
6
7  $ ./configure --prefix=/opt/local --with-openssl --with-zstd
8
9## --------- ##
10## Platform. ##
11## --------- ##
12
13hostname = macmini.private
14uname -m = x86_64
15uname -r = 10.8.0
16uname -s = Darwin
17uname -v = Darwin Kernel Version 10.8.0: Tue Jun  7 16:32:41 PDT 2011; root:xnu-1504.15.3~1/RELEASE_X86_64
18
19/usr/bin/uname -p = i386
20/bin/uname -X     = unknown
21
22/bin/arch              = unknown
23/usr/bin/arch -k       = unknown
24/usr/convex/getsysinfo = unknown
25/usr/bin/hostinfo      = Mach kernel version:
26         Darwin Kernel Version 10.8.0: Tue Jun  7 16:32:41 PDT 2011; root:xnu-1504.15.3~1/RELEASE_X86_64
27Kernel configured for up to 4 processors.
284 processors are physically available.
294 processors are logically available.
30Processor type: i486 (Intel 80486)
31Processors active: 0 1 2 3
32Primary memory available: 8.00 gigabytes
33Default processor set: 156 tasks, 425 threads, 4 processors
34Load average: 1.67, Mach factor: 2.31
35/bin/machine           = unknown
36/usr/bin/oslevel       = unknown
37/bin/universe          = unknown
38
39PATH: /opt/local/bin/
40PATH: /opt/local/sbin/
41PATH: /bin/
42PATH: /sbin/
43PATH: /usr/bin/
44PATH: /usr/sbin/
45
46
47## ----------- ##
48## Core tests. ##
49## ----------- ##
50
51configure:2237: checking for gcc
52configure:2269: result: /usr/bin/gcc-4.2
53configure:2622: checking for C compiler version
54configure:2631: /usr/bin/gcc-4.2 --version >&5
55i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)
56Copyright (C) 2007 Free Software Foundation, Inc.
57This is free software; see the source for copying conditions.  There is NO
58warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
59
60configure:2642: $? = 0
61configure:2631: /usr/bin/gcc-4.2 -v >&5
62Using built-in specs.
63Target: i686-apple-darwin10
64Configured with: /var/tmp/gcc/gcc-5666.3~6/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1
65Thread model: posix
66gcc version 4.2.1 (Apple Inc. build 5666) (dot 3)
67configure:2642: $? = 0
68configure:2631: /usr/bin/gcc-4.2 -V >&5
69gcc-4.2: argument to `-V' is missing
70configure:2642: $? = 1
71configure:2631: /usr/bin/gcc-4.2 -qversion >&5
72i686-apple-darwin10-gcc-4.2.1: no input files
73configure:2642: $? = 1
74configure:2631: /usr/bin/gcc-4.2 -version >&5
75i686-apple-darwin10-gcc-4.2.1: no input files
76configure:2642: $? = 1
77configure:2662: checking whether the C compiler works
78configure:2684: /usr/bin/gcc-4.2 -pipe -I/opt/local/libexec/openssl11/include -Os -arch ppc -I/opt/local/libexec/openssl11/include -isystem/opt/local/include -L/opt/local/libexec/openssl11/lib -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc conftest.c  >&5
79configure:2688: $? = 0
80configure:2738: result: yes
81configure:2741: checking for C compiler default output file name
82configure:2743: result: a.out
83configure:2749: checking for suffix of executables
84configure:2756: /usr/bin/gcc-4.2 -o conftest -pipe -I/opt/local/libexec/openssl11/include -Os -arch ppc -I/opt/local/libexec/openssl11/include -isystem/opt/local/include -L/opt/local/libexec/openssl11/lib -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc conftest.c  >&5
85configure:2760: $? = 0
86configure:2783: result:
87configure:2805: checking whether we are cross compiling
88configure:2813: /usr/bin/gcc-4.2 -o conftest -pipe -I/opt/local/libexec/openssl11/include -Os -arch ppc -I/opt/local/libexec/openssl11/include -isystem/opt/local/include -L/opt/local/libexec/openssl11/lib -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc conftest.c  >&5
89configure:2817: $? = 0
90configure:2824: ./conftest
91configure:2828: $? = 0
92configure:2843: result: no
93configure:2848: checking for suffix of object files
94configure:2871: /usr/bin/gcc-4.2 -c -pipe -I/opt/local/libexec/openssl11/include -Os -arch ppc -I/opt/local/libexec/openssl11/include -isystem/opt/local/include conftest.c >&5
95configure:2875: $? = 0
96configure:2897: result: o
97configure:2901: checking whether the compiler supports GNU C
98configure:2921: /usr/bin/gcc-4.2 -c -pipe -I/opt/local/libexec/openssl11/include -Os -arch ppc -I/opt/local/libexec/openssl11/include -isystem/opt/local/include conftest.c >&5
99configure:2921: $? = 0
100configure:2931: result: yes
101configure:2942: checking whether /usr/bin/gcc-4.2 accepts -g
102configure:2963: /usr/bin/gcc-4.2 -c -g -I/opt/local/libexec/openssl11/include -isystem/opt/local/include conftest.c >&5
103configure:2963: $? = 0
104configure:3007: result: yes
105configure:3027: checking for /usr/bin/gcc-4.2 option to enable C11 features
106configure:3042: /usr/bin/gcc-4.2  -c -pipe -I/opt/local/libexec/openssl11/include -Os -arch ppc -I/opt/local/libexec/openssl11/include -isystem/opt/local/include conftest.c >&5
107conftest.c:61:3: error: #error "Compiler does not advertise C99 conformance"
108conftest.c:116: error: expected ';', ',' or ')' before 'text'
109conftest.c:165:3: error: #error "Compiler does not advertise C11 conformance"
110conftest.c: In function '_Alignas':
111conftest.c:169: error: expected declaration specifiers before 'aligned_as_double'
112conftest.c:170: error: expected declaration specifiers or '...' before numeric constant
113conftest.c:170: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'no_special_alignment'
114conftest.c:171: error: storage class specified for parameter 'aligned_as_int'
115conftest.c:172: error: expected declaration specifiers or '...' before numeric constant
116conftest.c:172: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_Alignas'
117conftest.c:177: error: expected expression before 'int'
118conftest.c:177: error: enumerator value for 'int_alignment' is not an integer constant
119conftest.c:178: error: expected expression before 'int'
120conftest.c:178: error: enumerator value for 'int_array_alignment' is not an integer constant
121conftest.c:179: error: expected expression before 'char'
122conftest.c:180: error: enumerator value for 'char_alignment' is not an integer constant
123conftest.c:180: warning: empty declaration
124conftest.c:181: error: expected declaration specifiers before '_Static_assert'
125conftest.c:184: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'does_not_return'
126conftest.c:190: error: expected specifier-qualifier-list before '_Static_assert'
127conftest.c:193: warning: empty declaration
128conftest.c:197: error: parameter 'utf8_literal' is initialized
129conftest.c:197: error: 'syntax' undeclared (first use in this function)
130conftest.c:197: error: (Each undeclared identifier is reported only once
131conftest.c:197: error: for each function it appears in.)
132conftest.c:197: error: expected ',' or ';' before 'error'
133conftest.c:200: error: storage class specified for parameter 'long_ptr'
134conftest.c:201: error: storage class specified for parameter 'long_ptr'
135conftest.c:201: error: redefinition of parameter 'long_ptr'
136conftest.c:200: error: previous definition of 'long_ptr' was here
137conftest.c:202: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'long_ptr'
138conftest.c:217: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
139conftest.c:269: error: old-style parameter declarations in prototyped function definition
140conftest.c:169: error: parameter name omitted
141conftest.c:269: error: expected '{' at end of input
142configure:3042: $? = 1
143configure: failed program was:
144| /* confdefs.h */
145| #define PACKAGE_NAME "edge"
146| #define PACKAGE_TARNAME "edge"
147| #define PACKAGE_VERSION "3.0.0"
148| #define PACKAGE_STRING "edge 3.0.0"
149| #define PACKAGE_BUGREPORT ""
150| #define PACKAGE_URL ""
151| /* end confdefs.h.  */
152|
153| /* Does the compiler advertise C89 conformance?
154|    Do not test the value of __STDC__, because some compilers set it to 0
155|    while being otherwise adequately conformant. */
156| #if !defined __STDC__
157| # error "Compiler does not advertise C89 conformance"
158| #endif
159|
160| #include <stddef.h>
161| #include <stdarg.h>
162| struct stat;
163| /* Most of the following tests are stolen from RCS 5.7 src/conf.sh.  */
164| struct buf { int x; };
165| struct buf * (*rcsopen) (struct buf *, struct stat *, int);
166| static char *e (p, i)
167|      char **p;
168|      int i;
169| {
170|   return p[i];
171| }
172| static char *f (char * (*g) (char **, int), char **p, ...)
173| {
174|   char *s;
175|   va_list v;
176|   va_start (v,p);
177|   s = g (p, va_arg (v,int));
178|   va_end (v);
179|   return s;
180| }
181|
182| /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
183|    function prototypes and stuff, but not \xHH hex character constants.
184|    These do not provoke an error unfortunately, instead are silently treated
185|    as an "x".  The following induces an error, until -std is added to get
186|    proper ANSI mode.  Curiously \x00 != x always comes out true, for an
187|    array size at least.  It is necessary to write \x00 == 0 to get something
188|    that is true only with -std.  */
189| int osf4_cc_array ['\x00' == 0 ? 1 : -1];
190|
191| /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
192|    inside strings and character constants.  */
193| #define FOO(x) 'x'
194| int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
195|
196| int test (int i, double x);
197| struct s1 {int (*f) (int a);};
198| struct s2 {int (*f) (double a);};
199| int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
200|                int, int);
201|
202| // Does the compiler advertise C99 conformance?
203| #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
204| # error "Compiler does not advertise C99 conformance"
205| #endif
206|
207| #include <stdbool.h>
208| extern int puts (const char *);
209| extern int printf (const char *, ...);
210| extern int dprintf (int, const char *, ...);
211| extern void *malloc (size_t);
212|
213| // Check varargs macros.  These examples are taken from C99 6.10.3.5.
214| // dprintf is used instead of fprintf to avoid needing to declare
215| // FILE and stderr.
216| #define debug(...) dprintf (2, __VA_ARGS__)
217| #define showlist(...) puts (#__VA_ARGS__)
218| #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
219| static void
220| test_varargs_macros (void)
221| {
222|   int x = 1234;
223|   int y = 5678;
224|   debug ("Flag");
225|   debug ("X = %d\n", x);
226|   showlist (The first, second, and third items.);
227|   report (x>y, "x is %d but y is %d", x, y);
228| }
229|
230| // Check long long types.
231| #define BIG64 18446744073709551615ull
232| #define BIG32 4294967295ul
233| #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
234| #if !BIG_OK
235|   #error "your preprocessor is broken"
236| #endif
237| #if BIG_OK
238| #else
239|   #error "your preprocessor is broken"
240| #endif
241| static long long int bignum = -9223372036854775807LL;
242| static unsigned long long int ubignum = BIG64;
243|
244| struct incomplete_array
245| {
246|   int datasize;
247|   double data[];
248| };
249|
250| struct named_init {
251|   int number;
252|   const wchar_t *name;
253|   double average;
254| };
255|
256| typedef const char *ccp;
257|
258| static inline int
259| test_restrict (ccp restrict text)
260| {
261|   // See if C++-style comments work.
262|   // Iterate through items via the restricted pointer.
263|   // Also check for declarations in for loops.
264|   for (unsigned int i = 0; *(text+i) != '\0'; ++i)
265|     continue;
266|   return 0;
267| }
268|
269| // Check varargs and va_copy.
270| static bool
271| test_varargs (const char *format, ...)
272| {
273|   va_list args;
274|   va_start (args, format);
275|   va_list args_copy;
276|   va_copy (args_copy, args);
277|
278|   const char *str = "";
279|   int number = 0;
280|   float fnumber = 0;
281|
282|   while (*format)
283|     {
284|       switch (*format++)
285|       {
286|       case 's': // string
287|         str = va_arg (args_copy, const char *);
288|         break;
289|       case 'd': // int
290|         number = va_arg (args_copy, int);
291|         break;
292|       case 'f': // float
293|         fnumber = va_arg (args_copy, double);
294|         break;
295|       default:
296|         break;
297|       }
298|     }
299|   va_end (args_copy);
300|   va_end (args);
301|
302|   return *str && number && fnumber;
303| }
304|
305|
306| // Does the compiler advertise C11 conformance?
307| #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
308| # error "Compiler does not advertise C11 conformance"
309| #endif
310|
311| // Check _Alignas.
312| char _Alignas (double) aligned_as_double;
313| char _Alignas (0) no_special_alignment;
314| extern char aligned_as_int;
315| char _Alignas (0) _Alignas (int) aligned_as_int;
316|
317| // Check _Alignof.
318| enum
319| {
320|   int_alignment = _Alignof (int),
321|   int_array_alignment = _Alignof (int[100]),
322|   char_alignment = _Alignof (char)
323| };
324| _Static_assert (0 < -_Alignof (int), "_Alignof is signed");
325|
326| // Check _Noreturn.
327| int _Noreturn does_not_return (void) { for (;;) continue; }
328|
329| // Check _Static_assert.
330| struct test_static_assert
331| {
332|   int x;
333|   _Static_assert (sizeof (int) <= sizeof (long int),
334|                   "_Static_assert does not work in struct");
335|   long int y;
336| };
337|
338| // Check UTF-8 literals.
339| #define u8 syntax error!
340| char const utf8_literal[] = u8"happens to be ASCII" "another string";
341|
342| // Check duplicate typedefs.
343| typedef long *long_ptr;
344| typedef long int *long_ptr;
345| typedef long_ptr long_ptr;
346|
347| // Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
348| struct anonymous
349| {
350|   union {
351|     struct { int i; int j; };
352|     struct { int k; long int l; } w;
353|   };
354|   int m;
355| } v1;
356|
357|
358| int
359| main (int argc, char **argv)
360| {
361|   int ok = 0;
362|   
363| ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
364|
365|   
366|   // Check bool.
367|   _Bool success = false;
368|   success |= (argc != 0);
369|
370|   // Check restrict.
371|   if (test_restrict ("String literal") == 0)
372|     success = true;
373|   char *restrict newvar = "Another string";
374|
375|   // Check varargs.
376|   success &= test_varargs ("s, d' f .", "string", 65, 34.234);
377|   test_varargs_macros ();
378|
379|   // Check flexible array members.
380|   struct incomplete_array *ia =
381|     malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
382|   ia->datasize = 10;
383|   for (int i = 0; i < ia->datasize; ++i)
384|     ia->data[i] = i * 1.234;
385|
386|   // Check named initializers.
387|   struct named_init ni = {
388|     .number = 34,
389|     .name = L"Test wide string",
390|     .average = 543.34343,
391|   };
392|
393|   ni.number = 58;
394|
395|   int dynamic_array[ni.number];
396|   dynamic_array[0] = argv[0][0];
397|   dynamic_array[ni.number - 1] = 543;
398|
399|   // work around unused variable warnings
400|   ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
401|        || dynamic_array[ni.number - 1] != 543);
402|
403|   
404|   _Static_assert ((offsetof (struct anonymous, i)
405|                  == offsetof (struct anonymous, w.k)),
406|                 "Anonymous union alignment botch");
407|   v1.i = 2;
408|   v1.w.k = 5;
409|   ok |= v1.i != 5;
410|
411|   return ok;
412| }
413|
414configure:3042: /usr/bin/gcc-4.2 -std=gnu11 -c -pipe -I/opt/local/libexec/openssl11/include -Os -arch ppc -I/opt/local/libexec/openssl11/include -isystem/opt/local/include conftest.c >&5
415cc1: error: unrecognized command line option "-std=gnu11"
416configure:3042: $? = 1
417configure: failed program was:
418| /* confdefs.h */
419| #define PACKAGE_NAME "edge"
420| #define PACKAGE_TARNAME "edge"
421| #define PACKAGE_VERSION "3.0.0"
422| #define PACKAGE_STRING "edge 3.0.0"
423| #define PACKAGE_BUGREPORT ""
424| #define PACKAGE_URL ""
425| /* end confdefs.h.  */
426|
427| /* Does the compiler advertise C89 conformance?
428|    Do not test the value of __STDC__, because some compilers set it to 0
429|    while being otherwise adequately conformant. */
430| #if !defined __STDC__
431| # error "Compiler does not advertise C89 conformance"
432| #endif
433|
434| #include <stddef.h>
435| #include <stdarg.h>
436| struct stat;
437| /* Most of the following tests are stolen from RCS 5.7 src/conf.sh.  */
438| struct buf { int x; };
439| struct buf * (*rcsopen) (struct buf *, struct stat *, int);
440| static char *e (p, i)
441|      char **p;
442|      int i;
443| {
444|   return p[i];
445| }
446| static char *f (char * (*g) (char **, int), char **p, ...)
447| {
448|   char *s;
449|   va_list v;
450|   va_start (v,p);
451|   s = g (p, va_arg (v,int));
452|   va_end (v);
453|   return s;
454| }
455|
456| /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
457|    function prototypes and stuff, but not \xHH hex character constants.
458|    These do not provoke an error unfortunately, instead are silently treated
459|    as an "x".  The following induces an error, until -std is added to get
460|    proper ANSI mode.  Curiously \x00 != x always comes out true, for an
461|    array size at least.  It is necessary to write \x00 == 0 to get something
462|    that is true only with -std.  */
463| int osf4_cc_array ['\x00' == 0 ? 1 : -1];
464|
465| /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
466|    inside strings and character constants.  */
467| #define FOO(x) 'x'
468| int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
469|
470| int test (int i, double x);
471| struct s1 {int (*f) (int a);};
472| struct s2 {int (*f) (double a);};
473| int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
474|                int, int);
475|
476| // Does the compiler advertise C99 conformance?
477| #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
478| # error "Compiler does not advertise C99 conformance"
479| #endif
480|
481| #include <stdbool.h>
482| extern int puts (const char *);
483| extern int printf (const char *, ...);
484| extern int dprintf (int, const char *, ...);
485| extern void *malloc (size_t);
486|
487| // Check varargs macros.  These examples are taken from C99 6.10.3.5.
488| // dprintf is used instead of fprintf to avoid needing to declare
489| // FILE and stderr.
490| #define debug(...) dprintf (2, __VA_ARGS__)
491| #define showlist(...) puts (#__VA_ARGS__)
492| #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
493| static void
494| test_varargs_macros (void)
495| {
496|   int x = 1234;
497|   int y = 5678;
498|   debug ("Flag");
499|   debug ("X = %d\n", x);
500|   showlist (The first, second, and third items.);
501|   report (x>y, "x is %d but y is %d", x, y);
502| }
503|
504| // Check long long types.
505| #define BIG64 18446744073709551615ull
506| #define BIG32 4294967295ul
507| #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
508| #if !BIG_OK
509|   #error "your preprocessor is broken"
510| #endif
511| #if BIG_OK
512| #else
513|   #error "your preprocessor is broken"
514| #endif
515| static long long int bignum = -9223372036854775807LL;
516| static unsigned long long int ubignum = BIG64;
517|
518| struct incomplete_array
519| {
520|   int datasize;
521|   double data[];
522| };
523|
524| struct named_init {
525|   int number;
526|   const wchar_t *name;
527|   double average;
528| };
529|
530| typedef const char *ccp;
531|
532| static inline int
533| test_restrict (ccp restrict text)
534| {
535|   // See if C++-style comments work.
536|   // Iterate through items via the restricted pointer.
537|   // Also check for declarations in for loops.
538|   for (unsigned int i = 0; *(text+i) != '\0'; ++i)
539|     continue;
540|   return 0;
541| }
542|
543| // Check varargs and va_copy.
544| static bool
545| test_varargs (const char *format, ...)
546| {
547|   va_list args;
548|   va_start (args, format);
549|   va_list args_copy;
550|   va_copy (args_copy, args);
551|
552|   const char *str = "";
553|   int number = 0;
554|   float fnumber = 0;
555|
556|   while (*format)
557|     {
558|       switch (*format++)
559|       {
560|       case 's': // string
561|         str = va_arg (args_copy, const char *);
562|         break;
563|       case 'd': // int
564|         number = va_arg (args_copy, int);
565|         break;
566|       case 'f': // float
567|         fnumber = va_arg (args_copy, double);
568|         break;
569|       default:
570|         break;
571|       }
572|     }
573|   va_end (args_copy);
574|   va_end (args);
575|
576|   return *str && number && fnumber;
577| }
578|
579|
580| // Does the compiler advertise C11 conformance?
581| #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
582| # error "Compiler does not advertise C11 conformance"
583| #endif
584|
585| // Check _Alignas.
586| char _Alignas (double) aligned_as_double;
587| char _Alignas (0) no_special_alignment;
588| extern char aligned_as_int;
589| char _Alignas (0) _Alignas (int) aligned_as_int;
590|
591| // Check _Alignof.
592| enum
593| {
594|   int_alignment = _Alignof (int),
595|   int_array_alignment = _Alignof (int[100]),
596|   char_alignment = _Alignof (char)
597| };
598| _Static_assert (0 < -_Alignof (int), "_Alignof is signed");
599|
600| // Check _Noreturn.
601| int _Noreturn does_not_return (void) { for (;;) continue; }
602|
603| // Check _Static_assert.
604| struct test_static_assert
605| {
606|   int x;
607|   _Static_assert (sizeof (int) <= sizeof (long int),
608|                   "_Static_assert does not work in struct");
609|   long int y;
610| };
611|
612| // Check UTF-8 literals.
613| #define u8 syntax error!
614| char const utf8_literal[] = u8"happens to be ASCII" "another string";
615|
616| // Check duplicate typedefs.
617| typedef long *long_ptr;
618| typedef long int *long_ptr;
619| typedef long_ptr long_ptr;
620|
621| // Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
622| struct anonymous
623| {
624|   union {
625|     struct { int i; int j; };
626|     struct { int k; long int l; } w;
627|   };
628|   int m;
629| } v1;
630|
631|
632| int
633| main (int argc, char **argv)
634| {
635|   int ok = 0;
636|   
637| ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
638|
639|   
640|   // Check bool.
641|   _Bool success = false;
642|   success |= (argc != 0);
643|
644|   // Check restrict.
645|   if (test_restrict ("String literal") == 0)
646|     success = true;
647|   char *restrict newvar = "Another string";
648|
649|   // Check varargs.
650|   success &= test_varargs ("s, d' f .", "string", 65, 34.234);
651|   test_varargs_macros ();
652|
653|   // Check flexible array members.
654|   struct incomplete_array *ia =
655|     malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
656|   ia->datasize = 10;
657|   for (int i = 0; i < ia->datasize; ++i)
658|     ia->data[i] = i * 1.234;
659|
660|   // Check named initializers.
661|   struct named_init ni = {
662|     .number = 34,
663|     .name = L"Test wide string",
664|     .average = 543.34343,
665|   };
666|
667|   ni.number = 58;
668|
669|   int dynamic_array[ni.number];
670|   dynamic_array[0] = argv[0][0];
671|   dynamic_array[ni.number - 1] = 543;
672|
673|   // work around unused variable warnings
674|   ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
675|        || dynamic_array[ni.number - 1] != 543);
676|
677|   
678|   _Static_assert ((offsetof (struct anonymous, i)
679|                  == offsetof (struct anonymous, w.k)),
680|                 "Anonymous union alignment botch");
681|   v1.i = 2;
682|   v1.w.k = 5;
683|   ok |= v1.i != 5;
684|
685|   return ok;
686| }
687|
688configure:3055: result: unsupported
689configure:3073: checking for /usr/bin/gcc-4.2 option to enable C99 features
690configure:3088: /usr/bin/gcc-4.2  -c -pipe -I/opt/local/libexec/openssl11/include -Os -arch ppc -I/opt/local/libexec/openssl11/include -isystem/opt/local/include conftest.c >&5
691conftest.c:61:3: error: #error "Compiler does not advertise C99 conformance"
692conftest.c:116: error: expected ';', ',' or ')' before 'text'
693conftest.c: In function 'main':
694conftest.c:178: error: nested functions are disabled, use -fnested-functions to re-enable
695conftest.c:178: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'newvar'
696conftest.c:178: error: 'newvar' undeclared (first use in this function)
697conftest.c:178: error: (Each undeclared identifier is reported only once
698conftest.c:178: error: for each function it appears in.)
699conftest.c:188: error: 'for' loop initial declaration used outside C99 mode
700configure:3088: $? = 1
701configure: failed program was:
702| /* confdefs.h */
703| #define PACKAGE_NAME "edge"
704| #define PACKAGE_TARNAME "edge"
705| #define PACKAGE_VERSION "3.0.0"
706| #define PACKAGE_STRING "edge 3.0.0"
707| #define PACKAGE_BUGREPORT ""
708| #define PACKAGE_URL ""
709| /* end confdefs.h.  */
710|
711| /* Does the compiler advertise C89 conformance?
712|    Do not test the value of __STDC__, because some compilers set it to 0
713|    while being otherwise adequately conformant. */
714| #if !defined __STDC__
715| # error "Compiler does not advertise C89 conformance"
716| #endif
717|
718| #include <stddef.h>
719| #include <stdarg.h>
720| struct stat;
721| /* Most of the following tests are stolen from RCS 5.7 src/conf.sh.  */
722| struct buf { int x; };
723| struct buf * (*rcsopen) (struct buf *, struct stat *, int);
724| static char *e (p, i)
725|      char **p;
726|      int i;
727| {
728|   return p[i];
729| }
730| static char *f (char * (*g) (char **, int), char **p, ...)
731| {
732|   char *s;
733|   va_list v;
734|   va_start (v,p);
735|   s = g (p, va_arg (v,int));
736|   va_end (v);
737|   return s;
738| }
739|
740| /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
741|    function prototypes and stuff, but not \xHH hex character constants.
742|    These do not provoke an error unfortunately, instead are silently treated
743|    as an "x".  The following induces an error, until -std is added to get
744|    proper ANSI mode.  Curiously \x00 != x always comes out true, for an
745|    array size at least.  It is necessary to write \x00 == 0 to get something
746|    that is true only with -std.  */
747| int osf4_cc_array ['\x00' == 0 ? 1 : -1];
748|
749| /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
750|    inside strings and character constants.  */
751| #define FOO(x) 'x'
752| int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
753|
754| int test (int i, double x);
755| struct s1 {int (*f) (int a);};
756| struct s2 {int (*f) (double a);};
757| int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
758|                int, int);
759|
760| // Does the compiler advertise C99 conformance?
761| #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
762| # error "Compiler does not advertise C99 conformance"
763| #endif
764|
765| #include <stdbool.h>
766| extern int puts (const char *);
767| extern int printf (const char *, ...);
768| extern int dprintf (int, const char *, ...);
769| extern void *malloc (size_t);
770|
771| // Check varargs macros.  These examples are taken from C99 6.10.3.5.
772| // dprintf is used instead of fprintf to avoid needing to declare
773| // FILE and stderr.
774| #define debug(...) dprintf (2, __VA_ARGS__)
775| #define showlist(...) puts (#__VA_ARGS__)
776| #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
777| static void
778| test_varargs_macros (void)
779| {
780|   int x = 1234;
781|   int y = 5678;
782|   debug ("Flag");
783|   debug ("X = %d\n", x);
784|   showlist (The first, second, and third items.);
785|   report (x>y, "x is %d but y is %d", x, y);
786| }
787|
788| // Check long long types.
789| #define BIG64 18446744073709551615ull
790| #define BIG32 4294967295ul
791| #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
792| #if !BIG_OK
793|   #error "your preprocessor is broken"
794| #endif
795| #if BIG_OK
796| #else
797|   #error "your preprocessor is broken"
798| #endif
799| static long long int bignum = -9223372036854775807LL;
800| static unsigned long long int ubignum = BIG64;
801|
802| struct incomplete_array
803| {
804|   int datasize;
805|   double data[];
806| };
807|
808| struct named_init {
809|   int number;
810|   const wchar_t *name;
811|   double average;
812| };
813|
814| typedef const char *ccp;
815|
816| static inline int
817| test_restrict (ccp restrict text)
818| {
819|   // See if C++-style comments work.
820|   // Iterate through items via the restricted pointer.
821|   // Also check for declarations in for loops.
822|   for (unsigned int i = 0; *(text+i) != '\0'; ++i)
823|     continue;
824|   return 0;
825| }
826|
827| // Check varargs and va_copy.
828| static bool
829| test_varargs (const char *format, ...)
830| {
831|   va_list args;
832|   va_start (args, format);
833|   va_list args_copy;
834|   va_copy (args_copy, args);
835|
836|   const char *str = "";
837|   int number = 0;
838|   float fnumber = 0;
839|
840|   while (*format)
841|     {
842|       switch (*format++)
843|       {
844|       case 's': // string
845|         str = va_arg (args_copy, const char *);
846|         break;
847|       case 'd': // int
848|         number = va_arg (args_copy, int);
849|         break;
850|       case 'f': // float
851|         fnumber = va_arg (args_copy, double);
852|         break;
853|       default:
854|         break;
855|       }
856|     }
857|   va_end (args_copy);
858|   va_end (args);
859|
860|   return *str && number && fnumber;
861| }
862|
863|
864| int
865| main (int argc, char **argv)
866| {
867|   int ok = 0;
868|   
869| ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
870|
871|   
872|   // Check bool.
873|   _Bool success = false;
874|   success |= (argc != 0);
875|
876|   // Check restrict.
877|   if (test_restrict ("String literal") == 0)
878|     success = true;
879|   char *restrict newvar = "Another string";
880|
881|   // Check varargs.
882|   success &= test_varargs ("s, d' f .", "string", 65, 34.234);
883|   test_varargs_macros ();
884|
885|   // Check flexible array members.
886|   struct incomplete_array *ia =
887|     malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
888|   ia->datasize = 10;
889|   for (int i = 0; i < ia->datasize; ++i)
890|     ia->data[i] = i * 1.234;
891|
892|   // Check named initializers.
893|   struct named_init ni = {
894|     .number = 34,
895|     .name = L"Test wide string",
896|     .average = 543.34343,
897|   };
898|
899|   ni.number = 58;
900|
901|   int dynamic_array[ni.number];
902|   dynamic_array[0] = argv[0][0];
903|   dynamic_array[ni.number - 1] = 543;
904|
905|   // work around unused variable warnings
906|   ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
907|        || dynamic_array[ni.number - 1] != 543);
908|
909|   return ok;
910| }
911|
912configure:3088: /usr/bin/gcc-4.2 -std=gnu99 -c -pipe -I/opt/local/libexec/openssl11/include -Os -arch ppc -I/opt/local/libexec/openssl11/include -isystem/opt/local/include conftest.c >&5
913configure:3088: $? = 0
914configure:3109: result: -std=gnu99
915configure:3195: checking for ZSTD_compress in -lzstd
916configure:3218: /usr/bin/gcc-4.2 -std=gnu99 -o conftest -pipe -I/opt/local/libexec/openssl11/include -Os -arch ppc -I/opt/local/libexec/openssl11/include -isystem/opt/local/include -L/opt/local/libexec/openssl11/lib -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc conftest.c -lzstd   >&5
917configure:3218: $? = 0
918configure:3228: result: yes
919configure:3261: checking for EVP_CIPHER_CTX_reset in -lcrypto
920configure:3284: /usr/bin/gcc-4.2 -std=gnu99 -o conftest -pipe -I/opt/local/libexec/openssl11/include -Os -arch ppc -I/opt/local/libexec/openssl11/include -isystem/opt/local/include -L/opt/local/libexec/openssl11/lib -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc conftest.c -lcrypto  -lzstd  >&5
921configure:3284: $? = 0
922configure:3294: result: yes
923configure:3317: checking for pcap_open_live in -lpcap
924configure:3340: /usr/bin/gcc-4.2 -std=gnu99 -o conftest -pipe -I/opt/local/libexec/openssl11/include -Os -arch ppc -I/opt/local/libexec/openssl11/include -isystem/opt/local/include -L/opt/local/libexec/openssl11/lib -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc conftest.c -lpcap  -lcrypto -lzstd  >&5
925configure:3340: $? = 0
926configure:3350: result: yes
927configure:3365: checking for pcap_set_immediate_mode in -lpcap
928configure:3388: /usr/bin/gcc-4.2 -std=gnu99 -o conftest -pipe -I/opt/local/libexec/openssl11/include -Os -arch ppc -I/opt/local/libexec/openssl11/include -isystem/opt/local/include -L/opt/local/libexec/openssl11/lib -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc conftest.c -lpcap  -lcrypto -lzstd  >&5
929Undefined symbols:
930  "_pcap_set_immediate_mode", referenced from:
931      _main in ccH6UcH6.o
932ld: symbol(s) not found
933collect2: ld returned 1 exit status
934configure:3388: $? = 1
935configure: failed program was:
936| /* confdefs.h */
937| #define PACKAGE_NAME "edge"
938| #define PACKAGE_TARNAME "edge"
939| #define PACKAGE_VERSION "3.0.0"
940| #define PACKAGE_STRING "edge 3.0.0"
941| #define PACKAGE_BUGREPORT ""
942| #define PACKAGE_URL ""
943| #define HAVE_LIBZSTD 1
944| #define N2N_HAVE_ZSTD /**/
945| #define HAVE_LIBCRYPTO 1
946| #define HAVE_OPENSSL_1_1 /**/
947| #define N2N_HAVE_PCAP /**/
948| /* end confdefs.h.  */
949|
950| /* Override any GCC internal prototype to avoid an error.
951|    Use char because int might match the return type of a GCC
952|    builtin and then its argument prototype would still apply.  */
953| char pcap_set_immediate_mode ();
954| int
955| main (void)
956| {
957| return pcap_set_immediate_mode ();
958|   ;
959|   return 0;
960| }
961configure:3398: result: no
962configure:3412: checking for cap_get_proc in -lcap
963configure:3435: /usr/bin/gcc-4.2 -std=gnu99 -o conftest -pipe -I/opt/local/libexec/openssl11/include -Os -arch ppc -I/opt/local/libexec/openssl11/include -isystem/opt/local/include -L/opt/local/libexec/openssl11/lib -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc conftest.c -lcap  -lcrypto -lzstd  >&5
964ld: library not found for -lcap
965collect2: ld returned 1 exit status
966configure:3435: $? = 1
967configure: failed program was:
968| /* confdefs.h */
969| #define PACKAGE_NAME "edge"
970| #define PACKAGE_TARNAME "edge"
971| #define PACKAGE_VERSION "3.0.0"
972| #define PACKAGE_STRING "edge 3.0.0"
973| #define PACKAGE_BUGREPORT ""
974| #define PACKAGE_URL ""
975| #define HAVE_LIBZSTD 1
976| #define N2N_HAVE_ZSTD /**/
977| #define HAVE_LIBCRYPTO 1
978| #define HAVE_OPENSSL_1_1 /**/
979| #define N2N_HAVE_PCAP /**/
980| /* end confdefs.h.  */
981|
982| /* Override any GCC internal prototype to avoid an error.
983|    Use char because int might match the return type of a GCC
984|    builtin and then its argument prototype would still apply.  */
985| char cap_get_proc ();
986| int
987| main (void)
988| {
989| return cap_get_proc ();
990|   ;
991|   return 0;
992| }
993configure:3445: result: no
994configure:3459: checking for pthread_mutex_trylock in -lpthread
995configure:3482: /usr/bin/gcc-4.2 -std=gnu99 -o conftest -pipe -I/opt/local/libexec/openssl11/include -Os -arch ppc -I/opt/local/libexec/openssl11/include -isystem/opt/local/include -L/opt/local/libexec/openssl11/lib -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc conftest.c -lpthread  -lcrypto -lzstd  >&5
996configure:3482: $? = 0
997configure:3492: result: yes
998configure:3669: creating ./config.status
999
1000## ---------------------- ##
1001## Running config.status. ##
1002## ---------------------- ##
1003
1004This file was extended by edge config.status 3.0.0, which was
1005generated by GNU Autoconf 2.71.  Invocation command line was
1006
1007  CONFIG_FILES    =
1008  CONFIG_HEADERS  =
1009  CONFIG_LINKS    =
1010  CONFIG_COMMANDS =
1011  $ ./config.status
1012
1013on macmini.private
1014
1015config.status:795: creating Makefile
1016config.status:795: creating tools/Makefile
1017config.status:795: creating include/config.h
1018
1019## ---------------- ##
1020## Cache variables. ##
1021## ---------------- ##
1022
1023ac_cv_c_compiler_gnu=yes
1024ac_cv_env_CC_set=set
1025ac_cv_env_CC_value=/usr/bin/gcc-4.2
1026ac_cv_env_CFLAGS_set=set
1027ac_cv_env_CFLAGS_value='-pipe -I/opt/local/libexec/openssl11/include -Os -arch ppc'
1028ac_cv_env_CPPFLAGS_set=set
1029ac_cv_env_CPPFLAGS_value='-I/opt/local/libexec/openssl11/include -isystem/opt/local/include'
1030ac_cv_env_LDFLAGS_set=set
1031ac_cv_env_LDFLAGS_value='-L/opt/local/libexec/openssl11/lib -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc'
1032ac_cv_env_LIBS_set=
1033ac_cv_env_LIBS_value=
1034ac_cv_env_build_alias_set=
1035ac_cv_env_build_alias_value=
1036ac_cv_env_host_alias_set=
1037ac_cv_env_host_alias_value=
1038ac_cv_env_target_alias_set=
1039ac_cv_env_target_alias_value=
1040ac_cv_lib_cap_cap_get_proc=no
1041ac_cv_lib_crypto_EVP_CIPHER_CTX_reset=yes
1042ac_cv_lib_pcap_pcap_open_live=yes
1043ac_cv_lib_pcap_pcap_set_immediate_mode=no
1044ac_cv_lib_pthread_pthread_mutex_trylock=yes
1045ac_cv_lib_zstd_ZSTD_compress=yes
1046ac_cv_objext=o
1047ac_cv_prog_ac_ct_CC=/usr/bin/gcc-4.2
1048ac_cv_prog_cc_c11=no
1049ac_cv_prog_cc_c99=-std=gnu99
1050ac_cv_prog_cc_g=yes
1051ac_cv_prog_cc_stdc=-std=gnu99
1052
1053## ----------------- ##
1054## Output variables. ##
1055## ----------------- ##
1056
1057ADDITIONAL_TOOLS=' n2n-decode'
1058AR='ar'
1059CC='/usr/bin/gcc-4.2 -std=gnu99'
1060CFLAGS='-pipe -I/opt/local/libexec/openssl11/include -Os -arch ppc'
1061CPPFLAGS='-I/opt/local/libexec/openssl11/include -isystem/opt/local/include'
1062DEFS='-DHAVE_CONFIG_H'
1063ECHO_C='\c'
1064ECHO_N=''
1065ECHO_T=''
1066EXEEXT=''
1067GIT_COMMITS=''
1068GIT_RELEASE='3.0.0'
1069GIT_REVISION=''
1070LDFLAGS='-L/opt/local/libexec/openssl11/lib -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc -pthread'
1071LIBOBJS=''
1072LIBS='-lcrypto -lzstd '
1073LTLIBOBJS=''
1074N2N_DEFINES=''
1075N2N_LIBS='-lcrypto -lzstd '
1076N2N_VERSION_SHORT='3.0.0'
1077OBJEXT='o'
1078PACKAGE_BUGREPORT=''
1079PACKAGE_NAME='edge'
1080PACKAGE_STRING='edge 3.0.0'
1081PACKAGE_TARNAME='edge'
1082PACKAGE_URL=''
1083PACKAGE_VERSION='3.0.0'
1084PATH_SEPARATOR=':'
1085SHELL='/bin/sh'
1086ac_ct_CC='/usr/bin/gcc-4.2'
1087bindir='${exec_prefix}/bin'
1088build_alias=''
1089datadir='${datarootdir}'
1090datarootdir='${prefix}/share'
1091docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
1092dvidir='${docdir}'
1093exec_prefix='${prefix}'
1094host_alias=''
1095htmldir='${docdir}'
1096includedir='${prefix}/include'
1097infodir='${datarootdir}/info'
1098libdir='${exec_prefix}/lib'
1099libexecdir='${exec_prefix}/libexec'
1100localedir='${datarootdir}/locale'
1101localstatedir='${prefix}/var'
1102mandir='${datarootdir}/man'
1103oldincludedir='/usr/include'
1104pdfdir='${docdir}'
1105prefix='/opt/local'
1106program_transform_name='s,x,x,'
1107psdir='${docdir}'
1108runstatedir='${localstatedir}/run'
1109sbindir='${exec_prefix}/sbin'
1110sharedstatedir='${prefix}/com'
1111sysconfdir='${prefix}/etc'
1112target_alias=''
1113
1114## ----------- ##
1115## confdefs.h. ##
1116## ----------- ##
1117
1118/* confdefs.h */
1119#define PACKAGE_NAME "edge"
1120#define PACKAGE_TARNAME "edge"
1121#define PACKAGE_VERSION "3.0.0"
1122#define PACKAGE_STRING "edge 3.0.0"
1123#define PACKAGE_BUGREPORT ""
1124#define PACKAGE_URL ""
1125#define HAVE_LIBZSTD 1
1126#define N2N_HAVE_ZSTD /**/
1127#define HAVE_LIBCRYPTO 1
1128#define HAVE_OPENSSL_1_1 /**/
1129#define N2N_HAVE_PCAP /**/
1130#define HAVE_PTHREAD /**/
1131#define PACKAGE_OSNAME "x86_64-apple-darwin10.8.0"
1132#define GIT_RELEASE "3.0.0"
1133
1134configure: exit 0