Updates for new binary distribution scheme.
authorChris Hanson <org/chris-hanson/cph>
Sun, 7 Mar 2010 05:38:57 +0000 (21:38 -0800)
committerChris Hanson <org/chris-hanson/cph>
Sun, 7 Mar 2010 05:38:57 +0000 (21:38 -0800)
dist/make-doc-files
dist/make-native-files
dist/make-src-files
dist/shared.sh
doc/user-manual/user.texinfo

index 6eb9a9195896d766ff376dd308a3c7b65fb33992..112a5931e574bd9931df543d8b0fb7abbd94cec5 100755 (executable)
@@ -35,15 +35,6 @@ build_docs ()
    my_make
 }
 
-make_image_dir ()
-{
-    local DEST=${TL_DIR}/${DOC_IMAGE_DIR}
-    my_make install-info-gz infodir="${DEST}"/edwin/info
-    my_make install-html htmldir="${DEST}"/doc
-    my_install_data "${TL_DIR}"/"${BUILD_DIR}"/src/COPYING "${DEST}"/doc/.
-    fixup_perms "${DEST}"
-}
-
 make_archive_dir ()
 {
     local FORMAT=${1}
@@ -54,11 +45,6 @@ notify "Building documentation"
 unpack_dist_file_to "${DIST_DIR}" "${BUILD_DIR}"
 run_command "${DOC_OUT}"-build "${BUILD_DIR}"/doc build_docs
 
-notify "Making doc image for distributions"
-new_temp_dir "${DOC_IMAGE_DIR}"
-run_command "${DOC_OUT}"-image "${BUILD_DIR}"/doc make_image_dir
-make_tar_file "${DOC_OUT}"-image "${DOC_IMAGE_DIR}"
-
 new_temp_dir "${DIST_DIR}"
 for FORMAT in html info pdf; do
     OUT=${DOC_OUT}-${FORMAT}
index 2165854d86d556df878de486ae7c1b5d93996611..10b25e39e62be2aa1a497054e9ffa3ff25aa0abf 100755 (executable)
@@ -35,39 +35,18 @@ build ()
     my_make
 }
 
-make_image ()
-{
-    local IMAGE_DIR=${TL_DIR}/${1}
-    my_make install DESTDIR="${IMAGE_DIR}"
-    my_mv "${IMAGE_DIR}"/usr/local/* "${IMAGE_DIR}"/.
-    my_rmdir "${IMAGE_DIR}"/usr/local
-    my_rmdir "${IMAGE_DIR}"/usr
-}
-
-remove_unshipped_files ()
-{
-    local IMAGE_DIR=${1}
-    local LIB_DIR=${IMAGE_DIR}/lib/mit-scheme-${2}
-    my_rm_rf "${IMAGE_DIR}"/bin "${LIB_DIR}"/lib
-    my_rm_f "${LIB_DIR}"/runtime.com "${LIB_DIR}"/macosx-starter
-}
-
 for ARCH in i386 x86-64; do
-    IMAGE_DIR=${DIST_DIR}-${ARCH}
     OUT_ROOT=${NATIVE_OUT}-${ARCH}
 
     notify "Building binaries for arch ${ARCH}"
     unpack_dist_file_to "${DIST_DIR}" "${DIST_DIR}"
     run_command "${OUT_ROOT}"-compile "${DIST_DIR}"/src build "${ARCH}"
+    run_command "${OUT_ROOT}"-clean "${DIST_DIR}"/src/microcode make distclean
+    my_rm_f "${DIST_DIR}"/src/lib/runtime.com
 
-    notify "Making image for arch ${ARCH}"
-    new_temp_dir "${IMAGE_DIR}"
-    run_command "${OUT_ROOT}"-image "${DIST_DIR}"/src make_image "${IMAGE_DIR}"
-    remove_unshipped_files "${IMAGE_DIR}" "${ARCH}"
-    unpack_into_existing_dir "${DOC_IMAGE_DIR}" \
-       "${IMAGE_DIR}"/lib/mit-scheme-"${ARCH}"
-    fixup_perms "${IMAGE_DIR}"
-    make_tar_file "${OUT_ROOT}" "${IMAGE_DIR}"
+    notify "Making tarball"
+    fixup_perms "${DIST_DIR}"
+    make_tar_file "${OUT_ROOT}" "${DIST_DIR}"-"${ARCH}" "${DIST_DIR}"
     cleanup_temp_files
 done
 
index afc06adc03f2e3a55fab2a694d97bc324dc6d4f8..db0ec89799c0c347701383bca3d722a048fff178 100755 (executable)
@@ -21,7 +21,7 @@
 # 02110-1301, USA.
 
 # inputs: git source tree
-# outputs: changelog, source tar, ucode tar
+# outputs: changelog, source tar
 
 . "$(dirname "${0}")"/shared.sh
 reset_output_dir
@@ -62,9 +62,7 @@ run_command "${DOC_OUT}"-config "${DIST_DIR}"/doc reconf
 find "${DIST_DIR}" -type d -name autom4te.cache | xargs rm -rf
 fixup_perms "${DIST_DIR}"
 
-notify "Creating archive files"
+notify "Creating archive file"
 make_tar_file "${SRC_OUT}" "${DIST_DIR}" 
-make_tar_file "${SRC_OUT}"-ucode "${UCODE_BASE}" \
-    "${DIST_DIR}"/src/COPYING "${DIST_DIR}"/src/etc "${DIST_DIR}"/src/microcode
 
 notify_finished
index 158b76b1b25a554bb32cfff22d7b66e922e055a0..b08a1565af5c65f912b6a25be8d20bc1143a0422 100644 (file)
@@ -86,8 +86,6 @@ CHANGELOG=changelog.txt
 TAR_SUFFIX=.tar.gz
 
 DIST_DIR=${PROJECT_NAME}-${RELEASE}
-UCODE_BASE=${DIST_DIR}-ucode
-DOC_IMAGE_DIR=${DIST_DIR}-doc-image
 
 OUTPUT_DIR=${TL_DIR}/.out
 SRC_OUT=${OUTPUT_DIR}/src
index 0d48d2b4336743b8de81c93d517d54246d67d87c..dedc4c8eb18e40a33e08e83665285f73ae38f38c 100644 (file)
@@ -156,107 +156,75 @@ using.
 We will use as an example the installation for GNU/Linux.  The
 installation for other unix systems is similar.  There are several
 references to @var{ARCH} below; these refer to the computer
-architecture that Scheme is compiled for, such as @samp{i386} or
+architecture that Scheme is compiled for, either @samp{i386} or
 @samp{x86-64}.
 
 MIT/GNU Scheme is distributed as a compressed `tar' file.  The tar
-file contains two directories, called @file{bin} and @file{lib}.  The
-@file{bin} directory contains one executable file, called
-@command{mit-scheme-@var{ARCH}}, and some symlinks for convenience and
-backwards compatibility.  The @file{lib} directory contains one
-subdirectory, @file{lib/mit-scheme-@var{ARCH}}, that Scheme uses while
-it is executing.
-
-The goal of the installation is to put the executable files in a
-directory where they will be executed as commands, and to put the
-library files in some convenient place where Scheme can find them.
-
-There are two ways to install this software: the conventional way in
-@file{/usr/local}, and the alternative way, in locations of your
-choice.  We encourage you to install this software in @file{/usr/local}
-if possible.
-
-To install the software in @file{/usr/local}, execute the following
-commands, substituting for @var{version} the version of Scheme you wish
-to install, or the date of the snapshot if you are installing a
-snapshot, and for @var{platform} the platform you are on, such as
-@samp{ix86-gnu-linux} or @samp{ix86-apple-darwin}:
+file contains both source and binary files; the binary files are
+pre-compiled Scheme code for a particular computer architecture.
+
+In order to install the software, it's necessary to configure and
+compile the C code, then to install the combined C and Scheme
+binaries.  This is done in the following steps:
+
+@enumerate
+@item
+Unpack the tar file,
+@file{mit-scheme-@var{VERSION}-@var{ARCH}.tar.gz}, into the directory
+@file{mit-scheme-@var{VERSION}}.  For example,
 
 @example
-cd /usr/local
-rm -f bin/scheme bin/bchscheme bin/mit-scheme*
-rm -rf lib/mit-scheme*
-tar xzf mit-scheme-@var{version}-@var{platform}.tar.gz
+tar xzf mit-scheme-9.0-i386.tar.gz
 @end example
 
-@noindent
-After executing these commands, the executable files will be in
-@file{/usr/local/bin}, and the library files will be in
-@file{/usr/local/lib/mit-scheme-@var{ARCH}}.  No further configuration
-is required.
-
-To install the files in directories of your choice:
+will create a new directory @file{mit-scheme-9.0}.
 
-@itemize @bullet
 @item
-First unpack the distribution:
+Move into the new directory:
 
 @example
-mkdir temp
-cd temp
-tar xzf mit-scheme-@var{version}-@var{platform}.tar.gz
+cd mit-scheme-@var{VERSION}/src
 @end example
 
 @item
-Next, move the contents of the @file{bin} directory to somewhere
-convenient that is on your execution path.  For example, if you had a
-directory @file{$@{HOME@}/bin} on your path, you would do this:
+Configure the software:
 
 @example
-mv bin/* $@{HOME@}/bin/.
+./configure
 @end example
 
 @item
-Next, move or copy the @file{lib/mit-scheme-@var{ARCH}} directory
-somewhere convenient.  For example, you could move it to your home
-directory:
+Build the software:
 
 @example
-mv lib/mit-scheme-@var{ARCH} $@{HOME@}/.
+make compile-microcode
 @end example
 
-Note that on some unix systems, if you have unpacked the distribution
-on a different drive than the one you plan to store the
-@file{mit-scheme-@var{ARCH}} directory on, you must use the command
-@command{cp -pr} rather than @command{mv}.
-
 @item
-Next, you must tell Scheme where to find the
-@file{mit-scheme-@var{ARCH}} directory.  This can be done in one of
-two ways.  The first way is to bind the environment variable
-@env{MITSCHEME_LIBRARY_PATH} to the full path to the directory, e.g.@:
-in a Bourne shell you would do
+Install the software:
 
 @example
-MITSCHEME_LIBRARY_PATH=$@{HOME@}/mit-scheme
-export MITSCHEME_LIBRARY_PATH
+make install
 @end example
+@end enumerate
 
-You should put this environment-variable binding in one of your shell
-init files, e.g.@ for @command{bash} it might go in the @file{.bashrc}
-file.
-
-The second way is to use a command-line argument when invoking Scheme,
-e.g.@:
+After installing the software, you can delete the unpacked directory:
 
 @example
-mit-scheme --library $@{HOME@}/mit-scheme
+cd ../..
+rm -rf mit-scheme-@var{VERSION}
 @end example
 
-@item
-You should now be able to run MIT/GNU Scheme.  @xref{Running
-Scheme}, for more information.
-@end itemize
+By default, the software will be installed in @file{/usr/local}, in
+the subdirectories @file{bin} and @file{lib}.  If you want it
+installed somewhere else, for example @file{/opt/mit-scheme}, pass the
+@option{--prefix} option to the configure script, as in
+@kbd{./configure --prefix=/opt/mit-scheme}.
+
+The configure script accepts all the normal arguments for such
+scripts, and additionally accepts some that are specific to MIT/GNU
+Scheme.  To see all the possible arguments and their meanings, run the
+command @kbd{./configure --help}.
 
 @node Windows Installation,  , Unix Installation, Installation
 @section Windows Installation