Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 1 | require binutils.inc |
| 2 | require binutils-${PV}.inc |
| 3 | |
| 4 | DEPENDS += "flex bison zlib" |
| 5 | |
| 6 | EXTRA_OECONF += "--with-sysroot=/ \ |
| 7 | --enable-install-libbfd \ |
| 8 | --enable-install-libiberty \ |
| 9 | --enable-shared \ |
| 10 | --with-system-zlib \ |
| 11 | " |
| 12 | |
| 13 | EXTRA_OEMAKE_append_libc-musl = "\ |
| 14 | gt_cv_func_gnugettext1_libc=yes \ |
| 15 | gt_cv_func_gnugettext2_libc=yes \ |
| 16 | " |
| 17 | EXTRA_OECONF_class-native = "--enable-targets=all \ |
| 18 | --enable-64-bit-bfd \ |
| 19 | --enable-install-libiberty \ |
| 20 | --enable-install-libbfd \ |
| 21 | --disable-gdb \ |
| 22 | --disable-gdbserver \ |
| 23 | --disable-libdecnumber \ |
| 24 | --disable-readline \ |
| 25 | --disable-sim \ |
| 26 | --disable-werror" |
| 27 | |
| 28 | # gcc9.0 end up mis-compiling libbfd.so with O2 which then crashes on target |
| 29 | # So remove -O2 and use -Os as workaround |
| 30 | SELECTED_OPTIMIZATION_remove_mipsarch = "-O2" |
| 31 | SELECTED_OPTIMIZATION_append_mipsarch = " -Os" |
| 32 | |
| 33 | do_install_class-native () { |
| 34 | autotools_do_install |
| 35 | |
| 36 | # Install the libiberty header |
| 37 | install -d ${D}${includedir} |
| 38 | install -m 644 ${S}/include/ansidecl.h ${D}${includedir} |
| 39 | install -m 644 ${S}/include/libiberty.h ${D}${includedir} |
| 40 | |
| 41 | # We only want libiberty, libbfd and libopcodes |
| 42 | rm -rf ${D}${bindir} |
| 43 | rm -rf ${D}${prefix}/${TARGET_SYS} |
| 44 | rm -rf ${D}${prefix}/lib/ldscripts |
| 45 | rm -rf ${D}${prefix}/share/info |
| 46 | rm -rf ${D}${prefix}/share/locale |
| 47 | rm -rf ${D}${prefix}/share/man |
| 48 | rmdir ${D}${prefix}/share || : |
| 49 | rmdir ${D}/${libdir}/gcc-lib || : |
| 50 | rmdir ${D}/${libdir}64/gcc-lib || : |
| 51 | rmdir ${D}/${libdir} || : |
| 52 | rmdir ${D}/${libdir}64 || : |
| 53 | } |
| 54 | |
Andrew Geissler | d1e8949 | 2021-02-12 15:35:20 -0600 | [diff] [blame] | 55 | # libctf races with libbfd |
| 56 | PARALLEL_MAKEINST_class-target = "" |
| 57 | PARALLEL_MAKEINST_class-nativesdk = "" |
| 58 | |
| 59 | # Split out libbfd-*.so and libopcodes-*.so so including perf doesn't include |
| 60 | # extra stuff |
| 61 | PACKAGE_BEFORE_PN += "libbfd libopcodes" |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 62 | FILES_libbfd = "${libdir}/libbfd-*.so.* ${libdir}/libbfd-*.so" |
Andrew Geissler | d1e8949 | 2021-02-12 15:35:20 -0600 | [diff] [blame] | 63 | FILES_libopcodes = "${libdir}/libopcodes-*.so.* ${libdir}/libopcodes-*.so" |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 64 | |
| 65 | SRC_URI_append_class-nativesdk = " file://0003-binutils-nativesdk-Search-for-alternative-ld.so.conf.patch " |
| 66 | |
| 67 | USE_ALTERNATIVES_FOR_class-nativesdk = "" |
| 68 | FILES_${PN}_append_class-nativesdk = " ${bindir}" |
| 69 | |
| 70 | BBCLASSEXTEND = "native nativesdk" |
| 71 | |