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