-
Notifications
You must be signed in to change notification settings - Fork 0
cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/libffcall co ffcall
License
zlargon/ffcall
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
ffcall - foreign function call libraries This is a collection of four libraries which can be used to build foreign function call interfaces in embedded interpreters. The four packages are: avcall - calling C functions with variable arguments vacall - C functions accepting variable argument prototypes trampoline - closures as first-class C functions callback - closures with variable arguments as first-class C functions (a reentrant combination of vacall and trampoline) Installation instructions: mkdir make cd make ./configure --cache-file=config.cache make make check make install Note: passind --enable-shared to ./configure has no effect because it makes no sense to do so: 1) It is an overkill: libavcall, libvacall, libcallback have less than 1 KB of executable code (most of the real code is in the header files): $ size libavcall.a text data bss dec hex filename 420 0 0 420 1a4 avcall.o (ex libavcall.a) 81 0 0 81 51 structcpy.o (ex libavcall.a) $ size libvacall.a text data bss dec hex filename 365 0 0 365 16d vacall.o (ex libvacall.a) 203 0 0 203 cb misc.o (ex libvacall.a) 81 0 0 81 51 structcpy.o (ex libvacall.a) $ size libcallback.a text data bss dec hex filename 379 0 0 379 17b vacall.o (ex libcallback.a) 203 0 0 203 cb misc.o (ex libcallback.a) 81 0 0 81 51 structcpy.o (ex libcallback.a) 287 0 0 287 11f trampoline.o (ex libcallback.a) When a shared library is loaded, you spend at least 4 KB for its code, data and BSS. This is overkill for such a tiny library. 2) The main function here is compiled from non-PIC assembly language. I.e. relocations would remain. The GNU linker supports shared libraries with relocations on x86 systems. But only on x86! 3) Dynamic compilation breaks callback/trampoline_r self-tests at least on x86_64-linux (and CLISP FFI too). This is, of course, a bug in libffcall, but, even if it is fixed, it will still make no sense to --enable-shared. Files in this package: Documentation: README this text COPYING free software license PLATFORMS list of supported platforms Source: avcall/* the avcall package vacall/* the vacall package trampoline/* the trampoline package callback/* the callback package Installation: configure configuration script configure.in autoconf-2.60 source for the configuration script autoconf/* auxiliary configuration scripts Makefile.in Makefile master Copyright notice: Copyright 1995-2004 Bruno Haible, <bruno@clisp.org> Copyright 2000 Adam Fedor <fedor@gnu.org> Copyright 2004 Paul Guyot <pguyot@kallisys.net> This is free software distributed under the GNU General Public Licence described in the file COPYING. Contact the author if you don't have this or can't live with it. There is ABSOLUTELY NO WARRANTY, explicit or implied, on this software. Distribution: CVS: $ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/libffcall co ffcall Bug reports to: https://savannah.gnu.org/bugs/?func=additem&group=libffcall Homepage: http://www.gnu.org/software/libffcall/
About
cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/libffcall co ffcall
Resources
License
Stars
Watchers
Forks
Releases
No releases published