suricodes commited on
Commit
b5b8584
·
verified ·
1 Parent(s): 94d1ac1

Upload folder using huggingface_hub

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. lm/irstlm/CMakeLists.txt +52 -0
  2. lm/irstlm/Copyright +21 -0
  3. lm/irstlm/Makefile +835 -0
  4. lm/irstlm/Makefile.am +17 -0
  5. lm/irstlm/Makefile.in +835 -0
  6. lm/irstlm/README +45 -0
  7. lm/irstlm/RELEASE +1 -0
  8. lm/irstlm/aclocal.m4 +1200 -0
  9. lm/irstlm/ar-lib +1 -0
  10. lm/irstlm/autom4te.cache/output.0 +0 -0
  11. lm/irstlm/autom4te.cache/output.1 +0 -0
  12. lm/irstlm/autom4te.cache/output.2 +0 -0
  13. lm/irstlm/autom4te.cache/requests +523 -0
  14. lm/irstlm/autom4te.cache/traces.0 +0 -0
  15. lm/irstlm/autom4te.cache/traces.1 +663 -0
  16. lm/irstlm/autom4te.cache/traces.2 +0 -0
  17. lm/irstlm/branches/binary_saving/Copyright +21 -0
  18. lm/irstlm/branches/binary_saving/Makefile.am +10 -0
  19. lm/irstlm/branches/binary_saving/README +40 -0
  20. lm/irstlm/branches/binary_saving/RELEASE +1 -0
  21. lm/irstlm/branches/binary_saving/config.h.in +62 -0
  22. lm/irstlm/branches/binary_saving/configure.in +132 -0
  23. lm/irstlm/branches/binary_saving/irstlm.xcodeproj/project.pbxproj +1431 -0
  24. lm/irstlm/branches/binary_saving/m4/ax_boost_base.m4 +223 -0
  25. lm/irstlm/branches/binary_saving/m4/ax_boost_thread.m4 +143 -0
  26. lm/irstlm/branches/binary_saving/m4/ax_xmlrpc_c.m4 +52 -0
  27. lm/irstlm/branches/binary_saving/make-release +37 -0
  28. lm/irstlm/branches/binary_saving/regenerate-makefiles.sh +58 -0
  29. lm/irstlm/branches/binary_saving/scripts/Makefile.am +19 -0
  30. lm/irstlm/branches/binary_saving/scripts/add-start-end.sh +8 -0
  31. lm/irstlm/branches/binary_saving/scripts/build-lm-qsub.sh +315 -0
  32. lm/irstlm/branches/binary_saving/scripts/build-lm.sh +216 -0
  33. lm/irstlm/branches/binary_saving/scripts/build-sublm.pl +339 -0
  34. lm/irstlm/branches/binary_saving/scripts/goograms2ngrams.pl +139 -0
  35. lm/irstlm/branches/binary_saving/scripts/lm-stat.pl +56 -0
  36. lm/irstlm/branches/binary_saving/scripts/merge-sublm.pl +196 -0
  37. lm/irstlm/branches/binary_saving/scripts/ngram-split.pl +61 -0
  38. lm/irstlm/branches/binary_saving/scripts/other/astyle_Darwin +0 -0
  39. lm/irstlm/branches/binary_saving/scripts/other/astyle_Linux +0 -0
  40. lm/irstlm/branches/binary_saving/scripts/other/beautify.perl +22 -0
  41. lm/irstlm/branches/binary_saving/scripts/rm-start-end.sh +6 -0
  42. lm/irstlm/branches/binary_saving/scripts/sort-lm.pl +120 -0
  43. lm/irstlm/branches/binary_saving/scripts/split-dict.pl +150 -0
  44. lm/irstlm/branches/binary_saving/scripts/split-ngt.sh +42 -0
  45. lm/irstlm/branches/binary_saving/scripts/wrapper +10 -0
  46. lm/irstlm/branches/binary_saving/src/Makefile.am +86 -0
  47. lm/irstlm/branches/binary_saving/src/cmd.c +675 -0
  48. lm/irstlm/branches/binary_saving/src/cmd.h +71 -0
  49. lm/irstlm/branches/binary_saving/src/compile-lm.cpp +508 -0
  50. lm/irstlm/branches/binary_saving/src/cplsa.cpp +405 -0
lm/irstlm/CMakeLists.txt ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #CMake 2.6+ is recommended to an improved Boost module
2
+ CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0 FATAL_ERROR)
3
+
4
+ PROJECT (irstlm)
5
+
6
+ SET(IRSTLM_VERSION_MAJOR "5")
7
+ SET(IRSTLM_VERSION_MINOR "80")
8
+ SET(IRSTLM_VERSION_PATCH "08")
9
+
10
+ MATH(EXPR IRSTLM_INT_VERSION "(${IRSTLM_VERSION_MAJOR} * 10000) + (${IRSTLM_VERSION_MINOR} * 100) + (${IRSTLM_VERSION_PATCH} * 1)" )
11
+
12
+ SET(IRSTLM_VERSION "${IRSTLM_VERSION_MAJOR}.${IRSTLM_VERSION_MINOR}.${IRSTLM_VERSION_PATCH}")
13
+
14
+ #ADD_DEFINITIONS(-DPS_CACHE_ENABLE)
15
+
16
+ IF(COMMAND cmake_policy)
17
+ cmake_policy(SET CMP0017 NEW)
18
+ ENDIF(COMMAND cmake_policy)
19
+
20
+ IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
21
+ SET(CMAKE_INSTALL_PREFIX
22
+ "${CMAKE_SOURCE_DIR}/inst" CACHE PATH "IRSTLM install prefix" FORCE
23
+ )
24
+ MESSAGE(STATUS "You have not set the install dir, default to ${CMAKE_INSTALL_PREFIX}, if
25
+ you want to set it, use cmake -DCMAKE_INSTALL_PREFIX to do so")
26
+ ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
27
+
28
+ #set various platform specific global options
29
+ IF(WIN32)
30
+ SET(CMAKE_DEBUG_POSTFIX "d")
31
+ OPTION( USE_64_BIT "Set to on if you want to compile Win64" OFF )
32
+ ENDIF(WIN32)
33
+
34
+
35
+ # include specific modules
36
+ SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
37
+
38
+ ADD_SUBDIRECTORY (src)
39
+ ADD_SUBDIRECTORY (scripts)
40
+ ADD_SUBDIRECTORY (doc)
41
+
42
+ IF (WIN32)
43
+ MESSAGE( STATUS "-------------------------------------------------------------------------------" )
44
+ MESSAGE( STATUS "USE_64_BIT = ${USE_64_BIT}" )
45
+ MESSAGE( STATUS "Change a value with: cmake -D<Variable>=<Value>" )
46
+ MESSAGE( STATUS "-------------------------------------------------------------------------------" )
47
+
48
+
49
+ SET( USE_64_BIT "${USE_64_BIT}" CACHE BOOL
50
+ "Set to ON to build Win64" FORCE )
51
+ ENDIF()
52
+
lm/irstlm/Copyright ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // $Id: Copyright 3686 2010-10-15 11:55:32Z bertoldi $
2
+
3
+ /******************************************************************************
4
+ IrstLM: IRST Language Model Toolkit
5
+ Copyright (C) 2006 Marcello Federico, ITC-irst Trento, Italy
6
+
7
+ This library is free software; you can redistribute it and/or
8
+ modify it under the terms of the GNU Lesser General Public
9
+ License as published by the Free Software Foundation; either
10
+ version 2.1 of the License, or (at your option) any later version.
11
+
12
+ This library is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ Lesser General Public License for more details.
16
+
17
+ You should have received a copy of the GNU Lesser General Public
18
+ License along with this library; if not, write to the Free Software
19
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
+
21
+ ******************************************************************************/
lm/irstlm/Makefile ADDED
@@ -0,0 +1,835 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Makefile.in generated by automake 1.16.1 from Makefile.am.
2
+ # Makefile. Generated from Makefile.in by configure.
3
+
4
+ # Copyright (C) 1994-2018 Free Software Foundation, Inc.
5
+
6
+ # This Makefile.in is free software; the Free Software Foundation
7
+ # gives unlimited permission to copy and/or distribute it,
8
+ # with or without modifications, as long as this notice is preserved.
9
+
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12
+ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13
+ # PARTICULAR PURPOSE.
14
+
15
+
16
+
17
+ am__is_gnu_make = { \
18
+ if test -z '$(MAKELEVEL)'; then \
19
+ false; \
20
+ elif test -n '$(MAKE_HOST)'; then \
21
+ true; \
22
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
23
+ true; \
24
+ else \
25
+ false; \
26
+ fi; \
27
+ }
28
+ am__make_running_with_option = \
29
+ case $${target_option-} in \
30
+ ?) ;; \
31
+ *) echo "am__make_running_with_option: internal error: invalid" \
32
+ "target option '$${target_option-}' specified" >&2; \
33
+ exit 1;; \
34
+ esac; \
35
+ has_opt=no; \
36
+ sane_makeflags=$$MAKEFLAGS; \
37
+ if $(am__is_gnu_make); then \
38
+ sane_makeflags=$$MFLAGS; \
39
+ else \
40
+ case $$MAKEFLAGS in \
41
+ *\\[\ \ ]*) \
42
+ bs=\\; \
43
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
44
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
45
+ esac; \
46
+ fi; \
47
+ skip_next=no; \
48
+ strip_trailopt () \
49
+ { \
50
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
51
+ }; \
52
+ for flg in $$sane_makeflags; do \
53
+ test $$skip_next = yes && { skip_next=no; continue; }; \
54
+ case $$flg in \
55
+ *=*|--*) continue;; \
56
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
57
+ -*I?*) strip_trailopt 'I';; \
58
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
59
+ -*O?*) strip_trailopt 'O';; \
60
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
61
+ -*l?*) strip_trailopt 'l';; \
62
+ -[dEDm]) skip_next=yes;; \
63
+ -[JT]) skip_next=yes;; \
64
+ esac; \
65
+ case $$flg in \
66
+ *$$target_option*) has_opt=yes; break;; \
67
+ esac; \
68
+ done; \
69
+ test $$has_opt = yes
70
+ am__make_dryrun = (target_option=n; $(am__make_running_with_option))
71
+ am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
72
+ pkgdatadir = $(datadir)/irstlm
73
+ pkgincludedir = $(includedir)/irstlm
74
+ pkglibdir = $(libdir)/irstlm
75
+ pkglibexecdir = $(libexecdir)/irstlm
76
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
77
+ install_sh_DATA = $(install_sh) -c -m 644
78
+ install_sh_PROGRAM = $(install_sh) -c
79
+ install_sh_SCRIPT = $(install_sh) -c
80
+ INSTALL_HEADER = $(INSTALL_DATA)
81
+ NORMAL_INSTALL = :
82
+ PRE_INSTALL = :
83
+ POST_INSTALL = :
84
+ NORMAL_UNINSTALL = :
85
+ PRE_UNINSTALL = :
86
+ POST_UNINSTALL = :
87
+ build_triplet = x86_64-pc-linux-gnu
88
+ host_triplet = x86_64-pc-linux-gnu
89
+ subdir = .
90
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
91
+ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
92
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
93
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
94
+ $(top_srcdir)/configure.ac
95
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
96
+ $(ACLOCAL_M4)
97
+ DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
98
+ $(am__configure_deps) $(am__DIST_COMMON)
99
+ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
100
+ configure.lineno config.status.lineno
101
+ mkinstalldirs = $(install_sh) -d
102
+ CONFIG_HEADER = config.h
103
+ CONFIG_CLEAN_FILES =
104
+ CONFIG_CLEAN_VPATH_FILES =
105
+ AM_V_P = $(am__v_P_$(V))
106
+ am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
107
+ am__v_P_0 = false
108
+ am__v_P_1 = :
109
+ AM_V_GEN = $(am__v_GEN_$(V))
110
+ am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
111
+ am__v_GEN_0 = @echo " GEN " $@;
112
+ am__v_GEN_1 =
113
+ AM_V_at = $(am__v_at_$(V))
114
+ am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
115
+ am__v_at_0 = @
116
+ am__v_at_1 =
117
+ SOURCES =
118
+ DIST_SOURCES =
119
+ RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
120
+ ctags-recursive dvi-recursive html-recursive info-recursive \
121
+ install-data-recursive install-dvi-recursive \
122
+ install-exec-recursive install-html-recursive \
123
+ install-info-recursive install-pdf-recursive \
124
+ install-ps-recursive install-recursive installcheck-recursive \
125
+ installdirs-recursive pdf-recursive ps-recursive \
126
+ tags-recursive uninstall-recursive
127
+ am__can_run_installinfo = \
128
+ case $$AM_UPDATE_INFO_DIR in \
129
+ n|no|NO) false;; \
130
+ *) (install-info --version) >/dev/null 2>&1;; \
131
+ esac
132
+ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
133
+ distclean-recursive maintainer-clean-recursive
134
+ am__recursive_targets = \
135
+ $(RECURSIVE_TARGETS) \
136
+ $(RECURSIVE_CLEAN_TARGETS) \
137
+ $(am__extra_recursive_targets)
138
+ AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
139
+ cscope distdir distdir-am dist dist-all distcheck
140
+ am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
141
+ $(LISP)config.h.in
142
+ # Read a list of newline-separated strings from the standard input,
143
+ # and print each of them once, without duplicates. Input order is
144
+ # *not* preserved.
145
+ am__uniquify_input = $(AWK) '\
146
+ BEGIN { nonempty = 0; } \
147
+ { items[$$0] = 1; nonempty = 1; } \
148
+ END { if (nonempty) { for (i in items) print i; }; } \
149
+ '
150
+ # Make sure the list of sources is unique. This is necessary because,
151
+ # e.g., the same source file might be shared among _SOURCES variables
152
+ # for different programs/libraries.
153
+ am__define_uniq_tagged_files = \
154
+ list='$(am__tagged_files)'; \
155
+ unique=`for i in $$list; do \
156
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
157
+ done | $(am__uniquify_input)`
158
+ ETAGS = etags
159
+ CTAGS = ctags
160
+ CSCOPE = cscope
161
+ DIST_SUBDIRS = $(SUBDIRS)
162
+ am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in README \
163
+ ar-lib compile config.guess config.sub depcomp install-sh \
164
+ ltmain.sh missing
165
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
166
+ distdir = $(PACKAGE)-$(VERSION)
167
+ top_distdir = $(distdir)
168
+ am__remove_distdir = \
169
+ if test -d "$(distdir)"; then \
170
+ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
171
+ && rm -rf "$(distdir)" \
172
+ || { sleep 5 && rm -rf "$(distdir)"; }; \
173
+ else :; fi
174
+ am__post_remove_distdir = $(am__remove_distdir)
175
+ am__relativize = \
176
+ dir0=`pwd`; \
177
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
178
+ sed_rest='s,^[^/]*/*,,'; \
179
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
180
+ sed_butlast='s,/*[^/]*$$,,'; \
181
+ while test -n "$$dir1"; do \
182
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
183
+ if test "$$first" != "."; then \
184
+ if test "$$first" = ".."; then \
185
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
186
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
187
+ else \
188
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
189
+ if test "$$first2" = "$$first"; then \
190
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
191
+ else \
192
+ dir2="../$$dir2"; \
193
+ fi; \
194
+ dir0="$$dir0"/"$$first"; \
195
+ fi; \
196
+ fi; \
197
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
198
+ done; \
199
+ reldir="$$dir2"
200
+ DIST_ARCHIVES = $(distdir).tar.gz
201
+ GZIP_ENV = --best
202
+ DIST_TARGETS = dist-gzip
203
+ distuninstallcheck_listfiles = find . -type f -print
204
+ am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
205
+ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
206
+ distcleancheck_listfiles = find . -type f -print
207
+ transform = s/_lm/-lm/
208
+ ACLOCAL = ${SHELL} /home/nisheeth/MT/lm/irstlm/missing aclocal-1.16
209
+ AMTAR = $${TAR-tar}
210
+ AM_DEFAULT_VERBOSITY = 1
211
+ AR = ar
212
+ AUTOCONF = ${SHELL} /home/nisheeth/MT/lm/irstlm/missing autoconf
213
+ AUTOHEADER = ${SHELL} /home/nisheeth/MT/lm/irstlm/missing autoheader
214
+ AUTOMAKE = ${SHELL} /home/nisheeth/MT/lm/irstlm/missing automake-1.16
215
+ AWK = mawk
216
+ BIBTEX =
217
+ CC = gcc
218
+ CCDEPMODE = depmode=gcc3
219
+ CFLAGS = -g -O2
220
+ CPP = gcc -E
221
+ CPPFLAGS = -DTRACE_LEVEL=1 -DMY_ASSERT_FLAG
222
+ CXX = g++
223
+ CXXCPP = g++ -E
224
+ CXXDEPMODE = depmode=gcc3
225
+ CXXFLAGS = -g -O2
226
+ CYGPATH_W = echo
227
+ DEFS = -DHAVE_CONFIG_H
228
+ DEPDIR = .deps
229
+ DLLTOOL = false
230
+ DSYMUTIL =
231
+ DUMPBIN =
232
+ ECHO_C =
233
+ ECHO_N = -n
234
+ ECHO_T =
235
+ EGREP = /usr/bin/grep -E
236
+ EXEEXT =
237
+ FGREP = /usr/bin/grep -F
238
+ GREP = /usr/bin/grep
239
+ INSTALL = /usr/bin/install -c
240
+ INSTALL_DATA = ${INSTALL} -m 644
241
+ INSTALL_PROGRAM = ${INSTALL}
242
+ INSTALL_SCRIPT = ${INSTALL}
243
+ INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
244
+ LD = /usr/bin/ld -m elf_x86_64
245
+ LDFLAGS =
246
+ LIBOBJS =
247
+ LIBS = -lz
248
+ LIBTOOL = $(SHELL) $(top_builddir)/libtool
249
+ LIPO =
250
+ LN_S = ln -s
251
+ LTLIBOBJS =
252
+ LT_SYS_LIBRARY_PATH =
253
+ MAKEINFO = ${SHELL} /home/nisheeth/MT/lm/irstlm/missing makeinfo
254
+ MANIFEST_TOOL = :
255
+ MKDIR_P = /usr/bin/mkdir -p
256
+ NM = /usr/bin/nm -B
257
+ NMEDIT =
258
+ OBJDUMP = objdump
259
+ OBJEXT = o
260
+ OTOOL =
261
+ OTOOL64 =
262
+ PACKAGE = irstlm
263
+ PACKAGE_BUGREPORT =
264
+ PACKAGE_NAME = irstlm
265
+ PACKAGE_STRING = irstlm 5.80.06
266
+ PACKAGE_TARNAME = irstlm
267
+ PACKAGE_URL =
268
+ PACKAGE_VERSION = 5.80.06
269
+ PATH_SEPARATOR = :
270
+ PDFLATEX =
271
+ RANLIB = ranlib
272
+ SED = /usr/bin/sed
273
+ SET_MAKE =
274
+ SHELL = /bin/bash
275
+ STRIP = strip
276
+ VERSION = 5.80.06
277
+ abs_builddir = /home/nisheeth/MT/lm/irstlm
278
+ abs_srcdir = /home/nisheeth/MT/lm/irstlm
279
+ abs_top_builddir = /home/nisheeth/MT/lm/irstlm
280
+ abs_top_srcdir = /home/nisheeth/MT/lm/irstlm
281
+ ac_ct_AR = ar
282
+ ac_ct_CC = gcc
283
+ ac_ct_CXX = g++
284
+ ac_ct_DUMPBIN =
285
+ am__include = include
286
+ am__leading_dot = .
287
+ am__quote =
288
+ am__tar = $${TAR-tar} chof - "$$tardir"
289
+ am__untar = $${TAR-tar} xf -
290
+ bindir = ${exec_prefix}/bin
291
+ build = x86_64-pc-linux-gnu
292
+ build_alias =
293
+ build_cpu = x86_64
294
+ build_os = linux-gnu
295
+ build_vendor = pc
296
+ builddir = .
297
+ datadir = ${datarootdir}
298
+ datarootdir = ${prefix}/share
299
+ docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
300
+ dvidir = ${docdir}
301
+ exec_prefix = ${prefix}
302
+ host = x86_64-pc-linux-gnu
303
+ host_alias =
304
+ host_cpu = x86_64
305
+ host_os = linux-gnu
306
+ host_vendor = pc
307
+ htmldir = ${docdir}
308
+ includedir = ${prefix}/include
309
+ infodir = ${datarootdir}/info
310
+ install_sh = ${SHELL} /home/nisheeth/MT/lm/irstlm/install-sh
311
+ libdir = ${exec_prefix}/lib
312
+ libexecdir = ${exec_prefix}/libexec
313
+ localedir = ${datarootdir}/locale
314
+ localstatedir = ${prefix}/var
315
+ mandir = ${datarootdir}/man
316
+ mkdir_p = $(MKDIR_P)
317
+ oldincludedir = /usr/include
318
+ pdfdir = ${docdir}
319
+ prefix = /home/nisheeth/MT/lm/irstlm
320
+ program_transform_name = s,x,x,
321
+ psdir = ${docdir}
322
+ runstatedir = ${localstatedir}/run
323
+ sbindir = ${exec_prefix}/sbin
324
+ sharedstatedir = ${prefix}/com
325
+ srcdir = .
326
+ sysconfdir = ${prefix}/etc
327
+ target_alias =
328
+ top_build_prefix =
329
+ top_builddir = .
330
+ top_srcdir = .
331
+
332
+ # not a GNU package. You can remove this line, if
333
+ # have all needed files, that a GNU package needs
334
+ AUTOMAKE_OPTIONS = foreign
335
+ SUBDIRS = src scripts doc
336
+ EXTRA_DIST = README RELEASE Copyright
337
+ ACLOCAL_AMFLAGS = -I m4
338
+ all: config.h
339
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
340
+
341
+ .SUFFIXES:
342
+ am--refresh: Makefile
343
+ @:
344
+ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
345
+ @for dep in $?; do \
346
+ case '$(am__configure_deps)' in \
347
+ *$$dep*) \
348
+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
349
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
350
+ && exit 0; \
351
+ exit 1;; \
352
+ esac; \
353
+ done; \
354
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
355
+ $(am__cd) $(top_srcdir) && \
356
+ $(AUTOMAKE) --foreign Makefile
357
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
358
+ @case '$?' in \
359
+ *config.status*) \
360
+ echo ' $(SHELL) ./config.status'; \
361
+ $(SHELL) ./config.status;; \
362
+ *) \
363
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
364
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
365
+ esac;
366
+
367
+ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
368
+ $(SHELL) ./config.status --recheck
369
+
370
+ $(top_srcdir)/configure: $(am__configure_deps)
371
+ $(am__cd) $(srcdir) && $(AUTOCONF)
372
+ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
373
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
374
+ $(am__aclocal_m4_deps):
375
+
376
+ config.h: stamp-h1
377
+ @test -f $@ || rm -f stamp-h1
378
+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
379
+
380
+ stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
381
+ @rm -f stamp-h1
382
+ cd $(top_builddir) && $(SHELL) ./config.status config.h
383
+ $(srcdir)/config.h.in: $(am__configure_deps)
384
+ ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
385
+ rm -f stamp-h1
386
+ touch $@
387
+
388
+ distclean-hdr:
389
+ -rm -f config.h stamp-h1
390
+
391
+ mostlyclean-libtool:
392
+ -rm -f *.lo
393
+
394
+ clean-libtool:
395
+ -rm -rf .libs _libs
396
+
397
+ distclean-libtool:
398
+ -rm -f libtool config.lt
399
+
400
+ # This directory's subdirectories are mostly independent; you can cd
401
+ # into them and run 'make' without going through this Makefile.
402
+ # To change the values of 'make' variables: instead of editing Makefiles,
403
+ # (1) if the variable is set in 'config.status', edit 'config.status'
404
+ # (which will cause the Makefiles to be regenerated when you run 'make');
405
+ # (2) otherwise, pass the desired values on the 'make' command line.
406
+ $(am__recursive_targets):
407
+ @fail=; \
408
+ if $(am__make_keepgoing); then \
409
+ failcom='fail=yes'; \
410
+ else \
411
+ failcom='exit 1'; \
412
+ fi; \
413
+ dot_seen=no; \
414
+ target=`echo $@ | sed s/-recursive//`; \
415
+ case "$@" in \
416
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
417
+ *) list='$(SUBDIRS)' ;; \
418
+ esac; \
419
+ for subdir in $$list; do \
420
+ echo "Making $$target in $$subdir"; \
421
+ if test "$$subdir" = "."; then \
422
+ dot_seen=yes; \
423
+ local_target="$$target-am"; \
424
+ else \
425
+ local_target="$$target"; \
426
+ fi; \
427
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
428
+ || eval $$failcom; \
429
+ done; \
430
+ if test "$$dot_seen" = "no"; then \
431
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
432
+ fi; test -z "$$fail"
433
+
434
+ ID: $(am__tagged_files)
435
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
436
+ tags: tags-recursive
437
+ TAGS: tags
438
+
439
+ tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
440
+ set x; \
441
+ here=`pwd`; \
442
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
443
+ include_option=--etags-include; \
444
+ empty_fix=.; \
445
+ else \
446
+ include_option=--include; \
447
+ empty_fix=; \
448
+ fi; \
449
+ list='$(SUBDIRS)'; for subdir in $$list; do \
450
+ if test "$$subdir" = .; then :; else \
451
+ test ! -f $$subdir/TAGS || \
452
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
453
+ fi; \
454
+ done; \
455
+ $(am__define_uniq_tagged_files); \
456
+ shift; \
457
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
458
+ test -n "$$unique" || unique=$$empty_fix; \
459
+ if test $$# -gt 0; then \
460
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
461
+ "$$@" $$unique; \
462
+ else \
463
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
464
+ $$unique; \
465
+ fi; \
466
+ fi
467
+ ctags: ctags-recursive
468
+
469
+ CTAGS: ctags
470
+ ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
471
+ $(am__define_uniq_tagged_files); \
472
+ test -z "$(CTAGS_ARGS)$$unique" \
473
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
474
+ $$unique
475
+
476
+ GTAGS:
477
+ here=`$(am__cd) $(top_builddir) && pwd` \
478
+ && $(am__cd) $(top_srcdir) \
479
+ && gtags -i $(GTAGS_ARGS) "$$here"
480
+ cscope: cscope.files
481
+ test ! -s cscope.files \
482
+ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
483
+ clean-cscope:
484
+ -rm -f cscope.files
485
+ cscope.files: clean-cscope cscopelist
486
+ cscopelist: cscopelist-recursive
487
+
488
+ cscopelist-am: $(am__tagged_files)
489
+ list='$(am__tagged_files)'; \
490
+ case "$(srcdir)" in \
491
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
492
+ *) sdir=$(subdir)/$(srcdir) ;; \
493
+ esac; \
494
+ for i in $$list; do \
495
+ if test -f "$$i"; then \
496
+ echo "$(subdir)/$$i"; \
497
+ else \
498
+ echo "$$sdir/$$i"; \
499
+ fi; \
500
+ done >> $(top_builddir)/cscope.files
501
+
502
+ distclean-tags:
503
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
504
+ -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
505
+
506
+ distdir: $(BUILT_SOURCES)
507
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
508
+
509
+ distdir-am: $(DISTFILES)
510
+ $(am__remove_distdir)
511
+ test -d "$(distdir)" || mkdir "$(distdir)"
512
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
513
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
514
+ list='$(DISTFILES)'; \
515
+ dist_files=`for file in $$list; do echo $$file; done | \
516
+ sed -e "s|^$$srcdirstrip/||;t" \
517
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
518
+ case $$dist_files in \
519
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
520
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
521
+ sort -u` ;; \
522
+ esac; \
523
+ for file in $$dist_files; do \
524
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
525
+ if test -d $$d/$$file; then \
526
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
527
+ if test -d "$(distdir)/$$file"; then \
528
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
529
+ fi; \
530
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
531
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
532
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
533
+ fi; \
534
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
535
+ else \
536
+ test -f "$(distdir)/$$file" \
537
+ || cp -p $$d/$$file "$(distdir)/$$file" \
538
+ || exit 1; \
539
+ fi; \
540
+ done
541
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
542
+ if test "$$subdir" = .; then :; else \
543
+ $(am__make_dryrun) \
544
+ || test -d "$(distdir)/$$subdir" \
545
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
546
+ || exit 1; \
547
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
548
+ $(am__relativize); \
549
+ new_distdir=$$reldir; \
550
+ dir1=$$subdir; dir2="$(top_distdir)"; \
551
+ $(am__relativize); \
552
+ new_top_distdir=$$reldir; \
553
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
554
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
555
+ ($(am__cd) $$subdir && \
556
+ $(MAKE) $(AM_MAKEFLAGS) \
557
+ top_distdir="$$new_top_distdir" \
558
+ distdir="$$new_distdir" \
559
+ am__remove_distdir=: \
560
+ am__skip_length_check=: \
561
+ am__skip_mode_fix=: \
562
+ distdir) \
563
+ || exit 1; \
564
+ fi; \
565
+ done
566
+ $(MAKE) $(AM_MAKEFLAGS) \
567
+ top_distdir="$(top_distdir)" distdir="$(distdir)" \
568
+ dist-hook
569
+ -test -n "$(am__skip_mode_fix)" \
570
+ || find "$(distdir)" -type d ! -perm -755 \
571
+ -exec chmod u+rwx,go+rx {} \; -o \
572
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
573
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
574
+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
575
+ || chmod -R a+r "$(distdir)"
576
+ dist-gzip: distdir
577
+ tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
578
+ $(am__post_remove_distdir)
579
+
580
+ dist-bzip2: distdir
581
+ tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
582
+ $(am__post_remove_distdir)
583
+
584
+ dist-lzip: distdir
585
+ tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
586
+ $(am__post_remove_distdir)
587
+
588
+ dist-xz: distdir
589
+ tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
590
+ $(am__post_remove_distdir)
591
+
592
+ dist-tarZ: distdir
593
+ @echo WARNING: "Support for distribution archives compressed with" \
594
+ "legacy program 'compress' is deprecated." >&2
595
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
596
+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
597
+ $(am__post_remove_distdir)
598
+
599
+ dist-shar: distdir
600
+ @echo WARNING: "Support for shar distribution archives is" \
601
+ "deprecated." >&2
602
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
603
+ shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
604
+ $(am__post_remove_distdir)
605
+
606
+ dist-zip: distdir
607
+ -rm -f $(distdir).zip
608
+ zip -rq $(distdir).zip $(distdir)
609
+ $(am__post_remove_distdir)
610
+
611
+ dist dist-all:
612
+ $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
613
+ $(am__post_remove_distdir)
614
+
615
+ # This target untars the dist file and tries a VPATH configuration. Then
616
+ # it guarantees that the distribution is self-contained by making another
617
+ # tarfile.
618
+ distcheck: dist
619
+ case '$(DIST_ARCHIVES)' in \
620
+ *.tar.gz*) \
621
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
622
+ *.tar.bz2*) \
623
+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
624
+ *.tar.lz*) \
625
+ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
626
+ *.tar.xz*) \
627
+ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
628
+ *.tar.Z*) \
629
+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
630
+ *.shar.gz*) \
631
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
632
+ *.zip*) \
633
+ unzip $(distdir).zip ;;\
634
+ esac
635
+ chmod -R a-w $(distdir)
636
+ chmod u+w $(distdir)
637
+ mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
638
+ chmod a-w $(distdir)
639
+ test -d $(distdir)/_build || exit 0; \
640
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
641
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
642
+ && am__cwd=`pwd` \
643
+ && $(am__cd) $(distdir)/_build/sub \
644
+ && ../../configure \
645
+ $(AM_DISTCHECK_CONFIGURE_FLAGS) \
646
+ $(DISTCHECK_CONFIGURE_FLAGS) \
647
+ --srcdir=../.. --prefix="$$dc_install_base" \
648
+ && $(MAKE) $(AM_MAKEFLAGS) \
649
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
650
+ && $(MAKE) $(AM_MAKEFLAGS) check \
651
+ && $(MAKE) $(AM_MAKEFLAGS) install \
652
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
653
+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
654
+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
655
+ distuninstallcheck \
656
+ && chmod -R a-w "$$dc_install_base" \
657
+ && ({ \
658
+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
659
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
660
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
661
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
662
+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
663
+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
664
+ && rm -rf "$$dc_destdir" \
665
+ && $(MAKE) $(AM_MAKEFLAGS) dist \
666
+ && rm -rf $(DIST_ARCHIVES) \
667
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
668
+ && cd "$$am__cwd" \
669
+ || exit 1
670
+ $(am__post_remove_distdir)
671
+ @(echo "$(distdir) archives ready for distribution: "; \
672
+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
673
+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
674
+ distuninstallcheck:
675
+ @test -n '$(distuninstallcheck_dir)' || { \
676
+ echo 'ERROR: trying to run $@ with an empty' \
677
+ '$$(distuninstallcheck_dir)' >&2; \
678
+ exit 1; \
679
+ }; \
680
+ $(am__cd) '$(distuninstallcheck_dir)' || { \
681
+ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
682
+ exit 1; \
683
+ }; \
684
+ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
685
+ || { echo "ERROR: files left after uninstall:" ; \
686
+ if test -n "$(DESTDIR)"; then \
687
+ echo " (check DESTDIR support)"; \
688
+ fi ; \
689
+ $(distuninstallcheck_listfiles) ; \
690
+ exit 1; } >&2
691
+ distcleancheck: distclean
692
+ @if test '$(srcdir)' = . ; then \
693
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
694
+ exit 1 ; \
695
+ fi
696
+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
697
+ || { echo "ERROR: files left in build directory after distclean:" ; \
698
+ $(distcleancheck_listfiles) ; \
699
+ exit 1; } >&2
700
+ check-am: all-am
701
+ check: check-recursive
702
+ all-am: Makefile config.h
703
+ installdirs: installdirs-recursive
704
+ installdirs-am:
705
+ install: install-recursive
706
+ install-exec: install-exec-recursive
707
+ install-data: install-data-recursive
708
+ uninstall: uninstall-recursive
709
+
710
+ install-am: all-am
711
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
712
+
713
+ installcheck: installcheck-recursive
714
+ install-strip:
715
+ if test -z '$(STRIP)'; then \
716
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
717
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
718
+ install; \
719
+ else \
720
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
721
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
722
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
723
+ fi
724
+ mostlyclean-generic:
725
+
726
+ clean-generic:
727
+
728
+ distclean-generic:
729
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
730
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
731
+
732
+ maintainer-clean-generic:
733
+ @echo "This command is intended for maintainers to use"
734
+ @echo "it deletes files that may require special tools to rebuild."
735
+ clean: clean-recursive
736
+
737
+ clean-am: clean-generic clean-libtool mostlyclean-am
738
+
739
+ distclean: distclean-recursive
740
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
741
+ -rm -f Makefile
742
+ distclean-am: clean-am distclean-generic distclean-hdr \
743
+ distclean-libtool distclean-tags
744
+
745
+ dvi: dvi-recursive
746
+
747
+ dvi-am:
748
+
749
+ html: html-recursive
750
+
751
+ html-am:
752
+
753
+ info: info-recursive
754
+
755
+ info-am:
756
+
757
+ install-data-am: install-data-local
758
+
759
+ install-dvi: install-dvi-recursive
760
+
761
+ install-dvi-am:
762
+
763
+ install-exec-am:
764
+
765
+ install-html: install-html-recursive
766
+
767
+ install-html-am:
768
+
769
+ install-info: install-info-recursive
770
+
771
+ install-info-am:
772
+
773
+ install-man:
774
+
775
+ install-pdf: install-pdf-recursive
776
+
777
+ install-pdf-am:
778
+
779
+ install-ps: install-ps-recursive
780
+
781
+ install-ps-am:
782
+
783
+ installcheck-am:
784
+
785
+ maintainer-clean: maintainer-clean-recursive
786
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
787
+ -rm -rf $(top_srcdir)/autom4te.cache
788
+ -rm -f Makefile
789
+ maintainer-clean-am: distclean-am maintainer-clean-generic
790
+
791
+ mostlyclean: mostlyclean-recursive
792
+
793
+ mostlyclean-am: mostlyclean-generic mostlyclean-libtool
794
+
795
+ pdf: pdf-recursive
796
+
797
+ pdf-am:
798
+
799
+ ps: ps-recursive
800
+
801
+ ps-am:
802
+
803
+ uninstall-am:
804
+
805
+ .MAKE: $(am__recursive_targets) all install-am install-strip
806
+
807
+ .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
808
+ am--refresh check check-am clean clean-cscope clean-generic \
809
+ clean-libtool cscope cscopelist-am ctags ctags-am dist \
810
+ dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \
811
+ dist-tarZ dist-xz dist-zip distcheck distclean \
812
+ distclean-generic distclean-hdr distclean-libtool \
813
+ distclean-tags distcleancheck distdir distuninstallcheck dvi \
814
+ dvi-am html html-am info info-am install install-am \
815
+ install-data install-data-am install-data-local install-dvi \
816
+ install-dvi-am install-exec install-exec-am install-html \
817
+ install-html-am install-info install-info-am install-man \
818
+ install-pdf install-pdf-am install-ps install-ps-am \
819
+ install-strip installcheck installcheck-am installdirs \
820
+ installdirs-am maintainer-clean maintainer-clean-generic \
821
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
822
+ ps ps-am tags tags-am uninstall uninstall-am
823
+
824
+ .PRECIOUS: Makefile
825
+
826
+
827
+ install-data-local:
828
+ ${LN_S} lib ${exec_prefix}/lib64
829
+
830
+ dist-hook:
831
+ rm -rf `find $(distdir)/doc -type d -name .svn`
832
+
833
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
834
+ # Otherwise a system limit (for SysV at least) may be exceeded.
835
+ .NOEXPORT:
lm/irstlm/Makefile.am ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # not a GNU package. You can remove this line, if
2
+ # have all needed files, that a GNU package needs
3
+ AUTOMAKE_OPTIONS = foreign
4
+
5
+ SUBDIRS = src scripts doc
6
+
7
+ EXTRA_DIST = README RELEASE Copyright
8
+
9
+ ACLOCAL_AMFLAGS = -I m4
10
+
11
+ LN_S=@LN_S@
12
+
13
+ install-data-local:
14
+ ${LN_S} lib ${exec_prefix}/lib64
15
+
16
+ dist-hook:
17
+ rm -rf `find $(distdir)/doc -type d -name .svn`
lm/irstlm/Makefile.in ADDED
@@ -0,0 +1,835 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Makefile.in generated by automake 1.16.1 from Makefile.am.
2
+ # @configure_input@
3
+
4
+ # Copyright (C) 1994-2018 Free Software Foundation, Inc.
5
+
6
+ # This Makefile.in is free software; the Free Software Foundation
7
+ # gives unlimited permission to copy and/or distribute it,
8
+ # with or without modifications, as long as this notice is preserved.
9
+
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12
+ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13
+ # PARTICULAR PURPOSE.
14
+
15
+ @SET_MAKE@
16
+ VPATH = @srcdir@
17
+ am__is_gnu_make = { \
18
+ if test -z '$(MAKELEVEL)'; then \
19
+ false; \
20
+ elif test -n '$(MAKE_HOST)'; then \
21
+ true; \
22
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
23
+ true; \
24
+ else \
25
+ false; \
26
+ fi; \
27
+ }
28
+ am__make_running_with_option = \
29
+ case $${target_option-} in \
30
+ ?) ;; \
31
+ *) echo "am__make_running_with_option: internal error: invalid" \
32
+ "target option '$${target_option-}' specified" >&2; \
33
+ exit 1;; \
34
+ esac; \
35
+ has_opt=no; \
36
+ sane_makeflags=$$MAKEFLAGS; \
37
+ if $(am__is_gnu_make); then \
38
+ sane_makeflags=$$MFLAGS; \
39
+ else \
40
+ case $$MAKEFLAGS in \
41
+ *\\[\ \ ]*) \
42
+ bs=\\; \
43
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
44
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
45
+ esac; \
46
+ fi; \
47
+ skip_next=no; \
48
+ strip_trailopt () \
49
+ { \
50
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
51
+ }; \
52
+ for flg in $$sane_makeflags; do \
53
+ test $$skip_next = yes && { skip_next=no; continue; }; \
54
+ case $$flg in \
55
+ *=*|--*) continue;; \
56
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
57
+ -*I?*) strip_trailopt 'I';; \
58
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
59
+ -*O?*) strip_trailopt 'O';; \
60
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
61
+ -*l?*) strip_trailopt 'l';; \
62
+ -[dEDm]) skip_next=yes;; \
63
+ -[JT]) skip_next=yes;; \
64
+ esac; \
65
+ case $$flg in \
66
+ *$$target_option*) has_opt=yes; break;; \
67
+ esac; \
68
+ done; \
69
+ test $$has_opt = yes
70
+ am__make_dryrun = (target_option=n; $(am__make_running_with_option))
71
+ am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
72
+ pkgdatadir = $(datadir)/@PACKAGE@
73
+ pkgincludedir = $(includedir)/@PACKAGE@
74
+ pkglibdir = $(libdir)/@PACKAGE@
75
+ pkglibexecdir = $(libexecdir)/@PACKAGE@
76
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
77
+ install_sh_DATA = $(install_sh) -c -m 644
78
+ install_sh_PROGRAM = $(install_sh) -c
79
+ install_sh_SCRIPT = $(install_sh) -c
80
+ INSTALL_HEADER = $(INSTALL_DATA)
81
+ NORMAL_INSTALL = :
82
+ PRE_INSTALL = :
83
+ POST_INSTALL = :
84
+ NORMAL_UNINSTALL = :
85
+ PRE_UNINSTALL = :
86
+ POST_UNINSTALL = :
87
+ build_triplet = @build@
88
+ host_triplet = @host@
89
+ subdir = .
90
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
91
+ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
92
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
93
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
94
+ $(top_srcdir)/configure.ac
95
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
96
+ $(ACLOCAL_M4)
97
+ DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
98
+ $(am__configure_deps) $(am__DIST_COMMON)
99
+ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
100
+ configure.lineno config.status.lineno
101
+ mkinstalldirs = $(install_sh) -d
102
+ CONFIG_HEADER = config.h
103
+ CONFIG_CLEAN_FILES =
104
+ CONFIG_CLEAN_VPATH_FILES =
105
+ AM_V_P = $(am__v_P_@AM_V@)
106
+ am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
107
+ am__v_P_0 = false
108
+ am__v_P_1 = :
109
+ AM_V_GEN = $(am__v_GEN_@AM_V@)
110
+ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
111
+ am__v_GEN_0 = @echo " GEN " $@;
112
+ am__v_GEN_1 =
113
+ AM_V_at = $(am__v_at_@AM_V@)
114
+ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
115
+ am__v_at_0 = @
116
+ am__v_at_1 =
117
+ SOURCES =
118
+ DIST_SOURCES =
119
+ RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
120
+ ctags-recursive dvi-recursive html-recursive info-recursive \
121
+ install-data-recursive install-dvi-recursive \
122
+ install-exec-recursive install-html-recursive \
123
+ install-info-recursive install-pdf-recursive \
124
+ install-ps-recursive install-recursive installcheck-recursive \
125
+ installdirs-recursive pdf-recursive ps-recursive \
126
+ tags-recursive uninstall-recursive
127
+ am__can_run_installinfo = \
128
+ case $$AM_UPDATE_INFO_DIR in \
129
+ n|no|NO) false;; \
130
+ *) (install-info --version) >/dev/null 2>&1;; \
131
+ esac
132
+ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
133
+ distclean-recursive maintainer-clean-recursive
134
+ am__recursive_targets = \
135
+ $(RECURSIVE_TARGETS) \
136
+ $(RECURSIVE_CLEAN_TARGETS) \
137
+ $(am__extra_recursive_targets)
138
+ AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
139
+ cscope distdir distdir-am dist dist-all distcheck
140
+ am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
141
+ $(LISP)config.h.in
142
+ # Read a list of newline-separated strings from the standard input,
143
+ # and print each of them once, without duplicates. Input order is
144
+ # *not* preserved.
145
+ am__uniquify_input = $(AWK) '\
146
+ BEGIN { nonempty = 0; } \
147
+ { items[$$0] = 1; nonempty = 1; } \
148
+ END { if (nonempty) { for (i in items) print i; }; } \
149
+ '
150
+ # Make sure the list of sources is unique. This is necessary because,
151
+ # e.g., the same source file might be shared among _SOURCES variables
152
+ # for different programs/libraries.
153
+ am__define_uniq_tagged_files = \
154
+ list='$(am__tagged_files)'; \
155
+ unique=`for i in $$list; do \
156
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
157
+ done | $(am__uniquify_input)`
158
+ ETAGS = etags
159
+ CTAGS = ctags
160
+ CSCOPE = cscope
161
+ DIST_SUBDIRS = $(SUBDIRS)
162
+ am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in README \
163
+ ar-lib compile config.guess config.sub depcomp install-sh \
164
+ ltmain.sh missing
165
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
166
+ distdir = $(PACKAGE)-$(VERSION)
167
+ top_distdir = $(distdir)
168
+ am__remove_distdir = \
169
+ if test -d "$(distdir)"; then \
170
+ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
171
+ && rm -rf "$(distdir)" \
172
+ || { sleep 5 && rm -rf "$(distdir)"; }; \
173
+ else :; fi
174
+ am__post_remove_distdir = $(am__remove_distdir)
175
+ am__relativize = \
176
+ dir0=`pwd`; \
177
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
178
+ sed_rest='s,^[^/]*/*,,'; \
179
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
180
+ sed_butlast='s,/*[^/]*$$,,'; \
181
+ while test -n "$$dir1"; do \
182
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
183
+ if test "$$first" != "."; then \
184
+ if test "$$first" = ".."; then \
185
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
186
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
187
+ else \
188
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
189
+ if test "$$first2" = "$$first"; then \
190
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
191
+ else \
192
+ dir2="../$$dir2"; \
193
+ fi; \
194
+ dir0="$$dir0"/"$$first"; \
195
+ fi; \
196
+ fi; \
197
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
198
+ done; \
199
+ reldir="$$dir2"
200
+ DIST_ARCHIVES = $(distdir).tar.gz
201
+ GZIP_ENV = --best
202
+ DIST_TARGETS = dist-gzip
203
+ distuninstallcheck_listfiles = find . -type f -print
204
+ am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
205
+ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
206
+ distcleancheck_listfiles = find . -type f -print
207
+ transform = @transform@
208
+ ACLOCAL = @ACLOCAL@
209
+ AMTAR = @AMTAR@
210
+ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
211
+ AR = @AR@
212
+ AUTOCONF = @AUTOCONF@
213
+ AUTOHEADER = @AUTOHEADER@
214
+ AUTOMAKE = @AUTOMAKE@
215
+ AWK = @AWK@
216
+ BIBTEX = @BIBTEX@
217
+ CC = @CC@
218
+ CCDEPMODE = @CCDEPMODE@
219
+ CFLAGS = @CFLAGS@
220
+ CPP = @CPP@
221
+ CPPFLAGS = @CPPFLAGS@
222
+ CXX = @CXX@
223
+ CXXCPP = @CXXCPP@
224
+ CXXDEPMODE = @CXXDEPMODE@
225
+ CXXFLAGS = @CXXFLAGS@
226
+ CYGPATH_W = @CYGPATH_W@
227
+ DEFS = @DEFS@
228
+ DEPDIR = @DEPDIR@
229
+ DLLTOOL = @DLLTOOL@
230
+ DSYMUTIL = @DSYMUTIL@
231
+ DUMPBIN = @DUMPBIN@
232
+ ECHO_C = @ECHO_C@
233
+ ECHO_N = @ECHO_N@
234
+ ECHO_T = @ECHO_T@
235
+ EGREP = @EGREP@
236
+ EXEEXT = @EXEEXT@
237
+ FGREP = @FGREP@
238
+ GREP = @GREP@
239
+ INSTALL = @INSTALL@
240
+ INSTALL_DATA = @INSTALL_DATA@
241
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
242
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
243
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
244
+ LD = @LD@
245
+ LDFLAGS = @LDFLAGS@
246
+ LIBOBJS = @LIBOBJS@
247
+ LIBS = @LIBS@
248
+ LIBTOOL = @LIBTOOL@
249
+ LIPO = @LIPO@
250
+ LN_S = @LN_S@
251
+ LTLIBOBJS = @LTLIBOBJS@
252
+ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
253
+ MAKEINFO = @MAKEINFO@
254
+ MANIFEST_TOOL = @MANIFEST_TOOL@
255
+ MKDIR_P = @MKDIR_P@
256
+ NM = @NM@
257
+ NMEDIT = @NMEDIT@
258
+ OBJDUMP = @OBJDUMP@
259
+ OBJEXT = @OBJEXT@
260
+ OTOOL = @OTOOL@
261
+ OTOOL64 = @OTOOL64@
262
+ PACKAGE = @PACKAGE@
263
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
264
+ PACKAGE_NAME = @PACKAGE_NAME@
265
+ PACKAGE_STRING = @PACKAGE_STRING@
266
+ PACKAGE_TARNAME = @PACKAGE_TARNAME@
267
+ PACKAGE_URL = @PACKAGE_URL@
268
+ PACKAGE_VERSION = @PACKAGE_VERSION@
269
+ PATH_SEPARATOR = @PATH_SEPARATOR@
270
+ PDFLATEX = @PDFLATEX@
271
+ RANLIB = @RANLIB@
272
+ SED = @SED@
273
+ SET_MAKE = @SET_MAKE@
274
+ SHELL = @SHELL@
275
+ STRIP = @STRIP@
276
+ VERSION = @VERSION@
277
+ abs_builddir = @abs_builddir@
278
+ abs_srcdir = @abs_srcdir@
279
+ abs_top_builddir = @abs_top_builddir@
280
+ abs_top_srcdir = @abs_top_srcdir@
281
+ ac_ct_AR = @ac_ct_AR@
282
+ ac_ct_CC = @ac_ct_CC@
283
+ ac_ct_CXX = @ac_ct_CXX@
284
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
285
+ am__include = @am__include@
286
+ am__leading_dot = @am__leading_dot@
287
+ am__quote = @am__quote@
288
+ am__tar = @am__tar@
289
+ am__untar = @am__untar@
290
+ bindir = @bindir@
291
+ build = @build@
292
+ build_alias = @build_alias@
293
+ build_cpu = @build_cpu@
294
+ build_os = @build_os@
295
+ build_vendor = @build_vendor@
296
+ builddir = @builddir@
297
+ datadir = @datadir@
298
+ datarootdir = @datarootdir@
299
+ docdir = @docdir@
300
+ dvidir = @dvidir@
301
+ exec_prefix = @exec_prefix@
302
+ host = @host@
303
+ host_alias = @host_alias@
304
+ host_cpu = @host_cpu@
305
+ host_os = @host_os@
306
+ host_vendor = @host_vendor@
307
+ htmldir = @htmldir@
308
+ includedir = @includedir@
309
+ infodir = @infodir@
310
+ install_sh = @install_sh@
311
+ libdir = @libdir@
312
+ libexecdir = @libexecdir@
313
+ localedir = @localedir@
314
+ localstatedir = @localstatedir@
315
+ mandir = @mandir@
316
+ mkdir_p = @mkdir_p@
317
+ oldincludedir = @oldincludedir@
318
+ pdfdir = @pdfdir@
319
+ prefix = @prefix@
320
+ program_transform_name = @program_transform_name@
321
+ psdir = @psdir@
322
+ runstatedir = @runstatedir@
323
+ sbindir = @sbindir@
324
+ sharedstatedir = @sharedstatedir@
325
+ srcdir = @srcdir@
326
+ sysconfdir = @sysconfdir@
327
+ target_alias = @target_alias@
328
+ top_build_prefix = @top_build_prefix@
329
+ top_builddir = @top_builddir@
330
+ top_srcdir = @top_srcdir@
331
+
332
+ # not a GNU package. You can remove this line, if
333
+ # have all needed files, that a GNU package needs
334
+ AUTOMAKE_OPTIONS = foreign
335
+ SUBDIRS = src scripts doc
336
+ EXTRA_DIST = README RELEASE Copyright
337
+ ACLOCAL_AMFLAGS = -I m4
338
+ all: config.h
339
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
340
+
341
+ .SUFFIXES:
342
+ am--refresh: Makefile
343
+ @:
344
+ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
345
+ @for dep in $?; do \
346
+ case '$(am__configure_deps)' in \
347
+ *$$dep*) \
348
+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
349
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
350
+ && exit 0; \
351
+ exit 1;; \
352
+ esac; \
353
+ done; \
354
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
355
+ $(am__cd) $(top_srcdir) && \
356
+ $(AUTOMAKE) --foreign Makefile
357
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
358
+ @case '$?' in \
359
+ *config.status*) \
360
+ echo ' $(SHELL) ./config.status'; \
361
+ $(SHELL) ./config.status;; \
362
+ *) \
363
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
364
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
365
+ esac;
366
+
367
+ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
368
+ $(SHELL) ./config.status --recheck
369
+
370
+ $(top_srcdir)/configure: $(am__configure_deps)
371
+ $(am__cd) $(srcdir) && $(AUTOCONF)
372
+ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
373
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
374
+ $(am__aclocal_m4_deps):
375
+
376
+ config.h: stamp-h1
377
+ @test -f $@ || rm -f stamp-h1
378
+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
379
+
380
+ stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
381
+ @rm -f stamp-h1
382
+ cd $(top_builddir) && $(SHELL) ./config.status config.h
383
+ $(srcdir)/config.h.in: $(am__configure_deps)
384
+ ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
385
+ rm -f stamp-h1
386
+ touch $@
387
+
388
+ distclean-hdr:
389
+ -rm -f config.h stamp-h1
390
+
391
+ mostlyclean-libtool:
392
+ -rm -f *.lo
393
+
394
+ clean-libtool:
395
+ -rm -rf .libs _libs
396
+
397
+ distclean-libtool:
398
+ -rm -f libtool config.lt
399
+
400
+ # This directory's subdirectories are mostly independent; you can cd
401
+ # into them and run 'make' without going through this Makefile.
402
+ # To change the values of 'make' variables: instead of editing Makefiles,
403
+ # (1) if the variable is set in 'config.status', edit 'config.status'
404
+ # (which will cause the Makefiles to be regenerated when you run 'make');
405
+ # (2) otherwise, pass the desired values on the 'make' command line.
406
+ $(am__recursive_targets):
407
+ @fail=; \
408
+ if $(am__make_keepgoing); then \
409
+ failcom='fail=yes'; \
410
+ else \
411
+ failcom='exit 1'; \
412
+ fi; \
413
+ dot_seen=no; \
414
+ target=`echo $@ | sed s/-recursive//`; \
415
+ case "$@" in \
416
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
417
+ *) list='$(SUBDIRS)' ;; \
418
+ esac; \
419
+ for subdir in $$list; do \
420
+ echo "Making $$target in $$subdir"; \
421
+ if test "$$subdir" = "."; then \
422
+ dot_seen=yes; \
423
+ local_target="$$target-am"; \
424
+ else \
425
+ local_target="$$target"; \
426
+ fi; \
427
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
428
+ || eval $$failcom; \
429
+ done; \
430
+ if test "$$dot_seen" = "no"; then \
431
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
432
+ fi; test -z "$$fail"
433
+
434
+ ID: $(am__tagged_files)
435
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
436
+ tags: tags-recursive
437
+ TAGS: tags
438
+
439
+ tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
440
+ set x; \
441
+ here=`pwd`; \
442
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
443
+ include_option=--etags-include; \
444
+ empty_fix=.; \
445
+ else \
446
+ include_option=--include; \
447
+ empty_fix=; \
448
+ fi; \
449
+ list='$(SUBDIRS)'; for subdir in $$list; do \
450
+ if test "$$subdir" = .; then :; else \
451
+ test ! -f $$subdir/TAGS || \
452
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
453
+ fi; \
454
+ done; \
455
+ $(am__define_uniq_tagged_files); \
456
+ shift; \
457
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
458
+ test -n "$$unique" || unique=$$empty_fix; \
459
+ if test $$# -gt 0; then \
460
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
461
+ "$$@" $$unique; \
462
+ else \
463
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
464
+ $$unique; \
465
+ fi; \
466
+ fi
467
+ ctags: ctags-recursive
468
+
469
+ CTAGS: ctags
470
+ ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
471
+ $(am__define_uniq_tagged_files); \
472
+ test -z "$(CTAGS_ARGS)$$unique" \
473
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
474
+ $$unique
475
+
476
+ GTAGS:
477
+ here=`$(am__cd) $(top_builddir) && pwd` \
478
+ && $(am__cd) $(top_srcdir) \
479
+ && gtags -i $(GTAGS_ARGS) "$$here"
480
+ cscope: cscope.files
481
+ test ! -s cscope.files \
482
+ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
483
+ clean-cscope:
484
+ -rm -f cscope.files
485
+ cscope.files: clean-cscope cscopelist
486
+ cscopelist: cscopelist-recursive
487
+
488
+ cscopelist-am: $(am__tagged_files)
489
+ list='$(am__tagged_files)'; \
490
+ case "$(srcdir)" in \
491
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
492
+ *) sdir=$(subdir)/$(srcdir) ;; \
493
+ esac; \
494
+ for i in $$list; do \
495
+ if test -f "$$i"; then \
496
+ echo "$(subdir)/$$i"; \
497
+ else \
498
+ echo "$$sdir/$$i"; \
499
+ fi; \
500
+ done >> $(top_builddir)/cscope.files
501
+
502
+ distclean-tags:
503
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
504
+ -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
505
+
506
+ distdir: $(BUILT_SOURCES)
507
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
508
+
509
+ distdir-am: $(DISTFILES)
510
+ $(am__remove_distdir)
511
+ test -d "$(distdir)" || mkdir "$(distdir)"
512
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
513
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
514
+ list='$(DISTFILES)'; \
515
+ dist_files=`for file in $$list; do echo $$file; done | \
516
+ sed -e "s|^$$srcdirstrip/||;t" \
517
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
518
+ case $$dist_files in \
519
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
520
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
521
+ sort -u` ;; \
522
+ esac; \
523
+ for file in $$dist_files; do \
524
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
525
+ if test -d $$d/$$file; then \
526
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
527
+ if test -d "$(distdir)/$$file"; then \
528
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
529
+ fi; \
530
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
531
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
532
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
533
+ fi; \
534
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
535
+ else \
536
+ test -f "$(distdir)/$$file" \
537
+ || cp -p $$d/$$file "$(distdir)/$$file" \
538
+ || exit 1; \
539
+ fi; \
540
+ done
541
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
542
+ if test "$$subdir" = .; then :; else \
543
+ $(am__make_dryrun) \
544
+ || test -d "$(distdir)/$$subdir" \
545
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
546
+ || exit 1; \
547
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
548
+ $(am__relativize); \
549
+ new_distdir=$$reldir; \
550
+ dir1=$$subdir; dir2="$(top_distdir)"; \
551
+ $(am__relativize); \
552
+ new_top_distdir=$$reldir; \
553
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
554
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
555
+ ($(am__cd) $$subdir && \
556
+ $(MAKE) $(AM_MAKEFLAGS) \
557
+ top_distdir="$$new_top_distdir" \
558
+ distdir="$$new_distdir" \
559
+ am__remove_distdir=: \
560
+ am__skip_length_check=: \
561
+ am__skip_mode_fix=: \
562
+ distdir) \
563
+ || exit 1; \
564
+ fi; \
565
+ done
566
+ $(MAKE) $(AM_MAKEFLAGS) \
567
+ top_distdir="$(top_distdir)" distdir="$(distdir)" \
568
+ dist-hook
569
+ -test -n "$(am__skip_mode_fix)" \
570
+ || find "$(distdir)" -type d ! -perm -755 \
571
+ -exec chmod u+rwx,go+rx {} \; -o \
572
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
573
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
574
+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
575
+ || chmod -R a+r "$(distdir)"
576
+ dist-gzip: distdir
577
+ tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
578
+ $(am__post_remove_distdir)
579
+
580
+ dist-bzip2: distdir
581
+ tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
582
+ $(am__post_remove_distdir)
583
+
584
+ dist-lzip: distdir
585
+ tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
586
+ $(am__post_remove_distdir)
587
+
588
+ dist-xz: distdir
589
+ tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
590
+ $(am__post_remove_distdir)
591
+
592
+ dist-tarZ: distdir
593
+ @echo WARNING: "Support for distribution archives compressed with" \
594
+ "legacy program 'compress' is deprecated." >&2
595
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
596
+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
597
+ $(am__post_remove_distdir)
598
+
599
+ dist-shar: distdir
600
+ @echo WARNING: "Support for shar distribution archives is" \
601
+ "deprecated." >&2
602
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
603
+ shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
604
+ $(am__post_remove_distdir)
605
+
606
+ dist-zip: distdir
607
+ -rm -f $(distdir).zip
608
+ zip -rq $(distdir).zip $(distdir)
609
+ $(am__post_remove_distdir)
610
+
611
+ dist dist-all:
612
+ $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
613
+ $(am__post_remove_distdir)
614
+
615
+ # This target untars the dist file and tries a VPATH configuration. Then
616
+ # it guarantees that the distribution is self-contained by making another
617
+ # tarfile.
618
+ distcheck: dist
619
+ case '$(DIST_ARCHIVES)' in \
620
+ *.tar.gz*) \
621
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
622
+ *.tar.bz2*) \
623
+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
624
+ *.tar.lz*) \
625
+ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
626
+ *.tar.xz*) \
627
+ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
628
+ *.tar.Z*) \
629
+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
630
+ *.shar.gz*) \
631
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
632
+ *.zip*) \
633
+ unzip $(distdir).zip ;;\
634
+ esac
635
+ chmod -R a-w $(distdir)
636
+ chmod u+w $(distdir)
637
+ mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
638
+ chmod a-w $(distdir)
639
+ test -d $(distdir)/_build || exit 0; \
640
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
641
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
642
+ && am__cwd=`pwd` \
643
+ && $(am__cd) $(distdir)/_build/sub \
644
+ && ../../configure \
645
+ $(AM_DISTCHECK_CONFIGURE_FLAGS) \
646
+ $(DISTCHECK_CONFIGURE_FLAGS) \
647
+ --srcdir=../.. --prefix="$$dc_install_base" \
648
+ && $(MAKE) $(AM_MAKEFLAGS) \
649
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
650
+ && $(MAKE) $(AM_MAKEFLAGS) check \
651
+ && $(MAKE) $(AM_MAKEFLAGS) install \
652
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
653
+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
654
+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
655
+ distuninstallcheck \
656
+ && chmod -R a-w "$$dc_install_base" \
657
+ && ({ \
658
+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
659
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
660
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
661
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
662
+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
663
+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
664
+ && rm -rf "$$dc_destdir" \
665
+ && $(MAKE) $(AM_MAKEFLAGS) dist \
666
+ && rm -rf $(DIST_ARCHIVES) \
667
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
668
+ && cd "$$am__cwd" \
669
+ || exit 1
670
+ $(am__post_remove_distdir)
671
+ @(echo "$(distdir) archives ready for distribution: "; \
672
+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
673
+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
674
+ distuninstallcheck:
675
+ @test -n '$(distuninstallcheck_dir)' || { \
676
+ echo 'ERROR: trying to run $@ with an empty' \
677
+ '$$(distuninstallcheck_dir)' >&2; \
678
+ exit 1; \
679
+ }; \
680
+ $(am__cd) '$(distuninstallcheck_dir)' || { \
681
+ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
682
+ exit 1; \
683
+ }; \
684
+ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
685
+ || { echo "ERROR: files left after uninstall:" ; \
686
+ if test -n "$(DESTDIR)"; then \
687
+ echo " (check DESTDIR support)"; \
688
+ fi ; \
689
+ $(distuninstallcheck_listfiles) ; \
690
+ exit 1; } >&2
691
+ distcleancheck: distclean
692
+ @if test '$(srcdir)' = . ; then \
693
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
694
+ exit 1 ; \
695
+ fi
696
+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
697
+ || { echo "ERROR: files left in build directory after distclean:" ; \
698
+ $(distcleancheck_listfiles) ; \
699
+ exit 1; } >&2
700
+ check-am: all-am
701
+ check: check-recursive
702
+ all-am: Makefile config.h
703
+ installdirs: installdirs-recursive
704
+ installdirs-am:
705
+ install: install-recursive
706
+ install-exec: install-exec-recursive
707
+ install-data: install-data-recursive
708
+ uninstall: uninstall-recursive
709
+
710
+ install-am: all-am
711
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
712
+
713
+ installcheck: installcheck-recursive
714
+ install-strip:
715
+ if test -z '$(STRIP)'; then \
716
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
717
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
718
+ install; \
719
+ else \
720
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
721
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
722
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
723
+ fi
724
+ mostlyclean-generic:
725
+
726
+ clean-generic:
727
+
728
+ distclean-generic:
729
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
730
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
731
+
732
+ maintainer-clean-generic:
733
+ @echo "This command is intended for maintainers to use"
734
+ @echo "it deletes files that may require special tools to rebuild."
735
+ clean: clean-recursive
736
+
737
+ clean-am: clean-generic clean-libtool mostlyclean-am
738
+
739
+ distclean: distclean-recursive
740
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
741
+ -rm -f Makefile
742
+ distclean-am: clean-am distclean-generic distclean-hdr \
743
+ distclean-libtool distclean-tags
744
+
745
+ dvi: dvi-recursive
746
+
747
+ dvi-am:
748
+
749
+ html: html-recursive
750
+
751
+ html-am:
752
+
753
+ info: info-recursive
754
+
755
+ info-am:
756
+
757
+ install-data-am: install-data-local
758
+
759
+ install-dvi: install-dvi-recursive
760
+
761
+ install-dvi-am:
762
+
763
+ install-exec-am:
764
+
765
+ install-html: install-html-recursive
766
+
767
+ install-html-am:
768
+
769
+ install-info: install-info-recursive
770
+
771
+ install-info-am:
772
+
773
+ install-man:
774
+
775
+ install-pdf: install-pdf-recursive
776
+
777
+ install-pdf-am:
778
+
779
+ install-ps: install-ps-recursive
780
+
781
+ install-ps-am:
782
+
783
+ installcheck-am:
784
+
785
+ maintainer-clean: maintainer-clean-recursive
786
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
787
+ -rm -rf $(top_srcdir)/autom4te.cache
788
+ -rm -f Makefile
789
+ maintainer-clean-am: distclean-am maintainer-clean-generic
790
+
791
+ mostlyclean: mostlyclean-recursive
792
+
793
+ mostlyclean-am: mostlyclean-generic mostlyclean-libtool
794
+
795
+ pdf: pdf-recursive
796
+
797
+ pdf-am:
798
+
799
+ ps: ps-recursive
800
+
801
+ ps-am:
802
+
803
+ uninstall-am:
804
+
805
+ .MAKE: $(am__recursive_targets) all install-am install-strip
806
+
807
+ .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
808
+ am--refresh check check-am clean clean-cscope clean-generic \
809
+ clean-libtool cscope cscopelist-am ctags ctags-am dist \
810
+ dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \
811
+ dist-tarZ dist-xz dist-zip distcheck distclean \
812
+ distclean-generic distclean-hdr distclean-libtool \
813
+ distclean-tags distcleancheck distdir distuninstallcheck dvi \
814
+ dvi-am html html-am info info-am install install-am \
815
+ install-data install-data-am install-data-local install-dvi \
816
+ install-dvi-am install-exec install-exec-am install-html \
817
+ install-html-am install-info install-info-am install-man \
818
+ install-pdf install-pdf-am install-ps install-ps-am \
819
+ install-strip installcheck installcheck-am installdirs \
820
+ installdirs-am maintainer-clean maintainer-clean-generic \
821
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
822
+ ps ps-am tags tags-am uninstall uninstall-am
823
+
824
+ .PRECIOUS: Makefile
825
+
826
+
827
+ install-data-local:
828
+ ${LN_S} lib ${exec_prefix}/lib64
829
+
830
+ dist-hook:
831
+ rm -rf `find $(distdir)/doc -type d -name .svn`
832
+
833
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
834
+ # Otherwise a system limit (for SysV at least) may be exceeded.
835
+ .NOEXPORT:
lm/irstlm/README ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ IRSTLM Toolkit
2
+
3
+ CONTENT:
4
+
5
+ - src: source code
6
+ - scripts: supporting scripts
7
+ - doc: documentation (in Latex) and in pdf (to be generated)
8
+ - bin: binaries (to be generated) and scripts
9
+ - lib: libraries (to be generated)
10
+ - readme: this file
11
+
12
+ DOCUMENTATION
13
+
14
+ A User Manual is available under https://sourceforge.net/projects/irstlm
15
+ The data for the examples described in the User Manual are available under http://sourceforge.net/projects/irstlm/files/irstlm/sampledata/
16
+
17
+ HOW TO INSTALL WITH AUTOMAKE
18
+
19
+ step 0: sh regenerate-makefiles.sh [--force]
20
+ # set parameter force to the value "--force" if you want to recreate all links to the autotools
21
+
22
+ step 1: ./configure [--prefix=/path/where/to/install] ...
23
+ # run "configure --help" to get more details on the compilation options
24
+
25
+ step 2: make
26
+
27
+ step 3: make install
28
+
29
+ These steps will generate the irstlm library and commands, respectively,
30
+ under the specified path where to install.
31
+
32
+ HOW TO INSTALL WITH CMAKE
33
+
34
+ step 0: cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="/path/where/to/install"
35
+ step 2: make
36
+ step 3: make install
37
+
38
+ HOW TO CONTRIBUTE
39
+
40
+ If you wish to contribute to the Open Source IRSTLM toolkit just tell us!
41
+
42
+ Marcello Federico
43
+ FBK-irst, Trento, ITALY
44
+ email: federico AT fbk DOT eu
45
+
lm/irstlm/RELEASE ADDED
@@ -0,0 +1 @@
 
 
1
+ 5.80.08
lm/irstlm/aclocal.m4 ADDED
@@ -0,0 +1,1200 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # generated automatically by aclocal 1.16.1 -*- Autoconf -*-
2
+
3
+ # Copyright (C) 1996-2018 Free Software Foundation, Inc.
4
+
5
+ # This file is free software; the Free Software Foundation
6
+ # gives unlimited permission to copy and/or distribute it,
7
+ # with or without modifications, as long as this notice is preserved.
8
+
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11
+ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12
+ # PARTICULAR PURPOSE.
13
+
14
+ m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
15
+ m4_ifndef([AC_AUTOCONF_VERSION],
16
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
17
+ m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
18
+ [m4_warning([this file was generated for autoconf 2.69.
19
+ You have another version of autoconf. It may work, but is not guaranteed to.
20
+ If you have problems, you may need to regenerate the build system entirely.
21
+ To do so, use the procedure documented by the package, typically 'autoreconf'.])])
22
+
23
+ # Copyright (C) 2002-2018 Free Software Foundation, Inc.
24
+ #
25
+ # This file is free software; the Free Software Foundation
26
+ # gives unlimited permission to copy and/or distribute it,
27
+ # with or without modifications, as long as this notice is preserved.
28
+
29
+ # AM_AUTOMAKE_VERSION(VERSION)
30
+ # ----------------------------
31
+ # Automake X.Y traces this macro to ensure aclocal.m4 has been
32
+ # generated from the m4 files accompanying Automake X.Y.
33
+ # (This private macro should not be called outside this file.)
34
+ AC_DEFUN([AM_AUTOMAKE_VERSION],
35
+ [am__api_version='1.16'
36
+ dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
37
+ dnl require some minimum version. Point them to the right macro.
38
+ m4_if([$1], [1.16.1], [],
39
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
40
+ ])
41
+
42
+ # _AM_AUTOCONF_VERSION(VERSION)
43
+ # -----------------------------
44
+ # aclocal traces this macro to find the Autoconf version.
45
+ # This is a private macro too. Using m4_define simplifies
46
+ # the logic in aclocal, which can simply ignore this definition.
47
+ m4_define([_AM_AUTOCONF_VERSION], [])
48
+
49
+ # AM_SET_CURRENT_AUTOMAKE_VERSION
50
+ # -------------------------------
51
+ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
52
+ # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
53
+ AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
54
+ [AM_AUTOMAKE_VERSION([1.16.1])dnl
55
+ m4_ifndef([AC_AUTOCONF_VERSION],
56
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
57
+ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
58
+
59
+ # Copyright (C) 2011-2018 Free Software Foundation, Inc.
60
+ #
61
+ # This file is free software; the Free Software Foundation
62
+ # gives unlimited permission to copy and/or distribute it,
63
+ # with or without modifications, as long as this notice is preserved.
64
+
65
+ # AM_PROG_AR([ACT-IF-FAIL])
66
+ # -------------------------
67
+ # Try to determine the archiver interface, and trigger the ar-lib wrapper
68
+ # if it is needed. If the detection of archiver interface fails, run
69
+ # ACT-IF-FAIL (default is to abort configure with a proper error message).
70
+ AC_DEFUN([AM_PROG_AR],
71
+ [AC_BEFORE([$0], [LT_INIT])dnl
72
+ AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl
73
+ AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
74
+ AC_REQUIRE_AUX_FILE([ar-lib])dnl
75
+ AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false])
76
+ : ${AR=ar}
77
+
78
+ AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface],
79
+ [AC_LANG_PUSH([C])
80
+ am_cv_ar_interface=ar
81
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])],
82
+ [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
83
+ AC_TRY_EVAL([am_ar_try])
84
+ if test "$ac_status" -eq 0; then
85
+ am_cv_ar_interface=ar
86
+ else
87
+ am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
88
+ AC_TRY_EVAL([am_ar_try])
89
+ if test "$ac_status" -eq 0; then
90
+ am_cv_ar_interface=lib
91
+ else
92
+ am_cv_ar_interface=unknown
93
+ fi
94
+ fi
95
+ rm -f conftest.lib libconftest.a
96
+ ])
97
+ AC_LANG_POP([C])])
98
+
99
+ case $am_cv_ar_interface in
100
+ ar)
101
+ ;;
102
+ lib)
103
+ # Microsoft lib, so override with the ar-lib wrapper script.
104
+ # FIXME: It is wrong to rewrite AR.
105
+ # But if we don't then we get into trouble of one sort or another.
106
+ # A longer-term fix would be to have automake use am__AR in this case,
107
+ # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
108
+ # similar.
109
+ AR="$am_aux_dir/ar-lib $AR"
110
+ ;;
111
+ unknown)
112
+ m4_default([$1],
113
+ [AC_MSG_ERROR([could not determine $AR interface])])
114
+ ;;
115
+ esac
116
+ AC_SUBST([AR])dnl
117
+ ])
118
+
119
+ # AM_AUX_DIR_EXPAND -*- Autoconf -*-
120
+
121
+ # Copyright (C) 2001-2018 Free Software Foundation, Inc.
122
+ #
123
+ # This file is free software; the Free Software Foundation
124
+ # gives unlimited permission to copy and/or distribute it,
125
+ # with or without modifications, as long as this notice is preserved.
126
+
127
+ # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
128
+ # $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
129
+ # '$srcdir', '$srcdir/..', or '$srcdir/../..'.
130
+ #
131
+ # Of course, Automake must honor this variable whenever it calls a
132
+ # tool from the auxiliary directory. The problem is that $srcdir (and
133
+ # therefore $ac_aux_dir as well) can be either absolute or relative,
134
+ # depending on how configure is run. This is pretty annoying, since
135
+ # it makes $ac_aux_dir quite unusable in subdirectories: in the top
136
+ # source directory, any form will work fine, but in subdirectories a
137
+ # relative path needs to be adjusted first.
138
+ #
139
+ # $ac_aux_dir/missing
140
+ # fails when called from a subdirectory if $ac_aux_dir is relative
141
+ # $top_srcdir/$ac_aux_dir/missing
142
+ # fails if $ac_aux_dir is absolute,
143
+ # fails when called from a subdirectory in a VPATH build with
144
+ # a relative $ac_aux_dir
145
+ #
146
+ # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
147
+ # are both prefixed by $srcdir. In an in-source build this is usually
148
+ # harmless because $srcdir is '.', but things will broke when you
149
+ # start a VPATH build or use an absolute $srcdir.
150
+ #
151
+ # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
152
+ # iff we strip the leading $srcdir from $ac_aux_dir. That would be:
153
+ # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
154
+ # and then we would define $MISSING as
155
+ # MISSING="\${SHELL} $am_aux_dir/missing"
156
+ # This will work as long as MISSING is not called from configure, because
157
+ # unfortunately $(top_srcdir) has no meaning in configure.
158
+ # However there are other variables, like CC, which are often used in
159
+ # configure, and could therefore not use this "fixed" $ac_aux_dir.
160
+ #
161
+ # Another solution, used here, is to always expand $ac_aux_dir to an
162
+ # absolute PATH. The drawback is that using absolute paths prevent a
163
+ # configured tree to be moved without reconfiguration.
164
+
165
+ AC_DEFUN([AM_AUX_DIR_EXPAND],
166
+ [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
167
+ # Expand $ac_aux_dir to an absolute path.
168
+ am_aux_dir=`cd "$ac_aux_dir" && pwd`
169
+ ])
170
+
171
+ # AM_CONDITIONAL -*- Autoconf -*-
172
+
173
+ # Copyright (C) 1997-2018 Free Software Foundation, Inc.
174
+ #
175
+ # This file is free software; the Free Software Foundation
176
+ # gives unlimited permission to copy and/or distribute it,
177
+ # with or without modifications, as long as this notice is preserved.
178
+
179
+ # AM_CONDITIONAL(NAME, SHELL-CONDITION)
180
+ # -------------------------------------
181
+ # Define a conditional.
182
+ AC_DEFUN([AM_CONDITIONAL],
183
+ [AC_PREREQ([2.52])dnl
184
+ m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
185
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
186
+ AC_SUBST([$1_TRUE])dnl
187
+ AC_SUBST([$1_FALSE])dnl
188
+ _AM_SUBST_NOTMAKE([$1_TRUE])dnl
189
+ _AM_SUBST_NOTMAKE([$1_FALSE])dnl
190
+ m4_define([_AM_COND_VALUE_$1], [$2])dnl
191
+ if $2; then
192
+ $1_TRUE=
193
+ $1_FALSE='#'
194
+ else
195
+ $1_TRUE='#'
196
+ $1_FALSE=
197
+ fi
198
+ AC_CONFIG_COMMANDS_PRE(
199
+ [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
200
+ AC_MSG_ERROR([[conditional "$1" was never defined.
201
+ Usually this means the macro was only invoked conditionally.]])
202
+ fi])])
203
+
204
+ # Copyright (C) 1999-2018 Free Software Foundation, Inc.
205
+ #
206
+ # This file is free software; the Free Software Foundation
207
+ # gives unlimited permission to copy and/or distribute it,
208
+ # with or without modifications, as long as this notice is preserved.
209
+
210
+
211
+ # There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
212
+ # written in clear, in which case automake, when reading aclocal.m4,
213
+ # will think it sees a *use*, and therefore will trigger all it's
214
+ # C support machinery. Also note that it means that autoscan, seeing
215
+ # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
216
+
217
+
218
+ # _AM_DEPENDENCIES(NAME)
219
+ # ----------------------
220
+ # See how the compiler implements dependency checking.
221
+ # NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
222
+ # We try a few techniques and use that to set a single cache variable.
223
+ #
224
+ # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
225
+ # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
226
+ # dependency, and given that the user is not expected to run this macro,
227
+ # just rely on AC_PROG_CC.
228
+ AC_DEFUN([_AM_DEPENDENCIES],
229
+ [AC_REQUIRE([AM_SET_DEPDIR])dnl
230
+ AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
231
+ AC_REQUIRE([AM_MAKE_INCLUDE])dnl
232
+ AC_REQUIRE([AM_DEP_TRACK])dnl
233
+
234
+ m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
235
+ [$1], [CXX], [depcc="$CXX" am_compiler_list=],
236
+ [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
237
+ [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
238
+ [$1], [UPC], [depcc="$UPC" am_compiler_list=],
239
+ [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
240
+ [depcc="$$1" am_compiler_list=])
241
+
242
+ AC_CACHE_CHECK([dependency style of $depcc],
243
+ [am_cv_$1_dependencies_compiler_type],
244
+ [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
245
+ # We make a subdir and do the tests there. Otherwise we can end up
246
+ # making bogus files that we don't know about and never remove. For
247
+ # instance it was reported that on HP-UX the gcc test will end up
248
+ # making a dummy file named 'D' -- because '-MD' means "put the output
249
+ # in D".
250
+ rm -rf conftest.dir
251
+ mkdir conftest.dir
252
+ # Copy depcomp to subdir because otherwise we won't find it if we're
253
+ # using a relative directory.
254
+ cp "$am_depcomp" conftest.dir
255
+ cd conftest.dir
256
+ # We will build objects and dependencies in a subdirectory because
257
+ # it helps to detect inapplicable dependency modes. For instance
258
+ # both Tru64's cc and ICC support -MD to output dependencies as a
259
+ # side effect of compilation, but ICC will put the dependencies in
260
+ # the current directory while Tru64 will put them in the object
261
+ # directory.
262
+ mkdir sub
263
+
264
+ am_cv_$1_dependencies_compiler_type=none
265
+ if test "$am_compiler_list" = ""; then
266
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
267
+ fi
268
+ am__universal=false
269
+ m4_case([$1], [CC],
270
+ [case " $depcc " in #(
271
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
272
+ esac],
273
+ [CXX],
274
+ [case " $depcc " in #(
275
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
276
+ esac])
277
+
278
+ for depmode in $am_compiler_list; do
279
+ # Setup a source with many dependencies, because some compilers
280
+ # like to wrap large dependency lists on column 80 (with \), and
281
+ # we should not choose a depcomp mode which is confused by this.
282
+ #
283
+ # We need to recreate these files for each test, as the compiler may
284
+ # overwrite some of them when testing with obscure command lines.
285
+ # This happens at least with the AIX C compiler.
286
+ : > sub/conftest.c
287
+ for i in 1 2 3 4 5 6; do
288
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
289
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
290
+ # Solaris 10 /bin/sh.
291
+ echo '/* dummy */' > sub/conftst$i.h
292
+ done
293
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
294
+
295
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
296
+ # mode. It turns out that the SunPro C++ compiler does not properly
297
+ # handle '-M -o', and we need to detect this. Also, some Intel
298
+ # versions had trouble with output in subdirs.
299
+ am__obj=sub/conftest.${OBJEXT-o}
300
+ am__minus_obj="-o $am__obj"
301
+ case $depmode in
302
+ gcc)
303
+ # This depmode causes a compiler race in universal mode.
304
+ test "$am__universal" = false || continue
305
+ ;;
306
+ nosideeffect)
307
+ # After this tag, mechanisms are not by side-effect, so they'll
308
+ # only be used when explicitly requested.
309
+ if test "x$enable_dependency_tracking" = xyes; then
310
+ continue
311
+ else
312
+ break
313
+ fi
314
+ ;;
315
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
316
+ # This compiler won't grok '-c -o', but also, the minuso test has
317
+ # not run yet. These depmodes are late enough in the game, and
318
+ # so weak that their functioning should not be impacted.
319
+ am__obj=conftest.${OBJEXT-o}
320
+ am__minus_obj=
321
+ ;;
322
+ none) break ;;
323
+ esac
324
+ if depmode=$depmode \
325
+ source=sub/conftest.c object=$am__obj \
326
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
327
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
328
+ >/dev/null 2>conftest.err &&
329
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
330
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
331
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
332
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
333
+ # icc doesn't choke on unknown options, it will just issue warnings
334
+ # or remarks (even with -Werror). So we grep stderr for any message
335
+ # that says an option was ignored or not supported.
336
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
337
+ # icc: Command line warning: ignoring option '-M'; no argument required
338
+ # The diagnosis changed in icc 8.0:
339
+ # icc: Command line remark: option '-MP' not supported
340
+ if (grep 'ignoring option' conftest.err ||
341
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
342
+ am_cv_$1_dependencies_compiler_type=$depmode
343
+ break
344
+ fi
345
+ fi
346
+ done
347
+
348
+ cd ..
349
+ rm -rf conftest.dir
350
+ else
351
+ am_cv_$1_dependencies_compiler_type=none
352
+ fi
353
+ ])
354
+ AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
355
+ AM_CONDITIONAL([am__fastdep$1], [
356
+ test "x$enable_dependency_tracking" != xno \
357
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
358
+ ])
359
+
360
+
361
+ # AM_SET_DEPDIR
362
+ # -------------
363
+ # Choose a directory name for dependency files.
364
+ # This macro is AC_REQUIREd in _AM_DEPENDENCIES.
365
+ AC_DEFUN([AM_SET_DEPDIR],
366
+ [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
367
+ AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
368
+ ])
369
+
370
+
371
+ # AM_DEP_TRACK
372
+ # ------------
373
+ AC_DEFUN([AM_DEP_TRACK],
374
+ [AC_ARG_ENABLE([dependency-tracking], [dnl
375
+ AS_HELP_STRING(
376
+ [--enable-dependency-tracking],
377
+ [do not reject slow dependency extractors])
378
+ AS_HELP_STRING(
379
+ [--disable-dependency-tracking],
380
+ [speeds up one-time build])])
381
+ if test "x$enable_dependency_tracking" != xno; then
382
+ am_depcomp="$ac_aux_dir/depcomp"
383
+ AMDEPBACKSLASH='\'
384
+ am__nodep='_no'
385
+ fi
386
+ AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
387
+ AC_SUBST([AMDEPBACKSLASH])dnl
388
+ _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
389
+ AC_SUBST([am__nodep])dnl
390
+ _AM_SUBST_NOTMAKE([am__nodep])dnl
391
+ ])
392
+
393
+ # Generate code to set up dependency tracking. -*- Autoconf -*-
394
+
395
+ # Copyright (C) 1999-2018 Free Software Foundation, Inc.
396
+ #
397
+ # This file is free software; the Free Software Foundation
398
+ # gives unlimited permission to copy and/or distribute it,
399
+ # with or without modifications, as long as this notice is preserved.
400
+
401
+ # _AM_OUTPUT_DEPENDENCY_COMMANDS
402
+ # ------------------------------
403
+ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
404
+ [{
405
+ # Older Autoconf quotes --file arguments for eval, but not when files
406
+ # are listed without --file. Let's play safe and only enable the eval
407
+ # if we detect the quoting.
408
+ # TODO: see whether this extra hack can be removed once we start
409
+ # requiring Autoconf 2.70 or later.
410
+ AS_CASE([$CONFIG_FILES],
411
+ [*\'*], [eval set x "$CONFIG_FILES"],
412
+ [*], [set x $CONFIG_FILES])
413
+ shift
414
+ # Used to flag and report bootstrapping failures.
415
+ am_rc=0
416
+ for am_mf
417
+ do
418
+ # Strip MF so we end up with the name of the file.
419
+ am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
420
+ # Check whether this is an Automake generated Makefile which includes
421
+ # dependency-tracking related rules and includes.
422
+ # Grep'ing the whole file directly is not great: AIX grep has a line
423
+ # limit of 2048, but all sed's we know have understand at least 4000.
424
+ sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
425
+ || continue
426
+ am_dirpart=`AS_DIRNAME(["$am_mf"])`
427
+ am_filepart=`AS_BASENAME(["$am_mf"])`
428
+ AM_RUN_LOG([cd "$am_dirpart" \
429
+ && sed -e '/# am--include-marker/d' "$am_filepart" \
430
+ | $MAKE -f - am--depfiles]) || am_rc=$?
431
+ done
432
+ if test $am_rc -ne 0; then
433
+ AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
434
+ for automatic dependency tracking. Try re-running configure with the
435
+ '--disable-dependency-tracking' option to at least be able to build
436
+ the package (albeit without support for automatic dependency tracking).])
437
+ fi
438
+ AS_UNSET([am_dirpart])
439
+ AS_UNSET([am_filepart])
440
+ AS_UNSET([am_mf])
441
+ AS_UNSET([am_rc])
442
+ rm -f conftest-deps.mk
443
+ }
444
+ ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
445
+
446
+
447
+ # AM_OUTPUT_DEPENDENCY_COMMANDS
448
+ # -----------------------------
449
+ # This macro should only be invoked once -- use via AC_REQUIRE.
450
+ #
451
+ # This code is only required when automatic dependency tracking is enabled.
452
+ # This creates each '.Po' and '.Plo' makefile fragment that we'll need in
453
+ # order to bootstrap the dependency handling code.
454
+ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
455
+ [AC_CONFIG_COMMANDS([depfiles],
456
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
457
+ [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
458
+
459
+ # Do all the work for Automake. -*- Autoconf -*-
460
+
461
+ # Copyright (C) 1996-2018 Free Software Foundation, Inc.
462
+ #
463
+ # This file is free software; the Free Software Foundation
464
+ # gives unlimited permission to copy and/or distribute it,
465
+ # with or without modifications, as long as this notice is preserved.
466
+
467
+ # This macro actually does too much. Some checks are only needed if
468
+ # your package does certain things. But this isn't really a big deal.
469
+
470
+ dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
471
+ m4_define([AC_PROG_CC],
472
+ m4_defn([AC_PROG_CC])
473
+ [_AM_PROG_CC_C_O
474
+ ])
475
+
476
+ # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
477
+ # AM_INIT_AUTOMAKE([OPTIONS])
478
+ # -----------------------------------------------
479
+ # The call with PACKAGE and VERSION arguments is the old style
480
+ # call (pre autoconf-2.50), which is being phased out. PACKAGE
481
+ # and VERSION should now be passed to AC_INIT and removed from
482
+ # the call to AM_INIT_AUTOMAKE.
483
+ # We support both call styles for the transition. After
484
+ # the next Automake release, Autoconf can make the AC_INIT
485
+ # arguments mandatory, and then we can depend on a new Autoconf
486
+ # release and drop the old call support.
487
+ AC_DEFUN([AM_INIT_AUTOMAKE],
488
+ [AC_PREREQ([2.65])dnl
489
+ dnl Autoconf wants to disallow AM_ names. We explicitly allow
490
+ dnl the ones we care about.
491
+ m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
492
+ AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
493
+ AC_REQUIRE([AC_PROG_INSTALL])dnl
494
+ if test "`cd $srcdir && pwd`" != "`pwd`"; then
495
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
496
+ # is not polluted with repeated "-I."
497
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
498
+ # test to see if srcdir already configured
499
+ if test -f $srcdir/config.status; then
500
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
501
+ fi
502
+ fi
503
+
504
+ # test whether we have cygpath
505
+ if test -z "$CYGPATH_W"; then
506
+ if (cygpath --version) >/dev/null 2>/dev/null; then
507
+ CYGPATH_W='cygpath -w'
508
+ else
509
+ CYGPATH_W=echo
510
+ fi
511
+ fi
512
+ AC_SUBST([CYGPATH_W])
513
+
514
+ # Define the identity of the package.
515
+ dnl Distinguish between old-style and new-style calls.
516
+ m4_ifval([$2],
517
+ [AC_DIAGNOSE([obsolete],
518
+ [$0: two- and three-arguments forms are deprecated.])
519
+ m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
520
+ AC_SUBST([PACKAGE], [$1])dnl
521
+ AC_SUBST([VERSION], [$2])],
522
+ [_AM_SET_OPTIONS([$1])dnl
523
+ dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
524
+ m4_if(
525
+ m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
526
+ [ok:ok],,
527
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
528
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
529
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
530
+
531
+ _AM_IF_OPTION([no-define],,
532
+ [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
533
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
534
+
535
+ # Some tools Automake needs.
536
+ AC_REQUIRE([AM_SANITY_CHECK])dnl
537
+ AC_REQUIRE([AC_ARG_PROGRAM])dnl
538
+ AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
539
+ AM_MISSING_PROG([AUTOCONF], [autoconf])
540
+ AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
541
+ AM_MISSING_PROG([AUTOHEADER], [autoheader])
542
+ AM_MISSING_PROG([MAKEINFO], [makeinfo])
543
+ AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
544
+ AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
545
+ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
546
+ # For better backward compatibility. To be removed once Automake 1.9.x
547
+ # dies out for good. For more background, see:
548
+ # <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
549
+ # <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
550
+ AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
551
+ # We need awk for the "check" target (and possibly the TAP driver). The
552
+ # system "awk" is bad on some platforms.
553
+ AC_REQUIRE([AC_PROG_AWK])dnl
554
+ AC_REQUIRE([AC_PROG_MAKE_SET])dnl
555
+ AC_REQUIRE([AM_SET_LEADING_DOT])dnl
556
+ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
557
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
558
+ [_AM_PROG_TAR([v7])])])
559
+ _AM_IF_OPTION([no-dependencies],,
560
+ [AC_PROVIDE_IFELSE([AC_PROG_CC],
561
+ [_AM_DEPENDENCIES([CC])],
562
+ [m4_define([AC_PROG_CC],
563
+ m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
564
+ AC_PROVIDE_IFELSE([AC_PROG_CXX],
565
+ [_AM_DEPENDENCIES([CXX])],
566
+ [m4_define([AC_PROG_CXX],
567
+ m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
568
+ AC_PROVIDE_IFELSE([AC_PROG_OBJC],
569
+ [_AM_DEPENDENCIES([OBJC])],
570
+ [m4_define([AC_PROG_OBJC],
571
+ m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
572
+ AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
573
+ [_AM_DEPENDENCIES([OBJCXX])],
574
+ [m4_define([AC_PROG_OBJCXX],
575
+ m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
576
+ ])
577
+ AC_REQUIRE([AM_SILENT_RULES])dnl
578
+ dnl The testsuite driver may need to know about EXEEXT, so add the
579
+ dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
580
+ dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
581
+ AC_CONFIG_COMMANDS_PRE(dnl
582
+ [m4_provide_if([_AM_COMPILER_EXEEXT],
583
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
584
+
585
+ # POSIX will say in a future version that running "rm -f" with no argument
586
+ # is OK; and we want to be able to make that assumption in our Makefile
587
+ # recipes. So use an aggressive probe to check that the usage we want is
588
+ # actually supported "in the wild" to an acceptable degree.
589
+ # See automake bug#10828.
590
+ # To make any issue more visible, cause the running configure to be aborted
591
+ # by default if the 'rm' program in use doesn't match our expectations; the
592
+ # user can still override this though.
593
+ if rm -f && rm -fr && rm -rf; then : OK; else
594
+ cat >&2 <<'END'
595
+ Oops!
596
+
597
+ Your 'rm' program seems unable to run without file operands specified
598
+ on the command line, even when the '-f' option is present. This is contrary
599
+ to the behaviour of most rm programs out there, and not conforming with
600
+ the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
601
+
602
+ Please tell bug-automake@gnu.org about your system, including the value
603
+ of your $PATH and any error possibly output before this message. This
604
+ can help us improve future automake versions.
605
+
606
+ END
607
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
608
+ echo 'Configuration will proceed anyway, since you have set the' >&2
609
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
610
+ echo >&2
611
+ else
612
+ cat >&2 <<'END'
613
+ Aborting the configuration process, to ensure you take notice of the issue.
614
+
615
+ You can download and install GNU coreutils to get an 'rm' implementation
616
+ that behaves properly: <https://www.gnu.org/software/coreutils/>.
617
+
618
+ If you want to complete the configuration process using your problematic
619
+ 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
620
+ to "yes", and re-run configure.
621
+
622
+ END
623
+ AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
624
+ fi
625
+ fi
626
+ dnl The trailing newline in this macro's definition is deliberate, for
627
+ dnl backward compatibility and to allow trailing 'dnl'-style comments
628
+ dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
629
+ ])
630
+
631
+ dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
632
+ dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
633
+ dnl mangled by Autoconf and run in a shell conditional statement.
634
+ m4_define([_AC_COMPILER_EXEEXT],
635
+ m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
636
+
637
+ # When config.status generates a header, we must update the stamp-h file.
638
+ # This file resides in the same directory as the config header
639
+ # that is generated. The stamp files are numbered to have different names.
640
+
641
+ # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
642
+ # loop where config.status creates the headers, so we can generate
643
+ # our stamp files there.
644
+ AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
645
+ [# Compute $1's index in $config_headers.
646
+ _am_arg=$1
647
+ _am_stamp_count=1
648
+ for _am_header in $config_headers :; do
649
+ case $_am_header in
650
+ $_am_arg | $_am_arg:* )
651
+ break ;;
652
+ * )
653
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
654
+ esac
655
+ done
656
+ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
657
+
658
+ # Copyright (C) 2001-2018 Free Software Foundation, Inc.
659
+ #
660
+ # This file is free software; the Free Software Foundation
661
+ # gives unlimited permission to copy and/or distribute it,
662
+ # with or without modifications, as long as this notice is preserved.
663
+
664
+ # AM_PROG_INSTALL_SH
665
+ # ------------------
666
+ # Define $install_sh.
667
+ AC_DEFUN([AM_PROG_INSTALL_SH],
668
+ [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
669
+ if test x"${install_sh+set}" != xset; then
670
+ case $am_aux_dir in
671
+ *\ * | *\ *)
672
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
673
+ *)
674
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
675
+ esac
676
+ fi
677
+ AC_SUBST([install_sh])])
678
+
679
+ # Copyright (C) 2003-2018 Free Software Foundation, Inc.
680
+ #
681
+ # This file is free software; the Free Software Foundation
682
+ # gives unlimited permission to copy and/or distribute it,
683
+ # with or without modifications, as long as this notice is preserved.
684
+
685
+ # Check whether the underlying file-system supports filenames
686
+ # with a leading dot. For instance MS-DOS doesn't.
687
+ AC_DEFUN([AM_SET_LEADING_DOT],
688
+ [rm -rf .tst 2>/dev/null
689
+ mkdir .tst 2>/dev/null
690
+ if test -d .tst; then
691
+ am__leading_dot=.
692
+ else
693
+ am__leading_dot=_
694
+ fi
695
+ rmdir .tst 2>/dev/null
696
+ AC_SUBST([am__leading_dot])])
697
+
698
+ # Check to see how 'make' treats includes. -*- Autoconf -*-
699
+
700
+ # Copyright (C) 2001-2018 Free Software Foundation, Inc.
701
+ #
702
+ # This file is free software; the Free Software Foundation
703
+ # gives unlimited permission to copy and/or distribute it,
704
+ # with or without modifications, as long as this notice is preserved.
705
+
706
+ # AM_MAKE_INCLUDE()
707
+ # -----------------
708
+ # Check whether make has an 'include' directive that can support all
709
+ # the idioms we need for our automatic dependency tracking code.
710
+ AC_DEFUN([AM_MAKE_INCLUDE],
711
+ [AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
712
+ cat > confinc.mk << 'END'
713
+ am__doit:
714
+ @echo this is the am__doit target >confinc.out
715
+ .PHONY: am__doit
716
+ END
717
+ am__include="#"
718
+ am__quote=
719
+ # BSD make does it like this.
720
+ echo '.include "confinc.mk" # ignored' > confmf.BSD
721
+ # Other make implementations (GNU, Solaris 10, AIX) do it like this.
722
+ echo 'include confinc.mk # ignored' > confmf.GNU
723
+ _am_result=no
724
+ for s in GNU BSD; do
725
+ AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
726
+ AS_CASE([$?:`cat confinc.out 2>/dev/null`],
727
+ ['0:this is the am__doit target'],
728
+ [AS_CASE([$s],
729
+ [BSD], [am__include='.include' am__quote='"'],
730
+ [am__include='include' am__quote=''])])
731
+ if test "$am__include" != "#"; then
732
+ _am_result="yes ($s style)"
733
+ break
734
+ fi
735
+ done
736
+ rm -f confinc.* confmf.*
737
+ AC_MSG_RESULT([${_am_result}])
738
+ AC_SUBST([am__include])])
739
+ AC_SUBST([am__quote])])
740
+
741
+ # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
742
+
743
+ # Copyright (C) 1997-2018 Free Software Foundation, Inc.
744
+ #
745
+ # This file is free software; the Free Software Foundation
746
+ # gives unlimited permission to copy and/or distribute it,
747
+ # with or without modifications, as long as this notice is preserved.
748
+
749
+ # AM_MISSING_PROG(NAME, PROGRAM)
750
+ # ------------------------------
751
+ AC_DEFUN([AM_MISSING_PROG],
752
+ [AC_REQUIRE([AM_MISSING_HAS_RUN])
753
+ $1=${$1-"${am_missing_run}$2"}
754
+ AC_SUBST($1)])
755
+
756
+ # AM_MISSING_HAS_RUN
757
+ # ------------------
758
+ # Define MISSING if not defined so far and test if it is modern enough.
759
+ # If it is, set am_missing_run to use it, otherwise, to nothing.
760
+ AC_DEFUN([AM_MISSING_HAS_RUN],
761
+ [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
762
+ AC_REQUIRE_AUX_FILE([missing])dnl
763
+ if test x"${MISSING+set}" != xset; then
764
+ case $am_aux_dir in
765
+ *\ * | *\ *)
766
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
767
+ *)
768
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
769
+ esac
770
+ fi
771
+ # Use eval to expand $SHELL
772
+ if eval "$MISSING --is-lightweight"; then
773
+ am_missing_run="$MISSING "
774
+ else
775
+ am_missing_run=
776
+ AC_MSG_WARN(['missing' script is too old or missing])
777
+ fi
778
+ ])
779
+
780
+ # Helper functions for option handling. -*- Autoconf -*-
781
+
782
+ # Copyright (C) 2001-2018 Free Software Foundation, Inc.
783
+ #
784
+ # This file is free software; the Free Software Foundation
785
+ # gives unlimited permission to copy and/or distribute it,
786
+ # with or without modifications, as long as this notice is preserved.
787
+
788
+ # _AM_MANGLE_OPTION(NAME)
789
+ # -----------------------
790
+ AC_DEFUN([_AM_MANGLE_OPTION],
791
+ [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
792
+
793
+ # _AM_SET_OPTION(NAME)
794
+ # --------------------
795
+ # Set option NAME. Presently that only means defining a flag for this option.
796
+ AC_DEFUN([_AM_SET_OPTION],
797
+ [m4_define(_AM_MANGLE_OPTION([$1]), [1])])
798
+
799
+ # _AM_SET_OPTIONS(OPTIONS)
800
+ # ------------------------
801
+ # OPTIONS is a space-separated list of Automake options.
802
+ AC_DEFUN([_AM_SET_OPTIONS],
803
+ [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
804
+
805
+ # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
806
+ # -------------------------------------------
807
+ # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
808
+ AC_DEFUN([_AM_IF_OPTION],
809
+ [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
810
+
811
+ # Copyright (C) 1999-2018 Free Software Foundation, Inc.
812
+ #
813
+ # This file is free software; the Free Software Foundation
814
+ # gives unlimited permission to copy and/or distribute it,
815
+ # with or without modifications, as long as this notice is preserved.
816
+
817
+ # _AM_PROG_CC_C_O
818
+ # ---------------
819
+ # Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
820
+ # to automatically call this.
821
+ AC_DEFUN([_AM_PROG_CC_C_O],
822
+ [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
823
+ AC_REQUIRE_AUX_FILE([compile])dnl
824
+ AC_LANG_PUSH([C])dnl
825
+ AC_CACHE_CHECK(
826
+ [whether $CC understands -c and -o together],
827
+ [am_cv_prog_cc_c_o],
828
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
829
+ # Make sure it works both with $CC and with simple cc.
830
+ # Following AC_PROG_CC_C_O, we do the test twice because some
831
+ # compilers refuse to overwrite an existing .o file with -o,
832
+ # though they will create one.
833
+ am_cv_prog_cc_c_o=yes
834
+ for am_i in 1 2; do
835
+ if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
836
+ && test -f conftest2.$ac_objext; then
837
+ : OK
838
+ else
839
+ am_cv_prog_cc_c_o=no
840
+ break
841
+ fi
842
+ done
843
+ rm -f core conftest*
844
+ unset am_i])
845
+ if test "$am_cv_prog_cc_c_o" != yes; then
846
+ # Losing compiler, so override with the script.
847
+ # FIXME: It is wrong to rewrite CC.
848
+ # But if we don't then we get into trouble of one sort or another.
849
+ # A longer-term fix would be to have automake use am__CC in this case,
850
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
851
+ CC="$am_aux_dir/compile $CC"
852
+ fi
853
+ AC_LANG_POP([C])])
854
+
855
+ # For backward compatibility.
856
+ AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
857
+
858
+ # Copyright (C) 2001-2018 Free Software Foundation, Inc.
859
+ #
860
+ # This file is free software; the Free Software Foundation
861
+ # gives unlimited permission to copy and/or distribute it,
862
+ # with or without modifications, as long as this notice is preserved.
863
+
864
+ # AM_RUN_LOG(COMMAND)
865
+ # -------------------
866
+ # Run COMMAND, save the exit status in ac_status, and log it.
867
+ # (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
868
+ AC_DEFUN([AM_RUN_LOG],
869
+ [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
870
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
871
+ ac_status=$?
872
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
873
+ (exit $ac_status); }])
874
+
875
+ # Check to make sure that the build environment is sane. -*- Autoconf -*-
876
+
877
+ # Copyright (C) 1996-2018 Free Software Foundation, Inc.
878
+ #
879
+ # This file is free software; the Free Software Foundation
880
+ # gives unlimited permission to copy and/or distribute it,
881
+ # with or without modifications, as long as this notice is preserved.
882
+
883
+ # AM_SANITY_CHECK
884
+ # ---------------
885
+ AC_DEFUN([AM_SANITY_CHECK],
886
+ [AC_MSG_CHECKING([whether build environment is sane])
887
+ # Reject unsafe characters in $srcdir or the absolute working directory
888
+ # name. Accept space and tab only in the latter.
889
+ am_lf='
890
+ '
891
+ case `pwd` in
892
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
893
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
894
+ esac
895
+ case $srcdir in
896
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
897
+ AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
898
+ esac
899
+
900
+ # Do 'set' in a subshell so we don't clobber the current shell's
901
+ # arguments. Must try -L first in case configure is actually a
902
+ # symlink; some systems play weird games with the mod time of symlinks
903
+ # (eg FreeBSD returns the mod time of the symlink's containing
904
+ # directory).
905
+ if (
906
+ am_has_slept=no
907
+ for am_try in 1 2; do
908
+ echo "timestamp, slept: $am_has_slept" > conftest.file
909
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
910
+ if test "$[*]" = "X"; then
911
+ # -L didn't work.
912
+ set X `ls -t "$srcdir/configure" conftest.file`
913
+ fi
914
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
915
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
916
+
917
+ # If neither matched, then we have a broken ls. This can happen
918
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
919
+ # broken ls alias from the environment. This has actually
920
+ # happened. Such a system could not be considered "sane".
921
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
922
+ alias in your environment])
923
+ fi
924
+ if test "$[2]" = conftest.file || test $am_try -eq 2; then
925
+ break
926
+ fi
927
+ # Just in case.
928
+ sleep 1
929
+ am_has_slept=yes
930
+ done
931
+ test "$[2]" = conftest.file
932
+ )
933
+ then
934
+ # Ok.
935
+ :
936
+ else
937
+ AC_MSG_ERROR([newly created file is older than distributed files!
938
+ Check your system clock])
939
+ fi
940
+ AC_MSG_RESULT([yes])
941
+ # If we didn't sleep, we still need to ensure time stamps of config.status and
942
+ # generated files are strictly newer.
943
+ am_sleep_pid=
944
+ if grep 'slept: no' conftest.file >/dev/null 2>&1; then
945
+ ( sleep 1 ) &
946
+ am_sleep_pid=$!
947
+ fi
948
+ AC_CONFIG_COMMANDS_PRE(
949
+ [AC_MSG_CHECKING([that generated files are newer than configure])
950
+ if test -n "$am_sleep_pid"; then
951
+ # Hide warnings about reused PIDs.
952
+ wait $am_sleep_pid 2>/dev/null
953
+ fi
954
+ AC_MSG_RESULT([done])])
955
+ rm -f conftest.file
956
+ ])
957
+
958
+ # Copyright (C) 2009-2018 Free Software Foundation, Inc.
959
+ #
960
+ # This file is free software; the Free Software Foundation
961
+ # gives unlimited permission to copy and/or distribute it,
962
+ # with or without modifications, as long as this notice is preserved.
963
+
964
+ # AM_SILENT_RULES([DEFAULT])
965
+ # --------------------------
966
+ # Enable less verbose build rules; with the default set to DEFAULT
967
+ # ("yes" being less verbose, "no" or empty being verbose).
968
+ AC_DEFUN([AM_SILENT_RULES],
969
+ [AC_ARG_ENABLE([silent-rules], [dnl
970
+ AS_HELP_STRING(
971
+ [--enable-silent-rules],
972
+ [less verbose build output (undo: "make V=1")])
973
+ AS_HELP_STRING(
974
+ [--disable-silent-rules],
975
+ [verbose build output (undo: "make V=0")])dnl
976
+ ])
977
+ case $enable_silent_rules in @%:@ (((
978
+ yes) AM_DEFAULT_VERBOSITY=0;;
979
+ no) AM_DEFAULT_VERBOSITY=1;;
980
+ *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
981
+ esac
982
+ dnl
983
+ dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
984
+ dnl do not support nested variable expansions.
985
+ dnl See automake bug#9928 and bug#10237.
986
+ am_make=${MAKE-make}
987
+ AC_CACHE_CHECK([whether $am_make supports nested variables],
988
+ [am_cv_make_support_nested_variables],
989
+ [if AS_ECHO([['TRUE=$(BAR$(V))
990
+ BAR0=false
991
+ BAR1=true
992
+ V=1
993
+ am__doit:
994
+ @$(TRUE)
995
+ .PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
996
+ am_cv_make_support_nested_variables=yes
997
+ else
998
+ am_cv_make_support_nested_variables=no
999
+ fi])
1000
+ if test $am_cv_make_support_nested_variables = yes; then
1001
+ dnl Using '$V' instead of '$(V)' breaks IRIX make.
1002
+ AM_V='$(V)'
1003
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
1004
+ else
1005
+ AM_V=$AM_DEFAULT_VERBOSITY
1006
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
1007
+ fi
1008
+ AC_SUBST([AM_V])dnl
1009
+ AM_SUBST_NOTMAKE([AM_V])dnl
1010
+ AC_SUBST([AM_DEFAULT_V])dnl
1011
+ AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
1012
+ AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
1013
+ AM_BACKSLASH='\'
1014
+ AC_SUBST([AM_BACKSLASH])dnl
1015
+ _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
1016
+ ])
1017
+
1018
+ # Copyright (C) 2001-2018 Free Software Foundation, Inc.
1019
+ #
1020
+ # This file is free software; the Free Software Foundation
1021
+ # gives unlimited permission to copy and/or distribute it,
1022
+ # with or without modifications, as long as this notice is preserved.
1023
+
1024
+ # AM_PROG_INSTALL_STRIP
1025
+ # ---------------------
1026
+ # One issue with vendor 'install' (even GNU) is that you can't
1027
+ # specify the program used to strip binaries. This is especially
1028
+ # annoying in cross-compiling environments, where the build's strip
1029
+ # is unlikely to handle the host's binaries.
1030
+ # Fortunately install-sh will honor a STRIPPROG variable, so we
1031
+ # always use install-sh in "make install-strip", and initialize
1032
+ # STRIPPROG with the value of the STRIP variable (set by the user).
1033
+ AC_DEFUN([AM_PROG_INSTALL_STRIP],
1034
+ [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
1035
+ # Installed binaries are usually stripped using 'strip' when the user
1036
+ # run "make install-strip". However 'strip' might not be the right
1037
+ # tool to use in cross-compilation environments, therefore Automake
1038
+ # will honor the 'STRIP' environment variable to overrule this program.
1039
+ dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
1040
+ if test "$cross_compiling" != no; then
1041
+ AC_CHECK_TOOL([STRIP], [strip], :)
1042
+ fi
1043
+ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
1044
+ AC_SUBST([INSTALL_STRIP_PROGRAM])])
1045
+
1046
+ # Copyright (C) 2006-2018 Free Software Foundation, Inc.
1047
+ #
1048
+ # This file is free software; the Free Software Foundation
1049
+ # gives unlimited permission to copy and/or distribute it,
1050
+ # with or without modifications, as long as this notice is preserved.
1051
+
1052
+ # _AM_SUBST_NOTMAKE(VARIABLE)
1053
+ # ---------------------------
1054
+ # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
1055
+ # This macro is traced by Automake.
1056
+ AC_DEFUN([_AM_SUBST_NOTMAKE])
1057
+
1058
+ # AM_SUBST_NOTMAKE(VARIABLE)
1059
+ # --------------------------
1060
+ # Public sister of _AM_SUBST_NOTMAKE.
1061
+ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
1062
+
1063
+ # Check how to create a tarball. -*- Autoconf -*-
1064
+
1065
+ # Copyright (C) 2004-2018 Free Software Foundation, Inc.
1066
+ #
1067
+ # This file is free software; the Free Software Foundation
1068
+ # gives unlimited permission to copy and/or distribute it,
1069
+ # with or without modifications, as long as this notice is preserved.
1070
+
1071
+ # _AM_PROG_TAR(FORMAT)
1072
+ # --------------------
1073
+ # Check how to create a tarball in format FORMAT.
1074
+ # FORMAT should be one of 'v7', 'ustar', or 'pax'.
1075
+ #
1076
+ # Substitute a variable $(am__tar) that is a command
1077
+ # writing to stdout a FORMAT-tarball containing the directory
1078
+ # $tardir.
1079
+ # tardir=directory && $(am__tar) > result.tar
1080
+ #
1081
+ # Substitute a variable $(am__untar) that extract such
1082
+ # a tarball read from stdin.
1083
+ # $(am__untar) < result.tar
1084
+ #
1085
+ AC_DEFUN([_AM_PROG_TAR],
1086
+ [# Always define AMTAR for backward compatibility. Yes, it's still used
1087
+ # in the wild :-( We should find a proper way to deprecate it ...
1088
+ AC_SUBST([AMTAR], ['$${TAR-tar}'])
1089
+
1090
+ # We'll loop over all known methods to create a tar archive until one works.
1091
+ _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
1092
+
1093
+ m4_if([$1], [v7],
1094
+ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
1095
+
1096
+ [m4_case([$1],
1097
+ [ustar],
1098
+ [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
1099
+ # There is notably a 21 bits limit for the UID and the GID. In fact,
1100
+ # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
1101
+ # and bug#13588).
1102
+ am_max_uid=2097151 # 2^21 - 1
1103
+ am_max_gid=$am_max_uid
1104
+ # The $UID and $GID variables are not portable, so we need to resort
1105
+ # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
1106
+ # below are definitely unexpected, so allow the users to see them
1107
+ # (that is, avoid stderr redirection).
1108
+ am_uid=`id -u || echo unknown`
1109
+ am_gid=`id -g || echo unknown`
1110
+ AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
1111
+ if test $am_uid -le $am_max_uid; then
1112
+ AC_MSG_RESULT([yes])
1113
+ else
1114
+ AC_MSG_RESULT([no])
1115
+ _am_tools=none
1116
+ fi
1117
+ AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
1118
+ if test $am_gid -le $am_max_gid; then
1119
+ AC_MSG_RESULT([yes])
1120
+ else
1121
+ AC_MSG_RESULT([no])
1122
+ _am_tools=none
1123
+ fi],
1124
+
1125
+ [pax],
1126
+ [],
1127
+
1128
+ [m4_fatal([Unknown tar format])])
1129
+
1130
+ AC_MSG_CHECKING([how to create a $1 tar archive])
1131
+
1132
+ # Go ahead even if we have the value already cached. We do so because we
1133
+ # need to set the values for the 'am__tar' and 'am__untar' variables.
1134
+ _am_tools=${am_cv_prog_tar_$1-$_am_tools}
1135
+
1136
+ for _am_tool in $_am_tools; do
1137
+ case $_am_tool in
1138
+ gnutar)
1139
+ for _am_tar in tar gnutar gtar; do
1140
+ AM_RUN_LOG([$_am_tar --version]) && break
1141
+ done
1142
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
1143
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
1144
+ am__untar="$_am_tar -xf -"
1145
+ ;;
1146
+ plaintar)
1147
+ # Must skip GNU tar: if it does not support --format= it doesn't create
1148
+ # ustar tarball either.
1149
+ (tar --version) >/dev/null 2>&1 && continue
1150
+ am__tar='tar chf - "$$tardir"'
1151
+ am__tar_='tar chf - "$tardir"'
1152
+ am__untar='tar xf -'
1153
+ ;;
1154
+ pax)
1155
+ am__tar='pax -L -x $1 -w "$$tardir"'
1156
+ am__tar_='pax -L -x $1 -w "$tardir"'
1157
+ am__untar='pax -r'
1158
+ ;;
1159
+ cpio)
1160
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
1161
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
1162
+ am__untar='cpio -i -H $1 -d'
1163
+ ;;
1164
+ none)
1165
+ am__tar=false
1166
+ am__tar_=false
1167
+ am__untar=false
1168
+ ;;
1169
+ esac
1170
+
1171
+ # If the value was cached, stop now. We just wanted to have am__tar
1172
+ # and am__untar set.
1173
+ test -n "${am_cv_prog_tar_$1}" && break
1174
+
1175
+ # tar/untar a dummy directory, and stop if the command works.
1176
+ rm -rf conftest.dir
1177
+ mkdir conftest.dir
1178
+ echo GrepMe > conftest.dir/file
1179
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
1180
+ rm -rf conftest.dir
1181
+ if test -s conftest.tar; then
1182
+ AM_RUN_LOG([$am__untar <conftest.tar])
1183
+ AM_RUN_LOG([cat conftest.dir/file])
1184
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
1185
+ fi
1186
+ done
1187
+ rm -rf conftest.dir
1188
+
1189
+ AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
1190
+ AC_MSG_RESULT([$am_cv_prog_tar_$1])])
1191
+
1192
+ AC_SUBST([am__tar])
1193
+ AC_SUBST([am__untar])
1194
+ ]) # _AM_PROG_TAR
1195
+
1196
+ m4_include([m4/libtool.m4])
1197
+ m4_include([m4/ltoptions.m4])
1198
+ m4_include([m4/ltsugar.m4])
1199
+ m4_include([m4/ltversion.m4])
1200
+ m4_include([m4/lt~obsolete.m4])
lm/irstlm/ar-lib ADDED
@@ -0,0 +1 @@
 
 
1
+ /usr/share/automake-1.16/ar-lib
lm/irstlm/autom4te.cache/output.0 ADDED
The diff for this file is too large to render. See raw diff
 
lm/irstlm/autom4te.cache/output.1 ADDED
The diff for this file is too large to render. See raw diff
 
lm/irstlm/autom4te.cache/output.2 ADDED
The diff for this file is too large to render. See raw diff
 
lm/irstlm/autom4te.cache/requests ADDED
@@ -0,0 +1,523 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # This file was generated by Autom4te Wed Jan 22 14:03:12 UTC 2020.
2
+ # It contains the lists of macros which have been traced.
3
+ # It can be safely removed.
4
+
5
+ @request = (
6
+ bless( [
7
+ '0',
8
+ 1,
9
+ [
10
+ '/usr/share/autoconf'
11
+ ],
12
+ [
13
+ '/usr/share/autoconf/autoconf/autoconf.m4f',
14
+ '-',
15
+ '/usr/share/aclocal-1.16/internal/ac-config-macro-dirs.m4',
16
+ '/usr/share/aclocal/libtool.m4',
17
+ '/usr/share/aclocal/ltargz.m4',
18
+ '/usr/share/aclocal/ltdl.m4',
19
+ '/usr/share/aclocal/ltoptions.m4',
20
+ '/usr/share/aclocal/ltsugar.m4',
21
+ '/usr/share/aclocal/ltversion.m4',
22
+ '/usr/share/aclocal/lt~obsolete.m4',
23
+ '/usr/share/aclocal-1.16/amversion.m4',
24
+ '/usr/share/aclocal-1.16/ar-lib.m4',
25
+ '/usr/share/aclocal-1.16/auxdir.m4',
26
+ '/usr/share/aclocal-1.16/cond.m4',
27
+ '/usr/share/aclocal-1.16/depend.m4',
28
+ '/usr/share/aclocal-1.16/depout.m4',
29
+ '/usr/share/aclocal-1.16/init.m4',
30
+ '/usr/share/aclocal-1.16/install-sh.m4',
31
+ '/usr/share/aclocal-1.16/lead-dot.m4',
32
+ '/usr/share/aclocal-1.16/make.m4',
33
+ '/usr/share/aclocal-1.16/missing.m4',
34
+ '/usr/share/aclocal-1.16/options.m4',
35
+ '/usr/share/aclocal-1.16/prog-cc-c-o.m4',
36
+ '/usr/share/aclocal-1.16/runlog.m4',
37
+ '/usr/share/aclocal-1.16/sanity.m4',
38
+ '/usr/share/aclocal-1.16/silent.m4',
39
+ '/usr/share/aclocal-1.16/strip.m4',
40
+ '/usr/share/aclocal-1.16/substnot.m4',
41
+ '/usr/share/aclocal-1.16/tar.m4',
42
+ 'configure.ac'
43
+ ],
44
+ {
45
+ 'AC_LIBTOOL_DLOPEN_SELF' => 1,
46
+ '_LT_DLL_DEF_P' => 1,
47
+ 'AM_MAKE_INCLUDE' => 1,
48
+ '_LT_AC_FILE_LTDLL_C' => 1,
49
+ '_LT_AC_LANG_CXX' => 1,
50
+ '_LT_AC_LANG_RC_CONFIG' => 1,
51
+ 'AC_LIBTOOL_CXX' => 1,
52
+ 'AM_CONDITIONAL' => 1,
53
+ 'AM_SET_LEADING_DOT' => 1,
54
+ 'AC_LIBTOOL_SETUP' => 1,
55
+ 'LT_AC_PROG_SED' => 1,
56
+ '_AM_PROG_TAR' => 1,
57
+ 'AM_PROG_INSTALL_STRIP' => 1,
58
+ 'AC_LIBLTDL_INSTALLABLE' => 1,
59
+ 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1,
60
+ 'm4_pattern_allow' => 1,
61
+ '_LT_AC_LANG_CXX_CONFIG' => 1,
62
+ 'AC_ENABLE_SHARED' => 1,
63
+ 'AC_DEFUN_ONCE' => 1,
64
+ 'AC_PROG_LD_GNU' => 1,
65
+ 'AC_LIBTOOL_OBJDIR' => 1,
66
+ 'AC_LTDL_DLSYM_USCORE' => 1,
67
+ 'AC_DISABLE_FAST_INSTALL' => 1,
68
+ '_LT_AC_TAGCONFIG' => 1,
69
+ 'AC_DEFUN' => 1,
70
+ 'LT_SYS_SYMBOL_USCORE' => 1,
71
+ 'AC_LIBTOOL_LINKER_OPTION' => 1,
72
+ '_AM_CONFIG_MACRO_DIRS' => 1,
73
+ '_LT_AC_TAGVAR' => 1,
74
+ '_LT_PATH_TOOL_PREFIX' => 1,
75
+ 'AC_LIBTOOL_LANG_C_CONFIG' => 1,
76
+ '_LT_AC_CHECK_DLFCN' => 1,
77
+ '_LT_AC_LANG_GCJ' => 1,
78
+ '_LT_AC_LANG_GCJ_CONFIG' => 1,
79
+ 'LTSUGAR_VERSION' => 1,
80
+ '_AM_AUTOCONF_VERSION' => 1,
81
+ 'AC_LIBTOOL_LANG_F77_CONFIG' => 1,
82
+ 'AM_ENABLE_STATIC' => 1,
83
+ '_LT_LINKER_BOILERPLATE' => 1,
84
+ 'AC_LIBTOOL_POSTDEP_PREDEP' => 1,
85
+ 'AM_DEP_TRACK' => 1,
86
+ '_LT_AC_SYS_LIBPATH_AIX' => 1,
87
+ '_AC_PROG_LIBTOOL' => 1,
88
+ 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1,
89
+ '_AC_AM_CONFIG_HEADER_HOOK' => 1,
90
+ 'LT_WITH_LTDL' => 1,
91
+ 'LTDL_CONVENIENCE' => 1,
92
+ 'LT_LIB_M' => 1,
93
+ 'AC_LIB_LTDL' => 1,
94
+ 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1,
95
+ 'AM_MISSING_PROG' => 1,
96
+ 'LT_SYS_DLOPEN_DEPLIBS' => 1,
97
+ 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1,
98
+ 'm4_pattern_forbid' => 1,
99
+ 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1,
100
+ 'AC_LTDL_SHLIBPATH' => 1,
101
+ 'AM_SANITY_CHECK' => 1,
102
+ '_LT_WITH_SYSROOT' => 1,
103
+ 'AC_ENABLE_STATIC' => 1,
104
+ 'AC_LIBTOOL_PICMODE' => 1,
105
+ 'LT_SYS_MODULE_EXT' => 1,
106
+ '_LT_AC_LOCK' => 1,
107
+ 'LT_SYS_DLOPEN_SELF' => 1,
108
+ 'AC_LIBTOOL_PROG_CC_C_O' => 1,
109
+ '_LT_AC_LANG_F77' => 1,
110
+ 'AC_LIBTOOL_DLOPEN' => 1,
111
+ 'AM_MISSING_HAS_RUN' => 1,
112
+ 'LT_SUPPORTED_TAG' => 1,
113
+ '_LT_REQUIRED_DARWIN_CHECKS' => 1,
114
+ '_LT_COMPILER_BOILERPLATE' => 1,
115
+ 'LT_AC_PROG_EGREP' => 1,
116
+ 'AU_DEFUN' => 1,
117
+ 'LT_LANG' => 1,
118
+ 'LT_FUNC_ARGZ' => 1,
119
+ 'LT_CONFIG_LTDL_DIR' => 1,
120
+ 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1,
121
+ 'AM_ENABLE_SHARED' => 1,
122
+ 'LTOPTIONS_VERSION' => 1,
123
+ '_LT_AC_PROG_CXXCPP' => 1,
124
+ 'AC_CONFIG_MACRO_DIR_TRACE' => 1,
125
+ '_AM_DEPENDENCIES' => 1,
126
+ '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
127
+ 'AC_LTDL_SHLIBEXT' => 1,
128
+ 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
129
+ 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
130
+ '_LT_AC_LANG_F77_CONFIG' => 1,
131
+ 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1,
132
+ 'AC_LTDL_SYSSEARCHPATH' => 1,
133
+ '_LT_LIBOBJ' => 1,
134
+ 'AM_AUX_DIR_EXPAND' => 1,
135
+ '_LT_AC_LANG_C_CONFIG' => 1,
136
+ 'AC_LTDL_SYMBOL_USCORE' => 1,
137
+ 'm4_include' => 1,
138
+ 'LT_AC_PROG_RC' => 1,
139
+ '_LT_PROG_F77' => 1,
140
+ '_LT_LINKER_OPTION' => 1,
141
+ 'AC_LIBTOOL_CONFIG' => 1,
142
+ 'LT_PATH_NM' => 1,
143
+ 'AC_LIBTOOL_WIN32_DLL' => 1,
144
+ 'AC_PROG_NM' => 1,
145
+ 'AC_LTDL_OBJDIR' => 1,
146
+ 'LTDL_INSTALLABLE' => 1,
147
+ 'AM_SILENT_RULES' => 1,
148
+ 'LT_PATH_LD' => 1,
149
+ 'AC_CONFIG_MACRO_DIR' => 1,
150
+ 'LT_AC_PROG_GCJ' => 1,
151
+ 'AC_DEPLIBS_CHECK_METHOD' => 1,
152
+ 'AC_PROG_LD' => 1,
153
+ 'AC_DISABLE_STATIC' => 1,
154
+ '_LT_AC_TRY_DLOPEN_SELF' => 1,
155
+ 'AM_PROG_CC_C_O' => 1,
156
+ '_LT_AC_PROG_ECHO_BACKSLASH' => 1,
157
+ 'AM_SET_DEPDIR' => 1,
158
+ 'AC_DISABLE_SHARED' => 1,
159
+ 'AC_LIBTOOL_GCJ' => 1,
160
+ 'LT_PROG_GCJ' => 1,
161
+ '_LT_PROG_LTMAIN' => 1,
162
+ 'AC_ENABLE_FAST_INSTALL' => 1,
163
+ 'LT_SYS_DLSEARCH_PATH' => 1,
164
+ 'LT_PROG_RC' => 1,
165
+ 'LTOBSOLETE_VERSION' => 1,
166
+ 'AC_PROG_LD_RELOAD_FLAG' => 1,
167
+ '_LT_PROG_CXX' => 1,
168
+ '_AM_PROG_CC_C_O' => 1,
169
+ 'AC_LTDL_ENABLE_INSTALL' => 1,
170
+ '_AM_SET_OPTION' => 1,
171
+ '_m4_warn' => 1,
172
+ '_AM_MANGLE_OPTION' => 1,
173
+ 'LT_OUTPUT' => 1,
174
+ 'AC_PROG_LIBTOOL' => 1,
175
+ 'LT_CMD_MAX_LEN' => 1,
176
+ 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1,
177
+ 'AM_PROG_INSTALL_SH' => 1,
178
+ 'AC_LIBTOOL_LANG_RC_CONFIG' => 1,
179
+ 'AC_LIBTOOL_COMPILER_OPTION' => 1,
180
+ 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1,
181
+ '_AM_SUBST_NOTMAKE' => 1,
182
+ '_LT_PROG_FC' => 1,
183
+ 'AC_PROG_EGREP' => 1,
184
+ 'LTVERSION_VERSION' => 1,
185
+ 'LTDL_INIT' => 1,
186
+ 'AC_LIBTOOL_RC' => 1,
187
+ 'AM_INIT_AUTOMAKE' => 1,
188
+ 'LT_FUNC_DLSYM_USCORE' => 1,
189
+ 'AC_LIBLTDL_CONVENIENCE' => 1,
190
+ 'AM_PROG_AR' => 1,
191
+ 'LT_PROG_GO' => 1,
192
+ 'LT_INIT' => 1,
193
+ '_LT_PREPARE_SED_QUOTE_VARS' => 1,
194
+ 'AC_LIBTOOL_F77' => 1,
195
+ 'AM_DISABLE_SHARED' => 1,
196
+ '_LT_PROG_ECHO_BACKSLASH' => 1,
197
+ 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1,
198
+ 'AM_AUTOMAKE_VERSION' => 1,
199
+ '_LT_AC_SHELL_INIT' => 1,
200
+ '_LT_COMPILER_OPTION' => 1,
201
+ 'AM_PROG_LIBTOOL' => 1,
202
+ 'AC_LIBTOOL_FC' => 1,
203
+ 'LT_SYS_MODULE_PATH' => 1,
204
+ 'LT_LIB_DLLOAD' => 1,
205
+ '_LT_CC_BASENAME' => 1,
206
+ 'AC_WITH_LTDL' => 1,
207
+ '_LTDL_SETUP' => 1,
208
+ 'AM_SUBST_NOTMAKE' => 1,
209
+ 'AM_PROG_NM' => 1,
210
+ 'AC_LIBTOOL_SYS_LIB_STRIP' => 1,
211
+ 'AC_CHECK_LIBM' => 1,
212
+ 'AC_PATH_TOOL_PREFIX' => 1,
213
+ 'AC_LTDL_PREOPEN' => 1,
214
+ 'AM_RUN_LOG' => 1,
215
+ 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1,
216
+ 'AC_LTDL_DLLIB' => 1,
217
+ '_AM_IF_OPTION' => 1,
218
+ 'include' => 1,
219
+ '_AM_SET_OPTIONS' => 1,
220
+ '_LT_AC_SYS_COMPILER' => 1,
221
+ 'AC_PATH_MAGIC' => 1,
222
+ 'AM_DISABLE_STATIC' => 1,
223
+ 'AM_PROG_LD' => 1,
224
+ 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1
225
+ }
226
+ ], 'Autom4te::Request' ),
227
+ bless( [
228
+ '1',
229
+ 1,
230
+ [
231
+ '/usr/share/autoconf'
232
+ ],
233
+ [
234
+ '/usr/share/autoconf/autoconf/autoconf.m4f',
235
+ 'aclocal.m4',
236
+ 'configure.ac'
237
+ ],
238
+ {
239
+ 'AC_SUBST_TRACE' => 1,
240
+ 'AM_AUTOMAKE_VERSION' => 1,
241
+ 'AC_FC_FREEFORM' => 1,
242
+ 'm4_sinclude' => 1,
243
+ 'm4_pattern_forbid' => 1,
244
+ '_AM_COND_ENDIF' => 1,
245
+ 'AH_OUTPUT' => 1,
246
+ 'AM_CONDITIONAL' => 1,
247
+ 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
248
+ 'AM_PROG_FC_C_O' => 1,
249
+ 'AM_NLS' => 1,
250
+ 'AM_SILENT_RULES' => 1,
251
+ 'AM_PROG_CC_C_O' => 1,
252
+ 'AC_CONFIG_LINKS' => 1,
253
+ 'AM_PROG_LIBTOOL' => 1,
254
+ 'm4_pattern_allow' => 1,
255
+ 'LT_INIT' => 1,
256
+ 'AM_GNU_GETTEXT' => 1,
257
+ 'AM_PROG_AR' => 1,
258
+ 'AC_CONFIG_FILES' => 1,
259
+ 'AM_INIT_AUTOMAKE' => 1,
260
+ '_AM_COND_ELSE' => 1,
261
+ 'AC_FC_PP_SRCEXT' => 1,
262
+ 'AM_MAKEFILE_INCLUDE' => 1,
263
+ 'AM_MAINTAINER_MODE' => 1,
264
+ 'AM_POT_TOOLS' => 1,
265
+ '_AM_COND_IF' => 1,
266
+ 'AM_PROG_CXX_C_O' => 1,
267
+ 'AC_CONFIG_AUX_DIR' => 1,
268
+ 'AC_SUBST' => 1,
269
+ 'sinclude' => 1,
270
+ 'AC_DEFINE_TRACE_LITERAL' => 1,
271
+ 'm4_include' => 1,
272
+ 'AM_PROG_MOC' => 1,
273
+ 'AM_EXTRA_RECURSIVE_TARGETS' => 1,
274
+ 'AC_CONFIG_SUBDIRS' => 1,
275
+ 'AC_CONFIG_LIBOBJ_DIR' => 1,
276
+ 'AC_FC_PP_DEFINE' => 1,
277
+ 'AM_ENABLE_MULTILIB' => 1,
278
+ 'LT_CONFIG_LTDL_DIR' => 1,
279
+ 'AC_PROG_LIBTOOL' => 1,
280
+ '_m4_warn' => 1,
281
+ 'AC_CANONICAL_TARGET' => 1,
282
+ 'AM_XGETTEXT_OPTION' => 1,
283
+ 'AM_PATH_GUILE' => 1,
284
+ 'AC_FC_SRCEXT' => 1,
285
+ 'AM_PROG_F77_C_O' => 1,
286
+ 'AC_CANONICAL_BUILD' => 1,
287
+ '_AM_SUBST_NOTMAKE' => 1,
288
+ 'AC_CONFIG_HEADERS' => 1,
289
+ '_AM_MAKEFILE_INCLUDE' => 1,
290
+ '_LT_AC_TAGCONFIG' => 1,
291
+ 'AC_INIT' => 1,
292
+ 'AC_CANONICAL_SYSTEM' => 1,
293
+ 'AM_PROG_MKDIR_P' => 1,
294
+ 'AC_CANONICAL_HOST' => 1,
295
+ 'include' => 1,
296
+ 'LT_SUPPORTED_TAG' => 1,
297
+ 'AC_REQUIRE_AUX_FILE' => 1,
298
+ 'AC_LIBSOURCE' => 1
299
+ }
300
+ ], 'Autom4te::Request' ),
301
+ bless( [
302
+ '2',
303
+ 1,
304
+ [
305
+ '/usr/share/autoconf'
306
+ ],
307
+ [
308
+ '/usr/share/autoconf/autoconf/autoconf.m4f',
309
+ '-',
310
+ '/usr/share/aclocal-1.16/internal/ac-config-macro-dirs.m4',
311
+ '/usr/share/aclocal/ltargz.m4',
312
+ '/usr/share/aclocal/ltdl.m4',
313
+ '/usr/share/aclocal-1.16/amversion.m4',
314
+ '/usr/share/aclocal-1.16/ar-lib.m4',
315
+ '/usr/share/aclocal-1.16/auxdir.m4',
316
+ '/usr/share/aclocal-1.16/cond.m4',
317
+ '/usr/share/aclocal-1.16/depend.m4',
318
+ '/usr/share/aclocal-1.16/depout.m4',
319
+ '/usr/share/aclocal-1.16/init.m4',
320
+ '/usr/share/aclocal-1.16/install-sh.m4',
321
+ '/usr/share/aclocal-1.16/lead-dot.m4',
322
+ '/usr/share/aclocal-1.16/make.m4',
323
+ '/usr/share/aclocal-1.16/missing.m4',
324
+ '/usr/share/aclocal-1.16/options.m4',
325
+ '/usr/share/aclocal-1.16/prog-cc-c-o.m4',
326
+ '/usr/share/aclocal-1.16/runlog.m4',
327
+ '/usr/share/aclocal-1.16/sanity.m4',
328
+ '/usr/share/aclocal-1.16/silent.m4',
329
+ '/usr/share/aclocal-1.16/strip.m4',
330
+ '/usr/share/aclocal-1.16/substnot.m4',
331
+ '/usr/share/aclocal-1.16/tar.m4',
332
+ 'm4/libtool.m4',
333
+ 'm4/ltoptions.m4',
334
+ 'm4/ltsugar.m4',
335
+ 'm4/ltversion.m4',
336
+ 'm4/lt~obsolete.m4',
337
+ 'configure.ac'
338
+ ],
339
+ {
340
+ 'LT_AC_PROG_SED' => 1,
341
+ 'AC_LIBTOOL_SETUP' => 1,
342
+ '_AM_PROG_TAR' => 1,
343
+ 'AM_PROG_INSTALL_STRIP' => 1,
344
+ 'AC_LIBLTDL_INSTALLABLE' => 1,
345
+ 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1,
346
+ 'AM_CONDITIONAL' => 1,
347
+ 'AM_SET_LEADING_DOT' => 1,
348
+ 'AC_PROG_LD_GNU' => 1,
349
+ 'AC_DEFUN_ONCE' => 1,
350
+ 'AC_LIBTOOL_OBJDIR' => 1,
351
+ 'AC_LTDL_DLSYM_USCORE' => 1,
352
+ 'm4_pattern_allow' => 1,
353
+ '_LT_AC_LANG_CXX_CONFIG' => 1,
354
+ 'AC_ENABLE_SHARED' => 1,
355
+ '_LT_AC_LANG_CXX' => 1,
356
+ '_LT_AC_LANG_RC_CONFIG' => 1,
357
+ 'AC_LIBTOOL_DLOPEN_SELF' => 1,
358
+ '_LT_DLL_DEF_P' => 1,
359
+ 'AM_MAKE_INCLUDE' => 1,
360
+ '_LT_AC_FILE_LTDLL_C' => 1,
361
+ 'AC_LIBTOOL_CXX' => 1,
362
+ 'AM_ENABLE_STATIC' => 1,
363
+ '_LT_LINKER_BOILERPLATE' => 1,
364
+ '_LT_AC_LANG_GCJ_CONFIG' => 1,
365
+ 'LTSUGAR_VERSION' => 1,
366
+ '_AM_AUTOCONF_VERSION' => 1,
367
+ 'AC_LIBTOOL_LANG_F77_CONFIG' => 1,
368
+ 'AC_LIBTOOL_POSTDEP_PREDEP' => 1,
369
+ 'AM_DEP_TRACK' => 1,
370
+ '_LT_AC_SYS_LIBPATH_AIX' => 1,
371
+ 'LT_SYS_SYMBOL_USCORE' => 1,
372
+ 'AC_LIBTOOL_LINKER_OPTION' => 1,
373
+ '_AM_CONFIG_MACRO_DIRS' => 1,
374
+ '_LT_AC_TAGVAR' => 1,
375
+ 'AC_DISABLE_FAST_INSTALL' => 1,
376
+ '_LT_AC_TAGCONFIG' => 1,
377
+ 'AC_DEFUN' => 1,
378
+ '_LT_AC_CHECK_DLFCN' => 1,
379
+ '_LT_AC_LANG_GCJ' => 1,
380
+ '_LT_PATH_TOOL_PREFIX' => 1,
381
+ 'AC_LIBTOOL_LANG_C_CONFIG' => 1,
382
+ 'AM_MISSING_PROG' => 1,
383
+ 'LT_SYS_DLOPEN_DEPLIBS' => 1,
384
+ 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1,
385
+ 'm4_pattern_forbid' => 1,
386
+ 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1,
387
+ 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1,
388
+ 'AC_LIBTOOL_PICMODE' => 1,
389
+ 'LT_SYS_MODULE_EXT' => 1,
390
+ '_LT_AC_LOCK' => 1,
391
+ 'LT_SYS_DLOPEN_SELF' => 1,
392
+ 'AC_LTDL_SHLIBPATH' => 1,
393
+ 'AM_SANITY_CHECK' => 1,
394
+ '_LT_WITH_SYSROOT' => 1,
395
+ 'AC_ENABLE_STATIC' => 1,
396
+ 'LT_WITH_LTDL' => 1,
397
+ '_AC_AM_CONFIG_HEADER_HOOK' => 1,
398
+ '_AC_PROG_LIBTOOL' => 1,
399
+ 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1,
400
+ 'LT_LIB_M' => 1,
401
+ 'AC_LIB_LTDL' => 1,
402
+ 'LTDL_CONVENIENCE' => 1,
403
+ 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1,
404
+ 'AM_ENABLE_SHARED' => 1,
405
+ 'LTOPTIONS_VERSION' => 1,
406
+ 'LT_FUNC_ARGZ' => 1,
407
+ 'LT_CONFIG_LTDL_DIR' => 1,
408
+ 'AC_LTDL_SHLIBEXT' => 1,
409
+ 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
410
+ 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
411
+ '_LT_AC_LANG_F77_CONFIG' => 1,
412
+ '_LT_AC_PROG_CXXCPP' => 1,
413
+ 'AC_CONFIG_MACRO_DIR_TRACE' => 1,
414
+ '_AM_DEPENDENCIES' => 1,
415
+ '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
416
+ 'AM_MISSING_HAS_RUN' => 1,
417
+ 'AC_LIBTOOL_DLOPEN' => 1,
418
+ 'AC_LIBTOOL_PROG_CC_C_O' => 1,
419
+ '_LT_AC_LANG_F77' => 1,
420
+ '_LT_COMPILER_BOILERPLATE' => 1,
421
+ 'LT_AC_PROG_EGREP' => 1,
422
+ 'AU_DEFUN' => 1,
423
+ 'LT_LANG' => 1,
424
+ 'LT_SUPPORTED_TAG' => 1,
425
+ '_LT_REQUIRED_DARWIN_CHECKS' => 1,
426
+ 'LT_AC_PROG_GCJ' => 1,
427
+ 'AC_DEPLIBS_CHECK_METHOD' => 1,
428
+ 'AC_PROG_LD' => 1,
429
+ 'AC_LTDL_OBJDIR' => 1,
430
+ 'LTDL_INSTALLABLE' => 1,
431
+ 'AM_SILENT_RULES' => 1,
432
+ 'LT_PATH_LD' => 1,
433
+ 'AC_CONFIG_MACRO_DIR' => 1,
434
+ 'AM_PROG_CC_C_O' => 1,
435
+ 'AC_DISABLE_STATIC' => 1,
436
+ '_LT_AC_TRY_DLOPEN_SELF' => 1,
437
+ '_LT_AC_LANG_C_CONFIG' => 1,
438
+ 'AC_LTDL_SYMBOL_USCORE' => 1,
439
+ 'AC_LTDL_SYSSEARCHPATH' => 1,
440
+ 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1,
441
+ 'AM_AUX_DIR_EXPAND' => 1,
442
+ '_LT_LIBOBJ' => 1,
443
+ 'AC_LIBTOOL_WIN32_DLL' => 1,
444
+ 'AC_PROG_NM' => 1,
445
+ 'm4_include' => 1,
446
+ 'LT_AC_PROG_RC' => 1,
447
+ '_LT_PROG_F77' => 1,
448
+ '_LT_LINKER_OPTION' => 1,
449
+ 'AC_LIBTOOL_CONFIG' => 1,
450
+ 'LT_PATH_NM' => 1,
451
+ 'LT_CMD_MAX_LEN' => 1,
452
+ 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1,
453
+ '_m4_warn' => 1,
454
+ '_AM_MANGLE_OPTION' => 1,
455
+ 'LT_OUTPUT' => 1,
456
+ 'AC_PROG_LIBTOOL' => 1,
457
+ '_LT_PROG_FC' => 1,
458
+ 'AC_PROG_EGREP' => 1,
459
+ 'LTVERSION_VERSION' => 1,
460
+ 'AC_LIBTOOL_RC' => 1,
461
+ 'LTDL_INIT' => 1,
462
+ 'AM_PROG_INSTALL_SH' => 1,
463
+ 'AC_LIBTOOL_LANG_RC_CONFIG' => 1,
464
+ 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1,
465
+ 'AC_LIBTOOL_COMPILER_OPTION' => 1,
466
+ '_AM_SUBST_NOTMAKE' => 1,
467
+ '_LT_PROG_LTMAIN' => 1,
468
+ 'AC_ENABLE_FAST_INSTALL' => 1,
469
+ 'LT_SYS_DLSEARCH_PATH' => 1,
470
+ '_LT_AC_PROG_ECHO_BACKSLASH' => 1,
471
+ 'AC_DISABLE_SHARED' => 1,
472
+ 'AM_SET_DEPDIR' => 1,
473
+ 'AC_LIBTOOL_GCJ' => 1,
474
+ 'LT_PROG_GCJ' => 1,
475
+ '_LT_PROG_CXX' => 1,
476
+ '_AM_PROG_CC_C_O' => 1,
477
+ 'AC_LTDL_ENABLE_INSTALL' => 1,
478
+ '_AM_SET_OPTION' => 1,
479
+ 'LT_PROG_RC' => 1,
480
+ 'LTOBSOLETE_VERSION' => 1,
481
+ 'AC_PROG_LD_RELOAD_FLAG' => 1,
482
+ 'AM_AUTOMAKE_VERSION' => 1,
483
+ 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1,
484
+ 'AM_PROG_LIBTOOL' => 1,
485
+ 'LT_SYS_MODULE_PATH' => 1,
486
+ 'AC_LIBTOOL_FC' => 1,
487
+ '_LT_CC_BASENAME' => 1,
488
+ 'LT_LIB_DLLOAD' => 1,
489
+ '_LT_AC_SHELL_INIT' => 1,
490
+ '_LT_COMPILER_OPTION' => 1,
491
+ 'AC_LIBLTDL_CONVENIENCE' => 1,
492
+ 'AM_PROG_AR' => 1,
493
+ 'LT_PROG_GO' => 1,
494
+ 'LT_INIT' => 1,
495
+ 'AM_INIT_AUTOMAKE' => 1,
496
+ 'LT_FUNC_DLSYM_USCORE' => 1,
497
+ 'AC_LIBTOOL_F77' => 1,
498
+ '_LT_PROG_ECHO_BACKSLASH' => 1,
499
+ 'AM_DISABLE_SHARED' => 1,
500
+ '_LT_PREPARE_SED_QUOTE_VARS' => 1,
501
+ 'AC_PATH_MAGIC' => 1,
502
+ 'AM_DISABLE_STATIC' => 1,
503
+ '_AM_SET_OPTIONS' => 1,
504
+ '_LT_AC_SYS_COMPILER' => 1,
505
+ 'AM_PROG_LD' => 1,
506
+ 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1,
507
+ 'AC_CHECK_LIBM' => 1,
508
+ 'AC_PATH_TOOL_PREFIX' => 1,
509
+ 'AC_WITH_LTDL' => 1,
510
+ '_LTDL_SETUP' => 1,
511
+ 'AM_SUBST_NOTMAKE' => 1,
512
+ 'AM_PROG_NM' => 1,
513
+ 'AC_LIBTOOL_SYS_LIB_STRIP' => 1,
514
+ '_AM_IF_OPTION' => 1,
515
+ 'include' => 1,
516
+ 'AC_LTDL_PREOPEN' => 1,
517
+ 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1,
518
+ 'AM_RUN_LOG' => 1,
519
+ 'AC_LTDL_DLLIB' => 1
520
+ }
521
+ ], 'Autom4te::Request' )
522
+ );
523
+
lm/irstlm/autom4te.cache/traces.0 ADDED
The diff for this file is too large to render. See raw diff
 
lm/irstlm/autom4te.cache/traces.1 ADDED
@@ -0,0 +1,663 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ m4trace:aclocal.m4:739: -1- AC_SUBST([am__quote])
2
+ m4trace:aclocal.m4:739: -1- AC_SUBST_TRACE([am__quote])
3
+ m4trace:aclocal.m4:739: -1- m4_pattern_allow([^am__quote$])
4
+ m4trace:aclocal.m4:1196: -1- m4_include([m4/libtool.m4])
5
+ m4trace:aclocal.m4:1197: -1- m4_include([m4/ltoptions.m4])
6
+ m4trace:aclocal.m4:1198: -1- m4_include([m4/ltsugar.m4])
7
+ m4trace:aclocal.m4:1199: -1- m4_include([m4/ltversion.m4])
8
+ m4trace:aclocal.m4:1200: -1- m4_include([m4/lt~obsolete.m4])
9
+ m4trace:configure.ac:1: -1- AC_INIT([irstlm], [5.80.06])
10
+ m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?A[CHUM]_])
11
+ m4trace:configure.ac:1: -1- m4_pattern_forbid([_AC_])
12
+ m4trace:configure.ac:1: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
13
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^AS_FLAGS$])
14
+ m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?m4_])
15
+ m4trace:configure.ac:1: -1- m4_pattern_forbid([^dnl$])
16
+ m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?AS_])
17
+ m4trace:configure.ac:1: -1- AC_SUBST([SHELL])
18
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([SHELL])
19
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^SHELL$])
20
+ m4trace:configure.ac:1: -1- AC_SUBST([PATH_SEPARATOR])
21
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PATH_SEPARATOR])
22
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^PATH_SEPARATOR$])
23
+ m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])])
24
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_NAME])
25
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_NAME$])
26
+ m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])])
27
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_TARNAME])
28
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
29
+ m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])])
30
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_VERSION])
31
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_VERSION$])
32
+ m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])])
33
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_STRING])
34
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_STRING$])
35
+ m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
36
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT])
37
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
38
+ m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL], ['AC_PACKAGE_URL'])])
39
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_URL])
40
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_URL$])
41
+ m4trace:configure.ac:1: -1- AC_SUBST([exec_prefix], [NONE])
42
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([exec_prefix])
43
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^exec_prefix$])
44
+ m4trace:configure.ac:1: -1- AC_SUBST([prefix], [NONE])
45
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([prefix])
46
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^prefix$])
47
+ m4trace:configure.ac:1: -1- AC_SUBST([program_transform_name], [s,x,x,])
48
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([program_transform_name])
49
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^program_transform_name$])
50
+ m4trace:configure.ac:1: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
51
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([bindir])
52
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^bindir$])
53
+ m4trace:configure.ac:1: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
54
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([sbindir])
55
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^sbindir$])
56
+ m4trace:configure.ac:1: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
57
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([libexecdir])
58
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^libexecdir$])
59
+ m4trace:configure.ac:1: -1- AC_SUBST([datarootdir], ['${prefix}/share'])
60
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([datarootdir])
61
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^datarootdir$])
62
+ m4trace:configure.ac:1: -1- AC_SUBST([datadir], ['${datarootdir}'])
63
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([datadir])
64
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^datadir$])
65
+ m4trace:configure.ac:1: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
66
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([sysconfdir])
67
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^sysconfdir$])
68
+ m4trace:configure.ac:1: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
69
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([sharedstatedir])
70
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^sharedstatedir$])
71
+ m4trace:configure.ac:1: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
72
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([localstatedir])
73
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^localstatedir$])
74
+ m4trace:configure.ac:1: -1- AC_SUBST([runstatedir], ['${localstatedir}/run'])
75
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([runstatedir])
76
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^runstatedir$])
77
+ m4trace:configure.ac:1: -1- AC_SUBST([includedir], ['${prefix}/include'])
78
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([includedir])
79
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^includedir$])
80
+ m4trace:configure.ac:1: -1- AC_SUBST([oldincludedir], ['/usr/include'])
81
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([oldincludedir])
82
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^oldincludedir$])
83
+ m4trace:configure.ac:1: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
84
+ ['${datarootdir}/doc/${PACKAGE_TARNAME}'],
85
+ ['${datarootdir}/doc/${PACKAGE}'])])
86
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([docdir])
87
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^docdir$])
88
+ m4trace:configure.ac:1: -1- AC_SUBST([infodir], ['${datarootdir}/info'])
89
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([infodir])
90
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^infodir$])
91
+ m4trace:configure.ac:1: -1- AC_SUBST([htmldir], ['${docdir}'])
92
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([htmldir])
93
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^htmldir$])
94
+ m4trace:configure.ac:1: -1- AC_SUBST([dvidir], ['${docdir}'])
95
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([dvidir])
96
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^dvidir$])
97
+ m4trace:configure.ac:1: -1- AC_SUBST([pdfdir], ['${docdir}'])
98
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([pdfdir])
99
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^pdfdir$])
100
+ m4trace:configure.ac:1: -1- AC_SUBST([psdir], ['${docdir}'])
101
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([psdir])
102
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^psdir$])
103
+ m4trace:configure.ac:1: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
104
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([libdir])
105
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^libdir$])
106
+ m4trace:configure.ac:1: -1- AC_SUBST([localedir], ['${datarootdir}/locale'])
107
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([localedir])
108
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^localedir$])
109
+ m4trace:configure.ac:1: -1- AC_SUBST([mandir], ['${datarootdir}/man'])
110
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([mandir])
111
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^mandir$])
112
+ m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
113
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_NAME$])
114
+ m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
115
+ @%:@undef PACKAGE_NAME])
116
+ m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
117
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
118
+ m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
119
+ @%:@undef PACKAGE_TARNAME])
120
+ m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
121
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_VERSION$])
122
+ m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
123
+ @%:@undef PACKAGE_VERSION])
124
+ m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
125
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_STRING$])
126
+ m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
127
+ @%:@undef PACKAGE_STRING])
128
+ m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
129
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
130
+ m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
131
+ @%:@undef PACKAGE_BUGREPORT])
132
+ m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL])
133
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_URL$])
134
+ m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */
135
+ @%:@undef PACKAGE_URL])
136
+ m4trace:configure.ac:1: -1- AC_SUBST([DEFS])
137
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([DEFS])
138
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^DEFS$])
139
+ m4trace:configure.ac:1: -1- AC_SUBST([ECHO_C])
140
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([ECHO_C])
141
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_C$])
142
+ m4trace:configure.ac:1: -1- AC_SUBST([ECHO_N])
143
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([ECHO_N])
144
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_N$])
145
+ m4trace:configure.ac:1: -1- AC_SUBST([ECHO_T])
146
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([ECHO_T])
147
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_T$])
148
+ m4trace:configure.ac:1: -1- AC_SUBST([LIBS])
149
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([LIBS])
150
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^LIBS$])
151
+ m4trace:configure.ac:1: -1- AC_SUBST([build_alias])
152
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([build_alias])
153
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^build_alias$])
154
+ m4trace:configure.ac:1: -1- AC_SUBST([host_alias])
155
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([host_alias])
156
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^host_alias$])
157
+ m4trace:configure.ac:1: -1- AC_SUBST([target_alias])
158
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([target_alias])
159
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^target_alias$])
160
+ m4trace:configure.ac:2: -1- AM_INIT_AUTOMAKE([-Wall -Werror foreign])
161
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
162
+ m4trace:configure.ac:2: -1- AM_AUTOMAKE_VERSION([1.16.1])
163
+ m4trace:configure.ac:2: -1- AC_REQUIRE_AUX_FILE([install-sh])
164
+ m4trace:configure.ac:2: -1- AC_SUBST([INSTALL_PROGRAM])
165
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([INSTALL_PROGRAM])
166
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
167
+ m4trace:configure.ac:2: -1- AC_SUBST([INSTALL_SCRIPT])
168
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([INSTALL_SCRIPT])
169
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
170
+ m4trace:configure.ac:2: -1- AC_SUBST([INSTALL_DATA])
171
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([INSTALL_DATA])
172
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^INSTALL_DATA$])
173
+ m4trace:configure.ac:2: -1- AC_SUBST([am__isrc], [' -I$(srcdir)'])
174
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([am__isrc])
175
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^am__isrc$])
176
+ m4trace:configure.ac:2: -1- _AM_SUBST_NOTMAKE([am__isrc])
177
+ m4trace:configure.ac:2: -1- AC_SUBST([CYGPATH_W])
178
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([CYGPATH_W])
179
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^CYGPATH_W$])
180
+ m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])
181
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE])
182
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE$])
183
+ m4trace:configure.ac:2: -1- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])
184
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([VERSION])
185
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^VERSION$])
186
+ m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE])
187
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE$])
188
+ m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE], [/* Name of package */
189
+ @%:@undef PACKAGE])
190
+ m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([VERSION])
191
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^VERSION$])
192
+ m4trace:configure.ac:2: -1- AH_OUTPUT([VERSION], [/* Version number of package */
193
+ @%:@undef VERSION])
194
+ m4trace:configure.ac:2: -1- AC_REQUIRE_AUX_FILE([missing])
195
+ m4trace:configure.ac:2: -1- AC_SUBST([ACLOCAL])
196
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([ACLOCAL])
197
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^ACLOCAL$])
198
+ m4trace:configure.ac:2: -1- AC_SUBST([AUTOCONF])
199
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([AUTOCONF])
200
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^AUTOCONF$])
201
+ m4trace:configure.ac:2: -1- AC_SUBST([AUTOMAKE])
202
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([AUTOMAKE])
203
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^AUTOMAKE$])
204
+ m4trace:configure.ac:2: -1- AC_SUBST([AUTOHEADER])
205
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([AUTOHEADER])
206
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^AUTOHEADER$])
207
+ m4trace:configure.ac:2: -1- AC_SUBST([MAKEINFO])
208
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([MAKEINFO])
209
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^MAKEINFO$])
210
+ m4trace:configure.ac:2: -1- AC_SUBST([install_sh])
211
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([install_sh])
212
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^install_sh$])
213
+ m4trace:configure.ac:2: -1- AC_SUBST([STRIP])
214
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([STRIP])
215
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^STRIP$])
216
+ m4trace:configure.ac:2: -1- AC_SUBST([INSTALL_STRIP_PROGRAM])
217
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM])
218
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$])
219
+ m4trace:configure.ac:2: -1- AC_REQUIRE_AUX_FILE([install-sh])
220
+ m4trace:configure.ac:2: -1- AC_SUBST([MKDIR_P])
221
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([MKDIR_P])
222
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^MKDIR_P$])
223
+ m4trace:configure.ac:2: -1- AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
224
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([mkdir_p])
225
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^mkdir_p$])
226
+ m4trace:configure.ac:2: -1- AC_SUBST([AWK])
227
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([AWK])
228
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^AWK$])
229
+ m4trace:configure.ac:2: -1- AC_SUBST([SET_MAKE])
230
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([SET_MAKE])
231
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^SET_MAKE$])
232
+ m4trace:configure.ac:2: -1- AC_SUBST([am__leading_dot])
233
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([am__leading_dot])
234
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^am__leading_dot$])
235
+ m4trace:configure.ac:2: -1- AC_SUBST([AMTAR], ['$${TAR-tar}'])
236
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([AMTAR])
237
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^AMTAR$])
238
+ m4trace:configure.ac:2: -1- AC_SUBST([am__tar])
239
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([am__tar])
240
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^am__tar$])
241
+ m4trace:configure.ac:2: -1- AC_SUBST([am__untar])
242
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([am__untar])
243
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^am__untar$])
244
+ m4trace:configure.ac:2: -1- AM_SILENT_RULES
245
+ m4trace:configure.ac:2: -1- AC_SUBST([AM_V])
246
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([AM_V])
247
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^AM_V$])
248
+ m4trace:configure.ac:2: -1- _AM_SUBST_NOTMAKE([AM_V])
249
+ m4trace:configure.ac:2: -1- AC_SUBST([AM_DEFAULT_V])
250
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([AM_DEFAULT_V])
251
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^AM_DEFAULT_V$])
252
+ m4trace:configure.ac:2: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V])
253
+ m4trace:configure.ac:2: -1- AC_SUBST([AM_DEFAULT_VERBOSITY])
254
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([AM_DEFAULT_VERBOSITY])
255
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$])
256
+ m4trace:configure.ac:2: -1- AC_SUBST([AM_BACKSLASH])
257
+ m4trace:configure.ac:2: -1- AC_SUBST_TRACE([AM_BACKSLASH])
258
+ m4trace:configure.ac:2: -1- m4_pattern_allow([^AM_BACKSLASH$])
259
+ m4trace:configure.ac:2: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH])
260
+ m4trace:configure.ac:3: -1- AC_SUBST([CC])
261
+ m4trace:configure.ac:3: -1- AC_SUBST_TRACE([CC])
262
+ m4trace:configure.ac:3: -1- m4_pattern_allow([^CC$])
263
+ m4trace:configure.ac:3: -1- AC_SUBST([CFLAGS])
264
+ m4trace:configure.ac:3: -1- AC_SUBST_TRACE([CFLAGS])
265
+ m4trace:configure.ac:3: -1- m4_pattern_allow([^CFLAGS$])
266
+ m4trace:configure.ac:3: -1- AC_SUBST([LDFLAGS])
267
+ m4trace:configure.ac:3: -1- AC_SUBST_TRACE([LDFLAGS])
268
+ m4trace:configure.ac:3: -1- m4_pattern_allow([^LDFLAGS$])
269
+ m4trace:configure.ac:3: -1- AC_SUBST([LIBS])
270
+ m4trace:configure.ac:3: -1- AC_SUBST_TRACE([LIBS])
271
+ m4trace:configure.ac:3: -1- m4_pattern_allow([^LIBS$])
272
+ m4trace:configure.ac:3: -1- AC_SUBST([CPPFLAGS])
273
+ m4trace:configure.ac:3: -1- AC_SUBST_TRACE([CPPFLAGS])
274
+ m4trace:configure.ac:3: -1- m4_pattern_allow([^CPPFLAGS$])
275
+ m4trace:configure.ac:3: -1- AC_SUBST([CC])
276
+ m4trace:configure.ac:3: -1- AC_SUBST_TRACE([CC])
277
+ m4trace:configure.ac:3: -1- m4_pattern_allow([^CC$])
278
+ m4trace:configure.ac:3: -1- AC_SUBST([CC])
279
+ m4trace:configure.ac:3: -1- AC_SUBST_TRACE([CC])
280
+ m4trace:configure.ac:3: -1- m4_pattern_allow([^CC$])
281
+ m4trace:configure.ac:3: -1- AC_SUBST([CC])
282
+ m4trace:configure.ac:3: -1- AC_SUBST_TRACE([CC])
283
+ m4trace:configure.ac:3: -1- m4_pattern_allow([^CC$])
284
+ m4trace:configure.ac:3: -1- AC_SUBST([CC])
285
+ m4trace:configure.ac:3: -1- AC_SUBST_TRACE([CC])
286
+ m4trace:configure.ac:3: -1- m4_pattern_allow([^CC$])
287
+ m4trace:configure.ac:3: -1- AC_SUBST([ac_ct_CC])
288
+ m4trace:configure.ac:3: -1- AC_SUBST_TRACE([ac_ct_CC])
289
+ m4trace:configure.ac:3: -1- m4_pattern_allow([^ac_ct_CC$])
290
+ m4trace:configure.ac:3: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
291
+ m4trace:configure.ac:3: -1- AC_SUBST_TRACE([EXEEXT])
292
+ m4trace:configure.ac:3: -1- m4_pattern_allow([^EXEEXT$])
293
+ m4trace:configure.ac:3: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
294
+ m4trace:configure.ac:3: -1- AC_SUBST_TRACE([OBJEXT])
295
+ m4trace:configure.ac:3: -1- m4_pattern_allow([^OBJEXT$])
296
+ m4trace:configure.ac:3: -1- AC_REQUIRE_AUX_FILE([compile])
297
+ m4trace:configure.ac:3: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])
298
+ m4trace:configure.ac:3: -1- AC_SUBST_TRACE([DEPDIR])
299
+ m4trace:configure.ac:3: -1- m4_pattern_allow([^DEPDIR$])
300
+ m4trace:configure.ac:3: -1- AC_SUBST([am__include])
301
+ m4trace:configure.ac:3: -1- AC_SUBST_TRACE([am__include])
302
+ m4trace:configure.ac:3: -1- m4_pattern_allow([^am__include$])
303
+ m4trace:configure.ac:3: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
304
+ m4trace:configure.ac:3: -1- AC_SUBST([AMDEP_TRUE])
305
+ m4trace:configure.ac:3: -1- AC_SUBST_TRACE([AMDEP_TRUE])
306
+ m4trace:configure.ac:3: -1- m4_pattern_allow([^AMDEP_TRUE$])
307
+ m4trace:configure.ac:3: -1- AC_SUBST([AMDEP_FALSE])
308
+ m4trace:configure.ac:3: -1- AC_SUBST_TRACE([AMDEP_FALSE])
309
+ m4trace:configure.ac:3: -1- m4_pattern_allow([^AMDEP_FALSE$])
310
+ m4trace:configure.ac:3: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE])
311
+ m4trace:configure.ac:3: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE])
312
+ m4trace:configure.ac:3: -1- AC_SUBST([AMDEPBACKSLASH])
313
+ m4trace:configure.ac:3: -1- AC_SUBST_TRACE([AMDEPBACKSLASH])
314
+ m4trace:configure.ac:3: -1- m4_pattern_allow([^AMDEPBACKSLASH$])
315
+ m4trace:configure.ac:3: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])
316
+ m4trace:configure.ac:3: -1- AC_SUBST([am__nodep])
317
+ m4trace:configure.ac:3: -1- AC_SUBST_TRACE([am__nodep])
318
+ m4trace:configure.ac:3: -1- m4_pattern_allow([^am__nodep$])
319
+ m4trace:configure.ac:3: -1- _AM_SUBST_NOTMAKE([am__nodep])
320
+ m4trace:configure.ac:3: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type])
321
+ m4trace:configure.ac:3: -1- AC_SUBST_TRACE([CCDEPMODE])
322
+ m4trace:configure.ac:3: -1- m4_pattern_allow([^CCDEPMODE$])
323
+ m4trace:configure.ac:3: -1- AM_CONDITIONAL([am__fastdepCC], [
324
+ test "x$enable_dependency_tracking" != xno \
325
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3])
326
+ m4trace:configure.ac:3: -1- AC_SUBST([am__fastdepCC_TRUE])
327
+ m4trace:configure.ac:3: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE])
328
+ m4trace:configure.ac:3: -1- m4_pattern_allow([^am__fastdepCC_TRUE$])
329
+ m4trace:configure.ac:3: -1- AC_SUBST([am__fastdepCC_FALSE])
330
+ m4trace:configure.ac:3: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE])
331
+ m4trace:configure.ac:3: -1- m4_pattern_allow([^am__fastdepCC_FALSE$])
332
+ m4trace:configure.ac:3: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE])
333
+ m4trace:configure.ac:3: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE])
334
+ m4trace:configure.ac:4: -1- AC_SUBST([CXX])
335
+ m4trace:configure.ac:4: -1- AC_SUBST_TRACE([CXX])
336
+ m4trace:configure.ac:4: -1- m4_pattern_allow([^CXX$])
337
+ m4trace:configure.ac:4: -1- AC_SUBST([CXXFLAGS])
338
+ m4trace:configure.ac:4: -1- AC_SUBST_TRACE([CXXFLAGS])
339
+ m4trace:configure.ac:4: -1- m4_pattern_allow([^CXXFLAGS$])
340
+ m4trace:configure.ac:4: -1- AC_SUBST([LDFLAGS])
341
+ m4trace:configure.ac:4: -1- AC_SUBST_TRACE([LDFLAGS])
342
+ m4trace:configure.ac:4: -1- m4_pattern_allow([^LDFLAGS$])
343
+ m4trace:configure.ac:4: -1- AC_SUBST([LIBS])
344
+ m4trace:configure.ac:4: -1- AC_SUBST_TRACE([LIBS])
345
+ m4trace:configure.ac:4: -1- m4_pattern_allow([^LIBS$])
346
+ m4trace:configure.ac:4: -1- AC_SUBST([CPPFLAGS])
347
+ m4trace:configure.ac:4: -1- AC_SUBST_TRACE([CPPFLAGS])
348
+ m4trace:configure.ac:4: -1- m4_pattern_allow([^CPPFLAGS$])
349
+ m4trace:configure.ac:4: -1- AC_SUBST([CXX])
350
+ m4trace:configure.ac:4: -1- AC_SUBST_TRACE([CXX])
351
+ m4trace:configure.ac:4: -1- m4_pattern_allow([^CXX$])
352
+ m4trace:configure.ac:4: -1- AC_SUBST([ac_ct_CXX])
353
+ m4trace:configure.ac:4: -1- AC_SUBST_TRACE([ac_ct_CXX])
354
+ m4trace:configure.ac:4: -1- m4_pattern_allow([^ac_ct_CXX$])
355
+ m4trace:configure.ac:4: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type])
356
+ m4trace:configure.ac:4: -1- AC_SUBST_TRACE([CXXDEPMODE])
357
+ m4trace:configure.ac:4: -1- m4_pattern_allow([^CXXDEPMODE$])
358
+ m4trace:configure.ac:4: -1- AM_CONDITIONAL([am__fastdepCXX], [
359
+ test "x$enable_dependency_tracking" != xno \
360
+ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3])
361
+ m4trace:configure.ac:4: -1- AC_SUBST([am__fastdepCXX_TRUE])
362
+ m4trace:configure.ac:4: -1- AC_SUBST_TRACE([am__fastdepCXX_TRUE])
363
+ m4trace:configure.ac:4: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$])
364
+ m4trace:configure.ac:4: -1- AC_SUBST([am__fastdepCXX_FALSE])
365
+ m4trace:configure.ac:4: -1- AC_SUBST_TRACE([am__fastdepCXX_FALSE])
366
+ m4trace:configure.ac:4: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$])
367
+ m4trace:configure.ac:4: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE])
368
+ m4trace:configure.ac:4: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE])
369
+ m4trace:configure.ac:5: -1- AC_PROG_LIBTOOL
370
+ m4trace:configure.ac:5: -1- _m4_warn([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete.
371
+ You should run autoupdate.], [m4/libtool.m4:99: AC_PROG_LIBTOOL is expanded from...
372
+ configure.ac:5: the top level])
373
+ m4trace:configure.ac:5: -1- LT_INIT
374
+ m4trace:configure.ac:5: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$])
375
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])
376
+ m4trace:configure.ac:5: -1- AC_REQUIRE_AUX_FILE([ltmain.sh])
377
+ m4trace:configure.ac:5: -1- AC_SUBST([LIBTOOL])
378
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([LIBTOOL])
379
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^LIBTOOL$])
380
+ m4trace:configure.ac:5: -1- AC_CANONICAL_HOST
381
+ m4trace:configure.ac:5: -1- AC_CANONICAL_BUILD
382
+ m4trace:configure.ac:5: -1- AC_REQUIRE_AUX_FILE([config.sub])
383
+ m4trace:configure.ac:5: -1- AC_REQUIRE_AUX_FILE([config.guess])
384
+ m4trace:configure.ac:5: -1- AC_SUBST([build], [$ac_cv_build])
385
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([build])
386
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^build$])
387
+ m4trace:configure.ac:5: -1- AC_SUBST([build_cpu], [$[1]])
388
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([build_cpu])
389
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^build_cpu$])
390
+ m4trace:configure.ac:5: -1- AC_SUBST([build_vendor], [$[2]])
391
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([build_vendor])
392
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^build_vendor$])
393
+ m4trace:configure.ac:5: -1- AC_SUBST([build_os])
394
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([build_os])
395
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^build_os$])
396
+ m4trace:configure.ac:5: -1- AC_SUBST([host], [$ac_cv_host])
397
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([host])
398
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^host$])
399
+ m4trace:configure.ac:5: -1- AC_SUBST([host_cpu], [$[1]])
400
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([host_cpu])
401
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^host_cpu$])
402
+ m4trace:configure.ac:5: -1- AC_SUBST([host_vendor], [$[2]])
403
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([host_vendor])
404
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^host_vendor$])
405
+ m4trace:configure.ac:5: -1- AC_SUBST([host_os])
406
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([host_os])
407
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^host_os$])
408
+ m4trace:configure.ac:5: -1- AC_SUBST([SED])
409
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([SED])
410
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^SED$])
411
+ m4trace:configure.ac:5: -1- AC_SUBST([GREP])
412
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([GREP])
413
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^GREP$])
414
+ m4trace:configure.ac:5: -1- AC_SUBST([EGREP])
415
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([EGREP])
416
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^EGREP$])
417
+ m4trace:configure.ac:5: -1- AC_SUBST([FGREP])
418
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([FGREP])
419
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^FGREP$])
420
+ m4trace:configure.ac:5: -1- AC_SUBST([GREP])
421
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([GREP])
422
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^GREP$])
423
+ m4trace:configure.ac:5: -1- AC_SUBST([LD])
424
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([LD])
425
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^LD$])
426
+ m4trace:configure.ac:5: -1- AC_SUBST([DUMPBIN])
427
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([DUMPBIN])
428
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^DUMPBIN$])
429
+ m4trace:configure.ac:5: -1- AC_SUBST([ac_ct_DUMPBIN])
430
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([ac_ct_DUMPBIN])
431
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^ac_ct_DUMPBIN$])
432
+ m4trace:configure.ac:5: -1- AC_SUBST([DUMPBIN])
433
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([DUMPBIN])
434
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^DUMPBIN$])
435
+ m4trace:configure.ac:5: -1- AC_SUBST([NM])
436
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([NM])
437
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^NM$])
438
+ m4trace:configure.ac:5: -1- AC_SUBST([LN_S], [$as_ln_s])
439
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([LN_S])
440
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^LN_S$])
441
+ m4trace:configure.ac:5: -1- AC_SUBST([OBJDUMP])
442
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([OBJDUMP])
443
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^OBJDUMP$])
444
+ m4trace:configure.ac:5: -1- AC_SUBST([OBJDUMP])
445
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([OBJDUMP])
446
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^OBJDUMP$])
447
+ m4trace:configure.ac:5: -1- AC_SUBST([DLLTOOL])
448
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([DLLTOOL])
449
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^DLLTOOL$])
450
+ m4trace:configure.ac:5: -1- AC_SUBST([DLLTOOL])
451
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([DLLTOOL])
452
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^DLLTOOL$])
453
+ m4trace:configure.ac:5: -1- AC_SUBST([AR])
454
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([AR])
455
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^AR$])
456
+ m4trace:configure.ac:5: -1- AC_SUBST([ac_ct_AR])
457
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([ac_ct_AR])
458
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^ac_ct_AR$])
459
+ m4trace:configure.ac:5: -1- AC_SUBST([STRIP])
460
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([STRIP])
461
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^STRIP$])
462
+ m4trace:configure.ac:5: -1- AC_SUBST([RANLIB])
463
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([RANLIB])
464
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^RANLIB$])
465
+ m4trace:configure.ac:5: -1- m4_pattern_allow([LT_OBJDIR])
466
+ m4trace:configure.ac:5: -1- AC_DEFINE_TRACE_LITERAL([LT_OBJDIR])
467
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^LT_OBJDIR$])
468
+ m4trace:configure.ac:5: -1- AH_OUTPUT([LT_OBJDIR], [/* Define to the sub-directory where libtool stores uninstalled libraries. */
469
+ @%:@undef LT_OBJDIR])
470
+ m4trace:configure.ac:5: -1- LT_SUPPORTED_TAG([CC])
471
+ m4trace:configure.ac:5: -1- AC_SUBST([MANIFEST_TOOL])
472
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([MANIFEST_TOOL])
473
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^MANIFEST_TOOL$])
474
+ m4trace:configure.ac:5: -1- AC_SUBST([DSYMUTIL])
475
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([DSYMUTIL])
476
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^DSYMUTIL$])
477
+ m4trace:configure.ac:5: -1- AC_SUBST([NMEDIT])
478
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([NMEDIT])
479
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^NMEDIT$])
480
+ m4trace:configure.ac:5: -1- AC_SUBST([LIPO])
481
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([LIPO])
482
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^LIPO$])
483
+ m4trace:configure.ac:5: -1- AC_SUBST([OTOOL])
484
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([OTOOL])
485
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^OTOOL$])
486
+ m4trace:configure.ac:5: -1- AC_SUBST([OTOOL64])
487
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([OTOOL64])
488
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^OTOOL64$])
489
+ m4trace:configure.ac:5: -1- AC_SUBST([LT_SYS_LIBRARY_PATH])
490
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([LT_SYS_LIBRARY_PATH])
491
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$])
492
+ m4trace:configure.ac:5: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the <dlfcn.h> header file. */
493
+ @%:@undef HAVE_DLFCN_H])
494
+ m4trace:configure.ac:5: -1- AC_SUBST([CPP])
495
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([CPP])
496
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^CPP$])
497
+ m4trace:configure.ac:5: -1- AC_SUBST([CPPFLAGS])
498
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([CPPFLAGS])
499
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^CPPFLAGS$])
500
+ m4trace:configure.ac:5: -1- AC_SUBST([CPP])
501
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([CPP])
502
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^CPP$])
503
+ m4trace:configure.ac:5: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
504
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^STDC_HEADERS$])
505
+ m4trace:configure.ac:5: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
506
+ @%:@undef STDC_HEADERS])
507
+ m4trace:configure.ac:5: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
508
+ @%:@undef HAVE_SYS_TYPES_H])
509
+ m4trace:configure.ac:5: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
510
+ @%:@undef HAVE_SYS_STAT_H])
511
+ m4trace:configure.ac:5: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
512
+ @%:@undef HAVE_STDLIB_H])
513
+ m4trace:configure.ac:5: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
514
+ @%:@undef HAVE_STRING_H])
515
+ m4trace:configure.ac:5: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
516
+ @%:@undef HAVE_MEMORY_H])
517
+ m4trace:configure.ac:5: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
518
+ @%:@undef HAVE_STRINGS_H])
519
+ m4trace:configure.ac:5: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
520
+ @%:@undef HAVE_INTTYPES_H])
521
+ m4trace:configure.ac:5: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
522
+ @%:@undef HAVE_STDINT_H])
523
+ m4trace:configure.ac:5: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
524
+ @%:@undef HAVE_UNISTD_H])
525
+ m4trace:configure.ac:5: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DLFCN_H])
526
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^HAVE_DLFCN_H$])
527
+ m4trace:configure.ac:5: -1- LT_SUPPORTED_TAG([CXX])
528
+ m4trace:configure.ac:5: -1- AC_SUBST([CXXCPP])
529
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([CXXCPP])
530
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^CXXCPP$])
531
+ m4trace:configure.ac:5: -1- AC_SUBST([CPPFLAGS])
532
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([CPPFLAGS])
533
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^CPPFLAGS$])
534
+ m4trace:configure.ac:5: -1- AC_SUBST([CXXCPP])
535
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([CXXCPP])
536
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^CXXCPP$])
537
+ m4trace:configure.ac:5: -1- AC_SUBST([LD])
538
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([LD])
539
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^LD$])
540
+ m4trace:configure.ac:5: -1- AC_SUBST([LT_SYS_LIBRARY_PATH])
541
+ m4trace:configure.ac:5: -1- AC_SUBST_TRACE([LT_SYS_LIBRARY_PATH])
542
+ m4trace:configure.ac:5: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$])
543
+ m4trace:configure.ac:6: -1- AC_CONFIG_HEADERS([config.h])
544
+ m4trace:configure.ac:9: -1- m4_pattern_allow([AM_PROG_AR], [AM_PROG_AR])
545
+ m4trace:configure.ac:10: -1- AM_PROG_AR
546
+ m4trace:configure.ac:10: -1- _m4_warn([syntax], [LT_INIT was called before AM_PROG_AR], [aclocal.m4:70: AM_PROG_AR is expanded from...
547
+ configure.ac:10: the top level])
548
+ m4trace:configure.ac:10: -1- _m4_warn([syntax], [AC_PROG_LIBTOOL was called before AM_PROG_AR], [aclocal.m4:70: AM_PROG_AR is expanded from...
549
+ configure.ac:10: the top level])
550
+ m4trace:configure.ac:10: -1- AC_REQUIRE_AUX_FILE([ar-lib])
551
+ m4trace:configure.ac:10: -1- AC_SUBST([AR])
552
+ m4trace:configure.ac:10: -1- AC_SUBST_TRACE([AR])
553
+ m4trace:configure.ac:10: -1- m4_pattern_allow([^AR$])
554
+ m4trace:configure.ac:10: -1- AC_SUBST([ac_ct_AR])
555
+ m4trace:configure.ac:10: -1- AC_SUBST_TRACE([ac_ct_AR])
556
+ m4trace:configure.ac:10: -1- m4_pattern_allow([^ac_ct_AR$])
557
+ m4trace:configure.ac:10: -1- AC_SUBST([AR])
558
+ m4trace:configure.ac:10: -1- AC_SUBST_TRACE([AR])
559
+ m4trace:configure.ac:10: -1- m4_pattern_allow([^AR$])
560
+ m4trace:configure.ac:12: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
561
+ You should run autoupdate.], [../../lib/autoconf/general.m4:207: AC_HELP_STRING is expanded from...
562
+ ../../lib/autoconf/general.m4:1473: AC_ARG_ENABLE is expanded from...
563
+ configure.ac:12: the top level])
564
+ m4trace:configure.ac:15: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
565
+ You should run autoupdate.], [../../lib/autoconf/general.m4:207: AC_HELP_STRING is expanded from...
566
+ ../../lib/autoconf/general.m4:1473: AC_ARG_ENABLE is expanded from...
567
+ configure.ac:15: the top level])
568
+ m4trace:configure.ac:18: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
569
+ You should run autoupdate.], [../../lib/autoconf/general.m4:207: AC_HELP_STRING is expanded from...
570
+ ../../lib/autoconf/general.m4:1473: AC_ARG_ENABLE is expanded from...
571
+ configure.ac:18: the top level])
572
+ m4trace:configure.ac:21: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
573
+ You should run autoupdate.], [../../lib/autoconf/general.m4:207: AC_HELP_STRING is expanded from...
574
+ ../../lib/autoconf/general.m4:1473: AC_ARG_ENABLE is expanded from...
575
+ configure.ac:21: the top level])
576
+ m4trace:configure.ac:24: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
577
+ You should run autoupdate.], [../../lib/autoconf/general.m4:207: AC_HELP_STRING is expanded from...
578
+ ../../lib/autoconf/general.m4:1473: AC_ARG_ENABLE is expanded from...
579
+ configure.ac:24: the top level])
580
+ m4trace:configure.ac:27: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
581
+ You should run autoupdate.], [../../lib/autoconf/general.m4:207: AC_HELP_STRING is expanded from...
582
+ ../../lib/autoconf/general.m4:1473: AC_ARG_ENABLE is expanded from...
583
+ configure.ac:27: the top level])
584
+ m4trace:configure.ac:30: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
585
+ You should run autoupdate.], [../../lib/autoconf/general.m4:207: AC_HELP_STRING is expanded from...
586
+ ../../lib/autoconf/general.m4:1473: AC_ARG_ENABLE is expanded from...
587
+ configure.ac:30: the top level])
588
+ m4trace:configure.ac:33: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
589
+ You should run autoupdate.], [../../lib/autoconf/general.m4:207: AC_HELP_STRING is expanded from...
590
+ ../../lib/autoconf/general.m4:1473: AC_ARG_ENABLE is expanded from...
591
+ configure.ac:33: the top level])
592
+ m4trace:configure.ac:36: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
593
+ You should run autoupdate.], [../../lib/autoconf/general.m4:207: AC_HELP_STRING is expanded from...
594
+ ../../lib/autoconf/general.m4:1473: AC_ARG_ENABLE is expanded from...
595
+ configure.ac:36: the top level])
596
+ m4trace:configure.ac:40: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
597
+ You should run autoupdate.], [../../lib/autoconf/general.m4:207: AC_HELP_STRING is expanded from...
598
+ ../../lib/autoconf/general.m4:1492: AC_ARG_WITH is expanded from...
599
+ configure.ac:40: the top level])
600
+ m4trace:configure.ac:46: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
601
+ You should run autoupdate.], [../../lib/autoconf/general.m4:207: AC_HELP_STRING is expanded from...
602
+ ../../lib/autoconf/general.m4:1492: AC_ARG_WITH is expanded from...
603
+ configure.ac:46: the top level])
604
+ m4trace:configure.ac:52: -1- AM_CONDITIONAL([DOC_COMPILATION], [false])
605
+ m4trace:configure.ac:52: -1- AC_SUBST([DOC_COMPILATION_TRUE])
606
+ m4trace:configure.ac:52: -1- AC_SUBST_TRACE([DOC_COMPILATION_TRUE])
607
+ m4trace:configure.ac:52: -1- m4_pattern_allow([^DOC_COMPILATION_TRUE$])
608
+ m4trace:configure.ac:52: -1- AC_SUBST([DOC_COMPILATION_FALSE])
609
+ m4trace:configure.ac:52: -1- AC_SUBST_TRACE([DOC_COMPILATION_FALSE])
610
+ m4trace:configure.ac:52: -1- m4_pattern_allow([^DOC_COMPILATION_FALSE$])
611
+ m4trace:configure.ac:52: -1- _AM_SUBST_NOTMAKE([DOC_COMPILATION_TRUE])
612
+ m4trace:configure.ac:52: -1- _AM_SUBST_NOTMAKE([DOC_COMPILATION_FALSE])
613
+ m4trace:configure.ac:55: -1- AC_SUBST([PDFLATEX])
614
+ m4trace:configure.ac:55: -1- AC_SUBST_TRACE([PDFLATEX])
615
+ m4trace:configure.ac:55: -1- m4_pattern_allow([^PDFLATEX$])
616
+ m4trace:configure.ac:56: -1- AC_SUBST([BIBTEX])
617
+ m4trace:configure.ac:56: -1- AC_SUBST_TRACE([BIBTEX])
618
+ m4trace:configure.ac:56: -1- m4_pattern_allow([^BIBTEX$])
619
+ m4trace:configure.ac:59: -1- AM_CONDITIONAL([DOC_COMPILATION], [true])
620
+ m4trace:configure.ac:59: -1- AC_SUBST([DOC_COMPILATION_TRUE])
621
+ m4trace:configure.ac:59: -1- AC_SUBST_TRACE([DOC_COMPILATION_TRUE])
622
+ m4trace:configure.ac:59: -1- m4_pattern_allow([^DOC_COMPILATION_TRUE$])
623
+ m4trace:configure.ac:59: -1- AC_SUBST([DOC_COMPILATION_FALSE])
624
+ m4trace:configure.ac:59: -1- AC_SUBST_TRACE([DOC_COMPILATION_FALSE])
625
+ m4trace:configure.ac:59: -1- m4_pattern_allow([^DOC_COMPILATION_FALSE$])
626
+ m4trace:configure.ac:59: -1- _AM_SUBST_NOTMAKE([DOC_COMPILATION_TRUE])
627
+ m4trace:configure.ac:59: -1- _AM_SUBST_NOTMAKE([DOC_COMPILATION_FALSE])
628
+ m4trace:configure.ac:169: -1- AC_CONFIG_FILES([
629
+ Makefile
630
+ src/Makefile
631
+ scripts/Makefile
632
+ doc/Makefile
633
+ ])
634
+ m4trace:configure.ac:176: -1- AC_SUBST([transform], ['s/_lm/-lm/'])
635
+ m4trace:configure.ac:176: -1- AC_SUBST_TRACE([transform])
636
+ m4trace:configure.ac:176: -1- m4_pattern_allow([^transform$])
637
+ m4trace:configure.ac:178: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
638
+ m4trace:configure.ac:178: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
639
+ m4trace:configure.ac:178: -1- m4_pattern_allow([^LIB@&t@OBJS$])
640
+ m4trace:configure.ac:178: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
641
+ m4trace:configure.ac:178: -1- AC_SUBST_TRACE([LTLIBOBJS])
642
+ m4trace:configure.ac:178: -1- m4_pattern_allow([^LTLIBOBJS$])
643
+ m4trace:configure.ac:178: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])
644
+ m4trace:configure.ac:178: -1- AC_SUBST([am__EXEEXT_TRUE])
645
+ m4trace:configure.ac:178: -1- AC_SUBST_TRACE([am__EXEEXT_TRUE])
646
+ m4trace:configure.ac:178: -1- m4_pattern_allow([^am__EXEEXT_TRUE$])
647
+ m4trace:configure.ac:178: -1- AC_SUBST([am__EXEEXT_FALSE])
648
+ m4trace:configure.ac:178: -1- AC_SUBST_TRACE([am__EXEEXT_FALSE])
649
+ m4trace:configure.ac:178: -1- m4_pattern_allow([^am__EXEEXT_FALSE$])
650
+ m4trace:configure.ac:178: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE])
651
+ m4trace:configure.ac:178: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE])
652
+ m4trace:configure.ac:178: -1- AC_SUBST_TRACE([top_builddir])
653
+ m4trace:configure.ac:178: -1- AC_SUBST_TRACE([top_build_prefix])
654
+ m4trace:configure.ac:178: -1- AC_SUBST_TRACE([srcdir])
655
+ m4trace:configure.ac:178: -1- AC_SUBST_TRACE([abs_srcdir])
656
+ m4trace:configure.ac:178: -1- AC_SUBST_TRACE([top_srcdir])
657
+ m4trace:configure.ac:178: -1- AC_SUBST_TRACE([abs_top_srcdir])
658
+ m4trace:configure.ac:178: -1- AC_SUBST_TRACE([builddir])
659
+ m4trace:configure.ac:178: -1- AC_SUBST_TRACE([abs_builddir])
660
+ m4trace:configure.ac:178: -1- AC_SUBST_TRACE([abs_top_builddir])
661
+ m4trace:configure.ac:178: -1- AC_SUBST_TRACE([INSTALL])
662
+ m4trace:configure.ac:178: -1- AC_SUBST_TRACE([MKDIR_P])
663
+ m4trace:configure.ac:178: -1- AC_REQUIRE_AUX_FILE([ltmain.sh])
lm/irstlm/autom4te.cache/traces.2 ADDED
The diff for this file is too large to render. See raw diff
 
lm/irstlm/branches/binary_saving/Copyright ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // $Id: Copyright 3686 2010-10-15 11:55:32Z bertoldi $
2
+
3
+ /******************************************************************************
4
+ IrstLM: IRST Language Model Toolkit
5
+ Copyright (C) 2006 Marcello Federico, ITC-irst Trento, Italy
6
+
7
+ This library is free software; you can redistribute it and/or
8
+ modify it under the terms of the GNU Lesser General Public
9
+ License as published by the Free Software Foundation; either
10
+ version 2.1 of the License, or (at your option) any later version.
11
+
12
+ This library is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ Lesser General Public License for more details.
16
+
17
+ You should have received a copy of the GNU Lesser General Public
18
+ License along with this library; if not, write to the Free Software
19
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
+
21
+ ******************************************************************************/
lm/irstlm/branches/binary_saving/Makefile.am ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ # not a GNU package. You can remove this line, if
2
+ # have all needed files, that a GNU package needs
3
+ AUTOMAKE_OPTIONS = foreign
4
+
5
+ SUBDIRS = src scripts
6
+
7
+ EXTRA_DIST = README RELEASE Copyright
8
+
9
+ ACLOCAL_AMFLAGS = -I m4
10
+
lm/irstlm/branches/binary_saving/README ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ IRSTLM Toolkit
2
+
3
+ CONTENT:
4
+
5
+ - src: source code
6
+ - scripts: supporting scripts
7
+ - doc: documentation (in Latex) and in pdf (to be generated)
8
+ - bin: binaries (to be generated) and scripts
9
+ - lib: libraries (to be generated)
10
+ - readme: this file
11
+
12
+ DOCUMENTATION
13
+
14
+ A User Manual is available under https://sourceforge.net/projects/irstlm
15
+ The data for the examples described in the User Manual are available under http://sourceforge.net/projects/irstlm/files/irstlm/sampledata/
16
+
17
+ HOW TO INSTALL
18
+
19
+ step 0: sh regenerate-makefiles.sh [--force]
20
+ # set parameter force to the value "--force" if you want to recreate all links to the autotools
21
+
22
+ step 1: ./configure [--prefix=/path/where/to/install] ...
23
+ # run "configure --help" to get more details on the compilation options
24
+
25
+ step 2: make
26
+
27
+ step 3: make install
28
+
29
+ These steps will generate the irstlm library and commands, respectively,
30
+ under the specified path where to install.
31
+
32
+
33
+ HOW TO CONTRIBUTE
34
+
35
+ If you wish to contribute to the Open Source IRSTLM toolkit just tell us!
36
+
37
+ Marcello Federico
38
+ FBK-irst, Trento, ITALY
39
+ email: federico AT fbk DOT eu
40
+
lm/irstlm/branches/binary_saving/RELEASE ADDED
@@ -0,0 +1 @@
 
 
1
+ 5.80.01-binary-saving
lm/irstlm/branches/binary_saving/config.h.in ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* config.h.in. Generated from configure.in by autoheader. */
2
+
3
+ /* Define to 1 if you have the <dlfcn.h> header file. */
4
+ #undef HAVE_DLFCN_H
5
+
6
+ /* Define to 1 if you have the <getopt.h> header file. */
7
+ #undef HAVE_GETOPT_H
8
+
9
+ /* Define to 1 if you have the <inttypes.h> header file. */
10
+ #undef HAVE_INTTYPES_H
11
+
12
+ /* Define to 1 if you have the <memory.h> header file. */
13
+ #undef HAVE_MEMORY_H
14
+
15
+ /* Define to 1 if you have the <stdint.h> header file. */
16
+ #undef HAVE_STDINT_H
17
+
18
+ /* Define to 1 if you have the <stdlib.h> header file. */
19
+ #undef HAVE_STDLIB_H
20
+
21
+ /* Define to 1 if you have the <strings.h> header file. */
22
+ #undef HAVE_STRINGS_H
23
+
24
+ /* Define to 1 if you have the <string.h> header file. */
25
+ #undef HAVE_STRING_H
26
+
27
+ /* Define to 1 if you have the <sys/stat.h> header file. */
28
+ #undef HAVE_SYS_STAT_H
29
+
30
+ /* Define to 1 if you have the <sys/types.h> header file. */
31
+ #undef HAVE_SYS_TYPES_H
32
+
33
+ /* Define to 1 if you have the <unistd.h> header file. */
34
+ #undef HAVE_UNISTD_H
35
+
36
+ /* Define to the sub-directory in which libtool stores uninstalled libraries.
37
+ */
38
+ #undef LT_OBJDIR
39
+
40
+ /* Name of package */
41
+ #undef PACKAGE
42
+
43
+ /* Define to the address where bug reports for this package should be sent. */
44
+ #undef PACKAGE_BUGREPORT
45
+
46
+ /* Define to the full name of this package. */
47
+ #undef PACKAGE_NAME
48
+
49
+ /* Define to the full name and version of this package. */
50
+ #undef PACKAGE_STRING
51
+
52
+ /* Define to the one symbol short name of this package. */
53
+ #undef PACKAGE_TARNAME
54
+
55
+ /* Define to the version of this package. */
56
+ #undef PACKAGE_VERSION
57
+
58
+ /* Define to 1 if you have the ANSI C header files. */
59
+ #undef STDC_HEADERS
60
+
61
+ /* Version number of package */
62
+ #undef VERSION
lm/irstlm/branches/binary_saving/configure.in ADDED
@@ -0,0 +1,132 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ AC_INIT(src)
2
+
3
+ CFLAGS=""
4
+ CPPFLAGS=""
5
+ CXXFLAGS=""
6
+
7
+ AC_PREFIX_DEFAULT(/usr/local/irstlm)
8
+ AM_CONFIG_HEADER(config.h)
9
+ AM_INIT_AUTOMAKE(irstlm, 5.70.03)
10
+ WEBSITE="http://hlt.fbk.eu/en/irstlm"
11
+
12
+ AC_CONFIG_MACRO_DIR([m4])
13
+
14
+ AC_PROG_CXX
15
+ AC_PROG_CXXCPP
16
+ AC_LANG_CPLUSPLUS
17
+
18
+ AC_DISABLE_SHARED
19
+ AC_PROG_LIBTOOL
20
+ # Shared library are disabled for default
21
+ #LT_INIT([disable-shared])
22
+
23
+ AC_CHECK_TOOL(PDFLATEX,pdflatex,"no")
24
+ AC_CHECK_TOOL(BIBTEX,bibtex,"no")
25
+
26
+ AC_ARG_ENABLE([trace],
27
+ AS_HELP_STRING([--enable-trace|--disable-trace], [Enable or Disable (default) trace]))
28
+
29
+ AC_ARG_ENABLE([debugging],
30
+ AS_HELP_STRING([--enable-debugging|--disable-debugging], [Enable or Disable (default) compilation with debugging "-g -O2" info]))
31
+
32
+ AC_ARG_ENABLE(profiling,
33
+ [AC_HELP_STRING([--enable-profiling|--disable-profiling], [Enable or Disable (default) profiling info])])
34
+
35
+ AC_ARG_ENABLE(caching,
36
+ [AC_HELP_STRING([--enable-caching|--disable-caching], [Enable or Disable (default) the use prob caches to store probs and other info])])
37
+
38
+ AC_ARG_ENABLE(interpsearch,
39
+ [AC_HELP_STRING([--enable-interpsearch|--disable-interpsearch], [Enable or Disable (default) the use interpolated search to retrieve n-grams])])
40
+
41
+ AC_ARG_ENABLE(optimization,
42
+ [AC_HELP_STRING([--enable-optimization|--disable-optimization], [Enable or Disable (default) compilation with optimization -O3 flag])])
43
+
44
+ AC_ARG_WITH(zlib,
45
+ [AC_HELP_STRING([--with-zlib=PATH], [(optional) path to zlib])],
46
+ [with_zlib=$withval],
47
+ [with_zlib=no]
48
+ )
49
+
50
+ AM_CONDITIONAL([am__fastdepCC], false)
51
+ AM_CONDITIONAL([WITH_THREADS],false)
52
+
53
+ #### Use this if you want that the default is yes
54
+ #### if test "x$enable_foo" != 'xno'
55
+ #### Use this if you want that the default is no
56
+ #### if test "x$enable_foo" = 'xyes'
57
+
58
+
59
+ if test "x$enable_trace" = 'xyes'
60
+ then
61
+ AC_MSG_NOTICE([trace enabled])
62
+ CPPFLAGS="$CPPFLAGS -DTRACE_ENABLE=1"
63
+ else
64
+ AC_MSG_NOTICE([trace disabled (default), most regression tests will fail])
65
+ fi
66
+
67
+ if test "x$enable_debugging" = 'xyes'
68
+ then
69
+ AC_MSG_NOTICE([generation of debugging symbols enabled, compilation with "-g -O2"])
70
+ CPPFLAGS="$CPPFLAGS -g -O2"
71
+ else
72
+ AC_MSG_NOTICE([generation of debugging symbols disabled (default), compilation without "-g", only "-O2"])
73
+ fi
74
+
75
+ if test "x$enable_profiling" = 'xyes'
76
+ then
77
+ AC_MSG_NOTICE([profiling enabled])
78
+ CPPFLAGS="$CPPFLAGS -pg"
79
+ LDFLAGS="$LDFLAGS -pg"
80
+ else
81
+ AC_MSG_NOTICE([profiling disabled (default)])
82
+ fi
83
+
84
+ if test "x$enable_caching" = 'xyes'
85
+ then
86
+ AC_MSG_NOTICE([caching enabled])
87
+ CPPFLAGS="$CPPFLAGS -DPS_CACHE_ENABLE=1 -DMDIADAPTLM_CACHE_ENABLE=1";
88
+ LDFLAGS="$LDFLAGS"
89
+ else
90
+ AC_MSG_NOTICE([caching disabled (default)])
91
+ fi
92
+
93
+ if test "x$enable_interpsearch" = 'xyes'
94
+ then
95
+ AC_MSG_NOTICE([interpolated search enabled])
96
+ CPPFLAGS="$CPPFLAGS -DINTERP_SEARCH=1";
97
+ LDFLAGS="$LDFLAGS"
98
+ else
99
+ AC_MSG_NOTICE([interpolated search disabled (default)])
100
+ fi
101
+
102
+ if test "x$enable_optimization" = 'xyes'
103
+ then
104
+ AC_MSG_NOTICE([optimization enabled])
105
+ CPPFLAGS="$CPPFLAGS -O3";
106
+ LDFLAGS="$LDFLAGS -O3"
107
+ else
108
+ AC_MSG_NOTICE([optimization disabled (default)])
109
+ fi
110
+
111
+ AC_MSG_NOTICE([Building non-threaded irstlm.])
112
+
113
+ AC_CHECK_HEADERS([getopt.h],
114
+ [AM_CONDITIONAL([WITH_MERT],true)],
115
+ [AC_MSG_WARN([Cannot find getopt.h - disabling new mert])])
116
+
117
+ if test "x$with_zlib" != 'xno'
118
+ then
119
+ CPPFLAGS="$CPPFLAGS -I${with_zlib}/include"
120
+ LDFLAGS="$LDFLAGS -L${with_zlib}/lib"
121
+ fi
122
+
123
+ LIBS="$LIBS -lz"
124
+
125
+
126
+ AC_CONFIG_FILES(Makefile src/Makefile scripts/Makefile)
127
+
128
+ AC_SUBST(transform,'s/_lm/-lm/')
129
+
130
+ AC_OUTPUT()
131
+
132
+ AC_MSG_NOTICE([The software will be installed into $prefix])
lm/irstlm/branches/binary_saving/irstlm.xcodeproj/project.pbxproj ADDED
@@ -0,0 +1,1431 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 42;
7
+ objects = {
8
+
9
+ /* Begin PBXAggregateTarget section */
10
+ 3D3F73DE15E6317E00CA54EC /* ALL */ = {
11
+ isa = PBXAggregateTarget;
12
+ buildConfigurationList = 3D3F73F515E631C300CA54EC /* Build configuration list for PBXAggregateTarget "ALL" */;
13
+ buildPhases = (
14
+ );
15
+ dependencies = (
16
+ 3D3F73E215E6318700CA54EC /* PBXTargetDependency */,
17
+ 3D3F73E415E6318700CA54EC /* PBXTargetDependency */,
18
+ 3D3F73E615E6318700CA54EC /* PBXTargetDependency */,
19
+ 3D3F73E815E6318700CA54EC /* PBXTargetDependency */,
20
+ 3D3F73EA15E6318700CA54EC /* PBXTargetDependency */,
21
+ 3D3F73EC15E6318700CA54EC /* PBXTargetDependency */,
22
+ 3D3F73EE15E6318700CA54EC /* PBXTargetDependency */,
23
+ 3D3F73F015E6318700CA54EC /* PBXTargetDependency */,
24
+ );
25
+ name = ALL;
26
+ productName = ALL;
27
+ };
28
+ /* End PBXAggregateTarget section */
29
+
30
+ /* Begin PBXBuildFile section */
31
+ 3D3F73B915E62F4E00CA54EC /* libirstlm.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = ADCFA02A0E4872FC00E351DB /* libirstlm.dylib */; };
32
+ 3D3F73C915E6307000CA54EC /* libirstlm.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = ADCFA02A0E4872FC00E351DB /* libirstlm.dylib */; };
33
+ 3D3F73D515E630C000CA54EC /* libirstlm.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = ADCFA02A0E4872FC00E351DB /* libirstlm.dylib */; };
34
+ 3D3F73D615E630D900CA54EC /* libirstlm.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = ADCFA02A0E4872FC00E351DB /* libirstlm.dylib */; };
35
+ 3D3F73D715E630ED00CA54EC /* libirstlm.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = ADCFA02A0E4872FC00E351DB /* libirstlm.dylib */; };
36
+ 3D3F73D815E6310000CA54EC /* libirstlm.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = ADCFA02A0E4872FC00E351DB /* libirstlm.dylib */; };
37
+ 3D3F73D915E6310D00CA54EC /* libirstlm.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = ADCFA02A0E4872FC00E351DB /* libirstlm.dylib */; };
38
+ 3D3F73FC15E6332D00CA54EC /* libirstlm.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = ADCFA02A0E4872FC00E351DB /* libirstlm.dylib */; };
39
+ 3D3F740415E633BB00CA54EC /* plsa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3D3F740315E633BB00CA54EC /* plsa.cpp */; };
40
+ 3D3F740915E634AE00CA54EC /* cplsa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3D3F740715E634AE00CA54EC /* cplsa.cpp */; };
41
+ 3D3F740A15E634AE00CA54EC /* cplsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D3F740815E634AE00CA54EC /* cplsa.h */; };
42
+ 3D3F740F15E634D600CA54EC /* doc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3D3F740D15E634D600CA54EC /* doc.cpp */; };
43
+ 3D3F741015E634D600CA54EC /* doc.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D3F740E15E634D600CA54EC /* doc.h */; };
44
+ 3D4565341164C94E00119984 /* shiftlm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD58865D11256D3700BDFA30 /* shiftlm.cpp */; };
45
+ 3D4565351164C95800119984 /* shiftlm.h in Headers */ = {isa = PBXBuildFile; fileRef = AD58865E11256D3700BDFA30 /* shiftlm.h */; };
46
+ 3D4565371164C9DC00119984 /* normcache.h in Headers */ = {isa = PBXBuildFile; fileRef = AD58865C11256D3700BDFA30 /* normcache.h */; };
47
+ 3D4565381164C9E000119984 /* normcache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD58865B11256D3700BDFA30 /* normcache.cpp */; };
48
+ 3D4565391164C9EF00119984 /* interplm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD58865611256D3700BDFA30 /* interplm.cpp */; };
49
+ 3D45653A1164C9F100119984 /* interplm.h in Headers */ = {isa = PBXBuildFile; fileRef = AD58865711256D3700BDFA30 /* interplm.h */; };
50
+ 3D4565611164CC3F00119984 /* mixture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD58865811256D3700BDFA30 /* mixture.cpp */; };
51
+ 3D4565621164CC3F00119984 /* mixture.h in Headers */ = {isa = PBXBuildFile; fileRef = AD58865911256D3700BDFA30 /* mixture.h */; };
52
+ 3D4F4DA5135C497B00E85480 /* compile-lm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D7F00C710B3AF17800A1FF7A /* compile-lm.cpp */; };
53
+ 3D4F4DA6135C499D00E85480 /* dict.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D77D1C7C0B3032EC00D79D16 /* dict.cpp */; };
54
+ 3D4F4DC7135C5BC800E85480 /* tlm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD58865F11256D3700BDFA30 /* tlm.cpp */; };
55
+ 3D4F4DCF135C5BFF00E85480 /* prune-lm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ADAA6FC90E62F00D002B3D41 /* prune-lm.cpp */; };
56
+ 3D4F4DD0135C5C2500E85480 /* quantize-lm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D77D1C420B2F1FCA00D79D16 /* quantize-lm.cpp */; };
57
+ 3D4F4DDD135C5C6300E85480 /* interpolate-lm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ADD9567B0FB42D07001B8680 /* interpolate-lm.cpp */; };
58
+ 3D4F4DFC135C5DCB00E85480 /* ngt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D7F00B640B38508400A1FF7A /* ngt.cpp */; };
59
+ 3DE5453915CBB2BC003869E0 /* lmContainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3DE5453715CBB2BC003869E0 /* lmContainer.cpp */; };
60
+ 3DE5453A15CBB2BC003869E0 /* lmContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3DE5453815CBB2BC003869E0 /* lmContainer.h */; };
61
+ 3DE5454115CBB30A003869E0 /* lmclass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3DE5453D15CBB30A003869E0 /* lmclass.cpp */; };
62
+ 3DE5454215CBB30A003869E0 /* lmclass.h in Headers */ = {isa = PBXBuildFile; fileRef = 3DE5453E15CBB30A003869E0 /* lmclass.h */; };
63
+ 3DE5454315CBB30A003869E0 /* lmInterpolation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3DE5453F15CBB30A003869E0 /* lmInterpolation.cpp */; };
64
+ 3DE5454415CBB30A003869E0 /* lmInterpolation.h in Headers */ = {isa = PBXBuildFile; fileRef = 3DE5454015CBB30A003869E0 /* lmInterpolation.h */; };
65
+ AD0BD17213EC529000230F82 /* ngramtable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD0BD17113EC529000230F82 /* ngramtable.cpp */; };
66
+ AD2CE6AA112E80D900E05137 /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD2CE6A8112E80D900E05137 /* timer.cpp */; };
67
+ AD2CE6AB112E80D900E05137 /* timer.h in Headers */ = {isa = PBXBuildFile; fileRef = AD2CE6A9112E80D900E05137 /* timer.h */; };
68
+ AD57B1CC0FB3103C00064698 /* lmmacro.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD57B1CA0FB3103C00064698 /* lmmacro.cpp */; };
69
+ AD57B1CD0FB3103C00064698 /* lmmacro.h in Headers */ = {isa = PBXBuildFile; fileRef = AD57B1CB0FB3103C00064698 /* lmmacro.h */; };
70
+ AD70DBD5115C1D4900F05491 /* linearlm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD70DBD3115C1D4900F05491 /* linearlm.cpp */; };
71
+ AD70DBD6115C1D4900F05491 /* linearlm.h in Headers */ = {isa = PBXBuildFile; fileRef = AD70DBD4115C1D4900F05491 /* linearlm.h */; settings = {ATTRIBUTES = (); }; };
72
+ AD8104AF1132B93300B0363D /* mdiadapt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD8104AD1132B93300B0363D /* mdiadapt.cpp */; };
73
+ AD8104B01132B93300B0363D /* mdiadapt.h in Headers */ = {isa = PBXBuildFile; fileRef = AD8104AE1132B93300B0363D /* mdiadapt.h */; };
74
+ D701C7880B2EB27C007D2774 /* cmd.c in Sources */ = {isa = PBXBuildFile; fileRef = D701C7870B2EB27C007D2774 /* cmd.c */; };
75
+ D701C7940B2EB37D007D2774 /* dictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D701C78D0B2EB37D007D2774 /* dictionary.cpp */; };
76
+ D701C7950B2EB37D007D2774 /* htable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D701C78E0B2EB37D007D2774 /* htable.cpp */; };
77
+ D701C7960B2EB37D007D2774 /* lmtable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D701C78F0B2EB37D007D2774 /* lmtable.cpp */; };
78
+ D701C7970B2EB37D007D2774 /* mempool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D701C7900B2EB37D007D2774 /* mempool.cpp */; };
79
+ D701C7980B2EB37D007D2774 /* n_gram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D701C7910B2EB37D007D2774 /* n_gram.cpp */; };
80
+ D701C7990B2EB37D007D2774 /* ngramcache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D701C7920B2EB37D007D2774 /* ngramcache.cpp */; };
81
+ D701C79A0B2EB37D007D2774 /* util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D701C7930B2EB37D007D2774 /* util.cpp */; };
82
+ D701C7A60B2EB472007D2774 /* cmd.h in Headers */ = {isa = PBXBuildFile; fileRef = D701C79C0B2EB472007D2774 /* cmd.h */; };
83
+ D701C7A70B2EB472007D2774 /* dictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = D701C79D0B2EB472007D2774 /* dictionary.h */; };
84
+ D701C7A80B2EB472007D2774 /* gzfilebuf.h in Headers */ = {isa = PBXBuildFile; fileRef = D701C79E0B2EB472007D2774 /* gzfilebuf.h */; };
85
+ D701C7A90B2EB472007D2774 /* htable.h in Headers */ = {isa = PBXBuildFile; fileRef = D701C79F0B2EB472007D2774 /* htable.h */; };
86
+ D701C7AA0B2EB472007D2774 /* index.h in Headers */ = {isa = PBXBuildFile; fileRef = D701C7A00B2EB472007D2774 /* index.h */; };
87
+ D701C7AB0B2EB472007D2774 /* lmtable.h in Headers */ = {isa = PBXBuildFile; fileRef = D701C7A10B2EB472007D2774 /* lmtable.h */; };
88
+ D701C7AC0B2EB472007D2774 /* mempool.h in Headers */ = {isa = PBXBuildFile; fileRef = D701C7A20B2EB472007D2774 /* mempool.h */; };
89
+ D701C7AD0B2EB472007D2774 /* n_gram.h in Headers */ = {isa = PBXBuildFile; fileRef = D701C7A30B2EB472007D2774 /* n_gram.h */; };
90
+ D701C7AE0B2EB472007D2774 /* ngramcache.h in Headers */ = {isa = PBXBuildFile; fileRef = D701C7A40B2EB472007D2774 /* ngramcache.h */; };
91
+ D701C7AF0B2EB472007D2774 /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = D701C7A50B2EB472007D2774 /* util.h */; };
92
+ D77D1C670B3030E100D79D16 /* mfstream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D77D1C620B3030E100D79D16 /* mfstream.cpp */; };
93
+ D77D1C680B3030E100D79D16 /* mfstream.h in Headers */ = {isa = PBXBuildFile; fileRef = D77D1C630B3030E100D79D16 /* mfstream.h */; };
94
+ D77D1C6A0B3030E100D79D16 /* ngramtable.h in Headers */ = {isa = PBXBuildFile; fileRef = D77D1C650B3030E100D79D16 /* ngramtable.h */; };
95
+ /* End PBXBuildFile section */
96
+
97
+ /* Begin PBXContainerItemProxy section */
98
+ 3D3F73D315E630B300CA54EC /* PBXContainerItemProxy */ = {
99
+ isa = PBXContainerItemProxy;
100
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
101
+ proxyType = 1;
102
+ remoteGlobalIDString = D733D3F30B1F3B0800565249;
103
+ remoteInfo = irstlm;
104
+ };
105
+ 3D3F73E115E6318700CA54EC /* PBXContainerItemProxy */ = {
106
+ isa = PBXContainerItemProxy;
107
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
108
+ proxyType = 1;
109
+ remoteGlobalIDString = D77D1C700B30325000D79D16;
110
+ remoteInfo = dict;
111
+ };
112
+ 3D3F73E315E6318700CA54EC /* PBXContainerItemProxy */ = {
113
+ isa = PBXContainerItemProxy;
114
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
115
+ proxyType = 1;
116
+ remoteGlobalIDString = 3D4F4D67135C481600E85480;
117
+ remoteInfo = "compile-lm";
118
+ };
119
+ 3D3F73E515E6318700CA54EC /* PBXContainerItemProxy */ = {
120
+ isa = PBXContainerItemProxy;
121
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
122
+ proxyType = 1;
123
+ remoteGlobalIDString = 3D4F4D82135C48E800E85480;
124
+ remoteInfo = ngt;
125
+ };
126
+ 3D3F73E715E6318700CA54EC /* PBXContainerItemProxy */ = {
127
+ isa = PBXContainerItemProxy;
128
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
129
+ proxyType = 1;
130
+ remoteGlobalIDString = 3D4F4D8D135C48EC00E85480;
131
+ remoteInfo = "quantize-lm";
132
+ };
133
+ 3D3F73E915E6318700CA54EC /* PBXContainerItemProxy */ = {
134
+ isa = PBXContainerItemProxy;
135
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
136
+ proxyType = 1;
137
+ remoteGlobalIDString = 3D4F4D98135C48F100E85480;
138
+ remoteInfo = "prune-lm";
139
+ };
140
+ 3D3F73EB15E6318700CA54EC /* PBXContainerItemProxy */ = {
141
+ isa = PBXContainerItemProxy;
142
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
143
+ proxyType = 1;
144
+ remoteGlobalIDString = 3D4F4DBC135C5B8800E85480;
145
+ remoteInfo = tlm;
146
+ };
147
+ 3D3F73ED15E6318700CA54EC /* PBXContainerItemProxy */ = {
148
+ isa = PBXContainerItemProxy;
149
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
150
+ proxyType = 1;
151
+ remoteGlobalIDString = 3D4F4DD2135C5C4C00E85480;
152
+ remoteInfo = "interpolate-lm";
153
+ };
154
+ 3D3F73EF15E6318700CA54EC /* PBXContainerItemProxy */ = {
155
+ isa = PBXContainerItemProxy;
156
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
157
+ proxyType = 1;
158
+ remoteGlobalIDString = 3D4F4DED135C5D7300E85480;
159
+ remoteInfo = plsa;
160
+ };
161
+ 3D3F73FD15E6333F00CA54EC /* PBXContainerItemProxy */ = {
162
+ isa = PBXContainerItemProxy;
163
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
164
+ proxyType = 1;
165
+ remoteGlobalIDString = D733D3F30B1F3B0800565249;
166
+ remoteInfo = irstlm;
167
+ };
168
+ 3D4F4D69135C481600E85480 /* PBXContainerItemProxy */ = {
169
+ isa = PBXContainerItemProxy;
170
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
171
+ proxyType = 1;
172
+ remoteGlobalIDString = D733D3F30B1F3B0800565249;
173
+ remoteInfo = irstlm;
174
+ };
175
+ 3D4F4D84135C48E800E85480 /* PBXContainerItemProxy */ = {
176
+ isa = PBXContainerItemProxy;
177
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
178
+ proxyType = 1;
179
+ remoteGlobalIDString = D733D3F30B1F3B0800565249;
180
+ remoteInfo = irstlm;
181
+ };
182
+ 3D4F4D8F135C48EC00E85480 /* PBXContainerItemProxy */ = {
183
+ isa = PBXContainerItemProxy;
184
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
185
+ proxyType = 1;
186
+ remoteGlobalIDString = D733D3F30B1F3B0800565249;
187
+ remoteInfo = irstlm;
188
+ };
189
+ 3D4F4D9A135C48F100E85480 /* PBXContainerItemProxy */ = {
190
+ isa = PBXContainerItemProxy;
191
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
192
+ proxyType = 1;
193
+ remoteGlobalIDString = D733D3F30B1F3B0800565249;
194
+ remoteInfo = irstlm;
195
+ };
196
+ 3D4F4DD4135C5C4C00E85480 /* PBXContainerItemProxy */ = {
197
+ isa = PBXContainerItemProxy;
198
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
199
+ proxyType = 1;
200
+ remoteGlobalIDString = D733D3F30B1F3B0800565249;
201
+ remoteInfo = irstlm;
202
+ };
203
+ 3D4F4DEF135C5D7300E85480 /* PBXContainerItemProxy */ = {
204
+ isa = PBXContainerItemProxy;
205
+ containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
206
+ proxyType = 1;
207
+ remoteGlobalIDString = D733D3F30B1F3B0800565249;
208
+ remoteInfo = irstlm;
209
+ };
210
+ /* End PBXContainerItemProxy section */
211
+
212
+ /* Begin PBXFileReference section */
213
+ 3D3F740315E633BB00CA54EC /* plsa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = plsa.cpp; path = src/plsa.cpp; sourceTree = "<group>"; };
214
+ 3D3F740715E634AE00CA54EC /* cplsa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = cplsa.cpp; path = src/cplsa.cpp; sourceTree = "<group>"; };
215
+ 3D3F740815E634AE00CA54EC /* cplsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cplsa.h; path = src/cplsa.h; sourceTree = "<group>"; };
216
+ 3D3F740D15E634D600CA54EC /* doc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = doc.cpp; path = src/doc.cpp; sourceTree = "<group>"; };
217
+ 3D3F740E15E634D600CA54EC /* doc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = doc.h; path = src/doc.h; sourceTree = "<group>"; };
218
+ 3D4F4D70135C481600E85480 /* compile-lm */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "compile-lm"; sourceTree = BUILT_PRODUCTS_DIR; };
219
+ 3D4F4D8B135C48E800E85480 /* ngt */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = ngt; sourceTree = BUILT_PRODUCTS_DIR; };
220
+ 3D4F4D96135C48EC00E85480 /* quantize-lm */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "quantize-lm"; sourceTree = BUILT_PRODUCTS_DIR; };
221
+ 3D4F4DA1135C48F100E85480 /* prune-lm */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "prune-lm"; sourceTree = BUILT_PRODUCTS_DIR; };
222
+ 3D4F4DC5135C5B8800E85480 /* tlm */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = tlm; sourceTree = BUILT_PRODUCTS_DIR; };
223
+ 3D4F4DDB135C5C4C00E85480 /* interpolate-lm */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "interpolate-lm"; sourceTree = BUILT_PRODUCTS_DIR; };
224
+ 3D4F4DF6135C5D7300E85480 /* plsa */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = plsa; sourceTree = BUILT_PRODUCTS_DIR; };
225
+ 3DE5453715CBB2BC003869E0 /* lmContainer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = lmContainer.cpp; path = src/lmContainer.cpp; sourceTree = "<group>"; };
226
+ 3DE5453815CBB2BC003869E0 /* lmContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lmContainer.h; path = src/lmContainer.h; sourceTree = "<group>"; };
227
+ 3DE5453D15CBB30A003869E0 /* lmclass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = lmclass.cpp; path = src/lmclass.cpp; sourceTree = "<group>"; };
228
+ 3DE5453E15CBB30A003869E0 /* lmclass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lmclass.h; path = src/lmclass.h; sourceTree = "<group>"; };
229
+ 3DE5453F15CBB30A003869E0 /* lmInterpolation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = lmInterpolation.cpp; path = src/lmInterpolation.cpp; sourceTree = "<group>"; };
230
+ 3DE5454015CBB30A003869E0 /* lmInterpolation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lmInterpolation.h; path = src/lmInterpolation.h; sourceTree = "<group>"; };
231
+ AD0BD17113EC529000230F82 /* ngramtable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ngramtable.cpp; path = src/ngramtable.cpp; sourceTree = "<group>"; };
232
+ AD2CE53B1125B0D100E05137 /* sort-lm.pl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.perl; path = "sort-lm.pl"; sourceTree = "<group>"; };
233
+ AD2CE6A8112E80D900E05137 /* timer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = timer.cpp; path = src/timer.cpp; sourceTree = "<group>"; };
234
+ AD2CE6A9112E80D900E05137 /* timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = timer.h; path = src/timer.h; sourceTree = "<group>"; };
235
+ AD3B344C0FCD9CF0000126BA /* build-lm-qsub.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "build-lm-qsub.sh"; sourceTree = "<group>"; };
236
+ AD57B1CA0FB3103C00064698 /* lmmacro.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = lmmacro.cpp; path = src/lmmacro.cpp; sourceTree = "<group>"; };
237
+ AD57B1CB0FB3103C00064698 /* lmmacro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lmmacro.h; path = src/lmmacro.h; sourceTree = "<group>"; };
238
+ AD57CBD40FC49D2F00E5AF00 /* goograms2ngrams.pl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.perl; path = goograms2ngrams.pl; sourceTree = "<group>"; };
239
+ AD58865611256D3700BDFA30 /* interplm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = interplm.cpp; path = src/interplm.cpp; sourceTree = "<group>"; };
240
+ AD58865711256D3700BDFA30 /* interplm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = interplm.h; path = src/interplm.h; sourceTree = "<group>"; };
241
+ AD58865811256D3700BDFA30 /* mixture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mixture.cpp; path = src/mixture.cpp; sourceTree = "<group>"; };
242
+ AD58865911256D3700BDFA30 /* mixture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mixture.h; path = src/mixture.h; sourceTree = "<group>"; };
243
+ AD58865B11256D3700BDFA30 /* normcache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = normcache.cpp; path = src/normcache.cpp; sourceTree = "<group>"; };
244
+ AD58865C11256D3700BDFA30 /* normcache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = normcache.h; path = src/normcache.h; sourceTree = "<group>"; };
245
+ AD58865D11256D3700BDFA30 /* shiftlm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = shiftlm.cpp; path = src/shiftlm.cpp; sourceTree = "<group>"; };
246
+ AD58865E11256D3700BDFA30 /* shiftlm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = shiftlm.h; path = src/shiftlm.h; sourceTree = "<group>"; };
247
+ AD58865F11256D3700BDFA30 /* tlm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = tlm.cpp; path = src/tlm.cpp; sourceTree = "<group>"; };
248
+ AD70DBD3115C1D4900F05491 /* linearlm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = linearlm.cpp; path = src/linearlm.cpp; sourceTree = "<group>"; };
249
+ AD70DBD4115C1D4900F05491 /* linearlm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = linearlm.h; path = src/linearlm.h; sourceTree = "<group>"; };
250
+ AD8104AD1132B93300B0363D /* mdiadapt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mdiadapt.cpp; path = src/mdiadapt.cpp; sourceTree = "<group>"; };
251
+ AD8104AE1132B93300B0363D /* mdiadapt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mdiadapt.h; path = src/mdiadapt.h; sourceTree = "<group>"; };
252
+ ADAA6FC90E62F00D002B3D41 /* prune-lm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "prune-lm.cpp"; path = "src/prune-lm.cpp"; sourceTree = "<group>"; };
253
+ ADCFA0280E4872FC00E351DB /* dict */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = dict; sourceTree = BUILT_PRODUCTS_DIR; };
254
+ ADCFA02A0E4872FC00E351DB /* libirstlm.dylib */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libirstlm.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
255
+ ADD9567B0FB42D07001B8680 /* interpolate-lm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "interpolate-lm.cpp"; path = "src/interpolate-lm.cpp"; sourceTree = "<group>"; };
256
+ D701C7870B2EB27C007D2774 /* cmd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = cmd.c; path = src/cmd.c; sourceTree = "<group>"; };
257
+ D701C78D0B2EB37D007D2774 /* dictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dictionary.cpp; path = src/dictionary.cpp; sourceTree = "<group>"; };
258
+ D701C78E0B2EB37D007D2774 /* htable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = htable.cpp; path = src/htable.cpp; sourceTree = "<group>"; };
259
+ D701C78F0B2EB37D007D2774 /* lmtable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = lmtable.cpp; path = src/lmtable.cpp; sourceTree = "<group>"; };
260
+ D701C7900B2EB37D007D2774 /* mempool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mempool.cpp; path = src/mempool.cpp; sourceTree = "<group>"; };
261
+ D701C7910B2EB37D007D2774 /* n_gram.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = n_gram.cpp; path = src/n_gram.cpp; sourceTree = "<group>"; };
262
+ D701C7920B2EB37D007D2774 /* ngramcache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ngramcache.cpp; path = src/ngramcache.cpp; sourceTree = "<group>"; };
263
+ D701C7930B2EB37D007D2774 /* util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = util.cpp; path = src/util.cpp; sourceTree = "<group>"; };
264
+ D701C79C0B2EB472007D2774 /* cmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cmd.h; path = src/cmd.h; sourceTree = "<group>"; };
265
+ D701C79D0B2EB472007D2774 /* dictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dictionary.h; path = src/dictionary.h; sourceTree = "<group>"; };
266
+ D701C79E0B2EB472007D2774 /* gzfilebuf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gzfilebuf.h; path = src/gzfilebuf.h; sourceTree = "<group>"; };
267
+ D701C79F0B2EB472007D2774 /* htable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = htable.h; path = src/htable.h; sourceTree = "<group>"; };
268
+ D701C7A00B2EB472007D2774 /* index.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = index.h; path = src/index.h; sourceTree = "<group>"; };
269
+ D701C7A10B2EB472007D2774 /* lmtable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lmtable.h; path = src/lmtable.h; sourceTree = "<group>"; };
270
+ D701C7A20B2EB472007D2774 /* mempool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mempool.h; path = src/mempool.h; sourceTree = "<group>"; };
271
+ D701C7A30B2EB472007D2774 /* n_gram.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = n_gram.h; path = src/n_gram.h; sourceTree = "<group>"; };
272
+ D701C7A40B2EB472007D2774 /* ngramcache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ngramcache.h; path = src/ngramcache.h; sourceTree = "<group>"; };
273
+ D701C7A50B2EB472007D2774 /* util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = util.h; path = src/util.h; sourceTree = "<group>"; };
274
+ D77D1C420B2F1FCA00D79D16 /* quantize-lm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "quantize-lm.cpp"; path = "src/quantize-lm.cpp"; sourceTree = "<group>"; };
275
+ D77D1C620B3030E100D79D16 /* mfstream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mfstream.cpp; path = src/mfstream.cpp; sourceTree = "<group>"; };
276
+ D77D1C630B3030E100D79D16 /* mfstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mfstream.h; path = src/mfstream.h; sourceTree = "<group>"; };
277
+ D77D1C650B3030E100D79D16 /* ngramtable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ngramtable.h; path = src/ngramtable.h; sourceTree = "<group>"; };
278
+ D77D1C7C0B3032EC00D79D16 /* dict.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dict.cpp; path = src/dict.cpp; sourceTree = "<group>"; };
279
+ D7BE45CE0C104DD400B95F19 /* build-lm.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "build-lm.sh"; sourceTree = "<group>"; };
280
+ D7F00B530B382B8900A1FF7A /* build-sublm.pl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.perl; path = "build-sublm.pl"; sourceTree = "<group>"; };
281
+ D7F00B540B382B8900A1FF7A /* merge-sublm.pl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.perl; path = "merge-sublm.pl"; sourceTree = "<group>"; };
282
+ D7F00B550B382B8900A1FF7A /* ngram-split.pl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.perl; path = "ngram-split.pl"; sourceTree = "<group>"; };
283
+ D7F00B560B382B8900A1FF7A /* split-dict.pl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.perl; path = "split-dict.pl"; sourceTree = "<group>"; };
284
+ D7F00B570B382B8900A1FF7A /* split-ngt.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "split-ngt.sh"; sourceTree = "<group>"; };
285
+ D7F00B640B38508400A1FF7A /* ngt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ngt.cpp; path = src/ngt.cpp; sourceTree = "<group>"; };
286
+ D7F00C710B3AF17800A1FF7A /* compile-lm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "compile-lm.cpp"; path = "src/compile-lm.cpp"; sourceTree = "<group>"; };
287
+ D7FFAE140BFC935500F7F904 /* add-start-end.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "add-start-end.sh"; sourceTree = "<group>"; };
288
+ D7FFAE150BFC935500F7F904 /* rm-start-end.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "rm-start-end.sh"; sourceTree = "<group>"; };
289
+ /* End PBXFileReference section */
290
+
291
+ /* Begin PBXFrameworksBuildPhase section */
292
+ 3D4F4D6C135C481600E85480 /* Frameworks */ = {
293
+ isa = PBXFrameworksBuildPhase;
294
+ buildActionMask = 2147483647;
295
+ files = (
296
+ 3D3F73FC15E6332D00CA54EC /* libirstlm.dylib in Frameworks */,
297
+ );
298
+ runOnlyForDeploymentPostprocessing = 0;
299
+ };
300
+ 3D4F4D87135C48E800E85480 /* Frameworks */ = {
301
+ isa = PBXFrameworksBuildPhase;
302
+ buildActionMask = 2147483647;
303
+ files = (
304
+ 3D3F73D915E6310D00CA54EC /* libirstlm.dylib in Frameworks */,
305
+ );
306
+ runOnlyForDeploymentPostprocessing = 0;
307
+ };
308
+ 3D4F4D92135C48EC00E85480 /* Frameworks */ = {
309
+ isa = PBXFrameworksBuildPhase;
310
+ buildActionMask = 2147483647;
311
+ files = (
312
+ 3D3F73D815E6310000CA54EC /* libirstlm.dylib in Frameworks */,
313
+ );
314
+ runOnlyForDeploymentPostprocessing = 0;
315
+ };
316
+ 3D4F4D9D135C48F100E85480 /* Frameworks */ = {
317
+ isa = PBXFrameworksBuildPhase;
318
+ buildActionMask = 2147483647;
319
+ files = (
320
+ 3D3F73D515E630C000CA54EC /* libirstlm.dylib in Frameworks */,
321
+ );
322
+ runOnlyForDeploymentPostprocessing = 0;
323
+ };
324
+ 3D4F4DC1135C5B8800E85480 /* Frameworks */ = {
325
+ isa = PBXFrameworksBuildPhase;
326
+ buildActionMask = 2147483647;
327
+ files = (
328
+ 3D3F73B915E62F4E00CA54EC /* libirstlm.dylib in Frameworks */,
329
+ );
330
+ runOnlyForDeploymentPostprocessing = 0;
331
+ };
332
+ 3D4F4DD7135C5C4C00E85480 /* Frameworks */ = {
333
+ isa = PBXFrameworksBuildPhase;
334
+ buildActionMask = 2147483647;
335
+ files = (
336
+ 3D3F73D615E630D900CA54EC /* libirstlm.dylib in Frameworks */,
337
+ );
338
+ runOnlyForDeploymentPostprocessing = 0;
339
+ };
340
+ 3D4F4DF2135C5D7300E85480 /* Frameworks */ = {
341
+ isa = PBXFrameworksBuildPhase;
342
+ buildActionMask = 2147483647;
343
+ files = (
344
+ 3D3F73D715E630ED00CA54EC /* libirstlm.dylib in Frameworks */,
345
+ );
346
+ runOnlyForDeploymentPostprocessing = 0;
347
+ };
348
+ D733D3F20B1F3B0800565249 /* Frameworks */ = {
349
+ isa = PBXFrameworksBuildPhase;
350
+ buildActionMask = 2147483647;
351
+ files = (
352
+ );
353
+ runOnlyForDeploymentPostprocessing = 0;
354
+ };
355
+ D77D1C6F0B30325000D79D16 /* Frameworks */ = {
356
+ isa = PBXFrameworksBuildPhase;
357
+ buildActionMask = 2147483647;
358
+ files = (
359
+ 3D3F73C915E6307000CA54EC /* libirstlm.dylib in Frameworks */,
360
+ );
361
+ runOnlyForDeploymentPostprocessing = 0;
362
+ };
363
+ /* End PBXFrameworksBuildPhase section */
364
+
365
+ /* Begin PBXGroup section */
366
+ 08FB7794FE84155DC02AAC07 /* irstlm */ = {
367
+ isa = PBXGroup;
368
+ children = (
369
+ D77D1C7F0B3032FB00D79D16 /* other */,
370
+ D701C78C0B2EB333007D2774 /* src */,
371
+ ADCFA02A0E4872FC00E351DB /* libirstlm.dylib */,
372
+ ADCFA0280E4872FC00E351DB /* dict */,
373
+ 3D4F4D70135C481600E85480 /* compile-lm */,
374
+ 3D4F4D8B135C48E800E85480 /* ngt */,
375
+ 3D4F4D96135C48EC00E85480 /* quantize-lm */,
376
+ 3D4F4DA1135C48F100E85480 /* prune-lm */,
377
+ 3D4F4DC5135C5B8800E85480 /* tlm */,
378
+ 3D4F4DDB135C5C4C00E85480 /* interpolate-lm */,
379
+ 3D4F4DF6135C5D7300E85480 /* plsa */,
380
+ );
381
+ name = irstlm;
382
+ sourceTree = "<group>";
383
+ };
384
+ D701C78C0B2EB333007D2774 /* src */ = {
385
+ isa = PBXGroup;
386
+ children = (
387
+ 3D3F740D15E634D600CA54EC /* doc.cpp */,
388
+ 3D3F740E15E634D600CA54EC /* doc.h */,
389
+ 3D3F740715E634AE00CA54EC /* cplsa.cpp */,
390
+ 3D3F740815E634AE00CA54EC /* cplsa.h */,
391
+ 3D3F740315E633BB00CA54EC /* plsa.cpp */,
392
+ 3DE5453D15CBB30A003869E0 /* lmclass.cpp */,
393
+ 3DE5453E15CBB30A003869E0 /* lmclass.h */,
394
+ 3DE5453F15CBB30A003869E0 /* lmInterpolation.cpp */,
395
+ 3DE5454015CBB30A003869E0 /* lmInterpolation.h */,
396
+ AD0BD17113EC529000230F82 /* ngramtable.cpp */,
397
+ AD8104AD1132B93300B0363D /* mdiadapt.cpp */,
398
+ AD70DBD3115C1D4900F05491 /* linearlm.cpp */,
399
+ AD70DBD4115C1D4900F05491 /* linearlm.h */,
400
+ AD8104AE1132B93300B0363D /* mdiadapt.h */,
401
+ AD2CE6A8112E80D900E05137 /* timer.cpp */,
402
+ AD2CE6A9112E80D900E05137 /* timer.h */,
403
+ AD58865611256D3700BDFA30 /* interplm.cpp */,
404
+ AD58865711256D3700BDFA30 /* interplm.h */,
405
+ AD58865811256D3700BDFA30 /* mixture.cpp */,
406
+ AD58865911256D3700BDFA30 /* mixture.h */,
407
+ AD58865B11256D3700BDFA30 /* normcache.cpp */,
408
+ AD58865C11256D3700BDFA30 /* normcache.h */,
409
+ AD58865D11256D3700BDFA30 /* shiftlm.cpp */,
410
+ AD58865E11256D3700BDFA30 /* shiftlm.h */,
411
+ AD58865F11256D3700BDFA30 /* tlm.cpp */,
412
+ ADD9567B0FB42D07001B8680 /* interpolate-lm.cpp */,
413
+ AD57B1CA0FB3103C00064698 /* lmmacro.cpp */,
414
+ AD57B1CB0FB3103C00064698 /* lmmacro.h */,
415
+ ADAA6FC90E62F00D002B3D41 /* prune-lm.cpp */,
416
+ D7F00C710B3AF17800A1FF7A /* compile-lm.cpp */,
417
+ D77D1C630B3030E100D79D16 /* mfstream.h */,
418
+ D77D1C7C0B3032EC00D79D16 /* dict.cpp */,
419
+ D7F00B640B38508400A1FF7A /* ngt.cpp */,
420
+ D77D1C620B3030E100D79D16 /* mfstream.cpp */,
421
+ 3DE5453715CBB2BC003869E0 /* lmContainer.cpp */,
422
+ 3DE5453815CBB2BC003869E0 /* lmContainer.h */,
423
+ D77D1C650B3030E100D79D16 /* ngramtable.h */,
424
+ D77D1C420B2F1FCA00D79D16 /* quantize-lm.cpp */,
425
+ D701C7930B2EB37D007D2774 /* util.cpp */,
426
+ D701C7910B2EB37D007D2774 /* n_gram.cpp */,
427
+ D701C78D0B2EB37D007D2774 /* dictionary.cpp */,
428
+ D701C79C0B2EB472007D2774 /* cmd.h */,
429
+ D701C79D0B2EB472007D2774 /* dictionary.h */,
430
+ D701C79E0B2EB472007D2774 /* gzfilebuf.h */,
431
+ D701C79F0B2EB472007D2774 /* htable.h */,
432
+ D701C7A00B2EB472007D2774 /* index.h */,
433
+ D701C7A10B2EB472007D2774 /* lmtable.h */,
434
+ D701C7A20B2EB472007D2774 /* mempool.h */,
435
+ D701C7A30B2EB472007D2774 /* n_gram.h */,
436
+ D701C7A40B2EB472007D2774 /* ngramcache.h */,
437
+ D701C7A50B2EB472007D2774 /* util.h */,
438
+ D701C78E0B2EB37D007D2774 /* htable.cpp */,
439
+ D701C78F0B2EB37D007D2774 /* lmtable.cpp */,
440
+ D701C7900B2EB37D007D2774 /* mempool.cpp */,
441
+ D701C7920B2EB37D007D2774 /* ngramcache.cpp */,
442
+ D701C7870B2EB27C007D2774 /* cmd.c */,
443
+ );
444
+ name = src;
445
+ sourceTree = "<group>";
446
+ };
447
+ D77D1C7F0B3032FB00D79D16 /* other */ = {
448
+ isa = PBXGroup;
449
+ children = (
450
+ D7F00B520B382B8900A1FF7A /* scripts */,
451
+ );
452
+ name = other;
453
+ sourceTree = "<group>";
454
+ };
455
+ D7F00B520B382B8900A1FF7A /* scripts */ = {
456
+ isa = PBXGroup;
457
+ children = (
458
+ AD2CE53B1125B0D100E05137 /* sort-lm.pl */,
459
+ AD3B344C0FCD9CF0000126BA /* build-lm-qsub.sh */,
460
+ AD57CBD40FC49D2F00E5AF00 /* goograms2ngrams.pl */,
461
+ D7BE45CE0C104DD400B95F19 /* build-lm.sh */,
462
+ D7FFAE140BFC935500F7F904 /* add-start-end.sh */,
463
+ D7FFAE150BFC935500F7F904 /* rm-start-end.sh */,
464
+ D7F00B530B382B8900A1FF7A /* build-sublm.pl */,
465
+ D7F00B540B382B8900A1FF7A /* merge-sublm.pl */,
466
+ D7F00B550B382B8900A1FF7A /* ngram-split.pl */,
467
+ D7F00B560B382B8900A1FF7A /* split-dict.pl */,
468
+ D7F00B570B382B8900A1FF7A /* split-ngt.sh */,
469
+ );
470
+ path = scripts;
471
+ sourceTree = "<group>";
472
+ };
473
+ /* End PBXGroup section */
474
+
475
+ /* Begin PBXHeadersBuildPhase section */
476
+ D733D3F00B1F3B0800565249 /* Headers */ = {
477
+ isa = PBXHeadersBuildPhase;
478
+ buildActionMask = 2147483647;
479
+ files = (
480
+ D701C7A60B2EB472007D2774 /* cmd.h in Headers */,
481
+ D701C7A70B2EB472007D2774 /* dictionary.h in Headers */,
482
+ D701C7A80B2EB472007D2774 /* gzfilebuf.h in Headers */,
483
+ D701C7A90B2EB472007D2774 /* htable.h in Headers */,
484
+ D701C7AA0B2EB472007D2774 /* index.h in Headers */,
485
+ AD70DBD6115C1D4900F05491 /* linearlm.h in Headers */,
486
+ AD57B1CD0FB3103C00064698 /* lmmacro.h in Headers */,
487
+ D701C7AB0B2EB472007D2774 /* lmtable.h in Headers */,
488
+ AD8104B01132B93300B0363D /* mdiadapt.h in Headers */,
489
+ D701C7AC0B2EB472007D2774 /* mempool.h in Headers */,
490
+ D77D1C680B3030E100D79D16 /* mfstream.h in Headers */,
491
+ D701C7AD0B2EB472007D2774 /* n_gram.h in Headers */,
492
+ D701C7AE0B2EB472007D2774 /* ngramcache.h in Headers */,
493
+ D77D1C6A0B3030E100D79D16 /* ngramtable.h in Headers */,
494
+ 3D4565371164C9DC00119984 /* normcache.h in Headers */,
495
+ 3D4565351164C95800119984 /* shiftlm.h in Headers */,
496
+ AD2CE6AB112E80D900E05137 /* timer.h in Headers */,
497
+ D701C7AF0B2EB472007D2774 /* util.h in Headers */,
498
+ 3D45653A1164C9F100119984 /* interplm.h in Headers */,
499
+ 3D4565621164CC3F00119984 /* mixture.h in Headers */,
500
+ 3DE5453A15CBB2BC003869E0 /* lmContainer.h in Headers */,
501
+ 3DE5454215CBB30A003869E0 /* lmclass.h in Headers */,
502
+ 3DE5454415CBB30A003869E0 /* lmInterpolation.h in Headers */,
503
+ 3D3F740A15E634AE00CA54EC /* cplsa.h in Headers */,
504
+ 3D3F741015E634D600CA54EC /* doc.h in Headers */,
505
+ );
506
+ runOnlyForDeploymentPostprocessing = 0;
507
+ };
508
+ /* End PBXHeadersBuildPhase section */
509
+
510
+ /* Begin PBXNativeTarget section */
511
+ 3D4F4D67135C481600E85480 /* compile-lm */ = {
512
+ isa = PBXNativeTarget;
513
+ buildConfigurationList = 3D4F4D6D135C481600E85480 /* Build configuration list for PBXNativeTarget "compile-lm" */;
514
+ buildPhases = (
515
+ 3D4F4D6A135C481600E85480 /* Sources */,
516
+ 3D4F4D6C135C481600E85480 /* Frameworks */,
517
+ );
518
+ buildRules = (
519
+ );
520
+ dependencies = (
521
+ 3D4F4D68135C481600E85480 /* PBXTargetDependency */,
522
+ );
523
+ name = "compile-lm";
524
+ productName = dict;
525
+ productReference = 3D4F4D70135C481600E85480 /* compile-lm */;
526
+ productType = "com.apple.product-type.tool";
527
+ };
528
+ 3D4F4D82135C48E800E85480 /* ngt */ = {
529
+ isa = PBXNativeTarget;
530
+ buildConfigurationList = 3D4F4D88135C48E800E85480 /* Build configuration list for PBXNativeTarget "ngt" */;
531
+ buildPhases = (
532
+ 3D4F4D85135C48E800E85480 /* Sources */,
533
+ 3D4F4D87135C48E800E85480 /* Frameworks */,
534
+ );
535
+ buildRules = (
536
+ );
537
+ dependencies = (
538
+ 3D4F4D83135C48E800E85480 /* PBXTargetDependency */,
539
+ );
540
+ name = ngt;
541
+ productName = dict;
542
+ productReference = 3D4F4D8B135C48E800E85480 /* ngt */;
543
+ productType = "com.apple.product-type.tool";
544
+ };
545
+ 3D4F4D8D135C48EC00E85480 /* quantize-lm */ = {
546
+ isa = PBXNativeTarget;
547
+ buildConfigurationList = 3D4F4D93135C48EC00E85480 /* Build configuration list for PBXNativeTarget "quantize-lm" */;
548
+ buildPhases = (
549
+ 3D4F4D90135C48EC00E85480 /* Sources */,
550
+ 3D4F4D92135C48EC00E85480 /* Frameworks */,
551
+ );
552
+ buildRules = (
553
+ );
554
+ dependencies = (
555
+ 3D4F4D8E135C48EC00E85480 /* PBXTargetDependency */,
556
+ );
557
+ name = "quantize-lm";
558
+ productName = dict;
559
+ productReference = 3D4F4D96135C48EC00E85480 /* quantize-lm */;
560
+ productType = "com.apple.product-type.tool";
561
+ };
562
+ 3D4F4D98135C48F100E85480 /* prune-lm */ = {
563
+ isa = PBXNativeTarget;
564
+ buildConfigurationList = 3D4F4D9E135C48F100E85480 /* Build configuration list for PBXNativeTarget "prune-lm" */;
565
+ buildPhases = (
566
+ 3D4F4D9B135C48F100E85480 /* Sources */,
567
+ 3D4F4D9D135C48F100E85480 /* Frameworks */,
568
+ );
569
+ buildRules = (
570
+ );
571
+ dependencies = (
572
+ 3D4F4D99135C48F100E85480 /* PBXTargetDependency */,
573
+ );
574
+ name = "prune-lm";
575
+ productName = dict;
576
+ productReference = 3D4F4DA1135C48F100E85480 /* prune-lm */;
577
+ productType = "com.apple.product-type.tool";
578
+ };
579
+ 3D4F4DBC135C5B8800E85480 /* tlm */ = {
580
+ isa = PBXNativeTarget;
581
+ buildConfigurationList = 3D4F4DC2135C5B8800E85480 /* Build configuration list for PBXNativeTarget "tlm" */;
582
+ buildPhases = (
583
+ 3D4F4DBF135C5B8800E85480 /* Sources */,
584
+ 3D4F4DC1135C5B8800E85480 /* Frameworks */,
585
+ );
586
+ buildRules = (
587
+ );
588
+ dependencies = (
589
+ 3D3F73D415E630B300CA54EC /* PBXTargetDependency */,
590
+ );
591
+ name = tlm;
592
+ productName = dict;
593
+ productReference = 3D4F4DC5135C5B8800E85480 /* tlm */;
594
+ productType = "com.apple.product-type.tool";
595
+ };
596
+ 3D4F4DD2135C5C4C00E85480 /* interpolate-lm */ = {
597
+ isa = PBXNativeTarget;
598
+ buildConfigurationList = 3D4F4DD8135C5C4C00E85480 /* Build configuration list for PBXNativeTarget "interpolate-lm" */;
599
+ buildPhases = (
600
+ 3D4F4DD5135C5C4C00E85480 /* Sources */,
601
+ 3D4F4DD7135C5C4C00E85480 /* Frameworks */,
602
+ );
603
+ buildRules = (
604
+ );
605
+ dependencies = (
606
+ 3D4F4DD3135C5C4C00E85480 /* PBXTargetDependency */,
607
+ );
608
+ name = "interpolate-lm";
609
+ productName = dict;
610
+ productReference = 3D4F4DDB135C5C4C00E85480 /* interpolate-lm */;
611
+ productType = "com.apple.product-type.tool";
612
+ };
613
+ 3D4F4DED135C5D7300E85480 /* plsa */ = {
614
+ isa = PBXNativeTarget;
615
+ buildConfigurationList = 3D4F4DF3135C5D7300E85480 /* Build configuration list for PBXNativeTarget "plsa" */;
616
+ buildPhases = (
617
+ 3D4F4DF0135C5D7300E85480 /* Sources */,
618
+ 3D4F4DF2135C5D7300E85480 /* Frameworks */,
619
+ );
620
+ buildRules = (
621
+ );
622
+ dependencies = (
623
+ 3D4F4DEE135C5D7300E85480 /* PBXTargetDependency */,
624
+ );
625
+ name = plsa;
626
+ productName = dict;
627
+ productReference = 3D4F4DF6135C5D7300E85480 /* plsa */;
628
+ productType = "com.apple.product-type.tool";
629
+ };
630
+ D733D3F30B1F3B0800565249 /* irstlm */ = {
631
+ isa = PBXNativeTarget;
632
+ buildConfigurationList = D733D3F50B1F3B2600565249 /* Build configuration list for PBXNativeTarget "irstlm" */;
633
+ buildPhases = (
634
+ D733D3F00B1F3B0800565249 /* Headers */,
635
+ D733D3F10B1F3B0800565249 /* Sources */,
636
+ D733D3F20B1F3B0800565249 /* Frameworks */,
637
+ );
638
+ buildRules = (
639
+ );
640
+ dependencies = (
641
+ );
642
+ name = irstlm;
643
+ productName = irstlm;
644
+ productReference = ADCFA02A0E4872FC00E351DB /* libirstlm.dylib */;
645
+ productType = "com.apple.product-type.library.static";
646
+ };
647
+ D77D1C700B30325000D79D16 /* dict */ = {
648
+ isa = PBXNativeTarget;
649
+ buildConfigurationList = D77D1C750B30329200D79D16 /* Build configuration list for PBXNativeTarget "dict" */;
650
+ buildPhases = (
651
+ D77D1C6E0B30325000D79D16 /* Sources */,
652
+ D77D1C6F0B30325000D79D16 /* Frameworks */,
653
+ );
654
+ buildRules = (
655
+ );
656
+ dependencies = (
657
+ 3D3F73FE15E6333F00CA54EC /* PBXTargetDependency */,
658
+ );
659
+ name = dict;
660
+ productName = dict;
661
+ productReference = ADCFA0280E4872FC00E351DB /* dict */;
662
+ productType = "com.apple.product-type.tool";
663
+ };
664
+ /* End PBXNativeTarget section */
665
+
666
+ /* Begin PBXProject section */
667
+ 08FB7793FE84155DC02AAC07 /* Project object */ = {
668
+ isa = PBXProject;
669
+ attributes = {
670
+ BuildIndependentTargetsInParallel = NO;
671
+ };
672
+ buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "irstlm" */;
673
+ compatibilityVersion = "Xcode 2.4";
674
+ developmentRegion = English;
675
+ hasScannedForEncodings = 1;
676
+ knownRegions = (
677
+ English,
678
+ Japanese,
679
+ French,
680
+ German,
681
+ );
682
+ mainGroup = 08FB7794FE84155DC02AAC07 /* irstlm */;
683
+ productRefGroup = 08FB7794FE84155DC02AAC07 /* irstlm */;
684
+ projectDirPath = "";
685
+ projectRoot = "";
686
+ targets = (
687
+ D733D3F30B1F3B0800565249 /* irstlm */,
688
+ D77D1C700B30325000D79D16 /* dict */,
689
+ 3D4F4D67135C481600E85480 /* compile-lm */,
690
+ 3D4F4D82135C48E800E85480 /* ngt */,
691
+ 3D4F4D8D135C48EC00E85480 /* quantize-lm */,
692
+ 3D4F4D98135C48F100E85480 /* prune-lm */,
693
+ 3D4F4DBC135C5B8800E85480 /* tlm */,
694
+ 3D4F4DD2135C5C4C00E85480 /* interpolate-lm */,
695
+ 3D4F4DED135C5D7300E85480 /* plsa */,
696
+ 3D3F73DE15E6317E00CA54EC /* ALL */,
697
+ );
698
+ };
699
+ /* End PBXProject section */
700
+
701
+ /* Begin PBXSourcesBuildPhase section */
702
+ 3D4F4D6A135C481600E85480 /* Sources */ = {
703
+ isa = PBXSourcesBuildPhase;
704
+ buildActionMask = 2147483647;
705
+ files = (
706
+ 3D4F4DA5135C497B00E85480 /* compile-lm.cpp in Sources */,
707
+ );
708
+ runOnlyForDeploymentPostprocessing = 0;
709
+ };
710
+ 3D4F4D85135C48E800E85480 /* Sources */ = {
711
+ isa = PBXSourcesBuildPhase;
712
+ buildActionMask = 2147483647;
713
+ files = (
714
+ 3D4F4DFC135C5DCB00E85480 /* ngt.cpp in Sources */,
715
+ );
716
+ runOnlyForDeploymentPostprocessing = 0;
717
+ };
718
+ 3D4F4D90135C48EC00E85480 /* Sources */ = {
719
+ isa = PBXSourcesBuildPhase;
720
+ buildActionMask = 2147483647;
721
+ files = (
722
+ 3D4F4DD0135C5C2500E85480 /* quantize-lm.cpp in Sources */,
723
+ );
724
+ runOnlyForDeploymentPostprocessing = 0;
725
+ };
726
+ 3D4F4D9B135C48F100E85480 /* Sources */ = {
727
+ isa = PBXSourcesBuildPhase;
728
+ buildActionMask = 2147483647;
729
+ files = (
730
+ 3D4F4DCF135C5BFF00E85480 /* prune-lm.cpp in Sources */,
731
+ );
732
+ runOnlyForDeploymentPostprocessing = 0;
733
+ };
734
+ 3D4F4DBF135C5B8800E85480 /* Sources */ = {
735
+ isa = PBXSourcesBuildPhase;
736
+ buildActionMask = 2147483647;
737
+ files = (
738
+ 3D4F4DC7135C5BC800E85480 /* tlm.cpp in Sources */,
739
+ );
740
+ runOnlyForDeploymentPostprocessing = 0;
741
+ };
742
+ 3D4F4DD5135C5C4C00E85480 /* Sources */ = {
743
+ isa = PBXSourcesBuildPhase;
744
+ buildActionMask = 2147483647;
745
+ files = (
746
+ 3D4F4DDD135C5C6300E85480 /* interpolate-lm.cpp in Sources */,
747
+ );
748
+ runOnlyForDeploymentPostprocessing = 0;
749
+ };
750
+ 3D4F4DF0135C5D7300E85480 /* Sources */ = {
751
+ isa = PBXSourcesBuildPhase;
752
+ buildActionMask = 2147483647;
753
+ files = (
754
+ 3D3F740415E633BB00CA54EC /* plsa.cpp in Sources */,
755
+ );
756
+ runOnlyForDeploymentPostprocessing = 0;
757
+ };
758
+ D733D3F10B1F3B0800565249 /* Sources */ = {
759
+ isa = PBXSourcesBuildPhase;
760
+ buildActionMask = 2147483647;
761
+ files = (
762
+ D701C7880B2EB27C007D2774 /* cmd.c in Sources */,
763
+ D701C7940B2EB37D007D2774 /* dictionary.cpp in Sources */,
764
+ D701C7950B2EB37D007D2774 /* htable.cpp in Sources */,
765
+ AD70DBD5115C1D4900F05491 /* linearlm.cpp in Sources */,
766
+ AD57B1CC0FB3103C00064698 /* lmmacro.cpp in Sources */,
767
+ D701C7960B2EB37D007D2774 /* lmtable.cpp in Sources */,
768
+ AD8104AF1132B93300B0363D /* mdiadapt.cpp in Sources */,
769
+ D701C7970B2EB37D007D2774 /* mempool.cpp in Sources */,
770
+ D77D1C670B3030E100D79D16 /* mfstream.cpp in Sources */,
771
+ D701C7980B2EB37D007D2774 /* n_gram.cpp in Sources */,
772
+ D701C7990B2EB37D007D2774 /* ngramcache.cpp in Sources */,
773
+ 3D4565381164C9E000119984 /* normcache.cpp in Sources */,
774
+ 3D4565341164C94E00119984 /* shiftlm.cpp in Sources */,
775
+ AD2CE6AA112E80D900E05137 /* timer.cpp in Sources */,
776
+ D701C79A0B2EB37D007D2774 /* util.cpp in Sources */,
777
+ 3D4565391164C9EF00119984 /* interplm.cpp in Sources */,
778
+ 3D4565611164CC3F00119984 /* mixture.cpp in Sources */,
779
+ AD0BD17213EC529000230F82 /* ngramtable.cpp in Sources */,
780
+ 3DE5453915CBB2BC003869E0 /* lmContainer.cpp in Sources */,
781
+ 3DE5454115CBB30A003869E0 /* lmclass.cpp in Sources */,
782
+ 3DE5454315CBB30A003869E0 /* lmInterpolation.cpp in Sources */,
783
+ 3D3F740915E634AE00CA54EC /* cplsa.cpp in Sources */,
784
+ 3D3F740F15E634D600CA54EC /* doc.cpp in Sources */,
785
+ );
786
+ runOnlyForDeploymentPostprocessing = 0;
787
+ };
788
+ D77D1C6E0B30325000D79D16 /* Sources */ = {
789
+ isa = PBXSourcesBuildPhase;
790
+ buildActionMask = 2147483647;
791
+ files = (
792
+ 3D4F4DA6135C499D00E85480 /* dict.cpp in Sources */,
793
+ );
794
+ runOnlyForDeploymentPostprocessing = 0;
795
+ };
796
+ /* End PBXSourcesBuildPhase section */
797
+
798
+ /* Begin PBXTargetDependency section */
799
+ 3D3F73D415E630B300CA54EC /* PBXTargetDependency */ = {
800
+ isa = PBXTargetDependency;
801
+ target = D733D3F30B1F3B0800565249 /* irstlm */;
802
+ targetProxy = 3D3F73D315E630B300CA54EC /* PBXContainerItemProxy */;
803
+ };
804
+ 3D3F73E215E6318700CA54EC /* PBXTargetDependency */ = {
805
+ isa = PBXTargetDependency;
806
+ target = D77D1C700B30325000D79D16 /* dict */;
807
+ targetProxy = 3D3F73E115E6318700CA54EC /* PBXContainerItemProxy */;
808
+ };
809
+ 3D3F73E415E6318700CA54EC /* PBXTargetDependency */ = {
810
+ isa = PBXTargetDependency;
811
+ target = 3D4F4D67135C481600E85480 /* compile-lm */;
812
+ targetProxy = 3D3F73E315E6318700CA54EC /* PBXContainerItemProxy */;
813
+ };
814
+ 3D3F73E615E6318700CA54EC /* PBXTargetDependency */ = {
815
+ isa = PBXTargetDependency;
816
+ target = 3D4F4D82135C48E800E85480 /* ngt */;
817
+ targetProxy = 3D3F73E515E6318700CA54EC /* PBXContainerItemProxy */;
818
+ };
819
+ 3D3F73E815E6318700CA54EC /* PBXTargetDependency */ = {
820
+ isa = PBXTargetDependency;
821
+ target = 3D4F4D8D135C48EC00E85480 /* quantize-lm */;
822
+ targetProxy = 3D3F73E715E6318700CA54EC /* PBXContainerItemProxy */;
823
+ };
824
+ 3D3F73EA15E6318700CA54EC /* PBXTargetDependency */ = {
825
+ isa = PBXTargetDependency;
826
+ target = 3D4F4D98135C48F100E85480 /* prune-lm */;
827
+ targetProxy = 3D3F73E915E6318700CA54EC /* PBXContainerItemProxy */;
828
+ };
829
+ 3D3F73EC15E6318700CA54EC /* PBXTargetDependency */ = {
830
+ isa = PBXTargetDependency;
831
+ target = 3D4F4DBC135C5B8800E85480 /* tlm */;
832
+ targetProxy = 3D3F73EB15E6318700CA54EC /* PBXContainerItemProxy */;
833
+ };
834
+ 3D3F73EE15E6318700CA54EC /* PBXTargetDependency */ = {
835
+ isa = PBXTargetDependency;
836
+ target = 3D4F4DD2135C5C4C00E85480 /* interpolate-lm */;
837
+ targetProxy = 3D3F73ED15E6318700CA54EC /* PBXContainerItemProxy */;
838
+ };
839
+ 3D3F73F015E6318700CA54EC /* PBXTargetDependency */ = {
840
+ isa = PBXTargetDependency;
841
+ target = 3D4F4DED135C5D7300E85480 /* plsa */;
842
+ targetProxy = 3D3F73EF15E6318700CA54EC /* PBXContainerItemProxy */;
843
+ };
844
+ 3D3F73FE15E6333F00CA54EC /* PBXTargetDependency */ = {
845
+ isa = PBXTargetDependency;
846
+ target = D733D3F30B1F3B0800565249 /* irstlm */;
847
+ targetProxy = 3D3F73FD15E6333F00CA54EC /* PBXContainerItemProxy */;
848
+ };
849
+ 3D4F4D68135C481600E85480 /* PBXTargetDependency */ = {
850
+ isa = PBXTargetDependency;
851
+ target = D733D3F30B1F3B0800565249 /* irstlm */;
852
+ targetProxy = 3D4F4D69135C481600E85480 /* PBXContainerItemProxy */;
853
+ };
854
+ 3D4F4D83135C48E800E85480 /* PBXTargetDependency */ = {
855
+ isa = PBXTargetDependency;
856
+ target = D733D3F30B1F3B0800565249 /* irstlm */;
857
+ targetProxy = 3D4F4D84135C48E800E85480 /* PBXContainerItemProxy */;
858
+ };
859
+ 3D4F4D8E135C48EC00E85480 /* PBXTargetDependency */ = {
860
+ isa = PBXTargetDependency;
861
+ target = D733D3F30B1F3B0800565249 /* irstlm */;
862
+ targetProxy = 3D4F4D8F135C48EC00E85480 /* PBXContainerItemProxy */;
863
+ };
864
+ 3D4F4D99135C48F100E85480 /* PBXTargetDependency */ = {
865
+ isa = PBXTargetDependency;
866
+ target = D733D3F30B1F3B0800565249 /* irstlm */;
867
+ targetProxy = 3D4F4D9A135C48F100E85480 /* PBXContainerItemProxy */;
868
+ };
869
+ 3D4F4DD3135C5C4C00E85480 /* PBXTargetDependency */ = {
870
+ isa = PBXTargetDependency;
871
+ target = D733D3F30B1F3B0800565249 /* irstlm */;
872
+ targetProxy = 3D4F4DD4135C5C4C00E85480 /* PBXContainerItemProxy */;
873
+ };
874
+ 3D4F4DEE135C5D7300E85480 /* PBXTargetDependency */ = {
875
+ isa = PBXTargetDependency;
876
+ target = D733D3F30B1F3B0800565249 /* irstlm */;
877
+ targetProxy = 3D4F4DEF135C5D7300E85480 /* PBXContainerItemProxy */;
878
+ };
879
+ /* End PBXTargetDependency section */
880
+
881
+ /* Begin XCBuildConfiguration section */
882
+ 1DEB923608733DC60010E9CD /* Debug */ = {
883
+ isa = XCBuildConfiguration;
884
+ buildSettings = {
885
+ CONFIGURATION_TEMP_DIR = $CONFIGURATION_BUILD_DIR;
886
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
887
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
888
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
889
+ GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
890
+ GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO;
891
+ GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
892
+ GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO;
893
+ GCC_WARN_ABOUT_RETURN_TYPE = NO;
894
+ GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO;
895
+ GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO;
896
+ GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO;
897
+ GCC_WARN_PEDANTIC = NO;
898
+ GCC_WARN_UNINITIALIZED_AUTOS = NO;
899
+ GCC_WARN_UNUSED_PARAMETER = NO;
900
+ GCC_WARN_UNUSED_VALUE = NO;
901
+ GCC_WARN_UNUSED_VARIABLE = NO;
902
+ OTHER_CPLUSPLUSFLAGS = (
903
+ "-DMYCODESIZE=3",
904
+ "$(OTHER_CFLAGS)",
905
+ );
906
+ PREBINDING = NO;
907
+ WARNING_CFLAGS = (
908
+ "$(inherited)",
909
+ "-Wall",
910
+ );
911
+ };
912
+ name = Debug;
913
+ };
914
+ 1DEB923708733DC60010E9CD /* Release */ = {
915
+ isa = XCBuildConfiguration;
916
+ buildSettings = {
917
+ GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
918
+ GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO;
919
+ GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
920
+ GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO;
921
+ GCC_WARN_ABOUT_RETURN_TYPE = NO;
922
+ GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO;
923
+ GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO;
924
+ GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO;
925
+ GCC_WARN_PEDANTIC = NO;
926
+ GCC_WARN_UNINITIALIZED_AUTOS = NO;
927
+ GCC_WARN_UNUSED_PARAMETER = NO;
928
+ GCC_WARN_UNUSED_VALUE = NO;
929
+ GCC_WARN_UNUSED_VARIABLE = NO;
930
+ PREBINDING = NO;
931
+ WARNING_CFLAGS = (
932
+ "$(inherited)",
933
+ "-Wall",
934
+ );
935
+ };
936
+ name = Release;
937
+ };
938
+ 3D3F73DF15E6317E00CA54EC /* Debug */ = {
939
+ isa = XCBuildConfiguration;
940
+ buildSettings = {
941
+ COPY_PHASE_STRIP = NO;
942
+ GCC_DYNAMIC_NO_PIC = NO;
943
+ GCC_OPTIMIZATION_LEVEL = 0;
944
+ PRODUCT_NAME = ALL;
945
+ };
946
+ name = Debug;
947
+ };
948
+ 3D3F73E015E6317E00CA54EC /* Release */ = {
949
+ isa = XCBuildConfiguration;
950
+ buildSettings = {
951
+ COPY_PHASE_STRIP = YES;
952
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
953
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
954
+ PRODUCT_NAME = ALL;
955
+ ZERO_LINK = NO;
956
+ };
957
+ name = Release;
958
+ };
959
+ 3D4F4D6E135C481600E85480 /* Debug */ = {
960
+ isa = XCBuildConfiguration;
961
+ buildSettings = {
962
+ COPY_PHASE_STRIP = NO;
963
+ GCC_DYNAMIC_NO_PIC = NO;
964
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
965
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
966
+ GCC_MODEL_TUNING = G5;
967
+ GCC_OPTIMIZATION_LEVEL = 0;
968
+ INSTALL_PATH = "";
969
+ OTHER_LDFLAGS = (
970
+ "-lz",
971
+ "-lirstlm",
972
+ "$(inherited)",
973
+ );
974
+ PREBINDING = NO;
975
+ PRODUCT_NAME = "compile-lm";
976
+ ZERO_LINK = YES;
977
+ };
978
+ name = Debug;
979
+ };
980
+ 3D4F4D6F135C481600E85480 /* Release */ = {
981
+ isa = XCBuildConfiguration;
982
+ buildSettings = {
983
+ COPY_PHASE_STRIP = YES;
984
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
985
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
986
+ GCC_MODEL_TUNING = G5;
987
+ INSTALL_PATH = "$(HOME)/bin";
988
+ OTHER_LDFLAGS = (
989
+ "-lz",
990
+ "-lirstlm",
991
+ "$(inherited)",
992
+ );
993
+ PREBINDING = NO;
994
+ PRODUCT_NAME = dict;
995
+ ZERO_LINK = NO;
996
+ };
997
+ name = Release;
998
+ };
999
+ 3D4F4D89135C48E800E85480 /* Debug */ = {
1000
+ isa = XCBuildConfiguration;
1001
+ buildSettings = {
1002
+ COPY_PHASE_STRIP = NO;
1003
+ GCC_DYNAMIC_NO_PIC = NO;
1004
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
1005
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
1006
+ GCC_MODEL_TUNING = G5;
1007
+ GCC_OPTIMIZATION_LEVEL = 0;
1008
+ INSTALL_PATH = "";
1009
+ OTHER_LDFLAGS = (
1010
+ "-lz",
1011
+ "-lirstlm",
1012
+ "$(inherited)",
1013
+ );
1014
+ PREBINDING = NO;
1015
+ PRODUCT_NAME = ngt;
1016
+ ZERO_LINK = YES;
1017
+ };
1018
+ name = Debug;
1019
+ };
1020
+ 3D4F4D8A135C48E800E85480 /* Release */ = {
1021
+ isa = XCBuildConfiguration;
1022
+ buildSettings = {
1023
+ COPY_PHASE_STRIP = YES;
1024
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
1025
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
1026
+ GCC_MODEL_TUNING = G5;
1027
+ INSTALL_PATH = "$(HOME)/bin";
1028
+ OTHER_LDFLAGS = (
1029
+ "-lz",
1030
+ "-lirstlm",
1031
+ "$(inherited)",
1032
+ );
1033
+ PREBINDING = NO;
1034
+ PRODUCT_NAME = dict;
1035
+ ZERO_LINK = NO;
1036
+ };
1037
+ name = Release;
1038
+ };
1039
+ 3D4F4D94135C48EC00E85480 /* Debug */ = {
1040
+ isa = XCBuildConfiguration;
1041
+ buildSettings = {
1042
+ COPY_PHASE_STRIP = NO;
1043
+ GCC_DYNAMIC_NO_PIC = NO;
1044
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
1045
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
1046
+ GCC_MODEL_TUNING = G5;
1047
+ GCC_OPTIMIZATION_LEVEL = 0;
1048
+ INSTALL_PATH = "";
1049
+ OTHER_LDFLAGS = (
1050
+ "-lz",
1051
+ "-lirstlm",
1052
+ "$(inherited)",
1053
+ );
1054
+ PREBINDING = NO;
1055
+ PRODUCT_NAME = "quantize-lm";
1056
+ ZERO_LINK = YES;
1057
+ };
1058
+ name = Debug;
1059
+ };
1060
+ 3D4F4D95135C48EC00E85480 /* Release */ = {
1061
+ isa = XCBuildConfiguration;
1062
+ buildSettings = {
1063
+ COPY_PHASE_STRIP = YES;
1064
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
1065
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
1066
+ GCC_MODEL_TUNING = G5;
1067
+ INSTALL_PATH = "$(HOME)/bin";
1068
+ OTHER_LDFLAGS = (
1069
+ "-lz",
1070
+ "-lirstlm",
1071
+ "$(inherited)",
1072
+ );
1073
+ PREBINDING = NO;
1074
+ PRODUCT_NAME = dict;
1075
+ ZERO_LINK = NO;
1076
+ };
1077
+ name = Release;
1078
+ };
1079
+ 3D4F4D9F135C48F100E85480 /* Debug */ = {
1080
+ isa = XCBuildConfiguration;
1081
+ buildSettings = {
1082
+ COPY_PHASE_STRIP = NO;
1083
+ GCC_DYNAMIC_NO_PIC = NO;
1084
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
1085
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
1086
+ GCC_MODEL_TUNING = G5;
1087
+ GCC_OPTIMIZATION_LEVEL = 0;
1088
+ INSTALL_PATH = "";
1089
+ OTHER_LDFLAGS = (
1090
+ "-lz",
1091
+ "-lirstlm",
1092
+ "$(inherited)",
1093
+ );
1094
+ PREBINDING = NO;
1095
+ PRODUCT_NAME = "prune-lm";
1096
+ ZERO_LINK = YES;
1097
+ };
1098
+ name = Debug;
1099
+ };
1100
+ 3D4F4DA0135C48F100E85480 /* Release */ = {
1101
+ isa = XCBuildConfiguration;
1102
+ buildSettings = {
1103
+ COPY_PHASE_STRIP = YES;
1104
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
1105
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
1106
+ GCC_MODEL_TUNING = G5;
1107
+ INSTALL_PATH = "$(HOME)/bin";
1108
+ OTHER_LDFLAGS = (
1109
+ "-lz",
1110
+ "-lirstlm",
1111
+ "$(inherited)",
1112
+ );
1113
+ PREBINDING = NO;
1114
+ PRODUCT_NAME = dict;
1115
+ ZERO_LINK = NO;
1116
+ };
1117
+ name = Release;
1118
+ };
1119
+ 3D4F4DC3135C5B8800E85480 /* Debug */ = {
1120
+ isa = XCBuildConfiguration;
1121
+ buildSettings = {
1122
+ COPY_PHASE_STRIP = NO;
1123
+ GCC_DYNAMIC_NO_PIC = NO;
1124
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
1125
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
1126
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
1127
+ GCC_MODEL_TUNING = G5;
1128
+ GCC_OPTIMIZATION_LEVEL = 0;
1129
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
1130
+ INSTALL_PATH = "";
1131
+ OTHER_LDFLAGS = (
1132
+ "-lz",
1133
+ "-lirstlm",
1134
+ "$(inherited)",
1135
+ );
1136
+ PREBINDING = NO;
1137
+ PRODUCT_NAME = tlm;
1138
+ ZERO_LINK = YES;
1139
+ };
1140
+ name = Debug;
1141
+ };
1142
+ 3D4F4DC4135C5B8800E85480 /* Release */ = {
1143
+ isa = XCBuildConfiguration;
1144
+ buildSettings = {
1145
+ COPY_PHASE_STRIP = YES;
1146
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
1147
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
1148
+ GCC_MODEL_TUNING = G5;
1149
+ INSTALL_PATH = "$(HOME)/bin";
1150
+ OTHER_LDFLAGS = (
1151
+ "-lz",
1152
+ "-lirstlm",
1153
+ "$(inherited)",
1154
+ );
1155
+ PREBINDING = NO;
1156
+ PRODUCT_NAME = dict;
1157
+ ZERO_LINK = NO;
1158
+ };
1159
+ name = Release;
1160
+ };
1161
+ 3D4F4DD9135C5C4C00E85480 /* Debug */ = {
1162
+ isa = XCBuildConfiguration;
1163
+ buildSettings = {
1164
+ COPY_PHASE_STRIP = NO;
1165
+ GCC_DYNAMIC_NO_PIC = NO;
1166
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
1167
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
1168
+ GCC_MODEL_TUNING = G5;
1169
+ GCC_OPTIMIZATION_LEVEL = 0;
1170
+ INSTALL_PATH = "";
1171
+ OTHER_LDFLAGS = (
1172
+ "-lz",
1173
+ "-lirstlm",
1174
+ "$(inherited)",
1175
+ );
1176
+ PREBINDING = NO;
1177
+ PRODUCT_NAME = "interpolate-lm";
1178
+ ZERO_LINK = YES;
1179
+ };
1180
+ name = Debug;
1181
+ };
1182
+ 3D4F4DDA135C5C4C00E85480 /* Release */ = {
1183
+ isa = XCBuildConfiguration;
1184
+ buildSettings = {
1185
+ COPY_PHASE_STRIP = YES;
1186
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
1187
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
1188
+ GCC_MODEL_TUNING = G5;
1189
+ INSTALL_PATH = "$(HOME)/bin";
1190
+ OTHER_LDFLAGS = (
1191
+ "-lz",
1192
+ "-lirstlm",
1193
+ "$(inherited)",
1194
+ );
1195
+ PREBINDING = NO;
1196
+ PRODUCT_NAME = dict;
1197
+ ZERO_LINK = NO;
1198
+ };
1199
+ name = Release;
1200
+ };
1201
+ 3D4F4DF4135C5D7300E85480 /* Debug */ = {
1202
+ isa = XCBuildConfiguration;
1203
+ buildSettings = {
1204
+ COPY_PHASE_STRIP = NO;
1205
+ GCC_DYNAMIC_NO_PIC = NO;
1206
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
1207
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
1208
+ GCC_MODEL_TUNING = G5;
1209
+ GCC_OPTIMIZATION_LEVEL = 0;
1210
+ INSTALL_PATH = "";
1211
+ OTHER_LDFLAGS = (
1212
+ "-lz",
1213
+ "-lirstlm",
1214
+ "$(inherited)",
1215
+ );
1216
+ PREBINDING = NO;
1217
+ PRODUCT_NAME = plsa;
1218
+ ZERO_LINK = YES;
1219
+ };
1220
+ name = Debug;
1221
+ };
1222
+ 3D4F4DF5135C5D7300E85480 /* Release */ = {
1223
+ isa = XCBuildConfiguration;
1224
+ buildSettings = {
1225
+ COPY_PHASE_STRIP = YES;
1226
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
1227
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
1228
+ GCC_MODEL_TUNING = G5;
1229
+ INSTALL_PATH = "$(HOME)/bin";
1230
+ OTHER_LDFLAGS = (
1231
+ "-lz",
1232
+ "-lirstlm",
1233
+ "$(inherited)",
1234
+ );
1235
+ PREBINDING = NO;
1236
+ PRODUCT_NAME = dict;
1237
+ ZERO_LINK = NO;
1238
+ };
1239
+ name = Release;
1240
+ };
1241
+ D733D3F60B1F3B2600565249 /* Debug */ = {
1242
+ isa = XCBuildConfiguration;
1243
+ buildSettings = {
1244
+ COPY_PHASE_STRIP = NO;
1245
+ EXECUTABLE_EXTENSION = dylib;
1246
+ GCC_DYNAMIC_NO_PIC = NO;
1247
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
1248
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
1249
+ GCC_MODEL_TUNING = G5;
1250
+ GCC_OPTIMIZATION_LEVEL = 0;
1251
+ INSTALL_PATH = /usr/local/lib;
1252
+ LIBRARY_SEARCH_PATHS = (
1253
+ "$(inherited)",
1254
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
1255
+ );
1256
+ LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/src\"";
1257
+ MACH_O_TYPE = mh_dylib;
1258
+ PREBINDING = NO;
1259
+ PRODUCT_NAME = irstlm;
1260
+ ZERO_LINK = YES;
1261
+ };
1262
+ name = Debug;
1263
+ };
1264
+ D733D3F70B1F3B2600565249 /* Release */ = {
1265
+ isa = XCBuildConfiguration;
1266
+ buildSettings = {
1267
+ COPY_PHASE_STRIP = YES;
1268
+ EXECUTABLE_EXTENSION = dylib;
1269
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
1270
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
1271
+ GCC_MODEL_TUNING = G5;
1272
+ INSTALL_PATH = /usr/local/lib;
1273
+ LIBRARY_SEARCH_PATHS = (
1274
+ "$(inherited)",
1275
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
1276
+ );
1277
+ LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/src\"";
1278
+ MACH_O_TYPE = mh_dylib;
1279
+ PREBINDING = NO;
1280
+ PRODUCT_NAME = irstlm;
1281
+ ZERO_LINK = NO;
1282
+ };
1283
+ name = Release;
1284
+ };
1285
+ D77D1C760B30329200D79D16 /* Debug */ = {
1286
+ isa = XCBuildConfiguration;
1287
+ buildSettings = {
1288
+ COPY_PHASE_STRIP = NO;
1289
+ GCC_DYNAMIC_NO_PIC = NO;
1290
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
1291
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
1292
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
1293
+ GCC_MODEL_TUNING = G5;
1294
+ GCC_OPTIMIZATION_LEVEL = 0;
1295
+ INSTALL_PATH = "";
1296
+ OTHER_LDFLAGS = (
1297
+ "-lz",
1298
+ "-lirstlm",
1299
+ "$(inherited)",
1300
+ );
1301
+ PREBINDING = NO;
1302
+ PRODUCT_NAME = dict;
1303
+ ZERO_LINK = YES;
1304
+ };
1305
+ name = Debug;
1306
+ };
1307
+ D77D1C770B30329200D79D16 /* Release */ = {
1308
+ isa = XCBuildConfiguration;
1309
+ buildSettings = {
1310
+ COPY_PHASE_STRIP = YES;
1311
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
1312
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
1313
+ GCC_MODEL_TUNING = G5;
1314
+ INSTALL_PATH = "$(HOME)/bin";
1315
+ OTHER_LDFLAGS = (
1316
+ "-lz",
1317
+ "-lirstlm",
1318
+ "$(inherited)",
1319
+ );
1320
+ PREBINDING = NO;
1321
+ PRODUCT_NAME = dict;
1322
+ ZERO_LINK = NO;
1323
+ };
1324
+ name = Release;
1325
+ };
1326
+ /* End XCBuildConfiguration section */
1327
+
1328
+ /* Begin XCConfigurationList section */
1329
+ 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "irstlm" */ = {
1330
+ isa = XCConfigurationList;
1331
+ buildConfigurations = (
1332
+ 1DEB923608733DC60010E9CD /* Debug */,
1333
+ 1DEB923708733DC60010E9CD /* Release */,
1334
+ );
1335
+ defaultConfigurationIsVisible = 0;
1336
+ defaultConfigurationName = Debug;
1337
+ };
1338
+ 3D3F73F515E631C300CA54EC /* Build configuration list for PBXAggregateTarget "ALL" */ = {
1339
+ isa = XCConfigurationList;
1340
+ buildConfigurations = (
1341
+ 3D3F73DF15E6317E00CA54EC /* Debug */,
1342
+ 3D3F73E015E6317E00CA54EC /* Release */,
1343
+ );
1344
+ defaultConfigurationIsVisible = 0;
1345
+ defaultConfigurationName = Debug;
1346
+ };
1347
+ 3D4F4D6D135C481600E85480 /* Build configuration list for PBXNativeTarget "compile-lm" */ = {
1348
+ isa = XCConfigurationList;
1349
+ buildConfigurations = (
1350
+ 3D4F4D6E135C481600E85480 /* Debug */,
1351
+ 3D4F4D6F135C481600E85480 /* Release */,
1352
+ );
1353
+ defaultConfigurationIsVisible = 0;
1354
+ defaultConfigurationName = Debug;
1355
+ };
1356
+ 3D4F4D88135C48E800E85480 /* Build configuration list for PBXNativeTarget "ngt" */ = {
1357
+ isa = XCConfigurationList;
1358
+ buildConfigurations = (
1359
+ 3D4F4D89135C48E800E85480 /* Debug */,
1360
+ 3D4F4D8A135C48E800E85480 /* Release */,
1361
+ );
1362
+ defaultConfigurationIsVisible = 0;
1363
+ defaultConfigurationName = Debug;
1364
+ };
1365
+ 3D4F4D93135C48EC00E85480 /* Build configuration list for PBXNativeTarget "quantize-lm" */ = {
1366
+ isa = XCConfigurationList;
1367
+ buildConfigurations = (
1368
+ 3D4F4D94135C48EC00E85480 /* Debug */,
1369
+ 3D4F4D95135C48EC00E85480 /* Release */,
1370
+ );
1371
+ defaultConfigurationIsVisible = 0;
1372
+ defaultConfigurationName = Debug;
1373
+ };
1374
+ 3D4F4D9E135C48F100E85480 /* Build configuration list for PBXNativeTarget "prune-lm" */ = {
1375
+ isa = XCConfigurationList;
1376
+ buildConfigurations = (
1377
+ 3D4F4D9F135C48F100E85480 /* Debug */,
1378
+ 3D4F4DA0135C48F100E85480 /* Release */,
1379
+ );
1380
+ defaultConfigurationIsVisible = 0;
1381
+ defaultConfigurationName = Debug;
1382
+ };
1383
+ 3D4F4DC2135C5B8800E85480 /* Build configuration list for PBXNativeTarget "tlm" */ = {
1384
+ isa = XCConfigurationList;
1385
+ buildConfigurations = (
1386
+ 3D4F4DC3135C5B8800E85480 /* Debug */,
1387
+ 3D4F4DC4135C5B8800E85480 /* Release */,
1388
+ );
1389
+ defaultConfigurationIsVisible = 0;
1390
+ defaultConfigurationName = Debug;
1391
+ };
1392
+ 3D4F4DD8135C5C4C00E85480 /* Build configuration list for PBXNativeTarget "interpolate-lm" */ = {
1393
+ isa = XCConfigurationList;
1394
+ buildConfigurations = (
1395
+ 3D4F4DD9135C5C4C00E85480 /* Debug */,
1396
+ 3D4F4DDA135C5C4C00E85480 /* Release */,
1397
+ );
1398
+ defaultConfigurationIsVisible = 0;
1399
+ defaultConfigurationName = Debug;
1400
+ };
1401
+ 3D4F4DF3135C5D7300E85480 /* Build configuration list for PBXNativeTarget "plsa" */ = {
1402
+ isa = XCConfigurationList;
1403
+ buildConfigurations = (
1404
+ 3D4F4DF4135C5D7300E85480 /* Debug */,
1405
+ 3D4F4DF5135C5D7300E85480 /* Release */,
1406
+ );
1407
+ defaultConfigurationIsVisible = 0;
1408
+ defaultConfigurationName = Debug;
1409
+ };
1410
+ D733D3F50B1F3B2600565249 /* Build configuration list for PBXNativeTarget "irstlm" */ = {
1411
+ isa = XCConfigurationList;
1412
+ buildConfigurations = (
1413
+ D733D3F60B1F3B2600565249 /* Debug */,
1414
+ D733D3F70B1F3B2600565249 /* Release */,
1415
+ );
1416
+ defaultConfigurationIsVisible = 0;
1417
+ defaultConfigurationName = Debug;
1418
+ };
1419
+ D77D1C750B30329200D79D16 /* Build configuration list for PBXNativeTarget "dict" */ = {
1420
+ isa = XCConfigurationList;
1421
+ buildConfigurations = (
1422
+ D77D1C760B30329200D79D16 /* Debug */,
1423
+ D77D1C770B30329200D79D16 /* Release */,
1424
+ );
1425
+ defaultConfigurationIsVisible = 0;
1426
+ defaultConfigurationName = Debug;
1427
+ };
1428
+ /* End XCConfigurationList section */
1429
+ };
1430
+ rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
1431
+ }
lm/irstlm/branches/binary_saving/m4/ax_boost_base.m4 ADDED
@@ -0,0 +1,223 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ===========================================================================
2
+ # http://autoconf-archive.cryp.to/ax_boost_base.html
3
+ # ===========================================================================
4
+ #
5
+ # SYNOPSIS
6
+ #
7
+ # AX_BOOST_BASE([MINIMUM-VERSION])
8
+ #
9
+ # DESCRIPTION
10
+ #
11
+ # Test for the Boost C++ libraries of a particular version (or newer)
12
+ #
13
+ # If no path to the installed boost library is given the macro searchs
14
+ # under /usr, /usr/local, /opt and /opt/local and evaluates the
15
+ # $BOOST_ROOT environment variable. Further documentation is available at
16
+ # <http://randspringer.de/boost/index.html>.
17
+ #
18
+ # This macro calls:
19
+ #
20
+ # AC_SUBST(BOOST_CPPFLAGS) / AC_SUBST(BOOST_LDFLAGS)
21
+ #
22
+ # And sets:
23
+ #
24
+ # HAVE_BOOST
25
+ #
26
+ # LAST MODIFICATION
27
+ #
28
+ # 2008-04-12
29
+ #
30
+ # COPYLEFT
31
+ #
32
+ # Copyright (c) 2008 Thomas Porschberg <thomas@randspringer.de>
33
+ #
34
+ # Copying and distribution of this file, with or without modification, are
35
+ # permitted in any medium without royalty provided the copyright notice
36
+ # and this notice are preserved.
37
+
38
+ AC_DEFUN([AX_BOOST_BASE],
39
+ [
40
+ AC_ARG_WITH([boost],
41
+ AS_HELP_STRING([--with-boost@<:@=DIR@:>@], [use boost (default is yes) - it is possible to specify the root directory for boost (optional)]),
42
+ [
43
+ if test "$withval" = "no"; then
44
+ want_boost="no"
45
+ elif test "$withval" = "yes"; then
46
+ want_boost="yes"
47
+ ac_boost_path=""
48
+ else
49
+ want_boost="yes"
50
+ ac_boost_path="$withval"
51
+ fi
52
+ ],
53
+ [want_boost="yes"])
54
+
55
+
56
+ AC_ARG_WITH([boost-libdir],
57
+ AS_HELP_STRING([--with-boost-libdir=LIB_DIR],
58
+ [Force given directory for boost libraries. Note that this will overwrite library path detection, so use this parameter only if default library detection fails and you know exactly where your boost libraries are located.]),
59
+ [
60
+ if test -d $withval
61
+ then
62
+ ac_boost_lib_path="$withval"
63
+ else
64
+ AC_MSG_ERROR(--with-boost-libdir expected directory name)
65
+ fi
66
+ ],
67
+ [ac_boost_lib_path=""]
68
+ )
69
+
70
+ if test "x$want_boost" = "xyes"; then
71
+ boost_lib_version_req=ifelse([$1], ,1.20.0,$1)
72
+ boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([[0-9]]*\.[[0-9]]*\)'`
73
+ boost_lib_version_req_major=`expr $boost_lib_version_req : '\([[0-9]]*\)'`
74
+ boost_lib_version_req_minor=`expr $boost_lib_version_req : '[[0-9]]*\.\([[0-9]]*\)'`
75
+ boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
76
+ if test "x$boost_lib_version_req_sub_minor" = "x" ; then
77
+ boost_lib_version_req_sub_minor="0"
78
+ fi
79
+ WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+ $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor`
80
+ AC_MSG_CHECKING(for boostlib >= $boost_lib_version_req)
81
+ succeeded=no
82
+
83
+ dnl first we check the system location for boost libraries
84
+ dnl this location ist chosen if boost libraries are installed with the --layout=system option
85
+ dnl or if you install boost with RPM
86
+ if test "$ac_boost_path" != ""; then
87
+ BOOST_LDFLAGS="-L$ac_boost_path/lib"
88
+ BOOST_CPPFLAGS="-I$ac_boost_path/include"
89
+ else
90
+ for ac_boost_path_tmp in /usr /usr/local /opt /opt/local ; do
91
+ if test -d "$ac_boost_path_tmp/include/boost" && test -r "$ac_boost_path_tmp/include/boost"; then
92
+ BOOST_LDFLAGS="-L$ac_boost_path_tmp/lib"
93
+ BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include"
94
+ break;
95
+ fi
96
+ done
97
+ fi
98
+
99
+ dnl overwrite ld flags if we have required special directory with
100
+ dnl --with-boost-libdir parameter
101
+ if test "$ac_boost_lib_path" != ""; then
102
+ BOOST_LDFLAGS="-L$ac_boost_lib_path"
103
+ fi
104
+
105
+ CPPFLAGS_SAVED="$CPPFLAGS"
106
+ CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
107
+ export CPPFLAGS
108
+
109
+ LDFLAGS_SAVED="$LDFLAGS"
110
+ LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
111
+ export LDFLAGS
112
+
113
+ AC_LANG_PUSH(C++)
114
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
115
+ @%:@include <boost/version.hpp>
116
+ ]], [[
117
+ #if BOOST_VERSION >= $WANT_BOOST_VERSION
118
+ // Everything is okay
119
+ #else
120
+ # error Boost version is too old
121
+ #endif
122
+ ]])],[
123
+ AC_MSG_RESULT(yes)
124
+ succeeded=yes
125
+ found_system=yes
126
+ ],[
127
+ ])
128
+ AC_LANG_POP([C++])
129
+
130
+
131
+
132
+ dnl if we found no boost with system layout we search for boost libraries
133
+ dnl built and installed without the --layout=system option or for a staged(not installed) version
134
+ if test "x$succeeded" != "xyes"; then
135
+ _version=0
136
+ if test "$ac_boost_path" != ""; then
137
+ if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
138
+ for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
139
+ _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
140
+ V_CHECK=`expr $_version_tmp \> $_version`
141
+ if test "$V_CHECK" = "1" ; then
142
+ _version=$_version_tmp
143
+ fi
144
+ VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
145
+ BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE"
146
+ done
147
+ fi
148
+ else
149
+ for ac_boost_path in /usr /usr/local /opt /opt/local ; do
150
+ if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
151
+ for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
152
+ _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
153
+ V_CHECK=`expr $_version_tmp \> $_version`
154
+ if test "$V_CHECK" = "1" ; then
155
+ _version=$_version_tmp
156
+ best_path=$ac_boost_path
157
+ fi
158
+ done
159
+ fi
160
+ done
161
+
162
+ VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
163
+ BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE"
164
+ if test "$ac_boost_lib_path" = ""
165
+ then
166
+ BOOST_LDFLAGS="-L$best_path/lib"
167
+ fi
168
+
169
+ if test "x$BOOST_ROOT" != "x"; then
170
+ if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/lib" && test -r "$BOOST_ROOT/stage/lib"; then
171
+ version_dir=`expr //$BOOST_ROOT : '.*/\(.*\)'`
172
+ stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'`
173
+ stage_version_shorten=`expr $stage_version : '\([[0-9]]*\.[[0-9]]*\)'`
174
+ V_CHECK=`expr $stage_version_shorten \>\= $_version`
175
+ if test "$V_CHECK" = "1" -a "$ac_boost_lib_path" = "" ; then
176
+ AC_MSG_NOTICE(We will use a staged boost library from $BOOST_ROOT)
177
+ BOOST_CPPFLAGS="-I$BOOST_ROOT"
178
+ BOOST_LDFLAGS="-L$BOOST_ROOT/stage/lib"
179
+ fi
180
+ fi
181
+ fi
182
+ fi
183
+
184
+ CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
185
+ export CPPFLAGS
186
+ LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
187
+ export LDFLAGS
188
+
189
+ AC_LANG_PUSH(C++)
190
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
191
+ @%:@include <boost/version.hpp>
192
+ ]], [[
193
+ #if BOOST_VERSION >= $WANT_BOOST_VERSION
194
+ // Everything is okay
195
+ #else
196
+ # error Boost version is too old
197
+ #endif
198
+ ]])],[
199
+ AC_MSG_RESULT(yes)
200
+ succeeded=yes
201
+ found_system=yes
202
+ ],[
203
+ ])
204
+ AC_LANG_POP([C++])
205
+ fi
206
+
207
+ if test "$succeeded" != "yes" ; then
208
+ if test "$_version" = "0" ; then
209
+ AC_MSG_ERROR([[We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.]])
210
+ else
211
+ AC_MSG_NOTICE([Your boost libraries seems to old (version $_version).])
212
+ fi
213
+ else
214
+ AC_SUBST(BOOST_CPPFLAGS)
215
+ AC_SUBST(BOOST_LDFLAGS)
216
+ AC_DEFINE(HAVE_BOOST,,[define if the Boost library is available])
217
+ fi
218
+
219
+ CPPFLAGS="$CPPFLAGS_SAVED"
220
+ LDFLAGS="$LDFLAGS_SAVED"
221
+ fi
222
+
223
+ ])
lm/irstlm/branches/binary_saving/m4/ax_boost_thread.m4 ADDED
@@ -0,0 +1,143 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ===========================================================================
2
+ # http://www.nongnu.org/autoconf-archive/ax_boost_thread.html
3
+ # ===========================================================================
4
+ #
5
+ # SYNOPSIS
6
+ #
7
+ # AX_BOOST_THREAD
8
+ #
9
+ # DESCRIPTION
10
+ #
11
+ # Test for Thread library from the Boost C++ libraries. The macro requires
12
+ # a preceding call to AX_BOOST_BASE. Further documentation is available at
13
+ # <http://randspringer.de/boost/index.html>.
14
+ #
15
+ # This macro calls:
16
+ #
17
+ # AC_SUBST(BOOST_THREAD_LIB)
18
+ #
19
+ # And sets:
20
+ #
21
+ # HAVE_BOOST_THREAD
22
+ #
23
+ # LICENSE
24
+ #
25
+ # Copyright (c) 2009 Thomas Porschberg <thomas@randspringer.de>
26
+ # Copyright (c) 2009 Michael Tindal
27
+ #
28
+ # Copying and distribution of this file, with or without modification, are
29
+ # permitted in any medium without royalty provided the copyright notice
30
+ # and this notice are preserved.
31
+
32
+ AC_DEFUN([AX_BOOST_THREAD],
33
+ [
34
+ AC_ARG_WITH([boost-thread],
35
+ AS_HELP_STRING([--with-boost-thread@<:@=special-lib@:>@],
36
+ [use the Thread library from boost - it is possible to specify a certain library for the linker
37
+ e.g. --with-boost-thread=boost_thread-gcc-mt ]),
38
+ [
39
+ if test "$withval" = "no"; then
40
+ want_boost="no"
41
+ elif test "$withval" = "yes"; then
42
+ want_boost="yes"
43
+ ax_boost_user_thread_lib=""
44
+ else
45
+ want_boost="yes"
46
+ ax_boost_user_thread_lib="$withval"
47
+ fi
48
+ ],
49
+ [want_boost="yes"]
50
+ )
51
+
52
+ if test "x$want_boost" = "xyes"; then
53
+ AC_REQUIRE([AC_PROG_CC])
54
+ AC_REQUIRE([AC_CANONICAL_BUILD])
55
+ CPPFLAGS_SAVED="$CPPFLAGS"
56
+ CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
57
+ export CPPFLAGS
58
+
59
+ LDFLAGS_SAVED="$LDFLAGS"
60
+ LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
61
+ export LDFLAGS
62
+
63
+ AC_CACHE_CHECK(whether the Boost::Thread library is available,
64
+ ax_cv_boost_thread,
65
+ [AC_LANG_PUSH([C++])
66
+ CXXFLAGS_SAVE=$CXXFLAGS
67
+
68
+ if test "x$build_os" = "xsolaris" ; then
69
+ CXXFLAGS="-pthreads $CXXFLAGS"
70
+ elif test "x$build_os" = "xming32" ; then
71
+ CXXFLAGS="-mthreads $CXXFLAGS"
72
+ else
73
+ CXXFLAGS="-pthread $CXXFLAGS"
74
+ fi
75
+ AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[@%:@include <boost/thread/thread.hpp>]],
76
+ [[boost::thread_group thrds;
77
+ return 0;]]),
78
+ ax_cv_boost_thread=yes, ax_cv_boost_thread=no)
79
+ CXXFLAGS=$CXXFLAGS_SAVE
80
+ AC_LANG_POP([C++])
81
+ ])
82
+ if test "x$ax_cv_boost_thread" = "xyes"; then
83
+ if test "x$build_os" = "xsolaris" ; then
84
+ BOOST_CPPFLAGS="-pthreads $BOOST_CPPFLAGS"
85
+ elif test "x$build_os" = "xming32" ; then
86
+ BOOST_CPPFLAGS="-mthreads $BOOST_CPPFLAGS"
87
+ else
88
+ BOOST_CPPFLAGS="-pthread $BOOST_CPPFLAGS"
89
+ fi
90
+
91
+ AC_SUBST(BOOST_CPPFLAGS)
92
+
93
+ AC_DEFINE(HAVE_BOOST_THREAD,,[define if the Boost::Thread library is available])
94
+ BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
95
+
96
+ LDFLAGS_SAVE=$LDFLAGS
97
+ case "x$build_os" in
98
+ *bsd* )
99
+ LDFLAGS="-pthread $LDFLAGS"
100
+ break;
101
+ ;;
102
+ esac
103
+ if test "x$ax_boost_user_thread_lib" = "x"; then
104
+ for libextension in `ls $BOOSTLIBDIR/libboost_thread*.so* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_thread.*\)\.so.*$;\1;'` `ls $BOOSTLIBDIR/libboost_thread*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_thread.*\)\.a*$;\1;'`; do
105
+ ax_lib=${libextension}
106
+ AC_CHECK_LIB($ax_lib, exit,
107
+ [BOOST_THREAD_LIB="-l$ax_lib"; AC_SUBST(BOOST_THREAD_LIB) link_thread="yes"; break],
108
+ [link_thread="no"])
109
+ done
110
+ if test "x$link_thread" != "xyes"; then
111
+ for libextension in `ls $BOOSTLIBDIR/boost_thread*.dll* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_thread.*\)\.dll.*$;\1;'` `ls $BOOSTLIBDIR/boost_thread*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_thread.*\)\.a*$;\1;'` ; do
112
+ ax_lib=${libextension}
113
+ AC_CHECK_LIB($ax_lib, exit,
114
+ [BOOST_THREAD_LIB="-l$ax_lib"; AC_SUBST(BOOST_THREAD_LIB) link_thread="yes"; break],
115
+ [link_thread="no"])
116
+ done
117
+ fi
118
+
119
+ else
120
+ for ax_lib in $ax_boost_user_thread_lib boost_thread-$ax_boost_user_thread_lib; do
121
+ AC_CHECK_LIB($ax_lib, exit,
122
+ [BOOST_THREAD_LIB="-l$ax_lib"; AC_SUBST(BOOST_THREAD_LIB) link_thread="yes"; break],
123
+ [link_thread="no"])
124
+ done
125
+
126
+ fi
127
+ if test "x$link_thread" = "xno"; then
128
+ AC_MSG_ERROR(Could not link against $ax_lib !)
129
+ else
130
+ case "x$build_os" in
131
+ *bsd* )
132
+ BOOST_LDFLAGS="-pthread $BOOST_LDFLAGS"
133
+ break;
134
+ ;;
135
+ esac
136
+
137
+ fi
138
+ fi
139
+
140
+ CPPFLAGS="$CPPFLAGS_SAVED"
141
+ LDFLAGS="$LDFLAGS_SAVED"
142
+ fi
143
+ ])
lm/irstlm/branches/binary_saving/m4/ax_xmlrpc_c.m4 ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ AC_DEFUN([AX_XMLRPC_C], [
2
+ AC_MSG_CHECKING(for XMLRPC-C)
3
+
4
+ AC_ARG_WITH(xmlrpc-c,
5
+ [ --with-xmlrpc-c=PATH Enable XMLRPC-C support.],
6
+ [
7
+ if test "$withval" = "no"; then
8
+ AC_MSG_RESULT(no)
9
+
10
+ else
11
+ if test "$withval" = "yes"; then
12
+ xmlrpc_cc_prg="xmlrpc-c-config"
13
+ else
14
+ xmlrpc_cc_prg="$withval"
15
+ fi
16
+
17
+ if eval $xmlrpc_cc_prg --version 2>/dev/null >/dev/null; then
18
+ XMLRPC_C_CPPFLAGS=`$xmlrpc_cc_prg --cflags c++2 abyss-server`
19
+ XMLRPC_C_LIBS=`$xmlrpc_cc_prg c++2 abyss-server --libs`
20
+ CXXFLAGS_SAVED=$CXXFLAGS
21
+ CXXFLAGS="$CXXFLAGS $XMLRPC_C_CPPFLAGS"
22
+ LIBS_SAVED=$LIBS
23
+ LIBS="$LIBS $XMLRPC_C_LIBS"
24
+
25
+ AC_TRY_LINK(
26
+ [ #include <xmlrpc-c/server.h>
27
+ ],[ xmlrpc_registry_new(NULL); ],
28
+ [
29
+ AC_MSG_RESULT(ok)
30
+ ], [
31
+ AC_MSG_RESULT(failed)
32
+ AC_MSG_ERROR(Could not compile XMLRPC-C test.)
33
+ ])
34
+
35
+ dnl AC_DEFINE(HAVE_XMLRPC_C, 1, Support for XMLRPC-C.)
36
+ have_xmlrpc_c=yes
37
+ AC_SUBST(XMLRPC_C_LIBS)
38
+ AC_SUBST(XMLRPC_C_CPPFLAGS)
39
+
40
+ LIBS=$LIBS_SAVED
41
+ CXXFLAGS=$CXXFLAGS_SAVED
42
+
43
+ else
44
+ AC_MSG_RESULT(failed)
45
+ AC_MSG_ERROR(Could not compile XMLRPC-C test.)
46
+ fi
47
+ fi
48
+
49
+ ],[
50
+ AC_MSG_RESULT(ignored)
51
+ ])
52
+ ])
lm/irstlm/branches/binary_saving/make-release ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #! /bin/sh
2
+
3
+ prefixdir=$1
4
+ PACKAGE_NAME=irstlm
5
+ PACKAGE_VERSION=`cat ${prefixdir}/RELEASE`
6
+
7
+ bininstallname=${PACKAGE_NAME}-${PACKAGE_VERSION}-bin
8
+ libinstallname=${PACKAGE_NAME}-${PACKAGE_VERSION}-lib
9
+ srcinstallname=${PACKAGE_NAME}-${PACKAGE_VERSION}
10
+
11
+ cwd=`pwd`
12
+ echo $cwd
13
+ echo $bininstallname
14
+ echo $libinstallname
15
+
16
+ tmpdir=${PACKAGE_NAME}-${PACKAGE_VERSION}
17
+
18
+ if [ -d $tmpdir ] ; then
19
+ echo "directory $tmpdir already exists. Please check!"
20
+ exit 1;
21
+ fi
22
+
23
+ svn export https://irstlm.svn.sourceforge.net/svnroot/irstlm/branches/binary_saving $tmpdir
24
+
25
+ tar czf ${cwd}/${srcinstallname}.tgz $tmpdir
26
+ zip -r ${cwd}/${srcinstallname}.zip $tmpdir
27
+
28
+ cp -r ${prefixdir}/bin ${prefixdir}/lib ${prefixdir}/include $tmpdir/
29
+
30
+ tar czf ${cwd}/${bininstallname}.tgz $tmpdir/bin
31
+ zip -r -y ${cwd}/${bininstallname}.zip $tmpdir/bin
32
+
33
+ tar czf ${cwd}/${libinstallname}.tgz $tmpdir/lib $tmpdir/include
34
+ zip -r -y ${cwd}/${libinstallname}.zip $tmpdir/lib $tmpdir/include
35
+
36
+ \rm -r $tmpdir
37
+
lm/irstlm/branches/binary_saving/regenerate-makefiles.sh ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/sh
2
+
3
+ # NOTE:
4
+ # Versions 1.9 (or higher) of aclocal and automake are required.
5
+ # Version 2.59 (or higher) of autoconf is required.
6
+
7
+ # For Mac OSX users:
8
+ # Standard distribution usually includes versions 1.6 for aclocal and automake.
9
+ # Get versions 1.9 or higher
10
+ # Set the following variable to the correct paths
11
+ #ACLOCAL="/path/to/aclocal-1.9"
12
+ #AUTOMAKE="/path/to/automake-1.9"
13
+
14
+ force=$1;
15
+ # set parameter force to the value "--force" if you want to recreate all links to the autotools
16
+
17
+ die () {
18
+ echo "$@" >&2
19
+ exit 1
20
+ }
21
+
22
+ if [ -z "$ACLOCAL" ]
23
+ then
24
+ ACLOCAL=`which aclocal`
25
+ fi
26
+
27
+ if [ -z "$AUTOMAKE" ]
28
+ then
29
+ AUTOMAKE=`which automake`
30
+ fi
31
+
32
+ if [ -z "$AUTOCONF" ]
33
+ then
34
+ AUTOCONF=`which autoconf`
35
+ fi
36
+
37
+ if [ -z "$LIBTOOLIZE" ]
38
+ then
39
+ LIBTOOLIZE=`which libtoolize`
40
+
41
+ if [ -z "$LIBTOOLIZE" ]
42
+ then
43
+ LIBTOOLIZE=`which glibtoolize`
44
+ fi
45
+ fi
46
+
47
+
48
+ echo "Calling $LIBTOOLIZE $force"
49
+ $LIBTOOLIZE $force || die "libtoolize failed"
50
+
51
+ echo "Calling $ACLOCAL..."
52
+ $ACLOCAL -I m4 || die "aclocal failed"
53
+
54
+ echo "Calling $AUTOCONF..."
55
+ $AUTOCONF || die "autoconf failed"
56
+
57
+ echo "Calling $AUTOMAKE --add-missing..."
58
+ $AUTOMAKE --add-missing || die "automake failed"
lm/irstlm/branches/binary_saving/scripts/Makefile.am ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #sh_programs = add-start-end.sh build-lm-qsub.sh build-lm.sh machine-type.bash machine-type.csh os-type.bash os-type.csh rm-start-end.sh split-ngt.sh
2
+ sh_programs = add-start-end.sh build-lm-qsub.sh build-lm.sh rm-start-end.sh split-ngt.sh
3
+ perl_programs = build-sublm.pl goograms2ngrams.pl lm-stat.pl merge-sublm.pl ngram-split.pl sort-lm.pl split-dict.pl
4
+ dist_programs = wrapper $(sh_programs) $(perl_programs)
5
+
6
+ wrapperbindir = @prefix@/bin
7
+
8
+ install:
9
+ for p in $(sh_programs) $(perl_programs) ; do \
10
+ cp $$p $(DESTDIR)$(wrapperbindir) ;\
11
+ done
12
+
13
+ uninstall:
14
+ for p in $(sh_programs) $(perl_programs) ; do \
15
+ rm -f $(DESTDIR)$(wrapperbindir)/$$p ;\
16
+ done
17
+
18
+ EXTRA_DIST = $(dist_programs)
19
+
lm/irstlm/branches/binary_saving/scripts/add-start-end.sh ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ #! /bin/bash
2
+
3
+ #adds sentence start/end symbols to standard input and
4
+ #trims words longer than 80 characters
5
+
6
+ (echo "</s>" ; sed 's/^/<s> /' | sed 's/$/ <\/s>/';echo "<s>") |\
7
+ sed 's/\([^ ]\{80\}\)\([^ ]\{1,\}\)/\1/g'
8
+
lm/irstlm/branches/binary_saving/scripts/build-lm-qsub.sh ADDED
@@ -0,0 +1,315 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #! /bin/bash
2
+
3
+ usage()
4
+ {
5
+ cat << EOF
6
+ usage: $0 options
7
+
8
+ This script estimates a language model file.
9
+
10
+ OPTIONS:
11
+ -h Show this message
12
+ -i Input training file e.g. 'gunzip -c train.gz'
13
+ -o Output gzipped LM, e.g. lm.gz
14
+ -k Number of splits (default 5)
15
+ -n Order of language model (default 3)
16
+ -t Directory for temporary files (default ./stat_PID)
17
+ -p Prune singleton n-grams (default false)
18
+ -u Use uniform word frequency for dictionary splitting (default false)
19
+ -q parameters for qsub ("-q <queue>", and any other)
20
+ -s Smoothing methods: witten-bell (default), kneser-ney (approximated kneser-ney), improved-kneser-ney
21
+ -b Include sentence boundary n-grams (optional)
22
+ -d Define subdictionary for n-grams (optional)
23
+ -v Verbose
24
+
25
+ EOF
26
+ }
27
+
28
+ hostname=`uname -n`
29
+ if [ $hostname == "voxgate" ] ; then
30
+ echo "voxgate can not be used as submission host"
31
+ echo "use any other cluster machine"
32
+ exit
33
+ fi
34
+
35
+ if [ ! $IRSTLM ]; then
36
+ echo "Set IRSTLM environment variable with path to irstlm"
37
+ exit 2;
38
+ fi
39
+
40
+ #paths to scripts and commands in irstlm
41
+ scr=$IRSTLM/bin
42
+ bin=$IRSTLM/bin
43
+ gzip=`which gzip 2> /dev/null`;
44
+ gunzip=`which gunzip 2> /dev/null`;
45
+
46
+ #check irstlm installation
47
+ if [ ! -e $bin/dict -o ! -e $scr/split-dict.pl ]; then
48
+ echo "$IRSTLM does not contain a proper installation of IRSTLM"
49
+ exit 3;
50
+ fi
51
+
52
+ #default parameters
53
+ logfile=/dev/null
54
+ tmpdir=stat_$$
55
+ order=3
56
+ parts=3
57
+ inpfile="";
58
+ outfile=""
59
+ verbose="";
60
+ smoothing="--witten-bell";
61
+ prune="";
62
+ boundaries="";
63
+ dictionary="";
64
+ uniform="-f=y";
65
+ queueparameters=""
66
+
67
+ while getopts “hvi:o:n:k:t:s:q:pbl:d:u” OPTION
68
+ do
69
+ case $OPTION in
70
+ h)
71
+ usage
72
+ exit 1
73
+ ;;
74
+ v)
75
+ verbose="--verbose";
76
+ ;;
77
+ i)
78
+ inpfile=$OPTARG
79
+ ;;
80
+ d)
81
+ dictionary="-sd=$OPTARG"
82
+ ;;
83
+
84
+ u)
85
+ uniform=" "
86
+ ;;
87
+
88
+ o)
89
+ outfile=$OPTARG
90
+ ;;
91
+ n)
92
+ order=$OPTARG
93
+ ;;
94
+ k)
95
+ parts=$OPTARG
96
+ ;;
97
+ t)
98
+ tmpdir=$OPTARG
99
+ ;;
100
+ s)
101
+ smoothing=$OPTARG
102
+ case $smoothing in
103
+ witten-bell)
104
+ smoothing="--witten-bell"
105
+ ;;
106
+ kneser-ney)
107
+ smoothing="--kneser-ney"
108
+ ;;
109
+ improved-kneser-ney)
110
+ smoothing="--improved-kneser-ney"
111
+ ;;
112
+ *)
113
+ echo "wrong smoothing setting";
114
+ exit 4;
115
+ esac
116
+ ;;
117
+ p)
118
+ prune='--prune-singletons';
119
+ ;;
120
+ q)
121
+ queueparameters=$OPTARG;
122
+ ;;
123
+ b)
124
+ boundaries='--cross-sentence';
125
+ ;;
126
+ l)
127
+ logfile=$OPTARG
128
+ ;;
129
+ ?)
130
+ usage
131
+ exit
132
+ ;;
133
+ esac
134
+ done
135
+
136
+
137
+ if [ $verbose ]; then
138
+ echo inpfile=\"$inpfile\" outfile=$outfile order=$order parts=$parts tmpdir=$tmpdir prune=$prune smoothing=$smoothing dictionary=$dictionary verbose=$verbose
139
+ fi
140
+
141
+ if [ ! "$inpfile" -o ! "$outfile" ]; then
142
+ usage
143
+ exit 5
144
+ fi
145
+
146
+ if [ -e $outfile ]; then
147
+ echo "Output file $outfile already exists! either remove or rename it."
148
+ exit 6;
149
+ fi
150
+
151
+ if [ -e $logfile -a $logfile != "/dev/null" -a $logfile != "/dev/stdout"]; then
152
+ echo "Logfile $logfile already exists! either remove or rename it."
153
+ exit 7;
154
+ fi
155
+
156
+ #check tmpdir
157
+ tmpdir_created=0;
158
+ if [ ! -d $tmpdir ]; then
159
+ echo "Temporary directory $tmpdir does not exist";
160
+ echo "creating $tmpdir";
161
+ mkdir -p $tmpdir;
162
+ tmpdir_created=1;
163
+ else
164
+ echo "Cleaning temporary directory $tmpdir";
165
+ rm -r $tmpdir 2> /dev/null
166
+ if [ $? != 0 ]; then
167
+ echo "Warning: some temporary files could not be removed"
168
+ fi
169
+ fi
170
+
171
+ workingdir=`pwd | perl -pe 's/\/nfsmnt//g'`
172
+ cd $workingdir
173
+
174
+ qsubout="$workingdir/DICT-OUT$$"
175
+ qsuberr="$workingdir/DICT-ERR$$"
176
+ qsublog="$workingdir/DICT-LOG$$"
177
+ qsubname="DICT"
178
+
179
+ (\
180
+ qsub $queueparameters -b no -sync yes -o $qsubout -e $qsuberr -N $qsubname << EOF
181
+ cd $workingdir
182
+ echo exit status $?
183
+ echo "Extracting dictionary from training corpus"
184
+ $bin/dict -i="$inpfile" -o=$tmpdir/dictionary $uniform -sort=no
185
+ echo exit status $?
186
+ echo "Splitting dictionary into $parts lists"
187
+ $scr/split-dict.pl --input $tmpdir/dictionary --output $tmpdir/dict. --parts $parts
188
+ echo exit status $?
189
+ EOF
190
+ ) 2>&1 > $qsublog
191
+
192
+ unset suffix
193
+ #getting list of suffixes
194
+ for file in `ls $tmpdir/dict.*` ; do
195
+ sfx=`echo $file | perl -pe 's/^.+\.(\d+)$/$1/'`
196
+ suffix[${#suffix[@]}]=$sfx
197
+ done
198
+
199
+ qsubout="$workingdir/NGT-OUT$$"
200
+ qsuberr="$workingdir/NGT-ERR$$"
201
+ qsublog="$workingdir/NGT-LOG$$"
202
+ qsubname="NGT"
203
+
204
+ unset getpids
205
+ echo "Extracting n-gram statistics for each word list"
206
+ echo "Important: dictionary must be ordered according to order of appearance of words in data"
207
+ echo "used to generate n-gram blocks, so that sub language model blocks results ordered too"
208
+
209
+ for sfx in ${suffix[@]} ; do
210
+
211
+ (\
212
+ qsub $queueparameters -b no -j yes -sync no -o $qsubout.$sfx -e $qsuberr.$sfx -N $qsubname-$sfx << EOF
213
+ cd $workingdir
214
+ echo exit status $?
215
+ $bin/ngt -i="$inpfile" -n=$order -gooout=y -o="$gzip -c > $tmpdir/ngram.dict.${sfx}.gz" -fd="$tmpdir/dict.${sfx}" $dictionary -iknstat="$tmpdir/ikn.stat.dict.${sfx}"
216
+ echo exit status $?
217
+ echo
218
+ EOF
219
+ ) 2>&1 > $qsublog.$sfx
220
+
221
+ id=`cat $qsublog.$sfx | grep 'Your job' | awk '{print $3}'`
222
+ sgepid[${#sgepid[@]}]=$id
223
+
224
+ done
225
+
226
+ waiting=""
227
+ for id in ${sgepid[@]} ; do waiting="$waiting -hold_jid $id" ; done
228
+
229
+ qsub $queueparameters -sync yes $waiting -j y -o /dev/null -e /dev/null -N $qsubname.W -b y /bin/ls 2>&1 > $qsubname.W.log
230
+ rm $qsubname.W.log
231
+
232
+ qsubout="$workingdir/SUBLM-OUT$$"
233
+ qsuberr="$workingdir/SUBLM-ERR$$"
234
+ qsublog="$workingdir/SUBLM-LOG$$"
235
+ qsubname="SUBLM"
236
+
237
+ unset getpids
238
+ echo "Estimating language models for each word list"
239
+
240
+ if [ $smoothing = "--kneser-ney" -o $smoothing = "--improved-kneser-ney" ]; then
241
+
242
+ for sfx in ${suffix[@]} ; do
243
+ (\
244
+ qsub $queueparameters -b no -j yes -sync no -o $qsubout.$sfx -e $qsuberr.$sfx -N $qsubname-$sfx << EOF
245
+ cd $workingdir
246
+ echo exit status $?
247
+
248
+ $scr/build-sublm.pl $verbose $prune $smoothing "cat $tmpdir/ikn.stat.dict*" --size $order --ngrams "$gunzip -c $tmpdir/ngram.dict.${sfx}.gz" -sublm $tmpdir/lm.dict.${sfx}
249
+ echo exit status $?
250
+
251
+ echo
252
+ EOF
253
+ ) 2>&1 > $qsublog.$sfx
254
+
255
+ id=`cat $qsublog.$sfx | grep 'Your job' | awk '{print $3}'`
256
+ sgepid[${#sgepid[@]}]=$id
257
+
258
+ done
259
+
260
+ else
261
+
262
+
263
+ for sfx in ${suffix[@]} ; do
264
+ (\
265
+ qsub $queueparameters -b no -j yes -sync no -o $qsubout.$sfx -e $qsuberr.$sfx -N $qsubname-$sfx << EOF
266
+ cd $workingdir
267
+ echo exit status $?
268
+
269
+ $scr/build-sublm.pl $verbose $prune $smoothing --size $order --ngrams "$gunzip -c $tmpdir/ngram.dict.${sfx}.gz" -sublm $tmpdir/lm.dict.${sfx}
270
+
271
+ echo
272
+ EOF
273
+ ) 2>&1 > $qsublog.$sfx
274
+
275
+ id=`cat $qsublog.$sfx | grep 'Your job' | awk '{print $3}'`
276
+ sgepid[${#sgepid[@]}]=$id
277
+
278
+ done
279
+
280
+ fi
281
+
282
+
283
+ waiting=""
284
+ for id in ${sgepid[@]} ; do waiting="$waiting -hold_jid $id" ; done
285
+
286
+
287
+ qsub $queueparameters -sync yes $waiting -o /dev/null -e /dev/null -N $qsubname.W -b yes /bin/ls 2>&1 > $qsubname.W.log
288
+ rm $qsubname.W.log
289
+
290
+ echo "Merging language models into $outfile"
291
+ qsubout="$workingdir/MERGE-OUT$$"
292
+ qsuberr="$workingdir/MERGE-ERR$$"
293
+ qsublog="$workingdir/MERGE-LOG$$"
294
+ qsubname="MERGE"
295
+ (\
296
+ qsub $queueparameters -b no -j yes -sync yes -o $qsubout -e $qsuberr -N $qsubname << EOF
297
+ cd $workingdir
298
+ $scr/merge-sublm.pl --size $order --sublm $tmpdir/lm.dict -lm $outfile
299
+ EOF
300
+ ) 2>&1 > $qsublog
301
+
302
+ echo "Cleaning temporary directory $tmpdir";
303
+ rm $tmpdir/* 2> /dev/null
304
+ rm $qsubout* $qsuberr* $qsublog* 2> /dev/null
305
+
306
+ if [ $tmpdir_created -eq 1 ]; then
307
+ echo "Removing temporary directory $tmpdir";
308
+ rmdir $tmpdir 2> /dev/null
309
+ if [ $? != 0 ]; then
310
+ echo "Warning: the temporary directory could not be removed."
311
+ fi
312
+ fi
313
+
314
+ exit 0
315
+
lm/irstlm/branches/binary_saving/scripts/build-lm.sh ADDED
@@ -0,0 +1,216 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #! /bin/bash
2
+
3
+ set -m # Enable Job Control
4
+
5
+ usage()
6
+ {
7
+ cat << EOF
8
+ usage: $0 options
9
+
10
+ This script estimates a language model file.
11
+
12
+ OPTIONS:
13
+ -h Show this message
14
+ -i Input training file e.g. 'gunzip -c train.gz'
15
+ -o Output gzipped LM, e.g. lm.gz
16
+ -k Number of splits (default 5)
17
+ -n Order of language model (default 3)
18
+ -t Directory for temporary files (default ./stat_PID)
19
+ -p Prune singleton n-grams (default false)
20
+ -u Use uniform word frequency for dictionary splitting (default false)
21
+ -s Smoothing methods: witten-bell (default), kneser-ney, improved-kneser-ney
22
+ -b Include sentence boundary n-grams (optional)
23
+ -d Define subdictionary for n-grams (optional)
24
+ -v Verbose
25
+
26
+ EOF
27
+ }
28
+
29
+ if [ ! $IRSTLM ]; then
30
+ echo "Set IRSTLM environment variable with path to irstlm"
31
+ exit 2
32
+ fi
33
+
34
+ #paths to scripts and commands in irstlm
35
+ scr=$IRSTLM/bin
36
+ bin=$IRSTLM/bin
37
+ gzip=`which gzip 2> /dev/null`;
38
+ gunzip=`which gunzip 2> /dev/null`;
39
+
40
+ #check irstlm installation
41
+ if [ ! -e $bin/dict -o ! -e $scr/split-dict.pl ]; then
42
+ echo "$IRSTLM does not contain a proper installation of IRSTLM"
43
+ exit 3
44
+ fi
45
+
46
+ #default parameters
47
+ logfile=/dev/null
48
+ tmpdir=stat_$$
49
+ order=3
50
+ parts=3
51
+ inpfile="";
52
+ outfile=""
53
+ verbose="";
54
+ smoothing="--witten-bell";
55
+ prune="";
56
+ boundaries="";
57
+ dictionary="";
58
+ uniform="-f=y";
59
+
60
+ while getopts “hvi:o:n:k:t:s:pbl:d:u” OPTION
61
+ do
62
+ case $OPTION in
63
+ h)
64
+ usage
65
+ exit 1
66
+ ;;
67
+ v)
68
+ verbose="--verbose";
69
+ ;;
70
+ i)
71
+ inpfile=$OPTARG
72
+ ;;
73
+ d)
74
+ dictionary="-sd=$OPTARG"
75
+ ;;
76
+
77
+ u)
78
+ uniform=" "
79
+ ;;
80
+
81
+ o)
82
+ outfile=$OPTARG
83
+ ;;
84
+ n)
85
+ order=$OPTARG
86
+ ;;
87
+ k)
88
+ parts=$OPTARG
89
+ ;;
90
+ t)
91
+ tmpdir=$OPTARG
92
+ ;;
93
+ s)
94
+ smoothing=$OPTARG
95
+ case $smoothing in
96
+ witten-bell)
97
+ smoothing="--witten-bell"
98
+ ;;
99
+ kneser-ney)
100
+ smoothing="--kneser-ney"
101
+ ;;
102
+ improved-kneser-ney)
103
+ smoothing="--improved-kneser-ney"
104
+ ;;
105
+ *)
106
+ echo "wrong smoothing setting";
107
+ exit 4
108
+ esac
109
+ ;;
110
+
111
+ p)
112
+ prune='--prune-singletons';
113
+ ;;
114
+ b)
115
+ boundaries='--cross-sentence';
116
+ ;;
117
+ l)
118
+ logfile=$OPTARG
119
+ ;;
120
+ ?)
121
+ usage
122
+ exit 1
123
+ ;;
124
+ esac
125
+ done
126
+
127
+
128
+ if [ $verbose ];then
129
+ echo inpfile=\"$inpfile\" outfile=$outfile order=$order parts=$parts tmpdir=$tmpdir prune=$prune smoothing=$smoothing dictionary=$dictionary verbose=$verbose
130
+ fi
131
+
132
+ if [ ! "$inpfile" -o ! "$outfile" ]; then
133
+ usage
134
+ exit 5
135
+ fi
136
+
137
+ if [ -e $outfile ]; then
138
+ echo "Output file $outfile already exists! either remove or rename it."
139
+ exit 6
140
+ fi
141
+
142
+ if [ -e $logfile -a $logfile != "/dev/null" -a $logfile != "/dev/stdout" ]; then
143
+ echo "Logfile $logfile already exists! either remove or rename it."
144
+ exit 7
145
+ fi
146
+
147
+ #check tmpdir
148
+ tmpdir_created=0;
149
+ if [ ! -d $tmpdir ]; then
150
+ echo "Temporary directory $tmpdir does not exist";
151
+ echo "creating $tmpdir";
152
+ mkdir -p $tmpdir;
153
+ tmpdir_created=1;
154
+ else
155
+ echo "Cleaning temporary directory $tmpdir";
156
+ rm $tmpdir/* 2> /dev/null
157
+ if [ $? != 0 ]; then
158
+ echo "Warning: some temporary files could not be removed"
159
+ fi
160
+ fi
161
+
162
+
163
+ echo "Extracting dictionary from training corpus"
164
+ $bin/dict -i="$inpfile" -o=$tmpdir/dictionary $uniform -sort=no 2> $logfile
165
+
166
+ echo "Splitting dictionary into $parts lists"
167
+ $scr/split-dict.pl --input $tmpdir/dictionary --output $tmpdir/dict. --parts $parts >> $logfile 2>&1
168
+
169
+ echo "Extracting n-gram statistics for each word list"
170
+ echo "Important: dictionary must be ordered according to order of appearance of words in data"
171
+ echo "used to generate n-gram blocks, so that sub language model blocks results ordered too"
172
+
173
+ for sdict in $tmpdir/dict.*;do
174
+ sdict=`basename $sdict`
175
+ echo $sdict;
176
+ $bin/ngt -i="$inpfile" -n=$order -gooout=y -o="$gzip -c > $tmpdir/ngram.${sdict}.gz" -fd="$tmpdir/$sdict" $dictionary -iknstat="$tmpdir/ikn.stat.$sdict" >> $logfile 2>&1 &
177
+ done
178
+
179
+ # Wait for all parallel jobs to finish
180
+ while [ 1 ]; do fg 2> /dev/null; [ $? == 1 ] && break; done
181
+
182
+ echo "Estimating language models for each word list"
183
+ for sdict in `ls $tmpdir/dict.*` ; do
184
+ sdict=`basename $sdict`
185
+ echo $sdict;
186
+
187
+ if [ $smoothing = "--kneser-ney" -o $smoothing = "--improved-kneser-ney" ]; then
188
+ $scr/build-sublm.pl $verbose $prune $smoothing "cat $tmpdir/ikn.stat.dict.*" --size $order --ngrams "$gunzip -c $tmpdir/ngram.${sdict}.gz" -sublm $tmpdir/lm.$sdict >> $logfile 2>&1 &
189
+ else
190
+ $scr/build-sublm.pl $verbose $prune $smoothing --size $order --ngrams "$gunzip -c $tmpdir/ngram.${sdict}.gz" -sublm $tmpdir/lm.$sdict >> $logfile 2>&1 &
191
+ fi
192
+
193
+ done
194
+
195
+ # Wait for all parallel jobs to finish
196
+ while [ 1 ]; do fg 2> /dev/null; [ $? == 1 ] && break; done
197
+
198
+ echo "Merging language models into $outfile"
199
+ $scr/merge-sublm.pl --size $order --sublm $tmpdir/lm.dict -lm $outfile >> $logfile 2>&1
200
+
201
+ echo "Cleaning temporary directory $tmpdir";
202
+ rm $tmpdir/* 2> /dev/null
203
+
204
+ if [ $tmpdir_created -eq 1 ]; then
205
+ echo "Removing temporary directory $tmpdir";
206
+ rmdir $tmpdir 2> /dev/null
207
+ if [ $? != 0 ]; then
208
+ echo "Warning: the temporary directory could not be removed."
209
+ fi
210
+ fi
211
+
212
+ exit 0
213
+
214
+
215
+
216
+
lm/irstlm/branches/binary_saving/scripts/build-sublm.pl ADDED
@@ -0,0 +1,339 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #! /usr/bin/perl
2
+
3
+ #*****************************************************************************
4
+ # IrstLM: IRST Language Model Toolkit
5
+ # Copyright (C) 2007 Marcello Federico, ITC-irst Trento, Italy
6
+
7
+ # This library is free software; you can redistribute it and/or
8
+ # modify it under the terms of the GNU Lesser General Public
9
+ # License as published by the Free Software Foundation; either
10
+ # version 2.1 of the License, or (at your option) any later version.
11
+
12
+ # This library is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ # Lesser General Public License for more details.
16
+
17
+ # You should have received a copy of the GNU Lesser General Public
18
+ # License along with this library; if not, write to the Free Software
19
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
+
21
+ #******************************************************************************
22
+
23
+
24
+
25
+ #first pass: read dictionary and generate 1-grams
26
+ #second pass:
27
+ #for n=2 to N
28
+ # foreach n-1-grams
29
+ # foreach n-grams with history n-1
30
+ # compute smoothing statistics
31
+ # store successors
32
+ # compute back-off probability
33
+ # compute smoothing probability
34
+ # write n-1 gram with back-off prob
35
+ # write all n-grams with smoothed probability
36
+
37
+ use strict;
38
+ use Getopt::Long "GetOptions";
39
+
40
+ my $gzip=`which gzip 2> /dev/null`;
41
+ my $gunzip=`which gunzip 2> /dev/null`;
42
+ chomp($gzip);
43
+ chomp($gunzip);
44
+ my $cutoffword="<CUTOFF>"; #special word for Google 1T-ngram cut-offs
45
+ my $cutoffvalue=39; #cut-off threshold for Google 1T-ngram cut-offs
46
+
47
+ #set defaults for optional parameters
48
+ my ($verbose,$size,$ngrams,$sublm)=(0, 0, undef, undef);
49
+ my ($witten_bell,$good_turing,$kneser_ney,$improved_kneser_ney)=(0, 0, "", "");
50
+ my ($witten_bell_flag,$good_turing_flag,$kneser_ney_flag,$improved_kneser_ney_flag)=(0, 0, 0, 0);
51
+ my ($freqshift,$prune_singletons,$cross_sentence)=(0, 0, 0);
52
+
53
+ my $help = 0;
54
+ $help = 1 unless
55
+ &GetOptions('size=i' => \$size,
56
+ 'freq-shift=i' => \$freqshift,
57
+ 'ngrams=s' => \$ngrams,
58
+ 'sublm=s' => \$sublm,
59
+ 'witten-bell' => \$witten_bell,
60
+ 'good-turing' => \$good_turing,
61
+ 'kneser-ney=s' => \$kneser_ney,
62
+ 'improved-kneser-ney=s' => \$improved_kneser_ney,
63
+ 'prune-singletons' => \$prune_singletons,
64
+ 'cross-sentence' => \$cross_sentence,
65
+ 'help' => \$help,
66
+ 'verbose' => \$verbose);
67
+
68
+
69
+ if ($help || !$size || !$ngrams || !$sublm) {
70
+ print "build-sublm.pl <options>\n",
71
+ "--size <int> maximum n-gram size for the language model\n",
72
+ "--ngrams <string> input file or command to read the ngram table\n",
73
+ "--sublm <string> output file prefix to write the sublm statistics \n",
74
+ "--freq-shift <int> (optional) value to be subtracted from all frequencies\n",
75
+ "--witten-bell (optional) use witten bell linear smoothing (default)\n",
76
+ "--kneser-ney <string> (optional) use kneser-ney smoothing with statistics in <string> \n",
77
+ "--improved-kneser-ney <string> (optional) use improved kneser-ney smoothing with statistics in <string> \n",
78
+ "--good-turing (optional) use good-turing linear smoothing\n",
79
+ "--prune-singletons (optional) remove n-grams occurring once, for n=3,4,5,... (disabled by default)\n",
80
+ "--cross-sentence (optional) include cross-sentence bounds (disabled by default)\n",
81
+ "--verbose (optional) print debugging info\n",
82
+ "--help (optional) print these instructions\n";
83
+
84
+ exit(1);
85
+ }
86
+
87
+ $witten_bell_flag = 1 if ($witten_bell);
88
+ $good_turing_flag = 1 if ($good_turing);
89
+ $kneser_ney_flag = 1 if ($kneser_ney);
90
+ $improved_kneser_ney_flag = 1 if ($improved_kneser_ney);
91
+ $witten_bell = $witten_bell_flag = 1 if ($witten_bell_flag + $kneser_ney_flag + $improved_kneser_ney_flag + $good_turing_flag) == 0;
92
+
93
+ warn "build-sublm: size $size ngrams $ngrams sublm $sublm witten-bell $witten_bell kneser-ney $kneser_ney improved-kneser-ney $improved_kneser_ney good-turing $good_turing prune-singletons $prune_singletons cross-sentence $cross_sentence\n" if $verbose;
94
+
95
+ die "build-sublm: value of --size must be larger than 0\n" if $size<1;
96
+ die "build-sublm: choose only one smoothing method\n" if ($witten_bell_flag + $kneser_ney_flag + $improved_kneser_ney_flag + $good_turing_flag) > 1;
97
+
98
+ my $log10=log(10.0); #service variable to convert log into log10
99
+ my $oldwrd=""; #variable to check if 1-gram changed
100
+ my @cnt=(); #counter of n-grams
101
+ my $totcnt=0; #total counter of n-grams
102
+ my ($ng,@ng); #read ngrams
103
+ my $ngcnt=0; #store ngram frequency
104
+ my $n;
105
+
106
+ warn "Collecting 1-gram counts\n";
107
+
108
+ open(INP,"$ngrams") || open(INP,"$ngrams|") || die "cannot open $ngrams\n";
109
+ open(GR,"|$gzip -c >${sublm}.1gr.gz") || die "cannot create ${sublm}.1gr.gz\n";
110
+
111
+ while ($ng=<INP>) {
112
+
113
+ chomp($ng); @ng=split(/[ \t]+/,$ng); $ngcnt=(pop @ng) - $freqshift;
114
+
115
+ if ($oldwrd ne $ng[0]) {
116
+ printf (GR "%s %s\n",$totcnt,$oldwrd) if $oldwrd ne '';
117
+ $totcnt=0;$oldwrd=$ng[0];
118
+ }
119
+
120
+ #update counter
121
+ $totcnt+=$ngcnt;
122
+ }
123
+
124
+ printf GR "%s %s\n",$totcnt,$oldwrd;
125
+ close(INP);
126
+ close(GR);
127
+
128
+ my (@h,$h,$hpr); #n-gram history
129
+ my (@dict,$code); #sorted dictionary of history successors
130
+ my ($diff,$singlediff,$diff1,$diff2,$diff3); #different successors of history
131
+ my (@n1,@n2,@n3,@n4,@uno3); #IKN: n-grams occurring once or twice ...
132
+ my (@beta,$beta); #IKN: n-grams occurring once or twice ...
133
+ my $locfreq;
134
+
135
+ #collect global statistics for (Improved) Kneser-Ney smoothing
136
+ if ($kneser_ney || $improved_kneser_ney) {
137
+ my $statfile=$kneser_ney || $improved_kneser_ney;
138
+ warn "load \& merge IKN statistics from $statfile \n";
139
+ open(IKN,"$statfile") || open(IKN,"$statfile|") || die "cannot open $statfile\n";
140
+ while (<IKN>) {
141
+ my($lev,$n1,$n2,$n3,$n4,$uno3)=$_=~/level: (\d+) n1: (\d+) n2: (\d+) n3: (\d+) n4: (\d+) unover3: (\d+)/;
142
+ $n1[$lev]+=$n1;$n2[$lev]+=$n2;$n3[$lev]+=$n3;$n4[$lev]+=$n4;$uno3[$lev]+=$uno3;
143
+ }
144
+ for (my $lev=1;$lev<=$#n1;$lev++) {
145
+ warn "level $lev: $n1[$lev] $n2[$lev] $n3[$lev] $n4[$lev] $uno3[$lev]\n";
146
+ }
147
+ close(IKN);
148
+ }
149
+
150
+
151
+ warn "Computing n-gram probabilities:\n";
152
+
153
+ foreach ($n=2;$n<=$size;$n++) {
154
+
155
+ $code=-1;@cnt=(); @dict=(); $totcnt=0;$diff=0; $singlediff=1; $diff1=0; $diff2=0; $diff3=0; $oldwrd="";
156
+
157
+ #compute smothing statistics
158
+ my (@beta,$beta);
159
+
160
+ if ($kneser_ney) {
161
+ if ($n1[$n]==0 || $n2[$n]==0) {
162
+ warn "Error in Kneser-Ney smoothing statistics: resorting to Witten-Bell\n";
163
+ $beta=0;
164
+ } else {
165
+ $beta=$n1[$n]/($n1[$n] + 2 * $n2[$n]);
166
+ warn "beta $n: $beta\n";
167
+ }
168
+ }
169
+
170
+ if ($improved_kneser_ney) {
171
+
172
+ my $Y=$n1[$n]/($n1[$n] + 2 * $n2[$n]);
173
+
174
+ if ($n3[$n] == 0 || $n4[$n] == 0 || $n2[$n] <= $n3[$n] || $n3[$n] <= $n4[$n]) {
175
+ warn "Warning: higher order count-of-counts are wrong\n";
176
+ warn "Fixing this problem by resorting only on the lower order count-of-counts\n";
177
+ $beta[1] = $Y;
178
+ $beta[2] = $Y;
179
+ $beta[3] = $Y;
180
+ } else {
181
+ $beta[1] = 1 - 2 * $Y * $n2[$n] / $n1[$n];
182
+ $beta[2] = 2 - 3 * $Y * $n3[$n] / $n2[$n];
183
+ $beta[3] = 3 - 4 * $Y * $n4[$n] / $n3[$n];
184
+ }
185
+ }
186
+
187
+ open(HGR,"$gunzip -c ${sublm}.".($n-1)."gr.gz|") || die "cannot open ${sublm}.".($n-1)."gr.gz\n";
188
+ open(INP,"$ngrams") || open(INP,"$ngrams|") || die "cannot open $ngrams\n";
189
+ open(GR,"|$gzip -c >${sublm}.${n}gr.gz");
190
+ open(NHGR,"|$gzip -c > ${sublm}.".($n-1)."ngr.gz") || die "cannot open ${sublm}.".($n-1)."ngr.gz";
191
+
192
+ my $ngram;
193
+ my ($reduced_h, $reduced_ng) = ("", "");
194
+
195
+ $ng=<INP>; chomp($ng); @ng=split(/[ \t]+/,$ng); $ngcnt=(pop @ng) - $freqshift;
196
+ $h=<HGR>; chomp($h); @h=split(/ +/,$h); $hpr=shift @h;
197
+ $reduced_ng=join(" ",@ng[0..$n-2]);
198
+ $reduced_h=join(" ",@h[0..$n-2]);
199
+
200
+ @cnt=(); @dict=();
201
+ $code=-1; $totcnt=0; $diff=0; $singlediff=1; $diff1=0; $diff2=0; $diff3=0; $oldwrd="";
202
+
203
+ do{
204
+
205
+ #load all n-grams starting with history h, and collect useful statistics
206
+
207
+ while ($reduced_h eq $reduced_ng){ #must be true the first time!
208
+ #print join(" ",@h[0..$n-2]),"--",join(" ",@ng[0..$n-1]),"--\n";
209
+ #print "oldwrd $oldwrd -- code $code\n";
210
+
211
+ if ($oldwrd ne $ng[$n-1]) { #could this be otherwise? [Marcello 22/5/09]
212
+ $dict[++$code]=$oldwrd=$ng[$n-1];
213
+ $diff++;
214
+ $singlediff++ if $ngcnt==1;
215
+ }
216
+
217
+ if ($diff>1 && $ng[$n-1] eq $cutoffword) { # in google n-grams
218
+ #find estimates for remaining diff and singlediff
219
+ #proportional estimate
220
+ $diff--; #remove cutoffword
221
+ my $concentration=1.0-($diff-1)/$totcnt;
222
+ my $mass=1; #$totcnt/($totcnt+$ngcnt);
223
+ my $index=(1-($concentration * $mass))/(1-1/$cutoffvalue) + (1/$cutoffvalue);
224
+ my $cutoffdiff=int($ngcnt * $index);
225
+ $cutoffdiff=1 if $cutoffdiff==0;
226
+ #print "diff $diff $totcnt cutofffreq $ngcnt -- cutoffdiff: $cutoffdiff\n";
227
+ #print "concentration:",$concentration," mass:", $mass,"\n";
228
+ $diff+=$cutoffdiff;
229
+ }
230
+ $cnt[$code]+=$ngcnt; $totcnt+=$ngcnt;
231
+
232
+ $ng=<INP>;
233
+ if (defined($ng)){
234
+ chomp($ng);
235
+ @ng=split(/[ \t]+/,$ng);$ngcnt=(pop @ng) - $freqshift;
236
+ $reduced_ng=join(" ",@ng[0..$n-2]);
237
+ }else{
238
+ last;
239
+ }
240
+ }
241
+
242
+ if ($improved_kneser_ney) {
243
+ for (my $c=0;$c<=$code;$c++) {
244
+ $diff1++ if $cnt[$c]==1;
245
+ $diff2++ if $cnt[$c]==2;
246
+ $diff3++ if $cnt[$c]>=3;
247
+ }
248
+ }
249
+
250
+ #print smoothed probabilities
251
+
252
+ my $boprob=0; #accumulate pruned probabilities
253
+ my $prob=0;
254
+
255
+ for (my $c=0;$c<=$code;$c++) {
256
+
257
+ if ($kneser_ney && $beta>0) {
258
+ $prob=($cnt[$c]-$beta)/$totcnt;
259
+ } elsif ($improved_kneser_ney) {
260
+ my $b=($cnt[$c]>= 3? $beta[3]:$beta[$cnt[$c]]);
261
+ $prob=($cnt[$c] - $b)/$totcnt;
262
+ } elsif ($good_turing && $singlediff>0) {
263
+ $prob=$cnt[$c]/($totcnt+$singlediff);
264
+ } else {
265
+ $prob=$cnt[$c]/($totcnt+$diff);
266
+ }
267
+
268
+ $ngram=join(" ",$reduced_h,$dict[$c]);
269
+
270
+ #rm singleton n-grams for (n>=3), if flag is active
271
+ #rm n-grams (n>=2) containing cross-sentence boundaries, if flag is not active
272
+ #rm n-grams containing <unk> or <cutoff> except for 1-grams
273
+
274
+ #warn "considering $size $n |$ngram|\n";
275
+ if (($prune_singletons && $n>=3 && $cnt[$c]==1) ||
276
+ (!$cross_sentence && $n>=2 && &CrossSentence($ngram)) ||
277
+ ($dict[$c]=~/<UNK>/i) || ($n>=2 && $h=~/<UNK>/i) ||
278
+ ($dict[$c] eq $cutoffword)
279
+ ) {
280
+
281
+ $boprob+=$prob;
282
+
283
+ if ($n<$size) { #output this anyway because it will be an history for n+1
284
+ printf GR "%f %s %s\n",-10000,$reduced_h,$dict[$c];
285
+ }
286
+ } else { # print unpruned n-1 gram
287
+ printf(GR "%f %s %s\n",log($prob)/$log10,$reduced_h,$dict[$c]);
288
+ }
289
+ }
290
+
291
+ #rewrite history including back-off weight
292
+ print "$reduced_h --- $h --- $reduced_ng --- $ng --- $totcnt $diff \n" if $totcnt+$diff==0 && defined($ng);
293
+
294
+ #check if history has to be pruned out
295
+ if ($hpr==-10000) {
296
+ #skip this history
297
+ } elsif ($kneser_ney && $beta>0) {
298
+ printf NHGR "%s %f\n",$h,log($boprob+($beta * $diff/$totcnt))/$log10;
299
+ } elsif ($improved_kneser_ney) {
300
+ my $lambda=($beta[1] * $diff1 + $beta[2] * $diff2 + $beta[3] * $diff3)/$totcnt;
301
+ printf NHGR "%s %f\n",$h,log($boprob+$lambda)/$log10;
302
+ } elsif ($good_turing && $singlediff>0) {
303
+ printf NHGR "%s %f\n",$h,log($boprob+($singlediff/($totcnt+$singlediff)))/$log10;
304
+ } else {
305
+ printf NHGR "%s %f\n",$h,log($boprob+($diff/($totcnt+$diff)))/$log10;
306
+ }
307
+
308
+ #reset smoothing statistics
309
+ $code=-1;@cnt=(); @dict=(); $totcnt=0;$diff=0;$singlediff=0;$oldwrd="";$diff1=0;$diff2=0;$diff3=0;$locfreq=0;
310
+
311
+ #read next history
312
+ $h=<HGR>;
313
+ if (defined($h)){
314
+ chomp($h); @h=split(/ +/,$h); $hpr=shift @h;
315
+ $reduced_h=join(" ",@h[0..$n-2]);
316
+ }else{
317
+ die "ERROR: Somehing could be wrong: history are terminated before ngrams!" if defined($ng);
318
+ }
319
+ }until (!defined($ng)); #n-grams are over
320
+
321
+ close(HGR); close(INP); close(GR); close(NHGR);
322
+ rename("${sublm}.".($n-1)."ngr.gz","${sublm}.".($n-1)."gr.gz");
323
+ }
324
+
325
+
326
+ #check if n-gram contains cross-sentence boundaries
327
+ #this happens if
328
+ # either <s> occurs not only in the first place
329
+ # or </s> occurs not only in thes last place
330
+
331
+ sub CrossSentence(){
332
+ my ($ngram) = @_;
333
+ # warn "check CrossSentence |$ngram|\n";
334
+ if (($ngram=~/ <s>/i) || ($ngram=~/<\/s> /i)) {
335
+ # warn "delete $ngram\n";
336
+ return 1;
337
+ }
338
+ return 0;
339
+ }
lm/irstlm/branches/binary_saving/scripts/goograms2ngrams.pl ADDED
@@ -0,0 +1,139 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #! /usr/bin/perl
2
+
3
+ #*****************************************************************************
4
+ # IrstLM: IRST Language Model Toolkit
5
+ # Copyright (C) 2007 Marcello Federico, ITC-irst Trento, Italy
6
+
7
+ # This library is free software; you can redistribute it and/or
8
+ # modify it under the terms of the GNU Lesser General Public
9
+ # License as published by the Free Software Foundation; either
10
+ # version 2.1 of the License, or (at your option) any later version.
11
+
12
+ # This library is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ # Lesser General Public License for more details.
16
+
17
+ # You should have received a copy of the GNU Lesser General Public
18
+ # License along with this library; if not, write to the Free Software
19
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
+
21
+ #******************************************************************************
22
+
23
+
24
+
25
+ #transforms google n-grams into real n-grams so that counts are
26
+ #consistent with respect to lower order n-grams
27
+
28
+ use strict;
29
+ use Getopt::Long "GetOptions";
30
+
31
+ my $gzip=`which gzip 2> /dev/null`;
32
+ my $gunzip=`which gunzip 2> /dev/null`;
33
+ chomp($gzip);
34
+ chomp($gunzip);
35
+
36
+ my $cutoffword="<CUTOFF>"; #special word for Google 1T-ngram cut-offs
37
+ my $blocksize=10000000; #this is the blocksize of produced n-grams
38
+ my $from=2; #starting n-gram level
39
+
40
+ my($help,$verbose,$maxsize,$googledir,$ngramdir)=();
41
+
42
+ $help=1 unless
43
+ &GetOptions('maxsize=i' => \$maxsize,
44
+ 'startfrom=i' => \$from,
45
+ 'googledir=s' => \$googledir,
46
+ 'ngramdir=s' => \$ngramdir,
47
+ 'help' => \$help,
48
+ 'verbose' => \$verbose);
49
+
50
+
51
+ if ($help || !$maxsize || !$googledir || !$ngramdir ){
52
+ print "goograms2ngrams.pl <options>\n",
53
+ "--maxsize <int> maximum n-gram level of conversion\n",
54
+ "--startfrom <int> skip initial levels if already available (default 2)\n",
55
+ "--googledir <string> directory containing the google-grams dirs (1gms,2gms, ...)\n",
56
+ "--ngramdir <string> directory where to write the n-grams \n",
57
+ "--verbose (optional) very talktive output\n",
58
+ "--help (optional) print these instructions\n";
59
+
60
+ exit(1);
61
+ }
62
+
63
+ warn "goograms2ngrams: maxsize $maxsize from $from googledir $googledir ngramdir $ngramdir \n"
64
+ if $verbose;
65
+
66
+ die "goograms2ngrams: value of --maxsize must be between 2 and 5\n" if $maxsize<2 || $maxsize>5;
67
+ die "goograms2ngrams: cannot find --googledir $googledir \n" if ! -d $googledir;
68
+ die "goograms2ngrams: cannot find --ngramdir $ngramdir \n" if ! -d $ngramdir;
69
+
70
+
71
+ my ($n,$hgrams,$ggrams,$ngrams)=();
72
+ my ($ggr,$hgr,$hgrcnt,$ggrcnt,$totggrcnt)=();
73
+ my (@ggr,@hgr)=();
74
+
75
+ foreach ($n=$from;$n<=$maxsize;$n++){
76
+
77
+ my $counter=0;
78
+
79
+ warn "Converting google-$n-grams into $n-gram\n";
80
+
81
+ $hgrams=($n==2?"${googledir}/1gms/vocab.gz":"${ngramdir}/".($n-1)."grams-*.gz");
82
+ open(HGR,"$gunzip -c $hgrams |") || die "cannot open $hgrams\n";
83
+
84
+ $ggrams="${googledir}/".($n)."gms/".($n)."gm-*";
85
+ open(GGR,"$gunzip -c $ggrams |") || die "cannot open $ggrams\n";
86
+
87
+ my $id = sprintf("%04d", 0);
88
+ $ngrams="${ngramdir}/".($n)."grams-${id}.gz";
89
+
90
+ next if -e $ngrams; #go to next step if file exists already;
91
+ open(NGR,"|$gzip -c > $ngrams ") || die "cannot open $ngrams\n";
92
+
93
+ chop($ggr=<GGR>); @ggr=split(/[ \t]/,$ggr);$ggrcnt=(pop @ggr);
94
+ #warn "ggr: ",$ggrcnt," ",join(" ",@ggr[0..$n-1]),"\n";
95
+
96
+ while ($hgr=<HGR>){
97
+
98
+ $counter++;
99
+ printf(STDERR ".") if ($counter % 1000000)==0;
100
+
101
+ chop($hgr); @hgr=split(/[ \t]/,$hgr); $hgrcnt=(pop @hgr);
102
+ #warn "hgr: ",$hgrcnt," ",join(" ",@hgr[0..$n-2]),"\n";
103
+
104
+ if (join(" ",@hgr[0..$n-2]) eq join(" ",@ggr[0..$n-2])){
105
+
106
+ $totggrcnt=0;
107
+ do{
108
+ $totggrcnt+=$ggrcnt;
109
+ print NGR join(" ",@ggr[0..$n-1])," ",$ggrcnt,"\n";
110
+ chop($ggr=<GGR>);@ggr=split(/[ \t]/,$ggr);$ggrcnt=(pop @ggr);
111
+ }until (join(" ",@hgr[0..$n-2]) ne join(" ",@ggr[0..$n-2]));
112
+
113
+ if ($hgrcnt > $totggrcnt){
114
+ #warn "difference: $hgrcnt $totggrcnt =",$hgrcnt-$totggrcnt,"\n";
115
+ print NGR join(" ",@hgr[0..$n-1])," ",$cutoffword," ",$hgrcnt-$totggrcnt,"\n";
116
+ }
117
+ }
118
+ else{
119
+ #warn "fully pruned context: $hgr\n";
120
+ print NGR join(" ",@hgr[0..$n-1])," ",$cutoffword," ",$hgrcnt,"\n";
121
+ }
122
+
123
+ if (($counter % $blocksize)==0){
124
+ close(NGR);
125
+ my $id = sprintf("%04d", int($counter / $blocksize));
126
+ $ngrams="${ngramdir}/".($n)."grams-${id}.gz";
127
+ open(NGR,"|$gzip -c > $ngrams ") || die "cannot open $ngrams\n";
128
+ }
129
+
130
+ }
131
+
132
+ close(HGR);close(NGR);close(GGR);
133
+
134
+ }
135
+
136
+
137
+
138
+
139
+
lm/irstlm/branches/binary_saving/scripts/lm-stat.pl ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #! /usr/bin/perl
2
+
3
+ #*****************************************************************************
4
+ # IrstLM: IRST Language Model Toolkit
5
+ # Copyright (C) 2007 Marcello Federico, ITC-irst Trento, Italy
6
+
7
+ # This library is free software; you can redistribute it and/or
8
+ # modify it under the terms of the GNU Lesser General Public
9
+ # License as published by the Free Software Foundation; either
10
+ # version 2.1 of the License, or (at your option) any later version.
11
+
12
+ # This library is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ # Lesser General Public License for more details.
16
+
17
+ # You should have received a copy of the GNU Lesser General Public
18
+ # License along with this library; if not, write to the Free Software
19
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
+
21
+ #******************************************************************************
22
+ #computes LM statistics over a string
23
+
24
+ use strict;
25
+ use Getopt::Long "GetOptions";
26
+
27
+ my ($help,$lm,$txt)=();
28
+ $help=1 unless
29
+
30
+ &GetOptions('lm=s' => \$lm,
31
+ 'txt=s' => \$txt,
32
+ 'help' => \$help,);
33
+
34
+ if ($help || !$lm || !$txt){
35
+ print "lm-stat.pl <options>\n",
36
+ "--lm <string> language model file \n",
37
+ "--txt <string> text file\n",
38
+ "--help print these instructions\n";
39
+ exit(1);
40
+ }
41
+
42
+ if (!$ENV{IRSTLM}){
43
+ print "Set environment variable IRSTLM with path to the irstlm directory\n";
44
+ exit(1);
45
+ }
46
+
47
+
48
+
49
+ my $clm="$ENV{IRSTLM}/bin/compile-lm";
50
+
51
+ open (OUT,"$clm $lm --eval $txt --debug 1|");
52
+ while (<OUT>){
53
+ print;
54
+ }
55
+
56
+ close(OUT);
lm/irstlm/branches/binary_saving/scripts/merge-sublm.pl ADDED
@@ -0,0 +1,196 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #! /usr/bin/perl
2
+
3
+ #*****************************************************************************
4
+ # IrstLM: IRST Language Model Toolkit
5
+ # Copyright (C) 2007 Marcello Federico, ITC-irst Trento, Italy
6
+
7
+ # This library is free software; you can redistribute it and/or
8
+ # modify it under the terms of the GNU Lesser General Public
9
+ # License as published by the Free Software Foundation; either
10
+ # version 2.1 of the License, or (at your option) any later version.
11
+
12
+ # This library is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ # Lesser General Public License for more details.
16
+
17
+ # You should have received a copy of the GNU Lesser General Public
18
+ # License along with this library; if not, write to the Free Software
19
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
+
21
+ #******************************************************************************
22
+ #merge prefix LMs into one single file
23
+
24
+ use strict;
25
+ use Getopt::Long "GetOptions";
26
+
27
+ my ($help,$lm,$size,$sublm)=();
28
+ $help=1 unless
29
+ &GetOptions('size=i' => \$size,
30
+ 'lm=s' => \$lm,
31
+ 'sublm=s' => \$sublm,
32
+ 'help' => \$help,);
33
+
34
+
35
+ if ($help || !$size || !$lm || !$sublm){
36
+ print "merge-sublm.pl <options>\n",
37
+ "--size <int> maximum n-gram size for the language model\n",
38
+ "--sublm <string> path identifying all prefix sub LMs \n",
39
+ "--lm <string> name of final LM file (will be gzipped)\n",
40
+ "--help (optional) print these instructions\n";
41
+ exit(1);
42
+ }
43
+
44
+
45
+ my $gzip=`which gzip 2> /dev/null`;
46
+ my $gunzip=`which gunzip 2> /dev/null`;
47
+ chomp($gzip);
48
+ chomp($gunzip);
49
+
50
+ warn "merge-sublm.pl --size $size --sublm $sublm --lm $lm\n";
51
+
52
+ warn "Compute total sizes of n-grams\n";
53
+ my @size=(); #number of n-grams for each level
54
+ my $tot1gr=0; #total frequency of 1-grams
55
+ my $unk=0; #frequency of <unk>
56
+ my $pr; #probability of 1-grams
57
+ my (@files,$files); #sublm files for a given n-gram size
58
+
59
+ for (my $n=1;$n<=$size;$n++){
60
+
61
+ @files=map { glob($_) } "${sublm}*.${n}gr*";
62
+ $files=join(" ",@files);
63
+ $files || die "cannot find sublm files\n";
64
+ warn "join files $files\n";
65
+
66
+ if ($n==1){
67
+ open(INP,"$gunzip -c $files|") || die "cannot open $files\n";
68
+ while(my $line = <INP>){
69
+ $size[$n]++;
70
+ chomp($line);
71
+ warn "there is an empty line in any of these files ($files); this should not happen\n" if $line =~ /^$/;
72
+ my @words = split(/ +/,$line);
73
+ #cut down counts for sentence initial
74
+ $words[0]=1 if $words[1]=~/<s>/;
75
+ #there could be more independent <unk> words
76
+ #generated by ngt with -sd option
77
+ $size[$n]-- if $unk && $words[1] eq "<unk>";
78
+ $unk+=$words[0] if $words[1]=~/<unk>/i;
79
+ $tot1gr+=$words[0];
80
+ }
81
+ close(INP);
82
+ if ($unk==0){
83
+ warn "implicitely add <unk> word to counters\n";
84
+ $tot1gr+=$size[$n]; #equivalent to WB smoothing
85
+ $size[$n]++;
86
+ }
87
+ }else{
88
+ for (my $j=0;$j<scalar(@files);$j++){
89
+ safesystem("$gunzip -c $files[$j] | wc -l > wc$$") or die;
90
+ open(INP,"wc$$") || die "cannot open wc$$\n";
91
+ my $wc = <INP>;
92
+ chomp($wc);
93
+ $size[$n] += $wc;
94
+ close(INP);
95
+ unlink("wc$$");
96
+ }
97
+ }
98
+ warn "n:$n size:$size[$n] unk:$unk\n";
99
+ }
100
+
101
+
102
+
103
+ warn "Merge all sub LMs\n";
104
+
105
+ $lm.=".gz" if $lm!~/.gz$/;
106
+ open(LM,"|$gzip -c > $lm") || die "Cannot open $lm\n";
107
+
108
+ warn "Write LM Header\n";
109
+ printf LM "iARPA\n";
110
+
111
+ printf LM "\n\\data\\\n";
112
+ for (my $n=1;$n<=$size;$n++){
113
+ printf LM "ngram $n= $size[$n]\n";
114
+ }
115
+ printf LM "\n\n";
116
+ close(LM);
117
+
118
+ warn "Writing LM Tables\n";
119
+ for (my $n=1;$n<=$size;$n++){
120
+
121
+ warn "Level $n\n";
122
+
123
+ @files=map { glob($_) } "${sublm}*.${n}gr*";
124
+ $files=join(" ",@files);
125
+ warn "input from: $files\n";
126
+ if ($n==1){
127
+ open(INP,"$gunzip -c $files|") || die "cannot open $files\n";
128
+ open(LM,"|$gzip -c >> $lm");
129
+ printf LM "\\$n-grams:\n";
130
+ while(my $line = <INP>){
131
+ chomp($line);
132
+ warn "there is an empty line in any of these files ($files); this should not happen\n" if $line =~ /^$/;
133
+ #lowercase some expressions of google n-grams
134
+ $line=~s/<S>/<s>/g;
135
+ $line=~s/<\/S>/<\/s>/g;
136
+ $line=~s/<UNK>/<unk>/g;
137
+
138
+ my @words = split(/ +/,$line);
139
+
140
+ #always print unk a the eqnd
141
+ next if $words[1]=~/<unk>/i;
142
+
143
+ #cut down counts for sentence initial
144
+ $words[0]=1 if $words[1]=~/<s>/i;
145
+
146
+ #apply witten-bell smoothing on 1-grams
147
+ $pr=(log($words[0]+1)-log($tot1gr+$size[1]))/log(10.0);
148
+ shift @words;
149
+ printf LM "%f %s\n",$pr,join(" ",@words);
150
+ }
151
+ close(INP);
152
+
153
+ #print final <unk>
154
+ #witten-bell smoothing of <unk> probability
155
+ if ($unk){
156
+ $pr=(log($unk+1)-log($tot1gr+$size[1]))/log(10.0);
157
+ }else{
158
+ $pr=(log($size[1]-1+1)-log($tot1gr+$size[1]))/log(10.0);
159
+ }
160
+
161
+ printf LM "%f <unk>\n",$pr;
162
+ close(LM);
163
+ }else{
164
+ open(LM,"|$gzip -c >> $lm");
165
+ printf LM "\\$n-grams:\n";
166
+ close(LM);
167
+ for (my $j=0;$j<scalar(@files);$j++){
168
+ safesystem("$gunzip -c $files[$j] | gzip -c >> $lm") or die;
169
+ }
170
+ }
171
+
172
+ }
173
+
174
+ open(LM,"|$gzip -c >> $lm") || die "Cannot open $lm\n";
175
+ printf LM "\\end\\\n";
176
+ close(LM);
177
+
178
+ sub safesystem {
179
+ print STDERR "Executing: @_\n";
180
+ system(@_);
181
+ if ($? == -1) {
182
+ print STDERR "Failed to execute: @_\n $!\n";
183
+ exit(1);
184
+ }
185
+ elsif ($? & 127) {
186
+ printf STDERR "Execution of: @_\n died with signal %d, %s coredump\n",
187
+ ($? & 127), ($? & 128) ? 'with' : 'without';
188
+ exit(1);
189
+ }
190
+ else {
191
+ my $exitcode = $? >> 8;
192
+ print STDERR "Exit code: $exitcode\n" if $exitcode;
193
+ return ! $exitcode;
194
+ }
195
+ }
196
+
lm/irstlm/branches/binary_saving/scripts/ngram-split.pl ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #! /usr/bin/perl
2
+
3
+ #*****************************************************************************
4
+ # IrstLM: IRST Language Model Toolkit
5
+ # Copyright (C) 2007 Marcello Federico, ITC-irst Trento, Italy
6
+
7
+ # This library is free software; you can redistribute it and/or
8
+ # modify it under the terms of the GNU Lesser General Public
9
+ # License as published by the Free Software Foundation; either
10
+ # version 2.1 of the License, or (at your option) any later version.
11
+
12
+ # This library is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ # Lesser General Public License for more details.
16
+
17
+ # You should have received a copy of the GNU Lesser General Public
18
+ # License along with this library; if not, write to the Free Software
19
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
+
21
+ #******************************************************************************
22
+
23
+ #re-segment google n-gram count files into files so that
24
+ #n-grams starting with a given word (prefix) are all
25
+ #contained in one file.
26
+
27
+
28
+ $max_pref=10000; #number of prefixes to be put in one file
29
+ $max_ngram=5000000;#number of n-grams to be put in one file
30
+ $file_cnt=0; #counter of files
31
+ $pref_cnt=0; #counter of prefixes in the current file
32
+ $ngram_cnt=0; #counter of n-gram in the current file
33
+
34
+ $path=($ARGV[0]?$ARGV[0]:"goong"); #path of files to be created
35
+
36
+ $gzip=`which gzip`;
37
+ chomp($gzip);
38
+
39
+ $pwrd="";
40
+ open(OUT,sprintf("|$gzip -c > %s.%04d.gz",$path,++$file_cnt));
41
+
42
+ while ($ng=<STDIN>){
43
+ ($wrd)=$ng=~/^([^ ]+)/;
44
+ #warn "$wrd\n";
45
+ if ($pwrd ne $wrd){
46
+ $pwrd=$wrd;
47
+ if ($file_pref>$max_pref || $ngram_cnt>$max_ngram){
48
+ warn "it's time to change file\n";
49
+ close(OUT);
50
+ open(OUT,sprintf("|$gzip -c > %s.%04d.gz",$path,++$file_cnt));
51
+ $pref_cnt=$ngram_cnt=0;
52
+ }
53
+ else{
54
+ $pref_cnt++;
55
+ }
56
+ }
57
+ print OUT $ng;
58
+ $ngram_cnt++;
59
+ }
60
+ close(OUT);
61
+
lm/irstlm/branches/binary_saving/scripts/other/astyle_Darwin ADDED
Binary file (343 kB). View file
 
lm/irstlm/branches/binary_saving/scripts/other/astyle_Linux ADDED
Binary file (325 kB). View file
 
lm/irstlm/branches/binary_saving/scripts/other/beautify.perl ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/perl
2
+
3
+ my $os=`uname | tr -d '\012'`;
4
+ my $dir=`dirname $0 | tr -d '\012'`;
5
+ my $astyle="$dir/astyle_$os";
6
+
7
+ opendir(DIR,".") or die "Can't open the current directory: $!\n";
8
+
9
+ # read file/directory names in that directory into @names
10
+ @names = readdir(DIR) or die "Unable to read current dir:$!\n";
11
+
12
+ foreach $name (@names) {
13
+ next if ($name eq "."); # skip the current directory entry
14
+ next if ($name eq ".."); # skip the parent directory entry
15
+
16
+ if (-d $name){ # is this a directory?
17
+ `$astyle --style="k&r" -s2 --recursive -v "$name/*.h" "$name/*.cpp"`;
18
+ next; # can skip to the next name in the for loop
19
+ }
20
+ }
21
+
22
+ closedir(DIR);
lm/irstlm/branches/binary_saving/scripts/rm-start-end.sh ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ #! /bin/bash
2
+
3
+ #rm start-end symbols
4
+
5
+ sed 's/<s>//g' | sed 's/<\/s>//g' | sed 's/^ *//' | sed 's/ *$//' | sed '/^$/d'
6
+
lm/irstlm/branches/binary_saving/scripts/sort-lm.pl ADDED
@@ -0,0 +1,120 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #! /usr/bin/perl
2
+
3
+ #*****************************************************************************
4
+ # IrstLM: IRST Language Model Toolkit
5
+ # Copyright (C) 2010 Marcello Federico, FBK-irst Trento, Italy
6
+
7
+ # This library is free software; you can redistribute it and/or
8
+ # modify it under the terms of the GNU Lesser General Public
9
+ # License as published by the Free Software Foundation; either
10
+ # version 2.1 of the License, or (at your option) any later version.
11
+
12
+ # This library is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ # Lesser General Public License for more details.
16
+
17
+ # You should have received a copy of the GNU Lesser General Public
18
+ # License along with this library; if not, write to the Free Software
19
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
+
21
+ #******************************************************************************
22
+ #Sorts n-grams of an ARPA file according to lexicographic order.
23
+ #Inverted sorting option is propedeutic to building a binary
24
+ #lmtable with compile-lm with n-grams stored in reverted order.
25
+
26
+ use strict;
27
+ use Getopt::Long "GetOptions";
28
+
29
+ my ($help,$ilm,$olm,$inv)=();
30
+ $help=1 unless
31
+
32
+ $ilm="/dev/stdin";
33
+ $olm="/dev/stdout";
34
+
35
+ &GetOptions('ilm=s' => \$ilm,
36
+ 'olm=s' => \$olm,
37
+ 'inv' => \$inv,
38
+ 'help' => \$help,);
39
+
40
+ if ($help || !$ilm || !$olm){
41
+ print "sort-lm.pl [--ilm <fname>] [--olm <fname>] [--inv] \n",
42
+ "-ilm <fname> input ARPA LM filename (default /dev/stdin) \n",
43
+ "-olm <fname> output ARPA LM filename (default /dev/stdout)\n",
44
+ "-inv inverted n-gram sort for compile-lm \n",
45
+ "-help print these instructions\n";
46
+ exit(1);
47
+ }
48
+
49
+
50
+ my $order=0;
51
+ my $sortcmd="";
52
+
53
+ $ENV{'LC_ALL'}='C';
54
+
55
+ open (INP, "< $ilm") || die "cannot open input LM file: $ilm\n";
56
+ open (OUT, "> $olm") || die "cannot open output LM file: $olm\n";
57
+
58
+
59
+ warn "reading from standard input\n" if $ilm eq "/dev/stdin";
60
+ warn "writing to standard output\n" if $olm eq "/dev/stdout";
61
+
62
+ $_=<INP>;
63
+
64
+ #sanity check
65
+ die "Error: input cannot be an intermediate iARPA file. First convert it to ARPA format with compile-lm.\n" if
66
+ $_=~/^iARPA/;
67
+
68
+ my $isQuantized=0;
69
+ $isQuantized=1 if $_=~/^qARPA/;
70
+
71
+ while(!/^\\end\\/){
72
+
73
+
74
+ if (($order)=$_=~/^\\(\d+)-grams:/){
75
+ print(OUT $_);$_=<INP>;
76
+ if ($isQuantized){
77
+ print(OUT $_); chop $_;#print centers
78
+ my $centers=$_; $_=<INP>;
79
+ warn "skip $centers centers\n";
80
+ for (my $c=1;$c<=$centers;$c++){
81
+ print(OUT $_);$_=<INP>;
82
+ }
83
+
84
+ }
85
+ #sort command
86
+ #$sortcmd="sort -b"; #does not seem to work properly
87
+ $sortcmd="sort ";
88
+ if ($inv){
89
+ warn "inverted sorting of $order-grams\n";
90
+ for (my $n=$order;$n>0;$n--){
91
+ $sortcmd.=" -k ".($n+1).",".($n+1);
92
+ }
93
+ }else{
94
+ warn "direct sorting of $order-grams\n";
95
+ for (my $n=1;$n<=$order;$n++){
96
+ $sortcmd.=" -k ".($n+1).",".($n+1);
97
+ }
98
+ }
99
+
100
+ close(OUT);open (OUT,"|$sortcmd >> $olm");
101
+
102
+
103
+ do{
104
+ print(OUT $_);$_=<INP>;
105
+
106
+ }until (/^\\/ || /^\n/);
107
+
108
+ close(OUT); open(OUT, ">> $olm");
109
+
110
+ }
111
+ else{
112
+ print(OUT $_);$_=<INP>;
113
+ }
114
+
115
+ }
116
+
117
+ print(OUT $_);
118
+
119
+ close(INP);
120
+ close(OUT);
lm/irstlm/branches/binary_saving/scripts/split-dict.pl ADDED
@@ -0,0 +1,150 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #! /usr/bin/perl
2
+
3
+ #*****************************************************************************
4
+ # IrstLM: IRST Language Model Toolkit
5
+ # Copyright (C) 2007 Marcello Federico, ITC-irst Trento, Italy
6
+
7
+ # This library is free software; you can redistribute it and/or
8
+ # modify it under the terms of the GNU Lesser General Public
9
+ # License as published by the Free Software Foundation; either
10
+ # version 2.1 of the License, or (at your option) any later version.
11
+
12
+ # This library is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ # Lesser General Public License for more details.
16
+
17
+ # You should have received a copy of the GNU Lesser General Public
18
+ # License along with this library; if not, write to the Free Software
19
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
+
21
+ #******************************************************************************
22
+
23
+ #usage:
24
+ #split-dict.pl <input> <output> <parts>
25
+ #It splits the <input> dictionary into <parts> dictionaries
26
+ #(named <output000>, ... <output999>)
27
+ #splitting is balanced wrt to frequency of the <input> dictionary
28
+ #if not available a frequency of 1 is considered
29
+
30
+ use strict;
31
+ use Getopt::Long "GetOptions";
32
+
33
+ my ($help,$input,$output,$parts)=();
34
+
35
+ $help=1 unless
36
+ &GetOptions('input=s' => \$input,
37
+ 'output=s' => \$output,
38
+ 'parts=i' => \$parts,
39
+ 'help' => \$help,);
40
+
41
+ if ($help || !$input || !$output || !$parts){
42
+
43
+ print "split-dict.pl <options>\n",
44
+ "--input <string> input dictionary with frequencies\n",
45
+ "--output <string> prefix of output dictionaries\n",
46
+ "--parts <int> number of parts to split dictionary into \n",
47
+ "--help (optional) print these instructions\n",
48
+ "Remarks: dictionary must be generated with IRSTLM command dict\n",
49
+ " if dictionary does not contain frequencies, then a\n",
50
+ " frequency 1 is assumed for all words.\n";
51
+
52
+ exit(1);
53
+ }
54
+
55
+
56
+
57
+ my $freqflag=0;
58
+ my ($w,$f,$globf,$thr);
59
+ my (@D,@F,%S,@C);
60
+ open(IN,"$input");
61
+
62
+ chomp($_=<IN>);
63
+ #if input is a dictionary.
64
+ if (/^dictionary[ \t]+\d+[ \t]+\d+$/i){
65
+ my ($dummy,$size);
66
+ ($dummy,$dummy,$size)=split(/[ \t]+/,$_);
67
+ $freqflag=1 if /DICTIONARY/;
68
+ }
69
+
70
+ $globf=0;
71
+ while(chomp($_=<IN>)){
72
+ if ($freqflag){
73
+ ($w,$f)=split(/[ \t]+/,$_);
74
+ }
75
+ else{
76
+ $w=$_;
77
+ $f=1;
78
+ }
79
+ push @D, $w;
80
+ push @F, $f;
81
+ $globf+=$f;
82
+ }
83
+ close (IN);
84
+
85
+ $thr=$globf/$parts;
86
+ my $totf=0;
87
+ print STDERR "Dictionary 0: (thr: $thr , $globf, $totf , $parts)\n";
88
+
89
+ my $sfx=0;
90
+ my $w;
91
+ for (my $i=0;$i<=$#D;$i++){
92
+
93
+ # if the remaining words are less than or equal to
94
+ # the number of remaining sub-dictionaries to create
95
+ # put only one word per each sub-dictionary.
96
+ if (($totf>0) && ($#D+1-$i) <= ($parts-1-$sfx)){
97
+ # recompute threshold on the remaining global frequency
98
+ # according to the number of remaining parts
99
+ $sfx++;
100
+ $globf-=$totf;
101
+ $thr=($globf)/($parts-$sfx);
102
+ print STDERR "Dictionary $sfx: (thr: $thr , $globf , $totf , ",($parts-$sfx),")\n";
103
+ $totf=0;
104
+ }
105
+
106
+ $totf+=$F[$i];
107
+ $w=$D[$i];
108
+ $S{$w}=$sfx;
109
+ $C[$sfx]++;
110
+ if ($totf>$thr){
111
+ # recompute threshold on the remaining global frequency
112
+ # according to the number of remaining parts
113
+ $sfx++;
114
+ $globf-=$totf;
115
+ $thr=($globf)/($parts-$sfx);
116
+ print STDERR "Dictionary $sfx: (thr: $thr , $globf , $totf , ",($parts-$sfx),")\n";
117
+ $totf=0;
118
+ }
119
+ }
120
+
121
+
122
+ my $oldsfx=-1;
123
+ for (my $i=0;$i<=$#D;$i++){
124
+ $w=$D[$i];
125
+ $sfx="0000$S{$w}";
126
+ $sfx=~s/.+(\d{3})/$1/;
127
+ if ($sfx != $oldsfx){
128
+ #print STDERR "opening $output$sfx\n";
129
+ close (OUT) if $oldsfx!= -1;
130
+ open(OUT,">$output$sfx");
131
+ if ($freqflag){
132
+ print OUT "DICTIONARY 0 $C[$sfx]\n";
133
+ }
134
+ else{
135
+ print OUT "dictionary 0 $C[$sfx]\n";
136
+ }
137
+ $oldsfx=$sfx;
138
+ }
139
+ if ($freqflag){
140
+ print OUT "$w $F[$i]\n";
141
+ }
142
+ else{
143
+ print OUT "$w\n";
144
+ }
145
+ }
146
+ close (OUT) if $oldsfx!= -1;
147
+
148
+ my $numdict=$S{$D[$#D]}+1;
149
+ die "Only $numdict dictionaries were crested instead of $parts!" if ($numdict != $parts);
150
+
lm/irstlm/branches/binary_saving/scripts/split-ngt.sh ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #! /bin/bash
2
+
3
+ #usage:
4
+ #ngt-split.sh <input> <output> <size> <parts>
5
+ #It creates <parts> files (named <output.000>, ... <output.999>)
6
+ #containing ngram statistics (of <order> length) in Google format
7
+ #These files are a partition of the whole set of ngrams
8
+
9
+ basedir=$IRSTLM
10
+ bindir=$basedir/bin
11
+ scriptdir=$basedir/scripts
12
+
13
+ unset par
14
+ while [ $# -gt 0 ]
15
+ do
16
+ echo "$0: arg $1"
17
+ par[${#par[@]}]="$1"
18
+ shift
19
+ done
20
+
21
+ inputfile=${par[0]}
22
+ outputfile=${par[1]}
23
+ order=${par[2]}
24
+ parts=${par[3]}
25
+
26
+ dictfile=dict$$
27
+
28
+ $bindir/dict -i="$inputfile" -o=$dictfile -f=y -sort=n
29
+
30
+ $scriptdir/split-dict.pl --input $dictfile --output ${dictfile}. --parts $parts
31
+
32
+ rm $dictfile
33
+
34
+ for d in `ls ${dictfile}.*` ; do
35
+ w=`echo $d | perl -pe 's/.+(\.[0-9]+)$/$1/i'`
36
+ w="$outputfile$w"
37
+ echo "$bindir/ngt -i="$inputfile" -n=$order -gooout=y -o=$w -fd=$d > /dev/null"
38
+ $bindir/ngt -n=$order -gooout=y -o=$w -fd=$d -i="$inputfile" > /dev/null
39
+ rm $d
40
+ done
41
+
42
+ exit
lm/irstlm/branches/binary_saving/scripts/wrapper ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ #! /bin/sh
2
+
3
+ #set machine type for compilation
4
+ MY_ARCH=`uname -m`
5
+
6
+ name=`basename $0`
7
+ dir=`dirname $0`"/$MY_ARCH"
8
+
9
+ $dir/$name "$@"
10
+
lm/irstlm/branches/binary_saving/src/Makefile.am ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ lib_LTLIBRARIES = libirstlm.la
2
+
3
+ AM_CXXFLAGS = -isystem/usr/include -W -Wall -ffor-scope -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES $(BOOST_CPPFLAGS) -DMYCODESIZE=3
4
+
5
+ libirstlm_ladir = ${includedir}
6
+
7
+ libirstlm_la_HEADERS = \
8
+ cmd.h \
9
+ dictionary.h \
10
+ gzfilebuf.h \
11
+ htable.h \
12
+ index.h \
13
+ lmContainer.h \
14
+ lmclass.h \
15
+ lmmacro.h \
16
+ lmtable.h \
17
+ lmInterpolation.h \
18
+ mempool.h \
19
+ mfstream.h \
20
+ n_gram.h \
21
+ ngramcache.h \
22
+ ngramtable.h \
23
+ timer.h \
24
+ util.h \
25
+ interplm.h \
26
+ linearlm.h \
27
+ mdiadapt.h \
28
+ mixture.h \
29
+ normcache.h \
30
+ shiftlm.h \
31
+ cplsa.h \
32
+ doc.h
33
+
34
+ libirstlm_la_SOURCES = \
35
+ cmd.c \
36
+ dictionary.cpp \
37
+ htable.cpp \
38
+ lmContainer.cpp \
39
+ lmclass.cpp \
40
+ lmmacro.cpp \
41
+ lmtable.cpp \
42
+ lmInterpolation.cpp \
43
+ mempool.cpp \
44
+ mfstream.cpp \
45
+ n_gram.cpp \
46
+ ngramcache.cpp \
47
+ ngramtable.cpp \
48
+ timer.cpp \
49
+ util.cpp \
50
+ interplm.cpp \
51
+ linearlm.cpp \
52
+ mdiadapt.cpp \
53
+ mixture.cpp \
54
+ normcache.cpp \
55
+ shiftlm.cpp \
56
+ cplsa.cpp \
57
+ doc.cpp
58
+
59
+ CLEANFILES = $(BUILT_SOURCES)
60
+
61
+ libirstlm_la_LIBADD = $(BOOST_LDFLAGS) $(BOOST_THREAD_LIB)
62
+
63
+ LDADD = -lirstlm
64
+ DEPENDENCIES = libirstlm.la
65
+
66
+ bin_PROGRAMS = dict ngt compile-lm interpolate-lm prune-lm quantize-lm prune-lm score-lm tlm plsa
67
+
68
+ dict_SOURCES = dict.cpp
69
+ dict_DEPENDENCIES = $(DEPENDENCIES)
70
+ ngt_SOURCES = ngt.cpp
71
+ ngt_DEPENDENCIES = $(DEPENDENCIES)
72
+ compile_lm_SOURCES = compile-lm.cpp
73
+ compile_lm_DEPENDENCIES = $(DEPENDENCIES)
74
+ interpolate_lm_SOURCES = interpolate-lm.cpp
75
+ interpolate_lm_DEPENDENCIES = $(DEPENDENCIES)
76
+ prune_lm_SOURCES = prune-lm.cpp
77
+ prune_lm_DEPENDENCIES = $(DEPENDENCIES)
78
+ quantize_lm_SOURCES = quantize-lm.cpp
79
+ quantize_lm_DEPENDENCIES = $(DEPENDENCIES)
80
+ score_lm_SOURCES = score-lm.cpp
81
+ score_lm_DEPENDENCIES = $(DEPENDENCIES)
82
+ tlm_SOURCES = tlm.cpp
83
+ tlm_DEPENDENCIES = $(DEPENDENCIES)
84
+ plsa_SOURCES = plsa.cpp
85
+ plsa_DEPENDENCIES = $(DEPENDENCIES)
86
+
lm/irstlm/branches/binary_saving/src/cmd.c ADDED
@@ -0,0 +1,675 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /******************************************************************************
2
+ IrstLM: IRST Language Model Toolkit
3
+ Copyright (C) 2006 Marcello Federico, ITC-irst Trento, Italy
4
+
5
+ This library is free software; you can redistribute it and/or
6
+ modify it under the terms of the GNU Lesser General Public
7
+ License as published by the Free Software Foundation; either
8
+ version 2.1 of the License, or (at your option) any later version.
9
+
10
+ This library is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ Lesser General Public License for more details.
14
+
15
+ You should have received a copy of the GNU Lesser General Public
16
+ License along with this library; if not, write to the Free Software
17
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
+
19
+ ******************************************************************************/
20
+
21
+ #include <stdio.h>
22
+ #include <stdlib.h>
23
+ #include <ctype.h>
24
+ #include <string.h>
25
+
26
+ #include "cmd.h"
27
+
28
+ static Enum_T BoolEnum[] = {
29
+ { "FALSE", 0 },
30
+ { "TRUE", 1 },
31
+ { 0, 0 }
32
+ };
33
+
34
+ #ifdef NEEDSTRDUP
35
+ char *strdup();
36
+ #endif
37
+
38
+ #define FALSE 0
39
+ #define TRUE 1
40
+
41
+ #define LINSIZ 10240
42
+ #define MAXPARAM 256
43
+
44
+ static char *GetLine(),
45
+ **str2array();
46
+ static int Scan(),
47
+ SetParam(),
48
+ SetEnum(),
49
+ SetSubrange(),
50
+ SetStrArray(),
51
+ SetGte(),
52
+ SetLte(),
53
+ CmdError(),
54
+ EnumError(),
55
+ SubrangeError(),
56
+ GteError(),
57
+ LteError(),
58
+ PrintParam(),
59
+ PrintEnum(),
60
+ PrintStrArray();
61
+
62
+ static Cmd_T cmds[MAXPARAM+1];
63
+ static char *SepString = " \t\n";
64
+
65
+ #if defined(__STDC__)
66
+ #include <stdarg.h>
67
+ int DeclareParams(const char *ParName, ...)
68
+ #else
69
+ #include <varargs.h>
70
+ int DeclareParams(ParName, va_alist)
71
+ char *ParName;
72
+ va_dcl
73
+ #endif
74
+ {
75
+ va_list args;
76
+ static int ParamN = 0;
77
+ int j,
78
+ c;
79
+ char *s;
80
+
81
+ #if defined(__STDC__)
82
+ va_start(args, ParName);
83
+ #else
84
+ va_start(args);
85
+ #endif
86
+ for(;ParName;) {
87
+ if(ParamN==MAXPARAM) {
88
+ fprintf(stderr, "Too many parameters !!\n");
89
+ break;
90
+ }
91
+ for(j=0,c=1; j<ParamN&&(c=strcmp(cmds[j].Name,ParName))<0; j++)
92
+ ;
93
+ if(!c) {
94
+ fprintf(stderr,
95
+ "Warning: parameter \"%s\" declared twice.\n",
96
+ ParName);
97
+ }
98
+ for(c=ParamN; c>j; c--) {
99
+ cmds[c] = cmds[c-1];
100
+ }
101
+ cmds[j].Name = ParName;
102
+ cmds[j].Type = va_arg(args, int);
103
+ cmds[j].Val = va_arg(args, void *);
104
+ switch(cmds[j].Type) {
105
+ case CMDENUMTYPE: /* get the pointer to Enum_T struct */
106
+ cmds[j].p = va_arg(args, void *);
107
+ break;
108
+ case CMDSUBRANGETYPE: /* get the two extremes */
109
+ cmds[j].p = (void*) calloc(2, sizeof(int));
110
+ ((int*)cmds[j].p)[0] = va_arg(args, int);
111
+ ((int*)cmds[j].p)[1] = va_arg(args, int);
112
+ break;
113
+ case CMDGTETYPE: /* get lower or upper bound */
114
+ case CMDLTETYPE:
115
+ cmds[j].p = (void*) calloc(1, sizeof(int));
116
+ ((int*)cmds[j].p)[0] = va_arg(args, int);
117
+ break;
118
+ case CMDSTRARRAYTYPE: /* get the separators string */
119
+ cmds[j].p = (s=va_arg(args, char*))
120
+ ? (void*)strdup(s) : 0;
121
+ break;
122
+ case CMDBOOLTYPE:
123
+ cmds[j].Type = CMDENUMTYPE;
124
+ cmds[j].p = BoolEnum;
125
+ break;
126
+ case CMDDOUBLETYPE: /* nothing else is needed */
127
+ case CMDFLOATTYPE: /* nothing else is needed */
128
+ case CMDINTTYPE:
129
+ case CMDSTRINGTYPE:
130
+ break;
131
+ default:
132
+ fprintf(stderr, "%s: %s %d %s \"%s\"\n",
133
+ "DeclareParam()", "Unknown Type",
134
+ cmds[j].Type, "for parameter", cmds[j].Name);
135
+ exit(1);
136
+ }
137
+ ParamN++;
138
+ ParName = va_arg(args, char *);
139
+ }
140
+ cmds[ParamN].Name = NULL;
141
+ va_end(args);
142
+ return 0;
143
+ }
144
+
145
+ int GetParams(n, a, CmdFileName)
146
+ int *n;
147
+ char ***a;
148
+ char *CmdFileName;
149
+ {
150
+ char *Line,
151
+ *ProgName;
152
+ int argc = *n;
153
+ char **argv = *a,
154
+ *s;
155
+ FILE *fp;
156
+ int IsPipe;
157
+
158
+ #ifdef MSDOS
159
+ #define PATHSEP '\\'
160
+ char *dot = NULL;
161
+ #else
162
+ #define PATHSEP '/'
163
+ #endif
164
+
165
+ if(!(Line=malloc(LINSIZ))) {
166
+ fprintf(stderr, "GetParams(): Unable to alloc %d bytes\n",
167
+ LINSIZ);
168
+ exit(1);
169
+ }
170
+ if((ProgName=strrchr(*argv, PATHSEP))) {
171
+ ++ProgName;
172
+ } else {
173
+ ProgName = *argv;
174
+ }
175
+ #ifdef MSDOS
176
+ if(dot=strchr(ProgName, '.')) *dot = 0;
177
+ #endif
178
+ --argc;
179
+ ++argv;
180
+ for(;;) {
181
+ if(argc && argv[0][0]=='-' && argv[0][1]=='=') {
182
+ CmdFileName = argv[0]+2;
183
+ ++argv;
184
+ --argc;
185
+ }
186
+ if(!CmdFileName) {
187
+ break;
188
+ }
189
+ IsPipe = !strncmp(CmdFileName, "@@", 2);
190
+ fp = IsPipe
191
+ ? popen(CmdFileName+2, "r")
192
+ : strcmp(CmdFileName, "-")
193
+ ? fopen(CmdFileName, "r")
194
+ : stdin;
195
+ if(!fp) {
196
+ fprintf(stderr, "Unable to open command file %s\n",
197
+ CmdFileName);
198
+ exit(1);
199
+ }
200
+ while(GetLine(fp, LINSIZ, Line) && strcmp(Line, "\\End")) {
201
+ if(Scan(ProgName, cmds, Line)) {
202
+ CmdError(Line);
203
+ }
204
+ }
205
+ if(fp!=stdin) {
206
+ if(IsPipe) pclose(fp); else fclose(fp);
207
+ }
208
+ CmdFileName = NULL;
209
+ }
210
+ while(argc && **argv=='-' && (s=strchr(*argv, '='))) {
211
+ *s = ' ';
212
+ sprintf(Line, "%s/%s", ProgName, *argv+1);
213
+ *s = '=';
214
+ if(Scan(ProgName, cmds, Line)) CmdError(*argv);
215
+ --argc;
216
+ ++argv;
217
+ }
218
+ *n = argc;
219
+ *a = argv;
220
+ #ifdef MSDOS
221
+ if(dot) *dot = '.';
222
+ #endif
223
+ free(Line);
224
+ return 0;
225
+ }
226
+
227
+ int PrintParams(ValFlag, fp)
228
+ int ValFlag;
229
+ FILE *fp;
230
+ {
231
+ int i;
232
+
233
+ fflush(fp);
234
+ if(ValFlag) {
235
+ fprintf(fp, "Parameters Values:\n");
236
+ } else {
237
+ fprintf(fp, "Parameters:\n");
238
+ }
239
+ for(i=0; cmds[i].Name; i++) PrintParam(cmds+i, ValFlag, fp);
240
+ fprintf(fp, "\n");
241
+ fflush(fp);
242
+ return 0;
243
+ }
244
+
245
+ int SPrintParams(a, pfx)
246
+ char ***a,
247
+ *pfx;
248
+ {
249
+ int l,
250
+ n;
251
+ Cmd_T *cmd;
252
+
253
+ if(!pfx) pfx="";
254
+ l = strlen(pfx);
255
+ for(n=0, cmd=cmds; cmd->Name; cmd++) n += !!cmd->ArgStr;
256
+ a[0] = calloc(n, sizeof(char*));
257
+ for(n=0, cmd=cmds; cmd->Name; cmd++) {
258
+ if(!cmd->ArgStr) continue;
259
+ a[0][n] = malloc(strlen(cmd->Name)+strlen(cmd->ArgStr)+l+2);
260
+ sprintf(a[0][n], "%s%s=%s", pfx, cmd->Name, cmd->ArgStr);
261
+ ++n;
262
+ }
263
+ return n;
264
+ }
265
+
266
+ static int CmdError(opt)
267
+ char *opt;
268
+ {
269
+ fprintf(stderr, "Invalid option \"%s\"\n", opt);
270
+ fprintf(stderr, "This program expectes the following parameters:\n");
271
+ PrintParams(FALSE, stderr);
272
+ exit(0);
273
+ }
274
+
275
+ static int PrintParam(cmd, ValFlag, fp)
276
+ Cmd_T *cmd;
277
+ int ValFlag;
278
+ FILE *fp;
279
+ {
280
+ fprintf(fp, "%4s", "");
281
+ switch(cmd->Type) {
282
+ case CMDDOUBLETYPE:
283
+ fprintf(fp, "%s", cmd->Name);
284
+ if(ValFlag) fprintf(fp, ": %22.15e", *(double *)cmd->Val);
285
+ fprintf(fp, "\n");
286
+ break;
287
+ case CMDFLOATTYPE:
288
+ fprintf(fp, "%s", cmd->Name);
289
+ if(ValFlag) fprintf(fp, ": %22.15e", *(float *)cmd->Val);
290
+ fprintf(fp, "\n");
291
+ break;
292
+ case CMDENUMTYPE:
293
+ PrintEnum(cmd, ValFlag, fp);
294
+ break;
295
+ case CMDINTTYPE:
296
+ case CMDSUBRANGETYPE:
297
+ case CMDGTETYPE:
298
+ case CMDLTETYPE:
299
+ fprintf(fp, "%s", cmd->Name);
300
+ if(ValFlag) fprintf(fp, ": %d", *(int *)cmd->Val);
301
+ fprintf(fp, "\n");
302
+ break;
303
+ case CMDSTRINGTYPE:
304
+ fprintf(fp, "%s", cmd->Name);
305
+ if(ValFlag) {
306
+ if(*(char **)cmd->Val) {
307
+ fprintf(fp, ": \"%s\"", *(char **)cmd->Val);
308
+ } else {
309
+ fprintf(fp, ": %s", "NULL");
310
+ }
311
+ }
312
+ fprintf(fp, "\n");
313
+ break;
314
+ case CMDSTRARRAYTYPE:
315
+ PrintStrArray(cmd, ValFlag, fp);
316
+ break;
317
+ default:
318
+ fprintf(stderr, "%s: %s %d %s \"%s\"\n",
319
+ "PrintParam",
320
+ "Unknown Type",
321
+ cmd->Type,
322
+ "for parameter",
323
+ cmd->Name);
324
+ exit(1);
325
+ }
326
+ return 0;
327
+ }
328
+
329
+ static char *GetLine(fp, n, Line)
330
+ FILE *fp;
331
+ int n;
332
+ char *Line;
333
+ {
334
+ int j,
335
+ l,
336
+ offs=0;
337
+
338
+ for(;;) {
339
+ if(!fgets(Line+offs, n-offs, fp)) {
340
+ return NULL;
341
+ }
342
+ if(Line[offs]=='#') continue;
343
+ l = strlen(Line+offs)-1;
344
+ Line[offs+l] = 0;
345
+ for(j=offs; Line[j] && isspace(Line[j]); j++, l--)
346
+ ;
347
+ if(l<1) continue;
348
+ if(j > offs) {
349
+ char *s = Line+offs,
350
+ *q = Line+j;
351
+
352
+ while((*s++=*q++))
353
+ ;
354
+ }
355
+ if(Line[offs+l-1]=='\\') {
356
+ offs += l;
357
+ Line[offs-1] = ' ';
358
+ } else {
359
+ break;
360
+ }
361
+ }
362
+ return Line;
363
+ }
364
+
365
+ static int Scan(ProgName, cmds, Line)
366
+ char *ProgName,
367
+ *Line;
368
+ Cmd_T *cmds;
369
+ {
370
+ char *q,
371
+ *p;
372
+ int i,
373
+ hl,
374
+ HasToMatch = FALSE,
375
+ c0,
376
+ c;
377
+
378
+ p = Line+strspn(Line, SepString);
379
+ if(!(hl=strcspn(p, SepString))) {
380
+ return 0;
381
+ }
382
+ if((q=strchr(p, '/')) && q-p<hl) {
383
+ *q = 0;
384
+ if(strcmp(p, ProgName)) {
385
+ *q = '/';
386
+ return 0;
387
+ }
388
+ *q = '/';
389
+ HasToMatch=TRUE;
390
+ p = q+1;
391
+ }
392
+ if(!(hl = strcspn(p, SepString))) {
393
+ return 0;
394
+ }
395
+ c0 = p[hl];
396
+ p[hl] = 0;
397
+ for(i=0, c=1; cmds[i].Name&&(c=strcmp(cmds[i].Name, p))<0; i++)
398
+ ;
399
+ p[hl] = c0;
400
+ if(!c) return SetParam(cmds+i, p+hl+strspn(p+hl, SepString));
401
+ return HasToMatch && c;
402
+ }
403
+
404
+ static int SetParam(cmd, s)
405
+ Cmd_T *cmd;
406
+ char *s;
407
+ {
408
+ if(!*s && cmd->Type != CMDSTRINGTYPE) {
409
+ fprintf(stderr,
410
+ "WARNING: No value specified for parameter \"%s\"\n",
411
+ cmd->Name);
412
+ return 0;
413
+ }
414
+ switch(cmd->Type) {
415
+ case CMDDOUBLETYPE:
416
+ if(sscanf(s, "%lf", (double*)cmd->Val)!=1) {
417
+ fprintf(stderr,
418
+ "Float value required for parameter \"%s\"\n",
419
+ cmd->Name);
420
+ exit(1);
421
+ }
422
+ break;
423
+ case CMDFLOATTYPE:
424
+ if(sscanf(s, "%f", (float*)cmd->Val)!=1) {
425
+ fprintf(stderr,
426
+ "Float value required for parameter \"%s\"\n",
427
+ cmd->Name);
428
+ exit(1);
429
+ }
430
+ break;
431
+ case CMDENUMTYPE:
432
+ SetEnum(cmd, s);
433
+ break;
434
+ case CMDINTTYPE:
435
+ if(sscanf(s, "%d", (int*)cmd->Val)!=1) {
436
+ fprintf(stderr,
437
+ "Integer value required for parameter \"%s\"\n",
438
+ cmd->Name);
439
+ exit(1);
440
+ }
441
+ break;
442
+ case CMDSTRINGTYPE:
443
+ *(char **)cmd->Val = (strcmp(s, "<NULL>") && strcmp(s, "NULL"))
444
+ ? strdup(s)
445
+ : 0;
446
+ break;
447
+ case CMDSTRARRAYTYPE:
448
+ SetStrArray(cmd, s);
449
+ break;
450
+ case CMDGTETYPE:
451
+ SetGte(cmd, s);
452
+ break;
453
+ case CMDLTETYPE:
454
+ SetLte(cmd, s);
455
+ break;
456
+ case CMDSUBRANGETYPE:
457
+ SetSubrange(cmd, s);
458
+ break;
459
+ default:
460
+ fprintf(stderr, "%s: %s %d %s \"%s\"\n",
461
+ "SetParam",
462
+ "Unknown Type",
463
+ cmd->Type,
464
+ "for parameter",
465
+ cmd->Name);
466
+ exit(1);
467
+ }
468
+ cmd->ArgStr = strdup(s);
469
+ return 0;
470
+ }
471
+
472
+ static int SetEnum(cmd, s)
473
+ Cmd_T *cmd;
474
+ char *s;
475
+ {
476
+ Enum_T *en;
477
+
478
+ for(en=(Enum_T *)cmd->p; en->Name; en++) {
479
+ if(*en->Name && !strcmp(s, en->Name)) {
480
+ *(int *) cmd->Val = en->Idx;
481
+ return 0;
482
+ }
483
+ }
484
+ return EnumError(cmd, s);
485
+ }
486
+
487
+ static int SetSubrange(cmd, s)
488
+ Cmd_T *cmd;
489
+ char *s;
490
+ {
491
+ int n;
492
+
493
+ if(sscanf(s, "%d", &n)!=1) {
494
+ fprintf(stderr,
495
+ "Integer value required for parameter \"%s\"\n",
496
+ cmd->Name);
497
+ exit(1);
498
+ }
499
+ if(n < *(int *)cmd->p || n > *((int *)cmd->p+1)) {
500
+ return SubrangeError(cmd, n);
501
+ }
502
+ *(int *)cmd->Val = n;
503
+ return 0;
504
+ }
505
+
506
+ static int SetGte(cmd, s)
507
+ Cmd_T *cmd;
508
+ char *s;
509
+ {
510
+ int n;
511
+
512
+ if(sscanf(s, "%d", &n)!=1) {
513
+ fprintf(stderr,
514
+ "Integer value required for parameter \"%s\"\n",
515
+ cmd->Name);
516
+ exit(1);
517
+ }
518
+ if(n<*(int *)cmd->p) {
519
+ return GteError(cmd, n);
520
+ }
521
+ *(int *)cmd->Val = n;
522
+ return 0;
523
+ }
524
+
525
+ static int SetStrArray(cmd, s)
526
+ Cmd_T *cmd;
527
+ char *s;
528
+ {
529
+ *(char***)cmd->Val = str2array(s, (char*)cmd->p);
530
+ return 0;
531
+ }
532
+
533
+ static int SetLte(cmd, s)
534
+ Cmd_T *cmd;
535
+ char *s;
536
+ {
537
+ int n;
538
+
539
+ if(sscanf(s, "%d", &n)!=1) {
540
+ fprintf(stderr,
541
+ "Integer value required for parameter \"%s\"\n",
542
+ cmd->Name);
543
+ exit(1);
544
+ }
545
+ if(n > *(int *)cmd->p) {
546
+ return LteError(cmd, n);
547
+ }
548
+ *(int *)cmd->Val = n;
549
+ return 0;
550
+ }
551
+
552
+ static int EnumError(cmd, s)
553
+ Cmd_T *cmd;
554
+ char *s;
555
+ {
556
+ Enum_T *en;
557
+
558
+ fprintf(stderr,
559
+ "Invalid value \"%s\" for parameter \"%s\"\n", s, cmd->Name);
560
+ fprintf(stderr, "Valid values are:\n");
561
+ for(en=(Enum_T *)cmd->p; en->Name; en++) {
562
+ if(*en->Name) {
563
+ fprintf(stderr, " %s\n", en->Name);
564
+ }
565
+ }
566
+ fprintf(stderr, "\n");
567
+ exit(1);
568
+ }
569
+
570
+ static int GteError(cmd, n)
571
+ Cmd_T *cmd;
572
+ int n;
573
+ {
574
+ fprintf(stderr,
575
+ "Value %d out of range for parameter \"%s\"\n", n, cmd->Name);
576
+ fprintf(stderr, "Valid values must be greater than or equal to %d\n",
577
+ *(int *)cmd->p);
578
+ exit(1);
579
+ }
580
+
581
+ static int LteError(cmd, n)
582
+ Cmd_T *cmd;
583
+ int n;
584
+ {
585
+ fprintf(stderr,
586
+ "Value %d out of range for parameter \"%s\"\n", n, cmd->Name);
587
+ fprintf(stderr, "Valid values must be less than or equal to %d\n",
588
+ *(int *)cmd->p);
589
+ exit(1);
590
+ }
591
+
592
+ static int SubrangeError(cmd, n)
593
+ Cmd_T *cmd;
594
+ int n;
595
+ {
596
+ fprintf(stderr,
597
+ "Value %d out of range for parameter \"%s\"\n", n, cmd->Name);
598
+ fprintf(stderr, "Valid values range from %d to %d\n",
599
+ *(int *)cmd->p, *((int *)cmd->p+1));
600
+ exit(1);
601
+ }
602
+
603
+ static int PrintEnum(cmd, ValFlag, fp)
604
+ Cmd_T *cmd;
605
+ int ValFlag;
606
+ FILE *fp;
607
+ {
608
+ Enum_T *en;
609
+
610
+ fprintf(fp, "%s", cmd->Name);
611
+ if(ValFlag) {
612
+ for(en=(Enum_T *)cmd->p; en->Name; en++) {
613
+ if(*en->Name && en->Idx==*(int *)cmd->Val) {
614
+ fprintf(fp, ": %s", en->Name);
615
+ }
616
+ }
617
+ }
618
+ fprintf(fp, "\n");
619
+ return 0;
620
+ }
621
+
622
+ static int PrintStrArray(cmd, ValFlag, fp)
623
+ Cmd_T *cmd;
624
+ int ValFlag;
625
+ FILE *fp;
626
+ {
627
+ char *indent,
628
+ **s = *(char***)cmd->Val;
629
+ int l = 4+strlen(cmd->Name);
630
+
631
+ fprintf(fp, "%s", cmd->Name);
632
+ indent = malloc(l+2);
633
+ memset(indent, ' ', l+1);
634
+ indent[l+1] = 0;
635
+ if(ValFlag) {
636
+ fprintf(fp, ": %s", s ? (*s ? *s++ : "NULL") : "");
637
+ if(s) while(*s) {
638
+ fprintf(fp, "\n%s %s", indent, *s++);
639
+ }
640
+ }
641
+ free(indent);
642
+ fprintf(fp, "\n");
643
+ return 0;
644
+ }
645
+
646
+ static char **str2array(s, sep)
647
+ char *s,
648
+ *sep;
649
+ {
650
+ char *p,
651
+ **a;
652
+ int n = 0,
653
+ l;
654
+
655
+ if(!sep) sep = SepString;
656
+ p = s += strspn(s, sep);
657
+ while(*p) {
658
+ p += strcspn(p, sep);
659
+ p += strspn(p, sep);
660
+ ++n;
661
+ }
662
+ a = calloc(n+1, sizeof(char *));
663
+ p = s;
664
+ n = 0;
665
+ while(*p) {
666
+ l = strcspn(p, sep);
667
+ a[n] = malloc(l+1);
668
+ memcpy(a[n], p, l);
669
+ a[n][l] = 0;
670
+ ++n;
671
+ p += l;
672
+ p += strspn(p, sep);
673
+ }
674
+ return a;
675
+ }
lm/irstlm/branches/binary_saving/src/cmd.h ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // $Id: cmd.h 3626 2010-10-07 11:41:05Z bertoldi $
2
+
3
+ /******************************************************************************
4
+ IrstLM: IRST Language Model Toolkit
5
+ Copyright (C) 2006 Marcello Federico, ITC-irst Trento, Italy
6
+
7
+ This library is free software; you can redistribute it and/or
8
+ modify it under the terms of the GNU Lesser General Public
9
+ License as published by the Free Software Foundation; either
10
+ version 2.1 of the License, or (at your option) any later version.
11
+
12
+ This library is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ Lesser General Public License for more details.
16
+
17
+ You should have received a copy of the GNU Lesser General Public
18
+ License along with this library; if not, write to the Free Software
19
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
+
21
+ ******************************************************************************/
22
+
23
+ #if !defined(CMD_H)
24
+
25
+ #define CMD_H
26
+
27
+ #define CMDDOUBLETYPE 1
28
+ #define CMDFLOATTYPE 10
29
+ #define CMDENUMTYPE 2
30
+ #define CMDINTTYPE 3
31
+ #define CMDSTRINGTYPE 4
32
+ #define CMDSUBRANGETYPE 5
33
+ #define CMDGTETYPE 6
34
+ #define CMDLTETYPE 7
35
+ #define CMDSTRARRAYTYPE 8
36
+ #define CMDBOOLTYPE 9
37
+
38
+ typedef struct {
39
+ const char *Name;
40
+ int Idx;
41
+ } Enum_T;
42
+
43
+ typedef struct {
44
+ int Type;
45
+ const char *Name,
46
+ *ArgStr;
47
+ void *Val,
48
+ *p;
49
+ } Cmd_T;
50
+
51
+ #ifdef __cplusplus
52
+ extern "C" {
53
+ #endif
54
+
55
+ #if defined(__STDC__)
56
+ int DeclareParams(const char *, ...);
57
+ #else
58
+ int DeclareParams();
59
+ #endif
60
+
61
+ int GetParams(int *n, char ***a,char *CmdFileName),
62
+ SPrintParams(),
63
+ PrintParams();
64
+
65
+ #ifdef __cplusplus
66
+ }
67
+ #endif
68
+ #endif
69
+
70
+
71
+
lm/irstlm/branches/binary_saving/src/compile-lm.cpp ADDED
@@ -0,0 +1,508 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // $Id: compile-lm.cpp 3677 2010-10-13 09:06:51Z bertoldi $
2
+
3
+ /******************************************************************************
4
+ IrstLM: IRST Language Model Toolkit, compile LM
5
+ Copyright (C) 2006 Marcello Federico, ITC-irst Trento, Italy
6
+
7
+ This library is free software; you can redistribute it and/or
8
+ modify it under the terms of the GNU Lesser General Public
9
+ License as published by the Free Software Foundation; either
10
+ version 2.1 of the License, or (at your option) any later version.
11
+
12
+ This library is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ Lesser General Public License for more details.
16
+
17
+ You should have received a copy of the GNU Lesser General Public
18
+ License along with this library; if not, write to the Free Software
19
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
+
21
+ ******************************************************************************/
22
+
23
+ using namespace std;
24
+
25
+ #include <iostream>
26
+ #include <fstream>
27
+ #include <vector>
28
+ #include <string>
29
+ #include <stdlib.h>
30
+ #include "util.h"
31
+ #include "math.h"
32
+ #include "lmContainer.h"
33
+
34
+
35
+ /* GLOBAL OPTIONS ***************/
36
+ std::string sinvert = "no";
37
+ std::string stxt = "no";
38
+ std::string sscore = "no";
39
+ std::string seval = "";
40
+ std::string srandcalls = "0";
41
+ std::string sfilter = "";
42
+ std::string sdebug = "0";
43
+ std::string smemmap = "0";
44
+ std::string sdub = "10000000";//10^7
45
+ std::string skeepunigrams = "yes";
46
+ std::string tmpdir = "";
47
+ std::string ssent_PP_flag = "no";
48
+ std::string sdictionary_load_factor = "0.0";
49
+ std::string sngramcache_load_factor = "0.0";
50
+
51
+ std::string slevel = "1000";
52
+
53
+ /********************************/
54
+
55
+ void usage(const char *msg = 0)
56
+ {
57
+
58
+ if (msg) {
59
+ std::cerr << msg << std::endl;
60
+ }
61
+ std::cerr << "Usage: compile-lm [options] input-file.lm [output-file.blm]" << std::endl;
62
+ if (!msg) std::cerr << std::endl
63
+ << " compile-lm reads a standard LM file in ARPA format and produces" << std::endl
64
+ << " a compiled representation that the IRST LM toolkit can quickly" << std::endl
65
+ << " read and process. LM file can be compressed with gzip." << std::endl << std::endl;
66
+ std::cerr << "Options:\n"
67
+ << "--text|-t [yes|no] (output is again in text format)" << std::endl
68
+ << "--invert|-i [yes|no] (build an inverted n-gram binary table for fast access: default no)" << std::endl
69
+ << "--filter|-f wordlist (filter a binary language model with a word list)"<< std::endl
70
+ << "--keepunigrams|-ku [yes|no] (filter by keeping all unigrams in the table: default yes)"<< std::endl
71
+ << "--eval|-e text-file (computes perplexity of text-file and returns)"<< std::endl
72
+ << "--randcalls|-r N (computes N random calls on the eval text-file)"<< std::endl
73
+ << "--dub dict-size (dictionary upperbound to compute OOV word penalty: default 10^7)"<< std::endl
74
+ << "--score|-s [yes|no] (computes log-prob scores from standard input)"<< std::endl
75
+ << "--debug|-d 1 (verbose output for --eval option)"<< std::endl
76
+ << "--sentence [yes|no] (compute pperplexity at sentence level (identified through the end symbol)"<< std::endl
77
+ << "--memmap|-mm 1 (uses memory map to read a binary LM)"<< std::endl
78
+ << "--ngram_load_factor <value> (set the load factor for ngram cache ; it should be a positive real value; if not defined a default value is used)" << std::endl
79
+ << "--dict_load_factor <value> (set the load factor for ngram cache ; it should be a positive real value; if not defined a default value is used)" << std::endl
80
+ << "--level|l <value> (set the maximum level to load from the LM; if value is larger than the actual LM order, the latter is taken)" << std::endl
81
+ << "--tmpdir <directory> (directory for temporary computation, default is either the environment variable TMP if defined or \"/tmp\")" << std::endl;
82
+ }
83
+
84
+ bool starts_with(const std::string &s, const std::string &pre)
85
+ {
86
+ if (pre.size() > s.size()) return false;
87
+
88
+ if (pre == s) return true;
89
+ std::string pre_equals(pre+'=');
90
+ if (pre_equals.size() > s.size()) return false;
91
+ return (s.substr(0,pre_equals.size()) == pre_equals);
92
+ }
93
+
94
+ std::string get_param(const std::string& opt, int argc, const char **argv, int& argi)
95
+ {
96
+ std::string::size_type equals = opt.find_first_of('=');
97
+ if (equals != std::string::npos && equals < opt.size()-1) {
98
+ return opt.substr(equals+1);
99
+ }
100
+ std::string nexto;
101
+ if (argi + 1 < argc) {
102
+ nexto = argv[++argi];
103
+ } else {
104
+ usage((opt + " requires a value!").c_str());
105
+ exit(1);
106
+ }
107
+ return nexto;
108
+ }
109
+
110
+ void handle_option(const std::string& opt, int argc, const char **argv, int& argi)
111
+ {
112
+ if (opt == "--help" || opt == "-h") {
113
+ usage();
114
+ exit(1);
115
+ }
116
+
117
+ if (starts_with(opt, "--text") || starts_with(opt, "-t"))
118
+ stxt = get_param(opt, argc, argv, argi);
119
+ else if (starts_with(opt, "--filter") || starts_with(opt, "-f"))
120
+ sfilter = get_param(opt, argc, argv, argi);
121
+ else if (starts_with(opt, "--keepunigrams") || starts_with(opt, "-ku"))
122
+ skeepunigrams = get_param(opt, argc, argv, argi);
123
+ else if (starts_with(opt, "--eval") || starts_with(opt, "-e"))
124
+ seval = get_param(opt, argc, argv, argi);
125
+ else if (starts_with(opt, "--randcalls") || starts_with(opt, "-r"))
126
+ srandcalls = get_param(opt, argc, argv, argi);
127
+ else if (starts_with(opt, "--score") || starts_with(opt, "-s"))
128
+ sscore = get_param(opt, argc, argv, argi);
129
+ else if (starts_with(opt, "--debug") || starts_with(opt, "-d"))
130
+ sdebug = get_param(opt, argc, argv, argi);
131
+ else if (starts_with(opt, "--level") || starts_with(opt, "-l"))
132
+ slevel = get_param(opt, argc, argv, argi);
133
+ else if (starts_with(opt, "--memmap") || starts_with(opt, "-mm"))
134
+ smemmap = get_param(opt, argc, argv, argi);
135
+ else if (starts_with(opt, "--dub") || starts_with(opt, "-dub"))
136
+ sdub = get_param(opt, argc, argv, argi);
137
+ else if (starts_with(opt, "--tmpdir") || starts_with(opt, "-tmpdir"))
138
+ tmpdir = get_param(opt, argc, argv, argi);
139
+ else if (starts_with(opt, "--invert") || starts_with(opt, "-i"))
140
+ sinvert = get_param(opt, argc, argv, argi);
141
+ else if (starts_with(opt, "--sentence"))
142
+ ssent_PP_flag = get_param(opt, argc, argv, argi);
143
+ else if (starts_with(opt, "--dict_load_factor"))
144
+ sdictionary_load_factor = get_param(opt, argc, argv, argi);
145
+ else if (starts_with(opt, "--ngram_load_factor"))
146
+ sngramcache_load_factor = get_param(opt, argc, argv, argi);
147
+ else {
148
+ usage(("Don't understand option " + opt).c_str());
149
+ exit(1);
150
+ }
151
+ }
152
+
153
+ int main(int argc, const char **argv)
154
+ {
155
+ if (argc < 2) {
156
+ usage();
157
+ exit(1);
158
+ }
159
+ std::vector<std::string> files;
160
+ for (int i=1; i < argc; i++) {
161
+ std::string opt = argv[i];
162
+ if (opt[0] == '-') {
163
+ handle_option(opt, argc, argv, i);
164
+ } else files.push_back(opt);
165
+ }
166
+
167
+ if (files.size() > 2) {
168
+ usage("Too many arguments");
169
+ exit(1);
170
+ }
171
+ if (files.size() < 1) {
172
+ usage("Please specify a LM file to read from");
173
+ exit(1);
174
+ }
175
+
176
+ bool textoutput = (stxt == "yes"? true : false);
177
+ bool sent_PP_flag = (ssent_PP_flag == "yes"? true : false);
178
+ bool invert = (sinvert == "yes"? true : false);
179
+
180
+ //Define output type of table
181
+ OUTFILE_TYPE outtype;
182
+ if (textoutput)
183
+ outtype=TEXT;
184
+ else if (seval != "" || sscore == "yes")
185
+ outtype=NONE;
186
+ else
187
+ outtype=BINARY;
188
+
189
+
190
+ int debug = atoi(sdebug.c_str());
191
+ int memmap = atoi(smemmap.c_str());
192
+ int requiredMaxlev = atoi(slevel.c_str());
193
+ int dub = atoi(sdub.c_str());
194
+ int randcalls = atoi(srandcalls.c_str());
195
+ float ngramcache_load_factor = (float) atof(sngramcache_load_factor.c_str());
196
+ float dictionary_load_factor = (float) atof(sdictionary_load_factor.c_str());
197
+
198
+ std::string infile = files[0];
199
+ std::string outfile="";
200
+
201
+ if (files.size() == 1) {
202
+ outfile=infile;
203
+
204
+ //remove path information
205
+ std::string::size_type p = outfile.rfind('/');
206
+ if (p != std::string::npos && ((p+1) < outfile.size()))
207
+ outfile.erase(0,p+1);
208
+
209
+ //eventually strip .gz
210
+ if (outfile.compare(outfile.size()-3,3,".gz")==0)
211
+ outfile.erase(outfile.size()-3,3);
212
+
213
+ outfile+=(textoutput?".lm":".blm");
214
+ } else
215
+ outfile = files[1];
216
+
217
+ std::cerr << "inpfile: " << infile << std::endl;
218
+ if (sscore=="" && seval=="") std::cerr << "outfile: " << outfile << std::endl;
219
+ if (sscore=="") std::cerr << "interactive: " << sscore << std::endl;
220
+ if (memmap) std::cerr << "memory mapping: " << memmap << std::endl;
221
+ std::cerr << "loading up to the LM level " << requiredMaxlev << " (if any)" << std::endl;
222
+ std::cerr << "dub: " << dub<< std::endl;
223
+ if (tmpdir != "") {
224
+ if (setenv("TMP",tmpdir.c_str(),1))
225
+ std::cerr << "temporary directory has not been set" << std::endl;
226
+ std::cerr << "tmpdir: " << tmpdir << std::endl;
227
+ }
228
+
229
+
230
+ //checking the language model type
231
+ lmContainer* lmt=NULL;
232
+
233
+ lmt = lmt->CreateLanguageModel(infile,ngramcache_load_factor,dictionary_load_factor);
234
+
235
+ //let know that table has inverted n-grams
236
+ if (invert) lmt->is_inverted(invert);
237
+
238
+ lmt->setMaxLoadedLevel(requiredMaxlev);
239
+
240
+ lmt->load(infile);
241
+
242
+ //CHECK this part for sfilter to make it possible only for LMTABLE
243
+ if (sfilter != "") {
244
+ lmContainer* filtered_lmt = NULL;
245
+ std::cerr << "BEFORE sublmC (" << (void*) filtered_lmt << ") (" << (void*) &filtered_lmt << ")\n";
246
+
247
+ // the function filter performs the filtering and returns true, only for specific lm type
248
+ if (((lmContainer*) lmt)->filter(sfilter,filtered_lmt,skeepunigrams)) {
249
+ std::cerr << "BFR filtered_lmt (" << (void*) filtered_lmt << ") (" << (void*) &filtered_lmt << ")\n";
250
+ filtered_lmt->stat();
251
+ delete lmt;
252
+ lmt=filtered_lmt;
253
+ std::cerr << "AFTER filtered_lmt (" << (void*) filtered_lmt << ")\n";
254
+ filtered_lmt->stat();
255
+ std::cerr << "AFTER lmt (" << (void*) lmt << ")\n";
256
+ lmt->stat();
257
+ }
258
+ }
259
+
260
+ if (dub) lmt->setlogOOVpenalty((int)dub);
261
+
262
+ //use caches to save time (only if PS_CACHE_ENABLE is defined through compilation flags)
263
+ lmt->init_caches(lmt->maxlevel());
264
+
265
+ if (seval != "") {
266
+ if (randcalls>0) {
267
+
268
+ cerr << "perform random " << randcalls << " using dictionary of test set\n";
269
+ dictionary *dict;
270
+ dict=new dictionary((char *)seval.c_str());
271
+
272
+ //build extensive histogram
273
+ int histo[dict->totfreq()]; //total frequency
274
+ int totfreq=0;
275
+
276
+ for (int n=0; n<dict->size(); n++)
277
+ for (int m=0; m<dict->freq(n); m++)
278
+ histo[totfreq++]=n;
279
+
280
+ ngram ng(lmt->getDict());
281
+ srand(1234);
282
+ double bow;
283
+ int bol=0;
284
+
285
+ if (debug>1) ResetUserTime();
286
+
287
+ for (int n=0; n<randcalls; n++) {
288
+ //extracts a random word from dict
289
+ int w=histo[rand() % totfreq];
290
+
291
+ ng.pushc(lmt->getDict()->encode(dict->decode(w)));
292
+
293
+ lmt->clprob(ng,&bow,&bol); //(using caches if available)
294
+
295
+ if (debug==1) {
296
+ std::cout << ng.dict->decode(*ng.wordp(1)) << " [" << lmt->maxlevel()-bol << "]" << " ";
297
+ std::cout << std::endl;
298
+ }
299
+
300
+ if ((n % 100000)==0) {
301
+ std::cerr << ".";
302
+ lmt->check_caches_levels();
303
+ }
304
+ }
305
+ std::cerr << "\n";
306
+ if (debug>1) PrintUserTime("Finished in");
307
+ if (debug>1) lmt->stat();
308
+
309
+ delete lmt;
310
+ return 0;
311
+
312
+ } else {
313
+ if (lmt->getLanguageModelType() == _IRSTLM_LMINTERPOLATION) {
314
+ debug = (debug>4)?4:debug;
315
+ std::cerr << "Maximum debug value for this LM type: " << debug << std::endl;
316
+ }
317
+ std::cerr << "Start Eval" << std::endl;
318
+ std::cerr << "OOV code: " << lmt->getDict()->oovcode() << std::endl;
319
+ ngram ng(lmt->getDict());
320
+ std::cout.setf(ios::fixed);
321
+ std::cout.precision(2);
322
+
323
+ // if (debug>0) std::cout.precision(8);
324
+ std::fstream inptxt(seval.c_str(),std::ios::in);
325
+
326
+ int Nbo=0, Nw=0,Noov=0;
327
+ double logPr=0,PP=0,PPwp=0,Pr;
328
+
329
+ // variables for storing sentence-based Perplexity
330
+ int sent_Nbo=0, sent_Nw=0,sent_Noov=0;
331
+ double sent_logPr=0,sent_PP=0,sent_PPwp=0;
332
+
333
+
334
+ ng.dict->incflag(1);
335
+ int bos=ng.dict->encode(ng.dict->BoS());
336
+ int eos=ng.dict->encode(ng.dict->EoS());
337
+ ng.dict->incflag(0);
338
+
339
+ double bow;
340
+ int bol=0;
341
+ char *msp;
342
+ unsigned int statesize;
343
+
344
+ lmt->dictionary_incflag(1);
345
+
346
+ while(inptxt >> ng) {
347
+
348
+ if (ng.size>lmt->maxlevel()) ng.size=lmt->maxlevel();
349
+
350
+ // reset ngram at begin of sentence
351
+ if (*ng.wordp(1)==bos) {
352
+ ng.size=1;
353
+ continue;
354
+ }
355
+
356
+ if (ng.size>=1) {
357
+ Pr=lmt->clprob(ng,&bow,&bol,&msp,&statesize);
358
+ logPr+=Pr;
359
+ sent_logPr+=Pr;
360
+
361
+ if (debug==1) {
362
+ std::cout << ng.dict->decode(*ng.wordp(1)) << " [" << ng.size-bol << "]" << " ";
363
+ if (*ng.wordp(1)==eos) std::cout << std::endl;
364
+ }
365
+ if (debug==2) {
366
+ std::cout << ng << " [" << ng.size-bol << "-gram]" << " " << Pr;
367
+ std::cout << std::endl;
368
+ }
369
+ if (debug==3) {
370
+ std::cout << ng << " [" << ng.size-bol << "-gram]" << " " << Pr << " bow:" << bow;
371
+ std::cout << std::endl;
372
+ }
373
+ if (debug==4) {
374
+ std::cout << ng << " [" << ng.size-bol << "-gram: recombine:" << statesize << " state:" << (void*) msp << "] [" << ng.size+1-((bol==0)?(1):bol) << "-gram: bol:" << bol << "] " << Pr << " bow:" << bow;
375
+ std::cout << std::endl;
376
+ }
377
+ if (debug>4) {
378
+ std::cout << ng << " [" << ng.size-bol << "-gram: recombine:" << statesize << " state:" << (void*) msp << "] [" << ng.size+1-((bol==0)?(1):bol) << "-gram: bol:" << bol << "] " << Pr << " bow:" << bow;
379
+ double totp=0.0;
380
+ int oldw=*ng.wordp(1);
381
+ double oovp=lmt->getlogOOVpenalty();
382
+ lmt->setlogOOVpenalty((double) 0);
383
+ for (int c=0; c<ng.dict->size(); c++) {
384
+ *ng.wordp(1)=c;
385
+ totp+=pow(10.0,lmt->clprob(ng)); //using caches if available
386
+ }
387
+ *ng.wordp(1)=oldw;
388
+
389
+ if ( totp < (1.0 - 1e-5) || totp > (1.0 + 1e-5))
390
+ std::cout << " [t=" << totp << "] POSSIBLE ERROR";
391
+ std::cout << std::endl;
392
+
393
+ lmt->setlogOOVpenalty((double)oovp);
394
+ }
395
+
396
+
397
+ if (lmt->is_OOV(*ng.wordp(1))) {
398
+ Noov++;
399
+ sent_Noov++;
400
+ }
401
+ if (bol) {
402
+ Nbo++;
403
+ sent_Nbo++;
404
+ }
405
+ Nw++;
406
+ sent_Nw++;
407
+ if (sent_PP_flag && (*ng.wordp(1)==eos)) {
408
+ sent_PP=exp((-sent_logPr * log(10.0)) /sent_Nw);
409
+ sent_PPwp= sent_PP * (1 - 1/exp((sent_Noov * lmt->getlogOOVpenalty()) * log(10.0) / sent_Nw));
410
+
411
+ std::cout << "%% sent_Nw=" << sent_Nw
412
+ << " sent_PP=" << sent_PP
413
+ << " sent_PPwp=" << sent_PPwp
414
+ << " sent_Nbo=" << sent_Nbo
415
+ << " sent_Noov=" << sent_Noov
416
+ << " sent_OOV=" << (float)sent_Noov/sent_Nw * 100.0 << "%" << std::endl;
417
+ //reset statistics for sentence based Perplexity
418
+ sent_Nw=sent_Noov=sent_Nbo=0;
419
+ sent_logPr=0.0;
420
+ }
421
+
422
+ if ((Nw % 100000)==0) {
423
+ std::cerr << ".";
424
+ lmt->check_caches_levels();
425
+ }
426
+
427
+ }
428
+ }
429
+
430
+ PP=exp((-logPr * log(10.0)) /Nw);
431
+
432
+ PPwp= PP * (1 - 1/exp((Noov * lmt->getlogOOVpenalty()) * log(10.0) / Nw));
433
+
434
+ std::cout << "%% Nw=" << Nw
435
+ << " PP=" << PP
436
+ << " PPwp=" << PPwp
437
+ << " Nbo=" << Nbo
438
+ << " Noov=" << Noov
439
+ << " OOV=" << (float)Noov/Nw * 100.0 << "%";
440
+ if (debug) std::cout << " logPr=" << logPr;
441
+ std::cout << std::endl;
442
+
443
+ lmt->used_caches();
444
+ lmt->stat();
445
+
446
+ if (debug>1) lmt->stat();
447
+
448
+ delete lmt;
449
+ return 0;
450
+ };
451
+ }
452
+
453
+ if (sscore == "yes") {
454
+
455
+ ngram ng(lmt->getDict());
456
+ int bos=ng.dict->encode(ng.dict->BoS());
457
+
458
+ int bol;
459
+ double bow;
460
+ unsigned int n=0;
461
+
462
+ std::cout.setf(ios::scientific);
463
+ std::cout << "> ";
464
+
465
+ lmt->dictionary_incflag(1);
466
+
467
+ while(std::cin >> ng) {
468
+
469
+ //std::cout << ng << std::endl;;
470
+ // reset ngram at begin of sentence
471
+ if (*ng.wordp(1)==bos) {
472
+ ng.size=1;
473
+ continue;
474
+ }
475
+
476
+ if (ng.size>=lmt->maxlevel()) {
477
+ ng.size=lmt->maxlevel();
478
+ ++n;
479
+ if ((n % 100000)==0) {
480
+ std::cerr << ".";
481
+ lmt->check_caches_levels();
482
+ }
483
+ std::cout << ng << " p= " << lmt->clprob(ng,&bow,&bol) * M_LN10;
484
+ std::cout << " bo= " << bol << std::endl;
485
+ } else {
486
+ std::cout << ng << " p= NULL" << std::endl;
487
+ }
488
+ std::cout << "> ";
489
+ }
490
+ std::cout << std::endl;
491
+ if (debug>1) lmt->stat();
492
+ delete lmt;
493
+ return 0;
494
+ }
495
+
496
+ if (textoutput) {
497
+ std::cerr << "Saving in txt format to " << outfile << std::endl;
498
+ lmt->savetxt(outfile.c_str());
499
+ } else if (!memmap) {
500
+ std::cerr << "Saving in bin format to " << outfile << std::endl;
501
+ lmt->savebin(outfile.c_str());
502
+ } else {
503
+ std::cerr << "Impossible to save to " << outfile << std::endl;
504
+ }
505
+ delete lmt;
506
+ return 0;
507
+ }
508
+
lm/irstlm/branches/binary_saving/src/cplsa.cpp ADDED
@@ -0,0 +1,405 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /******************************************************************************
2
+ IrstLM: IRST Language Model Toolkit, compile LM
3
+ Copyright (C) 2006 Marcello Federico, ITC-irst Trento, Italy
4
+
5
+ This library is free software; you can redistribute it and/or
6
+ modify it under the terms of the GNU Lesser General Public
7
+ License as published by the Free Software Foundation; either
8
+ version 2.1 of the License, or (at your option) any later version.
9
+
10
+ This library is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ Lesser General Public License for more details.
14
+
15
+ You should have received a copy of the GNU Lesser General Public
16
+ License along with this library; if not, write to the Free Software
17
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
+
19
+ **********************************************dou********************************/
20
+
21
+ using namespace std;
22
+
23
+ #include <cmath>
24
+ #include "mfstream.h"
25
+ #include "mempool.h"
26
+ #include "htable.h"
27
+ #include "dictionary.h"
28
+ #include "n_gram.h"
29
+ #include "ngramtable.h"
30
+ #include "doc.h"
31
+ #include "cplsa.h"
32
+
33
+ #define MY_RAND (((double)rand()/RAND_MAX)* 2.0 - 1.0)
34
+
35
+ plsa::plsa(dictionary* dictfile,int top,
36
+ char* baseFile,char* featFile,char* hFile,char* wFile,char* tFile)
37
+ {
38
+
39
+ dict = dictfile;
40
+
41
+ topics=top;
42
+
43
+ assert (topics>0);
44
+
45
+ W=new double* [dict->size()+1];
46
+ for (int i=0; i<(dict->size()+1); i++) W[i]=new double [topics];
47
+
48
+ T=new double* [dict->size()+1];
49
+ for (int i=0; i<(dict->size()+1); i++) T[i]=new double [topics];
50
+
51
+ H=new double [topics];
52
+
53
+ basefname=baseFile;
54
+ featfname=featFile;
55
+
56
+ tfname=tFile;
57
+ wfname=wFile;
58
+ hinfname=new char[BUFSIZ];
59
+ sprintf(hinfname,"%s",hFile);
60
+
61
+ houtfname=new char[BUFSIZ];
62
+ sprintf(houtfname,"%s.out",hinfname);
63
+ cerr << "Hfile in:" << hinfname << " out:" << houtfname << "\n";
64
+ }
65
+
66
+ int plsa::initW(double noise,int spectopic)
67
+ {
68
+
69
+ FILE *f;
70
+
71
+ if (wfname && ((f=fopen(wfname,"r"))!=NULL)) {
72
+ fclose(f);
73
+ loadW(wfname);
74
+ } else {
75
+
76
+ if (spectopic) {
77
+ //special topic 0: first st words from dict
78
+ double TotW=0;
79
+ for (int i=0; i<spectopic; i++)
80
+ TotW+=W[i][0]=dict->freq(i);
81
+ for (int i=0; i<(dict->size()+1); i++)
82
+ W[i][0]/=TotW;
83
+ }
84
+
85
+ for (int t=(spectopic?1:0); t<topics; t++) {
86
+ double TotW=0;
87
+ for (int i=0; i<(dict->size()+1); i++)
88
+ TotW+=W[i][t]=1 + noise * MY_RAND;
89
+ for (int i=0; i<(dict->size()+1); i++)
90
+ W[i][t]/=TotW;
91
+ }
92
+ }
93
+ return 1;
94
+ }
95
+
96
+ int plsa::initH(double noise,int n)
97
+ {
98
+
99
+ FILE *f;
100
+
101
+ if ((f=fopen(hinfname,"r"))==NULL) {
102
+ mfstream hinfd(hinfname,ios::out);
103
+ for (int j=0; j<n; j++) {
104
+ double TotH=0;
105
+ for (int t=0; t<topics; t++) TotH+=H[t]=1+noise * MY_RAND;
106
+ for (int t=0; t<topics; t++) H[t]/=TotH;
107
+ hinfd.write((const char*)H,topics *sizeof(double));
108
+ }
109
+ hinfd.close();
110
+ } else
111
+ fclose(f);
112
+ return 1;
113
+ }
114
+
115
+ int plsa::saveWtxt(char* fname)
116
+ {
117
+
118
+ mfstream out(fname,ios::out);
119
+ out << topics << "\n";
120
+ for (int i=0; i<dict->size(); i++) {
121
+ out << dict->decode(i) << " " << dict->freq(i);
122
+ double totW=0;
123
+ for (int t=0; t<topics; t++) totW+=W[i][t];
124
+ out <<"totPr:" << totW << ":";
125
+ for (int t=0; t<topics; t++)
126
+ out << " " << W[i][t];
127
+ out << "\n";
128
+ }
129
+ out.close();
130
+ return 1;
131
+ }
132
+
133
+ int plsa::saveW(char* fname)
134
+ {
135
+
136
+ mfstream out(fname,ios::out);
137
+ out.write((const char*)&topics,sizeof(int));
138
+ for (int i=0; i<dict->size(); i++)
139
+ out.write((const char*)W[i],sizeof(double)*topics);
140
+ out.close();
141
+ return 1;
142
+ }
143
+
144
+ int plsa::saveT(char* fname)
145
+ {
146
+ mfstream out(fname,ios::out);
147
+ out.write((const char*)&topics,sizeof(int));
148
+ for (int i=0; i<dict->size(); i++) {
149
+ double totT=0.0;
150
+ for (int t=0; t<topics; t++) totT+=T[i][t];
151
+ if (totT>0.00001) {
152
+ out.write((const char*)&i,sizeof(int));
153
+ out.write((const char*)T[i],sizeof(double)*topics);
154
+ }
155
+ }
156
+ out.close();
157
+ return 1;
158
+ }
159
+
160
+
161
+ int plsa::combineT(char* tlist)
162
+ {
163
+
164
+ double *tvec=new double[topics];
165
+ int w;
166
+ int to;
167
+ char fname[1000];
168
+ for (int i=0; i<dict->size(); i++)
169
+ for (int t=0; t<topics; t++) T[i][t]=0;
170
+
171
+ mfstream inp(tlist,ios::in);
172
+ while (inp >> fname) {
173
+ mfstream tin(fname,ios::in);
174
+ tin.read((char *)&to,sizeof(int));
175
+ assert(to==topics);
176
+ while(!tin.eof()) {
177
+ tin.read((char *)&w,sizeof(int));
178
+ tin.read((char *)tvec,sizeof(double)*topics);
179
+ for (int t=0; t<topics; t++) T[w][t]+=tvec[t];
180
+ }
181
+ tin.close();
182
+ }
183
+
184
+ delete [] tvec;
185
+
186
+ for (int t=0; t<topics; t++) {
187
+ double Tsum=0;
188
+ for (int i=0; i<dict->size(); i++) {
189
+ if (T[i][t]==0.0) T[i][t]=1e-10; //add some noise
190
+ Tsum+=T[i][t];
191
+ }
192
+ for (int i=0; i<dict->size(); i++) W[i][t]=T[i][t]/Tsum;
193
+ }
194
+ //check
195
+ return 1;
196
+ }
197
+
198
+ int plsa::loadW(char* fname)
199
+ {
200
+ int r;
201
+ mfstream inp(fname,ios::in);
202
+ inp.read((char *)&r,sizeof(int)); //number of topics
203
+
204
+ if (topics>0 && r != topics) {
205
+ cerr << "incompatible number of topics: " << r << "\n";
206
+ exit(2);
207
+ } else
208
+ topics=r;
209
+
210
+ for (int i=0; i<dict->size(); i++)
211
+ inp.read((char *)W[i],sizeof(double)*topics);
212
+
213
+ return 1;
214
+ }
215
+
216
+ int plsa::saveFeat(char* fname)
217
+ {
218
+
219
+ //compute distribution on doc 0
220
+ double *WH=new double [dict->size()];
221
+ for (int i=0; i<dict->size(); i++) {
222
+ WH[i]=0;
223
+ for (int t=0; t<topics; t++)
224
+ WH[i]+=W[i][t]*H[t];
225
+ }
226
+
227
+ double maxp=WH[0];
228
+ for (int i=1; i<dict->size(); i++)
229
+ if (WH[i]>maxp) maxp=WH[i];
230
+
231
+ cerr << "Get max prob" << maxp << "\n";
232
+
233
+ mfstream out(fname,ios::out);
234
+ ngramtable ngt(NULL,1,NULL,NULL,NULL,0,0,NULL,0,COUNT);
235
+ ngt.dict->incflag(1);
236
+
237
+ ngram ng(dict,1);
238
+ ngram ng2(ngt.dict,1);
239
+
240
+ for (int i=0; i<dict->size(); i++) {
241
+ *ng.wordp(1)=i;
242
+ ng.freq=(int)floor((WH[i]/maxp) * 1000000);
243
+ if (ng.freq) {
244
+ ng2.trans(ng);
245
+ ng2.freq=ng.freq;
246
+ //cout << ng << "\n" << ng2 << "\n";
247
+ ngt.put(ng2);
248
+ ngt.dict->incfreq(*ng2.wordp(1),ng2.freq);
249
+ }
250
+ }
251
+
252
+ ngt.dict->incflag(0);
253
+ ngt.savetxt(fname,1,1);// save in google format
254
+
255
+ return 1;
256
+ }
257
+
258
+
259
+ int plsa::train(char *trainfile,int maxiter,double noiseH,int flagW,double noiseW,int spectopic)
260
+ {
261
+
262
+ int dsize=dict->size(); //includes possible OOV
263
+
264
+ srand(100);
265
+
266
+ if (flagW) {
267
+ //intialize W
268
+ initW(noiseW,spectopic);
269
+ }
270
+
271
+ doc trset(dict,trainfile);
272
+ trset.open(); //n is known
273
+
274
+ initH(noiseH,trset.n);
275
+
276
+ //support array
277
+ double *WH=new double [dsize];
278
+
279
+ //command
280
+ char cmd[100];
281
+ sprintf(cmd,"mv %s %s",houtfname,hinfname);
282
+
283
+ //start of training
284
+
285
+ double lastLL=10;
286
+ double LL=-1e+99;
287
+
288
+ int iter=0;
289
+ int r=topics;
290
+
291
+
292
+ while (iter < maxiter)
293
+ //while ( (iter < maxiter) && (((lastLL-LL)/lastLL)>0.00001))
294
+ {
295
+ lastLL=LL;
296
+ LL=0;
297
+
298
+ if (flagW) //reset support arrays
299
+ for (int i=0; i<dict->size(); i++)
300
+ for (int t=0; t<r; t++)
301
+ T[i][t]=0;
302
+
303
+ {
304
+
305
+ mfstream hindf(hinfname,ios::in);
306
+ mfstream houtdf(houtfname,ios::out);
307
+
308
+ while(trset.read()) { //read next doc
309
+
310
+ int m=trset.m;
311
+ /* unused parameter int n=trset.n; */
312
+ int j=trset.cd; //current document
313
+ int N=0; // doc lenght
314
+
315
+ //resume H
316
+ hindf.read((char *)H,topics * sizeof(double));
317
+
318
+ //precompute WHij i=0,...,m-1; j=n-1 fixed
319
+ for (int i=0; i<m; i++) {
320
+ WH[trset.V[i]]=0;
321
+ N+=trset.N[trset.V[i]];
322
+ for (int t=0; t<r; t++)
323
+ WH[trset.V[i]]+=W[trset.V[i]][t]*H[t];
324
+ LL+=trset.N[trset.V[i]] * log( WH[trset.V[i]] );
325
+ }
326
+
327
+ //UPDATE Tia
328
+ if (flagW) {
329
+ for (int i=0; i<m; i++) {
330
+ for (int t=0; t<r; t++)
331
+ T[trset.V[i]][t]+=
332
+ (trset.N[trset.V[i]] * W[trset.V[i]][t] *
333
+ H[t]/WH[trset.V[i]]);
334
+ }
335
+ }
336
+
337
+ //UPDATE Haj
338
+ double totH=0;
339
+ for (int t=0; t<r; t++) {
340
+ double tmpHaj=0;
341
+ for (int i=0; i<m; i++)
342
+ tmpHaj+=(trset.N[trset.V[i]] * W[trset.V[i]][t] *
343
+ H[t]/WH[trset.V[i]]);
344
+ H[t]=tmpHaj/(double)N;
345
+ totH+=H[t];
346
+ }
347
+
348
+ if(totH>1.000001 || totH<0.999999999) {
349
+ cerr << "totH=" << totH << "\n";
350
+ exit(1);
351
+ }
352
+
353
+ //save H
354
+ houtdf.write((const char*)H,topics * sizeof(double));
355
+
356
+ // start a new document
357
+ if (!(j % 10000)) cerr << ".";
358
+
359
+ }
360
+
361
+ hindf.close();
362
+ houtdf.close();
363
+
364
+ cerr << cmd <<"\n";
365
+ system(cmd);
366
+ }
367
+
368
+
369
+ if (flagW) {
370
+ cerr <<"end of train file final update of Wia\n";
371
+ for (int t=0; t<r; t++) {
372
+ double Tsum=0;
373
+ for (int i=0; i<dsize; i++) Tsum+=T[i][t];
374
+ for (int i=0; i<dsize; i++) W[i][t]=T[i][t]/Tsum;
375
+ cerr << "end of normalization\n";
376
+ }
377
+ }
378
+ trset.reset();
379
+
380
+ cout << "iteration: " << ++iter << " LL: " << LL << "\n";
381
+ // LL=lastLL;
382
+
383
+ if (flagW) {
384
+ cerr << "Saving base distributions\n";
385
+ if (tfname) saveT(tfname);
386
+ else saveW(basefname);
387
+ }
388
+
389
+ }
390
+
391
+ if (!flagW) {
392
+ cout << "Saving features\n";
393
+ saveFeat(featfname);
394
+ }
395
+
396
+ delete [] WH;
397
+ return 1;
398
+ }
399
+
400
+
401
+
402
+
403
+
404
+
405
+