From: Xavier L. <Ba...@us...> - 2013-04-11 17:07:48
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "krobot". The branch, master has been updated via b8e1025d2b6fe0321b5d6e347e8eb9da65248e0a (commit) from ce3ff750e287178ea2034d0a683371562d679e9e (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit b8e1025d2b6fe0321b5d6e347e8eb9da65248e0a Author: Xavier Lagorce <Xav...@cr...> Date: Thu Apr 11 19:09:02 2013 +0200 [control2011/krobot-mc-simulator] Initial import of new general simulator for motor controller card ----------------------------------------------------------------------- Changes: diff --git a/info/control2011/_oasis b/info/control2011/_oasis index f90e326..fb0111d 100644 --- a/info/control2011/_oasis +++ b/info/control2011/_oasis @@ -176,6 +176,13 @@ Executable "krobot-hil-simulator" MainIs: krobot_hil_simulator.ml BuildDepends: krobot, lwt.syntax +Executable "krobot-mc-simulator" + Path: src/tools + Install: true + CompiledObject: best + MainIs: krobot_mc_simulator.ml + BuildDepends: krobot, lwt.syntax + Executable "krobot-planner" Path: src/tools Install: true diff --git a/info/control2011/_tags b/info/control2011/_tags index 5ca553f..4b665fc 100644 --- a/info/control2011/_tags +++ b/info/control2011/_tags @@ -2,279 +2,276 @@ <src/interfaces/*.ml>: -syntax_camlp4o # OASIS_START -# DO NOT EDIT (digest: 9d24891399e4580abf4972e7db50e404) -# Ignore VCS directories, you can use the same kind of rule outside -# OASIS_START/STOP if you want to exclude directories that contains -# useless stuff for the build process -<**/.svn>: -traverse -<**/.svn>: not_hygienic -".bzr": -traverse -".bzr": not_hygienic -".hg": -traverse -".hg": not_hygienic -".git": -traverse -".git": not_hygienic -"_darcs": -traverse -"_darcs": not_hygienic +# DO NOT EDIT (digest: 68e14c8d43423b2050fb1cf67d1938cc) # Library krobot -"src/lib/krobot.cmxs": use_krobot -<src/lib/krobot.{cma,cmxa}>: use_libkrobot_stubs -<src/lib/*.ml{,i}>: pkg_lwt.syntax +"src/lib": include +<src/lib/krobot.{cma,cmxa}>: use_libkrobot <src/lib/*.ml{,i}>: pkg_lwt.unix +<src/lib/*.ml{,i}>: pkg_lwt.syntax <src/lib/*.ml{,i}>: pkg_lwt.react -"src/lib/krobot_message_stubs.c": pkg_lwt.syntax "src/lib/krobot_message_stubs.c": pkg_lwt.unix +"src/lib/krobot_message_stubs.c": pkg_lwt.syntax "src/lib/krobot_message_stubs.c": pkg_lwt.react # Library krobot-can -"src/can/krobot-can.cmxs": use_krobot-can -<src/can/krobot-can.{cma,cmxa}>: use_libkrobot-can_stubs +"src/can": include +<src/can/krobot-can.{cma,cmxa}>: use_libkrobot-can <src/can/*.ml{,i}>: use_krobot -<src/can/*.ml{,i}>: pkg_lwt.syntax -<src/can/*.ml{,i}>: pkg_sexplib <src/can/*.ml{,i}>: pkg_sexplib.syntax +<src/can/*.ml{,i}>: pkg_sexplib <src/can/*.ml{,i}>: pkg_lwt.unix -<src/can/*.ml{,i}>: pkg_bitstring +<src/can/*.ml{,i}>: pkg_lwt.syntax <src/can/*.ml{,i}>: pkg_lwt.react +<src/can/*.ml{,i}>: pkg_bitstring "src/can/can_stubs.c": use_krobot -"src/can/can_stubs.c": pkg_lwt.syntax -"src/can/can_stubs.c": pkg_sexplib "src/can/can_stubs.c": pkg_sexplib.syntax +"src/can/can_stubs.c": pkg_sexplib "src/can/can_stubs.c": pkg_lwt.unix -"src/can/can_stubs.c": pkg_bitstring +"src/can/can_stubs.c": pkg_lwt.syntax "src/can/can_stubs.c": pkg_lwt.react +"src/can/can_stubs.c": pkg_bitstring +# Executable krobot-dump +<src/tools/krobot_dump.{native,byte}>: use_krobot +<src/tools/krobot_dump.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_dump.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_dump.{native,byte}>: pkg_lwt.react +# Executable krobot-ax12-control +<src/tools/krobot_ax12_control.{native,byte}>: use_krobot-can +<src/tools/krobot_ax12_control.{native,byte}>: use_krobot +<src/tools/krobot_ax12_control.{native,byte}>: pkg_sexplib.syntax +<src/tools/krobot_ax12_control.{native,byte}>: pkg_sexplib +<src/tools/krobot_ax12_control.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_ax12_control.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_ax12_control.{native,byte}>: pkg_lwt.react +<src/tools/krobot_ax12_control.{native,byte}>: pkg_bitstring +# Executable krobot-dump-encoders +<src/tools/krobot_dump_encoders.{native,byte}>: use_krobot +<src/tools/krobot_dump_encoders.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_dump_encoders.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_dump_encoders.{native,byte}>: pkg_lwt.react +# Executable krobot-beacon-reader +<src/tools/krobot_beacon_reader.{native,byte}>: use_krobot +<src/tools/krobot_beacon_reader.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_beacon_reader.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_beacon_reader.{native,byte}>: pkg_lwt.react # Executable krobot-driver <src/driver/krobot_driver.{native,byte}>: use_krobot-can <src/driver/krobot_driver.{native,byte}>: use_krobot -<src/driver/krobot_driver.{native,byte}>: pkg_lwt.syntax -<src/driver/krobot_driver.{native,byte}>: pkg_sexplib <src/driver/krobot_driver.{native,byte}>: pkg_sexplib.syntax +<src/driver/krobot_driver.{native,byte}>: pkg_sexplib <src/driver/krobot_driver.{native,byte}>: pkg_lwt.unix -<src/driver/krobot_driver.{native,byte}>: pkg_bitstring +<src/driver/krobot_driver.{native,byte}>: pkg_lwt.syntax <src/driver/krobot_driver.{native,byte}>: pkg_lwt.react +<src/driver/krobot_driver.{native,byte}>: pkg_bitstring <src/driver/*.ml{,i}>: use_krobot-can <src/driver/*.ml{,i}>: use_krobot -<src/driver/*.ml{,i}>: pkg_lwt.syntax -<src/driver/*.ml{,i}>: pkg_sexplib <src/driver/*.ml{,i}>: pkg_sexplib.syntax +<src/driver/*.ml{,i}>: pkg_sexplib <src/driver/*.ml{,i}>: pkg_lwt.unix -<src/driver/*.ml{,i}>: pkg_bitstring +<src/driver/*.ml{,i}>: pkg_lwt.syntax <src/driver/*.ml{,i}>: pkg_lwt.react -# Executable krobot-hub -<src/tools/krobot_hub.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_hub.{native,byte}>: pkg_lwt.unix -# Executable krobot-dump -<src/tools/krobot_dump.{native,byte}>: use_krobot -<src/tools/krobot_dump.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_dump.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_dump.{native,byte}>: pkg_lwt.react -# Executable krobot-monitor -<src/tools/krobot_monitor.{native,byte}>: use_krobot -<src/tools/krobot_monitor.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_monitor.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_monitor.{native,byte}>: pkg_lwt.react -# Executable krobot-dump-encoders -<src/tools/krobot_dump_encoders.{native,byte}>: use_krobot -<src/tools/krobot_dump_encoders.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_dump_encoders.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_dump_encoders.{native,byte}>: pkg_lwt.react -# Executable krobot-record -<src/tools/krobot_record.{native,byte}>: use_krobot -<src/tools/krobot_record.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_record.{native,byte}>: pkg_threads -<src/tools/krobot_record.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_record.{native,byte}>: pkg_lwt.react -# Executable krobot-replay -<src/tools/krobot_replay.{native,byte}>: use_krobot -<src/tools/krobot_replay.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_replay.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_replay.{native,byte}>: pkg_lwt.react -# Executable krobot-read -<src/tools/krobot_read.{native,byte}>: use_krobot -<src/tools/krobot_read.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_read.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_read.{native,byte}>: pkg_lwt.react -# Executable krobot-plot -<src/tools/krobot_plot.{native,byte}>: use_krobot -<src/tools/krobot_plot.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_plot.{native,byte}>: pkg_cairo.lablgtk2 -<src/tools/krobot_plot.{native,byte}>: pkg_lwt.glib -<src/tools/krobot_plot.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_plot.{native,byte}>: pkg_lwt.react -# Executable krobot-plot-battery -<src/tools/krobot_plot_battery.{native,byte}>: use_krobot -<src/tools/krobot_plot_battery.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_plot_battery.{native,byte}>: pkg_cairo.lablgtk2 -<src/tools/krobot_plot_battery.{native,byte}>: pkg_lwt.glib -<src/tools/krobot_plot_battery.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_plot_battery.{native,byte}>: pkg_lwt.react +<src/driver/*.ml{,i}>: pkg_bitstring # Executable krobot-viewer <src/tools/krobot_viewer.{native,byte}>: use_krobot +<src/tools/krobot_viewer.{native,byte}>: pkg_lwt.unix <src/tools/krobot_viewer.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_viewer.{native,byte}>: pkg_cairo.lablgtk2 +<src/tools/krobot_viewer.{native,byte}>: pkg_lwt.react <src/tools/krobot_viewer.{native,byte}>: pkg_lwt.glib <src/tools/krobot_viewer.{native,byte}>: pkg_lablgtk2.glade -<src/tools/krobot_viewer.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_viewer.{native,byte}>: pkg_lwt.react +<src/tools/krobot_viewer.{native,byte}>: pkg_cairo.lablgtk2 <src/tools/*.ml{,i}>: pkg_lablgtk2.glade -# Executable krobot-simulator -<src/tools/krobot_simulator.{native,byte}>: use_krobot -<src/tools/krobot_simulator.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_simulator.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_simulator.{native,byte}>: pkg_lwt.react +# Executable krobot-monitor +<src/tools/krobot_monitor.{native,byte}>: use_krobot +<src/tools/krobot_monitor.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_monitor.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_monitor.{native,byte}>: pkg_lwt.react # Executable krobot-hil-simulator <src/tools/krobot_hil_simulator.{native,byte}>: use_krobot -<src/tools/krobot_hil_simulator.{native,byte}>: pkg_lwt.syntax <src/tools/krobot_hil_simulator.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_hil_simulator.{native,byte}>: pkg_lwt.syntax <src/tools/krobot_hil_simulator.{native,byte}>: pkg_lwt.react -# Executable krobot-planner -<src/tools/krobot_planner.{native,byte}>: use_krobot -<src/tools/krobot_planner.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_planner.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_planner.{native,byte}>: pkg_lwt.react +# Executable krobot-hub +<src/tools/krobot_hub.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_hub.{native,byte}>: pkg_lwt.syntax +# Executable krobot-calibrate-sharps +<src/tools/krobot_calibrate_sharps.{native,byte}>: use_krobot +<src/tools/krobot_calibrate_sharps.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_calibrate_sharps.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_calibrate_sharps.{native,byte}>: pkg_lwt.react +# Executable krobot-see-coin +<src/tools/krobot_see_coin.{native,byte}>: use_krobot +<src/tools/krobot_see_coin.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_see_coin.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_see_coin.{native,byte}>: pkg_lwt.react +<src/tools/krobot_see_coin.{native,byte}>: pkg_cv +<src/tools/*.ml{,i}>: pkg_cv +# Executable send-can +<examples/send_can.{native,byte}>: use_krobot-can +<examples/send_can.{native,byte}>: use_krobot +<examples/send_can.{native,byte}>: pkg_sexplib.syntax +<examples/send_can.{native,byte}>: pkg_sexplib +<examples/send_can.{native,byte}>: pkg_lwt.unix +<examples/send_can.{native,byte}>: pkg_lwt.syntax +<examples/send_can.{native,byte}>: pkg_lwt.react +<examples/send_can.{native,byte}>: pkg_bitstring +# Executable krobot-vm +<src/tools/krobot_vm.{native,byte}>: use_krobot +<src/tools/krobot_vm.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_vm.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_vm.{native,byte}>: pkg_lwt.react +# Executable krobot-webcam +<src/tools/krobot_webcam.{native,byte}>: use_krobot +<src/tools/krobot_webcam.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_webcam.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_webcam.{native,byte}>: pkg_lwt.react +# Executable krobot-stop-beacon +<src/tools/krobot_stop_beacon.{native,byte}>: use_krobot +<src/tools/krobot_stop_beacon.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_stop_beacon.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_stop_beacon.{native,byte}>: pkg_lwt.react # Executable krobot-fake-beacons <src/tools/krobot_fake_beacons.{native,byte}>: use_krobot -<src/tools/krobot_fake_beacons.{native,byte}>: pkg_lwt.syntax <src/tools/krobot_fake_beacons.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_fake_beacons.{native,byte}>: pkg_lwt.syntax <src/tools/krobot_fake_beacons.{native,byte}>: pkg_lwt.react +# Executable krobot-urg +<src/tools/krobot_urg.{native,byte}>: use_krobot +<src/tools/krobot_urg.{native,byte}>: pkg_urg +<src/tools/krobot_urg.{native,byte}>: pkg_threads +<src/tools/krobot_urg.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_urg.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_urg.{native,byte}>: pkg_lwt.react +<src/tools/krobot_urg.{native,byte}>: pkg_lwt.preemptive +<src/tools/*.ml{,i}>: pkg_urg +<src/tools/*.ml{,i}>: pkg_lwt.preemptive +# Executable krobot-read +<src/tools/krobot_read.{native,byte}>: use_krobot +<src/tools/krobot_read.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_read.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_read.{native,byte}>: pkg_lwt.react # Executable krobot-objects <src/tools/krobot_objects.{native,byte}>: use_krobot -<src/tools/krobot_objects.{native,byte}>: pkg_lwt.syntax <src/tools/krobot_objects.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_objects.{native,byte}>: pkg_lwt.syntax <src/tools/krobot_objects.{native,byte}>: pkg_lwt.react -# Executable krobot-webcam -<src/tools/krobot_webcam.{native,byte}>: use_krobot -<src/tools/krobot_webcam.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_webcam.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_webcam.{native,byte}>: pkg_lwt.react +# Executable krobot-ia +<src/tools/krobot_ia.{native,byte}>: use_krobot +<src/tools/krobot_ia.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_ia.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_ia.{native,byte}>: pkg_lwt.react +# Executable krobot-joystick +<src/tools/krobot_joystick.{native,byte}>: use_krobot +<src/tools/krobot_joystick.{native,byte}>: pkg_sdl +<src/tools/krobot_joystick.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_joystick.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_joystick.{native,byte}>: pkg_lwt.react +<src/tools/*.ml{,i}>: pkg_sdl # Executable krobot-kill <src/tools/krobot_kill.{native,byte}>: use_krobot -<src/tools/krobot_kill.{native,byte}>: pkg_lwt.syntax <src/tools/krobot_kill.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_kill.{native,byte}>: pkg_lwt.syntax <src/tools/krobot_kill.{native,byte}>: pkg_lwt.react -# Executable krobot-calibrate-sharps -<src/tools/krobot_calibrate_sharps.{native,byte}>: use_krobot -<src/tools/krobot_calibrate_sharps.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_calibrate_sharps.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_calibrate_sharps.{native,byte}>: pkg_lwt.react +# Executable krobot-plot-battery +<src/tools/krobot_plot_battery.{native,byte}>: use_krobot +<src/tools/krobot_plot_battery.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_plot_battery.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_plot_battery.{native,byte}>: pkg_lwt.react +<src/tools/krobot_plot_battery.{native,byte}>: pkg_lwt.glib +<src/tools/krobot_plot_battery.{native,byte}>: pkg_cairo.lablgtk2 +# Executable krobot-ax12-clean # Executable krobot-sharps <src/tools/krobot_sharps.{native,byte}>: use_krobot -<src/tools/krobot_sharps.{native,byte}>: pkg_lwt.syntax <src/tools/krobot_sharps.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_sharps.{native,byte}>: pkg_lwt.syntax <src/tools/krobot_sharps.{native,byte}>: pkg_lwt.react -# Executable krobot-vm -<src/tools/krobot_vm.{native,byte}>: use_krobot -<src/tools/krobot_vm.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_vm.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_vm.{native,byte}>: pkg_lwt.react -# Executable krobot-ia -<src/tools/krobot_ia.{native,byte}>: use_krobot -<src/tools/krobot_ia.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_ia.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_ia.{native,byte}>: pkg_lwt.react -# Executable krobot-homologation -<src/tools/krobot_homologation.{native,byte}>: use_krobot -<src/tools/krobot_homologation.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_homologation.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_homologation.{native,byte}>: pkg_lwt.react -# Executable krobot-can-display -<src/tools/krobot_can_display.{native,byte}>: use_krobot-can -<src/tools/krobot_can_display.{native,byte}>: use_krobot -<src/tools/krobot_can_display.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_can_display.{native,byte}>: pkg_sexplib -<src/tools/krobot_can_display.{native,byte}>: pkg_sexplib.syntax -<src/tools/krobot_can_display.{native,byte}>: pkg_cairo.lablgtk2 -<src/tools/krobot_can_display.{native,byte}>: pkg_lwt.glib -<src/tools/krobot_can_display.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_can_display.{native,byte}>: pkg_bitstring -<src/tools/krobot_can_display.{native,byte}>: pkg_lwt.react -<src/tools/*.ml{,i}>: pkg_cairo.lablgtk2 -<src/tools/*.ml{,i}>: pkg_lwt.glib -# Executable krobot-ax12-control -<src/tools/krobot_ax12_control.{native,byte}>: use_krobot-can -<src/tools/krobot_ax12_control.{native,byte}>: use_krobot -<src/tools/krobot_ax12_control.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_ax12_control.{native,byte}>: pkg_sexplib -<src/tools/krobot_ax12_control.{native,byte}>: pkg_sexplib.syntax -<src/tools/krobot_ax12_control.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_ax12_control.{native,byte}>: pkg_bitstring -<src/tools/krobot_ax12_control.{native,byte}>: pkg_lwt.react # Executable krobot-dump-ax12 <src/tools/krobot_dump_ax12.{native,byte}>: use_krobot-can <src/tools/krobot_dump_ax12.{native,byte}>: use_krobot -<src/tools/krobot_dump_ax12.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_dump_ax12.{native,byte}>: pkg_sexplib <src/tools/krobot_dump_ax12.{native,byte}>: pkg_sexplib.syntax +<src/tools/krobot_dump_ax12.{native,byte}>: pkg_sexplib <src/tools/krobot_dump_ax12.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_dump_ax12.{native,byte}>: pkg_bitstring +<src/tools/krobot_dump_ax12.{native,byte}>: pkg_lwt.syntax <src/tools/krobot_dump_ax12.{native,byte}>: pkg_lwt.react -<src/tools/*.ml{,i}>: use_krobot-can -<src/tools/*.ml{,i}>: pkg_sexplib -<src/tools/*.ml{,i}>: pkg_sexplib.syntax -<src/tools/*.ml{,i}>: pkg_bitstring -# Executable krobot-ax12-clean -# Executable krobot-see-coin -<src/tools/krobot_see_coin.{native,byte}>: use_krobot -<src/tools/krobot_see_coin.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_see_coin.{native,byte}>: pkg_cv -<src/tools/krobot_see_coin.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_see_coin.{native,byte}>: pkg_lwt.react -<src/tools/*.ml{,i}>: pkg_cv -# Executable krobot-stop-beacon -<src/tools/krobot_stop_beacon.{native,byte}>: use_krobot -<src/tools/krobot_stop_beacon.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_stop_beacon.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_stop_beacon.{native,byte}>: pkg_lwt.react -# Executable krobot-joystick -<src/tools/krobot_joystick.{native,byte}>: use_krobot -<src/tools/krobot_joystick.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_joystick.{native,byte}>: pkg_sdl -<src/tools/krobot_joystick.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_joystick.{native,byte}>: pkg_lwt.react -<src/tools/*.ml{,i}>: pkg_sdl -# Executable krobot-pet -<src/tools/krobot_pet.{native,byte}>: use_krobot -<src/tools/krobot_pet.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_pet.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_pet.{native,byte}>: pkg_lwt.react -# Executable krobot-urg -<src/tools/krobot_urg.{native,byte}>: use_krobot -<src/tools/krobot_urg.{native,byte}>: pkg_lwt.syntax -<src/tools/krobot_urg.{native,byte}>: pkg_urg -<src/tools/krobot_urg.{native,byte}>: pkg_lwt.preemptive -<src/tools/krobot_urg.{native,byte}>: pkg_threads -<src/tools/krobot_urg.{native,byte}>: pkg_lwt.unix -<src/tools/krobot_urg.{native,byte}>: pkg_lwt.react -<src/tools/*.ml{,i}>: use_krobot -<src/tools/*.ml{,i}>: pkg_lwt.syntax -<src/tools/*.ml{,i}>: pkg_urg -<src/tools/*.ml{,i}>: pkg_lwt.preemptive -<src/tools/*.ml{,i}>: pkg_threads -<src/tools/*.ml{,i}>: pkg_lwt.unix -<src/tools/*.ml{,i}>: pkg_lwt.react +<src/tools/krobot_dump_ax12.{native,byte}>: pkg_bitstring +# Executable krobot-mc-simulator +<src/tools/krobot_mc_simulator.{native,byte}>: use_krobot +<src/tools/krobot_mc_simulator.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_mc_simulator.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_mc_simulator.{native,byte}>: pkg_lwt.react +# Executable krobot-replay +<src/tools/krobot_replay.{native,byte}>: use_krobot +<src/tools/krobot_replay.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_replay.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_replay.{native,byte}>: pkg_lwt.react # Executable dump-can <examples/dump_can.{native,byte}>: use_krobot-can <examples/dump_can.{native,byte}>: use_krobot -<examples/dump_can.{native,byte}>: pkg_lwt.syntax -<examples/dump_can.{native,byte}>: pkg_sexplib <examples/dump_can.{native,byte}>: pkg_sexplib.syntax +<examples/dump_can.{native,byte}>: pkg_sexplib <examples/dump_can.{native,byte}>: pkg_lwt.unix -<examples/dump_can.{native,byte}>: pkg_bitstring +<examples/dump_can.{native,byte}>: pkg_lwt.syntax <examples/dump_can.{native,byte}>: pkg_lwt.react -# Executable send-can -<examples/send_can.{native,byte}>: use_krobot-can -<examples/send_can.{native,byte}>: use_krobot -<examples/send_can.{native,byte}>: pkg_lwt.syntax -<examples/send_can.{native,byte}>: pkg_sexplib -<examples/send_can.{native,byte}>: pkg_sexplib.syntax -<examples/send_can.{native,byte}>: pkg_lwt.unix -<examples/send_can.{native,byte}>: pkg_bitstring -<examples/send_can.{native,byte}>: pkg_lwt.react +<examples/dump_can.{native,byte}>: pkg_bitstring <examples/*.ml{,i}>: use_krobot-can <examples/*.ml{,i}>: use_krobot -<examples/*.ml{,i}>: pkg_lwt.syntax -<examples/*.ml{,i}>: pkg_sexplib <examples/*.ml{,i}>: pkg_sexplib.syntax +<examples/*.ml{,i}>: pkg_sexplib <examples/*.ml{,i}>: pkg_lwt.unix -<examples/*.ml{,i}>: pkg_bitstring +<examples/*.ml{,i}>: pkg_lwt.syntax <examples/*.ml{,i}>: pkg_lwt.react +<examples/*.ml{,i}>: pkg_bitstring +# Executable krobot-can-display +<src/tools/krobot_can_display.{native,byte}>: use_krobot-can +<src/tools/krobot_can_display.{native,byte}>: use_krobot +<src/tools/krobot_can_display.{native,byte}>: pkg_sexplib.syntax +<src/tools/krobot_can_display.{native,byte}>: pkg_sexplib +<src/tools/krobot_can_display.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_can_display.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_can_display.{native,byte}>: pkg_lwt.react +<src/tools/krobot_can_display.{native,byte}>: pkg_lwt.glib +<src/tools/krobot_can_display.{native,byte}>: pkg_cairo.lablgtk2 +<src/tools/krobot_can_display.{native,byte}>: pkg_bitstring +<src/tools/*.ml{,i}>: use_krobot-can +<src/tools/*.ml{,i}>: pkg_sexplib.syntax +<src/tools/*.ml{,i}>: pkg_sexplib +<src/tools/*.ml{,i}>: pkg_bitstring +# Executable krobot-planner +<src/tools/krobot_planner.{native,byte}>: use_krobot +<src/tools/krobot_planner.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_planner.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_planner.{native,byte}>: pkg_lwt.react +# Executable krobot-record +<src/tools/krobot_record.{native,byte}>: use_krobot +<src/tools/krobot_record.{native,byte}>: pkg_threads +<src/tools/krobot_record.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_record.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_record.{native,byte}>: pkg_lwt.react +<src/tools/*.ml{,i}>: pkg_threads +# Executable krobot-plot +<src/tools/krobot_plot.{native,byte}>: use_krobot +<src/tools/krobot_plot.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_plot.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_plot.{native,byte}>: pkg_lwt.react +<src/tools/krobot_plot.{native,byte}>: pkg_lwt.glib +<src/tools/krobot_plot.{native,byte}>: pkg_cairo.lablgtk2 +<src/tools/*.ml{,i}>: pkg_lwt.glib +<src/tools/*.ml{,i}>: pkg_cairo.lablgtk2 +# Executable krobot-homologation +<src/tools/krobot_homologation.{native,byte}>: use_krobot +<src/tools/krobot_homologation.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_homologation.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_homologation.{native,byte}>: pkg_lwt.react +# Executable krobot-pet +<src/tools/krobot_pet.{native,byte}>: use_krobot +<src/tools/krobot_pet.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_pet.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_pet.{native,byte}>: pkg_lwt.react +# Executable krobot-simulator +<src/tools/krobot_simulator.{native,byte}>: use_krobot +<src/tools/krobot_simulator.{native,byte}>: pkg_lwt.unix +<src/tools/krobot_simulator.{native,byte}>: pkg_lwt.syntax +<src/tools/krobot_simulator.{native,byte}>: pkg_lwt.react +<src/tools/*.ml{,i}>: use_krobot +<src/tools/*.ml{,i}>: pkg_lwt.unix +<src/tools/*.ml{,i}>: pkg_lwt.syntax +<src/tools/*.ml{,i}>: pkg_lwt.react # OASIS_STOP diff --git a/info/control2011/configure b/info/control2011/configure index 97ed012..6719c7c 100755 --- a/info/control2011/configure +++ b/info/control2011/configure @@ -1,27 +1,8 @@ #!/bin/sh # OASIS_START -# DO NOT EDIT (digest: 425187ed8bfdbdd207fd76392dd243a7) +# DO NOT EDIT (digest: ed33e59fe00e48bc31edf413bbc8b8d6) set -e -FST=true -for i in "$@"; do - if $FST; then - set -- - FST=false - fi - - case $i in - --*=*) - ARG=${i%%=*} - VAL=${i##*=} - set -- "$@" "$ARG" "$VAL" - ;; - *) - set -- "$@" "$i" - ;; - esac -done - -ocaml setup.ml -configure "$@" +ocaml setup.ml -configure $* # OASIS_STOP diff --git a/info/control2011/myocamlbuild.ml b/info/control2011/myocamlbuild.ml index ebd412e..f3e5e22 100644 --- a/info/control2011/myocamlbuild.ml +++ b/info/control2011/myocamlbuild.ml @@ -1,39 +1,39 @@ (* OASIS_START *) -(* DO NOT EDIT (digest: d2ba10e1d203a414b96ccf471790ac22) *) +(* DO NOT EDIT (digest: 68c025d8d1050b1e4fcf5d0e43496e2b) *) module OASISGettext = struct -(* # 21 "/home/chambart/.opam/base/build/oasis.0.3.0/src/oasis/OASISGettext.ml" *) - - let ns_ str = +# 21 "/tmp/buildd/oasis-0.2.0/src/oasis/OASISGettext.ml" + + let ns_ str = str - - let s_ str = + + let s_ str = str - + let f_ (str : ('a, 'b, 'c, 'd) format4) = str - + let fn_ fmt1 fmt2 n = if n = 1 then fmt1^^"" else fmt2^^"" - - let init = + + let init = [] - + end module OASISExpr = struct -(* # 21 "/home/chambart/.opam/base/build/oasis.0.3.0/src/oasis/OASISExpr.ml" *) - - - +# 21 "/tmp/buildd/oasis-0.2.0/src/oasis/OASISExpr.ml" + + + open OASISGettext - + type test = string - + type flag = string - + type t = | EBool of bool | ENot of t @@ -42,31 +42,31 @@ module OASISExpr = struct | EFlag of flag | ETest of test * string - + type 'a choices = (t * 'a) list - + let eval var_get t = - let rec eval' = + let rec eval' = function | EBool b -> b - - | ENot e -> + + | ENot e -> not (eval' e) - + | EAnd (e1, e2) -> (eval' e1) && (eval' e2) - - | EOr (e1, e2) -> + + | EOr (e1, e2) -> (eval' e1) || (eval' e2) - + | EFlag nm -> let v = var_get nm in assert(v = "true" || v = "false"); (v = "true") - + | ETest (nm, vl) -> let v = var_get nm @@ -74,21 +74,21 @@ module OASISExpr = struct (v = vl) in eval' t - + let choose ?printer ?name var_get lst = - let rec choose_aux = + let rec choose_aux = function | (cond, vl) :: tl -> - if eval var_get cond then - vl + if eval var_get cond then + vl else choose_aux tl | [] -> - let str_lst = + let str_lst = if lst = [] then s_ "<empty>" else - String.concat + String.concat (s_ ", ") (List.map (fun (cond, vl) -> @@ -97,10 +97,10 @@ module OASISExpr = struct | None -> s_ "<no printer>") lst) in - match name with + match name with | Some nm -> failwith - (Printf.sprintf + (Printf.sprintf (f_ "No result for the choice list '%s': %s") nm str_lst) | None -> @@ -110,23 +110,22 @@ module OASISExpr = struct str_lst) in choose_aux (List.rev lst) - + end -# 117 "myocamlbuild.ml" module BaseEnvLight = struct -(* # 21 "/home/chambart/.opam/base/build/oasis.0.3.0/src/base/BaseEnvLight.ml" *) - +# 21 "/tmp/buildd/oasis-0.2.0/src/base/BaseEnvLight.ml" + module MapString = Map.Make(String) - + type t = string MapString.t - + let default_filename = - Filename.concat + Filename.concat (Sys.getcwd ()) "setup.data" - + let load ?(allow_empty=false) ?(filename=default_filename) () = if Sys.file_exists filename then begin @@ -139,23 +138,23 @@ module BaseEnvLight = struct let line = ref 1 in - let st_line = + let st_line = Stream.from (fun _ -> try - match Stream.next st with + match Stream.next st with | '\n' -> incr line; Some '\n' | c -> Some c with Stream.Failure -> None) in - let lexer = + let lexer = Genlex.make_lexer ["="] st_line in let rec read_file mp = - match Stream.npeek 3 lexer with + match Stream.npeek 3 lexer with | [Genlex.Ident nm; Genlex.Kwd "="; Genlex.String value] -> - Stream.junk lexer; - Stream.junk lexer; + Stream.junk lexer; + Stream.junk lexer; Stream.junk lexer; read_file (MapString.add nm value mp) | [] -> @@ -178,44 +177,43 @@ module BaseEnvLight = struct end else begin - failwith - (Printf.sprintf + failwith + (Printf.sprintf "Unable to load environment, the file '%s' doesn't exist." filename) end - + let var_get name env = let rec var_expand str = let buff = Buffer.create ((String.length str) * 2) in - Buffer.add_substitute + Buffer.add_substitute buff - (fun var -> - try + (fun var -> + try var_expand (MapString.find var env) with Not_found -> - failwith - (Printf.sprintf + failwith + (Printf.sprintf "No variable %s defined when trying to expand %S." - var + var str)) str; Buffer.contents buff in var_expand (MapString.find name env) - - let var_choose lst env = + + let var_choose lst env = OASISExpr.choose (fun nm -> var_get nm env) lst end -# 215 "myocamlbuild.ml" module MyOCamlbuildFindlib = struct -(* # 21 "/home/chambart/.opam/base/build/oasis.0.3.0/src/plugins/ocamlbuild/MyOCamlbuildFindlib.ml" *) - +# 21 "/tmp/buildd/oasis-0.2.0/src/plugins/ocamlbuild/MyOCamlbuildFindlib.ml" + (** OCamlbuild extension, copied from * http://brion.inria.fr/gallium/index.php/Using_ocamlfind_with_ocamlbuild * by N. Pouillard and others @@ -225,14 +223,14 @@ module MyOCamlbuildFindlib = struct * Modified by Sylvain Le Gall *) open Ocamlbuild_plugin - + (* these functions are not really officially exported *) let run_and_read = Ocamlbuild_pack.My_unix.run_and_read - + let blank_sep_strings = Ocamlbuild_pack.Lexers.blank_sep_strings - + let split s ch = let x = ref [] @@ -247,24 +245,24 @@ module MyOCamlbuildFindlib = struct try go s with Not_found -> !x - + let split_nl s = split s '\n' - + let before_space s = try String.before s (String.index s ' ') with Not_found -> s - + (* this lists all supported packages *) let find_packages () = List.map before_space (split_nl & run_and_read "ocamlfind list") - + (* this is supposed to list available syntaxes, but I don't know how to do it. *) let find_syntaxes () = ["camlp4o"; "camlp4r"] - + (* ocamlfind command *) let ocamlfind x = S[A"ocamlfind"; x] - + let dispatch = function | Before_options -> @@ -294,7 +292,7 @@ module MyOCamlbuildFindlib = struct flag ["ocaml"; "infer_interface"; "pkg_"^pkg] & S[A"-package"; A pkg]; end (find_packages ()); - + (* Like -package but for extensions syntax. Morover -syntax is useless * when linking. *) List.iter begin fun syntax -> @@ -303,7 +301,7 @@ module MyOCamlbuildFindlib = struct flag ["ocaml"; "doc"; "syntax_"^syntax] & S[A"-syntax"; A syntax]; flag ["ocaml"; "infer_interface"; "syntax_"^syntax] & S[A"-syntax"; A syntax]; end (find_syntaxes ()); - + (* The default "thread" tag is not compatible with ocamlfind. * Indeed, the default rules add the "threads.cma" or "threads.cmxa" * options when using this tag. When using the "-linkpkg" option with @@ -313,61 +311,49 @@ module MyOCamlbuildFindlib = struct * the "threads" package using the previous plugin. *) flag ["ocaml"; "pkg_threads"; "compile"] (S[A "-thread"]); - flag ["ocaml"; "pkg_threads"; "doc"] (S[A "-I"; A "+threads"]); flag ["ocaml"; "pkg_threads"; "link"] (S[A "-thread"]); flag ["ocaml"; "pkg_threads"; "infer_interface"] (S[A "-thread"]) - + | _ -> () - + end module MyOCamlbuildBase = struct -(* # 21 "/home/chambart/.opam/base/build/oasis.0.3.0/src/plugins/ocamlbuild/MyOCamlbuildBase.ml" *) - +# 21 "/tmp/buildd/oasis-0.2.0/src/plugins/ocamlbuild/MyOCamlbuildBase.ml" + (** Base functions for writing myocamlbuild.ml @author Sylvain Le Gall *) - - - + + + open Ocamlbuild_plugin - module OC = Ocamlbuild_pack.Ocaml_compiler - + type dir = string type file = string type name = string type tag = string - -(* # 56 "/home/chambart/.opam/base/build/oasis.0.3.0/src/plugins/ocamlbuild/MyOCamlbuildBase.ml" *) - + +# 55 "/tmp/buildd/oasis-0.2.0/src/plugins/ocamlbuild/MyOCamlbuildBase.ml" + type t = { lib_ocaml: (name * dir list) list; lib_c: (name * dir * file list) list; flags: (tag list * (spec OASISExpr.choices)) list; - (* Replace the 'dir: include' from _tags by a precise interdepends in - * directory. - *) - includes: (dir * dir list) list; } - + let env_filename = Pathname.basename BaseEnvLight.default_filename - + let dispatch_combine lst = fun e -> List.iter (fun dispatch -> dispatch e) lst - - let tag_libstubs nm = - "use_lib"^nm^"_stubs" - - let nm_libstubs nm = - nm^"_stubs" - + let dispatch t e = let env = BaseEnvLight.load @@ -394,64 +380,53 @@ module MyOCamlbuildBase = struct Options.ext_lib, "ext_lib"; Options.ext_dll, "ext_dll"; ] - + | After_rules -> (* Declare OCaml libraries *) List.iter (function - | nm, [] -> - ocaml_lib nm - | nm, dir :: tl -> - ocaml_lib ~dir:dir (dir^"/"^nm); + | lib, [] -> + ocaml_lib lib; + | lib, dir :: tl -> + ocaml_lib ~dir:dir lib; List.iter (fun dir -> - List.iter - (fun str -> - flag ["ocaml"; "use_"^nm; str] (S[A"-I"; P dir])) - ["compile"; "infer_interface"; "doc"]) + flag + ["ocaml"; "use_"^lib; "compile"] + (S[A"-I"; P dir])) tl) t.lib_ocaml; - - (* Declare directories dependencies, replace "include" in _tags. *) - List.iter - (fun (dir, include_dirs) -> - Pathname.define_context dir include_dirs) - t.includes; - + (* Declare C libraries *) List.iter (fun (lib, dir, headers) -> (* Handle C part of library *) - flag ["link"; "library"; "ocaml"; "byte"; tag_libstubs lib] - (S[A"-dllib"; A("-l"^(nm_libstubs lib)); A"-cclib"; - A("-l"^(nm_libstubs lib))]); - - flag ["link"; "library"; "ocaml"; "native"; tag_libstubs lib] - (S[A"-cclib"; A("-l"^(nm_libstubs lib))]); + flag ["link"; "library"; "ocaml"; "byte"; "use_lib"^lib] + (S[A"-dllib"; A("-l"^lib); A"-cclib"; A("-l"^lib)]); + + flag ["link"; "library"; "ocaml"; "native"; "use_lib"^lib] + (S[A"-cclib"; A("-l"^lib)]); - flag ["link"; "program"; "ocaml"; "byte"; tag_libstubs lib] - (S[A"-dllib"; A("dll"^(nm_libstubs lib))]); - + flag ["link"; "program"; "ocaml"; "byte"; "use_lib"^lib] + (S[A"-dllib"; A("dll"^lib)]); + (* When ocaml link something that use the C library, then one need that file to be up to date. *) - dep ["link"; "ocaml"; "program"; tag_libstubs lib] - [dir/"lib"^(nm_libstubs lib)^"."^(!Options.ext_lib)]; - - dep ["compile"; "ocaml"; "program"; tag_libstubs lib] - [dir/"lib"^(nm_libstubs lib)^"."^(!Options.ext_lib)]; - + dep ["link"; "ocaml"; "use_lib"^lib] + [dir/"lib"^lib^"."^(!Options.ext_lib)]; + (* TODO: be more specific about what depends on headers *) (* Depends on .h files *) dep ["compile"; "c"] headers; - + (* Setup search path for lib *) flag ["link"; "ocaml"; "use_"^lib] (S[A"-I"; P(dir)]); ) t.lib_c; - + (* Add flags *) List.iter (fun (tags, cond_specs) -> @@ -462,38 +437,29 @@ module MyOCamlbuildBase = struct t.flags | _ -> () - + let dispatch_default t = dispatch_combine [ dispatch t; MyOCamlbuildFindlib.dispatch; ] - + end -# 476 "myocamlbuild.ml" open Ocamlbuild_plugin;; let package_default = { MyOCamlbuildBase.lib_ocaml = - [("krobot", ["src/lib"]); ("krobot-can", ["src/can"])]; + [("src/lib/krobot", ["src/lib"]); ("src/can/krobot-can", ["src/can"])]; lib_c = [("krobot", "src/lib", []); ("krobot-can", "src/can", [])]; flags = []; - includes = - [ - ("src/tools", ["src/can"; "src/lib"]); - ("src/driver", ["src/can"; "src/lib"]); - ("src/can", ["src/lib"]); - ("examples", ["src/can"]) - ]; } ;; let dispatch_default = MyOCamlbuildBase.dispatch_default package_default;; -# 497 "myocamlbuild.ml" (* OASIS_STOP *) open Ocamlbuild_plugin diff --git a/info/control2011/setup.ml b/info/control2011/setup.ml index 0e2f232..18934ac 100644 --- a/info/control2011/setup.ml +++ b/info/control2011/setup.ml @@ -8,363 +8,288 @@ *) (* OASIS_START *) -(* DO NOT EDIT (digest: 93e97b5dfbc11c54162cfd7f571db7a3) *) +(* DO NOT EDIT (digest: 868e08593bf53c96a1f79923d193b872) *) (* - Regenerated by OASIS v0.3.0 + Regenerated by OASIS v0.2.0 Visit http://oasis.forge.ocamlcore.org for more information and documentation about functions used in this file. *) module OASISGettext = struct -(* # 21 "/home/chambart/.opam/base/build/oasis.0.3.0/src/oasis/OASISGettext.ml" *) - - let ns_ str = +# 21 "/tmp/buildd/oasis-0.2.0/src/oasis/OASISGettext.ml" + + let ns_ str = str - - let s_ str = + + let s_ str = str - + let f_ (str : ('a, 'b, 'c, 'd) format4) = str - + let fn_ fmt1 fmt2 n = if n = 1 then fmt1^^"" else fmt2^^"" - - let init = + + let init = [] - + end module OASISContext = struct -(* # 21 "/home/chambart/.opam/base/build/oasis.0.3.0/src/oasis/OASISContext.ml" *) - - open OASISGettext - +# 21 "/tmp/buildd/oasis-0.2.0/src/oasis/OASISContext.ml" + + open OASISGettext + type level = [ `Debug - | `Info + | `Info | `Warning | `Error] - + type t = { - quiet: bool; - info: bool; - debug: bool; - ignore_plugins: bool; - ignore_unknown_fields: bool; - printf: level -> string -> unit; + verbose: bool; + debug: bool; + ignore_plugins: bool; + printf: level -> string -> unit; } - - let printf lvl str = - let beg = - match lvl with + + let printf lvl str = + let beg = + match lvl with | `Error -> s_ "E: " | `Warning -> s_ "W: " | `Info -> s_ "I: " | `Debug -> s_ "D: " in - prerr_endline (beg^str) - + match lvl with + | `Error -> + prerr_endline (beg^str) + | _ -> + print_endline (beg^str) + let default = - ref + ref { - quiet = false; - info = false; - debug = false; - ignore_plugins = false; - ignore_unknown_fields = false; - printf = printf; + verbose = true; + debug = false; + ignore_plugins = false; + printf = printf; } - - let quiet = - {!default with quiet = true} - - + + let quiet = + {!default with + verbose = false; + debug = false; + } + + let args () = ["-quiet", - Arg.Unit (fun () -> default := {!default with quiet = true}), + Arg.Unit (fun () -> default := {!default with verbose = false}), (s_ " Run quietly"); - - "-info", - Arg.Unit (fun () -> default := {!default with info = true}), - (s_ " Display information message"); - - + "-debug", Arg.Unit (fun () -> default := {!default with debug = true}), (s_ " Output debug message")] end -module OASISString = struct -(* # 1 "/home/chambart/.opam/base/build/oasis.0.3.0/src/oasis/OASISString.ml" *) - - - - (** Various string utilities. - - Mostly inspired by extlib and batteries ExtString and BatString libraries. - - @author Sylvain Le Gall - *) - - let nsplitf str f = - if str = "" then - [] - else - let buf = Buffer.create 13 in - let lst = ref [] in - let push () = - lst := Buffer.contents buf :: !lst; - Buffer.clear buf - in - let str_len = String.length str in - for i = 0 to str_len - 1 do - if f str.[i] then - push () - else - Buffer.add_char buf str.[i] - done; - push (); - List.rev !lst - - (** [nsplit c s] Split the string [s] at char [c]. It doesn't include the - separator. - *) - let nsplit str c = - nsplitf str ((=) c) - - let find ~what ?(offset=0) str = - let what_idx = ref 0 in - let str_idx = ref offset in - while !str_idx < String.length str && - !what_idx < String.length what do - if str.[!str_idx] = what.[!what_idx] then - incr what_idx - else - what_idx := 0; - incr str_idx - done; - if !what_idx <> String.length what then - raise Not_found - else - !str_idx - !what_idx - - let sub_start str len = - let str_len = String.length str in - if len >= str_len then - "" - else - String.sub str len (str_len - len) - - let sub_end ?(offset=0) str len = - let str_len = String.length str in - if len >= str_len then - "" - else - String.sub str 0 (str_len - len) - - let starts_with ~what ?(offset=0) str = - let what_idx = ref 0 in - let str_idx = ref offset in - let ok = ref true in - while !ok && - !str_idx < String.length str && - !what_idx < String.length what do - if str.[!str_idx] = what.[!what_idx] then - incr what_idx - else - ok := false; - incr str_idx - done; - if !what_idx = String.length what then - true - else - false - - let strip_starts_with ~what str = - if starts_with ~what str then - sub_start str (String.length what) - else - raise Not_found - - let ends_with ~what ?(offset=0) str = - let what_idx = ref ((String.length what) - 1) in - let str_idx = ref ((String.length str) - 1) in - let ok = ref true in - while !ok && - offset <= !str_idx && - 0 <= !what_idx do - if str.[!str_idx] = what.[!what_idx] then - decr what_idx - else - ok := false; - decr str_idx - done; - if !what_idx = -1 then - true - else - false - - let strip_ends_with ~what str = - if ends_with ~what str then - sub_end str (String.length what) - else - raise Not_found - - let replace_chars f s = - let buf = String.make (String.length s) 'X' in - for i = 0 to String.length s - 1 do - buf.[i] <- f s.[i] - done; - buf - -end - module OASISUtils = struct -(* # 21 "/home/chambart/.opam/base/build/oasis.0.3.0/src/oasis/OASISUtils.ml" *) - - open OASISGettext - +# 21 "/tmp/buildd/oasis-0.2.0/src/oasis/OASISUtils.ml" + module MapString = Map.Make(String) - + let map_string_of_assoc assoc = List.fold_left (fun acc (k, v) -> MapString.add k v acc) MapString.empty assoc - + module SetString = Set.Make(String) - + let set_string_add_list st lst = - List.fold_left + List.fold_left (fun acc e -> SetString.add e acc) st lst - + let set_string_of_list = set_string_add_list SetString.empty - - - let compare_csl s1 s2 = + + + let compare_csl s1 s2 = String.compare (String.lowercase s1) (String.lowercase s2) - - module HashStringCsl = + + module HashStringCsl = Hashtbl.Make (struct type t = string - - let equal s1 s2 = + + let equal s1 s2 = (String.lowercase s1) = (String.lowercase s2) - + let hash s = Hashtbl.hash (String.lowercase s) end) - - let varname_of_string ?(hyphen='_') s = + + let split sep str = + let str_len = + String.length str + in + let rec split_aux acc pos = + if pos < str_len then + ( + let pos_sep = + try + String.index_from str pos sep + with Not_found -> + str_len + in + let part = + String.sub str pos (pos_sep - pos) + in + let acc = + part :: acc + in + if pos_sep >= str_len then + ( + (* Nothing more in the string *) + List.rev acc + ) + else if pos_sep = (str_len - 1) then + ( + (* String end with a separator *) + List.rev ("" :: acc) + ) + else + ( + split_aux acc (pos_sep + 1) + ) + ) + else + ( + List.rev acc + ) + in + split_aux [] 0 + + + let varname_of_string ?(hyphen='_') s = if String.length s = 0 then begin - invalid_arg "varname_of_string" + invalid_arg "varname_of_string" end else begin - let buf = - OASISString.replace_chars + let buff = + Buffer.create (String.length s) + in + (* Start with a _ if digit *) + if '0' <= s.[0] && s.[0] <= '9' then + Buffer.add_char buff hyphen; + + String.iter (fun c -> - if ('a' <= c && c <= 'z') - || - ('A' <= c && c <= 'Z') - || + if ('a' <= c && c <= 'z') + || + ('A' <= c && c <= 'Z') + || ('0' <= c && c <= '9') then - c + Buffer.add_char buff c else - hyphen) + Buffer.add_char buff hyphen) s; - in - let buf = - (* Start with a _ if digit *) - if '0' <= s.[0] && s.[0] <= '9' then - "_"^buf - else - buf - in - String.lowercase buf + + String.lowercase (Buffer.contents buff) end - - let varname_concat ?(hyphen='_') p s = - let what = String.make 1 hyphen in - let p = - try - OASISString.strip_ends_with ~what p - with Not_found -> - p + + let varname_concat ?(hyphen='_') p s = + let p = + let p_len = + String.length p + in + if p_len > 0 && p.[p_len - 1] = hyphen then + String.sub p 0 (p_len - 1) + else + p in - let s = - try - OASISString.strip_starts_with ~what s - with Not_found -> - s + let s = + let s_len = + String.length s + in + if s_len > 0 && s.[0] = hyphen then + String.sub s 1 (s_len - 1) + else + s in - p^what^s - - - let is_varname str = + Printf.sprintf "%s%c%s" p hyphen s + + + let is_varname str = str = varname_of_string str - - let failwithf fmt = Printf.ksprintf failwith fmt - + + let failwithf1 fmt a = + failwith (Printf.sprintf fmt a) + + let failwithf2 fmt a b = + failwith (Printf.sprintf fmt a b) + + let failwithf3 fmt a b c = + failwith (Printf.sprintf fmt a b c) + + let failwithf4 fmt a b c d = + failwith (Printf.sprintf fmt a b c d) + + let failwithf5 fmt a b c d e = + failwith (Printf.sprintf fmt a b c d e) + end module PropList = struct -(* # 21 "/home/chambart/.opam/base/build/oasis.0.3.0/src/oasis/PropList.ml" *) - +# 21 "/tmp/buildd/oasis-0.2.0/src/oasis/PropList.ml" + open OASISGettext - + type name = string - - exception Not_set of name * string option + + exception Not_set of name * string option exception No_printer of name exception Unknown_field of name * name - - let () = - Printexc.register_printer - (function - | Not_set (nm, Some rsn) -> - Some - (Printf.sprintf (f_ "Field '%s' is not set: %s") nm rsn) - | Not_set (nm, None) -> - Some - (Printf.sprintf (f_ "Field '%s' is not set") nm) - | No_printer nm -> - Some - (Printf.sprintf (f_ "No default printer for value %s") nm) - | Unknown_field (nm, schm) -> - Some - (Printf.sprintf (f_ "Field %s is not defined in schema %s") nm schm) - | _ -> - None) - + + let string_of_exception = + function + | Not_set (nm, Some rsn) -> + Printf.sprintf (f_ "Field '%s' is not set: %s") nm rsn + | Not_set (nm, None) -> + Printf.sprintf (f_ "Field '%s' is not set") nm + | No_printer nm -> + Printf.sprintf (f_ "No default printer for value %s") nm + | Unknown_field (nm, schm) -> + Printf.sprintf (f_ "Field %s is not defined in schema %s") nm schm + | e -> + raise e + module Data = struct - - type t = + + type t = (name, unit -> unit) Hashtbl.t - + let create () = Hashtbl.create 13 - + let clear t = Hashtbl.clear t - -(* # 71 "/home/chambart/.opam/base/build/oasis.0.3.0/src/oasis/PropList.ml" *) + +# 59 "/tmp/buildd/oasis-0.2.0/src/oasis/PropList.ml" end - - module Schema = + + module Schema = struct - + type ('ctxt, 'extra) value = { get: Data.t -> string; @@ -372,7 +297,7 @@ module PropList = struct help: (unit -> string) option; extra: 'extra; } - + type ('ctxt, 'extra) t = { name: name; @@ -380,81 +305,81 @@ module PropList = struct order: name Queue.t; name_norm: string -> string; } - - let create ?(case_insensitive=false) nm = + + let create ?(case_insensitive=false) nm = { name = nm; fields = Hashtbl.create 13; order = Queue.create (); - name_norm = - (if case_insensitive then + name_norm = + (if case_insensitive then String.lowercase else fun s -> s); } - - let add t nm set get extra help = - let key = + + let add t nm set get extra help = + let key = t.name_norm nm in - + if Hashtbl.mem t.fields key then failwith - (Printf.sprintf + (Printf.sprintf (f_ "Field '%s' is already defined in schema '%s'") nm t.name); - Hashtbl.add - t.fields - key + Hashtbl.add + t.fields + key { - set = set; - get = get; + set = set; + get = get; help = help; extra = extra; }; - Queue.add nm t.order - + Queue.add nm t.order + let mem t nm = - Hashtbl.mem t.fields nm - - let find t nm = + Hashtbl.mem t.fields nm + + let find t nm = try Hashtbl.find t.fields (t.name_norm nm) with Not_found -> raise (Unknown_field (nm, t.name)) - + let get t data nm = (find t nm).get data - + let set t data nm ?context x = - (find t nm).set - data - ?context + (find t nm).set + data + ?context x - + let fold f acc t = - Queue.fold + Queue.fold (fun acc k -> let v = find t k in f acc k v.extra v.help) - acc + acc t.order - + let iter f t = - fold + fold (fun () -> f) () t - - let name t = + + let name t = t.name end - + module Field = struct - + type ('ctxt, 'value, 'extra) t = { set: Data.t -> ?context:'ctxt -> 'value -> unit; @@ -464,52 +389,52 @@ module PropList = struct help: (unit -> string) option; extra: 'extra; } - - let new_id = + + let new_id = let last_id = ref 0 in fun () -> incr last_id; !last_id - + let create ?schema ?name ?parse ?print ?default ?update ?help extra = (* Default value container *) - let v = - ref None + let v = + ref None in - + (* If name is not given, create unique one *) - let nm = - match name with + let nm = + match name with | Some s -> s | None -> Printf.sprintf "_anon_%d" (new_id ()) in - + (* Last chance to get a value: the default *) - let default () = - match default with + let default () = + match default with | Some d -> d | None -> raise (Not_set (nm, Some (s_ "no default value"))) in - + (* Get data *) let get data = (* Get value *) - try + try (Hashtbl.find data nm) (); - match !v with - | Some x -> x + match !v with + | Some x -> x | None -> default () with Not_found -> default () in - + (* Set data *) - let set data ?context x = - let x = - match update with + let set data ?context x = + let x = + match update with | Some f -> begin - try + try f ?context (get data) x with Not_set _ -> x @@ -517,31 +442,31 @@ module PropList = struct | None -> x in - Hashtbl.replace - data - nm - (fun () -> v := Some x) + Hashtbl.replace + data + nm + (fun () -> v := Some x) in - + (* Parse string value, if possible *) let parse = - match parse with - | Some f -> + match parse with + | Some f -> f | None -> fun ?context s -> - failwith - (Printf.sprintf + failwith + (Printf.sprintf (f_ "Cannot parse field '%s' when setting value %S") nm s) in - + (* Set data, from string *) let sets data ?context s = set ?context data (parse ?context s) in - + (* Output value as string, if possible *) let print = match print with @@ -550,20 +475,20 @@ module PropList = struct | None -> fun _ -> raise (No_printer nm) in - + (* Get data, as a string *) let gets data = print (get data) in - - begin - match schema with + + begin + match schema with | Some t -> Schema.add t nm sets gets extra help | None -> () end; - + { set = set; get = get; @@ -572,84 +497,94 @@ module PropList = struct help = help; extra = extra; } - - let fset data t ?context x = + + let fset data t ?context x = t.set data ?context x - + let fget data t = t.get data - + let fsets data t ?context s = t.sets data ?context s - + let fgets data t = - t.gets data - + t.gets data + end - + module FieldRO = struct - + let create ?schema ?name ?parse ?print ?default ?update ?help extra = - let fld = + let fld = Field.create ?schema ?name ?parse ?print ?default ?update ?help extra in fun data -> Field.fget data fld - + end end module OASISMessage = struct -(* # 21 "/home/chambart/.opam/base/build/oasis.0.3.0/src/oasis/OASISMessage.ml" *) - - +# 21 "/tmp/buildd/oasis-0.2.0/src/oasis/OASISMessage.ml" + + open OASISGettext open OASISContext - + let generic_message ~ctxt lvl fmt = - let cond = - if ctxt.quiet then - false - else - match lvl with - | `Debug -> ctxt.debug - | `Info -> ctxt.info - | _ -> true + let cond = + match lvl with + | `Debug -> ctxt.debug + | _ -> ctxt.verbose in - Printf.ksprintf - (fun str -> + Printf.ksprintf + (fun str -> if cond then begin ctxt.printf lvl str end) fmt - + let debug ~ctxt fmt = ge... [truncated message content] |