Skip to content

Commit dba2718

Browse files
rustyrussellcdecker
authored andcommitted
external/libbacktrace: new external library for backtrace support.
Signed-off-by: Rusty Russell <[email protected]>
1 parent 584b160 commit dba2718

File tree

3 files changed

+18
-3
lines changed

3 files changed

+18
-3
lines changed

.gitmodules

+3
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,6 @@
77
[submodule "libsodium"]
88
path = external/libsodium
99
url = https://github.com/jedisct1/libsodium.git
10+
[submodule "external/libbacktrace"]
11+
path = external/libbacktrace
12+
url = https://github.com/ianlancetaylor/libbacktrace.git

external/Makefile

+14-3
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,15 @@ JSMN_HEADERS := external/jsmn/jsmn.h
88
LIBBASE58_HEADERS := external/libbase58/libbase58.h
99

1010
EXTERNAL_HEADERS := $(LIBSODIUM_HEADERS) $(LIBWALLY_HEADERS) $(LIBSECP_HEADERS) $(JSMN_HEADERS) $(LIBBASE58_HEADERS)
11-
EXTERNAL_LIBS := external/libwallycore.a external/libsecp256k1.a external/libsodium.a external/libjsmn.a external/libbase58.a
11+
EXTERNAL_LIBS := external/libwallycore.a external/libsecp256k1.a external/libsodium.a external/libjsmn.a external/libbase58.a external/libbacktrace.a
1212

1313
EXTERNAL_INCLUDE_FLAGS := \
1414
-I external/libsodium/src/libsodium/include \
1515
-I external/libwally-core/include/ \
1616
-I external/libwally-core/src/secp256k1/include/ \
1717
-I external/jsmn/ \
18-
-I external/libbase58/
18+
-I external/libbase58/ \
19+
-I external/libbacktrace
1920

2021
EXTERNAL_LDLIBS := -Lexternal $(patsubst lib%.a,-l%,$(notdir $(EXTERNAL_LIBS)))
2122

@@ -69,6 +70,16 @@ external/base58.o: $(LIBBASE58_SRC)
6970
external/libbase58.a: external/base58.o
7071
$(AR) rc $@ $<
7172

73+
external/libbacktrace/backtrace.h:
74+
git submodule update external/libbacktrace/
75+
[ -f $@ ] || git submodule update --init external/libbacktrace/
76+
77+
# Need separate build dir: changes inside submodule make git think it's dirty.
78+
external/libbacktrace.a: external/libbacktrace/backtrace.h
79+
@mkdir external/libbacktrace-build 2>/dev/null || true
80+
cd external/libbacktrace-build && ../libbacktrace/configure CC="$(CC)" --enable-static=yes --enable-shared=no --libdir=`pwd`/.. && $(MAKE)
81+
$(MAKE) -C external/libbacktrace-build install-exec
82+
7283
distclean: external-distclean
7384
clean: external-clean
7485

@@ -77,7 +88,7 @@ external-clean:
7788

7889
external-distclean:
7990
make -C external/libsodium distclean || true
80-
make -C external/libbase64 distclean || true
91+
$(RM) -rf external/libbacktrace-build
8192
$(RM) external/libsodium.la external/libsodium/src/libsodium/libsodium.la
8293
$(RM) external/libwally-core/src/secp256k1/libsecp256k1.la external/libwally-core/src/libwallycore.la
8394
cd external/libwally-core && tools/cleanup.sh

external/libbacktrace

Submodule libbacktrace added at 14d377e

0 commit comments

Comments
 (0)