FirebirdSQL/firebird-odbc-driver

ODBC driver is not compiled with Borland compiler [ODBC197]

firebird-automations opened this issue · 8 comments

Submitted by: Dimitar Zhekov (sheckley)

Block progress on ODBC198
Block progress on ODBC200
Block progress on ODBC199

Attachments:
bcc55-compile-204.diff
bcc55-odbuild-204.diff

...\OdbcJdbc\Builds\Bcc55.win> buildNT.bat C:\Borland\BCC55

MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
Error ../makefile.environ 9: Command syntax error
Error ../makefile.environ 11: Command syntax error
Error ../makefile.environ 13: Command syntax error
Error ../makefile.environ 15: Command syntax error
Error ../makefile.environ 17: Command syntax error
[...]
*** 31 errors during make ***

The problem is that "makefile.bcc55", which is written for Borland make, includes "../makefile.environ", which is for GNU make. So, neither the Borland nor the GNU make utilities will work.

I can try to write a proper "makefile.environ-bcc" file, or however you wold prefer to call it.

Commented by: @alexpotapchenko

Borland compiler is not supported for driver officially now , but if you make working patch for this compiler I can apply it.

Modified by: @alexpotapchenko

Link: This issue block progress on ODBC198 [ ODBC198 ]

Modified by: @alexpotapchenko

Link: This issue block progress on ODBC200 [ ODBC200 ]

Modified by: @alexpotapchenko

Link: This issue block progress on ODBC199 [ ODBC199 ]

Modified by: @alexpotapchenko

Version: 2.0.4 [ 10662 ]

summary: Building with BCC attempts to use both BCC and GCC make files => ODBC driver is not compiled with Borland compiler

Version: 2.0.3 [ 10581 ] =>

Commented by: Dimitar Zhekov (sheckley)

I wouldn't bother with BCC either, but the official 32-bit ODBC .dll performed worse than expected for me, and recompiling it with my [dated] studio, all options set for speed, did not help. Anyway:

bcc55-compile-204.diff fixes the compilation of OdbcJdbc with BCC55.

I removed the pre-compiled header options, because they generate a lot of temporary files, and one will need a really ancient machine to see any difference in compilation speed.

Since it's a release build only, I added -O2 -Oc (optimizations for speed). Compiling for i686 and without RTTI produces a slightly smaller and faster .dll, but the difference is small.

bcc55-odbuild-204.diff alters the build.bat targets, since IscDbc and OdbcJdbcSetup can not be build with BCC. You may prefer to change "all:" in makefile.bcc55 instead, or cut the makefile.

Well, that's about it... I recompiled the driver, and tested it by creating some aliases, and copying a ~250MB database with ~150 tables.

Modified by: Dimitar Zhekov (sheckley)

Attachment: bcc55-compile-204.diff [ 12983 ]

Attachment: bcc55-odbuild-204.diff [ 12984 ]

Please let me know if the issue is still active or close it please.
Regards.