From f0512bcd914b2ea8969000f9ecd9fd1cd431f371 Mon Sep 17 00:00:00 2001 From: Jules Villard Date: Tue, 29 Mar 2016 09:52:33 -0700 Subject: [PATCH] create infer/bin/ symlinks from the makefile Summary:public This is needed to have a working `opam install infer`. Actual working `opam install infer` in a follow-up diff. Reviewed By: jberdine Differential Revision: D3109308 fb-gh-sync-id: 49d7276 fbshipit-source-id: 49d7276 --- .gitignore | 2 ++ Makefile.config.in | 18 ++++++++++++++++-- Makefile.in | 15 +++++++++------ infer/Makefile.in | 12 ++++++++---- infer/bin/infer | 1 - infer/bin/inferTraceBugs | 1 - infer/models/java/Makefile.in | 2 +- infer/src/Makefile.in | 11 ----------- 8 files changed, 36 insertions(+), 26 deletions(-) delete mode 120000 infer/bin/infer delete mode 120000 infer/bin/inferTraceBugs diff --git a/.gitignore b/.gitignore index d5bb1cc1a..682df9887 100644 --- a/.gitignore +++ b/.gitignore @@ -75,6 +75,8 @@ buck-out/ /infer/bin/InferPrint /infer/bin/InferUnit /infer/bin/Typeprop +/infer/bin/infer +/infer/bin/inferTraceBugs /infer/src/backend/version.ml /infer/models/java/models/ /infer/models/java/models.jar diff --git a/Makefile.config.in b/Makefile.config.in index 7dd190167..49353cb26 100644 --- a/Makefile.config.in +++ b/Makefile.config.in @@ -36,6 +36,8 @@ INFERCLANG_BIN = $(BIN_DIR)/InferClang INFERJAVA_BIN = $(BIN_DIR)/InferJava INFERPRINT_BIN = $(BIN_DIR)/InferPrint INFERUNIT_BIN = $(BIN_DIR)/InferUnit +INFER_BIN = $(BIN_DIR)/infer +INFERTRACEBUGS_BIN = $(BIN_DIR)/inferTraceBugs INFER_ANALYZERS= ifeq (@BUILD_C_ANALYZERS@,yes) @@ -50,7 +52,7 @@ endif JAVA_DEPS = $(addprefix $(PYTHON_LIB_DIR)/, \ analyze.py config.py issues.py jwlib.py source.py utils.py) \ $(addprefix $(CAPTURE_LIB_DIR)/, javac.py util.py) \ - $(BIN_DIR)/infer \ + $(INFER_BIN) \ $(INFERANALYZE_BIN) \ $(INFERJAVA_BIN) \ $(INFERPRINT_BIN) @@ -58,9 +60,21 @@ JAVA_DEPS = $(addprefix $(PYTHON_LIB_DIR)/, \ CLANG_DEPS = $(addprefix $(PYTHON_LIB_DIR)/, \ analyze.py config.py issues.py source.py utils.py) \ $(addprefix $(CAPTURE_LIB_DIR)/, make.py util.py) \ - $(BIN_DIR)/infer \ + $(INFER_BIN) \ $(INFERANALYZE_BIN) \ $(INFERCLANG_BIN) \ $(INFERPRINT_BIN) JAVA_MODELS_JAR = $(LIB_DIR)/java/models.jar + +ifneq (,$(findstring s,$(MAKEFLAGS))) +REMOVE = @rm -f +REMOVE_DIR = @rm -rf +else +REMOVE = @rm -vf +REMOVE_DIR = @rm -rvf +endif +COPY = cp -f -p +COPY_DIR = cp -rf +MKDIR = mkdir -p +LINK = ln -sf diff --git a/Makefile.in b/Makefile.in index 65245f8b5..efb5f9255 100644 --- a/Makefile.in +++ b/Makefile.in @@ -23,7 +23,7 @@ TARGETS_TO_TEST := $(shell echo $(TARGETS_TO_TEST)) all: $(INFER_ANALYZERS) -java: +java: inferTraceBugs ifneq (@BUILD_JAVA_ANALYZERS@,yes) @echo @echo " error: java analyzers disabled by ./configure" @@ -36,7 +36,7 @@ else $(MAKE) -C $(INFER_DIR) java endif -clang: +clang: inferTraceBugs ifneq (@BUILD_C_ANALYZERS@,yes) @echo @echo " error: clang analyzers disabled by ./configure" @@ -106,14 +106,17 @@ ifeq (@BUILD_JAVA_ANALYZERS@,yes) NO_BUCKD=1 ./infer/tests/build_systems/build_integration_tests.py endif +inferTraceBugs: + make -C infer $(INFERTRACEBUGS_BIN) + inferTraceBugs_test: $(INFER_ANALYZERS) ifeq (@BUILD_JAVA_ANALYZERS@,yes) - $(PYTHON_DIR)/infer -o __test-infer-out__ -- \ + $(INFER_BIN) -o __test-infer-out__ -- \ javac $(EXAMPLES_DIR)/Hello.java \ > /dev/null @rm -f Hello.class else - $(PYTHON_DIR)/infer -o __test-infer-out__ \ + $(INFER_BIN) -o __test-infer-out__ \ -- clang -c $(EXAMPLES_DIR)/hello.c \ > /dev/null @rm -f hello.o @@ -141,5 +144,5 @@ endif $(MAKE) -C $(INFER_DIR) clean .PHONY: all buck_test buck_test_xml clean clang -.PHONY: clang_plugin clang_setup inferTraceBugs_test java ocaml_unit_test -.PHONY: test test_xml test_build unit +.PHONY: clang_plugin clang_setup inferTraceBugs inferTraceBugs_test java +.PHONY: ocaml_unit_test test test_xml test_build unit diff --git a/infer/Makefile.in b/infer/Makefile.in index 964ec0194..6cffc3ee6 100644 --- a/infer/Makefile.in +++ b/infer/Makefile.in @@ -10,18 +10,21 @@ ROOT_DIR = .. include $(ROOT_DIR)/Makefile.config -all: clang java llvm checkCopyright +all: clang java llvm $(INFER_BIN) $(INFERTRACEBUGS_BIN) checkCopyright -java: +$(INFER_BIN) $(INFERTRACEBUGS_BIN): + ln -sf ../lib/python/$(@F) $@ + +java: $(INFER_BIN) $(MAKE) -C $(SRC_DIR) java $(MAKE) -C $(ANNOTATIONS_DIR) $(MAKE) -C $(MODELS_DIR) java -clang: +clang: $(INFER_BIN) $(MAKE) -C $(SRC_DIR) clang $(MAKE) -C $(MODELS_DIR) clang -llvm: +llvm: $(INFER_BIN) $(MAKE) -C $(SRC_DIR) llvm checkCopyright: @@ -31,5 +34,6 @@ clean: $(MAKE) -C $(SRC_DIR) clean $(MAKE) -C $(ANNOTATIONS_DIR) clean $(MAKE) -C $(MODELS_DIR) clean + $(REMOVE) $(INFER_BIN) $(INFERTRACEBUGS_BIN) .PHONY: all checkCopyright clang clean java llvm models diff --git a/infer/bin/infer b/infer/bin/infer deleted file mode 120000 index 48dbd23fb..000000000 --- a/infer/bin/infer +++ /dev/null @@ -1 +0,0 @@ -../lib/python/infer \ No newline at end of file diff --git a/infer/bin/inferTraceBugs b/infer/bin/inferTraceBugs deleted file mode 120000 index a602e4d98..000000000 --- a/infer/bin/inferTraceBugs +++ /dev/null @@ -1 +0,0 @@ -../lib/python/inferTraceBugs \ No newline at end of file diff --git a/infer/models/java/Makefile.in b/infer/models/java/Makefile.in index 5ea10b3f2..4528c958e 100644 --- a/infer/models/java/Makefile.in +++ b/infer/models/java/Makefile.in @@ -9,7 +9,7 @@ ROOT_DIR = ../../.. include $(ROOT_DIR)/Makefile.config -INFER = INFER_ANALYZE_MODELS=1 $(BIN_DIR)/infer \ +INFER = INFER_ANALYZE_MODELS=1 $(INFER_BIN) \ --buck --analyzer infer --multicore 1 JAVA_MODELS_SOURCES = $(shell find $(JAVA_MODELS_DIR)/src -name "*.java") diff --git a/infer/src/Makefile.in b/infer/src/Makefile.in index aea07723e..db18be127 100644 --- a/infer/src/Makefile.in +++ b/infer/src/Makefile.in @@ -13,17 +13,6 @@ INFER_MINOR = @INFER_MINOR@ INFER_PATCH = @INFER_PATCH@ INFER_IS_RELEASE = @INFER_IS_RELEASE@ -ifneq (,$(findstring s,$(MAKEFLAGS))) -REMOVE = @rm -f -REMOVE_DIR = @rm -rf -else -REMOVE = @rm -vf -REMOVE_DIR = @rm -rvf -endif -COPY = cp -f -p -COPY_DIR = cp -rf -MKDIR = mkdir -p -LINK = ln -sf ATDGEN = @ATDGEN@ #### Global declarations ####