Skip to content

Commit

Permalink
[fix] compilation: wip compilation fix
Browse files Browse the repository at this point in the history
  • Loading branch information
Frederic Ye committed Jul 9, 2012
1 parent 4307455 commit 8d13b87
Show file tree
Hide file tree
Showing 26 changed files with 260 additions and 261 deletions.
33 changes: 1 addition & 32 deletions _tags
Expand Up @@ -9,39 +9,8 @@
# Default : do not include or traverse anything
# <**/*>: -include, -traverse

<tools/dependencies>: -include, -traverse

# Subdirectories to include
<{ocamllib,compiler,lib,tools}>: include, traverse
<{ocamllib,compiler,lib,tools}>: include

# Warnings
<**/*.ml>: warn_L, warn_Z, warn_error_A

# # -- from opageneral --

# <{utils,buildinfos}>: traverse

# # -- from libqml --

# <{pplib,libbase,compilerlib,passlib,libtrx,jslang,ocamllang,libqmlcompil,libruntime,oparuntime,database,teerex,libbsl,qmlslicer,ulex,qmlpasses,libsession}>: traverse

# <{libbase.{cma,cmxa},ocamlbase.top}>: use_stubs
# <ocamlbase.top>: thread, use_unix, use_str, use_zip, use_ulex, iconv

# # -- from qml2llvm --

# <{opatop,qmlflat,qmlcps,qml2ocaml,qml2js,qmljsimp,qmlcompilers,tools}>: traverse

# # -- from opa --

# <{opacapi,opalib,shared,opa,plugins,opabsl,test,opalang,passes,stdlib,ml2opa}>: traverse

# # -- from appserver --
# <{appruntime,libnet,libsecurity,libtools,protocols,opasmanagers}>: traverse
# <libsecurity.*a>: use_ssl_ext
# <appruntime.*a>: use_io
# <libnattraversal.*a>: use_miniupnpc_idl, use_natpmp_idl

# # --
# <{dissemination}>: traverse
# <{libirc}>: traverse
34 changes: 17 additions & 17 deletions build_rules.ml
Expand Up @@ -106,7 +106,7 @@ let magic_import_from_opabsl dest f =
])
in
List.iter
(fun m -> magic_import_from_opabsl "opatop" (m ^ ".ml"))
(fun m -> magic_import_from_opabsl "compiler/opatop" (m ^ ".ml"))
[ "opabslgenMLRuntime"; "opabslgenLoader" ];


Expand Down Expand Up @@ -161,14 +161,14 @@ generate_ocamldep_rule "mli";
(* -- Macro-rules generating mlstate_platform.h files -- *)
(* TODO BUG 2 : droits du script invalides *)
(* TODO BUG 3 : path du fichier généré foireux *)
rule "mlstate_platform: () -> libbase/mlstate_platform.h"
rule "mlstate_platform: () -> ocamllib/libbase/mlstate_platform.h"
~deps:(tool_deps "mlstate_platform")
~prods:["libbase/mlstate_platform.h"]
~prods:["ocamllib/libbase/mlstate_platform.h"]
(fun env build ->
Seq[
Cmd(S[Sh"chmod +x"; P "libbase/gen_platform"]);
Cmd(S[Sh"chmod +x"; P "ocamllib/libbase/gen_platform"]);
Cmd(S[get_tool "mlstate_platform"; A (if windows_mode then "WIN" else "")]);
Cmd(S[Sh"mv mlstate_platform.h libbase/mlstate_platform.h"])
Cmd(S[Sh"mv mlstate_platform.h ocamllib/libbase/mlstate_platform.h"])
]
);

Expand All @@ -189,8 +189,8 @@ let stdlib_files =
in
rule "stdlib embedded: stdlib_files -> opalib/staticsInclude.of"
~deps:stdlib_files
~prod:"opalib/staticsInclude.of"
(fun env build -> Echo (List.map (fun f -> f^"\n") stdlib_files, "opalib/staticsInclude.of"));
~prod:"compiler/opalib/staticsInclude.of"
(fun env build -> Echo (List.map (fun f -> f^"\n") stdlib_files, "compiler/opalib/staticsInclude.of"));

let opa_opacapi_files =
let dirs = rec_subdirs ["lib/stdlib"] in
Expand All @@ -204,12 +204,12 @@ let opa_opacapi_plugins = ["badop"] in
let opacapi_validation = "opacapi.validation" in
rule "Opa Compiler Interface Validation (opacapi)"
~deps:("compiler/opa/checkopacapi.native" :: opa_opacapi_files
@ List.map (fun x -> Printf.sprintf "plugins/%s/%s.oppf" x x)
@ List.map (fun x -> Printf.sprintf "lib/plugins/%s/%s.oppf" x x)
opa_opacapi_plugins)
~prod:opacapi_validation
(fun env build ->
Cmd(S ([
P "./opa/checkopacapi.native" ;
P "./compiler/opa/checkopacapi.native" ;
A "-o" ;
P opacapi_validation ;
] @ (List.rev_map (fun file -> P file) opa_opacapi_files)
Expand Down Expand Up @@ -248,7 +248,7 @@ let parser_files =
let files = List.fold_right (fun dir acc -> dir_ext_files "trx" dir @ dir_ext_files "ml" dir) dir ["general/surfaceAst.ml"] in
files
in
let opaParserVersion = "opalang"/"classic_syntax"/"opaParserVersion.ml"
let opaParserVersion = "compiler"/"opalang"/"classic_syntax"/"opaParserVersion.ml"
in
rule "opa parser version: opalang/*_syntax/* stdlib -> opalang/classic_syntax/opaParserVersion.ml"
~deps:parser_files
Expand Down Expand Up @@ -494,7 +494,7 @@ rule "opabsl_sources"
A"--verbose";
]
@special_bsl_options@
List.map (fun s -> P (".."/s)) (
List.map (fun s -> P (".."/".."/s)) (
js_conf :: all_sources_bsl
)));
mv "lib/opabsl/opabslgenMLRuntime.ml" "lib/opabsl/opabslgenMLRuntime_x.ml";
Expand All @@ -510,9 +510,9 @@ rule "opa-bslgenMLRuntime interface validation"
]
~prod: "lib/opabsl/opabslgenMLRuntime.ml"
(fun env build ->
Seq[
cp "lib/opabsl/opabslgenMLRuntime_x.ml" "lib/opabsl/opabslgenMLRuntime.ml";
]
Seq[
cp "lib/opabsl/opabslgenMLRuntime_x.ml" "lib/opabsl/opabslgenMLRuntime.ml";
]
);

let js_pp_bsl = dir_sources_bsl ~prefix:"opabslgen_" ~suffix:".pp" "lib/opabsl/jsbsl" in
Expand Down Expand Up @@ -556,13 +556,13 @@ rule "Client lib JS validation"
A"--js" :: A "lib/opabsl/jsbsl/jquery_ext_jQueryExtends.extern.js" ::
A"--js" :: A "lib/opabsl/jsbsl/selection_ext_bsldom.extern.js" ::
A"--js" :: A "lib/opabsl/jsbsl/jquery_extra.externs.js" ::
A"--js" :: A"qmlcps/qmlCpsClientLib.js" ::
A"--js" :: A "compiler/qmlcps/qmlCpsClientLib.js" ::
[]
))
]
in
Seq (
run_check "qmljsimp/qmlJsImpClientLib.js" "lib/opabsl/js_validation/imp_client_lib.js"
run_check "compiler/qmljsimp/qmlJsImpClientLib.js" "lib/opabsl/js_validation/imp_client_lib.js"
)
);

Expand Down Expand Up @@ -913,7 +913,7 @@ let package_building ?(nodebackend=false) ~name ~stamp ~stdlib_only ~rebuild ()
(fun env build ->
try
let plugins = string_list_of_file all_plugins_file in
let plugins = List.map (fun f -> "plugins" / f / f -.- "oppf") plugins in
let plugins = List.map (fun f -> "lib/plugins" / f / f -.- "oppf") plugins in
build_list build plugins;
let packages = string_list_of_file (all_packages_file nodebackend) in
let packages =
Expand Down
110 changes: 55 additions & 55 deletions build_tools
Expand Up @@ -10,86 +10,86 @@
# the build_target is the name of the exe as understood by ocamlbuild.
# install dir is relative to the installation prefix, default is "bin/"

# # from opageneral itself
# from opageneral itself
internal ppdebug compiler/pplib/ppml.native
# internal ppdebug-opa compiler/pplib/ppopa.native
internal ppdebug-opa compiler/pplib/ppopa.native
internal ppjs compiler/pplib/ppjs.native

# # from libqml
# from libqml
internal mlstate_platform ocamllib/libbase/gen_platform
internal trx tools/teerex/trx_ocaml.native
# internal trx_interpreter compiler/teerex/trx_interpreter.native
internal trx_interpreter tools/teerex/trx_interpreter.native
internal opa-plugin-builder-bin compiler/libbsl/bslregister.native lib/opa/bin
# internal opa-plugin-browser-bin compiler/libbsl/bslbrowser.native lib/opa/bin
# internal bslbrowser compiler/libbsl/bslbrowser
# internal passdesign compiler/passlib/passdesign.native
# internal ocamlbase.top ocamllib/ocamlbase.top
# internal ocamlbase ocamllib/libbase/ocamlbase
# internal opa-db-server ocamllib/database/database_server.native
# internal opa-db-tool ocamllib/database/database_tool.native
# internal opatrack compiler/passlib/opatrack.sh
# internal opadep compiler/compilerlib/opadep.sh
# internal filepos ocamllib/libbase/testfilepos.native
internal opa-plugin-browser-bin compiler/libbsl/bslbrowser.native lib/opa/bin
internal bslbrowser compiler/libbsl/bslbrowser
internal passdesign compiler/passlib/passdesign.native
internal ocamlbase.top ocamllib/ocamlbase.top
internal ocamlbase ocamllib/libbase/ocamlbase
internal opa-db-server ocamllib/database/database_server.native
internal opa-db-tool ocamllib/database/database_tool.native
internal opatrack compiler/passlib/opatrack.sh
internal opadep compiler/compilerlib/opadep.sh
internal filepos ocamllib/libbase/testfilepos.native
internal genproto compiler/protocols/genproto.native
internal mlidl compiler/protocols/mlidl.native
internal wsdl2ml compiler/protocols/wsdl2ml.native
# internal jsstat compiler/jslang/jsstat.native
internal jsstat compiler/jslang/jsstat.native

# # from qml2llvm
# internal opatop compiler/opatop/opatop.native
# internal qmljs compiler/qmlcompilers/qmljs_exe.native
# internal qmlJsImpClientLib.js compiler/qmljsimp/qmlJsImpClientLib.js lib/opa/static
# internal clientLibLib.js compiler/qml2js/clientLibLib.js lib/opa/static
# internal qmlCpsClientLib.js compiler/qmlcps/qmlCpsClientLib.js lib/opa/static
# internal qmlNoCpsClientLib.js compiler/qmlcps/qmlNoCpsClientLib.js lib/opa/static
# internal odep tools/odep.native
# internal odeplink tools/odeplink.native
# from qml2llvm
internal opatop compiler/opatop/opatop.native
internal qmljs compiler/qmlcompilers/qmljs_exe.native
internal qmlJsImpClientLib.js compiler/qmljsimp/qmlJsImpClientLib.js lib/opa/static
internal clientLibLib.js compiler/qml2js/clientLibLib.js lib/opa/static
internal qmlCpsClientLib.js compiler/qmlcps/qmlCpsClientLib.js lib/opa/static
internal qmlNoCpsClientLib.js compiler/qmlcps/qmlNoCpsClientLib.js lib/opa/static
internal odep tools/odep.native
internal odeplink tools/odeplink.native

# # from opa
# internal opa2opa compiler/opalang/opa2opa.native
# from opa
internal opa2opa compiler/opalang/opa2opa.native
internal ofile tools/ofile.native
# internal opa-translate compiler/opa/syntaxHelper.native
internal opa-translate compiler/opa/syntaxHelper.native

# # The name of opa raw executable, following unix guidelines (e.g. firefox distrib)
# # when there is a wraper used to call a raw exe
# The name of opa raw executable, following unix guidelines (e.g. firefox distrib)
# when there is a wraper used to call a raw exe
internal opa-bin compiler/opa/main.native lib/opa/bin

# internal opa_bash_completion tools/bash/bash_completion share/opa
internal opa_bash_completion tools/bash/bash_completion share/opa

# # for now, these can't be built cleanly from opageneral
# internal opabslgen.bypass lib/opabsl/opabslgen.bypass lib/opa/static
# internal serverLib.cmi lib/opabsl/serverLib.cmi lib/opa/static
# for now, these can't be built cleanly from opageneral
internal opabslgen.bypass lib/opabsl/opabslgen.bypass lib/opa/static
internal serverLib.cmi lib/opabsl/serverLib.cmi lib/opa/static

# # for helping developpers of plugins we can distribute the source of the interface
# internal bslServerLib.ml ocamllib/libbase/bslServerLib.ml lib/opa/static
# for helping developpers of plugins we can distribute the source of the interface
internal bslServerLib.ml ocamllib/libbase/bslServerLib.ml lib/opa/static

# # slicer plugin
# # internal testSlicerPlugin.cmxs plugins/testSlicerPlugin.cmxs plugins
# # internal testSlicerMLRuntime.cmx plugins/testSlicerMLRuntime.cmx plugins
# # internal testSlicerMLRuntime.cmi plugins/testSlicerMLRuntime.cmi plugins
# # internal testSlicerMLRuntime.o plugins/testSlicerMLRuntime.o plugins
# # internal testSlicerJSPlugin.js plugins/testSlicerJSRuntime.js plugins
# slicer plugin
# internal testSlicerPlugin.cmxs plugins/testSlicerPlugin.cmxs plugins
# internal testSlicerMLRuntime.cmx plugins/testSlicerMLRuntime.cmx plugins
# internal testSlicerMLRuntime.cmi plugins/testSlicerMLRuntime.cmi plugins
# internal testSlicerMLRuntime.o plugins/testSlicerMLRuntime.o plugins
# internal testSlicerJSPlugin.js plugins/testSlicerJSRuntime.js plugins

# # javascript checker
# javascript checker
internal jschecker.jar tools/jschecker/compiler.jar share/opa/jschecker
internal jschecker_cpsclientlib.js compiler/qmlcps/qmlCpsClientLib-external.js share/opa/jschecker
internal jschecker_clientlib.js compiler/qml2js/clientLib-external.js share/opa/jschecker
internal jschecker_clientliblib.js compiler/qml2js/clientLibLib-external.js share/opa/jschecker
internal jschecker_externals.js tools/jschecker/externals.js share/opa/jschecker
internal jschecker_jquery.js compiler/opabsl/jsbsl/jquery-1.6.externs.js share/opa/jschecker
internal jschecker_jquery.js lib/opabsl/jsbsl/jquery-1.6.externs.js share/opa/jschecker

# # for the linking of servers
# internal runtimeMain.cmx ocamllib/libnet/runtimeMain.cmx lib/opa/static
# internal runtimeMain.cmo ocamllib/libnet/runtimeMain.cmo lib/opa/static
# internal runtimeMain.o ocamllib/libnet/runtimeMain.o lib/opa/static
# for the linking of servers
internal runtimeMain.cmx ocamllib/libnet/runtimeMain.cmx lib/opa/static
internal runtimeMain.cmo ocamllib/libnet/runtimeMain.cmo lib/opa/static
internal runtimeMain.o ocamllib/libnet/runtimeMain.o lib/opa/static

# # mimetype database
# internal mimetype_database.xml ocamllib/libbase/mimetype_database.xml share/opa
# mimetype database
internal mimetype_database.xml ocamllib/libbase/mimetype_database.xml share/opa

# # dissemination
# internal opa-cloud tools/dissemination/spawn.sh
# dissemination
internal opa-cloud tools/dissemination/spawn.sh

# # manpages
# internal gen_opa_manpage compiler/opa/gen_opa_manpage.native
# internal gen_opatop_manpage compiler/opatop/gen_opatop_manpage.native
# internal genman tools/manpages/genman.native
# manpages
internal gen_opa_manpage compiler/opa/gen_opa_manpage.native
internal gen_opatop_manpage compiler/opatop/gen_opatop_manpage.native
internal genman tools/manpages/genman.native
1 change: 1 addition & 0 deletions compiler/_tags
Expand Up @@ -3,3 +3,4 @@
# COMPILER TAGS
#

<{buildinfos,compilerlib,jslang,libbsl,libqmlcompil,libtrx,ocamllang,opa,opacapi,opalang,opalib,opatop,passes,passlib,pplib,protocols,qml2js,qml2ocaml,qmlcompilers,qmlcps,qmlflat,qmljsimp,qmlpasses,qmlslicer/}>: traverse
2 changes: 2 additions & 0 deletions compiler/opatop/_tags
Expand Up @@ -2,6 +2,8 @@
# AIE AIE AIE : qmltop is so greedy in libs than we are lazy to clean this up
<**/*.{ml,mli,byte,native}>: thread, use_ssl, use_graph, use_zip, use_str, use_unix, use_bigarray, use_buildinfos, use_libbase, use_libqmlcompil, use_libbsl, use_qmlslicer, use_libruntime, use_appruntime, use_oparuntime, use_libnet, use_libsecurity, use_libtools, use_database, use_ulex, use_libtrx, use_qmlcpsserver, use_cryptokit, use_nums, use_passlib, use_dynlink, use_opalang, use_compilerlib, use_ocamllang, use_jslang, use_opacapi, use_qmlpasses, use_libsession, iconv

<lib/opabsl>: traverse

<gen_opatop_manpage.*>: use_pplib
<opatop.*>: use_pplib

Expand Down
2 changes: 1 addition & 1 deletion lib/_tags
@@ -1,6 +1,6 @@
# -*- conf -*- (for emacs)
#
# GLOBAL TAGS
# LIB TAGS
#

<{experimental,opabsl,plugins,stdlib}>: traverse
File renamed without changes.
File renamed without changes.
File renamed without changes.
10 changes: 9 additions & 1 deletion ocamllib/_tags
Expand Up @@ -3,4 +3,12 @@
# OCAMLLIB TAGS
#

<{appruntime,database,libbase,libirc,libnet,libruntime,libsecurity,libsession,libtools,oparuntime}>: traverse
<{appruntime,database,libbase,libirc,libnet,libruntime,libsecurity,libsession,libtools,oparuntime}>: traverse

<{libbase.{cma,cmxa},ocamlbase.top}>: use_stubs
<ocamlbase.top>: thread, use_unix, use_str, use_zip, use_ulex, iconv

<libsecurity.*a>: use_ssl_ext
<appruntime.*a>: use_io

<libnattraversal.*a>: use_miniupnpc_idl, use_natpmp_idl
4 changes: 2 additions & 2 deletions ocamllib/appruntime/io/binding_epoll.c
@@ -1,5 +1,5 @@
/*
Copyright © 2011 MLstate
Copyright © 2011, 2012 MLstate
This file is part of OPA.
Expand Down Expand Up @@ -31,7 +31,7 @@
#include <caml/fail.h>
#include <caml/threads.h>

#include "libbase/mlstate_platform.h"
#include "ocamllib/libbase/mlstate_platform.h"

#define EXPORT(name,v) \
CAMLprim value ep_##name() \
Expand Down

0 comments on commit 8d13b87

Please sign in to comment.