summaryrefslogtreecommitdiff
path: root/packages/x11
diff options
context:
space:
mode:
authorAbdoulaye Walsimou Gaye <awg@embtoolkit.com>2010-06-20 21:34:19 +0200
committerAbdoulaye Walsimou Gaye <awg@embtoolkit.com>2010-06-20 21:34:19 +0200
commite44fb29a57f5172e946c4a25e7b8a59335b1d1c6 (patch)
tree492f805ec84b4ff5a230eddba90aca520ca27089 /packages/x11
parent3790ef50e228534f6600a40337b37a025af033f0 (diff)
downloadembtoolkit-e44fb29a57f5172e946c4a25e7b8a59335b1d1c6.tar.gz
embtoolkit-e44fb29a57f5172e946c4a25e7b8a59335b1d1c6.tar.bz2
embtoolkit-e44fb29a57f5172e946c4a25e7b8a59335b1d1c6.tar.xz
Packages: X11: New add libXft
Signed-off-by: Abdoulaye Walsimou Gaye <awg@embtoolkit.com>
Diffstat (limited to 'packages/x11')
-rw-r--r--packages/x11/libxft/libxft.kconfig47
-rw-r--r--packages/x11/libxft/libxft.mk94
-rw-r--r--packages/x11/x11.kconfig3
-rw-r--r--packages/x11/x11.mk13
4 files changed, 152 insertions, 5 deletions
diff --git a/packages/x11/libxft/libxft.kconfig b/packages/x11/libxft/libxft.kconfig
new file mode 100644
index 0000000..bcffade
--- /dev/null
+++ b/packages/x11/libxft/libxft.kconfig
@@ -0,0 +1,47 @@
+################################################################################
+# Abdoulaye Walsimou GAYE, <awg@embtoolkit.org>
+# Copyright(C) 2010 Abdoulaye Walsimou GAYE. All rights reserved.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+################################################################################
+#
+# \file libxft.mk
+# \brief libxft.mk of Embtoolkit
+# \author Abdoulaye Walsimou GAYE, <awg@embtoolkit.org>
+# \date June 2010
+################################################################################
+
+config EMBTK_HAVE_LIBXFT
+ bool "Have libxft"
+ select EMBTK_HAVE_FONTCONFIG
+ select EMBTK_HAVE_FREETYPE
+ select EMBTK_HAVE_XPROTO
+ select EMBTK_HAVE_LIBXRENDER
+ help
+ libXft for X windowing system
+choice
+ prompt "libxft version you wish"
+ depends on EMBTK_HAVE_LIBXFT
+ help
+ Here you can choose which version of libxft you want to use.
+
+ config EMBTK_LIBXFT_VERSION_2_1_14
+ bool "libXft-2.1.14"
+endchoice
+
+config EMBTK_LIBXFT_VERSION_STRING
+ string
+ default "2.1.14" if EMBTK_LIBXFT_VERSION_2_1_14
+
diff --git a/packages/x11/libxft/libxft.mk b/packages/x11/libxft/libxft.mk
new file mode 100644
index 0000000..1bec85a
--- /dev/null
+++ b/packages/x11/libxft/libxft.mk
@@ -0,0 +1,94 @@
+################################################################################
+# Abdoulaye Walsimou GAYE, <awg@embtoolkit.org>
+# Copyright(C) 2010 Abdoulaye Walsimou GAYE. All rights reserved.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+################################################################################
+#
+# \file libxft.mk
+# \brief libxft.mk of Embtoolkit
+# \author Abdoulaye Walsimou GAYE, <awg@embtoolkit.org>
+# \date June 2010
+################################################################################
+
+LIBXFT_VERSION := $(subst ",,$(strip $(CONFIG_EMBTK_LIBXFT_VERSION_STRING)))
+LIBXFT_SITE := http://xorg.freedesktop.org/archive/individual/lib
+LIBXFT_PACKAGE := libXft-$(LIBXFT_VERSION).tar.bz2
+LIBXFT_BUILD_DIR := $(PACKAGES_BUILD)/libXft-$(LIBXFT_VERSION)
+
+LIBXFT_BINS = xft-config
+LIBXFT_SBINS =
+LIBXFT_INCLUDES = X11/xft
+LIBXFT_LIBS = libXft.*
+LIBXFT_PKGCONFIGS = xft.pc
+
+LIBXFT_DEPS = freetype_install fontconfig_install libxrender_install
+
+libxft_install: $(LIBXFT_BUILD_DIR)/.installed
+
+$(LIBXFT_BUILD_DIR)/.installed: $(LIBXFT_DEPS) download_libxft \
+ $(LIBXFT_BUILD_DIR)/.decompressed $(LIBXFT_BUILD_DIR)/.configured
+ $(call EMBTK_GENERIC_MESSAGE,"Compiling and installing \
+ libxft-$(LIBXFT_VERSION) in your root filesystem...")
+ $(call EMBTK_KILL_LT_RPATH,$(LIBXFT_BUILD_DIR))
+ $(Q)$(MAKE) -C $(LIBXFT_BUILD_DIR) $(J)
+ $(Q)$(MAKE) -C $(LIBXFT_BUILD_DIR) DESTDIR=$(SYSROOT) install
+ $(Q)$(MAKE) libtool_files_adapt
+ $(Q)$(MAKE) pkgconfig_files_adapt
+ @touch $@
+
+download_libxft:
+ $(call EMBTK_GENERIC_MESSAGE,"Downloading $(LIBXFT_PACKAGE) \
+ if necessary...")
+ @test -e $(DOWNLOAD_DIR)/$(LIBXFT_PACKAGE) || \
+ wget -O $(DOWNLOAD_DIR)/$(LIBXFT_PACKAGE) \
+ $(LIBXFT_SITE)/$(LIBXFT_PACKAGE)
+
+$(LIBXFT_BUILD_DIR)/.decompressed:
+ $(call EMBTK_GENERIC_MESSAGE,"Decompressing $(LIBXFT_PACKAGE) ...")
+ @tar -C $(PACKAGES_BUILD) -xjf $(DOWNLOAD_DIR)/$(LIBXFT_PACKAGE)
+ @touch $@
+
+$(LIBXFT_BUILD_DIR)/.configured:
+ $(Q)cd $(LIBXFT_BUILD_DIR); \
+ CC=$(TARGETCC_CACHED) \
+ CXX=$(TARGETCXX_CACHED) \
+ AR=$(TARGETAR) \
+ RANLIB=$(TARGETRANLIB) \
+ AS=$(CROSS_COMPILE)as \
+ LD=$(TARGETLD) \
+ NM=$(TARGETNM) \
+ STRIP=$(TARGETSTRIP) \
+ OBJDUMP=$(TARGETOBJDUMP) \
+ OBJCOPY=$(TARGETOBJCOPY) \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ CXXFLAGS="$(TARGET_CFLAGS)" \
+ LDFLAGS="-L$(SYSROOT)/$(LIBDIR) -L$(SYSROOT)/usr/$(LIBDIR)" \
+ CPPFLGAS="-I$(SYSROOT)/usr/include" \
+ PKG_CONFIG=$(PKGCONFIG_BIN) \
+ PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) \
+ ./configure --build=$(HOST_BUILD) --host=$(STRICT_GNU_TARGET) \
+ --target=$(STRICT_GNU_TARGET) --libdir=/usr/$(LIBDIR) --prefix=/usr \
+ --disable-malloc0returnsnull
+ @touch $@
+
+libxft_clean:
+ $(call EMBTK_GENERIC_MESSAGE,"cleanup libxft-$(LIBXFT_VERSION)...")
+ $(Q)-cd $(SYSROOT)/usr/bin; rm -rf $(LIBXFT_BINS)
+ $(Q)-cd $(SYSROOT)/usr/sbin; rm -rf $(LIBXFT_SBINS)
+ $(Q)-cd $(SYSROOT)/usr/include; rm -rf $(LIBXFT_INCLUDES)
+ $(Q)-cd $(SYSROOT)/usr/$(LIBDIR); rm -rf $(LIBXFT_LIBS)
+ $(Q)-cd $(SYSROOT)/usr/$(LIBDIR)/pkgconfig; rm -rf $(LIBXFT_PKGCONFIGS)
+
diff --git a/packages/x11/x11.kconfig b/packages/x11/x11.kconfig
index 621a884..ca6ec53 100644
--- a/packages/x11/x11.kconfig
+++ b/packages/x11/x11.kconfig
@@ -53,9 +53,10 @@ source packages/x11/libfontenc/libfontenc.kconfig
source packages/x11/libpthreadstubs/libpthreadstubs.kconfig
source packages/x11/libx11/libx11.kconfig
source packages/x11/libxau/libxau.kconfig
+source packages/x11/libxcb/libxcb.kconfig
source packages/x11/libxext/libxext.kconfig
source packages/x11/libxfont/libxfont.kconfig
-source packages/x11/libxcb/libxcb.kconfig
+source packages/x11/libxft/libxft.kconfig
source packages/x11/libxkbfile/libxkbfile.kconfig
source packages/x11/libxrender/libxrender.kconfig
endmenu
diff --git a/packages/x11/x11.mk b/packages/x11/x11.mk
index c7627e2..6ac7be9 100644
--- a/packages/x11/x11.mk
+++ b/packages/x11/x11.mk
@@ -141,6 +141,11 @@ include $(EMBTK_ROOT)/packages/x11/libxau/libxau.mk
ROOTFS_COMPONENTS_CLEAN += libxau_clean
ROOTFS_COMPONENTS-$(CONFIG_EMBTK_HAVE_LIBXAU) += libxau_install
+#libxcb
+include $(EMBTK_ROOT)/packages/x11/libxcb/libxcb.mk
+ROOTFS_COMPONENTS_CLEAN += libxcb_clean
+ROOTFS_COMPONENTS-$(CONFIG_EMBTK_HAVE_LIBXCB) += libxcb_install
+
#libXext
include $(EMBTK_ROOT)/packages/x11/libxext/libxext.mk
ROOTFS_COMPONENTS_CLEAN += libxext_clean
@@ -151,10 +156,10 @@ include $(EMBTK_ROOT)/packages/x11/libxfont/libxfont.mk
ROOTFS_COMPONENTS_CLEAN += libxfont_clean
ROOTFS_COMPONENTS-$(CONFIG_EMBTK_HAVE_LIBXFONT) += libxfont_install
-#libxcb
-include $(EMBTK_ROOT)/packages/x11/libxcb/libxcb.mk
-ROOTFS_COMPONENTS_CLEAN += libxcb_clean
-ROOTFS_COMPONENTS-$(CONFIG_EMBTK_HAVE_LIBXCB) += libxcb_install
+#libXft
+include $(EMBTK_ROOT)/packages/x11/libxft/libxft.mk
+ROOTFS_COMPONENTS_CLEAN += libxft_clean
+ROOTFS_COMPONENTS-$(CONFIG_EMBTK_HAVE_LIBXFT) += libxft_install
#libxkbfile
include $(EMBTK_ROOT)/packages/x11/libxkbfile/libxkbfile.mk