Mercurial > urweb
view src/sources @ 1739:c414850f206f
Add support for -boot flag, which allows in-tree execution of Ur/Web
The boot flag rewrites most hardcoded paths to point to the build
directory, and also forces static compilation. This is convenient
for developing Ur/Web, or if you cannot 'sudo make install' Ur/Web.
The following changes were made:
* Header files were moved to include/urweb instead of include;
this lets FFI users point their C_INCLUDE_PATH at this directory
at write <urweb/urweb.h>. For internal Ur/Web executables,
we simply pass -I$PATH/include/urweb as normal.
* Differentiate between LIB and SRCLIB; SRCLIB is Ur and JavaScript
source files, while LIB is compiled products from libtool. For
in-tree compilation these live in different places.
* No longer reference Config for paths; instead use Settings; these
settings can be changed dynamically by Compiler.enableBoot ()
(TODO: add a disableBoot function.)
* config.h is now generated directly in include/urweb/config.h,
for consistency's sake (especially since it gets installed
along with the rest of the headers!)
* All of the autotools build products got updated.
* The linkStatic field in protocols now only contains the name of the
build product, and not the absolute path.
Future users have to be careful not to reference the Settings files
to early, lest they get an old version (this was the source of two
bugs during development of this patch.)
author | Edward Z. Yang <ezyang@mit.edu> |
---|---|
date | Wed, 02 May 2012 17:17:57 -0400 |
parents | 4a03aa3251cb |
children | 38297294cf98 |
line wrap: on
line source
config.sig config.sml search.sig search.sml list_util.sig list_util.sml order.sig order.sml errormsg.sig errormsg.sml print.sig print.sml settings.sig settings.sml http.sig http.sml cgi.sig cgi.sml fastcgi.sig fastcgi.sml static.sig static.sml prim.sig prim.sml mysql.sig mysql.sml sqlite.sig sqlite.sml datatype_kind.sml export.sig export.sml source.sml utf8.sig utf8.sml ../xml/entities.sml urweb.grm urweb.lex source_print.sig source_print.sml elab.sml elab_util.sig elab_util.sml elab_env.sig elab_env.sml elab_print.sig elab_print.sml elab_ops.sig elab_ops.sml disjoint.sig disjoint.sml elab_err.sig elab_err.sml mod_db.sig mod_db.sml elaborate.sig elaborate.sml unnest.sig unnest.sml termination.sig termination.sml expl.sml expl_util.sig expl_util.sml expl_env.sig expl_env.sml expl_print.sig expl_print.sml explify.sig explify.sml core.sml core_util.sig core_util.sml core_env.sig core_env.sml core_print.sig core_print.sml corify.sig corify.sml reduce_local.sig reduce_local.sml shake.sig shake.sml core_untangle.sig core_untangle.sml especialize.sig especialize.sml reduce.sig reduce.sml unpoly.sig unpoly.sml specialize.sig specialize.sml rpcify.sig rpcify.sml tag.sig tag.sml effectize.sig effectize.sml marshalcheck.sig marshalcheck.sml css.sig css.sml mono.sml mono_util.sig mono_util.sml mono_env.sig mono_env.sml mono_print.sig mono_print.sml monoize.sig monoize.sml mono_reduce.sig mono_reduce.sml mono_opt.sig mono_opt.sml untangle.sig untangle.sml mono_shake.sig mono_shake.sml fuse.sig fuse.sml sql.sml iflow.sig iflow.sml jscomp.sig jscomp.sml pathcheck.sig pathcheck.sml sidecheck.sig sidecheck.sml cjr.sml postgres.sig postgres.sml cjr_env.sig cjr_env.sml cjr_print.sig cjr_print.sml cjrize.sig cjrize.sml scriptcheck.sig scriptcheck.sml prepare.sig prepare.sml checknest.sig checknest.sml compiler.sig compiler.sml demo.sig demo.sml tutorial.sig tutorial.sml