--- nono/configure.ac 2026/04/29 17:05:51 1.1.1.19 +++ nono/configure.ac 2026/04/29 17:05:56 1.1.1.20 @@ -98,6 +98,7 @@ AC_DEFUN([ADD_CXX_WARN_IF],[ ]) ADD_CXX_WARN_IF(-Wcast-qual) ADD_CXX_WARN_IF(-Wextra-semi) +ADD_CXX_WARN_IF(-Wimplicit-fallthrough) ADD_CXX_WARN_IF(-Winconsistent-missing-destructor-override) ADD_CXX_WARN_IF(-Winconsistent-missing-override) ADD_CXX_WARN_IF(-Wlogical-op) @@ -626,6 +627,30 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ ], [ AC_MSG_RESULT([no]) ]) + +dnl HTOBE16(x) は x = htobe16(x) するもので、htobe16() とは別物。 +dnl ところが autoconf は小文字を大文字にした変数名を作る文化なので +dnl こっちは INPLACE_HTOBE16 とかにしておく。 +AC_MSG_CHECKING(for HTOBE16) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ + #if defined(HAVE_ENDIAN_H) + #include + #endif + #if defined(HAVE_SYS_ENDIAN_H) + #include + #endif + #if defined(HAVE_MACHINE_ENDIAN_H) + #include + #endif + ], [ + uint16_t x = 0; + HTOBE16(x); + ])], [ + AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_INPLACE_HTOBE16]) + ], [ + AC_MSG_RESULT([no]) + ]) AC_MSG_CHECKING(for CPU_COUNT) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([