2525PKG_NAME = $(CFG_PACKAGE_NAME )
2626
2727PKG_GITMODULES := $(S ) src/libuv $(S ) src/llvm $(S ) src/gyp $(S ) src/compiler-rt
28-
2928PKG_FILES := \
3029 $(S ) COPYRIGHT \
3130 $(S ) LICENSE-APACHE \
@@ -48,8 +47,8 @@ PKG_FILES := \
4847 snapshots.txt \
4948 test) \
5049 $(PKG_GITMODULES ) \
51- $(filter-out Makefile config.stamp config.mk , \
52- $(MKFILE_DEPS ) )
50+ $(filter-out config.stamp, \
51+ $(MKFILES_FOR_TARBALL ) )
5352
5453UNROOTED_PKG_FILES := $(patsubst $(S ) % ,./% ,$(PKG_FILES ) )
5554
@@ -83,6 +82,23 @@ $(PKG_TAR): $(PKG_FILES)
8382
8483dist-tar-src : $(PKG_TAR )
8584
85+ distcheck-tar-src : $(PKG_TAR )
86+ $(Q ) rm -Rf tmp/distcheck/$(PKG_NAME )
87+ $(Q ) rm -Rf tmp/distcheck/srccheck
88+ $(Q ) mkdir -p tmp/distcheck
89+ @$(call E, unpacking $(PKG_TAR ) in tmp/distcheck/$(PKG_NAME ) )
90+ $(Q ) cd tmp/distcheck && tar -xzf ../../$(PKG_TAR )
91+ @$(call E, configuring in tmp/distcheck/srccheck)
92+ $(Q ) mkdir -p tmp/distcheck/srccheck
93+ $(Q ) cd tmp/distcheck/srccheck && ../$(PKG_NAME ) /configure
94+ @$(call E, making 'check' in tmp/distcheck/srccheck)
95+ $(Q ) +make -C tmp/distcheck/srccheck check
96+ @$(call E, making 'clean' in tmp/distcheck/srccheck)
97+ $(Q ) +make -C tmp/distcheck/srccheck clean
98+ $(Q ) rm -Rf tmp/distcheck/$(PKG_NAME )
99+ $(Q ) rm -Rf tmp/distcheck/srccheck
100+
101+
86102# #####################################################################
87103# Windows .exe installer
88104# #####################################################################
@@ -100,7 +116,7 @@ PKG_EXE = dist/$(PKG_NAME)-install.exe
100116 cp $< $@
101117
102118$(PKG_EXE ) : rust.iss modpath.iss LICENSE.txt rust-logo.ico \
103- $(PKG_FILES) $( CSREQ3_T_$(CFG_BUILD)_H_$(CFG_BUILD)) \
119+ $(CSREQ3_T_$(CFG_BUILD)_H_$(CFG_BUILD)) \
104120 dist-prepare-win
105121 $(CFG_PYTHON) $(S)src/etc/copy-runtime-deps.py tmp/dist/win/bin
106122 @$(call E, ISCC: $@)
@@ -156,10 +172,6 @@ endif
156172# Unix binary installer tarballs
157173# #####################################################################
158174
159- dist-install-dirs : $(foreach host,$(CFG_HOST ) ,dist-install-dir-$(host ) )
160-
161- dist-tar-bins : $(foreach host,$(CFG_HOST ) ,dist/$(PKG_NAME ) -$(host ) .tar.gz)
162-
163175define DEF_INSTALLER
164176dist-install-dir-$(1 ) : PREPARE_HOST=$(1 )
165177dist-install-dir-$(1 ) : PREPARE_TARGETS=$(1 )
@@ -187,6 +199,22 @@ endef
187199$(foreach host,$(CFG_HOST),\
188200 $(eval $(call DEF_INSTALLER,$(host))))
189201
202+ dist-install-dirs : $(foreach host,$(CFG_HOST ) ,dist-install-dir-$(host ) )
203+
204+ dist-tar-bins : $(foreach host,$(CFG_HOST ) ,dist/$(PKG_NAME ) -$(host ) .tar.gz)
205+
206+ # Just try to run the compiler for the build host
207+ distcheck-tar-bins : dist-tar-bins
208+ @$(call E, checking binary tarball)
209+ $(Q ) rm -Rf tmp/distcheck/$(PKG_NAME ) -$(CFG_BUILD )
210+ $(Q ) rm -Rf tmp/distcheck/tarbininstall
211+ $(Q ) mkdir -p tmp/distcheck
212+ $(Q ) cd tmp/distcheck && tar -xzf ../../dist/$(PKG_NAME ) -$(CFG_BUILD ) .tar.gz
213+ $(Q ) mkdir -p tmp/distcheck/tarbininstall
214+ $(Q ) sh tmp/distcheck/$(PKG_NAME ) -$(CFG_BUILD ) /install.sh --prefix=tmp/distcheck/tarbininstall
215+ $(Q ) tmp/distcheck/tarbininstall/bin/rustc --version
216+ $(Q ) rm -Rf tmp/distcheck/$(PKG_NAME ) -$(CFG_BUILD )
217+ $(Q ) rm -Rf tmp/distcheck/tarbininstall
190218
191219# #####################################################################
192220# Docs
@@ -208,6 +236,7 @@ ifdef CFG_WINDOWSY_$(CFG_BUILD)
208236dist : dist-win
209237
210238distcheck : dist
239+ $(Q ) rm -Rf tmp/distcheck
211240 @echo
212241 @echo -----------------------------------------------
213242 @echo Rust ready for distribution (see ./dist)
@@ -217,19 +246,8 @@ else
217246
218247dist : dist-tar-src
219248
220- distcheck : $(PKG_TAR )
221- $(Q ) rm -Rf dist
222- $(Q ) mkdir -p dist
223- @$(call E, unpacking $(PKG_TAR ) in dist/$(PKG_NAME ) )
224- $(Q ) cd dist && tar -xzf ../$(PKG_TAR )
225- @$(call E, configuring in dist/$(PKG_NAME ) -build)
226- $(Q ) mkdir -p dist/$(PKG_NAME ) -build
227- $(Q ) cd dist/$(PKG_NAME ) -build && ../$(PKG_NAME ) /configure
228- @$(call E, making 'check' in dist/$(PKG_NAME ) -build)
229- $(Q ) +make -C dist/$(PKG_NAME ) -build check
230- @$(call E, making 'clean' in dist/$(PKG_NAME ) -build)
231- $(Q ) +make -C dist/$(PKG_NAME ) -build clean
232- $(Q ) rm -Rf dist
249+ distcheck : dist distcheck-tar-src
250+ $(Q ) rm -Rf tmp/distcheck
233251 @echo
234252 @echo -----------------------------------------------
235253 @echo Rust ready for distribution (see ./dist)
0 commit comments