e301621d19
* configure.in: Rename THREADLIB to THREADLIBS. * Makefile.am (LINK): Add $(THREADLIBS) to libtool command line. This ensures that we link the correct version of the linuxthreads semaphore functions. * Makefile.in: Rebuilt. * configure: Rebuilt. * linux_thread.c (GC_thr_init, GC_suspend_handler): Add SIGABRT to the list of signals which are not blocked during suspend in the NO_SIGNALS case. For libjava: * Makefile.am (libgcj_la_LIBADD): Add $(THREADLIBS). This ensures that the correct versions of various linuxthreads functions get linked. * Makefile.in: Rebuilt. * java/lang/natThread.cc (finalize_native): New static function. Call _Jv_ThreadDestroyData. (initialize_native): Register finalizer for "data". * include/posix-threads.h (_Jv_ThreadInitData): New simpler prototype. (_Jv_ThreadDestroyData): New prototype. * include/win32-threads.h: Ditto. * include/no-threads.h: Ditto. * posix-threads.cc (_Jv_ThreadInitData): Implement new prototype. (_Jv_ThreadDestroyData): New function. Free native thread "data" and move mutex and condition variable destroy code from: (really_start): ...here. (_Jv_ThreadStart): Set PTHREAD_CREATE_DETACHED. * win32-threads.cc (_Jv_ThreadInitData): Implement new prototype. (_Jv_ThreadDestroyData): Implemented. * nogc.cc (_Jv_AllocObject): Use "void *" not "ptr_t". (_Jv_AllocArray): Ditto. From-SVN: r38557
142 lines
4.4 KiB
Makefile
142 lines
4.4 KiB
Makefile
## Process this file with automake to produce Makefile.in.
|
|
|
|
## FIXME: `make dist' in this directory will not currently work. Many
|
|
## files that should be in the distribution are not mentioned in this
|
|
## Makefile.am.
|
|
|
|
AUTOMAKE_OPTIONS = cygnus
|
|
|
|
# Multilib support variables.
|
|
MULTISRCTOP =
|
|
MULTIBUILDTOP =
|
|
MULTIDIRS =
|
|
MULTISUBDIR =
|
|
MULTIDO = true
|
|
MULTICLEAN = true
|
|
|
|
## Install a library built with a cross compiler in tooldir, not
|
|
## libdir.
|
|
if USE_LIBDIR
|
|
toolexeclibdir = $(libdir)$(MULTISUBDIR)
|
|
else
|
|
toolexecdir = $(exec_prefix)/$(target_alias)
|
|
toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
|
|
endif
|
|
|
|
toolexeclib_LTLIBRARIES = $(target_all)
|
|
EXTRA_LTLIBRARIES = libgcjgc.la
|
|
libgcjgc_la_SOURCES = allchblk.c alloc.c blacklst.c checksums.c \
|
|
gcconfig.h dbg_mlc.c dyn_load.c finalize.c gc.h gc_alloc.h gc_cpp.h \
|
|
gc_hdrs.h gc_mark.h gc_priv.h gc_private.h gc_typed.h gcj_mlc.c headers.c \
|
|
hpux_irix_threads.c linux_threads.c malloc.c mallocx.c mark.c mark_rts.c \
|
|
misc.c new_hblk.c obj_map.c os_dep.c pcr_interface.c ptr_chck.c \
|
|
real_malloc.c reclaim.c solaris_pthreads.c solaris_threads.c \
|
|
solaris_threads.h stubborn.c typd_mlc.c version.h weakpointer.h
|
|
|
|
# Include THREADLIBS here to ensure that the correct versions of
|
|
# linuxthread semaphore functions get linked:
|
|
libgcjgc_la_LIBADD = @addobjs@ $(THREADLIBS)
|
|
libgcjgc_la_DEPENDENCIES = @addobjs@
|
|
libgcjgc_la_LDFLAGS = -version-info 1:1:0 -rpath $(toolexeclibdir)
|
|
|
|
EXTRA_libgcjgc_la_SOURCES = alpha_mach_dep.s mips_sgi_mach_dep.s \
|
|
mips_ultrix_mach_dep.s rs6000_mach_dep.s sparc_mach_dep.s \
|
|
sparc_sunos4_mach_dep.s mach_dep.c ecos.cc
|
|
|
|
AM_CXXFLAGS = @BOEHM_GC_CFLAGS@
|
|
AM_CFLAGS = @BOEHM_GC_CFLAGS@
|
|
|
|
check_PROGRAMS = gctest
|
|
gctest_SOURCES = test.c
|
|
gctest_LDADD = ./libgcjgc.la $(THREADLIBS) $(EXTRA_TEST_LIBS)
|
|
|
|
TESTS = gctest
|
|
|
|
## FIXME: relies on internal code generated by automake.
|
|
all_objs = @addobjs@ $(libgcjgc_la_OBJECTS)
|
|
$(all_objs) : gcconfig.h gc_priv.h gc_hdrs.h gc.h gc_mark.h
|
|
|
|
## FIXME: we shouldn't have to do this, but automake forces us to.
|
|
.s.lo:
|
|
## We use -Wp,-P to strip #line directives. Irix `as' chokes on
|
|
## these.
|
|
$(LTCOMPILE) -Wp,-P -x assembler-with-cpp -c $<
|
|
|
|
## We have our own definition of LTCOMPILE because we want to use our
|
|
## CFLAGS, not those passed in from the top level make.
|
|
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) \
|
|
$(AM_CPPFLAGS) $(CPPFLAGS) \
|
|
$(AM_CFLAGS) $(MY_CFLAGS) $(BOEHM_GC_CFLAGS)
|
|
LINK = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(MY_CFLAGS) $(LDFLAGS) -o $@
|
|
|
|
AM_CFLAGS = @BOEHM_GC_CFLAGS@
|
|
|
|
# Work around what appears to be a GNU make bug handling MAKEFLAGS
|
|
# values defined in terms of make variables, as is the case for CC and
|
|
# friends when we are called from the top level Makefile.
|
|
AM_MAKEFLAGS = \
|
|
"AR_FLAGS=$(AR_FLAGS)" \
|
|
"CC_FOR_BUILD=$(CC_FOR_BUILD)" \
|
|
"CFLAGS=$(CFLAGS)" \
|
|
"CXXFLAGS=$(CXXFLAGS)" \
|
|
"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
|
|
"CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
|
|
"INSTALL=$(INSTALL)" \
|
|
"INSTALL_DATA=$(INSTALL_DATA)" \
|
|
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
|
|
"INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
|
|
"LDFLAGS=$(LDFLAGS)" \
|
|
"LIBCFLAGS=$(LIBCFLAGS)" \
|
|
"LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
|
|
"MAKE=$(MAKE)" \
|
|
"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
|
|
"PICFLAG=$(PICFLAG)" \
|
|
"PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
|
|
"SHELL=$(SHELL)" \
|
|
"EXPECT=$(EXPECT)" \
|
|
"RUNTEST=$(RUNTEST)" \
|
|
"RUNTESTFLAGS=$(RUNTESTFLAGS)" \
|
|
"exec_prefix=$(exec_prefix)" \
|
|
"infodir=$(infodir)" \
|
|
"libdir=$(libdir)" \
|
|
"prefix=$(prefix)" \
|
|
"tooldir=$(tooldir)" \
|
|
"AR=$(AR)" \
|
|
"AS=$(AS)" \
|
|
"CC=$(CC)" \
|
|
"CXX=$(CXX)" \
|
|
"LD=$(LD)" \
|
|
"LIBCFLAGS=$(LIBCFLAGS)" \
|
|
"NM=$(NM)" \
|
|
"PICFLAG=$(PICFLAG)" \
|
|
"RANLIB=$(RANLIB)" \
|
|
"DESTDIR=$(DESTDIR)"
|
|
|
|
CONFIG_STATUS_DEPENDENCIES = $(boehm_gc_basedir)/configure.host
|
|
|
|
# Multilib support.
|
|
.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
|
|
maintainer-clean-multi
|
|
|
|
all-am: all-multi
|
|
install-am: install-multi
|
|
mostlyclean-am: mostlyclean-multi
|
|
clean-am: clean-multi
|
|
distclean-am: distclean-multi
|
|
maintainer-clean-am: maintainer-clean-multi
|
|
|
|
all-multi:
|
|
$(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
|
|
install-multi:
|
|
$(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
|
|
mostlyclean-multi:
|
|
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean
|
|
clean-multi:
|
|
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean
|
|
distclean-multi:
|
|
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
|
|
maintainer-clean-multi:
|
|
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
|
|
|
|
MAKEOVERRIDES=
|