| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] |
| ID | Project | Category | View Status | Date Submitted | Last Update |
| 0005885 | OCaml | OCamlbuild (the tool) | public | 2013-01-12 16:49 | 2013-06-13 07:18 |
|
| Reporter | vouillon | |
| Assigned To | meyer | |
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | resolved | Resolution | fixed | |
| Platform | | OS | | OS Version | |
| Product Version | 4.00.1 | |
| Target Version | | Fixed in Version | 4.01.0+dev | |
|
| Summary | 0005885: Incorrect rule for compiling C stubs when shared libraries are not supported |
| Description | ocamlbuild always expects ocamlmklib to produce a dll*.so file.
This is incorrect when shared library are not supported.
Here is a patch that fixes this issue. |
| Tags | No tags attached. |
|
| Attached Files | ocamlbuild.txt [^] (742 bytes) 2013-01-12 16:49 [Show Content] [Hide Content]--- ocamlbuild/ocaml_specific.ml~
+++ ocamlbuild/ocaml_specific.ml
@@ -196,8 +196,11 @@
(Ocaml_compiler.byte_library_link "%.cmo" "%.cma");;
rule "ocaml C stubs: clib & (o|obj)* -> (a|lib) & (so|dll)"
- ~prods:["%(path:<**/>)lib%(libname:<*> and not <*.*>)"-.-ext_lib;
- "%(path:<**/>)dll%(libname:<*> and not <*.*>)"-.-ext_dll]
+ ~prods:(["%(path:<**/>)lib%(libname:<*> and not <*.*>)"-.-ext_lib] @
+ if Ocamlbuild_Myocamlbuild_config.supports_shared_libraries then
+ ["%(path:<**/>)dll%(libname:<*> and not <*.*>)"-.-ext_dll]
+ else
+ [])
~dep:"%(path)lib%(libname).clib"
(C_tools.link_C_library "%(path)lib%(libname).clib" ("%(path)lib%(libname)"-.-ext_lib) "%(path)%(libname)");;
|
|