Hi

The updated Makefile is not able to compile readline.
Please help me to cross compile for MIPS.

Thanks and Regards


On Wed, Mar 18, 2020 at 10:12 PM Daniel-Constantin Mierla <miconda@gmail.com> wrote:
Module: kamailio
Branch: master
Commit: 0e6e05f8bec1fb451375d71a6b929a6908c5689d
URL: https://github.com/kamailio/kamailio/commit/0e6e05f8bec1fb451375d71a6b929a6908c5689d

Author: Daniel-Constantin Mierla <miconda@gmail.com>
Committer: Daniel-Constantin Mierla <miconda@gmail.com>
Date: 2020-03-18T17:39:49+01:00

kamcmd: use pkg-config to get compile flags for lib readline

---

Modified: utils/kamcmd/Makefile

---

Diff:  https://github.com/kamailio/kamailio/commit/0e6e05f8bec1fb451375d71a6b929a6908c5689d.diff
Patch: https://github.com/kamailio/kamailio/commit/0e6e05f8bec1fb451375d71a6b929a6908c5689d.patch

---

diff --git a/utils/kamcmd/Makefile b/utils/kamcmd/Makefile
index aae4f1394c..c8a7e6807e 100644
--- a/utils/kamcmd/Makefile
+++ b/utils/kamcmd/Makefile
@@ -18,6 +18,17 @@ readline_localpath=$(LOCALBASE)/include/readline/readline.h
 readline_locations= /usr/include/readline/readline.h \
                                        $(readline_localpath)

+ifeq ($(CROSS_COMPILE),)
+       BUILDER = $(shell which pkg-config)
+ifneq ($(BUILDER),)
+       PKGREADLINE = $(shell $(BUILDER) --exists readline > /dev/null 2>&1 ; echo $$? )
+ifneq ($(PKGREADLINE),0)
+       BUILDER =
+endif
+endif
+endif
+
+
 use_readline ?=
 ifneq (,$(MAKECMDGOALS))
 ifeq (,$(filter-out $(nodep_targets),$(MAKECMDGOALS)))
@@ -66,6 +77,12 @@ ifneq (,$(findstring cygwin, $(OS)))
        LIBS:= -lresolv
 endif

+# detect libreadline
+ifneq ($(BUILDER),)
+       DEFS += $(shell $(BUILDER) --cflags readline)
+       LIBS += $(shell $(BUILDER) --libs readline)
+       use_readline := 1
+else
 ifeq ($(use_readline),)
 readline_path := $(shell  \
                                                for r in $(readline_locations) ""; do \
@@ -93,14 +110,20 @@ endif
        LIBS+=-lreadline -lncurses
 endif

-endif
+endif  # ifeq ($(use_readline),1)
+
+endif  # ifneq ($(BUILDER),)


 include $(COREPATH)/Makefile.utils

 ifeq (,$(quiet))
 ifeq ($(use_readline),1)
+ifneq ($(BUILDER),)
+$(info readline detected via pkg-config)
+else
 $(info readline detected ($(readline_path)) )
+endif
 $(info command completion enabled)
 else
 $(info "no readline include files detected, disabling readline support")


_______________________________________________
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev