* m4/pr40134.m4: Added a configure switch for ARM linker problem.
[cacao.git] / src / cacao / Makefile.am
index 445d73893b9577a06f162f994e0de2ae90cd79d0..34a81cbfbcc2891e912498f4209fa10e1de253d4 100644 (file)
@@ -1,9 +1,7 @@
 ## src/cacao/Makefile.am
 ##
-## Copyright (C) 1996-2005, 2006 R. Grafl, A. Krall, C. Kruegel,
-## C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring,
-## E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich,
-## J. Wenninger, Institut f. Computersprachen - TU Wien
+## Copyright (C) 1996-2005, 2006, 2007, 2008
+## CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
 ##
 ## This file is part of CACAO.
 ##
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 ## 02110-1301, USA.
-##
-## Contact: cacao@cacaojvm.org
-##
-## Authors: Christian Thalinger
-##
-## Changes:
-##
-## $Id: Makefile.am 4921 2006-05-15 14:24:36Z twisti $
 
-## Process this file with automake to produce Makefile.in
 
 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 DISABLE_GC
-GC_LIB =
-else
-GC_LIB = $(top_builddir)/src/boehm-gc/libgc.la
-endif
-
-if ENABLE_THREADS
-THREAD_LIB = $(top_builddir)/src/threads/native/libthreads.la
-endif
-
 if ENABLE_STATICVM
 cacao_LDFLAGS = \
        -all-static
@@ -53,77 +32,93 @@ endif
 
 if ENABLE_LIBJVM
 lib_LTLIBRARIES = \
-       libcacaovm.la
+       libjvm.la
+
+libjvm_la_LDFLAGS = \
+       -avoid-version
+
+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
 
-libcacaovm_la_LDFLAGS = \
-       -release $(PACKAGE_VERSION)
+if GCC_PR40134
+libjvm_la_LDFLAGS += -lgcc
+endif
 
 cacao_LDFLAGS += \
        -export-dynamic
+
+CACAO_LIBS =
 else
 noinst_LTLIBRARIES = \
-       libcacaovm.la
+       libjvm.la
 
 cacao_LDFLAGS += \
        -export-dynamic
-endif
 
-if WITH_STATIC_CLASSPATH
-cacao_LDFLAGS += \
-       $(LTLIBICONV)
-
-CLASSPATH_LIBS = \
-       $(CLASSPATH_LIBDIR)/classpath/libjavaio.a \
-       $(CLASSPATH_LIBDIR)/classpath/libjavanio.a \
-       $(CLASSPATH_LIBDIR)/classpath/libjavanet.a \
-       $(CLASSPATH_LIBDIR)/classpath/libjavautil.a \
-       $(CLASSPATH_LIBDIR)/classpath/libjavalang.a \
-       $(CLASSPATH_LIBDIR)/classpath/libjavalangreflect.a
-
-#if USE_GTK_PEER
-#cacao_CFLAGS = \
-#      $(GTK_CFLAGS) $(CAIRO_CFLAGS) $(PANGOFT2_CFLAGS) \
-#      $(XML_CFLAGS) $(XSLT_CFLAGS)
-#
-#cacao_LDFLAGS += \
-#      $(GTK_LIBS) $(CAIRO_LIBS) $(PANGOFT2_LIBS) $(X_LIBS) -lXtst \
-#      $(XML_LIBS) $(XSLT_LIBS)
-#
-#CLASSPATH_LIBS += \
-#      $(CLASSPATH_LIBDIR)/classpath/libgtkpeer.a
-#endif
+CACAO_LIBS = \
+       libjvm.la
 endif
 
 if ENABLE_RT_TIMING
 cacao_LDFLAGS += -lrt
 endif
 
-libcacaovm_la_SOURCES =
+if ENABLE_PYTHON
+cacao_LDFLAGS += \
+    @PYTHON_LSPEC@
+endif
 
-libcacaovm_la_LIBADD = \
+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 \
-       $(GC_LIB) \
-       $(THREAD_LIB)
+       $(GC_LIB)
 
 bin_PROGRAMS = \
        cacao
 
 cacao_SOURCES = \
-       cacao.c \
-       cacao.h
+       cacao.cpp
 
 cacao_LDADD = \
-       libcacaovm.la \
-       $(CLASSPATH_LIBS)
+       $(CACAO_LIBS)
 
 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