* m4/pr40134.m4: Added a configure switch for ARM linker problem.
[cacao.git] / src / cacao / Makefile.am
index 12247842ebfcff4202d9081a3d255686b418ec8c..34a81cbfbcc2891e912498f4209fa10e1de253d4 100644 (file)
 
 AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/src/vm/jit/$(ARCH_DIR) -I$(top_srcdir)/src/vm/jit/$(ARCH_DIR)/$(OS_DIR)
 
-if ENABLE_THREADS
-THREAD_LIB = \
-       $(top_builddir)/src/threads/libthreads.la
-endif
-
 if ENABLE_STATICVM
 cacao_LDFLAGS = \
        -all-static
@@ -40,11 +35,21 @@ lib_LTLIBRARIES = \
        libjvm.la
 
 libjvm_la_LDFLAGS = \
-       -version-info 1:0:0
+       -avoid-version
 
-if WITH_CLASSPATH_SUN
+if WITH_JAVA_RUNTIME_LIBRARY_OPENJDK
+if WITH_GNU_LD
 libjvm_la_LDFLAGS += \
        -Xlinker --version-script=$(top_srcdir)/contrib/mapfile-vers-product
+else
+# This is for the Solaris LD.
+libjvm_la_LDFLAGS += \
+       -Xlinker -M$(top_srcdir)/contrib/mapfile-vers-product
+endif
+endif
+
+if GCC_PR40134
+libjvm_la_LDFLAGS += -lgcc
 endif
 
 cacao_LDFLAGS += \
@@ -73,21 +78,25 @@ endif
 
 libjvm_la_SOURCES =
 
+# Dummy C++ source to cause C++ linking.
+# http://www.gnu.org/software/automake/manual/automake.html#Libtool-Convenience-Libraries
+nodist_EXTRA_libjvm_la_SOURCES = \
+       dummy.cxx
+
 libjvm_la_LIBADD = \
        $(top_builddir)/src/fdlibm/libfdlibm.la \
        $(top_builddir)/src/mm/libmm.la \
        $(top_builddir)/src/native/libnative.la \
+       $(top_builddir)/src/threads/libthreads.la \
        $(top_builddir)/src/toolbox/libtoolbox.la \
        $(top_builddir)/src/vm/libvm.la \
-       $(top_builddir)/src/vmcore/libvmcore.la \
-       $(GC_LIB) \
-       $(THREAD_LIB)
+       $(GC_LIB)
 
 bin_PROGRAMS = \
        cacao
 
 cacao_SOURCES = \
-       cacao.c
+       cacao.cpp
 
 cacao_LDADD = \
        $(CACAO_LIBS)
@@ -96,6 +105,20 @@ cacao_DEPENDENCIES = \
        $(cacao_LDADD)
 
 
+if WITH_JAVA_RUNTIME_LIBRARY_OPENJDK
+install-data-local:
+       $(mkdir_p) $(prefix)/jre/lib/$(JAVA_ARCH)/server
+       $(LN_S) -f $(libdir)/libjvm.so $(prefix)/jre/lib/$(JAVA_ARCH)/server
+       $(ECHO) $(ECHO_N) > $(prefix)/jre/lib/$(JAVA_ARCH)/server/Xusage.txt
+       $(ECHO) $(ECHO_N) > $(prefix)/jre/lib/$(JAVA_ARCH)/server/libjsig.so
+
+uninstall-local:
+       rm -f $(prefix)/jre/lib/$(JAVA_ARCH)/server/libjvm.so
+       rm -f $(prefix)/jre/lib/$(JAVA_ARCH)/server/Xusage.txt
+       rm -f $(prefix)/jre/lib/$(JAVA_ARCH)/server/libjsig.so
+endif
+
+
 ## Local variables:
 ## mode: Makefile
 ## indent-tabs-mode: t