From 3c063a80b71f6b2817598f5edeb2c38d4c04f70b Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 2 Dec 2017 23:51:48 +0000 Subject: --enable-arm-neon: import support from upstream git-svn-id: svn://tug.org/texlive/trunk@45971 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/libs/libpng/ChangeLog | 9 ++ Build/source/libs/libpng/Makefile.am | 21 ++- Build/source/libs/libpng/Makefile.in | 122 ++++++++++----- Build/source/libs/libpng/aclocal.m4 | 20 +++ Build/source/libs/libpng/config.h.in | 9 ++ Build/source/libs/libpng/configure | 222 ++++++++++++++++++++++++++- Build/source/libs/libpng/configure.ac | 55 ++++++- Build/source/libs/libpng/include/Makefile.in | 3 + 8 files changed, 411 insertions(+), 50 deletions(-) (limited to 'Build/source/libs/libpng') diff --git a/Build/source/libs/libpng/ChangeLog b/Build/source/libs/libpng/ChangeLog index dc25a7323e5..37a47ac3093 100644 --- a/Build/source/libs/libpng/ChangeLog +++ b/Build/source/libs/libpng/ChangeLog @@ -1,3 +1,12 @@ +2017-12-02 Karl Berry + + Import ARM support from upstream to TL configure. + * Makefile.am (nodist_libpng_a_SOURCES): add arm/*.[cS] files + per upstream Makefile.am. + * configure.ac (AM_PROG_AS), + (AC_ARG_ENABLE([arm-neon]): add. + Report from Johannes Hielscher, tlbuild mail 1 Nov 2017 02:39:55. + 2017-09-29 Akira Kakuto Import libpng-1.6.34. diff --git a/Build/source/libs/libpng/Makefile.am b/Build/source/libs/libpng/Makefile.am index 249af956119..b4c39ba2ffd 100644 --- a/Build/source/libs/libpng/Makefile.am +++ b/Build/source/libs/libpng/Makefile.am @@ -28,20 +28,25 @@ noinst_LIBRARIES=libpng.a nodist_libpng_a_SOURCES = \ @LIBPNG_TREE@/png.c \ - @LIBPNG_TREE@/pngset.c \ + @LIBPNG_TREE@/pngerror.c \ @LIBPNG_TREE@/pngget.c \ - @LIBPNG_TREE@/pngrutil.c \ - @LIBPNG_TREE@/pngtrans.c \ - @LIBPNG_TREE@/pngwutil.c \ + @LIBPNG_TREE@/pngmem.c \ + @LIBPNG_TREE@/pngpread.c \ @LIBPNG_TREE@/pngread.c \ @LIBPNG_TREE@/pngrio.c \ + @LIBPNG_TREE@/pngrtran.c \ + @LIBPNG_TREE@/pngrutil.c \ + @LIBPNG_TREE@/pngset.c \ + @LIBPNG_TREE@/pngtrans.c \ @LIBPNG_TREE@/pngwio.c \ @LIBPNG_TREE@/pngwrite.c \ - @LIBPNG_TREE@/pngrtran.c \ @LIBPNG_TREE@/pngwtran.c \ - @LIBPNG_TREE@/pngmem.c \ - @LIBPNG_TREE@/pngerror.c \ - @LIBPNG_TREE@/pngpread.c + @LIBPNG_TREE@/pngwutil.c + +if PNG_ARM_NEON +nodist_libpng_a_SOURCES += @LIBPNG_TREE@/arm/arm_init.c\ + @LIBPNG_TREE@/arm/filter_neon.S @LIBPNG_TREE@/arm/filter_neon_intrinsics.c +endif $(libpng_a_OBJECTS): config.force diff --git a/Build/source/libs/libpng/Makefile.in b/Build/source/libs/libpng/Makefile.in index ffbba6d3f90..f130fd31da1 100644 --- a/Build/source/libs/libpng/Makefile.in +++ b/Build/source/libs/libpng/Makefile.in @@ -86,6 +86,9 @@ POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +@PNG_ARM_NEON_TRUE@am__append_1 = @LIBPNG_TREE@/arm/arm_init.c\ +@PNG_ARM_NEON_TRUE@ @LIBPNG_TREE@/arm/filter_neon.S @LIBPNG_TREE@/arm/filter_neon_intrinsics.c + @build_TRUE@check_PROGRAMS = pngtest$(EXEEXT) subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 @@ -115,19 +118,23 @@ am__v_AR_1 = libpng_a_AR = $(AR) $(ARFLAGS) libpng_a_LIBADD = am__dirstamp = $(am__leading_dot)dirstamp +@PNG_ARM_NEON_TRUE@am__objects_1 = \ +@PNG_ARM_NEON_TRUE@ @LIBPNG_TREE@/arm/arm_init.$(OBJEXT) \ +@PNG_ARM_NEON_TRUE@ @LIBPNG_TREE@/arm/filter_neon.$(OBJEXT) \ +@PNG_ARM_NEON_TRUE@ @LIBPNG_TREE@/arm/filter_neon_intrinsics.$(OBJEXT) nodist_libpng_a_OBJECTS = @LIBPNG_TREE@/png.$(OBJEXT) \ - @LIBPNG_TREE@/pngset.$(OBJEXT) @LIBPNG_TREE@/pngget.$(OBJEXT) \ + @LIBPNG_TREE@/pngerror.$(OBJEXT) \ + @LIBPNG_TREE@/pngget.$(OBJEXT) @LIBPNG_TREE@/pngmem.$(OBJEXT) \ + @LIBPNG_TREE@/pngpread.$(OBJEXT) \ + @LIBPNG_TREE@/pngread.$(OBJEXT) @LIBPNG_TREE@/pngrio.$(OBJEXT) \ + @LIBPNG_TREE@/pngrtran.$(OBJEXT) \ @LIBPNG_TREE@/pngrutil.$(OBJEXT) \ + @LIBPNG_TREE@/pngset.$(OBJEXT) \ @LIBPNG_TREE@/pngtrans.$(OBJEXT) \ - @LIBPNG_TREE@/pngwutil.$(OBJEXT) \ - @LIBPNG_TREE@/pngread.$(OBJEXT) @LIBPNG_TREE@/pngrio.$(OBJEXT) \ @LIBPNG_TREE@/pngwio.$(OBJEXT) \ @LIBPNG_TREE@/pngwrite.$(OBJEXT) \ - @LIBPNG_TREE@/pngrtran.$(OBJEXT) \ @LIBPNG_TREE@/pngwtran.$(OBJEXT) \ - @LIBPNG_TREE@/pngmem.$(OBJEXT) \ - @LIBPNG_TREE@/pngerror.$(OBJEXT) \ - @LIBPNG_TREE@/pngpread.$(OBJEXT) + @LIBPNG_TREE@/pngwutil.$(OBJEXT) $(am__objects_1) libpng_a_OBJECTS = $(nodist_libpng_a_OBJECTS) nodist_pngtest_OBJECTS = @LIBPNG_TREE@/pngtest.$(OBJEXT) pngtest_OBJECTS = $(nodist_pngtest_OBJECTS) @@ -150,6 +157,12 @@ DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/../../build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f +CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) +AM_V_CPPAS = $(am__v_CPPAS_@AM_V@) +am__v_CPPAS_ = $(am__v_CPPAS_@AM_DEFAULT_V@) +am__v_CPPAS_0 = @echo " CPPAS " $@; +am__v_CPPAS_1 = COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) @@ -472,6 +485,9 @@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ @@ -575,23 +591,14 @@ AM_CPPFLAGS = -I$(top_srcdir)/$(LIBPNG_TREE) $(ZLIB_INCLUDES) \ AM_CFLAGS = $(VISIBILITY_CFLAGS) $(WARNING_CFLAGS) noinst_LIBRARIES = libpng.a -nodist_libpng_a_SOURCES = \ - @LIBPNG_TREE@/png.c \ - @LIBPNG_TREE@/pngset.c \ - @LIBPNG_TREE@/pngget.c \ - @LIBPNG_TREE@/pngrutil.c \ - @LIBPNG_TREE@/pngtrans.c \ - @LIBPNG_TREE@/pngwutil.c \ - @LIBPNG_TREE@/pngread.c \ - @LIBPNG_TREE@/pngrio.c \ - @LIBPNG_TREE@/pngwio.c \ - @LIBPNG_TREE@/pngwrite.c \ - @LIBPNG_TREE@/pngrtran.c \ - @LIBPNG_TREE@/pngwtran.c \ - @LIBPNG_TREE@/pngmem.c \ - @LIBPNG_TREE@/pngerror.c \ - @LIBPNG_TREE@/pngpread.c - +nodist_libpng_a_SOURCES = @LIBPNG_TREE@/png.c @LIBPNG_TREE@/pngerror.c \ + @LIBPNG_TREE@/pngget.c @LIBPNG_TREE@/pngmem.c \ + @LIBPNG_TREE@/pngpread.c @LIBPNG_TREE@/pngread.c \ + @LIBPNG_TREE@/pngrio.c @LIBPNG_TREE@/pngrtran.c \ + @LIBPNG_TREE@/pngrutil.c @LIBPNG_TREE@/pngset.c \ + @LIBPNG_TREE@/pngtrans.c @LIBPNG_TREE@/pngwio.c \ + @LIBPNG_TREE@/pngwrite.c @LIBPNG_TREE@/pngwtran.c \ + @LIBPNG_TREE@/pngwutil.c $(am__append_1) AM_TESTS_ENVIRONMENT = LIBPNG_TREE=$(LIBPNG_TREE); export LIBPNG_TREE; @build_TRUE@TESTS = libpng.test @build_TRUE@dist_check_SCRIPTS = libpng.test @@ -610,7 +617,7 @@ all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: -.SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs +.SUFFIXES: .S .c .log .o .obj .test .test$(EXEEXT) .trs am--refresh: Makefile @: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../../am/dist_hook.am $(srcdir)/../../am/reconfig.am $(srcdir)/../../am/rebuild.am $(am__configure_deps) @@ -671,34 +678,49 @@ clean-noinstLIBRARIES: @: > @LIBPNG_TREE@/$(DEPDIR)/$(am__dirstamp) @LIBPNG_TREE@/png.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ @LIBPNG_TREE@/$(DEPDIR)/$(am__dirstamp) -@LIBPNG_TREE@/pngset.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ +@LIBPNG_TREE@/pngerror.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ @LIBPNG_TREE@/$(DEPDIR)/$(am__dirstamp) @LIBPNG_TREE@/pngget.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ @LIBPNG_TREE@/$(DEPDIR)/$(am__dirstamp) -@LIBPNG_TREE@/pngrutil.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ - @LIBPNG_TREE@/$(DEPDIR)/$(am__dirstamp) -@LIBPNG_TREE@/pngtrans.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ +@LIBPNG_TREE@/pngmem.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ @LIBPNG_TREE@/$(DEPDIR)/$(am__dirstamp) -@LIBPNG_TREE@/pngwutil.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ +@LIBPNG_TREE@/pngpread.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ @LIBPNG_TREE@/$(DEPDIR)/$(am__dirstamp) @LIBPNG_TREE@/pngread.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ @LIBPNG_TREE@/$(DEPDIR)/$(am__dirstamp) @LIBPNG_TREE@/pngrio.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ @LIBPNG_TREE@/$(DEPDIR)/$(am__dirstamp) -@LIBPNG_TREE@/pngwio.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ +@LIBPNG_TREE@/pngrtran.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ @LIBPNG_TREE@/$(DEPDIR)/$(am__dirstamp) -@LIBPNG_TREE@/pngwrite.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ +@LIBPNG_TREE@/pngrutil.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ @LIBPNG_TREE@/$(DEPDIR)/$(am__dirstamp) -@LIBPNG_TREE@/pngrtran.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ +@LIBPNG_TREE@/pngset.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ @LIBPNG_TREE@/$(DEPDIR)/$(am__dirstamp) -@LIBPNG_TREE@/pngwtran.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ +@LIBPNG_TREE@/pngtrans.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ @LIBPNG_TREE@/$(DEPDIR)/$(am__dirstamp) -@LIBPNG_TREE@/pngmem.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ +@LIBPNG_TREE@/pngwio.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ @LIBPNG_TREE@/$(DEPDIR)/$(am__dirstamp) -@LIBPNG_TREE@/pngerror.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ +@LIBPNG_TREE@/pngwrite.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ @LIBPNG_TREE@/$(DEPDIR)/$(am__dirstamp) -@LIBPNG_TREE@/pngpread.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ +@LIBPNG_TREE@/pngwtran.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ + @LIBPNG_TREE@/$(DEPDIR)/$(am__dirstamp) +@LIBPNG_TREE@/pngwutil.$(OBJEXT): @LIBPNG_TREE@/$(am__dirstamp) \ @LIBPNG_TREE@/$(DEPDIR)/$(am__dirstamp) +@LIBPNG_TREE@/arm/$(am__dirstamp): + @$(MKDIR_P) @LIBPNG_TREE@/arm + @: > @LIBPNG_TREE@/arm/$(am__dirstamp) +@LIBPNG_TREE@/arm/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) @LIBPNG_TREE@/arm/$(DEPDIR) + @: > @LIBPNG_TREE@/arm/$(DEPDIR)/$(am__dirstamp) +@LIBPNG_TREE@/arm/arm_init.$(OBJEXT): \ + @LIBPNG_TREE@/arm/$(am__dirstamp) \ + @LIBPNG_TREE@/arm/$(DEPDIR)/$(am__dirstamp) +@LIBPNG_TREE@/arm/filter_neon.$(OBJEXT): \ + @LIBPNG_TREE@/arm/$(am__dirstamp) \ + @LIBPNG_TREE@/arm/$(DEPDIR)/$(am__dirstamp) +@LIBPNG_TREE@/arm/filter_neon_intrinsics.$(OBJEXT): \ + @LIBPNG_TREE@/arm/$(am__dirstamp) \ + @LIBPNG_TREE@/arm/$(DEPDIR)/$(am__dirstamp) libpng.a: $(libpng_a_OBJECTS) $(libpng_a_DEPENDENCIES) $(EXTRA_libpng_a_DEPENDENCIES) $(AM_V_at)-rm -f libpng.a @@ -717,6 +739,7 @@ pngtest$(EXEEXT): $(pngtest_OBJECTS) $(pngtest_DEPENDENCIES) $(EXTRA_pngtest_DEP mostlyclean-compile: -rm -f *.$(OBJEXT) -rm -f @LIBPNG_TREE@/*.$(OBJEXT) + -rm -f @LIBPNG_TREE@/arm/*.$(OBJEXT) distclean-compile: -rm -f *.tab.c @@ -737,6 +760,25 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@@LIBPNG_TREE@/$(DEPDIR)/pngwrite.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@@LIBPNG_TREE@/$(DEPDIR)/pngwtran.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@@LIBPNG_TREE@/$(DEPDIR)/pngwutil.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@@LIBPNG_TREE@/arm/$(DEPDIR)/arm_init.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@@LIBPNG_TREE@/arm/$(DEPDIR)/filter_neon.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@@LIBPNG_TREE@/arm/$(DEPDIR)/filter_neon_intrinsics.Po@am__quote@ + +.S.o: +@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ $< + +.S.obj: +@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @@ -1247,6 +1289,8 @@ distclean-generic: -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -rm -f @LIBPNG_TREE@/$(DEPDIR)/$(am__dirstamp) -rm -f @LIBPNG_TREE@/$(am__dirstamp) + -rm -f @LIBPNG_TREE@/arm/$(DEPDIR)/$(am__dirstamp) + -rm -f @LIBPNG_TREE@/arm/$(am__dirstamp) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @@ -1259,7 +1303,7 @@ clean-am: clean-checkPROGRAMS clean-generic clean-noinstLIBRARIES \ distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf @LIBPNG_TREE@/$(DEPDIR) + -rm -rf @LIBPNG_TREE@/$(DEPDIR) @LIBPNG_TREE@/arm/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-tags @@ -1307,7 +1351,7 @@ installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf @LIBPNG_TREE@/$(DEPDIR) + -rm -rf @LIBPNG_TREE@/$(DEPDIR) @LIBPNG_TREE@/arm/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic diff --git a/Build/source/libs/libpng/aclocal.m4 b/Build/source/libs/libpng/aclocal.m4 index ee23936d159..92b15dff4db 100644 --- a/Build/source/libs/libpng/aclocal.m4 +++ b/Build/source/libs/libpng/aclocal.m4 @@ -56,6 +56,26 @@ m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) +# Figure out how to run the assembler. -*- Autoconf -*- + +# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_AS +# ---------- +AC_DEFUN([AM_PROG_AS], +[# By default we simply use the C compiler to build assembly code. +AC_REQUIRE([AC_PROG_CC]) +test "${CCAS+set}" = set || CCAS=$CC +test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS +AC_ARG_VAR([CCAS], [assembler compiler command (defaults to CC)]) +AC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)]) +_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl +]) + # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001-2017 Free Software Foundation, Inc. diff --git a/Build/source/libs/libpng/config.h.in b/Build/source/libs/libpng/config.h.in index 1b40eb4d275..ac10e95bbd3 100644 --- a/Build/source/libs/libpng/config.h.in +++ b/Build/source/libs/libpng/config.h.in @@ -54,6 +54,15 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION +/* Turn on ARM Neon optimizations at run-time */ +#undef PNG_ARM_NEON_API_SUPPORTED + +/* Check for ARM Neon support at run-time */ +#undef PNG_ARM_NEON_CHECK_SUPPORTED + +/* Enable ARM Neon optimizations */ +#undef PNG_ARM_NEON_OPT + /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS diff --git a/Build/source/libs/libpng/configure b/Build/source/libs/libpng/configure index 901f4cbc2ae..3a48f580932 100755 --- a/Build/source/libs/libpng/configure +++ b/Build/source/libs/libpng/configure @@ -625,6 +625,8 @@ ac_includes_default="\ ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS +PNG_ARM_NEON_FALSE +PNG_ARM_NEON_TRUE LIBPNG_DEFINES LIBPNG_TREE build_FALSE @@ -641,6 +643,11 @@ CPP VISIBILITY_CFLAGS LN_S RANLIB +am__fastdepCCAS_FALSE +am__fastdepCCAS_TRUE +CCASDEPMODE +CCASFLAGS +CCAS WARNING_CFLAGS am__fastdepCC_FALSE am__fastdepCC_TRUE @@ -737,6 +744,7 @@ enable_compiler_warnings with_system_zlib with_zlib_includes with_zlib_libdir +enable_arm_neon ' ac_precious_vars='build_alias host_alias @@ -746,6 +754,8 @@ CFLAGS LDFLAGS LIBS CPPFLAGS +CCAS +CCASFLAGS CPP' @@ -1374,6 +1384,13 @@ Optional Features: --enable-compiler-warnings=[no|min|yes|max|all] Turn on compiler warnings [default: yes if maintainer-mode, min otherwise] + --enable-arm-neon Enable ARM NEON optimizations: =no/off, check, api, + yes/on: no/off: disable the optimizations; check: + use internal checking code (deprecated and poorly + supported); api: disable by default, enable by a + call to png_set_option; yes/on: turn on + unconditionally. If not specified: determined by the + compiler. Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -1391,6 +1408,8 @@ Some influential environment variables: LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory + CCAS assembler compiler command (defaults to CC) + CCASFLAGS assembler compiler flags (defaults to CFLAGS) CPP C preprocessor Use these variables to override the choices made by `configure' or to help @@ -4732,6 +4751,139 @@ else fi +# By default we simply use the C compiler to build assembly code. + +test "${CCAS+set}" = set || CCAS=$CC +test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS + + + +depcc="$CCAS" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CCAS_dependencies_compiler_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CCAS_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CCAS_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CCAS_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; } +CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then + am__fastdepCCAS_TRUE= + am__fastdepCCAS_FALSE='#' +else + am__fastdepCCAS_TRUE='#' + am__fastdepCCAS_FALSE= +fi + + if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 @@ -4836,6 +4988,7 @@ $as_echo "no, using $LN_S" >&6; } fi +echo 'dbg:_KPSE_COMPILER_VISIBILITY called.' >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking CFLAGS for C to hide external symbols" >&5 $as_echo_n "checking CFLAGS for C to hide external symbols... " >&6; } if ${kpse_cv_visibility_cflags+:} false; then : @@ -4863,6 +5016,7 @@ for kpse_flag in '-fvisibility=hidden -fvisibility-inlines-hidden' '-fvisibility fi rm -f core conftest.err conftest.$ac_objext done +CFLAGS=$kpse_save_flags ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -4873,7 +5027,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_visibility_cflags" >&5 $as_echo "$kpse_cv_visibility_cflags" >&6; } -CFLAGS=$kpse_save_flags case $kpse_cv_visibility_cflags in #( unknown) : ;; #( @@ -4889,6 +5042,7 @@ esac ac_config_headers="$ac_config_headers config.h" +if false; then # For GCC 5 the default mode for C is -std=gnu11 instead of -std=gnu89 # In pngpriv.h we request just the POSIX 1003.1 and C89 APIs by defining _POSIX_SOURCE to 1 # This is incompatible with the new default mode, so we test for that and force the @@ -4921,6 +5075,7 @@ CFLAGS="$CFLAGS -std=c89" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi # Checks for header files. ac_ext=c @@ -5813,6 +5968,63 @@ LIBPNG_TREE=libpng-src LIBPNG_DEFINES='-DPNG_CONFIGURE_LIBPNG -DPNG_NO_MMX_CODE' +# emacs-page +# ARM +# === +# +# ARM NEON (SIMD) support. + +# Check whether --enable-arm-neon was given. +if test "${enable_arm_neon+set}" = set; then : + enableval=$enable_arm_neon; case "$enableval" in + no|off) + # disable the default enabling on __ARM_NEON__ systems: + +$as_echo "#define PNG_ARM_NEON_OPT 0" >>confdefs.h + + # Prevent inclusion of the assembler files below: + enable_arm_neon=no;; + check) + +$as_echo "#define PNG_ARM_NEON_CHECK_SUPPORTED /**/" >>confdefs.h +;; + api) + +$as_echo "#define PNG_ARM_NEON_API_SUPPORTED /**/" >>confdefs.h +;; + yes|on) + +$as_echo "#define PNG_ARM_NEON_OPT 2" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --enable-arm-neon: please specify 'check' or 'api', if + you want the optimizations unconditionally pass -mfpu=neon + to the compiler." >&5 +$as_echo "$as_me: WARNING: --enable-arm-neon: please specify 'check' or 'api', if + you want the optimizations unconditionally pass -mfpu=neon + to the compiler." >&2;};; + *) + as_fn_error $? "--enable-arm-neon=${enable_arm_neon}: invalid value" "$LINENO" 5 + esac +fi + + +# Add ARM specific files to all builds where the host_cpu is arm ('arm*') or +# where ARM optimizations were explicitly requested (this allows a fallback if a +# future host CPU does not match 'arm*') + + if test "$enable_arm_neon" != 'no' && + case "$host_cpu" in + arm*|aarch64*) :;; + *) test "$enable_arm_neon" != '';; + esac; then + PNG_ARM_NEON_TRUE= + PNG_ARM_NEON_FALSE='#' +else + PNG_ARM_NEON_TRUE='#' + PNG_ARM_NEON_FALSE= +fi + + ac_config_files="$ac_config_files Makefile include/Makefile" @@ -5957,10 +6169,18 @@ if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${build_TRUE}" && test -z "${build_FALSE}"; then as_fn_error $? "conditional \"build\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${PNG_ARM_NEON_TRUE}" && test -z "${PNG_ARM_NEON_FALSE}"; then + as_fn_error $? "conditional \"PNG_ARM_NEON\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 diff --git a/Build/source/libs/libpng/configure.ac b/Build/source/libs/libpng/configure.ac index d5a03db7dcd..05ae777d344 100644 --- a/Build/source/libs/libpng/configure.ac +++ b/Build/source/libs/libpng/configure.ac @@ -1,7 +1,8 @@ +dnl $Id$ dnl Process this file with autoconf to produce a configure script. dnl -dnl Copyright (C) 2016 Karl Berry -dnl Copyright (C) 2009-2015 Peter Breitenlohner +dnl Copyright 2016-2017 Karl Berry +dnl Copyright 2009-2015 Peter Breitenlohner dnl dnl This file is free software; the copyright holder dnl gives unlimited permission to copy and/or distribute it, @@ -17,6 +18,7 @@ AC_CONFIG_MACRO_DIR([../../m4]) KPSE_BASIC([libpng]) AC_PROG_CC +AM_PROG_AS AC_PROG_RANLIB AC_PROG_LN_S @@ -24,6 +26,7 @@ KPSE_COMPILER_VISIBILITY AC_CONFIG_HEADERS([config.h]) +if false; then # For GCC 5 the default mode for C is -std=gnu11 instead of -std=gnu89 # In pngpriv.h we request just the POSIX 1003.1 and C89 APIs by defining _POSIX_SOURCE to 1 # This is incompatible with the new default mode, so we test for that and force the @@ -37,6 +40,7 @@ fi AC_MSG_RESULT(yes) CFLAGS="$CFLAGS -std=c89" ]) +fi # Checks for header files. AC_HEADER_STDC @@ -70,6 +74,53 @@ AC_SUBST([LIBPNG_TREE], [libpng-src]) AC_SUBST([LIBPNG_DEFINES], ['-DPNG_CONFIGURE_LIBPNG -DPNG_NO_MMX_CODE']) +# emacs-page +# ARM +# === +# +# ARM NEON (SIMD) support. + +AC_ARG_ENABLE([arm-neon], + AS_HELP_STRING([[[--enable-arm-neon]]], + [Enable ARM NEON optimizations: =no/off, check, api, yes/on:] + [no/off: disable the optimizations; check: use internal checking code] + [(deprecated and poorly supported); api: disable by default, enable by] + [a call to png_set_option; yes/on: turn on unconditionally.] + [If not specified: determined by the compiler.]), + [case "$enableval" in + no|off) + # disable the default enabling on __ARM_NEON__ systems: + AC_DEFINE([PNG_ARM_NEON_OPT], [0], + [Disable ARM Neon optimizations]) + # Prevent inclusion of the assembler files below: + enable_arm_neon=no;; + check) + AC_DEFINE([PNG_ARM_NEON_CHECK_SUPPORTED], [], + [Check for ARM Neon support at run-time]);; + api) + AC_DEFINE([PNG_ARM_NEON_API_SUPPORTED], [], + [Turn on ARM Neon optimizations at run-time]);; + yes|on) + AC_DEFINE([PNG_ARM_NEON_OPT], [2], + [Enable ARM Neon optimizations]) + AC_MSG_WARN([--enable-arm-neon: please specify 'check' or 'api', if] + [you want the optimizations unconditionally pass -mfpu=neon] + [to the compiler.]);; + *) + AC_MSG_ERROR([--enable-arm-neon=${enable_arm_neon}: invalid value]) + esac]) + +# Add ARM specific files to all builds where the host_cpu is arm ('arm*') or +# where ARM optimizations were explicitly requested (this allows a fallback if a +# future host CPU does not match 'arm*') + +AM_CONDITIONAL([PNG_ARM_NEON], + [test "$enable_arm_neon" != 'no' && + case "$host_cpu" in + arm*|aarch64*) :;; + *) test "$enable_arm_neon" != '';; + esac]) + AC_CONFIG_FILES([Makefile include/Makefile]) AC_OUTPUT diff --git a/Build/source/libs/libpng/include/Makefile.in b/Build/source/libs/libpng/include/Makefile.in index 4c011906a86..b511c9fc201 100644 --- a/Build/source/libs/libpng/include/Makefile.in +++ b/Build/source/libs/libpng/include/Makefile.in @@ -130,6 +130,9 @@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ -- cgit v1.2.3