xfail the unwindtest for osx as per issue #279
[libffi.git] / Makefile.am
index 5712edd..4ddd12d 100644 (file)
@@ -5,6 +5,14 @@ AUTOMAKE_OPTIONS = foreign subdir-objects
 ACLOCAL_AMFLAGS = -I m4
 
 SUBDIRS = include testsuite man
+if BUILD_DOCS
+## This hack is needed because it doesn't seem possible to make a
+## conditional info_TEXINFOS in Automake.  At least Automake 1.14
+## either gives errors -- if this attempted in the most
+## straightforward way -- or simply unconditionally tries to build the
+## info file.
+SUBDIRS += doc
+endif
 
 EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj                     \
        ChangeLog.libffi ChangeLog.libffi-3.1                           \
@@ -16,11 +24,6 @@ EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj                   \
        libtool-ldflags
 
 
-info_TEXINFOS =
-if BUILD_DOCS
-#info_TEXINFOS += doc/libffi.texi
-endif
-
 ## ################################################################
 
 ##
@@ -152,7 +155,6 @@ EXTRA_libffi_la_SOURCES = \
 
 TARGET_OBJ = @TARGET_OBJ@
 libffi_la_LIBADD = $(TARGET_OBJ)
-libffi_la_DEPENDENCIES = $(TARGET_OBJ)
 
 libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
 EXTRA_libffi_convenience_la_SOURCES = $(EXTRA_libffi_la_SOURCES)
@@ -169,7 +171,32 @@ if FFI_DEBUG
 AM_CFLAGS += -DFFI_DEBUG
 endif
 
-libffi_la_LDFLAGS = -no-undefined -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
+if LIBFFI_BUILD_VERSIONED_SHLIB
+if LIBFFI_BUILD_VERSIONED_SHLIB_GNU
+libffi_version_script = -Wl,--version-script,libffi.map
+libffi_version_dep = libffi.map
+endif
+if LIBFFI_BUILD_VERSIONED_SHLIB_SUN
+libffi_version_script = -Wl,-M,libffi.map-sun
+libffi_version_dep = libffi.map-sun
+libffi.map-sun : libffi.map $(top_srcdir)/../contrib/make_sunver.pl \
+                $(libffi_la_OBJECTS) $(libffi_la_LIBADD)
+       perl $(top_srcdir)/../contrib/make_sunver.pl libffi.map \
+        `echo $(libffi_la_OBJECTS) $(libffi_la_LIBADD) | \
+           sed 's,\([^/        ]*\)\.l\([ao]\),.libs/\1.\2,g'` \
+        > $@ || (rm -f $@ ; exit 1)
+endif
+else
+libffi_version_script =
+libffi_version_dep =
+endif
+libffi_version_info = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
+
+libffi.map: $(top_srcdir)/libffi.map.in
+       $(COMPILE) -D$(TARGET) -E -x assembler-with-cpp -o $@ $<
+
+libffi_la_LDFLAGS = -no-undefined $(libffi_version_info) $(libffi_version_script) $(LTLDFLAGS) $(AM_LTLDFLAGS)
+libffi_la_DEPENDENCIES = $(libffi_la_LIBADD) $(libffi_version_dep)
 
 AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
 AM_CCASFLAGS = $(AM_CPPFLAGS)