#define R2_LIBDIR "@LIBDIR@"
#define R2_BINDIR "@BINDIR@"
#define R2_MANDIR "@MANDIR@"
+#define R2_DOCDIR "@DOCDIR@"
#define R2_INCDIR "@INCLUDEDIR@"
#define R2_DATDIR "@DATADIR@"
#define R2_WWWROOT "@WWWROOT@"
#define R2_ETCDIR "etc"
#define R2_BINDIR "bin"
#define R2_MANDIR "man"
+#define R2_DOCDIR "doc"
#define R2_LIBDIR "lib"
#define R2_INCDIR "include\\libr"
#define R2_DATDIR "share"
#define R2_LIBDIR "@LIBDIR@"
#define R2_BINDIR "@BINDIR@"
#define R2_MANDIR "@MANDIR@"
+#define R2_DOCDIR "@DOCDIR@"
#define R2_INCDIR "@INCLUDEDIR@/libr"
#define R2_DATDIR "@DATADIR@"
#define R2_WWWROOT R2_DATDIR "/radare2/" R2_VERSION "/www"
r_sys_setenv ("R2PM_MANDIR", mandir);
free (mandir);
+ char *docdir = r_str_newf ("%s/doc", r2_prefix);
+ r_sys_setenv ("R2PM_DOCDIR", docdir);
+ free (docdir);
+
char *r2pm_libdir = r_str_newf ("%s/lib", r2_prefix);
r_sys_setenv ("R2PM_LIBDIR", r2pm_libdir);
#if R2__WINDOWS__
char *r2pm_plugdir = r_sys_getenv ("R2PM_PLUGDIR");
char *r2pm_bindir = r_sys_getenv ("R2PM_BINDIR");
char *r2pm_mandir = r_sys_getenv ("R2PM_MANDIR");
+ char *r2pm_docdir = r_sys_getenv ("R2PM_DOCDIR");
char *r2pm_libdir = r_sys_getenv ("R2PM_LIBDIR");
char *r2pm_dbdir = r_sys_getenv ("R2PM_DBDIR");
char *r2pm_prefix = r_sys_getenv ("R2PM_PREFIX");
"R2PM_PREFIX=%s\n"
"R2PM_BINDIR=%s\n"
"R2PM_MANDIR=%s\n"
+ "R2PM_DOCDIR=%s\n"
"R2PM_LIBDIR=%s\n"
"R2PM_DBDIR=%s\n"
"R2PM_GITDIR=%s\n"
r2pm_prefix,
r2pm_bindir,
r2pm_mandir,
+ r2pm_docdir,
r2pm_libdir,
r2pm_dbdir,
r2pm_gitdir,
free (r2pm_prefix);
free (r2pm_bindir);
free (r2pm_mandir);
+ free (r2pm_docdir);
+ free (r2pm_libdir);
free (r2pm_dbdir);
free (r2pm_gitdir);
free (r2pm_giturl);
/* radare - LGPL - Copyright 2009-2025 - pancake */
#include "r_userconf.h"
+#ifndef R2_DOCDIR
+#define R2_DOCDIR "share/doc/radare2"
+#endif
#include "r_util/r_str.h"
#include "r_util/r_sys.h"
#include <r_main.h>
" R2_INCDIR " R2_INCDIR "\n"
" R2_BINDIR " R2_BINDIR "\n"
" R2_MANDIR " R2_MANDIR "\n"
+ " R2_DOCDIR " R2_DOCDIR "\n"
" R2_LIBDIR " R2_LIBDIR "\n"
" R2_LIBEXT " R_LIB_EXT "\n"
" R2_PREFIX " R2_PREFIX "\n",
char *libdir = r_str_r2_prefix (R2_LIBDIR);
char *bindir = r_str_r2_prefix (R2_BINDIR);
char *mandir = r_str_r2_prefix (R2_MANDIR);
+ char *docdir = r_str_r2_prefix (R2_DOCDIR);
#else
char *incdir = strdup (R2_INCDIR);
char *libdir = strdup (R2_LIBDIR);
char *bindir = strdup (R2_BINDIR);
char *mandir = strdup (R2_MANDIR);
+ char *docdir = strdup (R2_DOCDIR);
#endif
char *rcfile = r_file_home (".radare2rc");
char *confighome = r_xdg_configdir (NULL);
char *cachehome = r_xdg_cachedir (NULL);
char *homeplugins = r_xdg_datadir ("plugins");
char *homezigns = r_xdg_datadir ("zigns");
+ char *homedoc = r_xdg_datadir ("doc");
+ // printf ("homedoc = %s\n", homedoc);
char *plugins = r_str_r2_prefix (R2_PLUGINS);
char *magicpath = r_str_r2_prefix (R2_SDB_MAGIC);
char *historyhome = r_xdg_cachedir ("history");
{ "R2_INCDIR", incdir },
{ "R2_BINDIR", bindir },
{ "R2_MANDIR", mandir },
+ { "R2_DOCDIR", docdir },
{ "R2_RCFILE", rcfile },
{ "R2_LIBDIR", libdir },
{ "R2_LIBEXT", R_LIB_EXT },
{ "R2_CACHE_HOME", cachehome }, // from xdg
{ "R2_LIBR_PLUGINS", plugins },
{ "R2_USER_PLUGINS", homeplugins },
+ { "R2_USER_DOCDIR", homedoc },
{ "R2_ZIGNS_HOME", homezigns },
{ "R2_CFLAGS", r2_cflags },
{ "R2_LDFLAGS", r2_ldflags },
free (datahome);
free (cachehome);
free (homeplugins);
+ free (homedoc);
free (homezigns);
free (plugins);
free (magicpath);
Directory for user plugins (default: ~/.local/share/radare2/plugins)
.It Ev R2PM_BINDIR
Directory for user binaries (default: ~/.local/share/radare2/prefix/bin)
+.It Ev R2PM_MANDIR
+Directory for user man pages (default: ~/.local/share/radare2/prefix/man)
+.It Ev R2PM_DOCDIR
+Directory for user documentation (default: ~/.local/share/radare2/prefix/doc)
.It Ev R2PM_OFFLINE
Disable online operations (default: 0)
.It Ev R2PM_DBDIR
r2_sdb = join_paths(r2_datdir)
r2_zigns = join_paths(r2_datdir, 'zigns')
r2_scripts = join_paths(r2_datdir, 'scripts')
+ r2_docdir = join_paths(r2_datdir, 'doc', 'radare2')
r2_themes = join_paths(r2_datdir, 'cons')
r2_panels = join_paths(r2_datdir, 'panels')
r2_platform = join_paths(r2_datdir, 'platform')
r2_libdir = get_option('libdir')
r2_incdir = join_paths(get_option('includedir'), 'libr')
r2_datdir = get_option('datadir')
+ r2_docdir = join_paths(r2_datdir, 'doc', 'radare2')
r2_datdir_r2 = join_paths(r2_datdir, 'radare2')
r2_wwwroot = join_paths(r2_datdir_r2, r2_version, 'www')
r2_sdb = join_paths(r2_datdir_r2, r2_version)
userconf.set('PREFIX', r2_prefix)
userconf.set('BINDIR', join_paths(r2_prefix, 'bin'))
userconf.set('MANDIR', join_paths(r2_datdir, 'man'))
+userconf.set('DOCDIR', r2_docdir)
if host_machine.system() == 'windows'
userconf.set('LIBDIR', r2_libdir)
userconf.set('INCLUDEDIR', r2_incdir)