Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incomplete header files [CORE6295] #6537

Closed
firebird-automations opened this issue May 1, 2020 · 10 comments
Closed

Incomplete header files [CORE6295] #6537

firebird-automations opened this issue May 1, 2020 · 10 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @hvlad

\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

Commits: e14f075 650fa8a 1390335

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Open [ 1 ] => Open [ 1 ]

QA Status: No test => Cannot be tested

@firebird-automations
Copy link
Collaborator Author

Commented by: @reevespaul

/include/firebird is definitely in the windows zip kits that are prepared for release.

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

Good to know.
What is less good - is that it is absent in 3.0.5 kits (at least) :(

@firebird-automations
Copy link
Collaborator Author

Modified by: @reevespaul

assignee: Paul Reeves [ paul_reeves ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @reevespaul

I mistakenly assigned this to myself. But I can only take care of fixing the lack of /include/firebird in the zip kits.

@firebird-automations
Copy link
Collaborator Author

Modified by: @reevespaul

assignee: Paul Reeves [ paul_reeves ] =>

@firebird-automations
Copy link
Collaborator Author

Commented by: @reevespaul

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.

@firebird-automations
Copy link
Collaborator Author

Commented by: @dyemanov

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?

@firebird-automations
Copy link
Collaborator Author

Commented by: @reevespaul

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.

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

Fix Version: 3.0.6 [ 10889 ]

assignee: Vlad Khorsun [ hvlad ]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment