05/07/2020 10:51, Fady Bader: > From: Thomas Monjalon <tho...@monjalon.net> > > 05/07/2020 09:00, Fady Bader: > > > > On 30/06/2020 11:49, Kinsella, Ray wrote: > > > > > On 22/06/2020 12:55, Fady Bader wrote: > > > > >> --- a/lib/librte_eal/include/rte_function_versioning.h > > > > >> +++ b/lib/librte_eal/include/rte_function_versioning.h > > > > >> @@ -11,6 +11,10 @@ > > > > >> #error Use of function versioning disabled, is > > "use_function_versioning=true" > > > > in meson.build? > > > > > Do we need a meson error/rule that catches if people explicitly > > > > > try to enable > > > > function_versioning. > > > > > We don't want to just silently fail under such circumstances? > > > > > > > > > > Would something in lib/meson.build would work better? > > > > > > > > > > if use_function_versioning and target_machine.system == "Windows" > > > > > // complain loudly ... > > > > > endif > > > > > > > > > > > I think this would be a better approach. > > > But instead of checking if the use of function versioning is enabled > > > under Windows and then complain, I think we should simply disable it > > > from Windows in the meson.build file. Something like this: > > > > > > if target_machine.system == "Windows" > > > use_function_versioning = false > > > endif > > > > Did you try? > > > > If you disable function versioning, compilation will fail with the #error > > message > > above, right? > > > > Yes, the compilation fails, we can also change the rte_function_versioning.h > code in order not to fail under Windows. > What do you think ?
Function versioning CANNOT be supported currently on Windows. Function versioning macros are MANDATORY in some libraries. That's why I think the only path is to have a specific implementation of the function versioning macros for Windows.