diff options
author | Patrick Lehmann <Patrick.Lehmann@plc2.de> | 2018-12-28 22:18:36 +0100 |
---|---|---|
committer | tgingold <tgingold@users.noreply.github.com> | 2018-12-29 05:48:56 +0100 |
commit | 3f0dbb5f1d49a77c2fc77e02df349fcb09fbd459 (patch) | |
tree | 7298637dbb26f25791715688c5876a2e83f0231d | |
parent | 752306411171634308ba1469332ae008b51116fa (diff) | |
download | ghdl-3f0dbb5f1d49a77c2fc77e02df349fcb09fbd459.tar.gz ghdl-3f0dbb5f1d49a77c2fc77e02df349fcb09fbd459.tar.bz2 ghdl-3f0dbb5f1d49a77c2fc77e02df349fcb09fbd459.zip |
Fixed indentation in configure script. Added missing license text.
-rwxr-xr-x | configure | 372 |
1 files changed, 194 insertions, 178 deletions
@@ -1,7 +1,22 @@ #!/bin/sh # -# configure script for ghdl (c) 2014 Tristan Gingold +# Configure script for GHDL (C) 2014-2018 Tristan Gingold # +# GHDL is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2, or (at your option) any later +# version. +# +# GHDL is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with GHDL; see the file COPYING. If not, write to the Free +# Software Foundation, 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + # Current version. This is the only place where the version is written. # Any code that needs version should read it directly or indirectly from this @@ -42,174 +57,176 @@ subst_vars="CC CXX GNATMAKE MAKE CFLAGS LDFLAGS build srcdir abs_srcdir prefix b # Find srcdir srcdir=`dirname $progname` if test x$srcdir = x; then - srcdir=. + srcdir=. fi # Check echo -n / echo \c if test x`echo -n` = x"-n" ; then - echon= - echoc="\c" + echon= + echoc="\c" else - echon="-n" - echoc= + echon="-n" + echoc= fi # Check $1 is a prefix of $2 check_version() { - exp_ver=`echo $1 | sed 's/\./v/g'` - tool_ver=`echo $2 | sed 's/\./v/g'` - if echo $tool_ver | grep -q "^$exp_ver"; then - return 0 - else - return 1 - fi + exp_ver=`echo $1 | sed 's/\./v/g'` + tool_ver=`echo $2 | sed 's/\./v/g'` + if echo $tool_ver | grep -q "^$exp_ver"; then + return 0 + else + return 1 + fi } # Decode options for opt do - optarg=`expr x"$opt" : 'x[^=]*=\(.*\)'` - case "$opt" in - CC=*|CFLAGS=*|GNATMAKE=*|LDFLAGS=*|CXX=*) - optvar=`expr x"$opt" : 'x\([^=]*\)=.*'` - eval $optvar=\"$optarg\" - ;; - --prefix=*) prefix="$optarg";; - --srcdir=*) srcdir="$optarg";; - --with-gcc=*) gcc_src_dir="$optarg"; backend=gcc;; - --with-llvm=*) echo "--with-llvm is deprecated, use --with-llvm-config"; - llvm_config="$optarg/bin/llvm-config"; backend=llvm;; - --with-llvm-config) llvm_config="llvm-config"; backend=llvm;; - --with-llvm-config=*) llvm_config="$optarg"; backend=llvm;; - --with-backtrace-lib=*) backtrace_lib="$optarg";; - --enable-werror) enable_werror=true;; - --disable-werror) enable_werror=false;; - --enable-checks) enable_checks=true;; - --disable-checks) enable_checks=false;; - --enable-openieee) enable_openieee=true;; - --disable-openieee) enable_openieee=false;; - --enable-python) enable_python=true;; - --disable-python) enable_python=false;; - --enable-coverage) build_mode="coverage";; - -h|-help|--help) show_help=yes;; - *) echo "$0: unknown option $opt; try $0 --help" - exit 1 - ;; - esac + optarg=`expr x"$opt" : 'x[^=]*=\(.*\)'` + case "$opt" in + CC=*|CFLAGS=*|GNATMAKE=*|LDFLAGS=*|CXX=*) + optvar=`expr x"$opt" : 'x\([^=]*\)=.*'` + eval $optvar=\"$optarg\" + ;; + --prefix=*) prefix="$optarg";; + --srcdir=*) srcdir="$optarg";; + --with-gcc=*) gcc_src_dir="$optarg"; backend=gcc;; + --with-llvm=*) + echo "--with-llvm is deprecated, use --with-llvm-config" + llvm_config="$optarg/bin/llvm-config"; backend=llvm;; + --with-llvm-config) llvm_config="llvm-config"; backend=llvm;; + --with-llvm-config=*) llvm_config="$optarg"; backend=llvm;; + --with-backtrace-lib=*) backtrace_lib="$optarg";; + --enable-werror) enable_werror=true;; + --disable-werror) enable_werror=false;; + --enable-checks) enable_checks=true;; + --disable-checks) enable_checks=false;; + --enable-openieee) enable_openieee=true;; + --disable-openieee) enable_openieee=false;; + --enable-python) enable_python=true;; + --disable-python) enable_python=false;; + --enable-coverage) build_mode="coverage";; + -h|-help|--help) show_help=yes;; + *) + echo "$0: unknown option $opt; try $0 --help" + exit 1 + ;; + esac done # Help if test $show_help != no; then -cat <<EOF + cat <<EOF 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 - --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). - --disable-werror warnings don't stop build - --disable-checks disable internal checks - --enable-openieee use gpl-compatible sources for ieee library - --enable-python build python libghdl + --prefix=PREFIX install in PREFIX [$prefix] + --srcdir=SRCDIR source code path [$srcdir] + --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). + --disable-werror warnings don't stop build + --disable-checks disable internal checks + --enable-openieee use gpl-compatible sources for ieee library + --enable-python build python libghdl EOF -exit 0 + exit 0 fi # Set abs_srcdir (absolute srcdir) case $srcdir in - /*) abs_srcdir=$srcdir;; - *) - # Use a Windows path on windows. - case "$OS" in - Windows_NT) curdir=`pwd -W 2>/dev/null || pwd` ;; - *) curdir=`pwd` ;; - esac - abs_srcdir=$curdir/$srcdir - ;; + /*) abs_srcdir=$srcdir;; + *) + # Use a Windows path on windows. + case "$OS" in + Windows_NT) curdir=`pwd -W 2>/dev/null || pwd` ;; + *) curdir=`pwd` ;; + esac + abs_srcdir=$curdir/$srcdir + ;; esac # Sanity checks # Check srcdir pat="2019802090ed76fc5c54cec58f22a2c1" if ! grep $pat $srcdir/configure > /dev/null 2>&1; then - echo "Incorrect srcdir; try with --srcdir=xx" - echo "srcdir=$srcdir" - exit 1 + echo "Incorrect srcdir; try with --srcdir=xx" + echo "srcdir=$srcdir" + exit 1 fi if ! cmp $srcdir/configure $abs_srcdir/configure > /dev/null 2>&1; then - echo "Cannot compute absolute source dir (or incorrect srcdir)" - echo "srcdir=$srcdir" - echo "abs_srcdir=$abs_srcdir" - exit 1 + echo "Cannot compute absolute source dir (or incorrect srcdir)" + echo "srcdir=$srcdir" + echo "abs_srcdir=$abs_srcdir" + exit 1 fi # Check that gnatmake exists if ! $GNATMAKE --version >/dev/null 2>&1; then - echo "Sorry, you need GNAT to build GHDL. See the README" - echo "(gnatmake executable is: $GNATMAKE)" - exit 1 + echo "Sorry, you need GNAT to build GHDL. See the README" + echo "(gnatmake executable is: $GNATMAKE)" + exit 1 fi # Check that compiler exists if ! $CC -v 2> /dev/null; then - echo "Sorry, you need a C compiler to build GHDL. See the README" - exit 1 + echo "Sorry, you need a C compiler to build GHDL. See the README" + exit 1 fi # Default for enable_openieee if [ "$enable_openieee" = "unknown" ]; then - if test -d $srcdir/libraries/ieee ; then - enable_openieee=false - echo "Use full IEEE library" - else - enable_openieee=true - echo "Use openieee source files for IEEE library (but partial)" - fi + if test -d $srcdir/libraries/ieee ; then + enable_openieee=false + echo "Use full IEEE library" + else + enable_openieee=true + echo "Use openieee source files for IEEE library (but partial)" + fi elif [ "$enable_openieee" = false ]; then - if ! test -d $srcdir/libraries/ieee ; then - echo "Sorry, full ieee library source files not present" - echo "consider --enable-openieee" - exit 1 - fi + if ! test -d $srcdir/libraries/ieee ; then + echo "Sorry, full ieee library source files not present" + echo "consider --enable-openieee" + exit 1 + fi fi # Compute build machine if test x$build = x; then - build=`$CC $CFLAGS -dumpmachine` + build=`$CC $CFLAGS -dumpmachine` fi echo "Build machine is: $build" # For mcode, check that gcc emits i386 if test $backend = mcode; then - gcc_machine=`$CC $CFLAGS -dumpmachine` - case "$gcc_machine" in - i[3-6]86*) mcode64="" ;; - x86_64*) mcode64="64" ;; - *) - mcode64="" - echo "WARNING: GHDL for mcode is supported only on x86" - echo "continuing, but build failure expected (See the README)" - ;; - esac - if test "x$backtrace_lib" != x ; then - echo "WARNING: --with-backtrace-lib= ignored with mcode" - backtrace_lib= - fi + gcc_machine=`$CC $CFLAGS -dumpmachine` + case "$gcc_machine" in + i[3-6]86*) mcode64="" ;; + x86_64*) mcode64="64" ;; + *) + mcode64="" + echo "WARNING: GHDL for mcode is supported only on x86" + echo "continuing, but build failure expected (See the README)" + ;; + esac + if test "x$backtrace_lib" != x ; then + echo "WARNING: --with-backtrace-lib= ignored with mcode" + backtrace_lib= + fi fi # For gcc backend, check existing version if test $backend = gcc; then - if ! test -f $gcc_src_dir/gcc/BASE-VER; then - echo "cannot find gcc/BASE-VER in $gcc_src_dir" - exit 1 - fi - if test "x$backtrace_lib" = x ; then - # Automatically use libbacktrace from gcc. - backtrace_lib="$prefix/$libdirsuffix/libbacktrace.a" - fi + if ! test -f $gcc_src_dir/gcc/BASE-VER; then + echo "cannot find gcc/BASE-VER in $gcc_src_dir" + exit 1 + fi + if test "x$backtrace_lib" = x ; then + # Automatically use libbacktrace from gcc. + backtrace_lib="$prefix/$libdirsuffix/libbacktrace.a" + fi fi # For llvm backend, check llvm-config @@ -227,7 +244,7 @@ if test $backend = llvm; then false; then echo "Debugging is not enabled with llvm $llvm_version" llvm_be=llvm-nodebug - # Tested with llvm 3.5, so assume 3.6, 3.7 and 3.8 + # Tested with llvm 3.5, so assume 3.6, 3.7 and 3.8 elif check_version 3.9 $llvm_version || check_version 4.0 $llvm_version || check_version 5.0 $llvm_version || @@ -251,10 +268,9 @@ fi # Define default file extensions for Windows or Linux-like systems and # use -fPIC or not. case "$build" in - *mingw* | *cygwin*) - SOEXT=".dll"; EXEEXT=".exe"; PIC_FLAGS="";; - *darwin*) SOEXT=".dylib"; EXEEXT=""; PIC_FLAGS="";; - *) SOEXT=".so"; EXEEXT=""; PIC_FLAGS="-fPIC";; + *mingw* | *cygwin*) SOEXT=".dll"; EXEEXT=".exe"; PIC_FLAGS="";; + *darwin*) SOEXT=".dylib"; EXEEXT=""; PIC_FLAGS="";; + *) SOEXT=".so"; EXEEXT=""; PIC_FLAGS="-fPIC";; esac # Define libghdl_version @@ -263,63 +279,63 @@ libghdl_version=`echo $ghdl_version | sed -e 's/[-.]/_/g'` # Check if gcc was configured with --enable-default-pie. In that case -fPIC # should be added. if gcc -v 2>&1 | grep -q enable-default-pie; then - default_pie="yes" + default_pie="yes" else - default_pie="no" + default_pie="no" fi # Create subdirectories if [ ! -d pic ]; then - echo "create pic/ subdirectory" - if ! mkdir pic; then - echo "failed to create pic/" - exit 1; - fi + echo "create pic/ subdirectory" + if ! mkdir pic; then + echo "failed to create pic/" + exit 1; + fi fi # Generate config.status rm -f config.status { -echo "#! /bin/sh" -echo "# Generated by configure." -echo "# Run this file to recreate the current configuration." -echo -echo 'if [ x"$1" = x"--reconfigure" ]; then' -# Do not use exec as bash 3.2 pass the absolute path in argv[0] -echo $echon " $progname"$echoc -for opt do - echo $echon \ \"$opt\"$echoc -done -echo -echo " exit" -echo 'fi' -echo -echo subst_vars=\"$subst_vars\" -for v in $subst_vars; do - eval vval=\$$v - echo $v=\"$vval\" -done -sed_opts=`echo $subst_vars | sed -e "s/\\([a-zA-Z_]*\\)/ -e \"s%@\1@%\$\1%g\"/g"` -subst_files="ghdl.gpr Makefile" -if [ "$enable_python" = true ]; then - subst_files="$subst_files setup.py" -fi -echo "for f in $subst_files; do" -echo ' echo "Creating $f"' -echo " sed $sed_opts" '< $srcdir/${f}.in > $f' -echo "done" + echo "#! /bin/sh" + echo "# Generated by configure." + echo "# Run this file to recreate the current configuration." + echo + echo 'if [ x"$1" = x"--reconfigure" ]; then' + # Do not use exec as bash 3.2 pass the absolute path in argv[0] + echo $echon " $progname"$echoc + for opt do + echo $echon \ \"$opt\"$echoc + done + echo + echo " exit" + echo 'fi' + echo + echo subst_vars=\"$subst_vars\" + for v in $subst_vars; do + eval vval=\$$v + echo $v=\"$vval\" + done + sed_opts=`echo $subst_vars | sed -e "s/\\([a-zA-Z_]*\\)/ -e \"s%@\1@%\$\1%g\"/g"` + subst_files="ghdl.gpr Makefile" + if [ "$enable_python" = true ]; then + subst_files="$subst_files setup.py" + fi + echo "for f in $subst_files; do" + echo ' echo "Creating $f"' + echo " sed $sed_opts" '< $srcdir/${f}.in > $f' + echo "done" } > config.status || \ { - echo "$progname: cannot create config.status" - exit 1 + echo "$progname: cannot create config.status" + exit 1 } chmod +x ./config.status # Run config.status to generate files if ! sh ./config.status; then - echo "$progname: cannot execute config.status" - exit 1 + echo "$progname: cannot execute config.status" + exit 1 fi # Create dirs @@ -327,22 +343,22 @@ $MAKE create-dirs # Generate ortho_code-x86-flags if test $backend = mcode; then - case "$build" in - *darwin*) ortho_flags="Flags_Macosx${mcode64}" ;; - *mingw32*) ortho_flags="Flags_Windows${mcode64}" ;; - *linux*) ortho_flags="Flags_Linux${mcode64}" ;; - *) echo "Unsupported $build build for mcode"; exit 1;; - esac - echo "Generate ortho_code-x86-flags.ads" - { - echo "with Ortho_Code.X86.$ortho_flags;" - echo "package Ortho_Code.X86.Flags renames Ortho_Code.X86.$ortho_flags;" - } > ortho_code-x86-flags.ads - echo "Generate elf_arch.ads" - { - echo "with Elf_Arch${mcode64:-32};" - echo "package Elf_Arch renames Elf_Arch${mcode64:-32};" - } > elf_arch.ads + case "$build" in + *darwin*) ortho_flags="Flags_Macosx${mcode64}" ;; + *mingw32*) ortho_flags="Flags_Windows${mcode64}" ;; + *linux*) ortho_flags="Flags_Linux${mcode64}" ;; + *) echo "Unsupported $build build for mcode"; exit 1;; + esac + echo "Generate ortho_code-x86-flags.ads" + { + echo "with Ortho_Code.X86.$ortho_flags;" + echo "package Ortho_Code.X86.Flags renames Ortho_Code.X86.$ortho_flags;" + } > ortho_code-x86-flags.ads + echo "Generate elf_arch.ads" + { + echo "with Elf_Arch${mcode64:-32};" + echo "package Elf_Arch renames Elf_Arch${mcode64:-32};" + } > elf_arch.ads fi # Generate default_paths.ads @@ -350,14 +366,14 @@ fi # template. echo "Generate default_paths.ads" sed -e "s%@COMPILER_GCC@%ghdl1-gcc$EXEEXT%" \ - -e "s%@COMPILER_DEBUG@%ghdl1-debug$EXEEXT%" \ - -e "s%@COMPILER_MCODE@%ghdl1-mcode$EXEEXT%" \ - -e "s%@COMPILER_LLVM@%ghdl1-llvm$EXEEXT%" \ - -e "s%@POST_PROCESSOR@%oread-$backend%" \ - -e "s%@INSTALL_PREFIX@%$prefix%" \ - -e "s%@LIB_PREFIX@%$libdirsuffix%" \ - -e "s%@SOEXT@%$SOEXT%" \ - -e "s%@default_pie@%$default_pie%" \ - < $srcdir/src/ghdldrv/default_paths.ads.in > default_paths.ads + -e "s%@COMPILER_DEBUG@%ghdl1-debug$EXEEXT%" \ + -e "s%@COMPILER_MCODE@%ghdl1-mcode$EXEEXT%" \ + -e "s%@COMPILER_LLVM@%ghdl1-llvm$EXEEXT%" \ + -e "s%@POST_PROCESSOR@%oread-$backend%" \ + -e "s%@INSTALL_PREFIX@%$prefix%" \ + -e "s%@LIB_PREFIX@%$libdirsuffix%" \ + -e "s%@SOEXT@%$SOEXT%" \ + -e "s%@default_pie@%$default_pie%" \ + < $srcdir/src/ghdldrv/default_paths.ads.in > default_paths.ads exit 0 |