From e93b3fa2a50c04f3a33d1032429871760951ccca Mon Sep 17 00:00:00 2001 From: Christian Wiese Date: Tue, 27 Jul 2010 15:42:37 +0200 Subject: [PATCH] smalltalk: fixed shared files issue with libsigsegv --- develop/smalltalk/smalltalk.conf | 10 +++- develop/smalltalk/use-system-sigsegv.patch | 60 ++++++++++++++++++++++ 2 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 develop/smalltalk/use-system-sigsegv.patch diff --git a/develop/smalltalk/smalltalk.conf b/develop/smalltalk/smalltalk.conf index ad4ceb33e..d9482d57b 100644 --- a/develop/smalltalk/smalltalk.conf +++ b/develop/smalltalk/smalltalk.conf @@ -2,7 +2,7 @@ # This copyright note is auto-generated by ./scripts/Create-CopyPatch. # # Filename: package/.../smalltalk/smalltalk.conf -# Copyright (C) 2007 The OpenSDE Project +# Copyright (C) 2007 - 2010 The OpenSDE Project # # More information can be found in the files COPYING and README. # @@ -12,6 +12,14 @@ # GNU General Public License can be found in the file COPYING. # --- SDE-COPYRIGHT-NOTE-END --- +# use libsigsegv provided by the system and not the built-in one +# avoiding shared files with libsigsegv +# Anyway the included version of libsigsegv should not be installed +# by smalltalk folks! +if pkginstalled libsigsegv; then + var_append extraconfopt ' ' "--with-system-libsigsegv=$(pkgprefix -r libdir libsigsegv)" +fi + if pkginstalled tk; then tlibdir=`pkgprefix libdir tk` var_append confopt ' ' "--with-tk=$tlibdir --with-tcl=$tlibdir" diff --git a/develop/smalltalk/use-system-sigsegv.patch b/develop/smalltalk/use-system-sigsegv.patch new file mode 100644 index 000000000..beda76e3c --- /dev/null +++ b/develop/smalltalk/use-system-sigsegv.patch @@ -0,0 +1,60 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../smalltalk/use-system-sigsegv.patch +# Copyright (C) 2010 The OpenSDE Project +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +If '--with-system-libsigsegv' is used while running configure, we should +also include the 'sigsegv.h' header file from the system, otherwise the +build is failing. + +diff -ruN smalltalk-3.2.1-orig/config.h.in smalltalk-3.2.1/config.h.in +--- smalltalk-3.2.1-orig/config.h.in 2010-07-25 12:37:50.000000000 +0200 ++++ smalltalk-3.2.1/config.h.in 2010-07-27 15:09:45.968174955 +0200 +@@ -450,6 +450,9 @@ + /* Define to 1 if libsigsegv is being used */ + #undef HAVE_SIGSEGV_H + ++/* Define to 1 if system libsigsegv is being used */ ++#undef USE_SYSTEM_SIGSEGV ++ + /* Define to 1 if you have the `sigsetmask' function. */ + #undef HAVE_SIGSETMASK + +diff -ruN smalltalk-3.2.1-orig/configure smalltalk-3.2.1/configure +--- smalltalk-3.2.1-orig/configure 2010-07-25 12:37:33.000000000 +0200 ++++ smalltalk-3.2.1/configure 2010-07-27 14:51:36.772169677 +0200 +@@ -6199,6 +6199,7 @@ + # Check whether --with-system-libsigsegv was given. + if test "${with_system_libsigsegv+set}" = set; then : + withval=$with_system_libsigsegv; ++ $as_echo "#define USE_SYSTEM_SIGSEGV 1" >>confdefs.h + else + with_system_libsigsegv=no + fi +diff -ruN smalltalk-3.2.1-orig/libgst/gstpriv.h smalltalk-3.2.1/libgst/gstpriv.h +--- smalltalk-3.2.1-orig/libgst/gstpriv.h 2010-04-21 11:25:01.000000000 +0200 ++++ smalltalk-3.2.1/libgst/gstpriv.h 2010-07-27 14:29:14.244174367 +0200 +@@ -107,8 +107,12 @@ + #endif + + #ifdef HAVE_SIGSEGV_H ++#ifdef USE_SYSTEM_SIGSEGV ++#include ++#else + #include "sigsegv.h" + #endif ++#endif + + #include "gst.h" +