ffi 0.5.4-x86-mingw32 → 0.6.3-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of ffi might be problematic. Click here for more details.
- data/History.txt +102 -0
- data/LICENSE +1 -27
- data/Rakefile +4 -12
- data/ext/ffi_c/AbstractMemory.c +6 -8
- data/ext/ffi_c/AbstractMemory.h +23 -21
- data/ext/ffi_c/AutoPointer.c +0 -1
- data/ext/ffi_c/Buffer.c +23 -8
- data/ext/ffi_c/Call.c +31 -3
- data/ext/ffi_c/Call.h +5 -1
- data/ext/ffi_c/DynamicLibrary.c +0 -1
- data/ext/ffi_c/Function.c +22 -4
- data/ext/ffi_c/MemoryPointer.c +2 -3
- data/ext/ffi_c/Pointer.c +23 -9
- data/ext/ffi_c/Struct.c +227 -79
- data/ext/ffi_c/Struct.h +16 -7
- data/ext/ffi_c/StructLayout.c +92 -55
- data/ext/ffi_c/Type.c +5 -22
- data/ext/ffi_c/Type.h +1 -1
- data/ext/ffi_c/Types.c +9 -3
- data/ext/ffi_c/Types.h +2 -0
- data/ext/ffi_c/extconf.rb +11 -7
- data/ext/ffi_c/libffi.gnu.mk +1 -1
- data/ext/ffi_c/libffi.mk +1 -1
- data/ext/ffi_c/libffi/ChangeLog +900 -84
- data/ext/ffi_c/libffi/ChangeLog.libffi +311 -0
- data/ext/ffi_c/libffi/LICENSE +1 -1
- data/ext/ffi_c/libffi/Makefile.am +14 -4
- data/ext/ffi_c/libffi/Makefile.in +362 -211
- data/ext/ffi_c/libffi/README +70 -92
- data/ext/ffi_c/libffi/aclocal.m4 +6068 -4586
- data/ext/ffi_c/libffi/config.guess +125 -143
- data/ext/ffi_c/libffi/config.sub +103 -27
- data/ext/ffi_c/libffi/configure +11340 -18473
- data/ext/ffi_c/libffi/configure.ac +43 -4
- data/ext/ffi_c/libffi/doc/libffi.info +15 -15
- data/ext/ffi_c/libffi/doc/libffi.texi +1 -1
- data/ext/ffi_c/libffi/doc/stamp-vti +4 -4
- data/ext/ffi_c/libffi/doc/version.texi +4 -4
- data/ext/ffi_c/libffi/fficonfig.h.in +24 -3
- data/ext/ffi_c/libffi/include/Makefile.am +1 -1
- data/ext/ffi_c/libffi/include/Makefile.in +97 -50
- data/ext/ffi_c/libffi/include/ffi.h.in +8 -2
- data/ext/ffi_c/libffi/include/ffi_common.h +24 -0
- data/ext/ffi_c/libffi/libtool-version +1 -1
- data/ext/ffi_c/libffi/ltmain.sh +7346 -5870
- data/ext/ffi_c/libffi/m4/libtool.m4 +7360 -0
- data/ext/ffi_c/libffi/m4/ltoptions.m4 +368 -0
- data/ext/ffi_c/libffi/m4/ltsugar.m4 +123 -0
- data/ext/ffi_c/libffi/m4/ltversion.m4 +23 -0
- data/ext/ffi_c/libffi/m4/lt~obsolete.m4 +92 -0
- data/ext/ffi_c/libffi/man/Makefile.in +115 -62
- data/ext/ffi_c/libffi/man/ffi_call.3 +3 -3
- data/ext/ffi_c/libffi/missing +15 -8
- data/ext/ffi_c/libffi/src/arm/sysv.S +15 -8
- data/ext/ffi_c/libffi/src/avr32/ffi.c +421 -0
- data/ext/ffi_c/libffi/src/avr32/ffitarget.h +50 -0
- data/ext/ffi_c/libffi/src/avr32/sysv.S +208 -0
- data/ext/ffi_c/libffi/src/closures.c +47 -10
- data/ext/ffi_c/libffi/src/frv/ffi.c +1 -1
- data/ext/ffi_c/libffi/src/java_raw_api.c +0 -3
- data/ext/ffi_c/libffi/src/mips/ffi.c +135 -32
- data/ext/ffi_c/libffi/src/mips/ffitarget.h +37 -4
- data/ext/ffi_c/libffi/src/mips/n32.S +67 -10
- data/ext/ffi_c/libffi/src/mips/o32.S +8 -8
- data/ext/ffi_c/libffi/src/pa/ffi.c +7 -0
- data/ext/ffi_c/libffi/src/powerpc/aix.S +163 -64
- data/ext/ffi_c/libffi/src/powerpc/aix_closure.S +308 -112
- data/ext/ffi_c/libffi/src/powerpc/ffi.c +20 -7
- data/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +208 -80
- data/ext/ffi_c/libffi/src/powerpc/ffitarget.h +11 -3
- data/ext/ffi_c/libffi/src/powerpc/sysv.S +12 -23
- data/ext/ffi_c/libffi/src/s390/sysv.S +1 -1
- data/ext/ffi_c/libffi/src/sh/sysv.S +9 -9
- data/ext/ffi_c/libffi/src/sh64/ffi.c +37 -22
- data/ext/ffi_c/libffi/src/sh64/sysv.S +23 -14
- data/ext/ffi_c/libffi/src/sparc/ffi.c +21 -6
- data/ext/ffi_c/libffi/src/sparc/v8.S +55 -14
- data/ext/ffi_c/libffi/src/x86/darwin.S +10 -9
- data/ext/ffi_c/libffi/src/x86/ffi.c +293 -86
- data/ext/ffi_c/libffi/src/x86/ffi64.c +73 -19
- data/ext/ffi_c/libffi/src/x86/ffitarget.h +30 -0
- data/ext/ffi_c/libffi/src/x86/sysv.S +21 -4
- data/ext/ffi_c/libffi/src/x86/unix64.S +8 -4
- data/ext/ffi_c/libffi/src/x86/win32.S +633 -147
- data/ext/ffi_c/libffi/src/x86/win64.S +460 -0
- data/ext/ffi_c/libffi/testsuite/Makefile.am +63 -54
- data/ext/ffi_c/libffi/testsuite/Makefile.in +112 -77
- data/ext/ffi_c/libffi/testsuite/lib/libffi-dg.exp +12 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn0.c +7 -15
- data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn1.c +7 -15
- data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn2.c +7 -15
- data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn3.c +7 -15
- data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn4.c +7 -15
- data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn5.c +7 -14
- data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn6.c +7 -15
- data/ext/ffi_c/libffi/testsuite/libffi.call/closure_loc_fn0.c +95 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/closure_stdcall.c +6 -14
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_12byte.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_16byte.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_18byte.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_19byte.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_1_1byte.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte1.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_24byte.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_2byte.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3_1byte.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte1.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte2.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4_1byte.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4byte.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5_1_byte.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5byte.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_64byte.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6_1_byte.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6byte.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7_1_byte.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7byte.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_8byte.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte1.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte2.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_double.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_float.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split.c +134 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split2.c +117 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_pointer.c +11 -17
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint16.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint32.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint64.c +7 -15
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint16.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint32.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint64.c +7 -15
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_dbls_struct.c +66 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_double.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_double_va.c +57 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_float.c +4 -13
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble.c +105 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble_va.c +57 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_schar.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshort.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshortchar.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_uchar.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushort.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushortchar.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer.c +74 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer_stack.c +140 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_schar.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_sint.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_sshort.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uint.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulonglong.c +8 -16
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_abi.c +37 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c +25 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +31 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +2 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/huge_struct.c +342 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct1.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct10.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct2.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct3.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct4.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct5.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct6.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct7.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct8.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct9.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/problem1.c +4 -12
- data/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c +1 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c +1 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large.c +145 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large2.c +148 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium.c +124 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium2.c +124 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/testclosure.c +70 -0
- data/ext/ffi_c/libffi/testsuite/libffi.special/ffitestcxx.h +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.special/special.exp +4 -5
- data/ext/ffi_c/libffi/testsuite/libffi.special/unwindtest.cc +17 -16
- data/ext/ffi_c/libffi/texinfo.tex +155 -427
- data/gen/Rakefile +4 -2
- data/lib/1.8/ffi_c.so +0 -0
- data/lib/1.9/ffi_c.so +0 -0
- data/lib/ffi/autopointer.rb +79 -20
- data/lib/ffi/callback.rb +4 -10
- data/lib/ffi/enum.rb +28 -0
- data/lib/ffi/ffi.rb +1 -0
- data/lib/ffi/io.rb +28 -0
- data/lib/ffi/library.rb +237 -182
- data/lib/ffi/memorypointer.rb +28 -62
- data/lib/ffi/platform.rb +27 -0
- data/lib/ffi/pointer.rb +28 -0
- data/lib/ffi/struct.rb +55 -1
- data/lib/ffi/types.rb +29 -0
- data/lib/ffi/variadic.rb +29 -0
- data/spec/ffi/library_spec.rb +31 -5
- data/spec/ffi/rbx/attach_function_spec.rb +2 -1
- data/spec/ffi/rbx/memory_pointer_spec.rb +2 -1
- data/spec/ffi/spec_helper.rb +5 -1
- data/spec/ffi/struct_spec.rb +82 -0
- data/tasks/ann.rake +80 -0
- data/tasks/extension.rake +25 -0
- data/tasks/gem.rake +200 -0
- data/tasks/git.rake +41 -0
- data/tasks/notes.rake +27 -0
- data/tasks/post_load.rake +34 -0
- data/tasks/rdoc.rake +50 -0
- data/tasks/rubyforge.rake +55 -0
- data/tasks/setup.rb +300 -0
- data/tasks/spec.rake +54 -0
- data/tasks/svn.rake +47 -0
- data/tasks/test.rake +40 -0
- metadata +312 -279
- data/ext/ffi_c/libffi/TODO +0 -1
- data/ext/ffi_c/libffi/ltcf-c.sh +0 -861
- data/ext/ffi_c/libffi/ltcf-cxx.sh +0 -1069
- data/ext/ffi_c/libffi/ltcf-gcj.sh +0 -700
- data/ext/ffi_c/libffi/ltconfig +0 -2862
- data/ext/ffi_c/libffi/mkinstalldirs +0 -158
@@ -0,0 +1,368 @@
|
|
1
|
+
# Helper functions for option handling. -*- Autoconf -*-
|
2
|
+
#
|
3
|
+
# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
|
4
|
+
# Written by Gary V. Vaughan, 2004
|
5
|
+
#
|
6
|
+
# This file is free software; the Free Software Foundation gives
|
7
|
+
# unlimited permission to copy and/or distribute it, with or without
|
8
|
+
# modifications, as long as this notice is preserved.
|
9
|
+
|
10
|
+
# serial 6 ltoptions.m4
|
11
|
+
|
12
|
+
# This is to help aclocal find these macros, as it can't see m4_define.
|
13
|
+
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
|
14
|
+
|
15
|
+
|
16
|
+
# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
|
17
|
+
# ------------------------------------------
|
18
|
+
m4_define([_LT_MANGLE_OPTION],
|
19
|
+
[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
|
20
|
+
|
21
|
+
|
22
|
+
# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
|
23
|
+
# ---------------------------------------
|
24
|
+
# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
|
25
|
+
# matching handler defined, dispatch to it. Other OPTION-NAMEs are
|
26
|
+
# saved as a flag.
|
27
|
+
m4_define([_LT_SET_OPTION],
|
28
|
+
[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
|
29
|
+
m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
|
30
|
+
_LT_MANGLE_DEFUN([$1], [$2]),
|
31
|
+
[m4_warning([Unknown $1 option `$2'])])[]dnl
|
32
|
+
])
|
33
|
+
|
34
|
+
|
35
|
+
# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
|
36
|
+
# ------------------------------------------------------------
|
37
|
+
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
|
38
|
+
m4_define([_LT_IF_OPTION],
|
39
|
+
[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
|
40
|
+
|
41
|
+
|
42
|
+
# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
|
43
|
+
# -------------------------------------------------------
|
44
|
+
# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
|
45
|
+
# are set.
|
46
|
+
m4_define([_LT_UNLESS_OPTIONS],
|
47
|
+
[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
|
48
|
+
[m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
|
49
|
+
[m4_define([$0_found])])])[]dnl
|
50
|
+
m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
|
51
|
+
])[]dnl
|
52
|
+
])
|
53
|
+
|
54
|
+
|
55
|
+
# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
|
56
|
+
# ----------------------------------------
|
57
|
+
# OPTION-LIST is a space-separated list of Libtool options associated
|
58
|
+
# with MACRO-NAME. If any OPTION has a matching handler declared with
|
59
|
+
# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
|
60
|
+
# the unknown option and exit.
|
61
|
+
m4_defun([_LT_SET_OPTIONS],
|
62
|
+
[# Set options
|
63
|
+
m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
|
64
|
+
[_LT_SET_OPTION([$1], _LT_Option)])
|
65
|
+
|
66
|
+
m4_if([$1],[LT_INIT],[
|
67
|
+
dnl
|
68
|
+
dnl Simply set some default values (i.e off) if boolean options were not
|
69
|
+
dnl specified:
|
70
|
+
_LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
|
71
|
+
])
|
72
|
+
_LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
|
73
|
+
])
|
74
|
+
dnl
|
75
|
+
dnl If no reference was made to various pairs of opposing options, then
|
76
|
+
dnl we run the default mode handler for the pair. For example, if neither
|
77
|
+
dnl `shared' nor `disable-shared' was passed, we enable building of shared
|
78
|
+
dnl archives by default:
|
79
|
+
_LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
|
80
|
+
_LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
|
81
|
+
_LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
|
82
|
+
_LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
|
83
|
+
[_LT_ENABLE_FAST_INSTALL])
|
84
|
+
])
|
85
|
+
])# _LT_SET_OPTIONS
|
86
|
+
|
87
|
+
|
88
|
+
## --------------------------------- ##
|
89
|
+
## Macros to handle LT_INIT options. ##
|
90
|
+
## --------------------------------- ##
|
91
|
+
|
92
|
+
# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
|
93
|
+
# -----------------------------------------
|
94
|
+
m4_define([_LT_MANGLE_DEFUN],
|
95
|
+
[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
|
96
|
+
|
97
|
+
|
98
|
+
# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
|
99
|
+
# -----------------------------------------------
|
100
|
+
m4_define([LT_OPTION_DEFINE],
|
101
|
+
[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
|
102
|
+
])# LT_OPTION_DEFINE
|
103
|
+
|
104
|
+
|
105
|
+
# dlopen
|
106
|
+
# ------
|
107
|
+
LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
|
108
|
+
])
|
109
|
+
|
110
|
+
AU_DEFUN([AC_LIBTOOL_DLOPEN],
|
111
|
+
[_LT_SET_OPTION([LT_INIT], [dlopen])
|
112
|
+
AC_DIAGNOSE([obsolete],
|
113
|
+
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
114
|
+
put the `dlopen' option into LT_INIT's first parameter.])
|
115
|
+
])
|
116
|
+
|
117
|
+
dnl aclocal-1.4 backwards compatibility:
|
118
|
+
dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
|
119
|
+
|
120
|
+
|
121
|
+
# win32-dll
|
122
|
+
# ---------
|
123
|
+
# Declare package support for building win32 dll's.
|
124
|
+
LT_OPTION_DEFINE([LT_INIT], [win32-dll],
|
125
|
+
[enable_win32_dll=yes
|
126
|
+
|
127
|
+
case $host in
|
128
|
+
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
|
129
|
+
AC_CHECK_TOOL(AS, as, false)
|
130
|
+
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
|
131
|
+
AC_CHECK_TOOL(OBJDUMP, objdump, false)
|
132
|
+
;;
|
133
|
+
esac
|
134
|
+
|
135
|
+
test -z "$AS" && AS=as
|
136
|
+
_LT_DECL([], [AS], [0], [Assembler program])dnl
|
137
|
+
|
138
|
+
test -z "$DLLTOOL" && DLLTOOL=dlltool
|
139
|
+
_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
|
140
|
+
|
141
|
+
test -z "$OBJDUMP" && OBJDUMP=objdump
|
142
|
+
_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
|
143
|
+
])# win32-dll
|
144
|
+
|
145
|
+
AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
|
146
|
+
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
147
|
+
_LT_SET_OPTION([LT_INIT], [win32-dll])
|
148
|
+
AC_DIAGNOSE([obsolete],
|
149
|
+
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
150
|
+
put the `win32-dll' option into LT_INIT's first parameter.])
|
151
|
+
])
|
152
|
+
|
153
|
+
dnl aclocal-1.4 backwards compatibility:
|
154
|
+
dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
|
155
|
+
|
156
|
+
|
157
|
+
# _LT_ENABLE_SHARED([DEFAULT])
|
158
|
+
# ----------------------------
|
159
|
+
# implement the --enable-shared flag, and supports the `shared' and
|
160
|
+
# `disable-shared' LT_INIT options.
|
161
|
+
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
162
|
+
m4_define([_LT_ENABLE_SHARED],
|
163
|
+
[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
164
|
+
AC_ARG_ENABLE([shared],
|
165
|
+
[AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
|
166
|
+
[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
|
167
|
+
[p=${PACKAGE-default}
|
168
|
+
case $enableval in
|
169
|
+
yes) enable_shared=yes ;;
|
170
|
+
no) enable_shared=no ;;
|
171
|
+
*)
|
172
|
+
enable_shared=no
|
173
|
+
# Look at the argument we got. We use all the common list separators.
|
174
|
+
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
175
|
+
for pkg in $enableval; do
|
176
|
+
IFS="$lt_save_ifs"
|
177
|
+
if test "X$pkg" = "X$p"; then
|
178
|
+
enable_shared=yes
|
179
|
+
fi
|
180
|
+
done
|
181
|
+
IFS="$lt_save_ifs"
|
182
|
+
;;
|
183
|
+
esac],
|
184
|
+
[enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
|
185
|
+
|
186
|
+
_LT_DECL([build_libtool_libs], [enable_shared], [0],
|
187
|
+
[Whether or not to build shared libraries])
|
188
|
+
])# _LT_ENABLE_SHARED
|
189
|
+
|
190
|
+
LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
|
191
|
+
LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
|
192
|
+
|
193
|
+
# Old names:
|
194
|
+
AC_DEFUN([AC_ENABLE_SHARED],
|
195
|
+
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
|
196
|
+
])
|
197
|
+
|
198
|
+
AC_DEFUN([AC_DISABLE_SHARED],
|
199
|
+
[_LT_SET_OPTION([LT_INIT], [disable-shared])
|
200
|
+
])
|
201
|
+
|
202
|
+
AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
|
203
|
+
AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
|
204
|
+
|
205
|
+
dnl aclocal-1.4 backwards compatibility:
|
206
|
+
dnl AC_DEFUN([AM_ENABLE_SHARED], [])
|
207
|
+
dnl AC_DEFUN([AM_DISABLE_SHARED], [])
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
# _LT_ENABLE_STATIC([DEFAULT])
|
212
|
+
# ----------------------------
|
213
|
+
# implement the --enable-static flag, and support the `static' and
|
214
|
+
# `disable-static' LT_INIT options.
|
215
|
+
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
216
|
+
m4_define([_LT_ENABLE_STATIC],
|
217
|
+
[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
218
|
+
AC_ARG_ENABLE([static],
|
219
|
+
[AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
|
220
|
+
[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
|
221
|
+
[p=${PACKAGE-default}
|
222
|
+
case $enableval in
|
223
|
+
yes) enable_static=yes ;;
|
224
|
+
no) enable_static=no ;;
|
225
|
+
*)
|
226
|
+
enable_static=no
|
227
|
+
# Look at the argument we got. We use all the common list separators.
|
228
|
+
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
229
|
+
for pkg in $enableval; do
|
230
|
+
IFS="$lt_save_ifs"
|
231
|
+
if test "X$pkg" = "X$p"; then
|
232
|
+
enable_static=yes
|
233
|
+
fi
|
234
|
+
done
|
235
|
+
IFS="$lt_save_ifs"
|
236
|
+
;;
|
237
|
+
esac],
|
238
|
+
[enable_static=]_LT_ENABLE_STATIC_DEFAULT)
|
239
|
+
|
240
|
+
_LT_DECL([build_old_libs], [enable_static], [0],
|
241
|
+
[Whether or not to build static libraries])
|
242
|
+
])# _LT_ENABLE_STATIC
|
243
|
+
|
244
|
+
LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
|
245
|
+
LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
|
246
|
+
|
247
|
+
# Old names:
|
248
|
+
AC_DEFUN([AC_ENABLE_STATIC],
|
249
|
+
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
|
250
|
+
])
|
251
|
+
|
252
|
+
AC_DEFUN([AC_DISABLE_STATIC],
|
253
|
+
[_LT_SET_OPTION([LT_INIT], [disable-static])
|
254
|
+
])
|
255
|
+
|
256
|
+
AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
|
257
|
+
AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
|
258
|
+
|
259
|
+
dnl aclocal-1.4 backwards compatibility:
|
260
|
+
dnl AC_DEFUN([AM_ENABLE_STATIC], [])
|
261
|
+
dnl AC_DEFUN([AM_DISABLE_STATIC], [])
|
262
|
+
|
263
|
+
|
264
|
+
|
265
|
+
# _LT_ENABLE_FAST_INSTALL([DEFAULT])
|
266
|
+
# ----------------------------------
|
267
|
+
# implement the --enable-fast-install flag, and support the `fast-install'
|
268
|
+
# and `disable-fast-install' LT_INIT options.
|
269
|
+
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
270
|
+
m4_define([_LT_ENABLE_FAST_INSTALL],
|
271
|
+
[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
272
|
+
AC_ARG_ENABLE([fast-install],
|
273
|
+
[AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
|
274
|
+
[optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
|
275
|
+
[p=${PACKAGE-default}
|
276
|
+
case $enableval in
|
277
|
+
yes) enable_fast_install=yes ;;
|
278
|
+
no) enable_fast_install=no ;;
|
279
|
+
*)
|
280
|
+
enable_fast_install=no
|
281
|
+
# Look at the argument we got. We use all the common list separators.
|
282
|
+
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
283
|
+
for pkg in $enableval; do
|
284
|
+
IFS="$lt_save_ifs"
|
285
|
+
if test "X$pkg" = "X$p"; then
|
286
|
+
enable_fast_install=yes
|
287
|
+
fi
|
288
|
+
done
|
289
|
+
IFS="$lt_save_ifs"
|
290
|
+
;;
|
291
|
+
esac],
|
292
|
+
[enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
|
293
|
+
|
294
|
+
_LT_DECL([fast_install], [enable_fast_install], [0],
|
295
|
+
[Whether or not to optimize for fast installation])dnl
|
296
|
+
])# _LT_ENABLE_FAST_INSTALL
|
297
|
+
|
298
|
+
LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
|
299
|
+
LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
|
300
|
+
|
301
|
+
# Old names:
|
302
|
+
AU_DEFUN([AC_ENABLE_FAST_INSTALL],
|
303
|
+
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
|
304
|
+
AC_DIAGNOSE([obsolete],
|
305
|
+
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
|
306
|
+
the `fast-install' option into LT_INIT's first parameter.])
|
307
|
+
])
|
308
|
+
|
309
|
+
AU_DEFUN([AC_DISABLE_FAST_INSTALL],
|
310
|
+
[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
|
311
|
+
AC_DIAGNOSE([obsolete],
|
312
|
+
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
|
313
|
+
the `disable-fast-install' option into LT_INIT's first parameter.])
|
314
|
+
])
|
315
|
+
|
316
|
+
dnl aclocal-1.4 backwards compatibility:
|
317
|
+
dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
|
318
|
+
dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
|
319
|
+
|
320
|
+
|
321
|
+
# _LT_WITH_PIC([MODE])
|
322
|
+
# --------------------
|
323
|
+
# implement the --with-pic flag, and support the `pic-only' and `no-pic'
|
324
|
+
# LT_INIT options.
|
325
|
+
# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
|
326
|
+
m4_define([_LT_WITH_PIC],
|
327
|
+
[AC_ARG_WITH([pic],
|
328
|
+
[AS_HELP_STRING([--with-pic],
|
329
|
+
[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
|
330
|
+
[pic_mode="$withval"],
|
331
|
+
[pic_mode=default])
|
332
|
+
|
333
|
+
test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
|
334
|
+
|
335
|
+
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
|
336
|
+
])# _LT_WITH_PIC
|
337
|
+
|
338
|
+
LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
|
339
|
+
LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
|
340
|
+
|
341
|
+
# Old name:
|
342
|
+
AU_DEFUN([AC_LIBTOOL_PICMODE],
|
343
|
+
[_LT_SET_OPTION([LT_INIT], [pic-only])
|
344
|
+
AC_DIAGNOSE([obsolete],
|
345
|
+
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
346
|
+
put the `pic-only' option into LT_INIT's first parameter.])
|
347
|
+
])
|
348
|
+
|
349
|
+
dnl aclocal-1.4 backwards compatibility:
|
350
|
+
dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
|
351
|
+
|
352
|
+
## ----------------- ##
|
353
|
+
## LTDL_INIT Options ##
|
354
|
+
## ----------------- ##
|
355
|
+
|
356
|
+
m4_define([_LTDL_MODE], [])
|
357
|
+
LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
|
358
|
+
[m4_define([_LTDL_MODE], [nonrecursive])])
|
359
|
+
LT_OPTION_DEFINE([LTDL_INIT], [recursive],
|
360
|
+
[m4_define([_LTDL_MODE], [recursive])])
|
361
|
+
LT_OPTION_DEFINE([LTDL_INIT], [subproject],
|
362
|
+
[m4_define([_LTDL_MODE], [subproject])])
|
363
|
+
|
364
|
+
m4_define([_LTDL_TYPE], [])
|
365
|
+
LT_OPTION_DEFINE([LTDL_INIT], [installable],
|
366
|
+
[m4_define([_LTDL_TYPE], [installable])])
|
367
|
+
LT_OPTION_DEFINE([LTDL_INIT], [convenience],
|
368
|
+
[m4_define([_LTDL_TYPE], [convenience])])
|
@@ -0,0 +1,123 @@
|
|
1
|
+
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
|
2
|
+
#
|
3
|
+
# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
|
4
|
+
# Written by Gary V. Vaughan, 2004
|
5
|
+
#
|
6
|
+
# This file is free software; the Free Software Foundation gives
|
7
|
+
# unlimited permission to copy and/or distribute it, with or without
|
8
|
+
# modifications, as long as this notice is preserved.
|
9
|
+
|
10
|
+
# serial 6 ltsugar.m4
|
11
|
+
|
12
|
+
# This is to help aclocal find these macros, as it can't see m4_define.
|
13
|
+
AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
|
14
|
+
|
15
|
+
|
16
|
+
# lt_join(SEP, ARG1, [ARG2...])
|
17
|
+
# -----------------------------
|
18
|
+
# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
|
19
|
+
# associated separator.
|
20
|
+
# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
|
21
|
+
# versions in m4sugar had bugs.
|
22
|
+
m4_define([lt_join],
|
23
|
+
[m4_if([$#], [1], [],
|
24
|
+
[$#], [2], [[$2]],
|
25
|
+
[m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
|
26
|
+
m4_define([_lt_join],
|
27
|
+
[m4_if([$#$2], [2], [],
|
28
|
+
[m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
|
29
|
+
|
30
|
+
|
31
|
+
# lt_car(LIST)
|
32
|
+
# lt_cdr(LIST)
|
33
|
+
# ------------
|
34
|
+
# Manipulate m4 lists.
|
35
|
+
# These macros are necessary as long as will still need to support
|
36
|
+
# Autoconf-2.59 which quotes differently.
|
37
|
+
m4_define([lt_car], [[$1]])
|
38
|
+
m4_define([lt_cdr],
|
39
|
+
[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
|
40
|
+
[$#], 1, [],
|
41
|
+
[m4_dquote(m4_shift($@))])])
|
42
|
+
m4_define([lt_unquote], $1)
|
43
|
+
|
44
|
+
|
45
|
+
# lt_append(MACRO-NAME, STRING, [SEPARATOR])
|
46
|
+
# ------------------------------------------
|
47
|
+
# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
|
48
|
+
# Note that neither SEPARATOR nor STRING are expanded; they are appended
|
49
|
+
# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
|
50
|
+
# No SEPARATOR is output if MACRO-NAME was previously undefined (different
|
51
|
+
# than defined and empty).
|
52
|
+
#
|
53
|
+
# This macro is needed until we can rely on Autoconf 2.62, since earlier
|
54
|
+
# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
|
55
|
+
m4_define([lt_append],
|
56
|
+
[m4_define([$1],
|
57
|
+
m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
|
62
|
+
# ----------------------------------------------------------
|
63
|
+
# Produce a SEP delimited list of all paired combinations of elements of
|
64
|
+
# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
|
65
|
+
# has the form PREFIXmINFIXSUFFIXn.
|
66
|
+
# Needed until we can rely on m4_combine added in Autoconf 2.62.
|
67
|
+
m4_define([lt_combine],
|
68
|
+
[m4_if(m4_eval([$# > 3]), [1],
|
69
|
+
[m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
|
70
|
+
[[m4_foreach([_Lt_prefix], [$2],
|
71
|
+
[m4_foreach([_Lt_suffix],
|
72
|
+
]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
|
73
|
+
[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
|
74
|
+
|
75
|
+
|
76
|
+
# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
|
77
|
+
# -----------------------------------------------------------------------
|
78
|
+
# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
|
79
|
+
# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
|
80
|
+
m4_define([lt_if_append_uniq],
|
81
|
+
[m4_ifdef([$1],
|
82
|
+
[m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
|
83
|
+
[lt_append([$1], [$2], [$3])$4],
|
84
|
+
[$5])],
|
85
|
+
[lt_append([$1], [$2], [$3])$4])])
|
86
|
+
|
87
|
+
|
88
|
+
# lt_dict_add(DICT, KEY, VALUE)
|
89
|
+
# -----------------------------
|
90
|
+
m4_define([lt_dict_add],
|
91
|
+
[m4_define([$1($2)], [$3])])
|
92
|
+
|
93
|
+
|
94
|
+
# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
|
95
|
+
# --------------------------------------------
|
96
|
+
m4_define([lt_dict_add_subkey],
|
97
|
+
[m4_define([$1($2:$3)], [$4])])
|
98
|
+
|
99
|
+
|
100
|
+
# lt_dict_fetch(DICT, KEY, [SUBKEY])
|
101
|
+
# ----------------------------------
|
102
|
+
m4_define([lt_dict_fetch],
|
103
|
+
[m4_ifval([$3],
|
104
|
+
m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
|
105
|
+
m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
|
106
|
+
|
107
|
+
|
108
|
+
# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
|
109
|
+
# -----------------------------------------------------------------
|
110
|
+
m4_define([lt_if_dict_fetch],
|
111
|
+
[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
|
112
|
+
[$5],
|
113
|
+
[$6])])
|
114
|
+
|
115
|
+
|
116
|
+
# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
|
117
|
+
# --------------------------------------------------------------
|
118
|
+
m4_define([lt_dict_filter],
|
119
|
+
[m4_if([$5], [], [],
|
120
|
+
[lt_join(m4_quote(m4_default([$4], [[, ]])),
|
121
|
+
lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
|
122
|
+
[lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
|
123
|
+
])
|