Message ID | 1434420079-3029-1-git-send-email-wsa@the-dreams.de (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Hallo Wolfram, On Tue, 16 Jun 2015 04:01:19 +0200, Wolfram Sang wrote: > From: Wolfram Sang <wsa+renesas@sang-engineering.com> > > When debugging embedded systems, it is often nice to simply TFTP the > desired i2ctool to the target without the hazzle of dealing with shared > libs. Using -static is overkill, too, so let's add a switch which will > only link functions from libi2c statically. Fine with me. > Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> > --- > Makefile | 2 ++ > tools/Module.mk | 4 ++++ > 2 files changed, 6 insertions(+) > > diff --git a/Makefile b/Makefile > index 252a126..6d36f2f 100644 > --- a/Makefile > +++ b/Makefile > @@ -33,6 +33,8 @@ CFLAGS += -Wall > SOCFLAGS := -fpic -D_REENTRANT $(CFLAGS) > > BUILD_STATIC_LIB ?= 1 > +# Uncomment to use static libi2c > +#USE_STATIC_LIB := 1 Any reason for not using ?= as above, with the default being unset? That way BUILD_STATIC_LIB and USE_STATIC_LIB can both be controlled using the same mechanism, and can be changed from their default value on the command line (without patching the Makefile.) > > KERNELVERSION := $(shell uname -r) > > diff --git a/tools/Module.mk b/tools/Module.mk > index d14bb0c..8efddbb 100644 > --- a/tools/Module.mk > +++ b/tools/Module.mk > @@ -12,7 +12,11 @@ TOOLS_DIR := tools > TOOLS_CFLAGS := -Wstrict-prototypes -Wshadow -Wpointer-arith -Wcast-qual \ > -Wcast-align -Wwrite-strings -Wnested-externs -Winline \ > -W -Wundef -Wmissing-prototypes -Iinclude > +ifeq ($(USE_STATIC_LIB),1) > +TOOLS_LDFLAGS := $(LIB_DIR)/$(LIB_STLIBNAME) > +else > TOOLS_LDFLAGS := -Llib -li2c > +endif Unrelated to your patch, but shouldn't this -Llib rather been written -L$(LIB_DIR)? Also it might make sense to check if USE_STATIC_LIB is set when BUILD_STATIC_LIB isn't and complain about it? > > TOOLS_TARGETS := i2cdetect i2cdump i2cset i2cget >
Hi Jean, > > When debugging embedded systems, it is often nice to simply TFTP the > > desired i2ctool to the target without the hazzle of dealing with shared > > libs. Using -static is overkill, too, so let's add a switch which will > > only link functions from libi2c statically. > > Fine with me. Hooray! > > BUILD_STATIC_LIB ?= 1 > > +# Uncomment to use static libi2c > > +#USE_STATIC_LIB := 1 > > Any reason for not using ?= as above, with the default being unset? Agreed. > Unrelated to your patch, but shouldn't this -Llib rather been written > -L$(LIB_DIR)? Yes, makes sense. > Also it might make sense to check if USE_STATIC_LIB is set when > BUILD_STATIC_LIB isn't and complain about it? For easier usage, I'd rather enforce BUILD_STATIC_LIB in that case. Thanks, Wolfram
On Wed, 17 Jun 2015 12:53:09 +0200, Wolfram Sang wrote: > Hi Jean, > > > > When debugging embedded systems, it is often nice to simply TFTP the > > > desired i2ctool to the target without the hazzle of dealing with shared > > > libs. Using -static is overkill, too, so let's add a switch which will > > > only link functions from libi2c statically. > > > > Fine with me. > > Hooray! > > > > BUILD_STATIC_LIB ?= 1 > > > +# Uncomment to use static libi2c > > > +#USE_STATIC_LIB := 1 > > > > Any reason for not using ?= as above, with the default being unset? > > Agreed. > > > Unrelated to your patch, but shouldn't this -Llib rather been written > > -L$(LIB_DIR)? > > Yes, makes sense. OK, I'll fix it after applying your updated patch. > > Also it might make sense to check if USE_STATIC_LIB is set when > > BUILD_STATIC_LIB isn't and complain about it? > > For easier usage, I'd rather enforce BUILD_STATIC_LIB in that case. You mean that USE_STATIC_LIB = 1 would silently imply BUILD_STATIC_LIB = 1? Yes, that's much better than my proposal. I'm wondering if we should make it even more flexible, but I'm not sure if it's worth the effort... Are you calling "make install" after that? I guess not.
> You mean that USE_STATIC_LIB = 1 would silently imply > BUILD_STATIC_LIB = 1? Yes, that's much better than my proposal. Yes, I meant that. > I'm wondering if we should make it even more flexible, but I'm not sure > if it's worth the effort... Are you calling "make install" after that? > I guess not. No, I am not. I just copy the file to the TFTP dir.
diff --git a/Makefile b/Makefile index 252a126..6d36f2f 100644 --- a/Makefile +++ b/Makefile @@ -33,6 +33,8 @@ CFLAGS += -Wall SOCFLAGS := -fpic -D_REENTRANT $(CFLAGS) BUILD_STATIC_LIB ?= 1 +# Uncomment to use static libi2c +#USE_STATIC_LIB := 1 KERNELVERSION := $(shell uname -r) diff --git a/tools/Module.mk b/tools/Module.mk index d14bb0c..8efddbb 100644 --- a/tools/Module.mk +++ b/tools/Module.mk @@ -12,7 +12,11 @@ TOOLS_DIR := tools TOOLS_CFLAGS := -Wstrict-prototypes -Wshadow -Wpointer-arith -Wcast-qual \ -Wcast-align -Wwrite-strings -Wnested-externs -Winline \ -W -Wundef -Wmissing-prototypes -Iinclude +ifeq ($(USE_STATIC_LIB),1) +TOOLS_LDFLAGS := $(LIB_DIR)/$(LIB_STLIBNAME) +else TOOLS_LDFLAGS := -Llib -li2c +endif TOOLS_TARGETS := i2cdetect i2cdump i2cset i2cget