Ne pas compiler les versions profile des bibliotheques sur les machines qui n'implementent pas ocamlopt -p

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2160 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
master
Xavier Leroy 1998-11-06 15:39:18 +00:00
parent fcf69c6f8d
commit 7fd3559990
5 changed files with 200 additions and 9 deletions

View File

@ -286,3 +286,147 @@ weak.d.o: weak.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
../byterun/minor_gc.h
alloc.p.o: alloc.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
../byterun/memory.h ../byterun/gc.h ../byterun/minor_gc.h \
../byterun/stacks.h
array.p.o: array.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
../byterun/minor_gc.h
callback.p.o: callback.c ../byterun/callback.h ../byterun/mlvalues.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/misc.h ../byterun/memory.h ../byterun/gc.h \
../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h
compact.p.o: compact.c ../byterun/config.h ../byterun/../config/m.h \
../byterun/../config/s.h ../byterun/freelist.h ../byterun/misc.h \
../byterun/mlvalues.h ../byterun/gc.h ../byterun/gc_ctrl.h \
../byterun/major_gc.h ../byterun/memory.h ../byterun/minor_gc.h \
../byterun/roots.h ../byterun/weak.h
compare.p.o: compare.c ../byterun/fail.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/memory.h ../byterun/gc.h \
../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h
extern.p.o: extern.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/gc.h \
../byterun/intext.h ../byterun/io.h ../byterun/memory.h \
../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
../byterun/reverse.h
fail.p.o: fail.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/io.h \
../byterun/gc.h ../byterun/memory.h ../byterun/major_gc.h \
../byterun/freelist.h ../byterun/minor_gc.h ../byterun/signals.h \
stack.h ../byterun/roots.h
floats.p.o: floats.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
../byterun/minor_gc.h ../byterun/stacks.h
freelist.p.o: freelist.c ../byterun/config.h ../byterun/../config/m.h \
../byterun/../config/s.h ../byterun/freelist.h ../byterun/misc.h \
../byterun/mlvalues.h ../byterun/gc.h ../byterun/gc_ctrl.h \
../byterun/major_gc.h
gc_ctrl.p.o: gc_ctrl.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/compact.h ../byterun/gc.h \
../byterun/gc_ctrl.h ../byterun/major_gc.h ../byterun/freelist.h \
../byterun/minor_gc.h ../byterun/stacks.h ../byterun/memory.h
hash.p.o: hash.c ../byterun/mlvalues.h ../byterun/config.h \
../byterun/../config/m.h ../byterun/../config/s.h ../byterun/misc.h \
../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
../byterun/freelist.h ../byterun/minor_gc.h
intern.p.o: intern.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/gc.h \
../byterun/intext.h ../byterun/io.h ../byterun/memory.h \
../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
../byterun/reverse.h ../byterun/md5.h
ints.p.o: ints.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
../byterun/minor_gc.h
io.p.o: io.c ../byterun/config.h ../byterun/../config/m.h \
../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/io.h \
../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
../byterun/freelist.h ../byterun/minor_gc.h ../byterun/signals.h \
../byterun/sys.h
lexing.p.o: lexing.c ../byterun/fail.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/stacks.h ../byterun/memory.h \
../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
../byterun/minor_gc.h
main.p.o: main.c ../byterun/misc.h ../byterun/config.h \
../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/sys.h
major_gc.p.o: major_gc.c ../byterun/compact.h ../byterun/config.h \
../byterun/../config/m.h ../byterun/../config/s.h ../byterun/misc.h \
../byterun/fail.h ../byterun/mlvalues.h ../byterun/freelist.h \
../byterun/gc.h ../byterun/gc_ctrl.h ../byterun/major_gc.h \
../byterun/roots.h ../byterun/memory.h ../byterun/minor_gc.h \
../byterun/weak.h
md5.p.o: md5.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/md5.h \
../byterun/io.h ../byterun/reverse.h
memory.p.o: memory.c ../byterun/fail.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/freelist.h ../byterun/gc.h \
../byterun/gc_ctrl.h ../byterun/major_gc.h ../byterun/memory.h \
../byterun/minor_gc.h ../byterun/signals.h
minor_gc.p.o: minor_gc.c ../byterun/config.h ../byterun/../config/m.h \
../byterun/../config/s.h ../byterun/fail.h ../byterun/misc.h \
../byterun/mlvalues.h ../byterun/gc.h ../byterun/gc_ctrl.h \
../byterun/major_gc.h ../byterun/freelist.h ../byterun/memory.h \
../byterun/minor_gc.h ../byterun/roots.h ../byterun/signals.h
misc.p.o: misc.c ../byterun/config.h ../byterun/../config/m.h \
../byterun/../config/s.h ../byterun/misc.h
obj.p.o: obj.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/gc.h \
../byterun/major_gc.h ../byterun/freelist.h ../byterun/memory.h \
../byterun/minor_gc.h ../byterun/prims.h
parsing.p.o: parsing.c ../byterun/config.h ../byterun/../config/m.h \
../byterun/../config/s.h ../byterun/mlvalues.h ../byterun/misc.h \
../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
../byterun/freelist.h ../byterun/minor_gc.h ../byterun/alloc.h
printexc.p.o: printexc.c ../byterun/fail.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h
roots.p.o: roots.c ../byterun/memory.h ../byterun/config.h \
../byterun/../config/m.h ../byterun/../config/s.h ../byterun/gc.h \
../byterun/mlvalues.h ../byterun/misc.h ../byterun/major_gc.h \
../byterun/freelist.h ../byterun/minor_gc.h stack.h \
../byterun/roots.h
signals.p.o: signals.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/callback.h ../byterun/memory.h \
../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
../byterun/minor_gc.h ../byterun/fail.h ../byterun/signals.h stack.h \
../byterun/sys.h
startup.p.o: startup.c ../byterun/fail.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/gc.h ../byterun/gc_ctrl.h \
../byterun/sys.h
str.p.o: str.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/fail.h
sys.p.o: sys.c ../byterun/config.h ../byterun/../config/m.h \
../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
../byterun/mlvalues.h ../byterun/debugger.h ../byterun/fail.h \
../byterun/instruct.h ../byterun/signals.h ../byterun/stacks.h \
../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
../byterun/freelist.h ../byterun/minor_gc.h ../byterun/sys.h
terminfo.p.o: terminfo.c ../byterun/config.h ../byterun/../config/m.h \
../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/io.h
weak.p.o: weak.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
../byterun/minor_gc.h

View File

@ -4,7 +4,7 @@ CC=$(NATIVECC)
FLAGS=-I../byterun -DNATIVE_CODE -DTARGET_$(ARCH) -DSYS_$(SYSTEM)
CFLAGS=$(FLAGS) -O $(NATIVECCCOMPOPTS)
DFLAGS=$(FLAGS) -g -DDEBUG $(NATIVECCCOMPOPTS)
PFLAGS=$(FLAGS) -pg -DPROFILING $(NATIVECCCOMPOPTS)
PFLAGS=$(FLAGS) -pg -O -DPROFILING $(NATIVECCCOMPOPTS)
COBJS=startup.o main.o fail.o roots.o signals.o \
misc.o freelist.o major_gc.o minor_gc.o memory.o alloc.o compare.o ints.o \
@ -18,7 +18,7 @@ OBJS=$(COBJS) $(ASMOBJS)
DOBJS=$(COBJS:.o=.d.o) $(ASMOBJS)
POBJS=$(COBJS:.o=.p.o) $(ASMOBJS:.o=.p.o)
all: libasmrun.a libasmrunp.a
all: libasmrun.a all-$(PROFILING)
libasmrun.a: $(OBJS)
rm -f libasmrun.a
@ -30,14 +30,27 @@ libasmrund.a: $(DOBJS)
ar rc libasmrund.a $(DOBJS)
$(RANLIB) libasmrund.a
all-noprof:
all-prof: libasmrunp.a
libasmrunp.a: $(POBJS)
rm -f libasmrunp.a
ar rc libasmrunp.a $(POBJS)
$(RANLIB) libasmrunp.a
install:
cp libasmrun.a libasmrunp.a $(LIBDIR)
cd $(LIBDIR); $(RANLIB) libasmrun.a libasmrunp.a
install: install-default install-$(PROFILING)
install-default:
cp libasmrun.a $(LIBDIR)/libasmrun.a
cd $(LIBDIR); $(RANLIB) libasmrun.a
install-noprof:
ln -s libasmrun.a $(LIBDIR)/libasmrunp.a
install-prof:
cp libasmrunp.a $(LIBDIR)/libasmrunp.a
cd $(LIBDIR); $(RANLIB) libasmrunp.a
power.o: power-$(SYSTEM).o
cp power-$(SYSTEM).o power.o
@ -136,6 +149,7 @@ clean::
depend: $(COBJS:.o=.c)
gcc -MM $(FLAGS) *.c > .depend
gcc -MM $(FLAGS) -DDEBUG *.c | sed -e 's/\.o/.d.o/' >> .depend
gcc -MM $(FLAGS) -DDEBUG *.c | sed -e 's/\.o/.p.o/' >> .depend
include .depend

View File

@ -172,6 +172,12 @@ SHARPBANGSCRIPTS=true
# Otherwise:
#ASPPPROFFLAGS=-DPROFILING
### Whether profiling with gprof is supported
# If yes: (x86/Linux, Alpha/Digital Unix):
#PROFILING=prof
# If no: (all others)
#PROFILING=noprof
############# Configuration for the contributed libraries
### Which libraries to compile and install

12
configure vendored
View File

@ -328,6 +328,12 @@ case "$arch,$model,$system" in
arm,*,linux) aspp='gcc'; asppflags='-c -DSYS_$(SYSTEM)';;
esac
case "$arch,$model,$system" in
alpha,*,digital) profiling='prof';;
i386,*,linux_elf) profiling='prof';;
*) profiling='noprof';;
esac
# Where is ranlib?
if sh ./searchpath ranlib; then
@ -721,6 +727,7 @@ echo "ASFLAGS=$asflags" >> Makefile
echo "ASPP=$aspp" >> Makefile
echo "ASPPFLAGS=$asppflags" >> Makefile
echo "ASPPPROFFLAGS=$asppprofflags" >> Makefile
echo "PROFILING=$profiling" >> Makefile
echo "CCLIBS=$cclibs" >> Makefile
echo "OTHERLIBRARIES=$otherlibraries" >> Makefile
@ -762,6 +769,11 @@ else
echo " options for linking....... $nativecclinkopts $cclibs"
echo " assembler ................ \$(AS) $asflags"
echo " preprocessed assembler ... $aspp $asppflags"
if test "$profiling" = "prof"; then
echo " profiling with gprof ..... supported"
else
echo " profiling with gprof ..... not supported"
fi
fi
if test "$debugger" = "ocamldebugger"; then

View File

@ -19,15 +19,30 @@ OBJS=pervasives.cmo list.cmo char.cmo string.cmo array.cmo sys.cmo \
all: stdlib.cma std_exit.cmo camlheader camlheader_ur
allopt: stdlib.cmxa std_exit.cmx stdlib.p.cmxa std_exit.p.cmx
allopt: stdlib.cmxa std_exit.cmx allopt-$(PROFILING)
allopt-noprof:
allopt-prof: stdlib.p.cmxa std_exit.p.cmx
install:
cp stdlib.cma std_exit.cmo *.cmi *.mli *.ml camlheader camlheader_ur $(LIBDIR)
installopt:
installopt: installopt-default installopt-$(PROFILING)
installopt-default:
cp stdlib.cmxa stdlib.a std_exit.o *.cmx $(LIBDIR)
cp stdlib.p.cmxa stdlib.p.a std_exit.p.o $(LIBDIR)
cd $(LIBDIR); $(RANLIB) stdlib.a; $(RANLIB) stdlib.p.a
cd $(LIBDIR); $(RANLIB) stdlib.a
installopt-noprof:
ln -s stdlib.cmxa $(LIBDIR)/stdlib.p.cmxa
ln -s stdlib.a $(LIBDIR)/stdlib.p.a
ln -s std_exit.cmx $(LIBDIR)/std_exit.p.cmx
ln -s std_exit.o $(LIBDIR)/std_exit.p.o
installopt-prof:
cp stdlib.p.cmxa stdlib.p.a std_exit.p.cmx std_exit.p.o $(LIBDIR)
cd $(LIBDIR); $(RANLIB) stdlib.p.a
stdlib.cma: $(OBJS)
$(CAMLC) -a -o stdlib.cma $(OBJS)