Compare commits

...

10 Commits

Author SHA1 Message Date
Ingo Weinhold
1e30b3120c Fixed creating the "current" symlink. Spotted by Stippi.
git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@39409 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-11-12 10:02:58 +00:00
Ingo Weinhold
5c3390ac15 * Add an include/g++ symlink in the package. Apparently it isn't created by
"make install" anymore.
* Add the "current" symlink in the ".../tools" directory.


git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@39406 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-11-11 22:47:18 +00:00
Ingo Weinhold
d436eaa1b8 Script to build a gcc 4 optional package from the sources.
git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@39405 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-11-11 21:33:22 +00:00
Ingo Weinhold
4813397466 Updated instructions.
git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@39404 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-11-11 21:32:31 +00:00
Fredrik Holmqvist
d1a8102665 Enable O3 optimization for Jam.
git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@39056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-23 07:31:08 +00:00
François Revol
5e6384156e I now get Archive actions too long (max 40960)! on OSX, so enlarge it a little.
git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@38590 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 22:15:37 +00:00
Oliver Tappe
7eb32704ba * added autom4te.cache to svn:ignore, which seems to have been created due to the
updated config.guess and/or config.sub


git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@38453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-30 16:14:19 +00:00
Oliver Tappe
b4eb6056d7 Part of #3298:
* applied patch by VinDuv that allows to build the legacy buildtools on Mac OS X
  - thanks!


git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@38452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-30 16:07:21 +00:00
Oliver Tappe
3019b27ced Part of #3298:
* applied (slightly changed) patch by VinDuv that updates config.guess and 
  config.sub in order to be able to build the legacy buildtools on Mac OS X
  - thanks!


git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@38451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-30 16:06:12 +00:00
Oliver Tappe
3f8e71737b Fix #5971:
* bump version of legacy compiler to match the expectations in our configure 
  script


git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@38383 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-27 00:05:59 +00:00
11 changed files with 1916 additions and 775 deletions

View File

@@ -1,19 +1,22 @@
How to build gcc-4.3 natively on Haiku:
How to build gcc-4.4 natively on Haiku:
checkout the buildtools from the haiku repository
cd into the buildtools folder (where this file lives)
declare the current gcc-version-date like this:
export GCCDATE=100421
(just use the current date instead of '100421')
export GCCVERSION=gcc-4.4.4-haiku-${GCCDATE}
(just use the current date instead of '100421' and the current gcc version
instead of '4.4.4')
compile binutils:
mkdir binutils-obj
cd binutils-obj
CFLAGS="-O2" CXXFLAGS="-O2" ../binutils/configure \
--prefix=/boot/develop/abi/x86/gcc4/tools/gcc-4.3.3-haiku-${GCCDATE} \
--disable-nls --enable-shared=yes
--prefix=/boot/develop/abi/x86/gcc4/tools/${GCCVERSION} \
--disable-nls --enable-shared=yes \
--with-htmldir=html-docs
make -j2
cd ..
@@ -22,21 +25,20 @@ compile gcc:
mkdir gcc-obj
cd gcc-obj
CFLAGS="-O2" CXXFLAGS="-O2" ../gcc/configure \
--prefix=/boot/develop/abi/x86/gcc4/tools/gcc-4.3.3-haiku-${GCCDATE} \
--prefix=/boot/develop/abi/x86/gcc4/tools/${GCCVERSION} \
--enable-shared --enable-languages=c,c++ \
--disable-nls --without-libiconv-prefix --disable-libstdcxx-pch
--disable-nls --without-libiconv-prefix --disable-libstdcxx-pch \
--with-htmldir=html-docs
make -j2 bootstrap
cd ..
Ok, now everything is compiled and ready, waiting to be installed:
mkdir /boot/develop/abi/x86/gcc4/tools/gcc-4.3.3-haiku-${GCCDATE}
mkdir /boot/develop/abi/x86/gcc4/tools/${GCCVERSION}
cd binutils-obj
make install
cd ..
cd gcc-obj
make install
cd ..
ln -sfn gcc-4.3.3-haiku-${GCCDATE} /boot/develop/abi/x86/gcc4/tools/current
make install install-html
cd ../gcc-obj
make install install-html
ln -sfn ${GCCVERSION} /boot/develop/abi/x86/gcc4/tools/current
Please send questions & bug-reports to: Oliver Tappe <gcc@hirschkaefer.de>

View File

@@ -0,0 +1,158 @@
#!/bin/sh
#
# Builds an GCC (optional) package from the sources.
usage()
{
echo "Usage: $0 [ <options> ] <gcc date>"
}
# get the relevant directories
currentDir=`pwd`
cd `dirname "$0"`
buildtoolsDir=`pwd`
cd "$currentDir"
binutilsSources="$buildtoolsDir/binutils"
gccSources="$buildtoolsDir/gcc"
buildDir="$currentDir/gcc-objects"
binutilsBuildDir="$buildDir/binutils"
gccBuildDir="$buildDir/gcc"
# parse the arguments
jobArgs=
while [ $# -gt 0 ]; do
case "$1" in
-h|--help) usage; exit 0;;
-j*) jobArgs="$1"; shift 1;;
*) break;;
esac
done
# get the GCC date
if [ $# -ne 1 ]; then
usage >&2
exit 1
fi
gccDate=$1
case "$gccDate" in
[0-9][0-9][0-9][0-9][0-9][0-9]) true;;
*) echo "Invalid GCC date string '$gccDate'." >&2; exit 1;;
esac
# get the GCC version
gccVersion=`cat $gccSources/gcc/BASE-VER`
if [ -z "$gccVersion" ]; then
echo "Failed to get GCC version." >&2
exit 1
fi
gccVersionedName=gcc-${gccVersion}-haiku-${gccDate}
# get the architecture
gccArch=`uname -m`
case $gccArch in
BePC) gccArch=x86;;
*) echo "Unsupported architecture: '$gccArch'" >&2; exit 1;;
esac
# check whether the installation dir does already exit
installDir=/boot/develop/abi/$gccArch/gcc4/tools/$gccVersionedName
if [ -e "$installDir" ]; then
echo "The installation directory '$installDir' does already exist." >&2
echo "Remove it first." >&2
exit 1
fi
# print some info before we start the action
echo "Building binutils and gcc optional packages from the source."
echo "sources: $buildtoolsDir"
echo "build dir: $buildDir"
echo "GCC date: $gccDate"
echo "GCC version: $gccVersion"
echo "install dir: $installDir"
echo
echo "This is going to take a while ..."
sleep 3
# From now on fail, if anything goes wrong.
set -o errexit
# remove and recreate the build directories
rm -rf "$buildDir"
mkdir -p "$binutilsBuildDir" "$gccBuildDir"
# build and install the binutils
cd "$binutilsBuildDir"
CFLAGS="-O2" CXXFLAGS="-O2" "$binutilsSources/configure" \
--prefix="$installDir" --disable-nls --enable-shared=yes \
--with-htmldir=html-docs
make $jobArgs
make install install-html
# build and install gcc
cd "$gccBuildDir"
CFLAGS="-O2" CXXFLAGS="-O2" "$gccSources/configure" \
--prefix="$installDir" --enable-shared --enable-languages=c,c++ \
--disable-nls --without-libiconv-prefix --disable-libstdcxx-pch \
--with-htmldir=html-docs
make $jobArgs bootstrap
make install install-html
# remove installed stuff we don't want
rm -rf "$installDir/info" "$installDir/man" "$installDir/share" \
"$installDir/lib/libstdc++.so"
# add C++ header symlink
ln -s c++/$gccVersion $installDir/include/g++
# zip everything up
gccVersionYear=20$(echo $GCCDATE | cut -c1-2)
gccVersionMonth=$(echo $GCCDATE | cut -c3-4)
gccVersionDay=$(echo $GCCDATE | cut -c5-6)
packageFile="$currentDir/gcc-${gccVersion}-${gccArch}-gcc4-${gccVersionYear}-${gccVersionMonth}-${gccVersionDay}.zip"
cd /boot
zip -ry "$packageFile" `echo $installDir | cut -d/ -f3-`
# add the "current" version symlink
cd "$buildDir"
mkdir -p develop/abi/x86/gcc4/tools/
ln -s $gccVersionedName develop/abi/x86/gcc4/tools/current
zip -y "$packageFile" develop/abi/x86/gcc4/tools/current
# add the optional package description
cd "$buildDir"
echo "Package: GCC
Version: ${gccVersion}-haiku-${gccDate}
Copyright: 1988-2010 Free Software Foundation, Inc.
License: GNU GPL v3
License: GNU LGPL v3
URL: http://www.gnu.org/software/gcc/
" > .OptionalPackageDescription
zip "$packageFile" .OptionalPackageDescription
# clean up
cd "$currentDir"
rm -rf "$buildDir"

View File

@@ -1,7 +1,7 @@
# Makefile for jam
CC = cc
CFLAGS =
CFLAGS = -O3
EXENAME = ./jam0
TARGET = -o $(EXENAME)
HOST_SYSTEM=$(shell uname)

View File

@@ -464,7 +464,7 @@
*/
# ifndef MAXLINE
# define MAXLINE 40960 /* longest 'together' actions' */
# define MAXLINE 51200 /* longest 'together' actions' */
# endif
# ifndef EXITOK

View File

@@ -141,9 +141,9 @@ M4 = `if [ -f $$r/m4/m4 ] ; \
then echo $$r/m4/m4 ; \
else echo ${DEFAULT_M4} ; fi`
MAKEINFO = `if [ -f $$r/texinfo/makeinfo/Makefile ] ; \
then echo $$r/texinfo/makeinfo/makeinfo ; \
else echo makeinfo ; fi`
MAKEINFO = `if [ -x /usr/bin/makeinfo ] ; \
then echo makeinfo ; \
else echo $$r/texinfo/makeinfo/makeinfo ; fi`
# This just becomes part of the MAKEINFO definition passed down to
# sub-makes. It lets flags be given on the command line while still

1569
legacy/gcc/config.guess vendored

File diff suppressed because it is too large Load Diff

912
legacy/gcc/config.sub vendored

File diff suppressed because it is too large Load Diff

View File

@@ -139,7 +139,9 @@ const int x86_deep_branch = m_PPRO| m_K6;
#define AT_BP(mode) (gen_rtx_MEM ((mode), frame_pointer_rtx))
extern FILE *asm_out_file;
#ifndef __APPLE__
extern char *strcat ();
#endif
static void ix86_epilogue PROTO((int));
static void ix86_prologue PROTO((int));

View File

@@ -3597,6 +3597,10 @@ for machine in $build $host $target; do
tm_file=i386/freebsd.h
tmake_file=t-freebsd
;;
i[34567]86-*-darwin*)
tm_file=i386/freebsd.h
tmake_file=t-freebsd
;;
i[34567]86-*-netbsd*)
tm_file=i386/netbsd.h
tmake_file=t-netbsd

View File

@@ -1205,6 +1205,12 @@ changequote([,])dnl
tm_file=i386/freebsd.h
tmake_file=t-freebsd
;;
changequote(,)dnl
i[34567]86-*-darwin*)
changequote([,])dnl
tm_file=i386/freebsd.h
tmake_file=t-freebsd
;;
changequote(,)dnl
i[34567]86-*-netbsd*)
changequote([,])dnl

View File

@@ -1 +1 @@
char *version_string = "2.95.3-haiku-100712";
char *version_string = "2.95.3-haiku-100818";