On Tue, Apr 6, 2021 at 8:53 PM Thomas Monjalon <tho...@monjalon.net> wrote: > > About the title, it is not a single file but one file per lib/driver. > I think it would better convey the idea by saying "remove .def files".
Ok. > > 06/04/2021 19:59, David Marchand: > > Rather than have two files that keeps getting out of sync, let's > > annotate the version.map to generate the Windows export file. > > > > Note: Existing version.map annotation achieved with: > > $ for dir in lib/librte_eal drivers/common/mlx5; do > > ./buildtools/map-list-symbol.sh $dir/*.map | > > while read file version sym; do > > ! git grep -qw $sym $dir/*.def || continue; > > sed -i -e "s/$sym;/$sym; # WINDOWS_NO_EXPORT/" $dir/*.map; > > done; > > done > > This patch keeps the exact same behaviour, right? I checked by sorting/diff'ing previously committed .def files for EAL and common/mlx5 with the newly generated ones. No difference, once aligning the mlx5 version.map. There is one change in behavior. I thought as exports.def being a subset of the map files, and this patch enforces it. It seems there were some tries at going the opposite way, looking at the comment in check-symbol-maps.sh. But looking at the current common/mlx5 state, I don't see this as a requirement (Linux and Windows share the same interface). > There are a lot of symbols in EAL and mlx5 which should > be exported for Windows too, but it is open for future fixes, right? Not sure I get this question. We have exports missing in EAL for some series posted on the ml waiting for merges. I suspect some recent merged changes have issues too (but did not check yet). This current patch does not address such issues and we need fixes afterwards if this is what you mean. -- David Marchand