summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--backends/Makefile.am2
-rw-r--r--configure.ac25
-rw-r--r--libasm/Makefile.am2
-rw-r--r--libcpu/Makefile.am2
-rw-r--r--libdw/Makefile.am2
-rw-r--r--libelf/Makefile.am2
-rw-r--r--src/Makefile.am30
-rw-r--r--tests/Makefile.am18
8 files changed, 54 insertions, 29 deletions
diff --git a/backends/Makefile.am b/backends/Makefile.am
index 3e1992eb..6dc20222 100644
--- a/backends/Makefile.am
+++ b/backends/Makefile.am
@@ -141,7 +141,7 @@ libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw) $(libgnu)
$(AM_V_CCLD)$(LINK) $(dso_LDFLAGS) -o $(@:.map=.so) \
-Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \
-Wl,--version-script,$(@:.so=.map) \
- -Wl,--as-needed $(libelf) $(libdw) $(libgnu)
+ -Wl,--as-needed $(libelf) $(libdw) $(libgnu) $(intl_LDADD)
@$(textrel_check)
libebl_i386.so: $(cpu_i386)
diff --git a/configure.ac b/configure.ac
index 165149db..0266a364 100644
--- a/configure.ac
+++ b/configure.ac
@@ -431,6 +431,31 @@ CFLAGS="$old_CFLAGS"])
AM_CONDITIONAL(HAVE_IMPLICIT_FALLTHROUGH_WARNING,
[test "x$ac_cv_implicit_fallthrough" != "xno"])
+dnl Check if gettext is available form libc
+AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [#include <libintl.h>],
+ [dgettext("foo", "bar"); return 0;]
+ )],
+ [libc_has_gettext="true"],
+ [libc_has_gettext="false"]
+)
+
+dnl If our libc doesn't provide gettext, then test for libintl
+if test "$libc_has_gettext" = "false" ; then
+ AC_MSG_WARN("libc does not have gettext")
+ AC_CHECK_LIB([intl], [dgettext], [have_intl="true"], [have_intl="false"], [-liconv])
+
+ if test "$have_intl" = "false"; then
+ AC_MSG_ERROR("no libintl found")
+ else
+ intl_LDADD="-lintl -liconv"
+ fi
+else
+ intl_LDADD=""
+fi
+AC_SUBST([intl_LDADD])
+
dnl Check if we have <linux/bpf.h> for EM_BPF disassembly.
AC_CHECK_HEADERS(linux/bpf.h)
AM_CONDITIONAL(HAVE_LINUX_BPF_H, [test "x$ac_cv_header_linux_bpf_h" = "xyes"])
diff --git a/libasm/Makefile.am b/libasm/Makefile.am
index a5fc9fc1..30f7fa93 100644
--- a/libasm/Makefile.am
+++ b/libasm/Makefile.am
@@ -55,7 +55,7 @@ libasm_a_SOURCES = asm_begin.c asm_abort.c asm_end.c asm_error.c \
libasm_pic_a_SOURCES =
am_libasm_pic_a_OBJECTS = $(libasm_a_SOURCES:.c=.os)
-libasm_so_LDLIBS =
+libasm_so_LDLIBS = $(intl_LDADD)
if USE_LOCKS
libasm_so_LDLIBS += -lpthread
endif
diff --git a/libcpu/Makefile.am b/libcpu/Makefile.am
index 9ca0f434..d2775832 100644
--- a/libcpu/Makefile.am
+++ b/libcpu/Makefile.am
@@ -90,7 +90,7 @@ i386_lex_CFLAGS = -Wno-unused-label -Wno-unused-function -Wno-sign-compare
i386_parse.o: i386_parse.c i386.mnemonics
i386_parse_CFLAGS = -DNMNES="`wc -l < i386.mnemonics`"
i386_lex.o: i386_parse.h
-i386_gendis_LDADD = $(libeu) $(libgnu) -lm
+i386_gendis_LDADD = $(libeu) $(libgnu) $(intl_LDADD) -lm
i386_parse.h: i386_parse.c ;
diff --git a/libdw/Makefile.am b/libdw/Makefile.am
index 7b69f6a6..31f7012f 100644
--- a/libdw/Makefile.am
+++ b/libdw/Makefile.am
@@ -118,7 +118,7 @@ libdw.so$(EXEEXT): $(srcdir)/libdw.map libdw_pic.a ../libdwelf/libdwelf_pic.a \
-Wl,--enable-new-dtags,-rpath,$(pkglibdir) \
-Wl,--version-script,$<,--no-undefined \
-Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\
- -ldl -lz $(zip_LIBS) $(libgnu)
+ -ldl -lz $(intl_LDADD) $(zip_LIBS) $(libgnu)
@$(textrel_check)
$(AM_V_at)ln -fs $@ $@.$(VERSION)
diff --git a/libelf/Makefile.am b/libelf/Makefile.am
index 78d68532..64687b72 100644
--- a/libelf/Makefile.am
+++ b/libelf/Makefile.am
@@ -95,7 +95,7 @@ libelf_a_SOURCES = elf_version.c elf_hash.c elf_error.c elf_fill.c \
libelf_pic_a_SOURCES =
am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os)
-libelf_so_LDLIBS = -lz
+libelf_so_LDLIBS = -lz $(intl_LDADD)
if USE_LOCKS
libelf_so_LDLIBS += -lpthread
endif
diff --git a/src/Makefile.am b/src/Makefile.am
index aca4b1c1..a330959b 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -72,22 +72,22 @@ ranlib_no_Wstack_usage = yes
ar_no_Wstack_usage = yes
unstrip_no_Wstack_usage = yes
-readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libgnu) -ldl
-nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libgnu) -ldl \
+readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libgnu) $(intl_LDADD) -ldl
+nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libgnu) $(intl_LDADD) -ldl \
$(demanglelib)
-size_LDADD = $(libelf) $(libeu) $(libgnu)
-strip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(libgnu) -ldl
-elflint_LDADD = $(libebl) $(libelf) $(libeu) $(libgnu) -ldl
-findtextrel_LDADD = $(libdw) $(libelf) $(libeu) $(libgnu)
-addr2line_LDADD = $(libdw) $(libelf) $(libeu) $(libgnu) $(demanglelib)
-elfcmp_LDADD = $(libebl) $(libelf) $(libeu) $(libgnu) -ldl
-objdump_LDADD = $(libasm) $(libebl) $(libelf) $(libeu) $(libgnu) -ldl
-ranlib_LDADD = libar.a $(libelf) $(libeu) $(libgnu)
-strings_LDADD = $(libelf) $(libeu) $(libgnu)
-ar_LDADD = libar.a $(libelf) $(libeu) $(libgnu)
-unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(libgnu) -ldl
-stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(libgnu) -ldl $(demanglelib)
-elfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(libgnu)
+size_LDADD = $(libelf) $(libeu) $(libgnu) $(intl_LDADD)
+strip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(libgnu) $(intl_LDADD) -ldl
+elflint_LDADD = $(libebl) $(libelf) $(libeu) $(libgnu) $(intl_LDADD) -ldl
+findtextrel_LDADD = $(libdw) $(libelf) $(libeu) $(libgnu) $(intl_LDADD)
+addr2line_LDADD = $(libdw) $(libelf) $(libeu) $(libgnu) $(intl_LDADD) $(demanglelib)
+elfcmp_LDADD = $(libebl) $(libelf) $(libeu) $(libgnu) $(intl_LDADD) -ldl
+objdump_LDADD = $(libasm) $(libebl) $(libelf) $(libeu) $(libgnu) $(intl_LDADD) -ldl
+ranlib_LDADD = libar.a $(libelf) $(libeu) $(libgnu) $(intl_LDADD)
+strings_LDADD = $(libelf) $(libeu) $(libgnu) $(intl_LDADD)
+ar_LDADD = libar.a $(libelf) $(libeu) $(libgnu) $(intl_LDADD)
+unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(libgnu) $(intl_LDADD) -ldl
+stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(libgnu) $(intl_LDADD) -ldl $(demanglelib)
+elfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(libgnu) $(intl_LDADD)
installcheck-binPROGRAMS: $(bin_PROGRAMS)
bad=0; pid=$$$$; list="$(bin_PROGRAMS)"; for p in $$list; do \
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 7258069e..f9b556dc 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -433,15 +433,15 @@ funcretval_LDADD = $(libdw) $(libgnu)
allregs_LDADD = $(libdw) $(libgnu)
find_prologues_LDADD = $(libdw) $(libgnu)
#show_ciefde_LDADD = ../libdwarf/libdwarf.so $(libelf)
-asm_tst1_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) $(libgnu) -ldl
-asm_tst2_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) $(libgnu) -ldl
-asm_tst3_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) $(libgnu) -ldl
-asm_tst4_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) $(libgnu) -ldl
-asm_tst5_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) $(libgnu) -ldl
-asm_tst6_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) $(libgnu) -ldl
-asm_tst7_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) $(libgnu) -ldl
-asm_tst8_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) $(libgnu) -ldl
-asm_tst9_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) $(libgnu) -ldl
+asm_tst1_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) $(libgnu) $(intl_LDADD) -ldl
+asm_tst2_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) $(libgnu) $(intl_LDADD) -ldl
+asm_tst3_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) $(libgnu) $(intl_LDADD) -ldl
+asm_tst4_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) $(libgnu) $(intl_LDADD) -ldl
+asm_tst5_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) $(libgnu) $(intl_LDADD) -ldl
+asm_tst6_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) $(libgnu) $(intl_LDADD) -ldl
+asm_tst7_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) $(libgnu) $(intl_LDADD) -ldl
+asm_tst8_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) $(libgnu) $(intl_LDADD) -ldl
+asm_tst9_LDADD = $(libasm) $(libebl) $(libelf) $(libdw) $(libgnu) $(intl_LDADD) -ldl
dwflmodtest_LDADD = $(libdw) $(libebl) $(libelf) $(libgnu) -ldl
rdwrmmap_LDADD = $(libelf) $(libgnu)
dwfl_bug_addr_overflow_LDADD = $(libdw) $(libebl) $(libelf) $(libgnu) -ldl