1.a. Has anyone successfully built the Borland C++Builder DLL version of
0.9.6b? I attempted an interpolation / extension of the "BCB4.BAT" file into
this (BCB4B.bat):
perl Configure BC-32
perl util\mkfiles.pl > MINFO
@rem create make file
perl util\mk1mf.pl no-asm BC-NT > bcb.mk
perl util\mk1mf.pl no-asm dll BC-NT > bcbdll.mk
This was better than trying to port bcb.mak to bcbdll.mak, but there were a
lot of problems, such as MS libraries and linker options, wrong linker
syntax, wrong or missing BCB runtime object (c0d32.obj) , etc. I used:
$(O_SSL): $(SSLOBJ)
$(LINK) $(MLFLAGS) $(SHLIB_EX_OBJ) @&&| $(SSLOBJ)
|, $(O_SSL), , $(EX_LIBS) $(L_CRYPTO), ms\SSLEAY32.def,
$(O_CRYPTO): $(CRYPTOOBJ)
$(LINK) $(MLFLAGS) $(SHLIB_EX_OBJ) @&&| $(CRYPTOOBJ)
|, $(O_CRYPTO), , $(EX_LIBS), ms\LIBEAY32.def,
The one I've yet to fathom is why the symbols aren't being exported in BCB
as they are in VC.
1.b. This should be added to you change request list: The functions that are
being exported should be __export and "#define" keyworded in the source /
headers, so that the EXPORTS section of the .DEF files aren't necessary.
2. Add this to your request for change list: When building Borland versions
of the static and dynamic libraries alongside VC versions, not only do the
folder names collide (out32,out32dll,inc32), as noted by comments from other
OpenSSL builders, but in the dynamic versions specifically, the output DLL
filenames themselves conflict (libeay32.dll). This is an insurmountable
problem for systems running OpenSSL dynamically-linked apps from both
compilers, most typically and commonly a VC back end and a BCB front end.
There are no compiler- or link-type- specific folder / filename specifiers
in the makefiles, e.g. - libeay.lib, libeay.dll VC dynamic
libeayS.lib VC static
libeayB.lib, libeayB.dll BCB dynamic
libeayBS.lib BCB static
Also beware that some commands used in the makefiles on Win32 platforms
don't like non-8.3 filenames or folder names.
3. Also, the inc32 folder has a different opensslconf.h, line 108 between VC
and BCB, also requiring duplicate folders. That portion should be
#define'ed.
line 107: #ifndef DES_PTR
line 108:
VC: #undef DES_PTR
BCB: #define DES_PTR
line 109: #endif
In the larger context, one could do this:
BCB:
#ifndef DES_PTR
add: #ifdef __BORLANDC__
#define DES_PTR
add: #endif
#endif
VC (this does nothing, anyway, so get rid of the entire #ifndef/#endif):
delete: #ifndef DES_PTR
delete: #undef DES_PTR
delete: #endif
These things are not easily accomplished, but I thought I might let you know
about them.
Jason Loefer
TGA Technologies, Inc.
[EMAIL PROTECTED]
770-662-5585x123
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]