Added support for both win32 and win64 targets
- Fixed rpmlint issues
- Fixed permissions of the scripts (775 -> 755)
- Fixed description of the various subpackages
- Make the various macros compliant with the new packaging guidelines:
https://fedorahosted.org/fpc/ticket/71
- Suppress arch-independent-package-contains-binary-or-object rpmlint
errors for static libraries
- Improved the mingw_configure, mingw_make, mingw_make_install,
mingw_cmake and mingw_cmake_kde4 RPM macros so packagers don't need
to use quotes anymore when using arguments. Thanks to Kalev Lember
for the initial proof of concept
- Dropped the -mms-bitfields argument from the default CFLAGS as
it is enabled by default as of gcc 4.7
- Replaced the CMake defines QT_HEADERS_DIR and QT_LIBRARY_DIR
with QT_BINARY_DIR which is a more proper method to make CMake
aware of the location of Qt. Thx to Dominik Schmidt for the hint
- Make sure CMake can detect the qmake-qt4 binary in /usr/$target/bin
- Make sure CMake can also detect the (native) Qt tools
qdbuscpp2xml and qdbusxml2cpp
- Added new RPM macros mingw_cmake_kde4, mingw32_cmake_kde4 and
mingw64_cmake_kde4
- Added three new environment variables which can be set to
influence the behaviour of the cmake macros:
MINGW_CMAKE_ARGS, MINGW32_CMAKE_ARGS and MINGW64_CMAKE_ARGS
- Dropped the mingw32-qmake-qt4 and mingw64-qmake-qt4 wrapper scripts
as they're now provided by the mingw{32,64}-qt-qmake packages
- Added a new RPM macro: %%{?mingw_package_header}
Packagers can use this macro instead of the original boilerplate
code which is needed for all mingw packages
- Made argument passing using the backwards compatibility macro
%%{_mingw32_cmake} work
- Fixed an issue in the mingw_cmake macro where it could point to
a non-existant CMakeLists.txt file
- Fixed a bug in the find-requires script which causes all packages to
depend
on both the mingw32 and the mingw64 toolchains
- Split out the RPM macros which require both the
mingw{32,64}-filesystem
packages in a new file and put it in the mingw-filesystem-base package
- Generate seperate debuginfo packages for mingw32 and mingw64
- Set the minimum version of R: mingw{32,64}-filesystem to 70
- Use the correct FSF-address in some scripts
- Thanks to all the contributors: Erik van Pienbroek, Kalev Lember,
Levente
Farkas, Marc-Andre Lureau.
2012-02-25 23:17:24 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# This script reads filenames from STDIN and outputs any relevant provides
|
|
|
|
# information that needs to be included in the package.
|
|
|
|
|
|
|
|
[ -z "$OBJDUMP" ] && OBJDUMP=mingw-objdump
|
|
|
|
|
|
|
|
targets=$@
|
|
|
|
if [ -z "$targets" ] ; then
|
|
|
|
echo "Usage: $0 [ mingw32 ] [ mingw64 ]"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Get the list of files.
|
|
|
|
|
|
|
|
filelist=`sed "s/['\"]/\\\&/g"`
|
|
|
|
|
2020-05-01 08:55:55 +00:00
|
|
|
dlls=$(echo $filelist | tr '[:blank:]' '\n' | grep -Ei '\.(dll|exe)$')
|
|
|
|
pkgconfig_files=$(echo $filelist | tr '[:blank:]' '\n' | grep -Ei '\.(pc)$')
|
Added support for both win32 and win64 targets
- Fixed rpmlint issues
- Fixed permissions of the scripts (775 -> 755)
- Fixed description of the various subpackages
- Make the various macros compliant with the new packaging guidelines:
https://fedorahosted.org/fpc/ticket/71
- Suppress arch-independent-package-contains-binary-or-object rpmlint
errors for static libraries
- Improved the mingw_configure, mingw_make, mingw_make_install,
mingw_cmake and mingw_cmake_kde4 RPM macros so packagers don't need
to use quotes anymore when using arguments. Thanks to Kalev Lember
for the initial proof of concept
- Dropped the -mms-bitfields argument from the default CFLAGS as
it is enabled by default as of gcc 4.7
- Replaced the CMake defines QT_HEADERS_DIR and QT_LIBRARY_DIR
with QT_BINARY_DIR which is a more proper method to make CMake
aware of the location of Qt. Thx to Dominik Schmidt for the hint
- Make sure CMake can detect the qmake-qt4 binary in /usr/$target/bin
- Make sure CMake can also detect the (native) Qt tools
qdbuscpp2xml and qdbusxml2cpp
- Added new RPM macros mingw_cmake_kde4, mingw32_cmake_kde4 and
mingw64_cmake_kde4
- Added three new environment variables which can be set to
influence the behaviour of the cmake macros:
MINGW_CMAKE_ARGS, MINGW32_CMAKE_ARGS and MINGW64_CMAKE_ARGS
- Dropped the mingw32-qmake-qt4 and mingw64-qmake-qt4 wrapper scripts
as they're now provided by the mingw{32,64}-qt-qmake packages
- Added a new RPM macro: %%{?mingw_package_header}
Packagers can use this macro instead of the original boilerplate
code which is needed for all mingw packages
- Made argument passing using the backwards compatibility macro
%%{_mingw32_cmake} work
- Fixed an issue in the mingw_cmake macro where it could point to
a non-existant CMakeLists.txt file
- Fixed a bug in the find-requires script which causes all packages to
depend
on both the mingw32 and the mingw64 toolchains
- Split out the RPM macros which require both the
mingw{32,64}-filesystem
packages in a new file and put it in the mingw-filesystem-base package
- Generate seperate debuginfo packages for mingw32 and mingw64
- Set the minimum version of R: mingw{32,64}-filesystem to 70
- Use the correct FSF-address in some scripts
- Thanks to all the contributors: Erik van Pienbroek, Kalev Lember,
Levente
Farkas, Marc-Andre Lureau.
2012-02-25 23:17:24 +00:00
|
|
|
|
|
|
|
for target in $targets; do
|
|
|
|
dll_found=false
|
|
|
|
host_triplet=`rpm --eval "%{${target}_target}"`
|
|
|
|
for f in $dlls; do
|
|
|
|
if [[ $f =~ .*$host_triplet.* ]]; then
|
|
|
|
$OBJDUMP -p $f | grep 'DLL Name' | grep -Eio '[-._\+[:alnum:]]+\.dll' |
|
2021-02-01 20:59:11 +00:00
|
|
|
grep -v 'api-ms-win' | tr '[:upper:]' '[:lower:]' |
|
Added support for both win32 and win64 targets
- Fixed rpmlint issues
- Fixed permissions of the scripts (775 -> 755)
- Fixed description of the various subpackages
- Make the various macros compliant with the new packaging guidelines:
https://fedorahosted.org/fpc/ticket/71
- Suppress arch-independent-package-contains-binary-or-object rpmlint
errors for static libraries
- Improved the mingw_configure, mingw_make, mingw_make_install,
mingw_cmake and mingw_cmake_kde4 RPM macros so packagers don't need
to use quotes anymore when using arguments. Thanks to Kalev Lember
for the initial proof of concept
- Dropped the -mms-bitfields argument from the default CFLAGS as
it is enabled by default as of gcc 4.7
- Replaced the CMake defines QT_HEADERS_DIR and QT_LIBRARY_DIR
with QT_BINARY_DIR which is a more proper method to make CMake
aware of the location of Qt. Thx to Dominik Schmidt for the hint
- Make sure CMake can detect the qmake-qt4 binary in /usr/$target/bin
- Make sure CMake can also detect the (native) Qt tools
qdbuscpp2xml and qdbusxml2cpp
- Added new RPM macros mingw_cmake_kde4, mingw32_cmake_kde4 and
mingw64_cmake_kde4
- Added three new environment variables which can be set to
influence the behaviour of the cmake macros:
MINGW_CMAKE_ARGS, MINGW32_CMAKE_ARGS and MINGW64_CMAKE_ARGS
- Dropped the mingw32-qmake-qt4 and mingw64-qmake-qt4 wrapper scripts
as they're now provided by the mingw{32,64}-qt-qmake packages
- Added a new RPM macro: %%{?mingw_package_header}
Packagers can use this macro instead of the original boilerplate
code which is needed for all mingw packages
- Made argument passing using the backwards compatibility macro
%%{_mingw32_cmake} work
- Fixed an issue in the mingw_cmake macro where it could point to
a non-existant CMakeLists.txt file
- Fixed a bug in the find-requires script which causes all packages to
depend
on both the mingw32 and the mingw64 toolchains
- Split out the RPM macros which require both the
mingw{32,64}-filesystem
packages in a new file and put it in the mingw-filesystem-base package
- Generate seperate debuginfo packages for mingw32 and mingw64
- Set the minimum version of R: mingw{32,64}-filesystem to 70
- Use the correct FSF-address in some scripts
- Thanks to all the contributors: Erik van Pienbroek, Kalev Lember,
Levente
Farkas, Marc-Andre Lureau.
2012-02-25 23:17:24 +00:00
|
|
|
sed "s/\(.*\)/$target(\1)/"
|
|
|
|
dll_found=true
|
|
|
|
fi
|
|
|
|
done
|
2013-05-14 18:00:13 +00:00
|
|
|
|
Added support for both win32 and win64 targets
- Fixed rpmlint issues
- Fixed permissions of the scripts (775 -> 755)
- Fixed description of the various subpackages
- Make the various macros compliant with the new packaging guidelines:
https://fedorahosted.org/fpc/ticket/71
- Suppress arch-independent-package-contains-binary-or-object rpmlint
errors for static libraries
- Improved the mingw_configure, mingw_make, mingw_make_install,
mingw_cmake and mingw_cmake_kde4 RPM macros so packagers don't need
to use quotes anymore when using arguments. Thanks to Kalev Lember
for the initial proof of concept
- Dropped the -mms-bitfields argument from the default CFLAGS as
it is enabled by default as of gcc 4.7
- Replaced the CMake defines QT_HEADERS_DIR and QT_LIBRARY_DIR
with QT_BINARY_DIR which is a more proper method to make CMake
aware of the location of Qt. Thx to Dominik Schmidt for the hint
- Make sure CMake can detect the qmake-qt4 binary in /usr/$target/bin
- Make sure CMake can also detect the (native) Qt tools
qdbuscpp2xml and qdbusxml2cpp
- Added new RPM macros mingw_cmake_kde4, mingw32_cmake_kde4 and
mingw64_cmake_kde4
- Added three new environment variables which can be set to
influence the behaviour of the cmake macros:
MINGW_CMAKE_ARGS, MINGW32_CMAKE_ARGS and MINGW64_CMAKE_ARGS
- Dropped the mingw32-qmake-qt4 and mingw64-qmake-qt4 wrapper scripts
as they're now provided by the mingw{32,64}-qt-qmake packages
- Added a new RPM macro: %%{?mingw_package_header}
Packagers can use this macro instead of the original boilerplate
code which is needed for all mingw packages
- Made argument passing using the backwards compatibility macro
%%{_mingw32_cmake} work
- Fixed an issue in the mingw_cmake macro where it could point to
a non-existant CMakeLists.txt file
- Fixed a bug in the find-requires script which causes all packages to
depend
on both the mingw32 and the mingw64 toolchains
- Split out the RPM macros which require both the
mingw{32,64}-filesystem
packages in a new file and put it in the mingw-filesystem-base package
- Generate seperate debuginfo packages for mingw32 and mingw64
- Set the minimum version of R: mingw{32,64}-filesystem to 70
- Use the correct FSF-address in some scripts
- Thanks to all the contributors: Erik van Pienbroek, Kalev Lember,
Levente
Farkas, Marc-Andre Lureau.
2012-02-25 23:17:24 +00:00
|
|
|
# Add a dependency on filesystem and crt if necessary
|
|
|
|
if [ $dll_found = true ]; then
|
2013-05-14 18:03:32 +00:00
|
|
|
echo "${target}-filesystem >= 95"
|
Added support for both win32 and win64 targets
- Fixed rpmlint issues
- Fixed permissions of the scripts (775 -> 755)
- Fixed description of the various subpackages
- Make the various macros compliant with the new packaging guidelines:
https://fedorahosted.org/fpc/ticket/71
- Suppress arch-independent-package-contains-binary-or-object rpmlint
errors for static libraries
- Improved the mingw_configure, mingw_make, mingw_make_install,
mingw_cmake and mingw_cmake_kde4 RPM macros so packagers don't need
to use quotes anymore when using arguments. Thanks to Kalev Lember
for the initial proof of concept
- Dropped the -mms-bitfields argument from the default CFLAGS as
it is enabled by default as of gcc 4.7
- Replaced the CMake defines QT_HEADERS_DIR and QT_LIBRARY_DIR
with QT_BINARY_DIR which is a more proper method to make CMake
aware of the location of Qt. Thx to Dominik Schmidt for the hint
- Make sure CMake can detect the qmake-qt4 binary in /usr/$target/bin
- Make sure CMake can also detect the (native) Qt tools
qdbuscpp2xml and qdbusxml2cpp
- Added new RPM macros mingw_cmake_kde4, mingw32_cmake_kde4 and
mingw64_cmake_kde4
- Added three new environment variables which can be set to
influence the behaviour of the cmake macros:
MINGW_CMAKE_ARGS, MINGW32_CMAKE_ARGS and MINGW64_CMAKE_ARGS
- Dropped the mingw32-qmake-qt4 and mingw64-qmake-qt4 wrapper scripts
as they're now provided by the mingw{32,64}-qt-qmake packages
- Added a new RPM macro: %%{?mingw_package_header}
Packagers can use this macro instead of the original boilerplate
code which is needed for all mingw packages
- Made argument passing using the backwards compatibility macro
%%{_mingw32_cmake} work
- Fixed an issue in the mingw_cmake macro where it could point to
a non-existant CMakeLists.txt file
- Fixed a bug in the find-requires script which causes all packages to
depend
on both the mingw32 and the mingw64 toolchains
- Split out the RPM macros which require both the
mingw{32,64}-filesystem
packages in a new file and put it in the mingw-filesystem-base package
- Generate seperate debuginfo packages for mingw32 and mingw64
- Set the minimum version of R: mingw{32,64}-filesystem to 70
- Use the correct FSF-address in some scripts
- Thanks to all the contributors: Erik van Pienbroek, Kalev Lember,
Levente
Farkas, Marc-Andre Lureau.
2012-02-25 23:17:24 +00:00
|
|
|
echo "${target}-crt"
|
|
|
|
fi
|
2013-05-14 18:00:13 +00:00
|
|
|
|
|
|
|
pkgconfig_files_found=false
|
|
|
|
for f in $pkgconfig_files; do
|
|
|
|
if [[ $f =~ .*$host_triplet.* ]]; then
|
|
|
|
pkgconfig_files_found=true
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
# Add a dependency on $target-pkg-config if necessary
|
|
|
|
if [ $pkgconfig_files_found = true ]; then
|
|
|
|
echo "${target}-pkg-config"
|
|
|
|
fi
|
Added support for both win32 and win64 targets
- Fixed rpmlint issues
- Fixed permissions of the scripts (775 -> 755)
- Fixed description of the various subpackages
- Make the various macros compliant with the new packaging guidelines:
https://fedorahosted.org/fpc/ticket/71
- Suppress arch-independent-package-contains-binary-or-object rpmlint
errors for static libraries
- Improved the mingw_configure, mingw_make, mingw_make_install,
mingw_cmake and mingw_cmake_kde4 RPM macros so packagers don't need
to use quotes anymore when using arguments. Thanks to Kalev Lember
for the initial proof of concept
- Dropped the -mms-bitfields argument from the default CFLAGS as
it is enabled by default as of gcc 4.7
- Replaced the CMake defines QT_HEADERS_DIR and QT_LIBRARY_DIR
with QT_BINARY_DIR which is a more proper method to make CMake
aware of the location of Qt. Thx to Dominik Schmidt for the hint
- Make sure CMake can detect the qmake-qt4 binary in /usr/$target/bin
- Make sure CMake can also detect the (native) Qt tools
qdbuscpp2xml and qdbusxml2cpp
- Added new RPM macros mingw_cmake_kde4, mingw32_cmake_kde4 and
mingw64_cmake_kde4
- Added three new environment variables which can be set to
influence the behaviour of the cmake macros:
MINGW_CMAKE_ARGS, MINGW32_CMAKE_ARGS and MINGW64_CMAKE_ARGS
- Dropped the mingw32-qmake-qt4 and mingw64-qmake-qt4 wrapper scripts
as they're now provided by the mingw{32,64}-qt-qmake packages
- Added a new RPM macro: %%{?mingw_package_header}
Packagers can use this macro instead of the original boilerplate
code which is needed for all mingw packages
- Made argument passing using the backwards compatibility macro
%%{_mingw32_cmake} work
- Fixed an issue in the mingw_cmake macro where it could point to
a non-existant CMakeLists.txt file
- Fixed a bug in the find-requires script which causes all packages to
depend
on both the mingw32 and the mingw64 toolchains
- Split out the RPM macros which require both the
mingw{32,64}-filesystem
packages in a new file and put it in the mingw-filesystem-base package
- Generate seperate debuginfo packages for mingw32 and mingw64
- Set the minimum version of R: mingw{32,64}-filesystem to 70
- Use the correct FSF-address in some scripts
- Thanks to all the contributors: Erik van Pienbroek, Kalev Lember,
Levente
Farkas, Marc-Andre Lureau.
2012-02-25 23:17:24 +00:00
|
|
|
done | sort -u
|