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