htools: switch hail to the generic binary
[ganeti-local] / Makefile.am
index 04b1b3d..9c7a33a 100644 (file)
@@ -46,7 +46,8 @@ docdir = $(datadir)/doc/$(PACKAGE)
 HTOOLS_DIRS = \
        htools \
        htools/Ganeti \
-       htools/Ganeti/HTools
+       htools/Ganeti/HTools \
+       htools/Ganeti/HTools/Program
 
 DIRS = \
        autotools \
@@ -82,6 +83,7 @@ BUILDTIME_DIR_AUTOCREATE = \
        $(APIDOC_PY_DIR) \
        $(APIDOC_HS_DIR) \
        $(APIDOC_HS_DIR)/Ganeti $(APIDOC_HS_DIR)/Ganeti/HTools \
+       $(APIDOC_HS_DIR)/Ganeti/HTools/Program \
        $(COVERAGE_DIR) \
        $(COVERAGE_PY_DIR) \
        $(COVERAGE_HS_DIR) \
@@ -307,8 +309,8 @@ docrst = \
 HS_PROGS = \
        htools/hbal \
        htools/hscan \
-       htools/hail \
-       htools/hspace
+       htools/hspace \
+       htools/htools
 
 HS_ALL_PROGS = $(HS_PROGS) htools/test
 HS_PROG_SRCS = $(patsubst %,%.hs,$(HS_ALL_PROGS))
@@ -324,6 +326,7 @@ HPCEXCL = --exclude Main --exclude Ganeti.HTools.QC \
 HS_LIB_SRCS = \
        htools/Ganeti/HTools/CLI.hs \
        htools/Ganeti/HTools/Cluster.hs \
+       htools/Ganeti/HTools/Compat.hs \
        htools/Ganeti/HTools/Container.hs \
        htools/Ganeti/HTools/ExtLoader.hs \
        htools/Ganeti/HTools/Group.hs \
@@ -339,6 +342,7 @@ HS_LIB_SRCS = \
        htools/Ganeti/HTools/Text.hs \
        htools/Ganeti/HTools/Types.hs \
        htools/Ganeti/HTools/Utils.hs \
+       htools/Ganeti/HTools/Program/Hail.hs \
        htools/Ganeti/Jobs.hs \
        htools/Ganeti/Luxi.hs \
        htools/Ganeti/OpCodes.hs
@@ -445,10 +449,12 @@ qa_scripts = \
        qa/qa_utils.py
 
 bin_SCRIPTS =
-iallocators_SCRIPTS =
 if WANT_HTOOLS
 bin_SCRIPTS += $(filter-out htools/hail,$(HS_PROGS))
-iallocators_SCRIPTS += $(filter htools/hail,$(HS_PROGS))
+install-exec-hook:
+       @mkdir_p@ $(DESTDIR)$(iallocatorsdir)
+       $(LN_S) -f $(DESTDIR)$(bindir)/htools \
+                  $(DESTDIR)$(iallocatorsdir)/hail
 endif
 
 $(HS_ALL_PROGS): %: %.hs $(HS_LIB_SRCS) $(HS_BUILT_SRCS) Makefile
@@ -462,7 +468,8 @@ $(HS_ALL_PROGS): %: %.hs $(HS_LIB_SRCS) $(HS_BUILT_SRCS) Makefile
          exit 1; \
        fi
        BINARY=$(@:htools/%=%); $(GHC) --make \
-         $(HFLAGS) $(HEXTRA) $(HTOOLS_NOCURL) \
+         $(HFLAGS) $(HEXTRA) \
+         $(HTOOLS_NOCURL) $(HTOOLS_PARALLEL3) \
          -osuf $$BINARY.o -hisuf $$BINARY.hi $@
 
 # for the htools/test binary, we need to enable profiling/coverage
@@ -490,6 +497,7 @@ dist_tools_PYTHON = \
 
 dist_tools_SCRIPTS = \
        $(dist_tools_PYTHON) \
+       tools/kvm-console-wrapper \
        tools/xm-console-wrapper
 
 pkglib_python_scripts = \
@@ -577,7 +585,8 @@ man_MANS = \
        man/hail.1 \
        man/hbal.1 \
        man/hscan.1 \
-       man/hspace.1
+       man/hspace.1 \
+       man/htools.1
 
 manrst = $(patsubst %.1,%.rst,$(patsubst %.7,%.rst,$(patsubst %.8,%.rst,$(man_MANS))))
 manhtml = $(patsubst %.rst,%.html,$(manrst))
@@ -1103,7 +1112,7 @@ hs-apidoc: $(HS_BUILT_SRCS)
        @test -n "$(HADDOCK)" || \
            { echo 'haddock' not found during configure; exit 1; }
        rm -rf $(APIDOC_HS_DIR)/*
-       @mkdir_p@ $(APIDOC_HS_DIR)/Ganeti/HTools
+       @mkdir_p@ $(APIDOC_HS_DIR)/Ganeti/HTools/Program
        $(HSCOLOUR) -print-css > $(APIDOC_HS_DIR)/Ganeti/hscolour.css
        ln -s ../hscolour.css $(APIDOC_HS_DIR)/Ganeti/HTools/hscolour.css
        set -e ; \
@@ -1112,6 +1121,9 @@ hs-apidoc: $(HS_BUILT_SRCS)
        then OPTGHC="--optghc=$(HTOOLS_NOCURL)"; \
        else OPTGHC=""; \
        fi; \
+       if [ "$(HTOOLS_PARALLEL3)" ]; \
+       then OPTGHC="$$OPTGHC --optghc=$(HTOOLS_PARALLEL3)"; \
+       fi; \
        RELSRCS="$(HS_LIB_SRCS:htools/%=%)  $(HS_BUILT_SRCS:htools/%=%)"; \
        for file in $$RELSRCS; do \
                hfile=`echo $$file|sed 's/\\.hs$$//'`.html; \