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>