Fix the source distribution

tools/build_srcdist:
    De-initialise the git submodules prior to building the source
    distribution.  They are then setup again, with clean working
    directories, by the call to ./prepare.sh.

Mmakefile:
    Handle the the new location of libatomic_opss in the "tar" target.

scripts/prepare_install_dir.in:
    Handle both usage in the source distribution where
    boehm_gc/libatomic_ops is a directory, and usage in a development
    workspace where boehm_gc/libatomic_ops is a symlink.
This commit is contained in:
Paul Bone
2015-09-28 10:21:06 +10:00
parent 4927f7f0db
commit 2a0d3a5eff
3 changed files with 20 additions and 4 deletions

View File

@@ -489,10 +489,15 @@ tar: $(GENERATED_DOCS)
test -d $$ROOTNAME/bytecode && \
mv $$ROOTNAME/bytecode stuff-to-exclude; \
mv $$ROOTNAME/extras/quickcheck stuff-to-exclude; \
rm $$ROOTNAME/boehm_gc/libatomic_ops; \
mv $$ROOTNAME/libatomic_ops \
$$ROOTNAME/boehm_gc/libatomic_ops; \
mv $$ROOTNAME mercury-srcdist-$(VERSION); \
tar --exclude ".git" -cf - mercury-srcdist-$(VERSION) | \
gzip -9 > mercury-srcdist-$(VERSION).tar.gz; \
mv mercury-srcdist-$(VERSION) $$ROOTNAME; \
mv $$ROOTNAME/boehm_gc/libatomic_ops \
$$ROOTNAME/libatomic_ops; \
mv stuff-to-exclude/quickcheck $$ROOTNAME/extras/quickcheck; \
mv stuff-to-exclude/* $$ROOTNAME; \
rmdir stuff-to-exclude; \

View File

@@ -57,11 +57,21 @@ cp boehm_gc/*.[chsS] ${installdir}/boehm_gc/
cp boehm_gc/tools/*.[ch] ${installdir}/boehm_gc/tools
cp boehm_gc/tools/*.sh ${installdir}/boehm_gc/tools
cp boehm_gc/build_atomic_ops.sh* ${installdir}/boehm_gc
cp -Rp libatomic_ops ${installdir}
ln -s ${installdir}/libatomic_ops ${installdir}/boehm_gc
if [ -d libatomic_ops ]; then
# If the libatomic_ops directory is present then boehm_gc/libatomic_ops
# is a symlink. This doesn't work on platforms without symlinks, but
# does anyone run this script on Windows?
cp -Rp libatomic_ops ${installdir}
ln -s ${installdir}/libatomic_ops ${installdir}/boehm_gc
rm -fr ${installdir}/libatomic_ops/src/*.o
rm -fr ${installdir}/libatomic_ops/src/*.a
else
# Otherwise boehmgc_libatomic_ops is a directory.
cp -Rp boehm_gc/libatomic_ops ${installdir}/boehm_gc
rm -fr ${installdir}/boehm_gc/libatomic_ops/src/*.o
rm -fr ${installdir}/boehm_gc/libatomic_ops/src/*.a
fi
cp -Rp boehm_gc/extra ${installdir}/boehm_gc
rm -fr ${installdir}/libatomic_ops/src/*.o
rm -fr ${installdir}/libatomic_ops/src/*.a
mkdir ${installdir}/runtime
mkdir ${installdir}/runtime/machdeps
cp runtime/Mmake* ${installdir}/runtime

View File

@@ -88,6 +88,7 @@ BYTES_PER_WORD=4
UNBOXED_FLOATS=no
# git checkout -- VERSION
git submodule deinit -f .
git clean -d -f -x
if [ -n "$RELEASE_VERSION" ]; then
sed "s/VERSION=.*/VERSION=$RELEASE_VERSION/" VERSION > VERSION.new