Eric Sunshine patch
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5673 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
596064f7a0
commit
25f7d19348
1 changed files with 43 additions and 0 deletions
|
|
@ -1,6 +1,49 @@
|
||||||
Version 1.3.22 (in progress)
|
Version 1.3.22 (in progress)
|
||||||
==================================
|
==================================
|
||||||
|
|
||||||
|
01/21/2004: sunshine (Eric Sunshine)
|
||||||
|
Revived the NextStep port of SWIG.
|
||||||
|
|
||||||
|
Fixed fatal problem in DohStrstr() caused by difference in strstr()
|
||||||
|
implementation which made %apply become entirely dysfunctional. On
|
||||||
|
NextStep, strstr("foo","") evaluates to NULL; whereas, on modern
|
||||||
|
platforms, it evaluates to "foo". %apply relies extensively upon
|
||||||
|
strstr("foo","") evaluating to non-NULL, therefore it failed
|
||||||
|
catastrophically when faced with NextStep's strstr().
|
||||||
|
|
||||||
|
Added `bool' check to configure.in since NextStep's C++ compiler
|
||||||
|
does not supply this type. swig.h now fakes up `bool' if needed.
|
||||||
|
|
||||||
|
Worked around NextStep C++ compiler bug in which C++ code is
|
||||||
|
disallowed inside extern "C" functions. This problem affected all
|
||||||
|
language modules, since they publish hook functions of the form:
|
||||||
|
extern "C" Language *swig_foo(void) { return new FOO(); }
|
||||||
|
Fixed by creating a C++ wrapper:
|
||||||
|
static Language *new_swig_foo() { return new FOO(); }
|
||||||
|
extern "C" Language *swig_foo(void) { return new_swig_foo(); }
|
||||||
|
|
||||||
|
Ensured that Swig_copy_string() is used in place of strdup() since
|
||||||
|
NextStep does not supply strdup().
|
||||||
|
|
||||||
|
Fixed detection of Ruby library name and location in configure.in.
|
||||||
|
Problem 1: Assumed that library always resided in Ruby's "archdir",
|
||||||
|
which was correct for Ruby 1.6.x, but which is incorrect for Ruby
|
||||||
|
1.8.x, in which case the library normally resides in Ruby's
|
||||||
|
"libdir". Problem 2: Assumed that the library could always be
|
||||||
|
linked via "-l"+RUBY_INSTALL_NAME (where RUBY_INSTALL_NAME
|
||||||
|
typically is "ruby"), however this failed for platforms, such as
|
||||||
|
NextStep, which do not support shared libraries. In this case, the
|
||||||
|
static library name in 1.8.x is libruby-static.a, thus
|
||||||
|
-lruby-static is required. The new logic works correctly for
|
||||||
|
static and shared libraries for 1.6.x and 1.8.x.
|
||||||
|
|
||||||
|
Fixed detection of Perl CFLAGS in configure.in for NextStep.
|
||||||
|
Detection code extracted CFLAGS from Perl's %Config hash but
|
||||||
|
neglected to add a newline to the value before passing it through
|
||||||
|
`sed'. NextStep's ancient `sed' discards input which is not
|
||||||
|
terminated with a newline, thus Perl CFLAGS always evaluated to the
|
||||||
|
empty string.
|
||||||
|
|
||||||
01/16/2004: cheetah (William Fulton)
|
01/16/2004: cheetah (William Fulton)
|
||||||
Tidy up in the exception handling code that is generated when
|
Tidy up in the exception handling code that is generated when
|
||||||
C++ exception specifications are wrapped with the throws typemap.
|
C++ exception specifications are wrapped with the throws typemap.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue