From b52d2973fb9a4c6183233e275e06adbc2ccaff03 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Fri, 15 May 2015 20:55:10 +0200 Subject: [PATCH] WIP fixes to gcc-6809 and lwtools * Not working properly yet. * gcc6809 was missing dependencies on mpc/mpfr/gmp (not caught by haikuporter because the executables are not in $binDir * the -x86 suffix on lwasm was causing gcc to not find it, so use the normal "bin" dir (it doesn't build with gcc2 anyway) * Still not working because of LIBRARY_PATH issues (gcc redefines this and it confuses runtime_loader) --- dev-embedded/gcc6809/gcc6809-4.6.1.recipe | 16 +++++++-- dev-embedded/lwtools/lwtools-4.10.recipe | 40 +++++++++++------------ 2 files changed, 33 insertions(+), 23 deletions(-) diff --git a/dev-embedded/gcc6809/gcc6809-4.6.1.recipe b/dev-embedded/gcc6809/gcc6809-4.6.1.recipe index 27c217014..58bb60b15 100644 --- a/dev-embedded/gcc6809/gcc6809-4.6.1.recipe +++ b/dev-embedded/gcc6809/gcc6809-4.6.1.recipe @@ -4,7 +4,7 @@ uses the lwtools as a backend. Note that there is no C library provided." HOMEPAGE="http://lwtools.projects.l-w.ca" SRC_URI="ftp://ftp.irisa.fr/pub/mirrors/gcc.gnu.org/gcc/releases/gcc-$portVersion/gcc-$portVersion.tar.bz2" CHECKSUM_SHA256="8eebf51c908151d1f1a3756c8899c5e71572e8469a547ad72a1ef16a08a31b59" -REVISION="1" +REVISION="2" COPYRIGHT="1988-2013 Free Software Foundation, Inc." LICENSE=" GNU GPL v2 @@ -31,7 +31,11 @@ PROVIDES=" " REQUIRES=" haiku$secondaryArchSuffix - cmd:m6809_unknown_ld$secondaryArchSuffix + lib:libmpc$secondaryArchSuffix + lib:libmpfr$secondaryArchSuffix + lib:libgmp$secondaryArchSuffix + cmd:m6809_unknown_ld + cmd:lwasm " BUILD_REQUIRES=" devel:libgmp$secondaryArchSuffix @@ -53,7 +57,7 @@ BUILD_PREREQUIRES=" cmd:tar cmd:which cmd:xargs - cmd:m6809_unknown_ld$secondaryArchSuffix + cmd:m6809_unknown_ld " SOURCE_DIR="gcc-$portVersion" @@ -68,6 +72,12 @@ BUILD() mkdir -p $objectsDir cd $objectsDir + # Setting a quoted string in an environment variable is ugly (the quotes + # are removed at various stages and need an absurd amount of escaping), so + # let's use a file and --include instead. + echo '#define LIBRARY_PATH_ENV "M6809_LIBRARY_PATH"' > haiku_host.h + + CXXFLAGS="-O2 -include $objectsDir/haiku_host.h" \ runConfigure $sourceDir/configure --enable-languages=c,c++ \ --target=m6809-unknown --program-prefix=m6809-unknown- \ --enable-obsolete --srcdir=$sourceDir --disable-threads --disable-nls \ diff --git a/dev-embedded/lwtools/lwtools-4.10.recipe b/dev-embedded/lwtools/lwtools-4.10.recipe index 9418d0a16..888e2fe6d 100644 --- a/dev-embedded/lwtools/lwtools-4.10.recipe +++ b/dev-embedded/lwtools/lwtools-4.10.recipe @@ -7,7 +7,7 @@ supports macros and file inclusion among other things. HOMEPAGE="http://lwtools.projects.l-w.ca/" SRC_URI="$HOMEPAGE/releases/lwtools/lwtools-$portVersion.tar.gz" CHECKSUM_SHA256="06ee27c597798bbfb064a8d9471e5cd91074ff22fa8eb4f7d276a8809d35622c" -REVISION="1" +REVISION="2" COPYRIGHT="2006-2014 William Astle" LICENSE="GNU GPL v3" @@ -21,17 +21,17 @@ SECONDARY_ARCHITECTURES="x86" PROVIDES=" lwtools$secondaryArchSuffix = $portVersion - cmd:lwar$secondaryArchSuffix - cmd:lwasm$secondaryArchSuffix - cmd:lwlink$secondaryArchSuffix - cmd:lwobjdump$secondaryArchSuffix - cmd:m6809_unknown_ar$secondaryArchSuffix - cmd:m6809_unknown_as$secondaryArchSuffix - cmd:m6809_unknown_ld$secondaryArchSuffix - cmd:m6809_unknown_nm$secondaryArchSuffix - cmd:m6809_unknown_objdump$secondaryArchSuffix - cmd:m6809_unknown_ranlib$secondaryArchSuffix - cmd:m6809_unknown_strip$secondaryArchSuffix + cmd:lwar + cmd:lwasm + cmd:lwlink + cmd:lwobjdump + cmd:m6809_unknown_ar + cmd:m6809_unknown_as + cmd:m6809_unknown_ld + cmd:m6809_unknown_nm + cmd:m6809_unknown_objdump + cmd:m6809_unknown_ranlib + cmd:m6809_unknown_strip " REQUIRES=" haiku$secondaryArchSuffix @@ -49,15 +49,15 @@ BUILD() INSTALL() { - make install INSTALLDIR=$binDir + make install INSTALLDIR=$prefix/bin # Install the binutil-like interfaces to the tools - cp extra/as $binDir/m6809-unknown-as - cp extra/ar $binDir/m6809-unknown-ar - cp extra/ld $binDir/m6809-unknown-ld + cp extra/as $prefix/bin/m6809-unknown-as + cp extra/ar $prefix/bin/m6809-unknown-ar + cp extra/ld $prefix/bin/m6809-unknown-ld - ln -s /bin/true $binDir/m6809-unknown-nm - ln -s /bin/true $binDir/m6809-unknown-objdump - ln -s /bin/true $binDir/m6809-unknown-ranlib - ln -s /bin/true $binDir/m6809-unknown-strip + ln -s /bin/true $prefix/bin/m6809-unknown-nm + ln -s /bin/true $prefix/bin/m6809-unknown-objdump + ln -s /bin/true $prefix/bin/m6809-unknown-ranlib + ln -s /bin/true $prefix/bin/m6809-unknown-strip }