Update to 4.02.0-beta1 + patches from the upstream 4.02 branch.

- REMOVED labltk and camlp4 packages, since these are now packaged
  separately upstream.
- Upstream includes fix for stack alignment issues on i686, so remove hack.
- Upstream now uses mkstemp where available, so patch removed.
- Upstream includes Aarch64 backend, so remove our own backport.
- Drop BR on ocaml-srpm-macros, since it is now included in Fedora.
This commit is contained in:
Richard W.M. Jones 2014-06-24 22:28:27 +01:00
parent 98f566b78e
commit f7060a5515
18 changed files with 143 additions and 3667 deletions

View File

@ -1,366 +0,0 @@
From 07839dfc746ccee318601b9668aa094d4465bc6e Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 7 Jun 2012 16:00:28 +0100
Subject: [PATCH 01/14] Add .gitignore file to ignore generated files.
---
.gitignore | 347 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 347 insertions(+)
create mode 100644 .gitignore
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..7191b83
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,347 @@
+*~
+*.a
+*.bak
+*.cma
+*.cmi
+*.cmo
+*.cmx
+*.o
+*.so
+/_boot_log1
+/_boot_log2
+/_build/
+/_log
+/asmcomp/arch.ml
+/asmcomp/emit.ml
+/asmcomp/proc.ml
+/asmcomp/reload.ml
+/asmcomp/scheduling.ml
+/asmcomp/selection.ml
+/asmrun/alloc.c
+/asmrun/array.c
+/asmrun/callback.c
+/asmrun/compact.c
+/asmrun/compare.c
+/asmrun/custom.c
+/asmrun/debugger.c
+/asmrun/dynlink.c
+/asmrun/extern.c
+/asmrun/finalise.c
+/asmrun/floats.c
+/asmrun/freelist.c
+/asmrun/gc_ctrl.c
+/asmrun/globroots.c
+/asmrun/hash.c
+/asmrun/intern.c
+/asmrun/ints.c
+/asmrun/io.c
+/asmrun/lexing.c
+/asmrun/main.c
+/asmrun/major_gc.c
+/asmrun/md5.c
+/asmrun/memory.c
+/asmrun/meta.c
+/asmrun/minor_gc.c
+/asmrun/misc.c
+/asmrun/obj.c
+/asmrun/parsing.c
+/asmrun/printexc.c
+/asmrun/signals.c
+/asmrun/str.c
+/asmrun/sys.c
+/asmrun/terminfo.c
+/asmrun/unix.c
+/asmrun/weak.c
+/boot/camlheader
+/boot/myocamlbuild
+/boot/ocamlrun
+/boot/ocamlyacc
+/build/ocamlbuild_mixed_mode
+/bytecomp/opcodes.ml
+/bytecomp/runtimedef.ml
+/byterun/jumptbl.h
+/byterun/ld.conf
+/byterun/ocamlrun
+/byterun/primitives
+/byterun/prims.c
+/byterun/version.h
+/compilerlibs/ocamlbytecomp.cmxa
+/compilerlibs/ocamlcommon.cmxa
+/compilerlibs/ocamloptcomp.cmxa
+/configure
+/config/Makefile
+/config/config.sh
+/config/m.h
+/config/s.h
+/debugger/dynlink.ml
+/debugger/dynlink.mli
+/debugger/lexer.ml
+/debugger/ocamldebug
+/debugger/parser.ml
+/debugger/parser.mli
+/expunge
+/lex/lexer.ml
+/lex/ocamllex
+/lex/ocamllex.opt
+/lex/parser.ml
+/lex/parser.mli
+/lex/parser.output
+/myocamlbuild_config.ml
+/ocamlbuild-mixed-boot
+/ocaml
+/ocamlc
+/ocamlc.opt
+/ocamlcomp.sh
+/ocamlcompopt.sh
+/ocamldoc/generators/odoc_literate.cmxs
+/ocamldoc/generators/odoc_todo.cmxs
+/ocamldoc/ocamldoc
+/ocamldoc/ocamldoc.opt
+/ocamldoc/odoc_info.cmxa
+/ocamldoc/odoc_lexer.ml
+/ocamldoc/odoc_ocamlhtml.ml
+/ocamldoc/odoc_parser.ml
+/ocamldoc/odoc_parser.mli
+/ocamldoc/odoc_parser.output
+/ocamldoc/odoc_see_lexer.ml
+/ocamldoc/odoc_text_lexer.ml
+/ocamldoc/odoc_text_parser.ml
+/ocamldoc/odoc_text_parser.mli
+/ocamldoc/odoc_text_parser.output
+/ocamldoc/stdlib_man/
+/ocamlnat
+/ocamlopt
+/ocamlopt.opt
+/otherlibs/bigarray/bigarray.cmxa
+/otherlibs/bigarray/bigarray.cmxs
+/otherlibs/dynlink/dynlink.cmxa
+/otherlibs/dbm/
+/otherlibs/dynlink/extract_crc
+/otherlibs/graph/graphics.cmxa
+/otherlibs/graph/graphics.cmxs
+/otherlibs/labltk/frx/frxlib.cmxa
+/otherlibs/labltk/jpf/jpflib.cmxa
+/otherlibs/labltk/lib/labltk.cmxa
+/otherlibs/labltk/browser/dummy.mli
+/otherlibs/labltk/browser/help.ml
+/otherlibs/labltk/browser/ocamlbrowser
+/otherlibs/labltk/camltk/.depend
+/otherlibs/labltk/camltk/_tkfgen.ml
+/otherlibs/labltk/camltk/_tkgen.ml
+/otherlibs/labltk/camltk/_tkgen.mli
+/otherlibs/labltk/camltk/_tkigen.ml
+/otherlibs/labltk/camltk/cBell.ml
+/otherlibs/labltk/camltk/cBell.mli
+/otherlibs/labltk/camltk/cButton.ml
+/otherlibs/labltk/camltk/cButton.mli
+/otherlibs/labltk/camltk/cCanvas.ml
+/otherlibs/labltk/camltk/cCanvas.mli
+/otherlibs/labltk/camltk/cCheckbutton.ml
+/otherlibs/labltk/camltk/cCheckbutton.mli
+/otherlibs/labltk/camltk/cClipboard.ml
+/otherlibs/labltk/camltk/cClipboard.mli
+/otherlibs/labltk/camltk/cDialog.ml
+/otherlibs/labltk/camltk/cDialog.mli
+/otherlibs/labltk/camltk/cEncoding.ml
+/otherlibs/labltk/camltk/cEncoding.mli
+/otherlibs/labltk/camltk/cEntry.ml
+/otherlibs/labltk/camltk/cEntry.mli
+/otherlibs/labltk/camltk/cFocus.ml
+/otherlibs/labltk/camltk/cFocus.mli
+/otherlibs/labltk/camltk/cFont.ml
+/otherlibs/labltk/camltk/cFont.mli
+/otherlibs/labltk/camltk/cFrame.ml
+/otherlibs/labltk/camltk/cFrame.mli
+/otherlibs/labltk/camltk/cGrab.ml
+/otherlibs/labltk/camltk/cGrab.mli
+/otherlibs/labltk/camltk/cGrid.ml
+/otherlibs/labltk/camltk/cGrid.mli
+/otherlibs/labltk/camltk/cImage.ml
+/otherlibs/labltk/camltk/cImage.mli
+/otherlibs/labltk/camltk/cImagebitmap.ml
+/otherlibs/labltk/camltk/cImagebitmap.mli
+/otherlibs/labltk/camltk/cImagephoto.ml
+/otherlibs/labltk/camltk/cImagephoto.mli
+/otherlibs/labltk/camltk/cLabel.ml
+/otherlibs/labltk/camltk/cLabel.mli
+/otherlibs/labltk/camltk/cListbox.ml
+/otherlibs/labltk/camltk/cListbox.mli
+/otherlibs/labltk/camltk/cMenu.ml
+/otherlibs/labltk/camltk/cMenu.mli
+/otherlibs/labltk/camltk/cMenubutton.ml
+/otherlibs/labltk/camltk/cMenubutton.mli
+/otherlibs/labltk/camltk/cMessage.ml
+/otherlibs/labltk/camltk/cMessage.mli
+/otherlibs/labltk/camltk/cOption.ml
+/otherlibs/labltk/camltk/cOption.mli
+/otherlibs/labltk/camltk/cOptionmenu.ml
+/otherlibs/labltk/camltk/cOptionmenu.mli
+/otherlibs/labltk/camltk/cPack.ml
+/otherlibs/labltk/camltk/cPack.mli
+/otherlibs/labltk/camltk/cPalette.ml
+/otherlibs/labltk/camltk/cPalette.mli
+/otherlibs/labltk/camltk/cPixmap.ml
+/otherlibs/labltk/camltk/cPixmap.mli
+/otherlibs/labltk/camltk/cPlace.ml
+/otherlibs/labltk/camltk/cPlace.mli
+/otherlibs/labltk/camltk/cRadiobutton.ml
+/otherlibs/labltk/camltk/cRadiobutton.mli
+/otherlibs/labltk/camltk/cResource.ml
+/otherlibs/labltk/camltk/cResource.mli
+/otherlibs/labltk/camltk/cScale.ml
+/otherlibs/labltk/camltk/cScale.mli
+/otherlibs/labltk/camltk/cScrollbar.ml
+/otherlibs/labltk/camltk/cScrollbar.mli
+/otherlibs/labltk/camltk/cSelection.ml
+/otherlibs/labltk/camltk/cSelection.mli
+/otherlibs/labltk/camltk/cText.ml
+/otherlibs/labltk/camltk/cText.mli
+/otherlibs/labltk/camltk/cTk.ml
+/otherlibs/labltk/camltk/cTkvars.ml
+/otherlibs/labltk/camltk/cTkvars.mli
+/otherlibs/labltk/camltk/cTkwait.ml
+/otherlibs/labltk/camltk/cTkwait.mli
+/otherlibs/labltk/camltk/cToplevel.ml
+/otherlibs/labltk/camltk/cToplevel.mli
+/otherlibs/labltk/camltk/cWinfo.ml
+/otherlibs/labltk/camltk/cWinfo.mli
+/otherlibs/labltk/camltk/cWm.ml
+/otherlibs/labltk/camltk/cWm.mli
+/otherlibs/labltk/camltk/camltk.ml
+/otherlibs/labltk/compiler/copyright.ml
+/otherlibs/labltk/compiler/lexer.ml
+/otherlibs/labltk/compiler/parser.ml
+/otherlibs/labltk/compiler/parser.mli
+/otherlibs/labltk/compiler/parser.output
+/otherlibs/labltk/compiler/pp
+/otherlibs/labltk/compiler/pplex.ml
+/otherlibs/labltk/compiler/ppyac.ml
+/otherlibs/labltk/compiler/ppyac.mli
+/otherlibs/labltk/compiler/ppyac.output
+/otherlibs/labltk/compiler/tkcompiler
+/otherlibs/labltk/labltk/.depend
+/otherlibs/labltk/labltk/_tkfgen.ml
+/otherlibs/labltk/labltk/_tkgen.ml
+/otherlibs/labltk/labltk/_tkgen.mli
+/otherlibs/labltk/labltk/_tkigen.ml
+/otherlibs/labltk/labltk/bell.ml
+/otherlibs/labltk/labltk/bell.mli
+/otherlibs/labltk/labltk/button.ml
+/otherlibs/labltk/labltk/button.mli
+/otherlibs/labltk/labltk/canvas.ml
+/otherlibs/labltk/labltk/canvas.mli
+/otherlibs/labltk/labltk/checkbutton.ml
+/otherlibs/labltk/labltk/checkbutton.mli
+/otherlibs/labltk/labltk/clipboard.ml
+/otherlibs/labltk/labltk/clipboard.mli
+/otherlibs/labltk/labltk/dialog.ml
+/otherlibs/labltk/labltk/dialog.mli
+/otherlibs/labltk/labltk/encoding.ml
+/otherlibs/labltk/labltk/encoding.mli
+/otherlibs/labltk/labltk/entry.ml
+/otherlibs/labltk/labltk/entry.mli
+/otherlibs/labltk/labltk/focus.ml
+/otherlibs/labltk/labltk/focus.mli
+/otherlibs/labltk/labltk/font.ml
+/otherlibs/labltk/labltk/font.mli
+/otherlibs/labltk/labltk/frame.ml
+/otherlibs/labltk/labltk/frame.mli
+/otherlibs/labltk/labltk/grab.ml
+/otherlibs/labltk/labltk/grab.mli
+/otherlibs/labltk/labltk/grid.ml
+/otherlibs/labltk/labltk/grid.mli
+/otherlibs/labltk/labltk/image.ml
+/otherlibs/labltk/labltk/image.mli
+/otherlibs/labltk/labltk/imagebitmap.ml
+/otherlibs/labltk/labltk/imagebitmap.mli
+/otherlibs/labltk/labltk/imagephoto.ml
+/otherlibs/labltk/labltk/imagephoto.mli
+/otherlibs/labltk/labltk/label.ml
+/otherlibs/labltk/labltk/label.mli
+/otherlibs/labltk/labltk/labltk.ml
+/otherlibs/labltk/labltk/listbox.ml
+/otherlibs/labltk/labltk/listbox.mli
+/otherlibs/labltk/labltk/menu.ml
+/otherlibs/labltk/labltk/menu.mli
+/otherlibs/labltk/labltk/menubutton.ml
+/otherlibs/labltk/labltk/menubutton.mli
+/otherlibs/labltk/labltk/message.ml
+/otherlibs/labltk/labltk/message.mli
+/otherlibs/labltk/labltk/option.ml
+/otherlibs/labltk/labltk/option.mli
+/otherlibs/labltk/labltk/optionmenu.ml
+/otherlibs/labltk/labltk/optionmenu.mli
+/otherlibs/labltk/labltk/pack.ml
+/otherlibs/labltk/labltk/pack.mli
+/otherlibs/labltk/labltk/palette.ml
+/otherlibs/labltk/labltk/palette.mli
+/otherlibs/labltk/labltk/pixmap.ml
+/otherlibs/labltk/labltk/pixmap.mli
+/otherlibs/labltk/labltk/place.ml
+/otherlibs/labltk/labltk/place.mli
+/otherlibs/labltk/labltk/radiobutton.ml
+/otherlibs/labltk/labltk/radiobutton.mli
+/otherlibs/labltk/labltk/scale.ml
+/otherlibs/labltk/labltk/scale.mli
+/otherlibs/labltk/labltk/scrollbar.ml
+/otherlibs/labltk/labltk/scrollbar.mli
+/otherlibs/labltk/labltk/selection.ml
+/otherlibs/labltk/labltk/selection.mli
+/otherlibs/labltk/labltk/text.ml
+/otherlibs/labltk/labltk/text.mli
+/otherlibs/labltk/labltk/tk.ml
+/otherlibs/labltk/labltk/tkvars.ml
+/otherlibs/labltk/labltk/tkvars.mli
+/otherlibs/labltk/labltk/tkwait.ml
+/otherlibs/labltk/labltk/tkwait.mli
+/otherlibs/labltk/labltk/toplevel.ml
+/otherlibs/labltk/labltk/toplevel.mli
+/otherlibs/labltk/labltk/winfo.ml
+/otherlibs/labltk/labltk/winfo.mli
+/otherlibs/labltk/labltk/wm.ml
+/otherlibs/labltk/labltk/wm.mli
+/otherlibs/labltk/lib/labltk
+/otherlibs/labltk/lib/labltktop
+/otherlibs/num/nums.cmxa
+/otherlibs/num/nums.cmxs
+/otherlibs/str/str.cmxa
+/otherlibs/str/str.cmxs
+/otherlibs/systhreads/threads.cmxa
+/otherlibs/threads/marshal.mli
+/otherlibs/threads/pervasives.mli
+/otherlibs/threads/unix.mli
+/otherlibs/unix/unix.cmxa
+/otherlibs/unix/unix.cmxs
+/package-macosx
+/parsing/lexer.ml
+/parsing/linenum.ml
+/parsing/parser.ml
+/parsing/parser.mli
+/parsing/parser.output
+/stdlib/caml
+/stdlib/camlheader
+/stdlib/camlheader_ur
+/stdlib/camlheaderd
+/stdlib/stdlib.cmxa
+/stdlib/stdlib.p.cmxa
+/stdlib/sys.ml
+/tools/cvt_emit
+/tools/cvt_emit.ml
+/tools/dumpobj
+/tools/myocamlbuild_config.ml
+/tools/objinfo
+/tools/objinfo_helper
+/tools/ocamlcp
+/tools/ocamldep
+/tools/ocamldep.opt
+/tools/ocamlmklib
+/tools/ocamlmklib.ml
+/tools/ocamlmktop
+/tools/ocamloptp
+/tools/ocamlprof
+/tools/opnames.ml
+/tools/read_cmt
+/tools/read_cmt.opt
+/utils/config.ml
+/yacc/ocamlyacc
+/yacc/version.h
--
1.9.0

View File

@ -0,0 +1,24 @@
From 0af41aa6fa08b5d1c99500cc8970be361577c9ee Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 24 Jun 2014 22:29:38 +0100
Subject: [PATCH 01/10] Don't ignore ./configure, it's a real git file.
---
.gitignore | 1 -
1 file changed, 1 deletion(-)
diff --git a/.gitignore b/.gitignore
index 2817041..6835234 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,7 +22,6 @@
/.depend
/.depend.nt
/.DS_Store
-/configure
/ocamlc
/ocamlc.opt
/expunge
--
1.9.0

View File

@ -1,7 +1,7 @@
From 7756582741dc56070c03629a3b4640147723beda Mon Sep 17 00:00:00 2001
From 53cd150c88206b9387af5896d70d69fdc67d68f2 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 7 Jun 2012 15:36:16 +0100
Subject: [PATCH 02/14] Ensure empty compilerlibs/ directory is created by git.
Subject: [PATCH 02/10] Ensure empty compilerlibs/ directory is created by git.
This directory exists in the OCaml tarball, but is empty. As a
result, git ignores it unless we put a dummy file in it.

View File

@ -0,0 +1,29 @@
From 2bfc887ac96a69161b06cbac09382bbb9e674f63 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 24 Jun 2014 10:00:15 +0100
Subject: [PATCH 03/10] Don't add rpaths to libraries.
---
tools/Makefile.shared | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/Makefile.shared b/tools/Makefile.shared
index c4c9030..7a918e5 100644
--- a/tools/Makefile.shared
+++ b/tools/Makefile.shared
@@ -112,9 +112,9 @@ ocamlmklibconfig.ml: ../config/Makefile
echo 'let ext_dll = "$(EXT_DLL)"'; \
echo 'let supports_shared_libraries = $(SUPPORTS_SHARED_LIBRARIES)';\
echo 'let mkdll = "$(MKDLL)"'; \
- echo 'let byteccrpath = "$(BYTECCRPATH)"'; \
- echo 'let nativeccrpath = "$(NATIVECCRPATH)"'; \
- echo 'let mksharedlibrpath = "$(MKSHAREDLIBRPATH)"'; \
+ echo 'let byteccrpath = ""'; \
+ echo 'let nativeccrpath = ""'; \
+ echo 'let mksharedlibrpath = ""'; \
echo 'let toolpref = "$(TOOLPREF)"'; \
sed -n -e 's/^#ml //p' ../config/Makefile) \
> ocamlmklibconfig.ml
--
1.9.0

View File

@ -1,26 +0,0 @@
From c3a733c10827896a6e3c217b383e874df303d50b Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 29 May 2012 20:43:34 +0100
Subject: [PATCH 04/14] Don't add rpaths to libraries.
---
tools/Makefile.shared | 3 ---
1 file changed, 3 deletions(-)
diff --git a/tools/Makefile.shared b/tools/Makefile.shared
index 117f576..cad227d 100644
--- a/tools/Makefile.shared
+++ b/tools/Makefile.shared
@@ -116,9 +116,6 @@ ocamlmklib.ml: ocamlmklib.mlp ../config/Makefile
sed -e "s|%%BINDIR%%|$(BINDIR)|" \
-e "s|%%SUPPORTS_SHARED_LIBRARIES%%|$(SUPPORTS_SHARED_LIBRARIES)|" \
-e "s|%%MKSHAREDLIB%%|$(MKSHAREDLIB)|" \
- -e "s|%%BYTECCRPATH%%|$(BYTECCRPATH)|" \
- -e "s|%%NATIVECCRPATH%%|$(NATIVECCRPATH)|" \
- -e "s|%%MKSHAREDLIBRPATH%%|$(MKSHAREDLIBRPATH)|" \
-e "s|%%RANLIB%%|$(RANLIB)|" \
ocamlmklib.mlp >> ocamlmklib.ml
--
1.9.0

View File

@ -1,7 +1,7 @@
From a6d87cd4bc62d3987835c1ac844f35cc06804294 Mon Sep 17 00:00:00 2001
From 9f15edfb3f76b566a97be5004b5be17cbe989da6 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 29 May 2012 20:40:36 +0100
Subject: [PATCH 03/14] ocamlbyteinfo, ocamlplugininfo: Useful utilities from
Subject: [PATCH 04/10] ocamlbyteinfo, ocamlplugininfo: Useful utilities from
Debian, sent upstream.
See:

View File

@ -1,17 +1,17 @@
From 459e9550f174e11176a2ece013fc4dd2b08a06bb Mon Sep 17 00:00:00 2001
From 21b9660da12874743ad87cf75e6aec4ed8e4837b Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 29 May 2012 20:44:18 +0100
Subject: [PATCH 05/14] configure: Allow user defined C compiler flags.
Subject: [PATCH 05/10] configure: Allow user defined C compiler flags.
---
configure | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/configure b/configure
index 07b1c35..39b38dc 100755
index 74d489f..251ee2c 100755
--- a/configure
+++ b/configure
@@ -1612,6 +1612,10 @@ case "$buggycc" in
@@ -1629,6 +1629,10 @@ case "$buggycc" in
nativecccompopts="$nativecccompopts -fomit-frame-pointer";;
esac

View File

@ -1,7 +1,7 @@
From a85437a0d2ffdf7a340d379789500eb583ae4708 Mon Sep 17 00:00:00 2001
From 557d8766bfbc5ad217e59e914f523468faf89cb8 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 29 May 2012 20:47:07 +0100
Subject: [PATCH 06/14] Add support for ppc64.
Subject: [PATCH 06/10] Add support for ppc64.
Note (1): This patch was rejected upstream because they don't have
appropriate hardware for testing.
@ -1576,10 +1576,10 @@ index 0000000..53b7828
+
+let fundecl f = (new selector)#emit_fundecl f
diff --git a/asmrun/Makefile b/asmrun/Makefile
index 5ebf7aa..6a8ed98 100644
index 63ff80c..5da022c 100644
--- a/asmrun/Makefile
+++ b/asmrun/Makefile
@@ -90,6 +90,12 @@ power.o: power-$(SYSTEM).o
@@ -93,6 +93,12 @@ power.o: power-$(SYSTEM).o
power.p.o: power-$(SYSTEM).o
cp power-$(SYSTEM).o power.p.o
@ -2085,7 +2085,7 @@ index 0000000..b2c24d6
+ .align 3
+
diff --git a/asmrun/stack.h b/asmrun/stack.h
index 57c87fa..756db95 100644
index 92b3c28..5202c3a 100644
--- a/asmrun/stack.h
+++ b/asmrun/stack.h
@@ -46,6 +46,15 @@
@ -2105,26 +2105,26 @@ index 57c87fa..756db95 100644
#define Saved_return_address(sp) *((intnat *)((sp) - 4))
#define Callback_link(sp) ((struct caml_context *)((sp) + 8))
diff --git a/configure b/configure
index 39b38dc..9b02664 100755
index 251ee2c..5f92bac 100755
--- a/configure
+++ b/configure
@@ -694,6 +694,7 @@ case "$host" in
arch=i386; system=macosx
@@ -807,6 +807,7 @@ case "$target" in
fi;;
i[3456]86-*-gnu*) arch=i386; system=gnu;;
i[3456]86-*-mingw*) arch=i386; system=mingw;;
+ powerpc64-*-linux*) arch=power64; model=ppc64; system=elf;;
powerpc*-*-linux*) arch=power; model=ppc; system=elf;;
powerpc-*-netbsd*) arch=power; model=ppc; system=elf;;
powerpc-*-openbsd*) arch=power; model=ppc; system=bsd_elf;;
@@ -776,6 +777,8 @@ case "$arch,$model,$system" in
aspp='gcc -c';;
power,*,bsd*) as='as'
aspp='gcc -c';;
+ power64,*,elf) as='as -u -m ppc64'
+ aspp='gcc -c';;
power,*,rhapsody) as="as -arch $model"
aspp="$bytecc -c";;
sparc,*,solaris) as='as'
@@ -886,6 +887,8 @@ case "$arch,$system" in
aspp="/usr/ccs/bin/${TOOLPREF}as -P";;
power,elf) as="${TOOLPREF}as -u -m ppc"
aspp="${TOOLPREF}gcc -c";;
+ power64,*,elf) as='${TOOLPREF}as -u -m ppc64'
+ aspp='${TOOLPREF}gcc -c';;
power,rhapsody) as="${TOOLPREF}as -arch $model"
aspp="$bytecc -c";;
sparc,solaris) as="${TOOLPREF}as"
--
1.9.0

View File

@ -1,7 +1,7 @@
From d9ec3ac29493999687b0f7daa23f4888bc57c7be Mon Sep 17 00:00:00 2001
From 54e153bc32b3d5cc45b3ca83ceba0d788ba9f21f Mon Sep 17 00:00:00 2001
From: Michel Normand <normand@linux.vnet.ibm.com>
Date: Tue, 18 Mar 2014 09:15:47 -0400
Subject: [PATCH 13/14] Add support for ppc64le.
Subject: [PATCH 07/10] Add support for ppc64le.
Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
---
@ -1556,10 +1556,10 @@ index 0000000..6101d53
+
+let fundecl f = (new selector)#emit_fundecl f
diff --git a/asmrun/Makefile b/asmrun/Makefile
index 6a8ed98..1ff256f 100644
index 5da022c..c0362b6 100644
--- a/asmrun/Makefile
+++ b/asmrun/Makefile
@@ -96,6 +96,12 @@ power64.o: power64-$(SYSTEM).o
@@ -99,6 +99,12 @@ power64.o: power64-$(SYSTEM).o
power64.p.o: power64-$(SYSTEM).o
cp power64-$(SYSTEM).o power64.p.o
@ -1858,7 +1858,7 @@ index 0000000..f49d00c
+power64-elf.S
\ No newline at end of file
diff --git a/asmrun/stack.h b/asmrun/stack.h
index 031e408..f1890c1 100644
index 5202c3a..94b81e4 100644
--- a/asmrun/stack.h
+++ b/asmrun/stack.h
@@ -55,6 +55,15 @@
@ -1892,26 +1892,26 @@ index b79252d..049652e 100755
echo powerpc-unknown-linux-${LIBC}
exit ;;
diff --git a/configure b/configure
index 36edfab..8a22078 100755
index 5f92bac..8b300a4 100755
--- a/configure
+++ b/configure
@@ -696,6 +696,7 @@ case "$host" in
fi;;
@@ -808,6 +808,7 @@ case "$target" in
i[3456]86-*-gnu*) arch=i386; system=gnu;;
i[3456]86-*-mingw*) arch=i386; system=mingw;;
powerpc64-*-linux*) arch=power64; model=ppc64; system=elf;;
+ powerpc64le-*-linux*) arch=power64le; model=ppc64le; system=elf;;
powerpc*-*-linux*) arch=power; model=ppc; system=elf;;
powerpc-*-netbsd*) arch=power; model=ppc; system=elf;;
powerpc-*-openbsd*) arch=power; model=ppc; system=bsd_elf;;
@@ -781,6 +782,8 @@ case "$arch,$model,$system" in
aspp='gcc -c';;
power64,*,elf) as='as -u -m ppc64'
aspp='gcc -c';;
+ power64le,*,elf) as='as -u -m ppc64'
+ aspp='gcc -c';;
power,*,rhapsody) as="as -arch $model"
aspp="$bytecc -c";;
sparc,*,solaris) as='as'
@@ -889,6 +890,8 @@ case "$arch,$system" in
aspp="${TOOLPREF}gcc -c";;
power64,*,elf) as='${TOOLPREF}as -u -m ppc64'
aspp='${TOOLPREF}gcc -c';;
+ power64le,*,elf) as='${TOOLPREF}as -u -m ppc64'
+ aspp='${TOOLPREF}gcc -c';;
power,rhapsody) as="${TOOLPREF}as -arch $model"
aspp="$bytecc -c";;
sparc,solaris) as="${TOOLPREF}as"
--
1.9.0

View File

@ -1,25 +0,0 @@
From 761242718c3a7513d3b93ca96d24d1f61a4126f0 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Fri, 13 Sep 2013 21:29:58 +0100
Subject: [PATCH 07/14] yacc: Use mkstemp instead of mktemp.
---
yacc/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/yacc/main.c b/yacc/main.c
index f6cac60..3067000 100644
--- a/yacc/main.c
+++ b/yacc/main.c
@@ -53,7 +53,7 @@ char *text_file_name;
char *union_file_name;
char *verbose_file_name;
-#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) || (__APPLE__)
+#if defined(__linux__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) || (__APPLE__)
#define HAVE_MKSTEMP
#endif
--
1.9.0

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
From 64da031fc17ca93efd5beabcf0b7ea49bcd645a0 Mon Sep 17 00:00:00 2001
From 425e660266792954641146da6ea7fc785b664156 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Sat, 10 May 2014 03:20:35 -0400
Subject: [PATCH 14/14] arm, arm64: Mark stack as non-executable.
Subject: [PATCH 08/10] arm, arm64: Mark stack as non-executable.
The same fix as this one, which was only fully applied to
i686 & x86-64:
@ -24,7 +24,7 @@ index 2ce244a..90f5b6e 100644
+ /* Mark stack as non-executable, PR#4564 */
+ .section .note.GNU-stack,"",%progbits
diff --git a/asmrun/arm64.S b/asmrun/arm64.S
index de670e6..84e18ba 100644
index 2c16a0e..a7d4953 100644
--- a/asmrun/arm64.S
+++ b/asmrun/arm64.S
@@ -533,3 +533,6 @@ caml_system__frametable:

View File

@ -1,716 +0,0 @@
From 26114ba365c1ef63d9605efc719f6c220ad624eb Mon Sep 17 00:00:00 2001
From: Xavier Leroy <xavier.leroy@inria.fr>
Date: Thu, 18 Jul 2013 16:07:25 +0000
Subject: [PATCH 09/14] Updated with latest versions from FSF.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13907 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
(cherry picked from commit 24bb4caeb35e49126aa3a4c0101a412db1091213)
---
config/gnu/config.guess | 196 ++++++++++++++++++++++++++++--------------------
config/gnu/config.sub | 117 +++++++++++++++++------------
2 files changed, 183 insertions(+), 130 deletions(-)
diff --git a/config/gnu/config.guess b/config/gnu/config.guess
index 8152efd..b79252d 100755
--- a/config/gnu/config.guess
+++ b/config/gnu/config.guess
@@ -1,14 +1,12 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
+# Copyright 1992-2013 Free Software Foundation, Inc.
-timestamp='2011-11-11'
+timestamp='2013-06-10'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
@@ -17,26 +15,22 @@ timestamp='2011-11-11'
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner. Please send patches (context
-# diff format) to <config-patches@gnu.org> and include a ChangeLog
-# entry.
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
#
-# This script attempts to guess a canonical system name similar to
-# config.sub. If it succeeds, it prints the system name on stdout, and
-# exits with 0. Otherwise, it exits with 1.
+# Originally written by Per Bothner.
#
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+#
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+
me=`echo "$0" | sed -e 's,.*/,,'`
@@ -56,9 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
-Software Foundation, Inc.
+Copyright 1992-2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -140,12 +132,33 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+ # If the system lacks a compiler, then just pick glibc.
+ # We could probably try harder.
+ LIBC=gnu
+
+ eval $set_cc_for_build
+ cat <<-EOF > $dummy.c
+ #include <features.h>
+ #if defined(__UCLIBC__)
+ LIBC=uclibc
+ #elif defined(__dietlibc__)
+ LIBC=dietlibc
+ #else
+ LIBC=gnu
+ #endif
+ EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+ ;;
+esac
+
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:NetBSD:*:*)
# NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
# switched to ELF, *-*-netbsd* would select the old
# object file format. This provides both forward
@@ -202,6 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo "${machine}-${os}${release}"
exit ;;
+ *:Bitrig:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+ exit ;;
*:OpenBSD:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
@@ -304,7 +321,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit ;;
- arm:riscos:*:*|arm:RISCOS:*:*)
+ arm*:riscos:*:*|arm*:RISCOS:*:*)
echo arm-unknown-riscos
exit ;;
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
@@ -803,6 +820,9 @@ EOF
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
exit ;;
+ *:MINGW64*:*)
+ echo ${UNAME_MACHINE}-pc-mingw64
+ exit ;;
*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
@@ -854,15 +874,22 @@ EOF
exit ;;
*:GNU:*:*)
# the GNU system
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
exit ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
exit ;;
+ aarch64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ aarch64_be:Linux:*:*)
+ UNAME_MACHINE=aarch64_be
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
EV5) UNAME_MACHINE=alphaev5 ;;
@@ -874,59 +901,54 @@ EOF
EV68*) UNAME_MACHINE=alphaev68 ;;
esac
objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ arc:Linux:*:* | arceb:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
arm*:Linux:*:*)
eval $set_cc_for_build
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_EABI__
then
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
else
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_PCS_VFP
then
- echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
else
- echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
fi
fi
exit ;;
avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
cris:Linux:*:*)
- echo cris-axis-linux-gnu
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
crisv32:Linux:*:*)
- echo crisv32-axis-linux-gnu
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
frv:Linux:*:*)
- echo frv-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
hexagon:Linux:*:*)
- echo hexagon-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
i*86:Linux:*:*)
- LIBC=gnu
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #ifdef __dietlibc__
- LIBC=dietlibc
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
- echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
exit ;;
ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
m32r*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
mips:Linux:*:* | mips64:Linux:*:*)
eval $set_cc_for_build
@@ -945,54 +967,63 @@ EOF
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
;;
+ or1k:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
or32:Linux:*:*)
- echo or32-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
padre:Linux:*:*)
- echo sparc-unknown-linux-gnu
+ echo sparc-unknown-linux-${LIBC}
exit ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
+ echo hppa64-unknown-linux-${LIBC}
exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-gnu ;;
- PA8*) echo hppa2.0-unknown-linux-gnu ;;
- *) echo hppa-unknown-linux-gnu ;;
+ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+ *) echo hppa-unknown-linux-${LIBC} ;;
esac
exit ;;
ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-gnu
+ echo powerpc64-unknown-linux-${LIBC}
exit ;;
ppc:Linux:*:*)
- echo powerpc-unknown-linux-gnu
+ echo powerpc-unknown-linux-${LIBC}
+ exit ;;
+ ppc64le:Linux:*:*)
+ echo powerpc64le-unknown-linux-${LIBC}
+ exit ;;
+ ppcle:Linux:*:*)
+ echo powerpcle-unknown-linux-${LIBC}
exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux
+ echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
exit ;;
sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
tile*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-gnu
+ echo ${UNAME_MACHINE}-dec-linux-${LIBC}
exit ;;
x86_64:Linux:*:*)
- echo x86_64-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1196,6 +1227,9 @@ EOF
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
echo i586-pc-haiku
exit ;;
+ x86_64:Haiku:*:*)
+ echo x86_64-unknown-haiku
+ exit ;;
SX-4:SUPER-UX:*:*)
echo sx4-nec-superux${UNAME_RELEASE}
exit ;;
@@ -1222,19 +1256,21 @@ EOF
exit ;;
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- case $UNAME_PROCESSOR in
- i386)
- eval $set_cc_for_build
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- UNAME_PROCESSOR="x86_64"
- fi
- fi ;;
- unknown) UNAME_PROCESSOR=powerpc ;;
- esac
+ eval $set_cc_for_build
+ if test "$UNAME_PROCESSOR" = unknown ; then
+ UNAME_PROCESSOR=powerpc
+ fi
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
+ fi
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
@@ -1251,7 +1287,7 @@ EOF
NEO-?:NONSTOP_KERNEL:*:*)
echo neo-tandem-nsk${UNAME_RELEASE}
exit ;;
- NSE-?:NONSTOP_KERNEL:*:*)
+ NSE-*:NONSTOP_KERNEL:*:*)
echo nse-tandem-nsk${UNAME_RELEASE}
exit ;;
NSR-?:NONSTOP_KERNEL:*:*)
@@ -1320,11 +1356,11 @@ EOF
i*86:AROS:*:*)
echo ${UNAME_MACHINE}-pc-aros
exit ;;
+ x86_64:VMkernel:*:*)
+ echo ${UNAME_MACHINE}-unknown-esx
+ exit ;;
esac
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
eval $set_cc_for_build
cat >$dummy.c <<EOF
#ifdef _SEQUENT_
diff --git a/config/gnu/config.sub b/config/gnu/config.sub
index e76eaf4..8b612ab 100755
--- a/config/gnu/config.sub
+++ b/config/gnu/config.sub
@@ -1,38 +1,31 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
+# Copyright 1992-2013 Free Software Foundation, Inc.
-timestamp='2011-11-11'
+timestamp='2013-04-24'
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine. It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted GNU ChangeLog entry.
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
@@ -75,9 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
-Software Foundation, Inc.
+Copyright 1992-2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -125,13 +116,17 @@ esac
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
- linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
knetbsd*-gnu* | netbsd*-gnu* | \
kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
+ android-linux)
+ os=-linux-android
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+ ;;
*)
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ $basic_machine != $1 ]
@@ -154,7 +149,7 @@ case $os in
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis | -knuth | -cray | -microblaze)
+ -apple | -axis | -knuth | -cray | -microblaze*)
os=
basic_machine=$1
;;
@@ -223,6 +218,12 @@ case $os in
-isc*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
+ -lynx*178)
+ os=-lynxos178
+ ;;
+ -lynx*5)
+ os=-lynxos5
+ ;;
-lynx*)
os=-lynxos
;;
@@ -247,11 +248,14 @@ case $basic_machine in
# Some are omitted here because they have special meanings below.
1750a | 580 \
| a29k \
+ | aarch64 | aarch64_be \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
- | be32 | be64 \
+ | arc | arceb \
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+ | avr | avr32 \
+ | be32 | be64 \
| bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
@@ -264,7 +268,7 @@ case $basic_machine in
| le32 | le64 \
| lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | mcore | mep | metag \
+ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
@@ -282,16 +286,17 @@ case $basic_machine in
| mipsisa64r2 | mipsisa64r2el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
+ | mipsr5900 | mipsr5900el \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
| moxie \
| mt \
| msp430 \
| nds32 | nds32le | nds32be \
- | nios | nios2 \
+ | nios | nios2 | nios2eb | nios2el \
| ns16k | ns32k \
| open8 \
- | or32 \
+ | or1k | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \
@@ -319,8 +324,7 @@ case $basic_machine in
c6x)
basic_machine=tic6x-unknown
;;
- m6811 | m68hc11 | m6812 | m68hc12 | picochip)
- # Motorola 68HC11/12.
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
basic_machine=$basic_machine-unknown
os=-none
;;
@@ -333,7 +337,10 @@ case $basic_machine in
strongarm | thumb | xscale)
basic_machine=arm-unknown
;;
-
+ xgate)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
xscaleeb)
basic_machine=armeb-unknown
;;
@@ -356,9 +363,10 @@ case $basic_machine in
# Recognize the basic CPU types with company name.
580-* \
| a29k-* \
+ | aarch64-* | aarch64_be-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
| be32-* | be64-* \
@@ -377,7 +385,8 @@ case $basic_machine in
| lm32-* \
| m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+ | microblaze-* | microblazeel-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
@@ -395,12 +404,13 @@ case $basic_machine in
| mipsisa64r2-* | mipsisa64r2el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipsr5900-* | mipsr5900el-* \
| mipstx39-* | mipstx39el-* \
| mmix-* \
| mt-* \
| msp430-* \
| nds32-* | nds32le-* | nds32be-* \
- | nios-* | nios2-* \
+ | nios-* | nios2-* | nios2eb-* | nios2el-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| open8-* \
| orion-* \
@@ -719,7 +729,6 @@ case $basic_machine in
i370-ibm* | ibm*)
basic_machine=i370-ibm
;;
-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
i*86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32
@@ -777,9 +786,13 @@ case $basic_machine in
basic_machine=ns32k-utek
os=-sysv
;;
- microblaze)
+ microblaze*)
basic_machine=microblaze-xilinx
;;
+ mingw64)
+ basic_machine=x86_64-pc
+ os=-mingw64
+ ;;
mingw32)
basic_machine=i386-pc
os=-mingw32
@@ -1008,7 +1021,11 @@ case $basic_machine in
basic_machine=i586-unknown
os=-pw32
;;
- rdos)
+ rdos | rdos64)
+ basic_machine=x86_64-pc
+ os=-rdos
+ ;;
+ rdos32)
basic_machine=i386-pc
os=-rdos
;;
@@ -1335,21 +1352,21 @@ case $os in
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
- | -sym* | -kopensolaris* \
+ | -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* | -aros* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -openbsd* | -solidbsd* \
+ | -bitrig* | -openbsd* | -solidbsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* \
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-android* \
- | -linux-newlib* | -linux-uclibc* \
+ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
@@ -1481,9 +1498,6 @@ case $os in
-aros*)
os=-aros
;;
- -kaos*)
- os=-kaos
- ;;
-zvmoe)
os=-zvmoe
;;
@@ -1532,6 +1546,9 @@ case $basic_machine in
c4x-* | tic4x-*)
os=-coff
;;
+ hexagon-*)
+ os=-elf
+ ;;
tic54x-*)
os=-coff
;;
@@ -1559,9 +1576,6 @@ case $basic_machine in
;;
m68000-sun)
os=-sunos3
- # This also exists in the configure program, but was not the
- # default.
- # os=-sunos4
;;
m68*-cisco)
os=-aout
@@ -1575,6 +1589,9 @@ case $basic_machine in
mips*-*)
os=-elf
;;
+ or1k-*)
+ os=-elf
+ ;;
or32-*)
os=-coff
;;
--
1.9.0

View File

@ -1,7 +1,7 @@
From 251d3447bb10550320f43512d8886561c1298f74 Mon Sep 17 00:00:00 2001
From 4ccada4d9255775c570c877d31ef741205e0e97f Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 1 Apr 2014 11:17:07 +0100
Subject: [PATCH 11/14] arg: Add no_arg and get_arg helper functions.
Subject: [PATCH 09/10] arg: Add no_arg and get_arg helper functions.
The no_arg function in this patch is a no-op. It will do something
useful in the followups.
@ -19,7 +19,7 @@ In particular, this should not change the treatment of Arg.current
1 file changed, 26 insertions(+), 21 deletions(-)
diff --git a/stdlib/arg.ml b/stdlib/arg.ml
index 8b64236..c8b3d44 100644
index 0f6480b..a41e0a2 100644
--- a/stdlib/arg.ml
+++ b/stdlib/arg.ml
@@ -134,56 +134,62 @@ let parse_argv_dynamic ?(current=current) argv speclist anonfun errmsg =

View File

@ -1,7 +1,7 @@
From 57955b8a4d4cf7732cb87964f5e124ab713e084b Mon Sep 17 00:00:00 2001
From d8829f409c2cb8ed691258f0266dac42caad7a9c Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 1 Apr 2014 11:21:40 +0100
Subject: [PATCH 12/14] arg: Allow flags such as --flag=arg as well as --flag
Subject: [PATCH 10/10] arg: Allow flags such as --flag=arg as well as --flag
arg.
Allow flags to be followed directly by their argument, separated by an '='
@ -16,7 +16,7 @@ http://caml.inria.fr/mantis/view.php?id=5197
2 files changed, 24 insertions(+), 7 deletions(-)
diff --git a/stdlib/arg.ml b/stdlib/arg.ml
index c8b3d44..766de5f 100644
index a41e0a2..88b1306 100644
--- a/stdlib/arg.ml
+++ b/stdlib/arg.ml
@@ -55,6 +55,12 @@ let rec assoc3 x l =
@ -35,7 +35,7 @@ index c8b3d44..766de5f 100644
@@ -130,14 +136,24 @@ let parse_argv_dynamic ?(current=current) argv speclist anonfun errmsg =
while !current < l do
let s = argv.(!current) in
if String.length s >= 1 && String.get s 0 = '-' then begin
if String.length s >= 1 && s.[0] = '-' then begin
- let action =
- try assoc3 s !speclist
- with Not_found -> stop (Unknown s)
@ -64,7 +64,7 @@ index c8b3d44..766de5f 100644
begin try
let rec treat_action = function
diff --git a/stdlib/arg.mli b/stdlib/arg.mli
index 869d030..b8c6f11 100644
index 22eda40..7078071 100644
--- a/stdlib/arg.mli
+++ b/stdlib/arg.mli
@@ -25,7 +25,8 @@

View File

@ -1,41 +0,0 @@
From 848ca220af9224a5cc7abb64f32b89ed54c21121 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 24 Mar 2014 05:50:28 -0500
Subject: [PATCH 10/14] arm64: Align code and data to 8 bytes.
Insufficient alignment seems to be the cause of relocation errors when
linking large native code OCaml programs:
(.text+0xc): relocation truncated to fit: R_AARCH64_LDST64_ABS_LO12_NC against symbol `camlOdoc_type' defined in .data section in odoc_type.o
../stdlib/stdlib.a(listLabels.o): In function `camlListLabels__entry':
(.text+0x10): relocation truncated to fit: R_AARCH64_LDST64_ABS_LO12_NC against symbol `camlListLabels' defined in .data section in ../stdlib/stdlib.a(listLabels.o)
PR#6283 http://caml.inria.fr/mantis/view.php?id=6283
---
asmcomp/arm64/emit.mlp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/asmcomp/arm64/emit.mlp b/asmcomp/arm64/emit.mlp
index fc9649c..4e7c4b0 100644
--- a/asmcomp/arm64/emit.mlp
+++ b/asmcomp/arm64/emit.mlp
@@ -651,7 +651,7 @@ let fundecl fundecl =
call_gc_sites := [];
bound_error_sites := [];
` .text\n`;
- ` .align 2\n`;
+ ` .align 3\n`;
` .globl {emit_symbol fundecl.fun_name}\n`;
` .type {emit_symbol fundecl.fun_name}, %function\n`;
`{emit_symbol fundecl.fun_name}:\n`;
@@ -692,6 +692,7 @@ let emit_item = function
let data l =
` .data\n`;
+ ` .align 3\n`;
List.iter emit_item l
(* Beginning / end of an assembly file *)
--
1.9.0

View File

@ -15,9 +15,12 @@
%global natdynlink 0
%endif
%global gitcommit 31be3c93d1f50e7b8eb17ad345292f9a705f42a7
%global shortcommit 31be3c93
Name: ocaml
Version: 4.01.0
Release: 20%{?dist}
Version: 4.02.0
Release: 0.1.git%{shortcommit}%{?dist}
Summary: OCaml compiler and programming environment
@ -25,10 +28,10 @@ License: QPL and (LGPLv2+ with exceptions)
URL: http://www.ocaml.org
Source0: http://caml.inria.fr/pub/distrib/ocaml-4.01/ocaml-%{version}.tar.gz
Source1: http://caml.inria.fr/pub/distrib/ocaml-4.01/ocaml-4.01-refman-html.tar.gz
Source2: http://caml.inria.fr/pub/distrib/ocaml-4.01/ocaml-4.01-refman.pdf
Source3: http://caml.inria.fr/pub/distrib/ocaml-4.01/ocaml-4.01-refman.info.tar.gz
Source0: https://github.com/ocaml/%{name}/archive/%{gitcommit}/%{name}-%{gitcommit}.tar.gz
Source1: http://caml.inria.fr/pub/distrib/ocaml-4.02/ocaml-4.02beta-refman-html.tar.gz
Source2: http://caml.inria.fr/pub/distrib/ocaml-4.02/ocaml-4.02beta-refman.pdf
Source3: http://caml.inria.fr/pub/distrib/ocaml-4.02/ocaml-4.02beta-refman.info.tar.gz
# IMPORTANT NOTE:
#
@ -39,32 +42,22 @@ Source3: http://caml.inria.fr/pub/distrib/ocaml-4.01/ocaml-4.01-refman.in
#
# https://git.fedorahosted.org/cgit/fedora-ocaml.git/
#
# Current branch: fedora-21-4.02
#
# ALTERNATIVELY add a patch to the end of the list (leaving the
# existing patches unchanged) adding a comment to note that it should
# be incorporated into the git repo at a later time.
#
Patch0001: 0001-Add-.gitignore-file-to-ignore-generated-files.patch
Patch0001: 0001-Don-t-ignore-.-configure-it-s-a-real-git-file.patch
Patch0002: 0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch
Patch0003: 0003-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
Patch0004: 0004-Don-t-add-rpaths-to-libraries.patch
Patch0003: 0003-Don-t-add-rpaths-to-libraries.patch
Patch0004: 0004-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
Patch0005: 0005-configure-Allow-user-defined-C-compiler-flags.patch
Patch0006: 0006-Add-support-for-ppc64.patch
Patch0007: 0007-yacc-Use-mkstemp-instead-of-mktemp.patch
# Aarch64 patches.
Patch0008: 0008-Port-to-the-ARM-64-bits-AArch64-architecture-experim.patch
Patch0009: 0009-Updated-with-latest-versions-from-FSF.patch
Patch0010: 0010-arm64-Align-code-and-data-to-8-bytes.patch
# NON-upstream patch to allow '--flag=arg' as an alternative to '--flag arg'.
Patch0011: 0011-arg-Add-no_arg-and-get_arg-helper-functions.patch
Patch0012: 0012-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch
# ppc64le support (Michel Normand).
Patch0013: 0013-Add-support-for-ppc64le.patch
# ARM & Aarch64 non-executable stack.
Patch0014: 0014-arm-arm64-Mark-stack-as-non-executable.patch
Patch0007: 0007-Add-support-for-ppc64le.patch
Patch0008: 0008-arm-arm64-Mark-stack-as-non-executable.patch
Patch0009: 0009-arg-Add-no_arg-and-get_arg-helper-functions.patch
Patch0010: 0010-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch
# Add BFD support so that ocamlobjinfo supports *.cmxs format (RHBZ#1113735).
BuildRequires: binutils-devel
@ -111,7 +104,7 @@ programming language from the ML family of languages.
This package comprises two batch compilers (a fast bytecode compiler
and an optimizing native-code compiler), an interactive toplevel system,
parsing tools (Lex,Yacc,Camlp4), a replay debugger, a documentation generator,
parsing tools (Lex,Yacc), a replay debugger, a documentation generator,
and a comprehensive library.
@ -145,56 +138,6 @@ Requires: libX11-devel
X11 support for OCaml.
%package labltk
Summary: Tk bindings for OCaml
Requires: ocaml-runtime = %{version}-%{release}
%description labltk
Labltk is a library for interfacing OCaml with the scripting language
Tcl/Tk.
This package contains the runtime files.
%package labltk-devel
Summary: Development files for labltk
Requires: ocaml = %{version}-%{release}
Requires: %{name}-labltk = %{version}-%{release}
Requires: libX11-devel
Requires: tcl-devel
Requires: tk-devel
%description labltk-devel
Labltk is a library for interfacing OCaml with the scripting language
Tcl/Tk.
This package contains the development files. It includes the ocaml
browser for code editing and library browsing.
%package camlp4
Summary: Pre-Processor-Pretty-Printer for OCaml
Requires: ocaml-runtime = %{version}-%{release}
%description camlp4
Camlp4 is a Pre-Processor-Pretty-Printer for OCaml, parsing a source
file and printing some result on standard output.
This package contains the runtime files.
%package camlp4-devel
Summary: Pre-Processor-Pretty-Printer for OCaml
Requires: ocaml = %{version}-%{release}
Requires: %{name}-camlp4 = %{version}-%{release}
%description camlp4-devel
Camlp4 is a Pre-Processor-Pretty-Printer for OCaml, parsing a source
file and printing some result on standard output.
This package contains the development files.
%package ocamldoc
Summary: Documentation generator for OCaml
Requires: ocaml = %{version}-%{release}
@ -244,15 +187,16 @@ may not be portable between versions.
%prep
%setup -q -T -b 0 -n %{name}-%{version}
%setup -q -T -D -a 1 -n %{name}-%{version}
%setup -q -T -D -a 3 -n %{name}-%{version}
%setup -q -T -b 0 -n %{name}-%{gitcommit}
%setup -q -T -D -a 1 -n %{name}-%{gitcommit}
%setup -q -T -D -a 3 -n %{name}-%{gitcommit}
cp %{SOURCE2} refman.pdf
git init
git config user.email "noone@example.com"
git config user.name "no one"
git add .
git add -f configure ;# required because .gitignore lists this file
git commit -a -q -m "%{version} baseline"
git am %{patches} </dev/null
@ -271,14 +215,7 @@ ulimit -Hs 65536
ulimit -Ss 65536
%endif
# For the use of -mpreferred-stack-boundary to workaround gcc stack
# alignment issues, see: http://caml.inria.fr/mantis/view.php?id=5700
# ONLY use this on i386.
%ifarch %{ix86}
CFLAGS="$RPM_OPT_FLAGS -mpreferred-stack-boundary=2" \
%else
CFLAGS="$RPM_OPT_FLAGS" \
%endif
./configure \
-bindir %{_bindir} \
-libdir %{_libdir}/ocaml \
@ -432,8 +369,6 @@ fi
%{_libdir}/ocaml/threads/*.cma
%{_libdir}/ocaml/fedora-ocaml-release
%exclude %{_libdir}/ocaml/graphicsX11.cmi
%exclude %{_libdir}/ocaml/stublibs/dlllabltk.so
#%exclude %{_libdir}/ocaml/stublibs/dlltkanim.so
%files source
@ -447,74 +382,6 @@ fi
%{_libdir}/ocaml/graphicsX11.mli
%files labltk
%doc LICENSE
%{_bindir}/labltk
%dir %{_libdir}/ocaml/labltk
%{_libdir}/ocaml/labltk/*.cmi
%{_libdir}/ocaml/labltk/*.cma
%{_libdir}/ocaml/labltk/*.cmo
%{_libdir}/ocaml/stublibs/dlllabltk.so
#%{_libdir}/ocaml/stublibs/dlltkanim.so
%files labltk-devel
%doc LICENSE
%doc otherlibs/labltk/examples_labltk
%doc otherlibs/labltk/examples_camltk
%{_bindir}/ocamlbrowser
%{_libdir}/ocaml/labltk/labltktop
%{_libdir}/ocaml/labltk/pp
%{_libdir}/ocaml/labltk/tkcompiler
%{_libdir}/ocaml/labltk/*.a
%if %{native_compiler}
%{_libdir}/ocaml/labltk/*.cmxa
%{_libdir}/ocaml/labltk/*.cmx
%{_libdir}/ocaml/labltk/*.o
%endif
%{_libdir}/ocaml/labltk/*.mli
%files camlp4
%doc LICENSE
%dir %{_libdir}/ocaml/camlp4
%{_libdir}/ocaml/camlp4/*.cmi
%{_libdir}/ocaml/camlp4/*.cma
%{_libdir}/ocaml/camlp4/*.cmo
%dir %{_libdir}/ocaml/camlp4/Camlp4Filters
%{_libdir}/ocaml/camlp4/Camlp4Filters/*.cmi
%{_libdir}/ocaml/camlp4/Camlp4Filters/*.cmo
%dir %{_libdir}/ocaml/camlp4/Camlp4Parsers
%{_libdir}/ocaml/camlp4/Camlp4Parsers/*.cmo
%{_libdir}/ocaml/camlp4/Camlp4Parsers/*.cmi
%dir %{_libdir}/ocaml/camlp4/Camlp4Printers
%{_libdir}/ocaml/camlp4/Camlp4Printers/*.cmi
%{_libdir}/ocaml/camlp4/Camlp4Printers/*.cmo
%dir %{_libdir}/ocaml/camlp4/Camlp4Top
%{_libdir}/ocaml/camlp4/Camlp4Top/*.cmi
%{_libdir}/ocaml/camlp4/Camlp4Top/*.cmo
%files camlp4-devel
%{_bindir}/camlp4*
%{_bindir}/mkcamlp4
%if %{native_compiler}
%{_libdir}/ocaml/camlp4/*.a
%{_libdir}/ocaml/camlp4/*.cmxa
%{_libdir}/ocaml/camlp4/*.cmx
%{_libdir}/ocaml/camlp4/*.o
%{_libdir}/ocaml/camlp4/Camlp4Filters/*.cmx
%{_libdir}/ocaml/camlp4/Camlp4Filters/*.o
%{_libdir}/ocaml/camlp4/Camlp4Parsers/*.cmx
%{_libdir}/ocaml/camlp4/Camlp4Parsers/*.o
%{_libdir}/ocaml/camlp4/Camlp4Printers/*.cmx
%{_libdir}/ocaml/camlp4/Camlp4Printers/*.o
%{_libdir}/ocaml/camlp4/Camlp4Top/*.cmx
%{_libdir}/ocaml/camlp4/Camlp4Top/*.o
%endif
%{_mandir}/man1/*
%files ocamldoc
%doc LICENSE
%doc ocamldoc/Changes.txt
@ -525,6 +392,7 @@ fi
%files docs
%doc refman.pdf htmlman
%{_infodir}/*
%{_mandir}/man1/*
%{_mandir}/man3/*
@ -549,6 +417,15 @@ fi
%changelog
* Thu Jun 26 2014 Richard W.M. Jones <rjones@redhat.com> - 4.02.0-0.1
- Update to 4.02.0-beta1 + patches from the upstream 4.02 branch.
- REMOVED labltk and camlp4 packages, since these are now packaged
separately upstream.
- Upstream includes fix for stack alignment issues on i686, so remove hack.
- Upstream now uses mkstemp where available, so patch removed.
- Upstream includes Aarch64 backend, so remove our own backport.
- Drop BR on ocaml-srpm-macros, since it is now included in Fedora.
* Thu Jun 26 2014 Richard W.M. Jones <rjones@redhat.com> - 4.01.0-20
- BR binutils-devel so ocamlobjinfo supports *.cmxs files (RHBZ#1113735).

View File

@ -1,4 +1,4 @@
04dfdd7da189462a4f10ec6530359cef ocaml-4.01.0.tar.gz
73f4657680baeb200135720fbc84eb4b ocaml-4.01-refman-html.tar.gz
f4605c5cf0dbf90395331997e600e159 ocaml-4.01-refman.info.tar.gz
f14652070cfb984c75de1919085b6915 ocaml-4.01-refman.pdf
f2fec178f4d319a551e3a9063c2e5320 ocaml-31be3c93d1f50e7b8eb17ad345292f9a705f42a7.tar.gz
c308e831a1c5d6b3024bb339fcee72f4 ocaml-4.02beta-refman-html.tar.gz
672044269cea28b661fca5c0edadc195 ocaml-4.02beta-refman.info.tar.gz
d05fc06025d7bad2a969a659f6de1c83 ocaml-4.02beta-refman.pdf