diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/main.cc | 11 | ||||
-rw-r--r-- | src/system.hh.in | 1 | ||||
-rw-r--r-- | src/utils.h | 3 |
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 |