~ubuntu-branches/debian/squeeze/ffcall/squeeze

« back to all changes in this revision

Viewing changes to README

  • Committer: Bazaar Package Importer
  • Author(s): Christoph Egger
  • Date: 2010-06-26 15:29:30 UTC
  • mfrom: (5.1.1 experimental)
  • Revision ID: james.westby@ubuntu.com-20100626152930-c09y01gk3szcnykn
Tags: 1.10+cvs20100619-2
Ship to unstable

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
ffcall - foreign function call libraries
 
2
 
 
3
This is a collection of four libraries which can be used to build
 
4
foreign function call interfaces in embedded interpreters.
 
5
 
 
6
The four packages are:
 
7
 
 
8
    avcall - calling C functions with variable arguments
 
9
 
 
10
    vacall - C functions accepting variable argument prototypes
 
11
 
 
12
    trampoline - closures as first-class C functions
 
13
 
 
14
    callback - closures with variable arguments as first-class C functions
 
15
               (a reentrant combination of vacall and trampoline)
 
16
 
 
17
 
 
18
Installation instructions:
 
19
 
 
20
        mkdir make
 
21
        cd make
 
22
        ./configure --cache-file=config.cache
 
23
        make
 
24
        make check
 
25
        make install
 
26
 
 
27
 
 
28
Note: you should be able to build with --enable-shared,
 
29
but it makes no sense to do so:
 
30
 
 
31
1) it is overkill: libavcall, libvacall, libcallback have less than 1 KB
 
32
   of executable code (most of the real code is in the header files):
 
33
 
 
34
$ size libavcall.a
 
35
  text    data     bss     dec     hex filename
 
36
   420       0       0     420     1a4 avcall.o (ex libavcall.a)
 
37
    81       0       0      81      51 structcpy.o (ex libavcall.a)
 
38
$ size libvacall.a
 
39
  text    data     bss     dec     hex filename
 
40
   365       0       0     365     16d vacall.o (ex libvacall.a)
 
41
   203       0       0     203      cb misc.o (ex libvacall.a)
 
42
    81       0       0      81      51 structcpy.o (ex libvacall.a)
 
43
$ size libcallback.a
 
44
  text    data     bss     dec     hex filename
 
45
   379       0       0     379     17b vacall.o (ex libcallback.a)
 
46
   203       0       0     203      cb misc.o (ex libcallback.a)
 
47
    81       0       0      81      51 structcpy.o (ex libcallback.a)
 
48
   287       0       0     287     11f trampoline.o (ex libcallback.a)
 
49
 
 
50
When a shared library is loaded, you spend at least 4 KB for its code,
 
51
data and BSS. This is overkill for such a tiny library.
 
52
 
 
53
2) The main function here is compiled from non-PIC assembly language.
 
54
   I.e. relocations would remain. The GNU linker supports shared libraries
 
55
   with relocations on x86 systems. But only on x86!
 
56
 
 
57
 
 
58
Files in this package:
 
59
 
 
60
    Documentation:
 
61
 
 
62
        README          this text
 
63
        COPYING         free software license
 
64
        PLATFORMS       list of supported platforms
 
65
 
 
66
    Source:
 
67
 
 
68
        avcall/*        the avcall package
 
69
        vacall/*        the vacall package
 
70
        trampoline/*    the trampoline package
 
71
        callback/*      the callback package
 
72
 
 
73
    Installation:
 
74
 
 
75
        configure       configuration script
 
76
        configure.in    autoconf-2.60 source for the configuration script
 
77
        autoconf/*      auxiliary configuration scripts
 
78
        Makefile.in     Makefile master
 
79
 
 
80
 
 
81
Copyright notice:
 
82
 
 
83
Copyright 1995-2004 Bruno Haible, <bruno@clisp.org>
 
84
Copyright 2000 Adam Fedor <fedor@gnu.org>
 
85
Copyright 2004 Paul Guyot <pguyot@kallisys.net>
 
86
 
 
87
This is free software distributed under the GNU General Public Licence
 
88
described in the file COPYING. Contact the author if you don't have this
 
89
or can't live with it. There is ABSOLUTELY NO WARRANTY, explicit or implied,
 
90
on this software.
 
91
 
 
92
 
 
93
Distribution:
 
94
 
 
95
CVS:
 
96
$ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/libffcall co ffcall
 
97
 
 
98
Bug reports to:
 
99
 
 
100
  https://savannah.gnu.org/bugs/?func=additem&group=libffcall
 
101
 
 
102
Homepage:
 
103
 
 
104
  http://www.gnu.org/software/libffcall/