Bug #16298 2009-09-23 21:50

jimp

Borland and Embarcadero Compiler Changes

The following changes for Borland will also work for the new Embarcadero RAD Studio 2010 (previously Borland). The changes are to options set in the source program compilerBCC.cpp.

You can get a free trial for Embarcadero at http://www.embarcadero.com/downloads.

DYNAMIC LINK OPTION in compilerBCC.cpp

--------------------------------------

Link options for the Borland "link object files to dynamic library" gets errors for "Unresolved external references". This is caused by the object file c0d32.obj not being included in the linking. The other link options have the correct object file included. The corrected entry follows.

current dynamic link option in compilerBCC.cpp at line 149:

"$linker -q $libdirs -Tpd $link_options $link_objects,$exe_output,,$libs,,$link_resobjects"

new dynamic link option in compilerBCC.cpp at line 149 (with c0d32):

"$linker -q $libdirs -Tpd $link_options c0d32 $link_objects,$exe_output,,$libs,,$link_resobjects"

STATIC LINK OPTION in compilerBCC.cpp

-------------------------------------

Link options for the Borland "link object files to static library" gets warnings for "file not found in library". This is caused by the link object files being both added (+) and removed (-) from the library with the option "$+-link_objects". Changing the option to "$+link_objects" (with just a +) will fix the problem.

The new Embarcadero compiler creates larger libraries than Borland. This causes a warning message "library was too large for page size, rebuilt with page size 32". The default (and minimum) page size of 16 bytes allows a library of about 1 MB in size. The warning can be eliminated by using the option /P32 to create a larger page size. The corrected entry follows.

current static link option in compilerBCC.cpp at line 150:

"$lib_linker /C $static_output $+-link_objects,$def_output"

new static link option in compilerBCC.cpp at line 150 (with /P32 and + only):

"$lib_linker /C /P32 $static_output $+link_objects,$def_output"

Category
Compiler
Group
 
Status
Open
Close date
 
Assigned to