summaryrefslogtreecommitdiff
path: root/recipes/toolchain
diff options
context:
space:
mode:
authorAndoni Morales Alastruey <ylatuya@gmail.com>2013-04-29 01:14:23 +0200
committerAndoni Morales Alastruey <ylatuya@gmail.com>2013-05-06 16:03:09 +0200
commit6c2a9a4145ec120c8d86ab42701a00ceb3d254b7 (patch)
tree771bc1ab0a09b559e8fd7272e891adda13b132ee /recipes/toolchain
parentf624a90b19c91bd4eef7ae019aca0208af5df670 (diff)
toolchain: move recipes to the toolchain folder
Diffstat (limited to 'recipes/toolchain')
-rw-r--r--recipes/toolchain/binutils.recipe61
-rw-r--r--recipes/toolchain/gcc-core.recipe49
-rw-r--r--recipes/toolchain/gcc.recipe81
-rw-r--r--recipes/toolchain/gendef.recipe17
-rw-r--r--recipes/toolchain/mingw-w64-headers.recipe281
-rw-r--r--recipes/toolchain/mingw-w64.recipe97
-rw-r--r--recipes/toolchain/mpc.recipe8
-rw-r--r--recipes/toolchain/mpfr.recipe8
-rw-r--r--recipes/toolchain/winpthreads.recipe17
9 files changed, 619 insertions, 0 deletions
diff --git a/recipes/toolchain/binutils.recipe b/recipes/toolchain/binutils.recipe
new file mode 100644
index 00000000..186c0c18
--- /dev/null
+++ b/recipes/toolchain/binutils.recipe
@@ -0,0 +1,61 @@
+class Recipe(recipe.Recipe):
+ name = 'binutils'
+ version = '2.22'
+ licenses = [License.GPL]
+ configure_options = '--with-sysroot=$CERBERO_PREFIX --disable-multilib'
+
+ files_bins = ['addr2line', 'ar', 'as', 'c++filt', 'dlltool', 'dllwrap',
+ 'elfedit', 'gprof', 'ld', 'ld.bfd', 'nm', 'objcopy',
+ 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip',
+ 'windmc', 'windres']
+ files_binutils = ['%(host)s/bin/ar%(bext)s',
+ '%(host)s/bin/as%(bext)s',
+ '%(host)s/bin/dlltool%(bext)s',
+ '%(host)s/bin/ld%(bext)s',
+ '%(host)s/bin/ld.bfd%(bext)s',
+ '%(host)s/bin/nm%(bext)s',
+ '%(host)s/bin/objcopy%(bext)s',
+ '%(host)s/bin/objdump%(bext)s',
+ '%(host)s/bin/ranlib%(bext)s',
+ '%(host)s/bin/strip%(bext)s',
+ '%(host)s/lib/ldscripts/i386pe.x',
+ '%(host)s/lib/ldscripts/i386pe.xa',
+ '%(host)s/lib/ldscripts/i386pe.xbn',
+ '%(host)s/lib/ldscripts/i386pe.xn',
+ '%(host)s/lib/ldscripts/i386pe.xr',
+ '%(host)s/lib/ldscripts/i386pe.xu',
+ '%(host)s/lib32/ldscripts/i386pe.x',
+ '%(host)s/lib32/ldscripts/i386pe.xa',
+ '%(host)s/lib32/ldscripts/i386pe.xbn',
+ '%(host)s/lib32/ldscripts/i386pe.xn',
+ '%(host)s/lib32/ldscripts/i386pe.xr',
+ '%(host)s/lib32/ldscripts/i386pe.xu']
+ files_lib = ['lib/libiberty.a']
+ files_lang = ['bfd', 'binutils', 'gas', 'gprof', 'ld', 'opcodes']
+
+
+ def prepare(self):
+ if self.config.target_arch == Architecture.X86:
+ self.target = 'i686-w64-mingw32'
+ else:
+ self.target = 'x86_64-w64-mingw32'
+ self.configure_options += ' --target=%s' % self.target
+
+ # Append the host prefix to the binaries
+ self.files_bins = ['%s-%s' % (self.target, x) for x in self.files_bins]
+ # Replace host in files
+ files = [x % {'host': self.target, 'bext': '%(bext)s'} for x in
+ self.files_binutils]
+ # Add mingw symlink files
+ files.extend([x % {'host': 'mingw', 'bext': '%(bext)s'} for x in
+ self.files_binutils])
+ self.files_binutils = files
+
+ def post_install(self):
+ import shutil
+ # Prefix binaries with the host triplet
+ if self.config.target_platform == Platform.WINDOWS:
+ for f in self.files_list_by_category('bins'):
+ f = os.path.join(self.config.prefix, f)
+ shutil.move(f.replace(self.target + '-', ''), f)
+
diff --git a/recipes/toolchain/gcc-core.recipe b/recipes/toolchain/gcc-core.recipe
new file mode 100644
index 00000000..09404f1b
--- /dev/null
+++ b/recipes/toolchain/gcc-core.recipe
@@ -0,0 +1,49 @@
+from cerbero.utils import shell
+
+
+class Recipe(recipe.Recipe):
+ name = 'gcc-core'
+ version = '4.7.2'
+ licenses = [License.GPLv3]
+ configure_options = '--disable-multilib --enable-fully-dynamic-string ' \
+ '--with-sysroot=$CERBERO_PREFIX ' \
+ '--enable-threads=posix ' \
+ '--enable-languages=c,c++ ' \
+ '--enable-sjlj-exceptions ' \
+ '--disable-dw2-exceptions '
+ make = 'make all-gcc'
+ make_install = 'make install-gcc'
+ use_system_libs = True
+ supports_non_src_build = True
+ deps = ['mingw-w64-headers', 'gmp', 'mpfr', 'mpc']
+ new_env = {'CPP': None}
+
+ def prepare(self):
+ self.remotes = {'origin': '%s/%s' %
+ (self.config.git_root, 'gcc')}
+ self.repo_dir = os.path.join(self.config.local_sources, 'gcc')
+ self.build_dir = os.path.join(self.config.sources, 'gcc-%s' %
+ self.version)
+ self.make_dir = os.path.abspath(os.path.join(self.build_dir,
+ self.srcdir))
+
+ if self.config.target_arch == Architecture.X86:
+ self._target = 'i686-w64-mingw32'
+ else:
+ self._target = 'x86_64-w64-mingw32'
+ self.configure_options += ' --target=%s' % self._target
+ self.configure_options += ' --oldincludedir=%s/%s/include ' % \
+ (self.config.prefix, self._target)
+ if self.config.target_platform == Platform.WINDOWS:
+ self.allow_parallel_build = False
+
+ def configure(self):
+ # Create the winsup directory
+ if self.config.target_platform == Platform.WINDOWS:
+ winsup = os.path.join(self.build_dir, 'gcc', 'winsup', 'mingw')
+ if not os.path.exists(winsup):
+ os.makedirs(winsup)
+ shell.call('ln -s %s/%s/include include' %
+ (self.config.toolchain_prefix, self.config.host), winsup,
+ fail=False)
+ super(Recipe, self).configure()
diff --git a/recipes/toolchain/gcc.recipe b/recipes/toolchain/gcc.recipe
new file mode 100644
index 00000000..902de4e4
--- /dev/null
+++ b/recipes/toolchain/gcc.recipe
@@ -0,0 +1,81 @@
+import shutil
+
+class Recipe(recipe.Recipe):
+ name = 'gcc'
+ version = '4.7.2'
+ licenses = [License.GPLv3]
+ supports_non_src_build = True
+ stype = SourceType.CUSTOM
+ deps = ['mingw-w64', 'winpthreads']
+
+ files_bins = ['gcc', 'cpp', 'gcov', 'jcf-dump', 'c++', 'gcj', 'g++',
+ 'gcc-4.7.2', 'gfortran']
+ files_gcc = ['%(host)s/include/c++',
+ '%(host)s/bin/c++%(bext)s',
+ '%(host)s/bin/g++%(bext)s',
+ '%(host)s/bin/gfortran%(bext)s',
+ '%(host)s/bin/gcc%(bext)s',
+ '%(host)s/lib/libobjc.a',
+ '%(host)s/lib/libobjc-3.dll',
+ '%(host)s/lib/libquadmath-0.dll',
+ '%(host)s/lib/libssp.a',
+ '%(host)s/lib/libquadmath.dll.a',
+ '%(host)s/lib/libgfortran-3.dll',
+ '%(host)s/lib/libgfortran.dll.a',
+ '%(host)s/lib/libgfortran.la',
+ '%(host)s/lib/libstdc++.dll.a-gdb.py',
+ '%(host)s/lib/libssp.la',
+ '%(host)s/lib/libobjc.la',
+ '%(host)s/lib/libssp.dll.a',
+ '%(host)s/lib/libssp_nonshared.a',
+ '%(host)s/lib/libgcc_s_sjlj-1.dll',
+ '%(host)s/lib/libstdc++-6.dll',
+ '%(host)s/lib/libgfortran.spec',
+ '%(host)s/lib/libstdc++.dll.a',
+ '%(host)s/lib/libstdc++.a',
+ '%(host)s/lib/libquadmath.a',
+ '%(host)s/lib/libsupc++.a',
+ '%(host)s/lib/libssp-0.dll',
+ '%(host)s/lib/libssp_nonshared.la',
+ '%(host)s/lib/libquadmath.la',
+ '%(host)s/lib/libgfortran.a',
+ '%(host)s/lib/libgcc_s.a',
+ '%(host)s/lib/libstdc++.la',
+ '%(host)s/lib/libobjc.dll.a',
+ '%(host)s/lib/libsupc++.la',
+ 'lib/libiberty.a',
+ ]
+ files_lib_gcc = ['lib/gcc/%(host)s/4.7.2',
+ 'libexec/gcc/%(host)s/4.7.2']
+ files_lang = ['gcc', 'cpplib']
+
+ def configure(self):
+ pass
+ def do_make(self):
+ pass
+
+ def prepare(self):
+ self._remove_steps([BuildSteps.CONFIGURE])
+ if self.config.target_arch == Architecture.X86:
+ self._host = 'i686-w64-mingw32'
+ else:
+ self._host = 'x86_64-w64-mingw32'
+ # Append the host prefix to the binaries
+ self.files_bins = ['%s-%s' % (self._host, x) for x in self.files_bins]
+ # Replace host in files
+ files = [x % {'host': self._host, 'bext': '%(bext)s'} for x in self.files_gcc]
+ # Add mingw symlink files
+ files.extend([x % {'host': 'mingw', 'bext': '%(bext)s'} for x in self.files_gcc])
+ self.files_gcc = files
+ # Replace host in lib/gcc and libexec/gcc
+ self.files_lib_gcc = [x % {'host': self._host} for x in self.files_lib_gcc]
+ # Add mingw symlink files
+ self.files_lib_gcc.extend([x % {'host': 'mingw'} for x in self.files_lib_gcc])
+
+ def post_install(self):
+ if self.config.target_platform == Platform.WINDOWS:
+ cpp = os.path.join(self.config.prefix, 'bin', 'cpp.exe')
+ prefixed_cpp = os.path.join(self.config.prefix, 'bin', '%s-cpp.exe' % self._host)
+ if os.path.exists(prefixed_cpp):
+ os.remove(prefixed_cpp)
+ shutil.move(cpp, prefixed_cpp)
diff --git a/recipes/toolchain/gendef.recipe b/recipes/toolchain/gendef.recipe
new file mode 100644
index 00000000..1698071b
--- /dev/null
+++ b/recipes/toolchain/gendef.recipe
@@ -0,0 +1,17 @@
+class Recipe(recipe.Recipe):
+ name = 'gendef'
+ version = 'v2.0.8'
+ licenses = [License.LGPL]
+ srcdir = 'mingw-w64-tools/gendef'
+ files_bins = ['gendef']
+
+
+ def prepare(self):
+ self.repo_dir = os.path.join(self.config.local_sources, 'mingw-w64')
+ self.remotes = {'origin': '%s/%s' %
+ (self.config.git_root, 'mingw-w64')}
+ if self.config.target_arch == Architecture.X86:
+ self.host = 'i686-w64-mingw32'
+ else:
+ self.host = 'x86_64-w64-mingw32'
+ self.configure_options += ' --host=%s' % self.host
diff --git a/recipes/toolchain/mingw-w64-headers.recipe b/recipes/toolchain/mingw-w64-headers.recipe
new file mode 100644
index 00000000..9e4b6d84
--- /dev/null
+++ b/recipes/toolchain/mingw-w64-headers.recipe
@@ -0,0 +1,281 @@
+class Recipe(recipe.Recipe):
+ name = 'mingw-w64-headers'
+ version = 'v2.0.8'
+ licenses = [License.LGPL]
+ srcdir = 'mingw-w64-headers'
+ add_host_build_target = True
+
+ def prepare(self):
+ self.remotes = {'origin': '%s/%s' %
+ (self.config.git_root, 'mingw-w64')}
+ if self.config.target_arch == Architecture.X86:
+ self.host = 'i686-w64-mingw32'
+ else:
+ self.host = 'x86_64-w64-mingw32'
+ self.configure_options += ' --host=%s' % self.host
+ files = ['%s/include/%s' % (self.host, x) for x in self.files_headers]
+ files.extend(['%s/include/%s' % ('mingw', x) for x in self.files_headers])
+ self.files_headers = files
+
+ def post_install(self):
+ from cerbero.utils import shell
+ # Create link i686-mingw-w64 -> mingw
+ lib = 'lib32'
+ if self.config.target_arch == Architecture.X86_64:
+ lib = 'lib64'
+
+ hostdir = os.path.join(self.host)
+ mingwdir = os.path.join('mingw')
+ if not os.path.exists(mingwdir):
+ shell.call('ln -s %s %s' % (hostdir, mingwdir),
+ cmd_dir=self.config.prefix, fail=False, )
+
+ # Create link lib32 -> lib
+ libdir = os.path.join(hostdir, lib)
+ archlibdir = os.path.join(hostdir, lib)
+ shell.call('ln -s %s %s' % (libdir, archlibdir), fail=False)
+
+ # Install DirectX headers
+ directx_headers = os.path.join(self.config.prefix, self.host, 'include', 'directx')
+ if not os.path.exists(directx_headers):
+ os.makedirs(directx_headers)
+ shell.call('cp mingw-w64-headers/direct-x/include/* %s' % directx_headers,
+ self.build_dir)
+
+ files_headers = [
+ 'GL/gl.h', 'GL/glaux.h', 'GL/glu.h', 'GL/glext.h'
+ '_bsd_types.h', '_dbdao.h', '_mingw.h', '_mingw_mac.h', '_mingw_off_t.h',
+ '_mingw_print_pop.h', '_mingw_print_push.h', '_mingw_stat64.h',
+ '_mingw_stdarg.h', '_mingw_unicode.h', '_timeval.h', 'accctrl.h', 'aclapi.h',
+ 'aclui.h', 'activeds.h', 'activscp.h', 'adc.h', 'adhoc.h', 'admex.h',
+ 'adoctint.h', 'adodef.h', 'adogpool.h', 'adoguids.h', 'adoid.h', 'adoint.h',
+ 'adojet.h', 'adomd.h', 'adptif.h', 'adsdb.h', 'adserr.h', 'adshlp.h',
+ 'adsiid.h', 'adsnms.h', 'adsprop.h', 'adssts.h', 'adtgen.h', 'advpub.h',
+ 'af_irda.h', 'afxres.h', 'agtctl.h', 'agterr.h', 'agtsvr.h', 'appmgmt.h',
+ 'aqadmtyp.h', 'asptlb.h', 'assert.h', 'atacct.h', 'atalkwsh.h', 'atsmedia.h',
+ 'audioapotypes.h', 'audioclient.h', 'audioengineendpoint.h', 'audiopolicy.h',
+ 'audiosessiontypes.h', 'authif.h', 'authz.h', 'avifmt.h', 'avrt.h', 'azroles.h',
+ 'basetsd.h', 'basetyps.h', 'batclass.h', 'bcrypt.h', 'bdaiface.h', 'bdamedia.h',
+ 'bdatypes.h', 'bh.h', 'bidispl.h', 'bits.h', 'bits1_5.h', 'bits2_0.h',
+ 'bitscfg.h', 'bitsmsg.h', 'blberr.h', 'bluetoothapis.h', 'bthdef.h',
+ 'bthsdpdef.h', 'bugcodes.h', 'callobj.h', 'cardmod.h', 'casetup.h',
+ 'cchannel.h', 'cderr.h', 'cdoex.h', 'cdoexerr.h', 'cdoexm.h', 'cdoexstr.h',
+ 'cdonts.h', 'cdosys.h', 'cdosyserr.h', 'cdosysstr.h', 'celib.h', 'certadm.h',
+ 'certbase.h', 'certbcli.h', 'certcli.h', 'certenc.h', 'certenroll.h',
+ 'certexit.h', 'certif.h', 'certmod.h', 'certpol.h', 'certreqd.h', 'certsrv.h',
+ 'certview.h', 'cfg.h', 'cfgmgr32.h', 'cguid.h', 'chanmgr.h', 'cierror.h',
+ 'clfs.h', 'clfsmgmt.h', 'clfsmgmtw32.h', 'clfsw32.h', 'cluadmex.h', 'clusapi.h',
+ 'cluscfgguids.h', 'cluscfgserver.h', 'cluscfgwizard.h', 'cmdtree.h',
+ 'cmnquery.h', 'codecapi.h', 'color.dlg', 'colordlg.h', 'comadmin.h', 'comcat.h',
+ 'comdef.h', 'comdefsp.h', 'comip.h', 'commctrl.h', 'commctrl.rh', 'commdlg.h',
+ 'common.ver', 'commoncontrols.h', 'complex.h', 'compobj.h', 'compstui.h',
+ 'comsvcs.h', 'comutil.h', 'confpriv.h', 'conio.h', 'control.h', 'corerror.h',
+ 'correg.h', 'cpl.h', 'cplext.h', 'credssp.h', 'crtdbg.h', 'crtdefs.h',
+ 'cryptuiapi.h', 'cryptxml.h', 'cscapi.h', 'cscobj.h', 'ctxtcall.h', 'ctype.h',
+ 'custcntl.h', 'd2d1.h', 'd2d1helper.h', 'd2dbasetypes.h', 'd2derr.h',
+ 'daogetrw.h', 'datapath.h', 'davclnt.h', 'dbdaoerr.h', 'dbdaoid.h',
+ 'dbdaoint.h', 'dbgautoattach.h', 'dbgeng.h', 'dbghelp.h', 'dbgprop.h', 'dbt.h',
+ 'dciddi.h', 'dciman.h', 'dcommon.h', 'dde.h', 'dde.rh', 'ddeml.h', 'ddrawgdi.h',
+ 'delayimp.h', 'devguid.h', 'devicetopology.h', 'devioctl.h', 'devpkey.h',
+ 'devpropdef.h', 'dhcpcsdk.h', 'dhcpsapi.h', 'dhcpssdk.h', 'dhcpv6csdk.h',
+ 'dhtmldid.h', 'dhtmled.h', 'dhtmliid.h', 'digitalv.h', 'dimm.h', 'dir.h',
+ 'direct.h', 'directx/_mingw_dxhelper.h', 'directx/amaudio.h',
+ 'directx/amstream.h', 'directx/amvideo.h', 'directx/audevcod.h',
+ 'directx/austream.h', 'directx/d3d.h', 'directx/d3d10.h', 'directx/d3d10_1.h',
+ 'directx/d3d10_1shader.h', 'directx/d3d10effect.h', 'directx/d3d10misc.h',
+ 'directx/d3d10shader.h', 'directx/d3d11.h', 'directx/d3d11shader.h',
+ 'directx/d3d8.h', 'directx/d3d8caps.h', 'directx/d3d8types.h', 'directx/d3d9.h',
+ 'directx/d3d9caps.h', 'directx/d3d9types.h', 'directx/d3dcaps.h',
+ 'directx/d3dcommon.h', 'directx/d3dhal.h', 'directx/d3drm.h',
+ 'directx/d3drmdef.h', 'directx/d3drmobj.h', 'directx/d3dtypes.h',
+ 'directx/d3dx9.h', 'directx/d3dx9anim.h', 'directx/d3dx9core.h',
+ 'directx/d3dx9effect.h', 'directx/d3dx9math.h', 'directx/d3dx9mesh.h',
+ 'directx/d3dx9shader.h', 'directx/d3dx9shape.h', 'directx/d3dx9tex.h',
+ 'directx/d3dx9xof.h', 'directx/ddraw.h', 'directx/ddrawi.h',
+ 'directx/ddstream.h', 'directx/dinput.h', 'directx/dls1.h', 'directx/dls2.h',
+ 'directx/dmdls.h', 'directx/dmerror.h', 'directx/dmo.h', 'directx/dmodshow.h',
+ 'directx/dmoreg.h', 'directx/dmort.h', 'directx/dmplugin.h',
+ 'directx/dmusbuff.h', 'directx/dmusicc.h', 'directx/dmusicf.h',
+ 'directx/dmusici.h', 'directx/dmusics.h', 'directx/dpaddr.h', 'directx/dplay.h',
+ 'directx/dplay8.h', 'directx/dplobby.h', 'directx/dplobby8.h',
+ 'directx/dpnathlp.h', 'directx/dsconf.h', 'directx/dsdriver.h',
+ 'directx/dshow.h', 'directx/dsound.h', 'directx/dvdevcod.h',
+ 'directx/dvdmedia.h', 'directx/dxdiag.h', 'directx/dxerr8.h',
+ 'directx/dxerr9.h', 'directx/dxfile.h', 'directx/dxgi.h',
+ 'directx/dxgiformat.h', 'directx/dxgitype.h', 'directx/edevdefs.h',
+ 'directx/errors.h', 'directx/evcode.h', 'directx/mediaerr.h',
+ 'directx/mediaobj.h', 'directx/medparam.h', 'directx/mmstream.h',
+ 'directx/qedit.h', 'directx/qnetwork.h', 'directx/vfwmsgs.h', 'directx/vmr9.h',
+ 'directx/xinput.h', 'dirent.h', 'diskguid.h', 'dispatch.h', 'dispdib.h',
+ 'dispex.h', 'dlcapi.h', 'dlgs.h', 'dmksctrl.h', 'docobj.h', 'domdid.h', 'dos.h',
+ 'downloadmgr.h', 'dpfilter.h', 'driverspecs.h', 'dsadmin.h', 'dsclient.h',
+ 'dsgetdc.h', 'dskquota.h', 'dsquery.h', 'dsrole.h', 'dssec.h', 'dtchelp.h',
+ 'dvbsiparser.h', 'dvec.h', 'dvobj.h', 'dwmapi.h', 'dwrite.h', 'dxtmpl.h',
+ 'dxva2api.h', 'dxvahd.h', 'eapauthenticatoractiondefine.h',
+ 'eapauthenticatortypes.h', 'eaphosterror.h', 'eaphostpeerconfigapis.h',
+ 'eaphostpeertypes.h', 'eapmethodauthenticatorapis.h', 'eapmethodpeerapis.h',
+ 'eapmethodtypes.h', 'eappapis.h', 'eaptypes.h', 'eh.h', 'ehstorapi.h',
+ 'emostore.h', 'emptyvc.h', 'endpointvolume.h', 'errno.h', 'error.h',
+ 'errorrep.h', 'esent.h', 'evcoll.h', 'eventsys.h', 'evntcons.h', 'evntprov.h',
+ 'evntrace.h', 'evr.h', 'evr9.h', 'exchform.h', 'excpt.h', 'exdisp.h',
+ 'exdispid.h', 'fci.h', 'fcntl.h', 'fdi.h', 'fenv.h', 'fileextd.h', 'filehc.h',
+ 'fileopen.dlg', 'filter.h', 'filterr.h', 'findtext.dlg', 'float.h', 'fltdefs.h',
+ 'font.dlg', 'fpieee.h', 'fsrm.h', 'fsrmenums.h', 'fsrmpipeline.h', 'fsrmquota.h',
+ 'fsrmreports.h', 'fsrmscreen.h', 'ftsiface.h', 'functiondiscoveryapi.h',
+ 'functiondiscoverycategories.h', 'functiondiscoveryconstraints.h',
+ 'functiondiscoverykeys.h', 'functiondiscoverynotification.h', 'fusion.h',
+ 'fvec.h', 'fwpmtypes.h', 'fwpmu.h', 'fwptypes.h', 'gb18030.h', 'gdiplus.h',
+ 'gdiplus/gdiplus.h', 'gdiplus/gdiplusbase.h', 'gdiplus/gdiplusbrush.h',
+ 'gdiplus/gdipluscolor.h', 'gdiplus/gdipluscolormatrix.h',
+ 'gdiplus/gdipluseffects.h', 'gdiplus/gdiplusenums.h', 'gdiplus/gdiplusflat.h',
+ 'gdiplus/gdiplusgpstubs.h', 'gdiplus/gdiplusgraphics.h',
+ 'gdiplus/gdiplusheaders.h', 'gdiplus/gdiplusimageattributes.h',
+ 'gdiplus/gdiplusimagecodec.h', 'gdiplus/gdiplusimaging.h',
+ 'gdiplus/gdiplusimpl.h', 'gdiplus/gdiplusinit.h', 'gdiplus/gdipluslinecaps.h',
+ 'gdiplus/gdiplusmatrix.h', 'gdiplus/gdiplusmem.h', 'gdiplus/gdiplusmetafile.h',
+ 'gdiplus/gdiplusmetaheader.h', 'gdiplus/gdipluspath.h', 'gdiplus/gdipluspen.h',
+ 'gdiplus/gdipluspixelformats.h', 'gdiplus/gdiplusstringformat.h',
+ 'gdiplus/gdiplustypes.h', 'getopt.h', 'gpedit.h', 'gpmgmt.h', 'guiddef.h',
+ 'h323priv.h', 'hidpi.h', 'hidsdi.h', 'hidusage.h', 'hlguids.h', 'hliface.h',
+ 'hlink.h', 'hostinfo.h', 'htiface.h', 'htiframe.h', 'htmlguid.h', 'htmlhelp.h',
+ 'http.h', 'httpext.h', 'httpfilt.h', 'httprequestid.h', 'i_cryptasn1tls.h',
+ 'ia64reg.h', 'iaccess.h', 'iadmext.h', 'iadmw.h', 'iads.h', 'icftypes.h',
+ 'icm.h', 'icmpapi.h', 'icmui.dlg', 'icrsint.h', 'identitycommon.h',
+ 'identitystore.h', 'idf.h', 'idispids.h', 'iedial.h', 'ieeefp.h', 'ieverp.h',
+ 'ifdef.h', 'iiis.h', 'iiisext.h', 'iimgctx.h', 'iiscnfg.h', 'iisrsta.h',
+ 'iketypes.h', 'ilogobj.hxx', 'imagehlp.h', 'ime.h', 'imessage.h', 'imm.h',
+ 'in6addr.h', 'inaddr.h', 'indexsrv.h', 'inetreg.h', 'inetsdk.h', 'initguid.h',
+ 'initoid.h', 'inputscope.h', 'intrin.h', 'intshcut.h', 'inttypes.h',
+ 'invkprxy.h', 'io.h', 'ioevent.h', 'ipexport.h', 'iphlpapi.h', 'ipifcons.h',
+ 'ipinfoid.h', 'ipmib.h', 'ipmsp.h', 'iprtrmib.h', 'ipsectypes.h', 'iptypes.h',
+ 'ipxconst.h', 'ipxrip.h', 'ipxrtdef.h', 'ipxsap.h', 'ipxtfflt.h', 'iscsidsc.h',
+ 'isguids.h', 'issper16.h', 'issperr.h', 'isysmon.h', 'ivec.h', 'iwamreg.h',
+ 'kcom.h', 'ks.h', 'ksdebug.h', 'ksguid.h', 'ksmedia.h', 'ksproxy.h',
+ 'ksuuids.h', 'ktmtypes.h', 'ktmw32.h', 'kxia64.h', 'libgen.h', 'limits.h',
+ 'lm.h', 'lmaccess.h', 'lmalert.h', 'lmapibuf.h', 'lmat.h', 'lmaudit.h',
+ 'lmconfig.h', 'lmcons.h', 'lmdfs.h', 'lmerr.h', 'lmerrlog.h', 'lmjoin.h',
+ 'lmmsg.h', 'lmon.h', 'lmremutl.h', 'lmrepl.h', 'lmserver.h', 'lmshare.h',
+ 'lmsname.h', 'lmstats.h', 'lmsvc.h', 'lmuse.h', 'lmuseflg.h', 'lmwksta.h',
+ 'loadperf.h', 'locale.h', 'locationapi.h', 'lpmapi.h', 'lzexpand.h',
+ 'madcapcl.h', 'mailmsgprops.h', 'malloc.h', 'mapi.h', 'mapicode.h', 'mapidbg.h',
+ 'mapidefs.h', 'mapiform.h', 'mapiguid.h', 'mapihook.h', 'mapinls.h',
+ 'mapioid.h', 'mapispi.h', 'mapitags.h', 'mapiutil.h', 'mapival.h', 'mapiwin.h',
+ 'mapiwz.h', 'mapix.h', 'math.h', 'mbctype.h', 'mbstring.h', 'mciavi.h', 'mcx.h',
+ 'mdbrole.hxx', 'mdcommsg.h', 'mddefw.h', 'mdhcp.h', 'mdmsg.h', 'mem.h',
+ 'memory.h', 'mergemod.h', 'mfapi.h', 'mfidl.h', 'mfmp2dlna.h', 'mfobjects.h',
+ 'mfplay.h', 'mfreadwrite.h', 'mftransform.h', 'mgm.h', 'mgmtapi.h', 'midles.h',
+ 'mimedisp.h', 'mimeinfo.h', 'minmax.h', 'mlang.h', 'mmc.h', 'mmcobj.h',
+ 'mmdeviceapi.h', 'mmreg.h', 'mmsystem.h', 'mobsync.h', 'moniker.h',
+ 'mpeg2bits.h', 'mpeg2data.h', 'mpeg2psiparser.h', 'mpeg2structs.h', 'mprapi.h',
+ 'mprerror.h', 'mq.h', 'mqmail.h', 'mqoai.h', 'msacm.h', 'msacmdlg.dlg',
+ 'msacmdlg.h', 'msado15.h', 'msasn1.h', 'msber.h', 'mscat.h', 'mschapp.h',
+ 'msclus.h', 'mscoree.h', 'msctf.h', 'msctfmonitorapi.h', 'msdadc.h',
+ 'msdaguid.h', 'msdaipp.h', 'msdaipper.h', 'msdaora.h', 'msdaosp.h', 'msdasc.h',
+ 'msdasql.h', 'msdatsrc.h', 'msdrm.h', 'msdrmdefs.h', 'msdshape.h', 'msfs.h',
+ 'mshtmcid.h', 'mshtmdid.h', 'mshtmhst.h', 'mshtml.h', 'mshtmlc.h', 'msi.h',
+ 'msidefs.h', 'msimcntl.h', 'msimcsdk.h', 'msiquery.h', 'msoav.h', 'msp.h',
+ 'mspab.h', 'mspaddr.h', 'mspbase.h', 'mspcall.h', 'mspcoll.h', 'mspenum.h',
+ 'msplog.h', 'mspst.h', 'mspstrm.h', 'mspterm.h', 'mspthrd.h', 'msptrmac.h',
+ 'msptrmar.h', 'msptrmvc.h', 'msputils.h', 'msrdc.h', 'msremote.h', 'mssip.h',
+ 'msstkppg.h', 'mstask.h', 'mstcpip.h', 'msterr.h', 'mswsock.h', 'msxml.h',
+ 'msxml2.h', 'msxml2did.h', 'msxmldid.h', 'mtsadmin.h', 'mtsevents.h',
+ 'mtsgrp.h', 'mtx.h', 'mtxadmin.h', 'mtxattr.h', 'mtxdm.h', 'muiload.h',
+ 'multimon.h', 'multinfo.h', 'mxdc.h', 'napenforcementclient.h', 'naperror.h',
+ 'napmicrosoftvendorids.h', 'napprotocol.h', 'naptypes.h', 'naputil.h', 'nb30.h',
+ 'ncrypt.h', 'ndattrib.h', 'ndfapi.h', 'ndhelper.h', 'ndr64types.h',
+ 'ndrtypes.h', 'netcon.h', 'neterr.h', 'netevent.h', 'netioapi.h',
+ 'netlistmgr.h', 'netmon.h', 'netprov.h', 'nettypes.h', 'new.h', 'newapis.h',
+ 'newdev.h', 'nldef.h', 'nmsupp.h', 'npapi.h', 'nsemail.h', 'nspapi.h',
+ 'ntdd1394.h', 'ntdd8042.h', 'ntddbeep.h', 'ntddcdrm.h', 'ntddcdvd.h',
+ 'ntddchgr.h', 'ntdddisk.h', 'ntddft.h', 'ntddkbd.h', 'ntddmmc.h', 'ntddmou.h',
+ 'ntddndis.h', 'ntddpar.h', 'ntddpsch.h', 'ntddscsi.h', 'ntddser.h',
+ 'ntddstor.h', 'ntddtape.h', 'ntddtdi.h', 'ntddvdeo.h', 'ntddvol.h', 'ntdef.h',
+ 'ntdsapi.h', 'ntdsbcli.h', 'ntdsbmsg.h', 'ntgdi.h', 'ntiologc.h', 'ntldap.h',
+ 'ntmsapi.h', 'ntmsmli.h', 'ntquery.h', 'ntsdexts.h', 'ntsecapi.h', 'ntsecpkg.h',
+ 'ntstatus.h', 'ntverp.h', 'oaidl.h', 'objbase.h', 'objectarray.h', 'objerror.h',
+ 'objidl.h', 'objsafe.h', 'objsel.h', 'ocidl.h', 'ocmm.h', 'odbcinst.h',
+ 'odbcss.h', 'ole.h', 'ole2.h', 'ole2ver.h', 'oleacc.h', 'oleauto.h', 'olectl.h',
+ 'olectlid.h', 'oledb.h', 'oledbdep.h', 'oledberr.h', 'oledbguid.h', 'oledlg.dlg',
+ 'oledlg.h', 'oleidl.h', 'oletx2xa.h', 'opmapi.h', 'optary.h', 'p2p.h',
+ 'parser.h', 'patchapi.h', 'patchwiz.h', 'pbt.h', 'pchannel.h', 'pcrt32.h',
+ 'pdh.h', 'pdhmsg.h', 'penwin.h', 'perflib.h', 'perhist.h', 'persist.h',
+ 'pgobootrun.h', 'pla.h', 'polarity.h', 'poppack.h',
+ 'portabledeviceconnectapi.h', 'powrprof.h', 'prnasnot.h', 'prnsetup.dlg',
+ 'prntfont.h', 'process.h', 'profile.h', 'profinfo.h', 'propidl.h', 'propkey.h',
+ 'propkeydef.h', 'propsys.h', 'prsht.h', 'psapi.h', 'psdk_inc/_dbg_LOAD_IMAGE.h',
+ 'psdk_inc/_dbg_common.h', 'psdk_inc/_fd_types.h', 'psdk_inc/_ip_mreq1.h',
+ 'psdk_inc/_ip_types.h', 'psdk_inc/_pop_BOOL.h', 'psdk_inc/_push_BOOL.h',
+ 'psdk_inc/_socket_types.h', 'psdk_inc/_varenum.h', 'psdk_inc/_ws1_undef.h',
+ 'psdk_inc/_wsa_errnos.h', 'psdk_inc/_wsadata.h', 'psdk_inc/_xmitfile.h',
+ 'pshpack1.h', 'pshpack2.h', 'pshpack4.h', 'pshpack8.h', 'pstore.h',
+ 'pthread_time.h', 'pthread_unistd.h', 'qmgr.h', 'qos.h', 'qos2.h', 'qosname.h',
+ 'qospol.h', 'qossp.h', 'ras.h', 'rasdlg.h', 'raseapif.h', 'raserror.h',
+ 'rassapi.h', 'rasshost.h', 'ratings.h', 'rdpencomapi.h', 'reason.h',
+ 'recguids.h', 'reconcil.h', 'regstr.h', 'rend.h', 'resapi.h',
+ 'restartmanager.h', 'richedit.h', 'richole.h', 'rkeysvcc.h', 'rnderr.h',
+ 'routprot.h', 'rpc.h', 'rpcasync.h', 'rpcdce.h', 'rpcdcep.h', 'rpcndr.h',
+ 'rpcnsi.h', 'rpcnsip.h', 'rpcnterr.h', 'rpcproxy.h', 'rpcssl.h', 'rrascfg.h',
+ 'rtcapi.h', 'rtccore.h', 'rtcerr.h', 'rtinfo.h', 'rtm.h', 'rtmv2.h',
+ 'rtutils.h', 'sbe.h', 'scarddat.h', 'scarderr.h', 'scardmgr.h', 'scardsrv.h',
+ 'scardssp.h', 'scesvc.h', 'schannel.h', 'schedule.h', 'schemadef.h',
+ 'schnlsp.h', 'scode.h', 'scrnsave.h', 'scrptids.h', 'sddl.h', 'sdkddkver.h',
+ 'sdks/_mingw_ddk.h', 'sdks/_mingw_directx.h', 'sdoias.h', 'sdpblb.h',
+ 'sdperr.h', 'search.h', 'sec_api/conio_s.h', 'sec_api/crtdbg_s.h',
+ 'sec_api/io_s.h', 'sec_api/mbstring_s.h', 'sec_api/search_s.h',
+ 'sec_api/stdio_s.h', 'sec_api/stdlib_s.h', 'sec_api/stralign_s.h',
+ 'sec_api/string_s.h', 'sec_api/sys/timeb_s.h', 'sec_api/tchar_s.h',
+ 'sec_api/time_s.h', 'sec_api/wchar_s.h', 'secext.h', 'security.h', 'sehmap.h',
+ 'sens.h', 'sensapi.h', 'sensevts.h', 'servprov.h', 'setjmp.h', 'setjmpex.h',
+ 'setupapi.h', 'sfc.h', 'shappmgr.h', 'share.h', 'shdeprecated.h', 'shdispid.h',
+ 'shellapi.h', 'shfolder.h', 'shldisp.h', 'shlguid.h', 'shlobj.h', 'shlwapi.h',
+ 'shobjidl.h', 'shtypes.h', 'signal.h', 'simpdata.h', 'simpdc.h', 'sipbase.h',
+ 'sisbkup.h', 'slerror.h', 'slpublic.h', 'smpab.h', 'smpms.h', 'smpxp.h',
+ 'smtpguid.h', 'smx.h', 'snmp.h', 'softpub.h', 'specstrings.h', 'sporder.h',
+ 'sql.h', 'sql_1.h', 'sqlext.h', 'sqloledb.h', 'sqltypes.h', 'sqlucode.h',
+ 'srrestoreptapi.h', 'srv.h', 'sspguid.h', 'sspi.h', 'sspserr.h', 'sspsidl.h',
+ 'stdarg.h', 'stddef.h', 'stdexcpt.h', 'stdint.h', 'stdio.h', 'stdlib.h',
+ 'sti.h', 'stierr.h', 'stireg.h', 'stllock.h', 'stm.h', 'storage.h',
+ 'storduid.h', 'storprop.h', 'stralign.h', 'string.h', 'strings.h', 'strmif.h',
+ 'strsafe.h', 'structuredquerycondition.h', 'subauth.h', 'subsmgr.h',
+ 'svcguid.h', 'svrapi.h', 'sys/cdefs.h', 'sys/fcntl.h', 'sys/file.h',
+ 'sys/locking.h', 'sys/param.h', 'sys/stat.h', 'sys/time.h', 'sys/timeb.h',
+ 'sys/types.h', 'sys/unistd.h', 'sys/utime.h', 'syslimits.h', 'tabflicks.h',
+ 'tapi.h', 'tapi3.h', 'tapi3cc.h', 'tapi3ds.h', 'tapi3err.h', 'tapi3if.h',
+ 'taskschd.h', 'tbs.h', 'tcerror.h', 'tcguid.h', 'tchar.h', 'tcpestats.h',
+ 'tcpmib.h', 'tdh.h', 'tdi.h', 'tdiinfo.h', 'termmgr.h', 'textserv.h',
+ 'textstor.h', 'time.h', 'timeprov.h', 'tlhelp32.h', 'tlogstg.h', 'tmschema.h',
+ 'tnef.h', 'tom.h', 'tpcshrd.h', 'traffic.h', 'transact.h', 'triedcid.h',
+ 'triediid.h', 'triedit.h', 'tspi.h', 'tssbx.h', 'tsuserex.h', 'tuner.h',
+ 'tvout.h', 'txcoord.h', 'txctx.h', 'txdtc.h', 'txfw32.h', 'typeinfo.h',
+ 'uastrfnc.h', 'udpmib.h', 'umx.h', 'unistd.h', 'unknown.h', 'unknwn.h',
+ 'urlhist.h', 'urlmon.h', 'usb.h', 'usb100.h', 'usb200.h', 'usbcamdi.h',
+ 'usbdi.h', 'usbioctl.h', 'usbiodef.h', 'usbrpmif.h', 'usbuser.h', 'userenv.h',
+ 'usp10.h', 'utime.h', 'uuids.h', 'uxtheme.h', 'vadefs.h', 'varargs.h', 'vcr.h',
+ 'vdmdbg.h', 'vds.h', 'vdslun.h', 'verinfo.ver', 'vfw.h', 'virtdisk.h',
+ 'vsadmin.h', 'vsbackup.h', 'vsmgmt.h', 'vsprov.h', 'vss.h', 'vswriter.h',
+ 'w32api.h', 'wab.h', 'wabapi.h', 'wabcode.h', 'wabdefs.h', 'wabiab.h',
+ 'wabmem.h', 'wabnot.h', 'wabtags.h', 'wabutil.h', 'wbemads.h', 'wbemcli.h',
+ 'wbemdisp.h', 'wbemidl.h', 'wbemprov.h', 'wbemtran.h', 'wchar.h', 'wcmconfig.h',
+ 'wcsplugin.h', 'wct.h', 'wctype.h', 'wdsbp.h', 'wdsclientapi.h', 'wdspxe.h',
+ 'wdstci.h', 'wdstpdi.h', 'wdstptmgmt.h', 'werapi.h', 'wfext.h', 'wia.h',
+ 'wiadef.h', 'wiadevd.h', 'wiavideo.h', 'winable.h', 'winbase.h', 'winber.h',
+ 'wincodec.h', 'wincon.h', 'wincred.h', 'wincrypt.h', 'winddi.h', 'winddiui.h',
+ 'windef.h', 'windns.h', 'windot11.h', 'windows.h', 'windowsx.h', 'windowsx.h16',
+ 'winefs.h', 'winerror.h', 'winevt.h', 'wingdi.h', 'winhttp.h', 'wininet.h',
+ 'winineti.h', 'winioctl.h', 'winldap.h', 'winnetwk.h', 'winnls.h', 'winnls32.h',
+ 'winnt.h', 'winnt.rh', 'winperf.h', 'winreg.h', 'winresrc.h', 'winsafer.h',
+ 'winsatcominterfacei.h', 'winscard.h', 'winsmcrd.h', 'winsnmp.h', 'winsock.h',
+ 'winsock2.h', 'winsplp.h', 'winspool.h', 'winsvc.h', 'winsxs.h', 'winsync.h',
+ 'winternl.h', 'wintrust.h', 'winusb.h', 'winusbio.h', 'winuser.h', 'winuser.rh',
+ 'winver.h', 'winwlx.h', 'wlanapi.h', 'wlantypes.h', 'wmcontainer.h',
+ 'wmiatlprov.h', 'wmistr.h', 'wmiutils.h', 'wownt16.h', 'wownt32.h', 'wpapi.h',
+ 'wpapimsg.h', 'wpcapi.h', 'wpcevent.h', 'wpcrsmsg.h', 'wpftpmsg.h',
+ 'wppstmsg.h', 'wpspihlp.h', 'wptypes.h', 'wpwizmsg.h', 'ws2atm.h', 'ws2bth.h',
+ 'ws2def.h', 'ws2dnet.h', 'ws2ipdef.h', 'ws2spi.h', 'ws2tcpip.h', 'wsdapi.h',
+ 'wsdattachment.h', 'wsdbase.h', 'wsdclient.h', 'wsddisco.h', 'wsdhost.h',
+ 'wsdtypes.h', 'wsdutil.h', 'wsdxml.h', 'wsdxmldom.h', 'wshisotp.h',
+ 'wsipv6ok.h', 'wsipx.h', 'wsnetbs.h', 'wsnwlink.h', 'wspiapi.h', 'wsrm.h',
+ 'wsvns.h', 'wtsapi32.h', 'wtypes.h', 'xa.h', 'xcmc.h', 'xcmcext.h',
+ 'xcmcmsx2.h', 'xcmcmsxt.h', 'xenroll.h', 'xlocinfo.h', 'xmath.h', 'xmldomdid.h',
+ 'xmldsodid.h', 'xmllite.h', 'xmltrnsf.h', 'xolehlp.h', 'ymath.h', 'yvals.h',
+ 'zmouse.h']
diff --git a/recipes/toolchain/mingw-w64.recipe b/recipes/toolchain/mingw-w64.recipe
new file mode 100644
index 00000000..10019083
--- /dev/null
+++ b/recipes/toolchain/mingw-w64.recipe
@@ -0,0 +1,97 @@
+class Recipe(recipe.Recipe):
+ name = 'mingw-w64'
+ version = 'v2.0.8'
+ licenses = [License.LGPL]
+ configure_options = '--without-headers '\
+ '--with-sysroot=$CERBERO_PREFIX '
+ add_host_build_target = False
+ deps = ['mingw-w64-headers', 'binutils', 'gcc-core']
+
+ def prepare(self):
+ if self.config.target_arch == Architecture.X86:
+ host = 'i686-w64-mingw32'
+ else:
+ host = 'x86_64-w64-mingw32'
+ self.configure_options += ' --host=%s' % host
+ files = ['%s/lib/%s' % (host, x) for x in self.files_crt]
+ files.extend(['%s/lib/%s' % ('mingw', x) for x in self.files_crt])
+ self.files_crt = files
+
+ files_gendef = ['bin/gendef.exe']
+ files_crt = [
+ 'CRT_fp10.o', 'CRT_fp8.o', 'CRT_glob.o', 'CRT_noglob.o', 'binmode.o', 'crt1.o',
+ 'crt1u.o', 'crt2.o', 'crt2u.o', 'crtbegin.o', 'crtend.o', 'dllcrt1.o',
+ 'dllcrt2.o', 'gcrt0.o', 'gcrt1.o', 'gcrt2.o', 'libaclui.a', 'libadvapi32.a',
+ 'libapcups.a', 'libauthz.a', 'libavicap32.a', 'libavifil32.a', 'libbcrypt.a',
+ 'libbootvid.a', 'libbthprops.a', 'libcap.a', 'libcfgmgr32.a', 'libclasspnp.a',
+ 'libclfsw32.a', 'libclusapi.a', 'libcmutil.a', 'libcomctl32.a', 'libcomdlg32.a',
+ 'libconnect.a', 'libcredui.a', 'libcrtdll.a', 'libcrypt32.a', 'libcryptnet.a',
+ 'libcryptsp.a', 'libcryptxml.a', 'libcscapi.a', 'libctl3d32.a', 'libd2d1.a',
+ 'libd3d8.a', 'libd3d9.a', 'libd3dcompiler.a', 'libd3dcompiler_33.a',
+ 'libd3dcompiler_34.a', 'libd3dcompiler_35.a', 'libd3dcompiler_36.a',
+ 'libd3dcompiler_37.a', 'libd3dcompiler_38.a', 'libd3dcompiler_39.a',
+ 'libd3dcompiler_40.a', 'libd3dcompiler_41.a', 'libd3dcompiler_42.a',
+ 'libd3dcompiler_43.a', 'libd3dcsxd.a', 'libd3dcsxd_43.a', 'libd3dim.a',
+ 'libd3drm.a', 'libd3dx10.a', 'libd3dx10_33.a', 'libd3dx10_34.a',
+ 'libd3dx10_35.a', 'libd3dx10_36.a', 'libd3dx10_37.a', 'libd3dx10_38.a',
+ 'libd3dx10_39.a', 'libd3dx10_40.a', 'libd3dx10_41.a', 'libd3dx10_42.a',
+ 'libd3dx10_43.a', 'libd3dx11.a', 'libd3dx11_42.a', 'libd3dx11_43.a',
+ 'libd3dx8d.a', 'libd3dx9.a', 'libd3dx9_24.a', 'libd3dx9_25.a', 'libd3dx9_26.a',
+ 'libd3dx9_27.a', 'libd3dx9_28.a', 'libd3dx9_29.a', 'libd3dx9_30.a',
+ 'libd3dx9_31.a', 'libd3dx9_32.a', 'libd3dx9_33.a', 'libd3dx9_34.a',
+ 'libd3dx9_35.a', 'libd3dx9_36.a', 'libd3dx9_37.a', 'libd3dx9_38.a',
+ 'libd3dx9_39.a', 'libd3dx9_40.a', 'libd3dx9_41.a', 'libd3dx9_42.a',
+ 'libd3dx9_43.a', 'libd3dx9d.a', 'libd3dxof.a', 'libdavclnt.a', 'libdbgeng.a',
+ 'libdbghelp.a', 'libddraw.a', 'libdelayimp.a', 'libdhcpcsvc.a',
+ 'libdhcpcsvc6.a', 'libdhcpsapi.a', 'libdinput.a', 'libdinput8.a', 'libdlcapi.a',
+ 'libdmoguids.a', 'libdnsapi.a', 'libdplayx.a', 'libdpnaddr.a', 'libdpnet.a',
+ 'libdpnlobby.a', 'libdpvoice.a', 'libdsetup.a', 'libdsound.a', 'libdssec.a',
+ 'libdwmapi.a', 'libdwrite.a', 'libdxapi.a', 'libdxerr8.a', 'libdxerr9.a',
+ 'libdxgi.a', 'libdxguid.a', 'libdxva2.a', 'libeapp3hst.a', 'libeappcfg.a',
+ 'libeappgnui.a', 'libeapphost.a', 'libeappprxy.a', 'libesent.a', 'libevr.a',
+ 'libfaultrep.a', 'libfwpuclnt.a', 'libgdi32.a', 'libgdiplus.a', 'libglaux.a',
+ 'libglu32.a', 'libglut.a', 'libglut32.a', 'libgmon.a', 'libgpapi.a',
+ 'libgpedit.a', 'libgpprefcl.a', 'libgpscript.a', 'libgptext.a', 'libhal.a',
+ 'libhid.a', 'libhidclass.a', 'libhidparse.a', 'libhttpapi.a', 'libicmui.a',
+ 'libigmpagnt.a', 'libimagehlp.a', 'libimm32.a', 'libiphlpapi.a',
+ 'libiscsidsc.a', 'libkernel32.a', 'libks.a', 'libksproxy.a', 'libksuser.a',
+ 'libktmw32.a', 'liblargeint.a', 'liblz32.a', 'libm.a', 'libmapi32.a',
+ 'libmcd.a', 'libmf.a', 'libmfcuia32.a', 'libmfplat.a', 'libmgmtapi.a',
+ 'libmingw32.a', 'libmingwex.a', 'libmingwthrd.a', 'libmoldname.a', 'libmpr.a',
+ 'libmprapi.a', 'libmqrt.a', 'libmsacm32.a', 'libmscms.a', 'libmsctfmonitor.a',
+ 'libmsdmo.a', 'libmsdrm.a', 'libmshtml.a', 'libmshtmled.a', 'libmsi.a',
+ 'libmsimg32.a', 'libmstask.a', 'libmsvcp60.a', 'libmsvcr100.a', 'libmsvcr80.a',
+ 'libmsvcr90.a', 'libmsvcr90d.a', 'libmsvcrt.a', 'libmsvfw32.a', 'libmswsock.a',
+ 'libncrypt.a', 'libnddeapi.a', 'libndfapi.a', 'libndis.a', 'libnetapi32.a',
+ 'libnewdev.a', 'libnormaliz.a', 'libntdll.a', 'libntdsapi.a', 'libntmsapi.a',
+ 'libntoskrnl.a', 'libodbc32.a', 'libodbccp32.a', 'libole32.a', 'liboleacc.a',
+ 'liboleaut32.a', 'libolecli32.a', 'liboledlg.a', 'libolepro32.a',
+ 'libolesvr32.a', 'libopengl32.a', 'libp2p.a', 'libp2pcollab.a', 'libp2pgraph.a',
+ 'libpcwum.a', 'libpdh.a', 'libpdhui.a', 'libpenwin32.a', 'libpkpd32.a',
+ 'libpowrprof.a', 'libpsapi.a', 'libquartz.a', 'libqutil.a', 'libqwave.a',
+ 'librapi.a', 'librasapi32.a', 'librasdlg.a', 'libresutil.a', 'librpcdce4.a',
+ 'librpcdiag.a', 'librpchttp.a', 'librpcns4.a', 'librpcrt4.a', 'librstrmgr.a',
+ 'librtm.a', 'librtutils.a', 'libscrnsave.a', 'libscrnsavw.a', 'libscsiport.a',
+ 'libsecur32.a', 'libsetupapi.a', 'libshell32.a', 'libshfolder.a',
+ 'libshlwapi.a', 'libslc.a', 'libslcext.a', 'libslwga.a', 'libsnmpapi.a',
+ 'libspoolss.a', 'libsspicli.a', 'libstrmiids.a', 'libsvrapi.a', 'libsxs.a',
+ 'libtapi32.a', 'libtbs.a', 'libtdh.a', 'libtdi.a', 'libtxfw32.a', 'liburl.a',
+ 'libusbcamd.a', 'libusbcamd2.a', 'libusbd.a', 'libusbport.a', 'libuser32.a',
+ 'libuserenv.a', 'libusp10.a', 'libuuid.a', 'libuxtheme.a', 'libvdmdbg.a',
+ 'libversion.a', 'libvfw32.a', 'libvideoprt.a', 'libvirtdisk.a', 'libvss_ps.a',
+ 'libvssapi.a', 'libvsstrace.a', 'libwdsclient.a', 'libwdsclientapi.a',
+ 'libwdscore.a', 'libwdscsl.a', 'libwdsimage.a', 'libwdstptc.a',
+ 'libwdsupgcompl.a', 'libwdsutil.a', 'libwecapi.a', 'libwer.a', 'libwevtapi.a',
+ 'libwevtfwd.a', 'libwin32k.a', 'libwin32spl.a', 'libwininet.a', 'libwinmm.a',
+ 'libwinscard.a', 'libwinspool.a', 'libwinstrm.a', 'libwinusb.a', 'libwlanapi.a',
+ 'libwlanui.a', 'libwlanutil.a', 'libwldap32.a', 'libwow32.a', 'libws2_32.a',
+ 'libwsdapi.a', 'libwsnmp32.a', 'libwsock32.a', 'libwst.a', 'libwtsapi32.a',
+ 'libx3daudio.a', 'libx3daudio1_2.a', 'libx3daudio1_3.a', 'libx3daudio1_4.a',
+ 'libx3daudio1_5.a', 'libx3daudio1_6.a', 'libx3daudio1_7.a', 'libx3daudiod1_7.a',
+ 'libxapofx.a', 'libxapofx1_0.a', 'libxapofx1_1.a', 'libxapofx1_2.a',
+ 'libxapofx1_3.a', 'libxapofx1_4.a', 'libxapofx1_5.a', 'libxapofxd1_5.a',
+ 'libxaudio.a', 'libxaudio2_0.a', 'libxaudio2_1.a', 'libxaudio2_2.a',
+ 'libxaudio2_3.a', 'libxaudio2_4.a', 'libxaudio2_5.a', 'libxaudio2_6.a',
+ 'libxaudio2_7.a', 'libxaudiod.a', 'libxaudiod2_7.a', 'libxinput.a',
+ 'libxinput1_1.a', 'libxinput1_2.a', 'libxinput1_3.a', 'txtmode.o',
+ ]
diff --git a/recipes/toolchain/mpc.recipe b/recipes/toolchain/mpc.recipe
new file mode 100644
index 00000000..eb0463a6
--- /dev/null
+++ b/recipes/toolchain/mpc.recipe
@@ -0,0 +1,8 @@
+# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python
+
+class Recipe(recipe.Recipe):
+ name = 'mpc'
+ version = '0.8.2'
+ licenses = [License.LGPLv2_1Plus]
+ configure_options = "--disable-static --enable-shared"
+ autoreconf = True
diff --git a/recipes/toolchain/mpfr.recipe b/recipes/toolchain/mpfr.recipe
new file mode 100644
index 00000000..32f4cb8e
--- /dev/null
+++ b/recipes/toolchain/mpfr.recipe
@@ -0,0 +1,8 @@
+# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python
+
+class Recipe(recipe.Recipe):
+ name = 'mpfr'
+ version = '3.1.0'
+ licenses = [License.LGPLv3Plus]
+ configure_options = "--disable-static --enable-shared"
+ deps = ['gmp']
diff --git a/recipes/toolchain/winpthreads.recipe b/recipes/toolchain/winpthreads.recipe
new file mode 100644
index 00000000..681c5109
--- /dev/null
+++ b/recipes/toolchain/winpthreads.recipe
@@ -0,0 +1,17 @@
+class Recipe(recipe.Recipe):
+ name = 'winpthreads'
+ version = 'v2.0.8'
+ licenses = [License.LGPL]
+ srcdir = 'mingw-w64-libraries/winpthreads'
+ configure_options = '--enable-shared --enable-static '
+
+
+ def prepare(self):
+ self.repo_dir = os.path.join(self.config.local_sources, 'mingw-w64')
+ self.remotes = {'origin': '%s/%s' %
+ (self.config.git_root, 'mingw-w64')}
+ if self.config.target_arch == Architecture.X86:
+ self.host = 'i686-w64-mingw32'
+ else:
+ self.host = 'x86_64-w64-mingw32'
+ self.configure_options += ' --host=%s' % self.host