summaryrefslogtreecommitdiff
path: root/Makefile.am
diff options
context:
space:
mode:
authorAndreas Bergmeier <andreas.bergmeier@gmx.net>2013-04-19 17:12:24 +0200
committerAndreas Bergmeier <andreas.bergmeier@gmx.net>2013-04-19 17:12:24 +0200
commit587002c092cffe6e7a8d7028f246c241d03b738c (patch)
treea0965b19f63e904656a332e33be94fd9722f4b83 /Makefile.am
parentf22ab3c6877cbdd07f058b68816b0086b1cb0e1e (diff)
downloadlibffi-587002c092cffe6e7a8d7028f246c241d03b738c.tar.gz
Enable disabling of libtool on platforms where it does not work (e.g. LLVM).
Build libraries normally then.
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am90
1 files changed, 52 insertions, 38 deletions
diff --git a/Makefile.am b/Makefile.am
index bf0156f..4128fb7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -98,127 +98,141 @@ FLAGS_TO_PASS = $(AM_MAKEFLAGS)
MAKEOVERRIDES=
+librarySOURCES = src/prep_cif.c src/types.c \
+ src/raw_api.c src/java_raw_api.c src/closures.c
+
+if USE_LIBTOOL
toolexeclib_LTLIBRARIES = libffi.la
noinst_LTLIBRARIES = libffi_convenience.la
-
-libffi_la_SOURCES = src/prep_cif.c src/types.c \
- src/raw_api.c src/java_raw_api.c src/closures.c
+libffi_la_SOURCES = librarySOURCES
+else
+lib_LIBRARIES = libffi.a
+noinst_LIBRARIES = libffi_convenience.a
+libffi_a_SOURCES = librarySOURCES
+endif
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libffi.pc
-nodist_libffi_la_SOURCES =
+additionalSOURCES =
if FFI_DEBUG
-nodist_libffi_la_SOURCES += src/debug.c
+additionalSOURCES += src/debug.c
endif
if MIPS
-nodist_libffi_la_SOURCES += src/mips/ffi.c src/mips/o32.S src/mips/n32.S
+additionalSOURCES += src/mips/ffi.c src/mips/o32.S src/mips/n32.S
endif
if BFIN
-nodist_libffi_la_SOURCES += src/bfin/ffi.c src/bfin/sysv.S
+additionalSOURCES += src/bfin/ffi.c src/bfin/sysv.S
endif
if X86
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/sysv.S
+additionalSOURCES += src/x86/ffi.c src/x86/sysv.S
endif
if X86_FREEBSD
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/freebsd.S
+additionalSOURCES += src/x86/ffi.c src/x86/freebsd.S
endif
if X86_WIN32
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win32.S
+additionalSOURCES += src/x86/ffi.c src/x86/win32.S
endif
if X86_WIN64
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win64.S
+additionalSOURCES += src/x86/ffi.c src/x86/win64.S
endif
if X86_DARWIN
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
+additionalSOURCES += src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
endif
if SPARC
-nodist_libffi_la_SOURCES += src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
+additionalSOURCES += src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
endif
if ALPHA
-nodist_libffi_la_SOURCES += src/alpha/ffi.c src/alpha/osf.S
+additionalSOURCES += src/alpha/ffi.c src/alpha/osf.S
endif
if IA64
-nodist_libffi_la_SOURCES += src/ia64/ffi.c src/ia64/unix.S
+additionalSOURCES += src/ia64/ffi.c src/ia64/unix.S
endif
if M32R
-nodist_libffi_la_SOURCES += src/m32r/sysv.S src/m32r/ffi.c
+additionalSOURCES += src/m32r/sysv.S src/m32r/ffi.c
endif
if M68K
-nodist_libffi_la_SOURCES += src/m68k/ffi.c src/m68k/sysv.S
+additionalSOURCES += src/m68k/ffi.c src/m68k/sysv.S
endif
if MOXIE
-nodist_libffi_la_SOURCES += src/moxie/ffi.c src/moxie/eabi.S
+additionalSOURCES += src/moxie/ffi.c src/moxie/eabi.S
endif
if MICROBLAZE
-nodist_libffi_la_SOURCES += src/microblaze/ffi.c src/microblaze/sysv.S
+additionalSOURCES += src/microblaze/ffi.c src/microblaze/sysv.S
endif
if POWERPC
-nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
+additionalSOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
endif
if POWERPC_AIX
-nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
+additionalSOURCES += src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
endif
if POWERPC_DARWIN
-nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
+additionalSOURCES += src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
endif
if POWERPC_FREEBSD
-nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
+additionalSOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
endif
if AARCH64
-nodist_libffi_la_SOURCES += src/aarch64/sysv.S src/aarch64/ffi.c
+additionalSOURCES += src/aarch64/sysv.S src/aarch64/ffi.c
endif
if ARM
-nodist_libffi_la_SOURCES += src/arm/sysv.S src/arm/ffi.c
+additionalSOURCES += src/arm/sysv.S src/arm/ffi.c
if FFI_EXEC_TRAMPOLINE_TABLE
-nodist_libffi_la_SOURCES += src/arm/trampoline.S
+additionalSOURCES += src/arm/trampoline.S
endif
endif
if AVR32
-nodist_libffi_la_SOURCES += src/avr32/sysv.S src/avr32/ffi.c
+additionalSOURCES += src/avr32/sysv.S src/avr32/ffi.c
endif
if LIBFFI_CRIS
-nodist_libffi_la_SOURCES += src/cris/sysv.S src/cris/ffi.c
+additionalSOURCES += src/cris/sysv.S src/cris/ffi.c
endif
if FRV
-nodist_libffi_la_SOURCES += src/frv/eabi.S src/frv/ffi.c
+additionalSOURCES += src/frv/eabi.S src/frv/ffi.c
endif
if S390
-nodist_libffi_la_SOURCES += src/s390/sysv.S src/s390/ffi.c
+additionalSOURCES += src/s390/sysv.S src/s390/ffi.c
endif
if X86_64
-nodist_libffi_la_SOURCES += src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
+additionalSOURCES += src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
endif
if SH
-nodist_libffi_la_SOURCES += src/sh/sysv.S src/sh/ffi.c
+additionalSOURCES += src/sh/sysv.S src/sh/ffi.c
endif
if SH64
-nodist_libffi_la_SOURCES += src/sh64/sysv.S src/sh64/ffi.c
+additionalSOURCES += src/sh64/sysv.S src/sh64/ffi.c
endif
if PA_LINUX
-nodist_libffi_la_SOURCES += src/pa/linux.S src/pa/ffi.c
+additionalSOURCES += src/pa/linux.S src/pa/ffi.c
endif
if PA_HPUX
-nodist_libffi_la_SOURCES += src/pa/hpux32.S src/pa/ffi.c
+additionalSOURCES += src/pa/hpux32.S src/pa/ffi.c
endif
if TILE
-nodist_libffi_la_SOURCES += src/tile/tile.S src/tile/ffi.c
+additionalSOURCES += src/tile/tile.S src/tile/ffi.c
endif
if XTENSA
-nodist_libffi_la_SOURCES += src/xtensa/sysv.S src/xtensa/ffi.c
+additionalSOURCES += src/xtensa/sysv.S src/xtensa/ffi.c
endif
if METAG
-nodist_libffi_la_SOURCES += src/metag/sysv.S src/metag/ffi.c
+additionalSOURCES += src/metag/sysv.S src/metag/ffi.c
endif
+if USE_LIBTOOL
+nodist_libffi_la_SOURCES = additionalSOURCES
libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/libtool-ldflags $(LDFLAGS))
libffi_la_LDFLAGS = -no-undefined -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
+else
+nodist_libffi_a_SOURCES = additionalSOURCES
+libffi_convenience_a_SOURCES = $(libffi_a_SOURCES)
+nodist_libffi_convenience_a_SOURCES = $(nodist_libffi_a_SOURCES)
+endif
AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
AM_CCASFLAGS = $(AM_CPPFLAGS)