mirror of https://github.com/Icinga/icinga2.git
Added methods for retrieving the installation prefix and local state dir.
This commit is contained in:
parent
23cd92803b
commit
47fa56a805
|
@ -66,6 +66,12 @@ AC_CHECK_LIB(ws2_32, getsockname)
|
||||||
AC_CHECK_LIB(shlwapi, PathRemoveFileSpecA)
|
AC_CHECK_LIB(shlwapi, PathRemoveFileSpecA)
|
||||||
AC_CHECK_FUNCS([backtrace_symbols])
|
AC_CHECK_FUNCS([backtrace_symbols])
|
||||||
|
|
||||||
|
AS_AC_EXPAND([ICINGA_PREFIX], $prefix)
|
||||||
|
AC_DEFINE_UNQUOTED([ICINGA_PREFIX], "$ICINGA_PREFIX", [The installation prefix.])
|
||||||
|
|
||||||
|
AS_AC_EXPAND([ICINGA_LOCALSTATEDIR], $localstatedir)
|
||||||
|
AC_DEFINE_UNQUOTED([ICINGA_LOCALSTATEDIR], "$ICINGA_LOCALSTATEDIR", [The local state dir.])
|
||||||
|
|
||||||
AC_CONFIG_FILES([
|
AC_CONFIG_FILES([
|
||||||
Makefile
|
Makefile
|
||||||
components/Makefile
|
components/Makefile
|
||||||
|
|
|
@ -17,8 +17,7 @@ icinga2_CPPFLAGS = \
|
||||||
-I${top_srcdir}/lib/config \
|
-I${top_srcdir}/lib/config \
|
||||||
-I${top_srcdir}/lib/remoting \
|
-I${top_srcdir}/lib/remoting \
|
||||||
-I${top_srcdir}/lib/icinga \
|
-I${top_srcdir}/lib/icinga \
|
||||||
-I${top_srcdir} \
|
-I${top_srcdir}
|
||||||
-DICINGA_LIBDIR="\"$(pkglibdir)\""
|
|
||||||
|
|
||||||
icinga2_LDFLAGS = \
|
icinga2_LDFLAGS = \
|
||||||
$(BOOST_LDFLAGS) \
|
$(BOOST_LDFLAGS) \
|
||||||
|
|
|
@ -113,6 +113,14 @@ int main(int argc, char **argv)
|
||||||
* in the base library. */
|
* in the base library. */
|
||||||
Application::SetMainThread();
|
Application::SetMainThread();
|
||||||
|
|
||||||
|
#ifdef ICINGA_PREFIX
|
||||||
|
Application::SetPrefixDir(ICINGA_PREFIX);
|
||||||
|
#endif /* ICINGA_PREFIX */
|
||||||
|
|
||||||
|
#ifdef ICINGA_LOCALSTATEDIR
|
||||||
|
Application::SetLocalStateDir(ICINGA_LOCALSTATEDIR);
|
||||||
|
#endif /* ICINGA_LOCALSTATEDIR */
|
||||||
|
|
||||||
Logger::Write(LogInformation, "icinga", "Icinga application loader"
|
Logger::Write(LogInformation, "icinga", "Icinga application loader"
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
" (version: " ICINGA_VERSION ")"
|
" (version: " ICINGA_VERSION ")"
|
||||||
|
|
|
@ -29,6 +29,8 @@ Application *Application::m_Instance = NULL;
|
||||||
bool Application::m_ShuttingDown = false;
|
bool Application::m_ShuttingDown = false;
|
||||||
bool Application::m_Debugging = false;
|
bool Application::m_Debugging = false;
|
||||||
boost::thread::id Application::m_MainThreadID;
|
boost::thread::id Application::m_MainThreadID;
|
||||||
|
String Application::m_PrefixDir;
|
||||||
|
String Application::m_LocalStateDir;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor for the Application class.
|
* Constructor for the Application class.
|
||||||
|
@ -398,3 +400,49 @@ void Application::ClosePidFile(void)
|
||||||
m_PidFile = NULL;
|
m_PidFile = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves the path of the installation prefix.
|
||||||
|
*
|
||||||
|
* @returns The path.
|
||||||
|
*/
|
||||||
|
String Application::GetPrefixDir(void)
|
||||||
|
{
|
||||||
|
if (m_PrefixDir.IsEmpty())
|
||||||
|
return "./";
|
||||||
|
else
|
||||||
|
return m_PrefixDir;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the path for the installation prefix.
|
||||||
|
*
|
||||||
|
* @param path The new path.
|
||||||
|
*/
|
||||||
|
void Application::SetPrefixDir(const String& path)
|
||||||
|
{
|
||||||
|
m_PrefixDir = path;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves the path for the local state dir.
|
||||||
|
*
|
||||||
|
* @returns The path.
|
||||||
|
*/
|
||||||
|
String Application::GetLocalStateDir(void)
|
||||||
|
{
|
||||||
|
if (m_LocalStateDir.IsEmpty())
|
||||||
|
return "./var/";
|
||||||
|
else
|
||||||
|
return m_LocalStateDir;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the path for the local state dir.
|
||||||
|
*
|
||||||
|
* @param path The new path.
|
||||||
|
*/
|
||||||
|
void Application::SetLocalStateDir(const String& path)
|
||||||
|
{
|
||||||
|
m_LocalStateDir = path;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -62,6 +62,12 @@ public:
|
||||||
|
|
||||||
static String GetExePath(const String& argv0);
|
static String GetExePath(const String& argv0);
|
||||||
|
|
||||||
|
static String GetPrefixDir(void);
|
||||||
|
static void SetPrefixDir(const String& path);
|
||||||
|
|
||||||
|
static String GetLocalStateDir(void);
|
||||||
|
static void SetLocalStateDir(const String& path);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void RunEventLoop(void);
|
void RunEventLoop(void);
|
||||||
|
|
||||||
|
@ -74,6 +80,8 @@ private:
|
||||||
FILE *m_PidFile; /**< The PID file */
|
FILE *m_PidFile; /**< The PID file */
|
||||||
static bool m_Debugging; /**< Whether debugging is enabled. */
|
static bool m_Debugging; /**< Whether debugging is enabled. */
|
||||||
static boost::thread::id m_MainThreadID; /**< ID of the main thread. */
|
static boost::thread::id m_MainThreadID; /**< ID of the main thread. */
|
||||||
|
static String m_PrefixDir; /**< The installation prefix. */
|
||||||
|
static String m_LocalStateDir; /**< The local state dir. */
|
||||||
|
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
static void SigIntHandler(int signum);
|
static void SigIntHandler(int signum);
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
dnl as-ac-expand.m4 0.2.0
|
||||||
|
dnl autostars m4 macro for expanding directories using configure's prefix
|
||||||
|
dnl thomas@apestaart.org
|
||||||
|
|
||||||
|
dnl AS_AC_EXPAND(VAR, CONFIGURE_VAR)
|
||||||
|
dnl example
|
||||||
|
dnl AS_AC_EXPAND(SYSCONFDIR, $sysconfdir)
|
||||||
|
dnl will set SYSCONFDIR to /usr/local/etc if prefix=/usr/local
|
||||||
|
|
||||||
|
AC_DEFUN([AS_AC_EXPAND],
|
||||||
|
[
|
||||||
|
EXP_VAR=[$1]
|
||||||
|
FROM_VAR=[$2]
|
||||||
|
|
||||||
|
dnl first expand prefix and exec_prefix if necessary
|
||||||
|
prefix_save=$prefix
|
||||||
|
exec_prefix_save=$exec_prefix
|
||||||
|
|
||||||
|
dnl if no prefix given, then use /usr/local, the default prefix
|
||||||
|
if test "x$prefix" = "xNONE"; then
|
||||||
|
prefix="$ac_default_prefix"
|
||||||
|
fi
|
||||||
|
dnl if no exec_prefix given, then use prefix
|
||||||
|
if test "x$exec_prefix" = "xNONE"; then
|
||||||
|
exec_prefix=$prefix
|
||||||
|
fi
|
||||||
|
|
||||||
|
full_var="$FROM_VAR"
|
||||||
|
dnl loop until it doesn't change anymore
|
||||||
|
while true; do
|
||||||
|
new_full_var="`eval echo $full_var`"
|
||||||
|
if test "x$new_full_var" = "x$full_var"; then break; fi
|
||||||
|
full_var=$new_full_var
|
||||||
|
done
|
||||||
|
|
||||||
|
dnl clean up
|
||||||
|
full_var=$new_full_var
|
||||||
|
AC_SUBST([$1], "$full_var")
|
||||||
|
|
||||||
|
dnl restore prefix and exec_prefix
|
||||||
|
prefix=$prefix_save
|
||||||
|
exec_prefix=$exec_prefix_save
|
||||||
|
])
|
Loading…
Reference in New Issue