This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[boehms-gc] Little build machinery fix


Hi,

This patch partly fixes build machinery so that Boehm's GC is
correctly built on host. If this code ever makes it to production
(i.e. we choose ggc-boehm for GCC), then I have an item on my TODO to
make collector be built iff --with-gc=boehm is given. Now it is built
unconditionally.

Currently I'm working on proper weak pointer support, so that cached
things do not live forever. As for regressions, I have killed
testsuite on Cygwin maybe after 3 days of running, testsuite on Linux
does not show any regressions, PCH excluded.

Commited to the branch.

--
Laurynas

Index: Makefile.def
===================================================================
--- Makefile.def	(revision 114910)
+++ Makefile.def	(working copy)
@@ -41,7 +41,7 @@
host_modules= { module= opcodes; lib_path=.libs; bootstrap=true; };
host_modules= { module= binutils; bootstrap=true; };
host_modules= { module= bison; no_check_cross= true; };
-host_modules= { module= boehm-gc; bootstrap=true; };
+host_modules= { module= boehm-gc; bootstrap=true; no_install=true; };
host_modules= { module= byacc; no_check_cross= true; };
host_modules= { module= bzip2; };
host_modules= { module= dejagnu; };
@@ -271,7 +271,7 @@
dependencies = { module=configure-gcc; on=all-gas; };
dependencies = { module=configure-gcc; on=all-ld; };
dependencies = { module=all-gcc; on=all-libiberty; hard=true; };
-dependencies = { module=all-gcc; on=all-boehms-gc; hard=true; };
+dependencies = { module=all-gcc; on=all-boehm-gc; hard=true; };
dependencies = { module=all-gcc; on=all-intl; };
dependencies = { module=all-gcc; on=all-build-texinfo; };
dependencies = { module=all-gcc; on=all-build-bison; };
Index: Makefile.in
===================================================================
--- Makefile.in	(revision 114910)
+++ Makefile.in	(working copy)
@@ -7137,13 +7137,7 @@
@if boehm-gc
maybe-install-boehm-gc: install-boehm-gc

-install-boehm-gc: installdirs
-	@: $(MAKE); $(unstage)
-	@r=`${PWD_COMMAND}`; export r; \
-	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
-	(cd $(HOST_SUBDIR)/boehm-gc && \
-	  $(MAKE) $(FLAGS_TO_PASS)  install)
+install-boehm-gc:

@endif boehm-gc

@@ -41489,7 +41483,14 @@
all-stage4-gcc: all-stage4-libiberty
all-stageprofile-gcc: all-stageprofile-libiberty
all-stagefeedback-gcc: all-stagefeedback-libiberty
-all-gcc: all-boehms-gc
+all-gcc: all-boehm-gc
+
+all-stage1-gcc: all-stage1-boehm-gc
+all-stage2-gcc: all-stage2-boehm-gc
+all-stage3-gcc: all-stage3-boehm-gc
+all-stage4-gcc: all-stage4-boehm-gc
+all-stageprofile-gcc: all-stageprofile-boehm-gc
+all-stagefeedback-gcc: all-stagefeedback-boehm-gc
all-gcc: maybe-all-intl

all-stage1-gcc: maybe-all-stage1-intl
Index: configure.in
===================================================================
--- configure.in	(revision 114687)
+++ configure.in	(working copy)
@@ -123,7 +123,7 @@

# these libraries are used by various programs built for the host environment
#
-host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl
libgui zlib libcpp libdecnumber"
+host_libs="intl mmalloc libiberty boehm-gc opcodes bfd readline tcl
tk itcl libgui zlib libcpp libdecnumber"

# these tools are built for the host environment
# Note, the powerpc-eabi build depends on sim occurring before gdb in order to
@@ -1313,7 +1313,7 @@
  fi
done

-# Check for Boehm's garbage collector
+# Check for Boehm's garbage collector as a target library
AC_ARG_ENABLE(objc-gc,
[  --enable-objc-gc       enable the use of Boehm's garbage collector with
                          the GNU Objective-C runtime.],
@@ -1323,7 +1323,7 @@
    ;;
esac])

-# Make sure we only build Boehm's garbage collector if required.
+# Make sure we only build Boehm's garbage collector as a target
library if required.
case ,${enable_languages},:${enable_libgcj}:${enable_objc_gc} in
  *,objc,*:*:yes)
    # Keep target-boehm-gc if requested for Objective-C.
Index: configure
===================================================================
--- configure	(revision 114687)
+++ configure	(working copy)
@@ -893,7 +893,7 @@

# these libraries are used by various programs built for the host environment
#
-host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl
libgui zlib libcpp libdecnumber"
+host_libs="intl mmalloc libiberty boehm-gc opcodes bfd readline tcl
tk itcl libgui zlib libcpp libdecnumber"

# these tools are built for the host environment
# Note, the powerpc-eabi build depends on sim occurring before gdb in order to
@@ -2527,7 +2527,7 @@
  fi
done

-# Check for Boehm's garbage collector
+# Check for Boehm's garbage collector as a target library
# Check whether --enable-objc-gc or --disable-objc-gc was given.
if test "${enable_objc_gc+set}" = set; then
  enableval="$enable_objc_gc"
@@ -2539,7 +2539,7 @@
fi


-# Make sure we only build Boehm's garbage collector if required. +# Make sure we only build Boehm's garbage collector as a target library if required. case ,${enable_languages},:${enable_libgcj}:${enable_objc_gc} in *,objc,*:*:yes) # Keep target-boehm-gc if requested for Objective-C. Index: gcc/Makefile.in =================================================================== --- gcc/Makefile.in (revision 114687) +++ gcc/Makefile.in (working copy) @@ -868,9 +868,9 @@ INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \ -I$(srcdir)/../include @INCINTL@ \ $(CPPINC) $(GMPINC) $(DECNUMINC) \ - -I$(srcdir)/../boehm-gc/include -I../build-i686-pc-cygwin/boehm-gc/include + -I$(srcdir)/../boehm-gc/include -I../boehm-gc/include

-BOEHM = ../build-i686-pc-cygwin/boehm-gc/.libs/libgcjgc.a
+BOEHM = ../boehm-gc/.libs/libgcjgc.a

.c.o:
	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]