There are some occurences of share_prefix in install.pike and master.pike.in, but I understand those are currently only used to let master.pike find the pure Pike modules in lib/modules at build time. However, just a few changes to install.pike are needed to let it actually install those modules in a separate location, in a perhaps more FHS-compliant and Perl-like manner:
--- a/bin/install.pike 2009-06-08 23:51:36.000000000 +0200 +++ b/bin/install.pike 2009-08-22 15:46:55.000000000 +0200 @@ -1904,6 +1904,7 @@ string exec_prefix; string lib_prefix; string include_prefix; +string share_prefix; string doc_prefix; string man_prefix; string cflags; @@ -1946,6 +1947,8 @@ lib_prefix=vars->lib_prefix||(prefix+"/lib/pike/"); include_prefix = vars->include_prefix || combine_path(prefix,"include","pike"); + share_prefix = + vars->share_prefix || lib_prefix; doc_prefix = vars->doc_prefix || combine_path(prefix, "doc", "pike"); man_prefix=vars->man_prefix||(prefix+"/share/man/"); @@ -2128,7 +2131,7 @@ lib_prefix = combine_path(prefix, "lib"); include_prefix = combine_path(prefix,"include","pike"); make_master("lib/master.pike", "lib/master.pike.in", - lib_prefix, include_prefix, UNDEFINED, cflags, ldflags); + lib_prefix, include_prefix, share_prefix, cflags, ldflags); status1("Installing master done."); return 0;
@@ -2853,10 +2856,10 @@ } else make_master(combine_path(vars->TMP_LIBDIR,"master.pike"), master_src, - lib_prefix, include_prefix, UNDEFINED, cflags, ldflags); + lib_prefix, include_prefix, share_prefix, cflags, ldflags);
install_dir(vars->TMP_LIBDIR,lib_prefix,1); - install_dir(vars->LIBDIR_SRC,lib_prefix,1); + install_dir(vars->LIBDIR_SRC,share_prefix,1);
install_header_files(vars->SRCDIR,include_prefix); install_header_files(combine_path(vars->SRCDIR,"code"),