|
|
1.1 root 1: #
2: # nono
1.1.1.3 root 3: # Copyright (C) 2020 nono project
4: # Licensed under nono-license.txt
1.1 root 5: #
6:
1.1.1.10 root 7: AC_PREREQ([2.71])
8: AC_INIT([nono],[0.0],[])
1.1 root 9: AC_CONFIG_SRCDIR(wx/wxapp.cpp)
1.1.1.6 root 10: AC_CONFIG_AUX_DIR([scripts])
1.1 root 11:
12: # Checks for programs.
13: AC_PROG_CXX
14: AC_PROG_CC
1.1.1.3 root 15: AC_PROG_INSTALL
1.1 root 16:
1.1.1.6 root 17: # OS
18: AC_CANONICAL_HOST
19: AC_SUBST([host_cpu])
20:
1.1.1.4 root 21: # コンパイラをチェック。今のところ clang/gcc のみ。
22: # (autoconf がやってる gcc かどうかのチェックは clang を検出できず使えない)
23: AC_MSG_CHECKING(for compiler)
24: if test -n "`${CC} -v 2>&1 | grep clang`" ; then
25: AC_MSG_RESULT([clang])
26: COMPILER=CLANG
27: elif test -n "`${CC} -v 2>&1 | grep GCC`"; then
28: AC_MSG_RESULT([gcc])
29: COMPILER=GCC
30: else
31: AC_MSG_RESULT([unknown])
32: COMPILER=
33: fi
34: AC_SUBST([COMPILER])
35:
1.1.1.3 root 36: # C++ のバージョンをチェック
37: CXX_STD=-std=c++14
38: AC_LANG_PUSH([C++])
39: AC_MSG_CHECKING(for ${CXX_STD})
1.1 root 40: old_CXXFLAGS="${CXXFLAGS}"
1.1.1.3 root 41: CXXFLAGS="${CXX_STD} ${CXXFLAGS}"
1.1 root 42: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])],
1.1.1.3 root 43: AC_MSG_RESULT([yes]),
44: AC_MSG_ERROR("*** C++ compiler '${CXX}' doesn't support ${CXX_STD}."))
1.1 root 45: CXXFLAGS="${old_CXXFLAGS}"
1.1.1.3 root 46: CXX="${CXX} ${CXX_STD}"
47: AC_LANG_POP([C++])
48:
49: # C コンパイラのワーニングオプション
50: AC_LANG_PUSH([C])
1.1.1.4 root 51: AC_DEFUN([ADD_CC_WARN_IF],[
1.1.1.3 root 52: AC_MSG_CHECKING([whether cc accepts $1])
53: old_CFLAGS="${CFLAGS}"
54: CFLAGS="${CFLAGS} -Werror $1"
55: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])],
56: AC_MSG_RESULT([yes])
1.1.1.11 root 57: eval `echo cc_has$1=yes | sed -e 's/-/_/g'`
1.1.1.3 root 58: WARNFLAGS_C="${WARNFLAGS_C} $1",
59: AC_MSG_RESULT([no]))
60: CFLAGS="${old_CFLAGS}"
61: ])
1.1.1.4 root 62: ADD_CC_WARN_IF(-Wcast-qual)
63: ADD_CC_WARN_IF(-Wextra-semi)
64: ADD_CC_WARN_IF(-Wlogical-op)
65: ADD_CC_WARN_IF(-Wmissing-prototypes)
66: ADD_CC_WARN_IF(-Wmissing-variable-declarations)
1.1.1.11 root 67: # -Wshadow-local があればそっちを使う(gcc>=7)、なければ -Wshadow (clang)
68: ADD_CC_WARN_IF(-Wshadow-local)
69: if test x"${cc_has_Wshadow_local}" != xyes; then
70: ADD_CC_WARN_IF(-Wshadow)
71: fi
1.1.1.15 root 72: ADD_CC_WARN_IF(-Wstring-conversion)
73: ADD_CC_WARN_IF(-Wtype-limits)
1.1.1.3 root 74: AC_LANG_POP([C])
75: AC_SUBST([WARNFLAGS_C])
76:
77: # C++ コンパイラのワーニングオプション
78: # (AC_LANG は C++ のまま継続する)
1.1.1.10 root 79: AC_LANG([C++])
1.1.1.4 root 80: AC_DEFUN([ADD_CXX_WARN_IF],[
1.1.1.3 root 81: AC_MSG_CHECKING([whether c++ accepts $1])
82: old_CXXFLAGS="${CXXFLAGS}"
83: CXXFLAGS="${CXXFLAGS} -Werror $1"
84: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])],
85: AC_MSG_RESULT([yes])
1.1.1.11 root 86: eval `echo cxx_has$1=yes | sed -e 's/-/_/g'`
1.1.1.3 root 87: WARNFLAGS_CXX="${WARNFLAGS_CXX} $1",
88: AC_MSG_RESULT([no]))
89: CXXFLAGS="${old_CXXFLAGS}"
90: ])
1.1.1.4 root 91: ADD_CXX_WARN_IF(-Wcast-qual)
92: ADD_CXX_WARN_IF(-Wextra-semi)
93: ADD_CXX_WARN_IF(-Winconsistent-missing-destructor-override)
1.1.1.15 root 94: ADD_CXX_WARN_IF(-Winconsistent-missing-override)
1.1.1.4 root 95: ADD_CXX_WARN_IF(-Wlogical-op)
96: ADD_CXX_WARN_IF(-Wmissing-prototypes)
97: ADD_CXX_WARN_IF(-Wmissing-variable-declarations)
1.1.1.11 root 98: # -Wshadow-local があればそっちを使う(gcc>=7)、なければ -Wshadow (clang)
99: ADD_CXX_WARN_IF(-Wshadow-local)
100: if test x"${cxx_has_Wshadow_local}" != xyes; then
101: ADD_CXX_WARN_IF(-Wshadow)
102: fi
1.1.1.15 root 103: ADD_CXX_WARN_IF(-Wstring-conversion)
104: ADD_CXX_WARN_IF(-Wsuggest-destructor-override)
1.1.1.12 root 105: ADD_CXX_WARN_IF(-Wsuggest-override)
1.1.1.15 root 106: ADD_CXX_WARN_IF(-Wtype-limits)
1.1.1.4 root 107: ADD_CXX_WARN_IF(-Wvla-extension)
1.1.1.3 root 108: AC_SUBST([WARNFLAGS_CXX])
1.1 root 109:
1.1.1.15 root 110: # コンパイラが AVX2 をサポートしているか。
1.1.1.14 root 111: AC_ARG_ENABLE([avx2],
112: [AS_HELP_STRING([--disable-avx2], [disable avx2 support])],
113: [],
114: [enable_avx2=yes])
115:
116: AS_IF([test x"${enable_avx2}" != x"no"], [
1.1.1.15 root 117: AC_MSG_CHECKING(whether the compiler supports AVX2)
1.1.1.14 root 118: if test x"${host_cpu}" = x"x86_64"; then
119: if test x"${host_cpu}" = x"${build_cpu}"; then
120: old_CXXFLAGS="${CXXFLAGS}"
121: CXXFLAGS="${CXXFLAGS} -mavx2"
122: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
123: #include <x86intrin.h>
124: ], [
125: #if !defined(__AVX2__)
126: #error __AVX2__ is not defined by the compiler.
127: #endif
128: __m256i v;
129: ])], [
130: have_avx2=yes
131: ])
132: CXXFLAGS="${old_CXXFLAGS}"
133: fi
134: fi
135: if test x"${have_avx2}" = x"yes"; then
136: AC_MSG_RESULT([yes])
137: AC_DEFINE([HAVE_AVX2])
138: AC_SUBST(HOST_HAS_AVX2, yes)
139: else
140: AC_MSG_RESULT([no])
141: fi
142: ], [
143: ])
144:
1.1.1.15 root 145: # コンパイラが NEON をサポートしているか。
146: AC_ARG_ENABLE([neon],
147: [AS_HELP_STRING([--disable-neon], [disable NEON support])],
148: [],
149: [enable_neon=yes])
150:
151: AS_IF([test x"${enable_neon}" != x"no"], [
152: AC_MSG_CHECKING(whether the compiler supports NEON)
153: if test x"${host_cpu}" = x"aarch64"; then
154: if test x"${host_cpu}" = x"${build_cpu}"; then
155: old_CXXFLAGS="${CXXFLAGS}"
156: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
157: #include <arm_neon.h>
158: ], [
159: uint8x16_t v;
160: ])], [
161: have_neon=yes
162: ])
163: CXXFLAGS="${old_CXXFLAGS}"
164: fi
165: fi
166: if test x"${have_neon}" = x"yes"; then
167: AC_MSG_RESULT([yes])
168: AC_DEFINE([HAVE_NEON])
169: AC_SUBST(HOST_HAS_NEON, yes)
170: else
171: AC_MSG_RESULT([no])
172: fi
173: ], [
174: ])
175:
1.1 root 176: # Checks for libraries.
177:
178: # Checks for header files.
179: AC_CHECK_HEADERS([bsd/bsd.h])
1.1.1.10 root 180: AC_CHECK_HEADERS([bsd/stdio.h])
181: AC_CHECK_HEADERS([byteswap.h])
1.1 root 182: AC_CHECK_HEADERS([endian.h])
183: AC_CHECK_HEADERS([kqueue/sys/event.h])
1.1.1.3 root 184: AC_CHECK_HEADERS([pthread_np.h])
1.1.1.15 root 185: AC_CHECK_HEADERS([sched.h])
186: AC_CHECK_HEADERS([sys/cpuset.h])
1.1 root 187: AC_CHECK_HEADERS([sys/endian.h])
188: AC_CHECK_HEADERS([sys/event.h])
189: AC_CHECK_HEADERS([net/bpf.h])
190: AC_CHECK_HEADERS([net/if_tap.h])
191: AC_CHECK_HEADERS([linux/if_tun.h])
1.1.1.10 root 192: AC_CHECK_HEADERS([libkern/OSByteOrder.h])
193: AC_CHECK_HEADERS([machine/endian.h])
1.1 root 194:
195: # Linux で <kqueue/sys/event.h> がなければここで停止したほうがいい
1.1.1.6 root 196: case "${host_os}" in
197: linux*)
198: if test "$ac_cv_header_kqueue_sys_event_h" != "yes"; then
199: AC_MSG_ERROR([*** kqueue is not found.
1.1.1.7 root 200: *** If you use Ubuntu, sudo apt install libkqueue-dev])
1.1.1.6 root 201: fi
202: ;;
203: esac
1.1 root 204:
205: # Checks for typedefs, structures, and compiler characteristics.
206: AC_CHECK_HEADER_STDBOOL
207: #AC_C_INLINE
208: #AC_TYPE_INT16_T
209: #AC_TYPE_INT32_T
210: #AC_TYPE_INT64_T
211: #AC_TYPE_INT8_T
212: #AC_TYPE_SIZE_T
213: #AC_TYPE_UINT16_T
214: #AC_TYPE_UINT32_T
215: #AC_TYPE_UINT64_T
216: #AC_TYPE_UINT8_T
217:
1.1.1.15 root 218: AC_MSG_CHECKING(for cpuset_t)
219: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
220: #if defined(HAVE_SCHED_H)
221: #include <sched.h>
222: #endif
223: #if defined(HAVE_SYS_CPUSET_H)
224: #include <sys/cpuset.h>
225: #endif
226: ]], [[
227: cpuset_t set;
228: ]])], [
229: AC_MSG_RESULT(yes)
230: AC_DEFINE(HAVE_CPUSET_T)
231: ], [
232: AC_MSG_RESULT(no)
233: ])
234:
235: AC_MSG_CHECKING(for cpuset_t *)
236: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
237: #if defined(HAVE_SCHED_H)
238: #include <sched.h>
239: #endif
240: #if defined(HAVE_SYS_CPUSET_H)
241: #include <sys/cpuset.h>
242: #endif
243: ]], [[
244: cpuset_t *set;
245: ]])], [
246: AC_MSG_RESULT(yes)
247: AC_DEFINE(HAVE_CPUSET_T_P)
248: ], [
249: AC_MSG_RESULT(no)
250: ])
251:
252: AC_MSG_CHECKING(for cpu_set_t)
253: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
254: #include <sched.h>
255: ]], [[
256: cpu_set_t set;
257: ]])], [
258: AC_MSG_RESULT(yes)
259: AC_DEFINE(HAVE_CPU_SET_T)
260: ], [
261: AC_MSG_RESULT(no)
262: ])
263:
264:
265: # __builtin
266:
1.1 root 267: AC_MSG_CHECKING(for __builtin_assume)
1.1.1.10 root 268: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
269: [[
1.1 root 270: __builtin_assume(1);
1.1.1.10 root 271: ]])], [
272: AC_MSG_RESULT(yes)
273: AC_DEFINE(HAVE___BUILTIN_ASSUME)
274: ], [
275: AC_MSG_RESULT(no)
276: ])
1.1 root 277:
1.1.1.15 root 278: AC_MSG_CHECKING(for __builtin_bitreverse8)
279: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
280: [[
281: return __builtin_bitreverse8(1);
282: ]])], [
283: AC_MSG_RESULT(yes)
284: AC_DEFINE(HAVE___BUILTIN_BITREVERSE8)
285: ], [
286: AC_MSG_RESULT(no)
287: ])
288:
1.1.1.16! root 289: AC_MSG_CHECKING(for __builtin_bitreverse16)
! 290: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
! 291: [[
! 292: return __builtin_bitreverse16(1);
! 293: ]])], [
! 294: AC_MSG_RESULT(yes)
! 295: AC_DEFINE(HAVE___BUILTIN_BITREVERSE16)
! 296: ], [
! 297: AC_MSG_RESULT(no)
! 298: ])
! 299:
! 300: AC_MSG_CHECKING(for __builtin_bitreverse32)
! 301: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
! 302: [[
! 303: return __builtin_bitreverse32(1);
! 304: ]])], [
! 305: AC_MSG_RESULT(yes)
! 306: AC_DEFINE(HAVE___BUILTIN_BITREVERSE32)
! 307: ], [
! 308: AC_MSG_RESULT(no)
! 309: ])
! 310:
1.1 root 311: AC_MSG_CHECKING(for __builtin_bswap16)
1.1.1.10 root 312: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
313: [[
1.1 root 314: return __builtin_bswap16(0);
1.1.1.10 root 315: ]])], [
316: AC_MSG_RESULT(yes)
317: AC_DEFINE(HAVE___BUILTIN_BSWAP16)
318: ], [
319: AC_MSG_RESULT(no)
320: ])
1.1 root 321:
322: AC_MSG_CHECKING(for __builtin_bswap32)
1.1.1.10 root 323: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
324: [[
1.1 root 325: return __builtin_bswap32(0);
1.1.1.10 root 326: ]])], [
327: AC_MSG_RESULT(yes)
328: AC_DEFINE(HAVE___BUILTIN_BSWAP32)
329: ], [
330: AC_MSG_RESULT(no)
331: ])
1.1 root 332:
1.1.1.2 root 333: AC_MSG_CHECKING(for __builtin_bswap64)
1.1.1.10 root 334: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
335: [[
1.1.1.2 root 336: return __builtin_bswap64(0);
1.1.1.10 root 337: ]])], [
338: AC_MSG_RESULT(yes)
339: AC_DEFINE(HAVE___BUILTIN_BSWAP64)
340: ], [
341: AC_MSG_RESULT(no)
342: ])
1.1.1.2 root 343:
1.1 root 344: AC_MSG_CHECKING(for __builtin_expect)
1.1.1.10 root 345: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
1.1 root 346: if (__builtin_expect(1, 1)) return 0;
1.1.1.10 root 347: ]])], [
348: AC_MSG_RESULT(yes)
349: AC_DEFINE(HAVE___BUILTIN_EXPECT)
350: ], [
351: AC_MSG_RESULT(no)
352: ])
1.1 root 353:
1.1.1.15 root 354: AC_MSG_CHECKING(for __builtin_rotateleft32)
355: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
356: [[
357: return __builtin_rotateleft32(1, 1);
358: ]])], [
359: AC_MSG_RESULT(yes)
360: AC_DEFINE(HAVE___BUILTIN_ROTATELEFT32)
361: ], [
362: AC_MSG_RESULT(no)
363: ])
364:
365: AC_MSG_CHECKING(for __builtin_rotateright32)
366: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
367: [[
368: return __builtin_rotateright32(1, 1);
369: ]])], [
370: AC_MSG_RESULT(yes)
371: AC_DEFINE(HAVE___BUILTIN_ROTATERIGHT32)
372: ], [
373: AC_MSG_RESULT(no)
374: ])
375:
1.1 root 376: AC_MSG_CHECKING(for __builtin_unreachable)
1.1.1.10 root 377: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
1.1 root 378: __builtin_unreachable();
1.1.1.10 root 379: ]])], [
380: AC_MSG_RESULT(yes)
381: AC_DEFINE(HAVE___BUILTIN_UNREACHABLE)
382: ], [
383: AC_MSG_RESULT(no)
384: ])
1.1 root 385:
386: AC_MSG_CHECKING(for __attribute__((__fallthrough__)))
387: old_CXXFLAGS="${CXXFLAGS}"
388: CXXFLAGS="${CXXFLAGS} -Wall -Werror"
1.1.1.10 root 389: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
390: [
1.1 root 391: extern int x;
392: switch (x) {
393: case 0:
394: __attribute__((__fallthrough__));
395: case 1:
396: break;
397: }
1.1.1.10 root 398: ])], [
399: AC_MSG_RESULT([yes])
400: AC_DEFINE([HAVE___ATTRIBUTE_FALLTHROUGH])
401: ], [
402: AC_MSG_RESULT([no])
403: ])
1.1 root 404: CXXFLAGS="${old_CXXFLAGS}"
405:
406: dnl とりあえず __format__ までしか調べてないので、
407: dnl その中の __printf__ とかまで調べる必要ができたら直すこと。
408: AC_MSG_CHECKING(for __attribute__((__format__)))
409: old_CXXFLAGS="${CXXFLAGS}"
410: CXXFLAGS="${CXXFLAGS} -Wall -Werror"
411: AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
412: [
413: extern int f(const char *f, ...)
414: __attribute__((__format__(__printf__, 1, 2)));
1.1.1.10 root 415: ], [])], [
416: AC_MSG_RESULT([yes])
417: AC_DEFINE([HAVE___ATTRIBUTE_FORMAT])
1.1 root 418: ], [
1.1.1.10 root 419: AC_MSG_RESULT([no])
420: ])
1.1 root 421: CXXFLAGS="${old_CXXFLAGS}"
422:
423: AC_MSG_CHECKING(for __attribute__((no_sanitize)))
424: old_CXXFLAGS="${CXXFLAGS}"
425: CXXFLAGS="${CXXFLAGS} -Werror"
426: AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
427: [
428: __attribute__((no_sanitize("undefined")))
429: int func() { return 0; }
1.1.1.10 root 430: ], [])], [
431: AC_MSG_RESULT([yes])
432: AC_DEFINE([HAVE___ATTRIBUTE_NO_SANITIZE])
1.1 root 433: ], [
1.1.1.10 root 434: AC_MSG_RESULT([no])
435: ])
1.1 root 436: CXXFLAGS="${old_CXXFLAGS}"
437:
438:
439: AC_MSG_CHECKING(for __attribute__((__packed__)))
440: old_CXXFLAGS="${CXXFLAGS}"
441: CXXFLAGS="${CXXFLAGS} -Werror"
1.1.1.10 root 442: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
443: [
1.1 root 444: struct x { char a; int b; } __attribute__((__packed__));
1.1.1.10 root 445: ])], [
446: AC_MSG_RESULT([yes])
447: AC_DEFINE([HAVE___ATTRIBUTE_PACKED])
448: ], [
449: AC_MSG_RESULT([no])
450: ])
1.1 root 451: CXXFLAGS="${old_CXXFLAGS}"
452:
453: AC_MSG_CHECKING(for __attribute__((__unused__)))
454: old_CXXFLAGS="${CXXFLAGS}"
455: CXXFLAGS="${CXXFLAGS} -Wunused-variable -Werror"
1.1.1.10 root 456: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
457: [
1.1 root 458: int a __attribute__((__unused__));
1.1.1.10 root 459: ])], [
460: AC_MSG_RESULT([yes])
461: AC_DEFINE([HAVE___ATTRIBUTE_UNUSED])
462: ], [
463: AC_MSG_RESULT([no])
464: ])
1.1 root 465: CXXFLAGS="${old_CXXFLAGS}"
466:
467: # Checks for library functions.
468: #AC_FUNC_MALLOC
469: #AC_FUNC_MMAP
470:
1.1.1.10 root 471: AC_MSG_CHECKING(for bswap16)
472: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
473: #if defined(HAVE_SYS_ENDIAN_H)
474: #include <sys/endian.h>
475: #endif
476: ], [
477: bswap16(0);
478: ])], [
479: AC_MSG_RESULT([yes])
480: AC_DEFINE([HAVE_BSWAP16])
481: ], [
482: AC_MSG_RESULT([no])
483: ])
484:
485: AC_MSG_CHECKING(for bswap32)
486: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
487: #if defined(HAVE_SYS_ENDIAN_H)
488: #include <sys/endian.h>
489: #endif
490: ], [
491: bswap32(0);
492: ])], [
493: AC_MSG_RESULT([yes])
494: AC_DEFINE([HAVE_BSWAP32])
495: ], [
496: AC_MSG_RESULT([no])
497: ])
498:
499: AC_MSG_CHECKING(for bswap64)
500: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
501: #if defined(HAVE_SYS_ENDIAN_H)
502: #include <sys/endian.h>
503: #endif
504: ], [
505: bswap64(0);
506: ])], [
507: AC_MSG_RESULT([yes])
508: AC_DEFINE([HAVE_BSWAP64])
509: ], [
510: AC_MSG_RESULT([no])
511: ])
512:
513: AC_MSG_CHECKING(for bswap_16)
514: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
515: #if defined(HAVE_BYTESWAP_H)
516: #include <byteswap.h>
517: #endif
518: ], [
519: bswap_16(0);
520: ])], [
521: AC_MSG_RESULT([yes])
522: AC_DEFINE([HAVE_BSWAP_16])
523: ], [
524: AC_MSG_RESULT([no])
525: ])
526:
527: AC_MSG_CHECKING(for bswap_32)
528: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
529: #if defined(HAVE_BYTESWAP_H)
530: #include <byteswap.h>
531: #endif
532: ], [
533: bswap_32(0);
534: ])], [
535: AC_MSG_RESULT([yes])
536: AC_DEFINE([HAVE_BSWAP_32])
537: ], [
538: AC_MSG_RESULT([no])
539: ])
540:
541: AC_MSG_CHECKING(for bswap_64)
542: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
543: #if defined(HAVE_BYTESWAP_H)
544: #include <byteswap.h>
545: #endif
546: ], [
547: bswap_64(0);
548: ])], [
549: AC_MSG_RESULT([yes])
550: AC_DEFINE([HAVE_BSWAP_64])
551: ], [
552: AC_MSG_RESULT([no])
553: ])
554:
555: AC_MSG_CHECKING(for swap16)
556: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
557: #if defined(HAVE_SYS_ENDIAN_H)
558: #include <sys/endian.h>
559: #endif
560: ], [
561: swap16(0);
562: ])], [
563: AC_MSG_RESULT([yes])
564: AC_DEFINE([HAVE_SWAP16])
565: ], [
566: AC_MSG_RESULT([no])
567: ])
568:
569: AC_MSG_CHECKING(for swap32)
570: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
571: #if defined(HAVE_SYS_ENDIAN_H)
572: #include <sys/endian.h>
573: #endif
574: ], [
575: swap32(0);
576: ])], [
577: AC_MSG_RESULT([yes])
578: AC_DEFINE([HAVE_SWAP32])
579: ], [
580: AC_MSG_RESULT([no])
581: ])
582:
583: AC_MSG_CHECKING(for swap64)
584: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
585: #if defined(HAVE_SYS_ENDIAN_H)
586: #include <sys/endian.h>
587: #endif
588: ], [
589: swap64(0);
590: ])], [
591: AC_MSG_RESULT([yes])
592: AC_DEFINE([HAVE_SWAP64])
593: ], [
594: AC_MSG_RESULT([no])
595: ])
596:
597: AC_MSG_CHECKING(for htobe16)
598: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
599: #if defined(HAVE_ENDIAN_H)
600: #include <endian.h>
601: #endif
602: #if defined(HAVE_SYS_ENDIAN_H)
603: #include <sys/endian.h>
604: #endif
605: #if defined(HAVE_MACHINE_ENDIAN_H)
606: #include <machine/endian.h>
607: #endif
608: ], [
609: htobe16(0);
610: ])], [
611: AC_MSG_RESULT([yes])
612: AC_DEFINE([HAVE_HTOBE16])
613: ], [
614: AC_MSG_RESULT([no])
615: ])
616:
1.1.1.15 root 617: AC_MSG_CHECKING(for CPU_COUNT)
618: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
619: #if defined(HAVE_SCHED_H)
620: #include <sched.h>
621: #endif
622: #if defined(HAVE_SYS_CPUSET_H)
623: #include <sys/cpuset.h>
624: #endif
625: ], [
626: #if defined(HAVE_CPUSET_T)
627: cpuset_t set;
628: #elif defined(HAVE_CPU_SET_T)
629: cpu_set_t set;
630: #endif
631: CPU_COUNT(&set);
632: ])], [
633: AC_MSG_RESULT([yes])
634: AC_DEFINE([HAVE_CPU_COUNT])
635: ], [
636: AC_MSG_RESULT([no])
637: ])
638:
639: AC_MSG_CHECKING(for CPU_ISSET)
640: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
641: #if defined(HAVE_SCHED_H)
642: #include <sched.h>
643: #endif
644: #if defined(HAVE_SYS_CPUSET_H)
645: #include <sys/cpuset.h>
646: #endif
647: ], [
648: #if defined(HAVE_CPUSET_T)
649: cpuset_t set;
650: #elif defined(HAVE_CPU_SET_T)
651: cpu_set_t set;
652: #endif
653: CPU_ISSET(0, &set);
654: ])], [
655: AC_MSG_RESULT([yes])
656: AC_DEFINE([HAVE_CPU_ISSET])
657: ], [
658: AC_MSG_RESULT([no])
659: ])
660:
661: AC_MSG_CHECKING(for CPU_SET)
662: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
663: #if defined(HAVE_SCHED_H)
664: #include <sched.h>
665: #endif
666: #if defined(HAVE_SYS_CPUSET_H)
667: #include <sys/cpuset.h>
668: #endif
669: ], [
670: #if defined(HAVE_CPUSET_T)
671: cpuset_t set;
672: #elif defined(HAVE_CPU_SET_T)
673: cpu_set_t set;
674: #endif
675: CPU_SET(0, &set);
676: ])], [
677: AC_MSG_RESULT([yes])
678: AC_DEFINE([HAVE_CPU_SET])
679: ], [
680: AC_MSG_RESULT([no])
681: ])
682:
683: AC_MSG_CHECKING(for CPU_ZERO)
684: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
685: #if defined(HAVE_SCHED_H)
686: #include <sched.h>
687: #endif
688: #if defined(HAVE_SYS_CPUSET_H)
689: #include <sys/cpuset.h>
690: #endif
691: ], [
692: #if defined(HAVE_CPUSET_T)
693: cpuset_t set;
694: #elif defined(HAVE_CPU_SET_T)
695: cpu_set_t set;
696: #endif
697: CPU_ZERO(&set);
698: ])], [
699: AC_MSG_RESULT([yes])
700: AC_DEFINE([HAVE_CPU_ZERO])
701: ], [
702: AC_MSG_RESULT([no])
703: ])
704:
705: AC_MSG_CHECKING(for cpuset_create)
706: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
707: #include <sched.h>
708: ], [
709: cpuset_create();
710: ])], [
711: AC_MSG_RESULT([yes])
712: AC_DEFINE([HAVE_CPUSET_CREATE])
713: ], [
714: AC_MSG_RESULT([no])
715: ])
716:
717: AC_MSG_CHECKING(for cpuset_isset)
718: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
719: #include <sched.h>
720: ], [
721: cpuset_isset(0, NULL);
722: ])], [
723: AC_MSG_RESULT([yes])
724: AC_DEFINE([HAVE_CPUSET_ISSET])
725: ], [
726: AC_MSG_RESULT([no])
727: ])
728:
729: AC_MSG_CHECKING(for cpuset_set)
730: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
731: #include <sched.h>
732: ], [
733: cpuset_set(0, NULL);
734: ])], [
735: AC_MSG_RESULT([yes])
736: AC_DEFINE([HAVE_CPUSET_SET])
737: ], [
738: AC_MSG_RESULT([no])
739: ])
740:
741: AC_MSG_CHECKING(for cpuset_size)
742: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
743: #include <sched.h>
744: ], [
745: cpuset_size(NULL);
746: ])], [
747: AC_MSG_RESULT([yes])
748: AC_DEFINE([HAVE_CPUSET_SIZE])
749: ], [
750: AC_MSG_RESULT([no])
751: ])
752:
1.1.1.14 root 753: AC_MSG_CHECKING(for statfs)
754: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
755: #include <sys/statfs.h>
756: ], [
757: struct statfs buf;
758: statfs("", &buf);
759: ])], [
760: AC_MSG_RESULT([yes])
761: AC_DEFINE([HAVE_STATFS])
762: have_statxxfs=statfs
763: ], [
764: AC_MSG_RESULT([no])
765: ])
766:
767: AC_MSG_CHECKING(for statvfs)
768: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
769: #include <sys/statvfs.h>
770: ], [
771: struct statvfs buf;
772: statvfs("", &buf);
773: ])], [
774: AC_MSG_RESULT([yes])
775: AC_DEFINE([HAVE_STATVFS])
776: have_statxxfs=statvfs
777: ], [
778: AC_MSG_RESULT([no])
779: ])
780:
781: if test -z "${have_statxxfs}"; then
782: AC_MSG_FAILURE([*** No statfs() nor statvfs() found])
783: fi
784:
785: AC_CHECK_MEMBER([struct stat.st_mtimespec], [
786: AC_DEFINE([HAVE_STAT_ST_TIMESPEC])
787: ], [], [
788: #include <sys/stat.h>
789: ])
790:
791: AC_MSG_CHECKING(for timegm)
792: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
793: #include <time.h>
794: ], [
795: timegm(NULL);
796: ])], [
797: AC_MSG_RESULT([yes])
798: ], [
799: AC_MSG_RESULT([no])
800: AC_MSG_FAILURE([*** No timegm() found])
801: ])
802:
1.1.1.10 root 803: AC_MSG_CHECKING(for pthread_getname_np)
804: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1.1.1.3 root 805: #include <pthread.h>
806: #if defined(HAVE_PTHREAD_NP_H)
807: #include <pthread_np.h>
808: #endif
1.1.1.10 root 809: ]], [[
810: char name[32];
811: pthread_getname_np(pthread_self(), name, sizeof(name));
812: ]])], [
813: AC_MSG_RESULT(yes)
814: AC_DEFINE(HAVE_PTHREAD_GETNAME_NP)
1.1.1.3 root 815: ], [
1.1.1.10 root 816: AC_MSG_RESULT(no)
817: ])
818:
819: AC_MSG_CHECKING(for pthread_get_name_np)
820: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
821: #include <pthread.h>
822: #if defined(HAVE_PTHREAD_NP_H)
823: #include <pthread_np.h>
824: #endif
825: ]], [[
826: char name[32];
827: pthread_get_name_np(pthread_self(), name, sizeof(name));
828: ]])], [
829: AC_MSG_RESULT(yes)
830: AC_DEFINE(HAVE_PTHREAD_GET_NAME_NP)
831: ], [
832: AC_MSG_RESULT(no)
833: ])
834:
835: AC_MSG_CHECKING(for pthread_setname_np(name))
836: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
837: #include <pthread.h>
838: #if defined(HAVE_PTHREAD_NP_H)
839: #include <pthread_np.h>
840: #endif
841: ]], [[
1.1 root 842: pthread_setname_np("");
1.1.1.10 root 843: ]])], [
844: AC_MSG_RESULT(yes)
845: AC_DEFINE(HAVE_PTHREAD_SETNAME_NP_name)
846: ], [
847: AC_MSG_RESULT(no)
848: ])
1.1 root 849:
850: AC_MSG_CHECKING(for pthread_setname_np(thread, name))
1.1.1.10 root 851: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1.1.1.3 root 852: #include <pthread.h>
853: #if defined(HAVE_PTHREAD_NP_H)
854: #include <pthread_np.h>
855: #endif
1.1.1.10 root 856: ]], [[
1.1 root 857: pthread_setname_np(pthread_self(), "");
1.1.1.10 root 858: ]])], [
859: AC_MSG_RESULT(yes)
860: AC_DEFINE(HAVE_PTHREAD_SETNAME_NP_th_name)
861: ], [
862: AC_MSG_RESULT(no)
863: ])
1.1 root 864:
865: AC_MSG_CHECKING(for pthread_setname_np(thread, name, arg))
1.1.1.10 root 866: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1.1.1.3 root 867: #include <pthread.h>
868: #if defined(HAVE_PTHREAD_NP_H)
869: #include <pthread_np.h>
870: #endif
1.1.1.10 root 871: ]], [[
1.1 root 872: pthread_setname_np(pthread_self(), "", (void*)0);
1.1.1.10 root 873: ]])], [
874: AC_MSG_RESULT(yes)
875: AC_DEFINE(HAVE_PTHREAD_SETNAME_NP_th_name_arg)
876: ], [
877: AC_MSG_RESULT(no)
878: ])
1.1.1.3 root 879:
880: AC_MSG_CHECKING(for pthread_set_name_np(thread, name))
1.1.1.10 root 881: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1.1.1.3 root 882: #include <pthread.h>
883: #if defined(HAVE_PTHREAD_NP_H)
884: #include <pthread_np.h>
885: #endif
1.1.1.10 root 886: ]], [[
1.1.1.3 root 887: pthread_set_name_np(pthread_self(), "");
1.1.1.10 root 888: ]])],[
889: AC_MSG_RESULT(yes)
890: AC_DEFINE(HAVE_PTHREAD_SET_NAME_NP_th_name)
891: ], [
892: AC_MSG_RESULT(no)
893: ])
1.1 root 894:
1.1.1.15 root 895: AC_MSG_CHECKING(for pthread_setaffinity_np)
896: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
897: #include <pthread.h>
898: #if defined(HAVE_PTHREAD_NP_H)
899: #include <pthread_np.h>
900: #endif
901: ]], [[
902: pthread_setaffinity_np(pthread_self(), 0, NULL);
903: ]])], [
904: AC_MSG_RESULT(yes)
905: AC_DEFINE(HAVE_PTHREAD_SETAFFINITY_NP)
906: ], [
907: AC_MSG_RESULT(no)
908: ])
909:
910:
1.1.1.8 root 911: #
912: # Network
913: #
914: AC_MSG_CHECKING(for AF_PACKET)
1.1.1.10 root 915: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1.1.1.8 root 916: #include <sys/socket.h>
1.1.1.10 root 917: ]], [[
1.1.1.8 root 918: AF_PACKET;
1.1.1.10 root 919: ]])], [
920: AC_MSG_RESULT(yes)
921: AC_DEFINE(HAVE_HOSTNET_AFPACKET)
922: AC_SUBST(HOSTNET_AFPACKET, yes)
923: ], [
924: AC_MSG_RESULT(no)
925: ])
1.1.1.8 root 926:
927: AC_MSG_CHECKING(for tap(4))
1.1.1.6 root 928: case "${host_os}" in
929: linux*)
930: if test x"$ac_cv_header_linux_if_tun_h" = xyes; then
1.1.1.8 root 931: netdriver_tap=yes
1.1.1.6 root 932: fi
933: ;;
934: openbsd*)
935: # OpenBSD has no <net/if_tap.h> but supports tap(4).
1.1.1.8 root 936: netdriver_tap=yes
1.1.1.6 root 937: ;;
1.1.1.8 root 938: *)
1.1.1.6 root 939: if test x"$ac_cv_header_net_if_tap_h" = xyes; then
1.1.1.8 root 940: netdriver_tap=yes
1.1.1.6 root 941: fi
1.1.1.8 root 942: ;;
943: esac
944: if test x"$netdriver_tap" = xyes; then
945: AC_MSG_RESULT([yes])
946: AC_DEFINE([HAVE_HOSTNET_TAP])
947: AC_SUBST([HOSTNET_TAP], [yes])
948: else
949: AC_MSG_RESULT([no])
950: fi
951:
952: AC_MSG_CHECKING(for bpf(4))
953: if test x"$ac_cv_header_net_bpf_h" = xyes; then
954: AC_MSG_RESULT([yes])
955: AC_DEFINE([HAVE_HOSTNET_BPF])
956: AC_SUBST([HOSTNET_BPF], [yes])
957: else
958: AC_MSG_RESULT([no])
1.1 root 959: fi
960:
1.1.1.14 root 961: #
962: # Other libraries
963: #
964:
965: # CHECK_LIB($1=name, $2=libs, $3=include, $4=src)
966: AC_DEFUN([CHECK_LIB], [
967: AC_MSG_CHECKING([for $1])
968: for path in ${PATHS}; do
969: old_CPPFLAGS=${CPPFLAGS}
970: old_LIBS=${LIBS}
971: case ${path} in
972: none)
973: LIBS="${LIBS} $2"
974: ;;
975: *)
976: CPPFLAGS="${CPPFLAGS} -I${path}/include"
977: LIBS="${LIBS} -L${path}/lib $2"
978: ;;
979: esac
980: AC_LINK_IFELSE([AC_LANG_PROGRAM([$3], [$4])], [
981: has_$1=yes
982: break
983: ], [
984: has_$1=no
985: ])
986: CPPFLAGS=${old_CPPFLAGS}
987: LIBS=${old_LIBS}
988: done
989: if test x"${has_$1}" = x"yes"; then
990: AC_MSG_RESULT([yes])
991: else
992: AC_MSG_RESULT([no])
993: fi
994: ])
995:
996: PATHS="none /usr/pkg /usr/local"
997:
1.1 root 998: # libbsd on Linux
1.1.1.5 root 999: AC_CHECK_LIB(c, getprogname, ,)
1.1 root 1000: AC_CHECK_LIB(bsd, getprogname,
1.1.1.6 root 1001: LIBS="${LIBS} -lbsd"
1002: )
1.1.1.5 root 1003: # なければ停止する
1004: AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1005: [
1006: #include <stdlib.h>
1007: #include "confdefs.h"
1008: #if defined(HAVE_BSD_BSD_H)
1009: #include <bsd/bsd.h>
1010: #endif
1011: ], [
1012: getprogname()
1.1.1.10 root 1013: ])], [
1.1.1.5 root 1014: # nothing to do on success
1.1.1.10 root 1015: ], [
1016: AC_MSG_ERROR([*** getprogname is not found.
1.1.1.7 root 1017: *** If you use Ubuntu, sudo apt install libbsd-dev])
1.1.1.5 root 1018: ]
1019: )
1.1 root 1020:
1021: # libkqueue on Linux
1022: AC_CHECK_LIB(kqueue, kqueue,
1.1.1.6 root 1023: LIBS="${LIBS} -lkqueue"
1024: )
1.1 root 1025:
1.1.1.5 root 1026: AC_CHECK_LIB(z, gzclose,
1.1.1.6 root 1027: LIBS="${LIBS} -lz",
1.1.1.5 root 1028: [AC_MSG_ERROR([*** zlib is not found.
1.1.1.7 root 1029: *** If use use Ubuntu, sudo apt install zlib1g-dev])]
1.1.1.5 root 1030: )
1031:
1.1.1.16! root 1032: # libslirp
! 1033: AC_ARG_WITH([libslirp],
! 1034: [AS_HELP_STRING([--without-libslirp],
! 1035: [disable usermode network (using SLIRP)])],
! 1036: [],
! 1037: [with_libslirp=yes])
! 1038:
! 1039: AS_IF([test "x$with_libslirp" != "xno"], [
! 1040: CHECK_LIB([libslirp], [-lslirp], [
! 1041: #include <slirp/libslirp.h>
! 1042: ], [
! 1043: slirp_version_string();
! 1044: ])
! 1045: if test x"${has_libslirp}" = x"yes"; then
! 1046: AC_DEFINE([HAVE_HOSTNET_SLIRP])
! 1047: AC_SUBST([HOSTNET_SLIRP], [yes])
! 1048: else
! 1049: AC_MSG_ERROR([*** libslirp is not found.
! 1050: *** If use use pkgsrc, install net/libslirp.
! 1051: *** If you use Ubuntu, sudo apt install libslirp-dev.
! 1052: *** Or specify --without-libslirp (it disables hostnet-driver=usermode).])
! 1053: fi
! 1054: ], [
! 1055: AC_SUBST([HOSTNET_SLIRP], [no])
! 1056: ])
! 1057:
1.1 root 1058: # wxWidgets
1.1.1.10 root 1059: AC_ARG_WITH([gui],
1060: [AS_HELP_STRING([--without-gui], [disable GUI support])],
1061: [],
1062: [with_gui=yes])
1063:
1064: AS_IF([test "x$with_gui" != xno], [
1065: AC_MSG_CHECKING(for wx-config)
1.1.1.14 root 1066: wxconfig_paths="${WX_CONFIG} wx-config-3.2 wx-config-3.0 wx-config"
1.1.1.10 root 1067: wxconfig=""
1068: for c in ${wxconfig_paths}; do
1069: ver=`$c --version 2>&1 | cut -f 1 -d .`
1070: if test "$ver" = "3"; then
1071: wxconfig=$c
1072: break
1073: fi
1074: done
1075: if test -z "$wxconfig"; then
1.1.1.14 root 1076: AC_MSG_ERROR([*** wxWidgets-3.2 nor -3.0 not found in ${wxconfig_paths}
1077: *** If you use pkgsrc, install x11/wxGTK32.
1.1.1.7 root 1078: *** If you use Ubuntu, sudo apt install libwxgtk3.0-gtk3-dev])
1.1.1.10 root 1079: else
1080: AC_MSG_RESULT([$wxconfig])
1.1 root 1081:
1.1.1.10 root 1082: AC_MSG_CHECKING(for wxWidgets version)
1083: wxversion=`$wxconfig --version`
1084: AC_MSG_RESULT([$wxversion])
1.1.1.14 root 1085: wxmajorminor=`echo $wxversion | awk -F . '{print $1 $2}'`
1086: AC_SUBST([WX_MAJORMINOR], [${wxmajorminor}])
1.1.1.10 root 1087:
1088: wxcppflags=`$wxconfig --cppflags`
1089: wxlibs=`$wxconfig --libs`
1090:
1091: case "${host_os}" in
1092: netbsd*)
1093: # rpath。どうしたもんだかこれ
1094: wxlibs=[`echo $wxlibs | sed -e 's/-L\([^ ]*\) /-L\1 -Wl,-R,\1 /'`]
1095: ;;
1096:
1097: darwin*)
1098: # XXX -framework AudioToolbox が指定されているとリンカがこけるorz
1099: wxlibs=[`echo $wxlibs | sed -e 's/-framework AudioToolbox//'`]
1100: ;;
1101: esac
1102:
1103: AC_SUBST([WITH_GUI], [yes])
1104: AC_SUBST([WXWIDGETS_CPPFLAGS], [$wxcppflags])
1105: AC_SUBST([WXWIDGETS_LIBS], [$wxlibs])
1106: fi
1.1 root 1107:
1.1.1.10 root 1108: # gettext
1109: AC_CHECK_TOOL([MSGFMT], [msgfmt], [:])
1110: if test $MSGFMT = [:]; then
1111: AC_MSG_ERROR([*** msgfmt not found.
1.1.1.7 root 1112: *** If you use pkgsrc, install devel/gettext-tools.
1113: *** If you use Ubuntu, sudo apt install gettext])
1.1.1.10 root 1114: fi
1115: ], [
1116: AC_SUBST([WITH_GUI], [no])
1117: ])
1.1.1.5 root 1118:
1.1.1.14 root 1119: # nono 本体のチェックはここまで。
1120: nono_CPPFLAGS=${CPPFLAGS}
1.1.1.16! root 1121: case "${host_os}" in
! 1122: netbsd*)
! 1123: # どうしたもんかこれ。
! 1124: nono_LIBS=[`echo ${LIBS} | sed -e 's/-L\([^ ]*\) /-L\1 -Wl,-R,\1 /'`]
! 1125: ;;
! 1126: *)
! 1127: nono_LIBS=${LIBS}
! 1128: ;;
! 1129: esac
1.1.1.14 root 1130: AC_SUBST([NONO_CPPFLAGS], [${nono_CPPFLAGS}])
1131: AC_SUBST([NONO_LIBS], [${nono_LIBS}])
1132:
1133: # iconv は util/ でのみ必要。
1134: CPPFLAGS=
1135: LIBS=
1.1.1.15 root 1136: CHECK_LIB([libiconv], [-liconv], [
1.1.1.14 root 1137: #include <iconv.h>
1138: ], [
1139: iconv_open("", "");
1140: ])
1141:
1.1.1.15 root 1142: if test x"${has_libiconv}" = x"yes"; then
1.1.1.14 root 1143: AC_MSG_CHECKING(whether iconv needs const)
1144: old_CPPFLAGS="${CPPFLAGS}"
1145: CPPFLAGS="${CPPFLAGS} -Werror"
1146: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1147: #include <iconv.h>
1148: ]], [[
1149: const char **a;
1150: iconv(0, a, 0, 0, 0);
1151: ]])], [
1152: AC_MSG_RESULT(yes)
1153: AC_DEFINE(HAVE_ICONV_CONST)
1154: ], [
1155: AC_MSG_RESULT(no)
1156: ])
1157: CPPFLAGS="${old_CPPFLAGS}"
1158: fi
1159:
1160: iconv_CPPFLAGS=${CPPFLAGS}
1161: iconv_LIBS=${LIBS}
1162: AC_SUBST([ICONV_CPPFLAGS], [${iconv_CPPFLAGS}])
1163: AC_SUBST([ICONV_LIBS], [${iconv_LIBS}])
1164:
1.1 root 1165: AC_CONFIG_FILES([Makefile.cfg
1166: host/Makefile
1167: wx/Makefile
1.1.1.14 root 1168: util/mkcgrom/Makefile
1.1.1.15 root 1169: util/ttfext/Makefile
1.1 root 1170: util/viewcgrom/Makefile
1171: ])
1.1.1.2 root 1172: AC_CONFIG_HEADERS([config-nono.h])
1.1 root 1173: AC_OUTPUT
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.