From 585f9b9f3ad31c32c0e44ad68bac2aea53d89ec9 Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Thu, 15 Dec 2011 16:02:38 +0400 Subject: [PATCH] Add configure option to compile all library .c files into single gc.o * Makefile.am (SINGLE_GC_OBJ): Test new AM conditional. * Makefile.am (libgc_la_SOURCES): Put only extra/gc.c entry here if SINGLE_GC_OBJ. * Makefile.am (EXTRA_DIST): Add extra/gc.c only if not SINGLE_GC_OBJ. * configure.ac (single-obj-compilation): New AC "enable" argument (turning on compilation of single extra/gc.c file instead of all .c files from GC base folder). * configure.ac (SINGLE_GC_OBJ): New AM conditional. --- Makefile.am | 8 +++++++- configure.ac | 5 +++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index 15fcee31..0d1fa831 100644 --- a/Makefile.am +++ b/Makefile.am @@ -49,6 +49,10 @@ pkgconfig_DATA = bdw-gc.pc # --------- lib_LTLIBRARIES += libgc.la +if SINGLE_GC_OBJ +libgc_la_SOURCES = extra/gc.c +else +EXTRA_DIST += extra/gc.c libgc_la_SOURCES = \ allchblk.c alloc.c backgraph.c blacklst.c checksums.c dbg_mlc.c \ dyn_load.c finalize.c gc_dlopen.c gcj_mlc.c headers.c \ @@ -75,6 +79,8 @@ if ENABLE_DISCLAIM libgc_la_SOURCES += fnlz_mlc.c endif +endif + if USE_INTERNAL_LIBATOMIC_OPS nodist_libgc_la_SOURCES = libatomic_ops/src/atomic_ops.c endif @@ -170,7 +176,7 @@ EXTRA_DIST += BCC_MAKEFILE NT_MAKEFILE \ # EXTRA_DIST += tools/add_gc_prefix.c tools/gcname.c tools/if_mach.c \ tools/if_not_there.c tools/setjmp_t.c tools/threadlibs.c \ - gc.mak extra/gc.c extra/MacOS.c extra/AmigaOS.c \ + gc.mak extra/MacOS.c extra/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 extra/msvc_dbg.c tools/callprocs.sh diff --git a/configure.ac b/configure.ac index c18ac1a0..e1c6e2c2 100644 --- a/configure.ac +++ b/configure.ac @@ -755,6 +755,11 @@ fi AM_CONDITIONAL(USE_LIBDIR, test -z "$with_cross_host") +AC_ARG_ENABLE(single-obj-compilation, + [AC_HELP_STRING([--enable-single-obj-compilation], + [Compile all library .c files into single .o])], + [single_obj_compilation=yes]) +AM_CONDITIONAL([SINGLE_GC_OBJ], [test "$single_obj_compilation" = "yes"]) # Atomic Ops # ---------- -- 2.50.1