Advertisement
Guest User

breakpad config.log

a guest
Jun 14th, 2016
633
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 74.97 KB | None | 0 0
  1. This file contains any messages produced by compilers while
  2. running configure, to aid debugging if configure makes a mistake.
  3.  
  4. It was created by breakpad configure 0.1, which was
  5. generated by GNU Autoconf 2.69. Invocation command line was
  6.  
  7. $ ./configure
  8.  
  9. ## --------- ##
  10. ## Platform. ##
  11. ## --------- ##
  12.  
  13. hostname = DEVLINUX
  14. uname -m = x86_64
  15. uname -r = 3.2.0-4-amd64
  16. uname -s = Linux
  17. uname -v = #1 SMP Debian 3.2.68-1+deb7u6
  18.  
  19. /usr/bin/uname -p = unknown
  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 = unknown
  26. /bin/machine = unknown
  27. /usr/bin/oslevel = unknown
  28. /bin/universe = unknown
  29.  
  30. PATH: /media/software/depot_tools
  31. PATH: /usr/local/sbin
  32. PATH: /usr/local/bin
  33. PATH: /usr/sbin
  34. PATH: /usr/bin
  35. PATH: /sbin
  36. PATH: /bin
  37.  
  38.  
  39. ## ----------- ##
  40. ## Core tests. ##
  41. ## ----------- ##
  42.  
  43. configure:2249: checking build system type
  44. configure:2263: result: x86_64-pc-linux-gnu
  45. configure:2283: checking host system type
  46. configure:2296: result: x86_64-pc-linux-gnu
  47. configure:2333: checking for a BSD-compatible install
  48. configure:2401: result: /usr/bin/install -c
  49. configure:2412: checking whether build environment is sane
  50. configure:2467: result: yes
  51. configure:2618: checking for a thread-safe mkdir -p
  52. configure:2657: result: /bin/mkdir -p
  53. configure:2664: checking for gawk
  54. configure:2694: result: no
  55. configure:2664: checking for mawk
  56. configure:2680: found /usr/bin/mawk
  57. configure:2691: result: mawk
  58. configure:2702: checking whether make sets $(MAKE)
  59. configure:2724: result: yes
  60. configure:2753: checking whether make supports nested variables
  61. configure:2770: result: yes
  62. configure:2859: checking whether UID '0' is supported by ustar format
  63. configure:2862: result: yes
  64. configure:2869: checking whether GID '0' is supported by ustar format
  65. configure:2872: result: yes
  66. configure:2880: checking how to create a ustar tar archive
  67. configure:2891: tar --version
  68. tar (GNU tar) 1.26
  69. Copyright (C) 2011 Free Software Foundation, Inc.
  70. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
  71. This is free software: you are free to change and redistribute it.
  72. There is NO WARRANTY, to the extent permitted by law.
  73.  
  74. Written by John Gilmore and Jay Fenlason.
  75. configure:2894: $? = 0
  76. configure:2934: tardir=conftest.dir && eval tar --format=ustar -chf - "$tardir" >conftest.tar
  77. configure:2937: $? = 0
  78. configure:2941: tar -xf - <conftest.tar
  79. configure:2944: $? = 0
  80. configure:2946: cat conftest.dir/file
  81. GrepMe
  82. configure:2949: $? = 0
  83. configure:2962: result: gnutar
  84. configure:3015: checking whether to enable maintainer-specific portions of Makefiles
  85. configure:3024: result: no
  86. configure:3050: checking for style of include used by make
  87. configure:3078: result: GNU
  88. configure:3149: checking for gcc
  89. configure:3165: found /usr/bin/gcc
  90. configure:3176: result: gcc
  91. configure:3405: checking for C compiler version
  92. configure:3414: gcc --version >&5
  93. gcc (Debian 4.7.2-5) 4.7.2
  94. Copyright (C) 2012 Free Software Foundation, Inc.
  95. This is free software; see the source for copying conditions. There is NO
  96. warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  97.  
  98. configure:3425: $? = 0
  99. configure:3414: gcc -v >&5
  100. Using built-in specs.
  101. COLLECT_GCC=gcc
  102. COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper
  103. Target: x86_64-linux-gnu
  104. Configured with: ../src/configure -v --with-pkgversion='Debian 4.7.2-5' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
  105. Thread model: posix
  106. gcc version 4.7.2 (Debian 4.7.2-5)
  107. configure:3425: $? = 0
  108. configure:3414: gcc -V >&5
  109. gcc: error: unrecognized command line option '-V'
  110. gcc: fatal error: no input files
  111. compilation terminated.
  112. configure:3425: $? = 4
  113. configure:3414: gcc -qversion >&5
  114. gcc: error: unrecognized command line option '-qversion'
  115. gcc: fatal error: no input files
  116. compilation terminated.
  117. configure:3425: $? = 4
  118. configure:3445: checking whether the C compiler works
  119. configure:3467: gcc conftest.c >&5
  120. configure:3471: $? = 0
  121. configure:3519: result: yes
  122. configure:3522: checking for C compiler default output file name
  123. configure:3524: result: a.out
  124. configure:3530: checking for suffix of executables
  125. configure:3537: gcc -o conftest conftest.c >&5
  126. configure:3541: $? = 0
  127. configure:3563: result:
  128. configure:3585: checking whether we are cross compiling
  129. configure:3593: gcc -o conftest conftest.c >&5
  130. configure:3597: $? = 0
  131. configure:3604: ./conftest
  132. configure:3608: $? = 0
  133. configure:3623: result: no
  134. configure:3628: checking for suffix of object files
  135. configure:3650: gcc -c conftest.c >&5
  136. configure:3654: $? = 0
  137. configure:3675: result: o
  138. configure:3679: checking whether we are using the GNU C compiler
  139. configure:3698: gcc -c conftest.c >&5
  140. configure:3698: $? = 0
  141. configure:3707: result: yes
  142. configure:3716: checking whether gcc accepts -g
  143. configure:3736: gcc -c -g conftest.c >&5
  144. configure:3736: $? = 0
  145. configure:3777: result: yes
  146. configure:3794: checking for gcc option to accept ISO C89
  147. configure:3857: gcc -c -g -O2 conftest.c >&5
  148. configure:3857: $? = 0
  149. configure:3870: result: none needed
  150. configure:3895: checking whether gcc understands -c and -o together
  151. configure:3917: gcc -c conftest.c -o conftest2.o
  152. configure:3920: $? = 0
  153. configure:3917: gcc -c conftest.c -o conftest2.o
  154. configure:3920: $? = 0
  155. configure:3932: result: yes
  156. configure:3951: checking dependency style of gcc
  157. configure:4062: result: gcc3
  158. configure:4127: checking for ar
  159. configure:4143: found /usr/bin/ar
  160. configure:4154: result: ar
  161. configure:4180: checking the archiver (ar) interface
  162. configure:4196: gcc -c -g -O2 conftest.c >&5
  163. configure:4196: $? = 0
  164. configure:4198: ar cru libconftest.a conftest.o >&5
  165. configure:4201: $? = 0
  166. configure:4229: result: ar
  167. configure:4258: checking dependency style of gcc
  168. configure:4367: result: gcc3
  169. configure:4430: checking for gcc
  170. configure:4457: result: gcc
  171. configure:4686: checking for C compiler version
  172. configure:4695: gcc --version >&5
  173. gcc (Debian 4.7.2-5) 4.7.2
  174. Copyright (C) 2012 Free Software Foundation, Inc.
  175. This is free software; see the source for copying conditions. There is NO
  176. warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  177.  
  178. configure:4706: $? = 0
  179. configure:4695: gcc -v >&5
  180. Using built-in specs.
  181. COLLECT_GCC=gcc
  182. COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper
  183. Target: x86_64-linux-gnu
  184. Configured with: ../src/configure -v --with-pkgversion='Debian 4.7.2-5' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
  185. Thread model: posix
  186. gcc version 4.7.2 (Debian 4.7.2-5)
  187. configure:4706: $? = 0
  188. configure:4695: gcc -V >&5
  189. gcc: error: unrecognized command line option '-V'
  190. gcc: fatal error: no input files
  191. compilation terminated.
  192. configure:4706: $? = 4
  193. configure:4695: gcc -qversion >&5
  194. gcc: error: unrecognized command line option '-qversion'
  195. gcc: fatal error: no input files
  196. compilation terminated.
  197. configure:4706: $? = 4
  198. configure:4710: checking whether we are using the GNU C compiler
  199. configure:4738: result: yes
  200. configure:4747: checking whether gcc accepts -g
  201. configure:4808: result: yes
  202. configure:4825: checking for gcc option to accept ISO C89
  203. configure:4901: result: none needed
  204. configure:4926: checking whether gcc understands -c and -o together
  205. configure:4963: result: yes
  206. configure:4982: checking dependency style of gcc
  207. configure:5093: result: gcc3
  208. configure:5114: checking how to run the C preprocessor
  209. configure:5145: gcc -E conftest.c
  210. configure:5145: $? = 0
  211. configure:5159: gcc -E conftest.c
  212. conftest.c:11:28: fatal error: ac_nonexistent.h: No such file or directory
  213. compilation terminated.
  214. configure:5159: $? = 1
  215. configure: failed program was:
  216. | /* confdefs.h */
  217. | #define PACKAGE_NAME "breakpad"
  218. | #define PACKAGE_TARNAME "breakpad"
  219. | #define PACKAGE_VERSION "0.1"
  220. | #define PACKAGE_STRING "breakpad 0.1"
  221. | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
  222. | #define PACKAGE_URL ""
  223. | #define PACKAGE "breakpad"
  224. | #define VERSION "0.1"
  225. | /* end confdefs.h. */
  226. | #include <ac_nonexistent.h>
  227. configure:5184: result: gcc -E
  228. configure:5204: gcc -E conftest.c
  229. configure:5204: $? = 0
  230. configure:5218: gcc -E conftest.c
  231. conftest.c:11:28: fatal error: ac_nonexistent.h: No such file or directory
  232. compilation terminated.
  233. configure:5218: $? = 1
  234. configure: failed program was:
  235. | /* confdefs.h */
  236. | #define PACKAGE_NAME "breakpad"
  237. | #define PACKAGE_TARNAME "breakpad"
  238. | #define PACKAGE_VERSION "0.1"
  239. | #define PACKAGE_STRING "breakpad 0.1"
  240. | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
  241. | #define PACKAGE_URL ""
  242. | #define PACKAGE "breakpad"
  243. | #define VERSION "0.1"
  244. | /* end confdefs.h. */
  245. | #include <ac_nonexistent.h>
  246. configure:5304: checking for g++
  247. configure:5320: found /usr/bin/g++
  248. configure:5331: result: g++
  249. configure:5358: checking for C++ compiler version
  250. configure:5367: g++ --version >&5
  251. g++ (Debian 4.7.2-5) 4.7.2
  252. Copyright (C) 2012 Free Software Foundation, Inc.
  253. This is free software; see the source for copying conditions. There is NO
  254. warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  255.  
  256. configure:5378: $? = 0
  257. configure:5367: g++ -v >&5
  258. Using built-in specs.
  259. COLLECT_GCC=g++
  260. COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper
  261. Target: x86_64-linux-gnu
  262. Configured with: ../src/configure -v --with-pkgversion='Debian 4.7.2-5' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
  263. Thread model: posix
  264. gcc version 4.7.2 (Debian 4.7.2-5)
  265. configure:5378: $? = 0
  266. configure:5367: g++ -V >&5
  267. g++: error: unrecognized command line option '-V'
  268. g++: fatal error: no input files
  269. compilation terminated.
  270. configure:5378: $? = 4
  271. configure:5367: g++ -qversion >&5
  272. g++: error: unrecognized command line option '-qversion'
  273. g++: fatal error: no input files
  274. compilation terminated.
  275. configure:5378: $? = 4
  276. configure:5382: checking whether we are using the GNU C++ compiler
  277. configure:5401: g++ -c conftest.cpp >&5
  278. configure:5401: $? = 0
  279. configure:5410: result: yes
  280. configure:5419: checking whether g++ accepts -g
  281. configure:5439: g++ -c -g conftest.cpp >&5
  282. configure:5439: $? = 0
  283. configure:5480: result: yes
  284. configure:5505: checking dependency style of g++
  285. configure:5616: result: gcc3
  286. configure:5674: checking for ranlib
  287. configure:5690: found /usr/bin/ranlib
  288. configure:5701: result: ranlib
  289. configure:5753: checking for grep that handles long lines and -e
  290. configure:5811: result: /bin/grep
  291. configure:5816: checking for egrep
  292. configure:5878: result: /bin/grep -E
  293. configure:5883: checking for ANSI C header files
  294. configure:5903: gcc -c -g -O2 conftest.c >&5
  295. configure:5903: $? = 0
  296. configure:5976: gcc -o conftest -g -O2 conftest.c >&5
  297. configure:5976: $? = 0
  298. configure:5976: ./conftest
  299. configure:5976: $? = 0
  300. configure:5987: result: yes
  301. configure:6002: checking for special C compiler options needed for large files
  302. configure:6047: result: no
  303. configure:6053: checking for _FILE_OFFSET_BITS value needed for large files
  304. configure:6078: gcc -c -g -O2 conftest.c >&5
  305. configure:6078: $? = 0
  306. configure:6110: result: no
  307. configure:6462: checking for the pthreads library -lpthreads
  308. configure:6500: gcc -o conftest -g -O2 conftest.c -lpthreads >&5
  309. /usr/bin/ld: cannot find -lpthreads
  310. collect2: error: ld returned 1 exit status
  311. configure:6500: $? = 1
  312. configure: failed program was:
  313. | /* confdefs.h */
  314. | #define PACKAGE_NAME "breakpad"
  315. | #define PACKAGE_TARNAME "breakpad"
  316. | #define PACKAGE_VERSION "0.1"
  317. | #define PACKAGE_STRING "breakpad 0.1"
  318. | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
  319. | #define PACKAGE_URL ""
  320. | #define PACKAGE "breakpad"
  321. | #define VERSION "0.1"
  322. | #define STDC_HEADERS 1
  323. | /* end confdefs.h. */
  324. | #include <pthread.h>
  325. | static void routine(void* a) {a=0;}
  326. | static void* start_routine(void* a) {return a;}
  327. | int
  328. | main ()
  329. | {
  330. | pthread_t th; pthread_attr_t attr;
  331. | pthread_join(th, 0);
  332. | pthread_attr_init(&attr);
  333. | pthread_cleanup_push(routine, 0);
  334. | pthread_create(&th,0,start_routine,0);
  335. | pthread_cleanup_pop(0);
  336. | ;
  337. | return 0;
  338. | }
  339. configure:6509: result: no
  340. configure:6407: checking whether pthreads work without any flags
  341. configure:6500: gcc -o conftest -g -O2 conftest.c >&5
  342. /tmp/cc5ZvTUt.o: In function `main':
  343. /media/software/breakpad/src/conftest.c:19: undefined reference to `pthread_join'
  344. /media/software/breakpad/src/conftest.c:21: undefined reference to `__pthread_register_cancel'
  345. /media/software/breakpad/src/conftest.c:22: undefined reference to `pthread_create'
  346. /media/software/breakpad/src/conftest.c:23: undefined reference to `__pthread_unregister_cancel'
  347. collect2: error: ld returned 1 exit status
  348. configure:6500: $? = 1
  349. configure: failed program was:
  350. | /* confdefs.h */
  351. | #define PACKAGE_NAME "breakpad"
  352. | #define PACKAGE_TARNAME "breakpad"
  353. | #define PACKAGE_VERSION "0.1"
  354. | #define PACKAGE_STRING "breakpad 0.1"
  355. | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
  356. | #define PACKAGE_URL ""
  357. | #define PACKAGE "breakpad"
  358. | #define VERSION "0.1"
  359. | #define STDC_HEADERS 1
  360. | /* end confdefs.h. */
  361. | #include <pthread.h>
  362. | static void routine(void* a) {a=0;}
  363. | static void* start_routine(void* a) {return a;}
  364. | int
  365. | main ()
  366. | {
  367. | pthread_t th; pthread_attr_t attr;
  368. | pthread_join(th, 0);
  369. | pthread_attr_init(&attr);
  370. | pthread_cleanup_push(routine, 0);
  371. | pthread_create(&th,0,start_routine,0);
  372. | pthread_cleanup_pop(0);
  373. | ;
  374. | return 0;
  375. | }
  376. configure:6509: result: no
  377. configure:6412: checking whether pthreads work with -Kthread
  378. configure:6500: gcc -o conftest -g -O2 -Kthread conftest.c >&5
  379. gcc: error: unrecognized command line option '-Kthread'
  380. configure:6500: $? = 1
  381. configure: failed program was:
  382. | /* confdefs.h */
  383. | #define PACKAGE_NAME "breakpad"
  384. | #define PACKAGE_TARNAME "breakpad"
  385. | #define PACKAGE_VERSION "0.1"
  386. | #define PACKAGE_STRING "breakpad 0.1"
  387. | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
  388. | #define PACKAGE_URL ""
  389. | #define PACKAGE "breakpad"
  390. | #define VERSION "0.1"
  391. | #define STDC_HEADERS 1
  392. | /* end confdefs.h. */
  393. | #include <pthread.h>
  394. | static void routine(void* a) {a=0;}
  395. | static void* start_routine(void* a) {return a;}
  396. | int
  397. | main ()
  398. | {
  399. | pthread_t th; pthread_attr_t attr;
  400. | pthread_join(th, 0);
  401. | pthread_attr_init(&attr);
  402. | pthread_cleanup_push(routine, 0);
  403. | pthread_create(&th,0,start_routine,0);
  404. | pthread_cleanup_pop(0);
  405. | ;
  406. | return 0;
  407. | }
  408. configure:6509: result: no
  409. configure:6412: checking whether pthreads work with -kthread
  410. configure:6500: gcc -o conftest -g -O2 -kthread conftest.c >&5
  411. gcc: error: unrecognized command line option '-kthread'
  412. configure:6500: $? = 1
  413. configure: failed program was:
  414. | /* confdefs.h */
  415. | #define PACKAGE_NAME "breakpad"
  416. | #define PACKAGE_TARNAME "breakpad"
  417. | #define PACKAGE_VERSION "0.1"
  418. | #define PACKAGE_STRING "breakpad 0.1"
  419. | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
  420. | #define PACKAGE_URL ""
  421. | #define PACKAGE "breakpad"
  422. | #define VERSION "0.1"
  423. | #define STDC_HEADERS 1
  424. | /* end confdefs.h. */
  425. | #include <pthread.h>
  426. | static void routine(void* a) {a=0;}
  427. | static void* start_routine(void* a) {return a;}
  428. | int
  429. | main ()
  430. | {
  431. | pthread_t th; pthread_attr_t attr;
  432. | pthread_join(th, 0);
  433. | pthread_attr_init(&attr);
  434. | pthread_cleanup_push(routine, 0);
  435. | pthread_create(&th,0,start_routine,0);
  436. | pthread_cleanup_pop(0);
  437. | ;
  438. | return 0;
  439. | }
  440. configure:6509: result: no
  441. configure:6462: checking for the pthreads library -llthread
  442. configure:6500: gcc -o conftest -g -O2 conftest.c -llthread >&5
  443. /usr/bin/ld: cannot find -llthread
  444. collect2: error: ld returned 1 exit status
  445. configure:6500: $? = 1
  446. configure: failed program was:
  447. | /* confdefs.h */
  448. | #define PACKAGE_NAME "breakpad"
  449. | #define PACKAGE_TARNAME "breakpad"
  450. | #define PACKAGE_VERSION "0.1"
  451. | #define PACKAGE_STRING "breakpad 0.1"
  452. | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
  453. | #define PACKAGE_URL ""
  454. | #define PACKAGE "breakpad"
  455. | #define VERSION "0.1"
  456. | #define STDC_HEADERS 1
  457. | /* end confdefs.h. */
  458. | #include <pthread.h>
  459. | static void routine(void* a) {a=0;}
  460. | static void* start_routine(void* a) {return a;}
  461. | int
  462. | main ()
  463. | {
  464. | pthread_t th; pthread_attr_t attr;
  465. | pthread_join(th, 0);
  466. | pthread_attr_init(&attr);
  467. | pthread_cleanup_push(routine, 0);
  468. | pthread_create(&th,0,start_routine,0);
  469. | pthread_cleanup_pop(0);
  470. | ;
  471. | return 0;
  472. | }
  473. configure:6509: result: no
  474. configure:6412: checking whether pthreads work with -pthread
  475. configure:6500: gcc -o conftest -g -O2 -pthread conftest.c >&5
  476. configure:6500: $? = 0
  477. configure:6509: result: yes
  478. configure:6528: checking for joinable pthread attribute
  479. configure:6543: gcc -o conftest -g -O2 -pthread conftest.c >&5
  480. configure:6543: $? = 0
  481. configure:6549: result: PTHREAD_CREATE_JOINABLE
  482. configure:6559: checking if more special flags are required for pthreads
  483. configure:6566: result: no
  484. configure:6653: checking for sys/types.h
  485. configure:6653: gcc -c -g -O2 conftest.c >&5
  486. configure:6653: $? = 0
  487. configure:6653: result: yes
  488. configure:6653: checking for sys/stat.h
  489. configure:6653: gcc -c -g -O2 conftest.c >&5
  490. configure:6653: $? = 0
  491. configure:6653: result: yes
  492. configure:6653: checking for stdlib.h
  493. configure:6653: gcc -c -g -O2 conftest.c >&5
  494. configure:6653: $? = 0
  495. configure:6653: result: yes
  496. configure:6653: checking for string.h
  497. configure:6653: gcc -c -g -O2 conftest.c >&5
  498. configure:6653: $? = 0
  499. configure:6653: result: yes
  500. configure:6653: checking for memory.h
  501. configure:6653: gcc -c -g -O2 conftest.c >&5
  502. configure:6653: $? = 0
  503. configure:6653: result: yes
  504. configure:6653: checking for strings.h
  505. configure:6653: gcc -c -g -O2 conftest.c >&5
  506. configure:6653: $? = 0
  507. configure:6653: result: yes
  508. configure:6653: checking for inttypes.h
  509. configure:6653: gcc -c -g -O2 conftest.c >&5
  510. configure:6653: $? = 0
  511. configure:6653: result: yes
  512. configure:6653: checking for stdint.h
  513. configure:6653: gcc -c -g -O2 conftest.c >&5
  514. configure:6653: $? = 0
  515. configure:6653: result: yes
  516. configure:6653: checking for unistd.h
  517. configure:6653: gcc -c -g -O2 conftest.c >&5
  518. configure:6653: $? = 0
  519. configure:6653: result: yes
  520. configure:6667: checking a.out.h usability
  521. configure:6667: gcc -c -g -O2 conftest.c >&5
  522. configure:6667: $? = 0
  523. configure:6667: result: yes
  524. configure:6667: checking a.out.h presence
  525. configure:6667: gcc -E conftest.c
  526. configure:6667: $? = 0
  527. configure:6667: result: yes
  528. configure:6667: checking for a.out.h
  529. configure:6667: result: yes
  530. configure:6748: checking whether g++ supports C++11 features by default
  531. configure:7042: g++ -c -g -O2 conftest.cpp >&5
  532. conftest.cpp:34:2: error: #error "This is not a C++11 compiler"
  533. configure:7042: $? = 1
  534. configure: failed program was:
  535. | /* confdefs.h */
  536. | #define PACKAGE_NAME "breakpad"
  537. | #define PACKAGE_TARNAME "breakpad"
  538. | #define PACKAGE_VERSION "0.1"
  539. | #define PACKAGE_STRING "breakpad 0.1"
  540. | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
  541. | #define PACKAGE_URL ""
  542. | #define PACKAGE "breakpad"
  543. | #define VERSION "0.1"
  544. | #define STDC_HEADERS 1
  545. | #define HAVE_PTHREAD 1
  546. | #define HAVE_SYS_TYPES_H 1
  547. | #define HAVE_SYS_STAT_H 1
  548. | #define HAVE_STDLIB_H 1
  549. | #define HAVE_STRING_H 1
  550. | #define HAVE_MEMORY_H 1
  551. | #define HAVE_STRINGS_H 1
  552. | #define HAVE_INTTYPES_H 1
  553. | #define HAVE_STDINT_H 1
  554. | #define HAVE_UNISTD_H 1
  555. | #define HAVE_A_OUT_H 1
  556. | /* end confdefs.h. */
  557. |
  558. |
  559. | // If the compiler admits that it is not ready for C++11, why torture it?
  560. | // Hopefully, this will speed up the test.
  561. |
  562. | #ifndef __cplusplus
  563. |
  564. | #error "This is not a C++ compiler"
  565. |
  566. | #elif __cplusplus < 201103L
  567. |
  568. | #error "This is not a C++11 compiler"
  569. |
  570. | #else
  571. |
  572. | namespace cxx11
  573. | {
  574. |
  575. | namespace test_static_assert
  576. | {
  577. |
  578. | template <typename T>
  579. | struct check
  580. | {
  581. | static_assert(sizeof(int) <= sizeof(T), "not big enough");
  582. | };
  583. |
  584. | }
  585. |
  586. | namespace test_final_override
  587. | {
  588. |
  589. | struct Base
  590. | {
  591. | virtual void f() {}
  592. | };
  593. |
  594. | struct Derived : public Base
  595. | {
  596. | virtual void f() override {}
  597. | };
  598. |
  599. | }
  600. |
  601. | namespace test_double_right_angle_brackets
  602. | {
  603. |
  604. | template < typename T >
  605. | struct check {};
  606. |
  607. | typedef check<void> single_type;
  608. | typedef check<check<void>> double_type;
  609. | typedef check<check<check<void>>> triple_type;
  610. | typedef check<check<check<check<void>>>> quadruple_type;
  611. |
  612. | }
  613. |
  614. | namespace test_decltype
  615. | {
  616. |
  617. | int
  618. | f()
  619. | {
  620. | int a = 1;
  621. | decltype(a) b = 2;
  622. | return a + b;
  623. | }
  624. |
  625. | }
  626. |
  627. | namespace test_type_deduction
  628. | {
  629. |
  630. | template < typename T1, typename T2 >
  631. | struct is_same
  632. | {
  633. | static const bool value = false;
  634. | };
  635. |
  636. | template < typename T >
  637. | struct is_same<T, T>
  638. | {
  639. | static const bool value = true;
  640. | };
  641. |
  642. | template < typename T1, typename T2 >
  643. | auto
  644. | add(T1 a1, T2 a2) -> decltype(a1 + a2)
  645. | {
  646. | return a1 + a2;
  647. | }
  648. |
  649. | int
  650. | test(const int c, volatile int v)
  651. | {
  652. | static_assert(is_same<int, decltype(0)>::value == true, "");
  653. | static_assert(is_same<int, decltype(c)>::value == false, "");
  654. | static_assert(is_same<int, decltype(v)>::value == false, "");
  655. | auto ac = c;
  656. | auto av = v;
  657. | auto sumi = ac + av + 'x';
  658. | auto sumf = ac + av + 1.0;
  659. | static_assert(is_same<int, decltype(ac)>::value == true, "");
  660. | static_assert(is_same<int, decltype(av)>::value == true, "");
  661. | static_assert(is_same<int, decltype(sumi)>::value == true, "");
  662. | static_assert(is_same<int, decltype(sumf)>::value == false, "");
  663. | static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  664. | return (sumf > 0.0) ? sumi : add(c, v);
  665. | }
  666. |
  667. | }
  668. |
  669. | namespace test_noexcept
  670. | {
  671. |
  672. | int f() { return 0; }
  673. | int g() noexcept { return 0; }
  674. |
  675. | static_assert(noexcept(f()) == false, "");
  676. | static_assert(noexcept(g()) == true, "");
  677. |
  678. | }
  679. |
  680. | namespace test_constexpr
  681. | {
  682. |
  683. | template < typename CharT >
  684. | unsigned long constexpr
  685. | strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  686. | {
  687. | return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  688. | }
  689. |
  690. | template < typename CharT >
  691. | unsigned long constexpr
  692. | strlen_c(const CharT *const s) noexcept
  693. | {
  694. | return strlen_c_r(s, 0UL);
  695. | }
  696. |
  697. | static_assert(strlen_c("") == 0UL, "");
  698. | static_assert(strlen_c("1") == 1UL, "");
  699. | static_assert(strlen_c("example") == 7UL, "");
  700. | static_assert(strlen_c("another\0example") == 7UL, "");
  701. |
  702. | }
  703. |
  704. | namespace test_rvalue_references
  705. | {
  706. |
  707. | template < int N >
  708. | struct answer
  709. | {
  710. | static constexpr int value = N;
  711. | };
  712. |
  713. | answer<1> f(int&) { return answer<1>(); }
  714. | answer<2> f(const int&) { return answer<2>(); }
  715. | answer<3> f(int&&) { return answer<3>(); }
  716. |
  717. | void
  718. | test()
  719. | {
  720. | int i = 0;
  721. | const int c = 0;
  722. | static_assert(decltype(f(i))::value == 1, "");
  723. | static_assert(decltype(f(c))::value == 2, "");
  724. | static_assert(decltype(f(0))::value == 3, "");
  725. | }
  726. |
  727. | }
  728. |
  729. | namespace test_uniform_initialization
  730. | {
  731. |
  732. | struct test
  733. | {
  734. | static const int zero {};
  735. | static const int one {1};
  736. | };
  737. |
  738. | static_assert(test::zero == 0, "");
  739. | static_assert(test::one == 1, "");
  740. |
  741. | }
  742. |
  743. | namespace test_lambdas
  744. | {
  745. |
  746. | void
  747. | test1()
  748. | {
  749. | auto lambda1 = [](){};
  750. | auto lambda2 = lambda1;
  751. | lambda1();
  752. | lambda2();
  753. | }
  754. |
  755. | int
  756. | test2()
  757. | {
  758. | auto a = [](int i, int j){ return i + j; }(1, 2);
  759. | auto b = []() -> int { return '0'; }();
  760. | auto c = [=](){ return a + b; }();
  761. | auto d = [&](){ return c; }();
  762. | auto e = [a, &b](int x) mutable {
  763. | const auto identity = [](int y){ return y; };
  764. | for (auto i = 0; i < a; ++i)
  765. | a += b--;
  766. | return x + identity(a + b);
  767. | }(0);
  768. | return a + b + c + d + e;
  769. | }
  770. |
  771. | int
  772. | test3()
  773. | {
  774. | const auto nullary = [](){ return 0; };
  775. | const auto unary = [](int x){ return x; };
  776. | using nullary_t = decltype(nullary);
  777. | using unary_t = decltype(unary);
  778. | const auto higher1st = [](nullary_t f){ return f(); };
  779. | const auto higher2nd = [unary](nullary_t f1){
  780. | return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  781. | };
  782. | return higher1st(nullary) + higher2nd(nullary)(unary);
  783. | }
  784. |
  785. | }
  786. |
  787. | namespace test_variadic_templates
  788. | {
  789. |
  790. | template <int...>
  791. | struct sum;
  792. |
  793. | template <int N0, int... N1toN>
  794. | struct sum<N0, N1toN...>
  795. | {
  796. | static constexpr auto value = N0 + sum<N1toN...>::value;
  797. | };
  798. |
  799. | template <>
  800. | struct sum<>
  801. | {
  802. | static constexpr auto value = 0;
  803. | };
  804. |
  805. | static_assert(sum<>::value == 0, "");
  806. | static_assert(sum<1>::value == 1, "");
  807. | static_assert(sum<23>::value == 23, "");
  808. | static_assert(sum<1, 2>::value == 3, "");
  809. | static_assert(sum<5, 5, 11>::value == 21, "");
  810. | static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  811. |
  812. | }
  813. |
  814. | // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  815. | // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  816. | // because of this.
  817. | namespace test_template_alias_sfinae
  818. | {
  819. |
  820. | struct foo {};
  821. |
  822. | template<typename T>
  823. | using member = typename T::member_type;
  824. |
  825. | template<typename T>
  826. | void func(...) {}
  827. |
  828. | template<typename T>
  829. | void func(member<T>*) {}
  830. |
  831. | void test();
  832. |
  833. | void test() { func<foo>(0); }
  834. |
  835. | }
  836. |
  837. | } // namespace cxx11
  838. |
  839. | #endif // __cplusplus >= 201103L
  840. |
  841. |
  842. |
  843. configure:7049: result: no
  844. configure:7060: checking whether g++ supports C++11 features with -std=c++11
  845. configure:7356: g++ -c -g -O2 -std=c++11 conftest.cpp >&5
  846. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<1>':
  847. conftest.cpp:272:25: required from here
  848. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<1>::value' has no initializer
  849. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<23>':
  850. conftest.cpp:273:26: required from here
  851. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<23>::value' has no initializer
  852. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<1, 2>':
  853. conftest.cpp:274:28: required from here
  854. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<1, 2>::value' has no initializer
  855. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<2>':
  856. conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<1, 2>::value'
  857. conftest.cpp:274:30: required from here
  858. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<2>::value' has no initializer
  859. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<5, 5, 11>':
  860. conftest.cpp:275:32: required from here
  861. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<5, 5, 11>::value' has no initializer
  862. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<5, 11>':
  863. conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<5, 5, 11>::value'
  864. conftest.cpp:275:34: required from here
  865. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<5, 11>::value' has no initializer
  866. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<11>':
  867. conftest.cpp:262:57: recursively required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<5, 11>::value'
  868. conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<5, 5, 11>::value'
  869. conftest.cpp:275:34: required from here
  870. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<11>::value' has no initializer
  871. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>':
  872. conftest.cpp:276:42: required from here
  873. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value' has no initializer
  874. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>':
  875. conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value'
  876. conftest.cpp:276:44: required from here
  877. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>::value' has no initializer
  878. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<5, 7, 11, 13>':
  879. conftest.cpp:262:57: recursively required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>::value'
  880. conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value'
  881. conftest.cpp:276:44: required from here
  882. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<5, 7, 11, 13>::value' has no initializer
  883. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<7, 11, 13>':
  884. conftest.cpp:262:57: recursively required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>::value'
  885. conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value'
  886. conftest.cpp:276:44: required from here
  887. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<7, 11, 13>::value' has no initializer
  888. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<11, 13>':
  889. conftest.cpp:262:57: recursively required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>::value'
  890. conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value'
  891. conftest.cpp:276:44: required from here
  892. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<11, 13>::value' has no initializer
  893. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<13>':
  894. conftest.cpp:262:57: recursively required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>::value'
  895. conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value'
  896. conftest.cpp:276:44: required from here
  897. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<13>::value' has no initializer
  898. configure:7356: $? = 1
  899. configure: failed program was:
  900. | /* confdefs.h */
  901. | #define PACKAGE_NAME "breakpad"
  902. | #define PACKAGE_TARNAME "breakpad"
  903. | #define PACKAGE_VERSION "0.1"
  904. | #define PACKAGE_STRING "breakpad 0.1"
  905. | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
  906. | #define PACKAGE_URL ""
  907. | #define PACKAGE "breakpad"
  908. | #define VERSION "0.1"
  909. | #define STDC_HEADERS 1
  910. | #define HAVE_PTHREAD 1
  911. | #define HAVE_SYS_TYPES_H 1
  912. | #define HAVE_SYS_STAT_H 1
  913. | #define HAVE_STDLIB_H 1
  914. | #define HAVE_STRING_H 1
  915. | #define HAVE_MEMORY_H 1
  916. | #define HAVE_STRINGS_H 1
  917. | #define HAVE_INTTYPES_H 1
  918. | #define HAVE_STDINT_H 1
  919. | #define HAVE_UNISTD_H 1
  920. | #define HAVE_A_OUT_H 1
  921. | /* end confdefs.h. */
  922. |
  923. |
  924. | // If the compiler admits that it is not ready for C++11, why torture it?
  925. | // Hopefully, this will speed up the test.
  926. |
  927. | #ifndef __cplusplus
  928. |
  929. | #error "This is not a C++ compiler"
  930. |
  931. | #elif __cplusplus < 201103L
  932. |
  933. | #error "This is not a C++11 compiler"
  934. |
  935. | #else
  936. |
  937. | namespace cxx11
  938. | {
  939. |
  940. | namespace test_static_assert
  941. | {
  942. |
  943. | template <typename T>
  944. | struct check
  945. | {
  946. | static_assert(sizeof(int) <= sizeof(T), "not big enough");
  947. | };
  948. |
  949. | }
  950. |
  951. | namespace test_final_override
  952. | {
  953. |
  954. | struct Base
  955. | {
  956. | virtual void f() {}
  957. | };
  958. |
  959. | struct Derived : public Base
  960. | {
  961. | virtual void f() override {}
  962. | };
  963. |
  964. | }
  965. |
  966. | namespace test_double_right_angle_brackets
  967. | {
  968. |
  969. | template < typename T >
  970. | struct check {};
  971. |
  972. | typedef check<void> single_type;
  973. | typedef check<check<void>> double_type;
  974. | typedef check<check<check<void>>> triple_type;
  975. | typedef check<check<check<check<void>>>> quadruple_type;
  976. |
  977. | }
  978. |
  979. | namespace test_decltype
  980. | {
  981. |
  982. | int
  983. | f()
  984. | {
  985. | int a = 1;
  986. | decltype(a) b = 2;
  987. | return a + b;
  988. | }
  989. |
  990. | }
  991. |
  992. | namespace test_type_deduction
  993. | {
  994. |
  995. | template < typename T1, typename T2 >
  996. | struct is_same
  997. | {
  998. | static const bool value = false;
  999. | };
  1000. |
  1001. | template < typename T >
  1002. | struct is_same<T, T>
  1003. | {
  1004. | static const bool value = true;
  1005. | };
  1006. |
  1007. | template < typename T1, typename T2 >
  1008. | auto
  1009. | add(T1 a1, T2 a2) -> decltype(a1 + a2)
  1010. | {
  1011. | return a1 + a2;
  1012. | }
  1013. |
  1014. | int
  1015. | test(const int c, volatile int v)
  1016. | {
  1017. | static_assert(is_same<int, decltype(0)>::value == true, "");
  1018. | static_assert(is_same<int, decltype(c)>::value == false, "");
  1019. | static_assert(is_same<int, decltype(v)>::value == false, "");
  1020. | auto ac = c;
  1021. | auto av = v;
  1022. | auto sumi = ac + av + 'x';
  1023. | auto sumf = ac + av + 1.0;
  1024. | static_assert(is_same<int, decltype(ac)>::value == true, "");
  1025. | static_assert(is_same<int, decltype(av)>::value == true, "");
  1026. | static_assert(is_same<int, decltype(sumi)>::value == true, "");
  1027. | static_assert(is_same<int, decltype(sumf)>::value == false, "");
  1028. | static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  1029. | return (sumf > 0.0) ? sumi : add(c, v);
  1030. | }
  1031. |
  1032. | }
  1033. |
  1034. | namespace test_noexcept
  1035. | {
  1036. |
  1037. | int f() { return 0; }
  1038. | int g() noexcept { return 0; }
  1039. |
  1040. | static_assert(noexcept(f()) == false, "");
  1041. | static_assert(noexcept(g()) == true, "");
  1042. |
  1043. | }
  1044. |
  1045. | namespace test_constexpr
  1046. | {
  1047. |
  1048. | template < typename CharT >
  1049. | unsigned long constexpr
  1050. | strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  1051. | {
  1052. | return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  1053. | }
  1054. |
  1055. | template < typename CharT >
  1056. | unsigned long constexpr
  1057. | strlen_c(const CharT *const s) noexcept
  1058. | {
  1059. | return strlen_c_r(s, 0UL);
  1060. | }
  1061. |
  1062. | static_assert(strlen_c("") == 0UL, "");
  1063. | static_assert(strlen_c("1") == 1UL, "");
  1064. | static_assert(strlen_c("example") == 7UL, "");
  1065. | static_assert(strlen_c("another\0example") == 7UL, "");
  1066. |
  1067. | }
  1068. |
  1069. | namespace test_rvalue_references
  1070. | {
  1071. |
  1072. | template < int N >
  1073. | struct answer
  1074. | {
  1075. | static constexpr int value = N;
  1076. | };
  1077. |
  1078. | answer<1> f(int&) { return answer<1>(); }
  1079. | answer<2> f(const int&) { return answer<2>(); }
  1080. | answer<3> f(int&&) { return answer<3>(); }
  1081. |
  1082. | void
  1083. | test()
  1084. | {
  1085. | int i = 0;
  1086. | const int c = 0;
  1087. | static_assert(decltype(f(i))::value == 1, "");
  1088. | static_assert(decltype(f(c))::value == 2, "");
  1089. | static_assert(decltype(f(0))::value == 3, "");
  1090. | }
  1091. |
  1092. | }
  1093. |
  1094. | namespace test_uniform_initialization
  1095. | {
  1096. |
  1097. | struct test
  1098. | {
  1099. | static const int zero {};
  1100. | static const int one {1};
  1101. | };
  1102. |
  1103. | static_assert(test::zero == 0, "");
  1104. | static_assert(test::one == 1, "");
  1105. |
  1106. | }
  1107. |
  1108. | namespace test_lambdas
  1109. | {
  1110. |
  1111. | void
  1112. | test1()
  1113. | {
  1114. | auto lambda1 = [](){};
  1115. | auto lambda2 = lambda1;
  1116. | lambda1();
  1117. | lambda2();
  1118. | }
  1119. |
  1120. | int
  1121. | test2()
  1122. | {
  1123. | auto a = [](int i, int j){ return i + j; }(1, 2);
  1124. | auto b = []() -> int { return '0'; }();
  1125. | auto c = [=](){ return a + b; }();
  1126. | auto d = [&](){ return c; }();
  1127. | auto e = [a, &b](int x) mutable {
  1128. | const auto identity = [](int y){ return y; };
  1129. | for (auto i = 0; i < a; ++i)
  1130. | a += b--;
  1131. | return x + identity(a + b);
  1132. | }(0);
  1133. | return a + b + c + d + e;
  1134. | }
  1135. |
  1136. | int
  1137. | test3()
  1138. | {
  1139. | const auto nullary = [](){ return 0; };
  1140. | const auto unary = [](int x){ return x; };
  1141. | using nullary_t = decltype(nullary);
  1142. | using unary_t = decltype(unary);
  1143. | const auto higher1st = [](nullary_t f){ return f(); };
  1144. | const auto higher2nd = [unary](nullary_t f1){
  1145. | return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  1146. | };
  1147. | return higher1st(nullary) + higher2nd(nullary)(unary);
  1148. | }
  1149. |
  1150. | }
  1151. |
  1152. | namespace test_variadic_templates
  1153. | {
  1154. |
  1155. | template <int...>
  1156. | struct sum;
  1157. |
  1158. | template <int N0, int... N1toN>
  1159. | struct sum<N0, N1toN...>
  1160. | {
  1161. | static constexpr auto value = N0 + sum<N1toN...>::value;
  1162. | };
  1163. |
  1164. | template <>
  1165. | struct sum<>
  1166. | {
  1167. | static constexpr auto value = 0;
  1168. | };
  1169. |
  1170. | static_assert(sum<>::value == 0, "");
  1171. | static_assert(sum<1>::value == 1, "");
  1172. | static_assert(sum<23>::value == 23, "");
  1173. | static_assert(sum<1, 2>::value == 3, "");
  1174. | static_assert(sum<5, 5, 11>::value == 21, "");
  1175. | static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  1176. |
  1177. | }
  1178. |
  1179. | // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  1180. | // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  1181. | // because of this.
  1182. | namespace test_template_alias_sfinae
  1183. | {
  1184. |
  1185. | struct foo {};
  1186. |
  1187. | template<typename T>
  1188. | using member = typename T::member_type;
  1189. |
  1190. | template<typename T>
  1191. | void func(...) {}
  1192. |
  1193. | template<typename T>
  1194. | void func(member<T>*) {}
  1195. |
  1196. | void test();
  1197. |
  1198. | void test() { func<foo>(0); }
  1199. |
  1200. | }
  1201. |
  1202. | } // namespace cxx11
  1203. |
  1204. | #endif // __cplusplus >= 201103L
  1205. |
  1206. |
  1207. |
  1208. configure:7365: result: no
  1209. configure:7060: checking whether g++ supports C++11 features with -std=c++0x
  1210. configure:7356: g++ -c -g -O2 -std=c++0x conftest.cpp >&5
  1211. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<1>':
  1212. conftest.cpp:272:25: required from here
  1213. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<1>::value' has no initializer
  1214. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<23>':
  1215. conftest.cpp:273:26: required from here
  1216. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<23>::value' has no initializer
  1217. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<1, 2>':
  1218. conftest.cpp:274:28: required from here
  1219. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<1, 2>::value' has no initializer
  1220. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<2>':
  1221. conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<1, 2>::value'
  1222. conftest.cpp:274:30: required from here
  1223. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<2>::value' has no initializer
  1224. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<5, 5, 11>':
  1225. conftest.cpp:275:32: required from here
  1226. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<5, 5, 11>::value' has no initializer
  1227. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<5, 11>':
  1228. conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<5, 5, 11>::value'
  1229. conftest.cpp:275:34: required from here
  1230. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<5, 11>::value' has no initializer
  1231. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<11>':
  1232. conftest.cpp:262:57: recursively required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<5, 11>::value'
  1233. conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<5, 5, 11>::value'
  1234. conftest.cpp:275:34: required from here
  1235. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<11>::value' has no initializer
  1236. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>':
  1237. conftest.cpp:276:42: required from here
  1238. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value' has no initializer
  1239. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>':
  1240. conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value'
  1241. conftest.cpp:276:44: required from here
  1242. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>::value' has no initializer
  1243. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<5, 7, 11, 13>':
  1244. conftest.cpp:262:57: recursively required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>::value'
  1245. conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value'
  1246. conftest.cpp:276:44: required from here
  1247. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<5, 7, 11, 13>::value' has no initializer
  1248. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<7, 11, 13>':
  1249. conftest.cpp:262:57: recursively required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>::value'
  1250. conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value'
  1251. conftest.cpp:276:44: required from here
  1252. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<7, 11, 13>::value' has no initializer
  1253. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<11, 13>':
  1254. conftest.cpp:262:57: recursively required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>::value'
  1255. conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value'
  1256. conftest.cpp:276:44: required from here
  1257. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<11, 13>::value' has no initializer
  1258. conftest.cpp: In instantiation of 'struct cxx11::test_variadic_templates::sum<13>':
  1259. conftest.cpp:262:57: recursively required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<3, 5, 7, 11, 13>::value'
  1260. conftest.cpp:262:57: required from 'constexpr<typeprefixerror> cxx11::test_variadic_templates::sum<2, 3, 5, 7, 11, 13>::value'
  1261. conftest.cpp:276:44: required from here
  1262. conftest.cpp:262:57: error: declaration of 'constexpr const auto cxx11::test_variadic_templates::sum<13>::value' has no initializer
  1263. configure:7356: $? = 1
  1264. configure: failed program was:
  1265. | /* confdefs.h */
  1266. | #define PACKAGE_NAME "breakpad"
  1267. | #define PACKAGE_TARNAME "breakpad"
  1268. | #define PACKAGE_VERSION "0.1"
  1269. | #define PACKAGE_STRING "breakpad 0.1"
  1270. | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
  1271. | #define PACKAGE_URL ""
  1272. | #define PACKAGE "breakpad"
  1273. | #define VERSION "0.1"
  1274. | #define STDC_HEADERS 1
  1275. | #define HAVE_PTHREAD 1
  1276. | #define HAVE_SYS_TYPES_H 1
  1277. | #define HAVE_SYS_STAT_H 1
  1278. | #define HAVE_STDLIB_H 1
  1279. | #define HAVE_STRING_H 1
  1280. | #define HAVE_MEMORY_H 1
  1281. | #define HAVE_STRINGS_H 1
  1282. | #define HAVE_INTTYPES_H 1
  1283. | #define HAVE_STDINT_H 1
  1284. | #define HAVE_UNISTD_H 1
  1285. | #define HAVE_A_OUT_H 1
  1286. | /* end confdefs.h. */
  1287. |
  1288. |
  1289. | // If the compiler admits that it is not ready for C++11, why torture it?
  1290. | // Hopefully, this will speed up the test.
  1291. |
  1292. | #ifndef __cplusplus
  1293. |
  1294. | #error "This is not a C++ compiler"
  1295. |
  1296. | #elif __cplusplus < 201103L
  1297. |
  1298. | #error "This is not a C++11 compiler"
  1299. |
  1300. | #else
  1301. |
  1302. | namespace cxx11
  1303. | {
  1304. |
  1305. | namespace test_static_assert
  1306. | {
  1307. |
  1308. | template <typename T>
  1309. | struct check
  1310. | {
  1311. | static_assert(sizeof(int) <= sizeof(T), "not big enough");
  1312. | };
  1313. |
  1314. | }
  1315. |
  1316. | namespace test_final_override
  1317. | {
  1318. |
  1319. | struct Base
  1320. | {
  1321. | virtual void f() {}
  1322. | };
  1323. |
  1324. | struct Derived : public Base
  1325. | {
  1326. | virtual void f() override {}
  1327. | };
  1328. |
  1329. | }
  1330. |
  1331. | namespace test_double_right_angle_brackets
  1332. | {
  1333. |
  1334. | template < typename T >
  1335. | struct check {};
  1336. |
  1337. | typedef check<void> single_type;
  1338. | typedef check<check<void>> double_type;
  1339. | typedef check<check<check<void>>> triple_type;
  1340. | typedef check<check<check<check<void>>>> quadruple_type;
  1341. |
  1342. | }
  1343. |
  1344. | namespace test_decltype
  1345. | {
  1346. |
  1347. | int
  1348. | f()
  1349. | {
  1350. | int a = 1;
  1351. | decltype(a) b = 2;
  1352. | return a + b;
  1353. | }
  1354. |
  1355. | }
  1356. |
  1357. | namespace test_type_deduction
  1358. | {
  1359. |
  1360. | template < typename T1, typename T2 >
  1361. | struct is_same
  1362. | {
  1363. | static const bool value = false;
  1364. | };
  1365. |
  1366. | template < typename T >
  1367. | struct is_same<T, T>
  1368. | {
  1369. | static const bool value = true;
  1370. | };
  1371. |
  1372. | template < typename T1, typename T2 >
  1373. | auto
  1374. | add(T1 a1, T2 a2) -> decltype(a1 + a2)
  1375. | {
  1376. | return a1 + a2;
  1377. | }
  1378. |
  1379. | int
  1380. | test(const int c, volatile int v)
  1381. | {
  1382. | static_assert(is_same<int, decltype(0)>::value == true, "");
  1383. | static_assert(is_same<int, decltype(c)>::value == false, "");
  1384. | static_assert(is_same<int, decltype(v)>::value == false, "");
  1385. | auto ac = c;
  1386. | auto av = v;
  1387. | auto sumi = ac + av + 'x';
  1388. | auto sumf = ac + av + 1.0;
  1389. | static_assert(is_same<int, decltype(ac)>::value == true, "");
  1390. | static_assert(is_same<int, decltype(av)>::value == true, "");
  1391. | static_assert(is_same<int, decltype(sumi)>::value == true, "");
  1392. | static_assert(is_same<int, decltype(sumf)>::value == false, "");
  1393. | static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  1394. | return (sumf > 0.0) ? sumi : add(c, v);
  1395. | }
  1396. |
  1397. | }
  1398. |
  1399. | namespace test_noexcept
  1400. | {
  1401. |
  1402. | int f() { return 0; }
  1403. | int g() noexcept { return 0; }
  1404. |
  1405. | static_assert(noexcept(f()) == false, "");
  1406. | static_assert(noexcept(g()) == true, "");
  1407. |
  1408. | }
  1409. |
  1410. | namespace test_constexpr
  1411. | {
  1412. |
  1413. | template < typename CharT >
  1414. | unsigned long constexpr
  1415. | strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  1416. | {
  1417. | return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  1418. | }
  1419. |
  1420. | template < typename CharT >
  1421. | unsigned long constexpr
  1422. | strlen_c(const CharT *const s) noexcept
  1423. | {
  1424. | return strlen_c_r(s, 0UL);
  1425. | }
  1426. |
  1427. | static_assert(strlen_c("") == 0UL, "");
  1428. | static_assert(strlen_c("1") == 1UL, "");
  1429. | static_assert(strlen_c("example") == 7UL, "");
  1430. | static_assert(strlen_c("another\0example") == 7UL, "");
  1431. |
  1432. | }
  1433. |
  1434. | namespace test_rvalue_references
  1435. | {
  1436. |
  1437. | template < int N >
  1438. | struct answer
  1439. | {
  1440. | static constexpr int value = N;
  1441. | };
  1442. |
  1443. | answer<1> f(int&) { return answer<1>(); }
  1444. | answer<2> f(const int&) { return answer<2>(); }
  1445. | answer<3> f(int&&) { return answer<3>(); }
  1446. |
  1447. | void
  1448. | test()
  1449. | {
  1450. | int i = 0;
  1451. | const int c = 0;
  1452. | static_assert(decltype(f(i))::value == 1, "");
  1453. | static_assert(decltype(f(c))::value == 2, "");
  1454. | static_assert(decltype(f(0))::value == 3, "");
  1455. | }
  1456. |
  1457. | }
  1458. |
  1459. | namespace test_uniform_initialization
  1460. | {
  1461. |
  1462. | struct test
  1463. | {
  1464. | static const int zero {};
  1465. | static const int one {1};
  1466. | };
  1467. |
  1468. | static_assert(test::zero == 0, "");
  1469. | static_assert(test::one == 1, "");
  1470. |
  1471. | }
  1472. |
  1473. | namespace test_lambdas
  1474. | {
  1475. |
  1476. | void
  1477. | test1()
  1478. | {
  1479. | auto lambda1 = [](){};
  1480. | auto lambda2 = lambda1;
  1481. | lambda1();
  1482. | lambda2();
  1483. | }
  1484. |
  1485. | int
  1486. | test2()
  1487. | {
  1488. | auto a = [](int i, int j){ return i + j; }(1, 2);
  1489. | auto b = []() -> int { return '0'; }();
  1490. | auto c = [=](){ return a + b; }();
  1491. | auto d = [&](){ return c; }();
  1492. | auto e = [a, &b](int x) mutable {
  1493. | const auto identity = [](int y){ return y; };
  1494. | for (auto i = 0; i < a; ++i)
  1495. | a += b--;
  1496. | return x + identity(a + b);
  1497. | }(0);
  1498. | return a + b + c + d + e;
  1499. | }
  1500. |
  1501. | int
  1502. | test3()
  1503. | {
  1504. | const auto nullary = [](){ return 0; };
  1505. | const auto unary = [](int x){ return x; };
  1506. | using nullary_t = decltype(nullary);
  1507. | using unary_t = decltype(unary);
  1508. | const auto higher1st = [](nullary_t f){ return f(); };
  1509. | const auto higher2nd = [unary](nullary_t f1){
  1510. | return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  1511. | };
  1512. | return higher1st(nullary) + higher2nd(nullary)(unary);
  1513. | }
  1514. |
  1515. | }
  1516. |
  1517. | namespace test_variadic_templates
  1518. | {
  1519. |
  1520. | template <int...>
  1521. | struct sum;
  1522. |
  1523. | template <int N0, int... N1toN>
  1524. | struct sum<N0, N1toN...>
  1525. | {
  1526. | static constexpr auto value = N0 + sum<N1toN...>::value;
  1527. | };
  1528. |
  1529. | template <>
  1530. | struct sum<>
  1531. | {
  1532. | static constexpr auto value = 0;
  1533. | };
  1534. |
  1535. | static_assert(sum<>::value == 0, "");
  1536. | static_assert(sum<1>::value == 1, "");
  1537. | static_assert(sum<23>::value == 23, "");
  1538. | static_assert(sum<1, 2>::value == 3, "");
  1539. | static_assert(sum<5, 5, 11>::value == 21, "");
  1540. | static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  1541. |
  1542. | }
  1543. |
  1544. | // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  1545. | // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  1546. | // because of this.
  1547. | namespace test_template_alias_sfinae
  1548. | {
  1549. |
  1550. | struct foo {};
  1551. |
  1552. | template<typename T>
  1553. | using member = typename T::member_type;
  1554. |
  1555. | template<typename T>
  1556. | void func(...) {}
  1557. |
  1558. | template<typename T>
  1559. | void func(member<T>*) {}
  1560. |
  1561. | void test();
  1562. |
  1563. | void test() { func<foo>(0); }
  1564. |
  1565. | }
  1566. |
  1567. | } // namespace cxx11
  1568. |
  1569. | #endif // __cplusplus >= 201103L
  1570. |
  1571. |
  1572. |
  1573. configure:7365: result: no
  1574. configure:7060: checking whether g++ supports C++11 features with +std=c++11
  1575. configure:7356: g++ -c -g -O2 +std=c++11 conftest.cpp >&5
  1576. g++: error: +std=c++11: No such file or directory
  1577. configure:7356: $? = 1
  1578. configure: failed program was:
  1579. | /* confdefs.h */
  1580. | #define PACKAGE_NAME "breakpad"
  1581. | #define PACKAGE_TARNAME "breakpad"
  1582. | #define PACKAGE_VERSION "0.1"
  1583. | #define PACKAGE_STRING "breakpad 0.1"
  1584. | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
  1585. | #define PACKAGE_URL ""
  1586. | #define PACKAGE "breakpad"
  1587. | #define VERSION "0.1"
  1588. | #define STDC_HEADERS 1
  1589. | #define HAVE_PTHREAD 1
  1590. | #define HAVE_SYS_TYPES_H 1
  1591. | #define HAVE_SYS_STAT_H 1
  1592. | #define HAVE_STDLIB_H 1
  1593. | #define HAVE_STRING_H 1
  1594. | #define HAVE_MEMORY_H 1
  1595. | #define HAVE_STRINGS_H 1
  1596. | #define HAVE_INTTYPES_H 1
  1597. | #define HAVE_STDINT_H 1
  1598. | #define HAVE_UNISTD_H 1
  1599. | #define HAVE_A_OUT_H 1
  1600. | /* end confdefs.h. */
  1601. |
  1602. |
  1603. | // If the compiler admits that it is not ready for C++11, why torture it?
  1604. | // Hopefully, this will speed up the test.
  1605. |
  1606. | #ifndef __cplusplus
  1607. |
  1608. | #error "This is not a C++ compiler"
  1609. |
  1610. | #elif __cplusplus < 201103L
  1611. |
  1612. | #error "This is not a C++11 compiler"
  1613. |
  1614. | #else
  1615. |
  1616. | namespace cxx11
  1617. | {
  1618. |
  1619. | namespace test_static_assert
  1620. | {
  1621. |
  1622. | template <typename T>
  1623. | struct check
  1624. | {
  1625. | static_assert(sizeof(int) <= sizeof(T), "not big enough");
  1626. | };
  1627. |
  1628. | }
  1629. |
  1630. | namespace test_final_override
  1631. | {
  1632. |
  1633. | struct Base
  1634. | {
  1635. | virtual void f() {}
  1636. | };
  1637. |
  1638. | struct Derived : public Base
  1639. | {
  1640. | virtual void f() override {}
  1641. | };
  1642. |
  1643. | }
  1644. |
  1645. | namespace test_double_right_angle_brackets
  1646. | {
  1647. |
  1648. | template < typename T >
  1649. | struct check {};
  1650. |
  1651. | typedef check<void> single_type;
  1652. | typedef check<check<void>> double_type;
  1653. | typedef check<check<check<void>>> triple_type;
  1654. | typedef check<check<check<check<void>>>> quadruple_type;
  1655. |
  1656. | }
  1657. |
  1658. | namespace test_decltype
  1659. | {
  1660. |
  1661. | int
  1662. | f()
  1663. | {
  1664. | int a = 1;
  1665. | decltype(a) b = 2;
  1666. | return a + b;
  1667. | }
  1668. |
  1669. | }
  1670. |
  1671. | namespace test_type_deduction
  1672. | {
  1673. |
  1674. | template < typename T1, typename T2 >
  1675. | struct is_same
  1676. | {
  1677. | static const bool value = false;
  1678. | };
  1679. |
  1680. | template < typename T >
  1681. | struct is_same<T, T>
  1682. | {
  1683. | static const bool value = true;
  1684. | };
  1685. |
  1686. | template < typename T1, typename T2 >
  1687. | auto
  1688. | add(T1 a1, T2 a2) -> decltype(a1 + a2)
  1689. | {
  1690. | return a1 + a2;
  1691. | }
  1692. |
  1693. | int
  1694. | test(const int c, volatile int v)
  1695. | {
  1696. | static_assert(is_same<int, decltype(0)>::value == true, "");
  1697. | static_assert(is_same<int, decltype(c)>::value == false, "");
  1698. | static_assert(is_same<int, decltype(v)>::value == false, "");
  1699. | auto ac = c;
  1700. | auto av = v;
  1701. | auto sumi = ac + av + 'x';
  1702. | auto sumf = ac + av + 1.0;
  1703. | static_assert(is_same<int, decltype(ac)>::value == true, "");
  1704. | static_assert(is_same<int, decltype(av)>::value == true, "");
  1705. | static_assert(is_same<int, decltype(sumi)>::value == true, "");
  1706. | static_assert(is_same<int, decltype(sumf)>::value == false, "");
  1707. | static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  1708. | return (sumf > 0.0) ? sumi : add(c, v);
  1709. | }
  1710. |
  1711. | }
  1712. |
  1713. | namespace test_noexcept
  1714. | {
  1715. |
  1716. | int f() { return 0; }
  1717. | int g() noexcept { return 0; }
  1718. |
  1719. | static_assert(noexcept(f()) == false, "");
  1720. | static_assert(noexcept(g()) == true, "");
  1721. |
  1722. | }
  1723. |
  1724. | namespace test_constexpr
  1725. | {
  1726. |
  1727. | template < typename CharT >
  1728. | unsigned long constexpr
  1729. | strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  1730. | {
  1731. | return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  1732. | }
  1733. |
  1734. | template < typename CharT >
  1735. | unsigned long constexpr
  1736. | strlen_c(const CharT *const s) noexcept
  1737. | {
  1738. | return strlen_c_r(s, 0UL);
  1739. | }
  1740. |
  1741. | static_assert(strlen_c("") == 0UL, "");
  1742. | static_assert(strlen_c("1") == 1UL, "");
  1743. | static_assert(strlen_c("example") == 7UL, "");
  1744. | static_assert(strlen_c("another\0example") == 7UL, "");
  1745. |
  1746. | }
  1747. |
  1748. | namespace test_rvalue_references
  1749. | {
  1750. |
  1751. | template < int N >
  1752. | struct answer
  1753. | {
  1754. | static constexpr int value = N;
  1755. | };
  1756. |
  1757. | answer<1> f(int&) { return answer<1>(); }
  1758. | answer<2> f(const int&) { return answer<2>(); }
  1759. | answer<3> f(int&&) { return answer<3>(); }
  1760. |
  1761. | void
  1762. | test()
  1763. | {
  1764. | int i = 0;
  1765. | const int c = 0;
  1766. | static_assert(decltype(f(i))::value == 1, "");
  1767. | static_assert(decltype(f(c))::value == 2, "");
  1768. | static_assert(decltype(f(0))::value == 3, "");
  1769. | }
  1770. |
  1771. | }
  1772. |
  1773. | namespace test_uniform_initialization
  1774. | {
  1775. |
  1776. | struct test
  1777. | {
  1778. | static const int zero {};
  1779. | static const int one {1};
  1780. | };
  1781. |
  1782. | static_assert(test::zero == 0, "");
  1783. | static_assert(test::one == 1, "");
  1784. |
  1785. | }
  1786. |
  1787. | namespace test_lambdas
  1788. | {
  1789. |
  1790. | void
  1791. | test1()
  1792. | {
  1793. | auto lambda1 = [](){};
  1794. | auto lambda2 = lambda1;
  1795. | lambda1();
  1796. | lambda2();
  1797. | }
  1798. |
  1799. | int
  1800. | test2()
  1801. | {
  1802. | auto a = [](int i, int j){ return i + j; }(1, 2);
  1803. | auto b = []() -> int { return '0'; }();
  1804. | auto c = [=](){ return a + b; }();
  1805. | auto d = [&](){ return c; }();
  1806. | auto e = [a, &b](int x) mutable {
  1807. | const auto identity = [](int y){ return y; };
  1808. | for (auto i = 0; i < a; ++i)
  1809. | a += b--;
  1810. | return x + identity(a + b);
  1811. | }(0);
  1812. | return a + b + c + d + e;
  1813. | }
  1814. |
  1815. | int
  1816. | test3()
  1817. | {
  1818. | const auto nullary = [](){ return 0; };
  1819. | const auto unary = [](int x){ return x; };
  1820. | using nullary_t = decltype(nullary);
  1821. | using unary_t = decltype(unary);
  1822. | const auto higher1st = [](nullary_t f){ return f(); };
  1823. | const auto higher2nd = [unary](nullary_t f1){
  1824. | return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  1825. | };
  1826. | return higher1st(nullary) + higher2nd(nullary)(unary);
  1827. | }
  1828. |
  1829. | }
  1830. |
  1831. | namespace test_variadic_templates
  1832. | {
  1833. |
  1834. | template <int...>
  1835. | struct sum;
  1836. |
  1837. | template <int N0, int... N1toN>
  1838. | struct sum<N0, N1toN...>
  1839. | {
  1840. | static constexpr auto value = N0 + sum<N1toN...>::value;
  1841. | };
  1842. |
  1843. | template <>
  1844. | struct sum<>
  1845. | {
  1846. | static constexpr auto value = 0;
  1847. | };
  1848. |
  1849. | static_assert(sum<>::value == 0, "");
  1850. | static_assert(sum<1>::value == 1, "");
  1851. | static_assert(sum<23>::value == 23, "");
  1852. | static_assert(sum<1, 2>::value == 3, "");
  1853. | static_assert(sum<5, 5, 11>::value == 21, "");
  1854. | static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  1855. |
  1856. | }
  1857. |
  1858. | // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  1859. | // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  1860. | // because of this.
  1861. | namespace test_template_alias_sfinae
  1862. | {
  1863. |
  1864. | struct foo {};
  1865. |
  1866. | template<typename T>
  1867. | using member = typename T::member_type;
  1868. |
  1869. | template<typename T>
  1870. | void func(...) {}
  1871. |
  1872. | template<typename T>
  1873. | void func(member<T>*) {}
  1874. |
  1875. | void test();
  1876. |
  1877. | void test() { func<foo>(0); }
  1878. |
  1879. | }
  1880. |
  1881. | } // namespace cxx11
  1882. |
  1883. | #endif // __cplusplus >= 201103L
  1884. |
  1885. |
  1886. |
  1887. configure:7365: result: no
  1888. configure:7060: checking whether g++ supports C++11 features with -h std=c++11
  1889. configure:7356: g++ -c -g -O2 -h std=c++11 conftest.cpp >&5
  1890. g++: error: unrecognized option '-h'
  1891. configure:7356: $? = 1
  1892. configure: failed program was:
  1893. | /* confdefs.h */
  1894. | #define PACKAGE_NAME "breakpad"
  1895. | #define PACKAGE_TARNAME "breakpad"
  1896. | #define PACKAGE_VERSION "0.1"
  1897. | #define PACKAGE_STRING "breakpad 0.1"
  1898. | #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
  1899. | #define PACKAGE_URL ""
  1900. | #define PACKAGE "breakpad"
  1901. | #define VERSION "0.1"
  1902. | #define STDC_HEADERS 1
  1903. | #define HAVE_PTHREAD 1
  1904. | #define HAVE_SYS_TYPES_H 1
  1905. | #define HAVE_SYS_STAT_H 1
  1906. | #define HAVE_STDLIB_H 1
  1907. | #define HAVE_STRING_H 1
  1908. | #define HAVE_MEMORY_H 1
  1909. | #define HAVE_STRINGS_H 1
  1910. | #define HAVE_INTTYPES_H 1
  1911. | #define HAVE_STDINT_H 1
  1912. | #define HAVE_UNISTD_H 1
  1913. | #define HAVE_A_OUT_H 1
  1914. | /* end confdefs.h. */
  1915. |
  1916. |
  1917. | // If the compiler admits that it is not ready for C++11, why torture it?
  1918. | // Hopefully, this will speed up the test.
  1919. |
  1920. | #ifndef __cplusplus
  1921. |
  1922. | #error "This is not a C++ compiler"
  1923. |
  1924. | #elif __cplusplus < 201103L
  1925. |
  1926. | #error "This is not a C++11 compiler"
  1927. |
  1928. | #else
  1929. |
  1930. | namespace cxx11
  1931. | {
  1932. |
  1933. | namespace test_static_assert
  1934. | {
  1935. |
  1936. | template <typename T>
  1937. | struct check
  1938. | {
  1939. | static_assert(sizeof(int) <= sizeof(T), "not big enough");
  1940. | };
  1941. |
  1942. | }
  1943. |
  1944. | namespace test_final_override
  1945. | {
  1946. |
  1947. | struct Base
  1948. | {
  1949. | virtual void f() {}
  1950. | };
  1951. |
  1952. | struct Derived : public Base
  1953. | {
  1954. | virtual void f() override {}
  1955. | };
  1956. |
  1957. | }
  1958. |
  1959. | namespace test_double_right_angle_brackets
  1960. | {
  1961. |
  1962. | template < typename T >
  1963. | struct check {};
  1964. |
  1965. | typedef check<void> single_type;
  1966. | typedef check<check<void>> double_type;
  1967. | typedef check<check<check<void>>> triple_type;
  1968. | typedef check<check<check<check<void>>>> quadruple_type;
  1969. |
  1970. | }
  1971. |
  1972. | namespace test_decltype
  1973. | {
  1974. |
  1975. | int
  1976. | f()
  1977. | {
  1978. | int a = 1;
  1979. | decltype(a) b = 2;
  1980. | return a + b;
  1981. | }
  1982. |
  1983. | }
  1984. |
  1985. | namespace test_type_deduction
  1986. | {
  1987. |
  1988. | template < typename T1, typename T2 >
  1989. | struct is_same
  1990. | {
  1991. | static const bool value = false;
  1992. | };
  1993. |
  1994. | template < typename T >
  1995. | struct is_same<T, T>
  1996. | {
  1997. | static const bool value = true;
  1998. | };
  1999. |
  2000. | template < typename T1, typename T2 >
  2001. | auto
  2002. | add(T1 a1, T2 a2) -> decltype(a1 + a2)
  2003. | {
  2004. | return a1 + a2;
  2005. | }
  2006. |
  2007. | int
  2008. | test(const int c, volatile int v)
  2009. | {
  2010. | static_assert(is_same<int, decltype(0)>::value == true, "");
  2011. | static_assert(is_same<int, decltype(c)>::value == false, "");
  2012. | static_assert(is_same<int, decltype(v)>::value == false, "");
  2013. | auto ac = c;
  2014. | auto av = v;
  2015. | auto sumi = ac + av + 'x';
  2016. | auto sumf = ac + av + 1.0;
  2017. | static_assert(is_same<int, decltype(ac)>::value == true, "");
  2018. | static_assert(is_same<int, decltype(av)>::value == true, "");
  2019. | static_assert(is_same<int, decltype(sumi)>::value == true, "");
  2020. | static_assert(is_same<int, decltype(sumf)>::value == false, "");
  2021. | static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  2022. | return (sumf > 0.0) ? sumi : add(c, v);
  2023. | }
  2024. |
  2025. | }
  2026. |
  2027. | namespace test_noexcept
  2028. | {
  2029. |
  2030. | int f() { return 0; }
  2031. | int g() noexcept { return 0; }
  2032. |
  2033. | static_assert(noexcept(f()) == false, "");
  2034. | static_assert(noexcept(g()) == true, "");
  2035. |
  2036. | }
  2037. |
  2038. | namespace test_constexpr
  2039. | {
  2040. |
  2041. | template < typename CharT >
  2042. | unsigned long constexpr
  2043. | strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  2044. | {
  2045. | return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  2046. | }
  2047. |
  2048. | template < typename CharT >
  2049. | unsigned long constexpr
  2050. | strlen_c(const CharT *const s) noexcept
  2051. | {
  2052. | return strlen_c_r(s, 0UL);
  2053. | }
  2054. |
  2055. | static_assert(strlen_c("") == 0UL, "");
  2056. | static_assert(strlen_c("1") == 1UL, "");
  2057. | static_assert(strlen_c("example") == 7UL, "");
  2058. | static_assert(strlen_c("another\0example") == 7UL, "");
  2059. |
  2060. | }
  2061. |
  2062. | namespace test_rvalue_references
  2063. | {
  2064. |
  2065. | template < int N >
  2066. | struct answer
  2067. | {
  2068. | static constexpr int value = N;
  2069. | };
  2070. |
  2071. | answer<1> f(int&) { return answer<1>(); }
  2072. | answer<2> f(const int&) { return answer<2>(); }
  2073. | answer<3> f(int&&) { return answer<3>(); }
  2074. |
  2075. | void
  2076. | test()
  2077. | {
  2078. | int i = 0;
  2079. | const int c = 0;
  2080. | static_assert(decltype(f(i))::value == 1, "");
  2081. | static_assert(decltype(f(c))::value == 2, "");
  2082. | static_assert(decltype(f(0))::value == 3, "");
  2083. | }
  2084. |
  2085. | }
  2086. |
  2087. | namespace test_uniform_initialization
  2088. | {
  2089. |
  2090. | struct test
  2091. | {
  2092. | static const int zero {};
  2093. | static const int one {1};
  2094. | };
  2095. |
  2096. | static_assert(test::zero == 0, "");
  2097. | static_assert(test::one == 1, "");
  2098. |
  2099. | }
  2100. |
  2101. | namespace test_lambdas
  2102. | {
  2103. |
  2104. | void
  2105. | test1()
  2106. | {
  2107. | auto lambda1 = [](){};
  2108. | auto lambda2 = lambda1;
  2109. | lambda1();
  2110. | lambda2();
  2111. | }
  2112. |
  2113. | int
  2114. | test2()
  2115. | {
  2116. | auto a = [](int i, int j){ return i + j; }(1, 2);
  2117. | auto b = []() -> int { return '0'; }();
  2118. | auto c = [=](){ return a + b; }();
  2119. | auto d = [&](){ return c; }();
  2120. | auto e = [a, &b](int x) mutable {
  2121. | const auto identity = [](int y){ return y; };
  2122. | for (auto i = 0; i < a; ++i)
  2123. | a += b--;
  2124. | return x + identity(a + b);
  2125. | }(0);
  2126. | return a + b + c + d + e;
  2127. | }
  2128. |
  2129. | int
  2130. | test3()
  2131. | {
  2132. | const auto nullary = [](){ return 0; };
  2133. | const auto unary = [](int x){ return x; };
  2134. | using nullary_t = decltype(nullary);
  2135. | using unary_t = decltype(unary);
  2136. | const auto higher1st = [](nullary_t f){ return f(); };
  2137. | const auto higher2nd = [unary](nullary_t f1){
  2138. | return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  2139. | };
  2140. | return higher1st(nullary) + higher2nd(nullary)(unary);
  2141. | }
  2142. |
  2143. | }
  2144. |
  2145. | namespace test_variadic_templates
  2146. | {
  2147. |
  2148. | template <int...>
  2149. | struct sum;
  2150. |
  2151. | template <int N0, int... N1toN>
  2152. | struct sum<N0, N1toN...>
  2153. | {
  2154. | static constexpr auto value = N0 + sum<N1toN...>::value;
  2155. | };
  2156. |
  2157. | template <>
  2158. | struct sum<>
  2159. | {
  2160. | static constexpr auto value = 0;
  2161. | };
  2162. |
  2163. | static_assert(sum<>::value == 0, "");
  2164. | static_assert(sum<1>::value == 1, "");
  2165. | static_assert(sum<23>::value == 23, "");
  2166. | static_assert(sum<1, 2>::value == 3, "");
  2167. | static_assert(sum<5, 5, 11>::value == 21, "");
  2168. | static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  2169. |
  2170. | }
  2171. |
  2172. | // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  2173. | // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  2174. | // because of this.
  2175. | namespace test_template_alias_sfinae
  2176. | {
  2177. |
  2178. | struct foo {};
  2179. |
  2180. | template<typename T>
  2181. | using member = typename T::member_type;
  2182. |
  2183. | template<typename T>
  2184. | void func(...) {}
  2185. |
  2186. | template<typename T>
  2187. | void func(member<T>*) {}
  2188. |
  2189. | void test();
  2190. |
  2191. | void test() { func<foo>(0); }
  2192. |
  2193. | }
  2194. |
  2195. | } // namespace cxx11
  2196. |
  2197. | #endif // __cplusplus >= 201103L
  2198. |
  2199. |
  2200. |
  2201. configure:7365: result: no
  2202. configure:7382: error: *** A compiler with support for C++11 language features is required.
  2203.  
  2204. ## ---------------- ##
  2205. ## Cache variables. ##
  2206. ## ---------------- ##
  2207.  
  2208. ac_cv_build=x86_64-pc-linux-gnu
  2209. ac_cv_c_compiler_gnu=yes
  2210. ac_cv_cxx_compiler_gnu=yes
  2211. ac_cv_env_CCASFLAGS_set=
  2212. ac_cv_env_CCASFLAGS_value=
  2213. ac_cv_env_CCAS_set=
  2214. ac_cv_env_CCAS_value=
  2215. ac_cv_env_CCC_set=
  2216. ac_cv_env_CCC_value=
  2217. ac_cv_env_CC_set=
  2218. ac_cv_env_CC_value=
  2219. ac_cv_env_CFLAGS_set=
  2220. ac_cv_env_CFLAGS_value=
  2221. ac_cv_env_CPPFLAGS_set=
  2222. ac_cv_env_CPPFLAGS_value=
  2223. ac_cv_env_CPP_set=
  2224. ac_cv_env_CPP_value=
  2225. ac_cv_env_CXXFLAGS_set=
  2226. ac_cv_env_CXXFLAGS_value=
  2227. ac_cv_env_CXX_set=
  2228. ac_cv_env_CXX_value=
  2229. ac_cv_env_GMOCK_CFLAGS_set=
  2230. ac_cv_env_GMOCK_CFLAGS_value=
  2231. ac_cv_env_GMOCK_CONFIG_set=
  2232. ac_cv_env_GMOCK_CONFIG_value=
  2233. ac_cv_env_GMOCK_LIBS_set=
  2234. ac_cv_env_GMOCK_LIBS_value=
  2235. ac_cv_env_GTEST_CFLAGS_set=
  2236. ac_cv_env_GTEST_CFLAGS_value=
  2237. ac_cv_env_GTEST_CONFIG_set=
  2238. ac_cv_env_GTEST_CONFIG_value=
  2239. ac_cv_env_GTEST_LIBS_set=
  2240. ac_cv_env_GTEST_LIBS_value=
  2241. ac_cv_env_LDFLAGS_set=
  2242. ac_cv_env_LDFLAGS_value=
  2243. ac_cv_env_LIBS_set=
  2244. ac_cv_env_LIBS_value=
  2245. ac_cv_env_build_alias_set=
  2246. ac_cv_env_build_alias_value=
  2247. ac_cv_env_host_alias_set=
  2248. ac_cv_env_host_alias_value=
  2249. ac_cv_env_target_alias_set=
  2250. ac_cv_env_target_alias_value=
  2251. ac_cv_header_a_out_h=yes
  2252. ac_cv_header_inttypes_h=yes
  2253. ac_cv_header_memory_h=yes
  2254. ac_cv_header_stdc=yes
  2255. ac_cv_header_stdint_h=yes
  2256. ac_cv_header_stdlib_h=yes
  2257. ac_cv_header_string_h=yes
  2258. ac_cv_header_strings_h=yes
  2259. ac_cv_header_sys_stat_h=yes
  2260. ac_cv_header_sys_types_h=yes
  2261. ac_cv_header_unistd_h=yes
  2262. ac_cv_host=x86_64-pc-linux-gnu
  2263. ac_cv_objext=o
  2264. ac_cv_path_EGREP='/bin/grep -E'
  2265. ac_cv_path_GREP=/bin/grep
  2266. ac_cv_path_install='/usr/bin/install -c'
  2267. ac_cv_path_mkdir=/bin/mkdir
  2268. ac_cv_prog_AWK=mawk
  2269. ac_cv_prog_CPP='gcc -E'
  2270. ac_cv_prog_ac_ct_AR=ar
  2271. ac_cv_prog_ac_ct_CC=gcc
  2272. ac_cv_prog_ac_ct_CXX=g++
  2273. ac_cv_prog_ac_ct_RANLIB=ranlib
  2274. ac_cv_prog_cc_c89=
  2275. ac_cv_prog_cc_g=yes
  2276. ac_cv_prog_cxx_g=yes
  2277. ac_cv_prog_make_make_set=yes
  2278. ac_cv_sys_file_offset_bits=no
  2279. ac_cv_sys_largefile_CC=no
  2280. am_cv_CCAS_dependencies_compiler_type=gcc3
  2281. am_cv_CC_dependencies_compiler_type=gcc3
  2282. am_cv_CXX_dependencies_compiler_type=gcc3
  2283. am_cv_ar_interface=ar
  2284. am_cv_make_support_nested_variables=yes
  2285. am_cv_prog_cc_c_o=yes
  2286. am_cv_prog_tar_ustar=gnutar
  2287. ax_cv_cxx_compile_cxx11=no
  2288. ax_cv_cxx_compile_cxx11__h_std_cpp11=no
  2289. ax_cv_cxx_compile_cxx11__std_cpp0x=no
  2290. ax_cv_cxx_compile_cxx11__std_cpp11=no
  2291. ax_cv_cxx_compile_cxx11_pstd_cpp11=no
  2292.  
  2293. ## ----------------- ##
  2294. ## Output variables. ##
  2295. ## ----------------- ##
  2296.  
  2297. ACLOCAL='${SHELL} /media/software/breakpad/src/autotools/missing aclocal-1.15'
  2298. AMDEPBACKSLASH='\'
  2299. AMDEP_FALSE='#'
  2300. AMDEP_TRUE=''
  2301. AMTAR='$${TAR-tar}'
  2302. AM_BACKSLASH='\'
  2303. AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
  2304. AM_DEFAULT_VERBOSITY='1'
  2305. AM_V='$(V)'
  2306. ANDROID_HOST_FALSE=''
  2307. ANDROID_HOST_TRUE=''
  2308. AR='ar'
  2309. AUTOCONF='${SHELL} /media/software/breakpad/src/autotools/missing autoconf'
  2310. AUTOHEADER='${SHELL} /media/software/breakpad/src/autotools/missing autoheader'
  2311. AUTOMAKE='${SHELL} /media/software/breakpad/src/autotools/missing automake-1.15'
  2312. AWK='mawk'
  2313. CC='gcc'
  2314. CCAS='gcc'
  2315. CCASDEPMODE='depmode=gcc3'
  2316. CCASFLAGS='-g -O2'
  2317. CCDEPMODE='depmode=gcc3'
  2318. CFLAGS='-g -O2'
  2319. CPP='gcc -E'
  2320. CPPFLAGS=''
  2321. CXX='g++'
  2322. CXXDEPMODE='depmode=gcc3'
  2323. CXXFLAGS='-g -O2'
  2324. CYGPATH_W='echo'
  2325. DEFS=''
  2326. DEPDIR='.deps'
  2327. DISABLE_PROCESSOR_FALSE=''
  2328. DISABLE_PROCESSOR_TRUE=''
  2329. DISABLE_TOOLS_FALSE=''
  2330. DISABLE_TOOLS_TRUE=''
  2331. ECHO_C=''
  2332. ECHO_N='-n'
  2333. ECHO_T=''
  2334. EGREP='/bin/grep -E'
  2335. EXEEXT=''
  2336. GCC_FALSE='#'
  2337. GCC_TRUE=''
  2338. GMOCK_CFLAGS=''
  2339. GMOCK_CONFIG=''
  2340. GMOCK_LIBS=''
  2341. GREP='/bin/grep'
  2342. GTEST_CFLAGS=''
  2343. GTEST_CONFIG=''
  2344. GTEST_LIBS=''
  2345. HAVE_CXX11=''
  2346. INSTALL_DATA='${INSTALL} -m 644'
  2347. INSTALL_PROGRAM='${INSTALL}'
  2348. INSTALL_SCRIPT='${INSTALL}'
  2349. INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
  2350. LDFLAGS=''
  2351. LIBOBJS=''
  2352. LIBS=''
  2353. LINUX_HOST_FALSE=''
  2354. LINUX_HOST_TRUE=''
  2355. LTLIBOBJS=''
  2356. MAINT='#'
  2357. MAINTAINER_MODE_FALSE=''
  2358. MAINTAINER_MODE_TRUE='#'
  2359. MAKEINFO='${SHELL} /media/software/breakpad/src/autotools/missing makeinfo'
  2360. MKDIR_P='/bin/mkdir -p'
  2361. OBJEXT='o'
  2362. PACKAGE='breakpad'
  2363. PACKAGE_BUGREPORT='google-breakpad-dev@googlegroups.com'
  2364. PACKAGE_NAME='breakpad'
  2365. PACKAGE_STRING='breakpad 0.1'
  2366. PACKAGE_TARNAME='breakpad'
  2367. PACKAGE_URL=''
  2368. PACKAGE_VERSION='0.1'
  2369. PATH_SEPARATOR=':'
  2370. PTHREAD_CC='gcc'
  2371. PTHREAD_CFLAGS='-pthread'
  2372. PTHREAD_LIBS=''
  2373. RANLIB='ranlib'
  2374. SELFTEST_FALSE=''
  2375. SELFTEST_TRUE=''
  2376. SET_MAKE=''
  2377. SHELL='/bin/bash'
  2378. STRIP=''
  2379. SYSTEM_TEST_LIBS_FALSE=''
  2380. SYSTEM_TEST_LIBS_TRUE=''
  2381. VERSION='0.1'
  2382. X86_HOST_FALSE=''
  2383. X86_HOST_TRUE=''
  2384. ac_ct_AR='ar'
  2385. ac_ct_CC='gcc'
  2386. ac_ct_CXX='g++'
  2387. am__EXEEXT_FALSE=''
  2388. am__EXEEXT_TRUE=''
  2389. am__fastdepCCAS_FALSE='#'
  2390. am__fastdepCCAS_TRUE=''
  2391. am__fastdepCC_FALSE='#'
  2392. am__fastdepCC_TRUE=''
  2393. am__fastdepCXX_FALSE='#'
  2394. am__fastdepCXX_TRUE=''
  2395. am__include='include'
  2396. am__isrc=''
  2397. am__leading_dot='.'
  2398. am__nodep='_no'
  2399. am__quote=''
  2400. am__tar='tar --format=ustar -chf - "$$tardir"'
  2401. am__untar='tar -xf -'
  2402. ax_pthread_config=''
  2403. bindir='${exec_prefix}/bin'
  2404. build='x86_64-pc-linux-gnu'
  2405. build_alias=''
  2406. build_cpu='x86_64'
  2407. build_os='linux-gnu'
  2408. build_vendor='pc'
  2409. datadir='${datarootdir}'
  2410. datarootdir='${prefix}/share'
  2411. docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
  2412. dvidir='${docdir}'
  2413. exec_prefix='NONE'
  2414. host='x86_64-pc-linux-gnu'
  2415. host_alias=''
  2416. host_cpu='x86_64'
  2417. host_os='linux-gnu'
  2418. host_vendor='pc'
  2419. htmldir='${docdir}'
  2420. includedir='${prefix}/include'
  2421. infodir='${datarootdir}/info'
  2422. install_sh='${SHELL} /media/software/breakpad/src/autotools/install-sh'
  2423. libdir='${exec_prefix}/lib'
  2424. libexecdir='${exec_prefix}/libexec'
  2425. localedir='${datarootdir}/locale'
  2426. localstatedir='${prefix}/var'
  2427. mandir='${datarootdir}/man'
  2428. mkdir_p='$(MKDIR_P)'
  2429. oldincludedir='/usr/include'
  2430. pdfdir='${docdir}'
  2431. prefix='NONE'
  2432. program_transform_name='s,x,x,'
  2433. psdir='${docdir}'
  2434. sbindir='${exec_prefix}/sbin'
  2435. sharedstatedir='${prefix}/com'
  2436. sysconfdir='${prefix}/etc'
  2437. target_alias=''
  2438.  
  2439. ## ----------- ##
  2440. ## confdefs.h. ##
  2441. ## ----------- ##
  2442.  
  2443. /* confdefs.h */
  2444. #define PACKAGE_NAME "breakpad"
  2445. #define PACKAGE_TARNAME "breakpad"
  2446. #define PACKAGE_VERSION "0.1"
  2447. #define PACKAGE_STRING "breakpad 0.1"
  2448. #define PACKAGE_BUGREPORT "google-breakpad-dev@googlegroups.com"
  2449. #define PACKAGE_URL ""
  2450. #define PACKAGE "breakpad"
  2451. #define VERSION "0.1"
  2452. #define STDC_HEADERS 1
  2453. #define HAVE_PTHREAD 1
  2454. #define HAVE_SYS_TYPES_H 1
  2455. #define HAVE_SYS_STAT_H 1
  2456. #define HAVE_STDLIB_H 1
  2457. #define HAVE_STRING_H 1
  2458. #define HAVE_MEMORY_H 1
  2459. #define HAVE_STRINGS_H 1
  2460. #define HAVE_INTTYPES_H 1
  2461. #define HAVE_STDINT_H 1
  2462. #define HAVE_UNISTD_H 1
  2463. #define HAVE_A_OUT_H 1
  2464.  
  2465. configure: exit 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement