Add m88k and VAX support. Update some configury bits.
This commit is contained in:
19
ChangeLog
19
ChangeLog
@@ -1,3 +1,22 @@
|
|||||||
|
2013-10-08 Anthony Green <green@moxielogic.com>
|
||||||
|
|
||||||
|
* aclocal.m4, compile, config.guess, config.sub, depcomp,
|
||||||
|
install-sh, mdate-sh, missing, texinfo.tex: Update from upstream.
|
||||||
|
* configure.ac: Update version to 3.0.14-rc0.
|
||||||
|
* Makefile.in, configure, Makefile.in, include/Makefile.in,
|
||||||
|
man/Makefile.in, testsuite/Makefile.in: Rebuilt.
|
||||||
|
|
||||||
|
2013-07-15 Miod Vallat <miod@openbsd.org>
|
||||||
|
|
||||||
|
* Makefile.am,
|
||||||
|
configure.ac,
|
||||||
|
src/m88k/ffi.c,
|
||||||
|
src/m88k/ffitarget.h,
|
||||||
|
src/m88k/obsd.S,
|
||||||
|
src/vax/elfbsd.S,
|
||||||
|
src/vax/ffi.c,
|
||||||
|
src/vax/ffitarget.h: Add m88k and vax support.
|
||||||
|
|
||||||
2013-06-24 Alan Modra <amodra@gmail.com>
|
2013-06-24 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
* src/powerpc/ffi.c (ffi_prep_args_SYSV): Move var declaration
|
* src/powerpc/ffi.c (ffi_prep_args_SYSV): Move var declaration
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
|
|||||||
src/moxie/ffitarget.h src/moxie/eabi.S src/mips/ffitarget.h \
|
src/moxie/ffitarget.h src/moxie/eabi.S src/mips/ffitarget.h \
|
||||||
src/m32r/ffi.c src/m32r/sysv.S src/m32r/ffitarget.h \
|
src/m32r/ffi.c src/m32r/sysv.S src/m32r/ffitarget.h \
|
||||||
src/m68k/ffi.c src/m68k/sysv.S src/m68k/ffitarget.h \
|
src/m68k/ffi.c src/m68k/sysv.S src/m68k/ffitarget.h \
|
||||||
|
src/m88k/ffi.c src/m88k/obsd.S src/m88k/ffitarget.h \
|
||||||
src/microblaze/ffi.c src/microblaze/sysv.S \
|
src/microblaze/ffi.c src/microblaze/sysv.S \
|
||||||
src/microblaze/ffitarget.h src/powerpc/ffi.c \
|
src/microblaze/ffitarget.h src/powerpc/ffi.c \
|
||||||
src/powerpc/sysv.S src/powerpc/linux64.S \
|
src/powerpc/sysv.S src/powerpc/linux64.S \
|
||||||
@@ -39,6 +40,7 @@ EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
|
|||||||
src/bfin/ffitarget.h src/bfin/sysv.S src/frv/eabi.S \
|
src/bfin/ffitarget.h src/bfin/sysv.S src/frv/eabi.S \
|
||||||
src/frv/ffitarget.h src/dlmalloc.c src/tile/ffi.c \
|
src/frv/ffitarget.h src/dlmalloc.c src/tile/ffi.c \
|
||||||
src/tile/ffitarget.h src/tile/tile.S libtool-version \
|
src/tile/ffitarget.h src/tile/tile.S libtool-version \
|
||||||
|
src/vax/ffi.c src/vax/ffitarget.h src/vax/elfbsd.S \
|
||||||
src/xtensa/ffitarget.h src/xtensa/ffi.c src/xtensa/sysv.S \
|
src/xtensa/ffitarget.h src/xtensa/ffi.c src/xtensa/sysv.S \
|
||||||
ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
|
ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
|
||||||
m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 \
|
m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 \
|
||||||
@@ -150,6 +152,9 @@ endif
|
|||||||
if M68K
|
if M68K
|
||||||
nodist_libffi_la_SOURCES += src/m68k/ffi.c src/m68k/sysv.S
|
nodist_libffi_la_SOURCES += src/m68k/ffi.c src/m68k/sysv.S
|
||||||
endif
|
endif
|
||||||
|
if M88K
|
||||||
|
nodist_libffi_la_SOURCES += src/m88k/ffi.c src/m88k/obsd.S
|
||||||
|
endif
|
||||||
if MOXIE
|
if MOXIE
|
||||||
nodist_libffi_la_SOURCES += src/moxie/ffi.c src/moxie/eabi.S
|
nodist_libffi_la_SOURCES += src/moxie/ffi.c src/moxie/eabi.S
|
||||||
endif
|
endif
|
||||||
@@ -216,6 +221,9 @@ endif
|
|||||||
if METAG
|
if METAG
|
||||||
nodist_libffi_la_SOURCES += src/metag/sysv.S src/metag/ffi.c
|
nodist_libffi_la_SOURCES += src/metag/sysv.S src/metag/ffi.c
|
||||||
endif
|
endif
|
||||||
|
if VAX
|
||||||
|
nodist_libffi_la_SOURCES += src/vax/elfbsd.S src/vax/ffi.c
|
||||||
|
endif
|
||||||
|
|
||||||
libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
|
libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
|
||||||
nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
|
nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
|
||||||
|
|||||||
507
Makefile.in
507
Makefile.in
@@ -1,7 +1,7 @@
|
|||||||
# Makefile.in generated by automake 1.12.2 from Makefile.am.
|
# Makefile.in generated by automake 1.13.4 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
|
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@@ -16,23 +16,51 @@
|
|||||||
|
|
||||||
|
|
||||||
VPATH = @srcdir@
|
VPATH = @srcdir@
|
||||||
am__make_dryrun = \
|
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||||
{ \
|
am__make_running_with_option = \
|
||||||
am__dry=no; \
|
case $${target_option-} in \
|
||||||
|
?) ;; \
|
||||||
|
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||||
|
"target option '$${target_option-}' specified" >&2; \
|
||||||
|
exit 1;; \
|
||||||
|
esac; \
|
||||||
|
has_opt=no; \
|
||||||
|
sane_makeflags=$$MAKEFLAGS; \
|
||||||
|
if $(am__is_gnu_make); then \
|
||||||
|
sane_makeflags=$$MFLAGS; \
|
||||||
|
else \
|
||||||
case $$MAKEFLAGS in \
|
case $$MAKEFLAGS in \
|
||||||
*\\[\ \ ]*) \
|
*\\[\ \ ]*) \
|
||||||
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
|
bs=\\; \
|
||||||
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
|
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||||
*) \
|
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||||
for am__flg in $$MAKEFLAGS; do \
|
|
||||||
case $$am__flg in \
|
|
||||||
*=*|--*) ;; \
|
|
||||||
*n*) am__dry=yes; break;; \
|
|
||||||
esac; \
|
|
||||||
done;; \
|
|
||||||
esac; \
|
esac; \
|
||||||
test $$am__dry = yes; \
|
fi; \
|
||||||
}
|
skip_next=no; \
|
||||||
|
strip_trailopt () \
|
||||||
|
{ \
|
||||||
|
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||||
|
}; \
|
||||||
|
for flg in $$sane_makeflags; do \
|
||||||
|
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||||
|
case $$flg in \
|
||||||
|
*=*|--*) continue;; \
|
||||||
|
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||||
|
-*I?*) strip_trailopt 'I';; \
|
||||||
|
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||||
|
-*O?*) strip_trailopt 'O';; \
|
||||||
|
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||||
|
-*l?*) strip_trailopt 'l';; \
|
||||||
|
-[dEDm]) skip_next=yes;; \
|
||||||
|
-[JT]) skip_next=yes;; \
|
||||||
|
esac; \
|
||||||
|
case $$flg in \
|
||||||
|
*$$target_option*) has_opt=yes; break;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
test $$has_opt = yes
|
||||||
|
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||||
|
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||||
pkgdatadir = $(datadir)/@PACKAGE@
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
pkgincludedir = $(includedir)/@PACKAGE@
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
pkglibdir = $(libdir)/@PACKAGE@
|
pkglibdir = $(libdir)/@PACKAGE@
|
||||||
@@ -65,35 +93,37 @@ target_triplet = @target@
|
|||||||
@IA64_TRUE@am__append_11 = src/ia64/ffi.c src/ia64/unix.S
|
@IA64_TRUE@am__append_11 = src/ia64/ffi.c src/ia64/unix.S
|
||||||
@M32R_TRUE@am__append_12 = src/m32r/sysv.S src/m32r/ffi.c
|
@M32R_TRUE@am__append_12 = src/m32r/sysv.S src/m32r/ffi.c
|
||||||
@M68K_TRUE@am__append_13 = src/m68k/ffi.c src/m68k/sysv.S
|
@M68K_TRUE@am__append_13 = src/m68k/ffi.c src/m68k/sysv.S
|
||||||
@MOXIE_TRUE@am__append_14 = src/moxie/ffi.c src/moxie/eabi.S
|
@M88K_TRUE@am__append_14 = src/m88k/ffi.c src/m88k/obsd.S
|
||||||
@MICROBLAZE_TRUE@am__append_15 = src/microblaze/ffi.c src/microblaze/sysv.S
|
@MOXIE_TRUE@am__append_15 = src/moxie/ffi.c src/moxie/eabi.S
|
||||||
@POWERPC_TRUE@am__append_16 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
|
@MICROBLAZE_TRUE@am__append_16 = src/microblaze/ffi.c src/microblaze/sysv.S
|
||||||
@POWERPC_AIX_TRUE@am__append_17 = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
|
@POWERPC_TRUE@am__append_17 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
|
||||||
@POWERPC_DARWIN_TRUE@am__append_18 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
|
@POWERPC_AIX_TRUE@am__append_18 = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
|
||||||
@POWERPC_FREEBSD_TRUE@am__append_19 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
|
@POWERPC_DARWIN_TRUE@am__append_19 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
|
||||||
@AARCH64_TRUE@am__append_20 = src/aarch64/sysv.S src/aarch64/ffi.c
|
@POWERPC_FREEBSD_TRUE@am__append_20 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
|
||||||
@ARC_TRUE@am__append_21 = src/arc/sysv.S src/arc/ffi.c
|
@AARCH64_TRUE@am__append_21 = src/aarch64/sysv.S src/aarch64/ffi.c
|
||||||
@ARM_TRUE@am__append_22 = src/arm/sysv.S src/arm/ffi.c
|
@ARC_TRUE@am__append_22 = src/arc/sysv.S src/arc/ffi.c
|
||||||
@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__append_23 = src/arm/trampoline.S
|
@ARM_TRUE@am__append_23 = src/arm/sysv.S src/arm/ffi.c
|
||||||
@AVR32_TRUE@am__append_24 = src/avr32/sysv.S src/avr32/ffi.c
|
@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__append_24 = src/arm/trampoline.S
|
||||||
@LIBFFI_CRIS_TRUE@am__append_25 = src/cris/sysv.S src/cris/ffi.c
|
@AVR32_TRUE@am__append_25 = src/avr32/sysv.S src/avr32/ffi.c
|
||||||
@FRV_TRUE@am__append_26 = src/frv/eabi.S src/frv/ffi.c
|
@LIBFFI_CRIS_TRUE@am__append_26 = src/cris/sysv.S src/cris/ffi.c
|
||||||
@S390_TRUE@am__append_27 = src/s390/sysv.S src/s390/ffi.c
|
@FRV_TRUE@am__append_27 = src/frv/eabi.S src/frv/ffi.c
|
||||||
@X86_64_TRUE@am__append_28 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
|
@S390_TRUE@am__append_28 = src/s390/sysv.S src/s390/ffi.c
|
||||||
@SH_TRUE@am__append_29 = src/sh/sysv.S src/sh/ffi.c
|
@X86_64_TRUE@am__append_29 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
|
||||||
@SH64_TRUE@am__append_30 = src/sh64/sysv.S src/sh64/ffi.c
|
@SH_TRUE@am__append_30 = src/sh/sysv.S src/sh/ffi.c
|
||||||
@PA_LINUX_TRUE@am__append_31 = src/pa/linux.S src/pa/ffi.c
|
@SH64_TRUE@am__append_31 = src/sh64/sysv.S src/sh64/ffi.c
|
||||||
@PA_HPUX_TRUE@am__append_32 = src/pa/hpux32.S src/pa/ffi.c
|
@PA_LINUX_TRUE@am__append_32 = src/pa/linux.S src/pa/ffi.c
|
||||||
@TILE_TRUE@am__append_33 = src/tile/tile.S src/tile/ffi.c
|
@PA_HPUX_TRUE@am__append_33 = src/pa/hpux32.S src/pa/ffi.c
|
||||||
@XTENSA_TRUE@am__append_34 = src/xtensa/sysv.S src/xtensa/ffi.c
|
@TILE_TRUE@am__append_34 = src/tile/tile.S src/tile/ffi.c
|
||||||
@METAG_TRUE@am__append_35 = src/metag/sysv.S src/metag/ffi.c
|
@XTENSA_TRUE@am__append_35 = src/xtensa/sysv.S src/xtensa/ffi.c
|
||||||
|
@METAG_TRUE@am__append_36 = src/metag/sysv.S src/metag/ffi.c
|
||||||
|
@VAX_TRUE@am__append_37 = src/vax/elfbsd.S src/vax/ffi.c
|
||||||
subdir = .
|
subdir = .
|
||||||
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
|
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
|
||||||
$(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
|
$(top_srcdir)/configure $(am__configure_deps) \
|
||||||
$(srcdir)/doc/version.texi $(srcdir)/fficonfig.h.in \
|
$(srcdir)/fficonfig.h.in $(srcdir)/libffi.pc.in depcomp \
|
||||||
$(srcdir)/libffi.pc.in $(top_srcdir)/configure ChangeLog \
|
mdate-sh $(srcdir)/doc/version.texi $(srcdir)/doc/stamp-vti \
|
||||||
compile config.guess config.sub depcomp install-sh ltmain.sh \
|
texinfo.tex ChangeLog README compile config.guess config.sub \
|
||||||
mdate-sh missing texinfo.tex
|
install-sh missing ltmain.sh
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
|
am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
|
||||||
$(top_srcdir)/m4/ax_append_flag.m4 \
|
$(top_srcdir)/m4/ax_append_flag.m4 \
|
||||||
@@ -167,39 +197,41 @@ am_libffi_la_OBJECTS = src/prep_cif.lo src/types.lo src/raw_api.lo \
|
|||||||
@IA64_TRUE@am__objects_11 = src/ia64/ffi.lo src/ia64/unix.lo
|
@IA64_TRUE@am__objects_11 = src/ia64/ffi.lo src/ia64/unix.lo
|
||||||
@M32R_TRUE@am__objects_12 = src/m32r/sysv.lo src/m32r/ffi.lo
|
@M32R_TRUE@am__objects_12 = src/m32r/sysv.lo src/m32r/ffi.lo
|
||||||
@M68K_TRUE@am__objects_13 = src/m68k/ffi.lo src/m68k/sysv.lo
|
@M68K_TRUE@am__objects_13 = src/m68k/ffi.lo src/m68k/sysv.lo
|
||||||
@MOXIE_TRUE@am__objects_14 = src/moxie/ffi.lo src/moxie/eabi.lo
|
@M88K_TRUE@am__objects_14 = src/m88k/ffi.lo src/m88k/obsd.lo
|
||||||
@MICROBLAZE_TRUE@am__objects_15 = src/microblaze/ffi.lo \
|
@MOXIE_TRUE@am__objects_15 = src/moxie/ffi.lo src/moxie/eabi.lo
|
||||||
|
@MICROBLAZE_TRUE@am__objects_16 = src/microblaze/ffi.lo \
|
||||||
@MICROBLAZE_TRUE@ src/microblaze/sysv.lo
|
@MICROBLAZE_TRUE@ src/microblaze/sysv.lo
|
||||||
@POWERPC_TRUE@am__objects_16 = src/powerpc/ffi.lo src/powerpc/sysv.lo \
|
@POWERPC_TRUE@am__objects_17 = src/powerpc/ffi.lo src/powerpc/sysv.lo \
|
||||||
@POWERPC_TRUE@ src/powerpc/ppc_closure.lo \
|
@POWERPC_TRUE@ src/powerpc/ppc_closure.lo \
|
||||||
@POWERPC_TRUE@ src/powerpc/linux64.lo \
|
@POWERPC_TRUE@ src/powerpc/linux64.lo \
|
||||||
@POWERPC_TRUE@ src/powerpc/linux64_closure.lo
|
@POWERPC_TRUE@ src/powerpc/linux64_closure.lo
|
||||||
@POWERPC_AIX_TRUE@am__objects_17 = src/powerpc/ffi_darwin.lo \
|
@POWERPC_AIX_TRUE@am__objects_18 = src/powerpc/ffi_darwin.lo \
|
||||||
@POWERPC_AIX_TRUE@ src/powerpc/aix.lo \
|
@POWERPC_AIX_TRUE@ src/powerpc/aix.lo \
|
||||||
@POWERPC_AIX_TRUE@ src/powerpc/aix_closure.lo
|
@POWERPC_AIX_TRUE@ src/powerpc/aix_closure.lo
|
||||||
@POWERPC_DARWIN_TRUE@am__objects_18 = src/powerpc/ffi_darwin.lo \
|
@POWERPC_DARWIN_TRUE@am__objects_19 = src/powerpc/ffi_darwin.lo \
|
||||||
@POWERPC_DARWIN_TRUE@ src/powerpc/darwin.lo \
|
@POWERPC_DARWIN_TRUE@ src/powerpc/darwin.lo \
|
||||||
@POWERPC_DARWIN_TRUE@ src/powerpc/darwin_closure.lo
|
@POWERPC_DARWIN_TRUE@ src/powerpc/darwin_closure.lo
|
||||||
@POWERPC_FREEBSD_TRUE@am__objects_19 = src/powerpc/ffi.lo \
|
@POWERPC_FREEBSD_TRUE@am__objects_20 = src/powerpc/ffi.lo \
|
||||||
@POWERPC_FREEBSD_TRUE@ src/powerpc/sysv.lo \
|
@POWERPC_FREEBSD_TRUE@ src/powerpc/sysv.lo \
|
||||||
@POWERPC_FREEBSD_TRUE@ src/powerpc/ppc_closure.lo
|
@POWERPC_FREEBSD_TRUE@ src/powerpc/ppc_closure.lo
|
||||||
@AARCH64_TRUE@am__objects_20 = src/aarch64/sysv.lo src/aarch64/ffi.lo
|
@AARCH64_TRUE@am__objects_21 = src/aarch64/sysv.lo src/aarch64/ffi.lo
|
||||||
@ARC_TRUE@am__objects_21 = src/arc/sysv.lo src/arc/ffi.lo
|
@ARC_TRUE@am__objects_22 = src/arc/sysv.lo src/arc/ffi.lo
|
||||||
@ARM_TRUE@am__objects_22 = src/arm/sysv.lo src/arm/ffi.lo
|
@ARM_TRUE@am__objects_23 = src/arm/sysv.lo src/arm/ffi.lo
|
||||||
@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__objects_23 = src/arm/trampoline.lo
|
@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__objects_24 = src/arm/trampoline.lo
|
||||||
@AVR32_TRUE@am__objects_24 = src/avr32/sysv.lo src/avr32/ffi.lo
|
@AVR32_TRUE@am__objects_25 = src/avr32/sysv.lo src/avr32/ffi.lo
|
||||||
@LIBFFI_CRIS_TRUE@am__objects_25 = src/cris/sysv.lo src/cris/ffi.lo
|
@LIBFFI_CRIS_TRUE@am__objects_26 = src/cris/sysv.lo src/cris/ffi.lo
|
||||||
@FRV_TRUE@am__objects_26 = src/frv/eabi.lo src/frv/ffi.lo
|
@FRV_TRUE@am__objects_27 = src/frv/eabi.lo src/frv/ffi.lo
|
||||||
@S390_TRUE@am__objects_27 = src/s390/sysv.lo src/s390/ffi.lo
|
@S390_TRUE@am__objects_28 = src/s390/sysv.lo src/s390/ffi.lo
|
||||||
@X86_64_TRUE@am__objects_28 = src/x86/ffi64.lo src/x86/unix64.lo \
|
@X86_64_TRUE@am__objects_29 = src/x86/ffi64.lo src/x86/unix64.lo \
|
||||||
@X86_64_TRUE@ src/x86/ffi.lo src/x86/sysv.lo
|
@X86_64_TRUE@ src/x86/ffi.lo src/x86/sysv.lo
|
||||||
@SH_TRUE@am__objects_29 = src/sh/sysv.lo src/sh/ffi.lo
|
@SH_TRUE@am__objects_30 = src/sh/sysv.lo src/sh/ffi.lo
|
||||||
@SH64_TRUE@am__objects_30 = src/sh64/sysv.lo src/sh64/ffi.lo
|
@SH64_TRUE@am__objects_31 = src/sh64/sysv.lo src/sh64/ffi.lo
|
||||||
@PA_LINUX_TRUE@am__objects_31 = src/pa/linux.lo src/pa/ffi.lo
|
@PA_LINUX_TRUE@am__objects_32 = src/pa/linux.lo src/pa/ffi.lo
|
||||||
@PA_HPUX_TRUE@am__objects_32 = src/pa/hpux32.lo src/pa/ffi.lo
|
@PA_HPUX_TRUE@am__objects_33 = src/pa/hpux32.lo src/pa/ffi.lo
|
||||||
@TILE_TRUE@am__objects_33 = src/tile/tile.lo src/tile/ffi.lo
|
@TILE_TRUE@am__objects_34 = src/tile/tile.lo src/tile/ffi.lo
|
||||||
@XTENSA_TRUE@am__objects_34 = src/xtensa/sysv.lo src/xtensa/ffi.lo
|
@XTENSA_TRUE@am__objects_35 = src/xtensa/sysv.lo src/xtensa/ffi.lo
|
||||||
@METAG_TRUE@am__objects_35 = src/metag/sysv.lo src/metag/ffi.lo
|
@METAG_TRUE@am__objects_36 = src/metag/sysv.lo src/metag/ffi.lo
|
||||||
|
@VAX_TRUE@am__objects_37 = src/vax/elfbsd.lo src/vax/ffi.lo
|
||||||
nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
|
nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
|
||||||
$(am__objects_3) $(am__objects_4) $(am__objects_5) \
|
$(am__objects_3) $(am__objects_4) $(am__objects_5) \
|
||||||
$(am__objects_6) $(am__objects_7) $(am__objects_8) \
|
$(am__objects_6) $(am__objects_7) $(am__objects_8) \
|
||||||
@@ -211,17 +243,22 @@ nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
|
|||||||
$(am__objects_24) $(am__objects_25) $(am__objects_26) \
|
$(am__objects_24) $(am__objects_25) $(am__objects_26) \
|
||||||
$(am__objects_27) $(am__objects_28) $(am__objects_29) \
|
$(am__objects_27) $(am__objects_28) $(am__objects_29) \
|
||||||
$(am__objects_30) $(am__objects_31) $(am__objects_32) \
|
$(am__objects_30) $(am__objects_31) $(am__objects_32) \
|
||||||
$(am__objects_33) $(am__objects_34) $(am__objects_35)
|
$(am__objects_33) $(am__objects_34) $(am__objects_35) \
|
||||||
|
$(am__objects_36) $(am__objects_37)
|
||||||
libffi_la_OBJECTS = $(am_libffi_la_OBJECTS) \
|
libffi_la_OBJECTS = $(am_libffi_la_OBJECTS) \
|
||||||
$(nodist_libffi_la_OBJECTS)
|
$(nodist_libffi_la_OBJECTS)
|
||||||
libffi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
|
AM_V_lt = $(am__v_lt_@AM_V@)
|
||||||
|
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
|
||||||
|
am__v_lt_0 = --silent
|
||||||
|
am__v_lt_1 =
|
||||||
|
libffi_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||||
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||||
$(libffi_la_LDFLAGS) $(LDFLAGS) -o $@
|
$(libffi_la_LDFLAGS) $(LDFLAGS) -o $@
|
||||||
libffi_convenience_la_LIBADD =
|
libffi_convenience_la_LIBADD =
|
||||||
am__objects_36 = src/prep_cif.lo src/types.lo src/raw_api.lo \
|
am__objects_38 = src/prep_cif.lo src/types.lo src/raw_api.lo \
|
||||||
src/java_raw_api.lo src/closures.lo
|
src/java_raw_api.lo src/closures.lo
|
||||||
am_libffi_convenience_la_OBJECTS = $(am__objects_36)
|
am_libffi_convenience_la_OBJECTS = $(am__objects_38)
|
||||||
am__objects_37 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
|
am__objects_39 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
|
||||||
$(am__objects_4) $(am__objects_5) $(am__objects_6) \
|
$(am__objects_4) $(am__objects_5) $(am__objects_6) \
|
||||||
$(am__objects_7) $(am__objects_8) $(am__objects_9) \
|
$(am__objects_7) $(am__objects_8) $(am__objects_9) \
|
||||||
$(am__objects_10) $(am__objects_11) $(am__objects_12) \
|
$(am__objects_10) $(am__objects_11) $(am__objects_12) \
|
||||||
@@ -232,32 +269,87 @@ am__objects_37 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
|
|||||||
$(am__objects_25) $(am__objects_26) $(am__objects_27) \
|
$(am__objects_25) $(am__objects_26) $(am__objects_27) \
|
||||||
$(am__objects_28) $(am__objects_29) $(am__objects_30) \
|
$(am__objects_28) $(am__objects_29) $(am__objects_30) \
|
||||||
$(am__objects_31) $(am__objects_32) $(am__objects_33) \
|
$(am__objects_31) $(am__objects_32) $(am__objects_33) \
|
||||||
$(am__objects_34) $(am__objects_35)
|
$(am__objects_34) $(am__objects_35) $(am__objects_36) \
|
||||||
nodist_libffi_convenience_la_OBJECTS = $(am__objects_37)
|
$(am__objects_37)
|
||||||
|
nodist_libffi_convenience_la_OBJECTS = $(am__objects_39)
|
||||||
libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
|
libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
|
||||||
$(nodist_libffi_convenience_la_OBJECTS)
|
$(nodist_libffi_convenience_la_OBJECTS)
|
||||||
|
AM_V_P = $(am__v_P_@AM_V@)
|
||||||
|
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||||
|
am__v_P_0 = false
|
||||||
|
am__v_P_1 = :
|
||||||
|
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||||
|
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||||
|
am__v_GEN_0 = @echo " GEN " $@;
|
||||||
|
am__v_GEN_1 =
|
||||||
|
AM_V_at = $(am__v_at_@AM_V@)
|
||||||
|
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||||
|
am__v_at_0 = @
|
||||||
|
am__v_at_1 =
|
||||||
DEFAULT_INCLUDES = -I.@am__isrc@
|
DEFAULT_INCLUDES = -I.@am__isrc@
|
||||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||||
am__depfiles_maybe = depfiles
|
am__depfiles_maybe = depfiles
|
||||||
am__mv = mv -f
|
am__mv = mv -f
|
||||||
CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
|
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
|
||||||
LTCPPASCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
LTCPPASCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
|
||||||
--mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
$(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) \
|
||||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
|
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||||
|
$(AM_CCASFLAGS) $(CCASFLAGS)
|
||||||
|
AM_V_CPPAS = $(am__v_CPPAS_@AM_V@)
|
||||||
|
am__v_CPPAS_ = $(am__v_CPPAS_@AM_DEFAULT_V@)
|
||||||
|
am__v_CPPAS_0 = @echo " CPPAS " $@;
|
||||||
|
am__v_CPPAS_1 =
|
||||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||||
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||||
--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
|
||||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||||
|
$(AM_CFLAGS) $(CFLAGS)
|
||||||
|
AM_V_CC = $(am__v_CC_@AM_V@)
|
||||||
|
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
|
||||||
|
am__v_CC_0 = @echo " CC " $@;
|
||||||
|
am__v_CC_1 =
|
||||||
CCLD = $(CC)
|
CCLD = $(CC)
|
||||||
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||||
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
|
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||||
$(LDFLAGS) -o $@
|
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||||
|
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
|
||||||
|
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
|
||||||
|
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||||
|
am__v_CCLD_1 =
|
||||||
SOURCES = $(libffi_la_SOURCES) $(nodist_libffi_la_SOURCES) \
|
SOURCES = $(libffi_la_SOURCES) $(nodist_libffi_la_SOURCES) \
|
||||||
$(libffi_convenience_la_SOURCES) \
|
$(libffi_convenience_la_SOURCES) \
|
||||||
$(nodist_libffi_convenience_la_SOURCES)
|
$(nodist_libffi_convenience_la_SOURCES)
|
||||||
DIST_SOURCES = $(libffi_la_SOURCES) $(libffi_convenience_la_SOURCES)
|
DIST_SOURCES = $(libffi_la_SOURCES) $(libffi_convenience_la_SOURCES)
|
||||||
|
AM_V_DVIPS = $(am__v_DVIPS_@AM_V@)
|
||||||
|
am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@)
|
||||||
|
am__v_DVIPS_0 = @echo " DVIPS " $@;
|
||||||
|
am__v_DVIPS_1 =
|
||||||
|
AM_V_MAKEINFO = $(am__v_MAKEINFO_@AM_V@)
|
||||||
|
am__v_MAKEINFO_ = $(am__v_MAKEINFO_@AM_DEFAULT_V@)
|
||||||
|
am__v_MAKEINFO_0 = @echo " MAKEINFO" $@;
|
||||||
|
am__v_MAKEINFO_1 =
|
||||||
|
AM_V_INFOHTML = $(am__v_INFOHTML_@AM_V@)
|
||||||
|
am__v_INFOHTML_ = $(am__v_INFOHTML_@AM_DEFAULT_V@)
|
||||||
|
am__v_INFOHTML_0 = @echo " INFOHTML" $@;
|
||||||
|
am__v_INFOHTML_1 =
|
||||||
|
AM_V_TEXI2DVI = $(am__v_TEXI2DVI_@AM_V@)
|
||||||
|
am__v_TEXI2DVI_ = $(am__v_TEXI2DVI_@AM_DEFAULT_V@)
|
||||||
|
am__v_TEXI2DVI_0 = @echo " TEXI2DVI" $@;
|
||||||
|
am__v_TEXI2DVI_1 =
|
||||||
|
AM_V_TEXI2PDF = $(am__v_TEXI2PDF_@AM_V@)
|
||||||
|
am__v_TEXI2PDF_ = $(am__v_TEXI2PDF_@AM_DEFAULT_V@)
|
||||||
|
am__v_TEXI2PDF_0 = @echo " TEXI2PDF" $@;
|
||||||
|
am__v_TEXI2PDF_1 =
|
||||||
|
AM_V_texinfo = $(am__v_texinfo_@AM_V@)
|
||||||
|
am__v_texinfo_ = $(am__v_texinfo_@AM_DEFAULT_V@)
|
||||||
|
am__v_texinfo_0 = -q
|
||||||
|
am__v_texinfo_1 =
|
||||||
|
AM_V_texidevnull = $(am__v_texidevnull_@AM_V@)
|
||||||
|
am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@)
|
||||||
|
am__v_texidevnull_0 = > /dev/null
|
||||||
|
am__v_texidevnull_1 =
|
||||||
INFO_DEPS = $(srcdir)/doc/libffi.info
|
INFO_DEPS = $(srcdir)/doc/libffi.info
|
||||||
am__TEXINFO_TEX_DIR = $(srcdir)
|
am__TEXINFO_TEX_DIR = $(srcdir)
|
||||||
DVIS = doc/libffi.dvi
|
DVIS = doc/libffi.dvi
|
||||||
@@ -270,13 +362,14 @@ TEXI2PDF = $(TEXI2DVI) --pdf --batch
|
|||||||
MAKEINFOHTML = $(MAKEINFO) --html
|
MAKEINFOHTML = $(MAKEINFO) --html
|
||||||
AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
|
AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
|
||||||
DVIPS = dvips
|
DVIPS = dvips
|
||||||
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
|
||||||
html-recursive info-recursive install-data-recursive \
|
ctags-recursive dvi-recursive html-recursive info-recursive \
|
||||||
install-dvi-recursive install-exec-recursive \
|
install-data-recursive install-dvi-recursive \
|
||||||
install-html-recursive install-info-recursive \
|
install-exec-recursive install-html-recursive \
|
||||||
install-pdf-recursive install-ps-recursive install-recursive \
|
install-info-recursive install-pdf-recursive \
|
||||||
installcheck-recursive installdirs-recursive pdf-recursive \
|
install-ps-recursive install-recursive installcheck-recursive \
|
||||||
ps-recursive uninstall-recursive
|
installdirs-recursive pdf-recursive ps-recursive \
|
||||||
|
tags-recursive uninstall-recursive
|
||||||
am__can_run_installinfo = \
|
am__can_run_installinfo = \
|
||||||
case $$AM_UPDATE_INFO_DIR in \
|
case $$AM_UPDATE_INFO_DIR in \
|
||||||
n|no|NO) false;; \
|
n|no|NO) false;; \
|
||||||
@@ -285,9 +378,30 @@ am__can_run_installinfo = \
|
|||||||
DATA = $(pkgconfig_DATA)
|
DATA = $(pkgconfig_DATA)
|
||||||
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||||
distclean-recursive maintainer-clean-recursive
|
distclean-recursive maintainer-clean-recursive
|
||||||
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
|
am__recursive_targets = \
|
||||||
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
|
$(RECURSIVE_TARGETS) \
|
||||||
|
$(RECURSIVE_CLEAN_TARGETS) \
|
||||||
|
$(am__extra_recursive_targets)
|
||||||
|
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
||||||
cscope distdir dist dist-all distcheck
|
cscope distdir dist dist-all distcheck
|
||||||
|
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
|
||||||
|
$(LISP)fficonfig.h.in
|
||||||
|
# Read a list of newline-separated strings from the standard input,
|
||||||
|
# and print each of them once, without duplicates. Input order is
|
||||||
|
# *not* preserved.
|
||||||
|
am__uniquify_input = $(AWK) '\
|
||||||
|
BEGIN { nonempty = 0; } \
|
||||||
|
{ items[$$0] = 1; nonempty = 1; } \
|
||||||
|
END { if (nonempty) { for (i in items) print i; }; } \
|
||||||
|
'
|
||||||
|
# Make sure the list of sources is unique. This is necessary because,
|
||||||
|
# e.g., the same source file might be shared among _SOURCES variables
|
||||||
|
# for different programs/libraries.
|
||||||
|
am__define_uniq_tagged_files = \
|
||||||
|
list='$(am__tagged_files)'; \
|
||||||
|
unique=`for i in $$list; do \
|
||||||
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
|
done | $(am__uniquify_input)`
|
||||||
ETAGS = etags
|
ETAGS = etags
|
||||||
CTAGS = ctags
|
CTAGS = ctags
|
||||||
CSCOPE = cscope
|
CSCOPE = cscope
|
||||||
@@ -337,6 +451,7 @@ distcleancheck_listfiles = find . -type f -print
|
|||||||
ACLOCAL = @ACLOCAL@
|
ACLOCAL = @ACLOCAL@
|
||||||
ALLOCA = @ALLOCA@
|
ALLOCA = @ALLOCA@
|
||||||
AMTAR = @AMTAR@
|
AMTAR = @AMTAR@
|
||||||
|
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||||
AM_LTLDFLAGS = @AM_LTLDFLAGS@
|
AM_LTLDFLAGS = @AM_LTLDFLAGS@
|
||||||
AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
|
AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
|
||||||
AR = @AR@
|
AR = @AR@
|
||||||
@@ -484,6 +599,7 @@ EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
|
|||||||
src/moxie/ffitarget.h src/moxie/eabi.S src/mips/ffitarget.h \
|
src/moxie/ffitarget.h src/moxie/eabi.S src/mips/ffitarget.h \
|
||||||
src/m32r/ffi.c src/m32r/sysv.S src/m32r/ffitarget.h \
|
src/m32r/ffi.c src/m32r/sysv.S src/m32r/ffitarget.h \
|
||||||
src/m68k/ffi.c src/m68k/sysv.S src/m68k/ffitarget.h \
|
src/m68k/ffi.c src/m68k/sysv.S src/m68k/ffitarget.h \
|
||||||
|
src/m88k/ffi.c src/m88k/obsd.S src/m88k/ffitarget.h \
|
||||||
src/microblaze/ffi.c src/microblaze/sysv.S \
|
src/microblaze/ffi.c src/microblaze/sysv.S \
|
||||||
src/microblaze/ffitarget.h src/powerpc/ffi.c \
|
src/microblaze/ffitarget.h src/powerpc/ffi.c \
|
||||||
src/powerpc/sysv.S src/powerpc/linux64.S \
|
src/powerpc/sysv.S src/powerpc/linux64.S \
|
||||||
@@ -503,6 +619,7 @@ EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
|
|||||||
src/bfin/ffitarget.h src/bfin/sysv.S src/frv/eabi.S \
|
src/bfin/ffitarget.h src/bfin/sysv.S src/frv/eabi.S \
|
||||||
src/frv/ffitarget.h src/dlmalloc.c src/tile/ffi.c \
|
src/frv/ffitarget.h src/dlmalloc.c src/tile/ffi.c \
|
||||||
src/tile/ffitarget.h src/tile/tile.S libtool-version \
|
src/tile/ffitarget.h src/tile/tile.S libtool-version \
|
||||||
|
src/vax/ffi.c src/vax/ffitarget.h src/vax/elfbsd.S \
|
||||||
src/xtensa/ffitarget.h src/xtensa/ffi.c src/xtensa/sysv.S \
|
src/xtensa/ffitarget.h src/xtensa/ffi.c src/xtensa/sysv.S \
|
||||||
ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
|
ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
|
||||||
m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 \
|
m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 \
|
||||||
@@ -574,7 +691,8 @@ nodist_libffi_la_SOURCES = $(am__append_1) $(am__append_2) \
|
|||||||
$(am__append_24) $(am__append_25) $(am__append_26) \
|
$(am__append_24) $(am__append_25) $(am__append_26) \
|
||||||
$(am__append_27) $(am__append_28) $(am__append_29) \
|
$(am__append_27) $(am__append_28) $(am__append_29) \
|
||||||
$(am__append_30) $(am__append_31) $(am__append_32) \
|
$(am__append_30) $(am__append_31) $(am__append_32) \
|
||||||
$(am__append_33) $(am__append_34) $(am__append_35)
|
$(am__append_33) $(am__append_34) $(am__append_35) \
|
||||||
|
$(am__append_36) $(am__append_37)
|
||||||
libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
|
libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
|
||||||
nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
|
nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
|
||||||
LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/libtool-ldflags $(LDFLAGS))
|
LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/libtool-ldflags $(LDFLAGS))
|
||||||
@@ -648,6 +766,7 @@ clean-noinstLTLIBRARIES:
|
|||||||
echo rm -f $${locs}; \
|
echo rm -f $${locs}; \
|
||||||
rm -f $${locs}; \
|
rm -f $${locs}; \
|
||||||
}
|
}
|
||||||
|
|
||||||
install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
|
install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
|
||||||
@$(NORMAL_INSTALL)
|
@$(NORMAL_INSTALL)
|
||||||
@list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \
|
@list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \
|
||||||
@@ -790,6 +909,16 @@ src/m68k/ffi.lo: src/m68k/$(am__dirstamp) \
|
|||||||
src/m68k/$(DEPDIR)/$(am__dirstamp)
|
src/m68k/$(DEPDIR)/$(am__dirstamp)
|
||||||
src/m68k/sysv.lo: src/m68k/$(am__dirstamp) \
|
src/m68k/sysv.lo: src/m68k/$(am__dirstamp) \
|
||||||
src/m68k/$(DEPDIR)/$(am__dirstamp)
|
src/m68k/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
src/m88k/$(am__dirstamp):
|
||||||
|
@$(MKDIR_P) src/m88k
|
||||||
|
@: > src/m88k/$(am__dirstamp)
|
||||||
|
src/m88k/$(DEPDIR)/$(am__dirstamp):
|
||||||
|
@$(MKDIR_P) src/m88k/$(DEPDIR)
|
||||||
|
@: > src/m88k/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
src/m88k/ffi.lo: src/m88k/$(am__dirstamp) \
|
||||||
|
src/m88k/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
src/m88k/obsd.lo: src/m88k/$(am__dirstamp) \
|
||||||
|
src/m88k/$(DEPDIR)/$(am__dirstamp)
|
||||||
src/moxie/$(am__dirstamp):
|
src/moxie/$(am__dirstamp):
|
||||||
@$(MKDIR_P) src/moxie
|
@$(MKDIR_P) src/moxie
|
||||||
@: > src/moxie/$(am__dirstamp)
|
@: > src/moxie/$(am__dirstamp)
|
||||||
@@ -970,10 +1099,22 @@ src/metag/sysv.lo: src/metag/$(am__dirstamp) \
|
|||||||
src/metag/$(DEPDIR)/$(am__dirstamp)
|
src/metag/$(DEPDIR)/$(am__dirstamp)
|
||||||
src/metag/ffi.lo: src/metag/$(am__dirstamp) \
|
src/metag/ffi.lo: src/metag/$(am__dirstamp) \
|
||||||
src/metag/$(DEPDIR)/$(am__dirstamp)
|
src/metag/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
src/vax/$(am__dirstamp):
|
||||||
|
@$(MKDIR_P) src/vax
|
||||||
|
@: > src/vax/$(am__dirstamp)
|
||||||
|
src/vax/$(DEPDIR)/$(am__dirstamp):
|
||||||
|
@$(MKDIR_P) src/vax/$(DEPDIR)
|
||||||
|
@: > src/vax/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
src/vax/elfbsd.lo: src/vax/$(am__dirstamp) \
|
||||||
|
src/vax/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
src/vax/ffi.lo: src/vax/$(am__dirstamp) \
|
||||||
|
src/vax/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
|
||||||
libffi.la: $(libffi_la_OBJECTS) $(libffi_la_DEPENDENCIES) $(EXTRA_libffi_la_DEPENDENCIES)
|
libffi.la: $(libffi_la_OBJECTS) $(libffi_la_DEPENDENCIES) $(EXTRA_libffi_la_DEPENDENCIES)
|
||||||
$(libffi_la_LINK) -rpath $(toolexeclibdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
|
$(AM_V_CCLD)$(libffi_la_LINK) -rpath $(toolexeclibdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
|
||||||
|
|
||||||
libffi_convenience.la: $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_DEPENDENCIES) $(EXTRA_libffi_convenience_la_DEPENDENCIES)
|
libffi_convenience.la: $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_DEPENDENCIES) $(EXTRA_libffi_convenience_la_DEPENDENCIES)
|
||||||
$(LINK) $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_LIBADD) $(LIBS)
|
$(AM_V_CCLD)$(LINK) $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_LIBADD) $(LIBS)
|
||||||
|
|
||||||
mostlyclean-compile:
|
mostlyclean-compile:
|
||||||
-rm -f *.$(OBJEXT)
|
-rm -f *.$(OBJEXT)
|
||||||
@@ -1001,6 +1142,8 @@ mostlyclean-compile:
|
|||||||
-rm -f src/m32r/*.lo
|
-rm -f src/m32r/*.lo
|
||||||
-rm -f src/m68k/*.$(OBJEXT)
|
-rm -f src/m68k/*.$(OBJEXT)
|
||||||
-rm -f src/m68k/*.lo
|
-rm -f src/m68k/*.lo
|
||||||
|
-rm -f src/m88k/*.$(OBJEXT)
|
||||||
|
-rm -f src/m88k/*.lo
|
||||||
-rm -f src/metag/*.$(OBJEXT)
|
-rm -f src/metag/*.$(OBJEXT)
|
||||||
-rm -f src/metag/*.lo
|
-rm -f src/metag/*.lo
|
||||||
-rm -f src/microblaze/*.$(OBJEXT)
|
-rm -f src/microblaze/*.$(OBJEXT)
|
||||||
@@ -1023,6 +1166,8 @@ mostlyclean-compile:
|
|||||||
-rm -f src/sparc/*.lo
|
-rm -f src/sparc/*.lo
|
||||||
-rm -f src/tile/*.$(OBJEXT)
|
-rm -f src/tile/*.$(OBJEXT)
|
||||||
-rm -f src/tile/*.lo
|
-rm -f src/tile/*.lo
|
||||||
|
-rm -f src/vax/*.$(OBJEXT)
|
||||||
|
-rm -f src/vax/*.lo
|
||||||
-rm -f src/x86/*.$(OBJEXT)
|
-rm -f src/x86/*.$(OBJEXT)
|
||||||
-rm -f src/x86/*.lo
|
-rm -f src/x86/*.lo
|
||||||
-rm -f src/xtensa/*.$(OBJEXT)
|
-rm -f src/xtensa/*.$(OBJEXT)
|
||||||
@@ -1060,6 +1205,8 @@ distclean-compile:
|
|||||||
@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/sysv.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/sysv.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/ffi.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/ffi.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/sysv.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/sysv.Plo@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@src/m88k/$(DEPDIR)/ffi.Plo@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@src/m88k/$(DEPDIR)/obsd.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@src/metag/$(DEPDIR)/ffi.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@src/metag/$(DEPDIR)/ffi.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@src/metag/$(DEPDIR)/sysv.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@src/metag/$(DEPDIR)/sysv.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@src/microblaze/$(DEPDIR)/ffi.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@src/microblaze/$(DEPDIR)/ffi.Plo@am__quote@
|
||||||
@@ -1093,6 +1240,8 @@ distclean-compile:
|
|||||||
@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v9.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v9.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@src/tile/$(DEPDIR)/ffi.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@src/tile/$(DEPDIR)/ffi.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@src/tile/$(DEPDIR)/tile.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@src/tile/$(DEPDIR)/tile.Plo@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@src/vax/$(DEPDIR)/elfbsd.Plo@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@src/vax/$(DEPDIR)/ffi.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin64.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin64.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi.Plo@am__quote@
|
||||||
@@ -1106,52 +1255,52 @@ distclean-compile:
|
|||||||
@AMDEP_TRUE@@am__include@ @am__quote@src/xtensa/$(DEPDIR)/sysv.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@src/xtensa/$(DEPDIR)/sysv.Plo@am__quote@
|
||||||
|
|
||||||
.S.o:
|
.S.o:
|
||||||
@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
||||||
@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
||||||
@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
|
@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
|
||||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ $<
|
@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ $<
|
||||||
|
|
||||||
.S.obj:
|
.S.obj:
|
||||||
@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
|
@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
|
||||||
@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
|
@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
|
||||||
@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
|
@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
|
||||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||||
|
|
||||||
.S.lo:
|
.S.lo:
|
||||||
@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
|
@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
|
||||||
@am__fastdepCCAS_TRUE@ $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
@am__fastdepCCAS_TRUE@ $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
||||||
@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
|
@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
|
||||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCCAS_FALSE@ $(LTCPPASCOMPILE) -c -o $@ $<
|
@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(LTCPPASCOMPILE) -c -o $@ $<
|
||||||
|
|
||||||
.c.o:
|
.c.o:
|
||||||
@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
||||||
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
||||||
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
|
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $<
|
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
|
||||||
|
|
||||||
.c.obj:
|
.c.obj:
|
||||||
@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
|
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
|
||||||
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
|
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
|
||||||
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
|
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||||
|
|
||||||
.c.lo:
|
.c.lo:
|
||||||
@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
|
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
|
||||||
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
||||||
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
|
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
|
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
|
||||||
|
|
||||||
mostlyclean-libtool:
|
mostlyclean-libtool:
|
||||||
-rm -f *.lo
|
-rm -f *.lo
|
||||||
@@ -1170,6 +1319,7 @@ clean-libtool:
|
|||||||
-rm -rf src/ia64/.libs src/ia64/_libs
|
-rm -rf src/ia64/.libs src/ia64/_libs
|
||||||
-rm -rf src/m32r/.libs src/m32r/_libs
|
-rm -rf src/m32r/.libs src/m32r/_libs
|
||||||
-rm -rf src/m68k/.libs src/m68k/_libs
|
-rm -rf src/m68k/.libs src/m68k/_libs
|
||||||
|
-rm -rf src/m88k/.libs src/m88k/_libs
|
||||||
-rm -rf src/metag/.libs src/metag/_libs
|
-rm -rf src/metag/.libs src/metag/_libs
|
||||||
-rm -rf src/microblaze/.libs src/microblaze/_libs
|
-rm -rf src/microblaze/.libs src/microblaze/_libs
|
||||||
-rm -rf src/mips/.libs src/mips/_libs
|
-rm -rf src/mips/.libs src/mips/_libs
|
||||||
@@ -1181,6 +1331,7 @@ clean-libtool:
|
|||||||
-rm -rf src/sh64/.libs src/sh64/_libs
|
-rm -rf src/sh64/.libs src/sh64/_libs
|
||||||
-rm -rf src/sparc/.libs src/sparc/_libs
|
-rm -rf src/sparc/.libs src/sparc/_libs
|
||||||
-rm -rf src/tile/.libs src/tile/_libs
|
-rm -rf src/tile/.libs src/tile/_libs
|
||||||
|
-rm -rf src/vax/.libs src/vax/_libs
|
||||||
-rm -rf src/x86/.libs src/x86/_libs
|
-rm -rf src/x86/.libs src/x86/_libs
|
||||||
-rm -rf src/xtensa/.libs src/xtensa/_libs
|
-rm -rf src/xtensa/.libs src/xtensa/_libs
|
||||||
|
|
||||||
@@ -1191,7 +1342,7 @@ doc/$(am__dirstamp):
|
|||||||
@: > doc/$(am__dirstamp)
|
@: > doc/$(am__dirstamp)
|
||||||
|
|
||||||
$(srcdir)/doc/libffi.info: doc/libffi.texi $(srcdir)/doc/version.texi
|
$(srcdir)/doc/libffi.info: doc/libffi.texi $(srcdir)/doc/version.texi
|
||||||
restore=: && backupdir="$(am__leading_dot)am$$$$" && \
|
$(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \
|
||||||
am__cwd=`pwd` && $(am__cd) $(srcdir) && \
|
am__cwd=`pwd` && $(am__cd) $(srcdir) && \
|
||||||
rm -rf $$backupdir && mkdir $$backupdir && \
|
rm -rf $$backupdir && mkdir $$backupdir && \
|
||||||
if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
|
if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
|
||||||
@@ -1213,18 +1364,20 @@ $(srcdir)/doc/libffi.info: doc/libffi.texi $(srcdir)/doc/version.texi
|
|||||||
rm -rf $$backupdir; exit $$rc
|
rm -rf $$backupdir; exit $$rc
|
||||||
|
|
||||||
doc/libffi.dvi: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
|
doc/libffi.dvi: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
|
||||||
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
$(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||||
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
|
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
|
||||||
$(TEXI2DVI) --clean -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
|
$(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \
|
||||||
|
`test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
|
||||||
|
|
||||||
doc/libffi.pdf: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
|
doc/libffi.pdf: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
|
||||||
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
$(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||||
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
|
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
|
||||||
$(TEXI2PDF) --clean -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
|
$(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \
|
||||||
|
`test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
|
||||||
|
|
||||||
doc/libffi.html: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
|
doc/libffi.html: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
|
||||||
rm -rf $(@:.html=.htp)
|
$(AM_V_MAKEINFO)rm -rf $(@:.html=.htp)
|
||||||
if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
|
$(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
|
||||||
-o $(@:.html=.htp) `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi; \
|
-o $(@:.html=.htp) `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi; \
|
||||||
then \
|
then \
|
||||||
rm -rf $@; \
|
rm -rf $@; \
|
||||||
@@ -1256,8 +1409,8 @@ mostlyclean-vti:
|
|||||||
maintainer-clean-vti:
|
maintainer-clean-vti:
|
||||||
@MAINTAINER_MODE_TRUE@ -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi
|
@MAINTAINER_MODE_TRUE@ -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi
|
||||||
.dvi.ps:
|
.dvi.ps:
|
||||||
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
$(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||||
$(DVIPS) -o $@ $<
|
$(DVIPS) $(AM_V_texinfo) -o $@ $<
|
||||||
|
|
||||||
uninstall-dvi-am:
|
uninstall-dvi-am:
|
||||||
@$(NORMAL_UNINSTALL)
|
@$(NORMAL_UNINSTALL)
|
||||||
@@ -1336,8 +1489,7 @@ dist-info: $(INFO_DEPS)
|
|||||||
done
|
done
|
||||||
|
|
||||||
mostlyclean-aminfo:
|
mostlyclean-aminfo:
|
||||||
-rm -rf libffi.aux libffi.cp libffi.cps libffi.fn libffi.ky libffi.log \
|
-rm -rf doc/libffi.t2d doc/libffi.t2p
|
||||||
libffi.pg libffi.tmp libffi.toc libffi.tp libffi.vr
|
|
||||||
|
|
||||||
clean-aminfo:
|
clean-aminfo:
|
||||||
-test -z "doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html" \
|
-test -z "doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html" \
|
||||||
@@ -1377,14 +1529,13 @@ uninstall-pkgconfigDATA:
|
|||||||
# (1) if the variable is set in 'config.status', edit 'config.status'
|
# (1) if the variable is set in 'config.status', edit 'config.status'
|
||||||
# (which will cause the Makefiles to be regenerated when you run 'make');
|
# (which will cause the Makefiles to be regenerated when you run 'make');
|
||||||
# (2) otherwise, pass the desired values on the 'make' command line.
|
# (2) otherwise, pass the desired values on the 'make' command line.
|
||||||
$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
|
$(am__recursive_targets):
|
||||||
@fail= failcom='exit 1'; \
|
@fail=; \
|
||||||
for f in x $$MAKEFLAGS; do \
|
if $(am__make_keepgoing); then \
|
||||||
case $$f in \
|
failcom='fail=yes'; \
|
||||||
*=* | --[!k]*);; \
|
else \
|
||||||
*k*) failcom='fail=yes';; \
|
failcom='exit 1'; \
|
||||||
esac; \
|
fi; \
|
||||||
done; \
|
|
||||||
dot_seen=no; \
|
dot_seen=no; \
|
||||||
target=`echo $@ | sed s/-recursive//`; \
|
target=`echo $@ | sed s/-recursive//`; \
|
||||||
case "$@" in \
|
case "$@" in \
|
||||||
@@ -1405,31 +1556,13 @@ $(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
|
|||||||
if test "$$dot_seen" = "no"; then \
|
if test "$$dot_seen" = "no"; then \
|
||||||
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||||
fi; test -z "$$fail"
|
fi; test -z "$$fail"
|
||||||
tags-recursive:
|
|
||||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
|
||||||
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
|
||||||
done
|
|
||||||
ctags-recursive:
|
|
||||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
|
||||||
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
|
|
||||||
done
|
|
||||||
cscopelist-recursive:
|
|
||||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
|
||||||
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
|
|
||||||
done
|
|
||||||
|
|
||||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
ID: $(am__tagged_files)
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||||
unique=`for i in $$list; do \
|
tags: tags-recursive
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
TAGS: tags
|
||||||
done | \
|
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
|
||||||
mkid -fID $$unique
|
|
||||||
tags: TAGS
|
|
||||||
|
|
||||||
TAGS: tags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
|
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||||
$(TAGS_FILES) $(LISP)
|
|
||||||
set x; \
|
set x; \
|
||||||
here=`pwd`; \
|
here=`pwd`; \
|
||||||
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
||||||
@@ -1445,12 +1578,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
|
|||||||
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
|
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
|
||||||
fi; \
|
fi; \
|
||||||
done; \
|
done; \
|
||||||
list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
|
$(am__define_uniq_tagged_files); \
|
||||||
unique=`for i in $$list; do \
|
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
|
||||||
done | \
|
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
|
||||||
shift; \
|
shift; \
|
||||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||||
test -n "$$unique" || unique=$$empty_fix; \
|
test -n "$$unique" || unique=$$empty_fix; \
|
||||||
@@ -1462,15 +1590,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
|
|||||||
$$unique; \
|
$$unique; \
|
||||||
fi; \
|
fi; \
|
||||||
fi
|
fi
|
||||||
ctags: CTAGS
|
ctags: ctags-recursive
|
||||||
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
|
|
||||||
$(TAGS_FILES) $(LISP)
|
CTAGS: ctags
|
||||||
list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
|
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||||
unique=`for i in $$list; do \
|
$(am__define_uniq_tagged_files); \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
|
||||||
done | \
|
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
|
||||||
test -z "$(CTAGS_ARGS)$$unique" \
|
test -z "$(CTAGS_ARGS)$$unique" \
|
||||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||||
$$unique
|
$$unique
|
||||||
@@ -1479,18 +1603,16 @@ GTAGS:
|
|||||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||||
&& $(am__cd) $(top_srcdir) \
|
&& $(am__cd) $(top_srcdir) \
|
||||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||||
|
|
||||||
cscope: cscope.files
|
cscope: cscope.files
|
||||||
test ! -s cscope.files \
|
test ! -s cscope.files \
|
||||||
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
|
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
|
||||||
|
|
||||||
clean-cscope:
|
clean-cscope:
|
||||||
-rm -f cscope.files
|
-rm -f cscope.files
|
||||||
|
cscope.files: clean-cscope cscopelist
|
||||||
|
cscopelist: cscopelist-recursive
|
||||||
|
|
||||||
cscope.files: clean-cscope cscopelist-recursive cscopelist
|
cscopelist-am: $(am__tagged_files)
|
||||||
|
list='$(am__tagged_files)'; \
|
||||||
cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
|
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP)'; \
|
|
||||||
case "$(srcdir)" in \
|
case "$(srcdir)" in \
|
||||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||||
@@ -1627,9 +1749,9 @@ distcheck: dist
|
|||||||
*.zip*) \
|
*.zip*) \
|
||||||
unzip $(distdir).zip ;;\
|
unzip $(distdir).zip ;;\
|
||||||
esac
|
esac
|
||||||
chmod -R a-w $(distdir); chmod u+w $(distdir)
|
chmod -R a-w $(distdir)
|
||||||
mkdir $(distdir)/_build
|
chmod u+w $(distdir)
|
||||||
mkdir $(distdir)/_inst
|
mkdir $(distdir)/_build $(distdir)/_inst
|
||||||
chmod a-w $(distdir)
|
chmod a-w $(distdir)
|
||||||
test -d $(distdir)/_build || exit 0; \
|
test -d $(distdir)/_build || exit 0; \
|
||||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||||
@@ -1750,6 +1872,8 @@ distclean-generic:
|
|||||||
-rm -f src/m32r/$(am__dirstamp)
|
-rm -f src/m32r/$(am__dirstamp)
|
||||||
-rm -f src/m68k/$(DEPDIR)/$(am__dirstamp)
|
-rm -f src/m68k/$(DEPDIR)/$(am__dirstamp)
|
||||||
-rm -f src/m68k/$(am__dirstamp)
|
-rm -f src/m68k/$(am__dirstamp)
|
||||||
|
-rm -f src/m88k/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
-rm -f src/m88k/$(am__dirstamp)
|
||||||
-rm -f src/metag/$(DEPDIR)/$(am__dirstamp)
|
-rm -f src/metag/$(DEPDIR)/$(am__dirstamp)
|
||||||
-rm -f src/metag/$(am__dirstamp)
|
-rm -f src/metag/$(am__dirstamp)
|
||||||
-rm -f src/microblaze/$(DEPDIR)/$(am__dirstamp)
|
-rm -f src/microblaze/$(DEPDIR)/$(am__dirstamp)
|
||||||
@@ -1772,6 +1896,8 @@ distclean-generic:
|
|||||||
-rm -f src/sparc/$(am__dirstamp)
|
-rm -f src/sparc/$(am__dirstamp)
|
||||||
-rm -f src/tile/$(DEPDIR)/$(am__dirstamp)
|
-rm -f src/tile/$(DEPDIR)/$(am__dirstamp)
|
||||||
-rm -f src/tile/$(am__dirstamp)
|
-rm -f src/tile/$(am__dirstamp)
|
||||||
|
-rm -f src/vax/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
-rm -f src/vax/$(am__dirstamp)
|
||||||
-rm -f src/x86/$(DEPDIR)/$(am__dirstamp)
|
-rm -f src/x86/$(DEPDIR)/$(am__dirstamp)
|
||||||
-rm -f src/x86/$(am__dirstamp)
|
-rm -f src/x86/$(am__dirstamp)
|
||||||
-rm -f src/xtensa/$(DEPDIR)/$(am__dirstamp)
|
-rm -f src/xtensa/$(DEPDIR)/$(am__dirstamp)
|
||||||
@@ -1788,7 +1914,7 @@ clean-am: clean-aminfo clean-generic clean-libtool \
|
|||||||
|
|
||||||
distclean: distclean-recursive
|
distclean: distclean-recursive
|
||||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||||
-rm -rf src/$(DEPDIR) src/aarch64/$(DEPDIR) src/alpha/$(DEPDIR) src/arc/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/bfin/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/metag/$(DEPDIR) src/microblaze/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/tile/$(DEPDIR) src/x86/$(DEPDIR) src/xtensa/$(DEPDIR)
|
-rm -rf src/$(DEPDIR) src/aarch64/$(DEPDIR) src/alpha/$(DEPDIR) src/arc/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/bfin/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/m88k/$(DEPDIR) src/metag/$(DEPDIR) src/microblaze/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/tile/$(DEPDIR) src/vax/$(DEPDIR) src/x86/$(DEPDIR) src/xtensa/$(DEPDIR)
|
||||||
-rm -f Makefile
|
-rm -f Makefile
|
||||||
distclean-am: clean-am distclean-compile distclean-generic \
|
distclean-am: clean-am distclean-compile distclean-generic \
|
||||||
distclean-hdr distclean-libtool distclean-tags
|
distclean-hdr distclean-libtool distclean-tags
|
||||||
@@ -1927,7 +2053,7 @@ installcheck-am:
|
|||||||
maintainer-clean: maintainer-clean-recursive
|
maintainer-clean: maintainer-clean-recursive
|
||||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||||
-rm -rf $(top_srcdir)/autom4te.cache
|
-rm -rf $(top_srcdir)/autom4te.cache
|
||||||
-rm -rf src/$(DEPDIR) src/aarch64/$(DEPDIR) src/alpha/$(DEPDIR) src/arc/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/bfin/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/metag/$(DEPDIR) src/microblaze/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/tile/$(DEPDIR) src/x86/$(DEPDIR) src/xtensa/$(DEPDIR)
|
-rm -rf src/$(DEPDIR) src/aarch64/$(DEPDIR) src/alpha/$(DEPDIR) src/arc/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/bfin/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/m88k/$(DEPDIR) src/metag/$(DEPDIR) src/microblaze/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/tile/$(DEPDIR) src/vax/$(DEPDIR) src/x86/$(DEPDIR) src/xtensa/$(DEPDIR)
|
||||||
-rm -f Makefile
|
-rm -f Makefile
|
||||||
maintainer-clean-am: distclean-am maintainer-clean-aminfo \
|
maintainer-clean-am: distclean-am maintainer-clean-aminfo \
|
||||||
maintainer-clean-generic maintainer-clean-vti
|
maintainer-clean-generic maintainer-clean-vti
|
||||||
@@ -1949,18 +2075,15 @@ uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
|
|||||||
uninstall-pdf-am uninstall-pkgconfigDATA uninstall-ps-am \
|
uninstall-pdf-am uninstall-pkgconfigDATA uninstall-ps-am \
|
||||||
uninstall-toolexeclibLTLIBRARIES
|
uninstall-toolexeclibLTLIBRARIES
|
||||||
|
|
||||||
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
|
.MAKE: $(am__recursive_targets) all install-am install-strip
|
||||||
cscopelist-recursive ctags-recursive install-am install-strip \
|
|
||||||
tags-recursive
|
|
||||||
|
|
||||||
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
|
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
|
||||||
all all-am am--refresh check check-am clean clean-aminfo \
|
am--refresh check check-am clean clean-aminfo clean-cscope \
|
||||||
clean-cscope clean-generic clean-libtool \
|
clean-generic clean-libtool clean-noinstLTLIBRARIES \
|
||||||
clean-noinstLTLIBRARIES clean-toolexeclibLTLIBRARIES cscope \
|
clean-toolexeclibLTLIBRARIES cscope cscopelist-am ctags \
|
||||||
cscopelist cscopelist-recursive ctags ctags-recursive dist \
|
ctags-am dist dist-all dist-bzip2 dist-gzip dist-info \
|
||||||
dist-all dist-bzip2 dist-gzip dist-info dist-lzip dist-shar \
|
dist-lzip dist-shar dist-tarZ dist-xz dist-zip distcheck \
|
||||||
dist-tarZ dist-xz dist-zip distcheck distclean \
|
distclean distclean-compile distclean-generic distclean-hdr \
|
||||||
distclean-compile distclean-generic distclean-hdr \
|
|
||||||
distclean-libtool distclean-tags distcleancheck distdir \
|
distclean-libtool distclean-tags distcleancheck distdir \
|
||||||
distuninstallcheck dvi dvi-am html html-am info info-am \
|
distuninstallcheck dvi dvi-am html html-am info info-am \
|
||||||
install install-am install-data install-data-am install-dvi \
|
install install-am install-data install-data-am install-dvi \
|
||||||
@@ -1973,7 +2096,7 @@ uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
|
|||||||
maintainer-clean-generic maintainer-clean-vti mostlyclean \
|
maintainer-clean-generic maintainer-clean-vti mostlyclean \
|
||||||
mostlyclean-aminfo mostlyclean-compile mostlyclean-generic \
|
mostlyclean-aminfo mostlyclean-compile mostlyclean-generic \
|
||||||
mostlyclean-libtool mostlyclean-vti pdf pdf-am ps ps-am tags \
|
mostlyclean-libtool mostlyclean-vti pdf pdf-am ps ps-am tags \
|
||||||
tags-recursive uninstall uninstall-am uninstall-dvi-am \
|
tags-am uninstall uninstall-am uninstall-dvi-am \
|
||||||
uninstall-html-am uninstall-info-am uninstall-pdf-am \
|
uninstall-html-am uninstall-info-am uninstall-pdf-am \
|
||||||
uninstall-pkgconfigDATA uninstall-ps-am \
|
uninstall-pkgconfigDATA uninstall-ps-am \
|
||||||
uninstall-toolexeclibLTLIBRARIES
|
uninstall-toolexeclibLTLIBRARIES
|
||||||
|
|||||||
334
aclocal.m4
vendored
334
aclocal.m4
vendored
@@ -1,6 +1,6 @@
|
|||||||
# generated automatically by aclocal 1.12.2 -*- Autoconf -*-
|
# generated automatically by aclocal 1.13.4 -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1996-2012 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@@ -11,6 +11,7 @@
|
|||||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
# PARTICULAR PURPOSE.
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
|
||||||
m4_ifndef([AC_AUTOCONF_VERSION],
|
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||||
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||||
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
|
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
|
||||||
@@ -837,24 +838,22 @@ AU_ALIAS([AC_LTDL_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE])
|
|||||||
dnl aclocal-1.4 backwards compatibility:
|
dnl aclocal-1.4 backwards compatibility:
|
||||||
dnl AC_DEFUN([AC_LTDL_DLSYM_USCORE], [])
|
dnl AC_DEFUN([AC_LTDL_DLSYM_USCORE], [])
|
||||||
|
|
||||||
# Copyright (C) 2002-2012 Free Software Foundation, Inc.
|
# Copyright (C) 2002-2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# serial 8
|
|
||||||
|
|
||||||
# AM_AUTOMAKE_VERSION(VERSION)
|
# AM_AUTOMAKE_VERSION(VERSION)
|
||||||
# ----------------------------
|
# ----------------------------
|
||||||
# Automake X.Y traces this macro to ensure aclocal.m4 has been
|
# Automake X.Y traces this macro to ensure aclocal.m4 has been
|
||||||
# generated from the m4 files accompanying Automake X.Y.
|
# generated from the m4 files accompanying Automake X.Y.
|
||||||
# (This private macro should not be called outside this file.)
|
# (This private macro should not be called outside this file.)
|
||||||
AC_DEFUN([AM_AUTOMAKE_VERSION],
|
AC_DEFUN([AM_AUTOMAKE_VERSION],
|
||||||
[am__api_version='1.12'
|
[am__api_version='1.13'
|
||||||
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
||||||
dnl require some minimum version. Point them to the right macro.
|
dnl require some minimum version. Point them to the right macro.
|
||||||
m4_if([$1], [1.12.2], [],
|
m4_if([$1], [1.13.4], [],
|
||||||
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
||||||
])
|
])
|
||||||
|
|
||||||
@@ -870,21 +869,19 @@ m4_define([_AM_AUTOCONF_VERSION], [])
|
|||||||
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
||||||
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
||||||
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
||||||
[AM_AUTOMAKE_VERSION([1.12.2])dnl
|
[AM_AUTOMAKE_VERSION([1.13.4])dnl
|
||||||
m4_ifndef([AC_AUTOCONF_VERSION],
|
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||||
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||||
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
||||||
|
|
||||||
# Figure out how to run the assembler. -*- Autoconf -*-
|
# Figure out how to run the assembler. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# serial 5
|
|
||||||
|
|
||||||
# AM_PROG_AS
|
# AM_PROG_AS
|
||||||
# ----------
|
# ----------
|
||||||
AC_DEFUN([AM_PROG_AS],
|
AC_DEFUN([AM_PROG_AS],
|
||||||
@@ -899,14 +896,12 @@ _AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl
|
|||||||
|
|
||||||
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# serial 2
|
|
||||||
|
|
||||||
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
|
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
|
||||||
# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
|
# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
|
||||||
# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
|
# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
|
||||||
@@ -954,14 +949,12 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
|
|||||||
|
|
||||||
# AM_CONDITIONAL -*- Autoconf -*-
|
# AM_CONDITIONAL -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1997-2012 Free Software Foundation, Inc.
|
# Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# serial 10
|
|
||||||
|
|
||||||
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
|
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
|
||||||
# -------------------------------------
|
# -------------------------------------
|
||||||
# Define a conditional.
|
# Define a conditional.
|
||||||
@@ -987,13 +980,12 @@ AC_CONFIG_COMMANDS_PRE(
|
|||||||
Usually this means the macro was only invoked conditionally.]])
|
Usually this means the macro was only invoked conditionally.]])
|
||||||
fi])])
|
fi])])
|
||||||
|
|
||||||
# Copyright (C) 1999-2012 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# serial 17
|
|
||||||
|
|
||||||
# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
|
# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
|
||||||
# written in clear, in which case automake, when reading aclocal.m4,
|
# written in clear, in which case automake, when reading aclocal.m4,
|
||||||
@@ -1179,19 +1171,18 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
|
|||||||
|
|
||||||
# Generate code to set up dependency tracking. -*- Autoconf -*-
|
# Generate code to set up dependency tracking. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1999-2012 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# serial 6
|
|
||||||
|
|
||||||
# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
||||||
# ------------------------------
|
# ------------------------------
|
||||||
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||||
[{
|
[{
|
||||||
# Autoconf 2.62 quotes --file arguments for eval, but not when files
|
# Older Autoconf quotes --file arguments for eval, but not when files
|
||||||
# are listed without --file. Let's play safe and only enable the eval
|
# are listed without --file. Let's play safe and only enable the eval
|
||||||
# if we detect the quoting.
|
# if we detect the quoting.
|
||||||
case $CONFIG_FILES in
|
case $CONFIG_FILES in
|
||||||
@@ -1220,7 +1211,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
|||||||
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
|
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
|
||||||
test -z "$DEPDIR" && continue
|
test -z "$DEPDIR" && continue
|
||||||
am__include=`sed -n 's/^am__include = //p' < "$mf"`
|
am__include=`sed -n 's/^am__include = //p' < "$mf"`
|
||||||
test -z "am__include" && continue
|
test -z "$am__include" && continue
|
||||||
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
|
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
|
||||||
# Find all dependency output files, they are included files with
|
# Find all dependency output files, they are included files with
|
||||||
# $(DEPDIR) in their names. We invoke sed twice because it is the
|
# $(DEPDIR) in their names. We invoke sed twice because it is the
|
||||||
@@ -1256,14 +1247,12 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
|||||||
|
|
||||||
# Do all the work for Automake. -*- Autoconf -*-
|
# Do all the work for Automake. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1996-2012 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# serial 19
|
|
||||||
|
|
||||||
# This macro actually does too much. Some checks are only needed if
|
# This macro actually does too much. Some checks are only needed if
|
||||||
# your package does certain things. But this isn't really a big deal.
|
# your package does certain things. But this isn't really a big deal.
|
||||||
|
|
||||||
@@ -1279,7 +1268,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
|||||||
# arguments mandatory, and then we can depend on a new Autoconf
|
# arguments mandatory, and then we can depend on a new Autoconf
|
||||||
# release and drop the old call support.
|
# release and drop the old call support.
|
||||||
AC_DEFUN([AM_INIT_AUTOMAKE],
|
AC_DEFUN([AM_INIT_AUTOMAKE],
|
||||||
[AC_PREREQ([2.62])dnl
|
[AC_PREREQ([2.65])dnl
|
||||||
dnl Autoconf wants to disallow AM_ names. We explicitly allow
|
dnl Autoconf wants to disallow AM_ names. We explicitly allow
|
||||||
dnl the ones we care about.
|
dnl the ones we care about.
|
||||||
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
|
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
|
||||||
@@ -1309,8 +1298,7 @@ AC_SUBST([CYGPATH_W])
|
|||||||
dnl Distinguish between old-style and new-style calls.
|
dnl Distinguish between old-style and new-style calls.
|
||||||
m4_ifval([$2],
|
m4_ifval([$2],
|
||||||
[AC_DIAGNOSE([obsolete],
|
[AC_DIAGNOSE([obsolete],
|
||||||
[$0: two- and three-arguments forms are deprecated. For more info, see:
|
[$0: two- and three-arguments forms are deprecated.])
|
||||||
http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_INIT_AUTOMAKE-invocation])
|
|
||||||
m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
|
m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
|
||||||
AC_SUBST([PACKAGE], [$1])dnl
|
AC_SUBST([PACKAGE], [$1])dnl
|
||||||
AC_SUBST([VERSION], [$2])],
|
AC_SUBST([VERSION], [$2])],
|
||||||
@@ -1364,18 +1352,15 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJC],
|
|||||||
[_AM_DEPENDENCIES([OBJC])],
|
[_AM_DEPENDENCIES([OBJC])],
|
||||||
[m4_define([AC_PROG_OBJC],
|
[m4_define([AC_PROG_OBJC],
|
||||||
m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
|
m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
|
||||||
dnl Support for Objective C++ was only introduced in Autoconf 2.65,
|
AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
|
||||||
dnl but we still cater to Autoconf 2.62.
|
|
||||||
m4_ifdef([AC_PROG_OBJCXX],
|
|
||||||
[AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
|
|
||||||
[_AM_DEPENDENCIES([OBJCXX])],
|
[_AM_DEPENDENCIES([OBJCXX])],
|
||||||
[m4_define([AC_PROG_OBJCXX],
|
[m4_define([AC_PROG_OBJCXX],
|
||||||
m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])])dnl
|
m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
|
||||||
])
|
])
|
||||||
_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
|
AC_REQUIRE([AM_SILENT_RULES])dnl
|
||||||
dnl The 'parallel-tests' driver may need to know about EXEEXT, so add the
|
dnl The testsuite driver may need to know about EXEEXT, so add the
|
||||||
dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
|
dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
|
||||||
dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
|
dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
|
||||||
AC_CONFIG_COMMANDS_PRE(dnl
|
AC_CONFIG_COMMANDS_PRE(dnl
|
||||||
[m4_provide_if([_AM_COMPILER_EXEEXT],
|
[m4_provide_if([_AM_COMPILER_EXEEXT],
|
||||||
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
|
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
|
||||||
@@ -1409,14 +1394,12 @@ for _am_header in $config_headers :; do
|
|||||||
done
|
done
|
||||||
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
|
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
|
||||||
|
|
||||||
# Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# serial 8
|
|
||||||
|
|
||||||
# AM_PROG_INSTALL_SH
|
# AM_PROG_INSTALL_SH
|
||||||
# ------------------
|
# ------------------
|
||||||
# Define $install_sh.
|
# Define $install_sh.
|
||||||
@@ -1432,14 +1415,12 @@ if test x"${install_sh}" != xset; then
|
|||||||
fi
|
fi
|
||||||
AC_SUBST([install_sh])])
|
AC_SUBST([install_sh])])
|
||||||
|
|
||||||
# Copyright (C) 2003-2012 Free Software Foundation, Inc.
|
# Copyright (C) 2003-2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# serial 2
|
|
||||||
|
|
||||||
# Check whether the underlying file-system supports filenames
|
# Check whether the underlying file-system supports filenames
|
||||||
# with a leading dot. For instance MS-DOS doesn't.
|
# with a leading dot. For instance MS-DOS doesn't.
|
||||||
AC_DEFUN([AM_SET_LEADING_DOT],
|
AC_DEFUN([AM_SET_LEADING_DOT],
|
||||||
@@ -1456,14 +1437,12 @@ AC_SUBST([am__leading_dot])])
|
|||||||
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
|
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
|
||||||
# From Jim Meyering
|
# From Jim Meyering
|
||||||
|
|
||||||
# Copyright (C) 1996-2012 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# serial 7
|
|
||||||
|
|
||||||
# AM_MAINTAINER_MODE([DEFAULT-MODE])
|
# AM_MAINTAINER_MODE([DEFAULT-MODE])
|
||||||
# ----------------------------------
|
# ----------------------------------
|
||||||
# Control maintainer-specific portions of Makefiles.
|
# Control maintainer-specific portions of Makefiles.
|
||||||
@@ -1491,18 +1470,14 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
|||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
|
|
||||||
|
|
||||||
# Check to see how 'make' treats includes. -*- Autoconf -*-
|
# Check to see how 'make' treats includes. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# serial 5
|
|
||||||
|
|
||||||
# AM_MAKE_INCLUDE()
|
# AM_MAKE_INCLUDE()
|
||||||
# -----------------
|
# -----------------
|
||||||
# Check to see how make treats includes.
|
# Check to see how make treats includes.
|
||||||
@@ -1545,14 +1520,12 @@ AC_MSG_RESULT([$_am_result])
|
|||||||
rm -f confinc confmf
|
rm -f confinc confmf
|
||||||
])
|
])
|
||||||
|
|
||||||
# Copyright (C) 1999-2012 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# serial 6
|
|
||||||
|
|
||||||
# AM_PROG_CC_C_O
|
# AM_PROG_CC_C_O
|
||||||
# --------------
|
# --------------
|
||||||
# Like AC_PROG_CC_C_O, but changed for automake.
|
# Like AC_PROG_CC_C_O, but changed for automake.
|
||||||
@@ -1581,14 +1554,12 @@ m4_define([AC_PROG_CC],
|
|||||||
|
|
||||||
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
|
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1997-2012 Free Software Foundation, Inc.
|
# Copyright (C) 1997-2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# serial 7
|
|
||||||
|
|
||||||
# AM_MISSING_PROG(NAME, PROGRAM)
|
# AM_MISSING_PROG(NAME, PROGRAM)
|
||||||
# ------------------------------
|
# ------------------------------
|
||||||
AC_DEFUN([AM_MISSING_PROG],
|
AC_DEFUN([AM_MISSING_PROG],
|
||||||
@@ -1596,11 +1567,10 @@ AC_DEFUN([AM_MISSING_PROG],
|
|||||||
$1=${$1-"${am_missing_run}$2"}
|
$1=${$1-"${am_missing_run}$2"}
|
||||||
AC_SUBST($1)])
|
AC_SUBST($1)])
|
||||||
|
|
||||||
|
|
||||||
# AM_MISSING_HAS_RUN
|
# AM_MISSING_HAS_RUN
|
||||||
# ------------------
|
# ------------------
|
||||||
# Define MISSING if not defined so far and test if it supports --run.
|
# Define MISSING if not defined so far and test if it is modern enough.
|
||||||
# If it does, set am_missing_run to use it, otherwise, to nothing.
|
# If it is, set am_missing_run to use it, otherwise, to nothing.
|
||||||
AC_DEFUN([AM_MISSING_HAS_RUN],
|
AC_DEFUN([AM_MISSING_HAS_RUN],
|
||||||
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
||||||
AC_REQUIRE_AUX_FILE([missing])dnl
|
AC_REQUIRE_AUX_FILE([missing])dnl
|
||||||
@@ -1613,8 +1583,8 @@ if test x"${MISSING+set}" != xset; then
|
|||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
# Use eval to expand $SHELL
|
# Use eval to expand $SHELL
|
||||||
if eval "$MISSING --run true"; then
|
if eval "$MISSING --is-lightweight"; then
|
||||||
am_missing_run="$MISSING --run "
|
am_missing_run="$MISSING "
|
||||||
else
|
else
|
||||||
am_missing_run=
|
am_missing_run=
|
||||||
AC_MSG_WARN(['missing' script is too old or missing])
|
AC_MSG_WARN(['missing' script is too old or missing])
|
||||||
@@ -1623,14 +1593,12 @@ fi
|
|||||||
|
|
||||||
# Helper functions for option handling. -*- Autoconf -*-
|
# Helper functions for option handling. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# serial 6
|
|
||||||
|
|
||||||
# _AM_MANGLE_OPTION(NAME)
|
# _AM_MANGLE_OPTION(NAME)
|
||||||
# -----------------------
|
# -----------------------
|
||||||
AC_DEFUN([_AM_MANGLE_OPTION],
|
AC_DEFUN([_AM_MANGLE_OPTION],
|
||||||
@@ -1656,14 +1624,12 @@ AC_DEFUN([_AM_IF_OPTION],
|
|||||||
|
|
||||||
# Check to make sure that the build environment is sane. -*- Autoconf -*-
|
# Check to make sure that the build environment is sane. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1996-2012 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# serial 9
|
|
||||||
|
|
||||||
# AM_SANITY_CHECK
|
# AM_SANITY_CHECK
|
||||||
# ---------------
|
# ---------------
|
||||||
AC_DEFUN([AM_SANITY_CHECK],
|
AC_DEFUN([AM_SANITY_CHECK],
|
||||||
@@ -1739,13 +1705,71 @@ AC_CONFIG_COMMANDS_PRE(
|
|||||||
rm -f conftest.file
|
rm -f conftest.file
|
||||||
])
|
])
|
||||||
|
|
||||||
# Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
# Copyright (C) 2009-2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# serial 2
|
# AM_SILENT_RULES([DEFAULT])
|
||||||
|
# --------------------------
|
||||||
|
# Enable less verbose build rules; with the default set to DEFAULT
|
||||||
|
# ("yes" being less verbose, "no" or empty being verbose).
|
||||||
|
AC_DEFUN([AM_SILENT_RULES],
|
||||||
|
[AC_ARG_ENABLE([silent-rules], [dnl
|
||||||
|
AS_HELP_STRING(
|
||||||
|
[--enable-silent-rules],
|
||||||
|
[less verbose build output (undo: "make V=1")])
|
||||||
|
AS_HELP_STRING(
|
||||||
|
[--disable-silent-rules],
|
||||||
|
[verbose build output (undo: "make V=0")])dnl
|
||||||
|
])
|
||||||
|
case $enable_silent_rules in @%:@ (((
|
||||||
|
yes) AM_DEFAULT_VERBOSITY=0;;
|
||||||
|
no) AM_DEFAULT_VERBOSITY=1;;
|
||||||
|
*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
|
||||||
|
esac
|
||||||
|
dnl
|
||||||
|
dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
|
||||||
|
dnl do not support nested variable expansions.
|
||||||
|
dnl See automake bug#9928 and bug#10237.
|
||||||
|
am_make=${MAKE-make}
|
||||||
|
AC_CACHE_CHECK([whether $am_make supports nested variables],
|
||||||
|
[am_cv_make_support_nested_variables],
|
||||||
|
[if AS_ECHO([['TRUE=$(BAR$(V))
|
||||||
|
BAR0=false
|
||||||
|
BAR1=true
|
||||||
|
V=1
|
||||||
|
am__doit:
|
||||||
|
@$(TRUE)
|
||||||
|
.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
|
||||||
|
am_cv_make_support_nested_variables=yes
|
||||||
|
else
|
||||||
|
am_cv_make_support_nested_variables=no
|
||||||
|
fi])
|
||||||
|
if test $am_cv_make_support_nested_variables = yes; then
|
||||||
|
dnl Using '$V' instead of '$(V)' breaks IRIX make.
|
||||||
|
AM_V='$(V)'
|
||||||
|
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
|
||||||
|
else
|
||||||
|
AM_V=$AM_DEFAULT_VERBOSITY
|
||||||
|
AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
|
||||||
|
fi
|
||||||
|
AC_SUBST([AM_V])dnl
|
||||||
|
AM_SUBST_NOTMAKE([AM_V])dnl
|
||||||
|
AC_SUBST([AM_DEFAULT_V])dnl
|
||||||
|
AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
|
||||||
|
AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
|
||||||
|
AM_BACKSLASH='\'
|
||||||
|
AC_SUBST([AM_BACKSLASH])dnl
|
||||||
|
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
|
||||||
|
])
|
||||||
|
|
||||||
|
# Copyright (C) 2001-2013 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# AM_PROG_INSTALL_STRIP
|
# AM_PROG_INSTALL_STRIP
|
||||||
# ---------------------
|
# ---------------------
|
||||||
@@ -1769,14 +1793,12 @@ fi
|
|||||||
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
||||||
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
||||||
|
|
||||||
# Copyright (C) 2006-2012 Free Software Foundation, Inc.
|
# Copyright (C) 2006-2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# serial 3
|
|
||||||
|
|
||||||
# _AM_SUBST_NOTMAKE(VARIABLE)
|
# _AM_SUBST_NOTMAKE(VARIABLE)
|
||||||
# ---------------------------
|
# ---------------------------
|
||||||
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
|
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
|
||||||
@@ -1790,14 +1812,12 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
|
|||||||
|
|
||||||
# Check how to create a tarball. -*- Autoconf -*-
|
# Check how to create a tarball. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2004-2012 Free Software Foundation, Inc.
|
# Copyright (C) 2004-2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# serial 3
|
|
||||||
|
|
||||||
# _AM_PROG_TAR(FORMAT)
|
# _AM_PROG_TAR(FORMAT)
|
||||||
# --------------------
|
# --------------------
|
||||||
# Check how to create a tarball in format FORMAT.
|
# Check how to create a tarball in format FORMAT.
|
||||||
@@ -1811,76 +1831,114 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
|
|||||||
# Substitute a variable $(am__untar) that extract such
|
# Substitute a variable $(am__untar) that extract such
|
||||||
# a tarball read from stdin.
|
# a tarball read from stdin.
|
||||||
# $(am__untar) < result.tar
|
# $(am__untar) < result.tar
|
||||||
|
#
|
||||||
AC_DEFUN([_AM_PROG_TAR],
|
AC_DEFUN([_AM_PROG_TAR],
|
||||||
[# Always define AMTAR for backward compatibility. Yes, it's still used
|
[# Always define AMTAR for backward compatibility. Yes, it's still used
|
||||||
# in the wild :-( We should find a proper way to deprecate it ...
|
# in the wild :-( We should find a proper way to deprecate it ...
|
||||||
AC_SUBST([AMTAR], ['$${TAR-tar}'])
|
AC_SUBST([AMTAR], ['$${TAR-tar}'])
|
||||||
m4_if([$1], [v7],
|
|
||||||
[am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
|
# We'll loop over all known methods to create a tar archive until one works.
|
||||||
[m4_case([$1], [ustar],, [pax],,
|
|
||||||
[m4_fatal([Unknown tar format])])
|
|
||||||
AC_MSG_CHECKING([how to create a $1 tar archive])
|
|
||||||
# Loop over all known methods to create a tar archive until one works.
|
|
||||||
_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
|
_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
|
||||||
_am_tools=${am_cv_prog_tar_$1-$_am_tools}
|
|
||||||
# Do not fold the above two line into one, because Tru64 sh and
|
|
||||||
# Solaris sh will not grok spaces in the rhs of '-'.
|
|
||||||
for _am_tool in $_am_tools
|
|
||||||
do
|
|
||||||
case $_am_tool in
|
|
||||||
gnutar)
|
|
||||||
for _am_tar in tar gnutar gtar;
|
|
||||||
do
|
|
||||||
AM_RUN_LOG([$_am_tar --version]) && break
|
|
||||||
done
|
|
||||||
am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
|
|
||||||
am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
|
|
||||||
am__untar="$_am_tar -xf -"
|
|
||||||
;;
|
|
||||||
plaintar)
|
|
||||||
# Must skip GNU tar: if it does not support --format= it doesn't create
|
|
||||||
# ustar tarball either.
|
|
||||||
(tar --version) >/dev/null 2>&1 && continue
|
|
||||||
am__tar='tar chf - "$$tardir"'
|
|
||||||
am__tar_='tar chf - "$tardir"'
|
|
||||||
am__untar='tar xf -'
|
|
||||||
;;
|
|
||||||
pax)
|
|
||||||
am__tar='pax -L -x $1 -w "$$tardir"'
|
|
||||||
am__tar_='pax -L -x $1 -w "$tardir"'
|
|
||||||
am__untar='pax -r'
|
|
||||||
;;
|
|
||||||
cpio)
|
|
||||||
am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
|
|
||||||
am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
|
|
||||||
am__untar='cpio -i -H $1 -d'
|
|
||||||
;;
|
|
||||||
none)
|
|
||||||
am__tar=false
|
|
||||||
am__tar_=false
|
|
||||||
am__untar=false
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# If the value was cached, stop now. We just wanted to have am__tar
|
m4_if([$1], [v7],
|
||||||
# and am__untar set.
|
[am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
|
||||||
test -n "${am_cv_prog_tar_$1}" && break
|
|
||||||
|
|
||||||
# tar/untar a dummy directory, and stop if the command works
|
[m4_case([$1],
|
||||||
|
[ustar],
|
||||||
|
[# The POSIX 1988 'ustar' format is defined with fixed-size fields.
|
||||||
|
# There is notably a 21 bits limit for the UID and the GID. In fact,
|
||||||
|
# the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
|
||||||
|
# and bug#13588).
|
||||||
|
am_max_uid=2097151 # 2^21 - 1
|
||||||
|
am_max_gid=$am_max_uid
|
||||||
|
# The $UID and $GID variables are not portable, so we need to resort
|
||||||
|
# to the POSIX-mandated id(1) utility. Errors in the 'id' calls
|
||||||
|
# below are definitely unexpected, so allow the users to see them
|
||||||
|
# (that is, avoid stderr redirection).
|
||||||
|
am_uid=`id -u || echo unknown`
|
||||||
|
am_gid=`id -g || echo unknown`
|
||||||
|
AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
|
||||||
|
if test $am_uid -le $am_max_uid; then
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
_am_tools=none
|
||||||
|
fi
|
||||||
|
AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
|
||||||
|
if test $am_gid -le $am_max_gid; then
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
_am_tools=none
|
||||||
|
fi],
|
||||||
|
|
||||||
|
[pax],
|
||||||
|
[],
|
||||||
|
|
||||||
|
[m4_fatal([Unknown tar format])])
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([how to create a $1 tar archive])
|
||||||
|
|
||||||
|
# Go ahead even if we have the value already cached. We do so because we
|
||||||
|
# need to set the values for the 'am__tar' and 'am__untar' variables.
|
||||||
|
_am_tools=${am_cv_prog_tar_$1-$_am_tools}
|
||||||
|
|
||||||
|
for _am_tool in $_am_tools; do
|
||||||
|
case $_am_tool in
|
||||||
|
gnutar)
|
||||||
|
for _am_tar in tar gnutar gtar; do
|
||||||
|
AM_RUN_LOG([$_am_tar --version]) && break
|
||||||
|
done
|
||||||
|
am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
|
||||||
|
am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
|
||||||
|
am__untar="$_am_tar -xf -"
|
||||||
|
;;
|
||||||
|
plaintar)
|
||||||
|
# Must skip GNU tar: if it does not support --format= it doesn't create
|
||||||
|
# ustar tarball either.
|
||||||
|
(tar --version) >/dev/null 2>&1 && continue
|
||||||
|
am__tar='tar chf - "$$tardir"'
|
||||||
|
am__tar_='tar chf - "$tardir"'
|
||||||
|
am__untar='tar xf -'
|
||||||
|
;;
|
||||||
|
pax)
|
||||||
|
am__tar='pax -L -x $1 -w "$$tardir"'
|
||||||
|
am__tar_='pax -L -x $1 -w "$tardir"'
|
||||||
|
am__untar='pax -r'
|
||||||
|
;;
|
||||||
|
cpio)
|
||||||
|
am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
|
||||||
|
am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
|
||||||
|
am__untar='cpio -i -H $1 -d'
|
||||||
|
;;
|
||||||
|
none)
|
||||||
|
am__tar=false
|
||||||
|
am__tar_=false
|
||||||
|
am__untar=false
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# If the value was cached, stop now. We just wanted to have am__tar
|
||||||
|
# and am__untar set.
|
||||||
|
test -n "${am_cv_prog_tar_$1}" && break
|
||||||
|
|
||||||
|
# tar/untar a dummy directory, and stop if the command works.
|
||||||
|
rm -rf conftest.dir
|
||||||
|
mkdir conftest.dir
|
||||||
|
echo GrepMe > conftest.dir/file
|
||||||
|
AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
|
||||||
|
rm -rf conftest.dir
|
||||||
|
if test -s conftest.tar; then
|
||||||
|
AM_RUN_LOG([$am__untar <conftest.tar])
|
||||||
|
AM_RUN_LOG([cat conftest.dir/file])
|
||||||
|
grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
|
||||||
|
fi
|
||||||
|
done
|
||||||
rm -rf conftest.dir
|
rm -rf conftest.dir
|
||||||
mkdir conftest.dir
|
|
||||||
echo GrepMe > conftest.dir/file
|
|
||||||
AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
|
|
||||||
rm -rf conftest.dir
|
|
||||||
if test -s conftest.tar; then
|
|
||||||
AM_RUN_LOG([$am__untar <conftest.tar])
|
|
||||||
grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
rm -rf conftest.dir
|
|
||||||
|
|
||||||
AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
|
AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
|
||||||
AC_MSG_RESULT([$am_cv_prog_tar_$1])])
|
AC_MSG_RESULT([$am_cv_prog_tar_$1])])
|
||||||
|
|
||||||
AC_SUBST([am__tar])
|
AC_SUBST([am__tar])
|
||||||
AC_SUBST([am__untar])
|
AC_SUBST([am__untar])
|
||||||
]) # _AM_PROG_TAR
|
]) # _AM_PROG_TAR
|
||||||
|
|||||||
232
compile
232
compile
@@ -1,10 +1,9 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Wrapper for compilers which do not understand `-c -o'.
|
# Wrapper for compilers which do not understand '-c -o'.
|
||||||
|
|
||||||
scriptversion=2009-10-06.20; # UTC
|
scriptversion=2012-10-14.11; # UTC
|
||||||
|
|
||||||
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software
|
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
||||||
# Foundation, Inc.
|
|
||||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
@@ -29,21 +28,224 @@ scriptversion=2009-10-06.20; # UTC
|
|||||||
# bugs to <bug-automake@gnu.org> or send patches to
|
# bugs to <bug-automake@gnu.org> or send patches to
|
||||||
# <automake-patches@gnu.org>.
|
# <automake-patches@gnu.org>.
|
||||||
|
|
||||||
|
nl='
|
||||||
|
'
|
||||||
|
|
||||||
|
# We need space, tab and new line, in precisely that order. Quoting is
|
||||||
|
# there to prevent tools from complaining about whitespace usage.
|
||||||
|
IFS=" "" $nl"
|
||||||
|
|
||||||
|
file_conv=
|
||||||
|
|
||||||
|
# func_file_conv build_file lazy
|
||||||
|
# Convert a $build file to $host form and store it in $file
|
||||||
|
# Currently only supports Windows hosts. If the determined conversion
|
||||||
|
# type is listed in (the comma separated) LAZY, no conversion will
|
||||||
|
# take place.
|
||||||
|
func_file_conv ()
|
||||||
|
{
|
||||||
|
file=$1
|
||||||
|
case $file in
|
||||||
|
/ | /[!/]*) # absolute file, and not a UNC file
|
||||||
|
if test -z "$file_conv"; then
|
||||||
|
# lazily determine how to convert abs files
|
||||||
|
case `uname -s` in
|
||||||
|
MINGW*)
|
||||||
|
file_conv=mingw
|
||||||
|
;;
|
||||||
|
CYGWIN*)
|
||||||
|
file_conv=cygwin
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
file_conv=wine
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
case $file_conv/,$2, in
|
||||||
|
*,$file_conv,*)
|
||||||
|
;;
|
||||||
|
mingw/*)
|
||||||
|
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
|
||||||
|
;;
|
||||||
|
cygwin/*)
|
||||||
|
file=`cygpath -m "$file" || echo "$file"`
|
||||||
|
;;
|
||||||
|
wine/*)
|
||||||
|
file=`winepath -w "$file" || echo "$file"`
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
# func_cl_dashL linkdir
|
||||||
|
# Make cl look for libraries in LINKDIR
|
||||||
|
func_cl_dashL ()
|
||||||
|
{
|
||||||
|
func_file_conv "$1"
|
||||||
|
if test -z "$lib_path"; then
|
||||||
|
lib_path=$file
|
||||||
|
else
|
||||||
|
lib_path="$lib_path;$file"
|
||||||
|
fi
|
||||||
|
linker_opts="$linker_opts -LIBPATH:$file"
|
||||||
|
}
|
||||||
|
|
||||||
|
# func_cl_dashl library
|
||||||
|
# Do a library search-path lookup for cl
|
||||||
|
func_cl_dashl ()
|
||||||
|
{
|
||||||
|
lib=$1
|
||||||
|
found=no
|
||||||
|
save_IFS=$IFS
|
||||||
|
IFS=';'
|
||||||
|
for dir in $lib_path $LIB
|
||||||
|
do
|
||||||
|
IFS=$save_IFS
|
||||||
|
if $shared && test -f "$dir/$lib.dll.lib"; then
|
||||||
|
found=yes
|
||||||
|
lib=$dir/$lib.dll.lib
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
if test -f "$dir/$lib.lib"; then
|
||||||
|
found=yes
|
||||||
|
lib=$dir/$lib.lib
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
if test -f "$dir/lib$lib.a"; then
|
||||||
|
found=yes
|
||||||
|
lib=$dir/lib$lib.a
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
IFS=$save_IFS
|
||||||
|
|
||||||
|
if test "$found" != yes; then
|
||||||
|
lib=$lib.lib
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# func_cl_wrapper cl arg...
|
||||||
|
# Adjust compile command to suit cl
|
||||||
|
func_cl_wrapper ()
|
||||||
|
{
|
||||||
|
# Assume a capable shell
|
||||||
|
lib_path=
|
||||||
|
shared=:
|
||||||
|
linker_opts=
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
if test -n "$eat"; then
|
||||||
|
eat=
|
||||||
|
else
|
||||||
|
case $1 in
|
||||||
|
-o)
|
||||||
|
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||||
|
eat=1
|
||||||
|
case $2 in
|
||||||
|
*.o | *.[oO][bB][jJ])
|
||||||
|
func_file_conv "$2"
|
||||||
|
set x "$@" -Fo"$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
func_file_conv "$2"
|
||||||
|
set x "$@" -Fe"$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
-I)
|
||||||
|
eat=1
|
||||||
|
func_file_conv "$2" mingw
|
||||||
|
set x "$@" -I"$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-I*)
|
||||||
|
func_file_conv "${1#-I}" mingw
|
||||||
|
set x "$@" -I"$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-l)
|
||||||
|
eat=1
|
||||||
|
func_cl_dashl "$2"
|
||||||
|
set x "$@" "$lib"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-l*)
|
||||||
|
func_cl_dashl "${1#-l}"
|
||||||
|
set x "$@" "$lib"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-L)
|
||||||
|
eat=1
|
||||||
|
func_cl_dashL "$2"
|
||||||
|
;;
|
||||||
|
-L*)
|
||||||
|
func_cl_dashL "${1#-L}"
|
||||||
|
;;
|
||||||
|
-static)
|
||||||
|
shared=false
|
||||||
|
;;
|
||||||
|
-Wl,*)
|
||||||
|
arg=${1#-Wl,}
|
||||||
|
save_ifs="$IFS"; IFS=','
|
||||||
|
for flag in $arg; do
|
||||||
|
IFS="$save_ifs"
|
||||||
|
linker_opts="$linker_opts $flag"
|
||||||
|
done
|
||||||
|
IFS="$save_ifs"
|
||||||
|
;;
|
||||||
|
-Xlinker)
|
||||||
|
eat=1
|
||||||
|
linker_opts="$linker_opts $2"
|
||||||
|
;;
|
||||||
|
-*)
|
||||||
|
set x "$@" "$1"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
|
||||||
|
func_file_conv "$1"
|
||||||
|
set x "$@" -Tp"$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
|
||||||
|
func_file_conv "$1" mingw
|
||||||
|
set x "$@" "$file"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set x "$@" "$1"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
if test -n "$linker_opts"; then
|
||||||
|
linker_opts="-link$linker_opts"
|
||||||
|
fi
|
||||||
|
exec "$@" $linker_opts
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
eat=
|
||||||
|
|
||||||
case $1 in
|
case $1 in
|
||||||
'')
|
'')
|
||||||
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
|
echo "$0: No command. Try '$0 --help' for more information." 1>&2
|
||||||
exit 1;
|
exit 1;
|
||||||
;;
|
;;
|
||||||
-h | --h*)
|
-h | --h*)
|
||||||
cat <<\EOF
|
cat <<\EOF
|
||||||
Usage: compile [--help] [--version] PROGRAM [ARGS]
|
Usage: compile [--help] [--version] PROGRAM [ARGS]
|
||||||
|
|
||||||
Wrapper for compilers which do not understand `-c -o'.
|
Wrapper for compilers which do not understand '-c -o'.
|
||||||
Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
|
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
|
||||||
arguments, and rename the output as expected.
|
arguments, and rename the output as expected.
|
||||||
|
|
||||||
If you are trying to build a whole package this is not the
|
If you are trying to build a whole package this is not the
|
||||||
right script to run: please start by reading the file `INSTALL'.
|
right script to run: please start by reading the file 'INSTALL'.
|
||||||
|
|
||||||
Report bugs to <bug-automake@gnu.org>.
|
Report bugs to <bug-automake@gnu.org>.
|
||||||
EOF
|
EOF
|
||||||
@@ -53,11 +255,13 @@ EOF
|
|||||||
echo "compile $scriptversion"
|
echo "compile $scriptversion"
|
||||||
exit $?
|
exit $?
|
||||||
;;
|
;;
|
||||||
|
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
|
||||||
|
func_cl_wrapper "$@" # Doesn't return...
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
ofile=
|
ofile=
|
||||||
cfile=
|
cfile=
|
||||||
eat=
|
|
||||||
|
|
||||||
for arg
|
for arg
|
||||||
do
|
do
|
||||||
@@ -66,8 +270,8 @@ do
|
|||||||
else
|
else
|
||||||
case $1 in
|
case $1 in
|
||||||
-o)
|
-o)
|
||||||
# configure might choose to run compile as `compile cc -o foo foo.c'.
|
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||||
# So we strip `-o arg' only if arg is an object.
|
# So we strip '-o arg' only if arg is an object.
|
||||||
eat=1
|
eat=1
|
||||||
case $2 in
|
case $2 in
|
||||||
*.o | *.obj)
|
*.o | *.obj)
|
||||||
@@ -94,10 +298,10 @@ do
|
|||||||
done
|
done
|
||||||
|
|
||||||
if test -z "$ofile" || test -z "$cfile"; then
|
if test -z "$ofile" || test -z "$cfile"; then
|
||||||
# If no `-o' option was seen then we might have been invoked from a
|
# If no '-o' option was seen then we might have been invoked from a
|
||||||
# pattern rule where we don't need one. That is ok -- this is a
|
# pattern rule where we don't need one. That is ok -- this is a
|
||||||
# normal compilation that the losing compiler can handle. If no
|
# normal compilation that the losing compiler can handle. If no
|
||||||
# `.c' file was seen then we are probably linking. That is also
|
# '.c' file was seen then we are probably linking. That is also
|
||||||
# ok.
|
# ok.
|
||||||
exec "$@"
|
exec "$@"
|
||||||
fi
|
fi
|
||||||
@@ -106,7 +310,7 @@ fi
|
|||||||
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
|
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
|
||||||
|
|
||||||
# Create the lock directory.
|
# Create the lock directory.
|
||||||
# Note: use `[/\\:.-]' here to ensure that we don't use the same name
|
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
|
||||||
# that we are using for the .o file. Also, base the name on the expected
|
# that we are using for the .o file. Also, base the name on the expected
|
||||||
# object file name, since that is what matters with a parallel build.
|
# object file name, since that is what matters with a parallel build.
|
||||||
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
|
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
|
||||||
|
|||||||
149
config.guess
vendored
149
config.guess
vendored
@@ -1,10 +1,8 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Attempt to guess a canonical system name.
|
# Attempt to guess a canonical system name.
|
||||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
# Copyright 1992-2013 Free Software Foundation, Inc.
|
||||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
|
||||||
# 2011, 2012, 2013 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
timestamp='2012-12-29'
|
timestamp='2013-06-10'
|
||||||
|
|
||||||
# This file is free software; you can redistribute it and/or modify it
|
# This file is free software; you can redistribute it and/or modify it
|
||||||
# under the terms of the GNU General Public License as published by
|
# under the terms of the GNU General Public License as published by
|
||||||
@@ -52,9 +50,7 @@ version="\
|
|||||||
GNU config.guess ($timestamp)
|
GNU config.guess ($timestamp)
|
||||||
|
|
||||||
Originally written by Per Bothner.
|
Originally written by Per Bothner.
|
||||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
Copyright 1992-2013 Free Software Foundation, Inc.
|
||||||
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
|
|
||||||
2012, 2013 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
This is free software; see the source for copying conditions. There is NO
|
This is free software; see the source for copying conditions. There is NO
|
||||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||||
@@ -136,6 +132,27 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
|
|||||||
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
|
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
|
||||||
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
|
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
|
||||||
|
|
||||||
|
case "${UNAME_SYSTEM}" in
|
||||||
|
Linux|GNU|GNU/*)
|
||||||
|
# If the system lacks a compiler, then just pick glibc.
|
||||||
|
# We could probably try harder.
|
||||||
|
LIBC=gnu
|
||||||
|
|
||||||
|
eval $set_cc_for_build
|
||||||
|
cat <<-EOF > $dummy.c
|
||||||
|
#include <features.h>
|
||||||
|
#if defined(__UCLIBC__)
|
||||||
|
LIBC=uclibc
|
||||||
|
#elif defined(__dietlibc__)
|
||||||
|
LIBC=dietlibc
|
||||||
|
#else
|
||||||
|
LIBC=gnu
|
||||||
|
#endif
|
||||||
|
EOF
|
||||||
|
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# Note: order is significant - the case branches are not exclusive.
|
# Note: order is significant - the case branches are not exclusive.
|
||||||
|
|
||||||
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||||
@@ -857,21 +874,21 @@ EOF
|
|||||||
exit ;;
|
exit ;;
|
||||||
*:GNU:*:*)
|
*:GNU:*:*)
|
||||||
# the GNU system
|
# the GNU system
|
||||||
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
|
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
|
||||||
exit ;;
|
exit ;;
|
||||||
*:GNU/*:*:*)
|
*:GNU/*:*:*)
|
||||||
# other systems with GNU libc and userland
|
# other systems with GNU libc and userland
|
||||||
echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
|
echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
i*86:Minix:*:*)
|
i*86:Minix:*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-minix
|
echo ${UNAME_MACHINE}-pc-minix
|
||||||
exit ;;
|
exit ;;
|
||||||
aarch64:Linux:*:*)
|
aarch64:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
aarch64_be:Linux:*:*)
|
aarch64_be:Linux:*:*)
|
||||||
UNAME_MACHINE=aarch64_be
|
UNAME_MACHINE=aarch64_be
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
alpha:Linux:*:*)
|
alpha:Linux:*:*)
|
||||||
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
|
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
|
||||||
@@ -884,59 +901,54 @@ EOF
|
|||||||
EV68*) UNAME_MACHINE=alphaev68 ;;
|
EV68*) UNAME_MACHINE=alphaev68 ;;
|
||||||
esac
|
esac
|
||||||
objdump --private-headers /bin/sh | grep -q ld.so.1
|
objdump --private-headers /bin/sh | grep -q ld.so.1
|
||||||
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
|
if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
|
exit ;;
|
||||||
|
arc:Linux:*:* | arceb:Linux:*:*)
|
||||||
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
arm*:Linux:*:*)
|
arm*:Linux:*:*)
|
||||||
eval $set_cc_for_build
|
eval $set_cc_for_build
|
||||||
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||||
| grep -q __ARM_EABI__
|
| grep -q __ARM_EABI__
|
||||||
then
|
then
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
else
|
else
|
||||||
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
|
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||||
| grep -q __ARM_PCS_VFP
|
| grep -q __ARM_PCS_VFP
|
||||||
then
|
then
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnueabi
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
|
||||||
else
|
else
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
exit ;;
|
exit ;;
|
||||||
avr32*:Linux:*:*)
|
avr32*:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
cris:Linux:*:*)
|
cris:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-axis-linux-gnu
|
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
crisv32:Linux:*:*)
|
crisv32:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-axis-linux-gnu
|
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
frv:Linux:*:*)
|
frv:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
hexagon:Linux:*:*)
|
hexagon:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
i*86:Linux:*:*)
|
i*86:Linux:*:*)
|
||||||
LIBC=gnu
|
echo ${UNAME_MACHINE}-pc-linux-${LIBC}
|
||||||
eval $set_cc_for_build
|
|
||||||
sed 's/^ //' << EOF >$dummy.c
|
|
||||||
#ifdef __dietlibc__
|
|
||||||
LIBC=dietlibc
|
|
||||||
#endif
|
|
||||||
EOF
|
|
||||||
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
|
|
||||||
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
|
|
||||||
exit ;;
|
exit ;;
|
||||||
ia64:Linux:*:*)
|
ia64:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
m32r*:Linux:*:*)
|
m32r*:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
m68*:Linux:*:*)
|
m68*:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
mips:Linux:*:* | mips64:Linux:*:*)
|
mips:Linux:*:* | mips64:Linux:*:*)
|
||||||
eval $set_cc_for_build
|
eval $set_cc_for_build
|
||||||
@@ -955,54 +967,63 @@ EOF
|
|||||||
#endif
|
#endif
|
||||||
EOF
|
EOF
|
||||||
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
|
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
|
||||||
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
|
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
|
||||||
;;
|
;;
|
||||||
|
or1k:Linux:*:*)
|
||||||
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
|
exit ;;
|
||||||
or32:Linux:*:*)
|
or32:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
padre:Linux:*:*)
|
padre:Linux:*:*)
|
||||||
echo sparc-unknown-linux-gnu
|
echo sparc-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
parisc64:Linux:*:* | hppa64:Linux:*:*)
|
parisc64:Linux:*:* | hppa64:Linux:*:*)
|
||||||
echo hppa64-unknown-linux-gnu
|
echo hppa64-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
parisc:Linux:*:* | hppa:Linux:*:*)
|
parisc:Linux:*:* | hppa:Linux:*:*)
|
||||||
# Look for CPU level
|
# Look for CPU level
|
||||||
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
|
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
|
||||||
PA7*) echo hppa1.1-unknown-linux-gnu ;;
|
PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
|
||||||
PA8*) echo hppa2.0-unknown-linux-gnu ;;
|
PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
|
||||||
*) echo hppa-unknown-linux-gnu ;;
|
*) echo hppa-unknown-linux-${LIBC} ;;
|
||||||
esac
|
esac
|
||||||
exit ;;
|
exit ;;
|
||||||
ppc64:Linux:*:*)
|
ppc64:Linux:*:*)
|
||||||
echo powerpc64-unknown-linux-gnu
|
echo powerpc64-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
ppc:Linux:*:*)
|
ppc:Linux:*:*)
|
||||||
echo powerpc-unknown-linux-gnu
|
echo powerpc-unknown-linux-${LIBC}
|
||||||
|
exit ;;
|
||||||
|
ppc64le:Linux:*:*)
|
||||||
|
echo powerpc64le-unknown-linux-${LIBC}
|
||||||
|
exit ;;
|
||||||
|
ppcle:Linux:*:*)
|
||||||
|
echo powerpcle-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
s390:Linux:*:* | s390x:Linux:*:*)
|
s390:Linux:*:* | s390x:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-ibm-linux
|
echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
sh64*:Linux:*:*)
|
sh64*:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
sh*:Linux:*:*)
|
sh*:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
sparc:Linux:*:* | sparc64:Linux:*:*)
|
sparc:Linux:*:* | sparc64:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
tile*:Linux:*:*)
|
tile*:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
vax:Linux:*:*)
|
vax:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-dec-linux-gnu
|
echo ${UNAME_MACHINE}-dec-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
x86_64:Linux:*:*)
|
x86_64:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
xtensa*:Linux:*:*)
|
xtensa*:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
i*86:DYNIX/ptx:4*:*)
|
i*86:DYNIX/ptx:4*:*)
|
||||||
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
|
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
|
||||||
@@ -1235,19 +1256,21 @@ EOF
|
|||||||
exit ;;
|
exit ;;
|
||||||
*:Darwin:*:*)
|
*:Darwin:*:*)
|
||||||
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
|
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
|
||||||
case $UNAME_PROCESSOR in
|
eval $set_cc_for_build
|
||||||
i386)
|
if test "$UNAME_PROCESSOR" = unknown ; then
|
||||||
eval $set_cc_for_build
|
UNAME_PROCESSOR=powerpc
|
||||||
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
|
fi
|
||||||
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
|
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
|
||||||
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
|
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
|
||||||
grep IS_64BIT_ARCH >/dev/null
|
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
|
||||||
then
|
grep IS_64BIT_ARCH >/dev/null
|
||||||
UNAME_PROCESSOR="x86_64"
|
then
|
||||||
fi
|
case $UNAME_PROCESSOR in
|
||||||
fi ;;
|
i386) UNAME_PROCESSOR=x86_64 ;;
|
||||||
unknown) UNAME_PROCESSOR=powerpc ;;
|
powerpc) UNAME_PROCESSOR=powerpc64 ;;
|
||||||
esac
|
esac
|
||||||
|
fi
|
||||||
|
fi
|
||||||
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
|
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
*:procnto*:*:* | *:QNX:[0123456789]*:*)
|
*:procnto*:*:* | *:QNX:[0123456789]*:*)
|
||||||
|
|||||||
32
config.sub
vendored
32
config.sub
vendored
@@ -1,10 +1,8 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Configuration validation subroutine script.
|
# Configuration validation subroutine script.
|
||||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
# Copyright 1992-2013 Free Software Foundation, Inc.
|
||||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
|
||||||
# 2011, 2012, 2013 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
timestamp='2012-12-29'
|
timestamp='2013-04-24'
|
||||||
|
|
||||||
# This file is free software; you can redistribute it and/or modify it
|
# This file is free software; you can redistribute it and/or modify it
|
||||||
# under the terms of the GNU General Public License as published by
|
# under the terms of the GNU General Public License as published by
|
||||||
@@ -70,9 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
|
|||||||
version="\
|
version="\
|
||||||
GNU config.sub ($timestamp)
|
GNU config.sub ($timestamp)
|
||||||
|
|
||||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
Copyright 1992-2013 Free Software Foundation, Inc.
|
||||||
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
|
|
||||||
2012, 2013 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
This is free software; see the source for copying conditions. There is NO
|
This is free software; see the source for copying conditions. There is NO
|
||||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||||
@@ -256,7 +252,7 @@ case $basic_machine in
|
|||||||
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
|
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
|
||||||
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
|
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
|
||||||
| am33_2.0 \
|
| am33_2.0 \
|
||||||
| arc \
|
| arc | arceb \
|
||||||
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
|
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
|
||||||
| avr | avr32 \
|
| avr | avr32 \
|
||||||
| be32 | be64 \
|
| be32 | be64 \
|
||||||
@@ -290,16 +286,17 @@ case $basic_machine in
|
|||||||
| mipsisa64r2 | mipsisa64r2el \
|
| mipsisa64r2 | mipsisa64r2el \
|
||||||
| mipsisa64sb1 | mipsisa64sb1el \
|
| mipsisa64sb1 | mipsisa64sb1el \
|
||||||
| mipsisa64sr71k | mipsisa64sr71kel \
|
| mipsisa64sr71k | mipsisa64sr71kel \
|
||||||
|
| mipsr5900 | mipsr5900el \
|
||||||
| mipstx39 | mipstx39el \
|
| mipstx39 | mipstx39el \
|
||||||
| mn10200 | mn10300 \
|
| mn10200 | mn10300 \
|
||||||
| moxie \
|
| moxie \
|
||||||
| mt \
|
| mt \
|
||||||
| msp430 \
|
| msp430 \
|
||||||
| nds32 | nds32le | nds32be \
|
| nds32 | nds32le | nds32be \
|
||||||
| nios | nios2 \
|
| nios | nios2 | nios2eb | nios2el \
|
||||||
| ns16k | ns32k \
|
| ns16k | ns32k \
|
||||||
| open8 \
|
| open8 \
|
||||||
| or32 \
|
| or1k | or32 \
|
||||||
| pdp10 | pdp11 | pj | pjl \
|
| pdp10 | pdp11 | pj | pjl \
|
||||||
| powerpc | powerpc64 | powerpc64le | powerpcle \
|
| powerpc | powerpc64 | powerpc64le | powerpcle \
|
||||||
| pyramid \
|
| pyramid \
|
||||||
@@ -369,7 +366,7 @@ case $basic_machine in
|
|||||||
| aarch64-* | aarch64_be-* \
|
| aarch64-* | aarch64_be-* \
|
||||||
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
|
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
|
||||||
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
|
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
|
||||||
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
|
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
|
||||||
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
||||||
| avr-* | avr32-* \
|
| avr-* | avr32-* \
|
||||||
| be32-* | be64-* \
|
| be32-* | be64-* \
|
||||||
@@ -407,12 +404,13 @@ case $basic_machine in
|
|||||||
| mipsisa64r2-* | mipsisa64r2el-* \
|
| mipsisa64r2-* | mipsisa64r2el-* \
|
||||||
| mipsisa64sb1-* | mipsisa64sb1el-* \
|
| mipsisa64sb1-* | mipsisa64sb1el-* \
|
||||||
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
|
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
|
||||||
|
| mipsr5900-* | mipsr5900el-* \
|
||||||
| mipstx39-* | mipstx39el-* \
|
| mipstx39-* | mipstx39el-* \
|
||||||
| mmix-* \
|
| mmix-* \
|
||||||
| mt-* \
|
| mt-* \
|
||||||
| msp430-* \
|
| msp430-* \
|
||||||
| nds32-* | nds32le-* | nds32be-* \
|
| nds32-* | nds32le-* | nds32be-* \
|
||||||
| nios-* | nios2-* \
|
| nios-* | nios2-* | nios2eb-* | nios2el-* \
|
||||||
| none-* | np1-* | ns16k-* | ns32k-* \
|
| none-* | np1-* | ns16k-* | ns32k-* \
|
||||||
| open8-* \
|
| open8-* \
|
||||||
| orion-* \
|
| orion-* \
|
||||||
@@ -1008,7 +1006,7 @@ case $basic_machine in
|
|||||||
;;
|
;;
|
||||||
ppc64) basic_machine=powerpc64-unknown
|
ppc64) basic_machine=powerpc64-unknown
|
||||||
;;
|
;;
|
||||||
ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
|
ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
ppc64le | powerpc64little | ppc64-le | powerpc64-little)
|
ppc64le | powerpc64little | ppc64-le | powerpc64-little)
|
||||||
basic_machine=powerpc64le-unknown
|
basic_machine=powerpc64le-unknown
|
||||||
@@ -1354,7 +1352,7 @@ case $os in
|
|||||||
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
|
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
|
||||||
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
|
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
|
||||||
| -sym* | -kopensolaris* \
|
| -sym* | -kopensolaris* | -plan9* \
|
||||||
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
||||||
| -aos* | -aros* \
|
| -aos* | -aros* \
|
||||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||||
@@ -1500,9 +1498,6 @@ case $os in
|
|||||||
-aros*)
|
-aros*)
|
||||||
os=-aros
|
os=-aros
|
||||||
;;
|
;;
|
||||||
-kaos*)
|
|
||||||
os=-kaos
|
|
||||||
;;
|
|
||||||
-zvmoe)
|
-zvmoe)
|
||||||
os=-zvmoe
|
os=-zvmoe
|
||||||
;;
|
;;
|
||||||
@@ -1594,6 +1589,9 @@ case $basic_machine in
|
|||||||
mips*-*)
|
mips*-*)
|
||||||
os=-elf
|
os=-elf
|
||||||
;;
|
;;
|
||||||
|
or1k-*)
|
||||||
|
os=-elf
|
||||||
|
;;
|
||||||
or32-*)
|
or32-*)
|
||||||
os=-coff
|
os=-coff
|
||||||
;;
|
;;
|
||||||
|
|||||||
117
configure
vendored
117
configure
vendored
@@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.69 for libffi 3.0.13.
|
# Generated by GNU Autoconf 2.69 for libffi 3.0.14-rc0.
|
||||||
#
|
#
|
||||||
# Report bugs to <http://github.com/atgreen/libffi/issues>.
|
# Report bugs to <http://github.com/atgreen/libffi/issues>.
|
||||||
#
|
#
|
||||||
@@ -590,8 +590,8 @@ MAKEFLAGS=
|
|||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='libffi'
|
PACKAGE_NAME='libffi'
|
||||||
PACKAGE_TARNAME='libffi'
|
PACKAGE_TARNAME='libffi'
|
||||||
PACKAGE_VERSION='3.0.13'
|
PACKAGE_VERSION='3.0.14-rc0'
|
||||||
PACKAGE_STRING='libffi 3.0.13'
|
PACKAGE_STRING='libffi 3.0.14-rc0'
|
||||||
PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
|
PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
|
||||||
PACKAGE_URL=''
|
PACKAGE_URL=''
|
||||||
|
|
||||||
@@ -649,6 +649,8 @@ HAVE_LONG_DOUBLE
|
|||||||
ALLOCA
|
ALLOCA
|
||||||
XTENSA_FALSE
|
XTENSA_FALSE
|
||||||
XTENSA_TRUE
|
XTENSA_TRUE
|
||||||
|
VAX_FALSE
|
||||||
|
VAX_TRUE
|
||||||
TILE_FALSE
|
TILE_FALSE
|
||||||
TILE_TRUE
|
TILE_TRUE
|
||||||
PA64_HPUX_FALSE
|
PA64_HPUX_FALSE
|
||||||
@@ -691,6 +693,8 @@ METAG_FALSE
|
|||||||
METAG_TRUE
|
METAG_TRUE
|
||||||
MICROBLAZE_FALSE
|
MICROBLAZE_FALSE
|
||||||
MICROBLAZE_TRUE
|
MICROBLAZE_TRUE
|
||||||
|
M88K_FALSE
|
||||||
|
M88K_TRUE
|
||||||
M68K_FALSE
|
M68K_FALSE
|
||||||
M68K_TRUE
|
M68K_TRUE
|
||||||
M32R_FALSE
|
M32R_FALSE
|
||||||
@@ -767,6 +771,10 @@ CPPFLAGS
|
|||||||
LDFLAGS
|
LDFLAGS
|
||||||
CFLAGS
|
CFLAGS
|
||||||
CC
|
CC
|
||||||
|
AM_BACKSLASH
|
||||||
|
AM_DEFAULT_VERBOSITY
|
||||||
|
AM_DEFAULT_V
|
||||||
|
AM_V
|
||||||
am__untar
|
am__untar
|
||||||
am__tar
|
am__tar
|
||||||
AMTAR
|
AMTAR
|
||||||
@@ -845,6 +853,7 @@ ac_subst_files=''
|
|||||||
ac_user_opts='
|
ac_user_opts='
|
||||||
enable_option_checking
|
enable_option_checking
|
||||||
enable_builddir
|
enable_builddir
|
||||||
|
enable_silent_rules
|
||||||
enable_dependency_tracking
|
enable_dependency_tracking
|
||||||
enable_shared
|
enable_shared
|
||||||
enable_static
|
enable_static
|
||||||
@@ -1409,7 +1418,7 @@ if test "$ac_init_help" = "long"; then
|
|||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# Omit some internal or obsolete options to make the list less imposing.
|
||||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
\`configure' configures libffi 3.0.13 to adapt to many kinds of systems.
|
\`configure' configures libffi 3.0.14-rc0 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
@@ -1480,7 +1489,7 @@ fi
|
|||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of libffi 3.0.13:";;
|
short | recursive ) echo "Configuration of libffi 3.0.14-rc0:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
@@ -1490,6 +1499,8 @@ Optional Features:
|
|||||||
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
|
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
|
||||||
--disable-builddir disable automatic build in subdir of sources
|
--disable-builddir disable automatic build in subdir of sources
|
||||||
|
|
||||||
|
--enable-silent-rules less verbose build output (undo: "make V=1")
|
||||||
|
--disable-silent-rules verbose build output (undo: "make V=0")
|
||||||
--enable-dependency-tracking
|
--enable-dependency-tracking
|
||||||
do not reject slow dependency extractors
|
do not reject slow dependency extractors
|
||||||
--disable-dependency-tracking
|
--disable-dependency-tracking
|
||||||
@@ -1600,7 +1611,7 @@ fi
|
|||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
libffi configure 3.0.13
|
libffi configure 3.0.14-rc0
|
||||||
generated by GNU Autoconf 2.69
|
generated by GNU Autoconf 2.69
|
||||||
|
|
||||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||||
@@ -2206,7 +2217,7 @@ cat >config.log <<_ACEOF
|
|||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by libffi $as_me 3.0.13, which was
|
It was created by libffi $as_me 3.0.14-rc0, which was
|
||||||
generated by GNU Autoconf 2.69. Invocation command line was
|
generated by GNU Autoconf 2.69. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
@@ -2805,7 +2816,7 @@ ax_enable_builddir_auxdir="$am_aux_dir"
|
|||||||
ac_config_commands="$ac_config_commands buildir"
|
ac_config_commands="$ac_config_commands buildir"
|
||||||
|
|
||||||
|
|
||||||
am__api_version='1.12'
|
am__api_version='1.13'
|
||||||
|
|
||||||
# Find a good install program. We prefer a C program (faster),
|
# Find a good install program. We prefer a C program (faster),
|
||||||
# so one script is as good as another. But avoid the broken or
|
# so one script is as good as another. But avoid the broken or
|
||||||
@@ -2986,8 +2997,8 @@ if test x"${MISSING+set}" != xset; then
|
|||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
# Use eval to expand $SHELL
|
# Use eval to expand $SHELL
|
||||||
if eval "$MISSING --run true"; then
|
if eval "$MISSING --is-lightweight"; then
|
||||||
am_missing_run="$MISSING --run "
|
am_missing_run="$MISSING "
|
||||||
else
|
else
|
||||||
am_missing_run=
|
am_missing_run=
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
|
||||||
@@ -3227,6 +3238,45 @@ else
|
|||||||
fi
|
fi
|
||||||
rmdir .tst 2>/dev/null
|
rmdir .tst 2>/dev/null
|
||||||
|
|
||||||
|
# Check whether --enable-silent-rules was given.
|
||||||
|
if test "${enable_silent_rules+set}" = set; then :
|
||||||
|
enableval=$enable_silent_rules;
|
||||||
|
fi
|
||||||
|
|
||||||
|
case $enable_silent_rules in # (((
|
||||||
|
yes) AM_DEFAULT_VERBOSITY=0;;
|
||||||
|
no) AM_DEFAULT_VERBOSITY=1;;
|
||||||
|
*) AM_DEFAULT_VERBOSITY=1;;
|
||||||
|
esac
|
||||||
|
am_make=${MAKE-make}
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
|
||||||
|
$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
|
||||||
|
if ${am_cv_make_support_nested_variables+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
if $as_echo 'TRUE=$(BAR$(V))
|
||||||
|
BAR0=false
|
||||||
|
BAR1=true
|
||||||
|
V=1
|
||||||
|
am__doit:
|
||||||
|
@$(TRUE)
|
||||||
|
.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
|
||||||
|
am_cv_make_support_nested_variables=yes
|
||||||
|
else
|
||||||
|
am_cv_make_support_nested_variables=no
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
|
||||||
|
$as_echo "$am_cv_make_support_nested_variables" >&6; }
|
||||||
|
if test $am_cv_make_support_nested_variables = yes; then
|
||||||
|
AM_V='$(V)'
|
||||||
|
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
|
||||||
|
else
|
||||||
|
AM_V=$AM_DEFAULT_VERBOSITY
|
||||||
|
AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
|
||||||
|
fi
|
||||||
|
AM_BACKSLASH='\'
|
||||||
|
|
||||||
if test "`cd $srcdir && pwd`" != "`pwd`"; then
|
if test "`cd $srcdir && pwd`" != "`pwd`"; then
|
||||||
# Use -I$(srcdir) only when $(srcdir) != ., so that make's output
|
# Use -I$(srcdir) only when $(srcdir) != ., so that make's output
|
||||||
# is not polluted with repeated "-I."
|
# is not polluted with repeated "-I."
|
||||||
@@ -3249,7 +3299,7 @@ fi
|
|||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='libffi'
|
PACKAGE='libffi'
|
||||||
VERSION='3.0.13'
|
VERSION='3.0.14-rc0'
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
@@ -3289,6 +3339,10 @@ mkdir_p='$(MKDIR_P)'
|
|||||||
# in the wild :-( We should find a proper way to deprecate it ...
|
# in the wild :-( We should find a proper way to deprecate it ...
|
||||||
AMTAR='$${TAR-tar}'
|
AMTAR='$${TAR-tar}'
|
||||||
|
|
||||||
|
|
||||||
|
# We'll loop over all known methods to create a tar archive until one works.
|
||||||
|
_am_tools='gnutar pax cpio none'
|
||||||
|
|
||||||
am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
|
am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
|
||||||
|
|
||||||
|
|
||||||
@@ -3296,6 +3350,7 @@ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# The same as in boehm-gc and libstdc++. Have to borrow it from there.
|
# The same as in boehm-gc and libstdc++. Have to borrow it from there.
|
||||||
# We must force CC to /not/ be precious variables; otherwise
|
# We must force CC to /not/ be precious variables; otherwise
|
||||||
# the wrong, non-multilib-adjusted value will be used in multilibs.
|
# the wrong, non-multilib-adjusted value will be used in multilibs.
|
||||||
@@ -13419,6 +13474,10 @@ case "$host" in
|
|||||||
TARGET=M68K; TARGETDIR=m68k
|
TARGET=M68K; TARGETDIR=m68k
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
m88k-*-*)
|
||||||
|
TARGET=M88K; TARGETDIR=m88k
|
||||||
|
;;
|
||||||
|
|
||||||
microblaze*-*-*)
|
microblaze*-*-*)
|
||||||
TARGET=MICROBLAZE; TARGETDIR=microblaze
|
TARGET=MICROBLAZE; TARGETDIR=microblaze
|
||||||
;;
|
;;
|
||||||
@@ -13484,6 +13543,10 @@ case "$host" in
|
|||||||
TARGET=TILE; TARGETDIR=tile
|
TARGET=TILE; TARGETDIR=tile
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
vax-*-*)
|
||||||
|
TARGET=VAX; TARGETDIR=vax
|
||||||
|
;;
|
||||||
|
|
||||||
xtensa*-*)
|
xtensa*-*)
|
||||||
TARGET=XTENSA; TARGETDIR=xtensa
|
TARGET=XTENSA; TARGETDIR=xtensa
|
||||||
;;
|
;;
|
||||||
@@ -13593,6 +13656,14 @@ else
|
|||||||
M68K_FALSE=
|
M68K_FALSE=
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test x$TARGET = xM88K; then
|
||||||
|
M88K_TRUE=
|
||||||
|
M88K_FALSE='#'
|
||||||
|
else
|
||||||
|
M88K_TRUE='#'
|
||||||
|
M88K_FALSE=
|
||||||
|
fi
|
||||||
|
|
||||||
if test x$TARGET = xMICROBLAZE; then
|
if test x$TARGET = xMICROBLAZE; then
|
||||||
MICROBLAZE_TRUE=
|
MICROBLAZE_TRUE=
|
||||||
MICROBLAZE_FALSE='#'
|
MICROBLAZE_FALSE='#'
|
||||||
@@ -13761,6 +13832,14 @@ else
|
|||||||
TILE_FALSE=
|
TILE_FALSE=
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test x$TARGET = xVAX; then
|
||||||
|
VAX_TRUE=
|
||||||
|
VAX_FALSE='#'
|
||||||
|
else
|
||||||
|
VAX_TRUE='#'
|
||||||
|
VAX_FALSE=
|
||||||
|
fi
|
||||||
|
|
||||||
if test x$TARGET = xXTENSA; then
|
if test x$TARGET = xXTENSA; then
|
||||||
XTENSA_TRUE=
|
XTENSA_TRUE=
|
||||||
XTENSA_FALSE='#'
|
XTENSA_FALSE='#'
|
||||||
@@ -15069,6 +15148,10 @@ if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
|
|||||||
as_fn_error $? "conditional \"M68K\" was never defined.
|
as_fn_error $? "conditional \"M68K\" was never defined.
|
||||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||||
fi
|
fi
|
||||||
|
if test -z "${M88K_TRUE}" && test -z "${M88K_FALSE}"; then
|
||||||
|
as_fn_error $? "conditional \"M88K\" was never defined.
|
||||||
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||||
|
fi
|
||||||
if test -z "${MICROBLAZE_TRUE}" && test -z "${MICROBLAZE_FALSE}"; then
|
if test -z "${MICROBLAZE_TRUE}" && test -z "${MICROBLAZE_FALSE}"; then
|
||||||
as_fn_error $? "conditional \"MICROBLAZE\" was never defined.
|
as_fn_error $? "conditional \"MICROBLAZE\" was never defined.
|
||||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||||
@@ -15153,6 +15236,10 @@ if test -z "${TILE_TRUE}" && test -z "${TILE_FALSE}"; then
|
|||||||
as_fn_error $? "conditional \"TILE\" was never defined.
|
as_fn_error $? "conditional \"TILE\" was never defined.
|
||||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||||
fi
|
fi
|
||||||
|
if test -z "${VAX_TRUE}" && test -z "${VAX_FALSE}"; then
|
||||||
|
as_fn_error $? "conditional \"VAX\" was never defined.
|
||||||
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||||
|
fi
|
||||||
if test -z "${XTENSA_TRUE}" && test -z "${XTENSA_FALSE}"; then
|
if test -z "${XTENSA_TRUE}" && test -z "${XTENSA_FALSE}"; then
|
||||||
as_fn_error $? "conditional \"XTENSA\" was never defined.
|
as_fn_error $? "conditional \"XTENSA\" was never defined.
|
||||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||||
@@ -15567,7 +15654,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
|||||||
# report actual input values of CONFIG_FILES etc. instead of their
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
This file was extended by libffi $as_me 3.0.13, which was
|
This file was extended by libffi $as_me 3.0.14-rc0, which was
|
||||||
generated by GNU Autoconf 2.69. Invocation command line was
|
generated by GNU Autoconf 2.69. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
@@ -15637,7 +15724,7 @@ _ACEOF
|
|||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
libffi config.status 3.0.13
|
libffi config.status 3.0.14-rc0
|
||||||
configured by $0, generated by GNU Autoconf 2.69,
|
configured by $0, generated by GNU Autoconf 2.69,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
@@ -16837,7 +16924,7 @@ $as_echo "$as_me: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)"
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
"depfiles":C) test x"$AMDEP_TRUE" != x"" || {
|
"depfiles":C) test x"$AMDEP_TRUE" != x"" || {
|
||||||
# Autoconf 2.62 quotes --file arguments for eval, but not when files
|
# Older Autoconf quotes --file arguments for eval, but not when files
|
||||||
# are listed without --file. Let's play safe and only enable the eval
|
# are listed without --file. Let's play safe and only enable the eval
|
||||||
# if we detect the quoting.
|
# if we detect the quoting.
|
||||||
case $CONFIG_FILES in
|
case $CONFIG_FILES in
|
||||||
@@ -16888,7 +16975,7 @@ $as_echo X"$mf" |
|
|||||||
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
|
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
|
||||||
test -z "$DEPDIR" && continue
|
test -z "$DEPDIR" && continue
|
||||||
am__include=`sed -n 's/^am__include = //p' < "$mf"`
|
am__include=`sed -n 's/^am__include = //p' < "$mf"`
|
||||||
test -z "am__include" && continue
|
test -z "$am__include" && continue
|
||||||
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
|
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
|
||||||
# Find all dependency output files, they are included files with
|
# Find all dependency output files, they are included files with
|
||||||
# $(DEPDIR) in their names. We invoke sed twice because it is the
|
# $(DEPDIR) in their names. We invoke sed twice because it is the
|
||||||
|
|||||||
12
configure.ac
12
configure.ac
@@ -2,7 +2,7 @@ dnl Process this with autoconf to create configure
|
|||||||
|
|
||||||
AC_PREREQ(2.68)
|
AC_PREREQ(2.68)
|
||||||
|
|
||||||
AC_INIT([libffi], [3.0.13], [http://github.com/atgreen/libffi/issues])
|
AC_INIT([libffi], [3.0.14-rc0], [http://github.com/atgreen/libffi/issues])
|
||||||
AC_CONFIG_HEADERS([fficonfig.h])
|
AC_CONFIG_HEADERS([fficonfig.h])
|
||||||
|
|
||||||
AC_CANONICAL_SYSTEM
|
AC_CANONICAL_SYSTEM
|
||||||
@@ -195,6 +195,10 @@ case "$host" in
|
|||||||
TARGET=M68K; TARGETDIR=m68k
|
TARGET=M68K; TARGETDIR=m68k
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
m88k-*-*)
|
||||||
|
TARGET=M88K; TARGETDIR=m88k
|
||||||
|
;;
|
||||||
|
|
||||||
microblaze*-*-*)
|
microblaze*-*-*)
|
||||||
TARGET=MICROBLAZE; TARGETDIR=microblaze
|
TARGET=MICROBLAZE; TARGETDIR=microblaze
|
||||||
;;
|
;;
|
||||||
@@ -260,6 +264,10 @@ case "$host" in
|
|||||||
TARGET=TILE; TARGETDIR=tile
|
TARGET=TILE; TARGETDIR=tile
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
vax-*-*)
|
||||||
|
TARGET=VAX; TARGETDIR=vax
|
||||||
|
;;
|
||||||
|
|
||||||
xtensa*-*)
|
xtensa*-*)
|
||||||
TARGET=XTENSA; TARGETDIR=xtensa
|
TARGET=XTENSA; TARGETDIR=xtensa
|
||||||
;;
|
;;
|
||||||
@@ -285,6 +293,7 @@ AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
|
|||||||
AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
|
AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
|
||||||
AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
|
AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
|
||||||
AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
|
AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
|
||||||
|
AM_CONDITIONAL(M88K, test x$TARGET = xM88K)
|
||||||
AM_CONDITIONAL(MICROBLAZE, test x$TARGET = xMICROBLAZE)
|
AM_CONDITIONAL(MICROBLAZE, test x$TARGET = xMICROBLAZE)
|
||||||
AM_CONDITIONAL(METAG, test x$TARGET = xMETAG)
|
AM_CONDITIONAL(METAG, test x$TARGET = xMETAG)
|
||||||
AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
|
AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
|
||||||
@@ -306,6 +315,7 @@ AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
|
|||||||
AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
|
AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
|
||||||
AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
|
AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
|
||||||
AM_CONDITIONAL(TILE, test x$TARGET = xTILE)
|
AM_CONDITIONAL(TILE, test x$TARGET = xTILE)
|
||||||
|
AM_CONDITIONAL(VAX, test x$TARGET = xVAX)
|
||||||
AM_CONDITIONAL(XTENSA, test x$TARGET = xXTENSA)
|
AM_CONDITIONAL(XTENSA, test x$TARGET = xXTENSA)
|
||||||
|
|
||||||
AC_HEADER_STDC
|
AC_HEADER_STDC
|
||||||
|
|||||||
525
depcomp
525
depcomp
@@ -1,10 +1,9 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# depcomp - compile a program generating dependencies as side-effects
|
# depcomp - compile a program generating dependencies as side-effects
|
||||||
|
|
||||||
scriptversion=2009-04-28.21; # UTC
|
scriptversion=2013-05-30.07; # UTC
|
||||||
|
|
||||||
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
|
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
||||||
# Software Foundation, Inc.
|
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -28,9 +27,9 @@ scriptversion=2009-04-28.21; # UTC
|
|||||||
|
|
||||||
case $1 in
|
case $1 in
|
||||||
'')
|
'')
|
||||||
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
|
echo "$0: No command. Try '$0 --help' for more information." 1>&2
|
||||||
exit 1;
|
exit 1;
|
||||||
;;
|
;;
|
||||||
-h | --h*)
|
-h | --h*)
|
||||||
cat <<\EOF
|
cat <<\EOF
|
||||||
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
|
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
|
||||||
@@ -40,11 +39,11 @@ as side-effects.
|
|||||||
|
|
||||||
Environment variables:
|
Environment variables:
|
||||||
depmode Dependency tracking mode.
|
depmode Dependency tracking mode.
|
||||||
source Source file read by `PROGRAMS ARGS'.
|
source Source file read by 'PROGRAMS ARGS'.
|
||||||
object Object file output by `PROGRAMS ARGS'.
|
object Object file output by 'PROGRAMS ARGS'.
|
||||||
DEPDIR directory where to store dependencies.
|
DEPDIR directory where to store dependencies.
|
||||||
depfile Dependency file to output.
|
depfile Dependency file to output.
|
||||||
tmpdepfile Temporary file to use when outputing dependencies.
|
tmpdepfile Temporary file to use when outputting dependencies.
|
||||||
libtool Whether libtool is used (yes/no).
|
libtool Whether libtool is used (yes/no).
|
||||||
|
|
||||||
Report bugs to <bug-automake@gnu.org>.
|
Report bugs to <bug-automake@gnu.org>.
|
||||||
@@ -57,6 +56,66 @@ EOF
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# Get the directory component of the given path, and save it in the
|
||||||
|
# global variables '$dir'. Note that this directory component will
|
||||||
|
# be either empty or ending with a '/' character. This is deliberate.
|
||||||
|
set_dir_from ()
|
||||||
|
{
|
||||||
|
case $1 in
|
||||||
|
*/*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
|
||||||
|
*) dir=;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get the suffix-stripped basename of the given path, and save it the
|
||||||
|
# global variable '$base'.
|
||||||
|
set_base_from ()
|
||||||
|
{
|
||||||
|
base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
|
||||||
|
}
|
||||||
|
|
||||||
|
# If no dependency file was actually created by the compiler invocation,
|
||||||
|
# we still have to create a dummy depfile, to avoid errors with the
|
||||||
|
# Makefile "include basename.Plo" scheme.
|
||||||
|
make_dummy_depfile ()
|
||||||
|
{
|
||||||
|
echo "#dummy" > "$depfile"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Factor out some common post-processing of the generated depfile.
|
||||||
|
# Requires the auxiliary global variable '$tmpdepfile' to be set.
|
||||||
|
aix_post_process_depfile ()
|
||||||
|
{
|
||||||
|
# If the compiler actually managed to produce a dependency file,
|
||||||
|
# post-process it.
|
||||||
|
if test -f "$tmpdepfile"; then
|
||||||
|
# Each line is of the form 'foo.o: dependency.h'.
|
||||||
|
# Do two passes, one to just change these to
|
||||||
|
# $object: dependency.h
|
||||||
|
# and one to simply output
|
||||||
|
# dependency.h:
|
||||||
|
# which is needed to avoid the deleted-header problem.
|
||||||
|
{ sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
|
||||||
|
sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
|
||||||
|
} > "$depfile"
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
else
|
||||||
|
make_dummy_depfile
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# A tabulation character.
|
||||||
|
tab=' '
|
||||||
|
# A newline character.
|
||||||
|
nl='
|
||||||
|
'
|
||||||
|
# Character ranges might be problematic outside the C locale.
|
||||||
|
# These definitions help.
|
||||||
|
upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
||||||
|
lower=abcdefghijklmnopqrstuvwxyz
|
||||||
|
digits=0123456789
|
||||||
|
alpha=${upper}${lower}
|
||||||
|
|
||||||
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||||
echo "depcomp: Variables source, object and depmode must be set" 1>&2
|
echo "depcomp: Variables source, object and depmode must be set" 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
@@ -69,6 +128,9 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
|||||||
|
|
||||||
rm -f "$tmpdepfile"
|
rm -f "$tmpdepfile"
|
||||||
|
|
||||||
|
# Avoid interferences from the environment.
|
||||||
|
gccflag= dashmflag=
|
||||||
|
|
||||||
# Some modes work just like other modes, but use different flags. We
|
# Some modes work just like other modes, but use different flags. We
|
||||||
# parameterize here, but still list the modes in the big case below,
|
# parameterize here, but still list the modes in the big case below,
|
||||||
# to make depend.m4 easier to write. Note that we *cannot* use a case
|
# to make depend.m4 easier to write. Note that we *cannot* use a case
|
||||||
@@ -80,18 +142,32 @@ if test "$depmode" = hp; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$depmode" = dashXmstdout; then
|
if test "$depmode" = dashXmstdout; then
|
||||||
# This is just like dashmstdout with a different argument.
|
# This is just like dashmstdout with a different argument.
|
||||||
dashmflag=-xM
|
dashmflag=-xM
|
||||||
depmode=dashmstdout
|
depmode=dashmstdout
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cygpath_u="cygpath -u -f -"
|
cygpath_u="cygpath -u -f -"
|
||||||
if test "$depmode" = msvcmsys; then
|
if test "$depmode" = msvcmsys; then
|
||||||
# This is just like msvisualcpp but w/o cygpath translation.
|
# This is just like msvisualcpp but w/o cygpath translation.
|
||||||
# Just convert the backslash-escaped backslashes to single forward
|
# Just convert the backslash-escaped backslashes to single forward
|
||||||
# slashes to satisfy depend.m4
|
# slashes to satisfy depend.m4
|
||||||
cygpath_u="sed s,\\\\\\\\,/,g"
|
cygpath_u='sed s,\\\\,/,g'
|
||||||
depmode=msvisualcpp
|
depmode=msvisualcpp
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$depmode" = msvc7msys; then
|
||||||
|
# This is just like msvc7 but w/o cygpath translation.
|
||||||
|
# Just convert the backslash-escaped backslashes to single forward
|
||||||
|
# slashes to satisfy depend.m4
|
||||||
|
cygpath_u='sed s,\\\\,/,g'
|
||||||
|
depmode=msvc7
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$depmode" = xlc; then
|
||||||
|
# IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
|
||||||
|
gccflag=-qmakedep=gcc,-MF
|
||||||
|
depmode=gcc
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case "$depmode" in
|
case "$depmode" in
|
||||||
@@ -114,8 +190,7 @@ gcc3)
|
|||||||
done
|
done
|
||||||
"$@"
|
"$@"
|
||||||
stat=$?
|
stat=$?
|
||||||
if test $stat -eq 0; then :
|
if test $stat -ne 0; then
|
||||||
else
|
|
||||||
rm -f "$tmpdepfile"
|
rm -f "$tmpdepfile"
|
||||||
exit $stat
|
exit $stat
|
||||||
fi
|
fi
|
||||||
@@ -123,13 +198,17 @@ gcc3)
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
gcc)
|
gcc)
|
||||||
|
## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
|
||||||
|
## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
|
||||||
|
## (see the conditional assignment to $gccflag above).
|
||||||
## There are various ways to get dependency output from gcc. Here's
|
## There are various ways to get dependency output from gcc. Here's
|
||||||
## why we pick this rather obscure method:
|
## why we pick this rather obscure method:
|
||||||
## - Don't want to use -MD because we'd like the dependencies to end
|
## - Don't want to use -MD because we'd like the dependencies to end
|
||||||
## up in a subdir. Having to rename by hand is ugly.
|
## up in a subdir. Having to rename by hand is ugly.
|
||||||
## (We might end up doing this anyway to support other compilers.)
|
## (We might end up doing this anyway to support other compilers.)
|
||||||
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
|
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
|
||||||
## -MM, not -M (despite what the docs say).
|
## -MM, not -M (despite what the docs say). Also, it might not be
|
||||||
|
## supported by the other compilers which use the 'gcc' depmode.
|
||||||
## - Using -M directly means running the compiler twice (even worse
|
## - Using -M directly means running the compiler twice (even worse
|
||||||
## than renaming).
|
## than renaming).
|
||||||
if test -z "$gccflag"; then
|
if test -z "$gccflag"; then
|
||||||
@@ -137,31 +216,31 @@ gcc)
|
|||||||
fi
|
fi
|
||||||
"$@" -Wp,"$gccflag$tmpdepfile"
|
"$@" -Wp,"$gccflag$tmpdepfile"
|
||||||
stat=$?
|
stat=$?
|
||||||
if test $stat -eq 0; then :
|
if test $stat -ne 0; then
|
||||||
else
|
|
||||||
rm -f "$tmpdepfile"
|
rm -f "$tmpdepfile"
|
||||||
exit $stat
|
exit $stat
|
||||||
fi
|
fi
|
||||||
rm -f "$depfile"
|
rm -f "$depfile"
|
||||||
echo "$object : \\" > "$depfile"
|
echo "$object : \\" > "$depfile"
|
||||||
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
|
# The second -e expression handles DOS-style file names with drive
|
||||||
## The second -e expression handles DOS-style file names with drive letters.
|
# letters.
|
||||||
sed -e 's/^[^:]*: / /' \
|
sed -e 's/^[^:]*: / /' \
|
||||||
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
||||||
## This next piece of magic avoids the `deleted header file' problem.
|
## This next piece of magic avoids the "deleted header file" problem.
|
||||||
## The problem is that when a header file which appears in a .P file
|
## The problem is that when a header file which appears in a .P file
|
||||||
## is deleted, the dependency causes make to die (because there is
|
## is deleted, the dependency causes make to die (because there is
|
||||||
## typically no way to rebuild the header). We avoid this by adding
|
## typically no way to rebuild the header). We avoid this by adding
|
||||||
## dummy dependencies for each header file. Too bad gcc doesn't do
|
## dummy dependencies for each header file. Too bad gcc doesn't do
|
||||||
## this for us directly.
|
## this for us directly.
|
||||||
tr ' ' '
|
## Some versions of gcc put a space before the ':'. On the theory
|
||||||
' < "$tmpdepfile" |
|
|
||||||
## Some versions of gcc put a space before the `:'. On the theory
|
|
||||||
## that the space means something, we add a space to the output as
|
## that the space means something, we add a space to the output as
|
||||||
## well.
|
## well. hp depmode also adds that space, but also prefixes the VPATH
|
||||||
|
## to the object. Take care to not repeat it in the output.
|
||||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||||
## correctly. Breaking it into two sed invocations is a workaround.
|
## correctly. Breaking it into two sed invocations is a workaround.
|
||||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
tr ' ' "$nl" < "$tmpdepfile" \
|
||||||
|
| sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
|
||||||
|
| sed -e 's/$/ :/' >> "$depfile"
|
||||||
rm -f "$tmpdepfile"
|
rm -f "$tmpdepfile"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
@@ -179,8 +258,7 @@ sgi)
|
|||||||
"$@" -MDupdate "$tmpdepfile"
|
"$@" -MDupdate "$tmpdepfile"
|
||||||
fi
|
fi
|
||||||
stat=$?
|
stat=$?
|
||||||
if test $stat -eq 0; then :
|
if test $stat -ne 0; then
|
||||||
else
|
|
||||||
rm -f "$tmpdepfile"
|
rm -f "$tmpdepfile"
|
||||||
exit $stat
|
exit $stat
|
||||||
fi
|
fi
|
||||||
@@ -188,43 +266,41 @@ sgi)
|
|||||||
|
|
||||||
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
||||||
echo "$object : \\" > "$depfile"
|
echo "$object : \\" > "$depfile"
|
||||||
|
|
||||||
# Clip off the initial element (the dependent). Don't try to be
|
# Clip off the initial element (the dependent). Don't try to be
|
||||||
# clever and replace this with sed code, as IRIX sed won't handle
|
# clever and replace this with sed code, as IRIX sed won't handle
|
||||||
# lines with more than a fixed number of characters (4096 in
|
# lines with more than a fixed number of characters (4096 in
|
||||||
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
||||||
# the IRIX cc adds comments like `#:fec' to the end of the
|
# the IRIX cc adds comments like '#:fec' to the end of the
|
||||||
# dependency line.
|
# dependency line.
|
||||||
tr ' ' '
|
tr ' ' "$nl" < "$tmpdepfile" \
|
||||||
' < "$tmpdepfile" \
|
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
|
||||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
|
| tr "$nl" ' ' >> "$depfile"
|
||||||
tr '
|
|
||||||
' ' ' >> "$depfile"
|
|
||||||
echo >> "$depfile"
|
echo >> "$depfile"
|
||||||
|
|
||||||
# The second pass generates a dummy entry for each header file.
|
# The second pass generates a dummy entry for each header file.
|
||||||
tr ' ' '
|
tr ' ' "$nl" < "$tmpdepfile" \
|
||||||
' < "$tmpdepfile" \
|
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
||||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
>> "$depfile"
|
||||||
>> "$depfile"
|
|
||||||
else
|
else
|
||||||
# The sourcefile does not contain any dependencies, so just
|
make_dummy_depfile
|
||||||
# store a dummy comment line, to avoid errors with the Makefile
|
|
||||||
# "include basename.Plo" scheme.
|
|
||||||
echo "#dummy" > "$depfile"
|
|
||||||
fi
|
fi
|
||||||
rm -f "$tmpdepfile"
|
rm -f "$tmpdepfile"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
xlc)
|
||||||
|
# This case exists only to let depend.m4 do its work. It works by
|
||||||
|
# looking at the text of this script. This case will never be run,
|
||||||
|
# since it is checked for above.
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
aix)
|
aix)
|
||||||
# The C for AIX Compiler uses -M and outputs the dependencies
|
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||||
# in a .u file. In older versions, this file always lives in the
|
# in a .u file. In older versions, this file always lives in the
|
||||||
# current directory. Also, the AIX compiler puts `$object:' at the
|
# current directory. Also, the AIX compiler puts '$object:' at the
|
||||||
# start of each line; $object doesn't have directory information.
|
# start of each line; $object doesn't have directory information.
|
||||||
# Version 6 uses the directory in both cases.
|
# Version 6 uses the directory in both cases.
|
||||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
set_dir_from "$object"
|
||||||
test "x$dir" = "x$object" && dir=
|
set_base_from "$object"
|
||||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
|
||||||
if test "$libtool" = yes; then
|
if test "$libtool" = yes; then
|
||||||
tmpdepfile1=$dir$base.u
|
tmpdepfile1=$dir$base.u
|
||||||
tmpdepfile2=$base.u
|
tmpdepfile2=$base.u
|
||||||
@@ -237,9 +313,7 @@ aix)
|
|||||||
"$@" -M
|
"$@" -M
|
||||||
fi
|
fi
|
||||||
stat=$?
|
stat=$?
|
||||||
|
if test $stat -ne 0; then
|
||||||
if test $stat -eq 0; then :
|
|
||||||
else
|
|
||||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||||
exit $stat
|
exit $stat
|
||||||
fi
|
fi
|
||||||
@@ -248,44 +322,100 @@ aix)
|
|||||||
do
|
do
|
||||||
test -f "$tmpdepfile" && break
|
test -f "$tmpdepfile" && break
|
||||||
done
|
done
|
||||||
if test -f "$tmpdepfile"; then
|
aix_post_process_depfile
|
||||||
# Each line is of the form `foo.o: dependent.h'.
|
;;
|
||||||
# Do two passes, one to just change these to
|
|
||||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
tcc)
|
||||||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
# tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
|
||||||
# That's a tab and a space in the [].
|
# FIXME: That version still under development at the moment of writing.
|
||||||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
# Make that this statement remains true also for stable, released
|
||||||
else
|
# versions.
|
||||||
# The sourcefile does not contain any dependencies, so just
|
# It will wrap lines (doesn't matter whether long or short) with a
|
||||||
# store a dummy comment line, to avoid errors with the Makefile
|
# trailing '\', as in:
|
||||||
# "include basename.Plo" scheme.
|
#
|
||||||
echo "#dummy" > "$depfile"
|
# foo.o : \
|
||||||
|
# foo.c \
|
||||||
|
# foo.h \
|
||||||
|
#
|
||||||
|
# It will put a trailing '\' even on the last line, and will use leading
|
||||||
|
# spaces rather than leading tabs (at least since its commit 0394caf7
|
||||||
|
# "Emit spaces for -MD").
|
||||||
|
"$@" -MD -MF "$tmpdepfile"
|
||||||
|
stat=$?
|
||||||
|
if test $stat -ne 0; then
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
exit $stat
|
||||||
fi
|
fi
|
||||||
|
rm -f "$depfile"
|
||||||
|
# Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
|
||||||
|
# We have to change lines of the first kind to '$object: \'.
|
||||||
|
sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
|
||||||
|
# And for each line of the second kind, we have to emit a 'dep.h:'
|
||||||
|
# dummy dependency, to avoid the deleted-header problem.
|
||||||
|
sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
|
||||||
rm -f "$tmpdepfile"
|
rm -f "$tmpdepfile"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
icc)
|
## The order of this option in the case statement is important, since the
|
||||||
# Intel's C compiler understands `-MD -MF file'. However on
|
## shell code in configure will try each of these formats in the order
|
||||||
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
|
## listed in this file. A plain '-MD' option would be understood by many
|
||||||
# ICC 7.0 will fill foo.d with something like
|
## compilers, so we must ensure this comes after the gcc and icc options.
|
||||||
# foo.o: sub/foo.c
|
pgcc)
|
||||||
# foo.o: sub/foo.h
|
# Portland's C compiler understands '-MD'.
|
||||||
# which is wrong. We want:
|
# Will always output deps to 'file.d' where file is the root name of the
|
||||||
# sub/foo.o: sub/foo.c
|
# source file under compilation, even if file resides in a subdirectory.
|
||||||
# sub/foo.o: sub/foo.h
|
# The object file name does not affect the name of the '.d' file.
|
||||||
# sub/foo.c:
|
# pgcc 10.2 will output
|
||||||
# sub/foo.h:
|
|
||||||
# ICC 7.1 will output
|
|
||||||
# foo.o: sub/foo.c sub/foo.h
|
# foo.o: sub/foo.c sub/foo.h
|
||||||
# and will wrap long lines using \ :
|
# and will wrap long lines using '\' :
|
||||||
# foo.o: sub/foo.c ... \
|
# foo.o: sub/foo.c ... \
|
||||||
# sub/foo.h ... \
|
# sub/foo.h ... \
|
||||||
# ...
|
# ...
|
||||||
|
set_dir_from "$object"
|
||||||
|
# Use the source, not the object, to determine the base name, since
|
||||||
|
# that's sadly what pgcc will do too.
|
||||||
|
set_base_from "$source"
|
||||||
|
tmpdepfile=$base.d
|
||||||
|
|
||||||
"$@" -MD -MF "$tmpdepfile"
|
# For projects that build the same source file twice into different object
|
||||||
stat=$?
|
# files, the pgcc approach of using the *source* file root name can cause
|
||||||
if test $stat -eq 0; then :
|
# problems in parallel builds. Use a locking strategy to avoid stomping on
|
||||||
else
|
# the same $tmpdepfile.
|
||||||
|
lockdir=$base.d-lock
|
||||||
|
trap "
|
||||||
|
echo '$0: caught signal, cleaning up...' >&2
|
||||||
|
rmdir '$lockdir'
|
||||||
|
exit 1
|
||||||
|
" 1 2 13 15
|
||||||
|
numtries=100
|
||||||
|
i=$numtries
|
||||||
|
while test $i -gt 0; do
|
||||||
|
# mkdir is a portable test-and-set.
|
||||||
|
if mkdir "$lockdir" 2>/dev/null; then
|
||||||
|
# This process acquired the lock.
|
||||||
|
"$@" -MD
|
||||||
|
stat=$?
|
||||||
|
# Release the lock.
|
||||||
|
rmdir "$lockdir"
|
||||||
|
break
|
||||||
|
else
|
||||||
|
# If the lock is being held by a different process, wait
|
||||||
|
# until the winning process is done or we timeout.
|
||||||
|
while test -d "$lockdir" && test $i -gt 0; do
|
||||||
|
sleep 1
|
||||||
|
i=`expr $i - 1`
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
i=`expr $i - 1`
|
||||||
|
done
|
||||||
|
trap - 1 2 13 15
|
||||||
|
if test $i -le 0; then
|
||||||
|
echo "$0: failed to acquire lock after $numtries attempts" >&2
|
||||||
|
echo "$0: check lockdir '$lockdir'" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $stat -ne 0; then
|
||||||
rm -f "$tmpdepfile"
|
rm -f "$tmpdepfile"
|
||||||
exit $stat
|
exit $stat
|
||||||
fi
|
fi
|
||||||
@@ -297,8 +427,8 @@ icc)
|
|||||||
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
|
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
|
||||||
# Some versions of the HPUX 10.20 sed can't process this invocation
|
# Some versions of the HPUX 10.20 sed can't process this invocation
|
||||||
# correctly. Breaking it into two sed invocations is a workaround.
|
# correctly. Breaking it into two sed invocations is a workaround.
|
||||||
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
|
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
|
||||||
sed -e 's/$/ :/' >> "$depfile"
|
| sed -e 's/$/ :/' >> "$depfile"
|
||||||
rm -f "$tmpdepfile"
|
rm -f "$tmpdepfile"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
@@ -309,9 +439,8 @@ hp2)
|
|||||||
# 'foo.d', which lands next to the object file, wherever that
|
# 'foo.d', which lands next to the object file, wherever that
|
||||||
# happens to be.
|
# happens to be.
|
||||||
# Much of this is similar to the tru64 case; see comments there.
|
# Much of this is similar to the tru64 case; see comments there.
|
||||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
set_dir_from "$object"
|
||||||
test "x$dir" = "x$object" && dir=
|
set_base_from "$object"
|
||||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
|
||||||
if test "$libtool" = yes; then
|
if test "$libtool" = yes; then
|
||||||
tmpdepfile1=$dir$base.d
|
tmpdepfile1=$dir$base.d
|
||||||
tmpdepfile2=$dir.libs/$base.d
|
tmpdepfile2=$dir.libs/$base.d
|
||||||
@@ -322,8 +451,7 @@ hp2)
|
|||||||
"$@" +Maked
|
"$@" +Maked
|
||||||
fi
|
fi
|
||||||
stat=$?
|
stat=$?
|
||||||
if test $stat -eq 0; then :
|
if test $stat -ne 0; then
|
||||||
else
|
|
||||||
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
||||||
exit $stat
|
exit $stat
|
||||||
fi
|
fi
|
||||||
@@ -333,77 +461,107 @@ hp2)
|
|||||||
test -f "$tmpdepfile" && break
|
test -f "$tmpdepfile" && break
|
||||||
done
|
done
|
||||||
if test -f "$tmpdepfile"; then
|
if test -f "$tmpdepfile"; then
|
||||||
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
|
sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
|
||||||
# Add `dependent.h:' lines.
|
# Add 'dependent.h:' lines.
|
||||||
sed -ne '2,${
|
sed -ne '2,${
|
||||||
s/^ *//
|
s/^ *//
|
||||||
s/ \\*$//
|
s/ \\*$//
|
||||||
s/$/:/
|
s/$/:/
|
||||||
p
|
p
|
||||||
}' "$tmpdepfile" >> "$depfile"
|
}' "$tmpdepfile" >> "$depfile"
|
||||||
else
|
else
|
||||||
echo "#dummy" > "$depfile"
|
make_dummy_depfile
|
||||||
fi
|
fi
|
||||||
rm -f "$tmpdepfile" "$tmpdepfile2"
|
rm -f "$tmpdepfile" "$tmpdepfile2"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
tru64)
|
tru64)
|
||||||
# The Tru64 compiler uses -MD to generate dependencies as a side
|
# The Tru64 compiler uses -MD to generate dependencies as a side
|
||||||
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
|
# effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
|
||||||
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
||||||
# dependencies in `foo.d' instead, so we check for that too.
|
# dependencies in 'foo.d' instead, so we check for that too.
|
||||||
# Subdirectories are respected.
|
# Subdirectories are respected.
|
||||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
set_dir_from "$object"
|
||||||
test "x$dir" = "x$object" && dir=
|
set_base_from "$object"
|
||||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
|
||||||
|
|
||||||
if test "$libtool" = yes; then
|
if test "$libtool" = yes; then
|
||||||
# With Tru64 cc, shared objects can also be used to make a
|
# Libtool generates 2 separate objects for the 2 libraries. These
|
||||||
# static library. This mechanism is used in libtool 1.4 series to
|
# two compilations output dependencies in $dir.libs/$base.o.d and
|
||||||
# handle both shared and static libraries in a single compilation.
|
# in $dir$base.o.d. We have to check for both files, because
|
||||||
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
|
# one of the two compilations can be disabled. We should prefer
|
||||||
#
|
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
||||||
# With libtool 1.5 this exception was removed, and libtool now
|
# automatically cleaned when .libs/ is deleted, while ignoring
|
||||||
# generates 2 separate objects for the 2 libraries. These two
|
# the former would cause a distcleancheck panic.
|
||||||
# compilations output dependencies in $dir.libs/$base.o.d and
|
tmpdepfile1=$dir$base.o.d # libtool 1.5
|
||||||
# in $dir$base.o.d. We have to check for both files, because
|
tmpdepfile2=$dir.libs/$base.o.d # Likewise.
|
||||||
# one of the two compilations can be disabled. We should prefer
|
tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
|
||||||
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
"$@" -Wc,-MD
|
||||||
# automatically cleaned when .libs/ is deleted, while ignoring
|
else
|
||||||
# the former would cause a distcleancheck panic.
|
tmpdepfile1=$dir$base.d
|
||||||
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
|
tmpdepfile2=$dir$base.d
|
||||||
tmpdepfile2=$dir$base.o.d # libtool 1.5
|
tmpdepfile3=$dir$base.d
|
||||||
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
|
"$@" -MD
|
||||||
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
|
fi
|
||||||
"$@" -Wc,-MD
|
|
||||||
else
|
|
||||||
tmpdepfile1=$dir$base.o.d
|
|
||||||
tmpdepfile2=$dir$base.d
|
|
||||||
tmpdepfile3=$dir$base.d
|
|
||||||
tmpdepfile4=$dir$base.d
|
|
||||||
"$@" -MD
|
|
||||||
fi
|
|
||||||
|
|
||||||
stat=$?
|
stat=$?
|
||||||
if test $stat -eq 0; then :
|
if test $stat -ne 0; then
|
||||||
else
|
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
exit $stat
|
||||||
exit $stat
|
fi
|
||||||
fi
|
|
||||||
|
|
||||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||||
do
|
do
|
||||||
test -f "$tmpdepfile" && break
|
test -f "$tmpdepfile" && break
|
||||||
done
|
done
|
||||||
if test -f "$tmpdepfile"; then
|
# Same post-processing that is required for AIX mode.
|
||||||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
aix_post_process_depfile
|
||||||
# That's a tab and a space in the [].
|
;;
|
||||||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
|
||||||
else
|
msvc7)
|
||||||
echo "#dummy" > "$depfile"
|
if test "$libtool" = yes; then
|
||||||
fi
|
showIncludes=-Wc,-showIncludes
|
||||||
rm -f "$tmpdepfile"
|
else
|
||||||
;;
|
showIncludes=-showIncludes
|
||||||
|
fi
|
||||||
|
"$@" $showIncludes > "$tmpdepfile"
|
||||||
|
stat=$?
|
||||||
|
grep -v '^Note: including file: ' "$tmpdepfile"
|
||||||
|
if test $stat -ne 0; then
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
rm -f "$depfile"
|
||||||
|
echo "$object : \\" > "$depfile"
|
||||||
|
# The first sed program below extracts the file names and escapes
|
||||||
|
# backslashes for cygpath. The second sed program outputs the file
|
||||||
|
# name when reading, but also accumulates all include files in the
|
||||||
|
# hold buffer in order to output them again at the end. This only
|
||||||
|
# works with sed implementations that can handle large buffers.
|
||||||
|
sed < "$tmpdepfile" -n '
|
||||||
|
/^Note: including file: *\(.*\)/ {
|
||||||
|
s//\1/
|
||||||
|
s/\\/\\\\/g
|
||||||
|
p
|
||||||
|
}' | $cygpath_u | sort -u | sed -n '
|
||||||
|
s/ /\\ /g
|
||||||
|
s/\(.*\)/'"$tab"'\1 \\/p
|
||||||
|
s/.\(.*\) \\/\1:/
|
||||||
|
H
|
||||||
|
$ {
|
||||||
|
s/.*/'"$tab"'/
|
||||||
|
G
|
||||||
|
p
|
||||||
|
}' >> "$depfile"
|
||||||
|
echo >> "$depfile" # make sure the fragment doesn't end with a backslash
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
msvc7msys)
|
||||||
|
# This case exists only to let depend.m4 do its work. It works by
|
||||||
|
# looking at the text of this script. This case will never be run,
|
||||||
|
# since it is checked for above.
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
#nosideeffect)
|
#nosideeffect)
|
||||||
# This comment above is used by automake to tell side-effect
|
# This comment above is used by automake to tell side-effect
|
||||||
@@ -422,7 +580,7 @@ dashmstdout)
|
|||||||
shift
|
shift
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Remove `-o $object'.
|
# Remove '-o $object'.
|
||||||
IFS=" "
|
IFS=" "
|
||||||
for arg
|
for arg
|
||||||
do
|
do
|
||||||
@@ -442,18 +600,18 @@ dashmstdout)
|
|||||||
done
|
done
|
||||||
|
|
||||||
test -z "$dashmflag" && dashmflag=-M
|
test -z "$dashmflag" && dashmflag=-M
|
||||||
# Require at least two characters before searching for `:'
|
# Require at least two characters before searching for ':'
|
||||||
# in the target name. This is to cope with DOS-style filenames:
|
# in the target name. This is to cope with DOS-style filenames:
|
||||||
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
|
# a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
|
||||||
"$@" $dashmflag |
|
"$@" $dashmflag |
|
||||||
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
|
sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
|
||||||
rm -f "$depfile"
|
rm -f "$depfile"
|
||||||
cat < "$tmpdepfile" > "$depfile"
|
cat < "$tmpdepfile" > "$depfile"
|
||||||
tr ' ' '
|
# Some versions of the HPUX 10.20 sed can't process this sed invocation
|
||||||
' < "$tmpdepfile" | \
|
# correctly. Breaking it into two sed invocations is a workaround.
|
||||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
tr ' ' "$nl" < "$tmpdepfile" \
|
||||||
## correctly. Breaking it into two sed invocations is a workaround.
|
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
|
||||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
| sed -e 's/$/ :/' >> "$depfile"
|
||||||
rm -f "$tmpdepfile"
|
rm -f "$tmpdepfile"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
@@ -503,12 +661,15 @@ makedepend)
|
|||||||
touch "$tmpdepfile"
|
touch "$tmpdepfile"
|
||||||
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||||
rm -f "$depfile"
|
rm -f "$depfile"
|
||||||
cat < "$tmpdepfile" > "$depfile"
|
# makedepend may prepend the VPATH from the source file name to the object.
|
||||||
sed '1,2d' "$tmpdepfile" | tr ' ' '
|
# No need to regex-escape $object, excess matching of '.' is harmless.
|
||||||
' | \
|
sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
|
||||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
# Some versions of the HPUX 10.20 sed can't process the last invocation
|
||||||
## correctly. Breaking it into two sed invocations is a workaround.
|
# correctly. Breaking it into two sed invocations is a workaround.
|
||||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
sed '1,2d' "$tmpdepfile" \
|
||||||
|
| tr ' ' "$nl" \
|
||||||
|
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
|
||||||
|
| sed -e 's/$/ :/' >> "$depfile"
|
||||||
rm -f "$tmpdepfile" "$tmpdepfile".bak
|
rm -f "$tmpdepfile" "$tmpdepfile".bak
|
||||||
;;
|
;;
|
||||||
|
|
||||||
@@ -525,7 +686,7 @@ cpp)
|
|||||||
shift
|
shift
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Remove `-o $object'.
|
# Remove '-o $object'.
|
||||||
IFS=" "
|
IFS=" "
|
||||||
for arg
|
for arg
|
||||||
do
|
do
|
||||||
@@ -544,10 +705,10 @@ cpp)
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
"$@" -E |
|
"$@" -E \
|
||||||
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
| sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||||
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
|
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||||
sed '$ s: \\$::' > "$tmpdepfile"
|
| sed '$ s: \\$::' > "$tmpdepfile"
|
||||||
rm -f "$depfile"
|
rm -f "$depfile"
|
||||||
echo "$object : \\" > "$depfile"
|
echo "$object : \\" > "$depfile"
|
||||||
cat < "$tmpdepfile" >> "$depfile"
|
cat < "$tmpdepfile" >> "$depfile"
|
||||||
@@ -579,23 +740,23 @@ msvisualcpp)
|
|||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||||
set fnord "$@"
|
set fnord "$@"
|
||||||
shift
|
shift
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
set fnord "$@" "$arg"
|
set fnord "$@" "$arg"
|
||||||
shift
|
shift
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
"$@" -E 2>/dev/null |
|
"$@" -E 2>/dev/null |
|
||||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
|
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
|
||||||
rm -f "$depfile"
|
rm -f "$depfile"
|
||||||
echo "$object : \\" > "$depfile"
|
echo "$object : \\" > "$depfile"
|
||||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
|
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
|
||||||
echo " " >> "$depfile"
|
echo "$tab" >> "$depfile"
|
||||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
||||||
rm -f "$tmpdepfile"
|
rm -f "$tmpdepfile"
|
||||||
;;
|
;;
|
||||||
|
|||||||
311
doc/libffi.info
311
doc/libffi.info
@@ -1,5 +1,4 @@
|
|||||||
This is ../libffi/doc/libffi.info, produced by makeinfo version 4.13
|
This is libffi.info, produced by makeinfo version 5.1 from libffi.texi.
|
||||||
from ../libffi/doc/libffi.texi.
|
|
||||||
|
|
||||||
This manual is for Libffi, a portable foreign-function interface
|
This manual is for Libffi, a portable foreign-function interface
|
||||||
library.
|
library.
|
||||||
@@ -8,10 +7,9 @@ library.
|
|||||||
|
|
||||||
Permission is granted to copy, distribute and/or modify this
|
Permission is granted to copy, distribute and/or modify this
|
||||||
document under the terms of the GNU General Public License as
|
document under the terms of the GNU General Public License as
|
||||||
published by the Free Software Foundation; either version 2, or
|
published by the Free Software Foundation; either version 2, or (at
|
||||||
(at your option) any later version. A copy of the license is
|
your option) any later version. A copy of the license is included
|
||||||
included in the section entitled "GNU General Public License".
|
in the section entitled "GNU General Public License".
|
||||||
|
|
||||||
|
|
||||||
INFO-DIR-SECTION Development
|
INFO-DIR-SECTION Development
|
||||||
START-INFO-DIR-ENTRY
|
START-INFO-DIR-ENTRY
|
||||||
@@ -31,10 +29,9 @@ library.
|
|||||||
|
|
||||||
Permission is granted to copy, distribute and/or modify this
|
Permission is granted to copy, distribute and/or modify this
|
||||||
document under the terms of the GNU General Public License as
|
document under the terms of the GNU General Public License as
|
||||||
published by the Free Software Foundation; either version 2, or
|
published by the Free Software Foundation; either version 2, or (at
|
||||||
(at your option) any later version. A copy of the license is
|
your option) any later version. A copy of the license is included
|
||||||
included in the section entitled "GNU General Public License".
|
in the section entitled "GNU General Public License".
|
||||||
|
|
||||||
|
|
||||||
* Menu:
|
* Menu:
|
||||||
|
|
||||||
@@ -61,20 +58,20 @@ is found. The calling convention is also sometimes called the "ABI" or
|
|||||||
Some programs may not know at the time of compilation what arguments
|
Some programs may not know at the time of compilation what arguments
|
||||||
are to be passed to a function. For instance, an interpreter may be
|
are to be passed to a function. For instance, an interpreter may be
|
||||||
told at run-time about the number and types of arguments used to call a
|
told at run-time about the number and types of arguments used to call a
|
||||||
given function. `Libffi' can be used in such programs to provide a
|
given function. 'Libffi' can be used in such programs to provide a
|
||||||
bridge from the interpreter program to compiled code.
|
bridge from the interpreter program to compiled code.
|
||||||
|
|
||||||
The `libffi' library provides a portable, high level programming
|
The 'libffi' library provides a portable, high level programming
|
||||||
interface to various calling conventions. This allows a programmer to
|
interface to various calling conventions. This allows a programmer to
|
||||||
call any function specified by a call interface description at run time.
|
call any function specified by a call interface description at run time.
|
||||||
|
|
||||||
FFI stands for Foreign Function Interface. A foreign function
|
FFI stands for Foreign Function Interface. A foreign function
|
||||||
interface is the popular name for the interface that allows code
|
interface is the popular name for the interface that allows code written
|
||||||
written in one language to call code written in another language. The
|
in one language to call code written in another language. The 'libffi'
|
||||||
`libffi' library really only provides the lowest, machine dependent
|
library really only provides the lowest, machine dependent layer of a
|
||||||
layer of a fully featured foreign function interface. A layer must
|
fully featured foreign function interface. A layer must exist above
|
||||||
exist above `libffi' that handles type conversions for values passed
|
'libffi' that handles type conversions for values passed between the two
|
||||||
between the two languages.
|
languages.
|
||||||
|
|
||||||
|
|
||||||
File: libffi.info, Node: Using libffi, Next: Missing Features, Prev: Introduction, Up: Top
|
File: libffi.info, Node: Using libffi, Next: Missing Features, Prev: Introduction, Up: Top
|
||||||
@@ -97,45 +94,45 @@ File: libffi.info, Node: The Basics, Next: Simple Example, Up: Using libffi
|
|||||||
2.1 The Basics
|
2.1 The Basics
|
||||||
==============
|
==============
|
||||||
|
|
||||||
`Libffi' assumes that you have a pointer to the function you wish to
|
'Libffi' assumes that you have a pointer to the function you wish to
|
||||||
call and that you know the number and types of arguments to pass it, as
|
call and that you know the number and types of arguments to pass it, as
|
||||||
well as the return type of the function.
|
well as the return type of the function.
|
||||||
|
|
||||||
The first thing you must do is create an `ffi_cif' object that
|
The first thing you must do is create an 'ffi_cif' object that
|
||||||
matches the signature of the function you wish to call. This is a
|
matches the signature of the function you wish to call. This is a
|
||||||
separate step because it is common to make multiple calls using a
|
separate step because it is common to make multiple calls using a single
|
||||||
single `ffi_cif'. The "cif" in `ffi_cif' stands for Call InterFace.
|
'ffi_cif'. The "cif" in 'ffi_cif' stands for Call InterFace. To
|
||||||
To prepare a call interface object, use the function `ffi_prep_cif'.
|
prepare a call interface object, use the function 'ffi_prep_cif'.
|
||||||
|
|
||||||
-- Function: ffi_status ffi_prep_cif (ffi_cif *CIF, ffi_abi ABI,
|
-- Function: ffi_status ffi_prep_cif (ffi_cif *CIF, ffi_abi ABI,
|
||||||
unsigned int NARGS, ffi_type *RTYPE, ffi_type **ARGTYPES)
|
unsigned int NARGS, ffi_type *RTYPE, ffi_type **ARGTYPES)
|
||||||
This initializes CIF according to the given parameters.
|
This initializes CIF according to the given parameters.
|
||||||
|
|
||||||
ABI is the ABI to use; normally `FFI_DEFAULT_ABI' is what you
|
ABI is the ABI to use; normally 'FFI_DEFAULT_ABI' is what you want.
|
||||||
want. *note Multiple ABIs:: for more information.
|
*note Multiple ABIs:: for more information.
|
||||||
|
|
||||||
NARGS is the number of arguments that this function accepts.
|
NARGS is the number of arguments that this function accepts.
|
||||||
|
|
||||||
RTYPE is a pointer to an `ffi_type' structure that describes the
|
RTYPE is a pointer to an 'ffi_type' structure that describes the
|
||||||
return type of the function. *Note Types::.
|
return type of the function. *Note Types::.
|
||||||
|
|
||||||
ARGTYPES is a vector of `ffi_type' pointers. ARGTYPES must have
|
ARGTYPES is a vector of 'ffi_type' pointers. ARGTYPES must have
|
||||||
NARGS elements. If NARGS is 0, this argument is ignored.
|
NARGS elements. If NARGS is 0, this argument is ignored.
|
||||||
|
|
||||||
`ffi_prep_cif' returns a `libffi' status code, of type
|
'ffi_prep_cif' returns a 'libffi' status code, of type
|
||||||
`ffi_status'. This will be either `FFI_OK' if everything worked
|
'ffi_status'. This will be either 'FFI_OK' if everything worked
|
||||||
properly; `FFI_BAD_TYPEDEF' if one of the `ffi_type' objects is
|
properly; 'FFI_BAD_TYPEDEF' if one of the 'ffi_type' objects is
|
||||||
incorrect; or `FFI_BAD_ABI' if the ABI parameter is invalid.
|
incorrect; or 'FFI_BAD_ABI' if the ABI parameter is invalid.
|
||||||
|
|
||||||
If the function being called is variadic (varargs) then
|
If the function being called is variadic (varargs) then
|
||||||
`ffi_prep_cif_var' must be used instead of `ffi_prep_cif'.
|
'ffi_prep_cif_var' must be used instead of 'ffi_prep_cif'.
|
||||||
|
|
||||||
-- Function: ffi_status ffi_prep_cif_var (ffi_cif *CIF, ffi_abi
|
-- Function: ffi_status ffi_prep_cif_var (ffi_cif *CIF, ffi_abi varabi,
|
||||||
varabi, unsigned int NFIXEDARGS, unsigned int varntotalargs,
|
unsigned int NFIXEDARGS, unsigned int varntotalargs, ffi_type
|
||||||
ffi_type *RTYPE, ffi_type **ARGTYPES)
|
*RTYPE, ffi_type **ARGTYPES)
|
||||||
This initializes CIF according to the given parameters for a call
|
This initializes CIF according to the given parameters for a call
|
||||||
to a variadic function. In general it's operation is the same as
|
to a variadic function. In general it's operation is the same as
|
||||||
for `ffi_prep_cif' except that:
|
for 'ffi_prep_cif' except that:
|
||||||
|
|
||||||
NFIXEDARGS is the number of fixed arguments, prior to any variadic
|
NFIXEDARGS is the number of fixed arguments, prior to any variadic
|
||||||
arguments. It must be greater than zero.
|
arguments. It must be greater than zero.
|
||||||
@@ -146,27 +143,26 @@ To prepare a call interface object, use the function `ffi_prep_cif'.
|
|||||||
Note that, different cif's must be prepped for calls to the same
|
Note that, different cif's must be prepped for calls to the same
|
||||||
function when different numbers of arguments are passed.
|
function when different numbers of arguments are passed.
|
||||||
|
|
||||||
Also note that a call to `ffi_prep_cif_var' with
|
Also note that a call to 'ffi_prep_cif_var' with
|
||||||
NFIXEDARGS=NOTOTALARGS is NOT equivalent to a call to
|
NFIXEDARGS=NOTOTALARGS is NOT equivalent to a call to
|
||||||
`ffi_prep_cif'.
|
'ffi_prep_cif'.
|
||||||
|
|
||||||
|
To call a function using an initialized 'ffi_cif', use the 'ffi_call'
|
||||||
To call a function using an initialized `ffi_cif', use the
|
function:
|
||||||
`ffi_call' function:
|
|
||||||
|
|
||||||
-- Function: void ffi_call (ffi_cif *CIF, void *FN, void *RVALUE, void
|
-- Function: void ffi_call (ffi_cif *CIF, void *FN, void *RVALUE, void
|
||||||
**AVALUES)
|
**AVALUES)
|
||||||
This calls the function FN according to the description given in
|
This calls the function FN according to the description given in
|
||||||
CIF. CIF must have already been prepared using `ffi_prep_cif'.
|
CIF. CIF must have already been prepared using 'ffi_prep_cif'.
|
||||||
|
|
||||||
RVALUE is a pointer to a chunk of memory that will hold the result
|
RVALUE is a pointer to a chunk of memory that will hold the result
|
||||||
of the function call. This must be large enough to hold the
|
of the function call. This must be large enough to hold the result
|
||||||
result and must be suitably aligned; it is the caller's
|
and must be suitably aligned; it is the caller's responsibility to
|
||||||
responsibility to ensure this. If CIF declares that the function
|
ensure this. If CIF declares that the function returns 'void'
|
||||||
returns `void' (using `ffi_type_void'), then RVALUE is ignored.
|
(using 'ffi_type_void'), then RVALUE is ignored. If RVALUE is
|
||||||
If RVALUE is `NULL', then the return value is discarded.
|
'NULL', then the return value is discarded.
|
||||||
|
|
||||||
AVALUES is a vector of `void *' pointers that point to the memory
|
AVALUES is a vector of 'void *' pointers that point to the memory
|
||||||
locations holding the argument values for a call. If CIF declares
|
locations holding the argument values for a call. If CIF declares
|
||||||
that the function has no arguments (i.e., NARGS was 0), then
|
that the function has no arguments (i.e., NARGS was 0), then
|
||||||
AVALUES is ignored. Note that argument values may be modified by
|
AVALUES is ignored. Note that argument values may be modified by
|
||||||
@@ -179,7 +175,7 @@ File: libffi.info, Node: Simple Example, Next: Types, Prev: The Basics, Up:
|
|||||||
2.2 Simple Example
|
2.2 Simple Example
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Here is a trivial example that calls `puts' a few times.
|
Here is a trivial example that calls 'puts' a few times.
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <ffi.h>
|
#include <ffi.h>
|
||||||
@@ -232,80 +228,80 @@ File: libffi.info, Node: Primitive Types, Next: Structures, Up: Types
|
|||||||
2.3.1 Primitive Types
|
2.3.1 Primitive Types
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
`Libffi' provides a number of built-in type descriptors that can be
|
'Libffi' provides a number of built-in type descriptors that can be used
|
||||||
used to describe argument and return types:
|
to describe argument and return types:
|
||||||
|
|
||||||
`ffi_type_void'
|
'ffi_type_void'
|
||||||
The type `void'. This cannot be used for argument types, only for
|
The type 'void'. This cannot be used for argument types, only for
|
||||||
return values.
|
return values.
|
||||||
|
|
||||||
`ffi_type_uint8'
|
'ffi_type_uint8'
|
||||||
An unsigned, 8-bit integer type.
|
An unsigned, 8-bit integer type.
|
||||||
|
|
||||||
`ffi_type_sint8'
|
'ffi_type_sint8'
|
||||||
A signed, 8-bit integer type.
|
A signed, 8-bit integer type.
|
||||||
|
|
||||||
`ffi_type_uint16'
|
'ffi_type_uint16'
|
||||||
An unsigned, 16-bit integer type.
|
An unsigned, 16-bit integer type.
|
||||||
|
|
||||||
`ffi_type_sint16'
|
'ffi_type_sint16'
|
||||||
A signed, 16-bit integer type.
|
A signed, 16-bit integer type.
|
||||||
|
|
||||||
`ffi_type_uint32'
|
'ffi_type_uint32'
|
||||||
An unsigned, 32-bit integer type.
|
An unsigned, 32-bit integer type.
|
||||||
|
|
||||||
`ffi_type_sint32'
|
'ffi_type_sint32'
|
||||||
A signed, 32-bit integer type.
|
A signed, 32-bit integer type.
|
||||||
|
|
||||||
`ffi_type_uint64'
|
'ffi_type_uint64'
|
||||||
An unsigned, 64-bit integer type.
|
An unsigned, 64-bit integer type.
|
||||||
|
|
||||||
`ffi_type_sint64'
|
'ffi_type_sint64'
|
||||||
A signed, 64-bit integer type.
|
A signed, 64-bit integer type.
|
||||||
|
|
||||||
`ffi_type_float'
|
'ffi_type_float'
|
||||||
The C `float' type.
|
The C 'float' type.
|
||||||
|
|
||||||
`ffi_type_double'
|
'ffi_type_double'
|
||||||
The C `double' type.
|
The C 'double' type.
|
||||||
|
|
||||||
`ffi_type_uchar'
|
'ffi_type_uchar'
|
||||||
The C `unsigned char' type.
|
The C 'unsigned char' type.
|
||||||
|
|
||||||
`ffi_type_schar'
|
'ffi_type_schar'
|
||||||
The C `signed char' type. (Note that there is not an exact
|
The C 'signed char' type. (Note that there is not an exact
|
||||||
equivalent to the C `char' type in `libffi'; ordinarily you should
|
equivalent to the C 'char' type in 'libffi'; ordinarily you should
|
||||||
either use `ffi_type_schar' or `ffi_type_uchar' depending on
|
either use 'ffi_type_schar' or 'ffi_type_uchar' depending on
|
||||||
whether `char' is signed.)
|
whether 'char' is signed.)
|
||||||
|
|
||||||
`ffi_type_ushort'
|
'ffi_type_ushort'
|
||||||
The C `unsigned short' type.
|
The C 'unsigned short' type.
|
||||||
|
|
||||||
`ffi_type_sshort'
|
'ffi_type_sshort'
|
||||||
The C `short' type.
|
The C 'short' type.
|
||||||
|
|
||||||
`ffi_type_uint'
|
'ffi_type_uint'
|
||||||
The C `unsigned int' type.
|
The C 'unsigned int' type.
|
||||||
|
|
||||||
`ffi_type_sint'
|
'ffi_type_sint'
|
||||||
The C `int' type.
|
The C 'int' type.
|
||||||
|
|
||||||
`ffi_type_ulong'
|
'ffi_type_ulong'
|
||||||
The C `unsigned long' type.
|
The C 'unsigned long' type.
|
||||||
|
|
||||||
`ffi_type_slong'
|
'ffi_type_slong'
|
||||||
The C `long' type.
|
The C 'long' type.
|
||||||
|
|
||||||
`ffi_type_longdouble'
|
'ffi_type_longdouble'
|
||||||
On platforms that have a C `long double' type, this is defined.
|
On platforms that have a C 'long double' type, this is defined. On
|
||||||
On other platforms, it is not.
|
other platforms, it is not.
|
||||||
|
|
||||||
`ffi_type_pointer'
|
'ffi_type_pointer'
|
||||||
A generic `void *' pointer. You should use this for all pointers,
|
A generic 'void *' pointer. You should use this for all pointers,
|
||||||
regardless of their real type.
|
regardless of their real type.
|
||||||
|
|
||||||
Each of these is of type `ffi_type', so you must take the address
|
Each of these is of type 'ffi_type', so you must take the address
|
||||||
when passing to `ffi_prep_cif'.
|
when passing to 'ffi_prep_cif'.
|
||||||
|
|
||||||
|
|
||||||
File: libffi.info, Node: Structures, Next: Type Example, Prev: Primitive Types, Up: Types
|
File: libffi.info, Node: Structures, Next: Type Example, Prev: Primitive Types, Up: Types
|
||||||
@@ -313,24 +309,24 @@ File: libffi.info, Node: Structures, Next: Type Example, Prev: Primitive Type
|
|||||||
2.3.2 Structures
|
2.3.2 Structures
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
Although `libffi' has no special support for unions or bit-fields, it
|
Although 'libffi' has no special support for unions or bit-fields, it is
|
||||||
is perfectly happy passing structures back and forth. You must first
|
perfectly happy passing structures back and forth. You must first
|
||||||
describe the structure to `libffi' by creating a new `ffi_type' object
|
describe the structure to 'libffi' by creating a new 'ffi_type' object
|
||||||
for it.
|
for it.
|
||||||
|
|
||||||
-- Data type: ffi_type
|
-- Data type: ffi_type
|
||||||
The `ffi_type' has the following members:
|
The 'ffi_type' has the following members:
|
||||||
`size_t size'
|
'size_t size'
|
||||||
This is set by `libffi'; you should initialize it to zero.
|
This is set by 'libffi'; you should initialize it to zero.
|
||||||
|
|
||||||
`unsigned short alignment'
|
'unsigned short alignment'
|
||||||
This is set by `libffi'; you should initialize it to zero.
|
This is set by 'libffi'; you should initialize it to zero.
|
||||||
|
|
||||||
`unsigned short type'
|
'unsigned short type'
|
||||||
For a structure, this should be set to `FFI_TYPE_STRUCT'.
|
For a structure, this should be set to 'FFI_TYPE_STRUCT'.
|
||||||
|
|
||||||
`ffi_type **elements'
|
'ffi_type **elements'
|
||||||
This is a `NULL'-terminated array of pointers to `ffi_type'
|
This is a 'NULL'-terminated array of pointers to 'ffi_type'
|
||||||
objects. There is one element per field of the struct.
|
objects. There is one element per field of the struct.
|
||||||
|
|
||||||
|
|
||||||
@@ -339,8 +335,8 @@ File: libffi.info, Node: Type Example, Prev: Structures, Up: Types
|
|||||||
2.3.3 Type Example
|
2.3.3 Type Example
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
The following example initializes a `ffi_type' object representing the
|
The following example initializes a 'ffi_type' object representing the
|
||||||
`tm' struct from Linux's `time.h'.
|
'tm' struct from Linux's 'time.h'.
|
||||||
|
|
||||||
Here is how the struct is defined:
|
Here is how the struct is defined:
|
||||||
|
|
||||||
@@ -359,7 +355,7 @@ The following example initializes a `ffi_type' object representing the
|
|||||||
__const char *__tm_zone__;
|
__const char *__tm_zone__;
|
||||||
};
|
};
|
||||||
|
|
||||||
Here is the corresponding code to describe this struct to `libffi':
|
Here is the corresponding code to describe this struct to 'libffi':
|
||||||
|
|
||||||
{
|
{
|
||||||
ffi_type tm_type;
|
ffi_type tm_type;
|
||||||
@@ -387,9 +383,9 @@ File: libffi.info, Node: Multiple ABIs, Next: The Closure API, Prev: Types,
|
|||||||
=================
|
=================
|
||||||
|
|
||||||
A given platform may provide multiple different ABIs at once. For
|
A given platform may provide multiple different ABIs at once. For
|
||||||
instance, the x86 platform has both `stdcall' and `fastcall' functions.
|
instance, the x86 platform has both 'stdcall' and 'fastcall' functions.
|
||||||
|
|
||||||
`libffi' provides some support for this. However, this is
|
'libffi' provides some support for this. However, this is
|
||||||
necessarily platform-specific.
|
necessarily platform-specific.
|
||||||
|
|
||||||
|
|
||||||
@@ -398,32 +394,32 @@ File: libffi.info, Node: The Closure API, Next: Closure Example, Prev: Multip
|
|||||||
2.5 The Closure API
|
2.5 The Closure API
|
||||||
===================
|
===================
|
||||||
|
|
||||||
`libffi' also provides a way to write a generic function - a function
|
'libffi' also provides a way to write a generic function - a function
|
||||||
that can accept and decode any combination of arguments. This can be
|
that can accept and decode any combination of arguments. This can be
|
||||||
useful when writing an interpreter, or to provide wrappers for
|
useful when writing an interpreter, or to provide wrappers for arbitrary
|
||||||
arbitrary functions.
|
functions.
|
||||||
|
|
||||||
This facility is called the "closure API". Closures are not
|
This facility is called the "closure API". Closures are not supported
|
||||||
supported on all platforms; you can check the `FFI_CLOSURES' define to
|
on all platforms; you can check the 'FFI_CLOSURES' define to determine
|
||||||
determine whether they are supported on the current platform.
|
whether they are supported on the current platform.
|
||||||
|
|
||||||
Because closures work by assembling a tiny function at runtime, they
|
Because closures work by assembling a tiny function at runtime, they
|
||||||
require special allocation on platforms that have a non-executable
|
require special allocation on platforms that have a non-executable heap.
|
||||||
heap. Memory management for closures is handled by a pair of functions:
|
Memory management for closures is handled by a pair of functions:
|
||||||
|
|
||||||
-- Function: void *ffi_closure_alloc (size_t SIZE, void **CODE)
|
-- Function: void *ffi_closure_alloc (size_t SIZE, void **CODE)
|
||||||
Allocate a chunk of memory holding SIZE bytes. This returns a
|
Allocate a chunk of memory holding SIZE bytes. This returns a
|
||||||
pointer to the writable address, and sets *CODE to the
|
pointer to the writable address, and sets *CODE to the
|
||||||
corresponding executable address.
|
corresponding executable address.
|
||||||
|
|
||||||
SIZE should be sufficient to hold a `ffi_closure' object.
|
SIZE should be sufficient to hold a 'ffi_closure' object.
|
||||||
|
|
||||||
-- Function: void ffi_closure_free (void *WRITABLE)
|
-- Function: void ffi_closure_free (void *WRITABLE)
|
||||||
Free memory allocated using `ffi_closure_alloc'. The argument is
|
Free memory allocated using 'ffi_closure_alloc'. The argument is
|
||||||
the writable address that was returned.
|
the writable address that was returned.
|
||||||
|
|
||||||
Once you have allocated the memory for a closure, you must construct
|
Once you have allocated the memory for a closure, you must construct
|
||||||
a `ffi_cif' describing the function call. Finally you can prepare the
|
a 'ffi_cif' describing the function call. Finally you can prepare the
|
||||||
closure function:
|
closure function:
|
||||||
|
|
||||||
-- Function: ffi_status ffi_prep_closure_loc (ffi_closure *CLOSURE,
|
-- Function: ffi_status ffi_prep_closure_loc (ffi_closure *CLOSURE,
|
||||||
@@ -431,40 +427,40 @@ closure function:
|
|||||||
**ARGS, void *USER_DATA), void *USER_DATA, void *CODELOC)
|
**ARGS, void *USER_DATA), void *USER_DATA, void *CODELOC)
|
||||||
Prepare a closure function.
|
Prepare a closure function.
|
||||||
|
|
||||||
CLOSURE is the address of a `ffi_closure' object; this is the
|
CLOSURE is the address of a 'ffi_closure' object; this is the
|
||||||
writable address returned by `ffi_closure_alloc'.
|
writable address returned by 'ffi_closure_alloc'.
|
||||||
|
|
||||||
CIF is the `ffi_cif' describing the function parameters.
|
CIF is the 'ffi_cif' describing the function parameters.
|
||||||
|
|
||||||
USER_DATA is an arbitrary datum that is passed, uninterpreted, to
|
USER_DATA is an arbitrary datum that is passed, uninterpreted, to
|
||||||
your closure function.
|
your closure function.
|
||||||
|
|
||||||
CODELOC is the executable address returned by `ffi_closure_alloc'.
|
CODELOC is the executable address returned by 'ffi_closure_alloc'.
|
||||||
|
|
||||||
FUN is the function which will be called when the closure is
|
FUN is the function which will be called when the closure is
|
||||||
invoked. It is called with the arguments:
|
invoked. It is called with the arguments:
|
||||||
CIF
|
CIF
|
||||||
The `ffi_cif' passed to `ffi_prep_closure_loc'.
|
The 'ffi_cif' passed to 'ffi_prep_closure_loc'.
|
||||||
|
|
||||||
RET
|
RET
|
||||||
A pointer to the memory used for the function's return value.
|
A pointer to the memory used for the function's return value.
|
||||||
FUN must fill this, unless the function is declared as
|
FUN must fill this, unless the function is declared as
|
||||||
returning `void'.
|
returning 'void'.
|
||||||
|
|
||||||
ARGS
|
ARGS
|
||||||
A vector of pointers to memory holding the arguments to the
|
A vector of pointers to memory holding the arguments to the
|
||||||
function.
|
function.
|
||||||
|
|
||||||
USER_DATA
|
USER_DATA
|
||||||
The same USER_DATA that was passed to `ffi_prep_closure_loc'.
|
The same USER_DATA that was passed to 'ffi_prep_closure_loc'.
|
||||||
|
|
||||||
`ffi_prep_closure_loc' will return `FFI_OK' if everything went ok,
|
'ffi_prep_closure_loc' will return 'FFI_OK' if everything went ok,
|
||||||
and something else on error.
|
and something else on error.
|
||||||
|
|
||||||
After calling `ffi_prep_closure_loc', you can cast CODELOC to the
|
After calling 'ffi_prep_closure_loc', you can cast CODELOC to the
|
||||||
appropriate pointer-to-function type.
|
appropriate pointer-to-function type.
|
||||||
|
|
||||||
You may see old code referring to `ffi_prep_closure'. This function
|
You may see old code referring to 'ffi_prep_closure'. This function
|
||||||
is deprecated, as it cannot handle the need for separate writable and
|
is deprecated, as it cannot handle the need for separate writable and
|
||||||
executable addresses.
|
executable addresses.
|
||||||
|
|
||||||
@@ -474,8 +470,8 @@ File: libffi.info, Node: Closure Example, Prev: The Closure API, Up: Using li
|
|||||||
2.6 Closure Example
|
2.6 Closure Example
|
||||||
===================
|
===================
|
||||||
|
|
||||||
A trivial example that creates a new `puts' by binding `fputs' with
|
A trivial example that creates a new 'puts' by binding 'fputs' with
|
||||||
`stdin'.
|
'stdin'.
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <ffi.h>
|
#include <ffi.h>
|
||||||
@@ -530,7 +526,7 @@ File: libffi.info, Node: Missing Features, Next: Index, Prev: Using libffi,
|
|||||||
3 Missing Features
|
3 Missing Features
|
||||||
******************
|
******************
|
||||||
|
|
||||||
`libffi' is missing a few features. We welcome patches to add support
|
'libffi' is missing a few features. We welcome patches to add support
|
||||||
for these.
|
for these.
|
||||||
|
|
||||||
* Variadic closures.
|
* Variadic closures.
|
||||||
@@ -560,16 +556,18 @@ Index
|
|||||||
* closure API: The Closure API. (line 13)
|
* closure API: The Closure API. (line 13)
|
||||||
* closures: The Closure API. (line 13)
|
* closures: The Closure API. (line 13)
|
||||||
* FFI: Introduction. (line 31)
|
* FFI: Introduction. (line 31)
|
||||||
* ffi_call: The Basics. (line 63)
|
* ffi_call: The Basics. (line 62)
|
||||||
|
* FFI_CLOSURES: The Closure API. (line 13)
|
||||||
* ffi_closure_alloc: The Closure API. (line 19)
|
* ffi_closure_alloc: The Closure API. (line 19)
|
||||||
* ffi_closure_free: The Closure API. (line 26)
|
* ffi_closure_free: The Closure API. (line 26)
|
||||||
* FFI_CLOSURES: The Closure API. (line 13)
|
|
||||||
* ffi_prep_cif: The Basics. (line 16)
|
* ffi_prep_cif: The Basics. (line 16)
|
||||||
* ffi_prep_cif_var: The Basics. (line 39)
|
* ffi_prep_cif_var: The Basics. (line 39)
|
||||||
* ffi_prep_closure_loc: The Closure API. (line 34)
|
* ffi_prep_closure_loc: The Closure API. (line 34)
|
||||||
* ffi_status <1>: The Closure API. (line 37)
|
* ffi_status: The Basics. (line 16)
|
||||||
* ffi_status: The Basics. (line 18)
|
* ffi_status <1>: The Basics. (line 39)
|
||||||
|
* ffi_status <2>: The Closure API. (line 34)
|
||||||
* ffi_type: Structures. (line 11)
|
* ffi_type: Structures. (line 11)
|
||||||
|
* ffi_type <1>: Structures. (line 11)
|
||||||
* ffi_type_double: Primitive Types. (line 41)
|
* ffi_type_double: Primitive Types. (line 41)
|
||||||
* ffi_type_float: Primitive Types. (line 38)
|
* ffi_type_float: Primitive Types. (line 38)
|
||||||
* ffi_type_longdouble: Primitive Types. (line 71)
|
* ffi_type_longdouble: Primitive Types. (line 71)
|
||||||
@@ -592,25 +590,26 @@ Index
|
|||||||
* ffi_type_ushort: Primitive Types. (line 53)
|
* ffi_type_ushort: Primitive Types. (line 53)
|
||||||
* ffi_type_void: Primitive Types. (line 10)
|
* ffi_type_void: Primitive Types. (line 10)
|
||||||
* Foreign Function Interface: Introduction. (line 31)
|
* Foreign Function Interface: Introduction. (line 31)
|
||||||
* void <1>: The Closure API. (line 20)
|
* void: The Basics. (line 62)
|
||||||
* void: The Basics. (line 65)
|
* void <1>: The Closure API. (line 19)
|
||||||
|
* void <2>: The Closure API. (line 26)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Tag Table:
|
Tag Table:
|
||||||
Node: Top712
|
Node: Top682
|
||||||
Node: Introduction1460
|
Node: Introduction1429
|
||||||
Node: Using libffi3096
|
Node: Using libffi3061
|
||||||
Node: The Basics3582
|
Node: The Basics3547
|
||||||
Node: Simple Example7224
|
Node: Simple Example7187
|
||||||
Node: Types8251
|
Node: Types8214
|
||||||
Node: Primitive Types8534
|
Node: Primitive Types8497
|
||||||
Node: Structures10354
|
Node: Structures10318
|
||||||
Node: Type Example11224
|
Node: Type Example11192
|
||||||
Node: Multiple ABIs12447
|
Node: Multiple ABIs12415
|
||||||
Node: The Closure API12818
|
Node: The Closure API12786
|
||||||
Node: Closure Example15762
|
Node: Closure Example15730
|
||||||
Node: Missing Features17321
|
Node: Missing Features17289
|
||||||
Node: Index17774
|
Node: Index17742
|
||||||
|
|
||||||
End Tag Table
|
End Tag Table
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
@set UPDATED 16 March 2013
|
@set UPDATED 2 July 2013
|
||||||
@set UPDATED-MONTH March 2013
|
@set UPDATED-MONTH July 2013
|
||||||
@set EDITION 3.0.13
|
@set EDITION 3.0.14-rc0
|
||||||
@set VERSION 3.0.13
|
@set VERSION 3.0.14-rc0
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
@set UPDATED 16 March 2013
|
@set UPDATED 2 July 2013
|
||||||
@set UPDATED-MONTH March 2013
|
@set UPDATED-MONTH July 2013
|
||||||
@set EDITION 3.0.13
|
@set EDITION 3.0.14-rc0
|
||||||
@set VERSION 3.0.13
|
@set VERSION 3.0.14-rc0
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Makefile.in generated by automake 1.12.2 from Makefile.am.
|
# Makefile.in generated by automake 1.13.4 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
|
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@@ -15,23 +15,51 @@
|
|||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
|
|
||||||
VPATH = @srcdir@
|
VPATH = @srcdir@
|
||||||
am__make_dryrun = \
|
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||||
{ \
|
am__make_running_with_option = \
|
||||||
am__dry=no; \
|
case $${target_option-} in \
|
||||||
|
?) ;; \
|
||||||
|
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||||
|
"target option '$${target_option-}' specified" >&2; \
|
||||||
|
exit 1;; \
|
||||||
|
esac; \
|
||||||
|
has_opt=no; \
|
||||||
|
sane_makeflags=$$MAKEFLAGS; \
|
||||||
|
if $(am__is_gnu_make); then \
|
||||||
|
sane_makeflags=$$MFLAGS; \
|
||||||
|
else \
|
||||||
case $$MAKEFLAGS in \
|
case $$MAKEFLAGS in \
|
||||||
*\\[\ \ ]*) \
|
*\\[\ \ ]*) \
|
||||||
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
|
bs=\\; \
|
||||||
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
|
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||||
*) \
|
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||||
for am__flg in $$MAKEFLAGS; do \
|
|
||||||
case $$am__flg in \
|
|
||||||
*=*|--*) ;; \
|
|
||||||
*n*) am__dry=yes; break;; \
|
|
||||||
esac; \
|
|
||||||
done;; \
|
|
||||||
esac; \
|
esac; \
|
||||||
test $$am__dry = yes; \
|
fi; \
|
||||||
}
|
skip_next=no; \
|
||||||
|
strip_trailopt () \
|
||||||
|
{ \
|
||||||
|
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||||
|
}; \
|
||||||
|
for flg in $$sane_makeflags; do \
|
||||||
|
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||||
|
case $$flg in \
|
||||||
|
*=*|--*) continue;; \
|
||||||
|
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||||
|
-*I?*) strip_trailopt 'I';; \
|
||||||
|
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||||
|
-*O?*) strip_trailopt 'O';; \
|
||||||
|
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||||
|
-*l?*) strip_trailopt 'l';; \
|
||||||
|
-[dEDm]) skip_next=yes;; \
|
||||||
|
-[JT]) skip_next=yes;; \
|
||||||
|
esac; \
|
||||||
|
case $$flg in \
|
||||||
|
*$$target_option*) has_opt=yes; break;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
test $$has_opt = yes
|
||||||
|
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||||
|
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||||
pkgdatadir = $(datadir)/@PACKAGE@
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
pkgincludedir = $(includedir)/@PACKAGE@
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
pkglibdir = $(libdir)/@PACKAGE@
|
pkglibdir = $(libdir)/@PACKAGE@
|
||||||
@@ -52,7 +80,7 @@ build_triplet = @build@
|
|||||||
host_triplet = @host@
|
host_triplet = @host@
|
||||||
target_triplet = @target@
|
target_triplet = @target@
|
||||||
subdir = include
|
subdir = include
|
||||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
|
||||||
$(srcdir)/ffi.h.in
|
$(srcdir)/ffi.h.in
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
|
am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
|
||||||
@@ -75,6 +103,18 @@ mkinstalldirs = $(install_sh) -d
|
|||||||
CONFIG_HEADER = $(top_builddir)/fficonfig.h
|
CONFIG_HEADER = $(top_builddir)/fficonfig.h
|
||||||
CONFIG_CLEAN_FILES = ffi.h ffitarget.h
|
CONFIG_CLEAN_FILES = ffi.h ffitarget.h
|
||||||
CONFIG_CLEAN_VPATH_FILES =
|
CONFIG_CLEAN_VPATH_FILES =
|
||||||
|
AM_V_P = $(am__v_P_@AM_V@)
|
||||||
|
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||||
|
am__v_P_0 = false
|
||||||
|
am__v_P_1 = :
|
||||||
|
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||||
|
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||||
|
am__v_GEN_0 = @echo " GEN " $@;
|
||||||
|
am__v_GEN_1 =
|
||||||
|
AM_V_at = $(am__v_at_@AM_V@)
|
||||||
|
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||||
|
am__v_at_0 = @
|
||||||
|
am__v_at_1 =
|
||||||
SOURCES =
|
SOURCES =
|
||||||
DIST_SOURCES =
|
DIST_SOURCES =
|
||||||
am__can_run_installinfo = \
|
am__can_run_installinfo = \
|
||||||
@@ -111,12 +151,30 @@ am__uninstall_files_from_dir = { \
|
|||||||
}
|
}
|
||||||
am__installdirs = "$(DESTDIR)$(includesdir)"
|
am__installdirs = "$(DESTDIR)$(includesdir)"
|
||||||
HEADERS = $(nodist_includes_HEADERS)
|
HEADERS = $(nodist_includes_HEADERS)
|
||||||
|
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||||
|
# Read a list of newline-separated strings from the standard input,
|
||||||
|
# and print each of them once, without duplicates. Input order is
|
||||||
|
# *not* preserved.
|
||||||
|
am__uniquify_input = $(AWK) '\
|
||||||
|
BEGIN { nonempty = 0; } \
|
||||||
|
{ items[$$0] = 1; nonempty = 1; } \
|
||||||
|
END { if (nonempty) { for (i in items) print i; }; } \
|
||||||
|
'
|
||||||
|
# Make sure the list of sources is unique. This is necessary because,
|
||||||
|
# e.g., the same source file might be shared among _SOURCES variables
|
||||||
|
# for different programs/libraries.
|
||||||
|
am__define_uniq_tagged_files = \
|
||||||
|
list='$(am__tagged_files)'; \
|
||||||
|
unique=`for i in $$list; do \
|
||||||
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
|
done | $(am__uniquify_input)`
|
||||||
ETAGS = etags
|
ETAGS = etags
|
||||||
CTAGS = ctags
|
CTAGS = ctags
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
ACLOCAL = @ACLOCAL@
|
ACLOCAL = @ACLOCAL@
|
||||||
ALLOCA = @ALLOCA@
|
ALLOCA = @ALLOCA@
|
||||||
AMTAR = @AMTAR@
|
AMTAR = @AMTAR@
|
||||||
|
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||||
AM_LTLDFLAGS = @AM_LTLDFLAGS@
|
AM_LTLDFLAGS = @AM_LTLDFLAGS@
|
||||||
AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
|
AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
|
||||||
AR = @AR@
|
AR = @AR@
|
||||||
@@ -315,26 +373,15 @@ uninstall-nodist_includesHEADERS:
|
|||||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||||
dir='$(DESTDIR)$(includesdir)'; $(am__uninstall_files_from_dir)
|
dir='$(DESTDIR)$(includesdir)'; $(am__uninstall_files_from_dir)
|
||||||
|
|
||||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
ID: $(am__tagged_files)
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||||
unique=`for i in $$list; do \
|
tags: tags-am
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
TAGS: tags
|
||||||
done | \
|
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
|
||||||
mkid -fID $$unique
|
|
||||||
tags: TAGS
|
|
||||||
|
|
||||||
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||||
$(TAGS_FILES) $(LISP)
|
|
||||||
set x; \
|
set x; \
|
||||||
here=`pwd`; \
|
here=`pwd`; \
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
$(am__define_uniq_tagged_files); \
|
||||||
unique=`for i in $$list; do \
|
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
|
||||||
done | \
|
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
|
||||||
shift; \
|
shift; \
|
||||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||||
test -n "$$unique" || unique=$$empty_fix; \
|
test -n "$$unique" || unique=$$empty_fix; \
|
||||||
@@ -346,15 +393,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
|||||||
$$unique; \
|
$$unique; \
|
||||||
fi; \
|
fi; \
|
||||||
fi
|
fi
|
||||||
ctags: CTAGS
|
ctags: ctags-am
|
||||||
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
|
||||||
$(TAGS_FILES) $(LISP)
|
CTAGS: ctags
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||||
unique=`for i in $$list; do \
|
$(am__define_uniq_tagged_files); \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
|
||||||
done | \
|
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
|
||||||
test -z "$(CTAGS_ARGS)$$unique" \
|
test -z "$(CTAGS_ARGS)$$unique" \
|
||||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||||
$$unique
|
$$unique
|
||||||
@@ -363,9 +406,10 @@ GTAGS:
|
|||||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||||
&& $(am__cd) $(top_srcdir) \
|
&& $(am__cd) $(top_srcdir) \
|
||||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||||
|
cscopelist: cscopelist-am
|
||||||
|
|
||||||
cscopelist: $(HEADERS) $(SOURCES) $(LISP)
|
cscopelist-am: $(am__tagged_files)
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP)'; \
|
list='$(am__tagged_files)'; \
|
||||||
case "$(srcdir)" in \
|
case "$(srcdir)" in \
|
||||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||||
@@ -517,18 +561,19 @@ uninstall-am: uninstall-nodist_includesHEADERS
|
|||||||
|
|
||||||
.MAKE: install-am install-strip
|
.MAKE: install-am install-strip
|
||||||
|
|
||||||
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
|
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
|
||||||
clean-libtool cscopelist ctags distclean distclean-generic \
|
clean-libtool cscopelist-am ctags ctags-am distclean \
|
||||||
distclean-libtool distclean-tags distdir dvi dvi-am html \
|
distclean-generic distclean-libtool distclean-tags distdir dvi \
|
||||||
html-am info info-am install install-am install-data \
|
dvi-am html html-am info info-am install install-am \
|
||||||
install-data-am install-dvi install-dvi-am install-exec \
|
install-data install-data-am install-dvi install-dvi-am \
|
||||||
install-exec-am install-html install-html-am install-info \
|
install-exec install-exec-am install-html install-html-am \
|
||||||
install-info-am install-man install-nodist_includesHEADERS \
|
install-info install-info-am install-man \
|
||||||
install-pdf install-pdf-am install-ps install-ps-am \
|
install-nodist_includesHEADERS install-pdf install-pdf-am \
|
||||||
install-strip installcheck installcheck-am installdirs \
|
install-ps install-ps-am install-strip installcheck \
|
||||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
installcheck-am installdirs maintainer-clean \
|
||||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
||||||
tags uninstall uninstall-am uninstall-nodist_includesHEADERS
|
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
|
||||||
|
uninstall-am uninstall-nodist_includesHEADERS
|
||||||
|
|
||||||
|
|
||||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
|
|||||||
35
install-sh
35
install-sh
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# install - install a program, script, or datafile
|
# install - install a program, script, or datafile
|
||||||
|
|
||||||
scriptversion=2009-04-28.21; # UTC
|
scriptversion=2011-11-20.07; # UTC
|
||||||
|
|
||||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||||
@@ -35,7 +35,7 @@ scriptversion=2009-04-28.21; # UTC
|
|||||||
# FSF changes to this file are in the public domain.
|
# FSF changes to this file are in the public domain.
|
||||||
#
|
#
|
||||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||||
# `make' implicit rules from creating a file called install from it
|
# 'make' implicit rules from creating a file called install from it
|
||||||
# when there is no Makefile.
|
# when there is no Makefile.
|
||||||
#
|
#
|
||||||
# This script is compatible with the BSD install script, but was written
|
# This script is compatible with the BSD install script, but was written
|
||||||
@@ -156,6 +156,10 @@ while test $# -ne 0; do
|
|||||||
-s) stripcmd=$stripprog;;
|
-s) stripcmd=$stripprog;;
|
||||||
|
|
||||||
-t) dst_arg=$2
|
-t) dst_arg=$2
|
||||||
|
# Protect names problematic for 'test' and other utilities.
|
||||||
|
case $dst_arg in
|
||||||
|
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
||||||
|
esac
|
||||||
shift;;
|
shift;;
|
||||||
|
|
||||||
-T) no_target_directory=true;;
|
-T) no_target_directory=true;;
|
||||||
@@ -186,6 +190,10 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
|||||||
fi
|
fi
|
||||||
shift # arg
|
shift # arg
|
||||||
dst_arg=$arg
|
dst_arg=$arg
|
||||||
|
# Protect names problematic for 'test' and other utilities.
|
||||||
|
case $dst_arg in
|
||||||
|
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
||||||
|
esac
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -194,13 +202,17 @@ if test $# -eq 0; then
|
|||||||
echo "$0: no input file specified." >&2
|
echo "$0: no input file specified." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
# It's OK to call `install-sh -d' without argument.
|
# It's OK to call 'install-sh -d' without argument.
|
||||||
# This can happen when creating conditional directories.
|
# This can happen when creating conditional directories.
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -z "$dir_arg"; then
|
if test -z "$dir_arg"; then
|
||||||
trap '(exit $?); exit' 1 2 13 15
|
do_exit='(exit $ret); exit $ret'
|
||||||
|
trap "ret=129; $do_exit" 1
|
||||||
|
trap "ret=130; $do_exit" 2
|
||||||
|
trap "ret=141; $do_exit" 13
|
||||||
|
trap "ret=143; $do_exit" 15
|
||||||
|
|
||||||
# Set umask so as not to create temps with too-generous modes.
|
# Set umask so as not to create temps with too-generous modes.
|
||||||
# However, 'strip' requires both read and write access to temps.
|
# However, 'strip' requires both read and write access to temps.
|
||||||
@@ -228,9 +240,9 @@ fi
|
|||||||
|
|
||||||
for src
|
for src
|
||||||
do
|
do
|
||||||
# Protect names starting with `-'.
|
# Protect names problematic for 'test' and other utilities.
|
||||||
case $src in
|
case $src in
|
||||||
-*) src=./$src;;
|
-* | [=\(\)!]) src=./$src;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if test -n "$dir_arg"; then
|
if test -n "$dir_arg"; then
|
||||||
@@ -252,12 +264,7 @@ do
|
|||||||
echo "$0: no destination specified." >&2
|
echo "$0: no destination specified." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dst=$dst_arg
|
dst=$dst_arg
|
||||||
# Protect names starting with `-'.
|
|
||||||
case $dst in
|
|
||||||
-*) dst=./$dst;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# If destination is a directory, append the input filename; won't work
|
# If destination is a directory, append the input filename; won't work
|
||||||
# if double slashes aren't ignored.
|
# if double slashes aren't ignored.
|
||||||
@@ -347,7 +354,7 @@ do
|
|||||||
if test -z "$dir_arg" || {
|
if test -z "$dir_arg" || {
|
||||||
# Check for POSIX incompatibilities with -m.
|
# Check for POSIX incompatibilities with -m.
|
||||||
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||||
# other-writeable bit of parent directory when it shouldn't.
|
# other-writable bit of parent directory when it shouldn't.
|
||||||
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||||
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
||||||
case $ls_ld_tmpdir in
|
case $ls_ld_tmpdir in
|
||||||
@@ -385,7 +392,7 @@ do
|
|||||||
|
|
||||||
case $dstdir in
|
case $dstdir in
|
||||||
/*) prefix='/';;
|
/*) prefix='/';;
|
||||||
-*) prefix='./';;
|
[-=\(\)!]*) prefix='./';;
|
||||||
*) prefix='';;
|
*) prefix='';;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
@@ -403,7 +410,7 @@ do
|
|||||||
|
|
||||||
for d
|
for d
|
||||||
do
|
do
|
||||||
test -z "$d" && continue
|
test X"$d" = X && continue
|
||||||
|
|
||||||
prefix=$prefix$d
|
prefix=$prefix$d
|
||||||
if test -d "$prefix"; then
|
if test -d "$prefix"; then
|
||||||
|
|||||||
116
man/Makefile.in
116
man/Makefile.in
@@ -1,7 +1,7 @@
|
|||||||
# Makefile.in generated by automake 1.12.2 from Makefile.am.
|
# Makefile.in generated by automake 1.13.4 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
|
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@@ -14,23 +14,51 @@
|
|||||||
|
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
VPATH = @srcdir@
|
VPATH = @srcdir@
|
||||||
am__make_dryrun = \
|
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||||
{ \
|
am__make_running_with_option = \
|
||||||
am__dry=no; \
|
case $${target_option-} in \
|
||||||
|
?) ;; \
|
||||||
|
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||||
|
"target option '$${target_option-}' specified" >&2; \
|
||||||
|
exit 1;; \
|
||||||
|
esac; \
|
||||||
|
has_opt=no; \
|
||||||
|
sane_makeflags=$$MAKEFLAGS; \
|
||||||
|
if $(am__is_gnu_make); then \
|
||||||
|
sane_makeflags=$$MFLAGS; \
|
||||||
|
else \
|
||||||
case $$MAKEFLAGS in \
|
case $$MAKEFLAGS in \
|
||||||
*\\[\ \ ]*) \
|
*\\[\ \ ]*) \
|
||||||
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
|
bs=\\; \
|
||||||
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
|
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||||
*) \
|
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||||
for am__flg in $$MAKEFLAGS; do \
|
|
||||||
case $$am__flg in \
|
|
||||||
*=*|--*) ;; \
|
|
||||||
*n*) am__dry=yes; break;; \
|
|
||||||
esac; \
|
|
||||||
done;; \
|
|
||||||
esac; \
|
esac; \
|
||||||
test $$am__dry = yes; \
|
fi; \
|
||||||
}
|
skip_next=no; \
|
||||||
|
strip_trailopt () \
|
||||||
|
{ \
|
||||||
|
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||||
|
}; \
|
||||||
|
for flg in $$sane_makeflags; do \
|
||||||
|
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||||
|
case $$flg in \
|
||||||
|
*=*|--*) continue;; \
|
||||||
|
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||||
|
-*I?*) strip_trailopt 'I';; \
|
||||||
|
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||||
|
-*O?*) strip_trailopt 'O';; \
|
||||||
|
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||||
|
-*l?*) strip_trailopt 'l';; \
|
||||||
|
-[dEDm]) skip_next=yes;; \
|
||||||
|
-[JT]) skip_next=yes;; \
|
||||||
|
esac; \
|
||||||
|
case $$flg in \
|
||||||
|
*$$target_option*) has_opt=yes; break;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
test $$has_opt = yes
|
||||||
|
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||||
|
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||||
pkgdatadir = $(datadir)/@PACKAGE@
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
pkgincludedir = $(includedir)/@PACKAGE@
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
pkglibdir = $(libdir)/@PACKAGE@
|
pkglibdir = $(libdir)/@PACKAGE@
|
||||||
@@ -51,7 +79,7 @@ build_triplet = @build@
|
|||||||
host_triplet = @host@
|
host_triplet = @host@
|
||||||
target_triplet = @target@
|
target_triplet = @target@
|
||||||
subdir = man
|
subdir = man
|
||||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
|
am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
|
||||||
$(top_srcdir)/m4/ax_append_flag.m4 \
|
$(top_srcdir)/m4/ax_append_flag.m4 \
|
||||||
@@ -73,6 +101,18 @@ mkinstalldirs = $(install_sh) -d
|
|||||||
CONFIG_HEADER = $(top_builddir)/fficonfig.h
|
CONFIG_HEADER = $(top_builddir)/fficonfig.h
|
||||||
CONFIG_CLEAN_FILES =
|
CONFIG_CLEAN_FILES =
|
||||||
CONFIG_CLEAN_VPATH_FILES =
|
CONFIG_CLEAN_VPATH_FILES =
|
||||||
|
AM_V_P = $(am__v_P_@AM_V@)
|
||||||
|
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||||
|
am__v_P_0 = false
|
||||||
|
am__v_P_1 = :
|
||||||
|
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||||
|
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||||
|
am__v_GEN_0 = @echo " GEN " $@;
|
||||||
|
am__v_GEN_1 =
|
||||||
|
AM_V_at = $(am__v_at_@AM_V@)
|
||||||
|
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||||
|
am__v_at_0 = @
|
||||||
|
am__v_at_1 =
|
||||||
SOURCES =
|
SOURCES =
|
||||||
DIST_SOURCES =
|
DIST_SOURCES =
|
||||||
am__can_run_installinfo = \
|
am__can_run_installinfo = \
|
||||||
@@ -111,10 +151,12 @@ man3dir = $(mandir)/man3
|
|||||||
am__installdirs = "$(DESTDIR)$(man3dir)"
|
am__installdirs = "$(DESTDIR)$(man3dir)"
|
||||||
NROFF = nroff
|
NROFF = nroff
|
||||||
MANS = $(man_MANS)
|
MANS = $(man_MANS)
|
||||||
|
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
ACLOCAL = @ACLOCAL@
|
ACLOCAL = @ACLOCAL@
|
||||||
ALLOCA = @ALLOCA@
|
ALLOCA = @ALLOCA@
|
||||||
AMTAR = @AMTAR@
|
AMTAR = @AMTAR@
|
||||||
|
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||||
AM_LTLDFLAGS = @AM_LTLDFLAGS@
|
AM_LTLDFLAGS = @AM_LTLDFLAGS@
|
||||||
AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
|
AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
|
||||||
AR = @AR@
|
AR = @AR@
|
||||||
@@ -330,29 +372,14 @@ uninstall-man3:
|
|||||||
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
|
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
|
||||||
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
|
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
|
||||||
dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir)
|
dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir)
|
||||||
tags: TAGS
|
tags TAGS:
|
||||||
TAGS:
|
|
||||||
|
|
||||||
ctags: CTAGS
|
ctags CTAGS:
|
||||||
CTAGS:
|
|
||||||
|
|
||||||
cscope cscopelist:
|
cscope cscopelist:
|
||||||
|
|
||||||
|
|
||||||
distdir: $(DISTFILES)
|
distdir: $(DISTFILES)
|
||||||
@list='$(MANS)'; if test -n "$$list"; then \
|
|
||||||
list=`for p in $$list; do \
|
|
||||||
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
|
|
||||||
if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
|
|
||||||
if test -n "$$list" && \
|
|
||||||
grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
|
|
||||||
echo "error: found man pages containing the 'missing help2man' replacement text:" >&2; \
|
|
||||||
grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
|
|
||||||
echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
|
|
||||||
echo " typically 'make maintainer-clean' will remove them" >&2; \
|
|
||||||
exit 1; \
|
|
||||||
else :; fi; \
|
|
||||||
else :; fi
|
|
||||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
list='$(DISTFILES)'; \
|
list='$(DISTFILES)'; \
|
||||||
@@ -490,16 +517,17 @@ uninstall-man: uninstall-man3
|
|||||||
.MAKE: install-am install-strip
|
.MAKE: install-am install-strip
|
||||||
|
|
||||||
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
|
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
|
||||||
distclean distclean-generic distclean-libtool distdir dvi \
|
cscopelist-am ctags-am distclean distclean-generic \
|
||||||
dvi-am html html-am info info-am install install-am \
|
distclean-libtool distdir dvi dvi-am html html-am info info-am \
|
||||||
install-data install-data-am install-dvi install-dvi-am \
|
install install-am install-data install-data-am install-dvi \
|
||||||
install-exec install-exec-am install-html install-html-am \
|
install-dvi-am install-exec install-exec-am install-html \
|
||||||
install-info install-info-am install-man install-man3 \
|
install-html-am install-info install-info-am install-man \
|
||||||
install-pdf install-pdf-am install-ps install-ps-am \
|
install-man3 install-pdf install-pdf-am install-ps \
|
||||||
install-strip installcheck installcheck-am installdirs \
|
install-ps-am install-strip installcheck installcheck-am \
|
||||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
installdirs maintainer-clean maintainer-clean-generic \
|
||||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
|
||||||
uninstall uninstall-am uninstall-man uninstall-man3
|
ps ps-am tags-am uninstall uninstall-am uninstall-man \
|
||||||
|
uninstall-man3
|
||||||
|
|
||||||
|
|
||||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
|
|||||||
49
mdate-sh
Normal file → Executable file
49
mdate-sh
Normal file → Executable file
@@ -1,10 +1,9 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# Get modification time of a file or directory and pretty-print it.
|
# Get modification time of a file or directory and pretty-print it.
|
||||||
|
|
||||||
scriptversion=2005-06-29.22
|
scriptversion=2010-08-21.06; # UTC
|
||||||
|
|
||||||
# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005 Free Software
|
# Copyright (C) 1995-2013 Free Software Foundation, Inc.
|
||||||
# Foundation, Inc.
|
|
||||||
# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
|
# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
@@ -18,8 +17,7 @@ scriptversion=2005-06-29.22
|
|||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
|
|
||||||
# As a special exception to the GNU General Public License, if you
|
# As a special exception to the GNU General Public License, if you
|
||||||
# distribute this file as part of a program that contains a
|
# distribute this file as part of a program that contains a
|
||||||
@@ -30,16 +28,26 @@ scriptversion=2005-06-29.22
|
|||||||
# bugs to <bug-automake@gnu.org> or send patches to
|
# bugs to <bug-automake@gnu.org> or send patches to
|
||||||
# <automake-patches@gnu.org>.
|
# <automake-patches@gnu.org>.
|
||||||
|
|
||||||
|
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
|
||||||
|
emulate sh
|
||||||
|
NULLCMD=:
|
||||||
|
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
|
||||||
|
# is contrary to our usage. Disable this feature.
|
||||||
|
alias -g '${1+"$@"}'='"$@"'
|
||||||
|
setopt NO_GLOB_SUBST
|
||||||
|
fi
|
||||||
|
|
||||||
case $1 in
|
case $1 in
|
||||||
'')
|
'')
|
||||||
echo "$0: No file. Try \`$0 --help' for more information." 1>&2
|
echo "$0: No file. Try '$0 --help' for more information." 1>&2
|
||||||
exit 1;
|
exit 1;
|
||||||
;;
|
;;
|
||||||
-h | --h*)
|
-h | --h*)
|
||||||
cat <<\EOF
|
cat <<\EOF
|
||||||
Usage: mdate-sh [--help] [--version] FILE
|
Usage: mdate-sh [--help] [--version] FILE
|
||||||
|
|
||||||
Pretty-print the modification time of FILE.
|
Pretty-print the modification day of FILE, in the format:
|
||||||
|
1 January 1970
|
||||||
|
|
||||||
Report bugs to <bug-automake@gnu.org>.
|
Report bugs to <bug-automake@gnu.org>.
|
||||||
EOF
|
EOF
|
||||||
@@ -51,6 +59,13 @@ EOF
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
error ()
|
||||||
|
{
|
||||||
|
echo "$0: $1" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# Prevent date giving response in another language.
|
# Prevent date giving response in another language.
|
||||||
LANG=C
|
LANG=C
|
||||||
export LANG
|
export LANG
|
||||||
@@ -60,7 +75,7 @@ LC_TIME=C
|
|||||||
export LC_TIME
|
export LC_TIME
|
||||||
|
|
||||||
# GNU ls changes its time format in response to the TIME_STYLE
|
# GNU ls changes its time format in response to the TIME_STYLE
|
||||||
# variable. Since we cannot assume `unset' works, revert this
|
# variable. Since we cannot assume 'unset' works, revert this
|
||||||
# variable to its documented default.
|
# variable to its documented default.
|
||||||
if test "${TIME_STYLE+set}" = set; then
|
if test "${TIME_STYLE+set}" = set; then
|
||||||
TIME_STYLE=posix-long-iso
|
TIME_STYLE=posix-long-iso
|
||||||
@@ -75,27 +90,32 @@ if ls -L /dev/null 1>/dev/null 2>&1; then
|
|||||||
else
|
else
|
||||||
ls_command='ls -l -d'
|
ls_command='ls -l -d'
|
||||||
fi
|
fi
|
||||||
|
# Avoid user/group names that might have spaces, when possible.
|
||||||
|
if ls -n /dev/null 1>/dev/null 2>&1; then
|
||||||
|
ls_command="$ls_command -n"
|
||||||
|
fi
|
||||||
|
|
||||||
# A `ls -l' line looks as follows on OS/2.
|
# A 'ls -l' line looks as follows on OS/2.
|
||||||
# drwxrwx--- 0 Aug 11 2001 foo
|
# drwxrwx--- 0 Aug 11 2001 foo
|
||||||
# This differs from Unix, which adds ownership information.
|
# This differs from Unix, which adds ownership information.
|
||||||
# drwxrwx--- 2 root root 4096 Aug 11 2001 foo
|
# drwxrwx--- 2 root root 4096 Aug 11 2001 foo
|
||||||
#
|
#
|
||||||
# To find the date, we split the line on spaces and iterate on words
|
# To find the date, we split the line on spaces and iterate on words
|
||||||
# until we find a month. This cannot work with files whose owner is a
|
# until we find a month. This cannot work with files whose owner is a
|
||||||
# user named `Jan', or `Feb', etc. However, it's unlikely that `/'
|
# user named "Jan", or "Feb", etc. However, it's unlikely that '/'
|
||||||
# will be owned by a user whose name is a month. So we first look at
|
# will be owned by a user whose name is a month. So we first look at
|
||||||
# the extended ls output of the root directory to decide how many
|
# the extended ls output of the root directory to decide how many
|
||||||
# words should be skipped to get the date.
|
# words should be skipped to get the date.
|
||||||
|
|
||||||
# On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below.
|
# On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below.
|
||||||
set x`ls -l -d /`
|
set x`$ls_command /`
|
||||||
|
|
||||||
# Find which argument is the month.
|
# Find which argument is the month.
|
||||||
month=
|
month=
|
||||||
command=
|
command=
|
||||||
until test $month
|
until test $month
|
||||||
do
|
do
|
||||||
|
test $# -gt 0 || error "failed parsing '$ls_command /' output"
|
||||||
shift
|
shift
|
||||||
# Add another shift to the command.
|
# Add another shift to the command.
|
||||||
command="$command shift;"
|
command="$command shift;"
|
||||||
@@ -115,8 +135,10 @@ do
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
test -n "$month" || error "failed parsing '$ls_command /' output"
|
||||||
|
|
||||||
# Get the extended ls output of the file or directory.
|
# Get the extended ls output of the file or directory.
|
||||||
set dummy x`eval "$ls_command \"\$save_arg1\""`
|
set dummy x`eval "$ls_command \"\\\$save_arg1\""`
|
||||||
|
|
||||||
# Remove all preceding arguments
|
# Remove all preceding arguments
|
||||||
eval $command
|
eval $command
|
||||||
@@ -197,5 +219,6 @@ echo $day $month $year
|
|||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
# time-stamp-start: "scriptversion="
|
# time-stamp-start: "scriptversion="
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
# time-stamp-end: "$"
|
# time-stamp-time-zone: "UTC"
|
||||||
|
# time-stamp-end: "; # UTC"
|
||||||
# End:
|
# End:
|
||||||
|
|||||||
457
missing
457
missing
@@ -1,11 +1,10 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Common stub for a few missing GNU programs while installing.
|
# Common wrapper for a few potentially missing GNU programs.
|
||||||
|
|
||||||
scriptversion=2009-04-28.21; # UTC
|
scriptversion=2012-06-26.16; # UTC
|
||||||
|
|
||||||
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
|
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
|
||||||
# 2008, 2009 Free Software Foundation, Inc.
|
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||||
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -26,69 +25,40 @@ scriptversion=2009-04-28.21; # UTC
|
|||||||
# the same distribution terms that you use for the rest of that program.
|
# the same distribution terms that you use for the rest of that program.
|
||||||
|
|
||||||
if test $# -eq 0; then
|
if test $# -eq 0; then
|
||||||
echo 1>&2 "Try \`$0 --help' for more information"
|
echo 1>&2 "Try '$0 --help' for more information"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
run=:
|
|
||||||
sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
|
|
||||||
sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
|
|
||||||
|
|
||||||
# In the cases where this matters, `missing' is being run in the
|
|
||||||
# srcdir already.
|
|
||||||
if test -f configure.ac; then
|
|
||||||
configure_ac=configure.ac
|
|
||||||
else
|
|
||||||
configure_ac=configure.in
|
|
||||||
fi
|
|
||||||
|
|
||||||
msg="missing on your system"
|
|
||||||
|
|
||||||
case $1 in
|
case $1 in
|
||||||
--run)
|
|
||||||
# Try to run requested program, and just exit if it succeeds.
|
--is-lightweight)
|
||||||
run=
|
# Used by our autoconf macros to check whether the available missing
|
||||||
shift
|
# script is modern enough.
|
||||||
"$@" && exit 0
|
exit 0
|
||||||
# Exit code 63 means version mismatch. This often happens
|
;;
|
||||||
# when the user try to use an ancient version of a tool on
|
|
||||||
# a file that requires a minimum version. In this case we
|
--run)
|
||||||
# we should proceed has if the program had been absent, or
|
# Back-compat with the calling convention used by older automake.
|
||||||
# if --run hadn't been passed.
|
shift
|
||||||
if test $? = 63; then
|
;;
|
||||||
run=:
|
|
||||||
msg="probably too old"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
-h|--h|--he|--hel|--help)
|
-h|--h|--he|--hel|--help)
|
||||||
echo "\
|
echo "\
|
||||||
$0 [OPTION]... PROGRAM [ARGUMENT]...
|
$0 [OPTION]... PROGRAM [ARGUMENT]...
|
||||||
|
|
||||||
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
|
Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
|
||||||
error status if there is no known handling for PROGRAM.
|
to PROGRAM being missing or too old.
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
-h, --help display this help and exit
|
-h, --help display this help and exit
|
||||||
-v, --version output version information and exit
|
-v, --version output version information and exit
|
||||||
--run try to run the given command, and emulate it if it fails
|
|
||||||
|
|
||||||
Supported PROGRAM values:
|
Supported PROGRAM values:
|
||||||
aclocal touch file \`aclocal.m4'
|
aclocal autoconf autoheader autom4te automake makeinfo
|
||||||
autoconf touch file \`configure'
|
bison yacc flex lex help2man
|
||||||
autoheader touch file \`config.h.in'
|
|
||||||
autom4te touch the output file, or create a stub one
|
|
||||||
automake touch all \`Makefile.in' files
|
|
||||||
bison create \`y.tab.[ch]', if possible, from existing .[ch]
|
|
||||||
flex create \`lex.yy.c', if possible, from existing .c
|
|
||||||
help2man touch the output file
|
|
||||||
lex create \`lex.yy.c', if possible, from existing .c
|
|
||||||
makeinfo touch the output file
|
|
||||||
tar try tar, gnutar, gtar, then tar without non-portable flags
|
|
||||||
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
|
|
||||||
|
|
||||||
Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
|
Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
|
||||||
\`g' are ignored when checking the name.
|
'g' are ignored when checking the name.
|
||||||
|
|
||||||
Send bug reports to <bug-automake@gnu.org>."
|
Send bug reports to <bug-automake@gnu.org>."
|
||||||
exit $?
|
exit $?
|
||||||
@@ -100,272 +70,141 @@ Send bug reports to <bug-automake@gnu.org>."
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
-*)
|
-*)
|
||||||
echo 1>&2 "$0: Unknown \`$1' option"
|
echo 1>&2 "$0: unknown '$1' option"
|
||||||
echo 1>&2 "Try \`$0 --help' for more information"
|
echo 1>&2 "Try '$0 --help' for more information"
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# normalize program name to check for.
|
# Run the given program, remember its exit status.
|
||||||
program=`echo "$1" | sed '
|
"$@"; st=$?
|
||||||
s/^gnu-//; t
|
|
||||||
s/^gnu//; t
|
|
||||||
s/^g//; t'`
|
|
||||||
|
|
||||||
# Now exit if we have it, but it failed. Also exit now if we
|
# If it succeeded, we are done.
|
||||||
# don't have it and --version was passed (most likely to detect
|
test $st -eq 0 && exit 0
|
||||||
# the program). This is about non-GNU programs, so use $1 not
|
|
||||||
# $program.
|
# Also exit now if we it failed (or wasn't found), and '--version' was
|
||||||
case $1 in
|
# passed; such an option is passed most likely to detect whether the
|
||||||
lex*|yacc*)
|
# program is present and works.
|
||||||
# Not GNU programs, they don't have --version.
|
case $2 in --version|--help) exit $st;; esac
|
||||||
|
|
||||||
|
# Exit code 63 means version mismatch. This often happens when the user
|
||||||
|
# tries to use an ancient version of a tool on a file that requires a
|
||||||
|
# minimum version.
|
||||||
|
if test $st -eq 63; then
|
||||||
|
msg="probably too old"
|
||||||
|
elif test $st -eq 127; then
|
||||||
|
# Program was missing.
|
||||||
|
msg="missing on your system"
|
||||||
|
else
|
||||||
|
# Program was found and executed, but failed. Give up.
|
||||||
|
exit $st
|
||||||
|
fi
|
||||||
|
|
||||||
|
perl_URL=http://www.perl.org/
|
||||||
|
flex_URL=http://flex.sourceforge.net/
|
||||||
|
gnu_software_URL=http://www.gnu.org/software
|
||||||
|
|
||||||
|
program_details ()
|
||||||
|
{
|
||||||
|
case $1 in
|
||||||
|
aclocal|automake)
|
||||||
|
echo "The '$1' program is part of the GNU Automake package:"
|
||||||
|
echo "<$gnu_software_URL/automake>"
|
||||||
|
echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
|
||||||
|
echo "<$gnu_software_URL/autoconf>"
|
||||||
|
echo "<$gnu_software_URL/m4/>"
|
||||||
|
echo "<$perl_URL>"
|
||||||
|
;;
|
||||||
|
autoconf|autom4te|autoheader)
|
||||||
|
echo "The '$1' program is part of the GNU Autoconf package:"
|
||||||
|
echo "<$gnu_software_URL/autoconf/>"
|
||||||
|
echo "It also requires GNU m4 and Perl in order to run:"
|
||||||
|
echo "<$gnu_software_URL/m4/>"
|
||||||
|
echo "<$perl_URL>"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
give_advice ()
|
||||||
|
{
|
||||||
|
# Normalize program name to check for.
|
||||||
|
normalized_program=`echo "$1" | sed '
|
||||||
|
s/^gnu-//; t
|
||||||
|
s/^gnu//; t
|
||||||
|
s/^g//; t'`
|
||||||
|
|
||||||
|
printf '%s\n' "'$1' is $msg."
|
||||||
|
|
||||||
|
configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
|
||||||
|
case $normalized_program in
|
||||||
|
autoconf*)
|
||||||
|
echo "You should only need it if you modified 'configure.ac',"
|
||||||
|
echo "or m4 files included by it."
|
||||||
|
program_details 'autoconf'
|
||||||
|
;;
|
||||||
|
autoheader*)
|
||||||
|
echo "You should only need it if you modified 'acconfig.h' or"
|
||||||
|
echo "$configure_deps."
|
||||||
|
program_details 'autoheader'
|
||||||
|
;;
|
||||||
|
automake*)
|
||||||
|
echo "You should only need it if you modified 'Makefile.am' or"
|
||||||
|
echo "$configure_deps."
|
||||||
|
program_details 'automake'
|
||||||
|
;;
|
||||||
|
aclocal*)
|
||||||
|
echo "You should only need it if you modified 'acinclude.m4' or"
|
||||||
|
echo "$configure_deps."
|
||||||
|
program_details 'aclocal'
|
||||||
|
;;
|
||||||
|
autom4te*)
|
||||||
|
echo "You might have modified some maintainer files that require"
|
||||||
|
echo "the 'automa4te' program to be rebuilt."
|
||||||
|
program_details 'autom4te'
|
||||||
|
;;
|
||||||
|
bison*|yacc*)
|
||||||
|
echo "You should only need it if you modified a '.y' file."
|
||||||
|
echo "You may want to install the GNU Bison package:"
|
||||||
|
echo "<$gnu_software_URL/bison/>"
|
||||||
|
;;
|
||||||
|
lex*|flex*)
|
||||||
|
echo "You should only need it if you modified a '.l' file."
|
||||||
|
echo "You may want to install the Fast Lexical Analyzer package:"
|
||||||
|
echo "<$flex_URL>"
|
||||||
|
;;
|
||||||
|
help2man*)
|
||||||
|
echo "You should only need it if you modified a dependency" \
|
||||||
|
"of a man page."
|
||||||
|
echo "You may want to install the GNU Help2man package:"
|
||||||
|
echo "<$gnu_software_URL/help2man/>"
|
||||||
;;
|
;;
|
||||||
|
makeinfo*)
|
||||||
|
echo "You should only need it if you modified a '.texi' file, or"
|
||||||
|
echo "any other file indirectly affecting the aspect of the manual."
|
||||||
|
echo "You might want to install the Texinfo package:"
|
||||||
|
echo "<$gnu_software_URL/texinfo/>"
|
||||||
|
echo "The spurious makeinfo call might also be the consequence of"
|
||||||
|
echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
|
||||||
|
echo "want to install GNU make:"
|
||||||
|
echo "<$gnu_software_URL/make/>"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "You might have modified some files without having the proper"
|
||||||
|
echo "tools for further handling them. Check the 'README' file, it"
|
||||||
|
echo "often tells you about the needed prerequisites for installing"
|
||||||
|
echo "this package. You may also peek at any GNU archive site, in"
|
||||||
|
echo "case some other package contains this missing '$1' program."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
tar*)
|
give_advice "$1" | sed -e '1s/^/WARNING: /' \
|
||||||
if test -n "$run"; then
|
-e '2,$s/^/ /' >&2
|
||||||
echo 1>&2 "ERROR: \`tar' requires --run"
|
|
||||||
exit 1
|
|
||||||
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
# Propagate the correct exit status (expected to be 127 for a program
|
||||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
# not found, 63 for a program that failed due to version mismatch).
|
||||||
# We have it, but it failed.
|
exit $st
|
||||||
exit 1
|
|
||||||
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
|
|
||||||
# Could not run --version or --help. This is probably someone
|
|
||||||
# running `$TOOL --version' or `$TOOL --help' to check whether
|
|
||||||
# $TOOL exists and not knowing $TOOL uses missing.
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# If it does not exist, or fails to run (possibly an outdated version),
|
|
||||||
# try to emulate it.
|
|
||||||
case $program in
|
|
||||||
aclocal*)
|
|
||||||
echo 1>&2 "\
|
|
||||||
WARNING: \`$1' is $msg. You should only need it if
|
|
||||||
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
|
|
||||||
to install the \`Automake' and \`Perl' packages. Grab them from
|
|
||||||
any GNU archive site."
|
|
||||||
touch aclocal.m4
|
|
||||||
;;
|
|
||||||
|
|
||||||
autoconf*)
|
|
||||||
echo 1>&2 "\
|
|
||||||
WARNING: \`$1' is $msg. You should only need it if
|
|
||||||
you modified \`${configure_ac}'. You might want to install the
|
|
||||||
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
|
|
||||||
archive site."
|
|
||||||
touch configure
|
|
||||||
;;
|
|
||||||
|
|
||||||
autoheader*)
|
|
||||||
echo 1>&2 "\
|
|
||||||
WARNING: \`$1' is $msg. You should only need it if
|
|
||||||
you modified \`acconfig.h' or \`${configure_ac}'. You might want
|
|
||||||
to install the \`Autoconf' and \`GNU m4' packages. Grab them
|
|
||||||
from any GNU archive site."
|
|
||||||
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
|
|
||||||
test -z "$files" && files="config.h"
|
|
||||||
touch_files=
|
|
||||||
for f in $files; do
|
|
||||||
case $f in
|
|
||||||
*:*) touch_files="$touch_files "`echo "$f" |
|
|
||||||
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
|
|
||||||
*) touch_files="$touch_files $f.in";;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
touch $touch_files
|
|
||||||
;;
|
|
||||||
|
|
||||||
automake*)
|
|
||||||
echo 1>&2 "\
|
|
||||||
WARNING: \`$1' is $msg. You should only need it if
|
|
||||||
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
|
|
||||||
You might want to install the \`Automake' and \`Perl' packages.
|
|
||||||
Grab them from any GNU archive site."
|
|
||||||
find . -type f -name Makefile.am -print |
|
|
||||||
sed 's/\.am$/.in/' |
|
|
||||||
while read f; do touch "$f"; done
|
|
||||||
;;
|
|
||||||
|
|
||||||
autom4te*)
|
|
||||||
echo 1>&2 "\
|
|
||||||
WARNING: \`$1' is needed, but is $msg.
|
|
||||||
You might have modified some files without having the
|
|
||||||
proper tools for further handling them.
|
|
||||||
You can get \`$1' as part of \`Autoconf' from any GNU
|
|
||||||
archive site."
|
|
||||||
|
|
||||||
file=`echo "$*" | sed -n "$sed_output"`
|
|
||||||
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
|
||||||
if test -f "$file"; then
|
|
||||||
touch $file
|
|
||||||
else
|
|
||||||
test -z "$file" || exec >$file
|
|
||||||
echo "#! /bin/sh"
|
|
||||||
echo "# Created by GNU Automake missing as a replacement of"
|
|
||||||
echo "# $ $@"
|
|
||||||
echo "exit 0"
|
|
||||||
chmod +x $file
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
bison*|yacc*)
|
|
||||||
echo 1>&2 "\
|
|
||||||
WARNING: \`$1' $msg. You should only need it if
|
|
||||||
you modified a \`.y' file. You may need the \`Bison' package
|
|
||||||
in order for those modifications to take effect. You can get
|
|
||||||
\`Bison' from any GNU archive site."
|
|
||||||
rm -f y.tab.c y.tab.h
|
|
||||||
if test $# -ne 1; then
|
|
||||||
eval LASTARG="\${$#}"
|
|
||||||
case $LASTARG in
|
|
||||||
*.y)
|
|
||||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
|
|
||||||
if test -f "$SRCFILE"; then
|
|
||||||
cp "$SRCFILE" y.tab.c
|
|
||||||
fi
|
|
||||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
|
|
||||||
if test -f "$SRCFILE"; then
|
|
||||||
cp "$SRCFILE" y.tab.h
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
if test ! -f y.tab.h; then
|
|
||||||
echo >y.tab.h
|
|
||||||
fi
|
|
||||||
if test ! -f y.tab.c; then
|
|
||||||
echo 'main() { return 0; }' >y.tab.c
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
lex*|flex*)
|
|
||||||
echo 1>&2 "\
|
|
||||||
WARNING: \`$1' is $msg. You should only need it if
|
|
||||||
you modified a \`.l' file. You may need the \`Flex' package
|
|
||||||
in order for those modifications to take effect. You can get
|
|
||||||
\`Flex' from any GNU archive site."
|
|
||||||
rm -f lex.yy.c
|
|
||||||
if test $# -ne 1; then
|
|
||||||
eval LASTARG="\${$#}"
|
|
||||||
case $LASTARG in
|
|
||||||
*.l)
|
|
||||||
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
|
|
||||||
if test -f "$SRCFILE"; then
|
|
||||||
cp "$SRCFILE" lex.yy.c
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
if test ! -f lex.yy.c; then
|
|
||||||
echo 'main() { return 0; }' >lex.yy.c
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
help2man*)
|
|
||||||
echo 1>&2 "\
|
|
||||||
WARNING: \`$1' is $msg. You should only need it if
|
|
||||||
you modified a dependency of a manual page. You may need the
|
|
||||||
\`Help2man' package in order for those modifications to take
|
|
||||||
effect. You can get \`Help2man' from any GNU archive site."
|
|
||||||
|
|
||||||
file=`echo "$*" | sed -n "$sed_output"`
|
|
||||||
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
|
||||||
if test -f "$file"; then
|
|
||||||
touch $file
|
|
||||||
else
|
|
||||||
test -z "$file" || exec >$file
|
|
||||||
echo ".ab help2man is required to generate this page"
|
|
||||||
exit $?
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
makeinfo*)
|
|
||||||
echo 1>&2 "\
|
|
||||||
WARNING: \`$1' is $msg. You should only need it if
|
|
||||||
you modified a \`.texi' or \`.texinfo' file, or any other file
|
|
||||||
indirectly affecting the aspect of the manual. The spurious
|
|
||||||
call might also be the consequence of using a buggy \`make' (AIX,
|
|
||||||
DU, IRIX). You might want to install the \`Texinfo' package or
|
|
||||||
the \`GNU make' package. Grab either from any GNU archive site."
|
|
||||||
# The file to touch is that specified with -o ...
|
|
||||||
file=`echo "$*" | sed -n "$sed_output"`
|
|
||||||
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
|
||||||
if test -z "$file"; then
|
|
||||||
# ... or it is the one specified with @setfilename ...
|
|
||||||
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
|
|
||||||
file=`sed -n '
|
|
||||||
/^@setfilename/{
|
|
||||||
s/.* \([^ ]*\) *$/\1/
|
|
||||||
p
|
|
||||||
q
|
|
||||||
}' $infile`
|
|
||||||
# ... or it is derived from the source name (dir/f.texi becomes f.info)
|
|
||||||
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
|
|
||||||
fi
|
|
||||||
# If the file does not exist, the user really needs makeinfo;
|
|
||||||
# let's fail without touching anything.
|
|
||||||
test -f $file || exit 1
|
|
||||||
touch $file
|
|
||||||
;;
|
|
||||||
|
|
||||||
tar*)
|
|
||||||
shift
|
|
||||||
|
|
||||||
# We have already tried tar in the generic part.
|
|
||||||
# Look for gnutar/gtar before invocation to avoid ugly error
|
|
||||||
# messages.
|
|
||||||
if (gnutar --version > /dev/null 2>&1); then
|
|
||||||
gnutar "$@" && exit 0
|
|
||||||
fi
|
|
||||||
if (gtar --version > /dev/null 2>&1); then
|
|
||||||
gtar "$@" && exit 0
|
|
||||||
fi
|
|
||||||
firstarg="$1"
|
|
||||||
if shift; then
|
|
||||||
case $firstarg in
|
|
||||||
*o*)
|
|
||||||
firstarg=`echo "$firstarg" | sed s/o//`
|
|
||||||
tar "$firstarg" "$@" && exit 0
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
case $firstarg in
|
|
||||||
*h*)
|
|
||||||
firstarg=`echo "$firstarg" | sed s/h//`
|
|
||||||
tar "$firstarg" "$@" && exit 0
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo 1>&2 "\
|
|
||||||
WARNING: I can't seem to be able to run \`tar' with the given arguments.
|
|
||||||
You may want to install GNU tar or Free paxutils, or check the
|
|
||||||
command line arguments."
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
echo 1>&2 "\
|
|
||||||
WARNING: \`$1' is needed, and is $msg.
|
|
||||||
You might have modified some files without having the
|
|
||||||
proper tools for further handling them. Check the \`README' file,
|
|
||||||
it often tells you about the needed prerequisites for installing
|
|
||||||
this package. You may also peek at any GNU archive site, in case
|
|
||||||
some other package would contain this missing \`$1' program."
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
# Local variables:
|
# Local variables:
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
|
|||||||
400
src/m88k/ffi.c
Normal file
400
src/m88k/ffi.c
Normal file
@@ -0,0 +1,400 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2013 Miodrag Vallat. <miod@openbsd.org>
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
* a copy of this software and associated documentation files (the
|
||||||
|
* ``Software''), to deal in the Software without restriction, including
|
||||||
|
* without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
* permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
* the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included
|
||||||
|
* in all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* m88k Foreign Function Interface
|
||||||
|
*
|
||||||
|
* This file attempts to provide all the FFI entry points which can reliably
|
||||||
|
* be implemented in C.
|
||||||
|
*
|
||||||
|
* Only OpenBSD/m88k is currently supported; other platforms (such as
|
||||||
|
* Motorola's SysV/m88k) could be supported with the following tweaks:
|
||||||
|
*
|
||||||
|
* - non-OpenBSD systems use an `outgoing parameter area' as part of the
|
||||||
|
* 88BCS calling convention, which is not supported under OpenBSD from
|
||||||
|
* release 3.6 onwards. Supporting it should be as easy as taking it
|
||||||
|
* into account when adjusting the stack, in the assembly code.
|
||||||
|
*
|
||||||
|
* - the logic deciding whether a function argument gets passed through
|
||||||
|
* registers, or on the stack, has changed several times in OpenBSD in
|
||||||
|
* edge cases (especially for structs larger than 32 bytes being passed
|
||||||
|
* by value). The code below attemps to match the logic used by the
|
||||||
|
* system compiler of OpenBSD 5.3, i.e. gcc 3.3.6 with many m88k backend
|
||||||
|
* fixes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <ffi.h>
|
||||||
|
#include <ffi_common.h>
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
void ffi_call_OBSD (unsigned int, extended_cif *, unsigned int, void *,
|
||||||
|
void (*fn) ());
|
||||||
|
void *ffi_prep_args (void *, extended_cif *);
|
||||||
|
void ffi_closure_OBSD (ffi_closure *);
|
||||||
|
void ffi_closure_struct_OBSD (ffi_closure *);
|
||||||
|
unsigned int ffi_closure_OBSD_inner (ffi_closure *, void *, unsigned int *,
|
||||||
|
char *);
|
||||||
|
void ffi_cacheflush_OBSD (unsigned int, unsigned int);
|
||||||
|
|
||||||
|
#define CIF_FLAGS_INT (1 << 0)
|
||||||
|
#define CIF_FLAGS_DINT (1 << 1)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Foreign Function Interface API
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* ffi_prep_args is called by the assembly routine once stack space has
|
||||||
|
been allocated for the function's arguments. */
|
||||||
|
|
||||||
|
void *
|
||||||
|
ffi_prep_args (void *stack, extended_cif *ecif)
|
||||||
|
{
|
||||||
|
unsigned int i;
|
||||||
|
void **p_argv;
|
||||||
|
char *argp, *stackp;
|
||||||
|
unsigned int *regp;
|
||||||
|
unsigned int regused;
|
||||||
|
ffi_type **p_arg;
|
||||||
|
void *struct_value_ptr;
|
||||||
|
|
||||||
|
regp = (unsigned int *)stack;
|
||||||
|
stackp = (char *)(regp + 8);
|
||||||
|
regused = 0;
|
||||||
|
|
||||||
|
if (ecif->cif->rtype->type == FFI_TYPE_STRUCT
|
||||||
|
&& !ecif->cif->flags)
|
||||||
|
struct_value_ptr = ecif->rvalue;
|
||||||
|
else
|
||||||
|
struct_value_ptr = NULL;
|
||||||
|
|
||||||
|
p_argv = ecif->avalue;
|
||||||
|
|
||||||
|
for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types; i != 0; i--, p_arg++)
|
||||||
|
{
|
||||||
|
size_t z;
|
||||||
|
unsigned short t, a;
|
||||||
|
|
||||||
|
z = (*p_arg)->size;
|
||||||
|
t = (*p_arg)->type;
|
||||||
|
a = (*p_arg)->alignment;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Figure out whether the argument can be passed through registers
|
||||||
|
* or on the stack.
|
||||||
|
* The rule is that registers can only receive simple types not larger
|
||||||
|
* than 64 bits, or structs the exact size of a register and aligned to
|
||||||
|
* the size of a register.
|
||||||
|
*/
|
||||||
|
if (t == FFI_TYPE_STRUCT)
|
||||||
|
{
|
||||||
|
if (z == sizeof (int) && a == sizeof (int) && regused < 8)
|
||||||
|
argp = (char *)regp;
|
||||||
|
else
|
||||||
|
argp = stackp;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (z > sizeof (int) && regused < 8 - 1)
|
||||||
|
{
|
||||||
|
/* align to an even register pair */
|
||||||
|
if (regused & 1)
|
||||||
|
{
|
||||||
|
regp++;
|
||||||
|
regused++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (regused < 8)
|
||||||
|
argp = (char *)regp;
|
||||||
|
else
|
||||||
|
argp = stackp;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Enforce proper stack alignment of 64-bit types */
|
||||||
|
if (argp == stackp && a > sizeof (int))
|
||||||
|
{
|
||||||
|
stackp = (char *) ALIGN(stackp, a);
|
||||||
|
argp = stackp;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (t)
|
||||||
|
{
|
||||||
|
case FFI_TYPE_SINT8:
|
||||||
|
*(signed int *) argp = (signed int) *(SINT8 *) *p_argv;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case FFI_TYPE_UINT8:
|
||||||
|
*(unsigned int *) argp = (unsigned int) *(UINT8 *) *p_argv;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case FFI_TYPE_SINT16:
|
||||||
|
*(signed int *) argp = (signed int) *(SINT16 *) *p_argv;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case FFI_TYPE_UINT16:
|
||||||
|
*(unsigned int *) argp = (unsigned int) *(UINT16 *) *p_argv;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case FFI_TYPE_INT:
|
||||||
|
case FFI_TYPE_FLOAT:
|
||||||
|
case FFI_TYPE_UINT32:
|
||||||
|
case FFI_TYPE_SINT32:
|
||||||
|
case FFI_TYPE_POINTER:
|
||||||
|
*(unsigned int *) argp = *(unsigned int *) *p_argv;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case FFI_TYPE_DOUBLE:
|
||||||
|
case FFI_TYPE_UINT64:
|
||||||
|
case FFI_TYPE_SINT64:
|
||||||
|
case FFI_TYPE_STRUCT:
|
||||||
|
memcpy (argp, *p_argv, z);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
FFI_ASSERT (0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Align if necessary. */
|
||||||
|
if ((sizeof (int) - 1) & z)
|
||||||
|
z = ALIGN(z, sizeof (int));
|
||||||
|
|
||||||
|
p_argv++;
|
||||||
|
|
||||||
|
/* Be careful, once all registers are filled, and about to continue
|
||||||
|
on stack, regp == stackp. Therefore the check for regused as well. */
|
||||||
|
if (argp == (char *)regp && regused < 8)
|
||||||
|
{
|
||||||
|
regp += z / sizeof (int);
|
||||||
|
regused += z / sizeof (int);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
stackp += z;
|
||||||
|
}
|
||||||
|
|
||||||
|
return struct_value_ptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Perform machine dependent cif processing */
|
||||||
|
ffi_status
|
||||||
|
ffi_prep_cif_machdep (ffi_cif *cif)
|
||||||
|
{
|
||||||
|
/* Set the return type flag */
|
||||||
|
switch (cif->rtype->type)
|
||||||
|
{
|
||||||
|
case FFI_TYPE_VOID:
|
||||||
|
cif->flags = 0;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case FFI_TYPE_STRUCT:
|
||||||
|
if (cif->rtype->size == sizeof (int) &&
|
||||||
|
cif->rtype->alignment == sizeof (int))
|
||||||
|
cif->flags = CIF_FLAGS_INT;
|
||||||
|
else
|
||||||
|
cif->flags = 0;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case FFI_TYPE_DOUBLE:
|
||||||
|
case FFI_TYPE_SINT64:
|
||||||
|
case FFI_TYPE_UINT64:
|
||||||
|
cif->flags = CIF_FLAGS_DINT;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
cif->flags = CIF_FLAGS_INT;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return FFI_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
ffi_call (ffi_cif *cif, void (*fn) (), void *rvalue, void **avalue)
|
||||||
|
{
|
||||||
|
extended_cif ecif;
|
||||||
|
|
||||||
|
ecif.cif = cif;
|
||||||
|
ecif.avalue = avalue;
|
||||||
|
|
||||||
|
/* If the return value is a struct and we don't have a return value
|
||||||
|
address then we need to make one. */
|
||||||
|
|
||||||
|
if (rvalue == NULL
|
||||||
|
&& cif->rtype->type == FFI_TYPE_STRUCT
|
||||||
|
&& (cif->rtype->size != sizeof (int)
|
||||||
|
|| cif->rtype->alignment != sizeof (int)))
|
||||||
|
ecif.rvalue = alloca (cif->rtype->size);
|
||||||
|
else
|
||||||
|
ecif.rvalue = rvalue;
|
||||||
|
|
||||||
|
switch (cif->abi)
|
||||||
|
{
|
||||||
|
case FFI_OBSD:
|
||||||
|
ffi_call_OBSD (cif->bytes, &ecif, cif->flags, ecif.rvalue, fn);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
FFI_ASSERT (0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Closure API
|
||||||
|
*/
|
||||||
|
|
||||||
|
static void
|
||||||
|
ffi_prep_closure_args_OBSD (ffi_cif *cif, void **avalue, unsigned int *regp,
|
||||||
|
char *stackp)
|
||||||
|
{
|
||||||
|
unsigned int i;
|
||||||
|
void **p_argv;
|
||||||
|
char *argp;
|
||||||
|
unsigned int regused;
|
||||||
|
ffi_type **p_arg;
|
||||||
|
|
||||||
|
regused = 0;
|
||||||
|
|
||||||
|
p_argv = avalue;
|
||||||
|
|
||||||
|
for (i = cif->nargs, p_arg = cif->arg_types; i != 0; i--, p_arg++)
|
||||||
|
{
|
||||||
|
size_t z;
|
||||||
|
unsigned short t, a;
|
||||||
|
|
||||||
|
z = (*p_arg)->size;
|
||||||
|
t = (*p_arg)->type;
|
||||||
|
a = (*p_arg)->alignment;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Figure out whether the argument has been passed through registers
|
||||||
|
* or on the stack.
|
||||||
|
* The rule is that registers can only receive simple types not larger
|
||||||
|
* than 64 bits, or structs the exact size of a register and aligned to
|
||||||
|
* the size of a register.
|
||||||
|
*/
|
||||||
|
if (t == FFI_TYPE_STRUCT)
|
||||||
|
{
|
||||||
|
if (z == sizeof (int) && a == sizeof (int) && regused < 8)
|
||||||
|
argp = (char *)regp;
|
||||||
|
else
|
||||||
|
argp = stackp;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (z > sizeof (int) && regused < 8 - 1)
|
||||||
|
{
|
||||||
|
/* align to an even register pair */
|
||||||
|
if (regused & 1)
|
||||||
|
{
|
||||||
|
regp++;
|
||||||
|
regused++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (regused < 8)
|
||||||
|
argp = (char *)regp;
|
||||||
|
else
|
||||||
|
argp = stackp;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Enforce proper stack alignment of 64-bit types */
|
||||||
|
if (argp == stackp && a > sizeof (int))
|
||||||
|
{
|
||||||
|
stackp = (char *) ALIGN(stackp, a);
|
||||||
|
argp = stackp;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (z < sizeof (int) && t != FFI_TYPE_STRUCT)
|
||||||
|
*p_argv = (void *) (argp + sizeof (int) - z);
|
||||||
|
else
|
||||||
|
*p_argv = (void *) argp;
|
||||||
|
|
||||||
|
/* Align if necessary */
|
||||||
|
if ((sizeof (int) - 1) & z)
|
||||||
|
z = ALIGN(z, sizeof (int));
|
||||||
|
|
||||||
|
p_argv++;
|
||||||
|
|
||||||
|
/* Be careful, once all registers are exhausted, and about to fetch from
|
||||||
|
stack, regp == stackp. Therefore the check for regused as well. */
|
||||||
|
if (argp == (char *)regp && regused < 8)
|
||||||
|
{
|
||||||
|
regp += z / sizeof (int);
|
||||||
|
regused += z / sizeof (int);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
stackp += z;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned int
|
||||||
|
ffi_closure_OBSD_inner (ffi_closure *closure, void *resp, unsigned int *regp,
|
||||||
|
char *stackp)
|
||||||
|
{
|
||||||
|
ffi_cif *cif;
|
||||||
|
void **arg_area;
|
||||||
|
|
||||||
|
cif = closure->cif;
|
||||||
|
arg_area = (void**) alloca (cif->nargs * sizeof (void *));
|
||||||
|
|
||||||
|
ffi_prep_closure_args_OBSD(cif, arg_area, regp, stackp);
|
||||||
|
|
||||||
|
(closure->fun) (cif, resp, arg_area, closure->user_data);
|
||||||
|
|
||||||
|
return cif->flags;
|
||||||
|
}
|
||||||
|
|
||||||
|
ffi_status
|
||||||
|
ffi_prep_closure_loc (ffi_closure* closure, ffi_cif* cif,
|
||||||
|
void (*fun)(ffi_cif*,void*,void**,void*),
|
||||||
|
void *user_data, void *codeloc)
|
||||||
|
{
|
||||||
|
unsigned int *tramp = (unsigned int *) codeloc;
|
||||||
|
void *fn;
|
||||||
|
|
||||||
|
FFI_ASSERT (cif->abi == FFI_OBSD);
|
||||||
|
|
||||||
|
if (cif->rtype->type == FFI_TYPE_STRUCT && !cif->flags)
|
||||||
|
fn = &ffi_closure_struct_OBSD;
|
||||||
|
else
|
||||||
|
fn = &ffi_closure_OBSD;
|
||||||
|
|
||||||
|
/* or.u %r10, %r0, %hi16(fn) */
|
||||||
|
tramp[0] = 0x5d400000 | (((unsigned int)fn) >> 16);
|
||||||
|
/* or.u %r13, %r0, %hi16(closure) */
|
||||||
|
tramp[1] = 0x5da00000 | ((unsigned int)closure >> 16);
|
||||||
|
/* or %r10, %r10, %lo16(fn) */
|
||||||
|
tramp[2] = 0x594a0000 | (((unsigned int)fn) & 0xffff);
|
||||||
|
/* jmp.n %r10 */
|
||||||
|
tramp[3] = 0xf400c40a;
|
||||||
|
/* or %r13, %r13, %lo16(closure) */
|
||||||
|
tramp[4] = 0x59ad0000 | ((unsigned int)closure & 0xffff);
|
||||||
|
|
||||||
|
ffi_cacheflush_OBSD((unsigned int)codeloc, FFI_TRAMPOLINE_SIZE);
|
||||||
|
|
||||||
|
closure->cif = cif;
|
||||||
|
closure->user_data = user_data;
|
||||||
|
closure->fun = fun;
|
||||||
|
|
||||||
|
return FFI_OK;
|
||||||
|
}
|
||||||
49
src/m88k/ffitarget.h
Normal file
49
src/m88k/ffitarget.h
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2013 Miodrag Vallat. <miod@openbsd.org>
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
* a copy of this software and associated documentation files (the
|
||||||
|
* ``Software''), to deal in the Software without restriction, including
|
||||||
|
* without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
* permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
* the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included
|
||||||
|
* in all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* m88k Foreign Function Interface
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef LIBFFI_TARGET_H
|
||||||
|
#define LIBFFI_TARGET_H
|
||||||
|
|
||||||
|
#ifndef LIBFFI_ASM
|
||||||
|
typedef unsigned long ffi_arg;
|
||||||
|
typedef signed long ffi_sarg;
|
||||||
|
|
||||||
|
typedef enum ffi_abi {
|
||||||
|
FFI_FIRST_ABI = 0,
|
||||||
|
FFI_OBSD,
|
||||||
|
FFI_DEFAULT_ABI = FFI_OBSD,
|
||||||
|
FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
|
||||||
|
} ffi_abi;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* ---- Definitions for closures ----------------------------------------- */
|
||||||
|
|
||||||
|
#define FFI_CLOSURES 1
|
||||||
|
#define FFI_TRAMPOLINE_SIZE 0x14
|
||||||
|
#define FFI_NATIVE_RAW_API 0
|
||||||
|
|
||||||
|
#endif
|
||||||
209
src/m88k/obsd.S
Normal file
209
src/m88k/obsd.S
Normal file
@@ -0,0 +1,209 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2013 Miodrag Vallat. <miod@openbsd.org>
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
* a copy of this software and associated documentation files (the
|
||||||
|
* ``Software''), to deal in the Software without restriction, including
|
||||||
|
* without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
* permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
* the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included
|
||||||
|
* in all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* m88k Foreign Function Interface
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define LIBFFI_ASM
|
||||||
|
#include <fficonfig.h>
|
||||||
|
#include <ffi.h>
|
||||||
|
|
||||||
|
.text
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ffi_cacheflush_OBSD(unsigned int addr, %r2
|
||||||
|
* unsigned int size); %r3
|
||||||
|
*/
|
||||||
|
.align 4
|
||||||
|
.globl ffi_cacheflush_OBSD
|
||||||
|
.type ffi_cacheflush_OBSD,@function
|
||||||
|
ffi_cacheflush_OBSD:
|
||||||
|
tb0 0, %r0, 451
|
||||||
|
or %r0, %r0, %r0
|
||||||
|
jmp %r1
|
||||||
|
.size ffi_cacheflush_OBSD, . - ffi_cacheflush_OBSD
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ffi_call_OBSD(unsigned bytes, %r2
|
||||||
|
* extended_cif *ecif, %r3
|
||||||
|
* unsigned flags, %r4
|
||||||
|
* void *rvalue, %r5
|
||||||
|
* void (*fn)()); %r6
|
||||||
|
*/
|
||||||
|
.align 4
|
||||||
|
.globl ffi_call_OBSD
|
||||||
|
.type ffi_call_OBSD,@function
|
||||||
|
ffi_call_OBSD:
|
||||||
|
subu %r31, %r31, 32
|
||||||
|
st %r30, %r31, 4
|
||||||
|
st %r1, %r31, 0
|
||||||
|
addu %r30, %r31, 32
|
||||||
|
|
||||||
|
| Save the few arguments we'll need after ffi_prep_args()
|
||||||
|
st.d %r4, %r31, 8
|
||||||
|
st %r6, %r31, 16
|
||||||
|
|
||||||
|
| Allocate room for the image of r2-r9, and the stack space for
|
||||||
|
| the args (rounded to a 16-byte boundary)
|
||||||
|
addu %r2, %r2, (8 * 4) + 15
|
||||||
|
clr %r2, %r2, 4<0>
|
||||||
|
subu %r31, %r31, %r2
|
||||||
|
|
||||||
|
| Fill register and stack image
|
||||||
|
or %r2, %r31, %r0
|
||||||
|
#ifdef PIC
|
||||||
|
bsr ffi_prep_args#plt
|
||||||
|
#else
|
||||||
|
bsr ffi_prep_args
|
||||||
|
#endif
|
||||||
|
|
||||||
|
| Save pointer to return struct address, if any
|
||||||
|
or %r12, %r2, %r0
|
||||||
|
|
||||||
|
| Get function pointer
|
||||||
|
subu %r4, %r30, 32
|
||||||
|
ld %r1, %r4, 16
|
||||||
|
|
||||||
|
| Fetch the register arguments
|
||||||
|
ld.d %r2, %r31, (0 * 4)
|
||||||
|
ld.d %r4, %r31, (2 * 4)
|
||||||
|
ld.d %r6, %r31, (4 * 4)
|
||||||
|
ld.d %r8, %r31, (6 * 4)
|
||||||
|
addu %r31, %r31, (8 * 4)
|
||||||
|
|
||||||
|
| Invoke the function
|
||||||
|
jsr %r1
|
||||||
|
|
||||||
|
| Restore stack now that we don't need the args anymore
|
||||||
|
subu %r31, %r30, 32
|
||||||
|
|
||||||
|
| Figure out what to return as the function's return value
|
||||||
|
ld %r5, %r31, 12 | rvalue
|
||||||
|
ld %r4, %r31, 8 | flags
|
||||||
|
|
||||||
|
bcnd eq0, %r5, 9f
|
||||||
|
|
||||||
|
bb0 0, %r4, 1f | CIF_FLAGS_INT
|
||||||
|
st %r2, %r5, 0
|
||||||
|
br 9f
|
||||||
|
|
||||||
|
1:
|
||||||
|
bb0 1, %r4, 1f | CIF_FLAGS_DINT
|
||||||
|
st.d %r2, %r5, 0
|
||||||
|
br 9f
|
||||||
|
|
||||||
|
1:
|
||||||
|
9:
|
||||||
|
ld %r1, %r31, 0
|
||||||
|
ld %r30, %r31, 4
|
||||||
|
jmp.n %r1
|
||||||
|
addu %r31, %r31, 32
|
||||||
|
.size ffi_call_OBSD, . - ffi_call_OBSD
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ffi_closure_OBSD(ffi_closure *closure); %r13
|
||||||
|
*/
|
||||||
|
.align 4
|
||||||
|
.globl ffi_closure_OBSD
|
||||||
|
.type ffi_closure_OBSD, @function
|
||||||
|
ffi_closure_OBSD:
|
||||||
|
subu %r31, %r31, 16
|
||||||
|
st %r30, %r31, 4
|
||||||
|
st %r1, %r31, 0
|
||||||
|
addu %r30, %r31, 16
|
||||||
|
|
||||||
|
| Make room on the stack for saved register arguments and return
|
||||||
|
| value
|
||||||
|
subu %r31, %r31, (8 * 4) + (2 * 4)
|
||||||
|
st.d %r2, %r31, (0 * 4)
|
||||||
|
st.d %r4, %r31, (2 * 4)
|
||||||
|
st.d %r6, %r31, (4 * 4)
|
||||||
|
st.d %r8, %r31, (6 * 4)
|
||||||
|
|
||||||
|
| Invoke the closure function
|
||||||
|
or %r5, %r30, 0 | calling stack
|
||||||
|
addu %r4, %r31, 0 | saved registers
|
||||||
|
addu %r3, %r31, (8 * 4) | return value
|
||||||
|
or %r2, %r13, %r0 | closure
|
||||||
|
#ifdef PIC
|
||||||
|
bsr ffi_closure_OBSD_inner#plt
|
||||||
|
#else
|
||||||
|
bsr ffi_closure_OBSD_inner
|
||||||
|
#endif
|
||||||
|
|
||||||
|
| Figure out what to return as the function's return value
|
||||||
|
bb0 0, %r2, 1f | CIF_FLAGS_INT
|
||||||
|
ld %r2, %r31, (8 * 4)
|
||||||
|
br 9f
|
||||||
|
|
||||||
|
1:
|
||||||
|
bb0 1, %r2, 1f | CIF_FLAGS_DINT
|
||||||
|
ld.d %r2, %r31, (8 * 4)
|
||||||
|
br 9f
|
||||||
|
|
||||||
|
1:
|
||||||
|
9:
|
||||||
|
subu %r31, %r30, 16
|
||||||
|
ld %r1, %r31, 0
|
||||||
|
ld %r30, %r31, 4
|
||||||
|
jmp.n %r1
|
||||||
|
addu %r31, %r31, 16
|
||||||
|
.size ffi_closure_OBSD,.-ffi_closure_OBSD
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ffi_closure_struct_OBSD(ffi_closure *closure); %r13
|
||||||
|
*/
|
||||||
|
.align 4
|
||||||
|
.globl ffi_closure_struct_OBSD
|
||||||
|
.type ffi_closure_struct_OBSD, @function
|
||||||
|
ffi_closure_struct_OBSD:
|
||||||
|
subu %r31, %r31, 16
|
||||||
|
st %r30, %r31, 4
|
||||||
|
st %r1, %r31, 0
|
||||||
|
addu %r30, %r31, 16
|
||||||
|
|
||||||
|
| Make room on the stack for saved register arguments
|
||||||
|
subu %r31, %r31, (8 * 4)
|
||||||
|
st.d %r2, %r31, (0 * 4)
|
||||||
|
st.d %r4, %r31, (2 * 4)
|
||||||
|
st.d %r6, %r31, (4 * 4)
|
||||||
|
st.d %r8, %r31, (6 * 4)
|
||||||
|
|
||||||
|
| Invoke the closure function
|
||||||
|
or %r5, %r30, 0 | calling stack
|
||||||
|
addu %r4, %r31, 0 | saved registers
|
||||||
|
or %r3, %r12, 0 | return value
|
||||||
|
or %r2, %r13, %r0 | closure
|
||||||
|
#ifdef PIC
|
||||||
|
bsr ffi_closure_OBSD_inner#plt
|
||||||
|
#else
|
||||||
|
bsr ffi_closure_OBSD_inner
|
||||||
|
#endif
|
||||||
|
|
||||||
|
subu %r31, %r30, 16
|
||||||
|
ld %r1, %r31, 0
|
||||||
|
ld %r30, %r31, 4
|
||||||
|
jmp.n %r1
|
||||||
|
addu %r31, %r31, 16
|
||||||
|
.size ffi_closure_struct_OBSD,.-ffi_closure_struct_OBSD
|
||||||
195
src/vax/elfbsd.S
Normal file
195
src/vax/elfbsd.S
Normal file
@@ -0,0 +1,195 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2013 Miodrag Vallat. <miod@openbsd.org>
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
* a copy of this software and associated documentation files (the
|
||||||
|
* ``Software''), to deal in the Software without restriction, including
|
||||||
|
* without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
* permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
* the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included
|
||||||
|
* in all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* vax Foreign Function Interface
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define LIBFFI_ASM
|
||||||
|
#include <fficonfig.h>
|
||||||
|
#include <ffi.h>
|
||||||
|
|
||||||
|
.text
|
||||||
|
|
||||||
|
/*
|
||||||
|
* void * %r0
|
||||||
|
* ffi_call_elfbsd(extended_cif *ecif, 4(%ap)
|
||||||
|
* unsigned bytes, 8(%ap)
|
||||||
|
* unsigned flags, 12(%ap)
|
||||||
|
* void *rvalue, 16(%ap)
|
||||||
|
* void (*fn)()); 20(%ap)
|
||||||
|
*/
|
||||||
|
.globl ffi_call_elfbsd
|
||||||
|
.type ffi_call_elfbsd,@function
|
||||||
|
.align 2
|
||||||
|
ffi_call_elfbsd:
|
||||||
|
.word 0x00c # save R2 and R3
|
||||||
|
|
||||||
|
# Allocate stack space for the args
|
||||||
|
subl2 8(%ap), %sp
|
||||||
|
|
||||||
|
# Call ffi_prep_args
|
||||||
|
pushl %sp
|
||||||
|
pushl 4(%ap)
|
||||||
|
calls $2, ffi_prep_args
|
||||||
|
|
||||||
|
# Get function pointer
|
||||||
|
movl 20(%ap), %r1
|
||||||
|
|
||||||
|
# Build a CALLS frame
|
||||||
|
ashl $-2, 8(%ap), %r0
|
||||||
|
pushl %r0 # argument stack usage
|
||||||
|
movl %sp, %r0 # future %ap
|
||||||
|
# saved registers
|
||||||
|
bbc $11, 0(%r1), 1f
|
||||||
|
pushl %r11
|
||||||
|
1: bbc $10, 0(%r1), 1f
|
||||||
|
pushl %r10
|
||||||
|
1: bbc $9, 0(%r1), 1f
|
||||||
|
pushl %r9
|
||||||
|
1: bbc $8, 0(%r1), 1f
|
||||||
|
pushl %r8
|
||||||
|
1: bbc $7, 0(%r1), 1f
|
||||||
|
pushl %r7
|
||||||
|
1: bbc $6, 0(%r1), 1f
|
||||||
|
pushl %r6
|
||||||
|
1: bbc $5, 0(%r1), 1f
|
||||||
|
pushl %r5
|
||||||
|
1: bbc $4, 0(%r1), 1f
|
||||||
|
pushl %r4
|
||||||
|
1: bbc $3, 0(%r1), 1f
|
||||||
|
pushl %r3
|
||||||
|
1: bbc $2, 0(%r1), 1f
|
||||||
|
pushl %r2
|
||||||
|
1:
|
||||||
|
pushal 9f
|
||||||
|
pushl %fp
|
||||||
|
pushl %ap
|
||||||
|
movl 16(%ap), %r3 # struct return address, if needed
|
||||||
|
movl %r0, %ap
|
||||||
|
movzwl 4(%fp), %r0 # previous PSW, without the saved registers mask
|
||||||
|
bisl2 $0x20000000, %r0 # calls frame
|
||||||
|
movzwl 0(%r1), %r2
|
||||||
|
bicw2 $0xf003, %r2 # only keep R11-R2
|
||||||
|
ashl $16, %r2, %r2
|
||||||
|
bisl2 %r2, %r0 # saved register mask of the called function
|
||||||
|
pushl %r0
|
||||||
|
pushl $0
|
||||||
|
movl %sp, %fp
|
||||||
|
|
||||||
|
# Invoke the function
|
||||||
|
pushal 2(%r1) # skip procedure entry mask
|
||||||
|
movl %r3, %r1
|
||||||
|
bicpsw $0x000f
|
||||||
|
rsb
|
||||||
|
|
||||||
|
9:
|
||||||
|
# Copy return value if necessary
|
||||||
|
tstl 16(%ap)
|
||||||
|
jeql 9f
|
||||||
|
movl 16(%ap), %r2
|
||||||
|
|
||||||
|
bbc $0, 12(%ap), 1f # CIF_FLAGS_CHAR
|
||||||
|
movb %r0, 0(%r2)
|
||||||
|
brb 9f
|
||||||
|
1:
|
||||||
|
bbc $1, 12(%ap), 1f # CIF_FLAGS_SHORT
|
||||||
|
movw %r0, 0(%r2)
|
||||||
|
brb 9f
|
||||||
|
1:
|
||||||
|
bbc $2, 12(%ap), 1f # CIF_FLAGS_INT
|
||||||
|
movl %r0, 0(%r2)
|
||||||
|
brb 9f
|
||||||
|
1:
|
||||||
|
bbc $3, 12(%ap), 1f # CIF_FLAGS_DINT
|
||||||
|
movq %r0, 0(%r2)
|
||||||
|
brb 9f
|
||||||
|
1:
|
||||||
|
movl %r1, %r0 # might have been a struct
|
||||||
|
#brb 9f
|
||||||
|
|
||||||
|
9:
|
||||||
|
ret
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ffi_closure_elfbsd(void);
|
||||||
|
* invoked with %r0: ffi_closure *closure
|
||||||
|
*/
|
||||||
|
.globl ffi_closure_elfbsd
|
||||||
|
.type ffi_closure_elfbsd, @function
|
||||||
|
.align 2
|
||||||
|
ffi_closure_elfbsd:
|
||||||
|
.word 0
|
||||||
|
|
||||||
|
# Allocate room on stack for return value
|
||||||
|
subl2 $8, %sp
|
||||||
|
|
||||||
|
# Invoke the closure function
|
||||||
|
pushal 4(%ap) # calling stack
|
||||||
|
pushal 4(%sp) # return value
|
||||||
|
pushl %r0 # closure
|
||||||
|
calls $3, ffi_closure_elfbsd_inner
|
||||||
|
|
||||||
|
# Copy return value if necessary
|
||||||
|
bitb $1, %r0 # CIF_FLAGS_CHAR
|
||||||
|
beql 1f
|
||||||
|
movb 0(%sp), %r0
|
||||||
|
brb 9f
|
||||||
|
1:
|
||||||
|
bitb $2, %r0 # CIF_FLAGS_SHORT
|
||||||
|
beql 1f
|
||||||
|
movw 0(%sp), %r0
|
||||||
|
brb 9f
|
||||||
|
1:
|
||||||
|
bitb $4, %r0 # CIF_FLAGS_INT
|
||||||
|
beql 1f
|
||||||
|
movl 0(%sp), %r0
|
||||||
|
brb 9f
|
||||||
|
1:
|
||||||
|
bitb $8, %r0 # CIF_FLAGS_DINT
|
||||||
|
beql 1f
|
||||||
|
movq 0(%sp), %r0
|
||||||
|
#brb 9f
|
||||||
|
1:
|
||||||
|
|
||||||
|
9:
|
||||||
|
ret
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ffi_closure_struct_elfbsd(void);
|
||||||
|
* invoked with %r0: ffi_closure *closure
|
||||||
|
* %r1: struct return address
|
||||||
|
*/
|
||||||
|
.globl ffi_closure_struct_elfbsd
|
||||||
|
.type ffi_closure_struct_elfbsd, @function
|
||||||
|
.align 2
|
||||||
|
ffi_closure_struct_elfbsd:
|
||||||
|
.word 0
|
||||||
|
|
||||||
|
# Invoke the closure function
|
||||||
|
pushal 4(%ap) # calling stack
|
||||||
|
pushl %r1 # return value
|
||||||
|
pushl %r0 # closure
|
||||||
|
calls $3, ffi_closure_elfbsd_inner
|
||||||
|
|
||||||
|
ret
|
||||||
276
src/vax/ffi.c
Normal file
276
src/vax/ffi.c
Normal file
@@ -0,0 +1,276 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2013 Miodrag Vallat. <miod@openbsd.org>
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
* a copy of this software and associated documentation files (the
|
||||||
|
* ``Software''), to deal in the Software without restriction, including
|
||||||
|
* without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
* permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
* the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included
|
||||||
|
* in all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* vax Foreign Function Interface
|
||||||
|
*
|
||||||
|
* This file attempts to provide all the FFI entry points which can reliably
|
||||||
|
* be implemented in C.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <ffi.h>
|
||||||
|
#include <ffi_common.h>
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
#define CIF_FLAGS_CHAR 1 /* for struct only */
|
||||||
|
#define CIF_FLAGS_SHORT 2 /* for struct only */
|
||||||
|
#define CIF_FLAGS_INT 4
|
||||||
|
#define CIF_FLAGS_DINT 8
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Foreign Function Interface API
|
||||||
|
*/
|
||||||
|
|
||||||
|
void ffi_call_elfbsd (extended_cif *, unsigned, unsigned, void *,
|
||||||
|
void (*) ());
|
||||||
|
void *ffi_prep_args (extended_cif *ecif, void *stack);
|
||||||
|
|
||||||
|
void *
|
||||||
|
ffi_prep_args (extended_cif *ecif, void *stack)
|
||||||
|
{
|
||||||
|
unsigned int i;
|
||||||
|
void **p_argv;
|
||||||
|
char *argp;
|
||||||
|
ffi_type **p_arg;
|
||||||
|
void *struct_value_ptr;
|
||||||
|
|
||||||
|
argp = stack;
|
||||||
|
|
||||||
|
if (ecif->cif->rtype->type == FFI_TYPE_STRUCT
|
||||||
|
&& !ecif->cif->flags)
|
||||||
|
struct_value_ptr = ecif->rvalue;
|
||||||
|
else
|
||||||
|
struct_value_ptr = NULL;
|
||||||
|
|
||||||
|
p_argv = ecif->avalue;
|
||||||
|
|
||||||
|
for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
|
||||||
|
i != 0;
|
||||||
|
i--, p_arg++)
|
||||||
|
{
|
||||||
|
size_t z;
|
||||||
|
|
||||||
|
z = (*p_arg)->size;
|
||||||
|
if (z < sizeof (int))
|
||||||
|
{
|
||||||
|
switch ((*p_arg)->type)
|
||||||
|
{
|
||||||
|
case FFI_TYPE_SINT8:
|
||||||
|
*(signed int *) argp = (signed int) *(SINT8 *) *p_argv;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case FFI_TYPE_UINT8:
|
||||||
|
*(unsigned int *) argp = (unsigned int) *(UINT8 *) *p_argv;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case FFI_TYPE_SINT16:
|
||||||
|
*(signed int *) argp = (signed int) *(SINT16 *) *p_argv;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case FFI_TYPE_UINT16:
|
||||||
|
*(unsigned int *) argp = (unsigned int) *(UINT16 *) *p_argv;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case FFI_TYPE_STRUCT:
|
||||||
|
memcpy (argp, *p_argv, z);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
FFI_ASSERT (0);
|
||||||
|
}
|
||||||
|
z = sizeof (int);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
memcpy (argp, *p_argv, z);
|
||||||
|
|
||||||
|
/* Align if necessary. */
|
||||||
|
if ((sizeof(int) - 1) & z)
|
||||||
|
z = ALIGN(z, sizeof(int));
|
||||||
|
}
|
||||||
|
|
||||||
|
p_argv++;
|
||||||
|
argp += z;
|
||||||
|
}
|
||||||
|
|
||||||
|
return struct_value_ptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
ffi_status
|
||||||
|
ffi_prep_cif_machdep (ffi_cif *cif)
|
||||||
|
{
|
||||||
|
/* Set the return type flag */
|
||||||
|
switch (cif->rtype->type)
|
||||||
|
{
|
||||||
|
case FFI_TYPE_VOID:
|
||||||
|
cif->flags = 0;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case FFI_TYPE_STRUCT:
|
||||||
|
if (cif->rtype->elements[0]->type == FFI_TYPE_STRUCT &&
|
||||||
|
cif->rtype->elements[1])
|
||||||
|
{
|
||||||
|
cif->flags = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cif->rtype->size == sizeof (char))
|
||||||
|
cif->flags = CIF_FLAGS_CHAR;
|
||||||
|
else if (cif->rtype->size == sizeof (short))
|
||||||
|
cif->flags = CIF_FLAGS_SHORT;
|
||||||
|
else if (cif->rtype->size == sizeof (int))
|
||||||
|
cif->flags = CIF_FLAGS_INT;
|
||||||
|
else if (cif->rtype->size == 2 * sizeof (int))
|
||||||
|
cif->flags = CIF_FLAGS_DINT;
|
||||||
|
else
|
||||||
|
cif->flags = 0;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
if (cif->rtype->size <= sizeof (int))
|
||||||
|
cif->flags = CIF_FLAGS_INT;
|
||||||
|
else
|
||||||
|
cif->flags = CIF_FLAGS_DINT;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return FFI_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
ffi_call (ffi_cif *cif, void (*fn) (), void *rvalue, void **avalue)
|
||||||
|
{
|
||||||
|
extended_cif ecif;
|
||||||
|
|
||||||
|
ecif.cif = cif;
|
||||||
|
ecif.avalue = avalue;
|
||||||
|
|
||||||
|
/* If the return value is a struct and we don't have a return value
|
||||||
|
address then we need to make one. */
|
||||||
|
|
||||||
|
if (rvalue == NULL
|
||||||
|
&& cif->rtype->type == FFI_TYPE_STRUCT
|
||||||
|
&& cif->flags == 0)
|
||||||
|
ecif.rvalue = alloca (cif->rtype->size);
|
||||||
|
else
|
||||||
|
ecif.rvalue = rvalue;
|
||||||
|
|
||||||
|
switch (cif->abi)
|
||||||
|
{
|
||||||
|
case FFI_ELFBSD:
|
||||||
|
ffi_call_elfbsd (&ecif, cif->bytes, cif->flags, ecif.rvalue, fn);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
FFI_ASSERT (0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Closure API
|
||||||
|
*/
|
||||||
|
|
||||||
|
void ffi_closure_elfbsd (void);
|
||||||
|
void ffi_closure_struct_elfbsd (void);
|
||||||
|
unsigned int ffi_closure_elfbsd_inner (ffi_closure *, void *, char *);
|
||||||
|
|
||||||
|
static void
|
||||||
|
ffi_prep_closure_elfbsd (ffi_cif *cif, void **avalue, char *stackp)
|
||||||
|
{
|
||||||
|
unsigned int i;
|
||||||
|
void **p_argv;
|
||||||
|
ffi_type **p_arg;
|
||||||
|
|
||||||
|
p_argv = avalue;
|
||||||
|
|
||||||
|
for (i = cif->nargs, p_arg = cif->arg_types; i != 0; i--, p_arg++)
|
||||||
|
{
|
||||||
|
size_t z;
|
||||||
|
|
||||||
|
z = (*p_arg)->size;
|
||||||
|
*p_argv = stackp;
|
||||||
|
|
||||||
|
/* Align if necessary */
|
||||||
|
if ((sizeof (int) - 1) & z)
|
||||||
|
z = ALIGN(z, sizeof (int));
|
||||||
|
|
||||||
|
p_argv++;
|
||||||
|
stackp += z;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned int
|
||||||
|
ffi_closure_elfbsd_inner (ffi_closure *closure, void *resp, char *stack)
|
||||||
|
{
|
||||||
|
ffi_cif *cif;
|
||||||
|
void **arg_area;
|
||||||
|
|
||||||
|
cif = closure->cif;
|
||||||
|
arg_area = (void **) alloca (cif->nargs * sizeof (void *));
|
||||||
|
|
||||||
|
ffi_prep_closure_elfbsd (cif, arg_area, stack);
|
||||||
|
|
||||||
|
(closure->fun) (cif, resp, arg_area, closure->user_data);
|
||||||
|
|
||||||
|
return cif->flags;
|
||||||
|
}
|
||||||
|
|
||||||
|
ffi_status
|
||||||
|
ffi_prep_closure_loc (ffi_closure *closure, ffi_cif *cif,
|
||||||
|
void (*fun)(ffi_cif *, void *, void **, void *),
|
||||||
|
void *user_data, void *codeloc)
|
||||||
|
{
|
||||||
|
char *tramp = (char *) codeloc;
|
||||||
|
void *fn;
|
||||||
|
|
||||||
|
FFI_ASSERT (cif->abi == FFI_ELFBSD);
|
||||||
|
|
||||||
|
/* entry mask */
|
||||||
|
*(unsigned short *)(tramp + 0) = 0x0000;
|
||||||
|
/* movl #closure, r0 */
|
||||||
|
tramp[2] = 0xd0;
|
||||||
|
tramp[3] = 0x8f;
|
||||||
|
*(unsigned int *)(tramp + 4) = (unsigned int) closure;
|
||||||
|
tramp[8] = 0x50;
|
||||||
|
|
||||||
|
if (cif->rtype->type == FFI_TYPE_STRUCT
|
||||||
|
&& !cif->flags)
|
||||||
|
fn = &ffi_closure_struct_elfbsd;
|
||||||
|
else
|
||||||
|
fn = &ffi_closure_elfbsd;
|
||||||
|
|
||||||
|
/* jmpl #fn */
|
||||||
|
tramp[9] = 0x17;
|
||||||
|
tramp[10] = 0xef;
|
||||||
|
*(unsigned int *)(tramp + 11) = (unsigned int)fn + 2 -
|
||||||
|
(unsigned int)tramp - 9 - 6;
|
||||||
|
|
||||||
|
closure->cif = cif;
|
||||||
|
closure->user_data = user_data;
|
||||||
|
closure->fun = fun;
|
||||||
|
|
||||||
|
return FFI_OK;
|
||||||
|
}
|
||||||
49
src/vax/ffitarget.h
Normal file
49
src/vax/ffitarget.h
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2013 Miodrag Vallat. <miod@openbsd.org>
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
* a copy of this software and associated documentation files (the
|
||||||
|
* ``Software''), to deal in the Software without restriction, including
|
||||||
|
* without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
* permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
* the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included
|
||||||
|
* in all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* vax Foreign Function Interface
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef LIBFFI_TARGET_H
|
||||||
|
#define LIBFFI_TARGET_H
|
||||||
|
|
||||||
|
#ifndef LIBFFI_ASM
|
||||||
|
typedef unsigned long ffi_arg;
|
||||||
|
typedef signed long ffi_sarg;
|
||||||
|
|
||||||
|
typedef enum ffi_abi {
|
||||||
|
FFI_FIRST_ABI = 0,
|
||||||
|
FFI_ELFBSD,
|
||||||
|
FFI_DEFAULT_ABI = FFI_ELFBSD,
|
||||||
|
FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
|
||||||
|
} ffi_abi;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* ---- Definitions for closures ----------------------------------------- */
|
||||||
|
|
||||||
|
#define FFI_CLOSURES 1
|
||||||
|
#define FFI_TRAMPOLINE_SIZE 15
|
||||||
|
#define FFI_NATIVE_RAW_API 0
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
# Makefile.in generated by automake 1.12.2 from Makefile.am.
|
# Makefile.in generated by automake 1.13.4 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
|
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@@ -14,23 +14,51 @@
|
|||||||
|
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
VPATH = @srcdir@
|
VPATH = @srcdir@
|
||||||
am__make_dryrun = \
|
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||||
{ \
|
am__make_running_with_option = \
|
||||||
am__dry=no; \
|
case $${target_option-} in \
|
||||||
|
?) ;; \
|
||||||
|
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||||
|
"target option '$${target_option-}' specified" >&2; \
|
||||||
|
exit 1;; \
|
||||||
|
esac; \
|
||||||
|
has_opt=no; \
|
||||||
|
sane_makeflags=$$MAKEFLAGS; \
|
||||||
|
if $(am__is_gnu_make); then \
|
||||||
|
sane_makeflags=$$MFLAGS; \
|
||||||
|
else \
|
||||||
case $$MAKEFLAGS in \
|
case $$MAKEFLAGS in \
|
||||||
*\\[\ \ ]*) \
|
*\\[\ \ ]*) \
|
||||||
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
|
bs=\\; \
|
||||||
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
|
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||||
*) \
|
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||||
for am__flg in $$MAKEFLAGS; do \
|
|
||||||
case $$am__flg in \
|
|
||||||
*=*|--*) ;; \
|
|
||||||
*n*) am__dry=yes; break;; \
|
|
||||||
esac; \
|
|
||||||
done;; \
|
|
||||||
esac; \
|
esac; \
|
||||||
test $$am__dry = yes; \
|
fi; \
|
||||||
}
|
skip_next=no; \
|
||||||
|
strip_trailopt () \
|
||||||
|
{ \
|
||||||
|
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||||
|
}; \
|
||||||
|
for flg in $$sane_makeflags; do \
|
||||||
|
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||||
|
case $$flg in \
|
||||||
|
*=*|--*) continue;; \
|
||||||
|
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||||
|
-*I?*) strip_trailopt 'I';; \
|
||||||
|
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||||
|
-*O?*) strip_trailopt 'O';; \
|
||||||
|
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||||
|
-*l?*) strip_trailopt 'l';; \
|
||||||
|
-[dEDm]) skip_next=yes;; \
|
||||||
|
-[JT]) skip_next=yes;; \
|
||||||
|
esac; \
|
||||||
|
case $$flg in \
|
||||||
|
*$$target_option*) has_opt=yes; break;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
test $$has_opt = yes
|
||||||
|
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||||
|
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||||
pkgdatadir = $(datadir)/@PACKAGE@
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
pkgincludedir = $(includedir)/@PACKAGE@
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
pkglibdir = $(libdir)/@PACKAGE@
|
pkglibdir = $(libdir)/@PACKAGE@
|
||||||
@@ -51,7 +79,7 @@ build_triplet = @build@
|
|||||||
host_triplet = @host@
|
host_triplet = @host@
|
||||||
target_triplet = @target@
|
target_triplet = @target@
|
||||||
subdir = testsuite
|
subdir = testsuite
|
||||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
|
am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
|
||||||
$(top_srcdir)/m4/ax_append_flag.m4 \
|
$(top_srcdir)/m4/ax_append_flag.m4 \
|
||||||
@@ -73,6 +101,18 @@ mkinstalldirs = $(install_sh) -d
|
|||||||
CONFIG_HEADER = $(top_builddir)/fficonfig.h
|
CONFIG_HEADER = $(top_builddir)/fficonfig.h
|
||||||
CONFIG_CLEAN_FILES =
|
CONFIG_CLEAN_FILES =
|
||||||
CONFIG_CLEAN_VPATH_FILES =
|
CONFIG_CLEAN_VPATH_FILES =
|
||||||
|
AM_V_P = $(am__v_P_@AM_V@)
|
||||||
|
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||||
|
am__v_P_0 = false
|
||||||
|
am__v_P_1 = :
|
||||||
|
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||||
|
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||||
|
am__v_GEN_0 = @echo " GEN " $@;
|
||||||
|
am__v_GEN_1 =
|
||||||
|
AM_V_at = $(am__v_at_@AM_V@)
|
||||||
|
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||||
|
am__v_at_0 = @
|
||||||
|
am__v_at_1 =
|
||||||
SOURCES =
|
SOURCES =
|
||||||
DIST_SOURCES =
|
DIST_SOURCES =
|
||||||
am__can_run_installinfo = \
|
am__can_run_installinfo = \
|
||||||
@@ -80,12 +120,14 @@ am__can_run_installinfo = \
|
|||||||
n|no|NO) false;; \
|
n|no|NO) false;; \
|
||||||
*) (install-info --version) >/dev/null 2>&1;; \
|
*) (install-info --version) >/dev/null 2>&1;; \
|
||||||
esac
|
esac
|
||||||
|
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||||
DEJATOOL = $(PACKAGE)
|
DEJATOOL = $(PACKAGE)
|
||||||
RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
|
RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
ACLOCAL = @ACLOCAL@
|
ACLOCAL = @ACLOCAL@
|
||||||
ALLOCA = @ALLOCA@
|
ALLOCA = @ALLOCA@
|
||||||
AMTAR = @AMTAR@
|
AMTAR = @AMTAR@
|
||||||
|
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||||
AM_LTLDFLAGS = @AM_LTLDFLAGS@
|
AM_LTLDFLAGS = @AM_LTLDFLAGS@
|
||||||
AM_RUNTESTFLAGS =
|
AM_RUNTESTFLAGS =
|
||||||
AR = @AR@
|
AR = @AR@
|
||||||
@@ -343,11 +385,9 @@ mostlyclean-libtool:
|
|||||||
|
|
||||||
clean-libtool:
|
clean-libtool:
|
||||||
-rm -rf .libs _libs
|
-rm -rf .libs _libs
|
||||||
tags: TAGS
|
tags TAGS:
|
||||||
TAGS:
|
|
||||||
|
|
||||||
ctags: CTAGS
|
ctags CTAGS:
|
||||||
CTAGS:
|
|
||||||
|
|
||||||
cscope cscopelist:
|
cscope cscopelist:
|
||||||
|
|
||||||
@@ -355,13 +395,12 @@ cscope cscopelist:
|
|||||||
check-DEJAGNU: site.exp
|
check-DEJAGNU: site.exp
|
||||||
srcdir='$(srcdir)'; export srcdir; \
|
srcdir='$(srcdir)'; export srcdir; \
|
||||||
EXPECT=$(EXPECT); export EXPECT; \
|
EXPECT=$(EXPECT); export EXPECT; \
|
||||||
runtest=$(RUNTEST); \
|
if $(SHELL) -c "$(RUNTEST) --version" > /dev/null 2>&1; then \
|
||||||
if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
|
|
||||||
exit_status=0; l='$(DEJATOOL)'; for tool in $$l; do \
|
exit_status=0; l='$(DEJATOOL)'; for tool in $$l; do \
|
||||||
if $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \
|
if $(RUNTEST) $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \
|
||||||
then :; else exit_status=1; fi; \
|
then :; else exit_status=1; fi; \
|
||||||
done; \
|
done; \
|
||||||
else echo "WARNING: could not find 'runtest'" 1>&2; :;\
|
else echo "WARNING: could not find '$(RUNTEST)'" 1>&2; :;\
|
||||||
fi; \
|
fi; \
|
||||||
exit $$exit_status
|
exit $$exit_status
|
||||||
site.exp: Makefile $(EXTRA_DEJAGNU_SITE_CONFIG)
|
site.exp: Makefile $(EXTRA_DEJAGNU_SITE_CONFIG)
|
||||||
@@ -532,16 +571,17 @@ uninstall-am:
|
|||||||
.MAKE: check-am install-am install-strip
|
.MAKE: check-am install-am install-strip
|
||||||
|
|
||||||
.PHONY: all all-am check check-DEJAGNU check-am clean clean-generic \
|
.PHONY: all all-am check check-DEJAGNU check-am clean clean-generic \
|
||||||
clean-libtool distclean distclean-DEJAGNU distclean-generic \
|
clean-libtool cscopelist-am ctags-am distclean \
|
||||||
distclean-libtool distdir dvi dvi-am html html-am info info-am \
|
distclean-DEJAGNU distclean-generic distclean-libtool distdir \
|
||||||
install install-am install-data install-data-am install-dvi \
|
dvi dvi-am html html-am info info-am install install-am \
|
||||||
install-dvi-am install-exec install-exec-am install-html \
|
install-data install-data-am install-dvi install-dvi-am \
|
||||||
install-html-am install-info install-info-am install-man \
|
install-exec install-exec-am install-html install-html-am \
|
||||||
install-pdf install-pdf-am install-ps install-ps-am \
|
install-info install-info-am install-man install-pdf \
|
||||||
install-strip installcheck installcheck-am installdirs \
|
install-pdf-am install-ps install-ps-am install-strip \
|
||||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
installcheck installcheck-am installdirs maintainer-clean \
|
||||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
||||||
uninstall uninstall-am
|
mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
|
||||||
|
uninstall-am
|
||||||
|
|
||||||
|
|
||||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
|
|||||||
282
texinfo.tex
282
texinfo.tex
@@ -3,11 +3,11 @@
|
|||||||
% Load plain if necessary, i.e., if running under initex.
|
% Load plain if necessary, i.e., if running under initex.
|
||||||
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
||||||
%
|
%
|
||||||
\def\texinfoversion{2012-06-05.14}
|
\def\texinfoversion{2013-02-01.11}
|
||||||
%
|
%
|
||||||
% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
|
% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
|
||||||
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
||||||
% 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
|
% 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
|
||||||
%
|
%
|
||||||
% This texinfo.tex file is free software: you can redistribute it and/or
|
% This texinfo.tex file is free software: you can redistribute it and/or
|
||||||
% modify it under the terms of the GNU General Public License as
|
% modify it under the terms of the GNU General Public License as
|
||||||
@@ -24,7 +24,8 @@
|
|||||||
%
|
%
|
||||||
% As a special exception, when this file is read by TeX when processing
|
% As a special exception, when this file is read by TeX when processing
|
||||||
% a Texinfo source document, you may use the result without
|
% a Texinfo source document, you may use the result without
|
||||||
% restriction. (This has been our intent since Texinfo was invented.)
|
% restriction. This Exception is an additional permission under section 7
|
||||||
|
% of the GNU General Public License, version 3 ("GPLv3").
|
||||||
%
|
%
|
||||||
% Please try the latest version of texinfo.tex before submitting bug
|
% Please try the latest version of texinfo.tex before submitting bug
|
||||||
% reports; you can get the latest version from:
|
% reports; you can get the latest version from:
|
||||||
@@ -594,7 +595,7 @@
|
|||||||
\def\:{\spacefactor=1000 }
|
\def\:{\spacefactor=1000 }
|
||||||
|
|
||||||
% @* forces a line break.
|
% @* forces a line break.
|
||||||
\def\*{\hfil\break\hbox{}\ignorespaces}
|
\def\*{\unskip\hfil\break\hbox{}\ignorespaces}
|
||||||
|
|
||||||
% @/ allows a line break.
|
% @/ allows a line break.
|
||||||
\let\/=\allowbreak
|
\let\/=\allowbreak
|
||||||
@@ -2272,8 +2273,6 @@ end
|
|||||||
|
|
||||||
\gdef\markupsetcodequoteleft{\let`\codequoteleft}
|
\gdef\markupsetcodequoteleft{\let`\codequoteleft}
|
||||||
\gdef\markupsetcodequoteright{\let'\codequoteright}
|
\gdef\markupsetcodequoteright{\let'\codequoteright}
|
||||||
|
|
||||||
\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
\let\markupsetuplqcode \markupsetcodequoteleft
|
\let\markupsetuplqcode \markupsetcodequoteleft
|
||||||
@@ -2282,6 +2281,9 @@ end
|
|||||||
\let\markupsetuplqexample \markupsetcodequoteleft
|
\let\markupsetuplqexample \markupsetcodequoteleft
|
||||||
\let\markupsetuprqexample \markupsetcodequoteright
|
\let\markupsetuprqexample \markupsetcodequoteright
|
||||||
%
|
%
|
||||||
|
\let\markupsetuplqkbd \markupsetcodequoteleft
|
||||||
|
\let\markupsetuprqkbd \markupsetcodequoteright
|
||||||
|
%
|
||||||
\let\markupsetuplqsamp \markupsetcodequoteleft
|
\let\markupsetuplqsamp \markupsetcodequoteleft
|
||||||
\let\markupsetuprqsamp \markupsetcodequoteright
|
\let\markupsetuprqsamp \markupsetcodequoteright
|
||||||
%
|
%
|
||||||
@@ -2291,8 +2293,6 @@ end
|
|||||||
\let\markupsetuplqverbatim \markupsetcodequoteleft
|
\let\markupsetuplqverbatim \markupsetcodequoteleft
|
||||||
\let\markupsetuprqverbatim \markupsetcodequoteright
|
\let\markupsetuprqverbatim \markupsetcodequoteright
|
||||||
|
|
||||||
\let\markupsetuplqkbd \markupsetnoligaturesquoteleft
|
|
||||||
|
|
||||||
% Allow an option to not use regular directed right quote/apostrophe
|
% Allow an option to not use regular directed right quote/apostrophe
|
||||||
% (char 0x27), but instead the undirected quote from cmtt (char 0x0d).
|
% (char 0x27), but instead the undirected quote from cmtt (char 0x0d).
|
||||||
% The undirected quote is ugly, so don't make it the default, but it
|
% The undirected quote is ugly, so don't make it the default, but it
|
||||||
@@ -2382,8 +2382,7 @@ end
|
|||||||
\aftersmartic
|
\aftersmartic
|
||||||
}
|
}
|
||||||
|
|
||||||
% like \smartslanted except unconditionally uses \ttsl, and no ic.
|
% Unconditional use \ttsl, and no ic. @var is set to this for defuns.
|
||||||
% @var is set to this for defun arguments.
|
|
||||||
\def\ttslanted#1{{\ttsl #1}}
|
\def\ttslanted#1{{\ttsl #1}}
|
||||||
|
|
||||||
% @cite is like \smartslanted except unconditionally use \sl. We never want
|
% @cite is like \smartslanted except unconditionally use \sl. We never want
|
||||||
@@ -2448,34 +2447,12 @@ end
|
|||||||
% @samp.
|
% @samp.
|
||||||
\def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}}
|
\def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}}
|
||||||
|
|
||||||
% definition of @key that produces a lozenge. Doesn't adjust to text size.
|
% @indicateurl is \samp, that is, with quotes.
|
||||||
%\setfont\keyrm\rmshape{8}{1000}{OT1}
|
\let\indicateurl=\samp
|
||||||
%\font\keysy=cmsy9
|
|
||||||
%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
|
|
||||||
% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
|
|
||||||
% \vbox{\hrule\kern-0.4pt
|
|
||||||
% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
|
|
||||||
% \kern-0.4pt\hrule}%
|
|
||||||
% \kern-.06em\raise0.4pt\hbox{\angleright}}}}
|
|
||||||
|
|
||||||
% definition of @key with no lozenge. If the current font is already
|
% @code (and similar) prints in typewriter, but with spaces the same
|
||||||
% monospace, don't change it; that way, we respect @kbdinputstyle. But
|
% size as normal in the surrounding text, without hyphenation, etc.
|
||||||
% if it isn't monospace, then use \tt.
|
% This is a subroutine for that.
|
||||||
%
|
|
||||||
\def\key#1{{\setupmarkupstyle{key}%
|
|
||||||
\nohyphenation
|
|
||||||
\ifmonospace\else\tt\fi
|
|
||||||
#1}\null}
|
|
||||||
|
|
||||||
% ctrl is no longer a Texinfo command.
|
|
||||||
\def\ctrl #1{{\tt \rawbackslash \hat}#1}
|
|
||||||
|
|
||||||
% @file, @option are the same as @samp.
|
|
||||||
\let\file=\samp
|
|
||||||
\let\option=\samp
|
|
||||||
|
|
||||||
% @code is a modification of @t,
|
|
||||||
% which makes spaces the same size as normal in the surrounding text.
|
|
||||||
\def\tclose#1{%
|
\def\tclose#1{%
|
||||||
{%
|
{%
|
||||||
% Change normal interword space to be same as for the current font.
|
% Change normal interword space to be same as for the current font.
|
||||||
@@ -2500,7 +2477,7 @@ end
|
|||||||
% We *must* turn on hyphenation at `-' and `_' in @code.
|
% We *must* turn on hyphenation at `-' and `_' in @code.
|
||||||
% Otherwise, it is too hard to avoid overfull hboxes
|
% Otherwise, it is too hard to avoid overfull hboxes
|
||||||
% in the Emacs manual, the Library manual, etc.
|
% in the Emacs manual, the Library manual, etc.
|
||||||
|
%
|
||||||
% Unfortunately, TeX uses one parameter (\hyphenchar) to control
|
% Unfortunately, TeX uses one parameter (\hyphenchar) to control
|
||||||
% both hyphenation at - and hyphenation within words.
|
% both hyphenation at - and hyphenation within words.
|
||||||
% We must therefore turn them both off (\tclose does that)
|
% We must therefore turn them both off (\tclose does that)
|
||||||
@@ -2519,7 +2496,7 @@ end
|
|||||||
\let-\codedash
|
\let-\codedash
|
||||||
\let_\codeunder
|
\let_\codeunder
|
||||||
\else
|
\else
|
||||||
\let-\realdash
|
\let-\normaldash
|
||||||
\let_\realunder
|
\let_\realunder
|
||||||
\fi
|
\fi
|
||||||
\codex
|
\codex
|
||||||
@@ -2528,7 +2505,7 @@ end
|
|||||||
|
|
||||||
\def\codex #1{\tclose{#1}\endgroup}
|
\def\codex #1{\tclose{#1}\endgroup}
|
||||||
|
|
||||||
\def\realdash{-}
|
\def\normaldash{-}
|
||||||
\def\codedash{-\discretionary{}{}{}}
|
\def\codedash{-\discretionary{}{}{}}
|
||||||
\def\codeunder{%
|
\def\codeunder{%
|
||||||
% this is all so @math{@code{var_name}+1} can work. In math mode, _
|
% this is all so @math{@code{var_name}+1} can work. In math mode, _
|
||||||
@@ -2543,9 +2520,9 @@ end
|
|||||||
}
|
}
|
||||||
|
|
||||||
% An additional complication: the above will allow breaks after, e.g.,
|
% An additional complication: the above will allow breaks after, e.g.,
|
||||||
% each of the four underscores in __typeof__. This is undesirable in
|
% each of the four underscores in __typeof__. This is bad.
|
||||||
% some manuals, especially if they don't have long identifiers in
|
% @allowcodebreaks provides a document-level way to turn breaking at -
|
||||||
% general. @allowcodebreaks provides a way to control this.
|
% and _ on and off.
|
||||||
%
|
%
|
||||||
\newif\ifallowcodebreaks \allowcodebreakstrue
|
\newif\ifallowcodebreaks \allowcodebreakstrue
|
||||||
|
|
||||||
@@ -2564,6 +2541,13 @@ end
|
|||||||
\fi\fi
|
\fi\fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
% For @command, @env, @file, @option quotes seem unnecessary,
|
||||||
|
% so use \code rather than \samp.
|
||||||
|
\let\command=\code
|
||||||
|
\let\env=\code
|
||||||
|
\let\file=\code
|
||||||
|
\let\option=\code
|
||||||
|
|
||||||
% @uref (abbreviation for `urlref') takes an optional (comma-separated)
|
% @uref (abbreviation for `urlref') takes an optional (comma-separated)
|
||||||
% second argument specifying the text to display and an optional third
|
% second argument specifying the text to display and an optional third
|
||||||
% arg as text to display instead of (rather than in addition to) the url
|
% arg as text to display instead of (rather than in addition to) the url
|
||||||
@@ -2710,10 +2694,6 @@ end
|
|||||||
\let\email=\uref
|
\let\email=\uref
|
||||||
\fi
|
\fi
|
||||||
|
|
||||||
% @kbd is like @code, except that if the argument is just one @key command,
|
|
||||||
% then @kbd has no effect.
|
|
||||||
\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}}
|
|
||||||
|
|
||||||
% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
|
% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
|
||||||
% `example' (@kbd uses ttsl only inside of @example and friends),
|
% `example' (@kbd uses ttsl only inside of @example and friends),
|
||||||
% or `code' (@kbd uses normal tty font always).
|
% or `code' (@kbd uses normal tty font always).
|
||||||
@@ -2737,16 +2717,36 @@ end
|
|||||||
% Default is `distinct'.
|
% Default is `distinct'.
|
||||||
\kbdinputstyle distinct
|
\kbdinputstyle distinct
|
||||||
|
|
||||||
\def\xkey{\key}
|
% @kbd is like @code, except that if the argument is just one @key command,
|
||||||
\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
|
% then @kbd has no effect.
|
||||||
\ifx\one\xkey\ifx\threex\three \key{#2}%
|
\def\kbd#1{{\def\look{#1}\expandafter\kbdsub\look??\par}}
|
||||||
\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
|
|
||||||
\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi}
|
|
||||||
|
|
||||||
% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
|
\def\xkey{\key}
|
||||||
\let\indicateurl=\code
|
\def\kbdsub#1#2#3\par{%
|
||||||
\let\env=\code
|
\def\one{#1}\def\three{#3}\def\threex{??}%
|
||||||
\let\command=\code
|
\ifx\one\xkey\ifx\threex\three \key{#2}%
|
||||||
|
\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
|
||||||
|
\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
|
||||||
|
}
|
||||||
|
|
||||||
|
% definition of @key that produces a lozenge. Doesn't adjust to text size.
|
||||||
|
%\setfont\keyrm\rmshape{8}{1000}{OT1}
|
||||||
|
%\font\keysy=cmsy9
|
||||||
|
%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
|
||||||
|
% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
|
||||||
|
% \vbox{\hrule\kern-0.4pt
|
||||||
|
% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
|
||||||
|
% \kern-0.4pt\hrule}%
|
||||||
|
% \kern-.06em\raise0.4pt\hbox{\angleright}}}}
|
||||||
|
|
||||||
|
% definition of @key with no lozenge. If the current font is already
|
||||||
|
% monospace, don't change it; that way, we respect @kbdinputstyle. But
|
||||||
|
% if it isn't monospace, then use \tt.
|
||||||
|
%
|
||||||
|
\def\key#1{{\setupmarkupstyle{key}%
|
||||||
|
\nohyphenation
|
||||||
|
\ifmonospace\else\tt\fi
|
||||||
|
#1}\null}
|
||||||
|
|
||||||
% @clicksequence{File @click{} Open ...}
|
% @clicksequence{File @click{} Open ...}
|
||||||
\def\clicksequence#1{\begingroup #1\endgroup}
|
\def\clicksequence#1{\begingroup #1\endgroup}
|
||||||
@@ -2854,6 +2854,9 @@ end
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
% ctrl is no longer a Texinfo command, but leave this definition for fun.
|
||||||
|
\def\ctrl #1{{\tt \rawbackslash \hat}#1}
|
||||||
|
|
||||||
% @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
|
% @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
|
||||||
% Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
|
% Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
|
||||||
% except specified as a normal braced arg, so no newlines to worry about.
|
% except specified as a normal braced arg, so no newlines to worry about.
|
||||||
@@ -3144,12 +3147,17 @@ end
|
|||||||
% hopefully nobody will notice/care.
|
% hopefully nobody will notice/care.
|
||||||
\edef\ecsize{\csname\curfontsize ecsize\endcsname}%
|
\edef\ecsize{\csname\curfontsize ecsize\endcsname}%
|
||||||
\edef\nominalsize{\csname\curfontsize nominalsize\endcsname}%
|
\edef\nominalsize{\csname\curfontsize nominalsize\endcsname}%
|
||||||
\ifx\curfontstyle\bfstylename
|
\ifmonospace
|
||||||
% bold:
|
% typewriter:
|
||||||
\font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
|
\font\thisecfont = ectt\ecsize \space at \nominalsize
|
||||||
\else
|
\else
|
||||||
% regular:
|
\ifx\curfontstyle\bfstylename
|
||||||
\font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
|
% bold:
|
||||||
|
\font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
|
||||||
|
\else
|
||||||
|
% regular:
|
||||||
|
\font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
|
||||||
|
\fi
|
||||||
\fi
|
\fi
|
||||||
\thisecfont
|
\thisecfont
|
||||||
}
|
}
|
||||||
@@ -3262,6 +3270,20 @@ end
|
|||||||
\finishedtitlepagetrue
|
\finishedtitlepagetrue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
% Settings used for typesetting titles: no hyphenation, no indentation,
|
||||||
|
% don't worry much about spacing, ragged right. This should be used
|
||||||
|
% inside a \vbox, and fonts need to be set appropriately first. Because
|
||||||
|
% it is always used for titles, nothing else, we call \rmisbold. \par
|
||||||
|
% should be specified before the end of the \vbox, since a vbox is a group.
|
||||||
|
%
|
||||||
|
\def\raggedtitlesettings{%
|
||||||
|
\rmisbold
|
||||||
|
\hyphenpenalty=10000
|
||||||
|
\parindent=0pt
|
||||||
|
\tolerance=5000
|
||||||
|
\ptexraggedright
|
||||||
|
}
|
||||||
|
|
||||||
% Macros to be used within @titlepage:
|
% Macros to be used within @titlepage:
|
||||||
|
|
||||||
\let\subtitlerm=\tenrm
|
\let\subtitlerm=\tenrm
|
||||||
@@ -3269,7 +3291,7 @@ end
|
|||||||
|
|
||||||
\parseargdef\title{%
|
\parseargdef\title{%
|
||||||
\checkenv\titlepage
|
\checkenv\titlepage
|
||||||
\leftline{\titlefonts\rmisbold #1}
|
\vbox{\titlefonts \raggedtitlesettings #1\par}%
|
||||||
% print a rule at the page bottom also.
|
% print a rule at the page bottom also.
|
||||||
\finishedtitlepagefalse
|
\finishedtitlepagefalse
|
||||||
\vskip4pt \hrule height 4pt width \hsize \vskip4pt
|
\vskip4pt \hrule height 4pt width \hsize \vskip4pt
|
||||||
@@ -4166,7 +4188,7 @@ end
|
|||||||
% ..., but we might end up with active ones in the argument if
|
% ..., but we might end up with active ones in the argument if
|
||||||
% we're called from @code, as @code{@value{foo-bar_}}, though.
|
% we're called from @code, as @code{@value{foo-bar_}}, though.
|
||||||
% So \let them to their normal equivalents.
|
% So \let them to their normal equivalents.
|
||||||
\let-\realdash \let_\normalunderscore
|
\let-\normaldash \let_\normalunderscore
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4206,7 +4228,7 @@ end
|
|||||||
}
|
}
|
||||||
\def\ifsetfail{\doignore{ifset}}
|
\def\ifsetfail{\doignore{ifset}}
|
||||||
|
|
||||||
% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
|
% @ifclear VAR ... @end executes the `...' iff VAR has never been
|
||||||
% defined with @set, or has been undefined with @clear.
|
% defined with @set, or has been undefined with @clear.
|
||||||
%
|
%
|
||||||
% The `\else' inside the `\doifset' parameter is a trick to reuse the
|
% The `\else' inside the `\doifset' parameter is a trick to reuse the
|
||||||
@@ -4217,6 +4239,35 @@ end
|
|||||||
\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}}
|
\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}}
|
||||||
\def\ifclearfail{\doignore{ifclear}}
|
\def\ifclearfail{\doignore{ifclear}}
|
||||||
|
|
||||||
|
% @ifcommandisdefined CMD ... @end executes the `...' if CMD (written
|
||||||
|
% without the @) is in fact defined. We can only feasibly check at the
|
||||||
|
% TeX level, so something like `mathcode' is going to considered
|
||||||
|
% defined even though it is not a Texinfo command.
|
||||||
|
%
|
||||||
|
\makecond{ifcommanddefined}
|
||||||
|
\def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}}
|
||||||
|
%
|
||||||
|
\def\doifcmddefined#1#2{{%
|
||||||
|
\makevalueexpandable
|
||||||
|
\let\next=\empty
|
||||||
|
\expandafter\ifx\csname #2\endcsname\relax
|
||||||
|
#1% If not defined, \let\next as above.
|
||||||
|
\fi
|
||||||
|
\expandafter
|
||||||
|
}\next
|
||||||
|
}
|
||||||
|
\def\ifcmddefinedfail{\doignore{ifcommanddefined}}
|
||||||
|
|
||||||
|
% @ifcommandnotdefined CMD ... handled similar to @ifclear above.
|
||||||
|
\makecond{ifcommandnotdefined}
|
||||||
|
\def\ifcommandnotdefined{%
|
||||||
|
\parsearg{\doifcmddefined{\else \let\next=\ifcmdnotdefinedfail}}}
|
||||||
|
\def\ifcmdnotdefinedfail{\doignore{ifcommandnotdefined}}
|
||||||
|
|
||||||
|
% Set the `txicommandconditionals' variable, so documents have a way to
|
||||||
|
% test if the @ifcommand...defined conditionals are available.
|
||||||
|
\set txicommandconditionals
|
||||||
|
|
||||||
% @dircategory CATEGORY -- specify a category of the dir file
|
% @dircategory CATEGORY -- specify a category of the dir file
|
||||||
% which this file should belong to. Ignore this in TeX.
|
% which this file should belong to. Ignore this in TeX.
|
||||||
\let\dircategory=\comment
|
\let\dircategory=\comment
|
||||||
@@ -5543,14 +5594,6 @@ end
|
|||||||
|
|
||||||
% Define @majorheading, @heading and @subheading
|
% Define @majorheading, @heading and @subheading
|
||||||
|
|
||||||
% NOTE on use of \vbox for chapter headings, section headings, and such:
|
|
||||||
% 1) We use \vbox rather than the earlier \line to permit
|
|
||||||
% overlong headings to fold.
|
|
||||||
% 2) \hyphenpenalty is set to 10000 because hyphenation in a
|
|
||||||
% heading is obnoxious; this forbids it.
|
|
||||||
% 3) Likewise, headings look best if no \parindent is used, and
|
|
||||||
% if justification is not attempted. Hence \raggedright.
|
|
||||||
|
|
||||||
\def\majorheading{%
|
\def\majorheading{%
|
||||||
{\advance\chapheadingskip by 10pt \chapbreak }%
|
{\advance\chapheadingskip by 10pt \chapbreak }%
|
||||||
\parsearg\chapheadingzzz
|
\parsearg\chapheadingzzz
|
||||||
@@ -5558,10 +5601,8 @@ end
|
|||||||
|
|
||||||
\def\chapheading{\chapbreak \parsearg\chapheadingzzz}
|
\def\chapheading{\chapbreak \parsearg\chapheadingzzz}
|
||||||
\def\chapheadingzzz#1{%
|
\def\chapheadingzzz#1{%
|
||||||
{\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
|
\vbox{\chapfonts \raggedtitlesettings #1\par}%
|
||||||
\parindent=0pt\ptexraggedright
|
\nobreak\bigskip \nobreak
|
||||||
\rmisbold #1\hfill}}%
|
|
||||||
\bigskip \par\penalty 200\relax
|
|
||||||
\suppressfirstparagraphindent
|
\suppressfirstparagraphindent
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5720,8 +5761,7 @@ end
|
|||||||
%
|
%
|
||||||
% Typeset the actual heading.
|
% Typeset the actual heading.
|
||||||
\nobreak % Avoid page breaks at the interline glue.
|
\nobreak % Avoid page breaks at the interline glue.
|
||||||
\vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright
|
\vbox{\raggedtitlesettings \hangindent=\wd0 \centerparametersmaybe
|
||||||
\hangindent=\wd0 \centerparametersmaybe
|
|
||||||
\unhbox0 #1\par}%
|
\unhbox0 #1\par}%
|
||||||
}%
|
}%
|
||||||
\nobreak\bigskip % no page break after a chapter title
|
\nobreak\bigskip % no page break after a chapter title
|
||||||
@@ -5743,18 +5783,18 @@ end
|
|||||||
\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
|
\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
|
||||||
%
|
%
|
||||||
\def\unnchfopen #1{%
|
\def\unnchfopen #1{%
|
||||||
\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
|
\chapoddpage
|
||||||
\parindent=0pt\ptexraggedright
|
\vbox{\chapfonts \raggedtitlesettings #1\par}%
|
||||||
\rmisbold #1\hfill}}\bigskip \par\nobreak
|
\nobreak\bigskip\nobreak
|
||||||
}
|
}
|
||||||
\def\chfopen #1#2{\chapoddpage {\chapfonts
|
\def\chfopen #1#2{\chapoddpage {\chapfonts
|
||||||
\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
|
\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
|
||||||
\par\penalty 5000 %
|
\par\penalty 5000 %
|
||||||
}
|
}
|
||||||
\def\centerchfopen #1{%
|
\def\centerchfopen #1{%
|
||||||
\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
|
\chapoddpage
|
||||||
\parindent=0pt
|
\vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}%
|
||||||
\hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak
|
\nobreak\bigskip \nobreak
|
||||||
}
|
}
|
||||||
\def\CHAPFopen{%
|
\def\CHAPFopen{%
|
||||||
\global\let\chapmacro=\chfopen
|
\global\let\chapmacro=\chfopen
|
||||||
@@ -6520,16 +6560,9 @@ end
|
|||||||
\makedispenvdef{quotation}{\quotationstart}
|
\makedispenvdef{quotation}{\quotationstart}
|
||||||
%
|
%
|
||||||
\def\quotationstart{%
|
\def\quotationstart{%
|
||||||
{\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
|
\indentedblockstart % same as \indentedblock, but increase right margin too.
|
||||||
\parindent=0pt
|
|
||||||
%
|
|
||||||
% @cartouche defines \nonarrowing to inhibit narrowing at next level down.
|
|
||||||
\ifx\nonarrowing\relax
|
\ifx\nonarrowing\relax
|
||||||
\advance\leftskip by \lispnarrowing
|
|
||||||
\advance\rightskip by \lispnarrowing
|
\advance\rightskip by \lispnarrowing
|
||||||
\exdentamount = \lispnarrowing
|
|
||||||
\else
|
|
||||||
\let\nonarrowing = \relax
|
|
||||||
\fi
|
\fi
|
||||||
\parsearg\quotationlabel
|
\parsearg\quotationlabel
|
||||||
}
|
}
|
||||||
@@ -6555,6 +6588,32 @@ end
|
|||||||
\fi
|
\fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
% @indentedblock is like @quotation, but indents only on the left and
|
||||||
|
% has no optional argument.
|
||||||
|
%
|
||||||
|
\makedispenvdef{indentedblock}{\indentedblockstart}
|
||||||
|
%
|
||||||
|
\def\indentedblockstart{%
|
||||||
|
{\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
|
||||||
|
\parindent=0pt
|
||||||
|
%
|
||||||
|
% @cartouche defines \nonarrowing to inhibit narrowing at next level down.
|
||||||
|
\ifx\nonarrowing\relax
|
||||||
|
\advance\leftskip by \lispnarrowing
|
||||||
|
\exdentamount = \lispnarrowing
|
||||||
|
\else
|
||||||
|
\let\nonarrowing = \relax
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
|
||||||
|
% Keep a nonzero parskip for the environment, since we're doing normal filling.
|
||||||
|
%
|
||||||
|
\def\Eindentedblock{%
|
||||||
|
\par
|
||||||
|
{\parskip=0pt \afterenvbreak}%
|
||||||
|
}
|
||||||
|
\def\Esmallindentedblock{\Eindentedblock}
|
||||||
|
|
||||||
|
|
||||||
% LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
|
% LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
|
||||||
% If we want to allow any <char> as delimiter,
|
% If we want to allow any <char> as delimiter,
|
||||||
@@ -7033,7 +7092,10 @@ end
|
|||||||
\df \sl \hyphenchar\font=0
|
\df \sl \hyphenchar\font=0
|
||||||
%
|
%
|
||||||
% On the other hand, if an argument has two dashes (for instance), we
|
% On the other hand, if an argument has two dashes (for instance), we
|
||||||
% want a way to get ttsl. Let's try @var for that.
|
% want a way to get ttsl. We used to recommend @var for that, so
|
||||||
|
% leave the code in, but it's strange for @var to lead to typewriter.
|
||||||
|
% Nowadays we recommend @code, since the difference between a ttsl hyphen
|
||||||
|
% and a tt hyphen is pretty tiny. @code also disables ?` !`.
|
||||||
\def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}%
|
\def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}%
|
||||||
#1%
|
#1%
|
||||||
\sl\hyphenchar\font=45
|
\sl\hyphenchar\font=45
|
||||||
@@ -9931,22 +9993,26 @@ directory should work if nowhere else does.}
|
|||||||
@gdef@otherbackslash{@let\=@realbackslash}
|
@gdef@otherbackslash{@let\=@realbackslash}
|
||||||
|
|
||||||
% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
|
% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
|
||||||
% the literal character `\'.
|
% the literal character `\'. Also revert - to its normal character, in
|
||||||
|
% case the active - from code has slipped in.
|
||||||
%
|
%
|
||||||
@def@normalturnoffactive{%
|
{@catcode`- = @active
|
||||||
@let"=@normaldoublequote
|
@gdef@normalturnoffactive{%
|
||||||
@let$=@normaldollar %$ font-lock fix
|
@let-=@normaldash
|
||||||
@let+=@normalplus
|
@let"=@normaldoublequote
|
||||||
@let<=@normalless
|
@let$=@normaldollar %$ font-lock fix
|
||||||
@let>=@normalgreater
|
@let+=@normalplus
|
||||||
@let\=@normalbackslash
|
@let<=@normalless
|
||||||
@let^=@normalcaret
|
@let>=@normalgreater
|
||||||
@let_=@normalunderscore
|
@let\=@normalbackslash
|
||||||
@let|=@normalverticalbar
|
@let^=@normalcaret
|
||||||
@let~=@normaltilde
|
@let_=@normalunderscore
|
||||||
@markupsetuplqdefault
|
@let|=@normalverticalbar
|
||||||
@markupsetuprqdefault
|
@let~=@normaltilde
|
||||||
@unsepspaces
|
@markupsetuplqdefault
|
||||||
|
@markupsetuprqdefault
|
||||||
|
@unsepspaces
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
% Make _ and + \other characters, temporarily.
|
% Make _ and + \other characters, temporarily.
|
||||||
|
|||||||
Reference in New Issue
Block a user