Annotation of nono/configure.ac, revision 1.1.1.6

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: 
                      7: AC_PREREQ([2.69])
1.1.1.3   root        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: AC_C_BIGENDIAN
                     17: 
1.1.1.6 ! root       18: # OS
        !            19: AC_CANONICAL_HOST
        !            20: AC_SUBST([host_cpu])
        !            21: 
1.1.1.4   root       22: # コンパイラをチェック。今のところ clang/gcc のみ。
                     23: # (autoconf がやってる gcc かどうかのチェックは clang を検出できず使えない)
                     24: AC_MSG_CHECKING(for compiler)
                     25: if test -n "`${CC} -v 2>&1 | grep clang`" ; then
                     26:        AC_MSG_RESULT([clang])
                     27:        COMPILER=CLANG
                     28: elif test -n "`${CC} -v 2>&1 | grep GCC`"; then
                     29:        AC_MSG_RESULT([gcc])
                     30:        COMPILER=GCC
                     31: else
                     32:        AC_MSG_RESULT([unknown])
                     33:        COMPILER=
                     34: fi
                     35: AC_SUBST([COMPILER])
                     36: 
1.1.1.3   root       37: # C++ のバージョンをチェック
                     38: CXX_STD=-std=c++14
                     39: AC_LANG_PUSH([C++])
                     40: AC_MSG_CHECKING(for ${CXX_STD})
1.1       root       41: old_CXXFLAGS="${CXXFLAGS}"
1.1.1.3   root       42: CXXFLAGS="${CXX_STD} ${CXXFLAGS}"
1.1       root       43: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])],
1.1.1.3   root       44:        AC_MSG_RESULT([yes]),
                     45:        AC_MSG_ERROR("*** C++ compiler '${CXX}' doesn't support ${CXX_STD}."))
1.1       root       46: CXXFLAGS="${old_CXXFLAGS}"
1.1.1.3   root       47: CXX="${CXX} ${CXX_STD}"
                     48: AC_LANG_POP([C++])
                     49: 
                     50: # C コンパイラのワーニングオプション
                     51: AC_LANG_PUSH([C])
1.1.1.4   root       52: AC_DEFUN([ADD_CC_WARN_IF],[
1.1.1.3   root       53:        AC_MSG_CHECKING([whether cc accepts $1])
                     54:        old_CFLAGS="${CFLAGS}"
                     55:        CFLAGS="${CFLAGS} -Werror $1"
                     56:        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])],
                     57:                AC_MSG_RESULT([yes])
                     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(-Wdisabled-macro-expansion)
                     64: ADD_CC_WARN_IF(-Wextra-semi)
                     65: ADD_CC_WARN_IF(-Wlogical-op)
                     66: ADD_CC_WARN_IF(-Wmissing-prototypes)
                     67: ADD_CC_WARN_IF(-Wmissing-variable-declarations)
1.1.1.3   root       68: AC_LANG_POP([C])
                     69: AC_SUBST([WARNFLAGS_C])
                     70: 
                     71: # C++ コンパイラのワーニングオプション
                     72: # (AC_LANG は C++ のまま継続する)
                     73: AC_LANG_CPLUSPLUS
1.1.1.4   root       74: AC_DEFUN([ADD_CXX_WARN_IF],[
1.1.1.3   root       75:        AC_MSG_CHECKING([whether c++ accepts $1])
                     76:        old_CXXFLAGS="${CXXFLAGS}"
                     77:        CXXFLAGS="${CXXFLAGS} -Werror $1"
                     78:        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])],
                     79:                AC_MSG_RESULT([yes])
                     80:                WARNFLAGS_CXX="${WARNFLAGS_CXX} $1",
                     81:                AC_MSG_RESULT([no]))
                     82:        CXXFLAGS="${old_CXXFLAGS}"
                     83: ])
1.1.1.4   root       84: ADD_CXX_WARN_IF(-Wcast-qual)
                     85: ADD_CXX_WARN_IF(-Wdisabled-macro-expansion)
                     86: ADD_CXX_WARN_IF(-Wextra-semi)
                     87: ADD_CXX_WARN_IF(-Winconsistent-missing-override)
                     88: ADD_CXX_WARN_IF(-Winconsistent-missing-destructor-override)
                     89: ADD_CXX_WARN_IF(-Wlogical-op)
                     90: ADD_CXX_WARN_IF(-Wmissing-prototypes)
                     91: ADD_CXX_WARN_IF(-Wmissing-variable-declarations)
                     92: ADD_CXX_WARN_IF(-Wvla-extension)
1.1.1.3   root       93: AC_SUBST([WARNFLAGS_CXX])
1.1       root       94: 
                     95: # Checks for libraries.
                     96: 
                     97: # Checks for header files.
                     98: AC_CHECK_HEADERS([bsd/bsd.h])
                     99: AC_CHECK_HEADERS([endian.h])
1.1.1.2   root      100: AC_CHECK_HEADERS([histedit.h])
1.1       root      101: AC_CHECK_HEADERS([kqueue/sys/event.h])
1.1.1.3   root      102: AC_CHECK_HEADERS([pthread_np.h])
1.1       root      103: AC_CHECK_HEADERS([sys/endian.h])
                    104: AC_CHECK_HEADERS([sys/event.h])
                    105: AC_CHECK_HEADERS([net/bpf.h])
                    106: AC_CHECK_HEADERS([net/if_tap.h])
                    107: AC_CHECK_HEADERS([linux/if_tun.h])
                    108: 
                    109: # Linux で <kqueue/sys/event.h> がなければここで停止したほうがいい
1.1.1.6 ! root      110: case "${host_os}" in
        !           111:  linux*)
        !           112:        if test "$ac_cv_header_kqueue_sys_event_h" != "yes"; then
        !           113:                AC_MSG_ERROR([*** kqueue is not found.
        !           114:                On Ubuntu, sudo apt install libkqueue-dev])
        !           115:        fi
        !           116:        ;;
        !           117: esac
1.1       root      118: 
                    119: # Checks for typedefs, structures, and compiler characteristics.
                    120: AC_CHECK_HEADER_STDBOOL
                    121: #AC_C_INLINE
                    122: #AC_TYPE_INT16_T
                    123: #AC_TYPE_INT32_T
                    124: #AC_TYPE_INT64_T
                    125: #AC_TYPE_INT8_T
                    126: #AC_TYPE_SIZE_T
                    127: #AC_TYPE_UINT16_T
                    128: #AC_TYPE_UINT32_T
                    129: #AC_TYPE_UINT64_T
                    130: #AC_TYPE_UINT8_T
                    131: 
                    132: # struct kevent のメンバ udata の型が互換性なく違う。
                    133: # NetBSD では intptr_t(整数) だが、OSX では void* (ポインタ) なので、
                    134: # 同一ソースコードでは回避できない。
                    135: # Linux(Ubuntu) はどっちもパスするので後ろの void * のほうが使われる。
                    136: # まあパスするんならどっちでもいいか。
                    137: AC_MSG_CHECKING(whether kevent.udata is intptr_t)
                    138: old_CXXFLAGS="${CXXFLAGS}"
                    139: CXXFLAGS="${CXXFLAGS} -Wall -Werror"
                    140: AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
                    141:        [
                    142:                #include "confdefs.h"
1.1.1.3   root      143:                #if defined(HAVE_SYS_TYPES_H)
                    144:                #include <sys/types.h>
                    145:                #endif
1.1       root      146:                #if defined(HAVE_SYS_EVENT_H)
                    147:                #include <sys/event.h>
                    148:                #endif
                    149:                #if defined(HAVE_KQUEUE_SYS_EVENT_H)
                    150:                #include <kqueue/sys/event.h>
                    151:                #endif
                    152:        ], [
                    153:                struct kevent kev;
                    154:                kev.udata = (intptr_t)0;
                    155:                (void)kev;
                    156:        ])],
                    157:        AC_MSG_RESULT([yes])
                    158:                AC_SUBST([KEVENT_UDATA_T], [intptr_t]),
                    159:        AC_MSG_RESULT([no]))
                    160: CXXFLAGS="${old_CXXFLAGS}"
                    161: 
                    162: AC_MSG_CHECKING(whether kevent.udata is void *)
                    163: old_CXXFLAGS="${CXXFLAGS}"
                    164: CXXFLAGS="${CXXFLAGS} -Wall -Werror"
                    165: AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
                    166:        [
                    167:                #include "confdefs.h"
1.1.1.3   root      168:                #if defined(HAVE_SYS_TYPES_H)
                    169:                #include <sys/types.h>
                    170:                #endif
1.1       root      171:                #if defined(HAVE_SYS_EVENT_H)
                    172:                #include <sys/event.h>
                    173:                #endif
                    174:                #if defined(HAVE_KQUEUE_SYS_EVENT_H)
                    175:                #include <kqueue/sys/event.h>
                    176:                #endif
                    177:        ], [
                    178:                struct kevent kev;
                    179:                kev.udata = (void *)0;
                    180:                (void)kev;
                    181:        ])],
                    182:        AC_MSG_RESULT([yes])
                    183:                AC_SUBST([KEVENT_UDATA_T], ['void *']),
                    184:        AC_MSG_RESULT([no]))
                    185: CXXFLAGS="${old_CXXFLAGS}"
                    186: 
                    187: if test -z "$KEVENT_UDATA_T" ; then
                    188:        AC_MSG_ERROR([kevent.udata is unknown type])
                    189: fi
                    190: 
                    191: AC_MSG_CHECKING(for __builtin_assume)
                    192: AC_TRY_COMPILE(,
                    193:        [
                    194:                __builtin_assume(1);
                    195:        ],
                    196:        AC_MSG_RESULT([yes])
                    197:                AC_DEFINE([HAVE___BUILTIN_ASSUME]),
                    198:        AC_MSG_RESULT([no]))
                    199: 
                    200: AC_MSG_CHECKING(for __builtin_bswap16)
                    201: AC_TRY_COMPILE(,
                    202:        [
                    203:                return __builtin_bswap16(0);
                    204:        ],
                    205:        AC_MSG_RESULT([yes])
                    206:                AC_DEFINE([HAVE___BUILTIN_BSWAP16]),
                    207:        AC_MSG_RESULT([no]))
                    208: 
                    209: AC_MSG_CHECKING(for __builtin_bswap32)
                    210: AC_TRY_COMPILE(,
                    211:        [
                    212:                return __builtin_bswap32(0);
                    213:        ],
                    214:        AC_MSG_RESULT([yes])
                    215:                AC_DEFINE([HAVE___BUILTIN_BSWAP32]),
                    216:        AC_MSG_RESULT([no]))
                    217: 
1.1.1.2   root      218: AC_MSG_CHECKING(for __builtin_bswap64)
                    219: AC_TRY_COMPILE(,
                    220:        [
                    221:                return __builtin_bswap64(0);
                    222:        ],
                    223:        AC_MSG_RESULT([yes])
                    224:                AC_DEFINE([HAVE___BUILTIN_BSWAP64]),
                    225:        AC_MSG_RESULT([no]))
                    226: 
1.1       root      227: AC_MSG_CHECKING(for __builtin_expect)
                    228: AC_TRY_COMPILE(,
                    229:        [
                    230:                if (__builtin_expect(1, 1)) return 0;
                    231:        ],
                    232:        AC_MSG_RESULT([yes])
                    233:                AC_DEFINE([HAVE___BUILTIN_EXPECT]),
                    234:        AC_MSG_RESULT([no]))
                    235: 
                    236: AC_MSG_CHECKING(for __builtin_unreachable)
                    237: AC_TRY_COMPILE(,
                    238:        [
                    239:                __builtin_unreachable();
                    240:        ],
                    241:        AC_MSG_RESULT([yes])
                    242:                AC_DEFINE([HAVE___BUILTIN_UNREACHABLE]),
                    243:        AC_MSG_RESULT([no]))
                    244: 
                    245: AC_MSG_CHECKING(for __attribute__((__fallthrough__)))
                    246: old_CXXFLAGS="${CXXFLAGS}"
                    247: CXXFLAGS="${CXXFLAGS} -Wall -Werror"
                    248: AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
                    249:        [], [
                    250:                extern int x;
                    251:                switch (x) {
                    252:                 case 0:
                    253:                        __attribute__((__fallthrough__));
                    254:                 case 1:
                    255:                        break;
                    256:                }
                    257:        ])],
                    258:        AC_MSG_RESULT([yes])
                    259:                AC_DEFINE([HAVE___ATTRIBUTE_FALLTHROUGH]),
                    260:        AC_MSG_RESULT([no]))
                    261: CXXFLAGS="${old_CXXFLAGS}"
                    262: 
                    263: dnl とりあえず __format__ までしか調べてないので、
                    264: dnl その中の __printf__ とかまで調べる必要ができたら直すこと。
                    265: AC_MSG_CHECKING(for __attribute__((__format__)))
                    266: old_CXXFLAGS="${CXXFLAGS}"
                    267: CXXFLAGS="${CXXFLAGS} -Wall -Werror"
                    268: AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
                    269:        [
                    270:                extern int f(const char *f, ...)
                    271:                        __attribute__((__format__(__printf__, 1, 2)));
                    272:        ], [
                    273:        ])],
                    274:        AC_MSG_RESULT([yes])
                    275:                AC_DEFINE([HAVE___ATTRIBUTE_FORMAT]),
                    276:        AC_MSG_RESULT([no]))
                    277: CXXFLAGS="${old_CXXFLAGS}"
                    278: 
                    279: AC_MSG_CHECKING(for __attribute__((no_sanitize)))
                    280: old_CXXFLAGS="${CXXFLAGS}"
                    281: CXXFLAGS="${CXXFLAGS} -Werror"
                    282: AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
                    283:        [
                    284:                __attribute__((no_sanitize("undefined")))
                    285:                int func() { return 0; }
                    286:        ], [
                    287:        ])],
                    288:        AC_MSG_RESULT([yes])
                    289:                AC_DEFINE([HAVE___ATTRIBUTE_NO_SANITIZE]),
                    290:        AC_MSG_RESULT([no]))
                    291: CXXFLAGS="${old_CXXFLAGS}"
                    292: 
                    293: 
                    294: AC_MSG_CHECKING(for __attribute__((__packed__)))
                    295: old_CXXFLAGS="${CXXFLAGS}"
                    296: CXXFLAGS="${CXXFLAGS} -Werror"
                    297: AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
                    298:        [], [
                    299:                struct x { char a; int b; } __attribute__((__packed__));
                    300:        ])],
                    301:        AC_MSG_RESULT([yes])
                    302:                AC_DEFINE([HAVE___ATTRIBUTE_PACKED]),
                    303:        AC_MSG_RESULT([no]))
                    304: CXXFLAGS="${old_CXXFLAGS}"
                    305: 
                    306: AC_MSG_CHECKING(for __attribute__((__unused__)))
                    307: old_CXXFLAGS="${CXXFLAGS}"
                    308: CXXFLAGS="${CXXFLAGS} -Wunused-variable -Werror"
                    309: AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
                    310:        [], [
                    311:                int a __attribute__((__unused__));
                    312:        ])],
                    313:        AC_MSG_RESULT([yes])
                    314:                AC_DEFINE([HAVE___ATTRIBUTE_UNUSED]),
                    315:        AC_MSG_RESULT([no]))
                    316: CXXFLAGS="${old_CXXFLAGS}"
                    317: 
                    318: # Checks for library functions.
                    319: #AC_FUNC_MALLOC
                    320: #AC_FUNC_MMAP
                    321: 
                    322: AC_MSG_CHECKING(for pthread_setname_np(name))
1.1.1.3   root      323: AC_TRY_COMPILE(
1.1       root      324:        [
1.1.1.3   root      325:                #include <pthread.h>
                    326:                #if defined(HAVE_PTHREAD_NP_H)
                    327:                #include <pthread_np.h>
                    328:                #endif
                    329:        ], [
1.1       root      330:                pthread_setname_np("");
                    331:        ],
                    332:        AC_MSG_RESULT([yes])
1.1.1.3   root      333:                AC_DEFINE([HAVE_PTHREAD_SETNAME_NP_name]),
1.1       root      334:        AC_MSG_RESULT([no]))
                    335: 
                    336: AC_MSG_CHECKING(for pthread_setname_np(thread, name))
1.1.1.3   root      337: AC_TRY_COMPILE(
1.1       root      338:        [
1.1.1.3   root      339:                #include <pthread.h>
                    340:                #if defined(HAVE_PTHREAD_NP_H)
                    341:                #include <pthread_np.h>
                    342:                #endif
                    343:        ], [
1.1       root      344:                pthread_setname_np(pthread_self(), "");
                    345:        ],
                    346:        AC_MSG_RESULT([yes])
1.1.1.3   root      347:                AC_DEFINE([HAVE_PTHREAD_SETNAME_NP_th_name]),
1.1       root      348:        AC_MSG_RESULT([no]))
                    349: 
                    350: AC_MSG_CHECKING(for pthread_setname_np(thread, name, arg))
1.1.1.3   root      351: AC_TRY_COMPILE(
1.1       root      352:        [
1.1.1.3   root      353:                #include <pthread.h>
                    354:                #if defined(HAVE_PTHREAD_NP_H)
                    355:                #include <pthread_np.h>
                    356:                #endif
                    357:        ], [
1.1       root      358:                pthread_setname_np(pthread_self(), "", (void*)0);
                    359:        ],
                    360:        AC_MSG_RESULT([yes])
1.1.1.3   root      361:                AC_DEFINE([HAVE_PTHREAD_SETNAME_NP_th_name_arg]),
                    362:        AC_MSG_RESULT([no]))
                    363: 
                    364: AC_MSG_CHECKING(for pthread_set_name_np(thread, name))
                    365: AC_TRY_COMPILE(
                    366:        [
                    367:                #include <pthread.h>
                    368:                #if defined(HAVE_PTHREAD_NP_H)
                    369:                #include <pthread_np.h>
                    370:                #endif
                    371:        ], [
                    372:                pthread_set_name_np(pthread_self(), "");
                    373:        ],
                    374:        AC_MSG_RESULT([yes])
                    375:                AC_DEFINE([HAVE_PTHREAD_SET_NAME_NP_th_name]),
1.1       root      376:        AC_MSG_RESULT([no]))
                    377: 
1.1.1.6 ! root      378: AC_MSG_CHECKING(for iconv const)
        !           379: AC_TRY_COMPILE(
        !           380:        [
        !           381:                #include <iconv.h>
        !           382:        ], [
        !           383:                const char **a;
        !           384:                iconv(0, a, 0, 0, 0);
        !           385:        ],
        !           386:        AC_MSG_RESULT([yes])
        !           387:                AC_DEFINE([HAVE_ICONV_CONST]),
        !           388:        AC_MSG_RESULT([no]))
        !           389: 
1.1       root      390: # Select host network driver.
                    391: AC_MSG_CHECKING(for suitable host network driver)
1.1.1.6 ! root      392: case "${host_os}" in
        !           393:  linux*)
        !           394:        if test x"$ac_cv_header_linux_if_tun_h" = xyes; then
        !           395:                netdriver=tap
        !           396:        fi
        !           397:        ;;
        !           398:  openbsd*)
        !           399:        # OpenBSD has no <net/if_tap.h> but supports tap(4).
1.1       root      400:        netdriver=tap
1.1.1.6 ! root      401:        ;;
        !           402: esac
        !           403: if test -z "$netdriver"; then
        !           404:        if test x"$ac_cv_header_net_if_tap_h" = xyes; then
        !           405:                netdriver=tap
        !           406:        elif test x"$ac_cv_header_net_bpf_h" = xyes; then
        !           407:                netdriver=bpf
        !           408:        else
        !           409:                netdriver=none
        !           410:        fi
1.1       root      411: fi
                    412: AC_MSG_RESULT([$netdriver])
                    413: AC_SUBST([NETDRIVER], [$netdriver])
                    414: 
                    415: # libbsd on Linux
1.1.1.5   root      416: AC_CHECK_LIB(c, getprogname, ,)
1.1       root      417: AC_CHECK_LIB(bsd, getprogname,
1.1.1.6 ! root      418:        LIBS="${LIBS} -lbsd"
        !           419: )
1.1.1.5   root      420: # なければ停止する
                    421: AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
                    422:        [
                    423:                #include <stdlib.h>
                    424:                #include "confdefs.h"
                    425:                #if defined(HAVE_BSD_BSD_H)
                    426:                #include <bsd/bsd.h>
                    427:                #endif
                    428:        ], [
                    429:                getprogname()
                    430:        ])],
                    431:        # nothing to do on success
                    432:        , [AC_MSG_ERROR([*** getprogname is not found.
                    433:        On Ubuntu, sudo apt install libbsd-dev])
                    434:        ]
                    435: )
1.1       root      436: 
1.1.1.2   root      437: # libedit (editline)
                    438: if test x"$ac_cv_header_histedit_h" = xyes; then
1.1.1.6 ! root      439:        LIBS="${LIBS} -ledit -ltermcap"
1.1.1.2   root      440: fi
                    441: 
1.1       root      442: # libkqueue on Linux
                    443: AC_CHECK_LIB(kqueue, kqueue,
1.1.1.6 ! root      444:        LIBS="${LIBS} -lkqueue"
        !           445: )
1.1       root      446: 
1.1.1.5   root      447: AC_CHECK_LIB(z, gzclose,
1.1.1.6 ! root      448:        LIBS="${LIBS} -lz",
1.1.1.5   root      449:        [AC_MSG_ERROR([*** zlib is not found.
                    450:        On Ubuntu, sudo apt install zlib1g-dev])]
                    451: )
                    452: 
1.1       root      453: # wxWidgets
                    454: AC_MSG_CHECKING(for wx-config)
1.1.1.3   root      455: wxconfig_paths="${WX_CONFIG} wx-config-3.0 wx-config"
1.1       root      456: wxconfig=""
1.1.1.3   root      457: for c in ${wxconfig_paths}; do
1.1       root      458:        ver=`$c --version 2>&1 | cut -f 1 -d .`
                    459:        if test "$ver" = "3"; then
                    460:                wxconfig=$c
                    461:                break
                    462:        fi
                    463: done
                    464: if test -z "$wxconfig"; then
1.1.1.3   root      465:        AC_MSG_ERROR([*** wxWidgets-3.0 not found in ${wxconfig_paths}])
1.1       root      466: else
                    467:        AC_MSG_RESULT([$wxconfig])
                    468: 
                    469:        AC_MSG_CHECKING(for wxWidgets version)
                    470:        wxversion=`$wxconfig --version`
                    471:        AC_MSG_RESULT([$wxversion])
                    472: 
                    473:        wxcppflags=`$wxconfig --cppflags`
                    474:        wxlibs=`$wxconfig --libs`
                    475: 
1.1.1.6 ! root      476:        case "${host_os}" in
        !           477:         netbsd*)
        !           478:                # rpath。どうしたもんだかこれ
1.1       root      479:                wxlibs=[`echo $wxlibs | sed -e 's/-L\([^ ]*\) /-L\1 -Wl,-R,\1 /'`]
1.1.1.6 ! root      480:                ;;
1.1       root      481: 
1.1.1.6 ! root      482:         darwin*)
        !           483:                # XXX -framework AudioToolbox が指定されているとリンカがこけるorz
1.1       root      484:                wxlibs=[`echo $wxlibs | sed -e 's/-framework AudioToolbox//'`]
1.1.1.6 ! root      485:                ;;
        !           486:        esac
1.1       root      487: 
                    488:        AC_SUBST([WXWIDGETS_CPPFLAGS], [$wxcppflags])
                    489:        AC_SUBST([WXWIDGETS_LIBS], [$wxlibs])
                    490: fi
                    491: 
1.1.1.5   root      492: # gettext
                    493: AC_CHECK_TOOL([MSGFMT], [msgfmt], [:])
                    494: if test $MSGFMT = [:]; then
                    495:        AC_MSG_ERROR([*** msgfmt not found.
                    496:        On Ubuntu, sudo apt install gettext])
                    497: fi
                    498: 
1.1       root      499: AC_CONFIG_FILES([Makefile.cfg
                    500:        host/Makefile
                    501:        wx/Makefile
                    502:        util/mkcgrom/Makefile
                    503:        util/viewcgrom/Makefile
                    504: ])
1.1.1.2   root      505: AC_CONFIG_HEADERS([config-nono.h])
1.1       root      506: AC_OUTPUT

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.