aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/getting/Directories.rst2
-rw-r--r--doc/using/InvokingGHDL.rst16
-rw-r--r--libraries/Makefile.inc27
-rw-r--r--src/errorout.ads4
-rw-r--r--src/ghdldrv/ghdllocal.adb16
5 files changed, 22 insertions, 43 deletions
diff --git a/doc/getting/Directories.rst b/doc/getting/Directories.rst
index 2d5b575d8..982dc4813 100644
--- a/doc/getting/Directories.rst
+++ b/doc/getting/Directories.rst
@@ -5,7 +5,7 @@ Directory structure
* ``src``: sources of GHDL, all of them in Ada.
-* ``libraries``: mostly third party libraries such as, `ieee`, `mentor`,
+* ``libraries``: mostly third party libraries such as, `ieee`,
`std`, `synopsys` and `vital`. Except for a few shell and `Python` scripts, all
the content is written in VHDL.
diff --git a/doc/using/InvokingGHDL.rst b/doc/using/InvokingGHDL.rst
index 48faa3acc..bea132d60 100644
--- a/doc/using/InvokingGHDL.rst
+++ b/doc/using/InvokingGHDL.rst
@@ -259,7 +259,6 @@ Options
.. index:: ieee library
.. index:: synopsys library
- .. index:: mentor library
Select the ``IEEE`` library to use. ``IEEE_VAR`` must be one of:
@@ -287,11 +286,6 @@ Options
they are not standard packages, and have been placed in the `IEEE`
library without the permission from the ``ieee``.
- mentor
- Supply the standard packages and the following additional package:
- ``std_logic_arith``. This package is a slight variation of a definitely
- not standard but widely misused package.
-
To avoid errors, you must use the same `IEEE` library for all units of
your design, and during elaboration.
@@ -645,7 +639,15 @@ Display the library directory added by the link flags.
IEEE library pitfalls
=====================
-When you use options :option:`--ieee=synopsys <--ieee>` or :option:`--ieee=mentor <--ieee>`, the ``ieee`` library contains non standard packages such as ``std_logic_arith``. These packages are not standard because there are not described by an IEEE standard, even if they have been put in the `IEEE` library. Furthermore, they are not really de-facto standard, because there are slight differences between the packages of Mentor and those of Synopsys. Furthermore, since they are not well thought out, their use has pitfalls. For example, this description has an error during compilation:
+When you use options :option:`--ieee=synopsys <--ieee>`, the ``ieee``
+library contains non standard packages such as
+``std_logic_arith``. These packages are not standard because there are
+not described by an IEEE standard, even if they have been put in the
+`IEEE` library. Furthermore, they are not really de-facto standard,
+because there are slight differences between the packages of Mentor
+and those of Synopsys. Furthermore, since they are not well thought
+out, their use has pitfalls. For example, this description has an
+error during compilation:
.. code-block:: VHDL
diff --git a/libraries/Makefile.inc b/libraries/Makefile.inc
index f0ab3f253..2866daefd 100644
--- a/libraries/Makefile.inc
+++ b/libraries/Makefile.inc
@@ -33,7 +33,7 @@ enable_openieee=false
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
+vhdl.libs.v93: std.v93 ieee.v93 synopsys.v93
vhdl.libs.v08: std.v08 ieee.v08 synopsys.v08 \
$(LIBDST_DIR)/src/ieee2008/LICENSE
else
@@ -48,7 +48,6 @@ SYNOPSYS_BSRCS := std_logic_arith.vhdl \
std_logic_unsigned.vhdl std_logic_signed.vhdl
SYNOPSYS_V_BSRCS := std_logic_misc.vhdl std_logic_misc-body.vhdl
SYNOPSYS8793_BSRCS := std_logic_textio.vhdl
-MENTOR_BSRCS := mentor/std_logic_arith.vhdl mentor/std_logic_arith-body.vhdl
UPF_SRCS := openieee/upf.vhdl openieee/upf-body.vhdl
ifeq ($(enable_openieee),false)
@@ -106,7 +105,6 @@ STD08_BSRCS := $(addprefix std/v08/,$(STD_SRCS)) std/env.vhdl std/env-body.vhdl
SYNOPSYS87_BSRCS := $(addprefix synopsys/,$(SYNOPSYS_BSRCS) $(SYNOPSYS_V_BSRCS) $(SYNOPSYS8793_BSRCS))
SYNOPSYS93_BSRCS := $(addprefix synopsys/,$(SYNOPSYS_BSRCS) $(SYNOPSYS_V_BSRCS) $(SYNOPSYS8793_BSRCS))
SYNOPSYS08_BSRCS := $(addprefix synopsys/,$(SYNOPSYS_BSRCS)) $(addprefix synopsys/v08/,$(SYNOPSYS_V_BSRCS))
-MENTOR93_BSRCS := $(MENTOR_BSRCS)
.PREFIXES: .vhdl
@@ -126,7 +124,6 @@ SYN87_DIR:=$(LIBDST_DIR)/synopsys/v87
STD93_DIR:=$(LIBDST_DIR)/std/v93
IEEE93_DIR:=$(LIBDST_DIR)/ieee/v93
SYN93_DIR:=$(LIBDST_DIR)/synopsys/v93
-MENTOR93_DIR:=$(LIBDST_DIR)/mentor/v93
STD08_DIR:=$(LIBDST_DIR)/std/v08
IEEE08_DIR:=$(LIBDST_DIR)/ieee/v08
@@ -146,7 +143,6 @@ IEEE08_SRCS=$(addprefix $(LIBDST_DIR)/src/,$(IEEE08_BSRCS))
SYNOPSYS87_SRCS=$(addprefix $(LIBDST_DIR)/src/,$(SYNOPSYS87_BSRCS))
SYNOPSYS93_SRCS=$(addprefix $(LIBDST_DIR)/src/,$(SYNOPSYS93_BSRCS))
SYNOPSYS08_SRCS=$(addprefix $(LIBDST_DIR)/src/,$(SYNOPSYS08_BSRCS))
-MENTOR93_SRCS=$(addprefix $(LIBDST_DIR)/src/,$(MENTOR93_BSRCS))
VITAL95_SRCS=$(addprefix $(LIBDST_DIR)/src/,$(VITAL95_BSRCS))
VITAL2000_SRCS=$(addprefix $(LIBDST_DIR)/src/,$(VITAL2000_BSRCS))
@@ -268,27 +264,6 @@ $(SYN93_DIR)/ieee-obj93.cf: $(ANALYZE_DEP) $(SYNOPSYS93_SRCS) $(IEEE93_DIR)/ieee
echo $$cmd; eval $$cmd || exit 1; \
done
-$(LIBDST_DIR)/src/mentor/%.vhdl: $(LIBSRC_DIR)/mentor/%.vhdl
- $(CP) $< $@
-
-mentor.v93: $(MENTOR93_DIR)/ieee-obj93.cf
-
-$(MENTOR93_DIR)/ieee-obj93.cf: $(ANALYZE_DEP) $(MENTOR93_SRCS) $(IEEE93_DIR)/ieee-obj93.cf
- $(RM) -f $@
- cd $(MENTOR93_DIR); \
- $(CP) ../../ieee/v93/ieee-obj93.cf . ;\
- test x$(VHDLLIBS_COPY_OBJS) = "xno" || \
- for i in $(IEEE_SRCS) $(MATH_SRCS) $(VITAL2000_SRCS); do \
- b=`basename $$i .vhdl`; \
- if [ -f ../../ieee/v93/$$b.o ]; then \
- $(RM) -f $$b.o; $(LN) ../../ieee/v93/$$b.o $$b.o || exit 1; \
- fi; \
- done ; \
- for i in $(MENTOR93_BSRCS); do \
- cmd="$(ANALYZE_IEEE93) ../../src/$$i";\
- echo $$cmd; eval $$cmd || exit 1; \
- done
-
### V08 ###############################################################
$(LIBDST_DIR)/src/std/v08/%.vhdl: $(LIBSRC_DIR)/std/%.vhdl
diff --git a/src/errorout.ads b/src/errorout.ads
index 763a8344b..08d0c3fcd 100644
--- a/src/errorout.ads
+++ b/src/errorout.ads
@@ -36,6 +36,9 @@ package Errorout is
-- Design unit redefines another design unit.
Warnid_Library,
+ -- Option is deprecated.
+ Warnid_Deprecated_Option,
+
-- Missing Xref in pretty print.
Warnid_Missing_Xref,
@@ -302,6 +305,7 @@ private
(Warnid_Library | Warnid_Binding | Warnid_Port | Warnid_Shared
| Warnid_Runtime_Error | Warnid_Pure | Warnid_Specs | Warnid_Hide
| Warnid_Pragma | Warnid_Analyze_Assert | Warnid_Attribute
+ | Warnid_Deprecated_Option
| Msgid_Warning => (Enabled => True, Error => False),
others => (Enabled => False, Error => False));
diff --git a/src/ghdldrv/ghdllocal.adb b/src/ghdldrv/ghdllocal.adb
index 72d95eb51..5745b2b50 100644
--- a/src/ghdldrv/ghdllocal.adb
+++ b/src/ghdldrv/ghdllocal.adb
@@ -36,7 +36,7 @@ with Vhdl.Prints;
package body Ghdllocal is
-- Version of the IEEE library to use. This just change paths.
- type Ieee_Lib_Kind is (Lib_Standard, Lib_None, Lib_Synopsys, Lib_Mentor);
+ type Ieee_Lib_Kind is (Lib_Standard, Lib_None, Lib_Synopsys);
Flag_Ieee : Ieee_Lib_Kind;
-- If TRUE, generate 32bits code on 64bits machines.
@@ -120,6 +120,7 @@ package body Ghdllocal is
function Decode_Driver_Option (Opt : String) return Option_State
is
+ use Errorout;
pragma Assert (Opt'First = 1);
begin
if Opt = "-v" and then Flag_Verbose = False then
@@ -129,7 +130,10 @@ package body Ghdllocal is
elsif Opt = "--ieee=synopsys" then
Flag_Ieee := Lib_Synopsys;
elsif Opt = "--ieee=mentor" then
- Flag_Ieee := Lib_Mentor;
+ Warning_Msg_Option
+ (Warnid_Deprecated_Option,
+ "option --ieee=mentor is deprecated, replaced by --ieee=synopsys");
+ Flag_Ieee := Lib_Synopsys;
elsif Opt = "--ieee=none" then
Flag_Ieee := Lib_None;
elsif Opt = "--ieee=standard" then
@@ -174,7 +178,7 @@ package body Ghdllocal is
P (" --PREFIX=DIR Specify installation prefix");
P (" --ieee=NAME Use NAME as ieee library, where name is:");
P (" standard: standard version (default)");
- P (" synopsys, mentor: vendor version (not advised)");
+ P (" synopsys: vendor version (not advised)");
P (" none: do not use a predefined ieee library");
end Disp_Long_Help;
@@ -441,12 +445,6 @@ package body Ghdllocal is
Add_Library_Name ("ieee");
when Lib_Synopsys =>
Add_Library_Name ("synopsys");
- when Lib_Mentor =>
- if Vhdl_Std >= Vhdl_08 then
- Warning ("--ieee=mentor is ignored for --std=08");
- else
- Add_Library_Name ("mentor");
- end if;
when Lib_None =>
null;
end case;