Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
cmucl
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Carl Shapiro
cmucl
Commits
7e987c1d
Commit
7e987c1d
authored
19 years ago
by
rtoy
Browse files
Options
Downloads
Patches
Plain Diff
Initial version of build script.
parent
849ee6c1
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
tools/build.sh
+141
-0
141 additions, 0 deletions
tools/build.sh
with
141 additions
and
0 deletions
tools/build.sh
0 → 100755
+
141
−
0
View file @
7e987c1d
#!/bin/sh
# Build CMUCL from source. The intent of this script is to make it a
# little easier invoke the other scripts and build CMUCL. In the
# simplest case where your lisp is named cmulisp and no special
# bootfiles are needed, you would build CMUCL using:
#
# src/tools/build.sh -C ""
#
# This will create a set of directories named build-2, build-3, and
# build-4 and CMUCL will be built 3 consecutive times, using the
# version of CMUCL from the previous build.
#
#
# You can control which of the builds are done by using the -1, -2, -3
# options, but it is up to you to make sure the previous builds exist.
#
# A more realistic example would be
#
# src/tools/build.sh -v "My build" -B boot-19b.lisp -o "my-lisp -noinit"
#
# where you need to load the bootfile boot-19b.lisp and your lisp is
# not named cmulisp, but my-lisp.
#
# For more complicated builds, you will need to run create-target.sh
# manually, and adjust the bootstrap or setenv files by hand. Once
# this is done, you can run build.sh to build everything. Just be
# sure to leave off the -C option.
#
# Cross compiling is not supported with this script. You will have to
# do that by hand.
#
# For more information see src/BUILDING.
ENABLE2
=
"yes"
ENABLE3
=
"yes"
ENABLE4
=
"yes"
version
=
19a
SRCDIR
=
src
TOOLDIR
=
$SRCDIR
/tools
TIMER
=
"time"
VERSION
=
"CVS Head
`
date
'+%Y-%m-%d %H:%M:%S'
`
"
BASE
=
build
OLDLISP
=
"cmulisp -noinit"
SKIPUTILS
=
no
set
-x
usage
()
{
echo
"build-l4 [-123obvuC]"
echo
" -1 Skip build 1"
echo
" -2 Skip build 2"
echo
" -3 Skip build 3"
echo
" -o x Use specified Lisp to build. Default is cmulisp"
echo
" (only applicable for build 1)"
echo
' -b d The different build directoris are named ${d}-2, ${d}-3 ${d}-4'
echo
' with a default of "build"'
echo
' -v v Use the given string as the version. Default is'
echo
" today's date"
echo
" -u Don't build CLX, CLM, or Hemlock"
echo
' -C [l m] Create the build directories. The args are what'
echo
' you would give to create-target.sh for the lisp'
echo
' and motif variant.'
exit
1
}
buildit
()
{
if
[
!
-d
$TARGET
]
;
then
if
[
-n
"
$CREATE_DIRS
"
]
;
then
$TOOLDIR
/create-target.sh
$TARGET
$CREATE_OPT
fi
fi
if
[
"
$ENABLE
"
=
"yes"
]
;
then
$TOOLDIR
/clean-target.sh
$TARGET
$TIMER
$TOOLDIR
/build-world.sh
$TARGET
$OLDLISP
$BOOT
(
cd
$TARGET
/lisp
;
make
)
#$TOOLDIR/build-world.sh $TARGET $OLDLISP
$TOOLDIR
/load-world.sh
$TARGET
$VERSION
if
[
!
-f
$TARGET
/lisp/lisp.core
]
;
then
echo
"Failed to build
$TARGET
!"
exit
1
fi
fi
}
while
getopts
"123o:b:v:uB:C:?"
arg
do
case
$arg
in
1
)
ENABLE2
=
"no"
;;
2
)
ENABLE3
=
"no"
;;
3
)
ENABLE4
=
"no"
;;
o
)
OLDLISP
=
$OPTARG
;;
b
)
BASE
=
$OPTARG
;;
v
)
VERSION
=
"
$OPTARG
"
;;
u
)
SKIPUTILS
=
"yes"
;;
C
)
CREATE_OPT
=
"
$OPTARG
"
CREATE_DIRS
=
yes
;;
B
)
bootfiles
=
"
$bootfiles
$OPTARG
"
;;
\\
?
)
usage
;;
esac
done
bootfiles_dir
=
$SRCDIR
/bootfiles/
$version
if
[
-n
"
$bootfiles
"
]
;
then
for
file
in
$bootfiles
;
do
BOOT
=
"
$BOOT
-load
$bootfiles_dir
/
$file
"
done
fi
TARGET
=
$BASE
-2
ENABLE
=
$ENABLE2
buildit
bootfiles
=
TARGET
=
$BASE
-3
OLDLISP
=
"
${
BASE
}
-2/lisp/lisp -noinit -core
${
BASE
}
-2/lisp/lisp.core"
ENABLE
=
$ENABLE3
buildit
TARGET
=
$BASE
-4
OLDLISP
=
"
${
BASE
}
-3/lisp/lisp -noinit -core
${
BASE
}
-3/lisp/lisp.core"
ENABLE
=
$ENABLE4
buildit
if
[
"
$SKIPUTILS
"
=
"no"
]
;
then
OLDLISP
=
"
${
BASE
}
-4/lisp/lisp -noinit -core
${
BASE
}
-4/lisp/lisp.core"
$TIMER
$TOOLDIR
/build-utils.sh
$TARGET
fi
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment