Ticket #59788: lnav_config.log

File lnav_config.log, 58.9 KB (added by tehcog (tehcog), 4 years ago)

config.log

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 lnav configure 0.8.5, which was
5generated by GNU Autoconf 2.69.  Invocation command line was
6
7  $ ./configure --prefix=/opt/local --disable-silent-rules --disable-static --with-libcurl=/opt/local --with-ncurses --with-pcre --with-readline --with-sqlite3
8
9## --------- ##
10## Platform. ##
11## --------- ##
12
13hostname = xxXXXxx
14uname -m = x86_64
15uname -r = 13.4.0
16uname -s = Darwin
17uname -v = Darwin Kernel Version 13.4.0: Mon Jan 11 18:17:34 PST 2016; root:xnu-2422.115.15~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 13.4.0: Mon Jan 11 18:17:34 PST 2016; root:xnu-2422.115.15~1/RELEASE_X86_64
27Kernel configured for up to 8 processors.
284 processors are physically available.
298 processors are logically available.
30Processor type: i486 (Intel 80486)
31Processors active: 0 1 2 3 4 5 6 7
32Primary memory available: 16.00 gigabytes
33Default processor set: 171 tasks, 653 threads, 8 processors
34Load average: 1.92, Mach factor: 6.07
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:2650: checking for a BSD-compatible install
52configure:2718: result: /usr/bin/install -c
53configure:2729: checking whether build environment is sane
54configure:2784: result: yes
55configure:2935: checking for a thread-safe mkdir -p
56configure:2974: result: /opt/local/bin/gmkdir -p
57configure:2981: checking for gawk
58configure:2997: found /opt/local/bin/gawk
59configure:3008: result: gawk
60configure:3019: checking whether make sets $(MAKE)
61configure:3041: result: yes
62configure:3070: checking whether make supports nested variables
63configure:3087: result: yes
64configure:3224: checking whether make supports nested variables
65configure:3241: result: yes
66configure:3259: checking build system type
67configure:3273: result: x86_64-apple-darwin13.4.0
68configure:3293: checking host system type
69configure:3306: result: x86_64-apple-darwin13.4.0
70configure:3331: checking whether make supports the include directive
71configure:3346: make -f confmf.GNU && cat confinc.out
72this is the am__doit target
73configure:3349: $? = 0
74configure:3368: result: yes (GNU style)
75configure:3502: checking for C++ compiler version
76configure:3511: /usr/bin/clang++ --version >&5
77Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
78Target: x86_64-apple-darwin13.4.0
79Thread model: posix
80configure:3522: $? = 0
81configure:3511: /usr/bin/clang++ -v >&5
82Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
83Target: x86_64-apple-darwin13.4.0
84Thread model: posix
85configure:3522: $? = 0
86configure:3511: /usr/bin/clang++ -V >&5
87clang: error: argument to '-V' is missing (expected 1 value)
88clang: error: no input files
89configure:3522: $? = 1
90configure:3511: /usr/bin/clang++ -qversion >&5
91clang: error: unknown argument: '-qversion'
92clang: error: no input files
93configure:3522: $? = 1
94configure:3542: checking whether the C++ compiler works
95configure:3564: /usr/bin/clang++ -pipe -Os -stdlib=libc++ -arch x86_64 -I/opt/local/include -I/opt/local/include/LegacySupport -I/opt/local/include/LegacySupport -L/opt/local/lib -Wl,-headerpad_max_install_names -lMacportsLegacySupport -lMacportsLegacySupport -arch x86_64 conftest.cpp  >&5
96configure:3568: $? = 0
97configure:3616: result: yes
98configure:3619: checking for C++ compiler default output file name
99configure:3621: result: a.out
100configure:3627: checking for suffix of executables
101configure:3634: /usr/bin/clang++ -o conftest -pipe -Os -stdlib=libc++ -arch x86_64 -I/opt/local/include -I/opt/local/include/LegacySupport -I/opt/local/include/LegacySupport -L/opt/local/lib -Wl,-headerpad_max_install_names -lMacportsLegacySupport -lMacportsLegacySupport -arch x86_64 conftest.cpp  >&5
102configure:3638: $? = 0
103configure:3660: result:
104configure:3682: checking whether we are cross compiling
105configure:3690: /usr/bin/clang++ -o conftest -pipe -Os -stdlib=libc++ -arch x86_64 -I/opt/local/include -I/opt/local/include/LegacySupport -I/opt/local/include/LegacySupport -L/opt/local/lib -Wl,-headerpad_max_install_names -lMacportsLegacySupport -lMacportsLegacySupport -arch x86_64 conftest.cpp  >&5
106configure:3694: $? = 0
107configure:3701: ./conftest
108configure:3705: $? = 0
109configure:3720: result: no
110configure:3725: checking for suffix of object files
111configure:3747: /usr/bin/clang++ -c -pipe -Os -stdlib=libc++ -arch x86_64 -I/opt/local/include -I/opt/local/include/LegacySupport -I/opt/local/include/LegacySupport conftest.cpp >&5
112configure:3751: $? = 0
113configure:3772: result: o
114configure:3776: checking whether we are using the GNU C++ compiler
115configure:3795: /usr/bin/clang++ -c -pipe -Os -stdlib=libc++ -arch x86_64 -I/opt/local/include -I/opt/local/include/LegacySupport -I/opt/local/include/LegacySupport conftest.cpp >&5
116configure:3795: $? = 0
117configure:3804: result: yes
118configure:3813: checking whether /usr/bin/clang++ accepts -g
119configure:3833: /usr/bin/clang++ -c -g -I/opt/local/include -I/opt/local/include/LegacySupport -I/opt/local/include/LegacySupport conftest.cpp >&5
120configure:3833: $? = 0
121configure:3874: result: yes
122configure:3899: checking dependency style of /usr/bin/clang++
123configure:4010: result: gcc3
124configure:4033: checking whether /usr/bin/clang++ supports C++14 features by default
125configure:4447: /usr/bin/clang++ -c -pipe -Os -stdlib=libc++ -arch x86_64 -I/opt/local/include -I/opt/local/include/LegacySupport -I/opt/local/include/LegacySupport conftest.cpp >&5
126conftest.cpp:22:2: error: "This is not a C++11 compiler"
127#error "This is not a C++11 compiler"
128 ^
129conftest.cpp:307:2: error: "This is not a C++14 compiler"
130#error "This is not a C++14 compiler"
131 ^
1322 errors generated.
133configure:4447: $? = 1
134configure: failed program was:
135| /* confdefs.h */
136| #define PACKAGE_NAME "lnav"
137| #define PACKAGE_TARNAME "lnav"
138| #define PACKAGE_VERSION "0.8.5"
139| #define PACKAGE_STRING "lnav 0.8.5"
140| #define PACKAGE_BUGREPORT "lnav@googlegroups.com"
141| #define PACKAGE_URL "http://lnav.org"
142| #define PACKAGE "lnav"
143| #define VERSION "0.8.5"
144| /* end confdefs.h.  */
145|
146|
147| // If the compiler admits that it is not ready for C++11, why torture it?
148| // Hopefully, this will speed up the test.
149|
150| #ifndef __cplusplus
151|
152| #error "This is not a C++ compiler"
153|
154| #elif __cplusplus < 201103L
155|
156| #error "This is not a C++11 compiler"
157|
158| #else
159|
160| namespace cxx11
161| {
162|
163|   namespace test_static_assert
164|   {
165|
166|     template <typename T>
167|     struct check
168|     {
169|       static_assert(sizeof(int) <= sizeof(T), "not big enough");
170|     };
171|
172|   }
173|
174|   namespace test_final_override
175|   {
176|
177|     struct Base
178|     {
179|       virtual void f() {}
180|     };
181|
182|     struct Derived : public Base
183|     {
184|       virtual void f() override {}
185|     };
186|
187|   }
188|
189|   namespace test_double_right_angle_brackets
190|   {
191|
192|     template < typename T >
193|     struct check {};
194|
195|     typedef check<void> single_type;
196|     typedef check<check<void>> double_type;
197|     typedef check<check<check<void>>> triple_type;
198|     typedef check<check<check<check<void>>>> quadruple_type;
199|
200|   }
201|
202|   namespace test_decltype
203|   {
204|
205|     int
206|     f()
207|     {
208|       int a = 1;
209|       decltype(a) b = 2;
210|       return a + b;
211|     }
212|
213|   }
214|
215|   namespace test_type_deduction
216|   {
217|
218|     template < typename T1, typename T2 >
219|     struct is_same
220|     {
221|       static const bool value = false;
222|     };
223|
224|     template < typename T >
225|     struct is_same<T, T>
226|     {
227|       static const bool value = true;
228|     };
229|
230|     template < typename T1, typename T2 >
231|     auto
232|     add(T1 a1, T2 a2) -> decltype(a1 + a2)
233|     {
234|       return a1 + a2;
235|     }
236|
237|     int
238|     test(const int c, volatile int v)
239|     {
240|       static_assert(is_same<int, decltype(0)>::value == true, "");
241|       static_assert(is_same<int, decltype(c)>::value == false, "");
242|       static_assert(is_same<int, decltype(v)>::value == false, "");
243|       auto ac = c;
244|       auto av = v;
245|       auto sumi = ac + av + 'x';
246|       auto sumf = ac + av + 1.0;
247|       static_assert(is_same<int, decltype(ac)>::value == true, "");
248|       static_assert(is_same<int, decltype(av)>::value == true, "");
249|       static_assert(is_same<int, decltype(sumi)>::value == true, "");
250|       static_assert(is_same<int, decltype(sumf)>::value == false, "");
251|       static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
252|       return (sumf > 0.0) ? sumi : add(c, v);
253|     }
254|
255|   }
256|
257|   namespace test_noexcept
258|   {
259|
260|     int f() { return 0; }
261|     int g() noexcept { return 0; }
262|
263|     static_assert(noexcept(f()) == false, "");
264|     static_assert(noexcept(g()) == true, "");
265|
266|   }
267|
268|   namespace test_constexpr
269|   {
270|
271|     template < typename CharT >
272|     unsigned long constexpr
273|     strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
274|     {
275|       return *s ? strlen_c_r(s + 1, acc + 1) : acc;
276|     }
277|
278|     template < typename CharT >
279|     unsigned long constexpr
280|     strlen_c(const CharT *const s) noexcept
281|     {
282|       return strlen_c_r(s, 0UL);
283|     }
284|
285|     static_assert(strlen_c("") == 0UL, "");
286|     static_assert(strlen_c("1") == 1UL, "");
287|     static_assert(strlen_c("example") == 7UL, "");
288|     static_assert(strlen_c("another\0example") == 7UL, "");
289|
290|   }
291|
292|   namespace test_rvalue_references
293|   {
294|
295|     template < int N >
296|     struct answer
297|     {
298|       static constexpr int value = N;
299|     };
300|
301|     answer<1> f(int&)       { return answer<1>(); }
302|     answer<2> f(const int&) { return answer<2>(); }
303|     answer<3> f(int&&)      { return answer<3>(); }
304|
305|     void
306|     test()
307|     {
308|       int i = 0;
309|       const int c = 0;
310|       static_assert(decltype(f(i))::value == 1, "");
311|       static_assert(decltype(f(c))::value == 2, "");
312|       static_assert(decltype(f(0))::value == 3, "");
313|     }
314|
315|   }
316|
317|   namespace test_uniform_initialization
318|   {
319|
320|     struct test
321|     {
322|       static const int zero {};
323|       static const int one {1};
324|     };
325|
326|     static_assert(test::zero == 0, "");
327|     static_assert(test::one == 1, "");
328|
329|   }
330|
331|   namespace test_lambdas
332|   {
333|
334|     void
335|     test1()
336|     {
337|       auto lambda1 = [](){};
338|       auto lambda2 = lambda1;
339|       lambda1();
340|       lambda2();
341|     }
342|
343|     int
344|     test2()
345|     {
346|       auto a = [](int i, int j){ return i + j; }(1, 2);
347|       auto b = []() -> int { return '0'; }();
348|       auto c = [=](){ return a + b; }();
349|       auto d = [&](){ return c; }();
350|       auto e = [a, &b](int x) mutable {
351|         const auto identity = [](int y){ return y; };
352|         for (auto i = 0; i < a; ++i)
353|           a += b--;
354|         return x + identity(a + b);
355|       }(0);
356|       return a + b + c + d + e;
357|     }
358|
359|     int
360|     test3()
361|     {
362|       const auto nullary = [](){ return 0; };
363|       const auto unary = [](int x){ return x; };
364|       using nullary_t = decltype(nullary);
365|       using unary_t = decltype(unary);
366|       const auto higher1st = [](nullary_t f){ return f(); };
367|       const auto higher2nd = [unary](nullary_t f1){
368|         return [unary, f1](unary_t f2){ return f2(unary(f1())); };
369|       };
370|       return higher1st(nullary) + higher2nd(nullary)(unary);
371|     }
372|
373|   }
374|
375|   namespace test_variadic_templates
376|   {
377|
378|     template <int...>
379|     struct sum;
380|
381|     template <int N0, int... N1toN>
382|     struct sum<N0, N1toN...>
383|     {
384|       static constexpr auto value = N0 + sum<N1toN...>::value;
385|     };
386|
387|     template <>
388|     struct sum<>
389|     {
390|       static constexpr auto value = 0;
391|     };
392|
393|     static_assert(sum<>::value == 0, "");
394|     static_assert(sum<1>::value == 1, "");
395|     static_assert(sum<23>::value == 23, "");
396|     static_assert(sum<1, 2>::value == 3, "");
397|     static_assert(sum<5, 5, 11>::value == 21, "");
398|     static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
399|
400|   }
401|
402|   // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
403|   // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
404|   // because of this.
405|   namespace test_template_alias_sfinae
406|   {
407|
408|     struct foo {};
409|
410|     template<typename T>
411|     using member = typename T::member_type;
412|
413|     template<typename T>
414|     void func(...) {}
415|
416|     template<typename T>
417|     void func(member<T>*) {}
418|
419|     void test();
420|
421|     void test() { func<foo>(0); }
422|
423|   }
424|
425| }  // namespace cxx11
426|
427| #endif  // __cplusplus >= 201103L
428|
429|
430|
431|
432| // If the compiler admits that it is not ready for C++14, why torture it?
433| // Hopefully, this will speed up the test.
434|
435| #ifndef __cplusplus
436|
437| #error "This is not a C++ compiler"
438|
439| #elif __cplusplus < 201402L
440|
441| #error "This is not a C++14 compiler"
442|
443| #else
444|
445| namespace cxx14
446| {
447|
448|   namespace test_polymorphic_lambdas
449|   {
450|
451|     int
452|     test()
453|     {
454|       const auto lambda = [](auto&&... args){
455|         const auto istiny = [](auto x){
456|           return (sizeof(x) == 1UL) ? 1 : 0;
457|         };
458|         const int aretiny[] = { istiny(args)... };
459|         return aretiny[0];
460|       };
461|       return lambda(1, 1L, 1.0f, '1');
462|     }
463|
464|   }
465|
466|   namespace test_binary_literals
467|   {
468|
469|     constexpr auto ivii = 0b0000000000101010;
470|     static_assert(ivii == 42, "wrong value");
471|
472|   }
473|
474|   namespace test_generalized_constexpr
475|   {
476|
477|     template < typename CharT >
478|     constexpr unsigned long
479|     strlen_c(const CharT *const s) noexcept
480|     {
481|       auto length = 0UL;
482|       for (auto p = s; *p; ++p)
483|         ++length;
484|       return length;
485|     }
486|
487|     static_assert(strlen_c("") == 0UL, "");
488|     static_assert(strlen_c("x") == 1UL, "");
489|     static_assert(strlen_c("test") == 4UL, "");
490|     static_assert(strlen_c("another\0test") == 7UL, "");
491|
492|   }
493|
494|   namespace test_lambda_init_capture
495|   {
496|
497|     int
498|     test()
499|     {
500|       auto x = 0;
501|       const auto lambda1 = [a = x](int b){ return a + b; };
502|       const auto lambda2 = [a = lambda1(x)](){ return a; };
503|       return lambda2();
504|     }
505|
506|   }
507|
508|   namespace test_digit_seperators
509|   {
510|
511|     constexpr auto ten_million = 100'000'000;
512|     static_assert(ten_million == 100000000, "");
513|
514|   }
515|
516|   namespace test_return_type_deduction
517|   {
518|
519|     auto f(int& x) { return x; }
520|     decltype(auto) g(int& x) { return x; }
521|
522|     template < typename T1, typename T2 >
523|     struct is_same
524|     {
525|       static constexpr auto value = false;
526|     };
527|
528|     template < typename T >
529|     struct is_same<T, T>
530|     {
531|       static constexpr auto value = true;
532|     };
533|
534|     int
535|     test()
536|     {
537|       auto x = 0;
538|       static_assert(is_same<int, decltype(f(x))>::value, "");
539|       static_assert(is_same<int&, decltype(g(x))>::value, "");
540|       return x;
541|     }
542|
543|   }
544|
545| }  // namespace cxx14
546|
547| #endif  // __cplusplus >= 201402L
548|
549|
550|
551configure:4454: result: no
552configure:4465: checking whether /usr/bin/clang++ supports C++14 features with -std=c++14
553configure:4881: /usr/bin/clang++ -std=c++14 -c -pipe -Os -stdlib=libc++ -arch x86_64 -I/opt/local/include -I/opt/local/include/LegacySupport -I/opt/local/include/LegacySupport conftest.cpp >&5
554error: invalid value 'c++14' in '-std=c++14'
555configure:4881: $? = 1
556configure: failed program was:
557| /* confdefs.h */
558| #define PACKAGE_NAME "lnav"
559| #define PACKAGE_TARNAME "lnav"
560| #define PACKAGE_VERSION "0.8.5"
561| #define PACKAGE_STRING "lnav 0.8.5"
562| #define PACKAGE_BUGREPORT "lnav@googlegroups.com"
563| #define PACKAGE_URL "http://lnav.org"
564| #define PACKAGE "lnav"
565| #define VERSION "0.8.5"
566| /* end confdefs.h.  */
567|
568|
569| // If the compiler admits that it is not ready for C++11, why torture it?
570| // Hopefully, this will speed up the test.
571|
572| #ifndef __cplusplus
573|
574| #error "This is not a C++ compiler"
575|
576| #elif __cplusplus < 201103L
577|
578| #error "This is not a C++11 compiler"
579|
580| #else
581|
582| namespace cxx11
583| {
584|
585|   namespace test_static_assert
586|   {
587|
588|     template <typename T>
589|     struct check
590|     {
591|       static_assert(sizeof(int) <= sizeof(T), "not big enough");
592|     };
593|
594|   }
595|
596|   namespace test_final_override
597|   {
598|
599|     struct Base
600|     {
601|       virtual void f() {}
602|     };
603|
604|     struct Derived : public Base
605|     {
606|       virtual void f() override {}
607|     };
608|
609|   }
610|
611|   namespace test_double_right_angle_brackets
612|   {
613|
614|     template < typename T >
615|     struct check {};
616|
617|     typedef check<void> single_type;
618|     typedef check<check<void>> double_type;
619|     typedef check<check<check<void>>> triple_type;
620|     typedef check<check<check<check<void>>>> quadruple_type;
621|
622|   }
623|
624|   namespace test_decltype
625|   {
626|
627|     int
628|     f()
629|     {
630|       int a = 1;
631|       decltype(a) b = 2;
632|       return a + b;
633|     }
634|
635|   }
636|
637|   namespace test_type_deduction
638|   {
639|
640|     template < typename T1, typename T2 >
641|     struct is_same
642|     {
643|       static const bool value = false;
644|     };
645|
646|     template < typename T >
647|     struct is_same<T, T>
648|     {
649|       static const bool value = true;
650|     };
651|
652|     template < typename T1, typename T2 >
653|     auto
654|     add(T1 a1, T2 a2) -> decltype(a1 + a2)
655|     {
656|       return a1 + a2;
657|     }
658|
659|     int
660|     test(const int c, volatile int v)
661|     {
662|       static_assert(is_same<int, decltype(0)>::value == true, "");
663|       static_assert(is_same<int, decltype(c)>::value == false, "");
664|       static_assert(is_same<int, decltype(v)>::value == false, "");
665|       auto ac = c;
666|       auto av = v;
667|       auto sumi = ac + av + 'x';
668|       auto sumf = ac + av + 1.0;
669|       static_assert(is_same<int, decltype(ac)>::value == true, "");
670|       static_assert(is_same<int, decltype(av)>::value == true, "");
671|       static_assert(is_same<int, decltype(sumi)>::value == true, "");
672|       static_assert(is_same<int, decltype(sumf)>::value == false, "");
673|       static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
674|       return (sumf > 0.0) ? sumi : add(c, v);
675|     }
676|
677|   }
678|
679|   namespace test_noexcept
680|   {
681|
682|     int f() { return 0; }
683|     int g() noexcept { return 0; }
684|
685|     static_assert(noexcept(f()) == false, "");
686|     static_assert(noexcept(g()) == true, "");
687|
688|   }
689|
690|   namespace test_constexpr
691|   {
692|
693|     template < typename CharT >
694|     unsigned long constexpr
695|     strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
696|     {
697|       return *s ? strlen_c_r(s + 1, acc + 1) : acc;
698|     }
699|
700|     template < typename CharT >
701|     unsigned long constexpr
702|     strlen_c(const CharT *const s) noexcept
703|     {
704|       return strlen_c_r(s, 0UL);
705|     }
706|
707|     static_assert(strlen_c("") == 0UL, "");
708|     static_assert(strlen_c("1") == 1UL, "");
709|     static_assert(strlen_c("example") == 7UL, "");
710|     static_assert(strlen_c("another\0example") == 7UL, "");
711|
712|   }
713|
714|   namespace test_rvalue_references
715|   {
716|
717|     template < int N >
718|     struct answer
719|     {
720|       static constexpr int value = N;
721|     };
722|
723|     answer<1> f(int&)       { return answer<1>(); }
724|     answer<2> f(const int&) { return answer<2>(); }
725|     answer<3> f(int&&)      { return answer<3>(); }
726|
727|     void
728|     test()
729|     {
730|       int i = 0;
731|       const int c = 0;
732|       static_assert(decltype(f(i))::value == 1, "");
733|       static_assert(decltype(f(c))::value == 2, "");
734|       static_assert(decltype(f(0))::value == 3, "");
735|     }
736|
737|   }
738|
739|   namespace test_uniform_initialization
740|   {
741|
742|     struct test
743|     {
744|       static const int zero {};
745|       static const int one {1};
746|     };
747|
748|     static_assert(test::zero == 0, "");
749|     static_assert(test::one == 1, "");
750|
751|   }
752|
753|   namespace test_lambdas
754|   {
755|
756|     void
757|     test1()
758|     {
759|       auto lambda1 = [](){};
760|       auto lambda2 = lambda1;
761|       lambda1();
762|       lambda2();
763|     }
764|
765|     int
766|     test2()
767|     {
768|       auto a = [](int i, int j){ return i + j; }(1, 2);
769|       auto b = []() -> int { return '0'; }();
770|       auto c = [=](){ return a + b; }();
771|       auto d = [&](){ return c; }();
772|       auto e = [a, &b](int x) mutable {
773|         const auto identity = [](int y){ return y; };
774|         for (auto i = 0; i < a; ++i)
775|           a += b--;
776|         return x + identity(a + b);
777|       }(0);
778|       return a + b + c + d + e;
779|     }
780|
781|     int
782|     test3()
783|     {
784|       const auto nullary = [](){ return 0; };
785|       const auto unary = [](int x){ return x; };
786|       using nullary_t = decltype(nullary);
787|       using unary_t = decltype(unary);
788|       const auto higher1st = [](nullary_t f){ return f(); };
789|       const auto higher2nd = [unary](nullary_t f1){
790|         return [unary, f1](unary_t f2){ return f2(unary(f1())); };
791|       };
792|       return higher1st(nullary) + higher2nd(nullary)(unary);
793|     }
794|
795|   }
796|
797|   namespace test_variadic_templates
798|   {
799|
800|     template <int...>
801|     struct sum;
802|
803|     template <int N0, int... N1toN>
804|     struct sum<N0, N1toN...>
805|     {
806|       static constexpr auto value = N0 + sum<N1toN...>::value;
807|     };
808|
809|     template <>
810|     struct sum<>
811|     {
812|       static constexpr auto value = 0;
813|     };
814|
815|     static_assert(sum<>::value == 0, "");
816|     static_assert(sum<1>::value == 1, "");
817|     static_assert(sum<23>::value == 23, "");
818|     static_assert(sum<1, 2>::value == 3, "");
819|     static_assert(sum<5, 5, 11>::value == 21, "");
820|     static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
821|
822|   }
823|
824|   // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
825|   // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
826|   // because of this.
827|   namespace test_template_alias_sfinae
828|   {
829|
830|     struct foo {};
831|
832|     template<typename T>
833|     using member = typename T::member_type;
834|
835|     template<typename T>
836|     void func(...) {}
837|
838|     template<typename T>
839|     void func(member<T>*) {}
840|
841|     void test();
842|
843|     void test() { func<foo>(0); }
844|
845|   }
846|
847| }  // namespace cxx11
848|
849| #endif  // __cplusplus >= 201103L
850|
851|
852|
853|
854| // If the compiler admits that it is not ready for C++14, why torture it?
855| // Hopefully, this will speed up the test.
856|
857| #ifndef __cplusplus
858|
859| #error "This is not a C++ compiler"
860|
861| #elif __cplusplus < 201402L
862|
863| #error "This is not a C++14 compiler"
864|
865| #else
866|
867| namespace cxx14
868| {
869|
870|   namespace test_polymorphic_lambdas
871|   {
872|
873|     int
874|     test()
875|     {
876|       const auto lambda = [](auto&&... args){
877|         const auto istiny = [](auto x){
878|           return (sizeof(x) == 1UL) ? 1 : 0;
879|         };
880|         const int aretiny[] = { istiny(args)... };
881|         return aretiny[0];
882|       };
883|       return lambda(1, 1L, 1.0f, '1');
884|     }
885|
886|   }
887|
888|   namespace test_binary_literals
889|   {
890|
891|     constexpr auto ivii = 0b0000000000101010;
892|     static_assert(ivii == 42, "wrong value");
893|
894|   }
895|
896|   namespace test_generalized_constexpr
897|   {
898|
899|     template < typename CharT >
900|     constexpr unsigned long
901|     strlen_c(const CharT *const s) noexcept
902|     {
903|       auto length = 0UL;
904|       for (auto p = s; *p; ++p)
905|         ++length;
906|       return length;
907|     }
908|
909|     static_assert(strlen_c("") == 0UL, "");
910|     static_assert(strlen_c("x") == 1UL, "");
911|     static_assert(strlen_c("test") == 4UL, "");
912|     static_assert(strlen_c("another\0test") == 7UL, "");
913|
914|   }
915|
916|   namespace test_lambda_init_capture
917|   {
918|
919|     int
920|     test()
921|     {
922|       auto x = 0;
923|       const auto lambda1 = [a = x](int b){ return a + b; };
924|       const auto lambda2 = [a = lambda1(x)](){ return a; };
925|       return lambda2();
926|     }
927|
928|   }
929|
930|   namespace test_digit_seperators
931|   {
932|
933|     constexpr auto ten_million = 100'000'000;
934|     static_assert(ten_million == 100000000, "");
935|
936|   }
937|
938|   namespace test_return_type_deduction
939|   {
940|
941|     auto f(int& x) { return x; }
942|     decltype(auto) g(int& x) { return x; }
943|
944|     template < typename T1, typename T2 >
945|     struct is_same
946|     {
947|       static constexpr auto value = false;
948|     };
949|
950|     template < typename T >
951|     struct is_same<T, T>
952|     {
953|       static constexpr auto value = true;
954|     };
955|
956|     int
957|     test()
958|     {
959|       auto x = 0;
960|       static_assert(is_same<int, decltype(f(x))>::value, "");
961|       static_assert(is_same<int&, decltype(g(x))>::value, "");
962|       return x;
963|     }
964|
965|   }
966|
967| }  // namespace cxx14
968|
969| #endif  // __cplusplus >= 201402L
970|
971|
972|
973configure:4890: result: no
974configure:4465: checking whether /usr/bin/clang++ supports C++14 features with -std=c++0x
975configure:4881: /usr/bin/clang++ -std=c++0x -c -pipe -Os -stdlib=libc++ -arch x86_64 -I/opt/local/include -I/opt/local/include/LegacySupport -I/opt/local/include/LegacySupport conftest.cpp >&5
976conftest.cpp:307:2: error: "This is not a C++14 compiler"
977#error "This is not a C++14 compiler"
978 ^
9791 error generated.
980configure:4881: $? = 1
981configure: failed program was:
982| /* confdefs.h */
983| #define PACKAGE_NAME "lnav"
984| #define PACKAGE_TARNAME "lnav"
985| #define PACKAGE_VERSION "0.8.5"
986| #define PACKAGE_STRING "lnav 0.8.5"
987| #define PACKAGE_BUGREPORT "lnav@googlegroups.com"
988| #define PACKAGE_URL "http://lnav.org"
989| #define PACKAGE "lnav"
990| #define VERSION "0.8.5"
991| /* end confdefs.h.  */
992|
993|
994| // If the compiler admits that it is not ready for C++11, why torture it?
995| // Hopefully, this will speed up the test.
996|
997| #ifndef __cplusplus
998|
999| #error "This is not a C++ compiler"
1000|
1001| #elif __cplusplus < 201103L
1002|
1003| #error "This is not a C++11 compiler"
1004|
1005| #else
1006|
1007| namespace cxx11
1008| {
1009|
1010|   namespace test_static_assert
1011|   {
1012|
1013|     template <typename T>
1014|     struct check
1015|     {
1016|       static_assert(sizeof(int) <= sizeof(T), "not big enough");
1017|     };
1018|
1019|   }
1020|
1021|   namespace test_final_override
1022|   {
1023|
1024|     struct Base
1025|     {
1026|       virtual void f() {}
1027|     };
1028|
1029|     struct Derived : public Base
1030|     {
1031|       virtual void f() override {}
1032|     };
1033|
1034|   }
1035|
1036|   namespace test_double_right_angle_brackets
1037|   {
1038|
1039|     template < typename T >
1040|     struct check {};
1041|
1042|     typedef check<void> single_type;
1043|     typedef check<check<void>> double_type;
1044|     typedef check<check<check<void>>> triple_type;
1045|     typedef check<check<check<check<void>>>> quadruple_type;
1046|
1047|   }
1048|
1049|   namespace test_decltype
1050|   {
1051|
1052|     int
1053|     f()
1054|     {
1055|       int a = 1;
1056|       decltype(a) b = 2;
1057|       return a + b;
1058|     }
1059|
1060|   }
1061|
1062|   namespace test_type_deduction
1063|   {
1064|
1065|     template < typename T1, typename T2 >
1066|     struct is_same
1067|     {
1068|       static const bool value = false;
1069|     };
1070|
1071|     template < typename T >
1072|     struct is_same<T, T>
1073|     {
1074|       static const bool value = true;
1075|     };
1076|
1077|     template < typename T1, typename T2 >
1078|     auto
1079|     add(T1 a1, T2 a2) -> decltype(a1 + a2)
1080|     {
1081|       return a1 + a2;
1082|     }
1083|
1084|     int
1085|     test(const int c, volatile int v)
1086|     {
1087|       static_assert(is_same<int, decltype(0)>::value == true, "");
1088|       static_assert(is_same<int, decltype(c)>::value == false, "");
1089|       static_assert(is_same<int, decltype(v)>::value == false, "");
1090|       auto ac = c;
1091|       auto av = v;
1092|       auto sumi = ac + av + 'x';
1093|       auto sumf = ac + av + 1.0;
1094|       static_assert(is_same<int, decltype(ac)>::value == true, "");
1095|       static_assert(is_same<int, decltype(av)>::value == true, "");
1096|       static_assert(is_same<int, decltype(sumi)>::value == true, "");
1097|       static_assert(is_same<int, decltype(sumf)>::value == false, "");
1098|       static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
1099|       return (sumf > 0.0) ? sumi : add(c, v);
1100|     }
1101|
1102|   }
1103|
1104|   namespace test_noexcept
1105|   {
1106|
1107|     int f() { return 0; }
1108|     int g() noexcept { return 0; }
1109|
1110|     static_assert(noexcept(f()) == false, "");
1111|     static_assert(noexcept(g()) == true, "");
1112|
1113|   }
1114|
1115|   namespace test_constexpr
1116|   {
1117|
1118|     template < typename CharT >
1119|     unsigned long constexpr
1120|     strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
1121|     {
1122|       return *s ? strlen_c_r(s + 1, acc + 1) : acc;
1123|     }
1124|
1125|     template < typename CharT >
1126|     unsigned long constexpr
1127|     strlen_c(const CharT *const s) noexcept
1128|     {
1129|       return strlen_c_r(s, 0UL);
1130|     }
1131|
1132|     static_assert(strlen_c("") == 0UL, "");
1133|     static_assert(strlen_c("1") == 1UL, "");
1134|     static_assert(strlen_c("example") == 7UL, "");
1135|     static_assert(strlen_c("another\0example") == 7UL, "");
1136|
1137|   }
1138|
1139|   namespace test_rvalue_references
1140|   {
1141|
1142|     template < int N >
1143|     struct answer
1144|     {
1145|       static constexpr int value = N;
1146|     };
1147|
1148|     answer<1> f(int&)       { return answer<1>(); }
1149|     answer<2> f(const int&) { return answer<2>(); }
1150|     answer<3> f(int&&)      { return answer<3>(); }
1151|
1152|     void
1153|     test()
1154|     {
1155|       int i = 0;
1156|       const int c = 0;
1157|       static_assert(decltype(f(i))::value == 1, "");
1158|       static_assert(decltype(f(c))::value == 2, "");
1159|       static_assert(decltype(f(0))::value == 3, "");
1160|     }
1161|
1162|   }
1163|
1164|   namespace test_uniform_initialization
1165|   {
1166|
1167|     struct test
1168|     {
1169|       static const int zero {};
1170|       static const int one {1};
1171|     };
1172|
1173|     static_assert(test::zero == 0, "");
1174|     static_assert(test::one == 1, "");
1175|
1176|   }
1177|
1178|   namespace test_lambdas
1179|   {
1180|
1181|     void
1182|     test1()
1183|     {
1184|       auto lambda1 = [](){};
1185|       auto lambda2 = lambda1;
1186|       lambda1();
1187|       lambda2();
1188|     }
1189|
1190|     int
1191|     test2()
1192|     {
1193|       auto a = [](int i, int j){ return i + j; }(1, 2);
1194|       auto b = []() -> int { return '0'; }();
1195|       auto c = [=](){ return a + b; }();
1196|       auto d = [&](){ return c; }();
1197|       auto e = [a, &b](int x) mutable {
1198|         const auto identity = [](int y){ return y; };
1199|         for (auto i = 0; i < a; ++i)
1200|           a += b--;
1201|         return x + identity(a + b);
1202|       }(0);
1203|       return a + b + c + d + e;
1204|     }
1205|
1206|     int
1207|     test3()
1208|     {
1209|       const auto nullary = [](){ return 0; };
1210|       const auto unary = [](int x){ return x; };
1211|       using nullary_t = decltype(nullary);
1212|       using unary_t = decltype(unary);
1213|       const auto higher1st = [](nullary_t f){ return f(); };
1214|       const auto higher2nd = [unary](nullary_t f1){
1215|         return [unary, f1](unary_t f2){ return f2(unary(f1())); };
1216|       };
1217|       return higher1st(nullary) + higher2nd(nullary)(unary);
1218|     }
1219|
1220|   }
1221|
1222|   namespace test_variadic_templates
1223|   {
1224|
1225|     template <int...>
1226|     struct sum;
1227|
1228|     template <int N0, int... N1toN>
1229|     struct sum<N0, N1toN...>
1230|     {
1231|       static constexpr auto value = N0 + sum<N1toN...>::value;
1232|     };
1233|
1234|     template <>
1235|     struct sum<>
1236|     {
1237|       static constexpr auto value = 0;
1238|     };
1239|
1240|     static_assert(sum<>::value == 0, "");
1241|     static_assert(sum<1>::value == 1, "");
1242|     static_assert(sum<23>::value == 23, "");
1243|     static_assert(sum<1, 2>::value == 3, "");
1244|     static_assert(sum<5, 5, 11>::value == 21, "");
1245|     static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
1246|
1247|   }
1248|
1249|   // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
1250|   // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
1251|   // because of this.
1252|   namespace test_template_alias_sfinae
1253|   {
1254|
1255|     struct foo {};
1256|
1257|     template<typename T>
1258|     using member = typename T::member_type;
1259|
1260|     template<typename T>
1261|     void func(...) {}
1262|
1263|     template<typename T>
1264|     void func(member<T>*) {}
1265|
1266|     void test();
1267|
1268|     void test() { func<foo>(0); }
1269|
1270|   }
1271|
1272| }  // namespace cxx11
1273|
1274| #endif  // __cplusplus >= 201103L
1275|
1276|
1277|
1278|
1279| // If the compiler admits that it is not ready for C++14, why torture it?
1280| // Hopefully, this will speed up the test.
1281|
1282| #ifndef __cplusplus
1283|
1284| #error "This is not a C++ compiler"
1285|
1286| #elif __cplusplus < 201402L
1287|
1288| #error "This is not a C++14 compiler"
1289|
1290| #else
1291|
1292| namespace cxx14
1293| {
1294|
1295|   namespace test_polymorphic_lambdas
1296|   {
1297|
1298|     int
1299|     test()
1300|     {
1301|       const auto lambda = [](auto&&... args){
1302|         const auto istiny = [](auto x){
1303|           return (sizeof(x) == 1UL) ? 1 : 0;
1304|         };
1305|         const int aretiny[] = { istiny(args)... };
1306|         return aretiny[0];
1307|       };
1308|       return lambda(1, 1L, 1.0f, '1');
1309|     }
1310|
1311|   }
1312|
1313|   namespace test_binary_literals
1314|   {
1315|
1316|     constexpr auto ivii = 0b0000000000101010;
1317|     static_assert(ivii == 42, "wrong value");
1318|
1319|   }
1320|
1321|   namespace test_generalized_constexpr
1322|   {
1323|
1324|     template < typename CharT >
1325|     constexpr unsigned long
1326|     strlen_c(const CharT *const s) noexcept
1327|     {
1328|       auto length = 0UL;
1329|       for (auto p = s; *p; ++p)
1330|         ++length;
1331|       return length;
1332|     }
1333|
1334|     static_assert(strlen_c("") == 0UL, "");
1335|     static_assert(strlen_c("x") == 1UL, "");
1336|     static_assert(strlen_c("test") == 4UL, "");
1337|     static_assert(strlen_c("another\0test") == 7UL, "");
1338|
1339|   }
1340|
1341|   namespace test_lambda_init_capture
1342|   {
1343|
1344|     int
1345|     test()
1346|     {
1347|       auto x = 0;
1348|       const auto lambda1 = [a = x](int b){ return a + b; };
1349|       const auto lambda2 = [a = lambda1(x)](){ return a; };
1350|       return lambda2();
1351|     }
1352|
1353|   }
1354|
1355|   namespace test_digit_seperators
1356|   {
1357|
1358|     constexpr auto ten_million = 100'000'000;
1359|     static_assert(ten_million == 100000000, "");
1360|
1361|   }
1362|
1363|   namespace test_return_type_deduction
1364|   {
1365|
1366|     auto f(int& x) { return x; }
1367|     decltype(auto) g(int& x) { return x; }
1368|
1369|     template < typename T1, typename T2 >
1370|     struct is_same
1371|     {
1372|       static constexpr auto value = false;
1373|     };
1374|
1375|     template < typename T >
1376|     struct is_same<T, T>
1377|     {
1378|       static constexpr auto value = true;
1379|     };
1380|
1381|     int
1382|     test()
1383|     {
1384|       auto x = 0;
1385|       static_assert(is_same<int, decltype(f(x))>::value, "");
1386|       static_assert(is_same<int&, decltype(g(x))>::value, "");
1387|       return x;
1388|     }
1389|
1390|   }
1391|
1392| }  // namespace cxx14
1393|
1394| #endif  // __cplusplus >= 201402L
1395|
1396|
1397|
1398configure:4890: result: no
1399configure:4465: checking whether /usr/bin/clang++ supports C++14 features with +std=c++14
1400configure:4881: /usr/bin/clang++ +std=c++14 -c -pipe -Os -stdlib=libc++ -arch x86_64 -I/opt/local/include -I/opt/local/include/LegacySupport -I/opt/local/include/LegacySupport conftest.cpp >&5
1401clang: error: no such file or directory: '+std=c++14'
1402configure:4881: $? = 1
1403configure: failed program was:
1404| /* confdefs.h */
1405| #define PACKAGE_NAME "lnav"
1406| #define PACKAGE_TARNAME "lnav"
1407| #define PACKAGE_VERSION "0.8.5"
1408| #define PACKAGE_STRING "lnav 0.8.5"
1409| #define PACKAGE_BUGREPORT "lnav@googlegroups.com"
1410| #define PACKAGE_URL "http://lnav.org"
1411| #define PACKAGE "lnav"
1412| #define VERSION "0.8.5"
1413| /* end confdefs.h.  */
1414|
1415|
1416| // If the compiler admits that it is not ready for C++11, why torture it?
1417| // Hopefully, this will speed up the test.
1418|
1419| #ifndef __cplusplus
1420|
1421| #error "This is not a C++ compiler"
1422|
1423| #elif __cplusplus < 201103L
1424|
1425| #error "This is not a C++11 compiler"
1426|
1427| #else
1428|
1429| namespace cxx11
1430| {
1431|
1432|   namespace test_static_assert
1433|   {
1434|
1435|     template <typename T>
1436|     struct check
1437|     {
1438|       static_assert(sizeof(int) <= sizeof(T), "not big enough");
1439|     };
1440|
1441|   }
1442|
1443|   namespace test_final_override
1444|   {
1445|
1446|     struct Base
1447|     {
1448|       virtual void f() {}
1449|     };
1450|
1451|     struct Derived : public Base
1452|     {
1453|       virtual void f() override {}
1454|     };
1455|
1456|   }
1457|
1458|   namespace test_double_right_angle_brackets
1459|   {
1460|
1461|     template < typename T >
1462|     struct check {};
1463|
1464|     typedef check<void> single_type;
1465|     typedef check<check<void>> double_type;
1466|     typedef check<check<check<void>>> triple_type;
1467|     typedef check<check<check<check<void>>>> quadruple_type;
1468|
1469|   }
1470|
1471|   namespace test_decltype
1472|   {
1473|
1474|     int
1475|     f()
1476|     {
1477|       int a = 1;
1478|       decltype(a) b = 2;
1479|       return a + b;
1480|     }
1481|
1482|   }
1483|
1484|   namespace test_type_deduction
1485|   {
1486|
1487|     template < typename T1, typename T2 >
1488|     struct is_same
1489|     {
1490|       static const bool value = false;
1491|     };
1492|
1493|     template < typename T >
1494|     struct is_same<T, T>
1495|     {
1496|       static const bool value = true;
1497|     };
1498|
1499|     template < typename T1, typename T2 >
1500|     auto
1501|     add(T1 a1, T2 a2) -> decltype(a1 + a2)
1502|     {
1503|       return a1 + a2;
1504|     }
1505|
1506|     int
1507|     test(const int c, volatile int v)
1508|     {
1509|       static_assert(is_same<int, decltype(0)>::value == true, "");
1510|       static_assert(is_same<int, decltype(c)>::value == false, "");
1511|       static_assert(is_same<int, decltype(v)>::value == false, "");
1512|       auto ac = c;
1513|       auto av = v;
1514|       auto sumi = ac + av + 'x';
1515|       auto sumf = ac + av + 1.0;
1516|       static_assert(is_same<int, decltype(ac)>::value == true, "");
1517|       static_assert(is_same<int, decltype(av)>::value == true, "");
1518|       static_assert(is_same<int, decltype(sumi)>::value == true, "");
1519|       static_assert(is_same<int, decltype(sumf)>::value == false, "");
1520|       static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
1521|       return (sumf > 0.0) ? sumi : add(c, v);
1522|     }
1523|
1524|   }
1525|
1526|   namespace test_noexcept
1527|   {
1528|
1529|     int f() { return 0; }
1530|     int g() noexcept { return 0; }
1531|
1532|     static_assert(noexcept(f()) == false, "");
1533|     static_assert(noexcept(g()) == true, "");
1534|
1535|   }
1536|
1537|   namespace test_constexpr
1538|   {
1539|
1540|     template < typename CharT >
1541|     unsigned long constexpr
1542|     strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
1543|     {
1544|       return *s ? strlen_c_r(s + 1, acc + 1) : acc;
1545|     }
1546|
1547|     template < typename CharT >
1548|     unsigned long constexpr
1549|     strlen_c(const CharT *const s) noexcept
1550|     {
1551|       return strlen_c_r(s, 0UL);
1552|     }
1553|
1554|     static_assert(strlen_c("") == 0UL, "");
1555|     static_assert(strlen_c("1") == 1UL, "");
1556|     static_assert(strlen_c("example") == 7UL, "");
1557|     static_assert(strlen_c("another\0example") == 7UL, "");
1558|
1559|   }
1560|
1561|   namespace test_rvalue_references
1562|   {
1563|
1564|     template < int N >
1565|     struct answer
1566|     {
1567|       static constexpr int value = N;
1568|     };
1569|
1570|     answer<1> f(int&)       { return answer<1>(); }
1571|     answer<2> f(const int&) { return answer<2>(); }
1572|     answer<3> f(int&&)      { return answer<3>(); }
1573|
1574|     void
1575|     test()
1576|     {
1577|       int i = 0;
1578|       const int c = 0;
1579|       static_assert(decltype(f(i))::value == 1, "");
1580|       static_assert(decltype(f(c))::value == 2, "");
1581|       static_assert(decltype(f(0))::value == 3, "");
1582|     }
1583|
1584|   }
1585|
1586|   namespace test_uniform_initialization
1587|   {
1588|
1589|     struct test
1590|     {
1591|       static const int zero {};
1592|       static const int one {1};
1593|     };
1594|
1595|     static_assert(test::zero == 0, "");
1596|     static_assert(test::one == 1, "");
1597|
1598|   }
1599|
1600|   namespace test_lambdas
1601|   {
1602|
1603|     void
1604|     test1()
1605|     {
1606|       auto lambda1 = [](){};
1607|       auto lambda2 = lambda1;
1608|       lambda1();
1609|       lambda2();
1610|     }
1611|
1612|     int
1613|     test2()
1614|     {
1615|       auto a = [](int i, int j){ return i + j; }(1, 2);
1616|       auto b = []() -> int { return '0'; }();
1617|       auto c = [=](){ return a + b; }();
1618|       auto d = [&](){ return c; }();
1619|       auto e = [a, &b](int x) mutable {
1620|         const auto identity = [](int y){ return y; };
1621|         for (auto i = 0; i < a; ++i)
1622|           a += b--;
1623|         return x + identity(a + b);
1624|       }(0);
1625|       return a + b + c + d + e;
1626|     }
1627|
1628|     int
1629|     test3()
1630|     {
1631|       const auto nullary = [](){ return 0; };
1632|       const auto unary = [](int x){ return x; };
1633|       using nullary_t = decltype(nullary);
1634|       using unary_t = decltype(unary);
1635|       const auto higher1st = [](nullary_t f){ return f(); };
1636|       const auto higher2nd = [unary](nullary_t f1){
1637|         return [unary, f1](unary_t f2){ return f2(unary(f1())); };
1638|       };
1639|       return higher1st(nullary) + higher2nd(nullary)(unary);
1640|     }
1641|
1642|   }
1643|
1644|   namespace test_variadic_templates
1645|   {
1646|
1647|     template <int...>
1648|     struct sum;
1649|
1650|     template <int N0, int... N1toN>
1651|     struct sum<N0, N1toN...>
1652|     {
1653|       static constexpr auto value = N0 + sum<N1toN...>::value;
1654|     };
1655|
1656|     template <>
1657|     struct sum<>
1658|     {
1659|       static constexpr auto value = 0;
1660|     };
1661|
1662|     static_assert(sum<>::value == 0, "");
1663|     static_assert(sum<1>::value == 1, "");
1664|     static_assert(sum<23>::value == 23, "");
1665|     static_assert(sum<1, 2>::value == 3, "");
1666|     static_assert(sum<5, 5, 11>::value == 21, "");
1667|     static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
1668|
1669|   }
1670|
1671|   // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
1672|   // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
1673|   // because of this.
1674|   namespace test_template_alias_sfinae
1675|   {
1676|
1677|     struct foo {};
1678|
1679|     template<typename T>
1680|     using member = typename T::member_type;
1681|
1682|     template<typename T>
1683|     void func(...) {}
1684|
1685|     template<typename T>
1686|     void func(member<T>*) {}
1687|
1688|     void test();
1689|
1690|     void test() { func<foo>(0); }
1691|
1692|   }
1693|
1694| }  // namespace cxx11
1695|
1696| #endif  // __cplusplus >= 201103L
1697|
1698|
1699|
1700|
1701| // If the compiler admits that it is not ready for C++14, why torture it?
1702| // Hopefully, this will speed up the test.
1703|
1704| #ifndef __cplusplus
1705|
1706| #error "This is not a C++ compiler"
1707|
1708| #elif __cplusplus < 201402L
1709|
1710| #error "This is not a C++14 compiler"
1711|
1712| #else
1713|
1714| namespace cxx14
1715| {
1716|
1717|   namespace test_polymorphic_lambdas
1718|   {
1719|
1720|     int
1721|     test()
1722|     {
1723|       const auto lambda = [](auto&&... args){
1724|         const auto istiny = [](auto x){
1725|           return (sizeof(x) == 1UL) ? 1 : 0;
1726|         };
1727|         const int aretiny[] = { istiny(args)... };
1728|         return aretiny[0];
1729|       };
1730|       return lambda(1, 1L, 1.0f, '1');
1731|     }
1732|
1733|   }
1734|
1735|   namespace test_binary_literals
1736|   {
1737|
1738|     constexpr auto ivii = 0b0000000000101010;
1739|     static_assert(ivii == 42, "wrong value");
1740|
1741|   }
1742|
1743|   namespace test_generalized_constexpr
1744|   {
1745|
1746|     template < typename CharT >
1747|     constexpr unsigned long
1748|     strlen_c(const CharT *const s) noexcept
1749|     {
1750|       auto length = 0UL;
1751|       for (auto p = s; *p; ++p)
1752|         ++length;
1753|       return length;
1754|     }
1755|
1756|     static_assert(strlen_c("") == 0UL, "");
1757|     static_assert(strlen_c("x") == 1UL, "");
1758|     static_assert(strlen_c("test") == 4UL, "");
1759|     static_assert(strlen_c("another\0test") == 7UL, "");
1760|
1761|   }
1762|
1763|   namespace test_lambda_init_capture
1764|   {
1765|
1766|     int
1767|     test()
1768|     {
1769|       auto x = 0;
1770|       const auto lambda1 = [a = x](int b){ return a + b; };
1771|       const auto lambda2 = [a = lambda1(x)](){ return a; };
1772|       return lambda2();
1773|     }
1774|
1775|   }
1776|
1777|   namespace test_digit_seperators
1778|   {
1779|
1780|     constexpr auto ten_million = 100'000'000;
1781|     static_assert(ten_million == 100000000, "");
1782|
1783|   }
1784|
1785|   namespace test_return_type_deduction
1786|   {
1787|
1788|     auto f(int& x) { return x; }
1789|     decltype(auto) g(int& x) { return x; }
1790|
1791|     template < typename T1, typename T2 >
1792|     struct is_same
1793|     {
1794|       static constexpr auto value = false;
1795|     };
1796|
1797|     template < typename T >
1798|     struct is_same<T, T>
1799|     {
1800|       static constexpr auto value = true;
1801|     };
1802|
1803|     int
1804|     test()
1805|     {
1806|       auto x = 0;
1807|       static_assert(is_same<int, decltype(f(x))>::value, "");
1808|       static_assert(is_same<int&, decltype(g(x))>::value, "");
1809|       return x;
1810|     }
1811|
1812|   }
1813|
1814| }  // namespace cxx14
1815|
1816| #endif  // __cplusplus >= 201402L
1817|
1818|
1819|
1820configure:4890: result: no
1821configure:4465: checking whether /usr/bin/clang++ supports C++14 features with -h std=c++14
1822configure:4881: /usr/bin/clang++ -h std=c++14 -c -pipe -Os -stdlib=libc++ -arch x86_64 -I/opt/local/include -I/opt/local/include/LegacySupport -I/opt/local/include/LegacySupport conftest.cpp >&5
1823clang: error: unknown argument: '-h'
1824clang: error: no such file or directory: 'std=c++14'
1825configure:4881: $? = 1
1826configure: failed program was:
1827| /* confdefs.h */
1828| #define PACKAGE_NAME "lnav"
1829| #define PACKAGE_TARNAME "lnav"
1830| #define PACKAGE_VERSION "0.8.5"
1831| #define PACKAGE_STRING "lnav 0.8.5"
1832| #define PACKAGE_BUGREPORT "lnav@googlegroups.com"
1833| #define PACKAGE_URL "http://lnav.org"
1834| #define PACKAGE "lnav"
1835| #define VERSION "0.8.5"
1836| /* end confdefs.h.  */
1837|
1838|
1839| // If the compiler admits that it is not ready for C++11, why torture it?
1840| // Hopefully, this will speed up the test.
1841|
1842| #ifndef __cplusplus
1843|
1844| #error "This is not a C++ compiler"
1845|
1846| #elif __cplusplus < 201103L
1847|
1848| #error "This is not a C++11 compiler"
1849|
1850| #else
1851|
1852| namespace cxx11
1853| {
1854|
1855|   namespace test_static_assert
1856|   {
1857|
1858|     template <typename T>
1859|     struct check
1860|     {
1861|       static_assert(sizeof(int) <= sizeof(T), "not big enough");
1862|     };
1863|
1864|   }
1865|
1866|   namespace test_final_override
1867|   {
1868|
1869|     struct Base
1870|     {
1871|       virtual void f() {}
1872|     };
1873|
1874|     struct Derived : public Base
1875|     {
1876|       virtual void f() override {}
1877|     };
1878|
1879|   }
1880|
1881|   namespace test_double_right_angle_brackets
1882|   {
1883|
1884|     template < typename T >
1885|     struct check {};
1886|
1887|     typedef check<void> single_type;
1888|     typedef check<check<void>> double_type;
1889|     typedef check<check<check<void>>> triple_type;
1890|     typedef check<check<check<check<void>>>> quadruple_type;
1891|
1892|   }
1893|
1894|   namespace test_decltype
1895|   {
1896|
1897|     int
1898|     f()
1899|     {
1900|       int a = 1;
1901|       decltype(a) b = 2;
1902|       return a + b;
1903|     }
1904|
1905|   }
1906|
1907|   namespace test_type_deduction
1908|   {
1909|
1910|     template < typename T1, typename T2 >
1911|     struct is_same
1912|     {
1913|       static const bool value = false;
1914|     };
1915|
1916|     template < typename T >
1917|     struct is_same<T, T>
1918|     {
1919|       static const bool value = true;
1920|     };
1921|
1922|     template < typename T1, typename T2 >
1923|     auto
1924|     add(T1 a1, T2 a2) -> decltype(a1 + a2)
1925|     {
1926|       return a1 + a2;
1927|     }
1928|
1929|     int
1930|     test(const int c, volatile int v)
1931|     {
1932|       static_assert(is_same<int, decltype(0)>::value == true, "");
1933|       static_assert(is_same<int, decltype(c)>::value == false, "");
1934|       static_assert(is_same<int, decltype(v)>::value == false, "");
1935|       auto ac = c;
1936|       auto av = v;
1937|       auto sumi = ac + av + 'x';
1938|       auto sumf = ac + av + 1.0;
1939|       static_assert(is_same<int, decltype(ac)>::value == true, "");
1940|       static_assert(is_same<int, decltype(av)>::value == true, "");
1941|       static_assert(is_same<int, decltype(sumi)>::value == true, "");
1942|       static_assert(is_same<int, decltype(sumf)>::value == false, "");
1943|       static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
1944|       return (sumf > 0.0) ? sumi : add(c, v);
1945|     }
1946|
1947|   }
1948|
1949|   namespace test_noexcept
1950|   {
1951|
1952|     int f() { return 0; }
1953|     int g() noexcept { return 0; }
1954|
1955|     static_assert(noexcept(f()) == false, "");
1956|     static_assert(noexcept(g()) == true, "");
1957|
1958|   }
1959|
1960|   namespace test_constexpr
1961|   {
1962|
1963|     template < typename CharT >
1964|     unsigned long constexpr
1965|     strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
1966|     {
1967|       return *s ? strlen_c_r(s + 1, acc + 1) : acc;
1968|     }
1969|
1970|     template < typename CharT >
1971|     unsigned long constexpr
1972|     strlen_c(const CharT *const s) noexcept
1973|     {
1974|       return strlen_c_r(s, 0UL);
1975|     }
1976|
1977|     static_assert(strlen_c("") == 0UL, "");
1978|     static_assert(strlen_c("1") == 1UL, "");
1979|     static_assert(strlen_c("example") == 7UL, "");
1980|     static_assert(strlen_c("another\0example") == 7UL, "");
1981|
1982|   }
1983|
1984|   namespace test_rvalue_references
1985|   {
1986|
1987|     template < int N >
1988|     struct answer
1989|     {
1990|       static constexpr int value = N;
1991|     };
1992|
1993|     answer<1> f(int&)       { return answer<1>(); }
1994|     answer<2> f(const int&) { return answer<2>(); }
1995|     answer<3> f(int&&)      { return answer<3>(); }
1996|
1997|     void
1998|     test()
1999|     {
2000|       int i = 0;
2001|       const int c = 0;
2002|       static_assert(decltype(f(i))::value == 1, "");
2003|       static_assert(decltype(f(c))::value == 2, "");
2004|       static_assert(decltype(f(0))::value == 3, "");
2005|     }
2006|
2007|   }
2008|
2009|   namespace test_uniform_initialization
2010|   {
2011|
2012|     struct test
2013|     {
2014|       static const int zero {};
2015|       static const int one {1};
2016|     };
2017|
2018|     static_assert(test::zero == 0, "");
2019|     static_assert(test::one == 1, "");
2020|
2021|   }
2022|
2023|   namespace test_lambdas
2024|   {
2025|
2026|     void
2027|     test1()
2028|     {
2029|       auto lambda1 = [](){};
2030|       auto lambda2 = lambda1;
2031|       lambda1();
2032|       lambda2();
2033|     }
2034|
2035|     int
2036|     test2()
2037|     {
2038|       auto a = [](int i, int j){ return i + j; }(1, 2);
2039|       auto b = []() -> int { return '0'; }();
2040|       auto c = [=](){ return a + b; }();
2041|       auto d = [&](){ return c; }();
2042|       auto e = [a, &b](int x) mutable {
2043|         const auto identity = [](int y){ return y; };
2044|         for (auto i = 0; i < a; ++i)
2045|           a += b--;
2046|         return x + identity(a + b);
2047|       }(0);
2048|       return a + b + c + d + e;
2049|     }
2050|
2051|     int
2052|     test3()
2053|     {
2054|       const auto nullary = [](){ return 0; };
2055|       const auto unary = [](int x){ return x; };
2056|       using nullary_t = decltype(nullary);
2057|       using unary_t = decltype(unary);
2058|       const auto higher1st = [](nullary_t f){ return f(); };
2059|       const auto higher2nd = [unary](nullary_t f1){
2060|         return [unary, f1](unary_t f2){ return f2(unary(f1())); };
2061|       };
2062|       return higher1st(nullary) + higher2nd(nullary)(unary);
2063|     }
2064|
2065|   }
2066|
2067|   namespace test_variadic_templates
2068|   {
2069|
2070|     template <int...>
2071|     struct sum;
2072|
2073|     template <int N0, int... N1toN>
2074|     struct sum<N0, N1toN...>
2075|     {
2076|       static constexpr auto value = N0 + sum<N1toN...>::value;
2077|     };
2078|
2079|     template <>
2080|     struct sum<>
2081|     {
2082|       static constexpr auto value = 0;
2083|     };
2084|
2085|     static_assert(sum<>::value == 0, "");
2086|     static_assert(sum<1>::value == 1, "");
2087|     static_assert(sum<23>::value == 23, "");
2088|     static_assert(sum<1, 2>::value == 3, "");
2089|     static_assert(sum<5, 5, 11>::value == 21, "");
2090|     static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
2091|
2092|   }
2093|
2094|   // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
2095|   // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
2096|   // because of this.
2097|   namespace test_template_alias_sfinae
2098|   {
2099|
2100|     struct foo {};
2101|
2102|     template<typename T>
2103|     using member = typename T::member_type;
2104|
2105|     template<typename T>
2106|     void func(...) {}
2107|
2108|     template<typename T>
2109|     void func(member<T>*) {}
2110|
2111|     void test();
2112|
2113|     void test() { func<foo>(0); }
2114|
2115|   }
2116|
2117| }  // namespace cxx11
2118|
2119| #endif  // __cplusplus >= 201103L
2120|
2121|
2122|
2123|
2124| // If the compiler admits that it is not ready for C++14, why torture it?
2125| // Hopefully, this will speed up the test.
2126|
2127| #ifndef __cplusplus
2128|
2129| #error "This is not a C++ compiler"
2130|
2131| #elif __cplusplus < 201402L
2132|
2133| #error "This is not a C++14 compiler"
2134|
2135| #else
2136|
2137| namespace cxx14
2138| {
2139|
2140|   namespace test_polymorphic_lambdas
2141|   {
2142|
2143|     int
2144|     test()
2145|     {
2146|       const auto lambda = [](auto&&... args){
2147|         const auto istiny = [](auto x){
2148|           return (sizeof(x) == 1UL) ? 1 : 0;
2149|         };
2150|         const int aretiny[] = { istiny(args)... };
2151|         return aretiny[0];
2152|       };
2153|       return lambda(1, 1L, 1.0f, '1');
2154|     }
2155|
2156|   }
2157|
2158|   namespace test_binary_literals
2159|   {
2160|
2161|     constexpr auto ivii = 0b0000000000101010;
2162|     static_assert(ivii == 42, "wrong value");
2163|
2164|   }
2165|
2166|   namespace test_generalized_constexpr
2167|   {
2168|
2169|     template < typename CharT >
2170|     constexpr unsigned long
2171|     strlen_c(const CharT *const s) noexcept
2172|     {
2173|       auto length = 0UL;
2174|       for (auto p = s; *p; ++p)
2175|         ++length;
2176|       return length;
2177|     }
2178|
2179|     static_assert(strlen_c("") == 0UL, "");
2180|     static_assert(strlen_c("x") == 1UL, "");
2181|     static_assert(strlen_c("test") == 4UL, "");
2182|     static_assert(strlen_c("another\0test") == 7UL, "");
2183|
2184|   }
2185|
2186|   namespace test_lambda_init_capture
2187|   {
2188|
2189|     int
2190|     test()
2191|     {
2192|       auto x = 0;
2193|       const auto lambda1 = [a = x](int b){ return a + b; };
2194|       const auto lambda2 = [a = lambda1(x)](){ return a; };
2195|       return lambda2();
2196|     }
2197|
2198|   }
2199|
2200|   namespace test_digit_seperators
2201|   {
2202|
2203|     constexpr auto ten_million = 100'000'000;
2204|     static_assert(ten_million == 100000000, "");
2205|
2206|   }
2207|
2208|   namespace test_return_type_deduction
2209|   {
2210|
2211|     auto f(int& x) { return x; }
2212|     decltype(auto) g(int& x) { return x; }
2213|
2214|     template < typename T1, typename T2 >
2215|     struct is_same
2216|     {
2217|       static constexpr auto value = false;
2218|     };
2219|
2220|     template < typename T >
2221|     struct is_same<T, T>
2222|     {
2223|       static constexpr auto value = true;
2224|     };
2225|
2226|     int
2227|     test()
2228|     {
2229|       auto x = 0;
2230|       static_assert(is_same<int, decltype(f(x))>::value, "");
2231|       static_assert(is_same<int&, decltype(g(x))>::value, "");
2232|       return x;
2233|     }
2234|
2235|   }
2236|
2237| }  // namespace cxx14
2238|
2239| #endif  // __cplusplus >= 201402L
2240|
2241|
2242|
2243configure:4890: result: no
2244configure:4910: error: *** A compiler with support for C++14 language features is required.
2245
2246## ---------------- ##
2247## Cache variables. ##
2248## ---------------- ##
2249
2250ac_cv_build=x86_64-apple-darwin13.4.0
2251ac_cv_cxx_compiler_gnu=yes
2252ac_cv_env_CCC_set=
2253ac_cv_env_CCC_value=
2254ac_cv_env_CC_set=set
2255ac_cv_env_CC_value=/usr/bin/clang
2256ac_cv_env_CFLAGS_set=set
2257ac_cv_env_CFLAGS_value='-pipe -Os -I/opt/local/include/LegacySupport -I/opt/local/include/LegacySupport -arch x86_64'
2258ac_cv_env_CPPFLAGS_set=set
2259ac_cv_env_CPPFLAGS_value='-I/opt/local/include -I/opt/local/include/LegacySupport -I/opt/local/include/LegacySupport'
2260ac_cv_env_CPP_set=
2261ac_cv_env_CPP_value=
2262ac_cv_env_CURSES_LIB_set=
2263ac_cv_env_CURSES_LIB_value=
2264ac_cv_env_CXXFLAGS_set=set
2265ac_cv_env_CXXFLAGS_value='-pipe -Os -stdlib=libc++ -arch x86_64'
2266ac_cv_env_CXX_set=set
2267ac_cv_env_CXX_value=/usr/bin/clang++
2268ac_cv_env_LDFLAGS_set=set
2269ac_cv_env_LDFLAGS_value='-L/opt/local/lib -Wl,-headerpad_max_install_names -lMacportsLegacySupport -lMacportsLegacySupport -arch x86_64'
2270ac_cv_env_LIBS_set=
2271ac_cv_env_LIBS_value=
2272ac_cv_env_SFTP_TEST_URL_set=
2273ac_cv_env_SFTP_TEST_URL_value=
2274ac_cv_env_build_alias_set=
2275ac_cv_env_build_alias_value=
2276ac_cv_env_host_alias_set=
2277ac_cv_env_host_alias_value=
2278ac_cv_env_target_alias_set=
2279ac_cv_env_target_alias_value=
2280ac_cv_host=x86_64-apple-darwin13.4.0
2281ac_cv_objext=o
2282ac_cv_path_mkdir=/opt/local/bin/gmkdir
2283ac_cv_prog_AWK=gawk
2284ac_cv_prog_cxx_g=yes
2285ac_cv_prog_make_make_set=yes
2286am_cv_CXX_dependencies_compiler_type=gcc3
2287am_cv_make_support_nested_variables=yes
2288ax_cv_cxx_compile_cxx14=no
2289ax_cv_cxx_compile_cxx14__h_std_cpp14=no
2290ax_cv_cxx_compile_cxx14__std_cpp0x=no
2291ax_cv_cxx_compile_cxx14__std_cpp14=no
2292ax_cv_cxx_compile_cxx14_pstd_cpp14=no
2293
2294## ----------------- ##
2295## Output variables. ##
2296## ----------------- ##
2297
2298ACLOCAL='${SHELL} /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_lnav/lnav/work/lnav-0.8.5/missing aclocal-1.16'
2299AMDEPBACKSLASH='\'
2300AMDEP_FALSE='#'
2301AMDEP_TRUE=''
2302AMTAR='$${TAR-tar}'
2303AM_BACKSLASH='\'
2304AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
2305AM_DEFAULT_VERBOSITY='1'
2306AM_V='$(V)'
2307AR=''
2308AUTOCONF='${SHELL} /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_lnav/lnav/work/lnav-0.8.5/missing autoconf'
2309AUTOHEADER='${SHELL} /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_lnav/lnav/work/lnav-0.8.5/missing autoheader'
2310AUTOMAKE='${SHELL} /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_lnav/lnav/work/lnav-0.8.5/missing automake-1.16'
2311AWK='gawk'
2312BZIP2_CMD=''
2313BZIP2_SUPPORT=''
2314CC='/usr/bin/clang'
2315CCDEPMODE=''
2316CFLAGS='-pipe -Os -I/opt/local/include/LegacySupport -I/opt/local/include/LegacySupport -arch x86_64'
2317CPP=''
2318CPPFLAGS='-I/opt/local/include -I/opt/local/include/LegacySupport -I/opt/local/include/LegacySupport'
2319CURSES_LIB=''
2320CXX='/usr/bin/clang++'
2321CXXDEPMODE='depmode=gcc3'
2322CXXFLAGS='-pipe -Os -stdlib=libc++ -arch x86_64'
2323CYGPATH_W='echo'
2324DEFS=''
2325DEPDIR='.deps'
2326ECHO_C='\c'
2327ECHO_N=''
2328ECHO_T=''
2329EGREP=''
2330EXEEXT=''
2331GREP=''
2332HAVE_CXX14=''
2333HAVE_LIBCURL_FALSE=''
2334HAVE_LIBCURL_TRUE=''
2335HAVE_LOCAL_YAJL=''
2336HAVE_RE2C_FALSE=''
2337HAVE_RE2C_TRUE=''
2338HAVE_SQLITE3_VALUE_SUBTYPE=''
2339INSTALL_DATA='${INSTALL} -m 644'
2340INSTALL_PROGRAM='${INSTALL}'
2341INSTALL_SCRIPT='${INSTALL}'
2342INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
2343LDFLAGS='-L/opt/local/lib -Wl,-headerpad_max_install_names -lMacportsLegacySupport -lMacportsLegacySupport -arch x86_64'
2344LIBCURL=''
2345LIBCURL_CPPFLAGS=''
2346LIBOBJS=''
2347LIBS=''
2348LN_S=''
2349LTLIBOBJS=''
2350MAKEINFO='${SHELL} /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_lnav/lnav/work/lnav-0.8.5/missing makeinfo'
2351MKDIR_P='/opt/local/bin/gmkdir -p'
2352OBJEXT='o'
2353PACKAGE='lnav'
2354PACKAGE_BUGREPORT='lnav@googlegroups.com'
2355PACKAGE_NAME='lnav'
2356PACKAGE_STRING='lnav 0.8.5'
2357PACKAGE_TARNAME='lnav'
2358PACKAGE_URL='http://lnav.org'
2359PACKAGE_VERSION='0.8.5'
2360PATH_SEPARATOR=':'
2361PCRE_CFLAGS=''
2362PCRE_LIBS=''
2363RANLIB=''
2364RE2C_CMD=''
2365READLINE_CFLAGS=''
2366READLINE_LDFLAGS=''
2367READLINE_LIBS=''
2368SET_MAKE=''
2369SFTP_TEST_URL=''
2370SHELL='/bin/sh'
2371SQLITE3_CFLAGS=''
2372SQLITE3_LDFLAGS=''
2373SQLITE3_LIBS=''
2374STATIC_LDFLAGS=''
2375STRIP=''
2376USE_INCLUDED_YAJL_FALSE=''
2377USE_INCLUDED_YAJL_TRUE=''
2378VERSION='0.8.5'
2379_libcurl_config=''
2380abssrcdir=''
2381ac_ct_AR=''
2382ac_ct_CC=''
2383ac_ct_CXX=''
2384am__EXEEXT_FALSE=''
2385am__EXEEXT_TRUE=''
2386am__fastdepCC_FALSE=''
2387am__fastdepCC_TRUE=''
2388am__fastdepCXX_FALSE='#'
2389am__fastdepCXX_TRUE=''
2390am__include='include'
2391am__isrc=''
2392am__leading_dot='.'
2393am__nodep='_no'
2394am__quote=''
2395am__tar='$${TAR-tar} chof - "$$tardir"'
2396am__untar='$${TAR-tar} xf -'
2397bindir='${exec_prefix}/bin'
2398build='x86_64-apple-darwin13.4.0'
2399build_alias=''
2400build_cpu='x86_64'
2401build_os='darwin13.4.0'
2402build_vendor='apple'
2403datadir='${datarootdir}'
2404datarootdir='${prefix}/share'
2405docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
2406dvidir='${docdir}'
2407exec_prefix='NONE'
2408host='x86_64-apple-darwin13.4.0'
2409host_alias=''
2410host_cpu='x86_64'
2411host_os='darwin13.4.0'
2412host_vendor='apple'
2413htmldir='${docdir}'
2414includedir='${prefix}/include'
2415infodir='${datarootdir}/info'
2416install_sh='${SHELL} /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_lnav/lnav/work/lnav-0.8.5/install-sh'
2417jemalloch=''
2418libdir='${exec_prefix}/lib'
2419libexecdir='${exec_prefix}/libexec'
2420localedir='${datarootdir}/locale'
2421localstatedir='${prefix}/var'
2422mandir='${datarootdir}/man'
2423mkdir_p='$(MKDIR_P)'
2424oldincludedir='/usr/include'
2425pdfdir='${docdir}'
2426prefix='/opt/local'
2427program_transform_name='s,x,x,'
2428psdir='${docdir}'
2429sbindir='${exec_prefix}/sbin'
2430sharedstatedir='${prefix}/com'
2431sysconfdir='${prefix}/etc'
2432target_alias=''
2433
2434## ----------- ##
2435## confdefs.h. ##
2436## ----------- ##
2437
2438/* confdefs.h */
2439#define PACKAGE_NAME "lnav"
2440#define PACKAGE_TARNAME "lnav"
2441#define PACKAGE_VERSION "0.8.5"
2442#define PACKAGE_STRING "lnav 0.8.5"
2443#define PACKAGE_BUGREPORT "lnav@googlegroups.com"
2444#define PACKAGE_URL "http://lnav.org"
2445#define PACKAGE "lnav"
2446#define VERSION "0.8.5"
2447
2448configure: exit 1