You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Original bug ID: 1881 Reporter: administrator Status: closed Resolution: fixed Priority: normal Severity: minor Category: ~DO NOT USE (was: OCaml general)
Bug description
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.
Original bug ID: 1881
Reporter: administrator
Status: closed
Resolution: fixed
Priority: normal
Severity: minor
Category: ~DO NOT USE (was: OCaml general)
Bug description
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.
(http://caml.inria.fr/ocaml/htmlman/manual033.html)
This conficts with
mentioned at http://caml.inria.fr/ocaml/htmlman/libref/Pervasives.html
Alex
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$(COPT) $ (CAMLP4_LIBSX)
opt:
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)$(MAKE) CAMLP4=../etc/camlp4o$ (EXE) CAMLP4M="-I ../etc $(CAMLP4OM)"
rm -f camlp4o$(EXE)
cd ../camlp4;
camlp4sch$(EXE): ../camlp4/camlp4$(EXE) $(CAMLP4SCHM)$(MAKE) CAMLP4=../etc/camlp4sch$ (EXE) CAMLP4M="-I ../etc $(CAMLP4SCHM)"
rm -f camlp4sch$(EXE)
cd ../camlp4;
camlp4o.opt: $(CAMLP4OMX)$(MAKE) optp4 CAMLP4OPT=../etc/camlp4o.opt CAMLP4M="-I ../etc $ (CAMLP4OMX)"
rm -f camlp4o.opt
cd ../camlp4;
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
$(OCAMLOPT) -I $ (OTOP)/lex cset.cmx syntax.cmx table.cmx lexgen.cmx compact.cmx pa_ocamllex.cmx -a -o pa_ocamllex.cmxa
pa_ocamllex.cmxa: pa_ocamllex.cmx
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:$(INCLUDES) $ $i |
cp .depend .depend.bak
> .depend
@for i in *.mli *.ml; do
../tools/apply.sh pr_depend.cmo --
sed -e 's| ../..| $$(OTOP)|g' >> .depend;
done
get_promote:
install:$(OBJS) "$ (LIBDIR)/camlp4/."$(CAMLP4_LIBS) "$ (LIBDIR)/camlp4/."$(INTF) "$ (LIBDIR)/camlp4/."$(OBJSX) $ (OBJSX:.cmx=.o) "$(LIBDIR)/camlp4/."; cp $(CAMLP4_LIBSX) "$ (LIBDIR)/camlp4/."; fi
-$(MKDIR) "$(LIBDIR)/camlp4" "$(BINDIR)"
cp
cp
cp
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
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
The text was updated successfully, but these errors were encountered: