Annotation of embedaddon/expat/bcb5/README.txt, revision 1.1

1.1     ! misho       1: 
        !             2:                    Using a Borland compiler product
        !             3: 
        !             4: The files in this directory support using both the free Borland command-line
        !             5: compiler tools and the Borland C++ Builder IDE.  The project files have been
        !             6: tested with both versions 5 and 6 of the C++ Builder product.
        !             7: 
        !             8:              Using the free BCC32 command line compiler
        !             9: 
        !            10: After downloading and installing the free C++ Builder commandline version,
        !            11: perform the following steps (assuming it was installed under C:\Borland\BCC55):
        !            12: 
        !            13: 1) Add "C:\Borland\BCC55\BIN" to your path
        !            14: 2) Set the environment variable BCB to "C:\Borland\BCC55".
        !            15: 3) edit makefile.mak: enable or comment out the appropriate commands under
        !            16:    clean & distclean, depending on whether your OS can use deltree /y or
        !            17:    del /s/f/q.
        !            18: 
        !            19: After that, you should simply cd to the bcb5 directory in your Expat directory
        !            20: tree (same structure as CVS) and run "make all" or just "make".
        !            21: 
        !            22:                                Naming
        !            23: 
        !            24: The libraries have the base name "libexpat" followed optionally by an "s"
        !            25: (static) or a "w" (unicode version), then an underscore and optionally
        !            26: "mt" (multi-threaded) and "d" (dynamic RTL).
        !            27: 
        !            28: To change the name of the library a project file produces, edit the project
        !            29: option source (see step 1 under Unicode below) and change the name contained in
        !            30: the PROJECT tag. In a make file, change the value assigned to the PROJECT
        !            31: variable. Also, the LIBRARY entry in the .def file has to be changed to
        !            32: correspond to the new executable name.
        !            33: 
        !            34: 
        !            35:                        Unicode Considerations
        !            36: 
        !            37: There are no facilities in the BCB 5 GUI to create a unicode-enabled
        !            38: application. Fortunately, it is not hard to do by hand.
        !            39: 
        !            40: 1. The startup .obj system file must be changed to the unicode version.
        !            41:    Go to Project|Edit Option Source, and scroll down to the ALLOBJ tag. Change
        !            42:    c0x32.obj to c0x32w.obj. Editing this file can be quirky, but usually the
        !            43:    following kludge will make the change stick. Close and save the file
        !            44:    (CTRL-F4) then open the options dialog (CTRL-Shift-F11), then click OK on
        !            45:    the dialog immediately without changing anything in it. If this doesn't work,
        !            46:    you will have to close the project completely and edit the .bpr file by hand.
        !            47: 
        !            48:    If you are using a make file, just change the startup .obj file assigned
        !            49:    to the ALLOBJ variable.
        !            50: 
        !            51: 2. Add the macro define XML_UNICODE_WCHAR_T. In the GUI that goes in the options
        !            52:    dialog, Directories/Conditionals tab, in the Conditional define box. In a
        !            53:    make file, put it in the USERDEFINES variable.
        !            54: 
        !            55: 3. Of course, your code has to be written for unicode. As a start, the "main"
        !            56:    function is called "wmain". The tchar macros are an interesting way to
        !            57:    write code that can easily switch between unicode and utf-8. If these macros
        !            58:    are used, then simply adding the conditional define _UNICODE as well as
        !            59:    XML_UNICODE_WCHAR_T will bring in the unicode versions of the tchar macros.
        !            60:    Otherwise the utf-8 versions are used. xmlwf uses its own versions of the
        !            61:    tchar macros which are switched on and off by the XML_UNICODE macro, which
        !            62:    itself is set by the XML_UNICODE_WCHAR_T define.
        !            63: 
        !            64:                               Threading
        !            65: 
        !            66: The libexpat libraries are all built to link with the multi-threaded dynamic RTL's.
        !            67: That means they require CC32xxMT.DLL present on the installation target.
        !            68: To create single-threaded libs, do the following:
        !            69: 
        !            70: 1. The compiler option for multi-threading must be turned off. Following the
        !            71:    instructions above to edit the option source, remove the -tWM option from
        !            72:    the CFLAG1 tag. In a make file, remove it from the CFLAG1 variable.
        !            73: 
        !            74: 2. The single threaded RTL must be called. change the RTL in the ALLLIB tag or
        !            75:    variable (GUI or makefile repectively) to the version without the "mt" in the
        !            76:    name. For example, change cw32mti.lib to cw32i.lib.
        !            77: 
        !            78:                               Static RTL's
        !            79: 
        !            80: To build the libs with static RTL's do the following,
        !            81: 
        !            82: 1. For the static expatlibs, in the Tlib tab on the options dialog, uncheck the
        !            83:    "Use dynamic RTL" box. For the dynamic expatlibs, in the Linker tab on the
        !            84:    options dialog, uncheck "Use dynamic RTL". If you are using a make file,
        !            85:    remove the _RTLDLL assignment to the SYSDEFINES variable, and change the RTL
        !            86:    to the version without an "i" in the ALLLIB variable. For example,
        !            87:    cw32mti.lib would become cw32mt.lib.

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>