aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormga-sc <mark.goncharov@syntacore.com>2023-02-08 10:59:44 +0300
committermga-sc <mark.goncharov@syntacore.com>2023-02-24 07:29:04 +0300
commitc356c5d7ef7e06f1882dbb37a8613d3c6f355dec (patch)
tree3f02e6ae53ef66d101d5d43e1194fb76bcd31adb
parent65056bdb149c87db4e7223c4e8b5466cf326ff86 (diff)
downloadriscv-gnu-toolchain-c356c5d7ef7e06f1882dbb37a8613d3c6f355dec.zip
riscv-gnu-toolchain-c356c5d7ef7e06f1882dbb37a8613d3c6f355dec.tar.gz
riscv-gnu-toolchain-c356c5d7ef7e06f1882dbb37a8613d3c6f355dec.tar.bz2
[GCC]: Pass extra flags to gcc build.
There is no way to pass extra flags to gcc though riscv-gnu-toolchain Makefile. This is neccesary for me, because I has to rewrite gmp, isl, mpfr, mpc folders in source of gcc project. Moreover, I don't want to rebuild them with gcc. Also I think, the opportunity to pass extra flags will be convenient for many development purposes.
-rw-r--r--Makefile.in7
-rw-r--r--README.md3
2 files changed, 10 insertions, 0 deletions
diff --git a/Makefile.in b/Makefile.in
index 71369ab..2443a63 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -413,6 +413,7 @@ stamps/build-gcc-linux-stage1: $(GCC_SRCDIR) $(GCC_SRC_GIT) stamps/build-binutil
$(WITH_ARCH) \
$(WITH_TUNE) \
$(WITH_ISA_SPEC) \
+ $(GCC_EXTRA_CONFIGURE_FLAGS) \
CFLAGS_FOR_TARGET="-O2 $(CFLAGS_FOR_TARGET)" \
CXXFLAGS_FOR_TARGET="-O2 $(CXXFLAGS_FOR_TARGET)"
$(MAKE) -C $(notdir $@) inhibit-libc=true all-gcc
@@ -448,6 +449,7 @@ stamps/build-gcc-linux-stage2: $(GCC_SRCDIR) $(GCC_SRC_GIT) $(addprefix stamps/b
$(WITH_ARCH) \
$(WITH_TUNE) \
$(WITH_ISA_SPEC) \
+ $(GCC_EXTRA_CONFIGURE_FLAGS) \
CFLAGS_FOR_TARGET="-O2 $(CFLAGS_FOR_TARGET)" \
CXXFLAGS_FOR_TARGET="-O2 $(CXXFLAGS_FOR_TARGET)"
$(MAKE) -C $(notdir $@)
@@ -502,6 +504,7 @@ stamps/build-gcc-linux-native: $(GCC_SRCDIR) $(GCC_SRC_GIT) stamps/build-gcc-lin
$(WITH_ARCH) \
$(WITH_TUNE) \
$(WITH_ISA_SPEC) \
+ $(GCC_EXTRA_CONFIGURE_FLAGS) \
$(MAKE) -C $(notdir $@)
$(MAKE) -C $(notdir $@) install
cp -a $(INSTALL_DIR)/$(LINUX_TUPLE)/lib* $(SYSROOT)
@@ -580,6 +583,7 @@ stamps/build-gcc-newlib-stage1: $(GCC_SRCDIR) $(GCC_SRC_GIT) stamps/build-binuti
$(WITH_ARCH) \
$(WITH_TUNE) \
$(WITH_ISA_SPEC) \
+ $(GCC_EXTRA_CONFIGURE_FLAGS) \
CFLAGS_FOR_TARGET="-Os $(CFLAGS_FOR_TARGET)" \
CXXFLAGS_FOR_TARGET="-Os $(CXXFLAGS_FOR_TARGET)"
$(MAKE) -C $(notdir $@) all-gcc
@@ -680,6 +684,7 @@ stamps/build-gcc-newlib-stage2: $(GCC_SRCDIR) $(GCC_SRC_GIT) stamps/build-newlib
$(WITH_ARCH) \
$(WITH_TUNE) \
$(WITH_ISA_SPEC) \
+ $(GCC_EXTRA_CONFIGURE_FLAGS) \
CFLAGS_FOR_TARGET="-Os $(CFLAGS_FOR_TARGET)" \
CXXFLAGS_FOR_TARGET="-Os $(CXXFLAGS_FOR_TARGET)"
$(MAKE) -C $(notdir $@)
@@ -742,6 +747,7 @@ stamps/build-gcc-musl-stage1: $(GCC_SRCDIR) $(GCC_SRC_GIT) stamps/build-binutils
$(WITH_ARCH) \
$(WITH_TUNE) \
$(WITH_ISA_SPEC) \
+ $(GCC_EXTRA_CONFIGURE_FLAGS) \
CFLAGS_FOR_TARGET="-O2 $(CFLAGS_FOR_TARGET)" \
CXXFLAGS_FOR_TARGET="-O2 $(CXXFLAGS_FOR_TARGET)"
$(MAKE) -C $(notdir $@) inhibit-libc=true all-gcc
@@ -810,6 +816,7 @@ stamps/build-gcc-musl-stage2: $(GCC_SRCDIR) $(GCC_SRC_GIT) stamps/build-musl-lin
$(WITH_ARCH) \
$(WITH_TUNE) \
$(WITH_ISA_SPEC) \
+ $(GCC_EXTRA_CONFIGURE_FLAGS) \
CFLAGS_FOR_TARGET="-O2 $(CFLAGS_FOR_TARGET)" \
CXXFLAGS_FOR_TARGET="-O2 $(CXXFLAGS_FOR_TARGET)"
$(MAKE) -C $(notdir $@)
diff --git a/README.md b/README.md
index 4f383cc..5037475 100644
--- a/README.md
+++ b/README.md
@@ -137,6 +137,9 @@ devtoolset-7 works.
There are a number of additional options that may be passed to
configure. See './configure --help' for more details.
+Also you can define extra flags to pass to specific projects: ```BINUTILS_NATIVE_FLAGS_EXTRA, BINUTILS_TARGET_FLAGS_EXTRA, GCC_EXTRA_CONFIGURE_FLAGS, GDB_NATIVE_FLAGS_EXTRA, GDB_TARGET_FLAGS_EXTRA, GLIBC_NATIVE_FLAGS_EXTRA, GLIBC_TARGET_FLAGS_EXTRA```.
+Example: ```GCC_EXTRA_CONFIGURE_FLAGS=--with-gmp=/opt/gmp make linux```
+
#### Set default ISA spec version
`--with-isa-spec=` can specify the default version of the RISC-V Unprivileged