Home | History | Annotate | only in /external/expat/bcb5
Up to higher level directory
NameDateSize
all_projects.bpg09-Oct-20131.6K
elements.bpf09-Oct-2013155
elements.bpr09-Oct-20134.5K
elements.mak09-Oct-20135K
expat.bpf09-Oct-2013215
expat.bpr09-Oct-20133.9K
expat.mak09-Oct-20135K
expat_static.bpf09-Oct-2013181
expat_static.bpr09-Oct-20133.5K
expat_static.mak09-Oct-20134.7K
expatw.bpf09-Oct-2013216
expatw.bpr09-Oct-20134.3K
expatw.mak09-Oct-20135.1K
expatw_static.bpf09-Oct-2013181
expatw_static.bpr09-Oct-20134.4K
expatw_static.mak09-Oct-20134.7K
libexpat_mtd.def09-Oct-20135.4K
libexpatw_mtd.def09-Oct-20135.4K
makefile.mak09-Oct-2013534
outline.bpf09-Oct-2013153
outline.bpr09-Oct-20133.4K
outline.mak09-Oct-20134.9K
README.txt09-Oct-20134.2K
setup.bat09-Oct-2013553
xmlwf.bpf09-Oct-2013247
xmlwf.bpr09-Oct-20133.7K
xmlwf.mak09-Oct-20135K

README.txt

      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.
     88