diff options
Diffstat (limited to 'lang')
-rw-r--r-- | lang/ocaml/Makefile | 10 | ||||
-rw-r--r-- | lang/ocaml/PLIST.opt | 9 | ||||
-rw-r--r-- | lang/ocaml/distinfo | 11 | ||||
-rw-r--r-- | lang/ocaml/patches/patch-ac | 67 | ||||
-rw-r--r-- | lang/ocaml/patches/patch-ad | 15 | ||||
-rw-r--r-- | lang/ocaml/patches/patch-ae | 11 | ||||
-rw-r--r-- | lang/ocaml/patches/patch-ag | 12 | ||||
-rw-r--r-- | lang/ocaml/patches/patch-ah | 83 | ||||
-rw-r--r-- | lang/ocaml/patches/patch-ai | 22 |
9 files changed, 191 insertions, 49 deletions
diff --git a/lang/ocaml/Makefile b/lang/ocaml/Makefile index a6ed5514bd0..fd1371b6832 100644 --- a/lang/ocaml/Makefile +++ b/lang/ocaml/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.17 2003/06/23 20:15:16 jtb Exp $ +# $NetBSD: Makefile,v 1.18 2003/06/29 23:04:18 jtb Exp $ # DISTNAME= ocaml-3.06 -PKGREVISION= 3 +PKGREVISION= 4 CATEGORIES= lang MASTER_SITES= ftp://ftp.inria.fr/INRIA/cristal/ocaml/${DISTNAME}/ @@ -24,13 +24,15 @@ FIX_RPATH+= OCAML_LDFLAGS ALL_TARGET= world +post-extract: + ${CP} ${WRKSRC}/asmrun/power-elf.S ${WRKSRC}/asmrun/power-bsd.S + post-build: if ${TEST} ${MACHINE_ARCH} = 'i386' -o ${MACHINE_ARCH} = 'powerpc' \ -o ${MACHINE_ARCH} = 'sparc' ; then \ cd ${WRKSRC}; \ ${GMAKE} opt; \ - ${GMAKE} ocamlc.opt; \ - ${GMAKE} ocamlopt.opt; \ + ${GMAKE} opt.opt; \ fi .include "../../mk/bsd.prefs.mk" diff --git a/lang/ocaml/PLIST.opt b/lang/ocaml/PLIST.opt index c9258380acb..1e8c37608e8 100644 --- a/lang/ocaml/PLIST.opt +++ b/lang/ocaml/PLIST.opt @@ -1,5 +1,9 @@ -@comment $NetBSD: PLIST.opt,v 1.3 2002/08/22 02:56:51 jschauma Exp $ +@comment $NetBSD: PLIST.opt,v 1.4 2003/06/29 23:04:18 jtb Exp $ +bin/camlp4o.opt +bin/camlp4r.opt bin/ocamlc.opt +bin/ocamldoc.opt +bin/ocamllex.opt bin/ocamlopt bin/ocamlopt.opt lib/ocaml/arg.cmx @@ -173,6 +177,9 @@ lib/ocaml/nums.a lib/ocaml/nums.cmxa lib/ocaml/obj.cmx lib/ocaml/obj.p.cmx +lib/ocaml/ocamldoc/odoc_info.a +lib/ocaml/ocamldoc/odoc_info.cmxa +lib/ocaml/ocamldoc/odoc_opt.cmi lib/ocaml/oo.cmx lib/ocaml/oo.p.cmx lib/ocaml/parsing.cmx diff --git a/lang/ocaml/distinfo b/lang/ocaml/distinfo index 03694e1cf1a..de889e86786 100644 --- a/lang/ocaml/distinfo +++ b/lang/ocaml/distinfo @@ -1,10 +1,13 @@ -$NetBSD: distinfo,v 1.8 2003/06/23 20:15:17 jtb Exp $ +$NetBSD: distinfo,v 1.9 2003/06/29 23:04:18 jtb Exp $ SHA1 (ocaml-3.06.tar.gz) = cf1b053bf751ad566e445ca13c620ffef3a1b863 Size (ocaml-3.06.tar.gz) = 2436887 bytes SHA1 (patch-aa) = 9e3eedb855d3a3830f58979caee0af48b5b8e670 SHA1 (patch-ab) = 8ebe2173abe3202205e16d31f29c8ded3df485cd -SHA1 (patch-ac) = fd125a505955f9ee546828622ef030f702539731 -SHA1 (patch-ad) = a933e3d92ccc6f81f93f32fdb0a2b4086dba59fd -SHA1 (patch-ae) = 71b924d29e6608eced45cf893864249b1b8aa1b3 +SHA1 (patch-ac) = 536768b353d9016140bdc66cc0293537cc4444e0 +SHA1 (patch-ad) = 2b15416e51298ff45bd29b51cc718cad6839b292 +SHA1 (patch-ae) = 4e2905ecb57e1e1a4c8b3799b5a3e5dd37ead7ec SHA1 (patch-af) = eeb03f9ceac69ab36542f2725392789b7cecd48c +SHA1 (patch-ag) = 8f67b8c13a0b008e3b77eb6f15fce1cac4f43d32 +SHA1 (patch-ah) = 6787283c29a7243686e11be67478f62b2d3d28dc +SHA1 (patch-ai) = 5b3a27cbe5c7dcebc6899859b24ebe2bd0248862 diff --git a/lang/ocaml/patches/patch-ac b/lang/ocaml/patches/patch-ac index c80e1ee3e85..e2cca11e51e 100644 --- a/lang/ocaml/patches/patch-ac +++ b/lang/ocaml/patches/patch-ac @@ -1,47 +1,42 @@ -$NetBSD: patch-ac,v 1.1 2003/06/23 20:15:18 jtb Exp $ +$NetBSD: patch-ac,v 1.2 2003/06/29 23:04:19 jtb Exp $ --- asmrun/signals.c.orig +++ asmrun/signals.c -@@ -52,10 +52,15 @@ - ((ctx)->__sc_jmpbuf.__jmp_context.__gpr[(regno)]) +@@ -162,6 +162,8 @@ + void handle_signal(int sig, struct sigcontext * context) + #elif defined(TARGET_power) && defined(SYS_rhapsody) + void handle_signal(int sig, int code, struct sigcontext * context) ++#elif defined(TARGET_power) && defined(SYS_bsd) ++void handle_signal(int sig, int code, struct sigcontext * context) #else - #define STRUCT_SIGCONTEXT struct sigcontext -+#ifdef __NetBSD__ -+#define CONTEXT_GPR(ctx, regno) \ -+ ((ctx)->sc_frame.fixreg[(regno)]) -+#else - #define CONTEXT_GPR(ctx, regno) \ - ((ctx)->sc_jmpbuf.jmp_context.gpr[(regno)]) + void handle_signal(int sig) #endif - #endif -+#endif - - volatile int async_signal_mode = 0; - volatile int pending_signal = 0; -@@ -199,8 +204,12 @@ - #endif - #if defined(TARGET_power) && defined(SYS_elf) +@@ -205,6 +207,10 @@ /* Cached in register 30 */ -+#ifdef __NetBSD__ -+ context->sc_frame.fixreg[30] = (unsigned long) young_limit; -+#else - context->regs->gpr[30] = (unsigned long) young_limit; + CONTEXT_GPR(context, 30) = (unsigned long) young_limit; #endif ++#if defined(TARGET_power) && defined(SYS_bsd) ++ /* Cached in register 30 */ ++ context->sc_frame.fixreg[30] = (unsigned long) young_limit; +#endif - #if defined(TARGET_power) && defined(SYS_rhapsody) - /* Cached in register 30 */ - CONTEXT_GPR(context, 30) = (unsigned long) young_limit; -@@ -422,8 +431,13 @@ - static void trap_handler(int sig, struct sigcontext * context) - { - /* Recover young_ptr and caml_exception_pointer from registers 31 and 29 */ -+#ifdef __NetBSD__ + } + } + } +@@ -443,6 +449,17 @@ + } + #endif + ++#if defined(TARGET_power) && defined(SYS_bsd) ++static void trap_handler(int sig, int code, struct sigcontext * context) ++{ ++ /* Recover young_ptr and caml_exception_pointer from registers 31 and 29 */ + caml_exception_pointer = (char *) context->sc_frame.fixreg[29]; + young_ptr = (char *) context->sc_frame.fixreg[31]; -+#else - caml_exception_pointer = (char *) context->regs->gpr[29]; - young_ptr = (char *) context->regs->gpr[31]; ++ array_bound_error(); ++} +#endif - array_bound_error(); - } - #endif ++ ++ + /* Machine- and OS-dependent handling of stack overflow */ + + #ifdef HAS_STACK_OVERFLOW_DETECTION diff --git a/lang/ocaml/patches/patch-ad b/lang/ocaml/patches/patch-ad index 470203630b8..ebb6e813248 100644 --- a/lang/ocaml/patches/patch-ad +++ b/lang/ocaml/patches/patch-ad @@ -1,4 +1,4 @@ -$NetBSD: patch-ad,v 1.1 2003/06/23 20:15:18 jtb Exp $ +$NetBSD: patch-ad,v 1.2 2003/06/29 23:04:19 jtb Exp $ --- configure.orig +++ configure @@ -6,14 +6,23 @@ $NetBSD: patch-ad,v 1.1 2003/06/23 20:15:18 jtb Exp $ rs6000-*-aix*) arch=power; model=rs6000; system=aix;; powerpc-*-aix*) arch=power; model=ppc; system=aix;; powerpc-*-linux*) arch=power; model=ppc; system=elf;; -+ powerpc-*-netbsd*) arch=power; model=ppc; system=elf;; ++ powerpc-*-netbsd*) arch=power; model=ppc; system=bsd;; powerpc-*-rhapsody*) arch=power; model=ppc; system=rhapsody;; powerpc-*-darwin*) arch=power; model=ppc; system=rhapsody;; arm*-*-linux*) arch=arm; system=linux;; -@@ -601,6 +602,8 @@ +@@ -591,6 +592,7 @@ + power,rs6000,aix) asflags='-u -m pwr -w'; asppflags="$asflags";; + power,ppc,aix) asflags='-u -m ppc -w'; asppflags="$asflags";; + power,*,elf) aspp='gcc'; asppflags='-c';; ++ power,*,bsd) aspp='gcc'; asppflags='-c -DSYS_$(SYSTEM)';; + power,*,rhapsody) ;; + arm,*,linux) aspp='gcc'; asppflags='-c -DSYS_$(SYSTEM)';; + ia64,*,linux) asflags=-xexplicit +@@ -601,6 +603,9 @@ alpha,*,digital) profiling='prof';; i386,*,linux_elf) profiling='prof';; i386,*,bsd_elf) profiling='prof';; ++ power,*,bsd) profiling='prof';; + power,*,elf) profiling='prof';; + sparc,*,bsd) profiling='prof';; *) profiling='noprof';; diff --git a/lang/ocaml/patches/patch-ae b/lang/ocaml/patches/patch-ae index 1487e320434..1eae927ef72 100644 --- a/lang/ocaml/patches/patch-ae +++ b/lang/ocaml/patches/patch-ae @@ -1,4 +1,4 @@ -$NetBSD: patch-ae,v 1.1 2003/06/23 20:15:18 jtb Exp $ +$NetBSD: patch-ae,v 1.2 2003/06/29 23:04:19 jtb Exp $ --- asmcomp/sparc/emit.mlp.orig +++ asmcomp/sparc/emit.mlp @@ -16,3 +16,12 @@ $NetBSD: patch-ae,v 1.1 2003/06/23 20:15:18 jtb Exp $ let emit_symbol s = if String.length s >= 1 & s.[0] = '.' +@@ -79,7 +78,7 @@ + (* Output a label *) + + let label_prefix = +- if Config.system = "solaris" || Config.system = "linux" then ".L" else "L" ++ if Config.system = "sunos" then "L" else ".L" + + let emit_label lbl = + emit_string label_prefix; emit_int lbl diff --git a/lang/ocaml/patches/patch-ag b/lang/ocaml/patches/patch-ag new file mode 100644 index 00000000000..82467122865 --- /dev/null +++ b/lang/ocaml/patches/patch-ag @@ -0,0 +1,12 @@ +$NetBSD: patch-ag,v 1.1 2003/06/29 23:04:19 jtb Exp $ + +--- asmcomp/power/arch.ml.orig ++++ asmcomp/power/arch.ml +@@ -91,6 +91,5 @@ + let toc = + match Config.system with + | "aix" -> true +- | "elf" -> false +- | "rhapsody" -> false ++ | "elf" | "rhapsody" | "bsd" -> false + | _ -> Misc.fatal_error "wrong $(SYSTEM)" diff --git a/lang/ocaml/patches/patch-ah b/lang/ocaml/patches/patch-ah new file mode 100644 index 00000000000..bd94f03d8cf --- /dev/null +++ b/lang/ocaml/patches/patch-ah @@ -0,0 +1,83 @@ +$NetBSD: patch-ah,v 1.1 2003/06/29 23:04:19 jtb Exp $ + +--- asmcomp/power/emit.mlp.orig ++++ asmcomp/power/emit.mlp +@@ -65,7 +65,7 @@ + + let emit_symbol = + match Config.system with +- "aix" | "elf" -> (fun s -> Emitaux.emit_symbol '.' s) ++ "aix" | "elf" | "bsd" -> (fun s -> Emitaux.emit_symbol '.' s) + | "rhapsody" -> (fun s -> emit_char '_'; Emitaux.emit_symbol '$' s) + | _ -> assert false + +@@ -78,7 +78,7 @@ + let label_prefix = + match Config.system with + "aix" -> "L.." +- | "elf" -> ".L" ++ | "elf" | "bsd" -> ".L" + | "rhapsody" -> "L" + | _ -> assert false + +@@ -90,21 +90,21 @@ + let data_space = + match Config.system with + "aix" -> " .csect .data[RW]\n" +- | "elf" -> " .section \".data\"\n" ++ | "elf" | "bsd" -> " .section \".data\"\n" + | "rhapsody" -> " .data\n" + | _ -> assert false + + let code_space = + match Config.system with + "aix" -> " .csect .text[PR]\n" +- | "elf" -> " .section \".text\"\n" ++ | "elf" | "bsd" -> " .section \".text\"\n" + | "rhapsody" -> " .text\n" + | _ -> assert false + + let rodata_space = + match Config.system with + "aix" -> " .csect .data[RW]\n" (* ?? *) +- | "elf" -> " .section \".rodata\"\n" ++ | "elf" | "bsd" -> " .section \".rodata\"\n" + | "rhapsody" -> " .const\n" + | _ -> assert false + +@@ -157,7 +157,7 @@ + + let emit_upper emit_fun arg = + match Config.system with +- "elf" -> ++ "elf" | "bsd" -> + emit_fun arg; emit_string "@ha" + | "rhapsody" -> + emit_string "ha16("; emit_fun arg; emit_string ")" +@@ -165,7 +165,7 @@ + + let emit_lower emit_fun arg = + match Config.system with +- "elf" -> ++ "elf" | "bsd" -> + emit_fun arg; emit_string "@l" + | "rhapsody" -> + emit_string "lo16("; emit_fun arg; emit_string ")" +@@ -951,7 +951,7 @@ + ` .csect {emit_symbol fundecl.fun_name}[DS]\n`; + `{emit_symbol fundecl.fun_name}:\n`; + ` .long .{emit_symbol fundecl.fun_name}, TOC[tc0], 0\n` +- | "elf" -> ++ | "elf" | "bsd" -> + ` .type {emit_symbol fundecl.fun_name}, @function\n` + | _ -> () + end; +@@ -996,7 +996,7 @@ + + let declare_global_data s = + ` .globl {emit_symbol s}\n`; +- if Config.system = "elf" then ++ if Config.system = "elf" || Config.system = "bsd" then + ` .type {emit_symbol s}, @object\n` + + let emit_item = function diff --git a/lang/ocaml/patches/patch-ai b/lang/ocaml/patches/patch-ai new file mode 100644 index 00000000000..bfc6c21d185 --- /dev/null +++ b/lang/ocaml/patches/patch-ai @@ -0,0 +1,22 @@ +$NetBSD: patch-ai,v 1.1 2003/06/29 23:04:19 jtb Exp $ + +--- asmcomp/power/proc.ml.orig ++++ asmcomp/power/proc.ml +@@ -190,7 +190,7 @@ + let loc_external_arguments = + match Config.system with + "aix" | "rhapsody" -> poweropen_external_conventions 0 7 100 112 +- | "elf" -> calling_conventions 0 7 100 107 outgoing 8 ++ | "elf" | "bsd" -> calling_conventions 0 7 100 107 outgoing 8 + | _ -> assert false + + let extcall_use_push = false +@@ -244,7 +244,7 @@ + Ccomp.command ("as -u -m " ^ proc ^ " -o " ^ outfile ^ " " ^ infile) + | "elf" -> + Ccomp.command ("as -u -m ppc -o " ^ outfile ^ " " ^ infile) +- | "rhapsody" -> ++ | "rhapsody" | "bsd" -> + Ccomp.command ("as -o " ^ outfile ^ " " ^ infile) + | _ -> assert false + |