Upload folder using huggingface_hub
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- lm/irstlm/CMakeLists.txt +52 -0
- lm/irstlm/Copyright +21 -0
- lm/irstlm/Makefile +835 -0
- lm/irstlm/Makefile.am +17 -0
- lm/irstlm/Makefile.in +835 -0
- lm/irstlm/README +45 -0
- lm/irstlm/RELEASE +1 -0
- lm/irstlm/aclocal.m4 +1200 -0
- lm/irstlm/ar-lib +1 -0
- lm/irstlm/autom4te.cache/output.0 +0 -0
- lm/irstlm/autom4te.cache/output.1 +0 -0
- lm/irstlm/autom4te.cache/output.2 +0 -0
- lm/irstlm/autom4te.cache/requests +523 -0
- lm/irstlm/autom4te.cache/traces.0 +0 -0
- lm/irstlm/autom4te.cache/traces.1 +663 -0
- lm/irstlm/autom4te.cache/traces.2 +0 -0
- lm/irstlm/branches/binary_saving/Copyright +21 -0
- lm/irstlm/branches/binary_saving/Makefile.am +10 -0
- lm/irstlm/branches/binary_saving/README +40 -0
- lm/irstlm/branches/binary_saving/RELEASE +1 -0
- lm/irstlm/branches/binary_saving/config.h.in +62 -0
- lm/irstlm/branches/binary_saving/configure.in +132 -0
- lm/irstlm/branches/binary_saving/irstlm.xcodeproj/project.pbxproj +1431 -0
- lm/irstlm/branches/binary_saving/m4/ax_boost_base.m4 +223 -0
- lm/irstlm/branches/binary_saving/m4/ax_boost_thread.m4 +143 -0
- lm/irstlm/branches/binary_saving/m4/ax_xmlrpc_c.m4 +52 -0
- lm/irstlm/branches/binary_saving/make-release +37 -0
- lm/irstlm/branches/binary_saving/regenerate-makefiles.sh +58 -0
- lm/irstlm/branches/binary_saving/scripts/Makefile.am +19 -0
- lm/irstlm/branches/binary_saving/scripts/add-start-end.sh +8 -0
- lm/irstlm/branches/binary_saving/scripts/build-lm-qsub.sh +315 -0
- lm/irstlm/branches/binary_saving/scripts/build-lm.sh +216 -0
- lm/irstlm/branches/binary_saving/scripts/build-sublm.pl +339 -0
- lm/irstlm/branches/binary_saving/scripts/goograms2ngrams.pl +139 -0
- lm/irstlm/branches/binary_saving/scripts/lm-stat.pl +56 -0
- lm/irstlm/branches/binary_saving/scripts/merge-sublm.pl +196 -0
- lm/irstlm/branches/binary_saving/scripts/ngram-split.pl +61 -0
- lm/irstlm/branches/binary_saving/scripts/other/astyle_Darwin +0 -0
- lm/irstlm/branches/binary_saving/scripts/other/astyle_Linux +0 -0
- lm/irstlm/branches/binary_saving/scripts/other/beautify.perl +22 -0
- lm/irstlm/branches/binary_saving/scripts/rm-start-end.sh +6 -0
- lm/irstlm/branches/binary_saving/scripts/sort-lm.pl +120 -0
- lm/irstlm/branches/binary_saving/scripts/split-dict.pl +150 -0
- lm/irstlm/branches/binary_saving/scripts/split-ngt.sh +42 -0
- lm/irstlm/branches/binary_saving/scripts/wrapper +10 -0
- lm/irstlm/branches/binary_saving/src/Makefile.am +86 -0
- lm/irstlm/branches/binary_saving/src/cmd.c +675 -0
- lm/irstlm/branches/binary_saving/src/cmd.h +71 -0
- lm/irstlm/branches/binary_saving/src/compile-lm.cpp +508 -0
- 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 |
+
|