From b31cbc90a432b9ac04a608429053555afecd0223 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 11 Jan 2016 10:21:30 +0000 Subject: [PATCH] 2.5.11. --- COPYING | 55 + Makefile.am | 30 + Makefile.in | 838 ++ README | 1052 ++ aclocal.m4 | 1158 ++ build-aux/compile | 347 + build-aux/config.guess | 1568 +++ build-aux/config.sub | 1793 +++ build-aux/depcomp | 791 ++ build-aux/install-sh | 527 + build-aux/ltmain.sh | 9656 +++++++++++++ build-aux/missing | 215 + build-aux/test-driver | 139 + configure | 19385 +++++++++++++++++++++++++++ configure.ac | 143 + m4/ax_lib_expat.m4 | 281 + m4/ax_lib_openssl.m4 | 290 + m4/ax_lib_xerces.m4 | 297 + m4/az_python.m4 | 533 + m4/libtool.m4 | 7982 +++++++++++ m4/ltoptions.m4 | 384 + m4/ltsugar.m4 | 123 + m4/ltversion.m4 | 23 + m4/lt~obsolete.m4 | 98 + src/AS_02.h | 498 + src/AS_02_JP2K.cpp | 497 + src/AS_02_PCM.cpp | 600 + src/AS_02_PHDR.cpp | 776 ++ src/AS_02_PHDR.h | 191 + src/AS_02_TimedText.cpp | 745 + src/AS_02_internal.h | 330 + src/AS_DCP.cpp | 164 + src/AS_DCP.h | 1931 +++ src/AS_DCP_AES.cpp | 450 + src/AS_DCP_ATMOS.cpp | 491 + src/AS_DCP_DCData.cpp | 586 + src/AS_DCP_DCData_internal.h | 94 + src/AS_DCP_JP2K.cpp | 1382 ++ src/AS_DCP_MPEG2.cpp | 762 ++ src/AS_DCP_MXF.cpp | 658 + src/AS_DCP_PCM.cpp | 754 ++ src/AS_DCP_TimedText.cpp | 812 ++ src/AS_DCP_internal.h | 894 ++ src/AtmosSyncChannel_Generator.cpp | 149 + src/AtmosSyncChannel_Generator.h | 151 + src/AtmosSyncChannel_Mixer.cpp | 368 + src/AtmosSyncChannel_Mixer.h | 94 + src/CRC16.c | 86 + src/CRC16.h | 45 + src/DCData_ByteStream_Parser.cpp | 120 + src/DCData_Sequence_Parser.cpp | 292 + src/Dict.cpp | 321 + src/Index.cpp | 243 + src/JP2K.cpp | 284 + src/JP2K.h | 230 + src/JP2K_Codestream_Parser.cpp | 220 + src/JP2K_Sequence_Parser.cpp | 391 + src/KLV.cpp | 321 + src/KLV.h | 261 + src/KM_error.h | 194 + src/KM_fileio.cpp | 1804 +++ src/KM_fileio.h | 388 + src/KM_log.cpp | 385 + src/KM_log.h | 328 + src/KM_memio.h | 254 + src/KM_mutex.h | 89 + src/KM_platform.h | 247 + src/KM_prng.cpp | 268 + src/KM_prng.h | 62 + src/KM_tai.cpp | 221 + src/KM_tai.h | 107 + src/KM_util.cpp | 1251 ++ src/KM_util.h | 553 + src/KM_xml.cpp | 1124 ++ src/KM_xml.h | 152 + src/MDD.cpp | 1195 ++ src/MDD.h | 439 + src/MPEG.cpp | 295 + src/MPEG.h | 244 + src/MPEG2_Parser.cpp | 612 + src/MXF.cpp | 1841 +++ src/MXF.h | 555 + src/MXFTypes.cpp | 773 ++ src/MXFTypes.h | 548 + src/Makefile.am | 367 + src/Makefile.in | 2294 ++++ src/Metadata.cpp | 3779 ++++++ src/Metadata.h | 1043 ++ src/PCMDataProviders.cpp | 210 + src/PCMDataProviders.h | 119 + src/PCMParserList.cpp | 305 + src/PCMParserList.h | 89 + src/PCM_Parser.cpp | 260 + src/PHDR_Sequence_Parser.cpp | 405 + src/S12MTimecode.h | 158 + src/ST2052_TextParser.cpp | 498 + src/ST2095_PinkNoise.cpp | 184 + src/ST2095_PinkNoise.h | 113 + src/SyncCommon.h | 80 + src/SyncEncoder.c | 346 + src/SyncEncoder.h | 86 + src/TimedText_Parser.cpp | 459 + src/UUIDInformation.c | 119 + src/UUIDInformation.h | 58 + src/Wav.cpp | 597 + src/Wav.h | 167 + src/WavFileWriter.h | 213 + src/as-02-unwrap.cpp | 631 + src/as-02-wrap.cpp | 987 ++ src/asdcp-info.cpp | 728 + src/asdcp-mem-test.cpp | 148 + src/asdcp-test.cpp | 2095 +++ src/asdcp-unwrap.cpp | 1040 ++ src/asdcp-util.cpp | 292 + src/asdcp-version.cpp | 46 + src/asdcp-wrap.cpp | 1735 +++ src/blackwave.cpp | 251 + src/fips-186-rng-test.cpp | 96 + src/fips-186-test-harness.pl | 1318 ++ src/gen-tst.sh | 28 + src/h__02_Reader.cpp | 484 + src/h__02_Writer.cpp | 379 + src/h__Reader.cpp | 454 + src/h__Writer.cpp | 373 + src/j2c-test.cpp | 280 + src/jp2k-crypt-tst.sh | 58 + src/jp2k-stereo-crypt-tst.sh | 56 + src/jp2k-stereo-tst.sh | 47 + src/jp2k-tst.sh | 54 + src/klvsplit.cpp | 342 + src/klvwalk.cpp | 372 + src/kmfilegen.cpp | 617 + src/kmrandgen.cpp | 292 + src/kmuuidgen.cpp | 195 + src/mpeg-crypt-tst.sh | 52 + src/mpeg-tst.sh | 49 + src/path-test.cpp | 153 + src/phdr-unwrap.cpp | 442 + src/phdr-wrap.cpp | 674 + src/pinkwave.cpp | 269 + src/rng-tst.sh | 28 + src/wav-crypt-tst.sh | 69 + src/wav-tst.sh | 42 + src/wavesplit.cpp | 397 + win32/Makefile.am | 29 + win32/Makefile.in | 478 + win32/Makefile.mak | 176 + win32/Makefile.wmk | 176 + win32/README.txt | 65 + 149 files changed, 106274 insertions(+) create mode 100644 COPYING create mode 100644 Makefile.am create mode 100644 Makefile.in create mode 100755 README create mode 100644 aclocal.m4 create mode 100755 build-aux/compile create mode 100755 build-aux/config.guess create mode 100755 build-aux/config.sub create mode 100755 build-aux/depcomp create mode 100755 build-aux/install-sh create mode 100644 build-aux/ltmain.sh create mode 100755 build-aux/missing create mode 100755 build-aux/test-driver create mode 100755 configure create mode 100644 configure.ac create mode 100644 m4/ax_lib_expat.m4 create mode 100644 m4/ax_lib_openssl.m4 create mode 100644 m4/ax_lib_xerces.m4 create mode 100644 m4/az_python.m4 create mode 100644 m4/libtool.m4 create mode 100644 m4/ltoptions.m4 create mode 100644 m4/ltsugar.m4 create mode 100644 m4/ltversion.m4 create mode 100644 m4/lt~obsolete.m4 create mode 100644 src/AS_02.h create mode 100644 src/AS_02_JP2K.cpp create mode 100644 src/AS_02_PCM.cpp create mode 100644 src/AS_02_PHDR.cpp create mode 100644 src/AS_02_PHDR.h create mode 100644 src/AS_02_TimedText.cpp create mode 100644 src/AS_02_internal.h create mode 100755 src/AS_DCP.cpp create mode 100755 src/AS_DCP.h create mode 100755 src/AS_DCP_AES.cpp create mode 100644 src/AS_DCP_ATMOS.cpp create mode 100644 src/AS_DCP_DCData.cpp create mode 100644 src/AS_DCP_DCData_internal.h create mode 100755 src/AS_DCP_JP2K.cpp create mode 100755 src/AS_DCP_MPEG2.cpp create mode 100755 src/AS_DCP_MXF.cpp create mode 100755 src/AS_DCP_PCM.cpp create mode 100644 src/AS_DCP_TimedText.cpp create mode 100755 src/AS_DCP_internal.h create mode 100644 src/AtmosSyncChannel_Generator.cpp create mode 100644 src/AtmosSyncChannel_Generator.h create mode 100644 src/AtmosSyncChannel_Mixer.cpp create mode 100644 src/AtmosSyncChannel_Mixer.h create mode 100644 src/CRC16.c create mode 100644 src/CRC16.h create mode 100644 src/DCData_ByteStream_Parser.cpp create mode 100644 src/DCData_Sequence_Parser.cpp create mode 100755 src/Dict.cpp create mode 100755 src/Index.cpp create mode 100755 src/JP2K.cpp create mode 100755 src/JP2K.h create mode 100755 src/JP2K_Codestream_Parser.cpp create mode 100755 src/JP2K_Sequence_Parser.cpp create mode 100755 src/KLV.cpp create mode 100755 src/KLV.h create mode 100755 src/KM_error.h create mode 100644 src/KM_fileio.cpp create mode 100755 src/KM_fileio.h create mode 100755 src/KM_log.cpp create mode 100755 src/KM_log.h create mode 100755 src/KM_memio.h create mode 100755 src/KM_mutex.h create mode 100644 src/KM_platform.h create mode 100755 src/KM_prng.cpp create mode 100755 src/KM_prng.h create mode 100644 src/KM_tai.cpp create mode 100644 src/KM_tai.h create mode 100755 src/KM_util.cpp create mode 100755 src/KM_util.h create mode 100644 src/KM_xml.cpp create mode 100644 src/KM_xml.h create mode 100644 src/MDD.cpp create mode 100755 src/MDD.h create mode 100755 src/MPEG.cpp create mode 100755 src/MPEG.h create mode 100755 src/MPEG2_Parser.cpp create mode 100755 src/MXF.cpp create mode 100755 src/MXF.h create mode 100755 src/MXFTypes.cpp create mode 100755 src/MXFTypes.h create mode 100644 src/Makefile.am create mode 100644 src/Makefile.in create mode 100755 src/Metadata.cpp create mode 100755 src/Metadata.h create mode 100644 src/PCMDataProviders.cpp create mode 100644 src/PCMDataProviders.h create mode 100755 src/PCMParserList.cpp create mode 100755 src/PCMParserList.h create mode 100755 src/PCM_Parser.cpp create mode 100755 src/PHDR_Sequence_Parser.cpp create mode 100644 src/S12MTimecode.h create mode 100644 src/ST2052_TextParser.cpp create mode 100644 src/ST2095_PinkNoise.cpp create mode 100644 src/ST2095_PinkNoise.h create mode 100644 src/SyncCommon.h create mode 100644 src/SyncEncoder.c create mode 100644 src/SyncEncoder.h create mode 100644 src/TimedText_Parser.cpp create mode 100644 src/UUIDInformation.c create mode 100644 src/UUIDInformation.h create mode 100755 src/Wav.cpp create mode 100755 src/Wav.h create mode 100755 src/WavFileWriter.h create mode 100755 src/as-02-unwrap.cpp create mode 100755 src/as-02-wrap.cpp create mode 100755 src/asdcp-info.cpp create mode 100755 src/asdcp-mem-test.cpp create mode 100755 src/asdcp-test.cpp create mode 100755 src/asdcp-unwrap.cpp create mode 100755 src/asdcp-util.cpp create mode 100755 src/asdcp-version.cpp create mode 100755 src/asdcp-wrap.cpp create mode 100644 src/blackwave.cpp create mode 100755 src/fips-186-rng-test.cpp create mode 100755 src/fips-186-test-harness.pl create mode 100755 src/gen-tst.sh create mode 100644 src/h__02_Reader.cpp create mode 100644 src/h__02_Writer.cpp create mode 100755 src/h__Reader.cpp create mode 100755 src/h__Writer.cpp create mode 100755 src/j2c-test.cpp create mode 100755 src/jp2k-crypt-tst.sh create mode 100755 src/jp2k-stereo-crypt-tst.sh create mode 100755 src/jp2k-stereo-tst.sh create mode 100755 src/jp2k-tst.sh create mode 100755 src/klvsplit.cpp create mode 100755 src/klvwalk.cpp create mode 100755 src/kmfilegen.cpp create mode 100644 src/kmrandgen.cpp create mode 100644 src/kmuuidgen.cpp create mode 100755 src/mpeg-crypt-tst.sh create mode 100755 src/mpeg-tst.sh create mode 100644 src/path-test.cpp create mode 100755 src/phdr-unwrap.cpp create mode 100755 src/phdr-wrap.cpp create mode 100644 src/pinkwave.cpp create mode 100755 src/rng-tst.sh create mode 100755 src/wav-crypt-tst.sh create mode 100755 src/wav-tst.sh create mode 100755 src/wavesplit.cpp create mode 100755 win32/Makefile.am create mode 100644 win32/Makefile.in create mode 100644 win32/Makefile.mak create mode 100755 win32/Makefile.wmk create mode 100755 win32/README.txt diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..3c09d56 --- /dev/null +++ b/COPYING @@ -0,0 +1,55 @@ + +AS-DCP Lib is Copyright (c) 2003-2012, John Hurst +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +IMF Essence Component (AS-02) implementation: +(AS_02.h AS_02_internal.h AS_02_JP2K.cpp AS_02_MXF.cpp AS_02_PCM.cpp + as-02-unwrap.cpp as-02-wrap.cpp h__02_Reader.cpp h__02_Writer.cpp) +Copyright (c) 2011-2012, Robert Scheler, Heiko Sparenberg Fraunhofer IIS, John Hurst +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..d814bed --- /dev/null +++ b/Makefile.am @@ -0,0 +1,30 @@ +## Makefile.am -- Process this file with automake to produce Makefile.in +# +# $Id: Makefile.am,v 1.5 2009/04/09 19:25:39 msheby Exp $ +# Copyright (c) 2007-2009 John Hurst. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +SUBDIRS = src win32 + +ACLOCAL_AMFLAGS = -I m4 diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..435b67f --- /dev/null +++ b/Makefile.in @@ -0,0 +1,838 @@ +# Makefile.in generated by automake 1.14.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + +# This Makefile.in 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# +# $Id: Makefile.am,v 1.5 2009/04/09 19:25:39 msheby Exp $ +# Copyright (c) 2007-2009 John Hurst. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +VPATH = @srcdir@ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = . +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/configure $(am__configure_deps) COPYING README \ + build-aux/compile build-aux/config.guess build-aux/config.sub \ + build-aux/depcomp build-aux/install-sh build-aux/missing \ + build-aux/ltmain.sh $(top_srcdir)/build-aux/compile \ + $(top_srcdir)/build-aux/config.guess \ + $(top_srcdir)/build-aux/config.sub \ + $(top_srcdir)/build-aux/install-sh \ + $(top_srcdir)/build-aux/ltmain.sh \ + $(top_srcdir)/build-aux/missing +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_lib_expat.m4 \ + $(top_srcdir)/m4/ax_lib_openssl.m4 \ + $(top_srcdir)/m4/ax_lib_xerces.m4 \ + $(top_srcdir)/m4/az_python.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + cscope distdir dist dist-all distcheck +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +CSCOPE = cscope +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi +am__post_remove_distdir = $(am__remove_distdir) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +DIST_TARGETS = dist-gzip +distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +EXPAT_CFLAGS = @EXPAT_CFLAGS@ +EXPAT_LDFLAGS = @EXPAT_LDFLAGS@ +EXPAT_VERSION = @EXPAT_VERSION@ +FGREP = @FGREP@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OPENSSL_CPPFLAGS = @OPENSSL_CPPFLAGS@ +OPENSSL_LDFLAGS = @OPENSSL_LDFLAGS@ +OPENSSL_LIBS = @OPENSSL_LIBS@ +OPENSSL_VERSION = @OPENSSL_VERSION@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PYTHON = @PYTHON@ +PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ +PYTHON_CSPEC = @PYTHON_CSPEC@ +PYTHON_EXECDIR = @PYTHON_EXECDIR@ +PYTHON_EXECPREFIX = @PYTHON_EXECPREFIX@ +PYTHON_LDFLAGS = @PYTHON_LDFLAGS@ +PYTHON_LSPEC = @PYTHON_LSPEC@ +PYTHON_PREFIX = @PYTHON_PREFIX@ +PYTHON_SHORTVERSION = @PYTHON_SHORTVERSION@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +XERCES_CPPFLAGS = @XERCES_CPPFLAGS@ +XERCES_LDFLAGS = @XERCES_LDFLAGS@ +XERCES_LIBS = @XERCES_LIBS@ +XERCES_VERSION = @XERCES_VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = src win32 +ACLOCAL_AMFLAGS = -I m4 +all: all-recursive + +.SUFFIXES: +am--refresh: Makefile + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + $(am__cd) $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool config.lt + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscope: cscope.files + test ! -s cscope.files \ + || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) +clean-cscope: + -rm -f cscope.files +cscope.files: clean-cscope cscopelist +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files + +distdir: $(DISTFILES) + $(am__remove_distdir) + test -d "$(distdir)" || mkdir "$(distdir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done + -test -n "$(am__skip_mode_fix)" \ + || find "$(distdir)" -type d ! -perm -755 \ + -exec chmod u+rwx,go+rx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r "$(distdir)" +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__post_remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__post_remove_distdir) + +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz + $(am__post_remove_distdir) + +dist-xz: distdir + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(am__post_remove_distdir) + +dist-tarZ: distdir + @echo WARNING: "Support for shar distribution archives is" \ + "deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__post_remove_distdir) + +dist-shar: distdir + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__post_remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__post_remove_distdir) + +dist dist-all: + $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' + $(am__post_remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ + *.tar.xz*) \ + xz -dc $(distdir).tar.xz | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir) + chmod u+w $(distdir) + mkdir $(distdir)/_build $(distdir)/_inst + chmod a-w $(distdir) + test -d $(distdir)/_build || exit 0; \ + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && am__cwd=`pwd` \ + && $(am__cd) $(distdir)/_build \ + && ../configure \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + --srcdir=.. --prefix="$$dc_install_base" \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ + && cd "$$am__cwd" \ + || exit 1 + $(am__post_remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ + am--refresh check check-am clean clean-cscope clean-generic \ + clean-libtool cscope cscopelist-am ctags ctags-am dist \ + dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ + dist-xz dist-zip distcheck distclean distclean-generic \ + distclean-libtool distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/README b/README new file mode 100755 index 0000000..5f2ece9 --- /dev/null +++ b/README @@ -0,0 +1,1052 @@ + +$Id: README,v 1.97 2015/11/10 19:40:55 jhurst Exp $ + +The asdcplib library is a set of objects that offer +simplified access to files conforming to the sound and +picture track file formats developed by the SMPTE Working +Group DC28.20 (now TC 21DC). + +Recently, support has also been added for SMPTE draft ST +2067-5 "IMF Essence Component", AKA "AS-02". This code was +donated by Fraunhofer IIS. It carries additional copyright +information which should be listed whenever you link the +AS-02 elements of the library. Please look at the top of +the AS-02 files to see this copyright information. + +AS-02 support is carried in separate object modules, so +unless you #include and link libas-02.so you are +still using plain old asdcp. + +This work was originally funded by Digital Cinema Initiatives, +LLC (DCI). Subsequent efforts have been funded by Deluxe +Laboratories, Doremi Labs, CineCert LLC, Avica Technology +and others. + +**The asdcplib project was originally housed on SourceForge. +The project has moved to http://www.cinecert.com/asdcplib/ + +The project formerly depended upon the mxflib project. Because +of its focus on covering the whole of the MXF specifications, +mxflib is considerably larger and more complex that what I +require for this application. For this reason I have created +a dedicated MXF implementation that is now part of this +library. Special thanks to Matt Beard and Oliver Morgan for +their great work and support. + +Thanks also to the members of the SMPTE DC28.20 packaging +ad-hoc group and the members of the MXF Interop Initiative +for their encouragement and support. Special thanks to +Jim Whittlesey and Howard Lukk at DCI for proposing and +supporting this project. + + +Design Notes + +This library is intended (but of course not limited) for +use by developers of commercial D-Cinema products (and now +IMF!). It is designed to be easily integrated into a wide +variety of development environments. Commercial users are +strongly urged to use static linking (at least where you use +this library) to prevent malicious in-field replacement of +critical system modules. This recommendation should be +considered wherever Open Source or Free software is being +used in conjunction with critical security parameters, such +as cryptographic keys. + +The author strives mightily to provide an API that is completely +independent of operating system and other library dependencies, +and which allows selective replacement of some modules for +local needs. Specifically, the essence parsers and OpenSSL +crypto functions can be replaced by linking to alternative +implementations of the ASDCP:: objects which provide those +services. + +AS_DCP.h contains the entire AS-DCP API. You do not need to +read any of the other files, except maybe asdcp-test.cpp which +contains detailed usage examples of each of the API's services. +The KM_* files may be of interest for general development +support, but may be ignored if all you want is simple AS-DCP +support. + +Likewise, draft 2067-5 "IMF Essence Component" (AS-02) support +is entirely contained in AS-02.h + + +Build Instructions + +On more-or-less POSIX systems (OS X, Linux, and BSD), GNU make and +autotools are required to build asdcplib. The same configure script +will also build this package on Windows machines with Cygwin and +MinGW installed. For those Windows users who would prefer to build +this natively, an "nmake" build file and instructions can be found +in the win32 subdirectory. + +OpenSSL is also required, any recent version should be fine. See +http://www.openssl.org/ for more information and download instructions. + +Optional support for writing Timed Text Track Files is supported by +either Xerces-C or Expat. See http://xerces.apache.org/xerces-c/ or +http://expat.sourceforge.net/ for source and build instructions. + +To configure and build, type './configure' followed by 'make'. There +are several test targets on the POSIX side, but you need to assemble +a set of test files to use them. AS-02 support can be enabled with + --enable-as-02. + +I have tested this build on win32, Linux, OpenBSD, and Darwin +platforms. Others may work as well. + + + + +Utilities + +asdcp-test - Writes, reads and verifies AS-DCP (MXF) track files. + +asdcp-wrap - Writes AS-DCP (MXF) track files. + +asdcp-unwrap - Extracts essence from AS-DCP (MXF) track files. + +asdcp-info - Displays information about AS-DCP (MXF) track files. + +asdcp-util - Calculates digests and generates random numbers and UUIDs. + +as-02-wrap - Writes AS-02 Essence Component files. + +as-02-unwrap - Extracts essence from AS-02 Essence Component files. + +kmfilegen - Writes and verifies large files using a platform- +independent format. Use it to test issues related to large files. + +kmuuidgen, kmrandgen - generate UUID values and random numbers. + +wavesplit - Splits a WAVE file into two or more output files. Used + to untangle incorrectly-paired DCDM sound files. + +blackwave - Write a WAVE file full of zeros, Used to make filler + tracks (though you would be better off modifying asdcp-test if + this is a common use case). + +j2c-test - Displays information about JP2K codestreams. + +Experimental feature: Prototype for High Dynamic Range is a wrapper +for the IMF application that allows JPEG-2000 codestreams to be paired +with opaque blobs of metadata. AS-02 support must be enabled to +build this feature, so --enable-as-02 must be enabled if +--enable-phdr is to be used. The following executable programs will be +built: + +phdr-wrap - Writes AS-02 PHDR Essence Component files. + +phdr-unwrap - Extracts essence from AS-02 PHDR Essence Component files. + + +Documentation + +The API documentation is mostly in AS_DCP.h. and AS_02.h Read those +files for a detailed description of the library's capabilities. Read +asdcp-*.cpp and as-02-*.cpp files for library usage examples. The +command-line utilities all respond to -h. + + +Change History + +2015-11-10 - bug fixes, IMF text, pink noise + o I moved personal dev environment from older gcc to newer clang. Many + small changes were made to satisfy the new compiler: + - Altered many printf format codes to use the correct format for the + given integer type. + - Parenthesized some expressions to clarify previously ambiguous + expectation about precedence. + - Created macro KM_MACOSX for use in OS-specific code selection. + - Removed last uses of the old C-language abs(), now using Kumu::xabs(). + - Removed last uses of the old C-language atoi(), not using strtol(). + o Added platform-independent call Kumu::GetExecutablePath() (to be tested + on win32). + o Added new capabilities to Result_t. + o Added imlementation of SMPTE ST 2092-1 pink noise generator. + o Added pinkwave CLI utility. + o Added font support to the IMF timed-text wrapper. + o Fixed a bug that was causing Array properties to be written without + the (count, length) header (from PAL). + o General review of Batch/Array distinction throughout the project. + o Cleaned up definitions of optional properties in all MXF metadata packs. + o Fixed Win32 build (from Crowe). + o Fixed a bug that caused incorrect failure when parsing JPEG 2000 + codestreams having fewer than five decomposition levels. (from Korneder). + o Fixed missing UUID generation in some instances of the MCALinkID property. + o Added -w option to asdcp-wrap to support use of WTF label with MCA. + o Altered asdcp-wrap to recognize "-C