aboutsummaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
authorPatrick Lehmann <Patrick.Lehmann@plc2.de>2018-12-28 22:18:36 +0100
committertgingold <tgingold@users.noreply.github.com>2018-12-29 05:48:56 +0100
commit3f0dbb5f1d49a77c2fc77e02df349fcb09fbd459 (patch)
tree7298637dbb26f25791715688c5876a2e83f0231d /configure
parent752306411171634308ba1469332ae008b51116fa (diff)
downloadghdl-3f0dbb5f1d49a77c2fc77e02df349fcb09fbd459.tar.gz
ghdl-3f0dbb5f1d49a77c2fc77e02df349fcb09fbd459.tar.bz2
ghdl-3f0dbb5f1d49a77c2fc77e02df349fcb09fbd459.zip
Fixed indentation in configure script. Added missing license text.
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure372
1 files changed, 194 insertions, 178 deletions
diff --git a/configure b/configure
index 5a2c56bcd..56fdbe047 100755
--- a/configure
+++ b/configure
@@ -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