1#ifndef R2_CONFIGURE_H
2#define R2_CONFIGURE_H
3
4#include "r_version.h"
5
6#define R_CHECKS_LEVEL @R_CHECKS_LEVEL@
7#define DEBUGGER @DEBUGGER@
8#define HAVE_DECL_ADDR_NO_RANDOMIZE @HAVE_DECL_ADDR_NO_RANDOMIZE@
9#define HAVE_ARC4RANDOM_UNIFORM @HAVE_ARC4RANDOM_UNIFORM@
10#define HAVE_EXPLICIT_BZERO @HAVE_EXPLICIT_BZERO@
11#define HAVE_EXPLICIT_MEMSET @HAVE_EXPLICIT_MEMSET@
12#define HAVE_CLOCK_NANOSLEEP @HAVE_CLOCK_NANOSLEEP@
13#define HAVE_SIGACTION @HAVE_SIGACTION@
14
15#ifdef R_MESON_VERSION
16#define R2_PREFIX "@PREFIX@"
17#define R2_LIBDIR "@LIBDIR@"
18#define R2_INCDIR "@INCLUDEDIR@"
19#define R2_DATDIR "@DATADIR@"
20#define R2_WWWROOT "@WWWROOT@"
21#define R2_PLUGINS "@PLUGINS@"
22#define R2_EXTRAS "@EXTRAS@"
23#define R2_BINDINGS "@BINDINGS@"
24#define R2_DATDIR_R2 "@DATADIR_R2@"
25#define R2_SDB "@SDB@"
26#define R2_ZIGNS "@ZIGNS@"
27#define R2_THEMES "@THEMES@"
28#define R2_FORTUNES "@FORTUNES@"
29#define R2_FLAGS "@FLAGS@"
30#define R2_HUD "@HUD@"
31#else
32#if __WINDOWS__ || _MSC_VER
33#define R2_PREFIX "."
34#define R2_LIBDIR "lib"
35#define R2_INCDIR "include\\libr"
36#define R2_DATDIR "share"
37#define R2_WWWROOT "www"
38#define R2_PLUGINS "lib\\plugins"
39#define R2_EXTRAS "lib\\extras"
40#define R2_BINDINGS "lib\\bindings"
41#else
42#define R2_PREFIX "@PREFIX@"
43#define R2_LIBDIR "@LIBDIR@"
44#define R2_INCDIR "@INCLUDEDIR@/libr"
45#define R2_DATDIR "@DATADIR@"
46#define R2_WWWROOT R2_DATDIR "/radare2/" R2_VERSION "/www"
47#define R2_PLUGINS "lib/radare2/" R2_VERSION
48#define R2_EXTRAS "lib/radare2-extras/" R2_VERSION
49#define R2_BINDINGS "lib/radare2-bindings/" R2_VERSION
50#endif
51#define R2_DATDIR_R2        R_JOIN_2_PATHS ("share", "radare2")
52#define R2_SDB              R_JOIN_3_PATHS ("share", "radare2", R2_VERSION)
53#define R2_ZIGNS            R_JOIN_4_PATHS ("share", "radare2", R2_VERSION, "zigns")
54#define R2_THEMES           R_JOIN_4_PATHS ("share", "radare2", R2_VERSION, "cons")
55#define R2_FLAGS            R_JOIN_4_PATHS ("share", "radare2", R2_VERSION, "flag")
56#define R2_FORTUNES         R_JOIN_3_PATHS ("share", "doc", "radare2")
57#define R2_HUD              R_JOIN_4_PATHS ("share", "radare2", R2_VERSION, "hud")
58#endif
59
60#define R2_SDB_FCNSIGN      R_JOIN_2_PATHS (R2_SDB, "fcnsign")
61#define R2_SDB_OPCODES      R_JOIN_2_PATHS (R2_SDB, "opcodes")
62#define R2_SDB_MAGIC        R_JOIN_2_PATHS (R2_SDB, "magic")
63#define R2_SDB_FORMAT       R_JOIN_2_PATHS (R2_SDB, "format")
64
65#define R2_HOME_CONFIGDIR   R_JOIN_2_PATHS (".config", "radare2")
66#define R2_HOME_DATADIR     R_JOIN_3_PATHS (".local", "share", "radare2")
67#define R2_HOME_CACHEDIR    R_JOIN_2_PATHS (".cache", "radare2")
68
69#define R2_HOME_THEMES      R_JOIN_2_PATHS (R2_HOME_DATADIR, "cons")
70#define R2_HOME_PLUGINS     R_JOIN_2_PATHS (R2_HOME_DATADIR, "plugins")
71#define R2_HOME_ZIGNS       R_JOIN_2_PATHS (R2_HOME_DATADIR, "zigns")
72#define R2_HOME_PDB         R_JOIN_2_PATHS (R2_HOME_DATADIR, "pdb")
73#define R2_HOME_PROJECTS    R_JOIN_2_PATHS (R2_HOME_DATADIR, "projects")
74#define R2_HOME_WWWROOT     R_JOIN_2_PATHS (R2_HOME_DATADIR, "www")
75#define R2_HOME_SDB_FCNSIGN R_JOIN_2_PATHS (R2_HOME_DATADIR, "fcnsign")
76#define R2_HOME_SDB_FORMAT  R_JOIN_2_PATHS (R2_HOME_DATADIR, "format")
77#define R2_HOME_HUD         R_JOIN_2_PATHS (R2_HOME_DATADIR, "hud")
78#define R2_HOME_BINRC       R_JOIN_2_PATHS (R2_HOME_DATADIR, "rc.d")
79#define R2_HOME_BIN         R_JOIN_3_PATHS (R2_HOME_DATADIR, "prefix", "bin")
80
81#define R2_HOME_HISTORY     R_JOIN_2_PATHS (R2_HOME_CACHEDIR, "history")
82
83#define R2_HOME_RC          R_JOIN_2_PATHS (R2_HOME_CONFIGDIR, "radare2rc")
84#define R2_HOME_RC_DIR      R_JOIN_2_PATHS (R2_HOME_CONFIGDIR, "radare2rc.d")
85#define R2_GLOBAL_RC        R_JOIN_2_PATHS (R2_DATDIR_R2, "radare2rc")
86
87#define HAVE_LIB_MAGIC @HAVE_LIB_MAGIC@
88#define USE_LIB_MAGIC @USE_LIB_MAGIC@
89#define HAVE_LIB_XXHASH @HAVE_LIB_XXHASH@
90#define USE_LIB_XXHASH @USE_LIB_XXHASH@
91
92#ifndef HAVE_LIB_SSL
93#define HAVE_LIB_SSL @HAVE_OPENSSL@
94#endif
95
96#define HAVE_LIBUV @HAVE_LIBUV@
97
98#define HAVE_PTRACE @HAVE_PTRACE@
99#define USE_PTRACE_WRAP @USE_PTRACE_WRAP@
100#define HAVE_FORK @HAVE_FORK@
101#define WANT_DYLINK @WANT_DYLINK@
102#define WITH_GPL @WITH_GPL@
103
104#if __APPLE__ && __POWERPC__
105#define HAVE_JEMALLOC 0
106#else
107#define HAVE_JEMALLOC @HAVE_JEMALLOC@
108#endif
109
110#endif
111