Commit 1e9f90af authored by Ben Gamari's avatar Ben Gamari Committed by Ben Gamari

Move check-ppr and check-api-annotations to testsuite/utils

These are needed by the testsuite and consequently must be shipped in
the testsuite tarball to ensure that we can test binary distributions.

See #13897.

Test Plan: Validate

Reviewers: austin

Subscribers: snowleopard, rwbarton, thomie

GHC Trac Issues: #13897

Differential Revision: https://phabricator.haskell.org/D4039
parent 4364f1e7
......@@ -76,6 +76,7 @@ _darcs/
/libraries/dist-haddock/
/rts/dist/
/utils/*/dist*/
/testsuite/utils/*/dist-install/
/compiler/stage1/
/compiler/stage2/
/compiler/stage3/
......
......@@ -215,13 +215,17 @@ endif
# out-of-date, it is useful if Phabricator, via a normal `./validate` and `make
# test`, runs each test at least once.
.PHONY: fasttest
fasttest:
fasttest: testsuite_utils
$(MAKE) -C testsuite/tests CLEANUP=1 SUMMARY_FILE=../../testsuite_summary.txt fast
.PHONY: test
test:
test: testsuite_utils
$(MAKE) -C testsuite/tests CLEANUP=1 SUMMARY_FILE=../../testsuite_summary.txt
.PHONY: slowtest fulltest
slowtest fulltest:
slowtest fulltest: testsuite_utils
$(MAKE) -C testsuite/tests CLEANUP=1 SUMMARY_FILE=../../testsuite_summary.txt slow
.PHONY: testsuite_utils
testsuite_utils:
$(MAKE) -f ghc.mk testsuite_utils
......@@ -560,8 +560,8 @@ ghc/stage2/package-data.mk: compiler/stage2/package-data.mk
# all the other libraries' package-data.mk files.
utils/haddock/dist/package-data.mk: compiler/stage2/package-data.mk
utils/ghctags/dist-install/package-data.mk: compiler/stage2/package-data.mk
utils/check-api-annotations/dist-install/package-data.mk: compiler/stage2/package-data.mk
utils/check-ppr/dist-install/package-data.mk: compiler/stage2/package-data.mk
testsuite/utils/check-api-annotations/dist-install/package-data.mk: compiler/stage2/package-data.mk
testsuite/utils/check-ppr/dist-install/package-data.mk: compiler/stage2/package-data.mk
# add the final package.conf dependency: ghc-prim depends on RTS
libraries/ghc-prim/dist-install/package-data.mk : rts/dist/package.conf.inplace
......@@ -684,8 +684,6 @@ BUILD_DIRS += utils/hsc2hs
BUILD_DIRS += utils/ghc-pkg
BUILD_DIRS += utils/testremove
BUILD_DIRS += utils/ghctags
BUILD_DIRS += utils/check-api-annotations
BUILD_DIRS += utils/check-ppr
BUILD_DIRS += utils/ghc-cabal
BUILD_DIRS += utils/hpc
BUILD_DIRS += utils/runghc
......@@ -695,6 +693,19 @@ BUILD_DIRS += utils/count_lines
BUILD_DIRS += utils/compare_sizes
BUILD_DIRS += iserv
# If we are in a tree derived from a source tarball the testsuite/ directory may
# not exist, meaning we can't build the testsuite/utils packages.
ifeq "$(wildcard testsuite/Makefile)" ""
HaveTestsuite = NO
else
HaveTestsuite = YES
endif
ifeq "$(HaveTestsuite)" "YES"
BUILD_DIRS += testsuite/utils/check-api-annotations
BUILD_DIRS += testsuite/utils/check-ppr
endif
# ----------------------------------------------
# Actually include the sub-ghc.mk's
......@@ -734,8 +745,8 @@ ifneq "$(CrossCompiling) $(Stage1Only)" "NO NO"
# See Note [No stage2 packages when CrossCompiling or Stage1Only].
# See Note [Stage1Only vs stage=1] in mk/config.mk.in.
BUILD_DIRS := $(filter-out utils/ghctags,$(BUILD_DIRS))
BUILD_DIRS := $(filter-out utils/check-api-annotations,$(BUILD_DIRS))
BUILD_DIRS := $(filter-out utils/check-ppr,$(BUILD_DIRS))
BUILD_DIRS := $(filter-out testsuite/utils/check-api-annotations,$(BUILD_DIRS))
BUILD_DIRS := $(filter-out testsuite/utils/check-ppr,$(BUILD_DIRS))
endif
endif # CLEANING
......@@ -1572,3 +1583,14 @@ phase_0_builds: $(utils/deriveConstants_dist_depfile_c_asm)
.PHONY: phase_1_builds
phase_1_builds: $(PACKAGE_DATA_MKS)
# Various utilities in testsuite/utils which must be built before
# the testsuite is run.
.PHONY: testsuite_utils
testsuite_utils:
ifeq "$(HaveTestsuite)" "NO"
@echo "The testsuite/ directory appears to be unavailable."
@echo ""
@echo "If this tree is from a source tarball please download and extract"
@echo "the corresponding testsuite tarball."
endif
......@@ -10,9 +10,11 @@
#
# -----------------------------------------------------------------------------
utils/check-api-annotations_USES_CABAL = YES
utils/check-api-annotations_PACKAGE = check-api-annotations
utils/check-api-annotations_dist-install_PROGNAME = check-api-annotations
utils/check-api-annotations_dist-install_INSTALL = NO
utils/check-api-annotations_dist-install_INSTALL_INPLACE = YES
$(eval $(call build-prog,utils/check-api-annotations,dist-install,2))
testsuite/utils/check-api-annotations_USES_CABAL = YES
testsuite/utils/check-api-annotations_PACKAGE = check-api-annotations
testsuite/utils/check-api-annotations_dist-install_PROGNAME = check-api-annotations
testsuite/utils/check-api-annotations_dist-install_INSTALL = NO
testsuite/utils/check-api-annotations_dist-install_INSTALL_INPLACE = YES
$(eval $(call build-prog,testsuite/utils/check-api-annotations,dist-install,2))
testsuite_utils: $(testsuite/utils/check-api-annotations_dist-install_INPLACE)
......@@ -10,9 +10,11 @@
#
# -----------------------------------------------------------------------------
utils/check-ppr_USES_CABAL = YES
utils/check-ppr_PACKAGE = check-ppr
utils/check-ppr_dist-install_PROGNAME = check-ppr
utils/check-ppr_dist-install_INSTALL = NO
utils/check-ppr_dist-install_INSTALL_INPLACE = YES
$(eval $(call build-prog,utils/check-ppr,dist-install,2))
testsuite/utils/check-ppr_USES_CABAL = YES
testsuite/utils/check-ppr_PACKAGE = check-ppr
testsuite/utils/check-ppr_dist-install_PROGNAME = check-ppr
testsuite/utils/check-ppr_dist-install_INSTALL = NO
testsuite/utils/check-ppr_dist-install_INSTALL_INPLACE = YES
$(eval $(call build-prog,testsuite/utils/check-ppr,dist-install,2))
testsuite_utils: $(testsuite/utils/check-ppr_dist-install_INPLACE)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment