* [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.