diff --git a/macros.mingw64 b/macros.mingw64 index 4207ff9..c04e5cd 100644 --- a/macros.mingw64 +++ b/macros.mingw64 @@ -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 \\\ diff --git a/mingw64-filesystem.spec b/mingw64-filesystem.spec index 3a5c477..c92b354 100644 --- a/mingw64-filesystem.spec +++ b/mingw64-filesystem.spec @@ -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 diff --git a/mingw64-find-requires.sh b/mingw64-find-requires.sh index edf5e7b..4194693 100644 --- a/mingw64-find-requires.sh +++ b/mingw64-find-requires.sh @@ -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