All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] pciutils: install static lib with shared
@ 2013-11-18 20:02 ANDY KENNEDY
  2013-11-19 22:47 ` Arnout Vandecappelle
  0 siblings, 1 reply; 3+ messages in thread
From: ANDY KENNEDY @ 2013-11-18 20:02 UTC (permalink / raw)
  To: buildroot

When building pciutils as shared, also include the static libraries for
a more rounded staging directory (useful when PREFER_STATIC_LIB is not
set, but should provide a static library for when static linking with
libpci is preferred).

Signed-off-by: Andy Kennedy <andy.kennedy@adtran.com>
---
diff -Naur a/package/pciutils/pciutils.mk b/package/pciutils/pciutils.mk
--- a/package/pciutils/pciutils.mk	2013-09-17 06:42:07.000000000 -0500
+++ b/package/pciutils/pciutils.mk	2013-11-18 13:49:31.000000000 -0600
@@ -17,7 +17,26 @@
 	PCIUTILS_ZLIB=no
 endif
 PCIUTILS_DNS=no
+ifeq ($(BR2_PREFER_STATIC_LIB),y)
+PCIUTILS_SHARED=no
+PCIUTILS_DO_SHARED_BUILD =
+else
 PCIUTILS_SHARED=yes
+define PCIUTILS_DO_SHARED_BUILD
+	$(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" \
+		HOST="$(KERNEL_ARCH)-linux" \
+		OPT="$(TARGET_CFLAGS)" \
+		LDFLAGS="$(TARGET_LDFLAGS)" \
+		RANLIB=$(TARGET_RANLIB) \
+		AR=$(TARGET_AR) \
+		-C $(PCIUTILS_DIR) \
+		SHARED=yes \
+		ZLIB=$(PCIUTILS_ZLIB) \
+		DNS=$(PCIUTILS_DNS) \
+		LIBKMOD=$(PCIUTILS_KMOD) \
+		PREFIX=/usr
+endef
+endif
 
 # Build after busybox since it's got a lightweight lspci
 ifeq ($(BR2_PACKAGE_BUSYBOX),y)
@@ -47,11 +66,12 @@
 		RANLIB=$(TARGET_RANLIB) \
 		AR=$(TARGET_AR) \
 		-C $(PCIUTILS_DIR) \
-		SHARED=$(PCIUTILS_SHARED) \
+		SHARED=no \
 		ZLIB=$(PCIUTILS_ZLIB) \
 		DNS=$(PCIUTILS_DNS) \
 		LIBKMOD=$(PCIUTILS_KMOD) \
 		PREFIX=/usr
+	$(PCIUTILS_DO_SHARED_BUILD)
 endef
 
 # Ditch install-lib if SHARED is an option in the future

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH] pciutils: install static lib with shared
  2013-11-18 20:02 [Buildroot] [PATCH] pciutils: install static lib with shared ANDY KENNEDY
@ 2013-11-19 22:47 ` Arnout Vandecappelle
  2013-11-19 23:39   ` ANDY KENNEDY
  0 siblings, 1 reply; 3+ messages in thread
From: Arnout Vandecappelle @ 2013-11-19 22:47 UTC (permalink / raw)
  To: buildroot

On 18/11/13 21:02, ANDY KENNEDY wrote:
> When building pciutils as shared, also include the static libraries for
> a more rounded staging directory (useful when PREFER_STATIC_LIB is not
> set, but should provide a static library for when static linking with
> libpci is preferred).
>
> Signed-off-by: Andy Kennedy <andy.kennedy@adtran.com>
> ---
> diff -Naur a/package/pciutils/pciutils.mk b/package/pciutils/pciutils.mk
> --- a/package/pciutils/pciutils.mk	2013-09-17 06:42:07.000000000 -0500
> +++ b/package/pciutils/pciutils.mk	2013-11-18 13:49:31.000000000 -0600
> @@ -17,7 +17,26 @@
>   	PCIUTILS_ZLIB=no
>   endif
>   PCIUTILS_DNS=no
> +ifeq ($(BR2_PREFER_STATIC_LIB),y)
> +PCIUTILS_SHARED=no
> +PCIUTILS_DO_SHARED_BUILD =
> +else
>   PCIUTILS_SHARED=yes
> +define PCIUTILS_DO_SHARED_BUILD
> +	$(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" \
> +		HOST="$(KERNEL_ARCH)-linux" \
> +		OPT="$(TARGET_CFLAGS)" \
> +		LDFLAGS="$(TARGET_LDFLAGS)" \
> +		RANLIB=$(TARGET_RANLIB) \
> +		AR=$(TARGET_AR) \
> +		-C $(PCIUTILS_DIR) \
> +		SHARED=yes \
> +		ZLIB=$(PCIUTILS_ZLIB) \
> +		DNS=$(PCIUTILS_DNS) \
> +		LIBKMOD=$(PCIUTILS_KMOD) \
> +		PREFIX=/usr

  This should be refactored so the long list of arguments isn't repeated. 
E.g.

PCIUTILS_MAKE_OPTS = \
	CC="$(TARGET_CC)" \
	...

define PCIUTILS_DO_SHARED_BUILD
	$(TARGET_MAKE_ENV) $(MAKE) -C @(D) \
		$(PCIUTILS_MAKE_OPTS) SHARED=yes
endef

> +endef
> +endif
>
>   # Build after busybox since it's got a lightweight lspci
>   ifeq ($(BR2_PACKAGE_BUSYBOX),y)
> @@ -47,11 +66,12 @@
>   		RANLIB=$(TARGET_RANLIB) \
>   		AR=$(TARGET_AR) \
>   		-C $(PCIUTILS_DIR) \
> -		SHARED=$(PCIUTILS_SHARED) \
> +		SHARED=no \
>   		ZLIB=$(PCIUTILS_ZLIB) \
>   		DNS=$(PCIUTILS_DNS) \
>   		LIBKMOD=$(PCIUTILS_KMOD) \
>   		PREFIX=/usr
> +	$(PCIUTILS_DO_SHARED_BUILD)
>   endef
>
>   # Ditch install-lib if SHARED is an option in the future

  As this comment says, for the static case, install-lib is not necessary 
for the target install.

  Wouldn't the install commands have to be done twice as well for staging?


  Regards,
  Arnout


> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH] pciutils: install static lib with shared
  2013-11-19 22:47 ` Arnout Vandecappelle
@ 2013-11-19 23:39   ` ANDY KENNEDY
  0 siblings, 0 replies; 3+ messages in thread
From: ANDY KENNEDY @ 2013-11-19 23:39 UTC (permalink / raw)
  To: buildroot

<snip>
> > +define PCIUTILS_DO_SHARED_BUILD
> > +	$(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" \
> > +		HOST="$(KERNEL_ARCH)-linux" \
> > +		OPT="$(TARGET_CFLAGS)" \
> > +		LDFLAGS="$(TARGET_LDFLAGS)" \
> > +		RANLIB=$(TARGET_RANLIB) \
> > +		AR=$(TARGET_AR) \
> > +		-C $(PCIUTILS_DIR) \
> > +		SHARED=yes \
> > +		ZLIB=$(PCIUTILS_ZLIB) \
> > +		DNS=$(PCIUTILS_DNS) \
> > +		LIBKMOD=$(PCIUTILS_KMOD) \
> > +		PREFIX=/usr
> 
>   This should be refactored so the long list of arguments isn't repeated.
> E.g.
>

Yeah, I had already started that one (with the intent to  come back with
a V2 patch).  I'm in process right now of getting that a bit cleaner.

<snip> 
> >
> >   # Ditch install-lib if SHARED is an option in the future
> 
>   As this comment says, for the static case, install-lib is not necessary
> for the target install.

Right.  That is more stuff that I saw after I had done the initial work.

After looking at it more, I wonder if I can refactor the whole file to make
it take advantage of autotools as well.  It seems that including something
like PCIUTIL_MAKE_OPTS+=install-lib may be a cleaner design.

> 
>   Wouldn't the install commands have to be done twice as well for staging?

No, I don't think so.  I wonder if it grabs up the two files at the same
time (perhaps with a wildcard of some kind) during the copy.  It did pull
both into my staging.

> 
> 
>   Regards,
>   Arnout

Thanks for the review.  I'll make the changes I've stated above in the
next few days and resubmit.

Andy

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-11-19 23:39 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-18 20:02 [Buildroot] [PATCH] pciutils: install static lib with shared ANDY KENNEDY
2013-11-19 22:47 ` Arnout Vandecappelle
2013-11-19 23:39   ` ANDY KENNEDY

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.