diff options
| author | Bent Bisballe Nyeng <deva@aasimon.org> | 2026-02-10 19:38:36 +0100 |
|---|---|---|
| committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2026-02-25 19:02:50 +0100 |
| commit | 1af138308d01f96dd979f0137394dcbd5971d5e1 (patch) | |
| tree | 0c04c31a712d16ec834402b48729aa8c1d472b12 /src/configure.cc | |
| parent | 5a3e0931e0e4ccd252c527b512ec1634d57489d8 (diff) | |
WIP: installinstall
Diffstat (limited to 'src/configure.cc')
| -rw-r--r-- | src/configure.cc | 113 |
1 files changed, 102 insertions, 11 deletions
diff --git a/src/configure.cc b/src/configure.cc index 5ba87c3..3a4abd4 100644 --- a/src/configure.cc +++ b/src/configure.cc @@ -286,6 +286,39 @@ int regenerateCache(ctor::settings& settings, std::string ctor_libdir; std::string builddir; + // Installation directories: + std::string prefix = "/usr/local"; + std::string exec_prefix;//install architecture-dependent files in EPREFIX + + // Fine tuning of the installation directories: + std::string bindir;// user executables [EPREFIX/bin] + std::string sbindir;// system admin executables [EPREFIX/sbin] + std::string libexecdir;// program executables [EPREFIX/libexec] + std::string sysconfdir;// read-only single-machine data [PREFIX/etc] + std::string sharedstatedir;// modifiable architecture-independent data [PREFIX/com] + std::string localstatedir;// modifiable single-machine data [PREFIX/var] + std::string runstatedir;// modifiable per-process data [LOCALSTATEDIR/run] + // object code libraries [EPREFIX/lib] + std::string libdir; + // C header files [PREFIX/include] + std::string includedir; + std::string oldincludedir;//C header files for non-gcc [/usr/include] + std::string datarootdir;// read-only arch.-independent data root [PREFIX/share] + std::string datadir;// read-only architecture-independent data [DATAROOTDIR] + std::string infodir;// info documentation [DATAROOTDIR/info] + std::string localedir;// locale-dependent data [DATAROOTDIR/locale] + std::string mandir;// man documentation [DATAROOTDIR/man] + std::string docdir;// documentation root [DATAROOTDIR/doc/drumgizmo] + std::string htmldir;// html documentation [DOCDIR] + std::string dvidir;// dvi documentation [DOCDIR] + std::string pdfdir;// pdf documentation [DOCDIR] + std::string psdir;// ps documentation [DOCDIR] + + //Program names: + std::string program_prefix;// prepend PREFIX to installed program names + std::string program_suffix;// append SUFFIX to installed program names + std::string program_transform_name;//run sed PROGRAM on installed program names + opt.add('b', "--build-dir", std::function([&](std::string arg) { @@ -384,6 +417,75 @@ int regenerateCache(ctor::settings& settings, }), "Set path to ctor library file, used for re-compiling."); + opt.add('h', "--help", + std::function([&]() -> int + { + std::cout << "Configure how to build with " << name << "\n"; + std::cout << "Usage: " << name << " configure [options]\n\n"; + std::cout << "Options:\n"; + opt.help(); + exit(0); + }), + "Print this help text."); +/* +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [/usr/local] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, `make install' will install all the files in +`/usr/local/bin', `/usr/local/lib' etc. You can specify +an installation prefix other than `/usr/local' using `--prefix', +for instance `--prefix=$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/drumgizmo] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + */ + opt.add("Installation directories"); + + opt.add({}, "--prefix", + std::function([&](std::string arg) + { + prefix = arg; + return 0; + }), + "Install architecture-independent files in <str> (" + prefix + ")."); + +// opt.add({}, "--exec-prefix", +// std::function([&](std::string arg) +// { +// exec_prefix = arg; +// return 0; +// }), +// "Install architecture-dependent files in <str> (" + prefix + ")."); + // Resolv externals ctor::external_configurations externalConfigs; const auto& externalConfigFiles = getExternalConfigFileList(); @@ -432,17 +534,6 @@ int regenerateCache(ctor::settings& settings, } - opt.add('h', "--help", - std::function([&]() -> int - { - std::cout << "Configure how to build with " << name << "\n"; - std::cout << "Usage: " << name << " configure [options]\n\n"; - std::cout << "Options:\n"; - opt.help(); - exit(0); - }), - "Print this help text."); - opt.set_err_cb( [&](arg::error err, std::string_view arg) { |
