Message ID | 1395172899-3799-1-git-send-email-yegorslists@googlemail.com |
---|---|
State | Superseded |
Headers | show |
Dear Yegor Yefremov, On Tue, 18 Mar 2014 21:01:38 +0100, Yegor Yefremov wrote: > +LIBUBOX_VERSION = bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b > +LIBUBOX_SITE = git://nbd.name/luci2/libubox.git > +LIBUBOX_LICENSE = LGPLv2.1, GPLv2, BSD-3c, MIT > +LIBUBOX_INSTALL_STAGING = YES > + > +ifeq ($(BR2_PACKAGE_LUA),y) > + LIBUBOX_DEPENDENCIES = lua > + LIBUBOX_MAKE_ENV = \ > + PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \ > + PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig" No. These variables should I believe not be necessary. The cmake-package infrastructure should simply use PATH=$(TARGET_PATH) so that when a CMake package is built, $(HOST_DIR)/usr/bin/pkg-config is used, and this pkg-config variant already knows the right path and sysroot for the .pc files. I believe Samuel Martin has already sent a patch doing this for the CMake package infrastructure. Thanks! Thomas
On Tue, Mar 18, 2014 at 11:30 PM, Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote: > Dear Yegor Yefremov, > > On Tue, 18 Mar 2014 21:01:38 +0100, Yegor Yefremov wrote: > >> +LIBUBOX_VERSION = bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b >> +LIBUBOX_SITE = git://nbd.name/luci2/libubox.git >> +LIBUBOX_LICENSE = LGPLv2.1, GPLv2, BSD-3c, MIT >> +LIBUBOX_INSTALL_STAGING = YES >> + >> +ifeq ($(BR2_PACKAGE_LUA),y) >> + LIBUBOX_DEPENDENCIES = lua >> + LIBUBOX_MAKE_ENV = \ >> + PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \ >> + PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig" > > No. These variables should I believe not be necessary. The > cmake-package infrastructure should simply use PATH=$(TARGET_PATH) so > that when a CMake package is built, $(HOST_DIR)/usr/bin/pkg-config is > used, and this pkg-config variant already knows the right path and > sysroot for the .pc files. > > I believe Samuel Martin has already sent a patch doing this for the > CMake package infrastructure. Samuel could you point me to the right package with the proper example? Yegor
Hi Yegor, all, On Wed, Mar 19, 2014 at 12:00 PM, Yegor Yefremov <yegorslists@googlemail.com> wrote: > On Tue, Mar 18, 2014 at 11:30 PM, Thomas Petazzoni > <thomas.petazzoni@free-electrons.com> wrote: >> Dear Yegor Yefremov, >> >> On Tue, 18 Mar 2014 21:01:38 +0100, Yegor Yefremov wrote: >> >>> +LIBUBOX_VERSION = bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b >>> +LIBUBOX_SITE = git://nbd.name/luci2/libubox.git >>> +LIBUBOX_LICENSE = LGPLv2.1, GPLv2, BSD-3c, MIT >>> +LIBUBOX_INSTALL_STAGING = YES >>> + >>> +ifeq ($(BR2_PACKAGE_LUA),y) >>> + LIBUBOX_DEPENDENCIES = lua >>> + LIBUBOX_MAKE_ENV = \ >>> + PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \ >>> + PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig" This should be added in the cmake infrastructure. In package/pkg-cmake.mk, PKG_CONFIG_SYSROOT_DIR is already correctly set: http://git.buildroot.net/buildroot/tree/package/pkg-cmake.mk#n173 I'm a bit dubious about the need for PKG_CONFIG_PATH, this is already a standard location in which pkg-config looks for (according to man). I would expect this variable to be set in the $(HOST_DIR)/usr/bin/pkg-config wrapper, but AFAICS it's not :-/ BTW, what error are you facing without these variables set in configure env.? Could you pastebin the error logs? >> >> No. These variables should I believe not be necessary. The >> cmake-package infrastructure should simply use PATH=$(TARGET_PATH) so >> that when a CMake package is built, $(HOST_DIR)/usr/bin/pkg-config is >> used, and this pkg-config variant already knows the right path and >> sysroot for the .pc files. >> >> I believe Samuel Martin has already sent a patch doing this for the >> CMake package infrastructure. > > Samuel could you point me to the right package with the proper example? > > Yegor Regards,
On Wed, Mar 19, 2014 at 12:29 PM, Samuel Martin <s.martin49@gmail.com> wrote: > Hi Yegor, all, > > On Wed, Mar 19, 2014 at 12:00 PM, Yegor Yefremov > <yegorslists@googlemail.com> wrote: >> On Tue, Mar 18, 2014 at 11:30 PM, Thomas Petazzoni >> <thomas.petazzoni@free-electrons.com> wrote: >>> Dear Yegor Yefremov, >>> >>> On Tue, 18 Mar 2014 21:01:38 +0100, Yegor Yefremov wrote: >>> >>>> +LIBUBOX_VERSION = bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b >>>> +LIBUBOX_SITE = git://nbd.name/luci2/libubox.git >>>> +LIBUBOX_LICENSE = LGPLv2.1, GPLv2, BSD-3c, MIT >>>> +LIBUBOX_INSTALL_STAGING = YES >>>> + >>>> +ifeq ($(BR2_PACKAGE_LUA),y) >>>> + LIBUBOX_DEPENDENCIES = lua >>>> + LIBUBOX_MAKE_ENV = \ >>>> + PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \ >>>> + PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig" > > This should be added in the cmake infrastructure. > In package/pkg-cmake.mk, PKG_CONFIG_SYSROOT_DIR is already correctly set: > http://git.buildroot.net/buildroot/tree/package/pkg-cmake.mk#n173 > > I'm a bit dubious about the need for PKG_CONFIG_PATH, this is already > a standard location in which pkg-config looks for (according to man). > I would expect this variable to be set in the > $(HOST_DIR)/usr/bin/pkg-config wrapper, but AFAICS it's not :-/ > > BTW, what error are you facing without these variables set in > configure env.? Could you pastebin the error logs? Strange. I've removed the statements and I have no problems. As I started with my development, CMake complained about not finding Lua via pkg-config and it worked only after I've added these PATHs. I'll this at home, where I've encountered this issue and then resend the patches. >>> No. These variables should I believe not be necessary. The >>> cmake-package infrastructure should simply use PATH=$(TARGET_PATH) so >>> that when a CMake package is built, $(HOST_DIR)/usr/bin/pkg-config is >>> used, and this pkg-config variant already knows the right path and >>> sysroot for the .pc files. >>> >>> I believe Samuel Martin has already sent a patch doing this for the >>> CMake package infrastructure. >> >> Samuel could you point me to the right package with the proper example?
diff --git a/package/Config.in b/package/Config.in index f9c1b0b..a2e859c 100644 --- a/package/Config.in +++ b/package/Config.in @@ -784,6 +784,7 @@ source "package/libsigc/Config.in" source "package/libsigsegv/Config.in" source "package/libtasn1/Config.in" source "package/libtpl/Config.in" +source "package/libubox/Config.in" source "package/libunwind/Config.in" source "package/liburcu/Config.in" source "package/linux-pam/Config.in" diff --git a/package/libubox/Config.in b/package/libubox/Config.in new file mode 100644 index 0000000..3fa78cf --- /dev/null +++ b/package/libubox/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_LIBUBOX + bool "libubox" + help + Small utility library for OpenWrt. It is a dependency of + libuci, that manages configuration files infrastructure. + + http://nbd.name/gitweb.cgi?p=luci2/libubox.git;a=summary diff --git a/package/libubox/libubox.mk b/package/libubox/libubox.mk new file mode 100644 index 0000000..effef9a --- /dev/null +++ b/package/libubox/libubox.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# libubox +# +################################################################################ + +LIBUBOX_VERSION = bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b +LIBUBOX_SITE = git://nbd.name/luci2/libubox.git +LIBUBOX_LICENSE = LGPLv2.1, GPLv2, BSD-3c, MIT +LIBUBOX_INSTALL_STAGING = YES + +ifeq ($(BR2_PACKAGE_LUA),y) + LIBUBOX_DEPENDENCIES = lua + LIBUBOX_MAKE_ENV = \ + PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \ + PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig" +else + LIBUBOX_CONF_OPT = -DBUILD_LUA:BOOL=OFF +endif + +$(eval $(cmake-package))
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com> --- Changes: v3: add Lua support v2: make package description more informative and fix license information package/Config.in | 1 + package/libubox/Config.in | 7 +++++++ package/libubox/libubox.mk | 21 +++++++++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 package/libubox/Config.in create mode 100644 package/libubox/libubox.mk