Refactored debian package structure.
parent
2afa36dbdc
commit
259860a61b
|
@ -1,2 +1,3 @@
|
||||||
usr/bin
|
usr/bin
|
||||||
|
usr/lib/factor
|
||||||
usr/share/factor
|
usr/share/factor
|
||||||
|
|
|
@ -6,6 +6,3 @@ doc/handbook.pdf
|
||||||
doc/internals.txt
|
doc/internals.txt
|
||||||
doc/theory.pdf
|
doc/theory.pdf
|
||||||
doc/handbook
|
doc/handbook
|
||||||
examples
|
|
||||||
library
|
|
||||||
version.factor
|
|
||||||
|
|
|
@ -4,6 +4,9 @@
|
||||||
# SITE_CFLAGS=-fPIC -ffast-math -funsigned-char -mpowerpc -mpowerpc-gpopt -mpowerpc-gfxopt -maltivec -mabi=altivec -mtune=G4 -mcpu=G4 -pipe
|
# SITE_CFLAGS=-fPIC -ffast-math -funsigned-char -mpowerpc -mpowerpc-gpopt -mpowerpc-gfxopt -maltivec -mabi=altivec -mtune=G4 -mcpu=G4 -pipe
|
||||||
# SITE_CFLAGS=-march=pentium4
|
# SITE_CFLAGS=-march=pentium4
|
||||||
|
|
||||||
|
VERSION=0.80
|
||||||
|
FARCH=$(shell sh debian/architecture.sh)
|
||||||
|
|
||||||
configure: configure-stamp
|
configure: configure-stamp
|
||||||
|
|
||||||
configure-stamp:
|
configure-stamp:
|
||||||
|
@ -14,18 +17,19 @@ build: build-stamp
|
||||||
|
|
||||||
build-stamp: configure-stamp
|
build-stamp: configure-stamp
|
||||||
dh_testdir
|
dh_testdir
|
||||||
$(MAKE) linux-`sh debian/architecture.sh`
|
$(MAKE) linux-$(FARCH)
|
||||||
####### Build the bootstrap image
|
mv f runtime
|
||||||
echo "USE: image \"`sh debian/architecture.sh`\" make-image 0 exit" | factor-vm debian/make-bootstrap-images.factor
|
# Build the bootstrap image
|
||||||
# wget http://factorcode.org/boot.image.`sh debian/architecture.sh`
|
echo "USE: image \"$(FARCH)\" make-image" | factor-run --basic debian/make-bootstrap-images.factor # || wget http://factorcode.org/boot.image.$(FARCH)
|
||||||
####### Build the factor image
|
mv boot.image.$(FARCH) boot.image
|
||||||
./f boot.image.`sh debian/architecture.sh` -libraries:sdl:name=libSDL.so -libraries:freetype:name=libfreetype.so
|
# Build the factor image
|
||||||
# cp /usr/share/factor/f /usr/share/factor/factor.image .
|
./runtime boot.image -libraries:sdl:name=libSDL.so -libraries:freetype:name=libfreetype.so
|
||||||
####### Build the extended image
|
mv factor.image basic.image
|
||||||
|
# Build the extended image
|
||||||
sqlite3 contrib/sqlite/test.db < contrib/sqlite/test.txt
|
sqlite3 contrib/sqlite/test.db < contrib/sqlite/test.txt
|
||||||
# $(CC) $(CFLAGS) -L /usr/X11R6/lib -shared -o contrib/factory/simple-error-handler.so contrib/factory/simple-error-handler.c -lX11
|
$(CC) $(CFLAGS) -L /usr/X11R6/lib -shared -o contrib/factory/simple-error-handler.so contrib/factory/simple-error-handler.c -lX11
|
||||||
echo 'USING: image kernel ; "extended.image" save-image 0 exit' | ./f factor.image contrib/load.factor
|
echo 'USING: image kernel ; "extended.image" save-image 0 exit' | ./runtime basic.image contrib/load.factor
|
||||||
####### Build the documentation
|
# Build the documentation
|
||||||
cd doc && for i in *.eps; do epstopdf $$i; done
|
cd doc && for i in *.eps; do epstopdf $$i; done
|
||||||
cd doc && rubber --pdf theory
|
cd doc && rubber --pdf theory
|
||||||
cd doc && sh makedoc
|
cd doc && sh makedoc
|
||||||
|
@ -36,7 +40,7 @@ clean:
|
||||||
dh_testroot
|
dh_testroot
|
||||||
rm -f build-stamp configure-stamp
|
rm -f build-stamp configure-stamp
|
||||||
-$(MAKE) clean
|
-$(MAKE) clean
|
||||||
-rm -f f factor.image extended.image
|
-rm -f f runtime factor.image boot.image boot.image.$(FARCH) basic.image extended.image
|
||||||
dh_clean
|
dh_clean
|
||||||
|
|
||||||
install: build
|
install: build
|
||||||
|
@ -44,8 +48,12 @@ install: build
|
||||||
dh_testroot
|
dh_testroot
|
||||||
dh_clean -k
|
dh_clean -k
|
||||||
dh_installdirs
|
dh_installdirs
|
||||||
install f factor.image extended.image $(CURDIR)/debian/factor/usr/share/factor
|
# Install binary files
|
||||||
install -m 755 debian/factor-vm $(CURDIR)/debian/factor/usr/bin
|
install runtime boot.image basic.image extended.image $(CURDIR)/debian/factor/usr/lib/factor
|
||||||
|
# Install source files
|
||||||
|
install contrib examples fonts library version.factor $(CURDIR)/debian/factor/usr/share/factor
|
||||||
|
# Install wrapper scripts
|
||||||
|
install -m 755 debian/scripts/factor-* $(CURDIR)/debian/factor/usr/bin
|
||||||
|
|
||||||
binary-indep: build install
|
binary-indep: build install
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Help function
|
||||||
|
###############
|
||||||
|
help () {
|
||||||
|
cat <<EOF
|
||||||
|
Usage: factor-export IMAGE FILE [ WORDS ]
|
||||||
|
|
||||||
|
Export words from a Factor image as ASCII source code.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
|
||||||
|
none so far
|
||||||
|
|
||||||
|
If FILE is a single hypen (-), code will be written to
|
||||||
|
standard output.
|
||||||
|
|
||||||
|
This is useful for moving Factor code in bulk between
|
||||||
|
incompatible systems, such as different architectures or
|
||||||
|
when the image format changes. An example of this is:
|
||||||
|
|
||||||
|
factor-export image.x86 | ssh host factor-import image.ppc
|
||||||
|
|
||||||
|
It is also useful for managing changes in a Factor codebase.
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# Default values
|
||||||
|
################
|
||||||
|
|
||||||
|
# Argument parsing
|
||||||
|
##################
|
||||||
|
|
||||||
|
# Logic
|
||||||
|
#######
|
||||||
|
echo 'Sorry, this is just a stub at the moment.'
|
||||||
|
help
|
||||||
|
exit 1
|
|
@ -0,0 +1,38 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Help function
|
||||||
|
###############
|
||||||
|
help () {
|
||||||
|
cat <<EOF
|
||||||
|
Usage: factor-import IMAGE FILE
|
||||||
|
|
||||||
|
Export words from a Factor image as ASCII source code.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
|
||||||
|
none so far
|
||||||
|
|
||||||
|
If FILE is a single hypen (-), code will be read from
|
||||||
|
standard input.
|
||||||
|
|
||||||
|
This is useful for moving Factor code in bulk between
|
||||||
|
incompatible systems, such as different architectures or
|
||||||
|
when the image format changes. An example of this is:
|
||||||
|
|
||||||
|
factor-export image.x86 | ssh host factor-import image.ppc
|
||||||
|
|
||||||
|
It is also useful for managing changes in a Factor codebase.
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# Default values
|
||||||
|
################
|
||||||
|
|
||||||
|
# Argument parsing
|
||||||
|
##################
|
||||||
|
|
||||||
|
# Logic
|
||||||
|
#######
|
||||||
|
echo 'Sorry, this is just a stub at the moment.'
|
||||||
|
help
|
||||||
|
exit 1
|
|
@ -0,0 +1,47 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Help function
|
||||||
|
###############
|
||||||
|
help () {
|
||||||
|
cat <<EOF
|
||||||
|
Usage: factor-init -o DEST [ OPTION ]
|
||||||
|
|
||||||
|
Create an editable image from one of the default images that
|
||||||
|
is distributed with the Factor runtime.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
|
||||||
|
-b copy the basic image (default)
|
||||||
|
-e copy the extended image (includes contrib libs)
|
||||||
|
-i FILE copy the image FILE
|
||||||
|
-o FILE write the editable image to FILE
|
||||||
|
-h print this help information
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# Default values
|
||||||
|
################
|
||||||
|
BINARY_PATH='/usr/lib/factor'
|
||||||
|
SRC="$BINARY_PATH/basic.image"
|
||||||
|
DST=''
|
||||||
|
|
||||||
|
# Argument parsing
|
||||||
|
##################
|
||||||
|
while getopts "hbei:o:" x
|
||||||
|
do
|
||||||
|
case "$x" in
|
||||||
|
b) SRC="$BINARY_PATH/basic.image";;
|
||||||
|
e) SRC="$BINARY_PATH/extended.image";;
|
||||||
|
i) SRC="$OPTARG";;
|
||||||
|
o) DST="$OPTARG";;
|
||||||
|
h) help;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# Logic
|
||||||
|
#######
|
||||||
|
if test -n "$DST"; then
|
||||||
|
exec /bin/cp -v "$SRC" "$DST"
|
||||||
|
else
|
||||||
|
help
|
||||||
|
fi
|
|
@ -0,0 +1,72 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Help function
|
||||||
|
###############
|
||||||
|
help () {
|
||||||
|
cat <<EOF
|
||||||
|
Usage: factor-run IMAGE [ OPTIONS, FILES ]
|
||||||
|
|
||||||
|
Launch the factor runtime using an initial image IMAGE, taking
|
||||||
|
input from each FILE in turn and then starting a listener.
|
||||||
|
|
||||||
|
If IMAGE is -b or --basic, the basic image that is distributed
|
||||||
|
with factor will be used. If IMAGE is -e or --extended, the
|
||||||
|
extended image that is distributed with factor will be used.
|
||||||
|
|
||||||
|
Library options:
|
||||||
|
|
||||||
|
-resource-path=PATH
|
||||||
|
Specify the path where factor libraries
|
||||||
|
|
||||||
|
-shell={tty, ui, telnet}
|
||||||
|
Specify what sort of listener to use.
|
||||||
|
|
||||||
|
-port=N
|
||||||
|
When using the "telnet" listener, specify the port
|
||||||
|
to listen on.
|
||||||
|
|
||||||
|
Runtime options (n is a number):
|
||||||
|
|
||||||
|
+Dn Data stack size, kilobytes
|
||||||
|
+Cn Call stack size, kilobytes
|
||||||
|
+Gn Number of generations, must be >= 2
|
||||||
|
+Yn Size of n-1 youngest generations, megabytes
|
||||||
|
+An Size of tenured and semi-spaces, megabytes
|
||||||
|
+Xn Code heap size, megabytes
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# Default values
|
||||||
|
################
|
||||||
|
BINARY_PATH='/usr/lib/factor'
|
||||||
|
RESOURCE_PATH='/usr/share/factor'
|
||||||
|
IMAGE="$BINARY_PATH/basic.image"
|
||||||
|
RUNTIME="$BINARY_PATH/runtime"
|
||||||
|
|
||||||
|
# Logic
|
||||||
|
#######
|
||||||
|
if test 0 -eq $#
|
||||||
|
then
|
||||||
|
# As a 'quick start' behaviour, so that new users can
|
||||||
|
# get something to play with immediately.
|
||||||
|
echo "Launching the Factor runtime with a read-only basic image."
|
||||||
|
echo "Use \`\"filename\" save-image' to write an editable image."
|
||||||
|
exec "$RUNTIME" "$IMAGE" -resource-path="$RESOURCE_PATH"
|
||||||
|
else
|
||||||
|
case "$1" in
|
||||||
|
-h|--help)
|
||||||
|
help
|
||||||
|
;;
|
||||||
|
-b|--basic)
|
||||||
|
IMAGE="$BINARY_PATH/basic.image"
|
||||||
|
;;
|
||||||
|
-e|--extended)
|
||||||
|
IMAGE="$BINARY_PATH/extended.image"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
IMAGE="$1"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
exec "$RUNTIME" "$IMAGE" -resource-path="$RESOURCE_PATH" "$@"
|
||||||
|
fi
|
Loading…
Reference in New Issue