wok annotate gcc+gcj/receipt @ rev 9964

gcc+gcj: should fix build (not tested too slow on my laptop)
author Christophe Lincoln <pankso@slitaz.org>
date Wed May 18 16:06:04 2011 +0200 (2011-05-18)
parents 4308dc535830
children 78f6b1f7bdf4
rev   line source
rcx@3325 1 # SliTaz package receipt.
rcx@3325 2
rcx@3325 3 PACKAGE="gcc+gcj"
rcx@3325 4 SOURCE="gcc"
slaxemulator@8396 5 VERSION="4.5.2"
rcx@3325 6 CATEGORY="development"
rcx@3325 7 SHORT_DESC="The GNU Compiler Collection, including the gcj Compiler for Java."
rcx@3325 8 MAINTAINER="rcx@zoominternet.net"
pankso@9964 9 TARBALL="$SOURCE-$VERSION.tar.bz2"
pankso@9964 10 WEB_SITE="http://gcc.gnu.org/java/"
pankso@9964 11 WGET_URL="$GNU_MIRROR/$SOURCE/$SOURCE-$VERSION/$TARBALL"
pankso@9964 12 PROVIDE="$SOURCE jre jdk"
pankso@9964 13
pankso@4052 14 DEPENDS="glibc-base glib gcc-lib-base libgio util-linux-ng-uuid zlib libgomp gmp mpfr python \
rcx@3686 15 gtk+ atk cairo expat fontconfig freetype pango pixman libpng libxcb xcb-util \
rcx@3325 16 xorg-libICE xorg-libSM xorg-libX11 xorg-libXau xorg-libXcomposite \
rcx@3325 17 xorg-libXcursor xorg-libXdamage xorg-libXdmcp xorg-libXext xorg-libXfixes \
pascal@5960 18 xorg-libXinerama xorg-libXrandr xorg-libXrender xorg-libXtst alsa-lib elfutils"
pascal@5399 19 BUILD_DEPENDS="glibc-dev gawk flex python perl gmp gmp-dev mpfr mpfr-dev mpc-library \
rcx@3781 20 expat-dev zlib-dev fastjar gtk+-dev libart_lgpl-dev xorg-dev xorg-inputproto \
pascal@5943 21 xorg-kbproto xorg-libXtst xorg-randrproto xorg-renderproto xorg-xextproto xorg-xproto \
pascal@5943 22 elfutils elfutils-dev"
rcx@3325 23
rcx@3325 24 # Rules to configure and make the package.
rcx@3325 25 compile_rules()
rcx@3325 26 {
rcx@3686 27 # Set BUILD_HOST if not defined in tazwok.conf as it should be
rcx@3686 28 if [ -z "$BUILD_HOST" ] ; then
rcx@3686 29 BUILD_HOST="i486-pc-linux-gnu"
rcx@3686 30 fi
rcx@3686 31 GCC_TARGET=$BUILD_HOST
rcx@3686 32
rcx@3325 33 # Get ecj.jar needed to build gcj
rcx@3325 34 # (See http://gcc.gnu.org/install/configure.html --with-ecj-jar)
rcx@3325 35 ECJ_PRE_PATH=`pwd`
rcx@3482 36 ECJ_JAR="ecj-latest.jar"
rcx@3482 37 ECJ_URL="ftp://sourceware.org/pub/java/$ECJ_JAR"
rcx@3325 38 if [ ! -f "$SOURCES_REPOSITORY/$ECJ_JAR" ] ; then
rcx@3325 39 cd $SOURCES_REPOSITORY
pankso@9964 40 wget $ECJ_URL
rcx@3325 41 # Exit if download failed to avoid errors.
rcx@3325 42 if [ ! -f "$SOURCES_REPOSITORY/$ECJ_JAR" ] ; then
rcx@3325 43 echo -e "\nECJ jar download failed, exiting. Please check ECJ_URL variable.\n"
gokhlayeh@8504 44 return 1
rcx@3325 45 fi
rcx@3325 46 else
rcx@3325 47 echo -n "ECJ jar exit... "
rcx@3325 48 status
rcx@3325 49 fi
rcx@3325 50
rcx@3325 51 # Copy the ecj jar to the root of the gcc source directory
rcx@3325 52 # The file name isn't versioned, so we have to remove it from the
rcx@3325 53 # sources repository to ensure that we receive updated files
rcx@3325 54 mv -f $SOURCES_REPOSITORY/$ECJ_JAR $src/ecj.jar
rcx@3325 55
rcx@3325 56 # Pop back to the pre-download directory
rcx@3325 57 cd $ECJ_PRE_PATH
rcx@3325 58
rcx@3325 59 # Use libiberty.a from binutils.
rcx@3325 60 sed -i 's/install_to_$(INSTALL_DEST) //' \
gokhlayeh@8504 61 $src/libiberty/Makefile.in || return 1
rcx@3325 62 mkdir -p $SOURCE-$VERSION-build
rcx@3325 63 cd $SOURCE-$VERSION-build
rcx@3686 64
pascal@6594 65 PYTHON_LIB=python$(grep ^VERSION= $WOK/python/receipt | sed 's/.*"\(...\).*/\1/')
gokhlayeh@8504 66 ../${src##*/}/configure --prefix=/usr --libexecdir=/usr/lib \
rcx@3325 67 --infodir=/usr/share/info --mandir=/usr/share/man --enable-nls \
pascal@6401 68 --enable-languages=c,c++,objc,java --enable-shared \
pascal@6401 69 --with-system-zlib \
rcx@3325 70 --enable-clocale=gnu --enable-objc-gc --enable-__cxa_atexit \
rcx@3686 71 --enable-threads=posix --with-tune=i486 \
rcx@3325 72 --enable-java-home --with-arch-directory=i386 \
rcx@3686 73 --with-jvm-root-dir=/usr/lib/jvm/java-gcj \
rcx@3686 74 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-gcj \
pascal@6593 75 --with-python-dir=/usr/lib/$PYTHON_LIB/site-packages \
rcx@3325 76 --with-x --enable-java-awt=gtk \
rcx@3686 77 --enable-gtk-cairo \
slaxemulator@6751 78 --enable-lto \
rcx@3686 79 $CONFIGURE_ARGS $GCC_TARGET &&
gokhlayeh@8504 80 make bootstrap &&
rcx@3686 81 # Make install in the source tree to help creating derived pkgs
rcx@3325 82 # and keep $_pkg variable set for genpkg.
gokhlayeh@8504 83 make install
rcx@3325 84 }
rcx@3325 85
rcx@3325 86 # Rules to gen a SliTaz package suitable for Tazpkg.
rcx@3325 87 genpkg_rules()
rcx@3325 88 {
rcx@3325 89 mkdir -p $fs/usr/share
rcx@3325 90 cp -a $_pkg/usr/share/java $fs/usr/share
rcx@3325 91 cp -a $_pkg/usr/bin $fs/usr
rcx@3325 92 # Copy all libs. Remove libgcc_s.so and libstdc++.so
rcx@3325 93 # they goes in gcc-lib-base-$VERSION package.
rcx@3325 94 cp -a $_pkg/usr/lib $fs/usr
rcx@3325 95 rm $fs/usr/lib/libgcc_s.so*
rcx@3325 96 rm $fs/usr/lib/libstdc++.so*
rcx@3325 97 rm $fs/usr/lib/libgomp.so*
slaxemulator@9439 98 rm $fs/usr/lib/gcj-$VERSION-11/*.la
slaxemulator@9439 99 rm $fs/usr/lib/*.la
rcx@3325 100 # Include files.
rcx@3325 101 cp -a $_pkg/usr/include $fs/usr
gokhlayeh@8504 102 rm -r $WOK/$PACKAGE/$SOURCE-$VERSION-build
rcx@3325 103 }
rcx@3325 104
rcx@3325 105 # Post install commands for Tazpkg.
rcx@3325 106 post_install()
rcx@3325 107 {
rcx@3325 108 local root
rcx@3325 109 root=$1
rcx@3325 110 echo "Processing post-install commands..."
rcx@3325 111 if [ ! -f "$root/lib/cpp" ] ; then
rcx@3325 112 ln -s ../usr/bin/cpp $root/lib
rcx@3325 113 fi
rcx@3325 114 if [ ! -f "$root/usr/bin/cc" ] ; then
rcx@3325 115 ln -s gcc $root/usr/bin/cc
rcx@3325 116 fi
rcx@3325 117 }