migrate anim_diff tool from C++ to C89

+ jenkins fixes for native config (library order)
+ add a missing -lm
+ replace log10 by log, just in case
+ partially reverted configure.ac to remove the C++ part

Change-Id: Iee099c544451b23c6cfaca53d5a95d2d332e066e
This commit is contained in:
Pascal Massimino
2015-11-06 07:47:03 +01:00
committed by James Zern
parent 024324273e
commit 96201e50ea
7 changed files with 405 additions and 366 deletions

View File

@ -11,7 +11,6 @@ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
AC_PROG_LIBTOOL
AM_PROG_CC_C_O
AC_PROG_CXX
dnl === Enable less verbose output when building.
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
@ -37,44 +36,34 @@ AC_ARG_WITH([pkgconfigdir], AS_HELP_STRING([--with-pkgconfigdir=DIR],
[pkgconfigdir="$withval"], [pkgconfigdir='${libdir}/pkgconfig'])
AC_SUBST([pkgconfigdir])
dnl === TEST_AND_ADD_FLAGS(var, compiler, flag)
dnl === Checks whether $CC (or $CXX if compiler is 'CXX') supports 'flag' and
dnl === adds it to 'var' on success.
AC_DEFUN([TEST_AND_ADD_FLAGS],
[AS_IF([test "$2" = "CXX"],
[SAVED_FLAGS="$CXXFLAGS"
CXXFLAGS="-Werror $3"
AC_MSG_CHECKING([whether $CXX supports $3])
AC_LANG_PUSH([C++])],
[SAVED_FLAGS="$CFLAGS"
CFLAGS="-Werror $3"
AC_MSG_CHECKING([whether $CC supports $3])])
dnl === TEST_AND_ADD_CFLAGS(var, flag)
dnl === Checks whether $CC supports 'flag' and adds it to 'var'
dnl === on success.
AC_DEFUN([TEST_AND_ADD_CFLAGS],
[SAVED_CFLAGS="$CFLAGS"
CFLAGS="-Werror $2"
AC_MSG_CHECKING([whether $CC supports $2])
dnl Note AC_LANG_PROGRAM([]) uses an old-style main definition.
AC_COMPILE_IFELSE([AC_LANG_SOURCE([int main(void) { return 0; }])],
[AC_MSG_RESULT([yes])]
dnl Simply append the variable avoiding a
dnl compatibility ifdef for AS_VAR_APPEND as this
dnl variable shouldn't grow all that large.
[$1="${$1} $3"],
[$1="${$1} $2"],
[AC_MSG_RESULT([no])])
AS_IF([test "$2" = "CXX"],
[AC_LANG_POP([C++])
CXXFLAGS="$SAVED_FLAGS"],
[CFLAGS="$SAVED_FLAGS"])])
TEST_AND_ADD_FLAGS([AM_CFLAGS], [C], [-Wall])
TEST_AND_ADD_FLAGS([AM_CFLAGS], [C], [-Wdeclaration-after-statement])
TEST_AND_ADD_FLAGS([AM_CFLAGS], [C], [-Wextra])
TEST_AND_ADD_FLAGS([AM_CFLAGS], [C], [-Wformat-nonliteral])
TEST_AND_ADD_FLAGS([AM_CFLAGS], [C], [-Wformat-security])
TEST_AND_ADD_FLAGS([AM_CFLAGS], [C], [-Wmissing-declarations])
TEST_AND_ADD_FLAGS([AM_CFLAGS], [C], [-Wmissing-prototypes])
TEST_AND_ADD_FLAGS([AM_CFLAGS], [C], [-Wold-style-definition])
TEST_AND_ADD_FLAGS([AM_CFLAGS], [C], [-Wshadow])
TEST_AND_ADD_FLAGS([AM_CFLAGS], [C], [-Wshorten-64-to-32])
TEST_AND_ADD_FLAGS([AM_CFLAGS], [C], [-Wunreachable-code])
TEST_AND_ADD_FLAGS([AM_CFLAGS], [C], [-Wunused-but-set-variable])
TEST_AND_ADD_FLAGS([AM_CFLAGS], [C], [-Wunused])
TEST_AND_ADD_FLAGS([AM_CFLAGS], [C], [-Wvla])
CFLAGS="$SAVED_CFLAGS"])
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wall])
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wdeclaration-after-statement])
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wextra])
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wformat-nonliteral])
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wformat-security])
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wmissing-declarations])
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wmissing-prototypes])
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wold-style-definition])
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wshadow])
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wunused-but-set-variable])
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wunused])
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wvla])
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62040
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61622
AS_IF([test "$GCC" = "yes" ], [
@ -87,7 +76,7 @@ AS_IF([test "$GCC" = "yes" ], [
esac
esac
AS_IF([test "$gcc_wht_bug" = "yes"], [
TEST_AND_ADD_FLAGS([AM_CFLAGS], [C], [-frename-registers])])])
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-frename-registers])])])
AC_SUBST([AM_CFLAGS])
dnl === Check for machine specific flags
@ -98,7 +87,7 @@ AC_ARG_ENABLE([avx2],
AS_IF([test "x$enable_avx2" != "xno" -a "x$enable_sse4_1" != "xno" \
-a "x$enable_sse2" != "xno"], [
TEST_AND_ADD_FLAGS([AVX2_FLAGS], [C], [-mavx2])
TEST_AND_ADD_CFLAGS([AVX2_FLAGS], [-mavx2])
AS_IF([test -n "$AVX2_FLAGS"], [
SAVED_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS $AVX2_FLAGS"
@ -121,7 +110,7 @@ AC_ARG_ENABLE([sse4.1],
@<:@default=auto@:>@]))
AS_IF([test "x$enable_sse4_1" != "xno" -a "x$enable_sse2" != "xno"], [
TEST_AND_ADD_FLAGS([SSE41_FLAGS], [C], [-msse4.1])
TEST_AND_ADD_CFLAGS([SSE41_FLAGS], [-msse4.1])
AS_IF([test -n "$SSE41_FLAGS"], [
SAVED_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS $SSE41_FLAGS"
@ -138,7 +127,7 @@ AC_ARG_ENABLE([sse2],
@<:@default=auto@:>@]))
AS_IF([test "x$enable_sse2" != "xno"], [
TEST_AND_ADD_FLAGS([SSE2_FLAGS], [C], [-msse2])
TEST_AND_ADD_CFLAGS([SSE2_FLAGS], [-msse2])
AS_IF([test -n "$SSE2_FLAGS"], [
SAVED_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS $SSE2_FLAGS"
@ -449,30 +438,7 @@ AS_IF([test "x$enable_gif" != "xno"], [
if test "$gif_support" = "yes" -a \
"$enable_libwebpdemux" = "yes"; then
dnl === Enable C++ compiler for .cc sources, if available.
AC_LANG_PUSH([C++])
AC_LINK_IFELSE(
[AC_LANG_PROGRAM([#include <iostream>],
[std::cout << "a";])],
[cxx_support=yes],
[AC_MSG_WARN([C++ compiler absent: compilation of C++ sources disabled.])
cxx_support=no])
AC_LANG_POP([C++])
if test "$cxx_support" = "yes"; then
build_animdiff=yes
TEST_AND_ADD_FLAGS([AM_CXXFLAGS], [CXX], [-Wall])
TEST_AND_ADD_FLAGS([AM_CXXFLAGS], [CXX], [-Wextra])
TEST_AND_ADD_FLAGS([AM_CXXFLAGS], [CXX], [-Wformat-nonliteral])
TEST_AND_ADD_FLAGS([AM_CXXFLAGS], [CXX], [-Wformat-security])
TEST_AND_ADD_FLAGS([AM_CXXFLAGS], [CXX], [-Wmissing-declarations])
TEST_AND_ADD_FLAGS([AM_CXXFLAGS], [CXX], [-Wshadow])
TEST_AND_ADD_FLAGS([AM_CXXFLAGS], [CXX], [-Wshorten-64-to-32])
TEST_AND_ADD_FLAGS([AM_CXXFLAGS], [CXX], [-Wunreachable-code])
TEST_AND_ADD_FLAGS([AM_CXXFLAGS], [CXX], [-Wunused-but-set-variable])
TEST_AND_ADD_FLAGS([AM_CXXFLAGS], [CXX], [-Wunused])
TEST_AND_ADD_FLAGS([AM_CXXFLAGS], [CXX], [-Wvla])
AC_SUBST([AM_CXXFLAGS])
fi
build_animdiff=yes
fi
if test "$gif_support" = "yes" -a \