[Buildroot] [PATCH 2/3] live555: add support for building dynamic libraries

Baruch Siach baruch at tkos.co.il
Wed Nov 19 05:54:02 UTC 2014


Hi Thomas,

On Tue, Nov 18, 2014 at 11:17:02PM +0100, Thomas Petazzoni wrote:
> On Mon, 17 Nov 2014 10:18:15 +0200, Baruch Siach wrote:
> > +ifeq ($(BR2_PREFER_STATIC_LIB),y)
> > +LIVE555_CONFIG_TARGET = linux
> > +LIVE555_LIBRARY_LINK = $(TARGET_AR) cr
> > +else
> > +LIVE555_CONFIG_TARGET = linux-with-shared-libraries
> > +LIVE555_LIBRARY_LINK = $(TARGET_CC) -o
> > +endif
> > +
> >  ifndef ($(BR2_ENABLE_LOCALE),y)
> >  LIVE555_CFLAGS += -DLOCALE_NOT_USED
> >  endif
> >  
> >  define LIVE555_CONFIGURE_CMDS
> > -	echo 'COMPILE_OPTS = $$(INCLUDES) -I. -DSOCKLEN_T=socklen_t $(LIVE555_CFLAGS)' >> $(@D)/config.linux
> > -	echo 'C_COMPILER = $(TARGET_CC)' >> $(@D)/config.linux
> > -	echo 'CPLUSPLUS_COMPILER = $(TARGET_CXX)' >> $(@D)/config.linux
> > -	echo 'LINK = $(TARGET_CXX) -o' >> $(@D)/config.linux
> > -	echo 'LINK_OPTS = -L. $(TARGET_LDFLAGS)' >> $(@D)/config.linux
> > -	echo 'PREFIX = /usr' >> $(@D)/config.linux
> > -	(cd $(@D); ./genMakefiles linux)
> > +	echo 'COMPILE_OPTS = $$(INCLUDES) -I. -DSOCKLEN_T=socklen_t $(LIVE555_CFLAGS)' >> $(@D)/config.$(LIVE555_CONFIG_TARGET)
> > +	echo 'C_COMPILER = $(TARGET_CC)' >> $(@D)/config.$(LIVE555_CONFIG_TARGET)
> > +	echo 'CPLUSPLUS_COMPILER = $(TARGET_CXX)' >> $(@D)/config.$(LIVE555_CONFIG_TARGET)
> > +
> > +	echo 'LINK = $(TARGET_CXX) -o' >> $(@D)/config.$(LIVE555_CONFIG_TARGET)
> > +	echo 'LINK_OPTS = -L. $(TARGET_LDFLAGS)' >> $(@D)/config.$(LIVE555_CONFIG_TARGET)
> > +	echo 'PREFIX = /usr' >> $(@D)/config.$(LIVE555_CONFIG_TARGET)
> > +	# Must have a whitespace at the end of LIBRARY_LINK, otherwise static link
> > +	# fails
> > +	echo 'LIBRARY_LINK = $(LIVE555_LIBRARY_LINK) ' >> $(@D)/config.$(LIVE555_CONFIG_TARGET)
> > +	(cd $(@D); ./genMakefiles $(LIVE555_CONFIG_TARGET))
> 
> I don't understand why you need a separate config.linux and
> config.linux-with-shared-libraries. Since in Buildroot we will either
> be building with BR2_PREFER_STATIC_LIB=y, or BR2_PREFER_STATIC_LIB
> disabled, why not simply call the file config.linux, as it was called
> before this patch?
> 
> Of course, the LIVE555_LIBRARY_LINK think is needed, but I don't see
> why the other changes are needed.
> 
> Can you expand on this?

Both config.linux and config.linux-with-shared-libraries already exist in 
upstream code. We are only appending to these files to override some 
variables. The linux-with-shared-libraries variant defines a few additional 
variables needed for dynamic linking (library version, installation target). 
Aligning to upstream build procedure should be more future proof, IMO.

Thanks for reviewing.

baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -



More information about the buildroot mailing list