From aff5ef7ed2bf39e6a948018ead37b157056287ce Mon Sep 17 00:00:00 2001 From: Ronnie Sahlberg Date: Sat, 22 Mar 2014 18:11:30 -0700 Subject: [PATCH] AUTOTOOLS: Build the ld preload thing as part of examples --- Makefile.am | 24 ------------------------ examples/Makefile.am | 33 +++++++++++++++++++++++++++++++++ {src => examples}/ld_iscsi.c | 0 3 files changed, 33 insertions(+), 24 deletions(-) rename {src => examples}/ld_iscsi.c (100%) diff --git a/Makefile.am b/Makefile.am index 8c56b17..9e58983 100644 --- a/Makefile.am +++ b/Makefile.am @@ -32,27 +32,3 @@ iscsi_includedir = $(includedir)/iscsi dist_iscsi_include_HEADERS = include/iscsi.h include/scsi-lowlevel.h dist_noinst_HEADERS = include/iscsi-private.h include/md5.h include/slist.h -# LD_PRELOAD library. - -if LD_ISCSI -EXTRA_PROGRAMS += bin/ld_iscsi -CLEANFILES += bin/ld_iscsi.o bin/ld_iscsi.so - -# This gets a bit messy: -# -# 1) let automake compile the sources -bin_ld_iscsi_SOURCES = src/ld_iscsi.c -bin_ld_iscsi_CFLAGS = $(AM_CFLAGS) -fPIC - -# 2) let libtool link in the static version of the library -noinst_LTLIBRARIES = lib/libiscsi_convenience.la -lib_libiscsi_convenience_la_SOURCES = $(lib_libiscsi_la_SOURCES) -bin/ld_iscsi.o: src/bin_ld_iscsi-ld_iscsi.o lib/libiscsi_convenience.la - $(LIBTOOL) --mode=link $(CC) -o $@ $^ - -# 3) Manually create the .so file. -bin_SCRIPTS = bin/ld_iscsi.so -bin/ld_iscsi.so: bin/ld_iscsi.o - $(CC) -shared -o bin/ld_iscsi.so bin/ld_iscsi.o -ldl -endif - diff --git a/examples/Makefile.am b/examples/Makefile.am index eccd00f..ecf049d 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -5,3 +5,36 @@ LDADD = ../lib/libiscsi.la noinst_PROGRAMS = iscsiclient iscsi-dd + +# +# LD_PRELOAD library. +# +if LD_ISCSI +EXTRA_PROGRAMS = ld_iscsi +CLEANFILES = ld_iscsi.o ld_iscsi.so lib/* + +# +# This gets a bit messy: +# +# 1) let automake compile the sources +ld_iscsi_SOURCES = ld_iscsi.c +ld_iscsi_CFLAGS = $(AM_CFLAGS) -fPIC + +# 2) let libtool link in the static version of the library +noinst_LTLIBRARIES = lib/libiscsi_convenience.la +lib_libiscsi_convenience_la_SOURCES = \ + ../lib/connect.c ../lib/iscsi-command.c ../lib/nop.c \ + ../lib/sync.c ../lib/crc32c.c ../lib/logging.c ../lib/pdu.c \ + ../lib/task_mgmt.c ../lib/discovery.c ../lib/login.c \ + ../lib/scsi-lowlevel.c ../lib/init.c ../lib/md5.c \ + ../lib/socket.c + +ld_iscsi.o: ld_iscsi-ld_iscsi.o lib/libiscsi_convenience.la + $(LIBTOOL) --mode=link $(CC) -o $@ $^ + +# 3) Manually create the .so file. +bin_SCRIPTS = ld_iscsi.so +ld_iscsi.so: ld_iscsi.o + $(CC) -shared -o ld_iscsi.so ld_iscsi.o -ldl +endif + diff --git a/src/ld_iscsi.c b/examples/ld_iscsi.c similarity index 100% rename from src/ld_iscsi.c rename to examples/ld_iscsi.c