[libpng16] Ensure that NEON filter stuff is completely disabled when switched
'off'. Previously the ARM NEON specific files were still built if the option was switched 'off' as opposed to being explicitly disabled.
This commit is contained in:
parent
34d20f482f
commit
7b1da52549
3
ANNOUNCE
3
ANNOUNCE
@ -27,6 +27,9 @@ Changes since the last public release (1.6.2):
|
|||||||
|
|
||||||
Version 1.6.3beta01 [April 25, 2013]
|
Version 1.6.3beta01 [April 25, 2013]
|
||||||
Revised stack marking in arm/filter_neon.S and configure.ac.
|
Revised stack marking in arm/filter_neon.S and configure.ac.
|
||||||
|
Ensure that NEON filter stuff is completely disabled when switched 'off'.
|
||||||
|
Previously the ARM NEON specific files were still built if the option
|
||||||
|
was switched 'off' as opposed to being explicitly disabled.
|
||||||
|
|
||||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||||
(subscription required; visit
|
(subscription required; visit
|
||||||
|
3
CHANGES
3
CHANGES
@ -4509,6 +4509,9 @@ Version 1.6.2 [April 25, 2013]
|
|||||||
|
|
||||||
Version 1.6.3beta01 [April 25, 2013]
|
Version 1.6.3beta01 [April 25, 2013]
|
||||||
Revised stack marking in arm/filter_neon.S and configure.ac.
|
Revised stack marking in arm/filter_neon.S and configure.ac.
|
||||||
|
Ensure that NEON filter stuff is completely disabled when switched 'off'.
|
||||||
|
Previously the ARM NEON specific files were still built if the option
|
||||||
|
was switched 'off' as opposed to being explicitly disabled.
|
||||||
|
|
||||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||||
(subscription required; visit
|
(subscription required; visit
|
||||||
|
36
configure.ac
36
configure.ac
@ -226,30 +226,48 @@ AC_ARG_WITH(libpng-prefix,
|
|||||||
fi])
|
fi])
|
||||||
AM_CONDITIONAL([DO_PNG_PREFIX], [test "${with_libpng_prefix:-no}" != "no"])
|
AM_CONDITIONAL([DO_PNG_PREFIX], [test "${with_libpng_prefix:-no}" != "no"])
|
||||||
|
|
||||||
|
# HOST SPECIFIC OPTIONS
|
||||||
|
# =====================
|
||||||
|
#
|
||||||
|
# ARM
|
||||||
|
# ===
|
||||||
|
#
|
||||||
|
# ARM NEON (SIMD) support.
|
||||||
|
|
||||||
AC_ARG_ENABLE([arm-neon],
|
AC_ARG_ENABLE([arm-neon],
|
||||||
AS_HELP_STRING([[[--enable-arm-neon]]],
|
AS_HELP_STRING([[[--enable-arm-neon]]],
|
||||||
[Enable ARM NEON optimizations: =off, check, api, on:]
|
[Enable ARM NEON optimizations: =no/off, check, api, yes/on:]
|
||||||
[off: disable the optimizations; check: use internal checking code]
|
[no/off: disable the optimizations; check: use internal checking code]
|
||||||
[(deprecated and poorly supported); api: disable by default, enable by]
|
[(deprecated and poorly supported); api: disable by default, enable by]
|
||||||
[a call to png_set_option; on: turn on unconditionally. The]
|
[a call to png_set_option; yes/on: turn on unconditionally.]),
|
||||||
[default is 'on' if __ARM_NEON__ is defined, otherwise 'off'.]),
|
|
||||||
[case "$enableval" in
|
[case "$enableval" in
|
||||||
off)
|
no|off)
|
||||||
|
# disable the default enabling on __ARM_NEON__ systems:
|
||||||
AC_DEFINE([PNG_NO_ARM_NEON], [],
|
AC_DEFINE([PNG_NO_ARM_NEON], [],
|
||||||
[Disable ARM Neon optimizations]);;
|
[Disable ARM Neon optimizations])
|
||||||
|
# Prevent inclusion of the assembler files below:
|
||||||
|
enable_arm_neon=no;;
|
||||||
check)
|
check)
|
||||||
AC_DEFINE([PNG_ARM_NEON_CHECK_SUPPORTED], [],
|
AC_DEFINE([PNG_ARM_NEON_CHECK_SUPPORTED], [],
|
||||||
[Check for ARM Neon support at run-time]);;
|
[Check for ARM Neon support at run-time]);;
|
||||||
api)
|
api)
|
||||||
AC_DEFINE([PNG_ARM_NEON_API_SUPPORTED], [],
|
AC_DEFINE([PNG_ARM_NEON_API_SUPPORTED], [],
|
||||||
[Turn on ARM Neon optimizations at run-time]);;
|
[Turn on ARM Neon optimizations at run-time]);;
|
||||||
on)
|
yes|on)
|
||||||
AC_DEFINE([PNG_ARM_NEON_SUPPORTED], [],
|
AC_DEFINE([PNG_ARM_NEON_SUPPORTED], [],
|
||||||
[Enable ARM Neon optimizations]);;
|
[Enable ARM Neon optimizations]);;
|
||||||
*)
|
*)
|
||||||
AC_MSG_ERROR([arm-neon: option value required (off/check/api/on)]);;
|
AC_MSG_ERROR([--enable-arm-neon=${enable_arm_neon}: invalid value])
|
||||||
esac])
|
esac])
|
||||||
AM_CONDITIONAL([PNG_ARM_NEON], [test "${enable_arm_neon:-no}" != "no"])
|
|
||||||
|
# If enable/disable was not specified default to using the optimizations if the
|
||||||
|
# host CPU is ARM and the compiler is targeting a NEON host. The latter test
|
||||||
|
# is done in scripts/pnglibconf.dfa by checking for __ARM_NEON__. The
|
||||||
|
# AM_CONDITIONAL below controls whether the ARM NEON source files are built.
|
||||||
|
|
||||||
|
AM_CONDITIONAL([PNG_ARM_NEON],
|
||||||
|
[test "$enable_arm_neon" != 'no' &&
|
||||||
|
test "$host_cpu" = 'arm' -o "$enable_arm_neon" != ''])
|
||||||
|
|
||||||
AC_MSG_NOTICE([[Extra options for compiler: $PNG_COPTS]])
|
AC_MSG_NOTICE([[Extra options for compiler: $PNG_COPTS]])
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user