Accepting request 714260 from windows:mingw:win64:staging

- fix finding executables (required by kicad 5.1.2, which uses unusual shared library names)
- introduce _mingw32_cxxflags to be feature compatible to c
- add macro _mingw32_make_install to keep in sync with %_make_install
- provide odbccp32.dll (required by OpenSceneGraph)
- mingw32-find-requires.sh: fix parsing multiple libraries from pkg-config files

OBS-URL: https://build.opensuse.org/request/show/714260
OBS-URL: https://build.opensuse.org/package/show/windows:mingw:win64/mingw64-filesystem?expand=0&rev=103
This commit is contained in:
Fridrich Strba 2019-07-22 10:18:05 +00:00 committed by Git OBS Bridge
parent 6b1f91a9aa
commit a1a2c4dce5
3 changed files with 10 additions and 6 deletions

View File

@ -25,7 +25,7 @@
%_mingw64_host %{_mingw64_target}
%_mingw64_cflags -O2 -g -pipe -Wall -fexceptions --param=ssp-buffer-size=4 -mms-bitfields
%_mingw64_cxxflags %{_mingw64_cflags}
%_mingw64_ldflags -Wl,--exclude-libs=libintl.a -Wl,--exclude-libs=libiconv.a -Wl,--no-keep-memory
%_mingw64_classpath %{_mingw64_datadir}/java/libgcj.jar:%{_mingw64_datadir}/java/libgcj-tools.jar
@ -95,7 +95,7 @@ package or when debugging this package.\
LDFLAGS="${MINGW64_LDFLAGS:-%_mingw64_ldflags}"; export LDFLAGS; \
if [ -x "%{_bindir}/%{_mingw64_cxx}" ]; then \
CXX="${MINGW64_CXX:-%_mingw64_cxx}"; export CXX; \
CXXFLAGS="${MINGW64_CXXFLAGS:-%_mingw64_cflags}"; export CXXFLAGS; \
CXXFLAGS="${MINGW64_CXXFLAGS:-%_mingw64_cxxflags}"; export CXXFLAGS; \
else \
CXX=; export CXX; \
ac_cv_prog_CXX=no; export ac_cv_prog_CXX; \
@ -160,7 +160,7 @@ package or when debugging this package.\
mandir=%{_mingw64_mandir} \\\
infodir=%{_mingw64_infodir}
%_mingw64_makeinstall %{_mingw64_env} ; \
%_mingw64_make_install %{_mingw64_env} ; \
make \\\
prefix=%{?buildroot:%{buildroot}}%{_mingw64_prefix} \\\
exec_prefix=%{?buildroot:%{buildroot}}%{_mingw64_exec_prefix} \\\
@ -177,6 +177,9 @@ package or when debugging this package.\
infodir=%{?buildroot:%{buildroot}}%{_mingw64_infodir} \\\
install
# deprecated, use _mingw64_make_install (unix variant is named %make_install)
%_mingw64_makeinstall %_mingw64_make_install
# internal macro used by related filesystem packages
%__mingw64_cmake %{_mingw64_env} ; \
cmake \\\

View File

@ -18,7 +18,7 @@
%define debug_package %{nil}
Name: mingw64-filesystem
Version: 20170720
Version: 20190529
Release: 0
Summary: MinGW base filesystem and environment
License: GPL-2.0+
@ -38,6 +38,7 @@ Source10: languages
Source11: languages.man
Provides: mingw64(dbghelp.dll)
Provides: mingw64(mpr.dll)
Provides: mingw64(odbccp32.dll)
Provides: mingw64(userenv.dll)
Provides: mingw64(uxtheme.dll)
# TODO: The available DLL's can be identified by the

View File

@ -81,7 +81,7 @@ for i in $libs_to_exclude; do
done
dlls=$(grep -Ei '\.(dll|exe)$' "$filelist")
dlls=$(cat "$filelist" | xargs file | grep executable | sed 's,:.*$,,g')
pcs=$(grep '\.pc$' "$filelist")
configs=$(grep 'config$' "$filelist")
@ -98,7 +98,7 @@ for g in $pcs; do
dirname="${g%/*}"
PKG_CONFIG_PATH="$dirname" "$host-pkg-config" --print-errors --print-requires "$g" | awk '{ print "'"$target"'(pkg:"$1")", $2, $3 }'
PKG_CONFIG_PATH="$dirname" "$host-pkg-config" --print-errors --print-requires-private "$g" | grep -Ev "$exclude_pattern" | awk '{ print "'"$target"'(pkg:"$1")", $2, $3 }'
for h in $(PKG_CONFIG_PATH="$dirname" "$host-pkg-config" --libs-only-l "$g" | sed 's#\-l##g'); do
for h in $(PKG_CONFIG_PATH="$dirname" "$host-pkg-config" --libs-only-l "$g" | sed 's#^\-l##g;s# \-l# #g'); do
echo "$target(lib:$h)"
done
done