@@ -1,61 +1,61 @@
-Building on Win32.
+LIBICAL -- an implementation of iCalendar protocols and data formats
-Building libical on Windows is a different process than building it on the other platforms: Instead of autogenerating makefiles using the autoconf/automake/make tools, Microsoft project files (.dsp) are used.
+Most of the code in here was written by Eric Busboom with help from
+dozens of contributors. It is currently maintained by Art Cancro
+and Wilfried Goesgens.
-Here are the requirements and steps to build libical on the Win32 platform.
+Libical is an Open Source implementation of the iCalendar protocols
+and protocol data units. The iCalendar specification describes how
+calendar clients can communicate with calendar servers so users can
+store their calendar data and arrange meetings with other users.
+Libical implements RFC2445, RFC2446 and some of RFC2447.
-The following softwares need to be installed for a standard Windows build:
-- Microsoft Visual C++ 6.0 or higher (only tested on 6.0 as of today).
+The code and datafiles in this distribution are licensed under the
+Mozilla Public License (MPL) v1.0. See http://www.mozilla.org/MPL/1.0
+for a copy of the license.
-- GNU Tools for Microsoft Windows (the cygwin toolkit).
- cygwin is a UNIX-like environment for Windows, free from Red Hat. libical uses a few set of cygwin packages, which must be installed.
- Go to http://www.cygwin.com and follow the installation instructions. The cygwin installer wizard runs as a Windows program. One page of the wizard presents an outline view of categories and packages. Here is a list of the cygwin packages needed for building libical:
- . base --> ash : Unix-like command line interpreter shell.
- . base --> grep: GNU grep, egrep and fgrep
- . interpreters --> perl: A scripting language used to autogenerate some header files.
+Alternately, you may use libical under the terms of the GNU Library
+General Public License (LGPL) v2.1. See http://www.gnu.org/licenses/lgpl-2.1.txt
+for a copy of the license.
+This dual license ensures that the library can be incorporated into
+both proprietary code and GPL'd programs, and will benefit from improvements
+made by programmers in both realms. I will only accept changes into
+my version of the library if they are similarly dual-licensed.
-Visual C++ needs to be able to launch the cygwin tools. To do so, you can either:
-- add the path to the cygwin tools (by default c:\cygwin\bin) to your global or user Path enviroment variable,
-- or, in Visual C++ go to Tools --> Options --> Directories --> Show directories for Executable files and add the path to the cygwin tools (by default c:\cygwin\bin).
+Portions of this distribution are (C) Copyright 1996 Apple Computer,
+Inc., AT&T Corp., International Business Machines Corporation and
+Siemens Rolm Communications Inc. See src/libicalvcal/README.TXT for
+Portions of this distribution are Copyright (c) 1997 Theo de
+Raadt. See the header for src/libical/vsnprintf.c for the full
+If you would like to contribute, monitor or report bug fixes to the project,
+Subscribe to our development mailing list at https://lists.sourceforge.net/lists/listinfo/freeassociation-devel
Building the library
-You need to build each subcomponent of libical one by one in the following order:
- . src/libical/libical.dsp
- . src/libicalss/libicalss.dsp
- . src/libicalvcal/libicalvcal.dsp
-Testing your build
-libical comes with 2 regression test programs:
- . src/test/recur.dsp
- . src/test/regression.dsp
-Building those and running them (from the command line or from VC++) is probably a good idea to check that your build is OK. The results are pretty much self explanatory.
-Of course, running the regression tests becomes mandatory if you're planning on submitting a change.
+See the top-level Install.txt file.
-Using the library
-By default, the library is created as a static library under src/libical/Debug/libical.lib (Debug version). You can also create a Release version which will be put under src/libical/Release/libical.lib.
-The header file ical.h is autogenerated by the build process and should be located under src/libical/ical.h.
-The library is created using the (Debug) Multithreaded DLL run-time library option. Be sure that you have the same setting in your application (Project --> Settings --> C/C++ --> Code Generation) or things will start to break.
- The symptoms of this problem are link time errors like:
- MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _malloc already defined in
- MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _free already defined in
- MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _strncmp already defined in
-Alternatively, you can alter the libical .dsp files and recompile the library.
+Using the Library
+There is rudimentary, unfinished documentation in the /doc directory,
+and annotated examples in /examples and the test code in src/test.