Signed-off-by: Akihiko Odaki --- backends/Makefile.am | 9 ++++++--- configure.ac | 11 ++++++++++- libasm/Makefile.am | 11 +++++++---- libdw/Makefile.am | 25 ++++++++++++++----------- libdwelf/Makefile.am | 6 +++++- libdwfl/Makefile.am | 9 ++++++--- libebl/Makefile.am | 2 ++ libelf/Makefile.am | 17 ++++++++++------- 8 files changed, 60 insertions(+), 30 deletions(-) diff --git a/backends/Makefile.am b/backends/Makefile.am index b553ec3..d576099 100644 --- a/backends/Makefile.am +++ b/backends/Makefile.am @@ -34,6 +34,11 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \ modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \ tilegx m68k bpf + +noinst_HEADERS = libebl_CPU.h common-reloc.c linux-core-note.c x86_corenote.c +EXTRA_DIST = $(foreach m,$(modules),$($(m)_SRCS)) $(modules:=_reloc.def) + +if BUILD_SHARED libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \ libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \ libebl_aarch64_pic.a libebl_sparc_pic.a libebl_ppc_pic.a \ @@ -158,9 +163,7 @@ uninstall: uninstall-am done rmdir --ignore-fail-on-non-empty $(DESTDIR)$(libdir)/$(LIBEBL_SUBDIR) -noinst_HEADERS = libebl_CPU.h common-reloc.c linux-core-note.c x86_corenote.c -EXTRA_DIST = $(foreach m,$(modules),$($(m)_SRCS)) $(modules:=_reloc.def) - CLEANFILES += $(foreach m,$(modules),\ libebl_$(m).map libebl_$(m).so \ $(am_libebl_$(m)_pic_a_OBJECTS)) +endif diff --git a/configure.ac b/configure.ac index e5503f1..3b06071 100644 --- a/configure.ac +++ b/configure.ac @@ -206,8 +206,17 @@ if test "$use_valgrind" = yes; then fi AM_CONDITIONAL(USE_VALGRIND, test "$use_valgrind" = yes) +AC_ARG_ENABLE([static], +AS_HELP_STRING([--enable-static],[enable static library]), [static=$enableval], [static=no]) + AM_CONDITIONAL(BUILD_STATIC, [dnl -test "$use_gprof" = yes -o "$use_gcov" = yes]) +test "$use_gprof" = yes -o "$use_gcov" = yes -o "$static" = no]) + +AC_ARG_ENABLE([shared], +AS_HELP_STRING([--disable-shared],[disable shared library]), [shared=$enableval], [shared=yes]) + +AM_CONDITIONAL(BUILD_SHARED, [dnl +test "$shared" = yes]) AC_ARG_ENABLE([tests-rpath], AS_HELP_STRING([--enable-tests-rpath],[build $ORIGIN-using rpath into tests]), diff --git a/libasm/Makefile.am b/libasm/Makefile.am index 8094b05..8abe2f1 100644 --- a/libasm/Makefile.am +++ b/libasm/Makefile.am @@ -34,8 +34,6 @@ GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include) VERSION = 1 lib_LIBRARIES = libasm.a -noinst_LIBRARIES = libasm_pic.a -noinst_PROGRAMS = $(noinst_LIBRARIES:_pic.a=.so) pkginclude_HEADERS = libasm.h libasm_a_SOURCES = asm_begin.c asm_abort.c asm_end.c asm_error.c \ @@ -52,6 +50,12 @@ libasm_a_SOURCES = asm_begin.c asm_abort.c asm_end.c asm_error.c \ disasm_begin.c disasm_cb.c disasm_end.c disasm_str.c \ symbolhash.c +noinst_HEADERS = libasmP.h symbolhash.h + +if BUILD_SHARED +noinst_LIBRARIES = libasm_pic.a +noinst_PROGRAMS = $(noinst_LIBRARIES:_pic.a=.so) + libasm_pic_a_SOURCES = am_libasm_pic_a_OBJECTS = $(libasm_a_SOURCES:.c=.os) @@ -81,8 +85,7 @@ uninstall: uninstall-am rm -f $(DESTDIR)$(libdir)/libasm.so.$(VERSION) rm -f $(DESTDIR)$(libdir)/libasm.so rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/elfutils - -noinst_HEADERS = libasmP.h symbolhash.h EXTRA_DIST = libasm.map CLEANFILES += $(am_libasm_pic_a_OBJECTS) libasm.so.$(VERSION) +endif diff --git a/libdw/Makefile.am b/libdw/Makefile.am index 082d96c..a83f9fc 100644 --- a/libdw/Makefile.am +++ b/libdw/Makefile.am @@ -35,8 +35,6 @@ AM_CPPFLAGS += -I$(srcdir)/../libelf VERSION = 1 lib_LIBRARIES = libdw.a -noinst_LIBRARIES = libdw_pic.a -noinst_PROGRAMS = $(noinst_LIBRARIES:_pic.a=.so) include_HEADERS = dwarf.h pkginclude_HEADERS = libdw.h known-dwarf.h @@ -99,6 +97,19 @@ $(srcdir)/known-dwarf.h: $(top_srcdir)/config/known-dwarf.awk $(srcdir)/dwarf.h mv -f $@.new $@ endif +libdwfl_objects = $(shell $(AR) t ../libdwfl/libdwfl.a) +libdw_a_LIBADD = $(addprefix ../libdwfl/,$(libdwfl_objects)) + +libdwelf_objects = $(shell $(AR) t ../libdwelf/libdwelf.a) +libdw_a_LIBADD += $(addprefix ../libdwelf/,$(libdwelf_objects)) + +noinst_HEADERS = libdwP.h memory-access.h dwarf_abbrev_hash.h \ + dwarf_sig8_hash.h cfi.h encoded-value.h + +if BUILD_SHARED +noinst_LIBRARIES = libdw_pic.a +noinst_PROGRAMS = $(noinst_LIBRARIES:_pic.a=.so) + libdw_pic_a_SOURCES = am_libdw_pic_a_OBJECTS = $(libdw_a_SOURCES:.c=.os) @@ -128,15 +139,7 @@ uninstall: uninstall-am rm -f $(DESTDIR)$(libdir)/libdw.so rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/elfutils -libdwfl_objects = $(shell $(AR) t ../libdwfl/libdwfl.a) -libdw_a_LIBADD = $(addprefix ../libdwfl/,$(libdwfl_objects)) - -libdwelf_objects = $(shell $(AR) t ../libdwelf/libdwelf.a) -libdw_a_LIBADD += $(addprefix ../libdwelf/,$(libdwelf_objects)) - -noinst_HEADERS = libdwP.h memory-access.h dwarf_abbrev_hash.h \ - dwarf_sig8_hash.h cfi.h encoded-value.h - EXTRA_DIST = libdw.map MOSTLYCLEANFILES = $(am_libdw_pic_a_OBJECTS) libdw.so.$(VERSION) +endif diff --git a/libdwelf/Makefile.am b/libdwelf/Makefile.am index 7ca767a..6844250 100644 --- a/libdwelf/Makefile.am +++ b/libdwelf/Makefile.am @@ -34,7 +34,7 @@ AM_CPPFLAGS += -I$(srcdir)/../libelf -I$(srcdir)/../libdw \ -I$(srcdir)/../libdwfl -I$(srcdir)/../libebl VERSION = 1 -noinst_LIBRARIES = libdwelf.a libdwelf_pic.a +noinst_LIBRARIES = libdwelf.a pkginclude_HEADERS = libdwelf.h noinst_HEADERS = libdwelfP.h @@ -43,6 +43,9 @@ libdwelf_a_SOURCES = dwelf_elf_gnu_debuglink.c dwelf_dwarf_gnu_debugaltlink.c \ dwelf_elf_gnu_build_id.c dwelf_scn_gnu_compressed_size.c \ dwelf_strtab.c +if BUILD_SHARED +noinst_LIBRARIES += libdwelf_pic.a + libdwelf = $(libdw) libdw = ../libdw/libdw.so @@ -54,3 +57,4 @@ libdwelf_pic_a_SOURCES = am_libdwelf_pic_a_OBJECTS = $(libdwelf_a_SOURCES:.c=.os) CLEANFILES += $(am_libdwelf_pic_a_OBJECTS) +endif diff --git a/libdwfl/Makefile.am b/libdwfl/Makefile.am index 89ca92e..4f977ff 100644 --- a/libdwfl/Makefile.am +++ b/libdwfl/Makefile.am @@ -35,7 +35,6 @@ AM_CPPFLAGS += -I$(srcdir) -I$(srcdir)/../libelf -I$(srcdir)/../libebl \ VERSION = 1 noinst_LIBRARIES = libdwfl.a -noinst_LIBRARIES += libdwfl_pic.a pkginclude_HEADERS = libdwfl.h @@ -78,6 +77,11 @@ if LZMA libdwfl_a_SOURCES += lzma.c endif +noinst_HEADERS = libdwflP.h + +if BUILD_SHARED +noinst_LIBRARIES += libdwfl_pic.a + libdwfl = $(libdw) libdw = ../libdw/libdw.so libelf = ../libelf/libelf.so @@ -87,6 +91,5 @@ libeu = ../lib/libeu.a libdwfl_pic_a_SOURCES = am_libdwfl_pic_a_OBJECTS = $(libdwfl_a_SOURCES:.c=.os) -noinst_HEADERS = libdwflP.h - CLEANFILES += $(am_libdwfl_pic_a_OBJECTS) +endif diff --git a/libebl/Makefile.am b/libebl/Makefile.am index 6f945eb..ee7dd21 100644 --- a/libebl/Makefile.am +++ b/libebl/Makefile.am @@ -59,4 +59,6 @@ libebl_a_SOURCES = $(gen_SOURCES) noinst_HEADERS = libeblP.h ebl-hooks.h +if BUILD_SHARED CLEANFILES += $(am_libebl_pic_a_OBJECTS) +endif diff --git a/libelf/Makefile.am b/libelf/Makefile.am index 167a832..b418d72 100644 --- a/libelf/Makefile.am +++ b/libelf/Makefile.am @@ -35,12 +35,8 @@ GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include) VERSION = 1 lib_LIBRARIES = libelf.a -noinst_LIBRARIES = libelf_pic.a -noinst_PROGRAMS = $(noinst_LIBRARIES:_pic.a=.so) include_HEADERS = libelf.h gelf.h nlist.h -pkginclude_HEADERS = elf-knowledge.h - libelf_a_SOURCES = elf_version.c elf_hash.c elf_error.c elf_fill.c \ elf_begin.c elf_next.c elf_rand.c elf_end.c elf_kind.c \ gelf_getclass.c elf_getbase.c elf_getident.c \ @@ -92,6 +88,15 @@ libelf_a_SOURCES = elf_version.c elf_hash.c elf_error.c elf_fill.c \ elf32_getchdr.c elf64_getchdr.c gelf_getchdr.c \ elf_compress.c elf_compress_gnu.c +noinst_HEADERS = elf.h abstract.h common.h exttypes.h gelf_xlate.h libelfP.h \ + version_xlate.h gnuhash_xlate.h note_xlate.h dl-hash.h \ + chdr_xlate.h + +if BUILD_SHARED +noinst_LIBRARIES = libelf_pic.a +noinst_PROGRAMS = $(noinst_LIBRARIES:_pic.a=.so) +pkginclude_HEADERS = elf-knowledge.h + libelf_pic_a_SOURCES = am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os) @@ -119,9 +124,7 @@ uninstall: uninstall-am rm -f $(DESTDIR)$(libdir)/libelf.so.$(VERSION) rm -f $(DESTDIR)$(libdir)/libelf.so -noinst_HEADERS = elf.h abstract.h common.h exttypes.h gelf_xlate.h libelfP.h \ - version_xlate.h gnuhash_xlate.h note_xlate.h dl-hash.h \ - chdr_xlate.h EXTRA_DIST = libelf.map CLEANFILES += $(am_libelf_pic_a_OBJECTS) libelf.so.$(VERSION) +endif -- 2.10.0