tioga 1.4 → 1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Tioga_README +177 -139
- data/split/Dtable/dtable.c +3 -0
- data/split/Dtable/namespace.h +7 -3
- data/split/Dtable/symbols.h +2 -2
- data/split/Dvector/dvector.c +3 -2
- data/split/Dvector/namespace.h +7 -3
- data/split/Dvector/symbols.h +2 -2
- data/split/Flate/flate.c +2 -1
- data/split/Flate/namespace.h +7 -3
- data/split/Flate/symbols.h +2 -2
- data/split/Function/extconf.rb +1 -1
- data/split/Function/function.c +38 -6
- data/split/Function/joint_qsort.c +1 -2
- data/split/Function/namespace.h +7 -3
- data/split/Function/symbols.h +2 -2
- data/split/Tioga/axes.c +4 -5
- data/split/Tioga/figures.c +1 -0
- data/split/Tioga/figures.h +5 -3
- data/split/Tioga/lib/Arcs_and_Circles.rb +1 -1
- data/split/Tioga/lib/ColorConstants.rb +9 -9
- data/split/Tioga/lib/Creating_Paths.rb +1 -1
- data/split/Tioga/lib/FigMkr.rb +25 -23
- data/split/Tioga/lib/FigureConstants.rb +2 -2
- data/split/Tioga/lib/Figures_and_Plots.rb +6 -6
- data/split/Tioga/lib/Images.rb +2 -2
- data/split/Tioga/lib/MarkerConstants.rb +3 -3
- data/split/Tioga/lib/Markers.rb +6 -6
- data/split/Tioga/lib/Page_Frame_Bounds.rb +1 -1
- data/split/Tioga/lib/Rectangles.rb +1 -1
- data/split/Tioga/lib/Shading.rb +2 -2
- data/split/Tioga/lib/Special_Paths.rb +5 -5
- data/split/Tioga/lib/Strokes.rb +2 -2
- data/split/Tioga/lib/TeX_Text.rb +5 -5
- data/split/Tioga/lib/TexPreamble.rb +116 -116
- data/split/Tioga/lib/Transparency.rb +2 -2
- data/split/Tioga/lib/Using_Paths.rb +1 -1
- data/split/Tioga/lib/X_and_Y_Axes.rb +19 -15
- data/split/Tioga/lib/irb_tioga.rb +36 -11
- data/split/Tioga/lib/maker.rb +201 -0
- data/split/Tioga/lib/tioga_ui_cmds.rb +6 -2
- data/split/Tioga/namespace.h +7 -3
- data/split/Tioga/pdfcoords.c +20 -2
- data/split/Tioga/pdfs.h +1 -1
- data/split/Tioga/symbols.h +2 -2
- data/split/extconf.rb +7 -5
- data/split/namespace.h +7 -3
- data/split/symbols.c +1 -9
- data/split/symbols.h +2 -2
- metadata +19 -23
- data/split/Dtable/symbols.c +0 -92
- data/split/Dvector/symbols.c +0 -92
- data/split/Flate/symbols.c +0 -92
- data/split/Function/symbols.c +0 -92
- data/split/Tioga/symbols.c +0 -92
data/Tioga_README
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
This is the README for the Tioga kernel, version 1.
|
|
1
|
+
This is the README for the Tioga kernel, version 1.5, March 17, 2007.
|
|
2
2
|
|
|
3
3
|
Copyright (C) 2005, 2006, 2007 Bill Paxton
|
|
4
4
|
|
|
@@ -20,6 +20,182 @@ This is the README for the Tioga kernel, version 1.4, January 21, 2007.
|
|
|
20
20
|
|
|
21
21
|
<< What's new >>
|
|
22
22
|
|
|
23
|
+
Version 1.5 is mainly Vincent's work, so my part of this release message
|
|
24
|
+
will be short. Remember how I killed off the Mac GUI last time? Turns out there
|
|
25
|
+
was one user who couldn't live without it -- me! So it's back, but I'm still not
|
|
26
|
+
making any promises about keeping it alive if Apple does something stupid in
|
|
27
|
+
coming releases. If you're interested in playing with it in spite of that warning,
|
|
28
|
+
it's available from my website (http://theory.kitp.ucsb.edu/~paxton/Tioga-1.5.dmg).
|
|
29
|
+
|
|
30
|
+
Cheers, Bill
|
|
31
|
+
|
|
32
|
+
[Vincent] Version 1.5 has seen a not-so-s�mall change inthe structure of the
|
|
33
|
+
tutorial, which now has local links to images. So the images are now included in the
|
|
34
|
+
tarball (though the -without-images don't have them, for those who have sparse
|
|
35
|
+
disk space or bandwidth). To get a local copy of the tutorial, just run rdoc
|
|
36
|
+
and then link doc/images to images using the following commands:
|
|
37
|
+
|
|
38
|
+
cd doc; ln -s ../images .
|
|
39
|
+
|
|
40
|
+
There are just a few new functions this time:
|
|
41
|
+
* FigureMaker#create_figure_temp_files has been made part of the public
|
|
42
|
+
interface of tioga, it produces only the intermediate pdf and TeX files but
|
|
43
|
+
doesn't run pdflatex (used by ctioga)
|
|
44
|
+
* a Function#derivative method has been added, that does what you think it
|
|
45
|
+
does.
|
|
46
|
+
|
|
47
|
+
The C code has been heavily tweaked to prevent segfaults on some
|
|
48
|
+
architectures/distributions, and some samples were added, notably one for
|
|
49
|
+
insets (I'll let you find it !).
|
|
50
|
+
|
|
51
|
+
Cheers, Vincent
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
<< Quick Installation of Tioga >>
|
|
55
|
+
|
|
56
|
+
Are you feeling lucky? If so, try QUICK_INSTALL. This simply does
|
|
57
|
+
the steps for you that are described below. The install needs to copy some
|
|
58
|
+
files to the ruby directory. On the Mac, this probably means you need to do
|
|
59
|
+
the whole thing with a 'sudo'. For Linux, you may have to become root.
|
|
60
|
+
Once you've taken care of that, just run the QUICK_INSTALL script and
|
|
61
|
+
keep your fingers crossed.
|
|
62
|
+
|
|
63
|
+
You now have the option to run HOME_INSTALL instead, which will install the files to
|
|
64
|
+
your home directory (no root privileges needed). You just need to set your RUBYLIB
|
|
65
|
+
environment variable as reminded at the end of the file.
|
|
66
|
+
|
|
67
|
+
Please check that there are 0 failures and 0 errors at the end of the test.
|
|
68
|
+
Then, in your favorite PDF previewer, open the newly created 'tests/Icon_Test.pdf'
|
|
69
|
+
and compare it to the prebuilt 'samples/Icon.pdf'. They should be very similar!
|
|
70
|
+
If it all seems to be working, go directly to the << Documentation >> section below.
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
<< Step-by-Step Installation >>
|
|
74
|
+
|
|
75
|
+
To get Tioga running, you need to have a working Ruby, a C compiler,
|
|
76
|
+
make, and pdflaxtex. Assuming you've got all that (more later if you don't),
|
|
77
|
+
connect to the Tioga directory that you just unpacked and do the following:
|
|
78
|
+
|
|
79
|
+
[ this has been changed, be careful ! ]
|
|
80
|
+
|
|
81
|
+
cd split
|
|
82
|
+
ruby extconf.rb
|
|
83
|
+
make
|
|
84
|
+
make install
|
|
85
|
+
|
|
86
|
+
This creates the Makefile, runs it, and finally does the actual
|
|
87
|
+
installation. The "make install" needs to copy some files to the ruby directory.
|
|
88
|
+
On the Mac, this probably means you need to do the whole thing inside a 'sudo'.
|
|
89
|
+
For Linux, you may have to become root.
|
|
90
|
+
|
|
91
|
+
Note that on Linux, the make will compile all the source files. On the Mac,
|
|
92
|
+
the tar file includes precompiled versions of everything, so the make won't
|
|
93
|
+
have anything to do. That's okay. Do the whole sequence anyway just to be safe.
|
|
94
|
+
|
|
95
|
+
You now have another option to install: if you replace the line
|
|
96
|
+
ruby extconf.rb
|
|
97
|
+
with
|
|
98
|
+
ruby extconf.rb --home
|
|
99
|
+
it will install the files to your home directory, namely ~/lib/ruby. You don't need root
|
|
100
|
+
privileges to do that, but make sure that you set RUBYLIB=~/lib/ruby somewhere, so that ruby
|
|
101
|
+
can find it.
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
<< Checking The Installation >>
|
|
107
|
+
|
|
108
|
+
To make sure at least something works of out the newly installed stuff,
|
|
109
|
+
change directory to your new Tioga folder. Then enter this to the shell:
|
|
110
|
+
|
|
111
|
+
cd tests
|
|
112
|
+
ruby ts_Tioga.rb
|
|
113
|
+
|
|
114
|
+
This should produce something like the following if the install worked:
|
|
115
|
+
|
|
116
|
+
Loaded suite ts_Tioga
|
|
117
|
+
Started
|
|
118
|
+
.....................................................
|
|
119
|
+
compressed from 0 to 8
|
|
120
|
+
compressed from 13 to 21
|
|
121
|
+
compressed from 70 to 69
|
|
122
|
+
compressed from 3631 to 1642
|
|
123
|
+
.pdflatex -interaction nonstopmode Icon_Test.tex > pdflatex.log
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
>>> NOTE: please look at tests/Icon_Test.pdf and compare it to samples/Icon.pdf
|
|
128
|
+
.
|
|
129
|
+
Finished in 0.501211 seconds.
|
|
130
|
+
|
|
131
|
+
55 tests, 647 assertions, 0 failures, 0 errors
|
|
132
|
+
|
|
133
|
+
[the numbers here are not up-to-date, tests are added everytime a feature is added, so it
|
|
134
|
+
is likely the numbers you see are greater - it means we're actually working ;-) !]
|
|
135
|
+
|
|
136
|
+
These tests ensure that Tioga is accessible and that some of the basic stuff is working.
|
|
137
|
+
Don't skip the visual check of the newly created file 'tests/Icon_Test.pdf'.
|
|
138
|
+
If that's ok, there's a good chance your installation is up and running.
|
|
139
|
+
|
|
140
|
+
The next step is to do the tutorial found in the documentation.
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
<< Tutorial >>
|
|
145
|
+
|
|
146
|
+
Once you have Tioga installed, the on-line tutorial will help you
|
|
147
|
+
get started using it.
|
|
148
|
+
|
|
149
|
+
http://theory.kitp.ucsb.edu/~paxton/tioga_doc/classes/Tioga/Tutorial.html
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
<< Documentation >>
|
|
153
|
+
|
|
154
|
+
Visit this website to access the documentation:
|
|
155
|
+
|
|
156
|
+
http://theory.kitp.ucsb.edu/~paxton/tioga_doc/index.html
|
|
157
|
+
|
|
158
|
+
If for some reason that link isn't working, go to my website,
|
|
159
|
+
|
|
160
|
+
http://theory.kitp.ucsb.edu/~paxton
|
|
161
|
+
|
|
162
|
+
and check there for a new link to the Tioga stuff.
|
|
163
|
+
|
|
164
|
+
Try to get by with the on-line documentation, but if you really
|
|
165
|
+
have a need to rebuild the documentation using Rdoc, I've
|
|
166
|
+
included a .document file in the release folder. However, all
|
|
167
|
+
the figures have direct links to jpegs on my website, so you'll
|
|
168
|
+
either have to live with that, or do a bunch of edits. Send me
|
|
169
|
+
an email if you'd like a tar file of the images.
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
<< Open Source >>
|
|
173
|
+
|
|
174
|
+
You are welcome to take the Tioga source and do what you want with it
|
|
175
|
+
(within the bounds of the GNU license of course). But don't even think about
|
|
176
|
+
asking for support from me for debugging your new stuff! I have enough trouble
|
|
177
|
+
with my own bugs to keep me busy endlessly! But if it looks like a bug in Tioga,
|
|
178
|
+
please do let me know so I can try to fix it. Or even better, let me know
|
|
179
|
+
the fix along with the bug!
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
----------------------------------
|
|
183
|
+
|
|
184
|
+
For more, visit my website: http://theory.kitp.ucsb.edu/~paxton
|
|
185
|
+
|
|
186
|
+
Best wishes,
|
|
187
|
+
Bill Paxton
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
<< What's old >>
|
|
196
|
+
|
|
197
|
+
Here are the old release messages:
|
|
198
|
+
|
|
23
199
|
Version 1.4 is a major overhaul with particular emphasis on the tioga user interface.
|
|
24
200
|
Please take a moment to go through the new section of the tutorial titled, CommandLine.
|
|
25
201
|
It gives a detailed discussion of the new tioga command line interface that replaces
|
|
@@ -50,11 +226,6 @@ Additionnally, some more classical functionalities have been added:
|
|
|
50
226
|
the markers, see the plot samples/figures/figures.rb: Arrows_second_take
|
|
51
227
|
* a function Dvector.write has been added that does exactly the
|
|
52
228
|
reverse of Dvector.(fancy_)read.
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
<< What's old >>
|
|
58
229
|
|
|
59
230
|
|
|
60
231
|
Version 1.3.1 is as usual a bug-fix release, although bugs
|
|
@@ -237,136 +408,3 @@ Not only that, he sent along an implementation to fix the problem! What could I
|
|
|
237
408
|
I had to put it in and make a new release. So thanks to Vincent, you can now include
|
|
238
409
|
markers on the lines in legends. Details in the new documentation for 'save_legend_info'.
|
|
239
410
|
|
|
240
|
-
|
|
241
|
-
<< Quick Installation of Tioga >>
|
|
242
|
-
|
|
243
|
-
Are you feeling lucky? If so, try QUICK_INSTALL. This simply does
|
|
244
|
-
the steps for you that are described below. The install needs to copy some
|
|
245
|
-
files to the ruby directory. On the Mac, this probably means you need to do
|
|
246
|
-
the whole thing with a 'sudo'. For Linux, you may have to become root.
|
|
247
|
-
Once you've taken care of that, just run the QUICK_INSTALL script and
|
|
248
|
-
keep your fingers crossed.
|
|
249
|
-
|
|
250
|
-
You now have the option to run HOME_INSTALL instead, which will install the files to
|
|
251
|
-
your home directory (no root privileges needed). You just need to set your RUBYLIB
|
|
252
|
-
environment variable as reminded at the end of the file.
|
|
253
|
-
|
|
254
|
-
Please check that there are 0 failures and 0 errors at the end of the test.
|
|
255
|
-
Then, in your favorite PDF previewer, open the newly created 'tests/Icon_Test.pdf'
|
|
256
|
-
and compare it to the prebuilt 'samples/Icon.pdf'. They should be very similar!
|
|
257
|
-
If it all seems to be working, go directly to the << Documentation >> section below.
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
<< Step-by-Step Installation >>
|
|
261
|
-
|
|
262
|
-
To get Tioga running, you need to have a working Ruby, a C compiler,
|
|
263
|
-
make, and pdflaxtex. Assuming you've got all that (more later if you don't),
|
|
264
|
-
connect to the Tioga directory that you just unpacked and do the following:
|
|
265
|
-
|
|
266
|
-
[ this has been changed, be careful ! ]
|
|
267
|
-
|
|
268
|
-
cd split
|
|
269
|
-
ruby extconf.rb
|
|
270
|
-
make
|
|
271
|
-
make install
|
|
272
|
-
|
|
273
|
-
This creates the Makefile, runs it, and finally does the actual
|
|
274
|
-
installation. The "make install" needs to copy some files to the ruby directory.
|
|
275
|
-
On the Mac, this probably means you need to do the whole thing inside a 'sudo'.
|
|
276
|
-
For Linux, you may have to become root.
|
|
277
|
-
|
|
278
|
-
Note that on Linux, the make will compile all the source files. On the Mac,
|
|
279
|
-
the tar file includes precompiled versions of everything, so the make won't
|
|
280
|
-
have anything to do. That's okay. Do the whole sequence anyway just to be safe.
|
|
281
|
-
|
|
282
|
-
You now have another option to install: if you replace the line
|
|
283
|
-
ruby extconf.rb
|
|
284
|
-
with
|
|
285
|
-
ruby extconf.rb --home
|
|
286
|
-
it will install the files to your home directory, namely ~/lib/ruby. You don't need root
|
|
287
|
-
privileges to do that, but make sure that you set RUBYLIB=~/lib/ruby somewhere, so that ruby
|
|
288
|
-
can find it.
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
<< Checking The Installation >>
|
|
294
|
-
|
|
295
|
-
To make sure at least something works of out the newly installed stuff,
|
|
296
|
-
change directory to your new Tioga folder. Then enter this to the shell:
|
|
297
|
-
|
|
298
|
-
cd tests
|
|
299
|
-
ruby ts_Tioga.rb
|
|
300
|
-
|
|
301
|
-
This should produce something like the following if the install worked:
|
|
302
|
-
|
|
303
|
-
Loaded suite ts_Tioga
|
|
304
|
-
Started
|
|
305
|
-
.....................................................
|
|
306
|
-
compressed from 0 to 8
|
|
307
|
-
compressed from 13 to 21
|
|
308
|
-
compressed from 70 to 69
|
|
309
|
-
compressed from 3631 to 1642
|
|
310
|
-
.pdflatex -interaction nonstopmode Icon_Test.tex > pdflatex.log
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
>>> NOTE: please look at tests/Icon_Test.pdf and compare it to samples/Icon.pdf
|
|
315
|
-
.
|
|
316
|
-
Finished in 0.501211 seconds.
|
|
317
|
-
|
|
318
|
-
55 tests, 647 assertions, 0 failures, 0 errors
|
|
319
|
-
|
|
320
|
-
These tests ensure that Tioga is accessible and that some of the basic stuff is working.
|
|
321
|
-
Don't skip the visual check of the newly created file 'tests/Icon_Test.pdf'.
|
|
322
|
-
If that's ok, there's a good chance your installation is up and running.
|
|
323
|
-
|
|
324
|
-
The next step is to do the tutorial found in the documentation.
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
<< Tutorial >>
|
|
329
|
-
|
|
330
|
-
Once you have Tioga installed, the on-line tutorial will help you
|
|
331
|
-
get started using it.
|
|
332
|
-
|
|
333
|
-
http://theory.kitp.ucsb.edu/~paxton/tioga_doc/classes/Tioga/Tutorial.html
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
<< Documentation >>
|
|
337
|
-
|
|
338
|
-
Visit this website to access the documentation:
|
|
339
|
-
|
|
340
|
-
http://theory.kitp.ucsb.edu/~paxton/tioga_doc/index.html
|
|
341
|
-
|
|
342
|
-
If for some reason that link isn't working, go to my website,
|
|
343
|
-
|
|
344
|
-
http://theory.kitp.ucsb.edu/~paxton
|
|
345
|
-
|
|
346
|
-
and check there for a new link to the Tioga stuff.
|
|
347
|
-
|
|
348
|
-
Try to get by with the on-line documentation, but if you really
|
|
349
|
-
have a need to rebuild the documentation using Rdoc, I've
|
|
350
|
-
included a .document file in the release folder. However, all
|
|
351
|
-
the figures have direct links to jpegs on my website, so you'll
|
|
352
|
-
either have to live with that, or do a bunch of edits. Send me
|
|
353
|
-
an email if you'd like a tar file of the images.
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
<< Open Source >>
|
|
357
|
-
|
|
358
|
-
You are welcome to take the Tioga source and do what you want with it
|
|
359
|
-
(within the bounds of the GNU license of course). But don't even think about
|
|
360
|
-
asking for support from me for debugging your new stuff! I have enough trouble
|
|
361
|
-
with my own bugs to keep me busy endlessly! But if it looks like a bug in Tioga,
|
|
362
|
-
please do let me know so I can try to fix it. Or even better, let me know
|
|
363
|
-
the fix along with the bug!
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
----------------------------------
|
|
367
|
-
|
|
368
|
-
For more, visit my website: http://theory.kitp.ucsb.edu/~paxton
|
|
369
|
-
|
|
370
|
-
Best wishes,
|
|
371
|
-
Bill Paxton
|
|
372
|
-
|
data/split/Dtable/dtable.c
CHANGED
data/split/Dtable/namespace.h
CHANGED
|
@@ -34,14 +34,18 @@
|
|
|
34
34
|
*/
|
|
35
35
|
|
|
36
36
|
#ifdef __APPLE__
|
|
37
|
-
# define
|
|
37
|
+
# define INTERN __private_extern__
|
|
38
38
|
# define PUBLIC
|
|
39
39
|
#elif __GNUC__ >= 4 /* we have the visibility attribute */
|
|
40
|
-
# define
|
|
40
|
+
# define INTERN __attribute__ ((visibility ("hidden")))
|
|
41
41
|
# define PUBLIC __attribute__ ((visibility ("default")))
|
|
42
42
|
#else /* not really good */
|
|
43
|
-
# define
|
|
43
|
+
# define INTERN
|
|
44
44
|
# define PUBLIC
|
|
45
45
|
#endif /* __APPLE__ and __GNU_C_ >= 4*/
|
|
46
46
|
|
|
47
|
+
/* In any case, PRIVATE is static */
|
|
48
|
+
|
|
49
|
+
#define PRIVATE static
|
|
50
|
+
|
|
47
51
|
#endif
|
data/split/Dtable/symbols.h
CHANGED
|
@@ -22,10 +22,10 @@ PRIVATE void * rb_import_symbol_no_raise(VALUE module,
|
|
|
22
22
|
|
|
23
23
|
#define DECLARE_SYMBOL(ret_type,name,args) \
|
|
24
24
|
typedef ret_type (*rb_export_##name##_type) args;\
|
|
25
|
-
|
|
25
|
+
INTERN rb_export_##name##_type name
|
|
26
26
|
|
|
27
27
|
#define IMPLEMENT_SYMBOL(name)\
|
|
28
|
-
|
|
28
|
+
INTERN rb_export_##name##_type name = 0;
|
|
29
29
|
|
|
30
30
|
#define RB_IMPORT_SYMBOL(module, name) \
|
|
31
31
|
name = (rb_export_##name##_type) rb_import_symbol(module, #name)
|
data/split/Dvector/dvector.c
CHANGED
|
@@ -30,7 +30,8 @@
|
|
|
30
30
|
#include "intern.h"
|
|
31
31
|
#include "dvector_intern.h"
|
|
32
32
|
|
|
33
|
-
#include
|
|
33
|
+
#include "../symbols.h"
|
|
34
|
+
#include "../symbols.c"
|
|
34
35
|
|
|
35
36
|
/* compiler-dependent definitions, such as is_okay_number */
|
|
36
37
|
#include <defs.h>
|
|
@@ -5454,7 +5455,7 @@ void Init_Dvector() {
|
|
|
5454
5455
|
rb_define_singleton_method(cDvector, "_load", dvector_load, 1);
|
|
5455
5456
|
|
|
5456
5457
|
/* simple convolution */
|
|
5457
|
-
rb_define_method(cDvector,"convolve", dvector_convolve, 2);
|
|
5458
|
+
rb_define_method(cDvector, "convolve", dvector_convolve, 2);
|
|
5458
5459
|
|
|
5459
5460
|
dvector_output_fs = Qnil;
|
|
5460
5461
|
rb_global_variable(&dvector_output_fs);
|
data/split/Dvector/namespace.h
CHANGED
|
@@ -34,14 +34,18 @@
|
|
|
34
34
|
*/
|
|
35
35
|
|
|
36
36
|
#ifdef __APPLE__
|
|
37
|
-
# define
|
|
37
|
+
# define INTERN __private_extern__
|
|
38
38
|
# define PUBLIC
|
|
39
39
|
#elif __GNUC__ >= 4 /* we have the visibility attribute */
|
|
40
|
-
# define
|
|
40
|
+
# define INTERN __attribute__ ((visibility ("hidden")))
|
|
41
41
|
# define PUBLIC __attribute__ ((visibility ("default")))
|
|
42
42
|
#else /* not really good */
|
|
43
|
-
# define
|
|
43
|
+
# define INTERN
|
|
44
44
|
# define PUBLIC
|
|
45
45
|
#endif /* __APPLE__ and __GNU_C_ >= 4*/
|
|
46
46
|
|
|
47
|
+
/* In any case, PRIVATE is static */
|
|
48
|
+
|
|
49
|
+
#define PRIVATE static
|
|
50
|
+
|
|
47
51
|
#endif
|
data/split/Dvector/symbols.h
CHANGED
|
@@ -22,10 +22,10 @@ PRIVATE void * rb_import_symbol_no_raise(VALUE module,
|
|
|
22
22
|
|
|
23
23
|
#define DECLARE_SYMBOL(ret_type,name,args) \
|
|
24
24
|
typedef ret_type (*rb_export_##name##_type) args;\
|
|
25
|
-
|
|
25
|
+
INTERN rb_export_##name##_type name
|
|
26
26
|
|
|
27
27
|
#define IMPLEMENT_SYMBOL(name)\
|
|
28
|
-
|
|
28
|
+
INTERN rb_export_##name##_type name = 0;
|
|
29
29
|
|
|
30
30
|
#define RB_IMPORT_SYMBOL(module, name) \
|
|
31
31
|
name = (rb_export_##name##_type) rb_import_symbol(module, #name)
|