libgphoto2: fix dependencies, remove libusb-0.1 plugin
[openwrt/svn-archive/archive.git] / libs / libgphoto2 / Makefile
index e89eda46f34d221ddb7f4d606a4671bc21ccb2a7..cc45ece1373dd1bf7445668bd842ec9de410f797 100644 (file)
@@ -1,27 +1,26 @@
-# 
-# Copyright (C) 2006 OpenWrt.org
+#
+# Copyright (C) 2006-2012 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
-# $Id$
 
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libgphoto2
-PKG_VERSION:=2.2.1
+PKG_VERSION:=2.4.12
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@SF/gphoto
-PKG_MD5SUM:=69827311733e39fafa9f77bb05e55b77
-PKG_CAT:=bzcat
+PKG_MD5SUM:=735c50ebb15cb8be61bac400ee4afb1e
 
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+PKG_FIXUP:=autoreconf
+PKG_LIBTOOL_PATHS:=. libgphoto2_port
+PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
-
+include $(INCLUDE_DIR)/nls.mk
 
 define Package/libgphoto2/Default
   SECTION:=libs
@@ -31,75 +30,73 @@ endef
 
 define Package/libgphoto2
   $(call Package/libgphoto2/Default)
-  DEPENDS:=+libusb +libexif +libjpeg +libpthread +libltdl
+  DEPENDS:=+libexif +libjpeg +libpthread +libltdl $(ICONV_DEPENDS)
   TITLE:=The basic library of the gphoto2 program.
   MENU:=1
 endef
 
 define Package/libgphoto2-drivers
   $(call Package/libgphoto2/Default)
-  DEPENDS:=libgphoto2
+  DEPENDS:=libgphoto2 +libusb-1.0 +libgd
   TITLE:=Gphoto2 drivers for various cameras
 endef
 
-define Build/Configure
-       $(call Build/Configure/Default, \
-               --enable-shared \
-               --enable-static \
-               --disable-rpath \
-               --with-gnu-ld \
-               --with-drivers=all \
-               --without-included-ltdl \
-               --without-libiconv-prefix \
-               --without-libintl-prefix \
-               , \
-               LIBEXIF_CFLAGS="$$$$CPPFLAGS" \
-               LIBEXIF_LIBS="$$$$LDFLAGS -lexif" \
-               LIBUSB_CFLAGS="$$$$CPPFLAGS" \
-               LIBUSB_LIBS="$$$$LDFLAGS -lusb" \
-               LIBS="-lltdl" \
-       )
-endef
-
-define Build/Compile
-       $(MAKE) -C $(PKG_BUILD_DIR) -j$(CONFIG_JLEVEL) \
-               DESTDIR="$(PKG_INSTALL_DIR)" \
-               LIBLTDL="" \
-               all install
-endef
+CONFIGURE_ARGS += \
+       --enable-shared \
+       --enable-static \
+       --disable-rpath \
+       --with-drivers=all \
+       --without-included-ltdl \
+       --without-libiconv-prefix \
+       --without-libintl-prefix \
+
+CONFIGURE_VARS += \
+       CPPFLAGS="$$$$CPPFLAGS $(ICONV_CFLAGS)" \
+       LDFLAGS="$$$$LDFLAGS $(ICONV_LDFLAGS)" \
+       LIBEXIF_CFLAGS="$$$$CPPFLAGS" \
+       LIBEXIF_LIBS="$$$$LDFLAGS -lexif" \
+       LIBUSB_CFLAGS="$$$$CPPFLAGS" \
+       LIBUSB_LIBS="$$$$LDFLAGS -lusb" \
+       LIBS="-lltdl" \
+
+# If OpenWrt is using the iconv stub, we disable iconv support
+# in libgphoto2 entirely since the stub lacks some essential
+# conversions like UCS-2 to UTF-8 which will let certain drivers
+# fail with "Failed to create iconv converter" .
+ifneq ($(ICONV_FULL),1)
+  CONFIGURE_VARS += am_cv_func_iconv=no am_cv_lib_iconv=no
+endif
+
+MAKE_FLAGS += \
+       LIBLTDL="" \
+
+TARGET_CFLAGS += $(FPIC)
 
 define Build/InstallDev
-       mkdir -p $(STAGING_DIR)/usr/bin
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/gphoto2{,-port}-config $(STAGING_DIR)/usr/bin/
-       mkdir -p $(STAGING_DIR)/usr/include
-       $(CP) $(PKG_INSTALL_DIR)/usr/include/gphoto2 $(STAGING_DIR)/usr/include/
-       mkdir -p $(STAGING_DIR)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgphoto2{,_port}.{a,so*} $(STAGING_DIR)/usr/lib/
-       mkdir -p $(STAGING_DIR)/usr/lib/pkgconfig
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libgphoto2.pc $(STAGING_DIR)/usr/lib/pkgconfig/
-       $(SED) 's,-I$$$${prefix}/include/gphoto2,,g' $(STAGING_DIR)/usr/bin/gphoto2{,-port}-config
-       $(SED) 's,-I$$$${prefix}/include,,g' $(STAGING_DIR)/usr/bin/gphoto2{,-port}-config
-       $(SED) 's,-L$$$${exec_prefix}/lib,,g' $(STAGING_DIR)/usr/lib/pkgconfig/libgphoto2.pc
-       $(SED) 's,-I$$$${includedir}/gphoto2,,g' $(STAGING_DIR)/usr/lib/pkgconfig/libgphoto2.pc
-       $(SED) 's,-L$$$${libdir},,g' $(STAGING_DIR)/usr/lib/pkgconfig/libgphoto2.pc
-endef
-
-define Build/UninstallDev
-       rm -rf  $(STAGING_DIR)/usr/bin/gphoto2-config \
-               $(STAGING_DIR)/usr/bin/gphoto2-port-config \
-               $(STAGING_DIR)/usr/include/gphoto2* \
-               $(STAGING_DIR)/usr/lib/libgphoto*.{a,so*}
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/gphoto2{,-port}-config $(1)/usr/bin/
+       $(INSTALL_DIR) $(1)/usr/include
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/gphoto2 $(1)/usr/include/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgphoto2{,_port}.{a,so*} $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libgphoto2.pc $(1)/usr/lib/pkgconfig/
+       $(SED) 's,-I$$$${prefix}/include/gphoto2,,g' $(1)/usr/bin/gphoto2{,-port}-config
+       $(SED) 's,-I$$$${prefix}/include,,g' $(1)/usr/bin/gphoto2{,-port}-config
+       # remove annoying recursive symlink
+       rm -f $(1)/usr/include/gphoto2/gphoto2
 endef
 
 define Package/libgphoto2/install
-       install -m0755 -d $(1)/usr/lib
+       $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgphoto2{,_port}.so.* $(1)/usr/lib/
 endef
 
 define Package/libgphoto2-drivers/install
-       install -d -m0755 $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgphoto2{,_port} $(1)/usr/lib/
        rm -rf $(1)/usr/lib/libgphoto2{,_port}/*/*.{,l}a
+       rm -f $(1)/usr/lib/libgphoto2_port/*/usb.so
 endef
 
 $(eval $(call BuildPackage,libgphoto2))