Ruby: get the miniruby part to compile...

...but it crashes when trying to execute something. Oh well, that's
at least better than when it never compiled at all, I suppose.
This commit is contained in:
Augustin Cavalier
2014-07-02 13:20:40 -04:00
parent 22cef5e6df
commit 83a27ea3e5
2 changed files with 24 additions and 19 deletions

View File

@@ -1,15 +1,14 @@
From e49f9ee0673df28e5c4e97047cb5f2da1c0d9604 Mon Sep 17 00:00:00 2001
From 4efb1f167e3f3f083f4f7ac92166f71ccf7a0b5b Mon Sep 17 00:00:00 2001
From: Augustin Cavalier <waddlesplash@gmail.com>
Date: Tue, 1 Jul 2014 13:18:31 -0400
Subject: [PATCH] Fixes provided by Chris for Ruby and Donn for Haskell (and
some by myself) to make it work.
Date: Wed, 2 Jul 2014 11:58:34 -0400
Subject: [PATCH] Applying Chris's fixes and some of my own.
---
configure.in | 13 ++++++++++---
elf.h | 42 ++++++++++++++++++++++++++++++++++++++++++
ext/nkf/nkf-utf8/nkf.h | 5 +++++
signal.c | 2 +-
4 files changed, 58 insertions(+), 4 deletions(-)
signal.c | 4 ++--
4 files changed, 59 insertions(+), 5 deletions(-)
create mode 100644 elf.h
diff --git a/configure.in b/configure.in
@@ -111,9 +110,17 @@ index a23ec5c..8351578 100644
# ifndef HAVE_LANGINFO_H
# define HAVE_LANGINFO_H
diff --git a/signal.c b/signal.c
index d4e56dc..b6b2a20 100644
index d4e56dc..92c54e9 100644
--- a/signal.c
+++ b/signal.c
@@ -28,6 +28,6 @@ ruby_atomic_exchange(rb_atomic_t *ptr, rb_atomic_t val)
}
#endif
-#if defined(__BEOS__) || defined(__HAIKU__)
+#if defined(__BEOS__)
#undef SIGBUS
#endif
@@ -590,7 +590,7 @@ static int segv_received = 0;
static RETSIGTYPE
sigsegv(int sig SIGINFO_ARG)
@@ -123,6 +130,6 @@ index d4e56dc..b6b2a20 100644
int ruby_stack_overflowed_p(const rb_thread_t *, const void *);
NORETURN(void ruby_thread_stack_overflow(rb_thread_t *th));
rb_thread_t *th = GET_THREAD();
--
---
1.8.3.4

View File

@@ -20,7 +20,7 @@ LICENSE="Ruby
BSD (3-clause)"
COPYRIGHT="1993-2009 Yukihiro Matsumoto"
REVISION="4"
ARCHITECTURES="x86 ?x86_64"
ARCHITECTURES="x86 !x86_64"
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
# x86_gcc2 is fine as primary target architecture as long as we're building
# for a different secondary architecture.
@@ -97,17 +97,15 @@ REQUIRES_devel="
BUILD()
{
autoconf
# tell configure where to find the private header folders
# that have elf32.h and elf64.h
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
extraFlags="-I/boot/system/develop/headers/private/system"
else
extraFlags="-I/boot/system/develop/headers/private/system/arch/x86"
fi
runConfigure ./configure \
--enable-shared CFLAGS="$extraFlags" CXXFLAGS="$extraFlags"
# tell configure where to find the private header folders
# that have elf32.h, elf64.h, and arch_elf.h
extraFlags="-I/boot/system/develop/headers/private/system \
-I/boot/system/develop/headers/private/system/arch/x86"
export CFLAGS="$extraFlags"
export CPPFLAGS="$extraFlags"
runConfigure ./configure --enable-shared
make $jobArgs
}