aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.in2
-rwxr-xr-xconfigure23
-rw-r--r--libraries/Makefile.inc10
3 files changed, 27 insertions, 8 deletions
diff --git a/Makefile.in b/Makefile.in
index ca3b9043e..23770e800 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -36,6 +36,7 @@ llvm_be=@llvm_be@
build_mode=@build_mode@
enable_werror=@enable_werror@
enable_checks=@enable_checks@
+enable_openieee=@enable_openieee@
INSTALL_PROGRAM=install -m 755
INSTALL_DATA=install -m 644
@@ -109,6 +110,7 @@ LIBDST_DIR:=$(libdirsuffix)
LIBVHDL_FLAGS_TO_PASS=\
LIBSRC_DIR="$(LIBSRC_DIR)" \
LIBDST_DIR="$(LIBDST_DIR)" \
+ enable_openieee="$(enable_openieee)" \
LN="$(LN)" CP="$(CP)" MKDIR="$(MKDIR)"
all: Makefile all.$(backend)
diff --git a/configure b/configure
index 7e374d56b..71eba390d 100755
--- a/configure
+++ b/configure
@@ -20,6 +20,7 @@ build=
build_mode=
enable_werror=true
enable_checks=true
+enable_openieee=unknown
EXEEXT=
SOEXT=.so
PIC_FLAGS=-fPIC
@@ -27,7 +28,7 @@ PIC_FLAGS=-fPIC
show_help=no
progname=$0
-subst_vars="CC CXX GNATMAKE CFLAGS LDFLAGS build srcdir abs_srcdir prefix backend libdirsuffix libdirreverse gcc_src_dir llvm_config llvm_be backtrace_lib build_mode EXEEXT SOEXT PIC_FLAGS default_pie enable_werror enable_checks"
+subst_vars="CC CXX GNATMAKE CFLAGS LDFLAGS build srcdir abs_srcdir prefix backend libdirsuffix libdirreverse gcc_src_dir llvm_config llvm_be backtrace_lib build_mode EXEEXT SOEXT PIC_FLAGS default_pie enable_werror enable_checks enable_openieee"
# Find srcdir
srcdir=`dirname $progname`
@@ -76,6 +77,8 @@ for opt do
--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-coverage) build_mode="coverage";;
-h|-help|--help) show_help=yes;;
*) echo "$0: unknown option $opt; try $0 --help"
@@ -98,6 +101,7 @@ Options [defaults in brackets]:
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
EOF
exit 0
fi
@@ -142,6 +146,23 @@ if ! $CC -v 2> /dev/null; then
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
+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
+fi
+
# Compute build machine
if test x$build = x; then
build=`$CC $CFLAGS -dumpmachine`
diff --git a/libraries/Makefile.inc b/libraries/Makefile.inc
index 05c632559..16783684e 100644
--- a/libraries/Makefile.inc
+++ b/libraries/Makefile.inc
@@ -28,13 +28,9 @@
vhdl.libs.all: vhdl.libs.v87 vhdl.libs.v93 vhdl.libs.v08
-ifeq ($(wildcard ieee), ieee)
-full_library=y
-else
-full_library=n
-endif
+enable_openieee=false
-ifeq ($(full_library),y)
+ifeq ($(enable_openieee),false)
# Full libraries
vhdl.libs.v87: std.v87 ieee.v87 synopsys.v87
vhdl.libs.v93: std.v93 ieee.v93 synopsys.v93 mentor.v93
@@ -55,7 +51,7 @@ SYNOPSYS_V_BSRCS := synopsys/std_logic_misc.vhdl \
SYNOPSYS8793_BSRCS := synopsys/std_logic_textio.vhdl
MENTOR_BSRCS := mentor/std_logic_arith.vhdl mentor/std_logic_arith_body.vhdl
-ifeq ($(full_library),y)
+ifeq ($(enable_openieee),false)
IEEE_SRCS := ieee/std_logic_1164.vhdl ieee/std_logic_1164_body.vhdl \
ieee/numeric_bit.vhdl ieee/numeric_bit-body.vhdl \
ieee/numeric_std.vhdl ieee/numeric_std-body.vhdl