summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt2
-rw-r--r--src/main.cc11
-rw-r--r--src/system.hh.in1
-rw-r--r--src/utils.h3
4 files changed, 12 insertions, 5 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a40cc1ff..4e0e23de 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -287,6 +287,8 @@ if (BUILD_LIBRARY)
INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}"
VERSION ${Ledger_VERSION_MAJOR}
SOVERSION ${Ledger_VERSION_MAJOR})
+ set_source_files_properties(
+ ${LEDGER_CLI_SOURCES} PROPERTIES COMPILE_FLAGS "-fPIC")
add_executable(ledger ${LEDGER_CLI_SOURCES})
target_link_libraries(ledger libledger)
diff --git a/src/main.cc b/src/main.cc
index 6b3e1eb3..fcd61f28 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -41,6 +41,9 @@
#if HAVE_EDIT
#include <editline/readline.h>
+#elif HAVE_READLINE
+#include <readline/readline.h>
+#include <readline/history.h>
#endif
using namespace ledger;
@@ -137,7 +140,7 @@ int main(int argc, char * argv[], char * envp[])
bool exit_loop = false;
-#if HAVE_EDIT
+#if HAVE_EDIT || HAVE_READLINE
rl_readline_name = const_cast<char *>("Ledger");
// TODO: rl_attempted_completion_function = ledger_completion;
@@ -158,7 +161,7 @@ int main(int argc, char * argv[], char * envp[])
add_history(expansion);
}
-#else // HAVE_EDIT
+#else // HAVE_EDIT || HAVE_READLINE
while (! std::cin.eof()) {
std::cout << global_scope->prompt_string();
@@ -167,7 +170,7 @@ int main(int argc, char * argv[], char * envp[])
char * p = skip_ws(line);
-#endif // HAVE_EDIT
+#endif // HAVE_EDIT || HAVE_READLINE
check_for_signal();
@@ -178,7 +181,7 @@ int main(int argc, char * argv[], char * envp[])
global_scope->execute_command_wrapper(split_arguments(p), true);
}
-#if HAVE_EDIT
+#if HAVE_EDIT || HAVE_READLINE
if (expansion)
std::free(expansion);
std::free(p);
diff --git a/src/system.hh.in b/src/system.hh.in
index 10086d23..05f28fc2 100644
--- a/src/system.hh.in
+++ b/src/system.hh.in
@@ -52,6 +52,7 @@
#cmakedefine01 HAVE_GETTEXT
#cmakedefine01 HAVE_EDIT
+#cmakedefine01 HAVE_READLINE
#cmakedefine01 HAVE_GETPWUID
#cmakedefine01 HAVE_GETPWNAM
#cmakedefine01 HAVE_IOCTL
diff --git a/src/utils.h b/src/utils.h
index a3fc9de5..c17c8fb1 100644
--- a/src/utils.h
+++ b/src/utils.h
@@ -44,6 +44,7 @@
#pragma once
#include <boost/uuid/detail/sha1.hpp>
+#include <ledger.hh>
#define TIMERS_ON 1
@@ -94,7 +95,7 @@ namespace ledger {
#else // !NO_ASSERTS
-#define assert(x)
+#define assert(x) ((void)(x))
#endif // !NO_ASSERTS