######################################################################### # # # Objective Caml # # # # Damien Doligez, projet Para, INRIA Rocquencourt # # # # Copyright 1999 Institut National de Recherche en Informatique et # # en Automatique. All rights reserved. This file is distributed # # under the terms of the Q Public License version 1.0. # # # ######################################################################### # $Id$ #FIXME Disabled the 68k stuff because GUSI seems to hang during # initialisation. I don't have the time to debug this. Let's see if # there's anyone left who wants O'Caml on 68k Macs. VERSIONSTR = ¶ "¶"{OCAMLMAJOR}.{OCAMLMINOR}/Mac{MAJOR}.{MINOR}.{BUGFIX}{STAGE}{REV}¶"" COPYRIGHTSTR = "¶"Copyright 1991-2000 INRIA¶"" XIncludes = -i ::byterun:,::config: ¶ -i ":WASTE:WASTE 1.3 Distribution:WASTE C/C++ Headers:" ¶ -includes unix -i "{GUSI}include:" C = sc cplus = scpp COptions = {XIncludes} {cdbgflag} -model far -mbg full LinkOptions = -model far -compact -pad 0 -state nouse -br 68k -msg nodup CamlrunLibs = ::otherlibs:num:libnums.o ¶ ::otherlibs:bigarray:libbigarray.o ¶ ::otherlibs:systhreads:libthreads.o ¶ ::otherlibs:macosunix:libcamlrun-unix.o ¶ ::otherlibs:str:libstr.o WELibs = ":WASTE:WASTE 1.3 Distribution:WASTELib.o" gusilibs = "{gusi}lib:gusi_mpw.sc.lib" ¶ "{gusi}lib:gusi_sfio.sc.lib" ¶ "{gusi}lib:gusi_core.sc.lib" ¶ "{sfio}lib:sfio.sc.lib" SysLibs = "{libraries}sio.far.o" ¶ "{CLibraries}CPlusLib.o" ¶ "{CLibraries}StdCLib.far.o" ¶ "{Libraries}MacRuntime.o" ¶ "{Libraries}Interface.o" ¶ "{Libraries}IntEnv.far.o" ¶ "{Libraries}MathLib.far.o" ¶ "{Libraries}ToolLibs.o" ¶ "{CLibraries}IOStreams.far.o" ¶ "{Libraries}OpenTransport.o" ¶ "{Libraries}OpenTransportApp.o" ¶ "{Libraries}OpenTptInet.o" Libs = {camlrunlibs} {welibs} {gusilibs} {syslibs} PPCC = mrc -proto strict PPCCplus = mrcpp PPCCOptions = {XIncludes} {cdbgflag} PPCLinkOptions = -d {ldbgflag} PPCCamlrunLibs = ::otherlibs:num:libnums.x ¶ ::otherlibs:bigarray:libbigarray.x ¶ ::otherlibs:systhreads:libthreads.x ¶ ::otherlibs:macosunix:libcamlrun-unix.x ¶ ::otherlibs:str:libstr.x PPCWELibs = ":WASTE:WASTE 1.3 Distribution:WASTELib.x" ppcgusilibs = "{gusi}lib:gusi_mpw.mrc.lib" ¶ "{gusi}lib:gusi_sfio.mrc.lib" ¶ "{gusi}lib:gusi_core.mrc.lib" ¶ "{sfio}lib:sfio.mrc.lib" PPCSysLibs = "{ppclibraries}ppcsio.o" ¶ "{PPCLibraries}MrCPlusLib.o" ¶ "{PPCLibraries}PPCStdCLib.o" ¶ "{PPCLibraries}StdCRuntime.o" ¶ "{PPCLibraries}PPCCRuntime.o" ¶ "{PPCLibraries}PPCToolLibs.o" ¶ "{SharedLibraries}InterfaceLib" ¶ "{SharedLibraries}ThreadsLib" ¶ "{PPCLibraries}MrCIOStreams.o" ¶ "{SharedLibraries}StdCLib" ¶ "{SharedLibraries}OpenTransportLib" ¶ "{SharedLibraries}OpenTptInternetLib" ¶ "{PPCLibraries}OpenTransportAppPPC.o" ¶ "{PPCLibraries}OpenTptInetPPC.o" ¶ "{sharedlibraries}MathLib" ¶ "{sharedlibraries}DragLib" PPCLibs = {ppccamlrunlibs} {ppcwelibs} {ppcgusilibs} {ppcsyslibs} camllibs = ::otherlibs:graph:graphics.cma ¶ ::otherlibs:num:nums.cma ¶ ::otherlibs:macosunix:unix.cma ¶ ::otherlibs:bigarray:bigarray.cma ¶ ::otherlibs:systhreads:threads.cma primfiles = ::byterun:primitives ::otherlibs:macosunix:unix-primitives ¶ prim_bigarray prim_graph prim_num prim_str prim_systhreads RezDefs = -d MAJORVNUM={MAJOR} -d MINORVNUM=0x{MINOR}{BUGFIX} ¶ -d STAGE={STAGE} -d DEVVNUM={REV} ¶ -d VERSIONSTR={VERSIONSTR} -d COPYRIGHTSTR={COPYRIGHTSTR} OBJS = aboutbox.c.o appleevents.c.o clipboard.c.o ¶ drag.c.o errors.c.o ¶ events.c.o files.c.o glue.c.o ¶ graph.c.o lcontrols.c.o lib.c.o main.c.o mcmemory.c.o ¶ menus.c.o mcmisc.c.o modalfilter.c.o prefs.c.o prims.c.o ¶ print.c.o scroll.c.o windows.c.o gusistuff.cp.o PPCOBJS = aboutbox.c.x appleevents.c.x clipboard.c.x ¶ drag.c.x errors.c.x ¶ events.c.x files.c.x glue.c.x ¶ graph.c.x lcontrols.c.x lib.c.x main.c.x mcmemory.c.x ¶ menus.c.x mcmisc.c.x modalfilter.c.x prefs.c.x prims.c.x ¶ print.c.x scroll.c.x windows.c.x gusistuff.cp.x all Ä appli appliprims ocamlconstants.h appli.r "Objective Caml" set status 0 appliprims Ä {primfiles} catenate {primfiles} > appliprims prims.c Ä appliprims begin echo '#include "mlvalues.h"' echo '#include "prims.h"' streamedit -e '1,$ change "extern value " . "();"' appliprims echo 'c_primitive cprim [] = {' streamedit -e '1,$ change " " . ","' appliprims echo '0 };' echo 'char * names_of_cprim [] = {' streamedit -e '1,$ change " ¶"" . "¶","' appliprims echo '0 };' end > prims.c gusistuff.cp.x Ä gusistuff.cp {ppccplus} {ppccoptions} -bool on -includes unix -i "{gusi}include" ¶ gusistuff.cp -o gusistuff.cp.x -w 2 gusistuff.cp.o Ä gusistuff.cp {cplus} {coptions} -bool on -includes unix -i "{gusi}include" ¶ gusistuff.cp -w 2 OCaml.PPC Ä {PPCOBJS} {ppccamlrunlibs} ppclink -o OCaml.PPC {ppclinkoptions} {PPCOBJS} {ppclibs} rename -y OCaml.PPC.xcoff "Objective Caml.xcoff" || set status 0 OCaml.68k Ä {OBJS} {camlrunlibs} ilink -o OCaml.68k {linkoptions} {OBJS} {libs} dummy_fragment Ä dummy_fragment.c.x ppclink -xm l -o dummy_fragment {ppclinkoptions} dummy_fragment.c.x appli ÄÄ OCaml.PPC dummy_fragment #FIXME OCaml.68k #FIXME duplicate -y OCaml.68k appli delete -i appli #FIXME mergefragment -a OCaml.PPC appli mergefragment dummy_fragment appli "Objective Caml" Ä appliprims appli.r ocamlconstants.h appli ¶ ::toplevellib.cma {camllibs} ::toplevel:topmain.cmo :ocamlmkappli ¶ -ocamlc "::boot:ocamlrun ::boot:ocamlc -I ::stdlib: -linkall" ¶ {rezdefs} -lib : -name "Objective Caml" -r ocaml.r ¶ -creator Caml -prefsize 5000 -minsize 3000 ¶ ::toplevellib.cma {camllibs} ::toplevel:topmain.cmo install Ä appli appli.r appliprims ocamlconstants.h ocamlmkappli ¶ "Objective Caml" duplicate -y "Objective Caml" ¶ `exists "objective caml.xcoff" ¶ "::test:Moretest:graph_example.ml" ¶ ` ¶ "{APPLIDIR}" duplicate -y appli appli.r appliprims ocamlconstants.h "{LIBDIR}" duplicate -y ocamlmkappli "{BINDIR}" partialclean Ä delete -i "Objective Caml" clean Ä delete -i -y {OBJS} {PPCOBJS} OCaml.68k OCaml.PPC ¶ "Objective Caml" appliprims prims.c null :config ¶ dummy_fragment dummy_fragment.c.x dummy_fragment.xcoff ¶ "Objective Caml.xcoff" "Objective Caml.dbg" depend Ä prims.c begin makedepend -w -objext .x Å.c makedepend -w Å.c end | streamedit -e "/¶t/ replace // ' ' -c °" > Makefile.Mac.depend