First pass of .oe cleanups.
[openembedded.git] / binutils / binutils_2.14.90.0.8.oe
1 inherit autotools
2
3 DESCRIPTION := A GNU collection of binary utilities
4 LICENSE := GPL
5 MAINTAINER := Gerald Britton <gbritton@doomcom.org>
6
7 # This will ONLY build to this target
8 TARGET_VENDOR :=
9 TARGET_SYS := ${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}
10 TARGET_PREFIX := ${TARGET_SYS}-
11
12 DEPENDS := virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc \
13            virtual/libc patcher
14
15 PACKAGES = "${PN} ${PN}-dev ${PN}-doc ${PN}-symlinks"
16
17 FILES_${PN} =  \
18         ${bindir}/${TARGET_PREFIX}*
19
20 FILES_${PN}-dev = \
21         ${includedir} \
22         ${libdir}/*.a
23
24 FILES_${PN}-symlinks = \
25         ${bindir}/addr2line \
26         ${bindir}/ar \
27         ${bindir}/as \
28         ${bindir}/ld \
29         ${bindir}/nm \
30         ${bindir}/objcopy \
31         ${bindir}/objdump \
32         ${bindir}/ranlib \
33         ${bindir}/readelf \
34         ${bindir}/size \
35         ${bindir}/strings \
36         ${bindir}/strip
37
38 SRC_URI := http://ftp.kernel.org/pub/linux/devel/binutils/binutils-${PV}.tar.bz2 \
39            file://${FILESDIR}/binutils-001_ld_makefile.patch;patch=1 \
40            file://${FILESDIR}/binutils-006_better_file_error.patch;patch=1 \
41            file://${FILESDIR}/binutils-009_signed_char_fix.patch;patch=1 \
42            file://${FILESDIR}/binutils-012_check_ldrunpath_length.patch;patch=1 \
43            file://${FILESDIR}/binutils-100_cflags_for_build.patch;patch=1
44
45 S := ${WORKDIR}/binutils-${PV}
46 B := ${S}/build.${HOST_SYS}.${TARGET_SYS}
47
48 EXTRA_OECONF = '--with-sysroot=${prefix}'
49
50 # This is necessary due to a bug in the binutils Makefiles
51 EXTRA_OEMAKE = configure-build-libiberty all
52
53 export AR = ${HOST_PREFIX}ar
54 export AS = ${HOST_PREFIX}as
55 export LD = ${HOST_PREFIX}ld
56 export NM = ${HOST_PREFIX}nm
57 export RANLIB = ${HOST_PREFIX}ranlib
58 export OBJCOPY = ${HOST_PREFIX}objcopy
59 export OBJDUMP = ${HOST_PREFIX}objdump
60
61 export AR_FOR_TARGET = ${TARGET_PREFIX}ar
62 export AS_FOR_TARGET = ${TARGET_PREFIX}as
63 export LD_FOR_TARGET = ${TARGET_PREFIX}ld
64 export NM_FOR_TARGET = ${TARGET_PREFIX}nm
65 export RANLIB_FOR_TARGET = ${TARGET_PREFIX}ranlib
66
67 export CC_FOR_HOST = ${CCACHE} ${HOST_PREFIX}gcc
68 export CXX_FOR_HOST = ${CCACHE} ${HOST_PREFIX}gcc
69
70 export CC_FOR_BUILD = ${BUILD_CC}
71
72 export CC = ${CCACHE} ${HOST_PREFIX}gcc
73
74 do_configure () {
75         oe_runconf
76 }
77
78 do_install () {
79         autotools_do_install
80
81         # We don't really need these, so we'll remove them...
82         rm -rf ${D}/${libdir}/ldscripts
83
84         # Install the libiberty header
85         install -m 644 ${S}/include/ansidecl.h ${D}/${includedir}
86         install -m 644 ${S}/include/libiberty.h ${D}/${includedir}
87
88         cd ${D}/${bindir}
89
90         # Symlinks for ease of running these on the native target
91         for p in ${TARGET_SYS}-* ; do
92                 ln -sf $p `echo $p | sed -e s,${TARGET_SYS}-,,`
93         done
94 }