mirror of
https://review.haiku-os.org/buildtools
synced 2024-11-23 15:29:11 +01:00
Merge branch 'package-management'
This commit is contained in:
commit
6d82b40597
@ -1,4 +1,4 @@
|
||||
How to build gcc-2.95.3 for BeOS:
|
||||
How to build gcc-2.95.3 for Haiku:
|
||||
|
||||
cd into the buildtools/legacy folder
|
||||
|
||||
@ -13,7 +13,7 @@ compile binutils:
|
||||
mkdir binutils-obj
|
||||
cd binutils-obj
|
||||
LC_ALL=POSIX CFLAGS="-O2" CXXFLAGS="-O2" ../binutils/configure \
|
||||
--prefix=/boot/develop/abi/x86/gcc2/tools/gcc-2.95.3-haiku-${GCCDATE} \
|
||||
--prefix=/boot/common/develop/tools/gcc-2.95.3-${GCCDATE} \
|
||||
--disable-nls --enable-shared=yes
|
||||
LC_ALL=POSIX make
|
||||
cd ..
|
||||
@ -24,14 +24,14 @@ compile gcc:
|
||||
mkdir gcc-obj
|
||||
cd gcc-obj
|
||||
LC_ALL=POSIX CFLAGS="-O2" CXXFLAGS="-O2" ../gcc/configure \
|
||||
--prefix=/boot/develop/abi/x86/gcc2/tools/gcc-2.95.3-haiku-${GCCDATE} \
|
||||
--prefix=/boot/common/develop/tools/gcc-2.95.3-${GCCDATE} \
|
||||
--disable-nls --enable-shared=yes --enable-languages=c,c++
|
||||
LC_ALL=POSIX make bootstrap
|
||||
# the above will fail when compiling builtinbuf.cc, but we can ignore that
|
||||
# since it's trying to build libstdc++.so, which haiku provides anyway
|
||||
cd ..
|
||||
|
||||
Ok, now everything is compiled and ready, waiting to be installed:
|
||||
Ok, now everything is compiled and ready, waiting to be packaged:
|
||||
|
||||
mkdir /boot/develop/abi/x86/gcc2/tools/gcc-2.95.3-haiku-${GCCDATE}
|
||||
cd binutils-obj
|
||||
|
@ -1,171 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Builds a GCC package from the installation specified by $GCCDATE (or via the
|
||||
# arguments).
|
||||
# Usage: build-gcc2-optional-package-Haiku.sh [gcc-base-dir] [version]
|
||||
|
||||
if [ -d "$1" ]; then
|
||||
gcc_base=$1
|
||||
shift
|
||||
fi
|
||||
if [ "$(basename $(pwd))" = "buildtools" ]; then
|
||||
gcc_base=$(pwd)/legacy/gcc-obj
|
||||
echo "No exact GCC build directory given, assuming \"$gcc_base\""
|
||||
echo " (only needed for the HTML documentation)."
|
||||
fi
|
||||
|
||||
if [ "$1" == "" ]; then
|
||||
if [ "$GCCDATE" = "" ]; then
|
||||
echo "No GCC date version given!"
|
||||
echo "Either export GCCDATE, or pass the date as argument to this" \
|
||||
"script."
|
||||
echo "The date is given in the format 'yymmdd', ie. '100818'."
|
||||
exit
|
||||
fi
|
||||
else
|
||||
GCCDATE=$1
|
||||
fi
|
||||
|
||||
current_dir=$(pwd)
|
||||
base=/boot/develop/abi/x86/gcc2/tools/gcc-2.95.3-haiku-$GCCDATE
|
||||
if [ ! -d "$base" ]; then
|
||||
echo GCC directory \"$base\" does not exist, so we start a build ...
|
||||
echo "This is going to take a while ..."
|
||||
sleep 3
|
||||
|
||||
# From now on fail, if anything goes wrong.
|
||||
set -o errexit
|
||||
|
||||
# forcefeed the POSIX locale, as the build (makeinfo) might choke otherwise
|
||||
export LC_ALL=POSIX
|
||||
|
||||
cd $gcc_base/..
|
||||
|
||||
rm -rf binutils-obj
|
||||
mkdir binutils-obj
|
||||
cd binutils-obj
|
||||
CFLAGS="-O2" CXXFLAGS="-O2" ../binutils/configure \
|
||||
--prefix=/boot/develop/abi/x86/gcc2/tools/gcc-2.95.3-haiku-${GCCDATE} \
|
||||
--disable-nls --enable-shared=yes
|
||||
make
|
||||
cd ..
|
||||
|
||||
(cd gcc/gcc; touch c-parse.{h,c} cexp.c cp/parse.{c,h} c-gperf.h)
|
||||
|
||||
rm -rf gcc-obj
|
||||
mkdir gcc-obj
|
||||
cd gcc-obj
|
||||
CFLAGS="-O2" CXXFLAGS="-O2" ../gcc/configure \
|
||||
--prefix=/boot/develop/abi/x86/gcc2/tools/gcc-2.95.3-haiku-${GCCDATE} \
|
||||
--disable-nls --enable-shared=yes --enable-languages=c,c++
|
||||
# hack the Makefile to avoid trouble with stuff we don't need anyway
|
||||
sedExpr=
|
||||
for toRemove in libio libjava libobjc libstdc++; do
|
||||
sedExpr="$sedExpr -e 's@^\(TARGET_CONFIGDIRS =.*\)$toRemove\(.*\)@\1\2@'"
|
||||
done
|
||||
echo sedExpr: $sedExpr
|
||||
mv Makefile Makefile.bak || exit 1
|
||||
eval "sed $sedExpr Makefile.bak > Makefile" || exit 1
|
||||
rm Makefile.bak
|
||||
# build gcc
|
||||
make bootstrap
|
||||
cd ..
|
||||
|
||||
mkdir /boot/develop/abi/x86/gcc2/tools/gcc-2.95.3-haiku-${GCCDATE}
|
||||
cd binutils-obj
|
||||
make install
|
||||
cd ..
|
||||
cd gcc-obj
|
||||
make install
|
||||
cd ..
|
||||
ln -sfn gcc-2.95.3-haiku-${GCCDATE} /boot/develop/abi/x86/gcc2/tools/current
|
||||
fi
|
||||
|
||||
### HTML documentation ####################################
|
||||
|
||||
html_base=$base/html-docs
|
||||
if [ ! -d "$html_base" ]; then
|
||||
if [ "$gcc_base" = "" ]; then
|
||||
echo "No GCC build directory given, cannot build HTML documenation."
|
||||
exit
|
||||
fi
|
||||
|
||||
echo "Building HTML documentation..."
|
||||
mkdir $html_base
|
||||
cd $html_base
|
||||
|
||||
makeinfo --html $gcc_base/../gcc/gcc/cpp.texi
|
||||
makeinfo --html $gcc_base/../gcc/gcc/gcc.texi
|
||||
makeinfo --html $gcc_base/../binutils/libiberty/libiberty.texi
|
||||
|
||||
ln -sf cpp/index.html $html_base/cpp.html
|
||||
ln -sf gcc/index.html $html_base/gcc.html
|
||||
ln -sf libiberty/index.html $html_base/libiberty.html
|
||||
fi
|
||||
if [ -d "$base/share/doc" ]; then
|
||||
echo "Adding binutils HTML documentation..."
|
||||
|
||||
mv $base/share/doc/as.html $html_base/as
|
||||
mv $base/share/doc/binutils.html $html_base/binutils
|
||||
mv $base/share/doc/gprof.html $html_base/gprof
|
||||
mv $base/share/doc/ld.html $html_base/ld
|
||||
#mv $base/share/doc/configure.html $html_base/
|
||||
|
||||
ln -sf as/index.html $html_base/as.html
|
||||
ln -sf binutils/index.html $html_base/binutils.html
|
||||
ln -sf gprof/index.html $html_base/gprof.html
|
||||
ln -sf ld/index.html $html_base/ld.html
|
||||
fi
|
||||
if [ ! -e "$html_base/as.html" ]; then
|
||||
echo "binutils HTML documentation missing, see" \
|
||||
"INSTALL-gcc2-from-source-Haiku."
|
||||
fi
|
||||
|
||||
if [ -d $base/man -o -d $base/info -o -d $base/share ]; then
|
||||
echo "Removing legacy files (man/info/share)..."
|
||||
rm -rf $base/man
|
||||
rm -rf $base/info
|
||||
rm -rf $base/share
|
||||
fi
|
||||
rm -f $base/lib/gcc-lib/i586-pc-haiku/2.95.3-haiku-$GCCDATE/include/math.h
|
||||
|
||||
|
||||
### C++ includes ######################################
|
||||
|
||||
echo "Install C++ includes"
|
||||
|
||||
rm -rf $base/include/g++
|
||||
ln -snf /boot/develop/headers/cpp $base/include/g++
|
||||
|
||||
|
||||
### zip archive ###########################################
|
||||
|
||||
echo "Building ZIP archive..."
|
||||
|
||||
current_gcc=$(setgcc | cut -d/ -f 2)
|
||||
version_year=20$(echo $GCCDATE | cut -c1-2)
|
||||
version_month=$(echo $GCCDATE | cut -c3-4)
|
||||
version_day=$(echo $GCCDATE | cut -c5-6)
|
||||
zip_name="$current_dir/gcc-2.95.3-x86-$current_gcc-$version_year-$version_month-$version_day.zip"
|
||||
|
||||
cd /boot
|
||||
zip_base=$(echo $base | cut -d/ -f3-)
|
||||
rm -f $zip_name
|
||||
zip -yr $zip_name $zip_base
|
||||
|
||||
current_name=develop/abi/x86/gcc2/tools/current
|
||||
ln -snf gcc-2.95.3-haiku-$GCCDATE $current_name
|
||||
zip -yr $zip_name $current_name
|
||||
|
||||
|
||||
### optional package description ##########################
|
||||
|
||||
echo "Package: GCC
|
||||
Version: 2.95.3-haiku-$GCCDATE
|
||||
Copyright: 1988-2000 Free Software Foundation, Inc.
|
||||
License: GNU GPL v2
|
||||
License: GNU LGPL v2
|
||||
URL: http://www.gnu.org/software/gcc/" > /tmp/.OptionalPackageDescription
|
||||
|
||||
cd /tmp
|
||||
zip -yr $zip_name .OptionalPackageDescription
|
||||
rm .OptionalPackageDescription
|
180
build-gcc2-package-Haiku.sh
Executable file
180
build-gcc2-package-Haiku.sh
Executable file
@ -0,0 +1,180 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Builds a GCC package from the sources.
|
||||
#
|
||||
# Usage: build-gcc2-package-Haiku.sh <version date> <release>
|
||||
# <version date> must be version date string formatted YYMMDD.
|
||||
# <release> must be a number between 1 and 99.
|
||||
|
||||
# get version date and release parameters
|
||||
if [ $# -ne 2 ]; then
|
||||
echo "Usage: $0 <version date YYMMDD> <release>" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
export GCCDATE=$1
|
||||
release=$2
|
||||
|
||||
# get current dir and buildtools dir
|
||||
currentDir="$(pwd)/build-gcc-package"
|
||||
rm -rf "$currentDir"
|
||||
mkdir "$currentDir"
|
||||
cd "$(dirname $0)"
|
||||
buildtoolsDir="$(pwd)/legacy"
|
||||
cd "$currentDir"
|
||||
|
||||
# prepare an install dir with a .PackageInfo
|
||||
installDir="$currentDir/install"
|
||||
rm -rf "$installDir"
|
||||
mkdir "$installDir"
|
||||
|
||||
version=2.95.3_${GCCDATE}
|
||||
|
||||
packageInfoFile="package-info"
|
||||
|
||||
cat > "$packageInfoFile" << ENDOFHERE
|
||||
name gcc
|
||||
version $version-$release
|
||||
architecture x86_gcc2
|
||||
summary "c/c++ compiler"
|
||||
description "standard compiler for x86_gcc2 platform, ABI-compatible with BeOS R5"
|
||||
packager "Oliver Tappe <zooey@hirschkaefer.de>"
|
||||
vendor "Haiku Project"
|
||||
copyrights "1988-2000 Free Software Foundation, Inc."
|
||||
licenses {
|
||||
"GNU GPL v2"
|
||||
"GNU LGPL v2"
|
||||
}
|
||||
provides {
|
||||
gcc = $version compat >= 2.95.3
|
||||
binutils = 2.17_$GCCDATE compat >= 2.17
|
||||
}
|
||||
requires {
|
||||
haiku >= r1-alpha3
|
||||
haiku-devel >= r1-alpha3
|
||||
}
|
||||
ENDOFHERE
|
||||
|
||||
# create a build package
|
||||
versionedPackageName=gcc-$version-$release
|
||||
packageFileName="$versionedPackageName-x86_gcc2.hpkg"
|
||||
packageFile="$currentDir/$packageFileName"
|
||||
|
||||
echo "Creating build package..."
|
||||
package create -b -I "$installDir" -i "$packageInfoFile" $packageFile ||
|
||||
exit 1
|
||||
|
||||
# activate the package
|
||||
rm -f /boot/common/packages/$packageFileName
|
||||
ln -s "$packageFile" /boot/common/packages
|
||||
|
||||
finalInstallDir="/packages/$versionedPackageName/.self"
|
||||
|
||||
sleep 1
|
||||
|
||||
if [ ! -e "$finalInstallDir" ]; then
|
||||
echo "Activating the build package failed!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
gccInstallDir="$finalInstallDir/develop/tools/gcc-2.95.3-${GCCDATE}"
|
||||
mkdir -p "$gccInstallDir"
|
||||
|
||||
# build binutils
|
||||
mkdir binutils-obj
|
||||
cd binutils-obj
|
||||
CFLAGS="-O2" CXXFLAGS="-O2" "$buildtoolsDir/binutils/configure" \
|
||||
--prefix=$gccInstallDir \
|
||||
--disable-nls --enable-shared=yes || exit 1
|
||||
make || exit 1
|
||||
make install || exit 1
|
||||
cd ..
|
||||
|
||||
# build gcc
|
||||
mkdir gcc-obj
|
||||
cd gcc-obj
|
||||
CFLAGS="-O2" CXXFLAGS="-O2" "$buildtoolsDir/gcc/configure" \
|
||||
--prefix=$gccInstallDir \
|
||||
--disable-nls --enable-shared=yes --enable-languages=c,c++ || exit 1
|
||||
make bootstrap
|
||||
# the above will fail when compiling builtinbuf.cc, but we can ignore that
|
||||
# since it's trying to build libstdc++.so, which haiku provides anyway
|
||||
make install || exit 1
|
||||
cd ..
|
||||
|
||||
|
||||
base=$gccInstallDir
|
||||
|
||||
### HTML documentation ####################################
|
||||
|
||||
html_base=$base/html-docs
|
||||
if [ ! -d "$html_base" ]; then
|
||||
echo "Building HTML documentation..."
|
||||
mkdir $html_base
|
||||
cd $html_base
|
||||
|
||||
makeinfo --html "$buildtoolsDir/gcc/gcc/cpp.texi"
|
||||
makeinfo --html "$buildtoolsDir/gcc/gcc/gcc.texi"
|
||||
makeinfo --html "$buildtoolsDir/binutils/libiberty/libiberty.texi"
|
||||
makeinfo --force --html "$buildtoolsDir/gcc/libio/iostream.texi"
|
||||
|
||||
ln -sf cpp/index.html $html_base/cpp.html
|
||||
ln -sf gcc/index.html $html_base/gcc.html
|
||||
ln -sf libiberty/index.html $html_base/libiberty.html
|
||||
ln -sf iostream/index.html $html_base/iostream.html
|
||||
fi
|
||||
if [ -d "$base/share/doc" ]; then
|
||||
echo "Adding binutils HTML documentation..."
|
||||
|
||||
mv $base/share/doc/as.html $html_base/as
|
||||
mv $base/share/doc/binutils.html $html_base/binutils
|
||||
mv $base/share/doc/gprof.html $html_base/gprof
|
||||
mv $base/share/doc/ld.html $html_base/ld
|
||||
#mv $base/share/doc/configure.html $html_base/
|
||||
|
||||
ln -sf as/index.html $html_base/as.html
|
||||
ln -sf binutils/index.html $html_base/binutils.html
|
||||
ln -sf gprof/index.html $html_base/gprof.html
|
||||
ln -sf ld/index.html $html_base/ld.html
|
||||
fi
|
||||
if [ ! -e "$html_base/as.html" ]; then
|
||||
echo "binutils HTML documentation missing, see" \
|
||||
"INSTALL-gcc2-from-source-Haiku."
|
||||
fi
|
||||
|
||||
### Cleanup ###############################################
|
||||
|
||||
echo "Cleanup"
|
||||
|
||||
cd $base/bin
|
||||
for binary in ../i586-pc-haiku/bin/*; do
|
||||
ln -sfn $binary .
|
||||
done
|
||||
|
||||
if [ -d $base/man -o -d $base/info -o -d $base/share ]; then
|
||||
rm -rf $base/man
|
||||
rm -rf $base/info
|
||||
rm -rf $base/share
|
||||
fi
|
||||
|
||||
rm -f $base/lib/gcc-lib/i586-pc-haiku/2.95.3-haiku-$GCCDATE/include/math.h
|
||||
|
||||
### C++ includes ######################################
|
||||
|
||||
echo "Install C++ includes & library"
|
||||
|
||||
rm -rf $base/include/g++
|
||||
ln -snf /boot/system/develop/headers/c++/2.95.3 $base/include/g++
|
||||
|
||||
ln -snf /boot/system/lib/libstdc++.r4.so $base/lib/
|
||||
ln -snf /boot/system/lib/libstdc++.so $base/lib/
|
||||
|
||||
### package ###########################################
|
||||
|
||||
echo "Building package ..."
|
||||
|
||||
cd "$currentDir"
|
||||
mimeset -F "$installDir"
|
||||
package create -C "$installDir" -i "$packageInfoFile" $packageFile || exit 1
|
||||
|
||||
echo "Built package $packageInfoFile successfully."
|
@ -98,6 +98,8 @@ build_objdir := $(toplevel_builddir)/$(build_subdir)
|
||||
build_libobjdir := $(toplevel_builddir)/$(build_libsubdir)
|
||||
target_objdir := $(toplevel_builddir)/$(target_subdir)
|
||||
|
||||
HYBRID_SECONDARY = @HYBRID_SECONDARY@
|
||||
|
||||
# --------
|
||||
# Defined vpaths
|
||||
# --------
|
||||
@ -2102,6 +2104,10 @@ DRIVER_DEFINES = \
|
||||
`test "X$${SHLIB}" = "X" || test "@enable_shared@" != "yes" || echo "-DENABLE_SHARED_LIBGCC"` \
|
||||
-DCONFIGURE_SPECS="\"@CONFIGURE_SPECS@\""
|
||||
|
||||
ifneq ($(HYBRID_SECONDARY),)
|
||||
DRIVER_DEFINES += -DHYBRID_SECONDARY="\"$(HYBRID_SECONDARY)\""
|
||||
endif
|
||||
|
||||
gcc.o: gcc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) intl.h multilib.h \
|
||||
Makefile $(lang_specs_files) specs.h prefix.h $(GCC_H) $(FLAGS_H) \
|
||||
configargs.h $(OBSTACK_H) $(OPTS_H) $(DIAGNOSTIC_H) $(VEC_H) $(PARAMS_H)
|
||||
@ -3959,7 +3965,7 @@ $(genprogerr:%=build/gen%$(build_exeext)): $(BUILD_ERRORS)
|
||||
genprog = $(genprogerr) check checksum condmd
|
||||
|
||||
# These programs need libs over and above what they get from the above list.
|
||||
build/genautomata$(build_exeext) : BUILD_LIBS += @math_library@
|
||||
build/genautomata$(build_exeext) : BUILD_LIBS += @build_math_library@
|
||||
|
||||
# These programs are not linked with the MD reader.
|
||||
build/gengtype$(build_exeext) : build/gengtype-lex.o build/gengtype-parse.o \
|
||||
@ -4008,6 +4014,10 @@ PREPROCESSOR_DEFINES = \
|
||||
-DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \
|
||||
@TARGET_SYSTEM_ROOT_DEFINE@
|
||||
|
||||
ifneq ($(HYBRID_SECONDARY),)
|
||||
PREPROCESSOR_DEFINES += -DHYBRID_SECONDARY="\"$(HYBRID_SECONDARY)\""
|
||||
endif
|
||||
|
||||
CFLAGS-cppbuiltin.o += $(PREPROCESSOR_DEFINES) -DBASEVER=$(BASEVER_s)
|
||||
cppbuiltin.o: cppbuiltin.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
|
||||
$(TREE_H) cppbuiltin.h Makefile
|
||||
|
@ -68,105 +68,131 @@ Boston, MA 02111-1307, USA. */
|
||||
#undef ENDFILE_SPEC
|
||||
#define ENDFILE_SPEC "crtend.o%s crtn.o%s"
|
||||
|
||||
/* For native compiler, use standard Haiku include file search paths
|
||||
rooted in /boot/develop/headers. For a cross compiler, don't
|
||||
expect the host to use the Haiku directory scheme, and instead look
|
||||
for the Haiku include files relative to TOOL_INCLUDE_DIR. Yes, we
|
||||
use ANSI string concatenation here (FIXME) */
|
||||
|
||||
#ifndef CROSS_DIRECTORY_STRUCTURE
|
||||
#undef INCLUDE_DEFAULTS
|
||||
#ifdef HYBRID_SECONDARY
|
||||
/* For a secondary compiler on a hybrid system, use alternative search paths.*/
|
||||
#define INCLUDE_DEFAULTS \
|
||||
{ \
|
||||
{ \
|
||||
{ GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, 0, 0 }, \
|
||||
{ GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, 0, 0 }, \
|
||||
{ GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, 0, 0 }, \
|
||||
{ GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, \
|
||||
{ FIXED_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, \
|
||||
{ TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0 }, \
|
||||
{ "/boot/common/include", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/app", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/device", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/drivers", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/game", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/interface", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/kernel", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/locale", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/mail", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/media", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/midi", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/midi2", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/net", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/opengl", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/storage", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/support", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/translation", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/add-ons/graphics", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/add-ons/input_server", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/add-ons/screen_saver", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/add-ons/tracker", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/be_apps/Deskbar", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/be_apps/NetPositive", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/os/be_apps/Tracker", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/cpp", 0, 1, 1, 0, 0 }, \
|
||||
{ "/boot/develop/headers/3rdparty", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/bsd", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/glibc", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/gnu", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers/posix", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/develop/headers", 0, 0, 0, 0, 0 }, \
|
||||
{ "/boot/common/non-packaged/develop/headers/" HYBRID_SECONDARY, 0, 0, 0, 1, 0 }, \
|
||||
{ "/boot/common/develop/headers/" HYBRID_SECONDARY, 0, 0, 0, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/app", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/device", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/drivers", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/game", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/interface", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/kernel", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/locale", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/mail", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/media", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/midi", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/midi2", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/net", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/opengl", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/storage", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/support", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/translation", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/add-ons/graphics", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/add-ons/input_server", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/add-ons/mail_daemon", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/add-ons/registrar", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/add-ons/screen_saver", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/add-ons/tracker", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/be_apps/Deskbar", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/be_apps/NetPositive", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/be_apps/Tracker", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/3rdparty", 0, 0, 0, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/bsd", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/glibc", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/gnu", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/posix", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/" HYBRID_SECONDARY, 0, 0, 0, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers", 0, 0, 0, 1, 0 }, \
|
||||
{ 0, 0, 0, 0, 0, 0 } \
|
||||
}
|
||||
#else /* CROSS_DIRECTORY_STRUCTURE */
|
||||
#undef INCLUDE_DEFAULTS
|
||||
#define INCLUDE_DEFAULTS \
|
||||
{ \
|
||||
{ GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, 1, 0 }, \
|
||||
{ GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, 1, 0 }, \
|
||||
{ GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, 1, 0 }, \
|
||||
{ GCC_INCLUDE_DIR, "GCC", 0, 0, 1, 0 }, \
|
||||
{ FIXED_INCLUDE_DIR, "GCC", 0, 0, 1, 0 }, \
|
||||
{ TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/app", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/device", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/drivers", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/game", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/interface", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/kernel", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/locale", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/mail", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/media", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/midi", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/midi2", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/net", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/opengl", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/storage", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/support", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/translation", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/add-ons/graphics", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/add-ons/input_server", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/add-ons/screen_saver", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/add-ons/tracker", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/be_apps/Deskbar", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/be_apps/NetPositive", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/os/be_apps/Tracker", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/cpp", 0, 1, 1, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/3rdparty", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/bsd", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/glibc", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/gnu", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR "/posix", 0, 0, 0, 1, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR , 0, 0, 0, 1, 0 }, \
|
||||
}
|
||||
#else /* HYBRID_SECONDARY */
|
||||
/* For both native and cross compiler, use standard Haiku include file
|
||||
search paths.
|
||||
For a cross compiler, it is expected that an appropriate sysroot has
|
||||
been configured (e.g. /boot/system/develop/cross/x86) which will
|
||||
be appended to each search folder given below. */
|
||||
#define INCLUDE_DEFAULTS \
|
||||
{ \
|
||||
{ GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, 0, 0 }, \
|
||||
{ GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, 0, 0 }, \
|
||||
{ GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, 0, 0 }, \
|
||||
{ GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, \
|
||||
{ FIXED_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, \
|
||||
{ TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0 }, \
|
||||
{ "/boot/common/non-packaged/develop/headers", 0, 0, 0, 1, 0 }, \
|
||||
{ "/boot/common/develop/headers", 0, 0, 0, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/app", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/device", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/drivers", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/game", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/interface", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/kernel", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/locale", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/mail", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/media", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/midi", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/midi2", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/net", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/opengl", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/storage", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/support", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/translation", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/add-ons/graphics", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/add-ons/input_server", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/add-ons/mail_daemon", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/add-ons/registrar", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/add-ons/screen_saver", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/add-ons/tracker", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/be_apps/Deskbar", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/be_apps/NetPositive", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/os/be_apps/Tracker", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/3rdparty", 0, 0, 0, 1, 0 }, \
|
||||
/* TODO: To be removed when libtiff has been outsourced. */\
|
||||
{ "/boot/system/develop/headers/bsd", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/glibc", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/gnu", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers/posix", 0, 0, 1, 1, 0 }, \
|
||||
{ "/boot/system/develop/headers", 0, 0, 0, 1, 0 }, \
|
||||
{ 0, 0, 0, 0, 0, 0 } \
|
||||
}
|
||||
#endif /* CROSS_DIRECTORY_STRUCTURE */
|
||||
}
|
||||
#endif /* HYBRID_SECONDARY */
|
||||
|
||||
/* Whee. LIBRARY_PATH is Be's LD_LIBRARY_PATH, which of course will
|
||||
cause nasty problems if we override it. */
|
||||
#define LIBRARY_PATH_ENV "BELIBRARIES"
|
||||
|
||||
/* With STANDARD_STARTFILE_PREFIX_{1,2} set to "/boot/common/develop/lib/"
|
||||
and "/boot/system/develop/lib/", MD_STARTFILE_PREFIX adds the last one of the
|
||||
standard paths. The user specific paths are set via LIBRARY_PATH_ENV. */
|
||||
#undef STANDARD_STARTFILE_PREFIX_1
|
||||
#undef STANDARD_STARTFILE_PREFIX_2
|
||||
#undef MD_STARTFILE_PREFIX
|
||||
#undef STARTFILE_PREFIX_SPEC
|
||||
#ifdef HYBRID_SECONDARY
|
||||
/* For a secondary compiler on a hybrid system, use alternative search paths.*/
|
||||
#define STANDARD_STARTFILE_PREFIX_1 \
|
||||
"/boot/common/develop/lib/" HYBRID_SECONDARY "/"
|
||||
#define STANDARD_STARTFILE_PREFIX_2 \
|
||||
"/boot/system/develop/lib/" HYBRID_SECONDARY "/"
|
||||
#define MD_STARTFILE_PREFIX \
|
||||
"/boot/common/non-packaged/develop/lib/" HYBRID_SECONDARY "/"
|
||||
#else /* HYBRID_SECONDARY */
|
||||
#define STANDARD_STARTFILE_PREFIX_1 "/boot/common/develop/lib/"
|
||||
#define STANDARD_STARTFILE_PREFIX_2 "/boot/system/develop/lib/"
|
||||
#define MD_STARTFILE_PREFIX "/boot/common/non-packaged/develop/lib/"
|
||||
#endif /* HYBRID_SECONDARY */
|
||||
|
||||
/* Haiku doesn't have a separate math library. */
|
||||
#define MATH_LIBRARY ""
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# There are system headers elsewhere, but these are the ones that
|
||||
# we are most likely to want to apply any fixes to.
|
||||
NATIVE_SYSTEM_HEADER_DIR = /boot/develop/headers
|
||||
NATIVE_SYSTEM_HEADER_DIR = /boot/system/develop/headers
|
||||
LIMITS_H_TEST = [ -f $(SYSTEM_HEADER_DIR)/posix/limits.h ]
|
49
gcc/gcc/configure
vendored
49
gcc/gcc/configure
vendored
@ -599,7 +599,6 @@ ac_includes_default="\
|
||||
#endif"
|
||||
|
||||
ac_subst_vars='LTLIBOBJS
|
||||
math_library
|
||||
LIBOBJS
|
||||
enable_plugin
|
||||
pluginlibs
|
||||
@ -735,6 +734,7 @@ LDEXP_LIB
|
||||
EXTRA_GCC_LIBS
|
||||
GNAT_LIBEXC
|
||||
COLLECT2_LIBS
|
||||
build_math_library
|
||||
CXXCPP
|
||||
AR
|
||||
NM
|
||||
@ -770,6 +770,7 @@ with_cpu
|
||||
enable_multiarch
|
||||
enable_multilib
|
||||
ENABLE_BUILD_WITH_CXX
|
||||
HYBRID_SECONDARY
|
||||
coverage_flags
|
||||
valgrind_command
|
||||
valgrind_path_defines
|
||||
@ -876,6 +877,7 @@ enable_werror_always
|
||||
enable_checking
|
||||
enable_coverage
|
||||
enable_gather_detailed_mem_stats
|
||||
with_hybrid_secondary
|
||||
enable_build_with_cxx
|
||||
with_stabs
|
||||
enable_multilib
|
||||
@ -1652,6 +1654,8 @@ Optional Packages:
|
||||
--with-demangler-in-ld try to use demangler in GNU ld
|
||||
--with-gnu-as arrange to work with GNU as
|
||||
--with-as arrange to use the specified as (full pathname)
|
||||
--with-hybrid_secondary specify the packaging architecture for building a
|
||||
secondary compiler for a Haiku hybrid system
|
||||
--with-stabs arrange to use stabs instead of host debug format
|
||||
--with-dwarf2 force the default debug format to be DWARF 2
|
||||
--with-native-system-header-dir=dir
|
||||
@ -7001,6 +7005,18 @@ fi
|
||||
# Miscenalleous configure options
|
||||
# -------------------------------
|
||||
|
||||
# handle --with-hybrid-secondary
|
||||
|
||||
# Check whether --with-hybrid_secondary was given.
|
||||
if test "${with_hybrid_secondary+set}" = set; then :
|
||||
withval=$with_hybrid_secondary; HYBRID_SECONDARY=$withval
|
||||
else
|
||||
HYBRID_SECONDARY=
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# See if we are building gcc with C++.
|
||||
# Check whether --enable-build-with-cxx was given.
|
||||
if test "${enable_build_with_cxx+set}" = set; then :
|
||||
@ -8829,12 +8845,13 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||
# UNSORTED
|
||||
# --------
|
||||
|
||||
|
||||
# Configure -lm usage for host tools that need it
|
||||
math_library="-lm"
|
||||
case $host in
|
||||
build_math_library="-lm"
|
||||
case $build in
|
||||
*-*-haiku*)
|
||||
# no separate math library needed
|
||||
math_library=
|
||||
build_math_library=
|
||||
;;
|
||||
esac
|
||||
|
||||
@ -15127,7 +15144,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
|
||||
esac
|
||||
;;
|
||||
|
||||
beos* | haiku* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
|
||||
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
|
||||
# PIC is the default for these OSes.
|
||||
;;
|
||||
|
||||
@ -17252,9 +17269,16 @@ gnu*)
|
||||
;;
|
||||
|
||||
haiku*)
|
||||
library_names_spec='${libname}${shared_ext}'
|
||||
dynamic_linker="$host_os ld.so"
|
||||
version_type=linux
|
||||
need_lib_prefix=no
|
||||
need_version=no
|
||||
dynamic_linker="$host_os runtime_loader"
|
||||
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
|
||||
soname_spec='${libname}${release}${shared_ext}$major'
|
||||
shlibpath_var=LIBRARY_PATH
|
||||
shlibpath_overrides_runpath=yes
|
||||
sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
|
||||
hardcode_into_libs=yes
|
||||
;;
|
||||
|
||||
hpux9* | hpux10* | hpux11*)
|
||||
@ -17771,7 +17795,7 @@ else
|
||||
lt_cv_dlopen_libs=
|
||||
|
||||
case $host_os in
|
||||
beos*)
|
||||
beos* | haiku* )
|
||||
lt_cv_dlopen="load_add_on"
|
||||
lt_cv_dlopen_libs=
|
||||
lt_cv_dlopen_self=yes
|
||||
@ -18049,7 +18073,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 18049 "configure"
|
||||
#line 18076 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -18155,7 +18179,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 18155 "configure"
|
||||
#line 18182 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -19101,8 +19125,8 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
|
||||
;;
|
||||
|
||||
haiku*)
|
||||
archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
|
||||
link_all_deplibs_CXX=yes
|
||||
allow_undefined_flag_CXX=unsupported
|
||||
archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
|
||||
;;
|
||||
|
||||
hpux9*)
|
||||
@ -19968,7 +19992,6 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
|
||||
# PIC is the default for these OSes.
|
||||
;;
|
||||
|
@ -597,6 +597,15 @@ fi
|
||||
# Miscenalleous configure options
|
||||
# -------------------------------
|
||||
|
||||
# handle --with-hybrid-secondary
|
||||
AC_ARG_WITH(hybrid_secondary,
|
||||
[AS_HELP_STRING([--with-hybrid_secondary],
|
||||
[specify the packaging architecture for building a secondary compiler for a Haiku hybrid system])],
|
||||
[HYBRID_SECONDARY=$withval],
|
||||
[HYBRID_SECONDARY=]
|
||||
)
|
||||
AC_SUBST(HYBRID_SECONDARY)
|
||||
|
||||
# See if we are building gcc with C++.
|
||||
AC_ARG_ENABLE(build-with-cxx,
|
||||
[AS_HELP_STRING([--enable-build-with-cxx],
|
||||
@ -992,13 +1001,14 @@ AC_LANG_POP(C++)
|
||||
|
||||
|
||||
# Configure -lm usage for host tools that need it
|
||||
math_library="-lm"
|
||||
case $host in
|
||||
build_math_library="-lm"
|
||||
case $build in
|
||||
*-*-haiku*)
|
||||
# no separate math library needed
|
||||
math_library=
|
||||
build_math_library=
|
||||
;;
|
||||
esac
|
||||
AC_SUBST(build_math_library)
|
||||
|
||||
# These libraries may be used by collect2.
|
||||
# We may need a special search path to get them linked.
|
||||
|
@ -41,11 +41,13 @@ extern "C" {
|
||||
# define IS_DIR_SEPARATOR(c) IS_DOS_DIR_SEPARATOR (c)
|
||||
# define IS_ABSOLUTE_PATH(f) IS_DOS_ABSOLUTE_PATH (f)
|
||||
#else /* not DOSish */
|
||||
//# if defined(__APPLE__)
|
||||
//# ifndef HAVE_CASE_INSENSITIVE_FILE_SYSTEM
|
||||
//# define HAVE_CASE_INSENSITIVE_FILE_SYSTEM 1
|
||||
//# endif
|
||||
//# endif /* __APPLE__ */
|
||||
# if defined(__APPLE__)
|
||||
/*
|
||||
# ifndef HAVE_CASE_INSENSITIVE_FILE_SYSTEM
|
||||
# define HAVE_CASE_INSENSITIVE_FILE_SYSTEM 1
|
||||
# endif
|
||||
*/
|
||||
# endif /* __APPLE__ */
|
||||
# define HAS_DRIVE_SPEC(f) (0)
|
||||
# define IS_DIR_SEPARATOR(c) IS_UNIX_DIR_SEPARATOR (c)
|
||||
# define IS_ABSOLUTE_PATH(f) IS_UNIX_ABSOLUTE_PATH (f)
|
||||
|
53
jam/jcache.c
53
jam/jcache.c
@ -43,7 +43,7 @@ static char* pop_string(string_list *list);
|
||||
/*! \brief Reads a line from the supplied file and writes it to the supplied
|
||||
buffer.
|
||||
|
||||
If the line end in a LF, it is chopped off.
|
||||
If the line ends in a LF, it is chopped off.
|
||||
|
||||
\param file The file.
|
||||
\param value The pointer to where the read value shall be written.
|
||||
@ -299,7 +299,6 @@ delete_jamfile_cache(jamfile_cache* cache)
|
||||
if (cache->entries)
|
||||
hashdone(cache->entries);
|
||||
delete_string_list(cache->filenames);
|
||||
free(cache->cache_file);
|
||||
}
|
||||
}
|
||||
|
||||
@ -445,6 +444,11 @@ read_file(const char *filename, string_list* list)
|
||||
len++;
|
||||
line[len] = '\0';
|
||||
}
|
||||
if ((size_t)len + 1 == sizeof(buffer)) {
|
||||
fprintf(stderr, "error: %s:%d: line too long!\n", filename,
|
||||
list->count + 1);
|
||||
exit(1);
|
||||
}
|
||||
// copy it
|
||||
string = (char*)malloc(len + 1);
|
||||
if (string) {
|
||||
@ -638,8 +642,49 @@ get_jcache(void)
|
||||
jamfileCache = new_jamfile_cache();
|
||||
if (jamfileCache && !jamfileCache->cache_file) {
|
||||
char* filename = jcache_name();
|
||||
if (filename)
|
||||
read_jcache(jamfileCache, filename);
|
||||
if (filename) {
|
||||
if (!read_jcache(jamfileCache, filename)) {
|
||||
// An error occurred while reading the cache file. Remove all
|
||||
// entries that we read in, assuming they might be corrupted.
|
||||
// Since the hash doesn't support removing entries, we create
|
||||
// a new one and copy over the entries we want to keep.
|
||||
int count = jamfileCache->filenames->count;
|
||||
int i;
|
||||
|
||||
jamfile_cache* newCache = new_jamfile_cache();
|
||||
if (!newCache) {
|
||||
fprintf(stderr, "Out of memory!\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
char* entryname = jamfileCache->filenames->strings[i];
|
||||
jcache_entry* entry = find_jcache_entry(jamfileCache,
|
||||
entryname);
|
||||
if (entry->used) {
|
||||
jcache_entry newEntry;
|
||||
if (!init_jcache_entry(&newEntry, entryname,
|
||||
entry->time, entry->used)) {
|
||||
fprintf(stderr, "Out of memory!\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
delete_string_list(newEntry.strings);
|
||||
newEntry.strings = entry->strings;
|
||||
entry->strings = 0;
|
||||
|
||||
if (!add_jcache_entry(newCache, &newEntry)) {
|
||||
fprintf(stderr, "Out of memory!\n");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
delete_jamfile_cache(jamfileCache);
|
||||
jamfileCache = newCache;
|
||||
jamfileCache->cache_file = filename;
|
||||
}
|
||||
}
|
||||
}
|
||||
return jamfileCache;
|
||||
}
|
||||
|
2
legacy/binutils/bfd/configure
vendored
2
legacy/binutils/bfd/configure
vendored
@ -2836,7 +2836,7 @@ fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE=bfd
|
||||
VERSION=2.17-haiku-20100420
|
||||
VERSION=2.17-haiku-2013_04_21
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
|
@ -1,7 +1,4 @@
|
||||
This is
|
||||
/home/bonefish/develop/haiku/buildtools/legacy/binutils/bfd/doc/bfd.info,
|
||||
produced by makeinfo version 4.9 from
|
||||
/home/bonefish/develop/haiku/buildtools/legacy/binutils/bfd/doc/bfd.texinfo.
|
||||
This is /home/zooey/Sources/haiku/buildtools.pm/legacy/binutils/bfd/doc/bfd.info, produced by makeinfo version 4.13 from /home/zooey/Sources/haiku/buildtools.pm/legacy/binutils/bfd/doc/bfd.texinfo.
|
||||
|
||||
START-INFO-DIR-ENTRY
|
||||
* Bfd: (bfd). The Binary File Descriptor library.
|
||||
@ -14,8 +11,8 @@ END-INFO-DIR-ENTRY
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.1
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, with no Front-Cover Texts, and with no
|
||||
Back-Cover Texts. A copy of the license is included in the
|
||||
with no Invariant Sections, with no Front-Cover Texts, and with no
|
||||
Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled "GNU Free Documentation License".
|
||||
|
||||
|
||||
@ -6841,9 +6838,9 @@ The linker proper will call the `_bfd_link_add_symbols' entry point for
|
||||
each object file or archive which is to be linked (typically these are
|
||||
the files named on the command line, but some may also come from the
|
||||
linker script). The entry point is responsible for examining the file.
|
||||
For an object file, BFD must add any relevant symbol information to
|
||||
the hash table. For an archive, BFD must determine which elements of
|
||||
the archive should be used and adding them to the link.
|
||||
For an object file, BFD must add any relevant symbol information to the
|
||||
hash table. For an archive, BFD must determine which elements of the
|
||||
archive should be used and adding them to the link.
|
||||
|
||||
The a.out version of this entry point is
|
||||
`NAME(aout,link_add_symbols)'.
|
||||
@ -8728,20 +8725,19 @@ Appendix A GNU Free Documentation License
|
||||
H. Include an unaltered copy of this License.
|
||||
I. Preserve the section entitled "History", and its title, and add
|
||||
to it an item stating at least the title, year, new authors, and
|
||||
publisher of the Modified Version as given on the Title Page.
|
||||
If there is no section entitled "History" in the Document,
|
||||
create one stating the title, year, authors, and publisher of
|
||||
the Document as given on its Title Page, then add an item
|
||||
publisher of the Modified Version as given on the Title Page. If
|
||||
there is no section entitled "History" in the Document, create
|
||||
one stating the title, year, authors, and publisher of the
|
||||
Document as given on its Title Page, then add an item
|
||||
describing the Modified Version as stated in the previous
|
||||
sentence.
|
||||
J. Preserve the network location, if any, given in the Document for
|
||||
public access to a Transparent copy of the Document, and
|
||||
likewise the network locations given in the Document for
|
||||
previous versions it was based on. These may be placed in the
|
||||
"History" section. You may omit a network location for a work
|
||||
that was published at least four years before the Document
|
||||
itself, or if the original publisher of the version it refers
|
||||
to gives permission.
|
||||
public access to a Transparent copy of the Document, and likewise
|
||||
the network locations given in the Document for previous versions
|
||||
it was based on. These may be placed in the "History" section.
|
||||
You may omit a network location for a work that was published at
|
||||
least four years before the Document itself, or if the original
|
||||
publisher of the version it refers to gives permission.
|
||||
K. In any section entitled "Acknowledgements" or "Dedications",
|
||||
preserve the section's title, and preserve in the section all the
|
||||
substance and tone of each of the contributor acknowledgements
|
||||
@ -10241,67 +10237,67 @@ Index
|
||||
|
||||
|
||||
Tag Table:
|
||||
Node: Top820
|
||||
Node: Overview1152
|
||||
Node: History2203
|
||||
Node: How It Works3149
|
||||
Node: What BFD Version 2 Can Do4691
|
||||
Node: BFD information loss6006
|
||||
Node: Canonical format8538
|
||||
Node: BFD front end12910
|
||||
Node: Memory Usage38524
|
||||
Node: Initialization39752
|
||||
Node: Sections40211
|
||||
Node: Section Input40694
|
||||
Node: Section Output42059
|
||||
Node: typedef asection44545
|
||||
Node: section prototypes69502
|
||||
Node: Symbols79182
|
||||
Node: Reading Symbols80777
|
||||
Node: Writing Symbols81884
|
||||
Node: Mini Symbols83593
|
||||
Node: typedef asymbol84567
|
||||
Node: symbol handling functions89485
|
||||
Node: Archives94827
|
||||
Node: Formats98553
|
||||
Node: Relocations101501
|
||||
Node: typedef arelent102228
|
||||
Node: howto manager118039
|
||||
Node: Core Files180319
|
||||
Node: Targets182136
|
||||
Node: bfd_target184106
|
||||
Node: Architectures204186
|
||||
Node: Opening and Closing225618
|
||||
Node: Internal236620
|
||||
Node: File Caching242953
|
||||
Node: Linker Functions244867
|
||||
Node: Creating a Linker Hash Table246540
|
||||
Node: Adding Symbols to the Hash Table248278
|
||||
Node: Differing file formats249178
|
||||
Node: Adding symbols from an object file250926
|
||||
Node: Adding symbols from an archive253077
|
||||
Node: Performing the Final Link255491
|
||||
Node: Information provided by the linker256733
|
||||
Node: Relocating the section contents257887
|
||||
Node: Writing the symbol table259638
|
||||
Node: Hash Tables262631
|
||||
Node: Creating and Freeing a Hash Table263829
|
||||
Node: Looking Up or Entering a String265079
|
||||
Node: Traversing a Hash Table266332
|
||||
Node: Deriving a New Hash Table Type267121
|
||||
Node: Define the Derived Structures268187
|
||||
Node: Write the Derived Creation Routine269268
|
||||
Node: Write Other Derived Routines271892
|
||||
Node: BFD back ends273207
|
||||
Node: What to Put Where273477
|
||||
Node: aout273615
|
||||
Node: coff279933
|
||||
Node: elf304410
|
||||
Node: mmo305273
|
||||
Node: File layout306201
|
||||
Node: Symbol-table311848
|
||||
Node: mmo section mapping315617
|
||||
Node: GNU Free Documentation License319269
|
||||
Node: Index338994
|
||||
Node: Top818
|
||||
Node: Overview1150
|
||||
Node: History2201
|
||||
Node: How It Works3147
|
||||
Node: What BFD Version 2 Can Do4689
|
||||
Node: BFD information loss6004
|
||||
Node: Canonical format8536
|
||||
Node: BFD front end12908
|
||||
Node: Memory Usage38522
|
||||
Node: Initialization39750
|
||||
Node: Sections40209
|
||||
Node: Section Input40692
|
||||
Node: Section Output42057
|
||||
Node: typedef asection44543
|
||||
Node: section prototypes69500
|
||||
Node: Symbols79180
|
||||
Node: Reading Symbols80775
|
||||
Node: Writing Symbols81882
|
||||
Node: Mini Symbols83591
|
||||
Node: typedef asymbol84565
|
||||
Node: symbol handling functions89483
|
||||
Node: Archives94825
|
||||
Node: Formats98551
|
||||
Node: Relocations101499
|
||||
Node: typedef arelent102226
|
||||
Node: howto manager118037
|
||||
Node: Core Files180317
|
||||
Node: Targets182134
|
||||
Node: bfd_target184104
|
||||
Node: Architectures204184
|
||||
Node: Opening and Closing225616
|
||||
Node: Internal236618
|
||||
Node: File Caching242951
|
||||
Node: Linker Functions244865
|
||||
Node: Creating a Linker Hash Table246538
|
||||
Node: Adding Symbols to the Hash Table248276
|
||||
Node: Differing file formats249176
|
||||
Node: Adding symbols from an object file250924
|
||||
Node: Adding symbols from an archive253075
|
||||
Node: Performing the Final Link255489
|
||||
Node: Information provided by the linker256731
|
||||
Node: Relocating the section contents257885
|
||||
Node: Writing the symbol table259636
|
||||
Node: Hash Tables262629
|
||||
Node: Creating and Freeing a Hash Table263827
|
||||
Node: Looking Up or Entering a String265077
|
||||
Node: Traversing a Hash Table266330
|
||||
Node: Deriving a New Hash Table Type267119
|
||||
Node: Define the Derived Structures268185
|
||||
Node: Write the Derived Creation Routine269266
|
||||
Node: Write Other Derived Routines271890
|
||||
Node: BFD back ends273205
|
||||
Node: What to Put Where273475
|
||||
Node: aout273613
|
||||
Node: coff279931
|
||||
Node: elf304408
|
||||
Node: mmo305271
|
||||
Node: File layout306199
|
||||
Node: Symbol-table311846
|
||||
Node: mmo section mapping315615
|
||||
Node: GNU Free Documentation License319267
|
||||
Node: Index338980
|
||||
|
||||
End Tag Table
|
||||
|
@ -1,7 +1,4 @@
|
||||
This is
|
||||
/home/bonefish/develop/haiku/buildtools/legacy/binutils/binutils/doc/binutils.info,
|
||||
produced by makeinfo version 4.9 from
|
||||
/home/bonefish/develop/haiku/buildtools/legacy/binutils/binutils/doc/binutils.texi.
|
||||
This is /home/zooey/Sources/haiku/buildtools.pm/legacy/binutils/binutils/doc/binutils.info, produced by makeinfo version 4.13 from /home/zooey/Sources/haiku/buildtools.pm/legacy/binutils/binutils/doc/binutils.texi.
|
||||
|
||||
START-INFO-DIR-ENTRY
|
||||
* Binutils: (binutils). The GNU binary utilities.
|
||||
@ -507,7 +504,7 @@ object files are listed as arguments, `nm' assumes the file `a.out'.
|
||||
same name. If the symbol is defined anywhere, the common
|
||||
symbols are treated as undefined references. For more
|
||||
details on common symbols, see the discussion of -warn-common
|
||||
in *Note Linker options: (ld.info)Options.
|
||||
in *note Linker options: (ld.info)Options.
|
||||
|
||||
`D'
|
||||
The symbol is in the initialized data section.
|
||||
@ -561,7 +558,7 @@ object files are listed as arguments, `nm' assumes the file `a.out'.
|
||||
this case, the next values printed are the stabs other field,
|
||||
the stabs desc field, and the stab type. Stabs symbols are
|
||||
used to hold debugging information. For more information,
|
||||
see *Note Stabs: (stabs.info)Top.
|
||||
see *note Stabs: (stabs.info)Top.
|
||||
|
||||
`?'
|
||||
The symbol type is unknown, or object file format specific.
|
||||
@ -1575,7 +1572,7 @@ equivalent. At least one option from the list
|
||||
ELF section. In most other file formats, debugging symbol-table
|
||||
entries are interleaved with linkage symbols, and are visible in
|
||||
the `--syms' output. For more information on stabs symbols, see
|
||||
*Note Stabs: (stabs.info)Top.
|
||||
*note Stabs: (stabs.info)Top.
|
||||
|
||||
`--start-address=ADDRESS'
|
||||
Start displaying data at the specified address. This affects the
|
||||
@ -2244,7 +2241,7 @@ file language used in header files, see the `linkers' section,
|
||||
`NLMLINK' in particular, of the `NLM Development and Tools Overview',
|
||||
which is part of the NLM Software Developer's Kit ("NLM SDK"),
|
||||
available from Novell, Inc. `nlmconv' uses the GNU Binary File
|
||||
Descriptor library to read INFILE; see *Note BFD: (ld.info)BFD, for
|
||||
Descriptor library to read INFILE; see *note BFD: (ld.info)BFD, for
|
||||
more information.
|
||||
|
||||
`nlmconv' can perform a link step. In other words, you can list
|
||||
@ -2379,7 +2376,7 @@ available to Windows.
|
||||
This is a BFD target name; you can use the `--help' option to see
|
||||
a list of supported targets. Normally `windres' will use the
|
||||
default format, which is the first one listed by the `--help'
|
||||
option. *Note Target Selection::.
|
||||
option. *note Target Selection::.
|
||||
|
||||
`--preprocessor PROGRAM'
|
||||
When `windres' reads an `rc' file, it runs it through the C
|
||||
@ -3473,20 +3470,19 @@ Appendix A GNU Free Documentation License
|
||||
H. Include an unaltered copy of this License.
|
||||
I. Preserve the section entitled "History", and its title, and add
|
||||
to it an item stating at least the title, year, new authors, and
|
||||
publisher of the Modified Version as given on the Title Page.
|
||||
If there is no section entitled "History" in the Document,
|
||||
create one stating the title, year, authors, and publisher of
|
||||
the Document as given on its Title Page, then add an item
|
||||
publisher of the Modified Version as given on the Title Page. If
|
||||
there is no section entitled "History" in the Document, create
|
||||
one stating the title, year, authors, and publisher of the
|
||||
Document as given on its Title Page, then add an item
|
||||
describing the Modified Version as stated in the previous
|
||||
sentence.
|
||||
J. Preserve the network location, if any, given in the Document for
|
||||
public access to a Transparent copy of the Document, and
|
||||
likewise the network locations given in the Document for
|
||||
previous versions it was based on. These may be placed in the
|
||||
"History" section. You may omit a network location for a work
|
||||
that was published at least four years before the Document
|
||||
itself, or if the original publisher of the version it refers
|
||||
to gives permission.
|
||||
public access to a Transparent copy of the Document, and likewise
|
||||
the network locations given in the Document for previous versions
|
||||
it was based on. These may be placed in the "History" section.
|
||||
You may omit a network location for a work that was published at
|
||||
least four years before the Document itself, or if the original
|
||||
publisher of the version it refers to gives permission.
|
||||
K. In any section entitled "Acknowledgements" or "Dedications",
|
||||
preserve the section's title, and preserve in the section all the
|
||||
substance and tone of each of the contributor acknowledgements
|
||||
@ -3805,33 +3801,33 @@ Index
|
||||
|
||||
|
||||
Tag Table:
|
||||
Node: Top1847
|
||||
Node: ar3400
|
||||
Node: ar cmdline5578
|
||||
Node: ar scripts13721
|
||||
Node: nm19409
|
||||
Node: objcopy27605
|
||||
Node: objdump50657
|
||||
Node: ranlib65570
|
||||
Node: size66325
|
||||
Node: strings69172
|
||||
Node: strip71522
|
||||
Node: c++filt77001
|
||||
Ref: c++filt-Footnote-181929
|
||||
Node: addr2line82035
|
||||
Node: nlmconv85306
|
||||
Node: windres87912
|
||||
Node: dlltool93645
|
||||
Node: def file format104483
|
||||
Node: readelf106221
|
||||
Node: Common Options110929
|
||||
Node: Selecting The Target System111969
|
||||
Node: Target Selection112901
|
||||
Node: Architecture Selection114883
|
||||
Node: Reporting Bugs115711
|
||||
Node: Bug Criteria116490
|
||||
Node: Bug Reporting117043
|
||||
Node: GNU Free Documentation License124137
|
||||
Node: Index143869
|
||||
Node: Top1848
|
||||
Node: ar3401
|
||||
Node: ar cmdline5579
|
||||
Node: ar scripts13722
|
||||
Node: nm19410
|
||||
Node: objcopy27606
|
||||
Node: objdump50658
|
||||
Node: ranlib65571
|
||||
Node: size66326
|
||||
Node: strings69173
|
||||
Node: strip71523
|
||||
Node: c++filt77002
|
||||
Ref: c++filt-Footnote-181930
|
||||
Node: addr2line82036
|
||||
Node: nlmconv85307
|
||||
Node: windres87913
|
||||
Node: dlltool93646
|
||||
Node: def file format104484
|
||||
Node: readelf106222
|
||||
Node: Common Options110930
|
||||
Node: Selecting The Target System111970
|
||||
Node: Target Selection112902
|
||||
Node: Architecture Selection114884
|
||||
Node: Reporting Bugs115712
|
||||
Node: Bug Criteria116491
|
||||
Node: Bug Reporting117044
|
||||
Node: GNU Free Documentation License124138
|
||||
Node: Index143858
|
||||
|
||||
End Tag Table
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,4 @@
|
||||
This is
|
||||
/home/bonefish/develop/haiku/buildtools/legacy/binutils/ld/ld.info,
|
||||
produced by makeinfo version 4.9 from
|
||||
/home/bonefish/develop/haiku/buildtools/legacy/binutils/ld/ld.texinfo.
|
||||
This is /home/zooey/Sources/haiku/buildtools.pm/legacy/binutils/ld/ld.info, produced by makeinfo version 4.13 from /home/zooey/Sources/haiku/buildtools.pm/legacy/binutils/ld/ld.texinfo.
|
||||
|
||||
START-INFO-DIR-ENTRY
|
||||
* Ld: (ld). The GNU linker.
|
||||
@ -216,14 +213,14 @@ GNU linker:
|
||||
|
||||
The default format is taken from the environment variable
|
||||
`GNUTARGET'. *Note Environment::. You can also define the input
|
||||
format from a script, using the command `TARGET'; see *Note Format
|
||||
format from a script, using the command `TARGET'; see *note Format
|
||||
Commands::.
|
||||
|
||||
`-c MRI-COMMANDFILE'
|
||||
`--mri-script=MRI-COMMANDFILE'
|
||||
For compatibility with linkers produced by MRI, `ld' accepts script
|
||||
files written in an alternate, restricted command language,
|
||||
described in *Note MRI Compatible Script Files: MRI. Introduce
|
||||
described in *note MRI Compatible Script Files: MRI. Introduce
|
||||
MRI script files with the option `-c'; use the `-T' option to run
|
||||
linker scripts written in the general-purpose `ld' scripting
|
||||
language. If MRI-CMDFILE does not exist, `ld' looks for it in the
|
||||
@ -276,7 +273,7 @@ GNU linker:
|
||||
|
||||
You can also use the version script to control what symbols should
|
||||
be added to the dynamic symbol table if the output format supports
|
||||
it. See the description of `--version-script' in *Note VERSION::.
|
||||
it. See the description of `--version-script' in *note VERSION::.
|
||||
|
||||
`-EB'
|
||||
Link big-endian objects. This affects the default output format.
|
||||
@ -461,7 +458,7 @@ GNU linker:
|
||||
[0x0000000c] foo = (foo * 0x4)
|
||||
[0x0000000c] foo = (foo + 0x8)
|
||||
|
||||
See *Note Expressions:: for more information about
|
||||
See *note Expressions:: for more information about
|
||||
expressions in linker scripts.
|
||||
|
||||
`-n'
|
||||
@ -712,10 +709,10 @@ GNU linker:
|
||||
Tells the linker to accept input files whose architecture cannot be
|
||||
recognised. The assumption is that the user knows what they are
|
||||
doing and deliberately wants to link in these unknown input files.
|
||||
This was the default behaviour of the linker, before release
|
||||
2.14. The default behaviour from release 2.14 onwards is to
|
||||
reject such input files, and so the `--accept-unknown-input-arch'
|
||||
option has been added to restore the old behaviour.
|
||||
This was the default behaviour of the linker, before release 2.14.
|
||||
The default behaviour from release 2.14 onwards is to reject such
|
||||
input files, and so the `--accept-unknown-input-arch' option has
|
||||
been added to restore the old behaviour.
|
||||
|
||||
`--as-needed'
|
||||
`--no-as-needed'
|
||||
@ -2049,7 +2046,7 @@ Several linker script commands deal with files.
|
||||
the "sysroot prefix". Otherwise, the linker will try to open the
|
||||
file in the current directory. If it is not found, the linker
|
||||
will search through the archive library search path. See the
|
||||
description of `-L' in *Note Command Line Options: Options.
|
||||
description of `-L' in *note Command Line Options: Options.
|
||||
|
||||
If you use `INPUT (-lFILE)', `ld' will transform the name to
|
||||
`libFILE.a', as with the command line argument `-l'.
|
||||
@ -2063,7 +2060,7 @@ Several linker script commands deal with files.
|
||||
The `GROUP' command is like `INPUT', except that the named files
|
||||
should all be archives, and they are searched repeatedly until no
|
||||
new undefined references are created. See the description of `-('
|
||||
in *Note Command Line Options: Options.
|
||||
in *note Command Line Options: Options.
|
||||
|
||||
`AS_NEEDED(FILE, FILE, ...)'
|
||||
`AS_NEEDED(FILE FILE ...)'
|
||||
@ -2237,14 +2234,14 @@ only use this within a `SECTIONS' command. *Note Location Counter::.
|
||||
|
||||
The semicolon after EXPRESSION is required.
|
||||
|
||||
Expressions are defined below; see *Note Expressions::.
|
||||
Expressions are defined below; see *note Expressions::.
|
||||
|
||||
You may write symbol assignments as commands in their own right, or
|
||||
as statements within a `SECTIONS' command, or as part of an output
|
||||
section description in a `SECTIONS' command.
|
||||
|
||||
The section of the symbol will be set from the section of the
|
||||
expression; for more information, see *Note Expression Section::.
|
||||
expression; for more information, see *note Expression Section::.
|
||||
|
||||
Here is an example showing the three different places that symbol
|
||||
assignments may be used:
|
||||
@ -2501,7 +2498,7 @@ the name should be supplied as a quoted numeric string. A section name
|
||||
may consist of any sequence of characters, but a name which contains
|
||||
any unusual characters such as commas must be quoted.
|
||||
|
||||
The output section name `/DISCARD/' is special; *Note Output Section
|
||||
The output section name `/DISCARD/' is special; *note Output Section
|
||||
Discarding::.
|
||||
|
||||
|
||||
@ -2532,7 +2529,7 @@ output section to the current value of the location counter. The
|
||||
second will set it to the current value of the location counter aligned
|
||||
to the strictest alignment of a `.text' input section.
|
||||
|
||||
The ADDRESS may be an arbitrary expression; *Note Expressions::.
|
||||
The ADDRESS may be an arbitrary expression; *note Expressions::.
|
||||
For example, if you want to align the section on a 0x10 byte boundary,
|
||||
so that the lowest four bits of the section address are zero, you could
|
||||
do something like this:
|
||||
@ -2979,9 +2976,8 @@ like this:
|
||||
OUTPUT-SECTION-COMMAND
|
||||
...
|
||||
} [>REGION] [AT>LMA_REGION] [:PHDR :PHDR ...] [=FILLEXP]
|
||||
We've already described SECTION, ADDRESS, and
|
||||
OUTPUT-SECTION-COMMAND. In this section we will describe the remaining
|
||||
section attributes.
|
||||
We've already described SECTION, ADDRESS, and OUTPUT-SECTION-COMMAND.
|
||||
In this section we will describe the remaining section attributes.
|
||||
|
||||
* Menu:
|
||||
|
||||
@ -3033,7 +3029,7 @@ File: ld.info, Node: Output Section LMA, Next: Forced Output Alignment, Prev:
|
||||
..........................
|
||||
|
||||
Every section has a virtual address (VMA) and a load address (LMA); see
|
||||
*Note Basic Script Concepts::. The address expression which may appear
|
||||
*note Basic Script Concepts::. The address expression which may appear
|
||||
in an output section description sets the VMA (*note Output Section
|
||||
Address::).
|
||||
|
||||
@ -3231,11 +3227,11 @@ section.
|
||||
.text0 { o1/*.o(.text) }
|
||||
.text1 { o2/*.o(.text) }
|
||||
}
|
||||
This will define both `.text0' and `.text1' to start at address
|
||||
0x1000. `.text0' will be loaded at address 0x4000, and `.text1' will
|
||||
be loaded immediately after `.text0'. The following symbols will be
|
||||
defined: `__load_start_text0', `__load_stop_text0',
|
||||
`__load_start_text1', `__load_stop_text1'.
|
||||
This will define both `.text0' and `.text1' to start at address 0x1000.
|
||||
`.text0' will be loaded at address 0x4000, and `.text1' will be loaded
|
||||
immediately after `.text0'. The following symbols will be defined:
|
||||
`__load_start_text0', `__load_stop_text0', `__load_start_text1',
|
||||
`__load_stop_text1'.
|
||||
|
||||
C code to copy overlay `.text1' into the overlay area might look
|
||||
like the following.
|
||||
@ -3274,8 +3270,8 @@ regions that become too full. The linker will not shuffle sections
|
||||
around to fit into the available regions.
|
||||
|
||||
A linker script may contain at most one use of the `MEMORY' command.
|
||||
However, you can define as many blocks of memory within it as you
|
||||
wish. The syntax is:
|
||||
However, you can define as many blocks of memory within it as you wish.
|
||||
The syntax is:
|
||||
MEMORY
|
||||
{
|
||||
NAME [(ATTR)] : ORIGIN = ORIGIN, LENGTH = LEN
|
||||
@ -3290,7 +3286,7 @@ have a distinct name.
|
||||
|
||||
The ATTR string is an optional list of attributes that specify
|
||||
whether to use a particular memory region for an input section which is
|
||||
not explicitly mapped in the linker script. As described in *Note
|
||||
not explicitly mapped in the linker script. As described in *note
|
||||
SECTIONS::, if you do not specify an output section for some input
|
||||
section, the linker will create an output section with the same name as
|
||||
the input section. If you define region attributes, the linker will use
|
||||
@ -4022,11 +4018,10 @@ use in linker script expressions.
|
||||
variable = ALIGN(0x8000);
|
||||
}
|
||||
... }
|
||||
The first use of `ALIGN' in this example specifies the
|
||||
location of a section because it is used as the optional ADDRESS
|
||||
attribute of a section definition (*note Output Section
|
||||
Address::). The second use of `ALIGN' is used to defines the
|
||||
value of a symbol.
|
||||
The first use of `ALIGN' in this example specifies the location of
|
||||
a section because it is used as the optional ADDRESS attribute of
|
||||
a section definition (*note Output Section Address::). The second
|
||||
use of `ALIGN' is used to defines the value of a symbol.
|
||||
|
||||
The builtin function `NEXT' is closely related to `ALIGN'.
|
||||
|
||||
@ -4595,7 +4590,7 @@ File: ld.info, Node: WIN32, Next: Xtensa, Prev: TI COFF, Up: Machine Depende
|
||||
==================================
|
||||
|
||||
This section describes some of the win32 specific `ld' issues. See
|
||||
*Note Command Line Options: Options. for detailed decription of the
|
||||
*note Command Line Options: Options. for detailed decription of the
|
||||
command line options mentioned here.
|
||||
|
||||
_import libraries_
|
||||
@ -5306,13 +5301,12 @@ leave it out, state it!
|
||||
Often people omit facts because they think they know what causes the
|
||||
problem and assume that some details do not matter. Thus, you might
|
||||
assume that the name of a symbol you use in an example does not matter.
|
||||
Well, probably it does not, but one cannot be sure. Perhaps the bug
|
||||
is a stray memory reference which happens to fetch from the location
|
||||
where that name is stored in memory; perhaps, if the name were
|
||||
different, the contents of that location would fool the linker into
|
||||
doing the right thing despite the bug. Play it safe and give a
|
||||
specific, complete example. That is the easiest thing for you to do,
|
||||
and the most helpful.
|
||||
Well, probably it does not, but one cannot be sure. Perhaps the bug is
|
||||
a stray memory reference which happens to fetch from the location where
|
||||
that name is stored in memory; perhaps, if the name were different, the
|
||||
contents of that location would fool the linker into doing the right
|
||||
thing despite the bug. Play it safe and give a specific, complete
|
||||
example. That is the easiest thing for you to do, and the most helpful.
|
||||
|
||||
Keep in mind that the purpose of a bug report is to enable us to fix
|
||||
the bug if it is new to us. Therefore, always write your bug reports
|
||||
@ -5444,7 +5438,7 @@ Appendix A MRI Compatible Script Files
|
||||
|
||||
To aid users making the transition to GNU `ld' from the MRI linker,
|
||||
`ld' can use MRI compatible linker scripts as an alternative to the
|
||||
more general-purpose linker scripting language described in *Note
|
||||
more general-purpose linker scripting language described in *note
|
||||
Scripts::. MRI compatible linker scripts have a much simpler command
|
||||
set than the scripting language otherwise used with `ld'. GNU `ld'
|
||||
supports the most commonly used MRI linker commands; these commands are
|
||||
@ -5746,20 +5740,19 @@ Appendix B GNU Free Documentation License
|
||||
H. Include an unaltered copy of this License.
|
||||
I. Preserve the section entitled "History", and its title, and add
|
||||
to it an item stating at least the title, year, new authors, and
|
||||
publisher of the Modified Version as given on the Title Page.
|
||||
If there is no section entitled "History" in the Document,
|
||||
create one stating the title, year, authors, and publisher of
|
||||
the Document as given on its Title Page, then add an item
|
||||
publisher of the Modified Version as given on the Title Page. If
|
||||
there is no section entitled "History" in the Document, create
|
||||
one stating the title, year, authors, and publisher of the
|
||||
Document as given on its Title Page, then add an item
|
||||
describing the Modified Version as stated in the previous
|
||||
sentence.
|
||||
J. Preserve the network location, if any, given in the Document for
|
||||
public access to a Transparent copy of the Document, and
|
||||
likewise the network locations given in the Document for
|
||||
previous versions it was based on. These may be placed in the
|
||||
"History" section. You may omit a network location for a work
|
||||
that was published at least four years before the Document
|
||||
itself, or if the original publisher of the version it refers
|
||||
to gives permission.
|
||||
public access to a Transparent copy of the Document, and likewise
|
||||
the network locations given in the Document for previous versions
|
||||
it was based on. These may be placed in the "History" section.
|
||||
You may omit a network location for a work that was published at
|
||||
least four years before the Document itself, or if the original
|
||||
publisher of the version it refers to gives permission.
|
||||
K. In any section entitled "Acknowledgements" or "Dedications",
|
||||
preserve the section's title, and preserve in the section all the
|
||||
substance and tone of each of the contributor acknowledgements
|
||||
@ -6209,7 +6202,7 @@ Index
|
||||
* BFD requirements: BFD. (line 16)
|
||||
* big-endian objects: Options. (line 198)
|
||||
* binary input format: Options. (line 115)
|
||||
* BLOCK(EXP): Builtin Functions. (line 62)
|
||||
* BLOCK(EXP): Builtin Functions. (line 61)
|
||||
* bug criteria: Bug Criteria. (line 6)
|
||||
* bug reports: Bug Reporting. (line 6)
|
||||
* bugs in ld: Reporting Bugs. (line 6)
|
||||
@ -6245,14 +6238,14 @@ Index
|
||||
* data: Output Section Data.
|
||||
(line 6)
|
||||
* DATA_SEGMENT_ALIGN(MAXPAGESIZE, COMMONPAGESIZE): Builtin Functions.
|
||||
(line 67)
|
||||
* DATA_SEGMENT_END(EXP): Builtin Functions. (line 88)
|
||||
* DATA_SEGMENT_RELRO_END(OFFSET, EXP): Builtin Functions. (line 94)
|
||||
(line 66)
|
||||
* DATA_SEGMENT_END(EXP): Builtin Functions. (line 87)
|
||||
* DATA_SEGMENT_RELRO_END(OFFSET, EXP): Builtin Functions. (line 93)
|
||||
* dbx: Options. (line 1074)
|
||||
* DEF files, creating: Options. (line 1470)
|
||||
* default emulation: Environment. (line 21)
|
||||
* default input format: Environment. (line 9)
|
||||
* DEFINED(SYMBOL): Builtin Functions. (line 105)
|
||||
* DEFINED(SYMBOL): Builtin Functions. (line 104)
|
||||
* deleting local symbols: Options. (line 513)
|
||||
* demangling, default: Environment. (line 29)
|
||||
* demangling, from command line: Options. (line 752)
|
||||
@ -6317,7 +6310,7 @@ Index
|
||||
* grouping input files: File Commands. (line 44)
|
||||
* groups of archives: Options. (line 609)
|
||||
* H8/300 support: H8/300. (line 6)
|
||||
* header size: Builtin Functions. (line 170)
|
||||
* header size: Builtin Functions. (line 169)
|
||||
* heap size: Options. (line 1412)
|
||||
* help: Options. (line 792)
|
||||
* holes: Location Counter. (line 12)
|
||||
@ -6366,7 +6359,7 @@ Index
|
||||
* LDEMULATION: Environment. (line 21)
|
||||
* len =: MEMORY. (line 72)
|
||||
* LENGTH =: MEMORY. (line 72)
|
||||
* LENGTH(MEMORY): Builtin Functions. (line 122)
|
||||
* LENGTH(MEMORY): Builtin Functions. (line 121)
|
||||
* library search path in linker script: File Commands. (line 71)
|
||||
* link map: Options. (line 347)
|
||||
* link-time runtime library search path: Options. (line 967)
|
||||
@ -6383,7 +6376,7 @@ Index
|
||||
* little-endian objects: Options. (line 201)
|
||||
* LOAD (MRI): MRI. (line 84)
|
||||
* load address: Output Section LMA. (line 6)
|
||||
* LOADADDR(SECTION): Builtin Functions. (line 125)
|
||||
* LOADADDR(SECTION): Builtin Functions. (line 124)
|
||||
* loading, preventing: Output Section Type.
|
||||
(line 22)
|
||||
* local symbols, deleting: Options. (line 517)
|
||||
@ -6395,14 +6388,14 @@ Index
|
||||
(line 46)
|
||||
* machine dependencies: Machine Dependent. (line 6)
|
||||
* mapping input sections to output sections: Input Section. (line 6)
|
||||
* MAX: Builtin Functions. (line 130)
|
||||
* MAX: Builtin Functions. (line 129)
|
||||
* MEMORY: MEMORY. (line 6)
|
||||
* memory region attributes: MEMORY. (line 32)
|
||||
* memory regions: MEMORY. (line 6)
|
||||
* memory regions and sections: Output Section Region.
|
||||
(line 6)
|
||||
* memory usage: Options. (line 804)
|
||||
* MIN: Builtin Functions. (line 133)
|
||||
* MIN: Builtin Functions. (line 132)
|
||||
* MRI compatibility: MRI. (line 6)
|
||||
* MSP430 extra sections: MSP430. (line 11)
|
||||
* NAME (MRI): MRI. (line 90)
|
||||
@ -6410,13 +6403,13 @@ Index
|
||||
(line 6)
|
||||
* names: Symbols. (line 6)
|
||||
* naming the output file: Options. (line 404)
|
||||
* NEXT(EXP): Builtin Functions. (line 137)
|
||||
* NEXT(EXP): Builtin Functions. (line 136)
|
||||
* NMAGIC: Options. (line 384)
|
||||
* NOCROSSREFS(SECTIONS): Miscellaneous Commands.
|
||||
(line 30)
|
||||
* NOLOAD: Output Section Type.
|
||||
(line 22)
|
||||
* not enough room for program headers: Builtin Functions. (line 175)
|
||||
* not enough room for program headers: Builtin Functions. (line 174)
|
||||
* o =: MEMORY. (line 67)
|
||||
* objdump -i: BFD. (line 6)
|
||||
* object file management: BFD. (line 6)
|
||||
@ -6430,7 +6423,7 @@ Index
|
||||
* ORDER (MRI): MRI. (line 95)
|
||||
* org =: MEMORY. (line 67)
|
||||
* ORIGIN =: MEMORY. (line 67)
|
||||
* ORIGIN(MEMORY): Builtin Functions. (line 143)
|
||||
* ORIGIN(MEMORY): Builtin Functions. (line 142)
|
||||
* orphan: Orphan Sections. (line 6)
|
||||
* output file after errors: Options. (line 870)
|
||||
* output file format in linker script: Format Commands. (line 10)
|
||||
@ -6473,7 +6466,7 @@ Index
|
||||
* program headers: PHDRS. (line 6)
|
||||
* program headers and sections: Output Section Phdr.
|
||||
(line 6)
|
||||
* program headers, not enough room: Builtin Functions. (line 175)
|
||||
* program headers, not enough room: Builtin Functions. (line 174)
|
||||
* program segments: PHDRS. (line 6)
|
||||
* PROVIDE: PROVIDE. (line 6)
|
||||
* PROVIDE_HIDDEN: PROVIDE_HIDDEN. (line 6)
|
||||
@ -6521,12 +6514,12 @@ Index
|
||||
* section fill pattern: Output Section Fill.
|
||||
(line 6)
|
||||
* section load address: Output Section LMA. (line 6)
|
||||
* section load address in expression: Builtin Functions. (line 125)
|
||||
* section load address in expression: Builtin Functions. (line 124)
|
||||
* section name: Output Section Name.
|
||||
(line 6)
|
||||
* section name wildcard patterns: Input Section Wildcards.
|
||||
(line 6)
|
||||
* section size: Builtin Functions. (line 154)
|
||||
* section size: Builtin Functions. (line 153)
|
||||
* section, assigning to memory region: Output Section Region.
|
||||
(line 6)
|
||||
* section, assigning to program header: Output Section Phdr.
|
||||
@ -6535,13 +6528,13 @@ Index
|
||||
* sections, discarding: Output Section Discarding.
|
||||
(line 6)
|
||||
* segment origins, cmd line: Options. (line 1090)
|
||||
* SEGMENT_START(SEGMENT, DEFAULT): Builtin Functions. (line 146)
|
||||
* SEGMENT_START(SEGMENT, DEFAULT): Builtin Functions. (line 145)
|
||||
* segments, ELF: PHDRS. (line 6)
|
||||
* shared libraries: Options. (line 1022)
|
||||
* SHORT(EXPRESSION): Output Section Data.
|
||||
(line 6)
|
||||
* SIZEOF(SECTION): Builtin Functions. (line 154)
|
||||
* SIZEOF_HEADERS: Builtin Functions. (line 170)
|
||||
* SIZEOF(SECTION): Builtin Functions. (line 153)
|
||||
* SIZEOF_HEADERS: Builtin Functions. (line 169)
|
||||
* small common symbols: Input Section Common.
|
||||
(line 20)
|
||||
* SORT: Input Section Wildcards.
|
||||
@ -6562,7 +6555,7 @@ Index
|
||||
* SUBALIGN(SUBSECTION_ALIGN): Forced Input Alignment.
|
||||
(line 6)
|
||||
* suffixes for integers: Constants. (line 12)
|
||||
* symbol defaults: Builtin Functions. (line 105)
|
||||
* symbol defaults: Builtin Functions. (line 104)
|
||||
* symbol definition, scripts: Assignments. (line 6)
|
||||
* symbol names: Symbols. (line 6)
|
||||
* symbol tracing: Options. (line 522)
|
||||
@ -6579,7 +6572,7 @@ Index
|
||||
* thumb entry point: ARM. (line 17)
|
||||
* TI COFF versions: TI COFF. (line 6)
|
||||
* traditional format: Options. (line 1069)
|
||||
* unallocated address, next: Builtin Functions. (line 137)
|
||||
* unallocated address, next: Builtin Functions. (line 136)
|
||||
* undefined symbol: Options. (line 480)
|
||||
* undefined symbol in linker script: Miscellaneous Commands.
|
||||
(line 13)
|
||||
@ -6613,10 +6606,10 @@ Index
|
||||
|
||||
|
||||
Tag Table:
|
||||
Node: Top449
|
||||
Node: Overview1211
|
||||
Node: Invocation2325
|
||||
Node: Options2733
|
||||
Node: Top450
|
||||
Node: Overview1212
|
||||
Node: Invocation2326
|
||||
Node: Options2734
|
||||
Node: Environment77388
|
||||
Node: Scripts79148
|
||||
Node: Basic Script Concepts80882
|
||||
@ -6646,48 +6639,48 @@ Node: Output Section Data120371
|
||||
Node: Output Section Keywords123148
|
||||
Node: Output Section Discarding126717
|
||||
Node: Output Section Attributes127673
|
||||
Node: Output Section Type128677
|
||||
Node: Output Section LMA129831
|
||||
Node: Forced Output Alignment132102
|
||||
Node: Forced Input Alignment132370
|
||||
Node: Output Section Region132755
|
||||
Node: Output Section Phdr133185
|
||||
Node: Output Section Fill133849
|
||||
Node: Overlay Description134991
|
||||
Node: MEMORY139239
|
||||
Node: PHDRS143439
|
||||
Node: VERSION148478
|
||||
Node: Expressions156269
|
||||
Node: Constants157147
|
||||
Node: Symbols157708
|
||||
Node: Orphan Sections158446
|
||||
Node: Location Counter159209
|
||||
Node: Operators163513
|
||||
Node: Evaluation164435
|
||||
Node: Expression Section165799
|
||||
Node: Builtin Functions167288
|
||||
Node: Implicit Linker Scripts174780
|
||||
Node: Machine Dependent175555
|
||||
Node: H8/300176416
|
||||
Node: i960178041
|
||||
Node: ARM179726
|
||||
Node: HPPA ELF32182642
|
||||
Node: MMIX184265
|
||||
Node: MSP430185482
|
||||
Node: PowerPC ELF32186530
|
||||
Node: PowerPC64 ELF64188821
|
||||
Node: TI COFF193235
|
||||
Node: WIN32193767
|
||||
Node: Xtensa211841
|
||||
Node: BFD214963
|
||||
Node: BFD outline216418
|
||||
Node: BFD information loss217704
|
||||
Node: Canonical format220221
|
||||
Node: Reporting Bugs224578
|
||||
Node: Bug Criteria225272
|
||||
Node: Bug Reporting225971
|
||||
Node: MRI232996
|
||||
Node: GNU Free Documentation License237639
|
||||
Node: Index257353
|
||||
Node: Output Section Type128676
|
||||
Node: Output Section LMA129830
|
||||
Node: Forced Output Alignment132101
|
||||
Node: Forced Input Alignment132369
|
||||
Node: Output Section Region132754
|
||||
Node: Output Section Phdr133184
|
||||
Node: Output Section Fill133848
|
||||
Node: Overlay Description134990
|
||||
Node: MEMORY139237
|
||||
Node: PHDRS143436
|
||||
Node: VERSION148475
|
||||
Node: Expressions156266
|
||||
Node: Constants157144
|
||||
Node: Symbols157705
|
||||
Node: Orphan Sections158443
|
||||
Node: Location Counter159206
|
||||
Node: Operators163510
|
||||
Node: Evaluation164432
|
||||
Node: Expression Section165796
|
||||
Node: Builtin Functions167285
|
||||
Node: Implicit Linker Scripts174772
|
||||
Node: Machine Dependent175547
|
||||
Node: H8/300176408
|
||||
Node: i960178033
|
||||
Node: ARM179718
|
||||
Node: HPPA ELF32182634
|
||||
Node: MMIX184257
|
||||
Node: MSP430185474
|
||||
Node: PowerPC ELF32186522
|
||||
Node: PowerPC64 ELF64188813
|
||||
Node: TI COFF193227
|
||||
Node: WIN32193759
|
||||
Node: Xtensa211833
|
||||
Node: BFD214955
|
||||
Node: BFD outline216410
|
||||
Node: BFD information loss217696
|
||||
Node: Canonical format220213
|
||||
Node: Reporting Bugs224570
|
||||
Node: Bug Criteria225264
|
||||
Node: Bug Reporting225963
|
||||
Node: MRI232988
|
||||
Node: GNU Free Documentation License237631
|
||||
Node: Index257333
|
||||
|
||||
End Tag Table
|
||||
|
@ -1,6 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -z $GCCDATE ]; then
|
||||
echo "need to set GCCDATE environment variable!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
export BELIBRARIES=/boot/common/lib:/boot/system/develop/lib
|
||||
|
||||
mkdir -p binutils-obj
|
||||
cd binutils-obj
|
||||
CFLAGS="-O2" CXXFLAGS="-O2" ../binutils/configure --prefix=/boot/develop/tools/gnupro --disable-nls --enable-shared=yes
|
||||
CFLAGS="-O2" CXXFLAGS="-O2" ../binutils/configure \
|
||||
--prefix=/boot/common/develop/tools/gcc-2.95.3-${GCCDATE} \
|
||||
--disable-nls --enable-shared=yes
|
||||
make
|
||||
cd ..
|
||||
|
@ -1,6 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -z $GCCDATE ]; then
|
||||
echo "need to set GCCDATE environment variable!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
export BELIBRARIES=/boot/common/lib:/boot/system/develop/lib
|
||||
|
||||
mkdir -p gcc-obj
|
||||
cd gcc-obj
|
||||
CFLAGS="-O2" CXXFLAGS="-O2" ../gcc/configure --prefix=/boot/develop/tools/gnupro --disable-nls --enable-shared=yes --enable-languages=c,c++
|
||||
CFLAGS="-O2" CXXFLAGS="-O2" ../gcc/configure \
|
||||
--prefix=/boot/common/develop/tools/gcc-2.95.3-${GCCDATE} \
|
||||
--disable-nls --enable-shared=yes --enable-languages=c,c++
|
||||
make bootstrap
|
||||
cd ..
|
||||
|
@ -169,7 +169,7 @@ OTHERS =
|
||||
|
||||
# This is set by the configure script to the list of directories which
|
||||
# should be built using the target tools.
|
||||
TARGET_CONFIGDIRS = libiberty libgloss newlib libio librx libstdc++ libg++ winsup opcodes libstub cygmon libf2c libchill libobjc
|
||||
TARGET_CONFIGDIRS = libiberty libgloss newlib librx libg++ winsup opcodes libstub cygmon libf2c libchill libobjc
|
||||
|
||||
# Target libraries are put under this directory:
|
||||
# Changed by configure to $(target_alias) if cross.
|
||||
@ -756,8 +756,6 @@ INSTALL_X11_MODULES = \
|
||||
# This is a list of the targets for all of the modules which are compiled
|
||||
# using $(TARGET_FLAGS_TO_PASS).
|
||||
ALL_TARGET_MODULES = \
|
||||
all-target-libio \
|
||||
all-target-libstdc++ \
|
||||
all-target-librx \
|
||||
all-target-libg++ \
|
||||
all-target-newlib \
|
||||
@ -779,8 +777,6 @@ ALL_TARGET_MODULES = \
|
||||
# This is a list of the configure targets for all of the modules which
|
||||
# are compiled using the target tools.
|
||||
CONFIGURE_TARGET_MODULES = \
|
||||
configure-target-libio \
|
||||
configure-target-libstdc++ \
|
||||
configure-target-librx \
|
||||
configure-target-libg++ \
|
||||
configure-target-newlib \
|
||||
@ -802,8 +798,6 @@ CONFIGURE_TARGET_MODULES = \
|
||||
# This is a list of the check targets for all of the modules which are
|
||||
# compiled using $(TARGET_FLAGS_TO_PASS).
|
||||
CHECK_TARGET_MODULES = \
|
||||
check-target-libio \
|
||||
check-target-libstdc++ \
|
||||
check-target-libg++ \
|
||||
check-target-newlib \
|
||||
check-target-libf2c \
|
||||
@ -820,8 +814,6 @@ CHECK_TARGET_MODULES = \
|
||||
# This is a list of the install targets for all of the modules which are
|
||||
# compiled using $(TARGET_FLAGS_TO_PASS).
|
||||
INSTALL_TARGET_MODULES = \
|
||||
install-target-libio \
|
||||
install-target-libstdc++ \
|
||||
install-target-libg++ \
|
||||
install-target-newlib \
|
||||
install-target-libf2c \
|
||||
@ -906,8 +898,6 @@ CLEAN_MODULES = \
|
||||
|
||||
# All of the target modules that can be cleaned
|
||||
CLEAN_TARGET_MODULES = \
|
||||
clean-target-libio \
|
||||
clean-target-libstdc++ \
|
||||
clean-target-librx \
|
||||
clean-target-libg++ \
|
||||
clean-target-newlib \
|
||||
@ -1567,7 +1557,7 @@ all-byacc:
|
||||
all-bzip2:
|
||||
all-cvssrc:
|
||||
configure-target-cygmon: $(ALL_GCC)
|
||||
all-target-cygmon: configure-target-cygmon all-gas all-ld all-gcc all-target-libiberty all-target-newlib all-target-libio all-target-libstub
|
||||
all-target-cygmon: configure-target-cygmon all-gas all-ld all-gcc all-target-libiberty all-target-newlib all-target-libstub
|
||||
all-db:
|
||||
all-dejagnu: all-tcl all-expect all-tk
|
||||
all-diff: all-libiberty
|
||||
@ -1592,7 +1582,7 @@ all-gdb: all-libiberty all-opcodes all-bfd all-mmalloc all-readline all-bison al
|
||||
all-gettext:
|
||||
all-gnuserv:
|
||||
configure-target-gperf: $(ALL_GCC)
|
||||
all-target-gperf: configure-target-gperf all-target-libiberty all-target-libstdc++
|
||||
all-target-gperf: configure-target-gperf all-target-libiberty
|
||||
all-gprof: all-libiberty all-bfd all-opcodes all-intl
|
||||
all-grep: all-libiberty
|
||||
all-grez: all-libiberty all-bfd all-opcodes
|
||||
@ -1607,20 +1597,15 @@ all-ispell: all-emacs19
|
||||
all-itcl: all-tcl all-tk
|
||||
all-ld: all-libiberty all-bfd all-opcodes all-bison all-byacc all-flex all-intl
|
||||
configure-target-libg++: $(ALL_GCC) configure-target-librx
|
||||
all-target-libg++: configure-target-libg++ all-gas all-ld all-gcc all-target-libiberty all-target-newlib all-target-libio all-target-librx all-target-libstdc++
|
||||
all-target-libg++: configure-target-libg++ all-gas all-ld all-gcc all-target-libiberty all-target-newlib all-target-librx
|
||||
configure-target-libgloss: $(ALL_GCC)
|
||||
all-target-libgloss: configure-target-libgloss configure-target-newlib
|
||||
configure-target-libio: $(ALL_GCC)
|
||||
all-target-libio: configure-target-libio all-gas all-ld all-gcc all-target-libiberty all-target-newlib
|
||||
check-target-libio: all-target-libstdc++
|
||||
all-libgui: all-tcl all-tk all-itcl
|
||||
all-libiberty:
|
||||
configure-target-libjava: $(ALL_GCC) configure-target-zlib configure-target-boehm-gc configure-target-qthreads configure-target-newlib
|
||||
all-target-libjava: configure-target-libjava all-gcc all-zip all-target-newlib all-target-zlib all-target-boehm-gc all-target-qthreads
|
||||
configure-target-librx: $(ALL_GCC) configure-target-newlib
|
||||
all-target-librx: configure-target-librx
|
||||
configure-target-libstdc++: $(ALL_GCC)
|
||||
all-target-libstdc++: configure-target-libstdc++ all-gas all-ld all-gcc all-target-libiberty all-target-newlib all-target-libio
|
||||
configure-target-libstub: $(ALL_GCC)
|
||||
all-target-libstub: configure-target-libstub
|
||||
all-libtool:
|
||||
@ -1656,7 +1641,7 @@ all-tgas: all-libiberty all-bfd all-opcodes
|
||||
all-time:
|
||||
all-tix: all-tcl all-tk
|
||||
all-wdiff:
|
||||
all-target-winsup: all-target-newlib all-target-libiberty all-target-libio configure-target-winsup
|
||||
all-target-winsup: all-target-newlib all-target-libiberty configure-target-winsup
|
||||
configure-target-winsup: configure-target-newlib
|
||||
all-uudecode: all-libiberty
|
||||
all-zip:
|
||||
@ -1816,7 +1801,7 @@ gas+binutils.tar.gz: $(DIST_SUPPORT) $(GASB_SUPPORT_DIRS) gas
|
||||
SUPPORT_FILES="$(GASB_SUPPORT_DIRS) makeall.bat configure.bat"
|
||||
|
||||
.PHONY: libg++.tar.gz
|
||||
LIBGXX_SUPPORT_DIRS=include libstdc++ libio librx libiberty
|
||||
LIBGXX_SUPPORT_DIRS=include librx libiberty
|
||||
libg++.tar.gz: $(DIST_SUPPORT) libg++
|
||||
$(MAKE) -f Makefile.in taz TOOL=libg++ \
|
||||
SUPPORT_FILES="$(LIBGXX_SUPPORT_DIRS)"
|
||||
|
@ -182,6 +182,12 @@ program_transform_cross_name = s,^,$(target_alias)-,
|
||||
build_canonical = @build_canonical@
|
||||
host_canonical = @host_canonical@
|
||||
|
||||
HYBRID_SECONDARY = @HYBRID_SECONDARY@
|
||||
HYBRID_SECONDARY_DEFINES =
|
||||
ifneq ($(HYBRID_SECONDARY),)
|
||||
HYBRID_SECONDARY_DEFINES += -DHYBRID_SECONDARY="\"$(HYBRID_SECONDARY)\""
|
||||
endif
|
||||
|
||||
# Tools to use when building a cross-compiler.
|
||||
# These are used because `configure' appends `cross-make'
|
||||
# to the makefile when making a cross-compiler.
|
||||
@ -1412,7 +1418,8 @@ DRIVER_DEFINES = \
|
||||
-DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc-lib/\" \
|
||||
-DDEFAULT_TARGET_VERSION=\"$(version)\" \
|
||||
-DDEFAULT_TARGET_MACHINE=\"$(target_alias)\" \
|
||||
-DTOOLDIR_BASE_PREFIX=\"$(exec_prefix)/\"
|
||||
-DTOOLDIR_BASE_PREFIX=\"$(exec_prefix)/\" \
|
||||
$(HYBRID_SECONDARY_DEFINES)
|
||||
gcc.o: gcc.c $(CONFIG_H) system.h intl.h multilib.h \
|
||||
Makefile $(lang_specs_files) prefix.h
|
||||
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
||||
@ -1976,6 +1983,7 @@ cccp.o: cccp.c $(CONFIG_H) intl.h pcp.h version.c config.status system.h \
|
||||
-DLOCAL_INCLUDE_DIR=\"$(includedir)\" \
|
||||
-DCROSS_INCLUDE_DIR=\"$(gcc_tooldir)/sys-include\" \
|
||||
-DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \
|
||||
$(HYBRID_SECONDARY_DEFINES) \
|
||||
-c `echo $(srcdir)/cccp.c | sed 's,^\./,,'`
|
||||
|
||||
LIBCPP_OBJS = cpplib.o cpphash.o cppalloc.o cpperror.o cppexp.o cppfiles.o \
|
||||
@ -2010,6 +2018,7 @@ cppinit.o: cppinit.c $(CONFIG_H) cpplib.h intl.h system.h \
|
||||
-DLOCAL_INCLUDE_DIR=\"$(includedir)\" \
|
||||
-DCROSS_INCLUDE_DIR=\"$(gcc_tooldir)/sys-include\" \
|
||||
-DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \
|
||||
$(HYBRID_SECONDARY_DEFINES) \
|
||||
-c `echo $(srcdir)/cppinit.c | sed 's,^\./,,'`
|
||||
|
||||
# Note for the stamp targets, we run the program `true' instead of
|
||||
@ -2034,6 +2043,7 @@ protoize.o: protoize.c $(srcdir)/../include/getopt.h $(CONFIG_H) system.h \
|
||||
-DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \
|
||||
-DLOCAL_INCLUDE_DIR=\"$(includedir)\" \
|
||||
-DSTD_PROTO_DIR=\"$(libsubdir)\" \
|
||||
$(HYBRID_SECONDARY_DEFINES) \
|
||||
$(srcdir)/protoize.c
|
||||
|
||||
unprotoize.o: unprotoize.c protoize.c $(srcdir)/../include/getopt.h \
|
||||
@ -2129,14 +2139,14 @@ stmp-int-hdrs: stmp-fixinc $(USER_H) xlimits.h
|
||||
stmp-headers:
|
||||
touch $@
|
||||
|
||||
FIXINCSRCDIR=$(srcdir)/fixinc
|
||||
fixinc.sh: $(FIXINCSRCDIR)/mkfixinc.sh $(FIXINCSRCDIR)/fixincl.c \
|
||||
$(FIXINCSRCDIR)/procopen.c $(FIXINCSRCDIR)/gnu-regex.c \
|
||||
$(FIXINCSRCDIR)/server.c $(FIXINCSRCDIR)/gnu-regex.h \
|
||||
$(FIXINCSRCDIR)/server.h $(FIXINCSRCDIR)/inclhack.def
|
||||
MAKE="$(MAKE)"; srcdir=`cd $(srcdir)/fixinc; pwd` ; \
|
||||
export MAKE srcdir ; \
|
||||
cd ./fixinc; $(SHELL) $${srcdir}/mkfixinc.sh $(host_canonical) $(target)
|
||||
#FIXINCSRCDIR=$(srcdir)/fixinc
|
||||
#fixinc.sh: $(FIXINCSRCDIR)/mkfixinc.sh $(FIXINCSRCDIR)/fixincl.c \
|
||||
# $(FIXINCSRCDIR)/procopen.c $(FIXINCSRCDIR)/gnu-regex.c \
|
||||
# $(FIXINCSRCDIR)/server.c $(FIXINCSRCDIR)/gnu-regex.h \
|
||||
# $(FIXINCSRCDIR)/server.h $(FIXINCSRCDIR)/inclhack.def
|
||||
# MAKE="$(MAKE)"; srcdir=`cd $(srcdir)/fixinc; pwd` ; \
|
||||
# export MAKE srcdir ; \
|
||||
# cd ./fixinc; $(SHELL) $${srcdir}/mkfixinc.sh $(host_canonical) $(target)
|
||||
|
||||
##stmp-fixinc: $(FIXINCLUDES) gsyslimits.h
|
||||
## rm -rf include
|
||||
@ -2159,7 +2169,7 @@ fixinc.sh: $(FIXINCSRCDIR)/mkfixinc.sh $(FIXINCSRCDIR)/fixincl.c \
|
||||
## fi
|
||||
|
||||
# Build fixed copies of system files.
|
||||
stmp-fixinc: fixinc.sh gsyslimits.h
|
||||
stmp-fixinc: gsyslimits.h
|
||||
rm -rf include; mkdir include
|
||||
TARGET_MACHINE=$(target); srcdir=`cd $(srcdir); pwd`; \
|
||||
INSTALL_ASSERT_H=$(INSTALL_ASSERT_H); SHELL=$(SHELL) ;\
|
||||
|
@ -351,98 +351,190 @@ extern union tree_node *i386_pe_merge_decl_attributes ();
|
||||
#undef SMALL_STACK
|
||||
|
||||
/* For native compiler, use standard Haiku include file search paths
|
||||
rooted in /boot/develop/headers. For a cross compiler, don't
|
||||
expect the host to use the Haiku directory scheme, and instead look
|
||||
for the Haiku include files relative to TOOL_INCLUDE_DIR. Yes, we
|
||||
use ANSI string concatenation here (FIXME) */
|
||||
rooted in /boot/system/develop/headers. For a cross compiler, don't expect
|
||||
the host to use the Haiku directory scheme, and instead look for the Haiku
|
||||
include files relative to TOOL_INCLUDE_DIR. When building as the compiler
|
||||
for the secondary architecture of a hybrid, use slightly different paths. */
|
||||
|
||||
#undef INCLUDE_DEFAULTS
|
||||
|
||||
#ifndef CROSS_COMPILE
|
||||
#undef INCLUDE_DEFAULTS
|
||||
#ifndef HYBRID_SECONDARY
|
||||
#define INCLUDE_DEFAULTS \
|
||||
{ \
|
||||
{ GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1 },\
|
||||
{ GCC_INCLUDE_DIR, "GCC", 0, 0 },\
|
||||
{ TOOL_INCLUDE_DIR, "BINUTILS", 0, 1}, \
|
||||
{ "/boot/common/include", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/app", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/device", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/drivers", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/game", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/interface", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/kernel", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/locale", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/mail", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/media", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/midi", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/midi2", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/net", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/opengl", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/storage", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/support", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/translation", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/add-ons/graphics", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/add-ons/input_server", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/add-ons/screen_saver", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/add-ons/tracker", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/be_apps/Deskbar", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/be_apps/NetPositive", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/os/be_apps/Tracker", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/cpp", 0, 1, 1 },\
|
||||
{ "/boot/develop/headers/3rdparty", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/bsd", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/glibc", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/gnu", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers/posix", 0, 0, 0 },\
|
||||
{ "/boot/develop/headers", 0, 0, 0 }, \
|
||||
{ "/boot/common/non-packaged/develop/headers", 0, 0, 0 },\
|
||||
{ "/boot/common/develop/headers", 0, 0, 0 },\
|
||||
{ "/boot/system/develop/headers/os", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/app", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/device", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/drivers", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/game", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/interface", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/kernel", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/locale", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/mail", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/media", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/midi", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/midi2", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/net", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/opengl", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/storage", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/support", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/translation", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/add-ons/graphics", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/add-ons/input_server", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/add-ons/screen_saver", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/add-ons/tracker", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/be_apps/Deskbar", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/be_apps/NetPositive", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/be_apps/Tracker", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/3rdparty", 0, 0, 0 },\
|
||||
/* TODO: To be removed when libtiff has been outsourced. */\
|
||||
{ "/boot/system/develop/headers/bsd", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/glibc", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/gnu", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/posix", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers", 0, 0, 0 }, \
|
||||
{ 0, 0, 0, 0 } \
|
||||
};
|
||||
#else /* HYBRID_SECONDARY */
|
||||
#define INCLUDE_DEFAULTS \
|
||||
{ \
|
||||
{ GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1 },\
|
||||
{ GCC_INCLUDE_DIR, "GCC", 0, 0 },\
|
||||
{ "/boot/common/non-packaged/develop/headers/" HYBRID_SECONDARY, 0, 0, 0 },\
|
||||
{ "/boot/common/develop/headers/" HYBRID_SECONDARY, 0, 0, 0 },\
|
||||
{ "/boot/system/develop/headers/os", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/app", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/device", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/drivers", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/game", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/interface", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/kernel", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/locale", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/mail", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/media", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/midi", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/midi2", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/net", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/opengl", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/storage", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/support", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/translation", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/add-ons/graphics", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/add-ons/input_server", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/add-ons/screen_saver", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/add-ons/tracker", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/be_apps/Deskbar", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/be_apps/NetPositive", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/os/be_apps/Tracker", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/3rdparty", 0, 0, 0 },\
|
||||
/* TODO: To be removed when libtiff has been outsourced. */\
|
||||
{ "/boot/system/develop/headers/bsd", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/glibc", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/gnu", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/posix", 0, 0, 1 },\
|
||||
{ "/boot/system/develop/headers/" HYBRID_SECONDARY, 0, 0, 0 }, \
|
||||
{ "/boot/system/develop/headers", 0, 0, 0 }, \
|
||||
{ 0, 0, 0, 0 } \
|
||||
};
|
||||
#endif
|
||||
#else /* CROSS_COMPILE */
|
||||
#undef INCLUDE_DEFAULTS
|
||||
#ifndef HYBRID_SECONDARY
|
||||
#define INCLUDE_DEFAULTS \
|
||||
{ \
|
||||
{ GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1 },\
|
||||
{ GCC_INCLUDE_DIR, "GCC", 0, 0 },\
|
||||
{ TOOL_INCLUDE_DIR, "BINUTILS", 0, 1}, \
|
||||
{ CROSS_INCLUDE_DIR "/os", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/app", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/device", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/drivers", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/game", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/interface", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/kernel", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/locale", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/mail", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/media", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/midi", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/midi2", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/net", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/opengl", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/storage", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/support", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/translation", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/add-ons/graphics", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/add-ons/input_server", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/add-ons/screen_saver", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/add-ons/tracker", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/be_apps/Deskbar", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/be_apps/NetPositive", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/be_apps/Tracker", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/cpp", 0, 1, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/app", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/device", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/drivers", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/game", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/interface", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/kernel", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/locale", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/mail", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/media", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/midi", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/midi2", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/net", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/opengl", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/storage", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/support", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/translation", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/add-ons/graphics", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/add-ons/input_server", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/add-ons/screen_saver", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/add-ons/tracker", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/be_apps/Deskbar", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/be_apps/NetPositive", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/be_apps/Tracker", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/3rdparty", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/bsd", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/glibc", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/gnu", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/posix", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/bsd", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/glibc", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/gnu", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/posix", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR , 0, 0, 0 }, \
|
||||
{ 0, 0, 0, 0 } \
|
||||
};
|
||||
#else /* HYBRID_SECONDARY */
|
||||
#define INCLUDE_DEFAULTS \
|
||||
{ \
|
||||
{ GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1 },\
|
||||
{ GCC_INCLUDE_DIR, "GCC", 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/os", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/app", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/device", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/drivers", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/game", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/interface", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/kernel", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/locale", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/mail", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/media", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/midi", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/midi2", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/net", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/opengl", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/storage", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/support", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/translation", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/add-ons/graphics", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/add-ons/input_server", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/add-ons/screen_saver", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/add-ons/tracker", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/be_apps/Deskbar", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/be_apps/NetPositive", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/os/be_apps/Tracker", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/3rdparty", 0, 0, 0 },\
|
||||
{ CROSS_INCLUDE_DIR "/bsd", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/glibc", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/gnu", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/posix", 0, 0, 1 },\
|
||||
{ CROSS_INCLUDE_DIR "/" HYBRID_SECONDARY, 0, 0, 0 }, \
|
||||
{ CROSS_INCLUDE_DIR , 0, 0, 0 }, \
|
||||
{ 0, 0, 0, 0 } \
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Whee. LIBRARY_PATH is Haiku's LD_LIBRARY_PATH, which of course will
|
||||
cause nasty problems if we override it. */
|
||||
#define LIBRARY_PATH_ENV "BELIBRARIES"
|
||||
|
||||
/* With STANDARD_STARTFILE_PREFIX_{1,2} set to "/boot/common/develop/lib/"
|
||||
and "/boot/system/develop/lib/", MD_STARTFILE_PREFIX adds the last one of the
|
||||
standard paths. The user specific paths are set via LIBRARY_PATH_ENV. */
|
||||
#undef MD_STARTFILE_PREFIX
|
||||
#ifdef HYBRID_SECONDARY
|
||||
#define MD_STARTFILE_PREFIX \
|
||||
"/boot/common/non-packaged/develop/lib/" HYBRID_SECONDARY "/"
|
||||
#else
|
||||
#define MD_STARTFILE_PREFIX "/boot/common/non-packaged/develop/lib/"
|
||||
#endif
|
||||
|
||||
/* Haiku doesn't have a separate math library. */
|
||||
#define MATH_LIBRARY ""
|
||||
|
||||
@ -466,8 +558,6 @@ extern union tree_node *i386_pe_merge_decl_attributes ();
|
||||
So we do just that, we replace MULTIPLE_SYMBOL_SPACES with a
|
||||
test for optimization (see lex.c, line 4882ff and decl2.c, line 2701).
|
||||
*/
|
||||
/* [bonefish]:
|
||||
Review! */
|
||||
|
||||
#undef MULTIPLE_SYMBOL_SPACES
|
||||
|
||||
@ -482,14 +572,10 @@ extern union tree_node *i386_pe_merge_decl_attributes ();
|
||||
so the most likely ill effect of disabling this is that a BeOS gdb
|
||||
debugging an executable with no debug info would not see the gcc2_compiled
|
||||
label. */
|
||||
/* [bonefish]:
|
||||
Review! */
|
||||
#undef ASM_IDENTIFY_GCC
|
||||
#define ASM_IDENTIFY_GCC(FILE)
|
||||
|
||||
/* required to compile winnt.c */
|
||||
/* [bonefish]:
|
||||
Review! */
|
||||
#define I386_PE_STRIP_ENCODING(SYM_NAME) \
|
||||
((SYM_NAME) + ((SYM_NAME)[0] == '@' ? 3 : 0))
|
||||
|
||||
|
@ -4,12 +4,18 @@ CROSS_LIBGCC1 =
|
||||
|
||||
# There are system headers elsewhere, but these are the ones that
|
||||
# we are most likely to want to apply any fixes to.
|
||||
SYSTEM_HEADER_DIR = /boot/develop/headers/posix
|
||||
SYSTEM_HEADER_DIR = /boot/system/develop/headers/posix
|
||||
CROSS_SYSTEM_HEADER_DIR := $(CROSS_SYSTEM_HEADER_DIR)/posix
|
||||
|
||||
# Use the system assert.h
|
||||
INSTALL_ASSERT_H =
|
||||
|
||||
# Override the test that checks for the existence of a system limits.h header.
|
||||
# When cross compiling a native compiler for Haiku we don't actually know where
|
||||
# the system headers the cross compiler uses are. But we know Haiku has a
|
||||
# limits.h,
|
||||
LIMITS_H_TEST = true
|
||||
|
||||
winnt.o: $(srcdir)/config/i386/winnt.c
|
||||
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/i386/winnt.c
|
||||
|
||||
|
420
legacy/gcc/gcc/configure
vendored
420
legacy/gcc/gcc/configure
vendored
File diff suppressed because it is too large
Load Diff
@ -292,6 +292,14 @@ AC_ARG_WITH(dwarf2,
|
||||
dwarf2="$with_dwarf2",
|
||||
dwarf2=no)
|
||||
|
||||
# handle --with-hybrid-secondary
|
||||
AC_ARG_WITH(hybrid_secondary,
|
||||
[ --with-hybrid_secondary specify the packaging architecture for building a secondary compiler for a Haiku hybrid system.],
|
||||
[HYBRID_SECONDARY=$withval],
|
||||
[HYBRID_SECONDARY=]
|
||||
)
|
||||
AC_SUBST(HYBRID_SECONDARY)
|
||||
|
||||
# Determine the host, build, and target systems
|
||||
AC_CANONICAL_SYSTEM
|
||||
|
||||
@ -513,6 +521,9 @@ changequote([,])dnl
|
||||
sparc*-*-*)
|
||||
cpu_type=sparc
|
||||
;;
|
||||
x86_64-*)
|
||||
cpu_type=i386
|
||||
;;
|
||||
esac
|
||||
|
||||
tm_file=${cpu_type}/${cpu_type}.h
|
||||
@ -3341,6 +3352,10 @@ changequote([,])dnl
|
||||
xm_file="${xm_file} xm-svr3"
|
||||
use_collect2=yes
|
||||
;;
|
||||
x86_64-*)
|
||||
# Not actually supported as a target. But we want to avoid an error when
|
||||
# building a cross-compiler for this build host.
|
||||
;;
|
||||
*)
|
||||
echo "Configuration $machine not supported" 1>&2
|
||||
exit 1
|
||||
|
@ -1409,8 +1409,20 @@ static const char *md_startfile_prefix = MD_STARTFILE_PREFIX;
|
||||
#ifdef MD_STARTFILE_PREFIX_1
|
||||
static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1;
|
||||
#endif
|
||||
|
||||
static const char *standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
|
||||
#if !defined(__BEOS__) && !defined(__HAIKU__)
|
||||
|
||||
#if defined(__HAIKU__)
|
||||
#ifdef HYBRID_SECONDARY
|
||||
static const char *standard_startfile_prefix_1 =
|
||||
"/boot/common/develop/lib/" HYBRID_SECONDARY "/";
|
||||
static const char *standard_startfile_prefix_2 =
|
||||
"/boot/system/develop/lib/" HYBRID_SECONDARY "/";
|
||||
#else
|
||||
static const char *standard_startfile_prefix_1 = "/boot/common/develop/lib/";
|
||||
static const char *standard_startfile_prefix_2 = "/boot/system/develop/lib/";
|
||||
#endif
|
||||
#else
|
||||
static const char *standard_startfile_prefix_1 = "/lib/";
|
||||
static const char *standard_startfile_prefix_2 = "/usr/lib/";
|
||||
#endif
|
||||
@ -4943,12 +4955,10 @@ main (argc, argv)
|
||||
NULL_PTR, 0, 0, NULL_PTR);
|
||||
}
|
||||
|
||||
#if !defined(__BEOS__) && !defined(__HAIKU__)
|
||||
add_prefix (&startfile_prefixes, standard_startfile_prefix_1,
|
||||
"BINUTILS", 0, 0, NULL_PTR);
|
||||
add_prefix (&startfile_prefixes, standard_startfile_prefix_2,
|
||||
"BINUTILS", 0, 0, NULL_PTR);
|
||||
#endif
|
||||
#if 0 /* Can cause surprises, and one can use -B./ instead. */
|
||||
add_prefix (&startfile_prefixes, "./", NULL_PTR, 0, 1, NULL_PTR);
|
||||
#endif
|
||||
|
@ -1 +1 @@
|
||||
char *version_string = "2.95.3-haiku-121101";
|
||||
char *version_string = "2.95.3-haiku-2013_08_15";
|
||||
|
Loading…
Reference in New Issue
Block a user