1=================================================================
2            libdmtx - Open Source Data Matrix Software
3=================================================================
4
5               libdmtx README file (all platforms)
6
7This summary of the libdmtx package applies generally to all
8platforms. For instructions regarding your specific platform,
9also see the README.xxx file in this directory that matches your
10system (e.g., README.linux, README.osx, etc...).
11
12
131. Introduction
14-----------------------------------------------------------------
15
16libdmtx is a software library that enables programs to read and
17write Data Matrix barcodes of the modern ECC200 variety. The
18library runs natively on several platforms and can be accessed by
19multiple languages using the libdmtx language wrappers. The
20utility programs dmtxread and dmtxwrite also provide a command
21line interface for libdmtx, and serve as a good reference for
22developers writing their own libdmtx-enabled programs.
23
24This package (libdmtx) contains only the core library, and is
25distributed under a Simplified BSD license with an alternate
26waiver option. See the LICENSE file in the main project directory
27for full terms of use and distribution.
28
29The non-library components related to libdmtx are available as
30separate downloads, and are distributed under a different license
31(typically LGPLv2). Please contact support@dragonflylogic.com if
32you require clarification on licensing. It's not complicated, but
33it's important to us that all license terms are respected (not
34just ours).
35
36
372. Project Components
38-----------------------------------------------------------------
39
40The libdmtx project serves a diverse audience and contains many
41components -- some of which may not be useful to you. Components
42fall into one of four categories:
43
44  Description        Package        Audience
45  -----------------  -------------  ----------------------
46  Core library       libdmtx        libdmtx programs
47  Test programs      libdmtx        libdmtx developers
48  Utility programs   dmtx-utils     Shell and command line
49  Language Wrappers  dmtx-wrappers  Non-C/C++ developers
50
51
523. Installation
53-----------------------------------------------------------------
54
55libdmtx uses GNU Autotools so installation should be familiar to
56free software veterans. If your platform cannot easily run the
57Autotools scripts, refer to the appropriate platform-specific
58README.xxx located in this directory for alternate instructions.
59
60In theory the following 3 steps would build and install libdmtx
61on your system:
62
63  $ ./configure
64  $ make
65  $ sudo make install
66
67However, you may need to install additional software or make
68other changes for these steps to work properly. The details below
69will help to address errors and/or customize beyond the defaults.
70
71Problems with "configure" step
72----------------------------------------
73If you obtained libdmtx from Git you may have received an error
74like "./configure: No such file or directory". Run this command
75before trying again:
76
77  $ ./autogen.sh
78
79The autogen.sh command requires autoconf, automake, libtool, and
80pkgconfig to be installed on your system.
81
82The configure script also offers many options for customizing the
83build process, described in detail by running:
84
85  $ ./configure --help
86
87Problems with "make" step
88----------------------------------------
89Errors encountered during the "make" step are often a result of
90missing software dependencies. Install any missing software
91mentioned in the error message(s) and try again.
92
93Problems with "sudo make install" step
94----------------------------------------
95If the 'sudo' command is not configured on your system, you can
96alternatively yell "Yeeehaww!" as you log in as root and run it
97like this:
98
99  # make install
100
101And finally...
102----------------------------------------
103If you want to verify that everything is working properly you can
104optionally build the test programs:
105
106  $ make check
107
108This command will not perform any tests, but will build the
109programs that contain test logic: multi_test, rotate_test,
110simple_test, and unit_test.
111
112Note: multi_test and rotate_test contain extra dependencies due
113to their graphical nature, and are not terribly useful unless you
114need to test the library's internals.
115
116
1175. Contact
118-----------------------------------------------------------------
119
120Project website:       www.libdmtx.org
121Documentation wiki:    libdmtx.wikidot.com
122SourceForge.net page:  www.sourceforge.net/projects/libdmtx
123OhLoh.net page:        www.ohloh.net/projects/libdmtx
124Open mailing list:     libdmtx-open_discussion@lists.sourceforge.net
125Professional support:  www.dragonflylogic.com/products
126
127
1286. This Document
129-----------------------------------------------------------------
130
131This document is derived from the wiki page located at:
132
133  http://libdmtx.wikidot.com/general-instructions
134
135If you find an error or have additional helpful information,
136please edit the wiki directly with your updates.
137