[PATCH 1/9] libdebugger: Move to separate library

Sebastian Huber sebastian.huber at embedded-brains.de
Mon Apr 30 09:48:09 UTC 2018


Always build remote TCP support since it depends only on the POSIX
socket API.  It works with the legacy network stack and libbsd.  Move it
to a separate libdebugger.a library to allow an easy use with libbsd via
"-ldebugger -lbsd" otherwise we would have a cyclic dependency between
libbsd. and librtemscpu.a.

Update #3419.
---
 cpukit/headers.am                                              |  1 +
 .../{libdebugger => include/rtems}/rtems-debugger-remote-tcp.h |  3 +--
 cpukit/libdebugger/Makefile.am                                 | 10 +++++-----
 cpukit/libdebugger/rtems-debugger-remote-tcp.c                 |  6 +++---
 cpukit/wrapup/Makefile.am                                      |  4 ----
 testsuites/libtests/Makefile.am                                |  1 +
 6 files changed, 11 insertions(+), 14 deletions(-)
 rename cpukit/{libdebugger => include/rtems}/rtems-debugger-remote-tcp.h (95%)

diff --git a/cpukit/headers.am b/cpukit/headers.am
index 4939c5beed..dbd1273095 100644
--- a/cpukit/headers.am
+++ b/cpukit/headers.am
@@ -161,6 +161,7 @@ include_rtems_HEADERS += include/rtems/rbheap.h
 include_rtems_HEADERS += include/rtems/rbtree.h
 include_rtems_HEADERS += include/rtems/ringbuf.h
 include_rtems_HEADERS += include/rtems/rtc.h
+include_rtems_HEADERS += include/rtems/rtems-debugger-remote-tcp.h
 include_rtems_HEADERS += include/rtems/rtems-debugger.h
 include_rtems_HEADERS += include/rtems/rtems-fdt-shell.h
 include_rtems_HEADERS += include/rtems/rtems-fdt.h
diff --git a/cpukit/libdebugger/rtems-debugger-remote-tcp.h b/cpukit/include/rtems/rtems-debugger-remote-tcp.h
similarity index 95%
rename from cpukit/libdebugger/rtems-debugger-remote-tcp.h
rename to cpukit/include/rtems/rtems-debugger-remote-tcp.h
index 3d9dab9f45..d9d7feeb48 100644
--- a/cpukit/libdebugger/rtems-debugger-remote-tcp.h
+++ b/cpukit/include/rtems/rtems-debugger-remote-tcp.h
@@ -1,6 +1,5 @@
 /*
- * Copyright (c) 2016 Chris Johns <chrisj at rtems.org>.
- * All rights reserved.
+ * Copyright (c) 2016 Chris Johns <chrisj at rtems.org>.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
diff --git a/cpukit/libdebugger/Makefile.am b/cpukit/libdebugger/Makefile.am
index b202003e41..6ff35d197f 100644
--- a/cpukit/libdebugger/Makefile.am
+++ b/cpukit/libdebugger/Makefile.am
@@ -2,20 +2,20 @@ include $(top_srcdir)/automake/compile.am
 
 if LIBDEBUGGER
 
-noinst_LIBRARIES = libdebugger.a
+project_lib_LIBRARIES = libdebugger.a
 libdebugger_a_SOURCES = \
   rtems-debugger-block.c \
   rtems-debugger-cmd.c \
   rtems-debugger-remote.c \
   rtems-debugger-server.c \
   rtems-debugger-target.c \
+  rtems-debugger-remote-tcp.c \
   rtems-debugger-threads.c \
   rtems-debugger- at RTEMS_CPU@.c
 
-if LIBNETWORKING
-libdebugger_a_SOURCES += \
-  rtems-debugger-remote-tcp.c
-endif
+$(PROJECT_LIB)/libdebugger.a: libdebugger.a
+	$(INSTALL_DATA) $< $(PROJECT_LIB)/libdebugger.a
+TMPINSTALL_FILES = $(PROJECT_LIB)/libdebugger.a
 
 endif
 
diff --git a/cpukit/libdebugger/rtems-debugger-remote-tcp.c b/cpukit/libdebugger/rtems-debugger-remote-tcp.c
index b62f3a1f52..696e2deb8c 100644
--- a/cpukit/libdebugger/rtems-debugger-remote-tcp.c
+++ b/cpukit/libdebugger/rtems-debugger-remote-tcp.c
@@ -1,6 +1,5 @@
 /*
- * Copyright (c) 2016 Chris Johns <chrisj at rtems.org>.
- * All rights reserved.
+ * Copyright (c) 2016 Chris Johns <chrisj at rtems.org>.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -38,7 +37,7 @@
 #include <rtems/debugger/rtems-debugger-server.h>
 #include <rtems/debugger/rtems-debugger-remote.h>
 
-#include "rtems-debugger-remote-tcp.h"
+#include <rtems/rtems-debugger-remote-tcp.h>
 
 /**
  * Debugger default server port. 'RT' as ASCII.
@@ -277,6 +276,7 @@ tcp_remote_disconnect(rtems_debugger_remote* remote)
 
   tcp = (rtems_debugger_remote_tcp*) remote->data;
   close(tcp->fd);
+  tcp->fd = -1;
 
   rtems_debugger_unlock();
 
diff --git a/cpukit/wrapup/Makefile.am b/cpukit/wrapup/Makefile.am
index 3bb9ca4983..fcca5604e2 100644
--- a/cpukit/wrapup/Makefile.am
+++ b/cpukit/wrapup/Makefile.am
@@ -98,10 +98,6 @@ if LIBDL
 TMP_LIBS += ../libdl/libdl.a
 endif
 
-if LIBDEBUGGER
-TMP_LIBS += ../libdebugger/libdebugger.a
-endif
-
 librtemscpu.a: $(TMP_LIBS)
 	$(AM_V_GEN)rm -f $@
 	$(AM_V_GEN)$(MKDIR_P) $(ARCH)
diff --git a/testsuites/libtests/Makefile.am b/testsuites/libtests/Makefile.am
index b786e73e89..68ff80a585 100644
--- a/testsuites/libtests/Makefile.am
+++ b/testsuites/libtests/Makefile.am
@@ -246,6 +246,7 @@ debugger01_SOURCES = debugger01/init.c debugger01/remote.c \
 	debugger01/system.h
 debugger01_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_debugger01) \
 	$(support_includes)
+debugger01_LDADD = -ldebugger
 endif
 endif
 
-- 
2.12.3



More information about the devel mailing list