Use --enable-sjlj-exceptions when configuring gcc so that exception handling

works for dynamicly linked executables.  Only tested so far on i386 with
  gcc 3.3.2.  But combined with the latest ldso updates, I can now get a
  dynamicly linked java helloworld app to run.
Add a config toggle for building gcj and libgcj.  The build runs fine
  through gcc-final but currently requires hand interventions to build
  gcc-target.  Again, only tested so far on i386.
This commit is contained in:
Manuel Novoa III 2004-02-11 03:32:34 +00:00
parent 0209686130
commit 18cefb81d1
2 changed files with 20 additions and 0 deletions

View file

@ -94,6 +94,11 @@ SOFT_FLOAT:=false
TARGET_OPTIMIZATION=-Os
TARGET_DEBUGGING= #-g
# Currently the unwind stuff seems to work for staticly linked apps but
# not dynamic. So use setjmp/longjmp exceptions by default.
GCC_USE_SJLJ_EXCEPTIONS:=--enable-sjlj-exceptions
#GCC_USE_SJLJ_EXCEPTIONS:=
# Any additional gcc options you may want to include....
EXTRA_GCC_CONFIG_OPTIONS:=
@ -108,6 +113,11 @@ MULTILIB:=--enable-multilib
# Build/install c++ compiler and libstdc++?
INSTALL_LIBSTDCPP:=true
# Build/install java compiler and libgcj? (requires c++)
# WARNING!!! DOES NOT BUILD FOR TARGET WITHOUT INTERVENTION!!! mjn3
#INSTALL_LIBGCJ:=true
INSTALL_LIBGCJ:=false
# For SMP machines some stuff can be run in parallel
#JLEVEL=-j3
@ -209,6 +219,10 @@ TARGET_SOFT_FLOAT:=
ARCH_FPU_SUFFIX:=
endif
ifeq ($(INSTALL_LIBGCJ),true)
INSTALL_LIBSTDCPP:=true
endif
# WARNING -- uClibc currently disables large file support on cris.
ifeq ("$(strip $(ARCH))","cris")
BUILD_WITH_LARGEFILE:=false

View file

@ -39,11 +39,15 @@ GCC_CAT:=bzcat
#
#############################################################
ifeq ($(INSTALL_LIBGCJ),true)
TARGET_LANGUAGES:=c,c++,java
else
ifeq ($(INSTALL_LIBSTDCPP),true)
TARGET_LANGUAGES:=c,c++
else
TARGET_LANGUAGES:=c
endif
endif
#############################################################
#
@ -138,6 +142,7 @@ $(GCC_BUILD_DIR2)/.configured: $(GCC_DIR)/.patched $(STAGING_DIR)/$(REAL_GNU_TAR
$(DISABLE_NLS) \
$(MULTILIB) \
$(SOFT_FLOAT_CONFIG_OPTION) \
$(GCC_USE_SJLJ_EXCEPTIONS) \
$(EXTRA_GCC_CONFIG_OPTIONS));
touch $(GCC_BUILD_DIR2)/.configured
@ -205,6 +210,7 @@ $(GCC_BUILD_DIR3)/.configured: $(GCC_BUILD_DIR2)/.installed
$(DISABLE_NLS) \
$(MULTILIB) \
$(SOFT_FLOAT_CONFIG_OPTION) \
$(GCC_USE_SJLJ_EXCEPTIONS) \
$(EXTRA_GCC_CONFIG_OPTIONS));
touch $(GCC_BUILD_DIR3)/.configured