diff options
69 files changed, 6081 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..af27a95 --- /dev/null +++ b/.gitignore @@ -0,0 +1,27 @@ +Makefile +Makefile.in +aclocal.m4 +ar-lib +autom4te.cache +config.guess +config.h +config.h.in +config.log +config.sub +config.status +configure +depcomp +install-sh +libtool +libwpd.spec +libwpd-zip +ltmain.sh +m4 +missing +mkinstalldirs +stamp-h1 +test-driver +*.pc +*.rc +*~ +*.tar.* diff --git a/COPYING.MPL b/COPYING.MPL new file mode 100644 index 0000000..14e2f77 --- /dev/null +++ b/COPYING.MPL @@ -0,0 +1,373 @@ +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. @@ -0,0 +1,9 @@ +CREDITS + +Current maintainers and principal authors of libabw +---------------------------------------------------- +Fridrich Strba <fridrich.strba@bluewin.ch> Main Author + + +Contributors +------------ @@ -0,0 +1,48 @@ +libabw coding style +------------------- + +Indentation/spacing: We indent with tabs. Not spaces. This decision is, of +course, rather contentious, but it does have the force of inertia going for +it. Try to keep lines less than 120 columns wide. Please run + + astyle --options=astyle.options \*.h \*.cpp + +before committing. + +Naming: Version-specific classes, enumerations, and defines should be prefixed +with 'WP', followed by the version number (e.g.: WP6, WP5, WP51, etc.). +Generic classes (this includes utility abstractions like streams and strings) +should be prefixed with WPX. + +For better worse, we have decided on using the camel caps convention for naming +variables (i.e.: tempJustification). Use of hungarian notation (i.e.: iNum) is +forbidden, with one exception: use the 'm_' prefix for naming class and struct +variables (i.e.: my_class->m_var). Short-hand for variable names is allowed, +but don't overdo it (m_var->len() instead of m_variable->length() is ok, +m_nam instead of m_name is stupid). For AbiWord-specific state, err on the +side of verbosity (e.g.: names like +WP6ParagraphGroup_RightMarginAdjustmentSubGroup are _good_), as the extra +contextual information is useful when trying to decipher a convoluted piece of +code in the libabw parser. + +Memory allocation: Use the C++ standard operations for this (new, delete). +The rare use of realloc (and consequent use of malloc and free) in special +cases is allowed (although using a data structure from the C++ standard library +is almost always preferable): take care not to mix and match C and C++ memory +allocation functions in this case. + +Data structures: Use the C++ standard library wherever appropriate and +convenient. It should almost never be necessary to roll your own data +structure. + +Strings: You may use either the C++ standard strings or our very own +UTF8-compliant WPXString. Hand-allocated char *'s are discouraged. + +Further information: The OpenOffice.org (http://tools.openoffice.org/coding.html) +and AbiWord (cvs://cvs.abisource.com/abi/docs/AbiSourceCodeGuidelines.abw) +contain lots of useful information that will make you a better C++ coder. +Follow their advice religiously, except when they contradict something in this +document. + +Fun: Remember, the important thing is to have fun. :-) These rules are a means, +not an end. Happy hacking! @@ -0,0 +1,229 @@ +Copyright 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software +Foundation, Inc. + + This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. (Caching is +disabled by default to prevent problems with accidental use of stale +cache files.) + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You only need +`configure.ac' if you want to change it or regenerate `configure' using +a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not support the `VPATH' +variable, you have to compile the package for one architecture at a +time in the source code directory. After you have installed the +package for one architecture, use `make distclean' before reconfiguring +for another architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=PATH' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the `--target=TYPE' option to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +will cause the specified gcc to be used as the C compiler (unless it is +overridden in the site shell script). + +`configure' Invocation +====================== + + `configure' recognizes the following options to control how it +operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..4f6c474 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,25 @@ +ACLOCAL_AMFLAGS = -I m4 + +pkgconfdir = $(libdir)/pkgconfig + +pkgconf_DATA = libabw-@ABW_MAJOR_VERSION@.@ABW_MINOR_VERSION@.pc + +SUBDIRS = build inc src docs + +EXTRA_DIST = \ + autogen.sh \ + libabw.pc.in \ + COPYING.MPL \ + CREDITS \ + HACKING \ + INSTALL \ + NEWS \ + README \ + TODO + +distclean-local: + rm -rf *.cache *~ *.pc + +dist-hook: + git log --date=short --pretty="format:@%cd %an <%ae> [%H]%n%n%s%n%n%e%b" | sed -e "s|^\([^@]\)|\t\1|" -e "s|^@||" >$(distdir)/ChangeLog + @@ -0,0 +1,145 @@ +INSTALLATION: + +Unix/Linux +========== + +Installation on Unix/Linux should be simple. Simply execute the following +sequence of commands: + +./configure ; make ; su -c 'make install' + +Note that this assumes that you have development versions of glib (>= +2.0.0) and libgsf (>= 1.6.0). + +LINKS: + +glib is available at ftp://ftp.gnome.org/pub/gnome/sources/glib/ +libgsf is available at ftp://ftp.gnome.org/pub/gnome/sources/libgsf/ + +Extensive installation instructions can be found in the INSTALL file. + + +Windows - Microsoft(tm) Visual Studio/C++ +========================================= + +A workspace for MSVC6 can be found in the ./build/win32/ directory. +This workspace contains a projects file to compile a release version or +a debug version of libabw. + +NOTE: Using the MSVC build system will result in a static library only. +No dll can be created yet using this build system. If you want to create +a dll, please use the MingW build system (see below for details). + + +Windows - MinGW +=============== + +First of all, in order to use libabw in your application, you do not need +to build it yourself. If you have access to a binary distribution, you +are encouraged to use it. If for whatever reason you still want to build +libabw using MinGW, read following instructions. + + +* Build environment and dependencies + +In order to build libabw, you have to have installed MinGW distribution from +http://www.mingw.org. Because the build system of libabw uses autotools, you +must install also the MSys packages. It is advisable to install all recent +packages into a path that does not contain spaces. Besides the MinGW +distribution, you have to install the _runtime_ and _development_ packages of +_ALL_ dependencies, namely: GNU libiconv, GNU gettext, zlib, glib2, pkg-config, +libxml2 and libgsf. All these packages are linked to from Tor Lillqvist's +"GTK+ and GIMP for Windows" web-site. Go directly to the download section +(http://www.gimp.org/~tml/gimp/win32/downloads.html). + +You will have to create libtool import libraries for every DLL that you have to +link with. To do this, generate from the DLL a *.def file using "pexports.exe" +tool -- included in one of the packages of MinGW distribution -- and create +a libtool import library using the DLL, the *.def file and "dlltool.exe". +Put the result in the ../lib/ directory relative to the DLL file. +For more details, check the documentation part of the MinGW web-site. +Typically, in order to make libtool's work easier, call the import libraries +"lib"$(dllname)".dll.a", unless the library has already the "lib" in the name. +Example: iconv.dll -> libiconv.dll.a; intl.dll -> libintl.dll.a; +BUT: libxml2.dll -> libxml2.dll.a + + +* Build procedure + +1. Unpack the source code by running: + + gunzip -dc libabw-{version}.tar.gz | tar xpf + +You can also use WinZip or any other GUI compression tool. + +2. Next, run: + + export ACLOCAL_FLAGS='-I <pkg-config installation prefix>/share/aclocal'; \ + ./autogen.sh + +Some versions of libtool have bug that prevents MinGW from creating shared +libraries. The autogen.sh script "libtoolizes" the package using the libtool +included with MinGW distribution. Like that you are sure that your libtool is +able to create DLLs. +The ACLOCAL_FLAGS variable is there in order to allow the auto* scripts to find +the pkg.m4 macro that is part of the pkg-config distribution. If this macro is +not found, the generated configure script will be ending with an error. + +3. Time to configure libabw; run: + + ./configure [--prefix=<target>] [--enable-static] [--disable-shared] + +By default, the configure script uses as prefix "/usr/local" and configures to +create only shared libraries. Myself, I build using following options: +"./configure --prefix=/target --enable-static --enable-shared" + +4. In the "libtool" created by the configure script, replace any occurence of + + deplibs_check_method="file_magic ^x86 archive import|^x86 DLL" + +by + + deplibs_check_method="pass_all" + +For some reasons, libtool is not able to distinguish the libtool import +libraries libXXX.dll.a from static libraries libXXX.a. This ugly hack makes it +link with the first libXXX.dll.a that it meets. + +5. Nearly done. Make sure you have a clean build by running: + + make clean all + +6. And last but not least, compile and install libabw by running: + + make install [-i] + +If you configure using "--enable-static --disable-shared" (pure static library +creation), the libtool import libraries are not created. Make will try to install +them and will stop with error. The "-i" option makes it to report the error, but +not to stop. Like that the installation will succeed. + +That's all folks! For more information, ask questions at the mailing list +libabw-devel@list.sourceforge.net. Remember that Uncle Google can also be of big +help especially when the problem is not with libabw, but with one of its +dependencies. + +Mac OSX +======= + +Compilation on Mac OSX requires following fix in order not to have errors concerning +unresolved symbols at runtime + +1. perl -pi -e 's,need_relink=yes,need_relink=no,g' ltmain.sh + +2. ALL IN ONE LINE !!! + + perl -pi -e 's,\$CC -r -keep_private_externs -nostdlib -o \$\{lib\}-master.o + \$libobjs \&\& \$CC,\$nonopt -r -keep_private_externs -nostdlib -o + \$\{lib\}-master.o \$libobjs \&\& \$nonopt,g' configure + +3. ./configure --with-pic [all other options] + + make ; sudo make install + +The above-mentioned fix is from the libabw-1.info file of Justin F. Hallet who +maintains the libabw-1* packages for Fink project (http://fink.sourceforge.net). diff --git a/astyle.options b/astyle.options new file mode 100644 index 0000000..521cd40 --- /dev/null +++ b/astyle.options @@ -0,0 +1,11 @@ +# formatting options +style=allman +indent=tab +align-pointer=name +break-closing-brackets +pad-header +unpad-paren + +# processing options +recursive +suffix=none diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..d4a012e --- /dev/null +++ b/autogen.sh @@ -0,0 +1,54 @@ +#!/bin/sh +TESTLIBTOOLIZE="glibtoolize libtoolize" + +LIBTOOLIZEFOUND="0" + +aclocal --version > /dev/null 2> /dev/null || { + echo "error: aclocal not found" + exit 1 +} +automake --version > /dev/null 2> /dev/null || { + echo "error: automake not found" + exit 1 +} + +for i in $TESTLIBTOOLIZE; do + if which $i > /dev/null 2>&1; then + LIBTOOLIZE=$i + LIBTOOLIZEFOUND="1" + break + fi +done + +if [ "$LIBTOOLIZEFOUND" = "0" ]; then + echo "$0: need libtoolize tool to build writerperfect" >&2 + exit 1 +fi + +amcheck=`automake --version | grep 'automake (GNU automake) 1.5'` +if test "x$amcheck" = "xautomake (GNU automake) 1.5"; then + echo "warning: you appear to be using automake 1.5" + echo " this version has a bug - GNUmakefile.am dependencies are not generated" +fi + +rm -rf autom4te*.cache + +$LIBTOOLIZE --force --copy || { + echo "error: libtoolize failed" + exit 1 +} +aclocal $ACLOCAL_FLAGS || { + echo "error: aclocal $ACLOCAL_FLAGS failed" + exit 1 +} +autoheader || { + echo "error: autoheader failed" + exit 1 +} +automake -a -c --foreign || { + echo "warning: automake failed" +} +autoconf || { + echo "error: autoconf failed" + exit 1 +} diff --git a/build/.gitignore b/build/.gitignore new file mode 100644 index 0000000..c038ed7 --- /dev/null +++ b/build/.gitignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in
\ No newline at end of file diff --git a/build/Makefile.am b/build/Makefile.am new file mode 100644 index 0000000..0f81afe --- /dev/null +++ b/build/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = win32 diff --git a/build/win32/.gitignore b/build/win32/.gitignore new file mode 100644 index 0000000..fe1a2bf --- /dev/null +++ b/build/win32/.gitignore @@ -0,0 +1,10 @@ +Makefile +Makefile.in +Debug +Release +*.dep +*.mak +*.ncb +*.opt +*.plg +*.suo diff --git a/build/win32/Makefile.am b/build/win32/Makefile.am new file mode 100644 index 0000000..6895eec --- /dev/null +++ b/build/win32/Makefile.am @@ -0,0 +1,21 @@ +EXTRA_DIST = \ + compile-resource \ + lt-compile-resource \ + \ + libabw.dsp \ + libabw.dsw \ + abw2html.dsp \ + abw2raw.dsp \ + abw2text.dsp \ + \ + libabw.vcxproj.sln \ + libabw.vcxproj \ + abw2html.vcxproj \ + abw2raw.vcxproj \ + abw2text.vcxproj \ + \ + libabw.vcproj.sln \ + libabw.vcproj \ + abw2html.vcproj \ + abw2raw.vcproj \ + abw2text.vcproj diff --git a/build/win32/abw2html.dsp b/build/win32/abw2html.dsp new file mode 100644 index 0000000..5d8f3d7 --- /dev/null +++ b/build/win32/abw2html.dsp @@ -0,0 +1,114 @@ +# Microsoft Developer Studio Project File - Name="abw2html" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=abw2html - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "abw2html.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "abw2html.mak" CFG="abw2html - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "abw2html - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "abw2html - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "abw2html - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+MTL=midl.exe
+# ADD BASE MTL /nologo /win32
+# ADD MTL /nologo /win32
+# ADD BASE CPP /nologo /MT /W3 /GX /Zi /I "..\..\inc" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /c
+# ADD CPP /nologo /MT /W3 /GX /I "..\..\inc" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /c
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 libabw-stream-0.0.lib libabw-0.0.lib /nologo /subsystem:console /machine:IX86 /out:"Release\bin\abw2html.exe" /libpath:"Release\lib"
+# ADD LINK32 libabw-stream-0.0.lib libabw-0.0.lib /nologo /subsystem:console /machine:IX86 /out:"Release\bin\abw2html.exe" /libpath:"Release\lib"
+# SUBTRACT LINK32 /nodefaultlib
+
+!ELSEIF "$(CFG)" == "abw2html - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+MTL=midl.exe
+# ADD BASE MTL /nologo /win32
+# ADD MTL /nologo /win32
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\..\inc" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D "_CONSOLE" /GZ /c
+# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /I "..\..\inc" /D "_DEBUG" /D "DEBUG" /D "WIN32" /D "_CONSOLE" /GZ /c
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 libabw-stream-0.0.lib libabw-0.0.lib /nologo /subsystem:console /debug /machine:IX86 /out:"Debug\bin\abw2html.exe" /libpath:"Debug\lib"
+# ADD LINK32 libabw-0.0.lib libabw-stream-0.0.lib /nologo /subsystem:console /debug /machine:IX86 /out:"Debug\bin\abw2html.exe" /libpath:"Debug\lib"
+# SUBTRACT LINK32 /nodefaultlib
+
+!ENDIF
+
+# Begin Target
+
+# Name "abw2html - Win32 Release"
+# Name "abw2html - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+# Begin Source File
+
+SOURCE=..\..\src\conv\html\HtmlDocumentGenerator.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\src\conv\html\abw2html.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl;inc;xsd"
+# Begin Source File
+
+SOURCE=..\..\src\conv\html\HtmlDocumentGenerator.h
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/build/win32/abw2html.vcproj b/build/win32/abw2html.vcproj new file mode 100644 index 0000000..4507a88 --- /dev/null +++ b/build/win32/abw2html.vcproj @@ -0,0 +1,261 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="abw2html" + ProjectGUID="{CE8B94C0-593D-442E-ACDD-CA3830A00FF6}" + TargetFrameworkVersion="0" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Release|Win32" + OutputDirectory=".\Release" + IntermediateDirectory=".\Release" + ConfigurationType="1" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName=".\Release/abw2html.tlb" + HeaderFileName="" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="4" + AdditionalIncludeDirectories="..\..\inc" + PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE" + RuntimeLibrary="2" + TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\Release/abw2html.pch" + AssemblerListingLocation=".\Release/" + ObjectFile=".\Release/" + ProgramDataBaseFileName=".\Release/" + WarningLevel="3" + SuppressStartupBanner="true" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="libabw-stream-0.0.lib libabw-0.0.lib" + OutputFile="Release\bin\abw2html.exe" + LinkIncremental="1" + SuppressStartupBanner="true" + AdditionalLibraryDirectories="Release\lib" + ProgramDatabaseFile=".\Release/abw2html.pdb" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + SuppressStartupBanner="true" + OutputFile=".\Release/abw2html.bsc" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug|Win32" + OutputDirectory=".\Debug" + IntermediateDirectory=".\Debug" + ConfigurationType="1" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName=".\Debug/abw2html.tlb" + HeaderFileName="" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="..\..\inc" + PreprocessorDefinitions="_DEBUG;DEBUG;WIN32;_CONSOLE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\Debug/abw2html.pch" + AssemblerListingLocation=".\Debug/" + ObjectFile=".\Debug/" + ProgramDataBaseFileName=".\Debug/" + WarningLevel="3" + SuppressStartupBanner="true" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="libabw-0.0.lib libabw-stream-0.0.lib" + OutputFile="Debug\bin\abw2html.exe" + LinkIncremental="2" + SuppressStartupBanner="true" + AdditionalLibraryDirectories="Debug\lib" + GenerateDebugInformation="true" + ProgramDatabaseFile=".\Debug/abw2html.pdb" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + SuppressStartupBanner="true" + OutputFile=".\Debug/abw2html.bsc" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + > + <File + RelativePath="..\..\src\conv\html\HtmlDocumentGenerator.cpp" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\src\conv\html\abw2html.cpp" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + > + <File + RelativePath="..\..\src\conv\html\HtmlDocumentGenerator.h" + > + </File> + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/build/win32/abw2html.vcxproj b/build/win32/abw2html.vcxproj new file mode 100644 index 0000000..e4f9832 --- /dev/null +++ b/build/win32/abw2html.vcxproj @@ -0,0 +1,159 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{CE8B94C0-593D-442E-ACDD-CA3830A00FF6}</ProjectGuid> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <Midl> + <SuppressStartupBanner>true</SuppressStartupBanner> + <TargetEnvironment>Win32</TargetEnvironment> + <TypeLibraryName>.\Release/abw2html.tlb</TypeLibraryName> + <HeaderFileName> + </HeaderFileName> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>..\..\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeaderOutputFile>.\Release/abw2html.pch</PrecompiledHeaderOutputFile> + <AssemblerListingLocation>.\Release/</AssemblerListingLocation> + <ObjectFileName>.\Release/</ObjectFileName> + <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Link> + <AdditionalDependencies>libabw-stream-0.0.lib;libabw-0.0.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>Release\bin\abw2html.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <AdditionalLibraryDirectories>Release\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <ProgramDatabaseFile>.\Release/abw2html.pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + </Link> + <Bscmake> + <SuppressStartupBanner>true</SuppressStartupBanner> + <OutputFile>.\Release/abw2html.bsc</OutputFile> + </Bscmake> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <Midl> + <SuppressStartupBanner>true</SuppressStartupBanner> + <TargetEnvironment>Win32</TargetEnvironment> + <TypeLibraryName>.\Debug/abw2html.tlb</TypeLibraryName> + <HeaderFileName> + </HeaderFileName> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>..\..\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;DEBUG;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeaderOutputFile>.\Debug/abw2html.pch</PrecompiledHeaderOutputFile> + <AssemblerListingLocation>.\Debug/</AssemblerListingLocation> + <ObjectFileName>.\Debug/</ObjectFileName> + <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Link> + <AdditionalDependencies>libabw-0.0.lib;libabw-stream-0.0.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>Debug\bin\abw2html.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <AdditionalLibraryDirectories>Debug\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ProgramDatabaseFile>.\Debug/abw2html.pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + </Link> + <Bscmake> + <SuppressStartupBanner>true</SuppressStartupBanner> + <OutputFile>.\Debug/abw2html.bsc</OutputFile> + </Bscmake> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\..\src\conv\html\HtmlDocumentGenerator.cpp"> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + <ClCompile Include="..\..\src\conv\html\abw2html.cpp"> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\src\conv\html\HtmlDocumentGenerator.h" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="libabw.vcxproj"> + <Project>{330e414a-9c06-4a4b-9814-0c665f5dca52}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="libabwstream.vcxproj"> + <Project>{cb848337-b6c8-4942-961b-5a9fbbf37b46}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> diff --git a/build/win32/abw2raw.dsp b/build/win32/abw2raw.dsp new file mode 100644 index 0000000..989fbc1 --- /dev/null +++ b/build/win32/abw2raw.dsp @@ -0,0 +1,114 @@ +# Microsoft Developer Studio Project File - Name="abw2raw" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=abw2raw - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "abw2raw.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "abw2raw.mak" CFG="abw2raw - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "abw2raw - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "abw2raw - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "abw2raw - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+MTL=midl.exe
+# ADD BASE MTL /nologo /win32
+# ADD MTL /nologo /win32
+# ADD BASE CPP /nologo /MT /W3 /GX /Zi /I "..\..\inc" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /c
+# ADD CPP /nologo /MT /W3 /GX /I "..\..\inc" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /c
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 libabw-stream-0.0.lib libabw-0.0.lib /nologo /subsystem:console /machine:IX86 /out:"Release\bin\abw2raw.exe" /libpath:"Release\lib"
+# ADD LINK32 libabw-stream-0.0.lib libabw-0.0.lib /nologo /subsystem:console /machine:IX86 /out:"Release\bin\abw2raw.exe" /libpath:"Release\lib"
+# SUBTRACT LINK32 /nodefaultlib
+
+!ELSEIF "$(CFG)" == "abw2raw - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+MTL=midl.exe
+# ADD BASE MTL /nologo /win32
+# ADD MTL /nologo /win32
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "\..\..\src\lib" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D "_CONSOLE" /GZ /c
+# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /I "..\..\inc" /D "_DEBUG" /D "DEBUG" /D "WIN32" /D "_CONSOLE" /GZ /c
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 libabw-0.0.lib libabw-stream-0.0.lib /nologo /subsystem:console /debug /machine:IX86 /out:"Debug\bin\abw2raw.exe" /libpath:"Debug\lib"
+# ADD LINK32 libabw-0.0.lib libabw-stream-0.0.lib kernel32.lib /nologo /subsystem:console /debug /machine:IX86 /out:"Debug\bin\abw2raw.exe" /libpath:"Debug\lib"
+# SUBTRACT LINK32 /nodefaultlib
+
+!ENDIF
+
+# Begin Target
+
+# Name "abw2raw - Win32 Release"
+# Name "abw2raw - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+# Begin Source File
+
+SOURCE=..\..\src\conv\raw\RawDocumentGenerator.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\src\conv\raw\abw2raw.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl;inc;xsd"
+# Begin Source File
+
+SOURCE=..\..\src\conv\raw\RawDocumentGenerator.h
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/build/win32/abw2raw.vcproj b/build/win32/abw2raw.vcproj new file mode 100644 index 0000000..ec81761 --- /dev/null +++ b/build/win32/abw2raw.vcproj @@ -0,0 +1,263 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="abw2raw" + ProjectGUID="{A11C84E5-19D8-44EF-BD26-50A487CEB4B2}" + TargetFrameworkVersion="0" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Release|Win32" + OutputDirectory=".\Release" + IntermediateDirectory=".\Release" + ConfigurationType="1" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName=".\Release/abw2raw.tlb" + HeaderFileName="" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="4" + AdditionalIncludeDirectories="..\..\inc" + PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE" + RuntimeLibrary="2" + TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\Release/abw2raw.pch" + AssemblerListingLocation=".\Release/" + ObjectFile=".\Release/" + ProgramDataBaseFileName=".\Release/" + WarningLevel="3" + SuppressStartupBanner="true" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="libabw-stream-0.0.lib libabw-0.0.lib" + OutputFile="Release\bin\abw2raw.exe" + LinkIncremental="1" + SuppressStartupBanner="true" + AdditionalLibraryDirectories="Release\lib" + ProgramDatabaseFile=".\Release/abw2raw.pdb" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + SuppressStartupBanner="true" + OutputFile=".\Release/abw2raw.bsc" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug|Win32" + OutputDirectory=".\Debug" + IntermediateDirectory=".\Debug" + ConfigurationType="1" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName=".\Debug/abw2raw.tlb" + HeaderFileName="" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="..\..\inc" + PreprocessorDefinitions="_DEBUG;DEBUG;WIN32;_CONSOLE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\Debug/abw2raw.pch" + AssemblerListingLocation=".\Debug/" + ObjectFile=".\Debug/" + ProgramDataBaseFileName=".\Debug/" + WarningLevel="3" + SuppressStartupBanner="true" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="libabw-0.0.lib libabw-stream-0.0.lib" + OutputFile="Debug\bin\abw2raw.exe" + LinkIncremental="2" + SuppressStartupBanner="true" + AdditionalLibraryDirectories="Debug\lib" + GenerateDebugInformation="true" + ProgramDatabaseFile=".\Debug/abw2raw.pdb" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + SuppressStartupBanner="true" + OutputFile=".\Debug/abw2raw.bsc" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + > + <File + RelativePath="..\..\src\conv\raw\RawDocumentGenerator.cpp" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\src\conv\raw\abw2raw.cpp" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + > + <File + RelativePath="..\..\src\conv\raw\RawDocumentGenerator.h" + > + </File> + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/build/win32/abw2raw.vcxproj b/build/win32/abw2raw.vcxproj new file mode 100644 index 0000000..76150f3 --- /dev/null +++ b/build/win32/abw2raw.vcxproj @@ -0,0 +1,159 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{A11C84E5-19D8-44EF-BD26-50A487CEB4B2}</ProjectGuid> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <Midl> + <SuppressStartupBanner>true</SuppressStartupBanner> + <TargetEnvironment>Win32</TargetEnvironment> + <TypeLibraryName>.\Release/abw2raw.tlb</TypeLibraryName> + <HeaderFileName> + </HeaderFileName> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>..\..\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeaderOutputFile>.\Release/abw2raw.pch</PrecompiledHeaderOutputFile> + <AssemblerListingLocation>.\Release/</AssemblerListingLocation> + <ObjectFileName>.\Release/</ObjectFileName> + <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Link> + <AdditionalDependencies>libabw-stream-0.0.lib;libabw-0.0.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>Release\bin\abw2raw.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <AdditionalLibraryDirectories>Release\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <ProgramDatabaseFile>.\Release/abw2raw.pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + </Link> + <Bscmake> + <SuppressStartupBanner>true</SuppressStartupBanner> + <OutputFile>.\Release/abw2raw.bsc</OutputFile> + </Bscmake> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <Midl> + <SuppressStartupBanner>true</SuppressStartupBanner> + <TargetEnvironment>Win32</TargetEnvironment> + <TypeLibraryName>.\Debug/abw2raw.tlb</TypeLibraryName> + <HeaderFileName> + </HeaderFileName> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>..\..\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;DEBUG;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeaderOutputFile>.\Debug/abw2raw.pch</PrecompiledHeaderOutputFile> + <AssemblerListingLocation>.\Debug/</AssemblerListingLocation> + <ObjectFileName>.\Debug/</ObjectFileName> + <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Link> + <AdditionalDependencies>libabw-0.0.lib;libabw-stream-0.0.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>Debug\bin\abw2raw.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <AdditionalLibraryDirectories>Debug\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ProgramDatabaseFile>.\Debug/abw2raw.pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + </Link> + <Bscmake> + <SuppressStartupBanner>true</SuppressStartupBanner> + <OutputFile>.\Debug/abw2raw.bsc</OutputFile> + </Bscmake> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\..\src\conv\raw\RawDocumentGenerator.cpp"> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + <ClCompile Include="..\..\src\conv\raw\abw2raw.cpp"> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\src\conv\raw\RawDocumentGenerator.h" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="libabw.vcxproj"> + <Project>{330e414a-9c06-4a4b-9814-0c665f5dca52}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="libabwstream.vcxproj"> + <Project>{cb848337-b6c8-4942-961b-5a9fbbf37b46}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> diff --git a/build/win32/abw2text.dsp b/build/win32/abw2text.dsp new file mode 100644 index 0000000..96fb5bc --- /dev/null +++ b/build/win32/abw2text.dsp @@ -0,0 +1,128 @@ +# Microsoft Developer Studio Project File - Name="abw2text" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=abw2text - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "abw2text.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "abw2text.mak" CFG="abw2text - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "abw2text - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "abw2text - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "abw2text - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+MTL=midl.exe
+# ADD BASE MTL /nologo /win32
+# ADD MTL /nologo /win32
+# ADD BASE CPP /nologo /MT /W3 /GX /Zi /I "..\..\inc" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /c
+# ADD CPP /nologo /MT /W3 /GX /I "..\..\inc" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /c
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 libabw-stream-0.0.lib libabw-0.0.lib/nologo /subsystem:console /machine:IX86 /out:"Release\bin\abw2text.exe" /libpath:"Release\lib"
+# ADD LINK32 libabw-stream-0.0.lib libabw-0.0.lib /nologo /subsystem:console /machine:IX86 /out:"Release\bin\abw2text.exe" /libpath:"Release\lib"
+# SUBTRACT LINK32 /nodefaultlib
+
+!ELSEIF "$(CFG)" == "abw2text - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+MTL=midl.exe
+# ADD BASE MTL /nologo /win32
+# ADD MTL /nologo /win32
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "\..\..\inc" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D "_CONSOLE" /GZ /c
+# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /I "..\..\inc" /D "_DEBUG" /D "DEBUG" /D "WIN32" /D "_CONSOLE" /GZ /c
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 libabw-0.0.lib libabw-stream-0.0.lib /nologo /subsystem:console /debug /machine:IX86 /out:"Debug\bin\abw2text.exe" /libpath:"Debug\lib"
+# ADD LINK32 libabw-0.0.lib libabw-stream-0.0.lib /nologo /subsystem:console /debug /machine:IX86 /out:"Debug\bin\abw2text.exe" /libpath:"Debug\lib"
+# SUBTRACT LINK32 /nodefaultlib
+
+!ENDIF
+
+# Begin Target
+
+# Name "abw2text - Win32 Release"
+# Name "abw2text - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+# Begin Source File
+
+SOURCE=..\..\src\conv\text\TextDocumentGenerator.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\src\conv\text\abw2text.cpp
+DEP_CPP_ABW2T=\
+ "..\..\src\conv\text\TextDocumentGenerator.h"\
+ "..\..\src\lib\libabw.h"\
+ "..\..\src\lib\libabw_types.h"\
+ "..\..\src\lib\ABWocument.h"\
+ "..\..\src\lib\WPXBinaryData.h"\
+ "..\..\src\lib\WPXDocumentInterface.h"\
+ "..\..\src\lib\WPXProperty.h"\
+ "..\..\src\lib\WPXPropertyList.h"\
+ "..\..\src\lib\WPXPropertyListVector.h"\
+ "..\..\src\lib\WPXStream.h"\
+ "..\..\src\lib\WPXStreamImplementation.h"\
+ "..\..\src\lib\WPXString.h"\
+
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl;inc;xsd"
+# Begin Source File
+
+SOURCE=..\..\src\conv\text\TextDocumentGenerator.h
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/build/win32/abw2text.vcproj b/build/win32/abw2text.vcproj new file mode 100644 index 0000000..32205ec --- /dev/null +++ b/build/win32/abw2text.vcproj @@ -0,0 +1,261 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="abw2text" + ProjectGUID="{9922B184-8996-4CEB-96A0-E87A523D00E1}" + TargetFrameworkVersion="0" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory=".\Debug" + IntermediateDirectory=".\Debug" + ConfigurationType="1" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName=".\Debug/abw2text.tlb" + HeaderFileName="" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="..\..\inc" + PreprocessorDefinitions="_DEBUG;DEBUG;WIN32;_CONSOLE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\Debug/abw2text.pch" + AssemblerListingLocation=".\Debug/" + ObjectFile=".\Debug/" + ProgramDataBaseFileName=".\Debug/" + WarningLevel="3" + SuppressStartupBanner="true" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="libabw-0.0.lib libabw-stream-0.0.lib" + OutputFile="Debug\bin\abw2text.exe" + LinkIncremental="2" + SuppressStartupBanner="true" + AdditionalLibraryDirectories="Debug\lib" + GenerateDebugInformation="true" + ProgramDatabaseFile=".\Debug/abw2text.pdb" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + SuppressStartupBanner="true" + OutputFile=".\Debug/abw2text.bsc" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory=".\Release" + IntermediateDirectory=".\Release" + ConfigurationType="1" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName=".\Release/abw2text.tlb" + HeaderFileName="" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="4" + AdditionalIncludeDirectories="..\..\inc" + PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE" + RuntimeLibrary="2" + TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\Release/abw2text.pch" + AssemblerListingLocation=".\Release/" + ObjectFile=".\Release/" + ProgramDataBaseFileName=".\Release/" + WarningLevel="3" + SuppressStartupBanner="true" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="libabw-stream-0.0.lib libabw-0.0.lib" + OutputFile="Release\bin\abw2text.exe" + LinkIncremental="1" + SuppressStartupBanner="true" + AdditionalLibraryDirectories="Release\lib" + ProgramDatabaseFile=".\Release/abw2text.pdb" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + SuppressStartupBanner="true" + OutputFile=".\Release/abw2text.bsc" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + > + <File + RelativePath="..\..\src\conv\text\TextDocumentGenerator.cpp" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\src\conv\text\abw2text.cpp" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + > + <File + RelativePath="..\..\src\conv\text\TextDocumentGenerator.h" + > + </File> + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/build/win32/abw2text.vcxproj b/build/win32/abw2text.vcxproj new file mode 100644 index 0000000..28126e5 --- /dev/null +++ b/build/win32/abw2text.vcxproj @@ -0,0 +1,159 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{9922B184-8996-4CEB-96A0-E87A523D00E1}</ProjectGuid> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <Midl> + <SuppressStartupBanner>true</SuppressStartupBanner> + <TargetEnvironment>Win32</TargetEnvironment> + <TypeLibraryName>.\Debug/abw2text.tlb</TypeLibraryName> + <HeaderFileName> + </HeaderFileName> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>..\..\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;DEBUG;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeaderOutputFile>.\Debug/abw2text.pch</PrecompiledHeaderOutputFile> + <AssemblerListingLocation>.\Debug/</AssemblerListingLocation> + <ObjectFileName>.\Debug/</ObjectFileName> + <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Link> + <AdditionalDependencies>libabw-0.0.lib;libabw-stream-0.0.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>Debug\bin\abw2text.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <AdditionalLibraryDirectories>Debug\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ProgramDatabaseFile>.\Debug/abw2text.pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + </Link> + <Bscmake> + <SuppressStartupBanner>true</SuppressStartupBanner> + <OutputFile>.\Debug/abw2text.bsc</OutputFile> + </Bscmake> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <Midl> + <SuppressStartupBanner>true</SuppressStartupBanner> + <TargetEnvironment>Win32</TargetEnvironment> + <TypeLibraryName>.\Release/abw2text.tlb</TypeLibraryName> + <HeaderFileName> + </HeaderFileName> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>..\..\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeaderOutputFile>.\Release/abw2text.pch</PrecompiledHeaderOutputFile> + <AssemblerListingLocation>.\Release/</AssemblerListingLocation> + <ObjectFileName>.\Release/</ObjectFileName> + <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Link> + <AdditionalDependencies>libabw-stream-0.0.lib;libabw-0.0.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>Release\bin\abw2text.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <AdditionalLibraryDirectories>Release\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <ProgramDatabaseFile>.\Release/abw2text.pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + </Link> + <Bscmake> + <SuppressStartupBanner>true</SuppressStartupBanner> + <OutputFile>.\Release/abw2text.bsc</OutputFile> + </Bscmake> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\..\src\conv\text\TextDocumentGenerator.cpp"> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + <ClCompile Include="..\..\src\conv\text\abw2text.cpp"> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\src\conv\text\TextDocumentGenerator.h" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="libabw.vcxproj"> + <Project>{330e414a-9c06-4a4b-9814-0c665f5dca52}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="libabwstream.vcxproj"> + <Project>{cb848337-b6c8-4942-961b-5a9fbbf37b46}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> diff --git a/build/win32/compile-resource b/build/win32/compile-resource new file mode 100755 index 0000000..6a37565 --- /dev/null +++ b/build/win32/compile-resource @@ -0,0 +1,46 @@ +#!/bin/sh + +# Script to compile a resource file for a DLL if there is a .rc file +# for it. The resource source file is supposed to contain a version +# info section, that uses the string BUILDNUMBER as the least +# significant part of the version numbers. This script replaces that +# string with a "build number" before compiling the binary resource +# file. The build number is kept between builds in a "stamp" file, and +# incremented each time. (If there is no stamp file, build number 0 is +# used.) The intention is that only the "official" maintainer of a DLL +# keeps such a stamp file, and thus the DLLs he releases have +# increasing version number resources, which can be used by an +# installer program to decide whether to replace an existing DLL with +# the same name. + +# This is just my (tml@iki.fi) idea, if somebody comes up with a +# better way to generate version number resources, don't hesitate to +# suggest. + +# The command line arguments are: +# $1: the name of the .rc file to check +# $2: the name of the resource object file to produce, if the rc file exists + +# Check if we have a resource file for this DLL. +rcfile=$1 +resfile=$2 +if [ -f $rcfile ]; then + # Check if we have a build number stamp file. + basename=`basename $rcfile .rc` + if [ -f $basename-build.stamp ]; then + read number <$basename-build.stamp + buildnumber=$[number] + echo Build number $buildnumber + rm -rf $basename-build.stamp + else + echo Using zero as build number + buildnumber=0 + fi + + m4 -DBUILDNUMBER=$buildnumber <$rcfile >$$.rc && + ${WINDRES-windres} $$.rc $resfile && + rm $$.rc +else + # Return failure + exit 1 +fi diff --git a/build/win32/libabw.dsp b/build/win32/libabw.dsp new file mode 100644 index 0000000..e23c1bb --- /dev/null +++ b/build/win32/libabw.dsp @@ -0,0 +1,106 @@ +# Microsoft Developer Studio Project File - Name="libabw" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Static Library" 0x0104
+
+CFG=libabw - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "libabw.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "libabw.mak" CFG="libabw - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "libabw - Win32 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "libabw - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "libabw - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /I "..\..\inc" /D "WIN32" /D "NDEBUG" /D "_LIB" /D "_CRT_SECURE_NO_WARNINGS" /YX /FD /c
+# ADD CPP /nologo /MT /W3 /GR /GX /O2 /I "..\..\inc" /D "NDEBUG" /D "WIN32" /D "_LIB" /D "_CRT_SECURE_NO_WARNINGS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo /out:"Release\lib\libabw-0.0.lib"
+
+!ELSEIF "$(CFG)" == "libabw - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\..\inc" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D "_LIB" /D "_CRT_SECURE_NO_WARNINGS" /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /GR /GX /ZI /Od /I "..\..\inc" /D "_DEBUG" /D "DEBUG" /D "WIN32" /D "_LIB" /D "_CRT_SECURE_NO_WARNINGS" /FD /GZ /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo /out:"Debug\lib\libabw-0.0.lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "libabw - Win32 Release"
+# Name "libabw - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=..\..\src\lib\AbiDocument.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\inc\libabw\libabw.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\inc\libabw\AbiDocument.h
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/build/win32/libabw.dsw b/build/win32/libabw.dsw new file mode 100644 index 0000000..5d38878 --- /dev/null +++ b/build/win32/libabw.dsw @@ -0,0 +1,83 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "libabw"=".\libabw.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "abw2html"=".\abw2html.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name libabw
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name libabwstream
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "abw2raw"=".\abw2raw.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name libabw
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name libabwstream
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "abw2text"=".\abw2text.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name libabw
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name libabwstream
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/build/win32/libabw.vcproj b/build/win32/libabw.vcproj new file mode 100644 index 0000000..e0781d1 --- /dev/null +++ b/build/win32/libabw.vcproj @@ -0,0 +1,211 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="libabw" + ProjectGUID="{330E414A-9C06-4A4B-9814-0C665F5DCA52}" + TargetFrameworkVersion="0" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory=".\Debug" + IntermediateDirectory=".\Debug" + ConfigurationType="4" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="..\..\inc" + PreprocessorDefinitions="_DEBUG;DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + TreatWChar_tAsBuiltInType="false" + RuntimeTypeInfo="true" + PrecompiledHeaderFile=".\Debug/libabw.pch" + AssemblerListingLocation=".\Debug/" + ObjectFile=".\Debug/" + ProgramDataBaseFileName=".\Debug/" + WarningLevel="3" + SuppressStartupBanner="true" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="Debug\lib\libabw-0.0.lib" + SuppressStartupBanner="true" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + SuppressStartupBanner="true" + OutputFile=".\Debug/libabw.bsc" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory=".\Release" + IntermediateDirectory=".\Release" + ConfigurationType="4" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="2" + InlineFunctionExpansion="1" + AdditionalIncludeDirectories="..\..\inc" + PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS" + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" + TreatWChar_tAsBuiltInType="false" + RuntimeTypeInfo="true" + PrecompiledHeaderFile=".\Release/libabw.pch" + AssemblerListingLocation=".\Release/" + ObjectFile=".\Release/" + ProgramDataBaseFileName=".\Release/" + WarningLevel="3" + SuppressStartupBanner="true" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="Release\lib\libabw-0.0.lib" + SuppressStartupBanner="true" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + SuppressStartupBanner="true" + OutputFile=".\Release/libabw.bsc" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + > + <File + RelativePath="..\..\src\lib\AbiDocument.cpp" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl" + > + <File + RelativePath="..\..\inc\libabw\libabw.h" + > + </File> + <File + RelativePath="..\..\inc\libabw\AbiDocument.h" + > + </File> + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/build/win32/libabw.vcproj.sln b/build/win32/libabw.vcproj.sln new file mode 100644 index 0000000..e9a7e62 --- /dev/null +++ b/build/win32/libabw.vcproj.sln @@ -0,0 +1,47 @@ +? +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libabw", "libabw.vcproj", "{330E414A-9C06-4A4B-9814-0C665F5DCA52}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "abw2html", "abw2html.vcproj", "{CE8B94C0-593D-442E-ACDD-CA3830A00FF6}" + ProjectSection(ProjectDependencies) = postProject + {330E414A-9C06-4A4B-9814-0C665F5DCA52} = {330E414A-9C06-4A4B-9814-0C665F5DCA52} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "abw2raw", "abw2raw.vcproj", "{A11C84E5-19D8-44EF-BD26-50A487CEB4B2}" + ProjectSection(ProjectDependencies) = postProject + {330E414A-9C06-4A4B-9814-0C665F5DCA52} = {330E414A-9C06-4A4B-9814-0C665F5DCA52} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "abw2text", "abw2text.vcproj", "{9922B184-8996-4CEB-96A0-E87A523D00E1}" + ProjectSection(ProjectDependencies) = postProject + {330E414A-9C06-4A4B-9814-0C665F5DCA52} = {330E414A-9C06-4A4B-9814-0C665F5DCA52} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {330E414A-9C06-4A4B-9814-0C665F5DCA52}.Debug|Win32.ActiveCfg = Debug|Win32 + {330E414A-9C06-4A4B-9814-0C665F5DCA52}.Debug|Win32.Build.0 = Debug|Win32 + {330E414A-9C06-4A4B-9814-0C665F5DCA52}.Release|Win32.ActiveCfg = Release|Win32 + {330E414A-9C06-4A4B-9814-0C665F5DCA52}.Release|Win32.Build.0 = Release|Win32 + {CE8B94C0-593D-442E-ACDD-CA3830A00FF6}.Debug|Win32.ActiveCfg = Debug|Win32 + {CE8B94C0-593D-442E-ACDD-CA3830A00FF6}.Debug|Win32.Build.0 = Debug|Win32 + {CE8B94C0-593D-442E-ACDD-CA3830A00FF6}.Release|Win32.ActiveCfg = Release|Win32 + {CE8B94C0-593D-442E-ACDD-CA3830A00FF6}.Release|Win32.Build.0 = Release|Win32 + {A11C84E5-19D8-44EF-BD26-50A487CEB4B2}.Debug|Win32.ActiveCfg = Debug|Win32 + {A11C84E5-19D8-44EF-BD26-50A487CEB4B2}.Debug|Win32.Build.0 = Debug|Win32 + {A11C84E5-19D8-44EF-BD26-50A487CEB4B2}.Release|Win32.ActiveCfg = Release|Win32 + {A11C84E5-19D8-44EF-BD26-50A487CEB4B2}.Release|Win32.Build.0 = Release|Win32 + {9922B184-8996-4CEB-96A0-E87A523D00E1}.Debug|Win32.ActiveCfg = Debug|Win32 + {9922B184-8996-4CEB-96A0-E87A523D00E1}.Debug|Win32.Build.0 = Debug|Win32 + {9922B184-8996-4CEB-96A0-E87A523D00E1}.Release|Win32.ActiveCfg = Release|Win32 + {9922B184-8996-4CEB-96A0-E87A523D00E1}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/build/win32/libabw.vcxproj b/build/win32/libabw.vcxproj new file mode 100644 index 0000000..d1798ee --- /dev/null +++ b/build/win32/libabw.vcxproj @@ -0,0 +1,116 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{330E414A-9C06-4A4B-9814-0C665F5DCA52}</ProjectGuid> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</IntDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</IntDir> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>..\..\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <PrecompiledHeaderOutputFile>.\Debug/libabw.pch</PrecompiledHeaderOutputFile> + <AssemblerListingLocation>.\Debug/</AssemblerListingLocation> + <ObjectFileName>.\Debug/</ObjectFileName> + <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Lib> + <OutputFile>Debug\lib\libabw-0.0.lib</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + </Lib> + <Bscmake> + <SuppressStartupBanner>true</SuppressStartupBanner> + <OutputFile>.\Debug/libabw.bsc</OutputFile> + </Bscmake> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <Optimization>MaxSpeed</Optimization> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <AdditionalIncludeDirectories>..\..\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <PrecompiledHeaderOutputFile>.\Release/libabw.pch</PrecompiledHeaderOutputFile> + <AssemblerListingLocation>.\Release/</AssemblerListingLocation> + <ObjectFileName>.\Release/</ObjectFileName> + <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Lib> + <OutputFile>Release\lib\libabw-0.0.lib</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + </Lib> + <Bscmake> + <SuppressStartupBanner>true</SuppressStartupBanner> + <OutputFile>.\Release/libabw.bsc</OutputFile> + </Bscmake> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\..\src\lib\AbiDocument.cpp"> + <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\inc\libabw\libabw.h" /> + <ClInclude Include="..\..\inc\libabw\AbiDocument.h" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> diff --git a/build/win32/libabw.vcxproj.sln b/build/win32/libabw.vcxproj.sln new file mode 100644 index 0000000..4092d4b --- /dev/null +++ b/build/win32/libabw.vcxproj.sln @@ -0,0 +1,37 @@ +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libabw", "libabw.vcxproj", "{330E414A-9C06-4A4B-9814-0C665F5DCA52}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "abw2html", "abw2html.vcxproj", "{CE8B94C0-593D-442E-ACDD-CA3830A00FF6}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "abw2raw", "abw2raw.vcxproj", "{A11C84E5-19D8-44EF-BD26-50A487CEB4B2}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "abw2text", "abw2text.vcxproj", "{9922B184-8996-4CEB-96A0-E87A523D00E1}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {330E414A-9C06-4A4B-9814-0C665F5DCA52}.Debug|Win32.ActiveCfg = Debug|Win32 + {330E414A-9C06-4A4B-9814-0C665F5DCA52}.Debug|Win32.Build.0 = Debug|Win32 + {330E414A-9C06-4A4B-9814-0C665F5DCA52}.Release|Win32.ActiveCfg = Release|Win32 + {330E414A-9C06-4A4B-9814-0C665F5DCA52}.Release|Win32.Build.0 = Release|Win32 + {CE8B94C0-593D-442E-ACDD-CA3830A00FF6}.Debug|Win32.ActiveCfg = Debug|Win32 + {CE8B94C0-593D-442E-ACDD-CA3830A00FF6}.Debug|Win32.Build.0 = Debug|Win32 + {CE8B94C0-593D-442E-ACDD-CA3830A00FF6}.Release|Win32.ActiveCfg = Release|Win32 + {CE8B94C0-593D-442E-ACDD-CA3830A00FF6}.Release|Win32.Build.0 = Release|Win32 + {A11C84E5-19D8-44EF-BD26-50A487CEB4B2}.Debug|Win32.ActiveCfg = Debug|Win32 + {A11C84E5-19D8-44EF-BD26-50A487CEB4B2}.Debug|Win32.Build.0 = Debug|Win32 + {A11C84E5-19D8-44EF-BD26-50A487CEB4B2}.Release|Win32.ActiveCfg = Release|Win32 + {A11C84E5-19D8-44EF-BD26-50A487CEB4B2}.Release|Win32.Build.0 = Release|Win32 + {9922B184-8996-4CEB-96A0-E87A523D00E1}.Debug|Win32.ActiveCfg = Debug|Win32 + {9922B184-8996-4CEB-96A0-E87A523D00E1}.Debug|Win32.Build.0 = Debug|Win32 + {9922B184-8996-4CEB-96A0-E87A523D00E1}.Release|Win32.ActiveCfg = Release|Win32 + {9922B184-8996-4CEB-96A0-E87A523D00E1}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/build/win32/lt-compile-resource b/build/win32/lt-compile-resource new file mode 100755 index 0000000..aeddb44 --- /dev/null +++ b/build/win32/lt-compile-resource @@ -0,0 +1,78 @@ +#!/bin/sh + +# Script to compile a resource file for a DLL in the same way that +# libtool would, if it knew about .rc files. + +# This kinda sucks, but the alternative would be to teach autoconf, +# automake, and libtool about compiling .rc files. That would be +# doable, but waiting for those changes to propagate to official +# versions of those tools would take some time. + +# The command line arguments are: +# $1: the name of the .rc file to compile if it exists +# $2: the name of the resource libtool object file to produce + +rcfile=$1 +lo=$2 +case "$lo" in +*.lo) + resfile=.libs/`basename $lo .lo`.o + ;; +*) + echo libtool object name should end with .lo + exit 1 + ;; +esac +d=`dirname $0` + +# Create .libs if not there already +[ ! -d .libs ] && mkdir .libs + +# Super-ugly hack: libtool can work in two ways on Win32: Either it +# uses .lo files which are the real object files in "this" directory, +# or it creates .o files in the .libs subdirectory, and the .lo file +# is a small text file. We try to deduce which case this is by +# checking if there are any .o files in .libs. This requires that the +# resource file gets built last in the Makefile. + +o_files_in_dotlibs=`echo .libs/*.o` +case "$o_files_in_dotlibs" in + .libs/\*.o) + use_script=false + ;; + *) use_script=true + ;; +esac + +# Another way of working of libtool: When compiling with --enable-static and +# --disable-shared options, the .lo file can be still a small text file, and +# the .o files are created in the same directory as the .lo files. + +o_files_in_dot=`echo ./*.o` +case "$o_files_in_dot" in + ./\*.o) + use_script=$use_script + ;; + *) use_script=true + ;; +esac + +# Try to compile resource file +$d/compile-resource $rcfile $resfile && { + if [ $use_script = true ]; then + # Handcraft a libtool object + # libtool checks for a second line matching "Generated by .* libtool"! + (echo "# $lo" + echo "# Generated by lt-compile-resource, compatible with libtool" + echo "pic_object=$resfile" + echo "non_pic_object=none") >$lo + else + mv $resfile $lo + fi + # Success + exit 0 +} + +# If unsuccessful (no .rc file, or some error in it) return failure + +exit 1 diff --git a/buildnumber.sh b/buildnumber.sh new file mode 100755 index 0000000..5e875c7 --- /dev/null +++ b/buildnumber.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +# Script to create the BUILDNUMBER used by compile-resource. This script +# needs the script createBuildNumber.pl to be in the same directory. + +{ perl ./createBuildNumber.pl \ + src/lib/libabw-build.stamp \ + src/lib/libabw-stream-build.stamp \ + src/conv/html/abw2html-build.stamp \ + src/conv/raw/abw2raw-build.stamp \ + src/conv/text/abw2text-build.stamp +#Success +exit 0 +} +#Unsucessful +exit 1 diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..d502f08 --- /dev/null +++ b/configure.ac @@ -0,0 +1,271 @@ +# Process this file with autoconf to create configure. + +AC_PREREQ([2.65]) + +# ==================== +# Version informations +# ==================== +m4_define([libabw_version_major],[0]) +m4_define([libabw_version_minor],[0]) +m4_define([libabw_version_micro],[0]) +m4_define([libabw_version],[libabw_version_major.libabw_version_minor.libabw_version_micro]) + +# ============= +# Automake init +# ============= +AC_INIT([libabw],[libabw_version]) +AC_CONFIG_MACRO_DIR([m4]) +AC_CONFIG_HEADER([config.h]) +AM_INIT_AUTOMAKE([1.11 foreign dist-xz dist-bzip2]) +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) +AC_LANG([C++]) + +# =========================== +# Find required base packages +# =========================== +m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) +AC_PROG_CC +AC_PROG_CPP +AC_PROG_CXX +AC_PROG_INSTALL +AC_PROG_LN_S +AC_PROG_MAKE_SET +LT_INIT([win32-dll disable-static pic-only]) +AC_CANONICAL_HOST + +# ================================= +# Libtool/Version Makefile settings +# ================================= +AC_SUBST(ABW_MAJOR_VERSION, [libabw_version_major]) +AC_SUBST(ABW_MINOR_VERSION, [libabw_version_minor]) +AC_SUBST(ABW_MICRO_VERSION, [libabw_version_micro]) +AC_SUBST(ABW_VERSION, [libabw_version]) +# AC_SUBST(LT_RELEASE, [libabw_version_major.libabw_version_minor]) +LT_CURRENT=`expr 100 '*' libabw_version_major + libabw_version_minor` +# For 1.0.0 comment the first line and uncomment the second +LT_AGE=0 +# LT_AGE=libabw_version_minor +AC_SUBST(LT_CURRENT) +AC_SUBST(LT_REVISION, [libabw_version_micro]) +AC_SUBST(LT_AGE) + +# ========================== +# Platform check for windows +# ========================== +AC_MSG_CHECKING([for native Win32]) +AS_CASE([$host], + [*-*-mingw*], [ + native_win32=yes + LIBABW_WIN32_RESOURCE=libabw-win32res.lo + ABW2HTML_WIN32_RESOURCE=abw2html-win32res.lo + ABW2TEXT_WIN32_RESOURCE=abw2text-win32res.lo + ABW2RAW_WIN32_RESOURCE=abw2raw-win32res.lo + ], [ + native_win32=no + LIBABW_WIN32_RESOURCE= + ABW2HTML_WIN32_RESOURCE= + ABW2TEXT_WIN32_RESOURCE= + ABW2RAW_WIN32_RESOURCE= + ] +) +AC_MSG_RESULT([$native_win32]) +AM_CONDITIONAL(OS_WIN32, [test "x$native_win32" = "xyes"]) +AC_SUBST(LIBABW_WIN32_RESOURCE) +AC_SUBST(ABW2HTML_WIN32_RESOURCE) +AC_SUBST(ABW2TEXT_WIN32_RESOURCE) +AC_SUBST(ABW2RAW_WIN32_RESOURCE) + +AC_MSG_CHECKING([for Win32 platform in general]) +AS_CASE([$host], + [*-*-mingw*|*-*-cygwin*], [platform_win32=yes], + [platform_win32=no] +) +AC_MSG_RESULT([$platform_win32]) +AM_CONDITIONAL([PLATFORM_WIN32], [test "x$platform_win32" = "xyes"]) + +# ========================= +# Platform check for darwin +# ========================= +AC_MSG_CHECKING([for Darwin (Mac OS X) platform]) +AS_CASE([$host], + [*-*-darwin*], [platform_darwin=yes], + [platform_darwin=no] +) +AC_MSG_RESULT([$platform_darwin]) +AM_CONDITIONAL(PLATFORM_DARWIN, [test "x$platform_darwin" = "xyes"]) + +# ================ +# Check for cflags +# ================ +AC_ARG_ENABLE([werror], + [AS_HELP_STRING([--disable-werror], [Treat all warnings as errors, usefull for development])], + [enable_werror="$enableval"], + [enable_werror=yes] +) +AS_IF([test x"$enable_werror" != "xno"], [ + CFLAGS="$CFLAGS -Werror" + CXXFLAGS="$CXXFLAGS -Werror" +]) +AC_ARG_ENABLE([weffc], + [AS_HELP_STRING([--disable-weffc], [ Disable -Weffc++ warnings, usefull when using an old version of gcc or of boost])], + [enable_weffc="$enableval"], + [enable_weffc=yes] +) +AC_ARG_ENABLE([wparanoic], + [AS_HELP_STRING([--enable-wparanoic], [Enable a lot of warnings...])], + [enable_wparanoic="$enableval"], + [enable_wparanoic=no] +) +# Courtesy of Glib: Ensure MSVC-compatible struct packing convention +# is used when compiling for Win32 with gcc. +AS_IF([test "x$native_win32" = "xyes"], [ + AC_CHECK_TOOL(WINDRES, windres) + AS_IF([test x"$GCC" = xyes], [ + AC_MSG_CHECKING([how to get MSVC-compatible struct packing]) + AS_IF([test -z "$ac_cv_prog_CC"], [ + our_gcc="$CC" + ], [ + our_gcc="$ac_cv_prog_CC" + ]) + AS_IF([$our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null], [ + msnative_struct="-mms-bitfields" + CFLAGS="$CFLAGS $msnative_struct" + CXXFLAGS="$CXXFLAGS $msnative_struct" + AC_MSG_RESULT([${msnative_struct}]) + ], [ + AC_MSG_RESULT([no way]) + AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code]) + ]) + ]) + CFLAGS="$CFLAGS -Wall -Wextra -pedantic" + CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wshadow -pedantic" +], [ + AS_IF([test x"$GCC" = xyes], [ + # Be tough with warnings and produce less careless code + CFLAGS="$CFLAGS -Wall -Wextra -pedantic" + CXXFLAGS="$CXXFLAGS -Wall -Wextra -pedantic -Wshadow -Wunused-variable" + AS_IF([test x"$enable_weffc" != "xno"], [ + CXXFLAGS="$CXXFLAGS -Weffc++" + ]) + AS_IF([test x"$enable_wparanoic" != "xno"], [ + CXXFLAGS="$CXXFLAGS -Wcast-align -Wcast-qual -Wchar-subscripts" + CXXFLAGS="$CXXFLAGS -Wcomment -Wconversion -Wdisabled-optimization" + CXXFLAGS="$CXXFLAGS -Wfloat-equal -Wformat -Wformat=2" + CXXFLAGS="$CXXFLAGS -Wformat-nonliteral -Wformat-security" + CXXFLAGS="$CXXFLAGS -Wformat-y2k -Wimport -Winit-self -Winvalid-pch" + CXXFLAGS="$CXXFLAGS -Wmissing-braces -Wmissing-field-initializers" + CXXFLAGS="$CXXFLAGS -Wmissing-format-attribute -Wmissing-include-dirs" + CXXFLAGS="$CXXFLAGS -Wmissing-noreturn -Wpacked -Wparentheses" + CXXFLAGS="$CXXFLAGS -Wpointer-arith -Wredundant-decls -Wreturn-type" + CXXFLAGS="$CXXFLAGS -Wsequence-point -Wsign-compare -Wstrict-aliasing" + CXXFLAGS="$CXXFLAGS -Wstrict-aliasing=2 -Wswitch -Wswitch-default" + CXXFLAGS="$CXXFLAGS -Wswitch-enum -Wtrigraphs -Wunknown-pragmas -Wunused" + CXXFLAGS="$CXXFLAGS -Wunused-function -Wunused-label -Wunused-parameter" + CXXFLAGS="$CXXFLAGS -Wunused-value -Wvariadic-macros" + CXXFLAGS="$CXXFLAGS -Wvolatile-register-var -Wwrite-strings" + ]) + ]) +]) + +# ============ +# Debug switch +# ============ +AC_ARG_ENABLE([debug], + [AS_HELP_STRING([--enable-debug], [Turn on debugging])], + [enable_debug="$enableval"], + [enable_debug=no] +) +AS_IF([test "x$enable_debug" = "xyes"], [ + DEBUG_CXXFLAGS="-DDEBUG -g" +], [ + DEBUG_CXXFLAGS="-DNDEBUG" +]) +AC_SUBST(DEBUG_CXXFLAGS) + +# ============= +# Documentation +# ============= +AC_ARG_WITH(docs, + [AS_HELP_STRING([--without-docs], [Do not build documentation])], + [with_docs="$withval"], + [AS_IF([test "x$native_win32" = "xyes"], [with_docs=no], [with_docs=yes])] +) +AS_IF([test "x$with_docs" != "xno"], [ + AC_PATH_PROG(DOXYGEN, [doxygen]) + AS_IF([test -z "$DOXYGEN"], [ + AC_MSG_WARN([*** Could not find doxygen in your PATH.]) + AC_MSG_WARN([*** The documentation will not be built.]) + build_docs=no + ], [build_docs=yes]) +], [build_docs=no]) +AM_CONDITIONAL([WITH_LIBABW_DOCS], [test "x$build_docs" != "xno"]) + + +# =============== +# Find librevenge +# =============== +PKG_CHECK_MODULES([REVENGE],[ + librevenge-0.0 +]) +AC_SUBST([REVENGE_CFLAGS]) +AC_SUBST([REVENGE_LIBS]) + +# ===== +# Tools +# ===== +AC_ARG_ENABLE([tools], + [AS_HELP_STRING([--disable-tools], [Build conversion tools])], + [enable_tools="$enableval"], + [enable_tools=yes] +) +AS_IF([test "x$enable_tools" = "xyes"], [ + PKG_CHECK_MODULES([REVENGE_GENERATORS],[ + librevenge-generators-0.0 + ]) + PKG_CHECK_MODULES([REVENGE_STREAM],[ + librevenge-stream-0.0 + ]) +]) +AC_SUBST([REVENGE_GENERATORS_CFLAGS]) +AC_SUBST([REVENGE_GENERATORS_LIBS]) +AC_SUBST([REVENGE_STREAM_CFLAGS]) +AC_SUBST([REVENGE_STREAM_LIBS]) +AM_CONDITIONAL(BUILD_TOOLS, [test "x$enable_tools" = "xyes"]) + +# ===================== +# Prepare all .in files +# ===================== +AC_CONFIG_FILES([ +Makefile +src/Makefile +src/conv/Makefile +src/conv/html/Makefile +src/conv/html/abw2html.rc +src/conv/raw/Makefile +src/conv/raw/abw2raw.rc +src/conv/text/Makefile +src/conv/text/abw2text.rc +src/lib/Makefile +src/lib/libabw.rc +inc/Makefile +inc/libabw/Makefile +docs/Makefile +docs/doxygen/Makefile +build/Makefile +build/win32/Makefile +libabw-$ABW_MAJOR_VERSION.$ABW_MINOR_VERSION.pc:libabw.pc.in +]) +AC_OUTPUT + +# ============================================== +# Display final informations about configuration +# ============================================== +AC_MSG_NOTICE([ +============================================================================== +Build configuration: + debug: ${enable_debug} + docs: ${build_docs} + tools: ${enable_tools} + werror: ${enable_werror} +============================================================================== +]) diff --git a/createBuildNumber.pl b/createBuildNumber.pl new file mode 100644 index 0000000..79556c5 --- /dev/null +++ b/createBuildNumber.pl @@ -0,0 +1,46 @@ +#!/usr/bin/perl +# ***** BEGIN LICENSE BLOCK ***** +# Version: LGPL 2.1 +# +# The Original Code is Mozilla Calendar Code. +# +# Copyright (C) 2002 Christopher S. Charabaruk (ccharabaruk@meldstar.com). +# Copyright (C) 2004 Fridrich Strba (fridrich.strba@bluewin.ch). +# All Rights Reserved. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. +# +# You should have received a copy of the GNU Library General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# +# For further information visit http://libabw.sourceforge.net +# +# ***** END LICENSE BLOCK ***** + +# create a build id to be used by build/win32/compile-resource +@timevars = localtime(time); +$buildid = sprintf("%1.1d%.2d%.2d", ($timevars[5] - 100) , ($timevars[4] + 1) , $timevars[3]); + +#print our build id +print $buildid . "\n"; + +foreach $file (@ARGV) +{ + # print filename + print "Working on " . $file . "\n"; + + open(OUT,">" . $file) or die "cannot open " . $file . "-temp for write\n"; + print OUT $buildid . "\n"; + close (OUT); +} + +print "All done!\n"; diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000..c038ed7 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in
\ No newline at end of file diff --git a/docs/Makefile.am b/docs/Makefile.am new file mode 100644 index 0000000..979e0cf --- /dev/null +++ b/docs/Makefile.am @@ -0,0 +1,9 @@ +SUBDIRS = doxygen + +EXTRA_DIST = libwpd.dia libwpd.png + +if WITH_LIBABW_DOCS + +doc_DATA = libwpd.dia libwpd.png + +endif diff --git a/docs/doxygen/.gitignore b/docs/doxygen/.gitignore new file mode 100644 index 0000000..5508282 --- /dev/null +++ b/docs/doxygen/.gitignore @@ -0,0 +1,3 @@ +Makefile +Makefile.in +html diff --git a/docs/doxygen/Makefile.am b/docs/doxygen/Makefile.am new file mode 100644 index 0000000..f3babc8 --- /dev/null +++ b/docs/doxygen/Makefile.am @@ -0,0 +1,30 @@ +EXTRA_DIST = doxygen.cfg \ + footer.html.in \ + header.html.in + +if WITH_LIBABW_DOCS + +install-data-am: + mkdir -p $(DESTDIR)$(docdir)/html + $(INSTALL_DATA) html/*.html $(DESTDIR)$(docdir)/html/ + $(INSTALL_DATA) html/*.png $(DESTDIR)$(docdir)/html/ + $(INSTALL_DATA) html/*.css $(DESTDIR)$(docdir)/html/ + +uninstall-am: + -rm -rf $(DESTDIR)$(docdir)/html + +all: + test -f header.html.in || $(LN_S) $(srcdir)/header.html.in ./ + test -f footer.html.in || $(LN_S) $(srcdir)/footer.html.in ./ + doxygen $(srcdir)/doxygen.cfg + +else + +all: + +endif + +distclean-local: clean-local + +clean-local: + rm -rf html diff --git a/docs/doxygen/doxygen.cfg b/docs/doxygen/doxygen.cfg new file mode 100644 index 0000000..fa497f0 --- /dev/null +++ b/docs/doxygen/doxygen.cfg @@ -0,0 +1,1680 @@ +# Doxyfile 1.7.3 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project. +# +# All text after a hash (#) is considered a comment and will be ignored. +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" "). + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# http://www.gnu.org/software/libiconv for the list of possible encodings. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = libwpd + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = + +# Using the PROJECT_BRIEF tag one can provide an optional one line description for a project that appears at the top of each page and should give viewer a quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify an logo or icon that is +# included in the documentation. The maximum height of the logo should not +# exceed 55 pixels and the maximum width should not exceed 200 pixels. +# Doxygen will copy the logo to the output directory. + +PROJECT_LOGO = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = ./ + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, +# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English +# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, +# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, +# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful if your file system +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like regular Qt-style comments +# (thus requiring an explicit @brief command for a brief description.) + +JAVADOC_AUTOBRIEF = YES + +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will +# interpret the first line (until the first dot) of a Qt-style +# comment as the brief description. If set to NO, the comments +# will behave just like regular Qt-style comments (thus requiring +# an explicit \brief command for a brief description.) + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 8 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for +# Java. For instance, namespaces will be presented as packages, qualified +# scopes will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for +# Fortran. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for +# VHDL. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given extension. +# Doxygen has a built-in mapping, but you can override or extend it using this +# tag. The format is ext=language, where ext is a file extension, and language +# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, +# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make +# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C +# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions +# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also makes the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public +# instead of private inheritance when no explicit protection keyword is present. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate getter +# and setter methods for a property. Setting this option to YES (the default) +# will make doxygen replace the get and set methods by a property in the +# documentation. This will only work if the methods are indeed getting or +# setting a simple type. If this is not the case, or you want to show the +# methods anyway, you should set this option to NO. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. + +TYPEDEF_HIDES_STRUCT = NO + +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to +# determine which symbols to keep in memory and which to flush to disk. +# When the cache is full, less often used symbols will be written to disk. +# For small to medium size projects (<1000 input files) the default value is +# probably good enough. For larger projects a too small cache size can cause +# doxygen to be busy swapping symbols to and from disk most of the time +# causing a significant performance penalty. +# If the system has enough physical memory increasing the cache will improve the +# performance by keeping more symbols in memory. Note that the value works on +# a logarithmic scale so increasing the size by one will roughly double the +# memory usage. The cache size is given by this formula: +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, +# corresponding to a cache size of 2^16 = 65536 symbols + +SYMBOL_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = YES + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = YES + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default +# anonymous namespaces are hidden. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen +# will list include files with double quotes in the documentation +# rather than with sharp brackets. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = NO + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen +# will sort the (brief and detailed) documentation of class members so that +# constructors and destructors are listed first. If set to NO (the default) +# the constructors will appear in the respective orders defined by +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) +# the group names will appear in their defined order. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper type resolution of all parameters of a function it will reject a +# match between the prototype and the implementation of a member function even if there is only one candidate or it is obvious which candidate to choose by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen +# will still accept a match between prototype and implementation in such cases. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or macro consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and macros in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = NO + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. +# This will remove the Files entry from the Quick Index and from the +# Folder Tree View (if specified). The default is YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the +# Namespaces page. +# This will remove the Namespaces entry from the Quick Index +# and from the Folder Tree View (if specified). The default is YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command <command> <input-file>, where <command> is the value of +# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. The create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. +# You can optionally specify a file name after the option, if omitted +# DoxygenLayout.xml will be used as the name of the layout file. + +LAYOUT_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# The WARN_NO_PARAMDOC option can be enabled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = NO + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = ../../src/lib ../../inc/libwpd ../../inc/libwpd-stream + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# the list of possible encodings. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh +# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py +# *.f90 *.f *.for *.vhd *.vhdl + +FILE_PATTERNS = *.cpp \ + *.h + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = yes + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = YES + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command <filter> <input-file>, where <filter> +# is the value of the INPUT_FILTER tag, and <input-file> is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. +# If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. +# Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. +# The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty or if +# non of the patterns match the file name, INPUT_FILTER is applied. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) +# and it is also possible to disable source filtering for a specific pattern +# using *.ext= (so without naming a filter). This option only has effect when +# FILTER_SOURCE_FILES is enabled. + +FILTER_SOURCE_PATTERNS = + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = NO + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. +# Otherwise they will link to the documentation. + +REFERENCES_LINK_SOURCE = YES + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = YES + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 3 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = header.html.in + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = footer.html.in + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. +# Doxygen will adjust the colors in the stylesheet and background images +# according to this color. Hue is specified as an angle on a colorwheel, +# see http://en.wikipedia.org/wiki/Hue for more information. +# For instance the value 0 represents red, 60 is yellow, 120 is green, +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. +# The allowed range is 0 to 359. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of +# the colors in the HTML output. For a value of 0 the output will use +# grayscales only. A value of 255 will produce the most vivid colors. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to +# the luminance component of the colors in the HTML output. Values below +# 100 gradually make the output lighter, whereas values above 100 make +# the output darker. The value divided by 100 is the actual gamma applied, +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, +# and 100 does not change the gamma. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting +# this to NO can help when comparing the output of multiple runs. + +HTML_TIMESTAMP = NO + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. For this to work a browser that supports +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). + +HTML_DYNAMIC_SECTIONS = NO + +# If the GENERATE_DOCSET tag is set to YES, additional index files +# will be generated that can be used as input for Apple's Xcode 3 +# integrated development environment, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. + +GENERATE_DOCSET = NO + +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) +# can be grouped. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# will append .docset to the name. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING +# is used to encode HtmlHelp index (hhk), content (hhc) and project file +# content. + +CHM_INDEX_ENCODING = + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated +# that can be used as input for Qt's qhelpgenerator to generate a +# Qt Compressed Help (.qch) of the generated HTML documentation. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can +# be used to specify the file name of the resulting .qch file. +# The path specified is relative to the HTML output folder. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#namespace + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#virtual-folders + +QHP_VIRTUAL_FOLDER = doc + +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to +# add. For more information please see +# http://doc.trolltech.com/qthelpproject.html#custom-filters + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see +# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> +# Qt Help Project / Custom Filters</a>. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's +# filter section matches. +# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> +# Qt Help Project / Filter Attributes</a>. + +QHP_SECT_FILTER_ATTRS = + +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can +# be used to specify the location of Qt's qhelpgenerator. +# If non-empty doxygen will try to run qhelpgenerator on the generated +# .qhp file. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files +# will be generated, which together with the HTML files, form an Eclipse help +# plugin. To install this plugin and make it available under the help contents +# menu in Eclipse, the contents of the directory containing the HTML and XML +# files needs to be copied into the plugins directory of eclipse. The name of +# the directory within the plugins directory should be the same as +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have +# this name. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [0,1..20]) +# that doxygen will group on one line in the generated HTML documentation. +# Note that a value of 0 will completely suppress the enum values from appearing in the overview section. + +ENUM_VALUES_PER_LINE = 4 + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. +# If the tag value is set to YES, a side panel will be generated +# containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). +# Windows users are probably better off using the HTML help feature. + +GENERATE_TREEVIEW = YES + +# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, +# and Class Hierarchy pages using a tree view instead of an ordered list. + +USE_INLINE_TREES = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open +# links to external symbols imported via tag files in a separate window. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of Latex formulas included +# as images in the HTML documentation. The default is 10. Note that +# when you change the font size after a successful doxygen run you need +# to manually remove any form_*.png images from the HTML output directory +# to force them to be regenerated. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are +# not supported properly for IE 6.0, but are supported on all modern browsers. +# Note that when changing this option you need to delete any form_*.png files +# in the HTML output before the changes have effect. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax +# (see http://www.mathjax.org) which uses client side Javascript for the +# rendering instead of using prerendered bitmaps. Use this if you do not +# have LaTeX installed or if you want to formulas look prettier in the HTML +# output. When enabled you also need to install MathJax separately and +# configure the path to it using the MATHJAX_RELPATH option. + +USE_MATHJAX = NO + +# When MathJax is enabled you need to specify the location relative to the +# HTML output directory using the MATHJAX_RELPATH option. The destination +# directory should contain the MathJax.js script. For instance, if the mathjax +# directory is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the mathjax.org site, so you can quickly see the result without installing +# MathJax, but it is strongly recommended to install a local copy of MathJax +# before deployment. + +MATHJAX_RELPATH = http://www.mathjax.org/mathjax + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box +# for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should +# typically be disabled. For large projects the javascript based search engine +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. + +SEARCHENGINE = NO + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a PHP enabled web server instead of at the web client +# using Javascript. Doxygen will generate the search PHP script and index +# file to put on the web server. The advantage of the server +# based approach is that it scales better to large projects and allows +# full text search. The disadvantages are that it is more difficult to setup +# and does not have live searching capabilities. + +SERVER_BASED_SEARCH = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. +# Note that when enabling USE_PDFLATEX this option is only used for +# generating bitmaps for formulas in the HTML output, but not in the +# Makefile that is written to the output directory. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = NO + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = NO + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +# If LATEX_SOURCE_CODE is set to YES then doxygen will include +# source code with syntax highlighting in the LaTeX output. +# Note that which sources are shown also depends on other settings +# such as SOURCE_BROWSER. + +LATEX_SOURCE_CODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. +# This is useful +# if you want to understand what is going on. +# On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition that overrules the definition found in the source code. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all references to function-like macros +# that are alone on a line, have an all uppercase name, and do not end with a +# semicolon, because these will confuse the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option also works with HAVE_DOT disabled, but it is recommended to +# install and use dot, since it yields more powerful graphs. + +CLASS_DIAGRAMS = YES + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. + +MSCGEN_PATH = + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = NO + +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is +# allowed to run in parallel. When set to 0 (the default) doxygen will +# base this on the number of processors available in the system. You can set it +# explicitly to a value larger than 0 to get control over the balance +# between CPU load and processing speed. + +DOT_NUM_THREADS = 0 + +# By default doxygen will write a font called Helvetica to the output +# directory and reference it in all dot files that doxygen generates. +# When you want a differently looking font you can specify the font name +# using DOT_FONTNAME. You need to make sure dot is able to find the font, +# which can be done by putting it in a standard location or by setting the +# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory +# containing the font. + +DOT_FONTNAME = Helvetica + +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. +# The default size is 10pt. + +DOT_FONTSIZE = 10 + +# By default doxygen will tell dot to use the output directory to look for the +# FreeSans.ttf font (which doxygen will put there itself). If you specify a +# different font using DOT_FONTNAME you can set the path where dot +# can find it using this tag. + +DOT_FONTPATH = + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = NO + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT options are set to YES then +# doxygen will generate a call dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable call graphs +# for selected functions only using the \callgraph command. + +CALL_GRAPH = NO + +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then +# doxygen will generate a caller dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable caller +# graphs for selected functions only using the \callergraph command. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will generate a graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, svg, gif or svg. +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MSCFILE_DIRS tag can be used to specify one or more directories that +# contain msc files that are included in the documentation (see the +# \mscfile command). + +MSCFILE_DIRS = + +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen if the +# number of direct children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. + +DOT_GRAPH_MAX_NODES = 50 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that the size of a graph can be further restricted by +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. + +MAX_DOT_GRAPH_DEPTH = 0 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, because dot on Windows does not +# seem to support this out of the box. Warning: Depending on the platform used, +# enabling this option may lead to badly anti-aliased labels on the edges of +# a graph (i.e. they become hard to read). + +DOT_TRANSPARENT = NO + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = NO + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES diff --git a/docs/doxygen/footer.html.in b/docs/doxygen/footer.html.in new file mode 100644 index 0000000..aa67fdb --- /dev/null +++ b/docs/doxygen/footer.html.in @@ -0,0 +1,5 @@ +<hr size="1"><address style="align: right;"><small> +Generated for $projectname by <a href="http://www.doxygen.org/index.html"> +doxygen</a> $doxygenversion</small></address> +</body> +</html> diff --git a/docs/doxygen/header.html.in b/docs/doxygen/header.html.in new file mode 100644 index 0000000..f65090b --- /dev/null +++ b/docs/doxygen/header.html.in @@ -0,0 +1,5 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>$title documentation</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +</head><body> diff --git a/docs/libwpd.dia b/docs/libwpd.dia Binary files differnew file mode 100755 index 0000000..5ea9191 --- /dev/null +++ b/docs/libwpd.dia diff --git a/docs/libwpd.png b/docs/libwpd.png Binary files differnew file mode 100644 index 0000000..da448ff --- /dev/null +++ b/docs/libwpd.png diff --git a/inc/Makefile.am b/inc/Makefile.am new file mode 100644 index 0000000..8896a54 --- /dev/null +++ b/inc/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = libabw diff --git a/inc/libabw/AbiDocument.h b/inc/libabw/AbiDocument.h new file mode 100644 index 0000000..2b1495b --- /dev/null +++ b/inc/libabw/AbiDocument.h @@ -0,0 +1,28 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ +/* + * This file is part of the libabw project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef ABIDOCUMENT_H +#define ABIDOCUMENT_H + +#include <librevenge/librevenge.h> + +/** +This class provides all the functions an application would need to parse +AbiWord documents. +*/ + +class AbiDocument +{ +public: + static bool isFileFormatSupported(librevenge::RVNGInputStream *input); + static bool parse(librevenge::RVNGInputStream *input, librevenge::RVNGTextInterface *documentInterface); +}; + +#endif /* ABIDOCUMENT_H */ +/* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */ diff --git a/inc/libabw/Makefile.am b/inc/libabw/Makefile.am new file mode 100644 index 0000000..fe91ae1 --- /dev/null +++ b/inc/libabw/Makefile.am @@ -0,0 +1,3 @@ +EXTRA_DIST = \ + libabw.h \ + AbiDocument.h diff --git a/inc/libabw/libabw.h b/inc/libabw/libabw.h new file mode 100644 index 0000000..5122a3b --- /dev/null +++ b/inc/libabw/libabw.h @@ -0,0 +1,17 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ +/* + * This file is part of the libabw project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef LIBABW_H +#define LIBABW_H + +#include "AbiDocument.h" + +#endif /* LIBABW_H */ +/* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */ diff --git a/libabw.pc.in b/libabw.pc.in new file mode 100644 index 0000000..351d83b --- /dev/null +++ b/libabw.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: libabw-@ABW_MAJOR_VERSION@.@ABW_MINOR_VERSION@ +Description: A library for reading and writing AbiWord(tm) documents +Version: @VERSION@ +Requires: librevenge-0.0 +Libs: -L${libdir} -labw-@ABW_MAJOR_VERSION@.@ABW_MINOR_VERSION@ +Cflags: -I${includedir}/libabw-@ABW_MAJOR_VERSION@.@ABW_MINOR_VERSION@ diff --git a/src/.gitignore b/src/.gitignore new file mode 100644 index 0000000..c038ed7 --- /dev/null +++ b/src/.gitignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in
\ No newline at end of file diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..64fd45e --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,5 @@ +SUBDIRS = lib + +if BUILD_TOOLS +SUBDIRS += conv +endif diff --git a/src/conv/.gitignore b/src/conv/.gitignore new file mode 100644 index 0000000..8f1b0d9 --- /dev/null +++ b/src/conv/.gitignore @@ -0,0 +1,3 @@ +Makefile +Makefile.in +*.o diff --git a/src/conv/Makefile.am b/src/conv/Makefile.am new file mode 100644 index 0000000..8503a80 --- /dev/null +++ b/src/conv/Makefile.am @@ -0,0 +1,5 @@ +if BUILD_TOOLS + +SUBDIRS = raw html text + +endif diff --git a/src/conv/html/.gitignore b/src/conv/html/.gitignore new file mode 100644 index 0000000..c6bce02 --- /dev/null +++ b/src/conv/html/.gitignore @@ -0,0 +1,8 @@ +.deps +.libs +*.lo +*.la +Makefile +Makefile.in +abw2html +*.rc diff --git a/src/conv/html/Makefile.am b/src/conv/html/Makefile.am new file mode 100644 index 0000000..0e43446 --- /dev/null +++ b/src/conv/html/Makefile.am @@ -0,0 +1,40 @@ +if BUILD_TOOLS + +bin_PROGRAMS = abw2html + +AM_CXXFLAGS = \ + -I$(top_srcdir)/inc \ + $(REVENGE_CFLAGS) \ + $(REVENGE_GENERATORS_CFLAGS) \ + $(REVENGE_STREAM_CFLAGS) \ + $(DEBUG_CXXFLAGS) + +abw2html_DEPENDENCIES = @ABW2HTML_WIN32_RESOURCE@ + +abw2html_LDADD = \ + ../../lib/libabw-@ABW_MAJOR_VERSION@.@ABW_MINOR_VERSION@.la \ + $(REVENGE_GENERATORS_LIBS) \ + $(REVENGE_LIBS) \ + $(REVENGE_STREAM_LIBS) \ + @ABW2HTML_WIN32_RESOURCE@ + +abw2html_SOURCES = \ + abw2html.cpp + +if OS_WIN32 + +@ABW2HTML_WIN32_RESOURCE@ : abw2html.rc $(abw2html_OBJECTS) + chmod +x $(top_srcdir)/build/win32/*compile-resource && \ + WINDRES=@WINDRES@ $(top_srcdir)/build/win32/lt-compile-resource abw2html.rc @ABW2HTML_WIN32_RESOURCE@ +endif + +# Include the abw2html_SOURCES in case we build a tarball without stream +EXTRA_DIST = \ + $(abw2html_SOURCES) \ + abw2html.rc.in + +# These may be in the builddir too +BUILD_EXTRA_DIST = \ + abw2html.rc + +endif diff --git a/src/conv/html/abw2html.cpp b/src/conv/html/abw2html.cpp new file mode 100644 index 0000000..af93056 --- /dev/null +++ b/src/conv/html/abw2html.cpp @@ -0,0 +1,95 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ +/* libabw + * Version: MPL 2.0 / LGPLv2.1+ + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Major Contributor(s): + * Copyright (C) 2002-2003 William Lachance (wrlach@gmail.com) + * Copyright (C) 2002-2004 Marc Maurer (uwog@uwog.net) + * + * For minor contributions see the git repository. + * + * Alternatively, the contents of this file may be used under the terms + * of the GNU Lesser General Public License Version 2.1 or later + * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are + * applicable instead of those above. + * + * For further information visit http://libabw.sourceforge.net + */ + +#include <stdio.h> +#include <librevenge-stream/librevenge-stream.h> +#include <librevenge-generators/librevenge-generators.h> +#include <libabw/libabw.h> +#include <string.h> + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifndef VERSION +#define VERSION "UNKNOWN VERSION" +#endif + +namespace +{ + +int printUsage() +{ + printf("Usage: abw2html [OPTION] <AbiWord Document>\n"); + printf("\n"); + printf("Options:\n"); + printf("--help Shows this help message\n"); + printf("--version Output abw2html version \n"); + return -1; +} + +int printVersion() +{ + printf("abw2html %s\n", VERSION); + return 0; +} + +} // anonymous namespace + +int main(int argc, char *argv[]) +{ + if (argc < 2) + return printUsage(); + + char *file = 0; + + for (int i = 1; i < argc; i++) + { + if (!strcmp(argv[i], "--version")) + return printVersion(); + else if (!file && strncmp(argv[i], "--", 2)) + file = argv[i]; + else + return printUsage(); + } + + if (!file) + return printUsage(); + + librevenge::RVNGFileStream input(file); + + if (!AbiDocument::isFileFormatSupported(&input)) + { + fprintf(stderr, "ERROR: Unsupported file format!\n"); + return 1; + } + + librevenge::RVNGString document; + librevenge::RVNGHTMLTextGenerator documentGenerator(document); + if (!AbiDocument::parse(&input, &documentGenerator)) + return 1; + + printf("%s", document.cstr()); + + return 0; +} +/* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */ diff --git a/src/conv/html/abw2html.rc.in b/src/conv/html/abw2html.rc.in new file mode 100644 index 0000000..b68fff1 --- /dev/null +++ b/src/conv/html/abw2html.rc.in @@ -0,0 +1,31 @@ +#include <winver.h> + +VS_VERSION_INFO VERSIONINFO + FILEVERSION @ABW_MAJOR_VERSION@,@ABW_MINOR_VERSION@,@ABW_MICRO_VERSION@,BUILDNUMBER + PRODUCTVERSION @ABW_MAJOR_VERSION@,@ABW_MINOR_VERSION@,@ABW_MICRO_VERSION@,0 + FILEFLAGSMASK 0 + FILEFLAGS 0 + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE VFT2_UNKNOWN + BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904B0" + BEGIN + VALUE "CompanyName", "The libabw developer community" + VALUE "FileDescription", "abw2html" + VALUE "FileVersion", "@ABW_MAJOR_VERSION@.@ABW_MINOR_VERSION@.@ABW_MICRO_VERSION@.BUILDNUMBER" + VALUE "InternalName", "abw2html" + VALUE "LegalCopyright", "Copyright (C) 2002-2006 William Lachance, Marc Maurer, Fridrich Strba, other contributers" + VALUE "OriginalFilename", "abw2html.exe" + VALUE "ProductName", "libabw" + VALUE "ProductVersion", "@ABW_MAJOR_VERSION@.@ABW_MINOR_VERSION@.@ABW_MICRO_VERSION@" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END + END + diff --git a/src/conv/raw/.gitignore b/src/conv/raw/.gitignore new file mode 100644 index 0000000..a974d0b --- /dev/null +++ b/src/conv/raw/.gitignore @@ -0,0 +1,8 @@ +.deps +.libs +*.lo +*.la +Makefile +Makefile.in +abw2raw +*.rc diff --git a/src/conv/raw/Makefile.am b/src/conv/raw/Makefile.am new file mode 100644 index 0000000..e293b9e --- /dev/null +++ b/src/conv/raw/Makefile.am @@ -0,0 +1,40 @@ +if BUILD_TOOLS + +bin_PROGRAMS = abw2raw + +AM_CXXFLAGS = \ + -I$(top_srcdir)/inc \ + $(REVENGE_CFLAGS) \ + $(REVENGE_GENERATORS_CFLAGS) \ + $(REVENGE_STREAM_CFLAGS) \ + $(DEBUG_CXXFLAGS) + +abw2raw_DEPENDENCIES = @ABW2RAW_WIN32_RESOURCE@ + +abw2raw_LDADD = \ + ../../lib/libabw-@ABW_MAJOR_VERSION@.@ABW_MINOR_VERSION@.la \ + $(REVENGE_GENERATORS_LIBS) \ + $(REVENGE_LIBS) \ + $(REVENGE_STREAM_LIBS) \ + @ABW2RAW_WIN32_RESOURCE@ + +abw2raw_SOURCES = \ + abw2raw.cpp + +if OS_WIN32 + +@ABW2RAW_WIN32_RESOURCE@ : abw2raw.rc $(abw2raw_OBJECTS) + chmod +x $(top_srcdir)/build/win32/*compile-resource && \ + WINDRES=@WINDRES@ $(top_srcdir)/build/win32/lt-compile-resource abw2raw.rc @ABW2RAW_WIN32_RESOURCE@ +endif + +# Include the abw2raw_SOURCES in case we build a tarball without stream +EXTRA_DIST = \ + $(abw2raw_SOURCES) \ + abw2raw.rc.in + +# These may be in the builddir too +BUILD_EXTRA_DIST = \ + abw2raw.rc + +endif diff --git a/src/conv/raw/abw2raw.cpp b/src/conv/raw/abw2raw.cpp new file mode 100644 index 0000000..2f3a7d4 --- /dev/null +++ b/src/conv/raw/abw2raw.cpp @@ -0,0 +1,82 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ +/* + * This file is part of the libabw project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#include <stdio.h> +#include <librevenge-stream/librevenge-stream.h> +#include <librevenge-generators/librevenge-generators.h> +#include <libabw/libabw.h> +#include <string.h> + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifndef VERSION +#define VERSION "UNKNOWN VERSION" +#endif + +namespace +{ + +int printUsage() +{ + printf("Usage: abw2raw [OPTION] <AbiWord Document>\n"); + printf("\n"); + printf("Options:\n"); + printf("--callgraph Display the call graph nesting level\n"); + printf("--help Shows this help message\n"); + printf("--version Output abw2raw version \n"); + return -1; +} + +int printVersion() +{ + printf("abw2raw %s\n", VERSION); + return 0; +} + +} // anonymous namespace + +int main(int argc, char *argv[]) +{ + bool printIndentLevel = false; + char *file = 0; + + if (argc < 2) + return printUsage(); + + for (int i = 1; i < argc; i++) + { + if (!strcmp(argv[i], "--callgraph")) + printIndentLevel = true; + else if (!strcmp(argv[i], "--version")) + return printVersion(); + else if (!file && strncmp(argv[i], "--", 2)) + file = argv[i]; + else + return printUsage(); + } + + if (!file) + return printUsage(); + + librevenge::RVNGFileStream input(file); + + if (!AbiDocument::isFileFormatSupported(&input)) + { + fprintf(stderr, "ERROR: Unsupported file format!\n"); + return 1; + } + + librevenge::RVNGRawTextGenerator documentGenerator(printIndentLevel); + if (AbiDocument::parse(&input, &documentGenerator)) + return 0; + return 1; +} +/* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */ diff --git a/src/conv/raw/abw2raw.rc.in b/src/conv/raw/abw2raw.rc.in new file mode 100644 index 0000000..31c1994 --- /dev/null +++ b/src/conv/raw/abw2raw.rc.in @@ -0,0 +1,31 @@ +#include <winver.h> + +VS_VERSION_INFO VERSIONINFO + FILEVERSION @ABW_MAJOR_VERSION@,@ABW_MINOR_VERSION@,@ABW_MICRO_VERSION@,BUILDNUMBER + PRODUCTVERSION @ABW_MAJOR_VERSION@,@ABW_MINOR_VERSION@,@ABW_MICRO_VERSION@,0 + FILEFLAGSMASK 0 + FILEFLAGS 0 + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE VFT2_UNKNOWN + BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904B0" + BEGIN + VALUE "CompanyName", "The libabw developer community" + VALUE "FileDescription", "abw2raw" + VALUE "FileVersion", "@ABW_MAJOR_VERSION@.@ABW_MINOR_VERSION@.@ABW_MICRO_VERSION@.BUILDNUMBER" + VALUE "InternalName", "abw2raw" + VALUE "LegalCopyright", "Copyright (C) 2002-2006 William Lachance, Marc Maurer, Fridrich Strba, other contributers" + VALUE "OriginalFilename", "abw2raw.exe" + VALUE "ProductName", "libabw" + VALUE "ProductVersion", "@ABW_MAJOR_VERSION@.@ABW_MINOR_VERSION@.@ABW_MICRO_VERSION@" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END + END + diff --git a/src/conv/text/.gitignore b/src/conv/text/.gitignore new file mode 100644 index 0000000..4f79179 --- /dev/null +++ b/src/conv/text/.gitignore @@ -0,0 +1,8 @@ +.deps +.libs +*.lo +*.la +Makefile +Makefile.in +abw2text +*.rc diff --git a/src/conv/text/Makefile.am b/src/conv/text/Makefile.am new file mode 100644 index 0000000..1a55b18 --- /dev/null +++ b/src/conv/text/Makefile.am @@ -0,0 +1,40 @@ +if BUILD_TOOLS + +bin_PROGRAMS = abw2text + +AM_CXXFLAGS = \ + -I$(top_srcdir)/inc \ + $(REVENGE_CFLAGS) \ + $(REVENGE_GENERATORS_CFLAGS) \ + $(REVENGE_STREAM_CFLAGS) \ + $(DEBUG_CXXFLAGS) + +abw2text_DEPENDENCIES = @ABW2TEXT_WIN32_RESOURCE@ + +abw2text_LDADD = \ + ../../lib/libabw-@ABW_MAJOR_VERSION@.@ABW_MINOR_VERSION@.la \ + $(REVENGE_GENERATORS_LIBS) \ + $(REVENGE_LIBS) \ + $(REVENGE_STREAM_LIBS) \ + @ABW2TEXT_WIN32_RESOURCE@ + +abw2text_SOURCES = \ + abw2text.cpp + +if OS_WIN32 + +@ABW2TEXT_WIN32_RESOURCE@ : abw2text.rc $(abw2text_OBJECTS) + chmod +x $(top_srcdir)/build/win32/*compile-resource && \ + WINDRES=@WINDRES@ $(top_srcdir)/build/win32/lt-compile-resource abw2text.rc @ABW2TEXT_WIN32_RESOURCE@ +endif + +# Include the abw2text_SOURCES in case we build a tarball without stream +EXTRA_DIST = \ + $(abw2text_SOURCES) \ + abw2text.rc.in + +# These may be in the builddir too +BUILD_EXTRA_DIST = \ + abw2text.rc + +endif diff --git a/src/conv/text/abw2text.cpp b/src/conv/text/abw2text.cpp new file mode 100644 index 0000000..3639ae2 --- /dev/null +++ b/src/conv/text/abw2text.cpp @@ -0,0 +1,87 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ +/* + * This file is part of the libabw project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + + +#include <stdio.h> +#include <string.h> +#include <librevenge-stream/librevenge-stream.h> +#include <librevenge-generators/librevenge-generators.h> +#include <libabw/libabw.h> + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifndef VERSION +#define VERSION "UNKNOWN VERSION" +#endif + +namespace +{ + +int printUsage() +{ + printf("Usage: abw2text [OPTION] <AbiWord Document>\n"); + printf("\n"); + printf("Options:\n"); + printf("--info Display document metadata instead of the text\n"); + printf("--help Shows this help message\n"); + printf("--version Output abw2text version\n"); + return -1; +} + +int printVersion() +{ + printf("abw2text %s\n", VERSION); + return 0; +} + +} // anonymous namespace + +int main(int argc, char *argv[]) +{ + if (argc < 2) + return printUsage(); + + char *szInputFile = 0; + bool isInfo = false; + + for (int i = 1; i < argc; i++) + { + if (!strcmp(argv[i], "--info")) + isInfo = true; + else if (!strcmp(argv[i], "--version")) + return printVersion(); + else if (!szInputFile && strncmp(argv[i], "--", 2)) + szInputFile = argv[i]; + else + return printUsage(); + } + + if (!szInputFile) + return printUsage(); + + librevenge::RVNGFileStream input(szInputFile); + + if (!AbiDocument::isFileFormatSupported(&input)) + { + fprintf(stderr, "ERROR: Unsupported file format!\n"); + return 1; + } + + librevenge::RVNGString document; + librevenge::RVNGTextTextGenerator documentGenerator(document, isInfo); + if (!AbiDocument::parse(&input, &documentGenerator)) + return 1; + + printf("%s", document.cstr()); + + return 0; +} +/* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */ diff --git a/src/conv/text/abw2text.rc.in b/src/conv/text/abw2text.rc.in new file mode 100644 index 0000000..4ee3321 --- /dev/null +++ b/src/conv/text/abw2text.rc.in @@ -0,0 +1,31 @@ +#include <winver.h> + +VS_VERSION_INFO VERSIONINFO + FILEVERSION @ABW_MAJOR_VERSION@,@ABW_MINOR_VERSION@,@ABW_MICRO_VERSION@,BUILDNUMBER + PRODUCTVERSION @ABW_MAJOR_VERSION@,@ABW_MINOR_VERSION@,@ABW_MICRO_VERSION@,0 + FILEFLAGSMASK 0 + FILEFLAGS 0 + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE VFT2_UNKNOWN + BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904B0" + BEGIN + VALUE "CompanyName", "The libabw developer community" + VALUE "FileDescription", "abw2text" + VALUE "FileVersion", "@ABW_MAJOR_VERSION@.@ABW_MINOR_VERSION@.@ABW_MICRO_VERSION@.BUILDNUMBER" + VALUE "InternalName", "abw2text" + VALUE "LegalCopyright", "Copyright (C) 2002-2006 William Lachance, Marc Maurer, Fridrich Strba, other contributers" + VALUE "OriginalFilename", "abw2text.exe" + VALUE "ProductName", "libabw" + VALUE "ProductVersion", "@ABW_MAJOR_VERSION@.@ABW_MINOR_VERSION@.@ABW_MICRO_VERSION@" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END + END + diff --git a/src/lib/.gitignore b/src/lib/.gitignore new file mode 100644 index 0000000..3273b70 --- /dev/null +++ b/src/lib/.gitignore @@ -0,0 +1,8 @@ +.deps +.libs +*.lo +*.la +*.o +*.rc +Makefile +Makefile.in diff --git a/src/lib/AbiDocument.cpp b/src/lib/AbiDocument.cpp new file mode 100644 index 0000000..4b55812 --- /dev/null +++ b/src/lib/AbiDocument.cpp @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ +/* + * This file is part of the libabw project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#include <libabw/libabw.h> + +/** +\mainpage libwpd documentation +This document contains both the libwpd API specification and the normal libwpd +documentation. +\section api_docs libwpd API documentation +The external libwpd API is provided by the AbiDocument class. This class, combined +with the librevenge::RVNGTextInterface class, are the only two classes that will be of interest +for the application programmer using libwpd. +\section lib_docs libwpd documentation +If you are interrested in the structure of libwpd itself, this whole document +would be a good starting point for exploring the interals of libwpd. Mind that +this document is a work-in-progress, and will most likely not cover libwpd for +the full 100%. +*/ + +/** +Analyzes the content of an input stream to see if it can be parsed +\param input The input stream +\return A confidence value which represents the likelyhood that the content from +the input stream can be parsed +*/ +bool AbiDocument::isFileFormatSupported(librevenge::RVNGInputStream *input) +{ + if (!input) + return false; + return false; +} + +/** +Parses the input stream content. It will make callbacks to the functions provided by a +librevenge::RVNGTextInterface class implementation when needed. This is often commonly called the +'main parsing routine'. +\param input The input stream +\param textInterface A librevenge::RVNGTextInterface implementation +\param password The password used to protect the document or NULL if the document +is not protected +\return A value that indicates whether the conversion was successful and in case it +was not, it indicates the reason of the error +*/ +bool AbiDocument::parse(librevenge::RVNGInputStream *input, librevenge::RVNGTextInterface *textInterface) +{ + if (!input) + return false; + if (!textInterface) + return false; + return false; +} +/* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */ diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am new file mode 100644 index 0000000..3052632 --- /dev/null +++ b/src/lib/Makefile.am @@ -0,0 +1,43 @@ +if PLATFORM_WIN32 +no_undefined = -no-undefined +else +if PLATFORM_DARWIN +no_undefined = -no-undefined +else +no_undefined = +endif +endif + +if OS_WIN32 +version_info = -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) -avoid-version +else +version_info = -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) +endif + +lib_LTLIBRARIES = libabw-@ABW_MAJOR_VERSION@.@ABW_MINOR_VERSION@.la $(target_libabw_stream) +libabw_@ABW_MAJOR_VERSION@_@ABW_MINOR_VERSION@_includedir = $(includedir)/libabw-@ABW_MAJOR_VERSION@.@ABW_MINOR_VERSION@/libabw +libabw_@ABW_MAJOR_VERSION@_@ABW_MINOR_VERSION@_include_HEADERS = \ + $(top_srcdir)/inc/libabw/libabw.h \ + $(top_srcdir)/inc/libabw/AbiDocument.h + +AM_CXXFLAGS = -I$(top_srcdir)/inc $(REVENGE_CFLAGS) $(DEBUG_CXXFLAGS) + +libabw_@ABW_MAJOR_VERSION@_@ABW_MINOR_VERSION@_la_LIBADD = $(REVENGE_LIBS) @LIBABW_WIN32_RESOURCE@ +libabw_@ABW_MAJOR_VERSION@_@ABW_MINOR_VERSION@_la_DEPENDENCIES = @LIBABW_WIN32_RESOURCE@ +libabw_@ABW_MAJOR_VERSION@_@ABW_MINOR_VERSION@_la_LDFLAGS = $(version_info) -export-dynamic $(no_undefined) +libabw_@ABW_MAJOR_VERSION@_@ABW_MINOR_VERSION@_la_SOURCES = \ + AbiDocument.cpp + +if OS_WIN32 + +@LIBABW_WIN32_RESOURCE@ : libabw.rc $(libabw_@ABW_MAJOR_VERSION@_@ABW_MINOR_VERSION@_la_OBJECTS) + chmod +x $(top_srcdir)/build/win32/*compile-resource + WINDRES=@WINDRES@ $(top_srcdir)/build/win32/lt-compile-resource libabw.rc @LIBABW_WIN32_RESOURCE@ +endif + +EXTRA_DIST = \ + libabw.rc.in + +# These may be in the builddir too +BUILD_EXTRA_DIST = \ + libabw.rc diff --git a/src/lib/libabw.rc.in b/src/lib/libabw.rc.in new file mode 100644 index 0000000..78b66e1 --- /dev/null +++ b/src/lib/libabw.rc.in @@ -0,0 +1,31 @@ +#include <winver.h> + +VS_VERSION_INFO VERSIONINFO + FILEVERSION @ABW_MAJOR_VERSION@,@ABW_MINOR_VERSION@,@ABW_MICRO_VERSION@,BUILDNUMBER + PRODUCTVERSION @ABW_MAJOR_VERSION@,@ABW_MINOR_VERSION@,@ABW_MICRO_VERSION@,0 + FILEFLAGSMASK 0 + FILEFLAGS 0 + FILEOS VOS__WINDOWS32 + FILETYPE VFT_DLL + FILESUBTYPE VFT2_UNKNOWN + BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904B0" + BEGIN + VALUE "CompanyName", "The libwpd developer community" + VALUE "FileDescription", "libwpd" + VALUE "FileVersion", "@ABW_MAJOR_VERSION@.@ABW_MINOR_VERSION@.@ABW_MICRO_VERSION@.BUILDNUMBER" + VALUE "InternalName", "libwpd-@ABW_MAJOR_VERSION@.@ABW_MINOR_VERSION@" + VALUE "LegalCopyright", "Copyright (C) 2002-2006 William Lachance, Marc Maurer, Fridrich Strba, other contributers" + VALUE "OriginalFilename", "libwpd-@ABW_MAJOR_VERSION@.@ABW_MINOR_VERSION@.dll" + VALUE "ProductName", "libwpd" + VALUE "ProductVersion", "@ABW_MAJOR_VERSION@.@ABW_MINOR_VERSION@.@ABW_MICRO_VERSION@" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END + END + |