Renommage des compilateurs de bootstrap

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@389 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
master
Xavier Leroy 1995-11-02 14:09:42 +00:00
parent bf74ce3ea5
commit 50016eb5d5
20 changed files with 118 additions and 118 deletions

100
Makefile
View File

@ -3,16 +3,16 @@
include config/Makefile.h
include Makefile.config
CAMLC=boot/camlrun boot/camlc -I boot
CAMLOPT=boot/camlrun ./camlopt -I stdlib
CAMLC=boot/cslrun boot/cslc -I boot
CAMLOPT=boot/cslrun ./cslopt -I stdlib
COMPFLAGS=$(INCLUDES)
LINKFLAGS=
CAMLYACC=boot/camlyacc
CAMLYACC=boot/cslyacc
YACCFLAGS=
CAMLLEX=boot/camlrun boot/camllex
CAMLDEP=boot/camlrun tools/camldep
CAMLLEX=boot/cslrun boot/csllex
CAMLDEP=boot/cslrun tools/csldep
DEPFLAGS=$(INCLUDES)
CAMLRUN=byterun/camlrun
CAMLRUN=byterun/cslrun
INCLUDES=-I utils -I parsing -I typing -I bytecomp -I asmcomp -I driver -I toplevel
@ -80,9 +80,9 @@ PERVASIVES=arg array char digest filename format gc hashtbl lexing list map \
stack string sys
# Recompile the system using the bootstrap compiler
all: runtime camlc camllex camlyacc camltools library camltop
all: runtime cslc csllex cslyacc csltools library csltop
# The compilation of camltop will fail if the runtime has changed.
# The compilation of csltop will fail if the runtime has changed.
# Never mind, just do make bootstrap to reach fixpoint again.
# Compile everything the first time
@ -93,16 +93,16 @@ bootstrap:
# Save the original bootstrap compiler
$(MAKE) backup
# Promote the new compiler but keep the old runtime
# This compiler runs on boot/camlrun and produces bytecode for byterun/camlrun
# This compiler runs on boot/cslrun and produces bytecode for byterun/cslrun
$(MAKE) promote-cross
# Rebuild camlc and camllex (run on byterun/camlrun)
# Rebuild cslc and csllex (run on byterun/cslrun)
$(MAKE) clean
$(MAKE) camlc camllex
# Rebuild the library (using byterun/camlrun ./camlc)
$(MAKE) cslc csllex
# Rebuild the library (using byterun/cslrun ./cslc)
$(MAKE) library-cross
# Promote the new compiler and the new runtime
$(MAKE) promote
# Rebuild everything, including camltop and the tools
# Rebuild everything, including csltop and the tools
$(MAKE) clean
$(MAKE) all
# Check if fixpoint reached
@ -113,10 +113,10 @@ LIBFILES=stdlib.cma std_exit.cmo *.cmi cslheader
# Start up the system from the distribution compiler
coldstart:
cd byterun; $(MAKE) all
cp byterun/camlrun boot/camlrun
cp byterun/cslrun boot/cslrun
cd yacc; $(MAKE) all
cp yacc/camlyacc boot/camlyacc
cd stdlib; $(MAKE) COMPILER=../boot/camlc all
cp yacc/cslyacc boot/cslyacc
cd stdlib; $(MAKE) COMPILER=../boot/cslc all
cd stdlib; cp $(LIBFILES) ../boot
# Save the current bootstrap compiler
@ -125,22 +125,22 @@ backup:
mv boot/Saved boot/Saved.prev
mkdir boot/Saved
mv boot/Saved.prev boot/Saved/Saved.prev
cp boot/camlrun boot/Saved
mv boot/camlc boot/camllex boot/camlyacc boot/Saved
cp boot/cslrun boot/Saved
mv boot/cslc boot/csllex boot/cslyacc boot/Saved
cd boot; cp $(LIBFILES) Saved
# Promote the newly compiled system to the rank of cross compiler
# (Runs on the old runtime, produces code for the new runtime)
promote-cross:
cp camlc boot/camlc
cp lex/camllex boot/camllex
cp yacc/camlyacc boot/camlyacc
cp cslc boot/cslc
cp lex/csllex boot/csllex
cp yacc/cslyacc boot/cslyacc
cd stdlib; cp $(LIBFILES) ../boot
# Promote the newly compiled system to the rank of bootstrap compiler
# (Runs on the new runtime, produces code for the new runtime)
promote: promote-cross
cp byterun/camlrun boot/camlrun
cp byterun/cslrun boot/cslrun
# Restore the saved bootstrap compiler if a problem arises
restore:
@ -150,7 +150,7 @@ restore:
# Check if fixpoint reached
compare:
@if cmp boot/camlc camlc && cmp boot/camllex lex/camllex; \
@if cmp boot/cslc cslc && cmp boot/csllex lex/csllex; \
then echo "Fixpoint reached, bootstrap succeeded."; \
else echo "Fixpoint not reached, try one more bootstrapping cycle."; \
fi
@ -160,7 +160,7 @@ cleanboot:
rm -rf boot/Saved/Saved.prev/*
# Compile the native-code compiler
opt: runtimeopt camlopt libraryopt
opt: runtimeopt cslopt libraryopt
# Installation
install:
@ -168,11 +168,11 @@ install:
if test -d $(LIBDIR); then : ; else mkdir $(LIBDIR); fi
if test -d $(MANDIR); then : ; else mkdir $(MANDIR); fi
cd byterun; $(MAKE) install
cp camlc $(BINDIR)/cslc
cp camltop $(BINDIR)/csltop
cp cslc $(BINDIR)/cslc
cp csltop $(BINDIR)/csltop
cd stdlib; $(MAKE) install
cp lex/camllex $(BINDIR)/csllex
cp yacc/camlyacc $(BINDIR)/cslyacc
cp lex/csllex $(BINDIR)/csllex
cp yacc/cslyacc $(BINDIR)/cslyacc
$(CAMLC) -a -o $(LIBDIR)/toplevellib.cma $(TOPLIB)
cp toplevel/topmain.cmo $(LIBDIR)
cp toplevel/toploop.cmi toplevel/topdirs.cmi $(LIBDIR)
@ -181,36 +181,36 @@ install:
# Installation of the native-code compiler
installopt:
cd asmrun; $(MAKE) install
cp camlopt $(BINDIR)/cslopt
cp cslopt $(BINDIR)/cslopt
cd stdlib; $(MAKE) installopt
realclean:: clean
# The compiler
camlc: $(COMPOBJS)
$(CAMLC) $(LINKFLAGS) -o camlc $(COMPOBJS)
cslc: $(COMPOBJS)
$(CAMLC) $(LINKFLAGS) -o cslc $(COMPOBJS)
clean::
rm -f camlc
rm -f cslc
# The native-code compiler
camlopt: $(OPTOBJS)
$(CAMLC) $(LINKFLAGS) -o camlopt $(OPTOBJS)
cslopt: $(OPTOBJS)
$(CAMLC) $(LINKFLAGS) -o cslopt $(OPTOBJS)
clean::
rm -f camlopt
rm -f cslopt
# The toplevel
camltop: $(TOPOBJS) expunge
$(CAMLC) $(LINKFLAGS) -linkall -o camltop.tmp $(TOPOBJS)
- $(CAMLRUN) ./expunge camltop.tmp camltop $(PERVASIVES)
rm -f camltop.tmp
csltop: $(TOPOBJS) expunge
$(CAMLC) $(LINKFLAGS) -linkall -o csltop.tmp $(TOPOBJS)
- $(CAMLRUN) ./expunge csltop.tmp csltop $(PERVASIVES)
rm -f csltop.tmp
clean::
rm -f camltop
rm -f csltop
# The configuration file
@ -254,19 +254,19 @@ beforedepend:: parsing/lexer.ml
# Currently not working because it requires C primitives from byterun/meta.c
# which are not provided by asmrun/libasmrun.a
# camlc.opt: $(COMPOBJS:.cmo=.cmx)
# $(CAMLOPT) $(LINKFLAGS) -o camlc.opt $(COMPOBJS:.cmo=.cmx)
# cslc.opt: $(COMPOBJS:.cmo=.cmx)
# $(CAMLOPT) $(LINKFLAGS) -o cslc.opt $(COMPOBJS:.cmo=.cmx)
clean::
rm -f camlc.opt
rm -f cslc.opt
# The native-code compiler compiled with itself
camlopt.opt: $(OPTOBJS:.cmo=.cmx)
$(CAMLOPT) $(LINKFLAGS) -o camlopt.opt $(OPTOBJS:.cmo=.cmx)
cslopt.opt: $(OPTOBJS:.cmo=.cmx)
$(CAMLOPT) $(LINKFLAGS) -o cslopt.opt $(OPTOBJS:.cmo=.cmx)
clean::
rm -f camlopt.opt
rm -f cslopt.opt
# The numeric opcodes
@ -360,7 +360,7 @@ alldepend::
library:
cd stdlib; $(MAKE) all
library-cross:
cd stdlib; $(MAKE) RUNTIME=../byterun/camlrun all
cd stdlib; $(MAKE) RUNTIME=../byterun/cslrun all
libraryopt:
cd stdlib; $(MAKE) allopt
clean::
@ -370,21 +370,21 @@ alldepend::
# The lexer and parser generators
camllex:
csllex:
cd lex; $(MAKE) all
clean::
cd lex; $(MAKE) clean
alldepend::
cd lex; $(MAKE) depend
camlyacc:
cslyacc:
cd yacc; $(MAKE) all
realclean::
cd yacc; $(MAKE) clean
# Tools
camltools:
csltools:
cd tools; $(MAKE) all
realclean::
cd tools; $(MAKE) clean

Binary file not shown.

View File

@ -16,16 +16,16 @@ PRIMS=array.c compare.c extern.c floats.c gc_ctrl.c hash.c \
intern.c interp.c ints.c io.c md5.c meta.c obj.c parsing.c \
signals.c str.c sys.c terminfo.c
all: camlrun
all: cslrun
camlrun: $(OBJS) prims.o
$(BYTECC) $(BYTECCCOMPOPTS) $(BYTECCLINKOPTS) $(LOWADDRESSES) -o camlrun prims.o $(OBJS) $(CCLIBS)
cslrun: $(OBJS) prims.o
$(BYTECC) $(BYTECCCOMPOPTS) $(BYTECCLINKOPTS) $(LOWADDRESSES) -o cslrun prims.o $(OBJS) $(CCLIBS)
camlrund: $(DOBJS) prims.o
$(BYTECC) -g $(BYTECCCOMPOPTS) $(BYTECCLINKOPTS) $(LOWADDRESSES) -o camlrund prims.o $(DOBJS) $(CCLIBS)
cslrund: $(DOBJS) prims.o
$(BYTECC) -g $(BYTECCCOMPOPTS) $(BYTECCLINKOPTS) $(LOWADDRESSES) -o cslrund prims.o $(DOBJS) $(CCLIBS)
install:
cp camlrun $(BINDIR)/cslrun
cp cslrun $(BINDIR)/cslrun
rm -f $(LIBDIR)/libcamlrun.a
ar rc $(LIBDIR)/libcamlrun.a $(OBJS)
cd $(LIBDIR); $(RANLIB) libcamlrun.a
@ -39,7 +39,7 @@ install:
-e '/Modify/,/^}/d' memory.h > $(LIBDIR)/caml/memory.h
clean:
rm -f camlrun camlrund *.o *.a
rm -f cslrun cslrund *.o *.a
rm -f primitives prims.c opnames.h jumptbl.h
primitives : $(PRIMS)

View File

@ -1,24 +1,24 @@
# The lexer generator
CAMLC=../boot/camlrun ../boot/camlc -I ../boot
CAMLC=../boot/cslrun ../boot/cslc -I ../boot
COMPFLAGS=
LINKFLAGS=
CAMLYACC=../boot/camlyacc
CAMLYACC=../boot/cslyacc
YACCFLAGS=
CAMLLEX=../boot/camlrun ../boot/camllex
CAMLDEP=../boot/camlrun ../tools/camldep
CAMLLEX=../boot/cslrun ../boot/csllex
CAMLDEP=../boot/cslrun ../tools/csldep
DEPFLAGS=
OBJS=syntax.cmo parser.cmo lexer.cmo lexgen.cmo output.cmo main.cmo
all: camllex
all: csllex
camllex: $(OBJS)
$(CAMLC) $(LINKFLAGS) -o camllex $(OBJS)
csllex: $(OBJS)
$(CAMLC) $(LINKFLAGS) -o csllex $(OBJS)
clean::
rm -f camllex
rm -f *.cmo *.cmi camllex
rm -f csllex
rm -f *.cmo *.cmi csllex
parser.ml parser.mli: parser.mly
$(CAMLYACC) $(YACCFLAGS) parser.mly

View File

@ -2,12 +2,12 @@
include ../../Makefile.config
CAMLC=../../boot/camlrun ../../boot/camlc
CAMLC=../../boot/cslrun ../../boot/cslc
INCLUDES=-I ../../utils -I ../../typing -I ../../bytecomp
COMPFLAGS=-I ../../boot $(INCLUDES)
OBJS=dynlink.cmo
COMPILEROBJS=misc.cmo tbl.cmo clflags.cmo config.cmo digest.cmo ident.cmo \
COMPILEROBJS=misc.cmo tbl.cmo clflags.cmo config.cmo ident.cmo \
predef.cmo runtimedef.cmo symtable.cmo opcodes.cmo
all: dynlink.cma extract_crc
@ -33,6 +33,6 @@ clean:
$(CAMLC) -c $(COMPFLAGS) $<
depend:
../../tools/camldep *.mli *.ml > .depend
../../tools/csldep *.mli *.ml > .depend
include .depend

View File

@ -5,7 +5,7 @@ include ../../Makefile.config
CC=$(BYTECC)
CFLAGS=-I../../byterun -O $(BYTECCCOMPOPTS)
CAMLC=../../boot/camlrun ../../boot/camlc -I ../../boot
CAMLC=../../boot/cslrun ../../boot/cslc -I ../../boot
OBJS=open.o draw.o fill.o color.o text.o \
image.o make_img.o dump_img.o point_col.o sound.o events.o
@ -37,6 +37,6 @@ install:
depend:
gcc -MM $(CFLAGS) *.c > .depend
../../tools/camldep *.mli *.ml >> .depend
../../tools/csldep *.mli *.ml >> .depend
include .depend

View File

@ -5,8 +5,8 @@ include ../../Makefile.config
# Compilation options
CC=$(BYTECC)
CFLAGS=-O -I$(REGEXLIB) -I../../byterun $(BYTECCCOMPOPTS)
CAMLC=../../boot/camlrun ../../boot/camlc -I ../../boot
CAMLOPT=../../boot/camlrun ../../camlopt -I ../../stdlib
CAMLC=../../boot/cslrun ../../boot/cslc -I ../../boot
CAMLOPT=../../boot/cslrun ../../cslopt -I ../../stdlib
REGEXLIB=regex-0.12
COBJS=strstubs.o $(REGEXLIB)/regex.o
@ -29,7 +29,7 @@ $(REGEXLIB)/regex.o: $(REGEXLIB)/regex.c $(REGEXLIB)/regex.h
cd $(REGEXLIB); CC="$(CC)" sh configure; make
clean:
rm -f libstr.a *.o *.cm* camlstr
rm -f libstr.a *.o *.cm* cslstr
cd $(REGEXLIB); if test -f Makefile; then make distclean; else exit 0; fi
install:
@ -54,6 +54,6 @@ installopt:
depend:
gcc -MM $(CFLAGS) *.c > .depend
../../tools/camldep *.mli *.ml >> .depend
../../tools/csldep *.mli *.ml >> .depend
include .depend

View File

@ -3,7 +3,7 @@ include ../../Makefile.config
# Compilation options
CC=$(BYTECC)
CFLAGS=-I../../byterun -O $(BYTECCCOMPOPTS)
CAMLC=../../boot/camlrun ../../boot/camlc -I ../../boot -I ../unix
CAMLC=../../boot/cslrun ../../boot/cslc -I ../../boot -I ../unix
C_OBJS=scheduler.o
CAML_OBJS=thread.cmo threadIO.cmo
@ -39,6 +39,6 @@ install:
depend:
gcc -MM $(CFLAGS) *.c > .depend
../../tools/camldep *.mli *.ml >> .depend
../../tools/csldep *.mli *.ml >> .depend
include .depend

View File

@ -5,8 +5,8 @@ include ../../Makefile.config
# Compilation options
CC=$(BYTECC)
CFLAGS=-I../../byterun -O $(BYTECCCOMPOPTS)
CAMLC=../../boot/camlrun ../../boot/camlc -I ../../boot
CAMLOPT=../../boot/camlrun ../../camlopt -I ../../stdlib
CAMLC=../../boot/cslrun ../../boot/cslc -I ../../boot
CAMLOPT=../../boot/cslrun ../../cslopt -I ../../stdlib
OBJS=accept.o access.o addrofstr.o alarm.o bind.o chdir.o chmod.o \
chown.o chroot.o close.o closedir.o connect.o cst2constr.o cstringv.o \
@ -63,6 +63,6 @@ installopt:
depend:
gcc -MM $(CFLAGS) *.c > .depend
../../tools/camldep *.mli *.ml >> .depend
../../tools/csldep *.mli *.ml >> .depend
include .depend

View File

@ -22,7 +22,7 @@
value unix_getcwd() /* ML */
{
char buff[MAXPATHLEN];
if (getcwd(buff, sizeof(buff)) == 0) uerror("getcwd", NULL);
if (getcwd(buff, sizeof(buff)) == 0) uerror("getcwd", Nothing);
return copy_string(buff);
}

View File

@ -1,11 +1,11 @@
include ../Makefile.config
RUNTIME=../boot/camlrun
COMPILER=../camlc
RUNTIME=../boot/cslrun
COMPILER=../cslc
CAMLC=$(RUNTIME) $(COMPILER)
OPTCOMPILER=../camlopt
OPTCOMPILER=../cslopt
CAMLOPT=$(RUNTIME) $(OPTCOMPILER)
CAMLDEP=../boot/camlrun ../tools/camldep
CAMLDEP=../boot/cslrun ../tools/csldep
OBJS=pervasives.cmo list.cmo string.cmo char.cmo array.cmo sys.cmo \
hashtbl.cmo sort.cmo filename.cmo obj.cmo lexing.cmo parsing.cmo \

View File

@ -1,10 +1,10 @@
CAMLC=../boot/camlrun ../camlc -I ../stdlib -I KB -I Lex
CAMLOPT=../boot/camlrun ../camlopt -I ../stdlib -I KB -I Lex
CAMLC=../boot/cslrun ../cslc -I ../stdlib -I KB -I Lex
CAMLOPT=../boot/cslrun ../cslopt -I ../stdlib -I KB -I Lex
OPTFLAGS=-S
CAMLYACC=../yacc/camlyacc
CAMLLEX=../boot/camlrun ../lex/camllex
CAMLDEP=../boot/camlrun ../tools/camldep
CAMLRUN=../byterun/camlrun
CAMLYACC=../yacc/cslyacc
CAMLLEX=../boot/cslrun ../lex/csllex
CAMLDEP=../boot/cslrun ../tools/csldep
CAMLRUN=../byterun/cslrun
CODERUNPARAMS=CAMLRUNPARAM='o=100'
BYTE_EXE=fib.byt takc.byt taku.byt sieve.byt quicksort.byt quicksort.fast.byt \
@ -88,9 +88,9 @@ beforedepend:: Lex/scanner.ml
.ml.cmx:
$(CAMLOPT) $(OPTFLAGS) -c $<
$(BYTE_EXE) $(BYTE_KB) $(BYTE_GENLEX): ../camlc
$(BYTE_EXE) $(BYTE_KB) $(BYTE_GENLEX): ../cslc
$(BYTE_EXE): ../stdlib/stdlib.cma
$(CODE_EXE) $(CODE_KB) $(CODE_GENLEX): ../camlopt
$(CODE_EXE) $(CODE_KB) $(CODE_GENLEX): ../cslopt
$(CODE_EXE): ../stdlib/stdlib.cmxa ../stdlib/libasmrun.a
clean::

View File

@ -1,14 +1,14 @@
include ../Makefile.config
CAMLC=../boot/camlrun ../boot/camlc -I ../boot
CAMLC=../boot/cslrun ../boot/cslc -I ../boot
COMPFLAGS=$(INCLUDES)
LINKFLAGS=
CAMLYACC=../boot/camlyacc
CAMLYACC=../boot/cslyacc
YACCFLAGS=
CAMLLEX=../boot/camlrun ../boot/camllex
CAMLDEP=../boot/camlrun ../tools/camldep
CAMLLEX=../boot/cslrun ../boot/csllex
CAMLDEP=../boot/cslrun ../tools/csldep
DEPFLAGS=$(INCLUDES)
CAMLRUN=../boot/camlrun
CAMLRUN=../boot/cslrun
CODEGEN=./codegen
CFLAGS=-g

View File

@ -1,34 +1,34 @@
include ../Makefile.config
CAMLRUN=../boot/camlrun
CAMLC=$(CAMLRUN) ../boot/camlc -I ../boot
CAMLLEX=$(CAMLRUN) ../boot/camllex
CAMLRUN=../boot/cslrun
CAMLC=$(CAMLRUN) ../boot/cslc -I ../boot
CAMLLEX=$(CAMLRUN) ../boot/csllex
INCLUDES=-I ../utils -I ../parsing -I ../typing -I ../bytecomp -I ../asmcomp
COMPFLAGS=$(INCLUDES)
LINKFLAGS=$(INCLUDES)
all: camldep cslprof
all: csldep cslprof
# The dependency generator
CAMLDEP=camldep.cmo
CAMLDEP=csldep.cmo
camldep: $(CAMLDEP)
$(CAMLC) $(LINKFLAGS) -o camldep misc.cmo $(CAMLDEP)
csldep: $(CAMLDEP)
$(CAMLC) $(LINKFLAGS) -o csldep misc.cmo $(CAMLDEP)
clean::
rm -f camldep
rm -f csldep
camldep.ml: camldep.mll
$(CAMLLEX) camldep.mll
csldep.ml: csldep.mll
$(CAMLLEX) csldep.mll
clean::
rm -f camldep.ml
rm -f csldep.ml
install::
cp camldep $(BINDIR)/csldep
cp csldep $(BINDIR)/csldep
beforedepend:: camldep
beforedepend:: csldep
# The profiler
@ -49,7 +49,7 @@ clean::
# To make custom toplevels
install::
cp camlmktop $(BINDIR)/cslmktop
cp cslmktop $(BINDIR)/cslmktop
# The bytecode disassembler
@ -105,6 +105,6 @@ clean::
rm -f *.cmo *.cmi
depend: beforedepend
$(CAMLRUN) ./camldep $(INCLUDES) *.mli *.ml > .depend
$(CAMLRUN) ./csldep $(INCLUDES) *.mli *.ml > .depend
include .depend

View File

@ -19,7 +19,7 @@ let native_c_compiler = "%%NATIVECC%%"
let c_libraries = "%%CCLIBS%%"
let version = "1.08"
let version = "1.10"
let exec_magic_number = "Caml1999X001"
and cmi_magic_number = "Caml1999I002"

View File

@ -8,13 +8,13 @@ CFLAGS=-O -DNDEBUG $(BYTECCCOMPOPTS)
OBJS= closure.o error.o lalr.o lr0.o main.o mkpar.o output.o reader.o \
skeleton.o symtab.o verbose.o warshall.o
all: camlyacc
all: cslyacc
camlyacc: $(OBJS)
$(CC) $(CFLAGS) $(CCLINKFLAGS) -o camlyacc $(OBJS)
cslyacc: $(OBJS)
$(CC) $(CFLAGS) $(CCLINKFLAGS) -o cslyacc $(OBJS)
clean:
rm -f *.o camlyacc *~
rm -f *.o cslyacc *~
depend: