rbdc 0.8.0
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/bindings/ruby/rbdc/extconf.rb +57 -0
- data/bindings/ruby/rbdc/rbdc.c +304 -0
- data/dyncall/AUTHORS +4 -0
- data/dyncall/BUGS +3 -0
- data/dyncall/CMakeLists.txt +79 -0
- data/dyncall/ChangeLog +165 -0
- data/dyncall/LICENSE +15 -0
- data/dyncall/Makefile.M +15 -0
- data/dyncall/Makefile.embedded +71 -0
- data/dyncall/Makefile.generic +36 -0
- data/dyncall/Nmakefile +45 -0
- data/dyncall/README +92 -0
- data/dyncall/ToDo +114 -0
- data/dyncall/autovar/LICENSE.txt +15 -0
- data/dyncall/autovar/README.txt +69 -0
- data/dyncall/autovar/autovar_ABI.h +44 -0
- data/dyncall/autovar/autovar_ARCH.h +56 -0
- data/dyncall/autovar/autovar_CC.h +46 -0
- data/dyncall/autovar/autovar_OS.h +78 -0
- data/dyncall/autovar/autovar_OSFAMILY.h +39 -0
- data/dyncall/buildsys/cmake/Modules/FindDynCall.cmake +43 -0
- data/dyncall/buildsys/cmake/Modules/FindDynCallback.cmake +43 -0
- data/dyncall/buildsys/cmake/Modules/FindDynLoad.cmake +45 -0
- data/dyncall/buildsys/cmake/Modules/UseLATEX.cmake +811 -0
- data/dyncall/buildsys/dynmake/Makefile.base.M +82 -0
- data/dyncall/buildsys/dynmake/dynmake.bat +2 -0
- data/dyncall/buildsys/dynmake/dynmake.sh +4 -0
- data/dyncall/buildsys/lua/Makefile +10 -0
- data/dyncall/buildsys/lua/README.txt +4 -0
- data/dyncall/buildsys/lua/bootstrap.sh +34 -0
- data/dyncall/buildsys/lua/cleanup.sh +6 -0
- data/dyncall/buildsys/lua/mkfile +34 -0
- data/dyncall/buildsys/lua/setenv.sh +4 -0
- data/dyncall/buildsys/mk/app.mk +30 -0
- data/dyncall/buildsys/mk/dirs.mk +27 -0
- data/dyncall/buildsys/mk/epilog.mk +30 -0
- data/dyncall/buildsys/mk/lib.mk +23 -0
- data/dyncall/buildsys/mk/pcc.mk +60 -0
- data/dyncall/buildsys/mk/prolog.mk +35 -0
- data/dyncall/buildsys/nmake/common.nmake +61 -0
- data/dyncall/buildsys/nmake/epilog.nmake +28 -0
- data/dyncall/buildsys/nmake/prolog.nmake +76 -0
- data/dyncall/buildsys/nmake/tool_gcc.nmake +82 -0
- data/dyncall/buildsys/nmake/tool_msvc.nmake +67 -0
- data/dyncall/buildsys/scripts/batch-build-linux.sh +11 -0
- data/dyncall/buildsys/scripts/batch-build-minix.sh +11 -0
- data/dyncall/buildsys/scripts/batch-build-psp.sh +11 -0
- data/dyncall/buildsys/scripts/conf-nds.bat +41 -0
- data/dyncall/buildsys/scripts/setenv-cross-ios.sh +8 -0
- data/dyncall/buildsys/scripts/setenv-sdk-ios.sh +22 -0
- data/dyncall/buildsys/vs2005/dyncall/dyncall.vcproj +245 -0
- data/dyncall/buildsys/vs2005/test_plain/test_plain.vcproj +202 -0
- data/dyncall/buildsys/vs2005/vs2005.sln +29 -0
- data/dyncall/configure +152 -0
- data/dyncall/configure.bat +157 -0
- data/dyncall/configure.rc +234 -0
- data/dyncall/dynMakefile +4 -0
- data/dyncall/dyncall/CMakeLists.txt +53 -0
- data/dyncall/dyncall/DynCallConfig.cmake +3 -0
- data/dyncall/dyncall/Makefile.M +10 -0
- data/dyncall/dyncall/Makefile.embedded +20 -0
- data/dyncall/dyncall/Makefile.generic +16 -0
- data/dyncall/dyncall/Nmakefile +62 -0
- data/dyncall/dyncall/README-Developer.txt +45 -0
- data/dyncall/dyncall/README.txt +65 -0
- data/dyncall/dyncall/TODO +9 -0
- data/dyncall/dyncall/dynMakefile +4 -0
- data/dyncall/dyncall/dyncall.3 +189 -0
- data/dyncall/dyncall/dyncall.h +135 -0
- data/dyncall/dyncall/dyncall_alloc.h +40 -0
- data/dyncall/dyncall/dyncall_api.c +167 -0
- data/dyncall/dyncall/dyncall_call.S +72 -0
- data/dyncall/dyncall/dyncall_call_arm32_arm.S +80 -0
- data/dyncall/dyncall/dyncall_call_arm32_arm.h +61 -0
- data/dyncall/dyncall/dyncall_call_arm32_arm_armhf.S +96 -0
- data/dyncall/dyncall/dyncall_call_arm32_arm_armhf.h +44 -0
- data/dyncall/dyncall/dyncall_call_arm32_thumb.h +65 -0
- data/dyncall/dyncall/dyncall_call_arm32_thumb_apple.s +80 -0
- data/dyncall/dyncall/dyncall_call_arm32_thumb_armhf.S +121 -0
- data/dyncall/dyncall/dyncall_call_arm32_thumb_gas.s +101 -0
- data/dyncall/dyncall/dyncall_call_mips.h +50 -0
- data/dyncall/dyncall/dyncall_call_mips_eabi.h +61 -0
- data/dyncall/dyncall/dyncall_call_mips_eabi_gas.s +115 -0
- data/dyncall/dyncall/dyncall_call_mips_gas.S +36 -0
- data/dyncall/dyncall/dyncall_call_mips_n32.h +67 -0
- data/dyncall/dyncall/dyncall_call_mips_n32_gas.s +192 -0
- data/dyncall/dyncall/dyncall_call_mips_n64.h +67 -0
- data/dyncall/dyncall/dyncall_call_mips_n64_gas.s +192 -0
- data/dyncall/dyncall/dyncall_call_mips_o32.h +70 -0
- data/dyncall/dyncall/dyncall_call_mips_o32_gas.s +109 -0
- data/dyncall/dyncall/dyncall_call_ppc32.S +266 -0
- data/dyncall/dyncall/dyncall_call_ppc32.h +62 -0
- data/dyncall/dyncall/dyncall_call_sparc.S +192 -0
- data/dyncall/dyncall/dyncall_call_sparc.h +42 -0
- data/dyncall/dyncall/dyncall_call_sparc64.S +361 -0
- data/dyncall/dyncall/dyncall_call_sparc64.h +42 -0
- data/dyncall/dyncall/dyncall_call_sparc_v9.S +220 -0
- data/dyncall/dyncall/dyncall_call_sparc_v9.h +42 -0
- data/dyncall/dyncall/dyncall_call_x64-att.S +146 -0
- data/dyncall/dyncall/dyncall_call_x64.S +149 -0
- data/dyncall/dyncall/dyncall_call_x64.h +63 -0
- data/dyncall/dyncall/dyncall_call_x64_generic_masm.asm +70 -0
- data/dyncall/dyncall/dyncall_call_x86.S +238 -0
- data/dyncall/dyncall/dyncall_call_x86.h +70 -0
- data/dyncall/dyncall/dyncall_call_x86_8a.s +127 -0
- data/dyncall/dyncall/dyncall_call_x86_generic_masm.asm +136 -0
- data/dyncall/dyncall/dyncall_call_x86_nasm.asm +234 -0
- data/dyncall/dyncall/dyncall_callf.c +112 -0
- data/dyncall/dyncall/dyncall_callf.h +52 -0
- data/dyncall/dyncall/dyncall_callvm.c +68 -0
- data/dyncall/dyncall/dyncall_callvm.h +88 -0
- data/dyncall/dyncall/dyncall_callvm_arm32_arm.c +250 -0
- data/dyncall/dyncall/dyncall_callvm_arm32_arm.h +59 -0
- data/dyncall/dyncall/dyncall_callvm_arm32_arm_armhf.c +204 -0
- data/dyncall/dyncall/dyncall_callvm_arm32_arm_armhf.h +63 -0
- data/dyncall/dyncall/dyncall_callvm_arm32_thumb.c +271 -0
- data/dyncall/dyncall/dyncall_callvm_arm32_thumb.h +59 -0
- data/dyncall/dyncall/dyncall_callvm_base.c +33 -0
- data/dyncall/dyncall/dyncall_callvm_mips.c +40 -0
- data/dyncall/dyncall/dyncall_callvm_mips.h +37 -0
- data/dyncall/dyncall/dyncall_callvm_mips_eabi.c +181 -0
- data/dyncall/dyncall/dyncall_callvm_mips_eabi.h +61 -0
- data/dyncall/dyncall/dyncall_callvm_mips_n32.c +268 -0
- data/dyncall/dyncall/dyncall_callvm_mips_n64.c +268 -0
- data/dyncall/dyncall/dyncall_callvm_mips_n64.h +53 -0
- data/dyncall/dyncall/dyncall_callvm_mips_o32.c +235 -0
- data/dyncall/dyncall/dyncall_callvm_mips_o32.h +45 -0
- data/dyncall/dyncall/dyncall_callvm_ppc32.c +372 -0
- data/dyncall/dyncall/dyncall_callvm_ppc32.h +61 -0
- data/dyncall/dyncall/dyncall_callvm_sparc.c +155 -0
- data/dyncall/dyncall/dyncall_callvm_sparc.h +44 -0
- data/dyncall/dyncall/dyncall_callvm_sparc64.c +239 -0
- data/dyncall/dyncall/dyncall_callvm_sparc64.h +47 -0
- data/dyncall/dyncall/dyncall_callvm_sparc_v9.c +182 -0
- data/dyncall/dyncall/dyncall_callvm_sparc_v9.h +45 -0
- data/dyncall/dyncall/dyncall_callvm_x64.c +228 -0
- data/dyncall/dyncall/dyncall_callvm_x64.h +111 -0
- data/dyncall/dyncall/dyncall_callvm_x86.c +667 -0
- data/dyncall/dyncall/dyncall_callvm_x86.h +75 -0
- data/dyncall/dyncall/dyncall_config.h +46 -0
- data/dyncall/dyncall/dyncall_macros.h +248 -0
- data/dyncall/dyncall/dyncall_signature.h +71 -0
- data/dyncall/dyncall/dyncall_struct.c +255 -0
- data/dyncall/dyncall/dyncall_struct.h +69 -0
- data/dyncall/dyncall/dyncall_types.h +74 -0
- data/dyncall/dyncall/dyncall_utils.h +38 -0
- data/dyncall/dyncall/dyncall_value.h +73 -0
- data/dyncall/dyncall/dyncall_vector.c +52 -0
- data/dyncall/dyncall/dyncall_vector.h +56 -0
- data/dyncall/dyncall/gen-masm.sh +7 -0
- data/dyncall/dyncall/mkfile +29 -0
- data/dyncall/dyncallback/CMakeLists.txt +55 -0
- data/dyncall/dyncallback/DynCallbackConfig.cmake +2 -0
- data/dyncall/dyncallback/Makefile.M +10 -0
- data/dyncall/dyncallback/Makefile.embedded +15 -0
- data/dyncall/dyncallback/Makefile.generic +20 -0
- data/dyncall/dyncallback/Nmakefile +71 -0
- data/dyncall/dyncallback/README.txt +9 -0
- data/dyncall/dyncallback/TODO +4 -0
- data/dyncall/dyncallback/dynMakefile +4 -0
- data/dyncall/dyncallback/dyncall_alloc_wx.c +35 -0
- data/dyncall/dyncallback/dyncall_alloc_wx.h +46 -0
- data/dyncall/dyncallback/dyncall_alloc_wx_malloc.c +40 -0
- data/dyncall/dyncallback/dyncall_alloc_wx_mmap.c +42 -0
- data/dyncall/dyncallback/dyncall_alloc_wx_win32.c +42 -0
- data/dyncall/dyncallback/dyncall_args.c +45 -0
- data/dyncall/dyncallback/dyncall_args.h +65 -0
- data/dyncall/dyncallback/dyncall_args_arm32_arm.c +112 -0
- data/dyncall/dyncallback/dyncall_args_arm32_arm.h +40 -0
- data/dyncall/dyncallback/dyncall_args_arm32_thumb.c +29 -0
- data/dyncall/dyncallback/dyncall_args_arm32_thumb.h +32 -0
- data/dyncall/dyncallback/dyncall_args_mips.c +81 -0
- data/dyncall/dyncallback/dyncall_args_mips.h +41 -0
- data/dyncall/dyncallback/dyncall_args_ppc32.c +88 -0
- data/dyncall/dyncallback/dyncall_args_ppc32.h +41 -0
- data/dyncall/dyncallback/dyncall_args_sparc32.c +41 -0
- data/dyncall/dyncallback/dyncall_args_sparc32.h +37 -0
- data/dyncall/dyncallback/dyncall_args_sparc64.c +41 -0
- data/dyncall/dyncallback/dyncall_args_sparc64.h +37 -0
- data/dyncall/dyncallback/dyncall_args_x64.c +73 -0
- data/dyncall/dyncallback/dyncall_args_x64.h +44 -0
- data/dyncall/dyncallback/dyncall_args_x86.c +121 -0
- data/dyncall/dyncallback/dyncall_args_x86.h +58 -0
- data/dyncall/dyncallback/dyncall_callback.c +45 -0
- data/dyncall/dyncallback/dyncall_callback.h +51 -0
- data/dyncall/dyncallback/dyncall_callback_arch.S +71 -0
- data/dyncall/dyncallback/dyncall_callback_arm32_arm.c +63 -0
- data/dyncall/dyncallback/dyncall_callback_arm32_arm.h +45 -0
- data/dyncall/dyncallback/dyncall_callback_arm32_arm_apple.s +73 -0
- data/dyncall/dyncallback/dyncall_callback_arm32_arm_gas.s +73 -0
- data/dyncall/dyncallback/dyncall_callback_arm32_thumb.c +29 -0
- data/dyncall/dyncallback/dyncall_callback_arm32_thumb.h +33 -0
- data/dyncall/dyncallback/dyncall_callback_arm32_thumb_apple.s +32 -0
- data/dyncall/dyncallback/dyncall_callback_arm32_thumb_gas.s +32 -0
- data/dyncall/dyncallback/dyncall_callback_mips.c +61 -0
- data/dyncall/dyncallback/dyncall_callback_mips.h +42 -0
- data/dyncall/dyncallback/dyncall_callback_ppc32.S +33 -0
- data/dyncall/dyncallback/dyncall_callback_ppc32.c +60 -0
- data/dyncall/dyncallback/dyncall_callback_ppc32.h +43 -0
- data/dyncall/dyncallback/dyncall_callback_ppc32_apple.s +180 -0
- data/dyncall/dyncallback/dyncall_callback_sparc32.c +57 -0
- data/dyncall/dyncallback/dyncall_callback_sparc32.h +43 -0
- data/dyncall/dyncallback/dyncall_callback_sparc32.s +30 -0
- data/dyncall/dyncallback/dyncall_callback_sparc64.c +57 -0
- data/dyncall/dyncallback/dyncall_callback_sparc64.s +30 -0
- data/dyncall/dyncallback/dyncall_callback_x64.S +187 -0
- data/dyncall/dyncallback/dyncall_callback_x64.c +69 -0
- data/dyncall/dyncallback/dyncall_callback_x64.h +44 -0
- data/dyncall/dyncallback/dyncall_callback_x64_apple.s +122 -0
- data/dyncall/dyncallback/dyncall_callback_x64_gas.s +119 -0
- data/dyncall/dyncallback/dyncall_callback_x64_gas_w64.s +102 -0
- data/dyncall/dyncallback/dyncall_callback_x64_masm.asm +89 -0
- data/dyncall/dyncallback/dyncall_callback_x86.S +115 -0
- data/dyncall/dyncallback/dyncall_callback_x86.c +281 -0
- data/dyncall/dyncallback/dyncall_callback_x86.h +49 -0
- data/dyncall/dyncallback/dyncall_callback_x86_8a.s +100 -0
- data/dyncall/dyncallback/dyncall_callback_x86_masm.asm +74 -0
- data/dyncall/dyncallback/dyncall_thunk.c +47 -0
- data/dyncall/dyncallback/dyncall_thunk.h +84 -0
- data/dyncall/dyncallback/dyncall_thunk_arm32_arm.c +45 -0
- data/dyncall/dyncallback/dyncall_thunk_arm32_arm.h +40 -0
- data/dyncall/dyncallback/dyncall_thunk_arm32_thumb.c +29 -0
- data/dyncall/dyncallback/dyncall_thunk_arm32_thumb.h +35 -0
- data/dyncall/dyncallback/dyncall_thunk_mips.c +52 -0
- data/dyncall/dyncallback/dyncall_thunk_mips.h +37 -0
- data/dyncall/dyncallback/dyncall_thunk_ppc32.c +51 -0
- data/dyncall/dyncallback/dyncall_thunk_ppc32.h +40 -0
- data/dyncall/dyncallback/dyncall_thunk_sparc32.c +32 -0
- data/dyncall/dyncallback/dyncall_thunk_sparc32.h +36 -0
- data/dyncall/dyncallback/dyncall_thunk_sparc64.c +32 -0
- data/dyncall/dyncallback/dyncall_thunk_sparc64.h +36 -0
- data/dyncall/dyncallback/dyncall_thunk_x64.c +48 -0
- data/dyncall/dyncallback/dyncall_thunk_x64.h +39 -0
- data/dyncall/dyncallback/dyncall_thunk_x86.c +44 -0
- data/dyncall/dyncallback/dyncall_thunk_x86.h +39 -0
- data/dyncall/dyncallback/dyncallback.3 +134 -0
- data/dyncall/dyncallback/gen-masm.sh +8 -0
- data/dyncall/dyncallback/mkfile +29 -0
- data/dyncall/dynload/CMakeLists.txt +25 -0
- data/dyncall/dynload/DynLoadConfig.cmake +3 -0
- data/dyncall/dynload/Makefile.M +10 -0
- data/dyncall/dynload/Makefile.embedded +22 -0
- data/dyncall/dynload/Makefile.generic +18 -0
- data/dyncall/dynload/Nmakefile +57 -0
- data/dyncall/dynload/README.txt +113 -0
- data/dyncall/dynload/TODO +20 -0
- data/dyncall/dynload/dynMakefile +4 -0
- data/dyncall/dynload/dynload.3 +64 -0
- data/dyncall/dynload/dynload.c +38 -0
- data/dyncall/dynload/dynload.h +65 -0
- data/dyncall/dynload/dynload_alloc.h +40 -0
- data/dyncall/dynload/dynload_darwin.c +89 -0
- data/dyncall/dynload/dynload_syms.c +38 -0
- data/dyncall/dynload/dynload_syms_elf.c +214 -0
- data/dyncall/dynload/dynload_syms_mach-o.c +167 -0
- data/dyncall/dynload/dynload_syms_pe.c +109 -0
- data/dyncall/dynload/dynload_unix.c +57 -0
- data/dyncall/dynload/dynload_windows.c +59 -0
- data/dyncall/mkfile +36 -0
- data/dyncall/portasm/README.txt +42 -0
- data/dyncall/portasm/gen-masm.sh +3 -0
- data/dyncall/portasm/portasm-arm.S +36 -0
- data/dyncall/portasm/portasm-ppc.S +98 -0
- data/dyncall/portasm/portasm-x64-att.S +155 -0
- data/dyncall/portasm/portasm-x86.S +127 -0
- metadata +311 -0
data/dyncall/ChangeLog
ADDED
@@ -0,0 +1,165 @@
|
|
1
|
+
This file lists big/noteworthy changes, only...
|
2
|
+
|
3
|
+
Version 0.8 (upcoming)
|
4
|
+
buildsys:
|
5
|
+
o big simplification make-based build system, no more distinct GNU and BSD makefiles anymore
|
6
|
+
o new, much simpler ./configure for new make-based build-system
|
7
|
+
o support for in-source and out-of-source builds for make-based build systems
|
8
|
+
o made configure.bat guess x64 as target arch for x64 windows hosts
|
9
|
+
o based more sources on portasm generation
|
10
|
+
dyncall:
|
11
|
+
o fix for ARMv7 Thumb-2 code (tested on iPhone 4 CDMA / iOS 6.0.1)
|
12
|
+
o bugfixes for -O2 builds for SPARC-v9 and SPARC-v7
|
13
|
+
o new optimized call kernel for SPARC-v9 without conditionals
|
14
|
+
o bigger refactoring and optimization of mips o32
|
15
|
+
o x64 optimizations
|
16
|
+
dyncallback:
|
17
|
+
o added callback support for plan9
|
18
|
+
o big cleanup, removal of duplicate files after introduction of portasm
|
19
|
+
doc:
|
20
|
+
o cleanup of manual and corrections
|
21
|
+
o added info about newly supported and/or tested platforms (e.g. FreeBSD on ARM)
|
22
|
+
o restructured folder layout for documentation
|
23
|
+
o added API doc for dyncallback and dynload
|
24
|
+
o added manpages for dyncallback and dynload
|
25
|
+
tests:
|
26
|
+
o added arm/thumb interwork test suite
|
27
|
+
bindings:
|
28
|
+
o godc: added bindings for Go
|
29
|
+
o rbdc: fixed and extended ruby bindings
|
30
|
+
o shdc: renamed shell binding to shdc and added feature to list shared-objects' symbols
|
31
|
+
|
32
|
+
Version 0.7
|
33
|
+
architecture:
|
34
|
+
o added subproject: portasm - portable (GNU AS,+Apple and MASM) assembly framework
|
35
|
+
o added subproject: autovar - predefined macro framework (was dyncall_macros.h)
|
36
|
+
o added support for sparc (32-bit) (tested on linux/debian,openbsd,solaris)
|
37
|
+
o added support for sparc (64-bit) (tested on linux/debian,openbsd,solaris)
|
38
|
+
o added support for Solaris and SunPro compiler for i386, x86_64, sparc and sparc64
|
39
|
+
o improved auto-detection via preprocessor defines
|
40
|
+
dyncall updates:
|
41
|
+
o uses portasm (GNU,Apple,Microsoft) common sources for x86,x64,ppc32,arm32_arm
|
42
|
+
o bug fixes for x64/win64 calling convention
|
43
|
+
o added support for mingw32-w64 on x64
|
44
|
+
o improved cdecl x86 calling convention: stack always 16 byte aligned
|
45
|
+
o updated API and initial support for structs (for x86/AMD64)
|
46
|
+
o initial support for syscalls on x86, added x86 int80h linux/bsd
|
47
|
+
o added Minix port (stable)
|
48
|
+
o optimized vector buffer for small type pushing
|
49
|
+
o minor fix for amd64/sysv: alignment to 32-byte
|
50
|
+
o bug fix for ppc32/sysv: ellipsis calls work now
|
51
|
+
o updated API, introduced DC_CALL_C_ELLIPSIS_VARARGS
|
52
|
+
o changed interface: dcMode does not reset internally anymore
|
53
|
+
dyncallback updates:
|
54
|
+
o uses portasm for x86,x64
|
55
|
+
o added Solaris/x86/sunpro port (stable)
|
56
|
+
o added Minix port (unstable)
|
57
|
+
o callback support for Darwin/ppc32
|
58
|
+
o updates source, uses relative includes
|
59
|
+
dynload updates:
|
60
|
+
o fixes for missing includes (dyncall_alloc.h)
|
61
|
+
o fixes for self-resolving symbols on windows
|
62
|
+
o removed Dbghelf.lib dependency
|
63
|
+
o bug fixes for cygwin/x86
|
64
|
+
o fixes for beos/haiku
|
65
|
+
o no dependencies to libdyncall sources.
|
66
|
+
buildsys additions:
|
67
|
+
o added zero-config (BSD,GNU,SUN) make files (Makefile.embedded)
|
68
|
+
o added in/out-of-source configure2 w/ (BSD,GNU) make files (Makefile.generic')
|
69
|
+
o added bootstrap lua script (download/build)
|
70
|
+
o Nmakefile: more tests included (resolve_self)
|
71
|
+
o improved cross-compilation for iOS (upgrade to 4.3 sdk)
|
72
|
+
o darwin 8.0 support
|
73
|
+
o added 'install' support for Makefile.embedded
|
74
|
+
buildsys/gmake updates:
|
75
|
+
o added support for msvc/x64 tool-chain
|
76
|
+
o default settings for build-dir changed to '.'
|
77
|
+
o cleanup: removed top-level Make{Prolog,Epilog,Rules} files and updated all sub-projects and tests
|
78
|
+
o added support for DESTDIR staging installation
|
79
|
+
o added support for manual page installation
|
80
|
+
buildsys/cmake updates:
|
81
|
+
o updated find module scripts (see cmake/Modules)
|
82
|
+
o added support for using dyncall as sub-project (via *Config.cmake files)
|
83
|
+
see details in README.CMake
|
84
|
+
o fixes for msvc and ml
|
85
|
+
o fixes for CPack
|
86
|
+
o fixes for universal builds on Mac OS X
|
87
|
+
o supports SunPro with *.S files.
|
88
|
+
o added experimental 'dynMake' portable make-based build-system (not stable, yet)
|
89
|
+
documentation updates:
|
90
|
+
o added dyncallback documentation
|
91
|
+
o updated dyncall documentation
|
92
|
+
o minor updates
|
93
|
+
tests:
|
94
|
+
o added flexible test suite for calls (call_suite) based on Lua and C
|
95
|
+
o added syscall test
|
96
|
+
o updates to resolve-self test (adding additional link flags to export symbols)
|
97
|
+
o improved dir name portability (renamed plain_c++ -> plain_cxx)
|
98
|
+
o renamed *.cpp -> *.cc files (OpenBSD/Sun make has no implicit rules for cpp)
|
99
|
+
|
100
|
+
Version 0.6
|
101
|
+
building:
|
102
|
+
o new build systems: CMake and Plan9's mk
|
103
|
+
o buildsys/gmake tool chain update: pcc and iphone sdk
|
104
|
+
o x64 bugfix: added "-fPIC" even for static libs
|
105
|
+
dynload updates:
|
106
|
+
o enum symbols update: Mach-O and Win64 (thanks Olivier)
|
107
|
+
o numerous convenience changes to dynload interface (thanks Olivier)
|
108
|
+
o added support for resolving application images itself
|
109
|
+
dyncall updates:
|
110
|
+
o new platform support: arm/iphone (armv6), x86/Plan9
|
111
|
+
o new mips calling conventions: oabi, n64 (both endian models)
|
112
|
+
o cleanup: unexported functions in MASM files, b/c export not needed (thanks Olivier)
|
113
|
+
o interface update: added error reporting facility 'dcGetError'
|
114
|
+
o bugfix for ppc32/sysv: ellipsis calls were broken
|
115
|
+
o interface update: added new abstract mode for ellipsis calls (DC_CALL_C_ELLIPSIS)
|
116
|
+
docs:
|
117
|
+
o comprehensive update
|
118
|
+
tests:
|
119
|
+
o plain: split "plain" test up in C and C++ part
|
120
|
+
o callbacksuite: added multiple configuration support for callback_suite
|
121
|
+
|
122
|
+
Version 0.5
|
123
|
+
o renamed arm9 stuff to arm32
|
124
|
+
o added non-EABI ABI for arm32 (before, EABI was the default implementation)
|
125
|
+
o added dyncallback support for x64/windows (thanks Olivier), x64/darwin, arm32/arm, arm32/thumb
|
126
|
+
o synced documentation again with current state of the source (lots of small changes)
|
127
|
+
o updated ruby binding to current state of signature string (still some features missing, though)
|
128
|
+
o added a couple of new options to configure scripts (e.g. prefix-bd, new targets, etc.)
|
129
|
+
o darwin universal binary support
|
130
|
+
o added new tests callback_plain and calback_suite
|
131
|
+
o added Haiku/BeOS support
|
132
|
+
|
133
|
+
Version 0.4
|
134
|
+
o added 'doc' makefile target for coherency and ease of use
|
135
|
+
o fixed nmake buildfiles and configure.bat (were out of date and wrong)
|
136
|
+
o test suite clean up (GNUmake, BSDmake):
|
137
|
+
target "config" modified, phony without dependencies to other builds
|
138
|
+
o bugfix: GNU fastcall calling convention for float and double arguments
|
139
|
+
was wrong. no skip of register.
|
140
|
+
o update: x86win32* suite tests are built on cygwin now, added total result output
|
141
|
+
o signature types change:
|
142
|
+
C Strings: 'S' -> 'Z'
|
143
|
+
long: 'l' -> 'j'
|
144
|
+
long long: 'L' -> 'l'
|
145
|
+
added unsigned integer type signature characters: upper case encoding
|
146
|
+
o added: callbacks component (support only for some platforms ATM)
|
147
|
+
o added: test cases for alloc_wx, thunk
|
148
|
+
o updated Documentation
|
149
|
+
|
150
|
+
Version 0.3
|
151
|
+
o added Linux PPC32 support
|
152
|
+
o added ARM THUMB mode support
|
153
|
+
o cosmetic changes, documentation updated
|
154
|
+
o bugfix: on cygwin exported C symbols in GNU as are prefixed with '_' now.
|
155
|
+
o removed scons build support
|
156
|
+
|
157
|
+
Version 0.2
|
158
|
+
o added scons build support
|
159
|
+
o configure variables all prefix CONFIG_* now
|
160
|
+
o configure variable INSTALL_DIR changed to INSTALL_PREFIX
|
161
|
+
o configure (shell version) option "--prefix" changed to "--prefix=<path>"
|
162
|
+
|
163
|
+
Version 0.1:
|
164
|
+
o initial release
|
165
|
+
|
data/dyncall/LICENSE
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
Copyright (c) 2007-2012 Daniel Adler <dadler@uni-goettingen.de>,
|
2
|
+
Tassilo Philipp <tphilipp@potion-studios.com>
|
3
|
+
|
4
|
+
Permission to use, copy, modify, and distribute this software for any
|
5
|
+
purpose with or without fee is hereby granted, provided that the above
|
6
|
+
copyright notice and this permission notice appear in all copies.
|
7
|
+
|
8
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
9
|
+
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
10
|
+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
11
|
+
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
12
|
+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
13
|
+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
14
|
+
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
15
|
+
|
data/dyncall/Makefile.M
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
#include "buildsys/dynmake/Makefile.base.M"
|
2
|
+
|
3
|
+
all:
|
4
|
+
cd dyncall _(SHELL_COMMAND_SEPARATOR) _(MAKE) _(MAKEFLAGS_USER) _(MAKEFLAG_FILE) _(MAKE_DEFAULT_FILE)
|
5
|
+
cd dynload _(SHELL_COMMAND_SEPARATOR) _(MAKE) _(MAKEFLAGS_USER) _(MAKEFLAG_FILE) _(MAKE_DEFAULT_FILE)
|
6
|
+
cd dyncallback _(SHELL_COMMAND_SEPARATOR) _(MAKE) _(MAKEFLAGS_USER) _(MAKEFLAG_FILE) _(MAKE_DEFAULT_FILE)
|
7
|
+
|
8
|
+
clean:
|
9
|
+
cd dyncall _(SHELL_COMMAND_SEPARATOR) _(MAKE) _(MAKEFLAGS_USER) _(MAKEFLAG_FILE) _(MAKE_DEFAULT_FILE) clean
|
10
|
+
cd dynload _(SHELL_COMMAND_SEPARATOR) _(MAKE) _(MAKEFLAGS_USER) _(MAKEFLAG_FILE) _(MAKE_DEFAULT_FILE) clean
|
11
|
+
cd dyncallback _(SHELL_COMMAND_SEPARATOR) _(MAKE) _(MAKEFLAGS_USER) _(MAKEFLAG_FILE) _(MAKE_DEFAULT_FILE) clean
|
12
|
+
|
13
|
+
tests:
|
14
|
+
cd test _(SHELL_COMMAND_SEPARATOR) _(MAKE) _(MAKEFLAGS_USER) _(MAKEFLAG_FILE) _(MAKE_DEFAULT_FILE)
|
15
|
+
|
@@ -0,0 +1,71 @@
|
|
1
|
+
MAKEFILE = Makefile.embedded
|
2
|
+
MAKE_CMD = ${MAKE} -f ${MAKEFILE}
|
3
|
+
all:
|
4
|
+
cd dynload && ${MAKE_CMD}
|
5
|
+
cd dyncall && ${MAKE_CMD}
|
6
|
+
cd dyncallback && ${MAKE_CMD}
|
7
|
+
tests:
|
8
|
+
cd test && ${MAKE_CMD}
|
9
|
+
clean:
|
10
|
+
cd dynload && ${MAKE_CMD} clean
|
11
|
+
cd dyncall && ${MAKE_CMD} clean
|
12
|
+
cd dyncallback && ${MAKE_CMD} clean
|
13
|
+
cd test && ${MAKE_CMD} clean
|
14
|
+
install:
|
15
|
+
cd dynload && ${MAKE_CMD} install
|
16
|
+
cd dyncall && ${MAKE_CMD} install
|
17
|
+
cd dyncallback && ${MAKE_CMD} install
|
18
|
+
bsd:
|
19
|
+
${MAKE_CMD} all
|
20
|
+
linux:
|
21
|
+
${MAKE_CMD} all
|
22
|
+
linux64:
|
23
|
+
CFLAGS="${CFLAGS} -m64" ASFLAGS="${ASFLAGS} -m64" ${MAKE_CMD} all
|
24
|
+
minix-gcc:
|
25
|
+
cd dyncall && CC=gcc CFLAGS= ${MAKE_CMD}
|
26
|
+
cd dyncallback && CC=gcc CFLAGS= ${MAKE_CMD}
|
27
|
+
mingw32:
|
28
|
+
${MAKE_CMD} CC=gcc AS="gcc -c" all
|
29
|
+
osx:
|
30
|
+
${MAKE_CMD} all
|
31
|
+
osx-universal:
|
32
|
+
CFLAGS="${CFLAGS} -arch i386 -arch x86_64 -arch ppc" ASFLAGS="${ASFLAGS} -arch i386 -arch x86_64 -arch ppc" AR="libtool" ARFLAGS="-static -o" ${MAKE_CMD} all
|
33
|
+
osx-template:
|
34
|
+
CC="${CC} ${OSX_ARCH}" AS="${AS} ${OSX_ARCH}" ${MAKE_CMD}
|
35
|
+
osx-i386:
|
36
|
+
OSX_ARCH="-arch i386" ${MAKE_CMD} osx-template
|
37
|
+
sun:
|
38
|
+
CFLAGS="${CFLAGS}" ${MAKE_CMD} all
|
39
|
+
sun-64bit:
|
40
|
+
CFLAGS="${CFLAGS} -m64" ASFLAGS="${ASFLAGS} -m64" ${MAKE_CMD} all
|
41
|
+
|
42
|
+
sun-gcc:
|
43
|
+
CC=gcc CFLAGS="${CFLAGS} -fPIC" ${MAKE_CMD} all
|
44
|
+
sun-gcc-64bit:
|
45
|
+
CC=gcc CFLAGS="${CFLAGS} -m64" ASFLAGS="${ASFLAGS} -m64" ${MAKE_CMD} all
|
46
|
+
ios-sdkroot:
|
47
|
+
\
|
48
|
+
AS="${CC} ${IOS_ARCH} -miphoneos-version-min=${IOS_SDK}"\
|
49
|
+
CC="${CC} ${IOS_ARCH} -miphoneos-version-min=${IOS_SDK}"\
|
50
|
+
CXX="${CXX} ${IOS_ARCH} -miphoneos-version-min=${IOS_SDK}"\
|
51
|
+
LD="${LD} ${IOS_ARCH} -miphoneos-version-min=${IOS_SDK}"\
|
52
|
+
ASFLAGS="-isysroot ${IOS_SDKROOT}"\
|
53
|
+
CFLAGS="-isysroot ${IOS_SDKROOT}"\
|
54
|
+
CXXFLAGS="-isysroot ${IOS_SDKROOT}"\
|
55
|
+
LDFLAGS="-Wl,-syslibroot ${IOS_SDKROOT}"\
|
56
|
+
${MAKE_CMD} all
|
57
|
+
ios:
|
58
|
+
IOS_SDKROOT="`xcode-select -print-path`/Platforms/iPhone${IOS_PLATFORM}.platform/Developer/SDKs/iPhone${IOS_PLATFORM}${IOS_SDK}.sdk" ${MAKE_CMD} ios-sdkroot
|
59
|
+
ios-sim:
|
60
|
+
IOS_PLATFORM="Simulator" ${MAKE_CMD} ios
|
61
|
+
ios-os:
|
62
|
+
IOS_PLATFORM="OS" ${MAKE_CMD} ios
|
63
|
+
# NOTE iOS 6.1 does not support armv6 (has no libs)
|
64
|
+
ios61-os:
|
65
|
+
IOS_SDK="6.1" IOS_ARCH="-arch armv7" ${MAKE_CMD} ios-os
|
66
|
+
ios61-os-no-thumb:
|
67
|
+
IOS_SDK="6.1" IOS_ARCH="-arch armv7 -mno-thumb" ${MAKE_CMD} ios-os
|
68
|
+
ios61-sim:
|
69
|
+
IOS_SDK="6.1" IOS_ARCH="-arch i386" ${MAKE_CMD} ios-sim
|
70
|
+
|
71
|
+
.PHONY: all tests clean install bsd linux linux64 minix-gcc mingw32 osx osx-universal sun sun-64bit sun-gcc sun-gcc-64bit
|
@@ -0,0 +1,36 @@
|
|
1
|
+
.PHONY: all clean install tests docs run-tests clean distclean libdyncall libdyncallback libdynload
|
2
|
+
all: libdyncall libdyncallback libdynload
|
3
|
+
install: all install-libdyncall install-libdyncallback install-libdynload
|
4
|
+
libdyncall:
|
5
|
+
cd dyncall && ${MAKE} all
|
6
|
+
libdyncallback:
|
7
|
+
cd dyncallback && ${MAKE} all
|
8
|
+
libdynload:
|
9
|
+
cd dynload && ${MAKE} all
|
10
|
+
install-libdyncall: libdyncall
|
11
|
+
cd dyncall && ${MAKE} install
|
12
|
+
install-libdyncallback: libdyncallback
|
13
|
+
cd dyncallback && ${MAKE} install
|
14
|
+
install-libdynload: libdynload
|
15
|
+
cd dynload && ${MAKE} install
|
16
|
+
clean:
|
17
|
+
cd dyncall && ${MAKE} $@
|
18
|
+
cd dynload && ${MAKE} $@
|
19
|
+
cd dyncallback && ${MAKE} $@
|
20
|
+
cd test && ${MAKE} $@
|
21
|
+
cd doc && ${MAKE} $@
|
22
|
+
tests: tests-libdyncall tests-libdyncallback tests-libdynload
|
23
|
+
tests-libdyncall: libdyncall
|
24
|
+
cd test && ${MAKE} all-dyncall
|
25
|
+
tests-libdyncallback: libdyncallback
|
26
|
+
cd test && ${MAKE} all-dyncallback
|
27
|
+
tests-libdynload: libdynload
|
28
|
+
cd test && ${MAKE} all-dynload
|
29
|
+
docs:
|
30
|
+
cd doc && ${MAKE} all
|
31
|
+
run-tests: all
|
32
|
+
cd test && ${MAKE} $@
|
33
|
+
distclean: clean
|
34
|
+
rm -f Makefile.config
|
35
|
+
find . -type f -name "Makefile.generic" | sed s/\.generic$$// | xargs rm
|
36
|
+
|
data/dyncall/Nmakefile
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
#//////////////////////////////////////////////////////////////////////////////
|
2
|
+
#
|
3
|
+
# Copyright (c) 2007,2009 Daniel Adler <dadler@uni-goettingen.de>,
|
4
|
+
# Tassilo Philipp <tphilipp@potion-studios.com>
|
5
|
+
#
|
6
|
+
# Permission to use, copy, modify, and distribute this software for any
|
7
|
+
# purpose with or without fee is hereby granted, provided that the above
|
8
|
+
# copyright notice and this permission notice appear in all copies.
|
9
|
+
#
|
10
|
+
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
11
|
+
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
12
|
+
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
13
|
+
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
14
|
+
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
15
|
+
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
16
|
+
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
17
|
+
#
|
18
|
+
#//////////////////////////////////////////////////////////////////////////////
|
19
|
+
|
20
|
+
#///////////////////////////////////////////////////
|
21
|
+
#
|
22
|
+
# nmake makefile
|
23
|
+
# Nmakefile
|
24
|
+
#
|
25
|
+
#///////////////////////////////////////////////////
|
26
|
+
|
27
|
+
|
28
|
+
TOP = .
|
29
|
+
|
30
|
+
!INCLUDE $(TOP)\buildsys\nmake\prolog.nmake
|
31
|
+
|
32
|
+
DIRS = dyncall dynload dyncallback
|
33
|
+
|
34
|
+
tests: dummy
|
35
|
+
!echo Building tests ... && cd test && $(MAKE) /NOLOGO /F Nmakefile && cd ..
|
36
|
+
|
37
|
+
doc: dummy
|
38
|
+
!echo Building documentation ... && cd $@/manual && $(MAKE) /NOLOGO /F Nmakefile && cd ..
|
39
|
+
|
40
|
+
# Pseudo-targets are always out of date...
|
41
|
+
dummy:
|
42
|
+
|
43
|
+
|
44
|
+
!INCLUDE $(TOP)\buildsys\nmake\epilog.nmake
|
45
|
+
|
data/dyncall/README
ADDED
@@ -0,0 +1,92 @@
|
|
1
|
+
dyncall - A Generic Dynamic FFI package
|
2
|
+
=======================================
|
3
|
+
|
4
|
+
The dyncall software distribution comprises a low-level toolkit for
|
5
|
+
the implementation of Foreign Function Interfaces.
|
6
|
+
It comprises abstractions to the Application Binary Interface of a
|
7
|
+
number of hard- and software platforms.
|
8
|
+
|
9
|
+
The software package comprises three C libraries, namely:
|
10
|
+
|
11
|
+
- Library dyncall for making function calls,
|
12
|
+
- Library dyncallback or writing generic callback handlers, and
|
13
|
+
- Library dynload for loading code.
|
14
|
+
|
15
|
+
The dyncall library provides a portable interface for calling
|
16
|
+
C functions from within dynamic execution environments, such as
|
17
|
+
interpreters or application servers.
|
18
|
+
The dyncallback library allows to implement a callback handler in C
|
19
|
+
for handling arbitrary C callbacks from within dynamic execution environments.
|
20
|
+
The dynload library provides a thin abstraction layer for loading of code
|
21
|
+
and also allows to enumerate the contents of shared librarys or DLLs.
|
22
|
+
|
23
|
+
Typical applications for dyncall are FFI (foreign function interface) packages
|
24
|
+
for scripting languages to connect with the C/C++ world.
|
25
|
+
|
26
|
+
The binary footprint of the whole package is approx. 20 kb.
|
27
|
+
|
28
|
+
|
29
|
+
Building the library
|
30
|
+
--------------------
|
31
|
+
|
32
|
+
Prequisites:
|
33
|
+
- C compiler such as gcc,clang,sunpro or msvc.
|
34
|
+
- Assembler such as gas (GNU/apple), fbe or masm.
|
35
|
+
|
36
|
+
Supported Architectures and ABIs:
|
37
|
+
---------------------------------
|
38
|
+
- x86 32/64-bit (cdecl, fastcall, stdcall, C++ this calls, Syscalls)
|
39
|
+
- ARM AArch32 (ARM/Thumb mode, v4t-v7, oabi/eabi, soft/hardfloat ABIs)
|
40
|
+
- MIPS 32/64-bit (o32, n64, eabi)
|
41
|
+
- PowerPC 32-bit (Mac OS X, System V)
|
42
|
+
- Sparc 32/64-bit (v7/8 and v9)
|
43
|
+
|
44
|
+
Supported Operating Systems:
|
45
|
+
----------------------------
|
46
|
+
- Android
|
47
|
+
- *BSD
|
48
|
+
- Haiku
|
49
|
+
- iOS
|
50
|
+
- Linux
|
51
|
+
- Mac OS X
|
52
|
+
- Microsoft Windows
|
53
|
+
- Minix
|
54
|
+
- Nintendo DS Homebrew
|
55
|
+
- Plan9 / 9front
|
56
|
+
- Playstation Portable Homebrew
|
57
|
+
- ReactOS
|
58
|
+
- Solaris
|
59
|
+
|
60
|
+
Building the library
|
61
|
+
--------------------
|
62
|
+
Using `homebrewed' configure shell script and GNU/BSD/Sun make system.
|
63
|
+
|
64
|
+
$ ./configure
|
65
|
+
$ make
|
66
|
+
$ make install
|
67
|
+
|
68
|
+
Testing:
|
69
|
+
|
70
|
+
$ make tests
|
71
|
+
$ make run-tests
|
72
|
+
|
73
|
+
Out-of-source building:
|
74
|
+
----------------------
|
75
|
+
|
76
|
+
$ cd <build_dir>
|
77
|
+
$ <src_dir>/configure --prefix=<install_dir>
|
78
|
+
$ make
|
79
|
+
$ sudo make install
|
80
|
+
|
81
|
+
|
82
|
+
Building using CMake
|
83
|
+
--------------------
|
84
|
+
|
85
|
+
$ cmake
|
86
|
+
$ make
|
87
|
+
$ sudo make install
|
88
|
+
|
89
|
+
|
90
|
+
Please refer to http://www.dyncall.org, dyncall(3), the dyncall manual and
|
91
|
+
platform-specific READMEs under doc/ for more information.
|
92
|
+
|