diff options
Diffstat (limited to 'jam-files/engine/boehm_gc/Makefile.am')
-rw-r--r-- | jam-files/engine/boehm_gc/Makefile.am | 206 |
1 files changed, 206 insertions, 0 deletions
diff --git a/jam-files/engine/boehm_gc/Makefile.am b/jam-files/engine/boehm_gc/Makefile.am new file mode 100644 index 000000000..e632864df --- /dev/null +++ b/jam-files/engine/boehm_gc/Makefile.am @@ -0,0 +1,206 @@ +# Copyright (c) 1999-2001 by Red Hat, Inc. All rights reserved. +# +# THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED +# OR IMPLIED. ANY USE IS AT YOUR OWN RISK. +# +# Permission is hereby granted to use or copy this program +# for any purpose, provided the above notices are retained on all copies. +# Permission to modify the code and to distribute modified code is granted, +# provided the above notices are retained, and a notice that the code was +# modified is included with the above copyright notice. +# +# Original author: Tom Tromey +# Severely truncated by Hans-J. Boehm +# Modified by: Grzegorz Jakacki <jakacki at acm dot org> +# Modified by: Petter Urkedal <petter.urkedal@nordita.dk> (2005-04) + +## Process this file with automake to produce Makefile.in. + +## FIXME: `make distcheck' in this directory will not currently work. +## This is most likely to the explicit flags passed to submakes. + +# We currently use the source files directly from libatomic_ops, if we +# use the internal version. This is done since libatomic_ops doesn't +# use libtool, since it has no real use for it. But that seems to make +# it hard to use either the resulting object files or libraries. +# Thus there seems too be no real reason to recusively build in the +# libatomic_ops directory. +# if USE_INTERNAL_LIBATOMICS_OPS +# SUBDIRS = @maybe_libatomic_ops@ +# else +# SUBDIRS = +# endif +SUBDIRS = + +# Initialize variables so that we can declare files locally. +EXTRA_DIST = +lib_LTLIBRARIES = +include_HEADERS = +pkginclude_HEADERS = +dist_noinst_HEADERS = +check_PROGRAMS = +TESTS = + +pkgconfigdir = $(libdir)/pkgconfig +dist_pkgconfig_DATA = bdw-gc.pc + +# C Library +# --------- + +lib_LTLIBRARIES += libgc.la +libgc_la_SOURCES = \ + allchblk.c alloc.c blacklst.c checksums.c dbg_mlc.c \ + dyn_load.c finalize.c gc_dlopen.c gcj_mlc.c headers.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 \ + specific.c stubborn.c typd_mlc.c \ + backgraph.c thread_local_alloc.c + +# C Library: Architecture Dependent +# --------------------------------- + +if PTHREADS +libgc_la_SOURCES += pthread_support.c pthread_stop_world.c +endif + +if DARWIN_THREADS +libgc_la_SOURCES += darwin_stop_world.c +endif + +if WIN32_THREADS +libgc_la_SOURCES += win32_threads.c +endif + +if USE_INTERNAL_LIBATOMIC_OPS +nodist_libgc_la_SOURCES = atomic_ops.c +endif + +if NEED_ATOMIC_OPS_ASM +nodist_libgc_la_SOURCES = atomic_ops_sysdeps.S +endif + +# Include THREADDLLIBS here to ensure that the correct versions of +# linuxthread semaphore functions get linked: +libgc_la_LIBADD = @addobjs@ $(THREADDLLIBS) $(UNWINDLIBS) +libgc_la_DEPENDENCIES = @addobjs@ +libgc_la_LDFLAGS = $(extra_ldflags_libgc) -version-info 1:3:0 -no-undefined + +EXTRA_libgc_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_netbsd_mach_dep.s \ + sparc_sunos4_mach_dep.s ia64_save_regs_in_stack.s + + +# C++ Interface +# ------------- + +if CPLUSPLUS +lib_LTLIBRARIES += libgccpp.la +pkginclude_HEADERS += include/gc_cpp.h include/gc_allocator.h +libgccpp_la_SOURCES = gc_cpp.cc +libgccpp_la_LIBADD = $(top_builddir)/libgc.la +libgccpp_la_LDFLAGS = -version-info 1:3:0 -no-undefined +endif + +# FIXME: If Visual C++ users use Makefile.am, this should go into +# pkginclude_HEADERS with proper AM_CONDITIONALization. Otherwise +# delete this comment. +EXTRA_DIST += gc_cpp.cpp + + +# Misc +# ---- + +AM_CXXFLAGS = @GC_CFLAGS@ +AM_CFLAGS = @GC_CFLAGS@ + +## FIXME: relies on internal code generated by automake. +## FIXME: ./configure --enable-dependency-tracking should be used +#all_objs = @addobjs@ $(libgc_la_OBJECTS) +#$(all_objs) : include/private/gcconfig.h include/private/gc_priv.h \ +#include/private/gc_hdrs.h include/gc.h include/gc_gcj.h \ +#include/gc_pthread_redirects.h include/gc_config_macros.h \ +#include/private/thread_local_alloc.h include/private_support.h \ +#include/private/pthread_stop_world.h \ +#include/gc_mark.h @addincludes@ + +## FIXME: we shouldn't have to do this, but automake forces us to. +## We use -Wp,-P to strip #line directives. Irix `as' chokes on +## these. +if COMPILER_XLC + ## XLC neither requires nor tolerates the unnecessary assembler goop + ASM_CPP_OPTIONS = +else + ## We use -Wp,-P to strip #line directives. Irix `as' chokes on + ## these. + ASM_CPP_OPTIONS = -Wp,-P -x assembler-with-cpp +endif +.s.lo: + $(LTCOMPILE) $(ASM_CPP_OPTIONS) -c $< + +.S.lo: + $(LTCOMPILE) $(ASM_CPP_OPTIONS) -c $< + +## We need to add DEFS to assembler flags +## :FIXME: what if assembler does not accept -D... ? +## (use Autoconf to prepare ASDEFS ???) + +CCASFLAGS += $(DEFS) + +dist_noinst_SCRIPTS = callprocs configure.host + ## callprocs --- used by Makefile.{dj,direct} + ## configure.host --- used by Makefile.{am,dj,direct} + +# headers which are not installed +# (see include/include.am for more) +# +dist_noinst_HEADERS += version.h + +# documentation which is not installed +# +EXTRA_DIST += README.QUICK + +# other makefiles +# :GOTCHA: deliberately we do not include 'Makefile' +EXTRA_DIST += BCC_MAKEFILE NT_MAKEFILE NT_THREADS_MAKEFILE \ + OS2_MAKEFILE PCR-Makefile digimars.mak EMX_MAKEFILE \ + Makefile.direct Makefile.dj Makefile.DLLs SMakefile.amiga \ + WCC_MAKEFILE configure_atomic_ops.sh \ + NT_STATIC_THREADS_MAKEFILE NT_X64_STATIC_THREADS_MAKEFILE + +# files used by makefiles other than Makefile.am +# +EXTRA_DIST += add_gc_prefix.c gcname.c if_mach.c if_not_there.c \ + hpux_test_and_clear.s gc.mak MacOS.c \ + MacProjects.sit.hqx mach_dep.c setjmp_t.c \ + threadlibs.c AmigaOS.c \ + Mac_files/datastart.c Mac_files/dataend.c \ + Mac_files/MacOS_config.h Mac_files/MacOS_Test_config.h \ + include/private/msvc_dbg.h msvc_dbg.c + +# The libatomic_ops library. This is not ideal, since we pick up junk from +# there. The hard-coded version number should also go. +EXTRA_DIST += libatomic_ops-1.2 + +# this is an auxiliary shell file used by Makefile and Makefile.direct +# +CONFIG_STATUS_DEPENDENCIES = $(srcdir)/configure.host + +# :FIXME: why do we distribute this one??? +# +EXTRA_DIST += libtool.m4 + +# +# :GOTCHA: GNU make rule for making .s out of .S is flawed, +# it will not remove dest if building fails +.S.s: + if $(CPP) $< >$@ ; then :; else rm -f $@; fi + +include include/include.am +include cord/cord.am +include tests/tests.am +include doc/doc.am +# Putting these at the top causes cord to be built first, and not find libgc.a +# on HP/UX. There may be a better fix. + + |