Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More bugs with 3.07 patch 2 #8325

Closed
vicuna opened this issue Oct 16, 2003 · 1 comment
Closed

More bugs with 3.07 patch 2 #8325

vicuna opened this issue Oct 16, 2003 · 1 comment
Labels

Comments

@vicuna
Copy link

vicuna commented Oct 16, 2003

Original bug ID: 1881
Reporter: administrator
Status: closed
Resolution: fixed
Priority: normal
Severity: minor
Category: ~DO NOT USE (was: OCaml general)

Bug description

  1. camlp4/etc/Makefile

The makefile for camlp4 syntax extensions does not automatically compile
and install pa_ocamllex. The modified makefile I attached works for me:
pa_ocamllex.cma is correctly built and installed in the appropriate
directory.

  1. Documentation for the pervasives module
    (http://caml.inria.fr/ocaml/htmlman/manual033.html)

type ('a, 'b, 'c, 'd) format

This conficts with

type ('a, 'b, 'c) format = ('a, 'b, 'c, 'c) format4

mentioned at http://caml.inria.fr/ocaml/htmlman/libref/Pervasives.html

Alex


$Id: Makefile,v 1.15 2003/08/29 12:15:15 xleroy Exp $

include ../config/Makefile

INCLUDES=-I ../camlp4 -I ../boot -I $(OTOP)/lex
OCAMLCFLAGS=-warn-error A $(INCLUDES)
OBJS=q_phony.cmo pa_o.cmo pa_op.cmo pa_oop.cmo pa_ru.cmo pa_format.cmo pa_olabl.cmo pa_sml.cmo pa_lisp.cmo pa_scheme.cmo pa_extfold.cmo pa_extfun.cmo pa_fstream.cmo pa_lefteval.cmo pa_ifdef.cmo pr_r.cmo pr_rp.cmo pr_o.cmo pr_op.cmo pr_scheme.cmo pr_schemep.cmo pr_extend.cmo pr_extfun.cmo pr_null.cmo pr_depend.cmo
OBJSX=$(OBJS:.cmo=.cmx)
INTF=pa_o.cmi
CAMLP4_LIBS=pa_ocamllex.cma
CAMLP4_LIBSX=pa_ocamllex.cmxa
CAMLP4OM=pa_o.cmo pa_op.cmo ../meta/pr_dump.cmo
#CAMLP4OMX=pa_o.cmx pa_op.cmx ../meta/pr_dump.cmx
CAMLP4OMX=$(CAMLP4OM:.cmo=.cmx)
CAMLP4SCHM=pa_scheme.cmo ../meta/pr_dump.cmo
SHELL=/bin/sh
COUT=$(OBJS) camlp4o$(EXE) camlp4sch$(EXE)
COPT=$(OBJSX) camlp4o.opt

all: $(COUT) $(CAMLP4_LIBS) mkcamlp4.sh
opt: $(COPT) $(CAMLP4_LIBSX)

pr_rp.cmo: parserify.cmo pr_rp_main.cmo
$(OCAMLC) parserify.cmo pr_rp_main.cmo -a -o $@

pr_op.cmo: parserify.cmo pr_op_main.cmo
$(OCAMLC) parserify.cmo pr_op_main.cmo -a -o $@

pr_schemep.cmo: parserify.cmo pr_schp_main.cmo
$(OCAMLC) parserify.cmo pr_schp_main.cmo -a -o $@

pr_schemep.cmx: parserify.cmx pr_schp_main.cmx
$(OCAMLOPT) parserify.cmx pr_schp_main.cmx -a -o $@

camlp4o$(EXE): ../camlp4/camlp4$(EXE) $(CAMLP4OM)
rm -f camlp4o$(EXE)
cd ../camlp4; $(MAKE) CAMLP4=../etc/camlp4o$(EXE) CAMLP4M="-I ../etc $(CAMLP4OM)"

camlp4sch$(EXE): ../camlp4/camlp4$(EXE) $(CAMLP4SCHM)
rm -f camlp4sch$(EXE)
cd ../camlp4; $(MAKE) CAMLP4=../etc/camlp4sch$(EXE) CAMLP4M="-I ../etc $(CAMLP4SCHM)"

camlp4o.opt: $(CAMLP4OMX)
rm -f camlp4o.opt
cd ../camlp4; $(MAKE) optp4 CAMLP4OPT=../etc/camlp4o.opt CAMLP4M="-I ../etc $(CAMLP4OMX)"

mkcamlp4.sh: mkcamlp4.sh.tpl
sed -e "s!LIBDIR!$(LIBDIR)!g" mkcamlp4.sh.tpl > mkcamlp4.sh

pa_ocamllex.cma: pa_ocamllex.cmo
$(OCAMLC) -I $(OTOP)/lex cset.cmo syntax.cmo table.cmo lexgen.cmo compact.cmo pa_ocamllex.cmo -a -o pa_ocamllex.cma
pa_ocamllex.cmxa: pa_ocamllex.cmx
$(OCAMLOPT) -I $(OTOP)/lex cset.cmx syntax.cmx table.cmx lexgen.cmx compact.cmx pa_ocamllex.cmx -a -o pa_ocamllex.cmxa

bootstrap_scheme:
@$(MAKE) bootstrap_l L=scheme | grep -v directory
compare_scheme:
@$(MAKE) compare_l L=scheme | grep -v directory
bootstrap_lisp:
@$(MAKE) bootstrap_l L=lisp | grep -v directory
compare_lisp:
@$(MAKE) compare_l L=lisp | grep -v directory

bootstrap_l:
../boot/camlp4 ./pa_$Lr.cmo ./q_phony.cmo -I ../boot pa_extend.cmo ./pr_r.cmo ./pr_extend.cmo ./pr_rp.cmo pa_$L.ml > tmp
mv pa_$Lr.ml pa_$Lr.ml.old
sed -e 's/^;; (.)$$/( \1 )/' -e 's/^; (.)$$/(* \1 )/' -e 's|./pa_$Lr.cmo|pa_r.cmo pa_rp.cmo|' -e 's/$$Id.$$/File generated by pretty print; do not edit!/' tmp > pa_$Lr.ml
rm -f tmp

compare_l:
../boot/camlp4 ./pa_$Lr.cmo ./q_phony.cmo -I ../boot pa_extend.cmo ./pr_r.cmo ./pr_extend.cmo ./pr_rp.cmo pa_$L.ml | sed -e 's/^;; (.)$$/( \1 )/' -e 's/^; (.)$$/(* \1 )/' -e 's|./pa_$Lr.cmo|pa_r.cmo pa_rp.cmo|' -e 's/$$Id.$$/File generated by pretty print; do not edit!/' | diff -c pa_$Lr.ml -

clean::
rm -f .cm *.pp[io] *.o .bak ..bak *.out *.opt
rm -f mkcamlp4.sh camlp4o$(EXE) camlp4sch$(EXE)

depend:
cp .depend .depend.bak
> .depend
@for i in *.mli *.ml; do
../tools/apply.sh pr_depend.cmo -- $(INCLUDES) $$i |
sed -e 's| ../..| $$(OTOP)|g' >> .depend;
done

get_promote:

install:
-$(MKDIR) "$(LIBDIR)/camlp4" "$(BINDIR)"
cp $(OBJS) "$(LIBDIR)/camlp4/."
cp $(CAMLP4_LIBS) "$(LIBDIR)/camlp4/."
cp $(INTF) "$(LIBDIR)/camlp4/."
cp lib.sml "$(LIBDIR)/camlp4/."
cp camlp4o$(EXE) camlp4sch$(EXE) "$(BINDIR)/."
if test -f camlp4o.opt; then cp camlp4o.opt "$(BINDIR)/camlp4o.opt$(EXE)"; cp -f $(OBJSX) $(OBJSX:.cmx=.o) "$(LIBDIR)/camlp4/."; cp $(CAMLP4_LIBSX) "$(LIBDIR)/camlp4/."; fi
cp mkcamlp4.sh "$(BINDIR)/mkcamlp4"
chmod a+x "$(BINDIR)/mkcamlp4"

pa_lisp.cmo: pa_lispr.cmo
pa_scheme.cmo: pa_schemer.cmo
pa_ocamllex.cmo: pa_o.cmo
pr_extend.cmo: pa_extfun.cmo
pr_o.cmo: pa_extfun.cmo
pr_op.cmo: pa_extfun.cmo
pr_r.cmo: pa_extfun.cmo
pr_rp.cmo: pa_extfun.cmo

include .depend



@vicuna
Copy link
Author

vicuna commented Aug 17, 2004

Comment author: administrator

bug #1: not a bug (see #8330)
bug #2: fixed (see #8321).

@vicuna vicuna closed this as completed Aug 17, 2004
@vicuna vicuna added the bug label Mar 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant