-
Notifications
You must be signed in to change notification settings - Fork 211
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
openjp2: cleanup obsolete components #215
openjp2: cleanup obsolete components #215
Conversation
5ad9474
to
c482bad
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You seem to have accidentally resolved a merge conflict by adding a meson.build~HEAD file
zlib_dep = dependency('zlib') | ||
|
||
libpng_dep = dependency('libpng') | ||
libpng_dep = dependency('libpng', required : false) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ideally these would be options of some sort to avoid "automagic dependencies". What does upstream do, hmmm...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I used this as it is disabled by config if the dep is not found.
See
if libpng_dep.found() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tested on VS2019 prompt without any wrap
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you misunderstood.
I'm referring to this: https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Automagic_dependencies
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But seems that this libpng (or libtiff) dependency is only necessary for the bins opj_*
and the lib support can be optional for these tools. Any recommandation to address your concern here ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The classic method is to add a feature option to meson_options.txt, and use that as the required: get_option('...')
kwarg.
That configure option would then allow consumers to select whether they want to ensure the bins are/are not built with libpng support, or have meson automatically build with libpng support if it can.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is build_codec_with_png_support
suitable to you ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is a very long name which I think people probably don't want to pass as a command line option. How about libpng
? :p Or codec_libpng
or app_libpng
.
TBH some of the option names in there aren't very good names, e.g. all the ones starting with opj_ are already project-scoped by definition and meson does subproject name prefixing. The "codec" option is a bit odd since there is no longer any other executable group to confuse the issue if it was called "build_apps".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree to change the option name but i'm not a big fan adding a libpng option. I prefer to require it if the app option is enabled.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Regarding the opj_ prefix I kept it to follow the cmake files. I would keep it as it's option for openjp2 specific subfolder
e3decba
to
5c8e5d1
Compare
LGMT. Anyone else? |
I had previously mentioned that enabling additional functionality (png, tiff, lcms2) for the command line programs using |
Needs rebasing. |
Since uclouvain/openjpeg#1350 the components JPWL, JP3d and MJ2 will not be maintained in 2.5.0. As win32 build was facing an issue with mj2 build and lrintf inline, (see uclouvain/openjpeg#1339), better to remove these useles components who will be removed in v2.5.0.
5c8e5d1
to
7ef9651
Compare
What about adding feature options for the optional dependencies? |
7ef9651
to
5b3b1db
Compare
Thanks Eli for your recommendations. I hope it will fit your expectations this time. |
Still looks good. Anyone else have comments? |
png, libtiff, lcms2 dep checking can be conditional. Remove zlib dependency as nobody is using it.
Remove option for pkg-config files generation
Rename to build_codec_apps to make it clearer
5b3b1db
to
70c8add
Compare
Please ack, I don't want to merge things marked as blocked. |
I personally don't love the booleans instead of feature options, but that's a personal preference. Feel free to merge it if you like, I myself would rather wait to make up my mind over the weekend but that's not a merge blocker anymore. |
Incremental improvements can always be done later. Thanks. |
This PR is missing a new entry in releases.json, so it did not generate a new release. |
Following the lastest change mesonbuild#215 a new release can now be built.
Following the lastest change #215 a new release can now be built.
improve bin dependency checking
png, libtiff, lcms2 dep checking
can be conditional.
Remove zlib dependency as nobody is using it.
Remove unmaintained JPWL, JP3D and MJ2
Since uclouvain/openjpeg#1350
the components JPWL, JP3d and MJ2 will not be
maintained in 2.5.0.
As win32 build was facing an issue with mj2 build and lrintf inline,
(see uclouvain/openjpeg#1339), better
to remove these useles components who will be removed in v2.5.0.