From 2b2cb21ef755a960827f8f138d67cf3ad70ee36d Mon Sep 17 00:00:00 2001
From: Julien Signoles <julien.signoles@cea.fr>
Date: Thu, 12 Apr 2012 15:26:30 +0000
Subject: [PATCH] - Code independent of the location of directory 'share' -
 Fixed Makefile's bug

---
 src/plugins/e-acsl/Makefile.in          | 37 +++++++++++++++++--------
 src/plugins/e-acsl/read_header.ml       |  5 +---
 src/plugins/e-acsl/tests/test_config.in |  2 +-
 3 files changed, 27 insertions(+), 17 deletions(-)

diff --git a/src/plugins/e-acsl/Makefile.in b/src/plugins/e-acsl/Makefile.in
index f8866520dde..df879e37fc5 100644
--- a/src/plugins/e-acsl/Makefile.in
+++ b/src/plugins/e-acsl/Makefile.in
@@ -108,14 +108,7 @@ $(PLUGIN_DIR)/local_config.ml: $(PLUGIN_DIR)/Makefile.in
 ifeq (@MAY_RUN_TESTS@,yes)
 
 PLUGIN_TESTS_DIRS:=e-acsl-reject e-acsl-runtime
-PLUGIN_NO_DEFAULT_TEST:=yes
-
-tests/test_config: tests/test_config.in Makefile
-	$(PRINT_MAKING) $@
-	$(SED) -e "s|${FRAMAC_SHARE}|$(FRAMAC_SHARE)|g" \
-	       -e "s|@SEDCMD@|`which sed `|g" $< > $@
-
-tests:: tests/test_config
+tests:: $(PLUGIN_DIR)/tests/test_config
 
 endif
 
@@ -201,16 +194,36 @@ headers::
 
 include $(FRAMAC_SHARE)/Makefile.dynamic
 
+####################
+# Testing (part 2) #
+####################
+
+ifeq (@MAY_RUN_TESTS@,yes)
+
+ifeq ($(FRAMAC_INTERNAL),yes)
+SHARE:=-e-acsl-share ./share/e-acsl
+else
+SHARE:=
+endif
+$(E_ACSL_DIR)/tests/test_config: $(E_ACSL_DIR)/tests/test_config.in \
+				$(E_ACSL_DIR)/Makefile
+	$(PRINT_MAKING) $@
+	$(SED) -e "s|@SHARE@|$(SHARE)|g" \
+	       -e "s|@SEDCMD@|`which sed `|g" $< > $@
+
+endif
+
 #####################################
 # Regenerating the Makefile on need #
 #####################################
 
 ifeq ("$(FRAMAC_INTERNAL)","yes")
-CONFIG_STATUS_DIR=$(FRAMAC_SRC)
+CONFIG_STATUS_DIR:=$(FRAMAC_SRC)
+CONFIG_STATUS_DIR_DEP:=
 else
-CONFIG_STATUS_DIR=$(E_ACSL_DIR)
+CONFIG_STATUS_DIR:=$(E_ACSL_DIR)
+CONFIG_STATUS_DIR_DEP:=$(CONFIG_STATUS_DIR)/config.status
 endif
 
-$(E_ACSL_DIR)/Makefile: $(E_ACSL_DIR)/Makefile.in \
-			$(CONFIG_STATUS_DIR)/config.status
+$(E_ACSL_DIR)/Makefile: $(E_ACSL_DIR)/Makefile.in $(CONFIG_STATUS_DIR_DEP)
 	cd $(CONFIG_STATUS_DIR) && ./config.status
diff --git a/src/plugins/e-acsl/read_header.ml b/src/plugins/e-acsl/read_header.ml
index 426a62eb438..32fc642ddf8 100644
--- a/src/plugins/e-acsl/read_header.ml
+++ b/src/plugins/e-acsl/read_header.ml
@@ -22,10 +22,7 @@
 
 let put_file_in_buffer fname buf =
   try
-    let cin =
-      open_in
-	(Filename.concat Config.datadir (Filename.concat "e-acsl" fname))
-    in
+    let cin = open_in (Options.Share.file fname) in
     try
       while true do
 	let l = input_line cin in
diff --git a/src/plugins/e-acsl/tests/test_config.in b/src/plugins/e-acsl/tests/test_config.in
index febb6081e03..b7441c31a3f 100644
--- a/src/plugins/e-acsl/tests/test_config.in
+++ b/src/plugins/e-acsl/tests/test_config.in
@@ -1,3 +1,3 @@
-CMD: @frama-c@ -e-acsl-share ./share/e-ascl -cpp-command="gcc -C -E -I${FRAMAC_SHARE}"
+CMD: @frama-c@ @SHARE@
 OPT: -e-acsl-check
 FILTER:@SEDCMD@ -e "s|[a-zA-Z/\\]\+frama_c_project_e-acsl_[a-z0-9]*|PROJECT_FILE|"
-- 
GitLab