mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-22 17:34:54 +01:00
6dcd575d7b
binutils-2.22 changes the behaviour of ld by defaulting to --no-copy-dt-needed-entries, which means that required objects/libs are not "indirectly" linked through intermediate objects/libs anymore. As a consequence, when using binutils-2.22, building symbol-test fails with the following error: /usr/bin/ld: test/symbol-test.o: undefined reference to symbol 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()@@GLIBCXX_3.4' /usr/bin/ld: note: 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()@@GLIBCXX_3.4' is defined in DSO /usr/lib/libstdc++.so.6 so try adding it to the linker command line /usr/lib/libstdc++.so.6: could not read symbols: Invalid operation An easy fix is to link using CXX instead of CC.
33 lines
739 B
Makefile
33 lines
739 B
Makefile
# -*- makefile -*-
|
|
|
|
dir := test
|
|
|
|
extra_cflags += -I.
|
|
|
|
smtp_dummy_srcs = \
|
|
$(notmuch_compat_srcs) \
|
|
$(dir)/smtp-dummy.c
|
|
|
|
smtp_dummy_modules = $(smtp_dummy_srcs:.c=.o)
|
|
|
|
$(dir)/arg-test: $(dir)/arg-test.o command-line-arguments.o util/libutil.a
|
|
$(call quiet,CC) -I. $^ -o $@
|
|
|
|
$(dir)/smtp-dummy: $(smtp_dummy_modules)
|
|
$(call quiet,CC) $^ -o $@
|
|
|
|
$(dir)/symbol-test: $(dir)/symbol-test.o
|
|
$(call quiet,CXX) $^ -o $@ -Llib -lnotmuch -lxapian
|
|
|
|
.PHONY: test check
|
|
|
|
test-binaries: $(dir)/arg-test $(dir)/smtp-dummy $(dir)/symbol-test
|
|
|
|
test: all test-binaries
|
|
@${dir}/notmuch-test $(OPTIONS)
|
|
|
|
check: test
|
|
|
|
CLEAN := $(CLEAN) $(dir)/smtp-dummy $(dir)/smtp-dummy.o \
|
|
$(dir)/symbol-test $(dir)/symbol-test.o \
|
|
$(dir)/arg-test $(dir)/arg-test.o
|