Line 55... |
Line 55... |
|
|
# --force
|
# --force
|
# Ensure the unified source directory and build directories are
|
# Ensure the unified source directory and build directories are
|
# recreated. Only build directories of targets being built are removed.
|
# recreated. Only build directories of targets being built are removed.
|
|
|
|
# --languages <str>
|
|
# Specify the languages to be built (default c,c++).
|
|
|
# --prefix <dir>
|
# --prefix <dir>
|
# Specify the install directory (default /opt/or32-new)
|
# Specify the install directory (default /opt/or32-new)
|
|
|
# --prefix-tmp <dir>
|
# --prefix-tmp <dir>
|
# Specify the temporary install directory (default /tmp/or32-tmp-${USER}).
|
# Specify the temporary install directory (default /tmp/or32-tmp-${USER}).
|
Line 157... |
Line 160... |
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
# Set the default values of all parameters
|
# Set the default values of all parameters
|
function set_defaults {
|
function set_defaults {
|
# Public params
|
# Public params
|
force_flag="false"
|
force_flag="false"
|
|
languages="c,c++"
|
prefix="/opt/or32-new"
|
prefix="/opt/or32-new"
|
prefix_tmp="/tmp/or32-tmp-${USER}"
|
prefix_tmp="/tmp/or32-tmp-${USER}"
|
unisrc_dir="unisrc"
|
unisrc_dir="unisrc"
|
bd_elf="bd-elf"
|
bd_elf="bd-elf"
|
bd_elf_gdb="bd-elf-gdb"
|
bd_elf_gdb="bd-elf-gdb"
|
Line 170... |
Line 174... |
binutils_dir="binutils-2.20.1"
|
binutils_dir="binutils-2.20.1"
|
gcc_dir="gcc-4.5.1"
|
gcc_dir="gcc-4.5.1"
|
newlib_dir="newlib-1.18.0"
|
newlib_dir="newlib-1.18.0"
|
uclibc_dir="uclibc-0.9.31"
|
uclibc_dir="uclibc-0.9.31"
|
gdb_dir="gdb-7.2"
|
gdb_dir="gdb-7.2"
|
linux_dir="linux-2.6.35"
|
linux_dir="linux-2.6.36"
|
or32_elf_flag="true"
|
or32_elf_flag="true"
|
or32_linux_flag="true"
|
or32_linux_flag="true"
|
link_flag="true"
|
link_flag="true"
|
config_flag="true"
|
config_flag="true"
|
build_flag="true"
|
build_flag="true"
|
Line 212... |
Line 216... |
in
|
in
|
--force)
|
--force)
|
force_flag="true";
|
force_flag="true";
|
;;
|
;;
|
|
|
|
--languages)
|
|
languages=$2;
|
|
shift;
|
|
;;
|
|
|
--prefix)
|
--prefix)
|
prefix=$2;
|
prefix=$2;
|
shift;
|
shift;
|
;;
|
;;
|
|
|
Line 337... |
Line 346... |
cat <<EOF;
|
cat <<EOF;
|
--force
|
--force
|
Ensure the unified source directory and build directories are
|
Ensure the unified source directory and build directories are
|
recreated. Only build directories of targets being built are removed.
|
recreated. Only build directories of targets being built are removed.
|
|
|
|
--languages <str>
|
|
Specify the languages to be built (default c,c++).
|
|
|
--prefix <dir>
|
--prefix <dir>
|
Specify the install directory (default /opt/or32-new)
|
Specify the install directory (default /opt/or32-new)
|
|
|
--prefix-tmp <dir>
|
--prefix-tmp <dir>
|
Specify the temporary install directory (default /tmp/or32-tmp-${USER}).
|
Specify the temporary install directory (default /tmp/or32-tmp-${USER}).
|
Line 588... |
Line 600... |
verstr="OpenRISC 32-bit toolchain for ${target} (built `date +%Y%m%d`)"
|
verstr="OpenRISC 32-bit toolchain for ${target} (built `date +%Y%m%d`)"
|
|
|
mkdir -p ${top_builddir} && \
|
mkdir -p ${top_builddir} && \
|
cd ${top_builddir} && \
|
cd ${top_builddir} && \
|
${top_srcdir}/configure --target=${target} \
|
${top_srcdir}/configure --target=${target} \
|
--with-pkgversion="${verstr}" \
|
--with-pkgversion="${verstr}" --disable-shared \
|
--with-bugurl=http://www.opencores.org/ \
|
--with-bugurl=http://www.opencores.org/ \
|
--with-or1ksim=${or1ksim_dir} \
|
--with-or1ksim=${or1ksim_dir} \
|
--enable-fast-install=N/A --disable-libssp \
|
--enable-fast-install=N/A --disable-libssp \
|
--enable-languages=${langs} --prefix=${this_prefix} $*
|
--enable-languages=${langs} --prefix=${this_prefix} $*
|
|
|
Line 726... |
Line 738... |
|
|
} # install_linux_headers
|
} # install_linux_headers
|
|
|
|
|
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
# Conditionally configure uClibc
|
# Conditionally configure uClibc. Clean before configuring.
|
|
|
# @param[in] $1 The prefix to use for installation.
|
# @param[in] $1 The prefix to use for installation.
|
function uclibc_config {
|
function uclibc_config {
|
|
|
if [ "true" == "${config_flag}" ]
|
if [ "true" == "${config_flag}" ]
|
Line 753... |
Line 765... |
then
|
then
|
echo "uClibc sed failed"
|
echo "uClibc sed failed"
|
exit 1
|
exit 1
|
fi
|
fi
|
|
|
|
make ARCH=or32 clean
|
|
|
|
if [ $? != 0 ];
|
|
then
|
|
echo "uClibc clean failed"
|
|
exit 1
|
|
fi
|
|
|
make ARCH=or32 defconfig
|
make ARCH=or32 defconfig
|
|
|
if [ $? != 0 ];
|
if [ $? != 0 ];
|
then
|
then
|
echo "uClibc configure failed"
|
echo "uClibc configure failed"
|
Line 837... |
Line 857... |
echo -n "bld-all.sh: removing ${bd_elf} ${bd_elf_gdb} "
|
echo -n "bld-all.sh: removing ${bd_elf} ${bd_elf_gdb} "
|
rm -rf ${bd_elf} ${bd_elf_gdb}
|
rm -rf ${bd_elf} ${bd_elf_gdb}
|
fi
|
fi
|
|
|
# Configure all
|
# Configure all
|
gnu_config ${config_flag} ${prefix} ${bd_elf} ../${unisrc_dir} "c,c++" \
|
gnu_config ${config_flag} ${prefix} ${bd_elf} ../${unisrc_dir} \
|
"${newlib_config}"
|
"${languages}" "${newlib_config}"
|
gnu_config ${config_flag} ${prefix} ${bd_elf_gdb} ../${gdb_dir} "c,c++"
|
gnu_config ${config_flag} ${prefix} ${bd_elf_gdb} ../${gdb_dir} \
|
|
"${languages}"
|
|
|
# Build all
|
# Build all
|
gnu_make ${build_flag} ${bd_elf} all-build all-binutils all-gas all-ld
|
gnu_make ${build_flag} ${bd_elf} all-build all-binutils all-gas all-ld
|
gnu_make ${build_flag} ${bd_elf} all-gcc
|
gnu_make ${build_flag} ${bd_elf} all-gcc
|
gnu_make ${build_flag} ${bd_elf} all-target-libgcc all-target-libstdc++-v3 \
|
gnu_make ${build_flag} ${bd_elf} all-target-libgcc all-target-libstdc++-v3 \
|
Line 885... |
Line 906... |
|
|
# Make a clean temporary install directory.
|
# Make a clean temporary install directory.
|
rm -rf ${prefix_tmp}
|
rm -rf ${prefix_tmp}
|
mkdir ${prefix_tmp}
|
mkdir ${prefix_tmp}
|
|
|
|
# To create the headers we only use C
|
gnu_config ${config_flag} ${prefix_tmp} ${bd_linux} ../${unisrc_dir} \
|
gnu_config ${config_flag} ${prefix_tmp} ${bd_linux} ../${unisrc_dir} \
|
"c" "--without-headers --enable-threads=single"
|
"c" "--without-headers --enable-threads=single"
|
gnu_make ${build_flag} ${bd_linux} all-build all-binutils all-gas all-ld
|
gnu_make ${build_flag} ${bd_linux} all-build all-binutils all-gas all-ld
|
gnu_make ${build_flag} ${bd_linux} all-gcc
|
gnu_make ${build_flag} ${bd_linux} all-gcc
|
gnu_make ${build_flag} ${bd_linux} all-target-libgcc
|
gnu_make ${build_flag} ${bd_linux} all-target-libgcc
|
Line 921... |
Line 943... |
|
|
# FIXME: uclibc is supposed to provide thread support, but doesn't.
|
# FIXME: uclibc is supposed to provide thread support, but doesn't.
|
thread_hack="--disable-threads --disable-libgomp"
|
thread_hack="--disable-threads --disable-libgomp"
|
|
|
gnu_config ${config_flag} ${prefix} ${bd_linux} ../${unisrc_dir} \
|
gnu_config ${config_flag} ${prefix} ${bd_linux} ../${unisrc_dir} \
|
"c,c++" \
|
"${languages}" \
|
"--with-headers=${prefix_tmp}/or32-linux/include $thread_hack"
|
"--with-headers=${prefix_tmp}/or32-linux/include $thread_hack"
|
gnu_make ${build_flag} ${bd_linux} all-build all-binutils all-gas all-ld
|
gnu_make ${build_flag} ${bd_linux} all-build all-binutils all-gas all-ld
|
gnu_make ${build_flag} ${bd_linux} all-gcc
|
gnu_make ${build_flag} ${bd_linux} all-gcc
|
gnu_make ${build_flag} ${bd_linux} all-target-libgcc
|
gnu_make ${build_flag} ${bd_linux} all-target-libgcc
|
gnu_make ${install_flag} ${bd_linux} install-binutils install-gas \
|
gnu_make ${install_flag} ${bd_linux} install-binutils install-gas \
|
Line 946... |
Line 968... |
gnu_make ${install_flag} ${bd_linux} install-target-libstdc++-v3
|
gnu_make ${install_flag} ${bd_linux} install-target-libstdc++-v3
|
fi
|
fi
|
|
|
# Configure, build and install GDB (note we need to reconfigure in case
|
# Configure, build and install GDB (note we need to reconfigure in case
|
# only stage1 has been run previously).
|
# only stage1 has been run previously).
|
gnu_config ${config_flag} ${prefix} ${bd_linux_gdb} ../${gdb_dir} "c,c++"
|
gnu_config ${config_flag} ${prefix} ${bd_linux_gdb} ../${gdb_dir} \
|
|
"${languages}"
|
gnu_make ${build_flag} ${bd_linux_gdb} all-build all-sim all-gdb
|
gnu_make ${build_flag} ${bd_linux_gdb} all-build all-sim all-gdb
|
gnu_make ${install_flag} ${bd_linux_gdb} install-sim install-gdb
|
gnu_make ${install_flag} ${bd_linux_gdb} install-sim install-gdb
|
fi
|
fi
|
|
|
No newline at end of file
|
No newline at end of file
|