Issue Details (XML | Word | Printable)

Key: CORE-6295
Type: Bug Bug
Status: Open Open
Priority: Major Major
Assignee: Vlad Khorsun
Reporter: Vlad Khorsun
Votes: 0
Watchers: 2

If you were logged in you would be able to see more operations.
Firebird Core

Incomplete header files

Created: 01/May/20 11:33 AM   Updated: 23/Jun/20 05:09 AM
Component/s: Installation
Affects Version/s: 4.0 Initial, 3.0.0, 3.0.1, 3.0.2, 4.0 Alpha 1, 3.0.3, 3.0.4, 4.0 Beta 1, 3.0.5
Fix Version/s: 3.0.6

QA Status: Cannot be tested

 Description  « Hide
\include\firebird\IdlFbInterfaces.h contains references to the PerformanceInfo which is declared in \src\jrd\ntrace.h
Contents of this file should be included into final ibase.h

Also, i see no \include\firebird folder in zip kits

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Paul Reeves added a comment - 01/May/20 03:37 PM
/include/firebird is definitely in the windows zip kits that are prepared for release.

Vlad Khorsun added a comment - 01/May/20 03:54 PM
Good to know.
What is less good - is that it is absent in 3.0.5 kits (at least) :(

Paul Reeves added a comment - 17/Jun/20 01:42 PM
I mistakenly assigned this to myself. But I can only take care of fixing the lack of /include/firebird in the zip kits.

Paul Reeves added a comment - 19/Jun/20 06:47 AM
I took a closer look at this.

It looks straightforward to fix this for posix builds. There is a small binary called makeHeader which does the necessary work of concatenating and cleaning the header files. It is just a question of adding jrd/ntrace.h to the list of files to process.

It is also necessary to comment out the line '//#include "firebird/Interface.h"' in ntrace.h otherwise empbuild doesn't build.

It is more difficult on windows because we do not have a good way to generate header files. There is one version in make_all.bat which just concatenates them. The result is that all the license templates are repeated. BuildExecutableInstall.bat removes all the license templates apart from the first, but also removes all the comments. This was OK a long time ago when I first wrote that script. It is not OK now as some of the comments are the only documentation.

The order of concatenation in all three instances is different, too.

The ideal solution for windows would be to incorporate makeHeader into the windows build process but in the meantime I shall modify the existing windows batch files.

I have the changes ready to commit for 3.0.6.

Dmitry Yemanov added a comment - 20/Jun/20 08:47 AM
Paul, I see you've committed some changes, bot the ntrace.h fix is not among of them. Do you still have something pending? If so, when may we expect them to be committed?

Paul Reeves added a comment - 20/Jun/20 10:03 AM
I was waiting for some feedback before committing the changes.

I don't see any problems apart from the fact that it is necessary to comment out or remove the line '#include "firebird/Interface.h'.

The code builds OK without this #include but it must have been put there for a reason.

I will go ahead and commit. If there is a problem it can be rolled back.