1 #!/usr/bin/bash
2 #
3 # CDDL HEADER START
4 #
5 # The contents of this file are subject to the terms of the
6 # Common Development and Distribution License, Version 1.0 only
7 # (the "License"). You may not use this file except in compliance
8 # with the License.
9 #
10 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11 # or http://www.opensolaris.org/os/licensing.
12 # See the License for the specific language governing permissions
13 # and limitations under the License.
14 #
15 # When distributing Covered Code, include this CDDL HEADER in each
16 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17 # If applicable, add the following below this CDDL HEADER, with the
18 # fields enclosed by brackets "[]" replaced with your own identifying
19 # information: Portions Copyright [yyyy] [name of copyright owner]
20 #
21 # CDDL HEADER END
22 #
23 #
24 # Copyright 2011-2012 OmniTI Computer Consulting, Inc. All rights reserved.
25 # Use is subject to license terms.
26 #
27 # Load support functions
28 . ../../lib/functions.sh
29
30 PROG=binutils
31 VER=2.25
32 VERHUMAN=$VER
33 PKG=developer/gnu-binutils
34 SUMMARY="$PROG - a collection of binary tools"
35 DESC="$SUMMARY"
36
37 BUILD_DEPENDS_IPS="gcc44"
38 [[ "$BUILDARCH" == "both" ]] && BUILDARCH=32
39
40 CONFIGURE_OPTS="--enable-gold=yes --exec-prefix=/usr/gnu --program-prefix=g"
41
42 # Use old gcc4 standards level for this.
43 CFLAGS="$CFLAGS -std=gnu89"
44
45 make_prog() {
46 [[ -n $NO_PARALLEL_MAKE ]] && MAKE_JOBS=""
47 logmsg "--- make"
48 logcmd $MAKE SHELL=/bin/bash $MAKE_JOBS || \
49 logerr "--- Make failed"
50 }
51
52 make_sfw_links() {
53 logmsg "Creating SFW symlinks"
54 logcmd mkdir -p $DESTDIR/$PREFIX/sfw/bin
55 pushd $DESTDIR/$PREFIX/sfw/bin > /dev/null
56 for file in gaddr2line gar gas gc++filt gelfedit ggprof gld gnm \
57 gobjcopy gobjdump granlib greadelf gsize gstrings gstrip
58 do logcmd ln -s ../../bin/$file $file || \
59 logerr "Failed to create link for $file"
60 done
61 popd > /dev/null
62 }
63
64 init
65 download_source $PROG $PROG $VER
66 patch_source
67 prep_build
68 build
69 make_isa_stub
70 make_sfw_links
71 make_package
72 clean_up