summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-08-02 22:42:05 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-09-04 11:17:52 +0000
commit67493a015472fcdb53ca6f852c809a5d2390a1ea (patch)
tree12e27de659acff9c966623a1d43cf7c71c621d34
downloadmeta-mingw-67493a015472fcdb53ca6f852c809a5d2390a1ea.tar.gz
Initial population
-rw-r--r--COPYING.MIT16
-rw-r--r--README17
-rw-r--r--conf/layer.conf9
-rw-r--r--conf/machine-sdk/i686-mingw32.conf2
-rw-r--r--conf/machine-sdk/x86_64-mingw32.conf24
-rw-r--r--recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend4
-rw-r--r--recipes-core/packagegroups/packagegroup-cross-canadian.bbappend5
-rw-r--r--recipes-core/zlib/zlib_1.2.8.bbappend1
-rw-r--r--recipes-devtools/binutils/binutils-cross-canadian_2.23.2.bbappend2
-rw-r--r--recipes-devtools/gcc/gcc-cross-canadian_4.8.bbappend6
-rw-r--r--recipes-devtools/gcc/gcc-crosssdk-initial_4.8.bbappend8
-rw-r--r--recipes-devtools/gcc/gcc-crosssdk_4.8.bbappend1
-rw-r--r--recipes-devtools/gcc/gcc-runtime_4.8.bbappend6
-rw-r--r--recipes-devtools/gcc/libgcc_4.8.bbappend2
-rw-r--r--recipes-devtools/libtool/nativesdk-libtool_2.4.2.bbappend1
-rw-r--r--recipes-devtools/mingw-w64/nativesdk-mingw-w64-headers/epsilon.patch16
-rw-r--r--recipes-devtools/mingw-w64/nativesdk-mingw-w64-headers_2.0.8.bb33
-rw-r--r--recipes-devtools/mingw-w64/nativesdk-mingw-w64-runtime_2.0.8.bb41
-rw-r--r--recipes-devtools/pthreads-win32/pthreads-win32_2.9.1.bb46
-rw-r--r--recipes-extended/bzip2/bzip2/fix.patch13
-rw-r--r--recipes-extended/bzip2/bzip2_1.0.6.bbappend4
-rw-r--r--recipes-support/gmp/gmp_5.1.1.bbappend3
-rw-r--r--recipes-support/mpc/libmpc_1.0.1.bbappend1
-rw-r--r--recipes-support/mpfr/mpfr_3.1.2.bbappend1
24 files changed, 262 insertions, 0 deletions
diff --git a/COPYING.MIT b/COPYING.MIT
new file mode 100644
index 0000000..9d982a4
--- /dev/null
+++ b/COPYING.MIT
@@ -0,0 +1,16 @@
1Permission is hereby granted, free of charge, to any person obtaining a copy of
2this software and associated documentation files (the "Software"), to deal in
3the Software without restriction, including without limitation the rights to
4use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
5the Software, and to permit persons to whom the Software is furnished to do so,
6subject to the following conditions:
7
8The above copyright notice and this permission notice shall be included in all
9copies or substantial portions of the Software.
10
11THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
13FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
14COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
15IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
16CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/README b/README
new file mode 100644
index 0000000..61eda1b
--- /dev/null
+++ b/README
@@ -0,0 +1,17 @@
1meta-darwin
2==========
3
4OpenEmbedded meta layer for mingw based SDKs
5
6For dylan you need to patch OE-Core with oecore.patch
7
8This layer depends on:
9
10 URI: git://git.openembedded.org/openembedded-core
11 layers: meta
12 branch: master
13
14Layer Maintainer: Richard Purdie <richard.purdie@linuxfoundation.org>
15
16Please send changes to the yocto mailing list with [meta-mingw] in the subject line,
17cc'ing the maintainer.
diff --git a/conf/layer.conf b/conf/layer.conf
new file mode 100644
index 0000000..a32fa82
--- /dev/null
+++ b/conf/layer.conf
@@ -0,0 +1,9 @@
1# We have a conf and classes directory, add to BBPATH
2BBPATH := "${BBPATH}:${LAYERDIR}"
3
4# We have a packages directory, add to BBFILES
5BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend"
6
7BBFILE_COLLECTIONS += "meta-mingw"
8BBFILE_PATTERN_meta-mingw := "^${LAYERDIR}/"
9BBFILE_PRIORITY_meta-mingw = "8"
diff --git a/conf/machine-sdk/i686-mingw32.conf b/conf/machine-sdk/i686-mingw32.conf
new file mode 100644
index 0000000..d9d0952
--- /dev/null
+++ b/conf/machine-sdk/i686-mingw32.conf
@@ -0,0 +1,2 @@
1SDK_ARCH = "i686"
2SDK_OS = "mingw32"
diff --git a/conf/machine-sdk/x86_64-mingw32.conf b/conf/machine-sdk/x86_64-mingw32.conf
new file mode 100644
index 0000000..b41b4a8
--- /dev/null
+++ b/conf/machine-sdk/x86_64-mingw32.conf
@@ -0,0 +1,24 @@
1SDK_ARCH = "x86_64"
2SDK_OS = "mingw32"
3
4GCCTHREADS_mingw32 = "win32"
5
6PREFERRED_PROVIDER_virtual/nativesdk-${SDK_PREFIX}libc-for-gcc = "nativesdk-mingw-w64-runtime"
7PREFERRED_PROVIDER_virtual/nativesdk-libc = "nativesdk-mingw-w64-runtime"
8PREFERRED_PROVIDER_virtual/nativesdk-libintl = "nativesdk-mingw-w64-runtime"
9PREFERRED_PROVIDER_virtual/nativesdk-libiconv = "nativesdk-libiconv"
10
11USE_NLS_mingw32 = "no"
12
13FILES_${PN}-staticdev_append_mingw32 = " ${libdir}/*.lib"
14ALLOW_EMPTY_${PN}_mingw32 = "1"
15
16# Do what amounts to a NOOP
17SDK_PACKAGING_FUNC = "do_compile"
18SDKTAROPTS_append = " -h --hard-dereference"
19
20SDKUSE_NLS = "no"
21
22SDKPKGSUFFIX = "nativesdk-mingw32"
23
24MACHINEOVERRIDES .= ":sdkmingw32"
diff --git a/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend b/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend
new file mode 100644
index 0000000..9629354
--- /dev/null
+++ b/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend
@@ -0,0 +1,4 @@
1RDEPENDS_${PN}_mingw32 = "\
2 nativesdk-pkgconfig \
3 nativesdk-libtool \
4 "
diff --git a/recipes-core/packagegroups/packagegroup-cross-canadian.bbappend b/recipes-core/packagegroups/packagegroup-cross-canadian.bbappend
new file mode 100644
index 0000000..4f52762
--- /dev/null
+++ b/recipes-core/packagegroups/packagegroup-cross-canadian.bbappend
@@ -0,0 +1,5 @@
1RDEPENDS_${PN}_sdkmingw32 = "\
2 binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} \
3 gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} \
4 meta-environment-${TRANSLATED_TARGET_ARCH} \
5 "
diff --git a/recipes-core/zlib/zlib_1.2.8.bbappend b/recipes-core/zlib/zlib_1.2.8.bbappend
new file mode 100644
index 0000000..2fd034b
--- /dev/null
+++ b/recipes-core/zlib/zlib_1.2.8.bbappend
@@ -0,0 +1 @@
EXTRA_OEMAKE_append_mingw32 = " LDSHAREDLIBC=''"
diff --git a/recipes-devtools/binutils/binutils-cross-canadian_2.23.2.bbappend b/recipes-devtools/binutils/binutils-cross-canadian_2.23.2.bbappend
new file mode 100644
index 0000000..2894041
--- /dev/null
+++ b/recipes-devtools/binutils/binutils-cross-canadian_2.23.2.bbappend
@@ -0,0 +1,2 @@
1EXTRA_OECONF_append_sdkmingw32 = " --disable-plugins --disable-nls"
2LDFLAGS_append_sdkmingw32 = " -Wl,-static"
diff --git a/recipes-devtools/gcc/gcc-cross-canadian_4.8.bbappend b/recipes-devtools/gcc/gcc-cross-canadian_4.8.bbappend
new file mode 100644
index 0000000..030a9b9
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-cross-canadian_4.8.bbappend
@@ -0,0 +1,6 @@
1INSANE_SKIP_${PN}_append_sdkmingw32 = " staticdev"
2EXTRA_OECONF_append_sdkmingw32 = " --disable-nls"
3LDFLAGS_append_sdkmingw32 = " -Wl,-static"
4EXEEXT_sdkmingw32 = ".exe"
5ELFUTILS_sdkmingw32 = ""
6DEPENDS_remove_sdkmingw32 = "nativesdk-gettext"
diff --git a/recipes-devtools/gcc/gcc-crosssdk-initial_4.8.bbappend b/recipes-devtools/gcc/gcc-crosssdk-initial_4.8.bbappend
new file mode 100644
index 0000000..7a7ca37
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-crosssdk-initial_4.8.bbappend
@@ -0,0 +1,8 @@
1
2do_install_append_mingw32 () {
3 ln -s ${STAGING_DIR_TARGET}/${target_exec_prefix}/ ${D}/${exec_prefix}/${TARGET_SYS}
4}
5
6sysroot_stage_all_append_mingw32 () {
7 sysroot_stage_dir ${D}${exec_prefix}/${TARGET_SYS} ${SYSROOT_DESTDIR}${exec_prefix}/${TARGET_SYS}
8} \ No newline at end of file
diff --git a/recipes-devtools/gcc/gcc-crosssdk_4.8.bbappend b/recipes-devtools/gcc/gcc-crosssdk_4.8.bbappend
new file mode 100644
index 0000000..77ba57f
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-crosssdk_4.8.bbappend
@@ -0,0 +1 @@
EXTRA_OECONF_mingw32 := "${@oe_filter_out('--with-linker-hash-style=${LINKER_HASH_STYLE}', '${EXTRA_OECONF}', d)}"
diff --git a/recipes-devtools/gcc/gcc-runtime_4.8.bbappend b/recipes-devtools/gcc/gcc-runtime_4.8.bbappend
new file mode 100644
index 0000000..27de4fd
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-runtime_4.8.bbappend
@@ -0,0 +1,6 @@
1FILES_libstdc++_append_mingw32 = " ${bindir}/libstdc++*.dll"
2FILES_libstdc++-staticdev_append_mingw32 = " ${libdir}/libstdc++.dll.a*"
3FILES_libssp_append_mingw32 = " ${bindir}/libssp*.dll"
4FILES_libgomp_append_mingw32 = " ${bindir}/libgomp*.dll"
5
6DEPENDS_append_mingw32 = " pthreads-win32" \ No newline at end of file
diff --git a/recipes-devtools/gcc/libgcc_4.8.bbappend b/recipes-devtools/gcc/libgcc_4.8.bbappend
new file mode 100644
index 0000000..dd95317
--- /dev/null
+++ b/recipes-devtools/gcc/libgcc_4.8.bbappend
@@ -0,0 +1,2 @@
1FILES_${PN}_append_mingw32 = " ${base_libdir}/libgcc*.dll"
2FILES_${PN}-dev_append_mingw32 = " ${base_libdir}/libgcc*.a"
diff --git a/recipes-devtools/libtool/nativesdk-libtool_2.4.2.bbappend b/recipes-devtools/libtool/nativesdk-libtool_2.4.2.bbappend
new file mode 100644
index 0000000..4252e8d
--- /dev/null
+++ b/recipes-devtools/libtool/nativesdk-libtool_2.4.2.bbappend
@@ -0,0 +1 @@
EXTRA_OECONF_append_mingw32 = " --disable-shared" \ No newline at end of file
diff --git a/recipes-devtools/mingw-w64/nativesdk-mingw-w64-headers/epsilon.patch b/recipes-devtools/mingw-w64/nativesdk-mingw-w64-headers/epsilon.patch
new file mode 100644
index 0000000..10213ee
--- /dev/null
+++ b/recipes-devtools/mingw-w64/nativesdk-mingw-w64-headers/epsilon.patch
@@ -0,0 +1,16 @@
1mpfr 3.1.2 references these symbols and fails if they're not defined.
2
3Index: mingw-w64-headers/crt/float.h
4===================================================================
5--- mingw-w64-headers/crt.orig/float.h 2012-07-17 11:03:12.000000000 +0000
6+++ mingw-w64-headers/crt/float.h 2013-08-13 08:23:20.000000000 +0000
7@@ -111,6 +111,9 @@
8 #define FLT_ROUNDS 1
9
10 #define _FLOAT_H___
11+
12+ #define DBL_EPSILON __DBL_EPSILON__
13+ #define FLT_EPSILON __FLT_EPSILON__
14 #endif
15 #endif
16 #endif
diff --git a/recipes-devtools/mingw-w64/nativesdk-mingw-w64-headers_2.0.8.bb b/recipes-devtools/mingw-w64/nativesdk-mingw-w64-headers_2.0.8.bb
new file mode 100644
index 0000000..b12a04e
--- /dev/null
+++ b/recipes-devtools/mingw-w64/nativesdk-mingw-w64-headers_2.0.8.bb
@@ -0,0 +1,33 @@
1DESCRIPTION = "Header files from the MingGW-w64 project"
2LICENSE = "ZPL"
3LIC_FILES_CHKSUM = "file://../COPYING;md5=3194ff3a0d16f018784d1847bc6a3c4d"
4
5COMPATIBLE_HOST = ".*-mingw.*"
6
7SRC_URI = "${SOURCEFORGE_MIRROR}/project/mingw-w64/mingw-w64/mingw-w64-release/mingw-w64-v${PV}.tar.gz \
8 file://epsilon.patch"
9
10SRC_URI[md5sum] = "659e5baf45ac8e8b8526f29786ee1112"
11SRC_URI[sha256sum] = "1a5a2c57f90c7f1b5eb8402a52f93de645925a8af62c2cfe748f39ce66008cf4"
12
13S = "${WORKDIR}/mingw-w64-v${PV}/mingw-w64-headers"
14B = "${WORKDIR}/build-${TARGET_SYS}"
15
16inherit autotools nativesdk
17
18INHIBIT_DEFAULT_DEPS = "1"
19DEPENDS = ""
20
21do_configure() {
22 oe_runconf
23}
24
25do_compile() {
26 :
27}
28
29do_install_append() {
30 # Move files to include folder where gcc-crosssdk-initial is looking
31 mv ${D}${exec_prefix}/${HOST_SYS}/include ${D}${exec_prefix}
32 rmdir ${D}${exec_prefix}/${HOST_SYS}
33}
diff --git a/recipes-devtools/mingw-w64/nativesdk-mingw-w64-runtime_2.0.8.bb b/recipes-devtools/mingw-w64/nativesdk-mingw-w64-runtime_2.0.8.bb
new file mode 100644
index 0000000..362b24a
--- /dev/null
+++ b/recipes-devtools/mingw-w64/nativesdk-mingw-w64-runtime_2.0.8.bb
@@ -0,0 +1,41 @@
1DESCRIPTION = "Runtime libraries from MinGW-w64 project"
2LICENSE = "ZPL"
3LIC_FILES_CHKSUM = "file://../COPYING;md5=3194ff3a0d16f018784d1847bc6a3c4d"
4
5COMPATIBLE_HOST = ".*-mingw.*"
6
7SRC_URI = "${SOURCEFORGE_MIRROR}/project/mingw-w64/mingw-w64/mingw-w64-release/mingw-w64-v${PV}.tar.gz"
8SRC_URI[md5sum] = "659e5baf45ac8e8b8526f29786ee1112"
9SRC_URI[sha256sum] = "1a5a2c57f90c7f1b5eb8402a52f93de645925a8af62c2cfe748f39ce66008cf4"
10
11S = "${WORKDIR}/mingw-w64-v${PV}/mingw-w64-crt"
12B = "${WORKDIR}/build-${TARGET_SYS}"
13
14inherit autotools nativesdk
15
16INHIBIT_DEFAULT_DEPS = "1"
17DEPENDS = "nativesdk-mingw-w64-headers virtual/${TARGET_PREFIX}gcc-initial "
18
19PROVIDES += "virtual/nativesdk-libc"
20PROVIDES += "virtual/nativesdk-${SDK_PREFIX}libc-initial"
21PROVIDES += "virtual/nativesdk-${SDK_PREFIX}libc-for-gcc"
22
23# Work around pulling in eglibc for now...
24PROVIDES += "virtual/nativesdk-libintl"
25
26STAGINGCC = "gcc-cross-initial"
27STAGINGCC_class-nativesdk = "gcc-crosssdk-initial"
28TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TARGET}"
29PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
30
31do_configure() {
32 oe_runconf
33}
34
35do_install_append() {
36 # Move files to folder where gcc-crosssdk is looking
37 mv ${D}${exec_prefix}/${HOST_SYS}/lib* ${D}${exec_prefix}
38 rmdir ${D}${exec_prefix}/${HOST_SYS}
39}
40FILES_${PN} += "${exec_prefix}/libsrc"
41
diff --git a/recipes-devtools/pthreads-win32/pthreads-win32_2.9.1.bb b/recipes-devtools/pthreads-win32/pthreads-win32_2.9.1.bb
new file mode 100644
index 0000000..d6a6284
--- /dev/null
+++ b/recipes-devtools/pthreads-win32/pthreads-win32_2.9.1.bb
@@ -0,0 +1,46 @@
1DESCRIPTION = "A Win32 implementation of the POSIX standard threads API"
2HOMEPAGE = "http://www.sourceware.org/pthreads-win32"
3LICENSE = "LGPLv2.1"
4LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=7fbc338309ac38fefcd64b04bb903e34"
5
6BBCLASSEXTEND = "nativesdk"
7
8COMPATIBLE_HOST = ".*-mingw.*"
9
10## Replace dots with dashes
11PVdash = "2-9-1"
12
13## cvs -d :pserver:anonymous@sourceware.org:/cvs/pthreads-win32 checkout pthreads
14SRC_URI = "ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-${PVdash}-release.tar.gz"
15SRC_URI[md5sum] = "36ba827d6aa0fa9f9ae740a35626e2e3"
16SRC_URI[sha256sum] = "e6aca7aea8de33d9c8580bcb3a0ea3ec0a7ace4ba3f4e263ac7c7b66bc95fb4d"
17
18## Reference: http://sourceware.org/ml/pthreads-win32/2009/msg00030/w64sup.patch
19#SRC_URI += "file://w64sup.patch"
20
21S = "${WORKDIR}/pthreads-w32-${PVdash}-release"
22
23INHIBIT_DEFAULT_DEPS = "1"
24DEPENDS = "virtual/${SDK_PREFIX}gcc-initial libgcc virtual/libc"
25
26do_configure_prepend() {
27 ## First reset all permissions because all are executable
28 find . -type f -exec chmod 644 {} \;
29 ## Make a copy of config.h
30 cp config.h pthreads_win32_config.h
31}
32
33do_compile() {
34 make -f GNUmakefile CROSS=${SDK_PREFIX} clean GC
35}
36
37do_install() {
38 install -d -m 0755 ${D}${bindir}
39 install -d -m 0755 ${D}${includedir}
40 install -d -m 0755 ${D}${libdir}
41
42 install -m 0644 ${S}/pthread.h ${S}/sched.h ${S}/semaphore.h ${D}${includedir}/
43
44 install -m 0644 ${S}/libpthreadGC2.a ${D}${libdir}/libpthread.dll.a
45 install -m 0644 ${S}/pthreadGC2.dll ${D}${bindir}/libpthread-2.dll
46}
diff --git a/recipes-extended/bzip2/bzip2/fix.patch b/recipes-extended/bzip2/bzip2/fix.patch
new file mode 100644
index 0000000..a366a5d
--- /dev/null
+++ b/recipes-extended/bzip2/bzip2/fix.patch
@@ -0,0 +1,13 @@
1Index: bzip2-1.0.6/bzip2.c
2===================================================================
3--- bzip2-1.0.6.orig/bzip2.c 2010-09-10 23:04:53.000000000 +0000
4+++ bzip2-1.0.6/bzip2.c 2013-08-13 10:30:15.596120522 +0000
5@@ -128,7 +128,7 @@
6 #if BZ_LCCWIN32
7 # include <io.h>
8 # include <fcntl.h>
9-# include <sys\stat.h>
10+# include <sys/stat.h>
11
12 # define NORETURN /**/
13 # define PATH_SEP '\\'
diff --git a/recipes-extended/bzip2/bzip2_1.0.6.bbappend b/recipes-extended/bzip2/bzip2_1.0.6.bbappend
new file mode 100644
index 0000000..882147c
--- /dev/null
+++ b/recipes-extended/bzip2/bzip2_1.0.6.bbappend
@@ -0,0 +1,4 @@
1
2FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
3
4SRC_URI_append_mingw32 = " file://fix.patch" \ No newline at end of file
diff --git a/recipes-support/gmp/gmp_5.1.1.bbappend b/recipes-support/gmp/gmp_5.1.1.bbappend
new file mode 100644
index 0000000..7f25fe2
--- /dev/null
+++ b/recipes-support/gmp/gmp_5.1.1.bbappend
@@ -0,0 +1,3 @@
1do_install_append_mingw32 () {
2 ln -s libgmp.lib ${D}${libdir}/gmp.lib
3} \ No newline at end of file
diff --git a/recipes-support/mpc/libmpc_1.0.1.bbappend b/recipes-support/mpc/libmpc_1.0.1.bbappend
new file mode 100644
index 0000000..0d289df
--- /dev/null
+++ b/recipes-support/mpc/libmpc_1.0.1.bbappend
@@ -0,0 +1 @@
EXTRA_OECONF_append_mingw32 = "--enable-static --disable-shared" \ No newline at end of file
diff --git a/recipes-support/mpfr/mpfr_3.1.2.bbappend b/recipes-support/mpfr/mpfr_3.1.2.bbappend
new file mode 100644
index 0000000..4252e8d
--- /dev/null
+++ b/recipes-support/mpfr/mpfr_3.1.2.bbappend
@@ -0,0 +1 @@
EXTRA_OECONF_append_mingw32 = " --disable-shared" \ No newline at end of file