Update glib2 to 2.16.5 and some package cleanups.
[openwrt/svn-archive/archive.git] / libs / glib2 / Makefile
index 321093cb3bbbd10511290e8710ea5b6c39fde90c..4c7cd3d7cd8fcca8e2ab71341a2eb09b3cd19fd6 100644 (file)
@@ -9,78 +9,96 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=glib2
-PKG_VERSION:=2.12.12
+PKG_VERSION:=2.16.5
 PKG_RELEASE:=1
 
-PKG_SOURCE:=glib-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=ftp://ftp.gtk.org/pub/glib/2.12/
-PKG_MD5SUM:=6c6a61e4b08fb4b110ca7953f71c8b5e
-PKG_CAT:=zcat
+PKG_SOURCE:=glib-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=@GNOME/glib/2.16
+PKG_MD5SUM:=039f02d47d4071322a3f00abf031e5d9
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/glib-$(PKG_VERSION)
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+PKG_FIXUP:=libtool
 
 include $(INCLUDE_DIR)/package.mk
 
+
 define Package/glib2
   SECTION:=libs
   CATEGORY:=Libraries
   DEPENDS:=+libiconv +libintl
   TITLE:=glib 2.0
-  DESCRIPTION:=The GLib library of C routines
   URL:=http://www.gtk.org/
 endef
 
-define Build/Configure 
+define Package/glib2/description
+The GLib library of C routines
+endef
+
+TARGET_CFLAGS += $(FPIC)
+
+define Build/Configure
+       mkdir -p $(PKG_BUILD_DIR)/build/$(GNU_HOST_NAME)
+       ( cd $(PKG_BUILD_DIR); CONFIG_SITE= \
+               ./configure \
+               --target=$(GNU_HOST_NAME) \
+               --host=$(GNU_HOST_NAME) \
+               --build=$(GNU_HOST_NAME) \
+               --prefix=$(PKG_BUILD_DIR)/build/$(GNU_HOST_NAME) \
+               --disable-shared \
+               --enable-static \
+               --enable-debug=no \
+       );
+       $(MAKE) -C $(PKG_BUILD_DIR) install clean
+
        $(call Build/Configure/Default, \
                --enable-shared \
                --enable-static \
-               LDFLAGS="-L$(STAGING_DIR)/usr/lib/libiconv/lib \
-                       -L$(STAGING_DIR)/usr/lib/libintl/lib" \
-               CPPFLAGS="-I$(STAGING_DIR)/usr/lib/libiconv/include \
-                       -I$(STAGING_DIR)/usr/lib/libintl/include" \
+               --enable-debug=no \
                , \
+               CPPFLAGS="$$$$CPPFLAGS -I$(STAGING_DIR)/usr/lib/libiconv/include" \
+               CPPFLAGS="$$$$CPPFLAGS -I$(STAGING_DIR)/usr/lib/libintl/include" \
+               LDFLAGS="$$$$LDFLAGS -L$(STAGING_DIR)/usr/lib/libiconv/lib" \
+               LDFLAGS="$$$$LDFLAGS -L$(STAGING_DIR)/usr/lib/libintl/lib" \
                glib_cv_stack_grows=no \
                glib_cv_uscore=no \
-       )
+               ac_cv_path_GLIB_GENMARSHAL=$(PKG_BUILD_DIR)/build/$(GNU_HOST_NAME)/bin/glib-genmarshal \
+               ac_cv_func_mmap_fixed_mapped=yes \
+       );
 endef
 
+TARGET_LDFLAGS += -L$(TOOLCHAIN_DIR)/lib
 define Build/Compile
-       $(MAKE) -C $(PKG_BUILD_DIR) \
-               DESTDIR="$(PKG_INSTALL_DIR)" \
-               all install
+       $(MAKE) -C $(PKG_BUILD_DIR)
+       $(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" install
 endef
 
-
 define Build/InstallDev
-       mkdir -p $(STAGING_DIR)/usr/include
-       $(CP) $(PKG_INSTALL_DIR)/usr/include/glib-2.0 $(STAGING_DIR)/usr/include/
-       $(CP) $(PKG_BUILD_DIR)/glibconfig.h $(STAGING_DIR)/usr/include/glib-2.0
-       mkdir -p $(STAGING_DIR)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(STAGING_DIR)/usr/lib/
-       mkdir -p $(STAGING_DIR)/usr/lib/pkgconfig
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(STAGING_DIR)/usr/lib/pkgconfig
-       $(SED)  "s,"libdir\=\'/usr/lib\'",libdir='$(STAGING_DIR)/usr/lib\'," $(STAGING_DIR)/usr/lib/{libglib,libgmodule,libgobject,libgthread}-2.0.la
-       $(SED)  "s,"prefix\=/usr",prefix=$(STAGING_DIR)/usr," $(STAGING_DIR)/usr/lib/pkgconfig/{glib,gmodule,gmodule-export,gmodule-no-export,gobject,gthread}-2.0.pc
-       $(SED)  "s,"exec_prefix\=/usr",exec_prefix=$(STAGING_DIR)/usr," $(STAGING_DIR)/usr/lib/pkgconfig/{glib,gmodule,gmodule-export,gmodule-no-export,gobject,gthread}-2.0.pc
-endef
-
-define Build/UninstallDev
-       rm -rf \
-               $(STAGING_DIR)/usr/include/glib-2.0 \
-               $(STAGING_DIR)/usr/lib/libg*-2.0.* \
-               $(STAGING_DIR)/usr/lib/glib-2.0 \
-               $(STAGING_DIR)/usr/lib/pkgconfig/g*-2.0.pc
+       $(INSTALL_DIR) $(1)/usr/include
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/glib-2.0 $(1)/usr/include/
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/gio-unix-2.0 $(1)/usr/include/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/glib-2.0 $(1)/usr/lib/
+       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libg{io,lib,module,object,thread}-2.0.{a,so*,la} $(1)/usr/lib/
+       $(SED) "s, /usr/lib/, $(STAGING_DIR)/usr/lib/,g" $(1)/usr/lib/*.la
+       
+       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/g{io,io-unix,lib,module,module-no-export,object,thread}-2.0.pc $(1)/usr/lib/pkgconfig
+       $(foreach prog,glib-genmarshal gobject-query glib-mkenums,$(SED) "s,=$(prog),=$(STAGING_DIR)/host/bin/$(prog),g" $(1)/usr/lib/pkgconfig/glib-2.0.pc)
+       
+       
+       $(INSTALL_DIR) $(1)/share/aclocal/
+       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/aclocal/*.m4 $(STAGING_DIR_HOST)/share/aclocal/
+       
+       $(INSTALL_DIR) $(1)/host/bin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/build/$(GNU_HOST_NAME)/bin/* $(1)/host/bin
 endef
 
-define Package/glib2/install   
+define Package/glib2/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libg*-2.0.so* $(1)/usr/lib/
+       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libg*-2.0.so* $(1)/usr/lib/
 endef
 
+
 $(eval $(call BuildPackage,glib2))
 
-$(eval $(call RequireCommand,glib-genmarshal, \
-       $(PKG_NAME) requires the glib2 dev (named like libglib2.0-dev, \
-       depending of your package manager) package be installed on the host-system. \
-))