diff options
-rw-r--r-- | Makefile.in | 3 | ||||
-rwxr-xr-x | configure | 23 |
2 files changed, 14 insertions, 12 deletions
diff --git a/Makefile.in b/Makefile.in index ddedf33c4..c72b31bfb 100644 --- a/Makefile.in +++ b/Makefile.in @@ -28,6 +28,7 @@ EXEEXT=@EXEEXT@ SOEXT=@SOEXT@ PIC_FLAGS=@PIC_FLAGS@ gcc_src_dir=@gcc_src_dir@ +gcc_ortho_lang=@gcc_ortho_lang@ LLVM_CONFIG=@llvm_config@ LDFLAGS=@LDFLAGS@ LIBBACKTRACE=@backtrace_lib@ @@ -172,6 +173,8 @@ copy-sources.gcc: version.ads $(CP) -p $(srcdir)/src/ortho/gcc/*.ad? $(gcc_vhdl_dir) $(CP) -p $(srcdir)/src/ortho/gcc/*.c $(gcc_vhdl_dir) $(CP) -p $(srcdir)/src/ortho/gcc/*.opt $(gcc_vhdl_dir) + $(CP) -p $(srcdir)/src/ortho/gcc/$(gcc_ortho_lang) \ + $(gcc_vhdl_dir)/ortho-lang.c $(CP) -p $(srcdir)/doc/ghdl.texi $(srcdir)/doc/ghdl.1 $(gcc_vhdl_dir) $(MKDIR) $(gcc_vhdl_dir)/ghdldrv $(CP) -pR $(srcdir)/src/ghdldrv/*.ad? $(gcc_vhdl_dir)/ghdldrv @@ -13,7 +13,7 @@ prefix=/usr/local libdirsuffix=lib/ghdl libdirreverse=../.. gcc_src_dir= -gcc_version=unknown +gcc_ortho_lang=unknown llvm_config= backtrace_lib= llvm_be=llvm @@ -26,7 +26,7 @@ PIC_FLAGS=-fPIC show_help=no progname=$0 -subst_vars="CC CXX GNATMAKE CFLAGS LDFLAGS build srcdir prefix backend libdirsuffix libdirreverse gcc_src_dir llvm_config llvm_be llvm_be_ver backtrace_lib build_mode EXEEXT SOEXT PIC_FLAGS default_pie" +subst_vars="CC CXX GNATMAKE CFLAGS LDFLAGS build srcdir prefix backend libdirsuffix libdirreverse gcc_src_dir gcc_ortho_lang llvm_config llvm_be llvm_be_ver backtrace_lib build_mode EXEEXT SOEXT PIC_FLAGS default_pie" # Find srcdir srcdir=`dirname $progname` @@ -43,10 +43,6 @@ else echoc= fi -# Read required gcc version from BUILD.txt file -gcc_version=`grep '^gcc version' $srcdir/BUILD.txt | - sed -e 's/gcc version \([0-9.]*\) \[.*\]\.$/\1/'` - # Check $1 is a prefix of $2 check_version() { @@ -91,7 +87,7 @@ Usage: configure [options] Options [defaults in brackets]: --prefix=PREFIX install in PREFIX [$prefix] --srcdir=SRCDIR source code path [$srcdir] - --with-gcc=DIR use gcc backend from DIR (needs gcc $gcc_version) + --with-gcc=DIR use gcc backend from DIR --with-llvm-config=PATH use llvm from PATH (needs llvm 3.5 - 3.9) --with-backtrace-lib=LIB.a link with libbacktrace LIB.a to display a backtrace on errors (only for llvm). @@ -144,11 +140,14 @@ if test $backend = gcc; then exit 1 fi base_ver=`cat $gcc_src_dir/gcc/BASE-VER` - if ! check_version $gcc_version $base_ver; then - echo "Mismatch gcc version from $gcc_src_dir" - echo "Need gcc version $gcc_version" - exit 1 - fi + case $base_ver in + 4.9*) gcc_ortho_lang=ortho-lang.c ;; + 5.*) gcc_ortho_lang=ortho-lang-5.c ;; + 6.*) gcc_ortho_lang=ortho-lang-6.c ;; + *) echo "Mismatch gcc version from $gcc_src_dir" + echo "Need gcc version 4.9.x, 5.x or 6.x" + exit 1 ;; + esac if test "x$backtrace_lib" = x ; then # Automatically use libbacktrace from gcc. backtrace_lib="$prefix/$libdirsuffix/libbacktrace.a" |