From: <and...@us...> - 2008-09-10 09:06:06
|
Revision: 8765 http://plplot.svn.sourceforge.net/plplot/?rev=8765&view=rev Author: andrewross Date: 2008-09-10 09:06:14 +0000 (Wed, 10 Sep 2008) Log Message: ----------- Add GCC visibilty pragma in around plplot_octave functions to ensure they have default visibility. Ensures that octave works with -fvisibility=hidden. Should be a nop on other systems or where -fvisibility is not used. Modified Paths: -------------- trunk/bindings/octave/matwrap/wrap_octave.pl Modified: trunk/bindings/octave/matwrap/wrap_octave.pl =================================================================== --- trunk/bindings/octave/matwrap/wrap_octave.pl 2008-09-10 08:59:31 UTC (rev 8764) +++ trunk/bindings/octave/matwrap/wrap_octave.pl 2008-09-10 09:06:14 UTC (rev 8765) @@ -95,6 +95,13 @@ sub finish { print OUTFILE qq[ +// The following section needs to be default visibility. The DEFUN_DLD macro +// defines several functions so we can't easily individually tag them, and so +// we resort to using the GGC pragma instead. What happens on Windows? +#if defined(__GNUC__) && __GNUC__ > 3 +#pragma GCC visibility push(default) +#endif + // // The main dispatch function. This function calls the appropriate wrapper // based on the value of the first argument. @@ -116,6 +123,10 @@ } } +#if defined(__GNUC__) && __GNUC__ > 3 +#pragma GCC visibility pop +#endif + "; close(OUTFILE); # Done with this file. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <and...@us...> - 2008-09-10 09:07:16
|
Revision: 8766 http://plplot.svn.sourceforge.net/plplot/?rev=8766&view=rev Author: andrewross Date: 2008-09-10 09:07:24 +0000 (Wed, 10 Sep 2008) Log Message: ----------- Comment previous change to wrap_octave.pl. Modified Paths: -------------- trunk/bindings/octave/matwrap/wrap_octave.pl Modified: trunk/bindings/octave/matwrap/wrap_octave.pl =================================================================== --- trunk/bindings/octave/matwrap/wrap_octave.pl 2008-09-10 09:06:14 UTC (rev 8765) +++ trunk/bindings/octave/matwrap/wrap_octave.pl 2008-09-10 09:07:24 UTC (rev 8766) @@ -10,13 +10,15 @@ # Copyright (c) 1997 Gary R. Holt. This is distributed under the terms of the # perl artistic license (http://language.perl.com/misc/Artistic.html). # -# Modifications 2007 Andrew Ross -# This version contains three local fixes for plplot +# Modifications 2007,2008 Andrew Ross +# This version contains four local fixes for plplot # 1) Change _dim function to allow a zero length array (required by plstyl) # 2) Alter string to std::string for compatibility with gcc3.2 and later # 3) Add octave version checking - the syntax of print_usage has changed # from v2.1 to v2.9. This requires a file octave_version.pl which defines # the variable octave_version. +# 4) Add in GCC visibility pragma to ensure symbols are dispatch function +# symbols are always visible, even when -fvisibility=hidden is used. # # Modifications 2008 Rafael Laboissiere # Change 3) above is adapted for Octave v3.0 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |