Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tesseract not working fine with arabic #791

Closed
wants to merge 138 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
138 commits
Select commit Hold shift + click to select a range
44717c4
opencl: Fix wrong implementation of function getNumDeviceWithEmptyScore
stweil Nov 5, 2016
663ca26
opencl: Add missing argument for L_WARNING
stweil Nov 5, 2016
5919916
opencl: Remove unused function getNumDeviceWithEmptyScore
stweil Nov 7, 2016
c4dbc0e
Fix crash caused by undefined value of local variable
stweil Nov 7, 2016
c5fdba5
allow combination of enable/disable
zdenop Nov 11, 2016
0518bb5
opencl: Fix type of parameter for clGetContextInfo
stweil Nov 12, 2016
c097dd3
opencl: Fix type of parameter for clGetProgramInfo
stweil Nov 12, 2016
f8cac77
backport from 4.00: issue #242 - different results when same image is…
zdenop Nov 25, 2016
67fa73c
training: Fix compiler warnings (deprecated register keyword)
stweil Nov 13, 2016
07ce98b
add option "make training-uninstall"
zdenop Feb 12, 2016
e5a86c4
Fix a typo in tesseract(1) man page
ciupicri Nov 8, 2016
56dc7d1
Fix typo in documentation
stweil Nov 3, 2016
b04a910
opencl: Fix typo in name of local variable
zdenop Nov 25, 2016
b0a2189
ccutil/ambigs: Optimize tesseract::UnicharIdArrayUtils::compare
stweil Nov 12, 2016
4f3cc9c
Fixed failed merge of memory leak
theraysmith Nov 22, 2016
054205f
Fix compiler warning (-Wmaybe-uninitialized)
stweil Nov 22, 2016
f8e1c7e
AUTHORS - Add community contributors
amitdo Nov 24, 2016
e8d5152
Increase version number in VS2010 and fix year
zdenop Nov 25, 2016
057b932
backport from 4.00: add missing License information
zdenop Nov 25, 2016
e9785a0
downgrade to leptonica 1.73
zdenop Nov 25, 2016
e5743fd
backport style changes from 4.00 for better identification of fixes a…
zdenop Nov 25, 2016
90651e1
backport style changes from 4.00 for better identification of fixes a…
zdenop Nov 25, 2016
8e7e272
Merge branch '3.05' of https://github.com/tesseract-ocr/tesseract int…
zdenop Nov 25, 2016
bf0f901
add license info to autogen.sh
zdenop Nov 25, 2016
6dcafe6
revert TessHashMap to hash_map in training/stringrenderer.h from 9065…
zdenop Nov 27, 2016
0dccbed
AUTHORS: Add more contributors
amitdo Nov 26, 2016
6d47e90
use leptonica from master git repository (1.74)
zdenop Nov 27, 2016
fe9fa88
Missing pdf font file from previous sync
theraysmith Nov 28, 2016
8a7de59
Fixed the memory leak/double free cleanly
theraysmith Nov 28, 2016
7169545
fix code style
zdenop Nov 29, 2016
d01dd0b
backport from 4.00: show PSM 11-13
zdenop Nov 29, 2016
c8e2be6
backport from 4.00: fix pdfrenderer
zdenop Nov 29, 2016
aa9be09
add License info to cmake files
zdenop Nov 29, 2016
01cf9c2
increase GENERIC_MINOR_VERSION
zdenop Nov 29, 2016
c778cd5
backport from 4.00: changes in scrollviewer
zdenop Nov 29, 2016
493312c
backport from 4.00: fix of destroy_nodes (oldlist.cpp)
zdenop Nov 29, 2016
382fdd5
backport from 4.00: changes in cube
zdenop Nov 30, 2016
70ed782
style fix
zdenop Nov 30, 2016
6234da6
backport from 4.00: changes in wordrec + FakeWordFromRatings
zdenop Nov 30, 2016
5882261
backport from 4.00: use "const TBOX&" instead of "TBOX box" in textord
zdenop Nov 30, 2016
ed0c60b
backport from 4.00: use ".empty()" instead of ".size() > 0"
zdenop Nov 30, 2016
e3236f4
backport from 4.00: changes in textord
zdenop Nov 30, 2016
57d38b9
backport from 4.00: changes in Android.mk
zdenop Nov 30, 2016
3b77715
backport from 4.00: changes in classify
zdenop Nov 30, 2016
9d1db80
backport from 4.00: changes from ccstruct excluding imagedata
zdenop Nov 30, 2016
0cbbbe6
backport from 4.00: SkipDeSerialize and changes in ccutil
zdenop Nov 30, 2016
5750e72
use TessHashMap instead of hash_map, unordered_map
zdenop Nov 30, 2016
775a108
backport from 4.00: enable selection of OCR engine mode from command …
zdenop Dec 2, 2016
2f8c1e7
backport from 4.00: split Dict::Load to SetupForLoad, Load and Finish…
zdenop Dec 2, 2016
af1d856
backport from 4.00: code improvements
zdenop Dec 2, 2016
fc3d07b
backport from 4.00: api changes
zdenop Dec 2, 2016
948689b
Merge branch '3.05' of https://github.com/tesseract-ocr/tesseract int…
zdenop Dec 2, 2016
9ccda80
backport from 4.00: training shell scripts
zdenop Dec 2, 2016
53152e4
change VS2010 lib project name
zdenop Dec 2, 2016
7099358
backport from 4.00: training
zdenop Dec 4, 2016
c1d3712
backport from 4.00: imagedata
zdenop Dec 7, 2016
46a84e7
opencl: Clean whitespace issues in OpenCL kernel code
stweil Nov 25, 2016
4ade275
opencl: Format OpenCL kernel code
stweil Nov 25, 2016
892c007
opencl: Fix OpenCL kernel code assertion for newer versions
stweil Nov 25, 2016
c73f21a
Simplify calls of free
stweil Nov 13, 2016
743eb81
Simplify delete operations
stweil Nov 23, 2016
2940b44
Missing pdf font file from previous sync
theraysmith Nov 28, 2016
e9be858
Fixed the memory leak/double free cleanly
theraysmith Nov 28, 2016
f9253c1
Fix build for Mingw-w64 (120a5dbdab78) and non C++11 build (VS2010)
zdenop Dec 7, 2016
ca6e64e
mingw-w64: Fix compiler warnings caused by macro redefinition
stweil Nov 29, 2016
a74c6aa
cube: Simplify delete operations
stweil Nov 28, 2016
a2fa9ca
cube/char_bigrams: Fix some memory leaks
stweil Nov 28, 2016
73c0649
cube/char_samp: Fix some memory leaks
stweil Nov 28, 2016
b169ef5
Correcting link for 3rd party wiki pages
Nov 30, 2016
82529e3
Formatting changes from clang_tidy on latest pull
zdenop Dec 7, 2016
5307204
Added std:: to vector
zdenop Dec 7, 2016
257d6e8
cube: Simplify new operations
stweil Nov 30, 2016
4789ca2
Simplify new operations
stweil Nov 30, 2016
9984077
Change tesseract parameter -oem to --oem
stweil Nov 30, 2016
6933b06
Change tesseract parameter -psm to --psm
stweil Nov 30, 2016
1aaff88
opencl: Remove unneeded and potentially bad type casts
zdenop Dec 7, 2016
98d50f6
cube: Fix use after free regression
stweil Dec 2, 2016
8a02c4f
cube: Fix coverity warning caused by unneeded null pointer check
stweil Dec 2, 2016
d009c4f
opencl: Add missing checks for OpenCL failures
stweil Dec 3, 2016
4535d24
Remove extra semicolons after member function definitions
stweil Dec 4, 2016
2298bdd
Fixed damage to binary images when processing PDFs, issue #535
theraysmith Dec 6, 2016
ddef7d4
training: Update Makefile for current Mingw-w64
stweil May 15, 2016
e34ab8c
doc: Fix line endings
stweil Dec 4, 2016
f60bfbe
fix typo
zdenop Dec 7, 2016
f29abea
tesseract: Disable Leptonica messages
stweil Dec 4, 2016
d969ed1
Produce warning for invalid resolution. Fix #453
jbreiden Dec 7, 2016
59ba80b
More clang-tidy from previous commits
zdenop Dec 8, 2016
ba5a17b
Remove duplicate destructor
pnordhus Jun 17, 2016
bdb690b
Implement a new orientation and script detection API for C and C++
Dec 7, 2016
66c03c9
Revise after code review
Dec 8, 2016
23a08b0
Remove unused code.
alankila Dec 9, 2016
2452051
Remove 'listio.cpp' and 'listio.h' from vs2010 vcxproj
amitdo Dec 9, 2016
71269e7
Fix two typos in comments
stweil Dec 10, 2016
d045aaa
java: Improve build rules
stweil Dec 11, 2016
8af3629
openmp: Fix OpenMP support
stweil Dec 11, 2016
da50e56
Merge pull request #564 from stweil/3.05
zdenop Dec 12, 2016
7f4831b
increase min autoconf version (2.59)
zdenop Dec 23, 2016
092c7d5
require leptonica 1.74 or higher
zdenop Dec 26, 2016
245eebd
Multi-page TIFF buffering is broken - fix #233
zdenop Dec 7, 2016
0889940
fix removal of AC_CHECK_LIB([lept])
zdenop Dec 26, 2016
3df54a4
remove (fake) OPENMP support
zdenop Dec 26, 2016
73890c3
Update cppan.yml
egorpugin Jan 6, 2017
aaf49f7
leptonica 1.74.1 is needed for cppan
zdenop Jan 6, 2017
d500231
fix #665 process file list
jbreiden Jan 19, 2017
1999aa1
fix appveyor
zdenop Jan 19, 2017
45fd3ed
fix #712: Ghostscript mangling Tesseract-produced PDFs
zdenop Feb 13, 2017
a912d70
Backport cppan fixes.
egorpugin Feb 13, 2017
43f3b5f
Merge branch '3.05' of github.aaakk.us.kg-egorpugin:tesseract-ocr/tesseract i…
egorpugin Feb 13, 2017
77ff650
Backport cmake fixes.
egorpugin Feb 13, 2017
16563b4
Add .cppan to ignore list.
egorpugin Feb 15, 2017
db87e21
3.05.00 release
zdenop Feb 16, 2017
998d473
3.05.00 release
zdenop Feb 16, 2017
2ca5d0a
Merge branch '3.05' of https://github.com/tesseract-ocr/tesseract int…
zdenop Feb 16, 2017
e85a7e2
replace nullptr with NULL to enable non c++11 build (fixes #727)
zdenop Feb 19, 2017
40dc280
Rename cppan/cmake targets.
egorpugin Feb 23, 2017
183ee56
Correct reading config files with \r\n
solomennikm Mar 1, 2017
6fbd9d2
Use camel case for GitHub in README.md
stweil Dec 22, 2016
697c3dc
Fix indentation after conditional [-Wmisleading-indentation]
zdenop Mar 10, 2017
efb89f8
[`autogen.sh`:] Abstract the absolute path of `libtoolize` or `glibt…
RandomDSdevel Mar 7, 2017
ed49959
[`autogen.sh`:] Reduce in-script comment block width to 80 characters.
RandomDSdevel Mar 9, 2017
3671de0
[`autogen.sh`:] Clarify `libtoolize`/`glibtoolize` existence check e…
RandomDSdevel Mar 9, 2017
d9a9876
[`autogen.sh`:] Improve `libtoolize` invocation message.
RandomDSdevel Mar 9, 2017
35a9334
Add the packaging metadata to build the tesseract snap
Feb 3, 2017
6fcfcc8
Use portable data types #709
stweil Mar 10, 2017
ec8d52b
fix --disable-graphics build
zdenop Mar 10, 2017
2c203e6
fix --enable-visibility build (including training tools)
zdenop Mar 10, 2017
5806259
Fix some typos in comments (found by codespell)
zdenop Mar 10, 2017
a692cca
Update appveyor.yml
egorpugin Mar 14, 2017
ffea3fa
Disable warnings on Appveyor.
egorpugin Mar 14, 2017
eea6d67
Update CMakeLists.txt
egorpugin Mar 14, 2017
f30cac4
libtiff is needed for windows build of tesseract executable
zdenop Mar 17, 2017
4925e6c
Add item to ChangeLog for options writing to stdout instead of stderr
cjmayo Mar 20, 2017
51d0bbe
Merge pull request #776 from cjmayo/stdoutput
zdenop Mar 21, 2017
09acc4f
Update README.md heading markdown
wilsonmar Mar 18, 2017
f80c3b2
Fix windows build.
egorpugin Mar 22, 2017
088186f
Update appveyor.yml
egorpugin Mar 22, 2017
d0951da
Update appveyor.yml
egorpugin Mar 22, 2017
9c1034d
Update appveyor.yml
egorpugin Mar 23, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ training/wordlist2dawg
*.patch

# ignore compilation files
build/*
*/.deps/*
*/.libs/*
*.lo
Expand All @@ -74,4 +75,8 @@ kernel*.bin
# build dirs
/build*
/cppan
/win*
/.cppan
/win*
*.dll
*.exe
*.lnk
14 changes: 14 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@ Ray Smith (lead developer) <[email protected]>
Ahmad Abdulkader
Rika Antonova
Nicholas Beato
Jeff Breidenbach
Samuel Charron
Phil Cheatle
Simon Crouch
David Eger
Sheelagh Huddleston
Dan Johnson
Rajesh Katikam
Thomas Kielbus
Dar-Shyang Lee
Zongyi (Joe) Liu
Expand All @@ -26,3 +28,15 @@ Joern Wanke
Ping Ping Xiu
Andrew Ziem
Oscar Zuniga

Community Contributors:
Zdenko Podobný (Maintainer)
Jim Regan (Maintainer)
James R Barlow
Amit Dovev
Martin Ettl
Tom Morris
Tobias Müller
Egor Pugin
Sundar M. Vaidya
Stefan Weil
50 changes: 32 additions & 18 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,19 +46,25 @@ set(VERSION_PLAIN ${VERSION_MAJOR}.${VERSION_MINOR})

set(MINIMUM_LEPTONICA_VERSION 1.71)

if(NOT EXISTS ${PROJECT_SOURCE_DIR}/cppan)
if(NOT EXISTS ${PROJECT_SOURCE_DIR}/.cppan)
if (NOT Leptonica_DIR AND NOT MSVC)
find_package(PkgConfig REQUIRED)
pkg_check_modules(Leptonica REQUIRED lept)
pkg_check_modules(Leptonica REQUIRED lept>=${MINIMUM_LEPTONICA_VERSION})
else()
find_package(Leptonica ${MINIMUM_LEPTONICA_VERSION} REQUIRED CONFIG)
endif()
else()
add_subdirectory(cppan)
if (STATIC)
set(CPPAN_BUILD_SHARED_LIBS 0)
else()
set(CPPAN_BUILD_SHARED_LIBS 1)
endif()
add_subdirectory(.cppan)
endif()

find_package(OpenCL QUIET)
find_package(PkgConfig)

option(BUILD_TRAINING_TOOLS "Build training tools" ON)

###############################################################################
#
Expand All @@ -76,6 +82,9 @@ if (WIN32)
add_definitions(-D_CRT_SECURE_NO_WARNINGS)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
if (APPVEYOR)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W0")
endif()
endif()

set(LIB_Ws2_32 Ws2_32)
Expand Down Expand Up @@ -201,25 +210,29 @@ set(tesseract_src ${tesseract_src}
api/pdfrenderer.cpp
)

add_library (tesseract ${LIBRARY_TYPE} ${tesseract_src} ${tesseract_hdr})
add_library (libtesseract ${LIBRARY_TYPE} ${tesseract_src} ${tesseract_hdr})
if (NOT STATIC)
target_compile_definitions (tesseract PUBLIC -DTESS_EXPORTS)
target_compile_definitions (libtesseract
PRIVATE -DTESS_EXPORTS
INTERFACE -DTESS_IMPORTS
)
set_target_properties (libtesseract PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS True)
endif()
target_link_libraries (tesseract ${LIB_Ws2_32} ${LIB_pthread})
set_target_properties (tesseract PROPERTIES VERSION ${VERSION_MAJOR}.${VERSION_MINOR_0}.${VERSION_MINOR_1})
set_target_properties (tesseract PROPERTIES SOVERSION ${VERSION_MAJOR}.${VERSION_MINOR_0}.${VERSION_MINOR_1})
target_link_libraries (libtesseract ${LIB_Ws2_32} ${LIB_pthread})
set_target_properties (libtesseract PROPERTIES VERSION ${VERSION_MAJOR}.${VERSION_MINOR_0}.${VERSION_MINOR_1})
set_target_properties (libtesseract PROPERTIES SOVERSION ${VERSION_MAJOR}.${VERSION_MINOR_0}.${VERSION_MINOR_1})
if (WIN32)
set_target_properties (tesseract PROPERTIES OUTPUT_NAME tesseract${VERSION_MAJOR}${VERSION_MINOR})
set_target_properties (tesseract PROPERTIES DEBUG_OUTPUT_NAME tesseract${VERSION_MAJOR}${VERSION_MINOR}d)
set_target_properties (libtesseract PROPERTIES OUTPUT_NAME tesseract${VERSION_MAJOR}${VERSION_MINOR})
set_target_properties (libtesseract PROPERTIES DEBUG_OUTPUT_NAME tesseract${VERSION_MAJOR}${VERSION_MINOR}d)
endif()

if (NOT CPPAN_BUILD)
target_link_libraries (tesseract ${Leptonica_LIBRARIES})
export(TARGETS tesseract FILE ${CMAKE_BINARY_DIR}/TesseractTargets.cmake)
target_link_libraries (libtesseract ${Leptonica_LIBRARIES})
export(TARGETS libtesseract FILE ${CMAKE_BINARY_DIR}/TesseractTargets.cmake)
else()
target_link_libraries (tesseract cppan)
target_link_libraries (libtesseract pvt.cppan.demo.danbloomberg.leptonica)
file(WRITE ${CMAKE_BINARY_DIR}/TesseractTargets.cmake "include(${CMAKE_BINARY_DIR}/cppan.cmake)\n")
export(TARGETS tesseract APPEND FILE ${CMAKE_BINARY_DIR}/TesseractTargets.cmake)
export(TARGETS libtesseract APPEND FILE ${CMAKE_BINARY_DIR}/TesseractTargets.cmake)
endif()

########################################
Expand All @@ -231,12 +244,13 @@ set(tesseractmain_src
vs2010/tesseract/resource.h
vs2010/tesseract/tesseract.rc
)
add_executable (tesseractmain ${tesseractmain_src})
target_link_libraries (tesseractmain tesseract)
set_target_properties (tesseractmain PROPERTIES OUTPUT_NAME tesseract)
add_executable (tesseract ${tesseractmain_src})
target_link_libraries (tesseract libtesseract)

########################################

if (BUILD_TRAINING_TOOLS)
add_subdirectory(training)
endif()

###############################################################################
22 changes: 22 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,25 @@
2017-02-16 - V3.05.00
* Made some fine tuning to the hOCR output.
* Added TSV as another optional output format.
* Fixed ABI break introduced in 3.04.00 with the AnalyseLayout() method.
* text2image tool - Enable all OpenType ligatures available in a font. This feature requires Pango 1.38 or newer.
* Training tools - Replaced asserts with tprintf() and exit(1).
* Fixed Cygwin compatibility.
* Improved multipage tiff processing.
* Improved the embedded pdf font (pdf.ttf).
* Enable selection of OCR engine mode from command line.
* Changed tesseract command line parameter '-psm' to '--psm'.
* Write output of tesseract --help, --version and --list-langs to stdout instead of stderr.
* Added new C API for orientation and script detection, removed the old one.
* Increased minimum autoconf version to 2.59.
* Removed dead code.
* Fixed many compiler warning.
* Fixed memory and resource leaks.
* Fixed some issues with the 'Cube' OCR engine.
* Fixed some openCL issues.
* Added option to build Tesseract with CMake build system.
* Implemented CPPAN support for easy Windows building.

2016-02-17 - V3.04.01
* Added OSD renderer for psm 0. Works for single page and multi-page images.
* Improve tesstrain.sh script.
Expand Down
2 changes: 1 addition & 1 deletion INSTALL.GIT.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ So, the steps for making Tesseract are:
You need to install at least English language and OSD data files to TESSDATA_PREFIX
directory. You can retrieve single file with tools like [wget](https://www.gnu.org/software/wget/), [curl](https://curl.haxx.se/), [GithubDownloader](https://github.com/intezer/GithubDownloader) or browser.

All language data files can be retrieved from git repository (usefull only for packagers!):
All language data files can be retrieved from git repository (useful only for packagers!):

$ git clone https://github.com/tesseract-ocr/tessdata.git tesseract-ocr.tessdata

Expand Down
202 changes: 202 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@

Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
3 changes: 3 additions & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@ ACLOCAL_AMFLAGS = -I m4
if ENABLE_TRAINING
TRAINING_SUBDIR = training
training:
$(MAKE)
@cd "$(top_builddir)/training" && $(MAKE)
training-install:
@cd "$(top_builddir)/training" && $(MAKE) install
training-uninstall:
@cd "$(top_builddir)/training" && $(MAKE) uninstall
clean-local:
@cd "$(top_builddir)/training" && $(MAKE) clean
else
Expand Down
Loading