#  Copyright 1999-2021 ImageMagick Studio LLC, a non-profit organization
#  dedicated to making software imaging solutions freely available.
#
#  You may not use this file except in compliance with the License.  You may
#  obtain a copy of the License at
#
#    https://imagemagick.org/script/license.php
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
#
#  Makefile for building ImageMagick m4 macros.

M4_EXTRA_DIST =  \
  ac_func_fseeko.m4  \
  ax_append_flag.m4  \
  ax_c___attribute__.m4  \
  ax_cflags_warn_all.m4  \
  ax_check_framework.m4  \
  ax_compare_version.m4  \
  ax_cxx_bool.m4  \
  ax_cxx_namespaces.m4  \
  ax_cxx_namespace_std.m4  \
  ax_lang_compiler_ms.m4  \
  ax_have_opencl.m4  \
  ax_prefix_config_h.m4  \
  ax_prog_perl_version.m4  \
  ax_pthread.m4  \
  ax_require_defined.m4  \
  cxx_have_lstring.m4  \
  cxx_have_std_libs.m4  \
  framework.m4  \
  libtool.m4  \
  lt~obsolete.m4  \
  ltoptions.m4  \
  ltsugar.m4  \
  ltversion.m4  \
  magick_check_pthread_lib.m4  \
  pkg.m4 \
  version.m4
