MAJ pour le debugger et autres
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1289 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02master
parent
5fee61df8c
commit
b9b212f5ba
21
INSTALL
21
INSTALL
|
@ -1,8 +1,5 @@
|
|||
PREREQUISITES
|
||||
|
||||
* Perl version 4 or 5 is required for building the Objective Caml
|
||||
native-code compiler.
|
||||
|
||||
* The GNU C compiler gcc is recommended, as the bytecode
|
||||
interpreter takes advantage of gcc-specific features to enhance
|
||||
performance. Versions 2.5.8, 2.6.3, 2.7.0 and 2.7.2 have all been
|
||||
|
@ -88,7 +85,7 @@ The "make bootstrap" checks that the bytecode programs compiled with
|
|||
the new compiler are identical to the bytecode programs compiled with
|
||||
the old compiler. If this is the case, you can be pretty sure the
|
||||
system has been correctly compiled. Otherwise, this does not
|
||||
necessarily means something went wrong. The best thing to do is to try
|
||||
necessarily mean something went wrong. The best thing to do is to try
|
||||
a second bootstrapping phase: just do "make bootstrap" again. It will
|
||||
either crash almost immediately, or re-re-compile everything correctly
|
||||
and reach the fixpoint.
|
||||
|
@ -113,18 +110,30 @@ following commands (in the binary directory selected during autoconfiguration):
|
|||
ocaml the interactive, toplevel-based system
|
||||
ocamlmktop a tool to make toplevel systems that integrate
|
||||
user-defined C primitives and Caml code
|
||||
ocamldebug the source-level replay debugger
|
||||
ocamldep output "make" dependencies for Caml sources
|
||||
ocamlprof execution count profiler
|
||||
ocamlcp the bytecode compiler in profiling mode
|
||||
|
||||
From the top directory, become superuser and do:
|
||||
|
||||
umask 022 # make sure to give read permission to all
|
||||
umask 022 # make sure to give read & execute permission to all
|
||||
make install
|
||||
|
||||
6- Installation is complete. Time to clean up. From the toplevel
|
||||
directory, do "make clean".
|
||||
|
||||
7- The emacs/ subdirectory contains Emacs-Lisp files for an Objective Caml
|
||||
editing mode and an interface for the debugger. To install these
|
||||
files, change to the emacs/ subdirectory and do
|
||||
|
||||
make DEST=<directory where to install the files> install
|
||||
or
|
||||
make install
|
||||
|
||||
In the latter case, the destination directory defaults to the
|
||||
"site-lisp" directory of your Emacs installation.
|
||||
|
||||
|
||||
IF SOMETHING GOES WRONG:
|
||||
|
||||
|
@ -155,7 +164,7 @@ pinpoint the problem.
|
|||
COMMON PROBLEMS:
|
||||
|
||||
* The Makefiles use the "include" directive, which is not supported by
|
||||
all versions of make. Use GNU make instead.
|
||||
all versions of make. Use GNU make if this is a problem.
|
||||
|
||||
* The Makefiles assume that make execute commands by calling /bin/sh. They
|
||||
won't work if /bin/csh is called instead. You may have to unset the SHELL
|
||||
|
|
19
Makefile
19
Makefile
|
@ -84,7 +84,8 @@ PERVASIVES=arg array char digest filename format gc hashtbl lexing list map \
|
|||
stack string stream sys oo genlex topdirs
|
||||
|
||||
# Recompile the system using the bootstrap compiler
|
||||
all: runtime ocamlc ocamllex ocamlyacc ocamltools library ocaml otherlibraries
|
||||
all: runtime ocamlc ocamllex ocamlyacc ocamltools library ocaml \
|
||||
otherlibraries $(DEBUGGER)
|
||||
|
||||
# The compilation of ocaml will fail if the runtime has changed.
|
||||
# Never mind, just do make bootstrap to reach fixpoint again.
|
||||
|
@ -186,6 +187,7 @@ install:
|
|||
cd man; for i in *.m; do cp $$i $(MANDIR)/`basename $$i .m`.$(MANEXT); done
|
||||
for i in $(OTHERLIBRARIES); do (cd otherlibs/$$i; $(MAKE) install); done
|
||||
if test -f ocamlopt; then $(MAKE) installopt; else :; fi
|
||||
if test -f debugger/ocamldebug; then (cd debugger; $(MAKE) install); else :; fi
|
||||
|
||||
# Installation of the native-code compiler
|
||||
installopt:
|
||||
|
@ -281,9 +283,9 @@ beforedepend:: parsing/linenum.ml
|
|||
|
||||
# ocamlc.opt: $(COMPOBJS:.cmo=.cmx)
|
||||
# $(CAMLOPT) $(LINKFLAGS) -o ocamlc.opt $(COMPOBJS:.cmo=.cmx)
|
||||
|
||||
partialclean::
|
||||
rm -f ocamlc.opt
|
||||
#
|
||||
#partialclean::
|
||||
# rm -f ocamlc.opt
|
||||
|
||||
# The native-code compiler compiled with itself
|
||||
|
||||
|
@ -438,6 +440,15 @@ clean::
|
|||
alldepend::
|
||||
for i in $(OTHERLIBRARIES); do (cd otherlibs/$$i; $(MAKE) depend); done
|
||||
|
||||
# The replay debugger
|
||||
|
||||
ocamldebugger:
|
||||
cd debugger; $(MAKE) all
|
||||
partialclean::
|
||||
cd debugger; $(MAKE) clean
|
||||
alldepend::
|
||||
cd debugger; $(MAKE) depend
|
||||
|
||||
# Default rules
|
||||
|
||||
.SUFFIXES: .ml .mli .cmo .cmi .cmx
|
||||
|
|
5
README
5
README
|
@ -24,7 +24,8 @@ compiler currently runs on the following platforms:
|
|||
Sparc processors: Sun Sparcstation under SunOS 4.1, Solaris 2, NetBSD
|
||||
Intel 486 and Pentium processors: PCs under Linux, NextStep,
|
||||
FreeBSD, Solaris 2
|
||||
Mips processors: DecStation 3100 and 5000 under Ultrix 4
|
||||
Mips processors: SGI workstations and mainframes under IRIX 5 and 6,
|
||||
DecStation 3100 and 5000 under Ultrix 4
|
||||
HP PA-RISC processors: HP 9000/700 under HPUX 9 and NextStep
|
||||
PowerPC processors: IBM RS6000 and PowerPC workstations under AIX 3.2,
|
||||
PowerMacintosh under MkLinux
|
||||
|
@ -52,7 +53,9 @@ CONTENTS:
|
|||
bytecomp/ bytecode compiler and linker
|
||||
byterun/ bytecode interpreter and runtime system
|
||||
config/ autoconfiguration stuff
|
||||
debugger/ source-level replay debugger
|
||||
driver/ driver code for the compilers
|
||||
emacs/ Caml editing mode and debugger interface for GNU Emacs
|
||||
lex/ lexer generator
|
||||
parsing/ syntax analysis
|
||||
stdlib/ standard library
|
||||
|
|
|
@ -75,9 +75,8 @@ In addition to Visual C++ 4.0 and MASM 6, you will also need a healthy
|
|||
set of Unix / GNU utilities that understands long file names
|
||||
(see e.g. ftp://ftp.cc.utexas.edu/microlib/nt/gnu/).
|
||||
|
||||
The sources for the toplevel graphical user interface are currently
|
||||
not available to the general public. Contact us if you think you need
|
||||
them.
|
||||
The sources for the toplevel graphical user interface are not currently
|
||||
available to the general public. Contact us if you think you need them.
|
||||
|
||||
|
||||
RANDOM NOTES:
|
||||
|
@ -92,7 +91,7 @@ Caml.
|
|||
* Libraries available under Win32: "num", "str", "threads", "graph",
|
||||
and large parts of "unix".
|
||||
"graph" works only under the toplevel application.
|
||||
"camltk4" still requires considerable work to run under Win32.
|
||||
"camltk4" still requires some work to run under Win32.
|
||||
|
||||
|
||||
CREDITS:
|
||||
|
|
|
@ -319,11 +319,14 @@ fi
|
|||
|
||||
# For the terminfo module
|
||||
|
||||
if sh hasgot -lcurses -ltermcap tgetent tgetstr tgetnum tputs; then
|
||||
echo "termcap functions found."
|
||||
echo "#define HAS_TERMCAP" >> s.h
|
||||
cclibs="${cclibs}-lcurses -ltermcap"
|
||||
fi
|
||||
for libs in "" "-lcurses" "-ltermcap" "-lcurses -ltermcap"; do
|
||||
if sh hasgot $libs tgetent tgetstr tgetnum tputs; then
|
||||
echo "termcap functions found (with libraries '$libs')"
|
||||
echo "#define HAS_TERMCAP" >> s.h
|
||||
cclibs="${cclibs}${libs}"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# Configuration for the libraries
|
||||
|
||||
|
@ -331,13 +334,16 @@ otherlibraries="unix str num dynlink"
|
|||
|
||||
# For the Unix library
|
||||
|
||||
has_sockets=no
|
||||
if sh hasgot socket socketpair bind listen accept connect; then
|
||||
echo "You have BSD sockets."
|
||||
echo "#define HAS_SOCKETS" >> s.h
|
||||
has_sockets=yes
|
||||
elif sh hasgot -lnsl -lsocket socket socketpair bind listen accept connect; then
|
||||
echo "You have BSD sockets (with the additional libraries -lnsl -lsocket)"
|
||||
cclibs="$cclibs -lnsl -lsocket"
|
||||
echo "#define HAS_SOCKETS" >> s.h
|
||||
has_sockets=yes
|
||||
fi
|
||||
|
||||
if sh hasgot -i unistd.h; then
|
||||
|
@ -405,6 +411,7 @@ if sh hasgot truncate ftruncate; then
|
|||
echo "#define HAS_TRUNCATE" >> s.h
|
||||
fi
|
||||
|
||||
has_select=no
|
||||
if sh hasgot select; then
|
||||
echo "select() found."
|
||||
echo "#define HAS_SELECT" >> s.h
|
||||
|
@ -421,6 +428,7 @@ if sh hasgot symlink readlink lstat; then
|
|||
echo "#define HAS_SYMLINK" >> s.h
|
||||
fi
|
||||
|
||||
has_wait=no
|
||||
if sh hasgot waitpid; then
|
||||
echo "waitpid() found."
|
||||
echo "#define HAS_WAITPID" >> s.h
|
||||
|
@ -456,6 +464,7 @@ if $testasyncio && sh runtest async_io.c; then
|
|||
echo "#define HAS_ASYNC_IO" >> s.h
|
||||
fi
|
||||
|
||||
has_setitimer=no
|
||||
if sh hasgot setitimer; then
|
||||
echo "setitimer() found."
|
||||
echo "#define HAS_SETITIMER" >> s.h
|
||||
|
@ -472,6 +481,7 @@ if sh hasgot -i sys/utsname.h && sh hasgot uname; then
|
|||
echo "#define HAS_UNAME" >> s.h
|
||||
fi
|
||||
|
||||
has_gettimeofday=no
|
||||
if sh hasgot gettimeofday; then
|
||||
echo "gettimeofday() found."
|
||||
echo "#define HAS_GETTIMEOFDAY" >> s.h
|
||||
|
@ -488,6 +498,16 @@ if sh hasgot setsid; then
|
|||
echo "#define HAS_SETSID" >> s.h
|
||||
fi
|
||||
|
||||
# Determine if the debugger is supported
|
||||
|
||||
if test "$has_sockets" = "yes"; then
|
||||
echo "Replay debugger supported."
|
||||
debugger="ocamldebugger"
|
||||
else
|
||||
echo "No replay debugger (missing system calls)"
|
||||
debugger=""
|
||||
fi
|
||||
|
||||
# Determine the target architecture for the "num" library
|
||||
|
||||
case "$host" in
|
||||
|
@ -585,6 +605,7 @@ fi
|
|||
cclibs="$cclibs -lm"
|
||||
echo "CCLIBS=$cclibs" >> Makefile
|
||||
echo "OTHERLIBRARIES=$otherlibraries" >> Makefile
|
||||
echo "DEBUGGER=$debugger" >> Makefile
|
||||
|
||||
rm -f tst hasgot.c
|
||||
rm -f ../m.h ../s.h ../Makefile
|
||||
|
@ -624,6 +645,12 @@ else
|
|||
echo " preprocessed assembler ... $aspp $asppflags"
|
||||
fi
|
||||
|
||||
if test "$debugger" = "ocamldebugger"; then
|
||||
echo "Source-level replay debugger: supported"
|
||||
else
|
||||
echo "Source-level replay debugger: not supported"
|
||||
fi
|
||||
|
||||
echo "Configuration for the external libraries:"
|
||||
echo " libraries supported....... $otherlibraries"
|
||||
|
||||
|
|
Loading…
Reference in New Issue