New patches from Fedora.
[fedora-mingw.git] / mingw64-filesystem / macros.mingw64
1 # RPM macros for Fedora MinGW.
2
3 %_mingw64_target          x86_64-pc-mingw32
4
5 # Paths.
6 %_mingw64_sysroot         %{_prefix}/%{_mingw64_target}/sys-root
7 %_mingw64_prefix          %{_mingw64_sysroot}
8 %_mingw64_exec_prefix     %{_mingw64_prefix}
9 %_mingw64_bindir          %{_mingw64_exec_prefix}/bin
10 %_mingw64_sbindir         %{_mingw64_exec_prefix}/sbin
11 %_mingw64_libexecdir      %{_mingw64_exec_prefix}/libexec
12 %_mingw64_libdir          %{_mingw64_exec_prefix}/lib
13 %_mingw64_datadir         %{_mingw64_prefix}/share
14 %_mingw64_docdir          %{_mingw64_prefix}/share/doc
15 %_mingw64_infodir         %{_mingw64_prefix}/share/info
16 %_mingw64_mandir          %{_mingw64_prefix}/share/man
17 %_mingw64_sysconfdir      %{_mingw64_prefix}/etc
18 %_mingw64_sharedstatedir  %{_mingw64_prefix}/com
19 %_mingw64_localstatedir   %{_mingw64_prefix}/var
20 %_mingw64_includedir      %{_mingw64_prefix}/include
21
22 # Build macros.
23 %_mingw64_host            %{_mingw64_target}
24
25 %_mingw64_cflags          -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields
26
27 %_mingw64_cc              %{_mingw64_target}-gcc
28 %_mingw64_cxx             %{_mingw64_target}-g++
29 %_mingw64_cpp             %{_mingw64_target}-gcc -E
30 %_mingw64_addr2line       %{_mingw64_target}-addr2line
31 %_mingw64_ar              %{_mingw64_target}-ar
32 %_mingw64_as              %{_mingw64_target}-as
33 %_mingw64_c++             %{_mingw64_target}-c++
34 %_mingw64_c++filt         %{_mingw64_target}-c++filt
35 %_mingw64_dlltool         %{_mingw64_target}-dlltool
36 %_mingw64_dllwrap         %{_mingw64_target}-dllwrap
37 %_mingw64_gcov            %{_mingw64_target}-gcov
38 %_mingw64_gprof           %{_mingw64_target}-gprof
39 %_mingw64_ld              %{_mingw64_target}-ld
40 %_mingw64_nm              %{_mingw64_target}-nm
41 %_mingw64_objcopy         %{_mingw64_target}-objcopy
42 %_mingw64_objdump         %{_mingw64_target}-objdump
43 %_mingw64_ranlib          %{_mingw64_target}-ranlib
44 %_mingw64_readelf         %{_mingw64_target}-readelf
45 %_mingw64_size            %{_mingw64_target}-size
46 %_mingw64_strings         %{_mingw64_target}-strings
47 %_mingw64_strip           %{_mingw64_target}-strip
48 %_mingw64_windmc          %{_mingw64_target}-windmc
49 %_mingw64_windres         %{_mingw64_target}-windres
50
51 %_mingw64_cache           mingw64-config.cache
52
53 %_mingw64_findprovides    /usr/lib/rpm/mingw64-find-provides.sh
54 %_mingw64_findrequires    /usr/lib/rpm/mingw64-find-requires.sh
55
56 %_mingw64_env HOST_CC=gcc; export HOST_CC; \
57   PKG_CONFIG_LIBDIR="%{_mingw64_libdir}/pkgconfig"; export PKG_CONFIG_LIBDIR; \
58   unset PKG_CONFIG_PATH; \
59   _PREFIX="%{_bindir}/%{_mingw64_target}-"; \
60   for i in `ls -1 ${_PREFIX}* | grep -v 'gcc-'`; do \
61     x=`echo $i|sed "s,${_PREFIX},,"|tr "a-z+-" "A-ZX_"`; \
62     declare -x $x="$i" ; export $x; \
63   done; \
64   unset _PREFIX; \
65   CC="${MINGW64_CC:-%_mingw64_cc}"; export CC; \
66   CFLAGS="${MINGW64_CFLAGS:-%_mingw64_cflags}"; export CFLAGS; \
67   if [ -x "%{_bindir}/%{_mingw64_cxx}" ]; then \
68     CXX="${MINGW64_CXX:-%_mingw64_cxx}"; export CXX; \
69     CXXFLAGS="${MINGW64_CXXFLAGS:-%_mingw64_cflags}"; export CXXFLAGS; \
70   else \
71     CXX=; export CXX; \
72     ac_cv_prog_CXX=no; export ac_cv_prog_CXX; \
73     CXXFLAGS=; export CXXFLAGS; \
74   fi; \
75   for i in `ls %{_mingw64_bindir}/*|grep -- "-config\$"` ; do \
76     x=`basename $i|tr "a-z+-" "A-ZX_"`; \
77     declare -x $x="$i" ; export $x; \
78   done; \
79   unset x i
80
81
82 %_mingw64_configure %{_mingw64_env} ; \
83   ./configure --cache-file=%{_mingw64_cache} \\\
84         --host=%{_mingw64_host} \\\
85         --build=%_build \\\
86         --target=%{_mingw64_target} \\\
87         --prefix=%{_mingw64_prefix} \\\
88         --exec-prefix=%{_mingw64_exec_prefix} \\\
89         --bindir=%{_mingw64_bindir} \\\
90         --sbindir=%{_mingw64_sbindir} \\\
91         --sysconfdir=%{_mingw64_sysconfdir} \\\
92         --datadir=%{_mingw64_datadir} \\\
93         --includedir=%{_mingw64_includedir} \\\
94         --libdir=%{_mingw64_libdir} \\\
95         --libexecdir=%{_mingw64_libexecdir} \\\
96         --localstatedir=%{_mingw64_localstatedir} \\\
97         --sharedstatedir=%{_mingw64_sharedstatedir} \\\
98         --mandir=%{_mingw64_mandir} \\\
99         --infodir=%{_mingw64_infodir}
100
101 %_mingw64_make %{_mingw64_env} ; \
102   make \\\
103         prefix=%{_mingw64_prefix} \\\
104         exec_prefix=%{_mingw64_exec_prefix} \\\
105         bindir=%{_mingw64_bindir} \\\
106         sbindir=%{_mingw64_sbindir} \\\
107         sysconfdir=%{_mingw64_sysconfdir} \\\
108         datadir=%{_mingw64_datadir} \\\
109         includedir=%{_mingw64_includedir} \\\
110         libdir=%{_mingw64_libdir} \\\
111         libexecdir=%{_mingw64_libexecdir} \\\
112         localstatedir=%{_mingw64_localstatedir} \\\
113         sharedstatedir=%{_mingw64_sharedstatedir} \\\
114         mandir=%{_mingw64_mandir} \\\
115         infodir=%{_mingw64_infodir}
116
117 %_mingw64_makeinstall %{_mingw64_env} ; \
118   make \\\
119         prefix=%{?buildroot:%{buildroot}}%{_mingw64_prefix} \\\
120         exec_prefix=%{?buildroot:%{buildroot}}%{_mingw64_exec_prefix} \\\
121         bindir=%{?buildroot:%{buildroot}}%{_mingw64_bindir} \\\
122         sbindir=%{?buildroot:%{buildroot}}%{_mingw64_sbindir} \\\
123         sysconfdir=%{?buildroot:%{buildroot}}%{_mingw64_sysconfdir} \\\
124         datadir=%{?buildroot:%{buildroot}}%{_mingw64_datadir} \\\
125         includedir=%{?buildroot:%{buildroot}}%{_mingw64_includedir} \\\
126         libdir=%{?buildroot:%{buildroot}}%{_mingw64_libdir} \\\
127         libexecdir=%{?buildroot:%{buildroot}}%{_mingw64_libexecdir} \\\
128         localstatedir=%{?buildroot:%{buildroot}}%{_mingw64_localstatedir} \\\
129         sharedstatedir=%{?buildroot:%{buildroot}}%{_mingw64_sharedstatedir} \\\
130         mandir=%{?buildroot:%{buildroot}}%{_mingw64_mandir} \\\
131         infodir=%{?buildroot:%{buildroot}}%{_mingw64_infodir} \\\
132   install
133