diff --git a/CHANGES b/CHANGES index e5311f0..9c1db25 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,118 @@ +2012.02, Released February 29th, 2012: + + Updated/fixed packages: libecore + +2012.02-rc3, Released February 27th, 2012: + + Fixes all over the tree. + + Automatic host dependencies handling for cmake packages + fixed. Customize package deprecated as using a post-build + script is nowadays the preferred way of adding extra stuff to + the rootfs. + + Linux-headers 3.0.x / 3.2.x stable version bumped. + + QEMU defconfigs updated to 3.2.x kernels and readme fixed. + + Updated/fixed packages: dropbear, ffmpeg, libpng + +2012.02-rc2, Released February 19th, 2012: + + Fixes all over the tree. + + Toolchain: uClibc: Added upstream post-0.9.33 fixes, Bump + linux-headers 3.0.x / 3.2.x stable versions. + + Documentation: Added makedev / _DEVICES / + _PERMISSIONS documentation. + + Updated/fixed packages: busybox, ffmpeg, gst-dsp, libecore, + libvncserver, mxml, python. + +2012.02-rc1, Released February 12th, 2012: + + Fixes all over the tree and new features. + + Toolchain: Default to GCC 4.5.x, add binutils 2.22. Java + support removed, Powerpc SPE ABI support. GDB ELF support fix, + GDB 7.4, crosstool-NG 1.13.4. + + Gentargets: scp and mercurial support. + Autotools: derive host dependencies from target by default. + Packages can now declare device table snippets. + + Host utilities menu with commonly used host tools. + + defconfigs: qemu configs for x86-64, mips and sparc, at91 + defconfigs now use modern U-Boot / mainline Linux, added + lpc3250 defconfigs. + + uClibc: remove 0.9.30, backport unshare() support, add + 0.9.32.1 / 0.9.33, use same config for ctng. + + Bootloaders: U-Boot: add 2011.12, remove 2010.xx versions, + Barebox: add 2012.01/02, remove 2011.10/11, LPC32xx + bootloaders added. + + Various manual updates. Release tarballs now contain generated + manual in text/html/pdf formats. + + Buildroot now calls the stop function of scripts in + /etc/init.d at shutdown. + + Updated/fixed packages: atk, avahi, barebox, bash, beecrypt, + bind, binutils, bison, bluez_utils, bzip2, busybox, cairo, + ccache, cdrkit, coreutils, cramfs, dbus, dbus-glib, dialog, + diffutils, dmalloc, dropbear, e2fsprogs, ebtables, ed, + ethtool, expat, ffmpeg, file, fis, flex, fluxbox, fontconfig, + freetype, gawk, grep, gst-dsp, gst-ffmpeg, gst-plugins-base, + hdparm, hostapd, htop, i2c-tools, icu, iproute2, ipsec-tools, + ipset, iptables, iw, jpeg, kismet, lame, libcap, libcgi, + libev, libeXosip2, libffi, libftdi, libgpg-error, libgtk2, + libidn, libmms, libmnl, libmodbus, libnl, libogg, libosip, + libpcap, libpng, libraw1394, libroxml, libusb, libusb-compat, + libv4l, libvorbis, libxcb, libxml-parser-perl, libxslt, + lighttpd, links, lm-sensors, lua, m4, module-init-tools, mpc, + mesa3d, mpd, mpfr, mplayer, mtd-utils, nano, nbd, ncurses, + netperf, netsnmp, ntp, opencv, openocd, openssl, openvpn, orc, + pciutils, pcre, pixman, pkg-config, poco, popt, proftpd, + python, python-serial, qt, ruby, samba, sdl, sdparm, + squashfs3, sshfs, sqlite, squid, sudo, syslinux, tcl, tcpdump, + ti-utils, tiff, tremor, uboot, uboot-tools, udev, usbmount, + util-linux, vala, valgrind, vsftpd, wpa_supplicant, + xapp_{bdftopcf,mkfontdir,mkfontscale,xkbcomp,xcursorgen,xinit}, + xapp_xinput, xapp_xman, xcb-util, xdm, xenomai, + xf86-video-sis, xfont_{encodings,font-util}, + xlib_lib{fontenc,X11,Xau,Xcursor,Xdmcp,Xfixes,Xfont,Xrender}, + xlib_libxkbfile, xterm, xutil_makedepend, yajl + + New packages: boost, connman, dstat, expedite, explorercanvas, + feh, flot, giblib, igh-ethercat, imlib2, jquery, + jquery-sparklines, jquery-validation, jsmin, kmod, libecore, + libedbus, libedje, libeet, libeina, libelementary, libesmtp, + libethumb, libevas, libical, libmbus, liboauth, liburcu, + libvncserver, linux-firmware, + lttng-{babeltrace,libust,modules,tools}, NetworkManager, + open2300, python-distutilscross, python-dpkt, + python-netifaces, python-pygame, python-setuptools, rt-tests, + sam-ba, sane-backends, sqlcipher, transmission, unionfs, + xf86-input-tslib, xinput-calibrator + + Issues resolved (http://bugs.uclibc.org): + + #743: Add Transmission bit torrent option to buildroot + #755: Add Boost libraries as a package + #2299: Add crypto support to libsoup + #2617: Pixman 0.19.2 & Cairo 1.10.0 + #3403: libgpg-error: bump to version 1.10 + #3409: libgpg-error: download from gnupg.org + #3421: nano: make tiny flag optional + #3691: New EFL packages + #4664: Cannot patch AT91Bootstrap + #4700: setlocalversion not working for combination svn/ubuntu 11.10... + #4760: Qt: add host-pkg-config to dependency-list + 2011.11, Released November 30th, 2011: Fixes all over the tree. diff --git a/Config.in b/Config.in index 0cf4d49..8579a63 100644 --- a/Config.in +++ b/Config.in @@ -36,6 +36,18 @@ config BR2_LOCALFILES string "Local files retrieval command" default "cp" +config BR2_SCP + string "Secure copy (scp) command" + default "scp" + +config BR2_SSH + string "Secure shell (ssh) command" + default "ssh" + +config BR2_HG + string "Mercurial (hg) command" + default "hg" + config BR2_ZCAT string "zcat command" default "gzip -d -c" @@ -102,7 +114,10 @@ config BR2_PRIMARY_SITE Primary site to download from. If this option is set then buildroot will try to download package source first from this site and try the default if the file is not found. - NOTE: This only works for packages using the Makefile.autotools.in + Valid URIs are URIs recognized by $(WGET) and scp URIs of the form + scp://[user@]host:path. + NOTE: This works for all packages using the central package + infrastructure (generic, autotools, cmake, ...) config BR2_BACKUP_SITE string "Backup download site" @@ -356,6 +371,8 @@ source "target/generic/Config.in" source "package/Config.in" +source "package/Config.in.host" + source "fs/Config.in" source "boot/Config.in" diff --git a/Makefile b/Makefile index b3a2510..a311374 100644 --- a/Makefile +++ b/Makefile @@ -24,7 +24,13 @@ #-------------------------------------------------------------- # Set and export the version string -export BR2_VERSION:=2011.11-mg01.0 +export BR2_VERSION:=2012.02-mg01.1 + +# Check for minimal make version (note: this check will break at make 10.x) +MIN_MAKE_VERSION=3.81 +ifneq ($(firstword $(sort $(MAKE_VERSION) $(MIN_MAKE_VERSION))),$(MIN_MAKE_VERSION)) +$(error You have make '$(MAKE_VERSION)' installed. GNU make >= $(MIN_MAKE_VERSION) is required) +endif # This top-level Makefile can *not* be executed in parallel .NOTPARALLEL: @@ -192,6 +198,7 @@ unexport CPP unexport CFLAGS unexport CXXFLAGS unexport GREP_OPTIONS +unexport CONFIG_SITE GNU_HOST_NAME:=$(shell support/gnuconfig/config.guess) @@ -277,8 +284,6 @@ TARGET_DIR:=$(BASE_DIR)/target TOOLCHAIN_DIR=$(BASE_DIR)/toolchain TARGET_SKELETON=$(TOPDIR)/fs/skeleton -BR2_DEPENDS_DIR=$(BUILD_DIR)/buildroot-config - ifeq ($(BR2_CCACHE),y) CCACHE:=$(HOST_DIR)/usr/bin/ccache CCACHE_CACHE_DIR=$(HOME)/.buildroot-ccache @@ -298,6 +303,8 @@ include package/Makefile.in all: world +include support/dependencies/dependencies.mk + # We also need the various per-package makefiles, which also add # each selected package to TARGETS if that package was selected # in the .config file. @@ -359,7 +366,7 @@ HOST_SOURCE += $(addsuffix -source,$(sort $(TARGETS_HOST_DEPS) $(HOST_DEPS))) $(TARGETS_ALL): __real_tgt_%: $(BASE_TARGETS) % dirs: $(DL_DIR) $(TOOLCHAIN_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \ - $(HOST_DIR) $(BR2_DEPENDS_DIR) $(BINARIES_DIR) $(STAMP_DIR) + $(HOST_DIR) $(BINARIES_DIR) $(STAMP_DIR) $(BASE_TARGETS): dirs $(O)/toolchainfile.cmake @@ -368,7 +375,7 @@ $(BUILD_DIR)/buildroot-config/auto.conf: $(CONFIG_DIR)/.config prepare: $(BUILD_DIR)/buildroot-config/auto.conf -world: prepare dependencies dirs $(BASE_TARGETS) $(TARGETS_ALL) +world: prepare dirs dependencies $(BASE_TARGETS) $(TARGETS_ALL) $(O)/toolchainfile.cmake: @echo -en "\ @@ -390,7 +397,7 @@ $(O)/toolchainfile.cmake: $(BASE_TARGETS) $(TARGETS) $(TARGETS_ALL) \ $(TARGETS_CLEAN) $(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) \ $(DL_DIR) $(TOOLCHAIN_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \ - $(HOST_DIR) $(BR2_DEPENDS_DIR) $(BINARIES_DIR) $(STAMP_DIR) + $(HOST_DIR) $(BINARIES_DIR) $(STAMP_DIR) ############################################################# # @@ -696,8 +703,15 @@ endif release: OUT=buildroot-$(BR2_VERSION) +# Create release tarballs. We need to fiddle a bit to add the generated +# documentation to the git output release: - git archive --format=tar --prefix=$(OUT)/ master|gzip -9 >$(OUT).tar.gz + git archive --format=tar --prefix=$(OUT)/ master > $(OUT).tar + $(MAKE) O=$(OUT) manual-html manual-txt manual-pdf + tar rf $(OUT).tar $(OUT) + gzip -9 -c < $(OUT).tar > $(OUT).tar.gz + bzip2 -9 -c < $(OUT).tar > $(OUT).tar.bz2 + rm -rf $(OUT) $(OUT).tar ################################################################################ # GENDOC -- generates the make targets needed to build a specific type of @@ -720,7 +734,7 @@ $(1)-$(3): $$(O)/docs/$(1)/$(1).$(4) $$(O)/docs/$(1)/$(1).$(4): docs/$(1)/$(1).txt $$($(call UPPERCASE,$(1))_SOURCES) @echo "Generating $(5) $(1)..." - $(Q)mkdir -p $$(O)/docs/$(1)/$(2) + $(Q)mkdir -p $$(@D) $(Q)a2x $(6) -f $(2) -d book -L -r $(TOPDIR)/docs/images \ -D $$(@D) $$< endef diff --git a/board/armadeus/apf9328/linux-3.1.1-0001-fixes_arm_mach-types_for_apf9328.patch b/board/armadeus/apf9328/linux-3.1.1-0001-fixes_arm_mach-types_for_apf9328.patch new file mode 100644 index 0000000..aa464a3 --- /dev/null +++ b/board/armadeus/apf9328/linux-3.1.1-0001-fixes_arm_mach-types_for_apf9328.patch @@ -0,0 +1,26 @@ +From 053ba505eb0d40287ac5750daf454af0aed2ce75 Mon Sep 17 00:00:00 2001 +From: Gwenhael Goavec-Merou +Date: Tue, 4 Oct 2011 14:19:58 +0200 +Subject: [PATCH 1/2] [ARM] mach-types: Re-add apf9328 + + +Signed-off-by: Gwenhael Goavec-Merou +--- + arch/arm/tools/mach-types | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types +index fff68d0..07811a7 100644 +--- a/arch/arm/tools/mach-types ++++ b/arch/arm/tools/mach-types +@@ -188,6 +188,7 @@ omap_2430sdp MACH_OMAP_2430SDP OMAP_2430SDP 900 + davinci_evm MACH_DAVINCI_EVM DAVINCI_EVM 901 + palmz72 MACH_PALMZ72 PALMZ72 904 + nxdb500 MACH_NXDB500 NXDB500 905 ++apf9328 MACH_APF9328 APF9328 906 + palmt5 MACH_PALMT5 PALMT5 917 + palmtc MACH_PALMTC PALMTC 918 + omap_apollon MACH_OMAP_APOLLON OMAP_APOLLON 919 +-- +1.7.3.4 + diff --git a/board/armadeus/apf9328/linux-3.1.1-0002-add_missing_config_option_for_apf9328.patch b/board/armadeus/apf9328/linux-3.1.1-0002-add_missing_config_option_for_apf9328.patch new file mode 100644 index 0000000..312b9a0 --- /dev/null +++ b/board/armadeus/apf9328/linux-3.1.1-0002-add_missing_config_option_for_apf9328.patch @@ -0,0 +1,16 @@ +APF9328 needs CONFIG_MTD_CFI_INTELEXT to boot on its NOR FLASH. + +Signed-off-by: Julien Boibessot + +Index: linux-3.1.1/arch/arm/mach-imx/Kconfig +=================================================================== +--- linux-3.1.1.orig/arch/arm/mach-imx/Kconfig 2011-11-16 14:45:55.000000000 +0100 ++++ linux-3.1.1/arch/arm/mach-imx/Kconfig 2011-11-16 14:47:20.000000000 +0100 +@@ -84,6 +84,7 @@ + bool "APF9328" + select SOC_IMX1 + select IMX_HAVE_PLATFORM_IMX_UART ++ select MTD_CFI_INTELEXT + help + Say Yes here if you are using the Armadeus APF9328 development board + diff --git a/board/beagleboard/xm/linux-3.2.8.config b/board/beagleboard/xm/linux-3.2.8.config index c7d0bef..ef5807f 100644 --- a/board/beagleboard/xm/linux-3.2.8.config +++ b/board/beagleboard/xm/linux-3.2.8.config @@ -36,7 +36,7 @@ CONFIG_IRQ_WORK=y CONFIG_EXPERIMENTAL=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_CROSS_COMPILE="arm-none-linux-gnueabi-" -CONFIG_LOCALVERSION="-mg01.0" +CONFIG_LOCALVERSION="-mg01.1" CONFIG_LOCALVERSION_AUTO=y CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_LZMA=y diff --git a/board/qemu/arm-versatile/linux-3.1.config b/board/qemu/arm-versatile/linux-3.2.config similarity index 100% rename from board/qemu/arm-versatile/linux-3.1.config rename to board/qemu/arm-versatile/linux-3.2.config diff --git a/board/qemu/arm-versatile/readme.txt b/board/qemu/arm-versatile/readme.txt index 834b0e0..2ca5dec 100644 --- a/board/qemu/arm-versatile/readme.txt +++ b/board/qemu/arm-versatile/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-arm -M versatilepb -kernel output/images/zImage -drive file=output/images/rootfs.ext2,if=scsi -append "root=/dev/sda console=ttyAMA0,115200" -serial stdio + qemu-system-arm -M versatilepb -kernel output/images/zImage -drive file=output/images/rootfs.ext2,if=scsi -append "root=/dev/sda console=ttyAMA0,115200" -serial stdio -net nic,model=smc91c111 -net user The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. diff --git a/board/qemu/mips-malta/linux-3.2.config b/board/qemu/mips-malta/linux-3.2.config new file mode 100644 index 0000000..7549ccc --- /dev/null +++ b/board/qemu/mips-malta/linux-3.2.config @@ -0,0 +1,76 @@ +CONFIG_MIPS_MALTA=y +CONFIG_CPU_MIPS32_R2=y +CONFIG_MIPS_MT_SMP=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_HZ_100=y +CONFIG_EXPERIMENTAL=y +CONFIG_SYSVIPC=y +CONFIG_LOG_BUF_SHIFT=15 +CONFIG_SYSFS_DEPRECATED_V2=y +CONFIG_RELAY=y +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +CONFIG_PID_NS=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_EMBEDDED=y +# CONFIG_SYSCTL_SYSCALL is not set +# CONFIG_COMPAT_BRK is not set +CONFIG_SLAB=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODVERSIONS=y +CONFIG_MODULE_SRCVERSION_ALL=y +# CONFIG_BLK_DEV_BSG is not set +CONFIG_PCI=y +CONFIG_PM=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_IP_PNP=y +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_LRO is not set +# CONFIG_INET_DIAG is not set +# CONFIG_IPV6 is not set +# CONFIG_WIRELESS is not set +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_MISC_DEVICES is not set +CONFIG_IDE=y +CONFIG_BLK_DEV_IDECD=y +CONFIG_IDE_GENERIC=y +CONFIG_BLK_DEV_GENERIC=y +CONFIG_BLK_DEV_PIIX=y +CONFIG_NETDEVICES=y +CONFIG_NET_ETHERNET=y +CONFIG_NET_PCI=y +CONFIG_PCNET32=y +# CONFIG_NETDEV_1000 is not set +# CONFIG_NETDEV_10000 is not set +# CONFIG_WLAN is not set +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_SERIO_I8042 is not set +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +# CONFIG_HW_RANDOM is not set +# CONFIG_HWMON is not set +# CONFIG_MFD_SUPPORT is not set +CONFIG_FB=y +CONFIG_FB_CIRRUS=y +# CONFIG_VGA_CONSOLE is not set +# CONFIG_HID_SUPPORT is not set +# CONFIG_USB_SUPPORT is not set +CONFIG_EXT2_FS=y +CONFIG_EXT3_FS=y +CONFIG_QUOTA=y +CONFIG_PROC_KCORE=y +CONFIG_TMPFS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +CONFIG_ROOT_NFS=y +# CONFIG_RCU_CPU_STALL_DETECTOR is not set diff --git a/board/qemu/mips-malta/readme.txt b/board/qemu/mips-malta/readme.txt new file mode 100644 index 0000000..0e21a3c --- /dev/null +++ b/board/qemu/mips-malta/readme.txt @@ -0,0 +1,7 @@ +Run the emulation with: + + qemu-system-mips -M malta -kernel output/images/vmlinux -serial stdio -hda output/images/rootfs.ext2 -append "root=/dev/hda" + +The login prompt will appear in the terminal that started Qemu. The +graphical window is the framebuffer. No keyboard support has been +enabled. diff --git a/board/qemu/mipsel-malta/linux-3.1.config b/board/qemu/mipsel-malta/linux-3.2.config similarity index 100% rename from board/qemu/mipsel-malta/linux-3.1.config rename to board/qemu/mipsel-malta/linux-3.2.config diff --git a/board/qemu/mipsel-malta/readme.txt b/board/qemu/mipsel-malta/readme.txt index b494976..94e959d 100644 --- a/board/qemu/mipsel-malta/readme.txt +++ b/board/qemu/mipsel-malta/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-mipsel -M malta -kernel vmlinux -serial stdio -hda rootfs.ext2 -append "root=/dev/hda" + qemu-system-mipsel -M malta -kernel output/images/vmlinux -serial stdio -hda output/images/rootfs.ext2 -append "root=/dev/hda" The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. No keyboard support has been diff --git a/board/qemu/powerpc-g3beige/linux-3.1.config b/board/qemu/powerpc-g3beige/linux-3.2.config similarity index 100% rename from board/qemu/powerpc-g3beige/linux-3.1.config rename to board/qemu/powerpc-g3beige/linux-3.2.config diff --git a/board/qemu/powerpc-g3beige/readme.txt b/board/qemu/powerpc-g3beige/readme.txt index 1006af9..a481b11 100644 --- a/board/qemu/powerpc-g3beige/readme.txt +++ b/board/qemu/powerpc-g3beige/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-ppc -M g3beige -kernel vmlinux -hda rootfs.ext2 -append "console=ttyS0 root=/dev/hdc" -serial stdio + qemu-system-ppc -M g3beige -kernel output/images/vmlinux -hda output/images/rootfs.ext2 -append "console=ttyS0 root=/dev/hdc" -serial stdio The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. diff --git a/board/qemu/sh4-r2d/linux-3.1.config b/board/qemu/sh4-r2d/linux-3.2.config similarity index 100% rename from board/qemu/sh4-r2d/linux-3.1.config rename to board/qemu/sh4-r2d/linux-3.2.config diff --git a/board/qemu/sparc-ss10/readme.txt b/board/qemu/sparc-ss10/readme.txt new file mode 100644 index 0000000..5f01efa --- /dev/null +++ b/board/qemu/sparc-ss10/readme.txt @@ -0,0 +1,7 @@ +Run the emulation with: + + qemu-system-sparc -M SS-10 -kernel output/images/zImage -drive file=output/images/rootfs.ext2 -append "root=/dev/sda console=ttyS0,115200" -serial stdio + +The login prompt will appear in the terminal that started Qemu. +The graphical window is the framebuffer. + diff --git a/board/qemu/x86/linux-3.0.config b/board/qemu/x86/linux-3.2.config similarity index 100% rename from board/qemu/x86/linux-3.0.config rename to board/qemu/x86/linux-3.2.config diff --git a/board/qemu/x86/readme.txt b/board/qemu/x86/readme.txt new file mode 100644 index 0000000..c06d24f --- /dev/null +++ b/board/qemu/x86/readme.txt @@ -0,0 +1,5 @@ +Run the emulation with: + + qemu-system-x86_64 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=ide -append root=/dev/sda + +The login prompt will appear in the graphical window. diff --git a/board/qemu/x86_64/linux-3.2.config b/board/qemu/x86_64/linux-3.2.config new file mode 100644 index 0000000..5bf6944 --- /dev/null +++ b/board/qemu/x86_64/linux-3.2.config @@ -0,0 +1,67 @@ +CONFIG_EXPERIMENTAL=y +# CONFIG_LOCALVERSION_AUTO is not set +# CONFIG_SWAP is not set +# CONFIG_COMPAT_BRK is not set +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_IOSCHED_DEADLINE is not set +# CONFIG_IOSCHED_CFQ is not set +# CONFIG_X86_EXTENDED_PLATFORM is not set +# CONFIG_SCHED_OMIT_FRAME_POINTER is not set +# CONFIG_MTRR_SANITIZER is not set +# CONFIG_SECCOMP is not set +# CONFIG_RELOCATABLE is not set +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_IP_PNP=y +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_LRO is not set +# CONFIG_INET_DIAG is not set +# CONFIG_IPV6 is not set +# CONFIG_WIRELESS is not set +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +# CONFIG_FIRMWARE_IN_KERNEL is not set +# CONFIG_BLK_DEV is not set +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_ATA_PIIX=y +CONFIG_NETDEVICES=y +CONFIG_NET_ETHERNET=y +CONFIG_NET_PCI=y +CONFIG_NE2K_PCI=y +CONFIG_8139CP=y +# CONFIG_NETDEV_1000 is not set +# CONFIG_NETDEV_10000 is not set +# CONFIG_WLAN is not set +# CONFIG_INPUT_MOUSEDEV_PSAUX is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_SERIO_SERPORT is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_DEVKMEM is not set +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +# CONFIG_HW_RANDOM is not set +# CONFIG_HWMON is not set +# CONFIG_MFD_SUPPORT is not set +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_HDA_INTEL=y +# CONFIG_HID_SUPPORT is not set +# CONFIG_USB_SUPPORT is not set +# CONFIG_X86_PLATFORM_DEVICES is not set +# CONFIG_DMIID is not set +CONFIG_EXT2_FS=y +# CONFIG_DNOTIFY is not set +# CONFIG_INOTIFY_USER is not set +# CONFIG_MISC_FILESYSTEMS is not set +CONFIG_NFS_FS=y +CONFIG_ROOT_NFS=y +# CONFIG_ENABLE_WARN_DEPRECATED is not set +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_FRAME_POINTER is not set +# CONFIG_X86_VERBOSE_BOOTUP is not set +# CONFIG_VIRTUALIZATION is not set diff --git a/board/qemu/x86_64/readme.txt b/board/qemu/x86_64/readme.txt new file mode 100644 index 0000000..c06d24f --- /dev/null +++ b/board/qemu/x86_64/readme.txt @@ -0,0 +1,5 @@ +Run the emulation with: + + qemu-system-x86_64 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=ide -append root=/dev/sda + +The login prompt will appear in the graphical window. diff --git a/boot/Config.in b/boot/Config.in index 2a97695..f8ab1cf 100644 --- a/boot/Config.in +++ b/boot/Config.in @@ -1,11 +1,12 @@ menu "Bootloaders" +source "boot/at91bootstrap/Config.in" +source "boot/at91dataflashboot/Config.in" source "boot/barebox/Config.in" source "boot/grub/Config.in" +source "boot/lpc32xxcdl/Config.in" source "boot/syslinux/Config.in" source "boot/uboot/Config.in" -source "boot/at91bootstrap/Config.in" -source "boot/at91dataflashboot/Config.in" source "boot/xloader/Config.in" endmenu diff --git a/boot/at91bootstrap/Config.in b/boot/at91bootstrap/Config.in index ff968cd..9cbaf81 100644 --- a/boot/at91bootstrap/Config.in +++ b/boot/at91bootstrap/Config.in @@ -1,5 +1,5 @@ config BR2_TARGET_AT91BOOTSTRAP - depends on BR2_arm + depends on BR2_arm926t bool "AT91 Bootstrap" help AT91Bootstrap is a first level bootloader for the Atmel AT91 @@ -10,6 +10,15 @@ config BR2_TARGET_AT91BOOTSTRAP if BR2_TARGET_AT91BOOTSTRAP +config BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR + string "custom patch dir" + help + If your board requires custom patches, add the path to the + directory containing the patches here. The patches must be + named at91bootstrap--.patch. + + Most users may leave this empty + config BR2_TARGET_AT91BOOTSTRAP_BOARD string "Bootstrap board" default "" diff --git a/boot/at91bootstrap/at91bootstrap-1.16-u-boot-relocation-fix.patch b/boot/at91bootstrap/at91bootstrap-1.16-u-boot-relocation-fix.patch new file mode 100644 index 0000000..884519c --- /dev/null +++ b/boot/at91bootstrap/at91bootstrap-1.16-u-boot-relocation-fix.patch @@ -0,0 +1,299 @@ +Every AT91SAM plaforms were broken between 2010.12 and 2011.03 because +of the relocation changes. + +We have to get JUMP_ADDR consistant with what is used by u-boot +(CONFIG_SYS_TEXT_BASE). + +I didn't know what to do with at91sam9m10g45ek as it doesn't seems to be +converted yet. But anyway, that means that it is either not working or +doesn't care so changing it here shouldn't harm. + +I also chose to "repartition" the dataflash. u-boot is now living at +0x4000, letting 16kB for the bootstrap. We also have to increase the +IMG_SIZE as u-boot as grown larger than the default value. +As requested on the u-boot ML, we assume that it could be up to 512kB +big. + +It means that now, you have to flash your kernel at 0x0008C000 instead +of 0x00042000. And so you also have to load it from that adress from +u-boot. + +Then, remember that you could decrease IMG_SIZE to boot faster. + +Signed-off-by: Alexandre Belloni +--- + board/at91sam9260ek/dataflash/at91sam9260ek.h | 6 +++--- + board/at91sam9260ek/nandflash/at91sam9260ek.h | 2 +- + board/at91sam9261ek/dataflash/at91sam9261ek.h | 6 +++--- + board/at91sam9261ek/nandflash/at91sam9261ek.h | 2 +- + board/at91sam9263ek/dataflash/at91sam9263ek.h | 6 +++--- + board/at91sam9263ek/nandflash/at91sam9263ek.h | 2 +- + board/at91sam9g10ek/dataflash/at91sam9g10ek.h | 6 +++--- + board/at91sam9g10ek/nandflash/at91sam9g10ek.h | 2 +- + board/at91sam9g20ek/dataflash/at91sam9g20ek.h | 6 +++--- + board/at91sam9g20ek/nandflash/at91sam9g20ek.h | 2 +- + board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h | 4 ++-- + .../at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h | 4 ++-- + board/at91sam9rlek/dataflash/at91sam9rlek.h | 6 +++--- + board/at91sam9rlek/nandflash/at91sam9rlek.h | 2 +- + board/at91sam9xeek/dataflash/at91sam9xeek.h | 6 +++--- + board/at91sam9xeek/nandflash/at91sam9xeek.h | 2 +- + 16 files changed, 32 insertions(+), 32 deletions(-) + +diff --git a/board/at91sam9260ek/dataflash/at91sam9260ek.h b/board/at91sam9260ek/dataflash/at91sam9260ek.h +index 1834246..5c52bc6 100644 +--- a/board/at91sam9260ek/dataflash/at91sam9260ek.h ++++ b/board/at91sam9260ek/dataflash/at91sam9260ek.h +@@ -73,11 +73,11 @@ + /* ******************************************************************* */ + #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS1_DATAFLASH /* Boot on SPI NCS0 */ + +-#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ +-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ ++#define IMG_ADDRESS 0x4000 /* Image Address in DataFlash */ ++#define IMG_SIZE 0x80000 /* Image Size in DataFlash */ + + #define MACH_TYPE 0x44B /* AT91SAM9260-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9260ek/nandflash/at91sam9260ek.h b/board/at91sam9260ek/nandflash/at91sam9260ek.h +index 2cac601..f8fdff2 100644 +--- a/board/at91sam9260ek/nandflash/at91sam9260ek.h ++++ b/board/at91sam9260ek/nandflash/at91sam9260ek.h +@@ -92,7 +92,7 @@ + #define IMG_SIZE 0x40000 /* Image Size in NandFlash */ + + #define MACH_TYPE 0x44B /* AT91SAM9260-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9261ek/dataflash/at91sam9261ek.h b/board/at91sam9261ek/dataflash/at91sam9261ek.h +index 8ce30e9..675f80b 100644 +--- a/board/at91sam9261ek/dataflash/at91sam9261ek.h ++++ b/board/at91sam9261ek/dataflash/at91sam9261ek.h +@@ -96,11 +96,11 @@ + /* ******************************************************************* */ + #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */ + +-#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ +-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ ++#define IMG_ADDRESS 0x4000 /* Image Address in DataFlash */ ++#define IMG_SIZE 0x80000 /* Image Size in DataFlash */ + + #define MACH_TYPE 0x350 /* AT91SAM9261-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9261ek/nandflash/at91sam9261ek.h b/board/at91sam9261ek/nandflash/at91sam9261ek.h +index badc3ac..e628c97 100644 +--- a/board/at91sam9261ek/nandflash/at91sam9261ek.h ++++ b/board/at91sam9261ek/nandflash/at91sam9261ek.h +@@ -114,7 +114,7 @@ + #define IMG_SIZE 0x40000 /* Image Size in NandFlash */ + + #define MACH_TYPE 0x350 /* AT91SAM9261-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9263ek/dataflash/at91sam9263ek.h b/board/at91sam9263ek/dataflash/at91sam9263ek.h +index 5c9da4b..d07b5d1 100644 +--- a/board/at91sam9263ek/dataflash/at91sam9263ek.h ++++ b/board/at91sam9263ek/dataflash/at91sam9263ek.h +@@ -95,11 +95,11 @@ + /* ******************************************************************* */ + #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */ + +-#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ +-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ ++#define IMG_ADDRESS 0x4000 /* Image Address in DataFlash */ ++#define IMG_SIZE 0x80000 /* Image Size in DataFlash */ + + #define MACH_TYPE 0x4B2 /* AT91SAM9263-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9263ek/nandflash/at91sam9263ek.h b/board/at91sam9263ek/nandflash/at91sam9263ek.h +index 505afc7..8ab4f46 100644 +--- a/board/at91sam9263ek/nandflash/at91sam9263ek.h ++++ b/board/at91sam9263ek/nandflash/at91sam9263ek.h +@@ -108,7 +108,7 @@ + #define IMG_SIZE 0x40000 /* Image Size in NandFlash */ + + #define MACH_TYPE 1202 /* AT91SAM9263-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9g10ek/dataflash/at91sam9g10ek.h b/board/at91sam9g10ek/dataflash/at91sam9g10ek.h +index b2faf44..0882644 100644 +--- a/board/at91sam9g10ek/dataflash/at91sam9g10ek.h ++++ b/board/at91sam9g10ek/dataflash/at91sam9g10ek.h +@@ -97,11 +97,11 @@ + /* ******************************************************************* */ + #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */ + +-#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ +-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ ++#define IMG_ADDRESS 0x4000 /* Image Address in DataFlash */ ++#define IMG_SIZE 0x80000 /* Image Size in DataFlash */ + + #define MACH_TYPE 0x350 /* AT91SAM9261-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9g10ek/nandflash/at91sam9g10ek.h b/board/at91sam9g10ek/nandflash/at91sam9g10ek.h +index 66c40a3..6c3ecda 100644 +--- a/board/at91sam9g10ek/nandflash/at91sam9g10ek.h ++++ b/board/at91sam9g10ek/nandflash/at91sam9g10ek.h +@@ -115,7 +115,7 @@ + #define IMG_SIZE 0x40000 /* Image Size in NandFlash */ + + #define MACH_TYPE 0x350 /* AT91SAM9G10-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9g20ek/dataflash/at91sam9g20ek.h b/board/at91sam9g20ek/dataflash/at91sam9g20ek.h +index eea0439..44bd578 100644 +--- a/board/at91sam9g20ek/dataflash/at91sam9g20ek.h ++++ b/board/at91sam9g20ek/dataflash/at91sam9g20ek.h +@@ -74,11 +74,11 @@ + /* ******************************************************************* */ + #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS1_DATAFLASH /* Boot on SPI NCS1 */ + +-#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ +-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ ++#define IMG_ADDRESS 0x4000 /* Image Address in DataFlash */ ++#define IMG_SIZE 0x80000 /* Image Size in DataFlash */ + + #define MACH_TYPE 0x658 /* AT91SAM9G20-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9g20ek/nandflash/at91sam9g20ek.h b/board/at91sam9g20ek/nandflash/at91sam9g20ek.h +index 31bd499..e797e4d 100644 +--- a/board/at91sam9g20ek/nandflash/at91sam9g20ek.h ++++ b/board/at91sam9g20ek/nandflash/at91sam9g20ek.h +@@ -93,7 +93,7 @@ + #define IMG_SIZE 0x40000 /* Image Size in NandFlash */ + + #define MACH_TYPE 0x658 /* AT91SAM9G20-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h b/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h +index a60fd41..144dd6d 100644 +--- a/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h ++++ b/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h +@@ -88,8 +88,8 @@ + /* ******************************************************************* */ + #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */ + +-#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ +-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ ++#define IMG_ADDRESS 0x4000 /* Image Address in DataFlash */ ++#define IMG_SIZE 0x80000 /* Image Size in DataFlash */ + + #define MACH_TYPE 0x9CD /* AT91SAM9M10-EKES */ + #define JUMP_ADDR 0x73F00000 /* Final Jump Address */ +diff --git a/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h b/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h +index 5c726b5..3152b79 100644 +--- a/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h ++++ b/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h +@@ -84,8 +84,8 @@ + /* ******************************************************************* */ + #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */ + +-#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ +-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ ++#define IMG_ADDRESS 0x4000 /* Image Address in DataFlash */ ++#define IMG_SIZE 0x80000 /* Image Size in DataFlash */ + + #define MACH_TYPE 0x726 /* AT91SAM9M10G45-EK */ + #define JUMP_ADDR 0x73F00000 /* Final Jump Address */ +diff --git a/board/at91sam9rlek/dataflash/at91sam9rlek.h b/board/at91sam9rlek/dataflash/at91sam9rlek.h +index 05c42dc..be277b6 100644 +--- a/board/at91sam9rlek/dataflash/at91sam9rlek.h ++++ b/board/at91sam9rlek/dataflash/at91sam9rlek.h +@@ -88,11 +88,11 @@ + /* ******************************************************************* */ + #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */ + +-#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ +-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ ++#define IMG_ADDRESS 0x4000 /* Image Address in DataFlash */ ++#define IMG_SIZE 0x80000 /* Image Size in DataFlash */ + + #define MACH_TYPE 1326 /* AT91SAM9RL-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9rlek/nandflash/at91sam9rlek.h b/board/at91sam9rlek/nandflash/at91sam9rlek.h +index 656b4ba..594db8f 100644 +--- a/board/at91sam9rlek/nandflash/at91sam9rlek.h ++++ b/board/at91sam9rlek/nandflash/at91sam9rlek.h +@@ -112,7 +112,7 @@ + #define IMG_SIZE 0x40000 /* Image Size in NandFlash */ + + #define MACH_TYPE 1326 /* AT91SAM9RL-EK */ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9xeek/dataflash/at91sam9xeek.h b/board/at91sam9xeek/dataflash/at91sam9xeek.h +index 27d1822..e3172da 100644 +--- a/board/at91sam9xeek/dataflash/at91sam9xeek.h ++++ b/board/at91sam9xeek/dataflash/at91sam9xeek.h +@@ -73,11 +73,11 @@ + /* ******************************************************************* */ + #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS1_DATAFLASH /* Boot on SPI NCS1 */ + +-#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ +-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ ++#define IMG_ADDRESS 0x4000 /* Image Address in DataFlash */ ++#define IMG_SIZE 0x80000 /* Image Size in DataFlash */ + + #define MACH_TYPE 0x44B /* AT91SAM9XE-EK same id as AT91SAM9260-EK*/ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +diff --git a/board/at91sam9xeek/nandflash/at91sam9xeek.h b/board/at91sam9xeek/nandflash/at91sam9xeek.h +index 5dbc63e..9fac7cb 100644 +--- a/board/at91sam9xeek/nandflash/at91sam9xeek.h ++++ b/board/at91sam9xeek/nandflash/at91sam9xeek.h +@@ -94,7 +94,7 @@ + #define IMG_SIZE 0x40000 /* Image Size in NandFlash */ + + #define MACH_TYPE 0x44B /* AT91SAM9XE-EK same id as AT91SAM9260-EK*/ +-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ ++#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ + + /* ******************************************************************* */ + /* Application Settings */ +-- +1.7.5.4 + diff --git a/boot/at91bootstrap/at91bootstrap.mk b/boot/at91bootstrap/at91bootstrap.mk index a7a856c..5592d37 100644 --- a/boot/at91bootstrap/at91bootstrap.mk +++ b/boot/at91bootstrap/at91bootstrap.mk @@ -21,6 +21,15 @@ define AT91BOOTSTRAP_EXTRACT_CMDS rmdir $(BUILD_DIR)/Bootstrap-v$(AT91BOOTSTRAP_VERSION) endef +ifneq ($(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR)),) +define AT91BOOTSTRAP_APPLY_CUSTOM_PATCHES + support/scripts/apply-patches.sh $(@D) $(BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR) \ + at91bootstrap-$(AT91BOOTSTRAP_VERSION)-\*.patch +endef + +AT91BOOTSTRAP_POST_PATCH_HOOKS += AT91BOOTSTRAP_APPLY_CUSTOM_PATCHES +endif + define AT91BOOTSTRAP_BUILD_CMDS $(MAKE) CROSS_COMPILE=$(TARGET_CROSS) -C $(@D)/$(AT91BOOTSTRAP_MAKE_SUBDIR) endef diff --git a/boot/at91dataflashboot/Config.in b/boot/at91dataflashboot/Config.in index a4efe11..7537548 100644 --- a/boot/at91dataflashboot/Config.in +++ b/boot/at91dataflashboot/Config.in @@ -1,3 +1,3 @@ config BR2_TARGET_AT91DATAFLASHBOOT - depends on BR2_arm + depends on BR2_arm926t bool "AT91 DataFlashBoot" diff --git a/boot/barebox/Config.in b/boot/barebox/Config.in index 8dfaeb2..c335af0 100644 --- a/boot/barebox/Config.in +++ b/boot/barebox/Config.in @@ -8,19 +8,19 @@ config BR2_TARGET_BAREBOX if BR2_TARGET_BAREBOX choice prompt "version" - default BR2_TARGET_BAREBOX_2011_10 + default BR2_TARGET_BAREBOX_2012_02 help Select the specific Barebox version you want to use -config BR2_TARGET_BAREBOX_2011_08 +config BR2_TARGET_BAREBOX_2011_12 depends on BR2_DEPRECATED - bool "2011.08" + bool "2011.12" -config BR2_TARGET_BAREBOX_2011_09 - bool "2011.09" +config BR2_TARGET_BAREBOX_2012_01 + bool "2012.01" -config BR2_TARGET_BAREBOX_2011_10 - bool "2011.10" +config BR2_TARGET_BAREBOX_2012_02 + bool "2012.02" config BR2_TARGET_BAREBOX_CUSTOM_TARBALL bool "Custom tarball" @@ -39,9 +39,9 @@ endif config BR2_TARGET_BAREBOX_VERSION string - default "2011.08.0" if BR2_TARGET_BAREBOX_2011_08 - default "2011.09.0" if BR2_TARGET_BAREBOX_2011_09 - default "2011.10.0" if BR2_TARGET_BAREBOX_2011_10 + default "2011.12.0" if BR2_TARGET_BAREBOX_2011_12 + default "2012.01.0" if BR2_TARGET_BAREBOX_2012_01 + default "2012.02.0" if BR2_TARGET_BAREBOX_2012_02 default "custom" if BR2_TARGET_BAREBOX_CUSTOM_TARBALL default $BR2_TARGET_BAREBOX_CUSTOM_GIT_VERSION if BR2_TARGET_BAREBOX_CUSTOM_GIT diff --git a/boot/lpc32xxcdl/Config.in b/boot/lpc32xxcdl/Config.in new file mode 100644 index 0000000..ce7589c --- /dev/null +++ b/boot/lpc32xxcdl/Config.in @@ -0,0 +1,10 @@ +config BR2_TARGET_LPC32XXCDL + depends on BR2_arm926t + bool "LPC32XX CDL (kickstart and S1L)" + +if BR2_TARGET_LPC32XXCDL + +config BR2_TARGET_LPC32XXCDL_BOARDNAME + string "LPC32xx board name" + +endif #BR2_TARGET_LPC32XXCDL diff --git a/boot/lpc32xxcdl/lpc32xxcdl-2.11-compiler_name.patch b/boot/lpc32xxcdl/lpc32xxcdl-2.11-compiler_name.patch new file mode 100644 index 0000000..6aecbde --- /dev/null +++ b/boot/lpc32xxcdl/lpc32xxcdl-2.11-compiler_name.patch @@ -0,0 +1,52 @@ +Use CROSS_COMPILE as compiler name and stop using libc + +Signed-off-by: Alexandre Belloni +--- + makerule/lpc32xx/make.lpc32xx.gnu | 22 +++++++++++----------- + 1 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/makerule/lpc32xx/make.lpc32xx.gnu b/makerule/lpc32xx/make.lpc32xx.gnu +index 1014c28..3277d99 100644 +--- a/makerule/lpc32xx/make.lpc32xx.gnu ++++ b/makerule/lpc32xx/make.lpc32xx.gnu +@@ -27,19 +27,19 @@ CFLAGS += -mno-sched-prolog -fno-hosted -mno-thumb-interwork -ffunction-sectio + CFLAGS += -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR) + AFLAGS = -mcpu=arm926ej-s + AFLAGS += -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR) +-CC = arm-none-eabi-gcc +-AS = arm-none-eabi-as +-AR = arm-none-eabi-ar -r +-LD = arm-none-eabi-gcc +-NM = arm-none-eabi-nm +-OBJDUMP = arm-none-eabi-objdump +-OBJCOPY = arm-none-eabi-objcopy +-READELF = arm-none-eabi-readelf ++CC = $(CROSS_COMPILE)gcc ++AS = $(CROSS_COMPILE)as ++AR = $(CROSS_COMPILE)ar -r ++LD = $(CROSS_COMPILE)gcc ++NM = $(CROSS_COMPILE)nm ++OBJDUMP = $(CROSS_COMPILE)objdump ++OBJCOPY = $(CROSS_COMPILE)objcopy ++READELF = $(CROSS_COMPILE)readelf + LDFLAGS += -Wl,--gc-sections + + LK = -static + LK += -Wl,--start-group $(TARGET_CSP_LIB) $(TARGET_BSP_LIB) $(TARGET_GEN_LIB) +-LK += -lgcc -lc -lg -lm -lstdc++ -lsupc++ ++LK += -nostdlib -lgcc #-lc -lg -lm -lstdc++ -lsupc++ + LK += -Wl,--end-group + MAP = -Xlinker -Map -Xlinker + LDESC = -Xlinker -T +@@ -47,6 +47,6 @@ ENTRY = -e + BIN = -bin + EXT = .elf + LEXT = +-ELFTOREC =arm-none-eabi-objcopy -O srec --strip-all --verbose +-ELFTOBIN =arm-none-eabi-objcopy -I elf32-littlearm -O binary --strip-all --verbose ++ELFTOREC = $(OBJCOPY) -O srec --strip-all --verbose ++ELFTOBIN = $(OBJCOPY) -I elf32-littlearm -O binary --strip-all --verbose + REC =.srec +-- +1.7.7.3 + diff --git a/boot/lpc32xxcdl/lpc32xxcdl-2.11-delete_redundant_files.patch b/boot/lpc32xxcdl/lpc32xxcdl-2.11-delete_redundant_files.patch new file mode 100644 index 0000000..39966f0 --- /dev/null +++ b/boot/lpc32xxcdl/lpc32xxcdl-2.11-delete_redundant_files.patch @@ -0,0 +1,969 @@ +Remove duplicated files to stop the linker from complaining about duplicate +symbols + +Signed-off-by: Alexandre Belloni +--- +--- a/csps/lpc32xx/bsps/fdi3250/startup/examples/s1l/sysapi_timer.c 2011-10-05 19:10:37.000000000 +0200 ++++ /dev/null 2012-01-01 16:39:47.918907000 +0100 +@@ -1,212 +0,0 @@ +-/*********************************************************************** +- * $Id:: sysapi_timer.c 3394 2010-05-06 17:56:27Z usb10132 $ +- * +- * Project: Time support functions +- * +- * Description: +- * Implements the following functions required for the S1L API +- * time_init +- * time_reset +- * time_start +- * time_stop +- * time_get +- * time_get_rate +- * +- *********************************************************************** +- * Software that is described herein is for illustrative purposes only +- * which provides customers with programming information regarding the +- * products. This software is supplied "AS IS" without any warranties. +- * NXP Semiconductors assumes no responsibility or liability for the +- * use of the software, conveys no license or title under any patent, +- * copyright, or mask work right to the product. NXP Semiconductors +- * reserves the right to make changes in the software without +- * notification. NXP Semiconductors also make no representation or +- * warranty that such application will be suitable for the specified +- * use without further testing or modification. +- **********************************************************************/ +- +-#include "s1l_sys_inf.h" +-#include "lpc32xx_intc_driver.h" +-#include "lpc32xx_timer_driver.h" +- +-static UNS_64 base_rate; +-static INT_32 tdev = 0; +- +-/*********************************************************************** +- * +- * Function: time_init +- * +- * Purpose: Initializes time system +- * +- * Processing: Initializes the system timer. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: 0 if the init failed, otherwise non-zero +- * +- * Notes: None +- * +- **********************************************************************/ +-INT_32 time_init(void) +-{ +- TMR_PSCALE_SETUP_T pscale; +- +- /* Open timer driver */ +- if (tdev == 0) +- { +- tdev = timer_open((void *) TIMER_CNTR0, 0); +- if (tdev != 0) +- { +- /* Use a prescale count to 100000 */ +- pscale.ps_tick_val = 100000; +- pscale.ps_us_val = 0; /* Not needed when ps_tick_val != 0 */ +- timer_ioctl(tdev, TMR_SETUP_PSCALE, (INT_32) &pscale); +- +- /* Get timer clock rate */ +- base_rate = (UNS_64) timer_ioctl(tdev, TMR_GET_STATUS, +- TMR_GET_CLOCK); +- } +- } +- +- return tdev; +-} +- +-/*********************************************************************** +- * +- * Function: time_reset +- * +- * Purpose: Resets system timer +- * +- * Processing: +- * See function. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: Nothing +- * +- * Notes: None +- * +- **********************************************************************/ +-void time_reset(void) +-{ +- if (tdev != 0) +- { +- timer_ioctl(tdev, TMR_RESET, 1); +- } +-} +- +-/*********************************************************************** +- * +- * Function: time_start +- * +- * Purpose: Starts system timer +- * +- * Processing: +- * See function. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: Nothing +- * +- * Notes: None +- * +- **********************************************************************/ +-void time_start(void) +-{ +- if (tdev != 0) +- { +- timer_ioctl(tdev, TMR_ENABLE, 1); +- } +-} +- +-/*********************************************************************** +- * +- * Function: time_stop +- * +- * Purpose: Stops system timer +- * +- * Processing: +- * See function. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: Nothing +- * +- * Notes: None +- * +- **********************************************************************/ +-void time_stop(void) +-{ +- if (tdev != 0) +- { +- timer_ioctl(tdev, TMR_ENABLE, 0); +- } +-} +- +-/*********************************************************************** +- * +- * Function: time_get +- * +- * Purpose: Returns current system time value +- * +- * Processing: +- * See function. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: The number of ticks of the timer counter +- * +- * Notes: None +- * +- **********************************************************************/ +-UNS_64 time_get(void) +-{ +- TMR_COUNTS_T tcounts; +- UNS_64 ticks = 0; +- +- if (tdev != 0) +- { +- timer_ioctl(tdev, TMR_GET_COUNTS, (INT_32) &tcounts); +- +- /* Compute number of timer ticks */ +- ticks = (UNS_64) tcounts.count_val * 100000; +- ticks = ticks + (UNS_64) tcounts.ps_count_val; +- } +- +- return ticks; +-} +- +-/*********************************************************************** +- * +- * Function: time_get_rate +- * +- * Purpose: +- * Returns base tick rate (ticks per second) of the time counter +- * +- * Processing: +- * See function. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: The timer tick rate (in ticks per second) +- * +- * Notes: None +- * +- **********************************************************************/ +-UNS_64 time_get_rate(void) +-{ +- return base_rate; +-} +- +--- a/csps/lpc32xx/bsps/fdi3250/startup/examples/s1l/sys_mmu_cmd_group.c 2011-10-05 19:10:37.000000000 +0200 ++++ /dev/null 2012-01-01 16:39:47.918907000 +0100 +@@ -1,746 +0,0 @@ +-/*********************************************************************** +- * $Id:: sys_mmu_cmd_group.c 3430 2010-05-07 17:39:08Z usb10132 $ +- * +- * Project: Command processor for peek, poke, dump, and fill +- * +- * Description: +- * Processes commands from the command prompt +- * +- *********************************************************************** +- * Software that is described herein is for illustrative purposes only +- * which provides customers with programming information regarding the +- * products. This software is supplied "AS IS" without any warranties. +- * NXP Semiconductors assumes no responsibility or liability for the +- * use of the software, conveys no license or title under any patent, +- * copyright, or mask work right to the product. NXP Semiconductors +- * reserves the right to make changes in the software without +- * notification. NXP Semiconductors also make no representation or +- * warranty that such application will be suitable for the specified +- * use without further testing or modification. +- **********************************************************************/ +- +-#include "lpc_arm922t_cp15_driver.h" +-#include "lpc_string.h" +-#include "startup.h" +-#include "s1l_cmds.h" +-#include "s1l_sys_inf.h" +- +-/* dcache command */ +-BOOL_32 cmd_dcache(void); +-static UNS_32 cmd_dcache_plist[] = +-{ +- (PARSE_TYPE_STR), /* The "dcache" command */ +- (PARSE_TYPE_DEC | PARSE_TYPE_END) +-}; +-static CMD_ROUTE_T core_dcache_cmd = +-{ +- (UNS_8 *) "dcache", +- cmd_dcache, +- (UNS_8 *) "Enables, disables, or flushes data cache", +- (UNS_8 *) "dcache [0(disable), 1(enable), 2(flush)]", +- cmd_dcache_plist, +- NULL +-}; +- +-/* icache command */ +-BOOL_32 cmd_icache(void); +-static UNS_32 cmd_icache_plist[] = +-{ +- (PARSE_TYPE_STR), /* The "icache" command */ +- (PARSE_TYPE_DEC | PARSE_TYPE_END) +-}; +-static CMD_ROUTE_T core_icache_cmd = +-{ +- (UNS_8 *) "icache", +- cmd_icache, +- (UNS_8 *) "Enables or disables instruction cache", +- (UNS_8 *) "icache [0(disable), 1(enable)]", +- cmd_icache_plist, +- NULL +-}; +- +-/* inval command */ +-BOOL_32 cmd_inval(void); +-static UNS_32 cmd_inval_plist[] = +-{ +- (PARSE_TYPE_STR | PARSE_TYPE_END) /* The "inval" command */ +-}; +-static CMD_ROUTE_T core_inval_cmd = +-{ +- (UNS_8 *) "inval", +- cmd_inval, +- (UNS_8 *) "Flushes data cache and invalidates instruction cache", +- (UNS_8 *) "inval", +- cmd_inval_plist, +- NULL +-}; +- +-/* mmuenab command */ +-BOOL_32 cmd_mmuenab(void); +-static UNS_32 cmd_mmuenab_plist[] = +-{ +- (PARSE_TYPE_STR), /* The "mmuenab" command */ +- (PARSE_TYPE_DEC | PARSE_TYPE_END) +-}; +-static CMD_ROUTE_T core_mmuenab_cmd = +-{ +- (UNS_8 *) "mmuenab", +- cmd_mmuenab, +- (UNS_8 *) "Enables or disables the MMU", +- (UNS_8 *) "mmuenab [0(disable), 1(enable)]", +- cmd_mmuenab_plist, +- NULL +-}; +- +-/* map command */ +-BOOL_32 cmd_map(void); +-static UNS_32 cmd_map_plist[] = +-{ +- (PARSE_TYPE_STR), /* The "map" command */ +- (PARSE_TYPE_HEX), +- (PARSE_TYPE_HEX), +- (PARSE_TYPE_DEC), +- (PARSE_TYPE_DEC | PARSE_TYPE_END), +-}; +-static CMD_ROUTE_T core_map_cmd = +-{ +- (UNS_8 *) "map", +- cmd_map, +- (UNS_8 *) "Maps a range of physical address sections to virtual addresses", +- (UNS_8 *) "map [virt hex addr][phy hex addr][sections][0(uncached), 1(cached), 2(unmap)]", +- cmd_map_plist, +- NULL +-}; +- +-/* mmuinfo command */ +-static BOOL_32 cmd_mmuinfo(void); +-static UNS_32 cmd_mmuinfo_plist[] = +-{ +- (PARSE_TYPE_STR | PARSE_TYPE_END) /* The "mmuinfo" command */ +-}; +-static CMD_ROUTE_T core_mmuinfo_cmd = +-{ +- (UNS_8 *) "mmuinfo", +- cmd_mmuinfo, +- (UNS_8 *) "Dumps page table and MMU info", +- (UNS_8 *) "mmuinfo", +- cmd_mmuinfo_plist, +- NULL +-}; +- +-/* MMU group */ +-static GROUP_LIST_T mmu_group = +-{ +- (UNS_8 *) "mmu", /* mmu group */ +- (UNS_8 *) "MMU command group", +- NULL, +- NULL +-}; +- +-static UNS_8 enabled_msg [] =" enabled"; +-static UNS_8 disabled_msg [] =" disabled"; +-static UNS_8 dcache_msg[] = "Data cache"; +-static UNS_8 icache_msg[] = "Instruction cache"; +-static UNS_8 pagetab_msg[] = "Page table at address: "; +-static UNS_8 slist_msg[] = "Type Virt Phy fl Size"; +-static UNS_8 mmu_msg [] ="MMU"; +-static UNS_8 cpage_msg[] = "Coarse page:"; +-static UNS_8 fpage_msg[] = "Fine page :"; +-static UNS_8 sect_msg[] = "Section :"; +-static UNS_8 mbytes_msg[] = "M"; +-static UNS_8 map1_err_msg[] = +- "Error : section addresses must be aligned on a 32-bit boundary"; +-static UNS_8 map2_err_msg[] = +- "Error : Number of sections exceeds address range of device"; +-static UNS_8 phya_msg[] = "Virtual address "; +-static UNS_8 mapped_msg[] = " mapped to physical address "; +-static UNS_8 unmapped_msg[] = " unmapped from physical address "; +-static UNS_8 cached_msg[] = " (cached)"; +-static UNS_8 inval_msg[] = " invalidated"; +-static UNS_8 caches_msg [] ="Caches"; +-static UNS_8 flushed_msg[] = " flushed"; +- +-/*********************************************************************** +- * +- * Function: show_section +- * +- * Purpose: Display section information +- * +- * Processing: +- * See function. +- * +- * Parameters: +- * mmu_reg : MMU settings for this section +- * virt_addr : Starting virtual address for this section +- * segs : Number of 1M segments for this section +- * +- * Outputs: None +- * +- * Returns: Nothing +- * +- * Notes: None +- * +- **********************************************************************/ +-static void show_section(UNS_32 mmu_reg, +- UNS_32 virt_addr, +- UNS_32 segs) +-{ +- UNS_8 straddr [16]; +- UNS_32 mmu_phy; +- +- if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) != +- ARM922T_L1D_TYPE_FAULT) +- { +- if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) == +- ARM922T_L1D_TYPE_CPAGE) +- { +- term_dat_out(cpage_msg); +- } +- else if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) == +- ARM922T_L1D_TYPE_FPAGE) +- { +- term_dat_out(fpage_msg); +- } +- else +- { +- term_dat_out(sect_msg); +- } +- +- /* Compute virtual address */ +- str_makehex(straddr, virt_addr, 8); +- term_dat_out(straddr); +- term_dat_out((UNS_8 *) " "); +- +- /* Compute mapped physical address */ +- if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) == +- ARM922T_L1D_TYPE_SECTION) +- { +- mmu_phy = mmu_reg & 0xFFF00000; +- } +- else +- { +- /* Don't compute addresses for non-sections */ +- mmu_phy = 0; +- } +- str_makehex(straddr, mmu_phy, 8); +- term_dat_out(straddr); +- term_dat_out((UNS_8 *) " "); +- +- /* MMU flags */ +- if ((mmu_reg & ARM922T_L1D_BUFFERABLE) != 0) +- { +- term_dat_out((UNS_8 *) "b"); +- } +- else +- { +- term_dat_out((UNS_8 *) " "); +- } +- if ((mmu_reg & ARM922T_L1D_CACHEABLE) != 0) +- { +- term_dat_out((UNS_8 *) "c"); +- } +- else +- { +- term_dat_out((UNS_8 *) " "); +- } +- term_dat_out((UNS_8 *) " "); +- +- /* Displays used megabytes */ +- str_makedec(straddr, segs); +- term_dat_out(straddr); +- term_dat_out_crlf(mbytes_msg); +- } +-} +- +-/*********************************************************************** +- * +- * Function: mmu_dumpinfo +- * +- * Purpose: Display MMU info +- * +- * Processing: +- * Display the MMU information, including enable status, cache +- * status, and page table. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: TRUE if the command was processed, otherwise FALSE +- * +- * Notes: None +- * +- **********************************************************************/ +-static BOOL_32 mmu_dumpinfo(void) +-{ +- UNS_32 segsz, last_mmu_reg, mmu_vrt, mmu_reg, mmu_vrtsav = 0, *pt; +- UNS_32 mlast_mmu_reg, mmmu_reg; +- int idx; +- UNS_8 hexaddr [16]; +- +- term_dat_out(mmu_msg); +- if (cp15_mmu_enabled() == FALSE) +- { +- term_dat_out_crlf(disabled_msg); +- } +- else +- { +- term_dat_out_crlf(enabled_msg); +- +- /* Get MMU control register word */ +- mmu_reg = cp15_get_mmu_control_reg(); +- +- /* Instruction cache status */ +- term_dat_out(icache_msg); +- if ((mmu_reg & ARM922T_MMU_CONTROL_I) == 0) +- { +- term_dat_out_crlf(disabled_msg); +- } +- else +- { +- term_dat_out_crlf(enabled_msg); +- } +- +- /* Data cache status */ +- term_dat_out(dcache_msg); +- if ((mmu_reg & ARM922T_MMU_CONTROL_C) == 0) +- { +- term_dat_out_crlf(disabled_msg); +- } +- else +- { +- term_dat_out_crlf(enabled_msg); +- } +- +- term_dat_out(pagetab_msg); +- mmu_reg = (UNS_32) cp15_get_ttb(); +- str_makehex(hexaddr, mmu_reg, 8); +- term_dat_out_crlf(hexaddr); +- term_dat_out_crlf(slist_msg); +- +- /* Process MMU table - assume that the physical and +- virtual locations of table are the same */ +- pt = (UNS_32 *) mmu_reg; +- mmu_vrt = 0x0; +- segsz = 0xFFFFFFFF; +- last_mmu_reg = mlast_mmu_reg = 0xFFFFFFFF; +- for (idx = 0; idx < 4096; idx++) +- { +- mmu_reg = *pt; +- mmmu_reg = (mmu_reg & (ARM922T_L1D_TYPE_PG_SN_MASK | +- ARM922T_L1D_BUFFERABLE | ARM922T_L1D_CACHEABLE)); +- segsz = segsz + 1; +- +- if ((last_mmu_reg != 0xFFFFFFFF) && +- (mlast_mmu_reg != mmmu_reg)) +- { +- show_section(last_mmu_reg, mmu_vrtsav, segsz); +- segsz = 0; +- } +- +- if (mlast_mmu_reg != mmmu_reg) +- { +- mmu_vrtsav = mmu_vrt; +- last_mmu_reg = mmu_reg; +- mlast_mmu_reg = mmmu_reg; +- } +- +- pt++; +- mmu_vrt += 0x00100000; +- } +- } +- +- return TRUE; +-} +- +-/*********************************************************************** +- * +- * Function: mmu_dumpmap +- * +- * Purpose: Map a virtual address range to a physical range +- * +- * Processing: +- * From the input addresses and number of sections, generate the +- * appropriate entries in the page table. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: TRUE if the command was processed, otherwise FALSE +- * +- * Notes: None +- * +- **********************************************************************/ +-static BOOL_32 mmu_dumpmap(UNS_32 vrt, +- UNS_32 phy, +- UNS_32 sections, +- UNS_32 cache) +-{ +- BOOL_32 processed = FALSE; +- UNS_32 mmu_phy, mmu_vrt, tmp1 = 0, tmp2, *pt; +- UNS_8 hexaddr [16]; +- +- /* Verify address boundaries are sectional */ +- mmu_vrt = vrt & ~ARM922T_L2D_SN_BASE_MASK; +- mmu_phy = phy & ~ARM922T_L2D_SN_BASE_MASK; +- if ((mmu_vrt != 0) || (mmu_phy != 0)) +- { +- term_dat_out_crlf(map1_err_msg); +- } +- else +- { +- /* Verify that address range and section count will not +- exceed address range of device */ +- tmp1 = vrt >> 20; +- tmp1 = (tmp1 + sections) - 1; +- tmp2 = phy >> 20; +- tmp2 = (tmp2 + sections) - 1; +- if ((tmp1 < 4096) && (tmp2 < 4096)) +- { +- /* Good address range and good section count */ +- processed = TRUE; +- } +- else +- { +- term_dat_out_crlf(map2_err_msg); +- } +- } +- +- /* Generate static part of MMU word */ +- if (cache == 0) +- { +- /* Section mapped with cache disabled */ +- tmp1 = ARM922T_L1D_TYPE_SECTION; +- } +- else if (cache == 1) +- { +- /* Section mapped with cache enabled */ +- tmp1 = (ARM922T_L1D_BUFFERABLE | ARM922T_L1D_CACHEABLE | +- ARM922T_L1D_TYPE_SECTION); +- } +- else if (cache == 2) +- { +- /* Section unmapped */ +- tmp1 = ARM922T_L1D_TYPE_FAULT; +- } +- tmp1 |= ARM922T_L1D_AP_ALL; +- +- /* Offset into page table for virtual address */ +- tmp2 = (vrt >> 20); +- pt = cp15_get_ttb() + tmp2; +- +- /* Loop until all sections are complete */ +- while ((sections > 0) && (processed == TRUE)) +- { +- /* Add in physical address */ +- tmp2 = tmp1 | (phy & ARM922T_L2D_SN_BASE_MASK); +- +- /* Save new section descriptor for virtual address */ +- *pt = tmp2; +- +- /* Output message shown the map */ +- term_dat_out(phya_msg); +- str_makehex(hexaddr, phy, 8); +- term_dat_out(hexaddr); +- if (cache == 2) +- { +- term_dat_out(unmapped_msg); +- } +- else +- { +- term_dat_out(mapped_msg); +- } +- str_makehex(hexaddr, vrt, 8); +- term_dat_out(hexaddr); +- if (cache == 1) +- { +- term_dat_out(cached_msg); +- } +- term_dat_out_crlf((UNS_8 *) ""); +- +- /* Next section and page table entry*/ +- phy += 0x00100000; +- vrt += 0x00100000; +- pt++; +- sections--; +- } +- +- return processed; +-} +- +-/*********************************************************************** +- * +- * Function: cmd_mmuinfo +- * +- * Purpose: Display MMU information +- * +- * Processing: +- * See function. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: TRUE if the command was processed, otherwise FALSE +- * +- * Notes: None +- * +- **********************************************************************/ +-static BOOL_32 cmd_mmuinfo(void) +-{ +- mmu_dumpinfo(); +- +- return TRUE; +-} +- +-/*********************************************************************** +- * +- * Function: cmd_map +- * +- * Purpose: Map a physical address region to a virtual region +- * +- * Processing: +- * See function. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: TRUE if the command was processed, otherwise FALSE +- * +- * Notes: None +- * +- **********************************************************************/ +-BOOL_32 cmd_map(void) +-{ +- UNS_32 phy, virt, sects, ce = 0; +- +- /* Get arguments */ +- virt = cmd_get_field_val(1); +- phy = cmd_get_field_val(2); +- sects = cmd_get_field_val(3); +- ce = cmd_get_field_val(4); +- +- if (ce <= 2) +- { +- mmu_dumpmap(virt, phy, sects, ce); +- } +- +- return TRUE; +-} +- +-/*********************************************************************** +- * +- * Function: cmd_inval +- * +- * Purpose: MMU cache flush and invalidate +- * +- * Processing: +- * See function. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: TRUE if the command was processed, otherwise FALSE +- * +- * Notes: None +- * +- **********************************************************************/ +-BOOL_32 cmd_inval(void) +-{ +- dcache_flush(); +- icache_inval(); +- term_dat_out(caches_msg); +- term_dat_out(inval_msg); +- +- return TRUE; +-} +- +-/*********************************************************************** +- * +- * Function: cmd_dcache +- * +- * Purpose: MMU data cache enable and disable +- * +- * Processing: +- * If the value passed in the parser is 1, enable the data cache, +- * otherwise disable the data cache. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: TRUE if the command was processed, otherwise FALSE +- * +- * Notes: None +- * +- **********************************************************************/ +-BOOL_32 cmd_dcache(void) +-{ +- UNS_32 cenable; +- UNS_8 *ppar; +- +- /* Get argument */ +- cenable = cmd_get_field_val(1); +- +- switch (cenable) +- { +- case 0: +- dcache_flush(); +- cp15_set_dcache(0); +- ppar = disabled_msg; +- break; +- +- case 1: +- cp15_invalidate_cache(); +- cp15_set_dcache(1); +- ppar = enabled_msg; +- break; +- +- case 2: +- default: +- dcache_flush(); +- ppar = flushed_msg; +- break; +- } +- +- term_dat_out(dcache_msg); +- term_dat_out_crlf(ppar); +- +- return TRUE; +-} +- +-/*********************************************************************** +- * +- * Function: cmd_icache +- * +- * Purpose: MMU instruction cache enable and disable +- * +- * Processing: +- * If the value passed in the parser is 1, enable the instruction +- * cache, otherwise disable the instruction cache. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: TRUE if the command was processed, otherwise FALSE +- * +- * Notes: None +- * +- **********************************************************************/ +-BOOL_32 cmd_icache(void) +-{ +- UNS_32 cenable; +- UNS_8 *ppar; +- +- /* Get argument */ +- cenable = cmd_get_field_val(1); +- +- if (cenable == 1) +- { +- dcache_flush(); +- cp15_invalidate_cache(); +- cp15_set_icache(1); +- ppar = enabled_msg; +- } +- else +- { +- cp15_set_icache(0); +- ppar = disabled_msg; +- } +- +- term_dat_out(icache_msg); +- term_dat_out_crlf(ppar); +- +- return TRUE; +-} +- +- +-/*********************************************************************** +- * +- * Function: cmd_mmuenab +- * +- * Purpose: Enable or disable MMU +- * +- * Processing: +- * See function. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: TRUE if the command was processed, otherwise FALSE +- * +- * Notes: None +- * +- **********************************************************************/ +-BOOL_32 cmd_mmuenab(void) +-{ +- UNS_8 *ppar; +- UNS_32 cenable; +- +- term_dat_out_crlf((UNS_8 *) "Warning: Changing MMU status on " +- " cached and buffered code can cause system crashes."); +- +- /* Get argument */ +- cenable = cmd_get_field_val(1); +- +- if (cenable == 1) +- { +- if ((cp15_get_mmu_control_reg() & ARM922T_MMU_CONTROL_C) != 0) +- { +- cp15_invalidate_cache(); +- } +- +- cp15_set_mmu(1); +- ppar = enabled_msg; +- } +- else +- { +- cp15_dcache_flush(); +- cp15_write_buffer_flush(); +- cp15_invalidate_cache(); +- cp15_set_mmu(0); +- ppar = disabled_msg; +- } +- +- term_dat_out(mmu_msg); +- term_dat_out_crlf(ppar); +- +- return TRUE; +-} +- +-/*********************************************************************** +- * +- * Function: mmu_cmd_group_init +- * +- * Purpose: Initialize MMU command group +- * +- * Processing: +- * See function. +- * +- * Parameters: None +- * +- * Outputs: None +- * +- * Returns: Nothin +- * +- * Notes: None +- * +- **********************************************************************/ +-void mmu_cmd_group_init(void) +-{ +- /* Add MMU group */ +- cmd_add_group(&mmu_group); +- +- /* Add commands to the MMU group */ +- cmd_add_new_command(&mmu_group, &core_dcache_cmd); +- cmd_add_new_command(&mmu_group, &core_icache_cmd); +- cmd_add_new_command(&mmu_group, &core_inval_cmd); +- cmd_add_new_command(&mmu_group, &core_mmuenab_cmd); +- cmd_add_new_command(&mmu_group, &core_map_cmd); +- cmd_add_new_command(&mmu_group, &core_mmuinfo_cmd); +-} diff --git a/boot/lpc32xxcdl/lpc32xxcdl-2.11-libnosys_gnu.patch b/boot/lpc32xxcdl/lpc32xxcdl-2.11-libnosys_gnu.patch new file mode 100644 index 0000000..cfd77be --- /dev/null +++ b/boot/lpc32xxcdl/lpc32xxcdl-2.11-libnosys_gnu.patch @@ -0,0 +1,188 @@ +Fix compilation and eabi issues + +Since we are not linking with libc anymore, we need to define our own memset, +strlen and memcpy. Also, as we are using a *libc compiler, we need to "handle" +exceptions (mostly division by 0) by defining raise() and +__aeabi_unwind_cpp_pr0. + +Signed-off-by: Alexandre Belloni +--- + csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c | 41 +++++++++++++++++++++++ + csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c | 41 +++++++++++++++++++++++ + csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c | 41 +++++++++++++++++++++++ + 3 files changed, 123 insertions(+), 0 deletions(-) + +diff --git a/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c b/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c +index 385b0ab..f1f0a0a 100644 +--- a/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c ++++ b/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + + /* errno definition */ + #undef errno +@@ -125,4 +126,44 @@ int _write(int file, char *ptr, int len){ + return 0; + } + ++void * memset(void * s,int c,size_t count) ++{ ++ char *xs = (char *) s; ++ ++ while (count--) ++ *xs++ = c; ++ ++ return s; ++} ++ ++ ++size_t strlen(const char * s) ++{ ++ const char *sc; ++ ++ for (sc = s; *sc != '\0'; ++sc) ++ /* nothing */; ++ return sc - s; ++} ++ ++void * memcpy(void * dest,const void *src,size_t count) ++{ ++ char *tmp = (char *) dest, *s = (char *) src; ++ ++ while (count--) ++ *tmp++ = *s++; ++ ++ return dest; ++} ++ ++ ++/* Dummy functions to avoid linker complaints */ ++void __aeabi_unwind_cpp_pr0(void) ++{ ++}; ++ ++void raise(void) ++{ ++}; ++ + #endif /*__GNUC__*/ +diff --git a/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c b/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c +index 385b0ab..f1f0a0a 100644 +--- a/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c ++++ b/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + + /* errno definition */ + #undef errno +@@ -125,4 +126,44 @@ int _write(int file, char *ptr, int len){ + return 0; + } + ++void * memset(void * s,int c,size_t count) ++{ ++ char *xs = (char *) s; ++ ++ while (count--) ++ *xs++ = c; ++ ++ return s; ++} ++ ++ ++size_t strlen(const char * s) ++{ ++ const char *sc; ++ ++ for (sc = s; *sc != '\0'; ++sc) ++ /* nothing */; ++ return sc - s; ++} ++ ++void * memcpy(void * dest,const void *src,size_t count) ++{ ++ char *tmp = (char *) dest, *s = (char *) src; ++ ++ while (count--) ++ *tmp++ = *s++; ++ ++ return dest; ++} ++ ++ ++/* Dummy functions to avoid linker complaints */ ++void __aeabi_unwind_cpp_pr0(void) ++{ ++}; ++ ++void raise(void) ++{ ++}; ++ + #endif /*__GNUC__*/ +diff --git a/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c b/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c +index cfdb674..6b50c60 100644 +--- a/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c ++++ b/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + + /* errno definition */ + #undef errno +@@ -125,4 +126,44 @@ int _write(int file, char *ptr, int len){ + return 0; + } + ++void * memset(void * s,int c,size_t count) ++{ ++ char *xs = (char *) s; ++ ++ while (count--) ++ *xs++ = c; ++ ++ return s; ++} ++ ++ ++size_t strlen(const char * s) ++{ ++ const char *sc; ++ ++ for (sc = s; *sc != '\0'; ++sc) ++ /* nothing */; ++ return sc - s; ++} ++ ++void * memcpy(void * dest,const void *src,size_t count) ++{ ++ char *tmp = (char *) dest, *s = (char *) src; ++ ++ while (count--) ++ *tmp++ = *s++; ++ ++ return dest; ++} ++ ++ ++/* Dummy functions to avoid linker complaints */ ++void __aeabi_unwind_cpp_pr0(void) ++{ ++}; ++ ++void raise(void) ++{ ++}; ++ + #endif /*__GNUC__*/ +-- +1.7.7.3 + diff --git a/boot/lpc32xxcdl/lpc32xxcdl-2.11-slashes.patch b/boot/lpc32xxcdl/lpc32xxcdl-2.11-slashes.patch new file mode 100644 index 0000000..94c1847 --- /dev/null +++ b/boot/lpc32xxcdl/lpc32xxcdl-2.11-slashes.patch @@ -0,0 +1,521 @@ +Use slashes instead of backslashes + +Signed-off-by: Alexandre Belloni +--- + .../bsps/common/examples/buildfiles/makefile | 10 +++--- + .../startup/examples/burners/makefile.burner | 16 +++++----- + csps/lpc32xx/bsps/ea3250/source/makefile | 10 +++--- + csps/lpc32xx/bsps/fdi3250/source/makefile | 12 ++++---- + csps/lpc32xx/bsps/phy3250/examples/makefile | 2 +- + csps/lpc32xx/bsps/phy3250/source/makefile | 2 +- + .../examples/Burners/nor/kickstart/makefile | 2 +- + .../startup/examples/Burners/nor/norerase/makefile | 2 +- + .../startup/examples/Burners/nor/s1lapp/makefile | 2 +- + .../examples/Burners/spi/kickstart/makefile | 2 +- + csps/lpc32xx/source/makefile | 10 +++--- + lpc/source/makefile | 10 +++--- + makefile | 2 +- + makerule/common/make.rules.environment | 30 ++++++++++---------- + makerule/lpc32xx/make.lpc32xx.gnu | 2 +- + makerule/lpc32xx/make.lpc32xx.iar | 12 ++++---- + makerule/lpc32xx/make.lpc32xx.keil | 6 ++-- + makerule/lpc32xx/make.lpc32xx.rvw | 2 +- + 18 files changed, 67 insertions(+), 67 deletions(-) + +diff --git a/csps/lpc32xx/bsps/common/examples/buildfiles/makefile b/csps/lpc32xx/bsps/common/examples/buildfiles/makefile +index cf4977c..1da2201 100644 +--- a/csps/lpc32xx/bsps/common/examples/buildfiles/makefile ++++ b/csps/lpc32xx/bsps/common/examples/buildfiles/makefile +@@ -25,16 +25,16 @@ + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) ++include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) + + ######################################################################## + # + # Pick up the assembler and C source files in the directory + # + ######################################################################## +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes +-AFLAGS +=-I..\Include +-CFLAGS +=-I..\Include ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes ++AFLAGS +=-I../Include ++CFLAGS +=-I../Include + + ######################################################################## + # +@@ -42,6 +42,6 @@ CFLAGS +=-I..\Include + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build + + +diff --git a/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner b/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner +index fca3947..18bd703 100644 +--- a/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner ++++ b/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner +@@ -22,9 +22,9 @@ + # + ######################################################################## + +-COMMON_BASE := $(NXPMCU_SOFTWARE)\csps\$(CSP)\bsps\common +-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) +-include $(COMMON_BASE)\startup\examples\buildfiles\make.env ++COMMON_BASE := $(NXPMCU_SOFTWARE)/csps/$(CSP)/bsps/common ++include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) ++include $(COMMON_BASE)/startup/examples/buildfiles/make.env + + ######################################################################## + # ARM Realview +@@ -38,7 +38,7 @@ AFLAGS += --predefine "USE_ALL_STACKS SETL {TRUE}" + #AFLAGS += --predefine "RW_RELOC SETL {TRUE}" + + # This runs from IRAM +-LDSCRIPT =$(COMMON_BASE)\startup\examples\buildfiles\ldscript_iram_rvw.ld ++LDSCRIPT =$(COMMON_BASE)/startup/examples/buildfiles/ldscript_iram_rvw.ld + LDFLAGS = --remove + MAP = --map --info=totals,sizes,unused --symbols --list + endif +@@ -55,7 +55,7 @@ AFLAGS += --predefine "USE_ALL_STACKS SETL {TRUE}" + #AFLAGS += --predefine "RW_RELOC SETL {TRUE}" + + # This runs from IRAM +-LDSCRIPT =$(COMMON_BASE)\startup\examples\buildfiles\ldscript_iram_rvw.ld ++LDSCRIPT =$(COMMON_BASE)/startup/examples/buildfiles/ldscript_iram_rvw.ld + LDFLAGS = --remove + MAP = --map --info=totals,sizes,unused --symbols --list + endif +@@ -72,7 +72,7 @@ AFLAGS += --defsym USE_ALL_STACKS=1 + #AFLAGS += --defsym RW_RELOC=1 + + # This runs from IRAM +-LDSCRIPT =$(COMMON_BASE)\startup\examples\buildfiles\ldscript_iram_gnu.ld ++LDSCRIPT =$(COMMON_BASE)/startup/examples/buildfiles/ldscript_iram_gnu.ld + + endif + +@@ -108,7 +108,7 @@ endif + # Pick up the assembler and C source files in the directory + # + ######################################################################## +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes + + ######################################################################## + # +@@ -157,6 +157,6 @@ endif + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build + + .PHONY: debug bin +diff --git a/csps/lpc32xx/bsps/ea3250/source/makefile b/csps/lpc32xx/bsps/ea3250/source/makefile +index 7cada25..2899b20 100644 +--- a/csps/lpc32xx/bsps/ea3250/source/makefile ++++ b/csps/lpc32xx/bsps/ea3250/source/makefile +@@ -22,16 +22,16 @@ + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) ++include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) + + ######################################################################## + # + # Pick up the assembler and C source files in the directory + # + ######################################################################## +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes +-AFLAGS +=-I..\Include +-CFLAGS +=-I..\Include ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes ++AFLAGS +=-I../Include ++CFLAGS +=-I../Include + + ######################################################################## + # +@@ -64,7 +64,7 @@ realclean: lib_realclean + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build + + .PHONY: all lib_clean lib_realclean + +diff --git a/csps/lpc32xx/bsps/fdi3250/source/makefile b/csps/lpc32xx/bsps/fdi3250/source/makefile +index 4e153bb..11e4b63 100644 +--- a/csps/lpc32xx/bsps/fdi3250/source/makefile ++++ b/csps/lpc32xx/bsps/fdi3250/source/makefile +@@ -22,16 +22,16 @@ + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) ++include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) + + ######################################################################## + # + # Pick up the assembler and C source files in the directory + # + ######################################################################## +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes +-AFLAGS +=-I..\Include +-CFLAGS +=-I..\Include ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes ++AFLAGS +=-I../Include ++CFLAGS +=-I../Include + + ######################################################################## + # +@@ -53,7 +53,7 @@ lib_clean: + # delete all targets this Makefile can make and all built libraries + # linked in + lib_realclean: +- -@$(RM) $(BSP_LIB_DIR)\*.a ++ -@$(RM) $(BSP_LIB_DIR)/*.a + -@$(RMDIR) $(BSP_LIB_DIR) + + clean: lib_clean +@@ -65,7 +65,7 @@ realclean: lib_realclean + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build + + .PHONY: all lib_clean lib_realclean + +diff --git a/csps/lpc32xx/bsps/phy3250/examples/makefile b/csps/lpc32xx/bsps/phy3250/examples/makefile +index b939252..e7feaa6 100644 +--- a/csps/lpc32xx/bsps/phy3250/examples/makefile ++++ b/csps/lpc32xx/bsps/phy3250/examples/makefile +@@ -25,7 +25,7 @@ + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) ++include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) + + SUBDIRS = adc dram_self_refresh hstimer hsuart i2c kscan lcd_colorbars + SUBDIRS += lcd_tsc mi2c mstimer pwm pwm_simple rtc sdcard sdcard_dma +diff --git a/csps/lpc32xx/bsps/phy3250/source/makefile b/csps/lpc32xx/bsps/phy3250/source/makefile +index 7c48e7d..750b776 100644 +--- a/csps/lpc32xx/bsps/phy3250/source/makefile ++++ b/csps/lpc32xx/bsps/phy3250/source/makefile +@@ -32,7 +32,7 @@ include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) + # Pick up the assembler and C source files in the directory + # + ######################################################################## +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes + AFLAGS +=-I../Include + CFLAGS +=-I../Include + +diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile +index 01e2b38..526d6cc 100644 +--- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile ++++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile +@@ -78,7 +78,7 @@ endif + + ######################################################################## + # +-# Compiler\linker specific stuff ++# Compiler/linker specific stuff + # + ######################################################################## + +diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile +index ce329f5..e81b8db 100644 +--- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile ++++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile +@@ -77,7 +77,7 @@ endif + + ######################################################################## + # +-# Compiler\linker specific stuff ++# Compiler/linker specific stuff + # + ######################################################################## + +diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile +index 4426fc7..196faec 100644 +--- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile ++++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile +@@ -77,7 +77,7 @@ endif + + ######################################################################## + # +-# Compiler\linker specific stuff ++# Compiler/linker specific stuff + # + ######################################################################## + +diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile +index dc73b64..39fc304 100644 +--- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile ++++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile +@@ -78,7 +78,7 @@ endif + + ######################################################################## + # +-# Compiler\linker specific stuff ++# Compiler/linker specific stuff + # + ######################################################################## + +diff --git a/csps/lpc32xx/source/makefile b/csps/lpc32xx/source/makefile +index 8e05456..16bd944 100644 +--- a/csps/lpc32xx/source/makefile ++++ b/csps/lpc32xx/source/makefile +@@ -25,16 +25,16 @@ + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) ++include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) + + ######################################################################## + # + # Pick up the assembler and C source files in the directory + # + ######################################################################## +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes +-AFLAGS +=-I..\Include +-CFLAGS +=-I..\Include ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes ++AFLAGS +=-I../Include ++CFLAGS +=-I../Include + + + ######################################################################## +@@ -68,7 +68,7 @@ realclean: lib_realclean + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build + + .PHONY: all lib_clean lib_realclean + +diff --git a/lpc/source/makefile b/lpc/source/makefile +index 2860db9..ae7d612 100644 +--- a/lpc/source/makefile ++++ b/lpc/source/makefile +@@ -25,16 +25,16 @@ + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) ++include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) + + ######################################################################## + # + # Pick up the assembler and C source files in the directory + # + ######################################################################## +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes +-AFLAGS +=-I..\Include +-CFLAGS +=-I..\Include ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes ++AFLAGS +=-I../Include ++CFLAGS +=-I../Include + + ######################################################################## + # +@@ -67,7 +67,7 @@ realclean: lib_realclean + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build + + .PHONY: all lib_clean lib_realclean + +diff --git a/makefile b/makefile +index 8645fcc..86fa6bc 100644 +--- a/makefile ++++ b/makefile +@@ -34,7 +34,7 @@ TARGETS_CLN =gen_clean csp_clean bsp_clean + # + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) ++include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) + + ######################################################################## + # +diff --git a/makerule/common/make.rules.environment b/makerule/common/make.rules.environment +index d5737fe..4e6df48 100644 +--- a/makerule/common/make.rules.environment ++++ b/makerule/common/make.rules.environment +@@ -52,7 +52,7 @@ ASTYLE =astyle --options=$(BUILD_ROOT)/tools/astyle.cfg + # + ######################################################################## + +-CSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\lib ++CSP_LIB_DIR =$(BUILD_ROOT)/csps/$(CSP)/lib + + ######################################################################## + # +@@ -60,7 +60,7 @@ CSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\lib + # + ######################################################################## + +-BSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\bsps\$(BSP)\lib ++BSP_LIB_DIR =$(BUILD_ROOT)/csps/$(CSP)/bsps/$(BSP)/lib + + ######################################################################## + # +@@ -68,7 +68,7 @@ BSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\bsps\$(BSP)\lib + # + ######################################################################## + +-GEN_LIB_DIR =$(BUILD_ROOT)\$(GEN)\lib ++GEN_LIB_DIR =$(BUILD_ROOT)/$(GEN)/lib + + ######################################################################## + # +@@ -76,9 +76,9 @@ GEN_LIB_DIR =$(BUILD_ROOT)\$(GEN)\lib + # + ######################################################################## + +-CSP_DIR =$(BUILD_ROOT)\csps\$(CSP) +-CSP_SRC_DIR =$(CSP_DIR)\source +-CSP_INC_DIR =$(CSP_DIR)\include ++CSP_DIR =$(BUILD_ROOT)/csps/$(CSP) ++CSP_SRC_DIR =$(CSP_DIR)/source ++CSP_INC_DIR =$(CSP_DIR)/include + + ######################################################################## + # +@@ -86,9 +86,9 @@ CSP_INC_DIR =$(CSP_DIR)\include + # + ######################################################################## + +-BSP_DIR =$(BUILD_ROOT)\csps\$(CSP)\bsps\$(BSP) +-BSP_SRC_DIR =$(BSP_DIR)\source +-BSP_INC_DIR =$(BSP_DIR)\include ++BSP_DIR =$(BUILD_ROOT)/csps/$(CSP)/bsps/$(BSP) ++BSP_SRC_DIR =$(BSP_DIR)/source ++BSP_INC_DIR =$(BSP_DIR)/include + + ######################################################################## + # +@@ -96,9 +96,9 @@ BSP_INC_DIR =$(BSP_DIR)\include + # + ######################################################################## + +-GEN_DIR =$(BUILD_ROOT)\$(GEN) +-GEN_SRC_DIR =$(GEN_DIR)\source +-GEN_INC_DIR =$(GEN_DIR)\include ++GEN_DIR =$(BUILD_ROOT)/$(GEN) ++GEN_SRC_DIR =$(GEN_DIR)/source ++GEN_INC_DIR =$(GEN_DIR)/include + + ######################################################################## + # +@@ -151,6 +151,6 @@ endif + # + ######################################################################## + +-TARGET_CSP_LIB =$(CSP_LIB_DIR)\$(CSP_ARCHIVE) +-TARGET_BSP_LIB =$(BSP_LIB_DIR)\$(BSP_ARCHIVE) +-TARGET_GEN_LIB =$(GEN_LIB_DIR)\$(GEN_ARCHIVE) ++TARGET_CSP_LIB =$(CSP_LIB_DIR)/$(CSP_ARCHIVE) ++TARGET_BSP_LIB =$(BSP_LIB_DIR)/$(BSP_ARCHIVE) ++TARGET_GEN_LIB =$(GEN_LIB_DIR)/$(GEN_ARCHIVE) +diff --git a/makerule/lpc32xx/make.lpc32xx.gnu b/makerule/lpc32xx/make.lpc32xx.gnu +index 3277d99..d80b98d 100644 +--- a/makerule/lpc32xx/make.lpc32xx.gnu ++++ b/makerule/lpc32xx/make.lpc32xx.gnu +@@ -19,7 +19,7 @@ + # use without further testing or modification. + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment + + CPU = arm926ej-s + CFLAGS = -mcpu=arm926ej-s -Wall -Os +diff --git a/makerule/lpc32xx/make.lpc32xx.iar b/makerule/lpc32xx/make.lpc32xx.iar +index 238ebbf..27d163f 100644 +--- a/makerule/lpc32xx/make.lpc32xx.iar ++++ b/makerule/lpc32xx/make.lpc32xx.iar +@@ -19,12 +19,12 @@ + # use without further testing or modification. + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment + +-IARBASE = $(IAR_ROOT)\ARM +-IARTOOLS = $(IARBASE)\bin +-IAR_LIB = $(IARBASE)\lib +-IAR_INC = $(IARBASE)\inc ++IARBASE = $(IAR_ROOT)/ARM ++IARTOOLS = $(IARBASE)/bin ++IAR_LIB = $(IARBASE)/lib ++IAR_INC = $(IARBASE)/inc + CC = iccarm + CCP = iccarm + AS = iasmarm +@@ -36,7 +36,7 @@ CFLAGS += -I"$(IAR_INC)" + AFLAGS = --cpu 5TEJ + LDFLAGS = + LK = "$(TARGET_GEN_LIB)" "$(TARGET_CSP_LIB)" "$(TARGET_BSP_LIB)" +-;LK += "$(IAR_LIB)\dl4tpannl8f.r79" ++;LK += "$(IAR_LIB)/dl4tpannl8f.r79" + MAP = --map + LDESC = --config + ENTRY = --entry +diff --git a/makerule/lpc32xx/make.lpc32xx.keil b/makerule/lpc32xx/make.lpc32xx.keil +index dd27583..7334d3f 100644 +--- a/makerule/lpc32xx/make.lpc32xx.keil ++++ b/makerule/lpc32xx/make.lpc32xx.keil +@@ -19,7 +19,7 @@ + # use without further testing or modification. + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment + + CC =armcc + CCP =armcc +@@ -27,11 +27,11 @@ AS =armasm + LD =armlink + AR =armar -r -s + CFLAGS =--arm -O3 -g --device DARMP3 -D__MICROLIB +-CFLAGS +=-I$(KEIL_RVCT)\inc -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR) ++CFLAGS +=-I$(KEIL_RVCT)/inc -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR) + AFLAGS =--arm --device=DARMP3 + AFLAGS +=-I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR) + LDFLAGS =--noremove +-LK =--device DARMP3 --libpath $(KEIL_RVCT)\lib --scan $(TARGET_CSP_LIB) ++LK =--device DARMP3 --libpath $(KEIL_RVCT)/lib --scan $(TARGET_CSP_LIB) + LK +=--scan $(TARGET_BSP_LIB) + LK +=--scan $(TARGET_GEN_LIB) + MAP =--map --list +diff --git a/makerule/lpc32xx/make.lpc32xx.rvw b/makerule/lpc32xx/make.lpc32xx.rvw +index 59961dd..2419976 100644 +--- a/makerule/lpc32xx/make.lpc32xx.rvw ++++ b/makerule/lpc32xx/make.lpc32xx.rvw +@@ -19,7 +19,7 @@ + # use without further testing or modification. + ######################################################################## + +-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment ++include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment + + CC =armcc + CCP =armcpp +-- +1.7.7.3 + diff --git a/boot/lpc32xxcdl/lpc32xxcdl.mk b/boot/lpc32xxcdl/lpc32xxcdl.mk new file mode 100644 index 0000000..d11be6c --- /dev/null +++ b/boot/lpc32xxcdl/lpc32xxcdl.mk @@ -0,0 +1,70 @@ +############################################################# +# +# LPC32XX CDL +# +############################################################# + +LPC32XXCDL_VERSION = lpc32xx_cdl_v2.11 +LPC32XXCDL_SITE = http://git.lpcware.com/lpc3xxx_cdl.git +LPC32XXCDL_SITE_METHOD = git + +LPC32XXCDL_INSTALL_TARGET = NO +LPC32XXCDL_INSTALL_IMAGES = YES + +ifeq ($(BR2_TARGET_LPC32XXCDL_BOARDNAME),"ea3250") +LPC32XXCDL_KICKSTART = kickstart/nand +LPC32XXCDL_KICKSTART_BURNER = nand/kickstart +LPC32XXCDL_S1L = s1l +LPC32XXCDL_S1L_BURNER = nand/s1lapp +endif + +ifeq ($(BR2_TARGET_LPC32XXCDL_BOARDNAME),"phy3250") +LPC32XXCDL_KICKSTART = kickstart/kickstart_nand +LPC32XXCDL_KICKSTART_BURNER = nand/kickstart +LPC32XXCDL_S1L = s1l/s1l_nand_boot +LPC32XXCDL_S1L_BURNER = nand/s1lapp +endif + +ifeq ($(BR2_TARGET_LPC32XXCDL_BOARDNAME),"fdi3250") +LPC32XXCDL_KICKSTART = kickstart/nand +LPC32XXCDL_KICKSTART_BURNER = nand/kickstart_jtag +LPC32XXCDL_S1L = s1l +LPC32XXCDL_S1L_BURNER = nand/s1lapp_jtag +endif + +LPC32XXCDL_BUILD_FLAGS = \ + CROSS_COMPILE=$(TARGET_CROSS) \ + NXPMCU_WINBASE=$(@D) \ + NXPMCU_SOFTWARE=$(@D) \ + BSP=$(BR2_TARGET_LPC32XXCDL_BOARDNAME) \ + CSP=lpc32xx TOOL=gnu GEN=lpc + +LPC32XXCDL_BOARD_STARTUP_DIR = \ + csps/lpc32xx/bsps/$(BR2_TARGET_LPC32XXCDL_BOARDNAME)/startup/examples/ + +# Source files are with dos newlines, which our patch infrastructure doesn't +# handle. Work around it by converting the affected files to unix newlines +# before patching +define LPC32XXCDL_DOS2UNIX_FOR_PATCH + sed -n 's|^[+-]\{3\} [^/]\+\([^ \t]*\)\(.*\)|$(@D)\1|p' \ + boot/lpc32xxcdl/*.patch| sort -u | xargs $(SED) 's/\x0D$$//' +endef + +LPC32XXCDL_POST_EXTRACT_HOOKS += LPC32XXCDL_DOS2UNIX_FOR_PATCH + +define LPC32XXCDL_BUILD_CMDS + $(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D) + $(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_KICKSTART_BURNER) + $(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_KICKSTART) + $(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_S1L_BURNER) + $(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_S1L) +endef + +define LPC32XXCDL_INSTALL_IMAGES_CMDS + cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_KICKSTART_BURNER)/*gnu.bin $(BINARIES_DIR) + cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_KICKSTART)/*gnu.bin $(BINARIES_DIR) + cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_S1L_BURNER)/*gnu.bin $(BINARIES_DIR) + cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_S1L)/*gnu.bin $(BINARIES_DIR) +endef + +$(eval $(call GENTARGETS)) diff --git a/boot/syslinux/syslinux-3.85-makefile.patch b/boot/syslinux/syslinux-3.85-makefile.patch deleted file mode 100644 index ff85b8d..0000000 --- a/boot/syslinux/syslinux-3.85-makefile.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: syslinux-3.85/Makefile -=================================================================== ---- syslinux-3.85.orig/Makefile -+++ syslinux-3.85/Makefile -@@ -43,7 +43,7 @@ - mbr/mbr_c.bin mbr/altmbr_c.bin mbr/gptmbr_c.bin \ - mbr/mbr_f.bin mbr/altmbr_f.bin mbr/gptmbr_f.bin \ - core/pxelinux.0 core/isolinux.bin core/isolinux-debug.bin \ -- gpxe/gpxelinux.0 dos/syslinux.com win32/syslinux.exe \ -+ gpxe/gpxelinux.0 dos/syslinux.com \ - dosutil/*.com dosutil/*.sys \ - $(MODULES) - diff --git a/boot/syslinux/syslinux.mk b/boot/syslinux/syslinux.mk index fa5af07..3e89bdf 100644 --- a/boot/syslinux/syslinux.mk +++ b/boot/syslinux/syslinux.mk @@ -4,9 +4,9 @@ # ############################################################# -SYSLINUX_VERSION = 3.85 +SYSLINUX_VERSION = 4.04 SYSLINUX_SOURCE = syslinux-$(SYSLINUX_VERSION).tar.bz2 -SYSLINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/boot/syslinux/3.xx/ +SYSLINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/boot/syslinux/4.xx/ SYSLINUX_INSTALL_TARGET = NO SYSLINUX_INSTALL_IMAGES = YES @@ -26,4 +26,18 @@ define SYSLINUX_INSTALL_IMAGES_CMDS done endef + +define HOST_SYSLINUX_BUILD_CMDS + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define HOST_SYSLINUX_INSTALL_CMDS + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) INSTALLROOT=$(HOST_DIR) install +endef + +define HOST_SYSLINUX_CLEAN_CMDS + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) clean +endef + $(eval $(call GENTARGETS)) +$(eval $(call GENTARGETS,host)) diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in index 9dd4fd4..ac2fd5b 100644 --- a/boot/uboot/Config.in +++ b/boot/uboot/Config.in @@ -19,20 +19,16 @@ choice config BR2_TARGET_UBOOT_2011_12 bool "2011.12" +config BR2_TARGET_UBOOT_2011_09 + bool "2011.09" + config BR2_TARGET_UBOOT_2011_06 bool "2011.06" + depends on BR2_DEPRECATED config BR2_TARGET_UBOOT_2011_03 bool "2011.03" - -config BR2_TARGET_UBOOT_2010_12 - bool "2010.12" - -config BR2_TARGET_UBOOT_2010_09 - bool "2010.09" - -config BR2_TARGET_UBOOT_2010_06 - bool "2010.06" + depends on BR2_DEPRECATED config BR2_TARGET_UBOOT_CUSTOM_TARBALL bool "Custom tarball" @@ -52,11 +48,9 @@ endif config BR2_TARGET_UBOOT_VERSION string default "2011.12" if BR2_TARGET_UBOOT_2011_12 + default "2011.09" if BR2_TARGET_UBOOT_2011_09 default "2011.06" if BR2_TARGET_UBOOT_2011_06 default "2011.03" if BR2_TARGET_UBOOT_2011_03 - default "2010.12" if BR2_TARGET_UBOOT_2010_12 - default "2010.09" if BR2_TARGET_UBOOT_2010_09 - default "2010.06" if BR2_TARGET_UBOOT_2010_06 default "custom" if BR2_TARGET_UBOOT_CUSTOM_TARBALL default $BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION if BR2_TARGET_UBOOT_CUSTOM_GIT @@ -91,6 +85,9 @@ choice config BR2_TARGET_UBOOT_FORMAT_BIN bool "u-boot.bin" +config BR2_TARGET_UBOOT_FORMAT_NAND_BIN + bool "u-boot-nand.bin" + config BR2_TARGET_UBOOT_FORMAT_IMG bool "u-boot.img" diff --git a/boot/uboot/uboot-2011.12/uboot-2011.12-change-kernel-address-in-dataflash.patch b/boot/uboot/uboot-2011.12/uboot-2011.12-change-kernel-address-in-dataflash.patch new file mode 100644 index 0000000..4cdbb98 --- /dev/null +++ b/boot/uboot/uboot-2011.12/uboot-2011.12-change-kernel-address-in-dataflash.patch @@ -0,0 +1,181 @@ +From 9fc4787c7a6c797db649831f86e49c4bf9780b4e Mon Sep 17 00:00:00 2001 +From: Alexandre Belloni +Date: Mon, 2 Jan 2012 03:51:11 +0100 +Subject: [PATCH] Change kernel address in dataflash to match u-boot's size + +On at91sam platforms, u-boot grew larger than the allocated size in +dataflash, the layout was: +bootstrap 0x00000000 +ubootenv 0x00004200 +uboot 0x00008400 +kernel 0x00042000 + +u-boot with the defconfig doesn't seem to fit in 0x42000 - 0x8400 = +0x39C00 bytes anymore. + +Now, the layout is: +bootstrap 0x00000000 +uboot 0x00004000 +ubootenv 0x00084000 +ubootenv2 0x00088000 +kernel 0x0008C000 + +Signed-off-by: Alexandre Belloni +--- + include/configs/at91sam9260ek.h | 18 ++++++++++++------ + include/configs/at91sam9261ek.h | 18 ++++++++++++------ + include/configs/at91sam9263ek.h | 10 +++++++--- + include/configs/at91sam9rlek.h | 10 +++++++--- + 4 files changed, 38 insertions(+), 18 deletions(-) + +diff --git a/include/configs/at91sam9260ek.h b/include/configs/at91sam9260ek.h +index db52ee6..b537760 100644 +--- a/include/configs/at91sam9260ek.h ++++ b/include/configs/at91sam9260ek.h +@@ -185,10 +185,12 @@ + /* bootstrap + u-boot + env + linux in dataflash on CS0 */ + #define CONFIG_ENV_IS_IN_DATAFLASH 1 + #define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + 0x8400) +-#define CONFIG_ENV_OFFSET 0x4200 ++#define CONFIG_ENV_OFFSET 0x84000 + #define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + CONFIG_ENV_OFFSET) +-#define CONFIG_ENV_SIZE 0x4200 +-#define CONFIG_BOOTCOMMAND "cp.b 0xC0042000 0x22000000 0x210000; bootm" ++#define CONFIG_ENV_SIZE 0x4000 ++#define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR+CONFIG_ENV_SIZE) ++#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE ++#define CONFIG_BOOTCOMMAND "cp.b 0xC008C000 0x22000000 0x210000; bootm" + #define CONFIG_BOOTARGS "console=ttyS0,115200 " \ + "root=/dev/mtdblock0 " \ + "mtdparts=atmel_nand:-(root) " \ +@@ -199,10 +201,12 @@ + /* bootstrap + u-boot + env + linux in dataflash on CS1 */ + #define CONFIG_ENV_IS_IN_DATAFLASH 1 + #define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1 + 0x8400) +-#define CONFIG_ENV_OFFSET 0x4200 ++#define CONFIG_ENV_OFFSET 0x84000 + #define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1 + CONFIG_ENV_OFFSET) +-#define CONFIG_ENV_SIZE 0x4200 +-#define CONFIG_BOOTCOMMAND "cp.b 0xD0042000 0x22000000 0x210000; bootm" ++#define CONFIG_ENV_SIZE 0x4000 ++#define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR+CONFIG_ENV_SIZE) ++#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE ++#define CONFIG_BOOTCOMMAND "cp.b 0xD008C000 0x22000000 0x210000; bootm" + #define CONFIG_BOOTARGS "console=ttyS0,115200 " \ + "root=/dev/mtdblock0 " \ + "mtdparts=atmel_nand:-(root) " \ +@@ -231,6 +235,8 @@ + #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) + #define CONFIG_SYS_LONGHELP 1 + #define CONFIG_CMDLINE_EDITING 1 ++#define CONFIG_AUTO_COMPLETE ++#define CONFIG_SYS_REDUNDAND_ENVIRONMENT + + /* + * Size of malloc() pool +diff --git a/include/configs/at91sam9261ek.h b/include/configs/at91sam9261ek.h +index 5140b26..fa461da 100644 +--- a/include/configs/at91sam9261ek.h ++++ b/include/configs/at91sam9261ek.h +@@ -187,10 +187,12 @@ + /* bootstrap + u-boot + env + linux in dataflash on CS0 */ + #define CONFIG_ENV_IS_IN_DATAFLASH + #define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + 0x8400) +-#define CONFIG_ENV_OFFSET 0x4200 ++#define CONFIG_ENV_OFFSET 0x84000 + #define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + CONFIG_ENV_OFFSET) +-#define CONFIG_ENV_SIZE 0x4200 +-#define CONFIG_BOOTCOMMAND "cp.b 0xC0042000 0x22000000 0x210000; bootm" ++#define CONFIG_ENV_SIZE 0x4000 ++#define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR+CONFIG_ENV_SIZE) ++#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE ++#define CONFIG_BOOTCOMMAND "cp.b 0xC008C000 0x22000000 0x210000; bootm" + #define CONFIG_BOOTARGS "console=ttyS0,115200 " \ + "root=/dev/mtdblock0 " \ + "mtdparts=atmel_nand:-(root) " \ +@@ -201,10 +203,12 @@ + /* bootstrap + u-boot + env + linux in dataflash on CS3 */ + #define CONFIG_ENV_IS_IN_DATAFLASH + #define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS3 + 0x8400) +-#define CONFIG_ENV_OFFSET 0x4200 ++#define CONFIG_ENV_OFFSET 0x84000 + #define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS3 + CONFIG_ENV_OFFSET) +-#define CONFIG_ENV_SIZE 0x4200 +-#define CONFIG_BOOTCOMMAND "cp.b 0xD0042000 0x22000000 0x210000; bootm" ++#define CONFIG_ENV_SIZE 0x4000 ++#define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR+CONFIG_ENV_SIZE) ++#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE ++#define CONFIG_BOOTCOMMAND "cp.b 0xD008C000 0x22000000 0x210000; bootm" + #define CONFIG_BOOTARGS "console=ttyS0,115200 " \ + "root=/dev/mtdblock0 " \ + "mtdparts=atmel_nand:-(root) " \ +@@ -233,6 +237,8 @@ + #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) + #define CONFIG_SYS_LONGHELP + #define CONFIG_CMDLINE_EDITING ++#define CONFIG_AUTO_COMPLETE ++#define CONFIG_SYS_REDUNDAND_ENVIRONMENT + + /* + * Size of malloc() pool +diff --git a/include/configs/at91sam9263ek.h b/include/configs/at91sam9263ek.h +index 8399246..253bee4 100644 +--- a/include/configs/at91sam9263ek.h ++++ b/include/configs/at91sam9263ek.h +@@ -314,10 +314,12 @@ + /* bootstrap + u-boot + env + linux in dataflash on CS0 */ + #define CONFIG_ENV_IS_IN_DATAFLASH 1 + #define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + 0x8400) +-#define CONFIG_ENV_OFFSET 0x4200 ++#define CONFIG_ENV_OFFSET 0x84000 + #define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + CONFIG_ENV_OFFSET) +-#define CONFIG_ENV_SIZE 0x4200 +-#define CONFIG_BOOTCOMMAND "cp.b 0xC0042000 0x22000000 0x210000; bootm" ++#define CONFIG_ENV_SIZE 0x4000 ++#define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR+CONFIG_ENV_SIZE) ++#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE ++#define CONFIG_BOOTCOMMAND "cp.b 0xC008C000 0x22000000 0x210000; bootm" + #define CONFIG_BOOTARGS "console=ttyS0,115200 " \ + "root=/dev/mtdblock0 " \ + "mtdparts=atmel_nand:-(root) "\ +@@ -347,6 +349,8 @@ + #define CONFIG_AUTO_COMPLETE + #define CONFIG_SYS_HUSH_PARSER + #define CONFIG_SYS_PROMPT_HUSH_PS2 "> " ++#define CONFIG_AUTO_COMPLETE ++#define CONFIG_SYS_REDUNDAND_ENVIRONMENT + + /* + * Size of malloc() pool +diff --git a/include/configs/at91sam9rlek.h b/include/configs/at91sam9rlek.h +index 79ea1f2..423f523 100644 +--- a/include/configs/at91sam9rlek.h ++++ b/include/configs/at91sam9rlek.h +@@ -153,10 +153,12 @@ + /* bootstrap + u-boot + env + linux in dataflash on CS0 */ + #define CONFIG_ENV_IS_IN_DATAFLASH 1 + #define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + 0x8400) +-#define CONFIG_ENV_OFFSET 0x4200 ++#define CONFIG_ENV_OFFSET 0x84000 + #define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + CONFIG_ENV_OFFSET) +-#define CONFIG_ENV_SIZE 0x4200 +-#define CONFIG_BOOTCOMMAND "cp.b 0xC0042000 0x22000000 0x210000; bootm" ++#define CONFIG_ENV_SIZE 0x4000 ++#define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR+CONFIG_ENV_SIZE) ++#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE ++#define CONFIG_BOOTCOMMAND "cp.b 0xC008C000 0x22000000 0x210000; bootm" + #define CONFIG_BOOTARGS "console=ttyS0,115200 " \ + "root=/dev/mtdblock0 " \ + "mtdparts=atmel_nand:-(root) "\ +@@ -183,6 +185,8 @@ + #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) + #define CONFIG_SYS_LONGHELP 1 + #define CONFIG_CMDLINE_EDITING 1 ++#define CONFIG_AUTO_COMPLETE ++#define CONFIG_SYS_REDUNDAND_ENVIRONMENT + + /* + * Size of malloc() pool +-- +1.7.5.4 + diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk index 77850d2..71e9c8d 100644 --- a/boot/uboot/uboot.mk +++ b/boot/uboot/uboot.mk @@ -27,6 +27,8 @@ UBOOT_BIN = u-boot.kwb UBOOT_MAKE_TARGET = $(UBOOT_BIN) else ifeq ($(BR2_TARGET_UBOOT_FORMAT_LDR),y) UBOOT_BIN = u-boot.ldr +else ifeq ($(BR2_TARGET_UBOOT_FORMAT_NAND_BIN),y) +UBOOT_BIN = u-boot-nand.bin else ifeq ($(BR2_TARGET_UBOOT_FORMAT_IMG),y) UBOOT_BIN = u-boot.img else diff --git a/configs/armadeus_apf9328_defconfig b/configs/armadeus_apf9328_defconfig new file mode 100644 index 0000000..945d385 --- /dev/null +++ b/configs/armadeus_apf9328_defconfig @@ -0,0 +1,31 @@ +# Architecture +BR2_arm=y +BR2_arm920t=y + +# Toolchain +BR2_STRIP_sstrip=y +BR2_GCC_VERSION_4_4_X=y +BR2_PACKAGE_GDB=y +BR2_PACKAGE_GDB_HOST=y +BR2_ENABLE_LOCALE_PURGE=y +BR2_TOOLCHAIN_BUILDROOT_LARGEFILE=y +BR2_TOOLCHAIN_BUILDROOT_INET_IPV6=y +BR2_TOOLCHAIN_BUILDROOT_INET_RPC=y +BR2_TOOLCHAIN_BUILDROOT_LOCALE=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y + +# System +BR2_TARGET_GENERIC_HOSTNAME="apf9328" +BR2_TARGET_GENERIC_ISSUE="Welcome to Armadeus development platform !" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" + +# Filesystem +BR2_TARGET_ROOTFS_JFFS2=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.1.1" +BR2_LINUX_KERNEL_PATCH="board/armadeus/apf9328" +BR2_LINUX_KERNEL_DEFCONFIG="mx1" diff --git a/configs/at91sam9260dfc_defconfig b/configs/at91sam9260dfc_defconfig index 13748d3..de7ac42 100644 --- a/configs/at91sam9260dfc_defconfig +++ b/configs/at91sam9260dfc_defconfig @@ -1,21 +1,19 @@ # Architecture BR2_arm=y +BR2_arm926t=y # First stage bootloader BR2_TARGET_AT91BOOTSTRAP=y BR2_TARGET_AT91BOOTSTRAP_BOARD="at91sam9260ek" -BR2_TARGET_AT91BOOTSTRAP_DATAFLASHCARD=y +BR2_TARGET_AT91BOOTSTRAP_DATAFLASH=y # Second stage bootloader BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="at91sam9260ek" -BR2_TARGET_UBOOT_2010_06=y +BR2_TARGET_UBOOT_BOARDNAME="at91sam9260ek_dataflash_cs0" +BR2_TARGET_UBOOT_2011_12=y # Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.33" -BR2_LINUX_KERNEL_PATCH="http://maxim.org.za/AT91RM9200/2.6/2.6.33-at91.patch.gz" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="at91sam9260ek" diff --git a/configs/at91sam9261ek_defconfig b/configs/at91sam9261ek_defconfig index cea28cb..73edd89 100644 --- a/configs/at91sam9261ek_defconfig +++ b/configs/at91sam9261ek_defconfig @@ -5,20 +5,17 @@ BR2_arm926t=y # First stage bootloader BR2_TARGET_AT91BOOTSTRAP=y BR2_TARGET_AT91BOOTSTRAP_BOARD="at91sam9261ek" -BR2_TARGET_AT91BOOTSTRAP_DATAFLASHCARD=y +BR2_TARGET_AT91BOOTSTRAP_DATAFLASH=y # Second stage bootloader BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="at91sam9261ek" -BR2_TARGET_UBOOT_2010_06=y +BR2_TARGET_UBOOT_BOARDNAME="at91sam9261ek_dataflash_cs0" +BR2_TARGET_UBOOT_2011_12=y # Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.33" -BR2_LINUX_KERNEL_PATCH="http://maxim.org.za/AT91RM9200/2.6/2.6.33-at91.patch.gz" BR2_LINUX_KERNEL_USE_DEFCONFIG=y -BR2_LINUX_KERNEL_DEFCONFIG="at91sam9261ek" +BR2_LINUX_KERNEL_DEFCONFIG="at91sam9261" # Filesystem BR2_TARGET_ROOTFS_TAR=y diff --git a/configs/at91sam9263ek_defconfig b/configs/at91sam9263ek_defconfig index 1a79482..e4a44f1 100644 --- a/configs/at91sam9263ek_defconfig +++ b/configs/at91sam9263ek_defconfig @@ -5,20 +5,17 @@ BR2_arm926t=y # First stage bootloader BR2_TARGET_AT91BOOTSTRAP=y BR2_TARGET_AT91BOOTSTRAP_BOARD="at91sam9263ek" -BR2_TARGET_AT91BOOTSTRAP_DATAFLASHCARD=y +BR2_TARGET_AT91BOOTSTRAP_DATAFLASH=y # Second stage bootloader BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="at91sam9263ek" -BR2_TARGET_UBOOT_2010_06=y +BR2_TARGET_UBOOT_BOARDNAME="at91sam9263ek_dataflash_cs0" +BR2_TARGET_UBOOT_2011_12=y # Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.33" -BR2_LINUX_KERNEL_PATCH="http://maxim.org.za/AT91RM9200/2.6/2.6.33-at91.patch.gz" BR2_LINUX_KERNEL_USE_DEFCONFIG=y -BR2_LINUX_KERNEL_DEFCONFIG="at91sam9263ek" +BR2_LINUX_KERNEL_DEFCONFIG="at91sam9263" # Filesystem -BR2_TARGET_ROOTFS_TAR=y \ No newline at end of file +BR2_TARGET_ROOTFS_TAR=y diff --git a/configs/at91sam9g20dfc_defconfig b/configs/at91sam9g20dfc_defconfig index 16fd023..4a4b09c 100644 --- a/configs/at91sam9g20dfc_defconfig +++ b/configs/at91sam9g20dfc_defconfig @@ -9,14 +9,12 @@ BR2_TARGET_AT91BOOTSTRAP_DATAFLASHCARD=y # Second stage bootloader BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="at91sam9g20ek" -BR2_TARGET_UBOOT_2010_06=y +BR2_TARGET_UBOOT_BOARDNAME="at91sam9g20ek_nandflash" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.33" -BR2_LINUX_KERNEL_PATCH="http://maxim.org.za/AT91RM9200/2.6/2.6.33-at91.patch.gz" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.1.6" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="at91sam9g20ek" diff --git a/configs/beagle_xm_defconfig b/configs/beagle_xm_defconfig index f9ac054..7d0df6f 100644 --- a/configs/beagle_xm_defconfig +++ b/configs/beagle_xm_defconfig @@ -14,7 +14,7 @@ BR2_PACKAGE_PORTMAP=y BR2_PACKAGE_BASH=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="omap3_beagle" -BR2_TARGET_UBOOT_EXTRAVERSION="-mg01.0" +BR2_TARGET_UBOOT_EXTRAVERSION="-mg01.1" BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_UENV_PARAMETERS=y diff --git a/configs/beagle_xm_full_defconfig b/configs/beagle_xm_full_defconfig index bc9470f..15af7fd 100644 --- a/configs/beagle_xm_full_defconfig +++ b/configs/beagle_xm_full_defconfig @@ -38,14 +38,14 @@ BR2_PACKAGE_MPG123=y BR2_PACKAGE_MPLAYER=y BR2_PACKAGE_BZIP2=y BR2_PACKAGE_GZIP=y +BR2_PACKAGE_LTTNG_BABELTRACE=y +BR2_PACKAGE_LTTNG_MODULES=y +BR2_PACKAGE_LTTNG_TOOLS=y BR2_PACKAGE_OPROFILE=y BR2_PACKAGE_VALGRIND=y BR2_PACKAGE_TAR=y -BR2_PACKAGE_DIRECTFB=y BR2_PACKAGE_DIRECTB_TESTS=y BR2_PACKAGE_I2C_TOOLS=y -BR2_PACKAGE_LIBV4L_V4L2_COMPLIANCE=y -BR2_PACKAGE_LIBV4L_V4L2_DBG=y BR2_PACKAGE_MEDIA_CTL=y BR2_PACKAGE_YAVTA=y BR2_PACKAGE_OPENSSL_BIN=y @@ -61,6 +61,8 @@ BR2_PACKAGE_OPENCV_WITH_JPEG=y BR2_PACKAGE_OPENCV_WITH_PNG=y BR2_PACKAGE_OPENCV_WITH_TIFF=y BR2_PACKAGE_OPENCV_WITH_V4L=y +BR2_PACKAGE_LIBV4L_V4L2_COMPLIANCE=y +BR2_PACKAGE_LIBV4L_V4L2_DBG=y BR2_PACKAGE_CAN_UTILS=y BR2_PACKAGE_EMAIL=y BR2_PACKAGE_IPERF=y @@ -79,7 +81,7 @@ BR2_PACKAGE_NANO=y BR2_PACKAGE_VIM=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="omap3_beagle" -BR2_TARGET_UBOOT_EXTRAVERSION="-mg01.0" +BR2_TARGET_UBOOT_EXTRAVERSION="-mg01.1" BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_UENV_PARAMETERS=y diff --git a/configs/ea3250_defconfig b/configs/ea3250_defconfig new file mode 100644 index 0000000..da84c7e --- /dev/null +++ b/configs/ea3250_defconfig @@ -0,0 +1,39 @@ +# Architecture +BR2_arm=y +BR2_arm926t=y + +BR2_ARM_TYPE="ARM926T" +BR2_ARM_EABI=y + +# +# GCC Options +# We need to force GCC 4.3.x because it is the last version +# that will compile a kernel with ethernet working correctly +BR2_GCC_VERSION_4_3_X=y + + +# Bootloaders +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="ea3250" +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_VERSION="master" +BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL="git://git.lpclinux.com/uboot-2009.03-lpc32xx" +BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION="master" +BR2_TARGET_UBOOT_FORMAT_BIN=y +BR2_TARGET_LPC32XXCDL=y +BR2_TARGET_LPC32XXCDL_BOARDNAME="ea3250" + + +# +# Kernel +# +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL="git://git.lpclinux.com/linux-2.6.34-lpc32xx" +BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION="master" +BR2_LINUX_KERNEL_VERSION="master" +BR2_LINUX_KERNEL_PATCH="" +BR2_LINUX_KERNEL_USE_DEFCONFIG=y +BR2_LINUX_KERNEL_DEFCONFIG="ea3250" +BR2_LINUX_KERNEL_UIMAGE=y + diff --git a/configs/fdi3250_defconfig b/configs/fdi3250_defconfig new file mode 100644 index 0000000..505dc8b --- /dev/null +++ b/configs/fdi3250_defconfig @@ -0,0 +1,39 @@ +# Architecture +BR2_arm=y +BR2_arm926t=y + +BR2_ARM_TYPE="ARM926T" +BR2_ARM_EABI=y + +# +# GCC Options +# We need to force GCC 4.3.x because it is the last version +# that will compile a kernel with ethernet working correctly +BR2_GCC_VERSION_4_3_X=y + + +# Bootloaders +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="fdi3250" +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_VERSION="master" +BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL="git://git.lpclinux.com/uboot-2009.03-lpc32xx" +BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION="master" +BR2_TARGET_UBOOT_FORMAT_BIN=y +BR2_TARGET_LPC32XXCDL=y +BR2_TARGET_LPC32XXCDL_BOARDNAME="fdi3250" + + +# +# Kernel +# +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL="git://git.lpclinux.com/linux-2.6.34-lpc32xx" +BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION="master" +BR2_LINUX_KERNEL_VERSION="master" +BR2_LINUX_KERNEL_PATCH="" +BR2_LINUX_KERNEL_USE_DEFCONFIG=y +BR2_LINUX_KERNEL_DEFCONFIG="fdi3250" +BR2_LINUX_KERNEL_UIMAGE=y + diff --git a/configs/phy3250_defconfig b/configs/phy3250_defconfig new file mode 100644 index 0000000..d46d719 --- /dev/null +++ b/configs/phy3250_defconfig @@ -0,0 +1,39 @@ +# Architecture +BR2_arm=y +BR2_arm926t=y + +BR2_ARM_TYPE="ARM926T" +BR2_ARM_EABI=y + +# +# GCC Options +# We need to force GCC 4.3.x because it is the last version +# that will compile a kernel with ethernet working correctly +BR2_GCC_VERSION_4_3_X=y + + +# Bootloaders +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="phy3250" +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_VERSION="master" +BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL="git://git.lpclinux.com/uboot-2009.03-lpc32xx" +BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION="master" +BR2_TARGET_UBOOT_FORMAT_BIN=y +BR2_TARGET_LPC32XXCDL=y +BR2_TARGET_LPC32XXCDL_BOARDNAME="phy3250" + + +# +# Kernel +# +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL="git://git.lpclinux.com/linux-2.6.34-lpc32xx" +BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION="master" +BR2_LINUX_KERNEL_VERSION="master" +BR2_LINUX_KERNEL_PATCH="" +BR2_LINUX_KERNEL_USE_DEFCONFIG=y +BR2_LINUX_KERNEL_DEFCONFIG="phy3250" +BR2_LINUX_KERNEL_UIMAGE=y + diff --git a/configs/qemu_arm_versatile_defconfig b/configs/qemu_arm_versatile_defconfig index b629ba9..fdc2e72 100644 --- a/configs/qemu_arm_versatile_defconfig +++ b/configs/qemu_arm_versatile_defconfig @@ -13,7 +13,7 @@ BR2_TARGET_ROOTFS_EXT2=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.1" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.2.6" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/arm-versatile/linux-3.1.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/arm-versatile/linux-3.2.config" BR2_LINUX_KERNEL_ZIMAGE=y diff --git a/configs/qemu_mips_malta_defconfig b/configs/qemu_mips_malta_defconfig new file mode 100644 index 0000000..db94790 --- /dev/null +++ b/configs/qemu_mips_malta_defconfig @@ -0,0 +1,19 @@ +# Architecture +BR2_mips=y +BR2_mips_32r2=y + +# filesystem +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.2.6" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips-malta/linux-3.2.config" +BR2_LINUX_KERNEL_VMLINUX=y + +# Serial port config +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" diff --git a/configs/qemu_mipsel_malta_defconfig b/configs/qemu_mipsel_malta_defconfig index 3f558fe..0ccd4e6 100644 --- a/configs/qemu_mipsel_malta_defconfig +++ b/configs/qemu_mipsel_malta_defconfig @@ -9,9 +9,9 @@ BR2_TARGET_ROOTFS_EXT2=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.1" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.2.6" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mipsel-malta/linux-3.1.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mipsel-malta/linux-3.2.config" BR2_LINUX_KERNEL_VMLINUX=y # Serial port config diff --git a/configs/qemu_ppc_g3beige_defconfig b/configs/qemu_ppc_g3beige_defconfig index cf875f0..432a746 100644 --- a/configs/qemu_ppc_g3beige_defconfig +++ b/configs/qemu_ppc_g3beige_defconfig @@ -9,9 +9,9 @@ BR2_TARGET_ROOTFS_EXT2=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.1" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.2.6" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/powerpc-g3beige/linux-3.1.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/powerpc-g3beige/linux-3.2.config" BR2_LINUX_KERNEL_VMLINUX=y # Serial port config diff --git a/configs/qemu_sh4_r2d_defconfig b/configs/qemu_sh4_r2d_defconfig index 8f92a93..8794b18 100644 --- a/configs/qemu_sh4_r2d_defconfig +++ b/configs/qemu_sh4_r2d_defconfig @@ -18,7 +18,7 @@ BR2_EXTRA_GCC_CONFIG_OPTIONS="--with-multilib-list=m4,m4-nofpu" # Linux kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.1" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.2.6" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sh4-r2d/linux-3.1.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sh4-r2d/linux-3.2.config" BR2_LINUX_KERNEL_ZIMAGE=y diff --git a/configs/qemu_sparc_ss10_defconfig b/configs/qemu_sparc_ss10_defconfig new file mode 100644 index 0000000..6d69379 --- /dev/null +++ b/configs/qemu_sparc_ss10_defconfig @@ -0,0 +1,14 @@ +# Architecture +BR2_sparc=y +BR2_sparc_supersparc=y + +# filesystem +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set + +# Linux kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.2.6" +BR2_LINUX_KERNEL_DEFCONFIG="sparc32" +BR2_LINUX_KERNEL_ZIMAGE=y diff --git a/configs/qemu_x86_64_defconfig b/configs/qemu_x86_64_defconfig new file mode 100644 index 0000000..6da334c --- /dev/null +++ b/configs/qemu_x86_64_defconfig @@ -0,0 +1,17 @@ +# Architecture +BR2_x86_64=y + +# system +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="tty1" + +# filesystem +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.2.6" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux-3.2.config" diff --git a/configs/qemu_x86_defconfig b/configs/qemu_x86_defconfig index d60b38d..d20850a 100644 --- a/configs/qemu_x86_defconfig +++ b/configs/qemu_x86_defconfig @@ -4,6 +4,7 @@ BR2_x86_pentiumpro=y # system BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="tty1" # filesystem BR2_TARGET_ROOTFS_EXT2=y @@ -12,6 +13,6 @@ BR2_TARGET_ROOTFS_EXT2=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.0.4" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.2.6" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86/linux-3.0.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86/linux-3.2.config" diff --git a/docs/buildroot.html b/docs/buildroot.html index e13e8f7..ddfb20a 100644 --- a/docs/buildroot.html +++ b/docs/buildroot.html @@ -816,7 +816,7 @@

Package directory

directory for your software, for example libfoo.

Some packages have been grouped by topic in a sub-directory: - multimedia, java, x11r7, and + multimedia, x11r7, and games. If your package fits in one of these categories, then create your package directory in these.

@@ -905,7 +905,7 @@

Makefile for generic packages : tutorial

10: LIBFOO_DEPENDENCIES = host-libaaa libbbb 11: 12: define LIBFOO_BUILD_CMDS -13: $(MAKE) CC=$(TARGET_CC) LD=$(TARGET_LD) -C $(@D) all +13: $(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) all 14: endef 15: 16: define LIBFOO_INSTALL_STAGING_CMDS diff --git a/docs/docs.html b/docs/docs.html index 57f4bf6..851d1d2 100644 --- a/docs/docs.html +++ b/docs/docs.html @@ -20,8 +20,8 @@

Documentation

  • On the buildroot mailing list at buildroot at uclibc.org
  • -
  • On the Buildroot IRC - channel, #uclibc on Freenode
  • +
  • On the Buildroot IRC + channel, #buildroot on Freenode
  • On our bugtracker.
  • diff --git a/docs/download.html b/docs/download.html index 4a52fb7..2802609 100644 --- a/docs/download.html +++ b/docs/download.html @@ -6,20 +6,20 @@

    Download

    -The latest stable release is 2011.11, which can be downloaded +The latest stable release is 2012.02, which can be downloaded here:

    -buildroot-2011.11.tar.gz +buildroot-2012.02.tar.gz or -buildroot-2011.11.tar.bz2. +buildroot-2012.02.tar.bz2.

    This and earlier releases can always be downloaded from diff --git a/docs/git.html b/docs/git.html index 111a29a..bf894b9 100644 --- a/docs/git.html +++ b/docs/git.html @@ -4,7 +4,7 @@

    Git Access

    The buildroot repository can be browsed online through cgit at -http://git.buildroot.net/buildroot. +http://git.buildroot.net/buildroot. To grab a copy of the repository use
    diff --git a/docs/header.html b/docs/header.html
    index c8cb135..c9dcf31 100644
    --- a/docs/header.html
    +++ b/docs/header.html
    @@ -49,7 +49,7 @@
         
    About
    Latest News
    Download -
    Browse Source +
    Browse Source
    Accessing Source
    Bug Tracking
    Documentation diff --git a/docs/lists.html b/docs/lists.html index 31d47d4..b806d77 100644 --- a/docs/lists.html +++ b/docs/lists.html @@ -21,16 +21,20 @@

    Search the List Archives

    -
    - - - -
    - -
    -Google -
    -
    +
    Loading
    + + +
    diff --git a/docs/manual/adding-packages-gentargets.txt b/docs/manual/adding-packages-gentargets.txt index b344494..cfcee8c 100644 --- a/docs/manual/adding-packages-gentargets.txt +++ b/docs/manual/adding-packages-gentargets.txt @@ -24,7 +24,7 @@ system is based on hand-written Makefiles or shell scripts. 10: LIBFOO_DEPENDENCIES = host-libaaa libbbb 11: 12: define LIBFOO_BUILD_CMDS -13: $(MAKE) CC=$(TARGET_CC) LD=$(TARGET_LD) -C $(@D) all +13: $(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) all 14: endef 15: 16: define LIBFOO_INSTALL_STAGING_CMDS @@ -38,7 +38,15 @@ system is based on hand-written Makefiles or shell scripts. 24: $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/foo.d 25: endef 26: -27: $(eval $(call GENTARGETS)) +27: define LIBFOO_DEVICES +28: /dev/foo c 666 0 0 42 0 - - - +29: endef +30: +31: define LIBFOO_PERMISSIONS +32: /bin/foo f 4755 0 0 - - - - - +33: endef +34: +35: $(eval $(call GENTARGETS)) -------------------------------- The Makefile begins on line 6 to 8 with metadata information: the @@ -75,7 +83,7 @@ All these steps rely on the +$(@D)+ variable, which contains the directory where the source code of the package has been extracted. -Finally, on line 27, we call the +GENTARGETS+ which +Finally, on line 35, we call the +GENTARGETS+ which generates, according to the variables defined previously, all the Makefile code necessary to make your package working. @@ -125,9 +133,12 @@ information is (assuming the package name is +libfoo+) : * +LIBFOO_VERSION+, mandatory, must contain the version of the package. Note that if +HOST_LIBFOO_VERSION+ doesn't exist, it is assumed to be the same as +LIBFOO_VERSION+. It can also be a - Subversion or Git branch or tag, for packages that are fetched + revision number, branch or tag for packages that are fetched directly from their revision control system. + - Example: +LIBFOO_VERSION = 0.1.2+ + Examples: + + +LIBFOO_VERSION = 0.1.2+ + + +LIBFOO_VERSION = cb9d6aa9429e838f0e54faa3d455bcbab5eef057+ + + +LIBFOO_VERSION = stable+ * +LIBFOO_SOURCE+ may contain the name of the tarball of the package. If +HOST_LIBFOO_SOURCE+ is not specified, it @@ -146,28 +157,37 @@ information is (assuming the package name is +libfoo+) : after extraction. * +LIBFOO_SITE+ may contain the Internet location of the package. It - can either be the HTTP or FTP location of a tarball, or the URL of a - Git or Subversion repository (see +LIBFOO_SITE_METHOD+ below). If - +HOST_LIBFOO_SITE+ is not specified, it defaults to + can either be the HTTP, FTP or SCP location of a tarball, or the URL + of a Git, Subversion, Mercurial or Bazaar repository (see + +LIBFOO_SITE_METHOD+ below). + + SCP URLs should be of the form +scp://[user@]host:filepath+. Note + that filepath is relative to the user's home directory, so you may want + to prepend the path with a slash for absolute paths: + +scp://[user@]host:/absolutepath+. + + If +HOST_LIBFOO_SITE+ is not specified, it defaults to +LIBFOO_SITE+. If none are specified, then the location is assumed to be +http://$$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/packagename+. + - Examples: +LIBFOO_SITE=http://www.libfoosoftware.org/libfoo+ + - +LIBFOO_SITE=http://svn.xiph.org/trunk/Tremor/+ + Examples: + + +LIBFOO_SITE=http://www.libfoosoftware.org/libfoo+ + + +LIBFOO_SITE=http://svn.xiph.org/trunk/Tremor/+ + + +LIBFOO_SITE=git://github.com/kergoth/tslib.git+ * +LIBFOO_SITE_METHOD+ may contain the method to fetch the package source code. It can either be +wget+ (for normal FTP/HTTP downloads - of tarballs), +svn+, +git+ or +bzr+. When not specified, it is - guessed from the URL given in +LIBFOO_SITE+: +svn://+, +git://+ and - +bzr://+ URLs will use the +svn+, +git+ and +bzr+ methods + of tarballs), +scp+ (for downloads over SSH with scp), +svn+, +git+, + +hg+ or +bzr+. When not specified, it is guessed from the URL given + in +LIBFOO_SITE+: +scp://+, +svn://+, +git://+ and + +bzr://+ URLs will use the +scp+, +svn+, +git+ and +bzr+ methods respectively. All other URL-types will use the +wget+ method. So for example, in the case of a package whose source code is available - through Subversion repository on HTTP, one 'must' specifiy - +LIBFOO_SITE_METHOD=svn+. For +svn+ and +git+ methods, what - Buildroot does is a checkout/clone of the repository which is then - tarballed and stored into the download cache. Next builds will not - checkout/clone again, but will use the tarball directly. When - +HOST_LIBFOO_SITE_METHOD+ is not specified, it defaults to the value + through a Subversion repository on HTTP, one 'must' specifiy + +LIBFOO_SITE_METHOD=svn+. Similarly, for Mercurial repositories, one + 'must' specify +LIBFOO_SITE_METHOD=hg+. For +svn+, +git+, +hg+ and + +bzr+ methods, what Buildroot does is a checkout/clone of the repository + which is then tarballed and stored into the download cache. Next + builds will not checkout/clone again, but will use the tarball directly. + When +HOST_LIBFOO_SITE_METHOD+ is not specified, it defaults to the value of +LIBFOO_SITE_METHOD+. See +package/multimedia/tremor/+ for an example. @@ -188,6 +208,16 @@ information is (assuming the package name is +libfoo+) : variables are executed to install the package into the target directory. +* +LIBFOO_DEVICES+ lists the device files to be created by Buildroot + when using the static device table. The syntax to use is the + makedevs one. You can find some documentation for this syntax in the + xref:makedev-syntax[]. This variable is optional. + +* +LIBFOO_PERMISSIONS+ lists the changes of permissions to be done at + the end of the build process. The syntax is once again the makedevs one. + You can find some documentation for this syntax in the xref:makedev-syntax[]. + This variable is optional. + The recommended way to define these variables is to use the following syntax: diff --git a/docs/manual/appendix.txt b/docs/manual/appendix.txt new file mode 100644 index 0000000..f41c82c --- /dev/null +++ b/docs/manual/appendix.txt @@ -0,0 +1,4 @@ +Appendix +======== + +include::makedev-syntax.txt[] diff --git a/docs/manual/customize-toolchain.txt b/docs/manual/customize-toolchain.txt new file mode 100644 index 0000000..08b60a2 --- /dev/null +++ b/docs/manual/customize-toolchain.txt @@ -0,0 +1,45 @@ +Customizing the toolchain +------------------------- +[[toolchain-custom]] + +There are three distinct types of toolchain backend supported in Buildroot, +available under the menu +Toolchain+, invoking +make menuconfig+. + +Using the external toolchain backend +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +There is no way of tuning an external toolchain since Buildroot does not +generate it. + +It also requires to set the Buildroot settings according to the toolchain ones +(see xref:external-toolchain[]). + +Using the internal Buildroot toolchain backend +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The internal Buildroot toolchain backend *only* allows to generate +*http://www.uclibc.org/[uClibc]-based toolchains*. + +However, it allows to tune major settings, such as: + +* Linux header version + +* http://www.uclibc.org/[uClibc] configuration (see xref:uclibc-custom[uClibc]) + +* Binutils, GCC, Gdb and toolchain options + +This is directly available after selecting the +Buildroot toolchain+ type in +the menu +Toolchain+. + +Using the Crosstool-NG backend +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The http://crosstool-ng.org[crosstool-NG] toolchain backend enables a rather +limited set of settings under the Buildroot +Toolchain+ menu (ie. when invoking ++make menuconfig+); mostly: + +* The http://crosstool-ng.org[crosstool-NG] configuration file + +* Gdb and some toolchain options + +Then, the toolchain can be finely tuned invoking +make ctng-menuconfig+. diff --git a/docs/manual/customize.txt b/docs/manual/customize.txt index c9f4dfd..e8235de 100644 --- a/docs/manual/customize.txt +++ b/docs/manual/customize.txt @@ -8,3 +8,5 @@ include::customize-busybox-config.txt[] include::customize-uclibc-config.txt[] include::customize-kernel-config.txt[] + +include::customize-toolchain.txt[] diff --git a/docs/manual/docbook-xsl.css b/docs/manual/docbook-xsl.css new file mode 100644 index 0000000..6df2944 --- /dev/null +++ b/docs/manual/docbook-xsl.css @@ -0,0 +1,322 @@ +/* + CSS stylesheet for XHTML produced by DocBook XSL stylesheets. + Tested with XSL stylesheets 1.61.2, 1.67.2 +*/ + +span.strong { + font-weight: bold; +} + +body blockquote { + margin-top: .75em; + line-height: 1.5; + margin-bottom: .75em; +} + +html body { + margin: 1em 5% 1em 5%; + line-height: 1.2; +} + +body div { + margin: 0; +} + +h1, h2, h3, h4, h5, h6 +{ + color: #527bbd; + font-family: tahoma, verdana, sans-serif; +} + +div.toc p:first-child, +div.list-of-figures p:first-child, +div.list-of-tables p:first-child, +div.list-of-examples p:first-child, +div.example p.title, +div.sidebar p.title +{ + font-weight: bold; + color: #527bbd; + font-family: tahoma, verdana, sans-serif; + margin-bottom: 0.2em; +} + +body h1 { + margin: .0em 0 0 -4%; + line-height: 1.3; + border-bottom: 2px solid silver; +} + +body h2 { + margin: 0.5em 0 0 -4%; + line-height: 1.3; + border-bottom: 2px solid silver; +} + +body h3 { + margin: .8em 0 0 -3%; + line-height: 1.3; +} + +body h4 { + margin: .8em 0 0 -3%; + line-height: 1.3; +} + +body h5 { + margin: .8em 0 0 -2%; + line-height: 1.3; +} + +body h6 { + margin: .8em 0 0 -1%; + line-height: 1.3; +} + +body hr { + border: none; /* Broken on IE6 */ +} +div.footnotes hr { + border: 1px solid silver; +} + +div.navheader th, div.navheader td, div.navfooter td { + font-family: sans-serif; + font-size: 0.9em; + font-weight: bold; + color: #527bbd; +} +div.navheader img, div.navfooter img { + border-style: none; +} +div.navheader a, div.navfooter a { + font-weight: normal; +} +div.navfooter hr { + border: 1px solid silver; +} + +body td { + line-height: 1.2 +} + +body th { + line-height: 1.2; +} + +ol { + line-height: 1.2; +} + +ul, body dir, body menu { + line-height: 1.2; +} + +html { + margin: 0; + padding: 0; +} + +body h1, body h2, body h3, body h4, body h5, body h6 { + margin-left: 0 +} + +body pre { + margin: 0.5em 10% 0.5em 1em; + line-height: 1.0; + color: navy; +} + +tt.literal, code.literal { + color: navy; +} + +.programlisting, .screen { + border: 1px solid silver; + background: #f4f4f4; + margin: 0.5em 10% 0.5em 0; + padding: 0.5em 1em; +} + +div.sidebar { + background: #ffffee; + margin: 1.0em 10% 0.5em 0; + padding: 0.5em 1em; + border: 1px solid silver; +} +div.sidebar * { padding: 0; } +div.sidebar div { margin: 0; } +div.sidebar p.title { + margin-top: 0.5em; + margin-bottom: 0.2em; +} + +div.bibliomixed { + margin: 0.5em 5% 0.5em 1em; +} + +div.glossary dt { + font-weight: bold; +} +div.glossary dd p { + margin-top: 0.2em; +} + +dl { + margin: .8em 0; + line-height: 1.2; +} + +dt { + margin-top: 0.5em; +} + +dt span.term { + font-style: normal; + color: navy; +} + +div.variablelist dd p { + margin-top: 0; +} + +div.itemizedlist li, div.orderedlist li { + margin-left: -0.8em; + margin-top: 0.5em; +} + +ul, ol { + list-style-position: outside; +} + +div.sidebar ul, div.sidebar ol { + margin-left: 2.8em; +} + +div.itemizedlist p.title, +div.orderedlist p.title, +div.variablelist p.title +{ + margin-bottom: -0.8em; +} + +div.revhistory table { + border-collapse: collapse; + border: none; +} +div.revhistory th { + border: none; + color: #527bbd; + font-family: tahoma, verdana, sans-serif; +} +div.revhistory td { + border: 1px solid silver; +} + +/* Keep TOC and index lines close together. */ +div.toc dl, div.toc dt, +div.list-of-figures dl, div.list-of-figures dt, +div.list-of-tables dl, div.list-of-tables dt, +div.indexdiv dl, div.indexdiv dt +{ + line-height: normal; + margin-top: 0; + margin-bottom: 0; +} + +/* + Table styling does not work because of overriding attributes in + generated HTML. +*/ +div.table table, +div.informaltable table +{ + margin-left: 0; + margin-right: 5%; + margin-bottom: 0.8em; +} +div.informaltable table +{ + margin-top: 0.4em +} +div.table thead, +div.table tfoot, +div.table tbody, +div.informaltable thead, +div.informaltable tfoot, +div.informaltable tbody +{ + /* No effect in IE6. */ + border-top: 3px solid #527bbd; + border-bottom: 3px solid #527bbd; +} +div.table thead, div.table tfoot, +div.informaltable thead, div.informaltable tfoot +{ + font-weight: bold; +} + +div.mediaobject img { + margin-bottom: 0.8em; +} +div.figure p.title, +div.table p.title +{ + margin-top: 1em; + margin-bottom: 0.4em; +} + +div.calloutlist p +{ + margin-top: 0em; + margin-bottom: 0.4em; +} + +a img { + border-style: none; +} + +@media print { + div.navheader, div.navfooter { display: none; } +} + +span.aqua { color: aqua; } +span.black { color: black; } +span.blue { color: blue; } +span.fuchsia { color: fuchsia; } +span.gray { color: gray; } +span.green { color: green; } +span.lime { color: lime; } +span.maroon { color: maroon; } +span.navy { color: navy; } +span.olive { color: olive; } +span.purple { color: purple; } +span.red { color: red; } +span.silver { color: silver; } +span.teal { color: teal; } +span.white { color: white; } +span.yellow { color: yellow; } + +span.aqua-background { background: aqua; } +span.black-background { background: black; } +span.blue-background { background: blue; } +span.fuchsia-background { background: fuchsia; } +span.gray-background { background: gray; } +span.green-background { background: green; } +span.lime-background { background: lime; } +span.maroon-background { background: maroon; } +span.navy-background { background: navy; } +span.olive-background { background: olive; } +span.purple-background { background: purple; } +span.red-background { background: red; } +span.silver-background { background: silver; } +span.teal-background { background: teal; } +span.white-background { background: white; } +span.yellow-background { background: yellow; } + +span.big { font-size: 2em; } +span.small { font-size: 0.6em; } + +span.underline { text-decoration: underline; } +span.overline { text-decoration: overline; } +span.line-through { text-decoration: line-through; } diff --git a/docs/manual/external-toolchain.txt b/docs/manual/external-toolchain.txt index 20eebdb..62eb0a3 100644 --- a/docs/manual/external-toolchain.txt +++ b/docs/manual/external-toolchain.txt @@ -1,5 +1,6 @@ Using an external toolchain =========================== +[[external-toolchain]] Using an already existing toolchain is useful for different reasons: diff --git a/docs/manual/logo.png b/docs/manual/logo.png new file mode 100644 index 0000000..9286c18 Binary files /dev/null and b/docs/manual/logo.png differ diff --git a/docs/manual/makedev-syntax.txt b/docs/manual/makedev-syntax.txt new file mode 100644 index 0000000..4728c4b --- /dev/null +++ b/docs/manual/makedev-syntax.txt @@ -0,0 +1,54 @@ +[[makedev-syntax]] +Makedev syntax documentation +---------------------------- + +The makedev syntax is used across several places in Buildroot to +define changes to be made for permissions or which device files to +create and how to create them, in order to avoid to call mkdnod every +now and then. + +This syntax is derived from the makedev utility, and a more complete +documentation can be found in the +package/makedevs/README+ file. + +It takes the form of a line for each file, with the following layout: + +|=========================================================== +|name |type |mode |uid |gid |major |minor |start |inc |count +|=========================================================== + +There is a few non-trivial blocks here: + +- +name+ is the path to the file you want to create/modify +- +type+ is the type of the file, being one of : + * f: a regular file + * d: a directory + * c: a character device file + * b: a block device file + * p: a named pipe +- +mode+, +uid+ and +gid+ are the usual permissions stuff +- +major+ and +minor+ are here for device files +- +start+, +inc+ and +count+ are when you want to create a whole batch + of files, and can be reduced to a loop, beginning at +start+, + incrementing its counter by +inc+ until it reaches +count+ + +Let's say you want to change the permissions of a given file, using +this syntax, you will need to put: +------------------------------------------------------------------- +/usr/bin/foobar f 644 0 0 - - - - - +------------------------------------------------------------------- + +On the other hand, if you want to create the device file +/dev/hda+ +and the corresponding 15 files for the partitions, you will need for ++/dev/hda+: + +------------------------------------------------------------------- +/dev/hda b 640 0 0 3 0 0 0 - +------------------------------------------------------------------- + +and then for device files corresponding to the partitions of ++/dev/hda+, +/dev/hdaX+, +X+ ranging from 1 to 15: + +------------------------------------------------------------------- +/dev/hda b 640 0 0 3 1 1 1 15 +------------------------------------------------------------------- + diff --git a/docs/manual/manual.html b/docs/manual/manual.html new file mode 100644 index 0000000..eff8720 --- /dev/null +++ b/docs/manual/manual.html @@ -0,0 +1,1224 @@ + + +The Buildroot user manual

    The Buildroot user manual


    Buildroot usage and documentation by Thomas Petazzoni. Contributions +from Karsten Kruse, Ned Ludd, Martin Herren and others.

    logo.png

    Chapter 1. About Buildroot

    Buildroot is a set of Makefiles and patches that allows you to easily +generate a cross-compilation toolchain, a root filesystem and a Linux +kernel image for your target. Buildroot can be used for one, two or +all of these options, independently.

    Buildroot is useful mainly for people working with embedded systems. +Embedded systems often use processors that are not the regular x86 +processors everyone is used to having in his PC. They can be PowerPC +processors, MIPS processors, ARM processors, etc.

    A compilation toolchain is the set of tools that allows you to compile +code for your system. It consists of a compiler (in our case, gcc), +binary utils like assembler and linker (in our case, binutils) and a +C standard library (for example +GNU Libc, +uClibc or +dietlibc). The system installed on your +development station certainly already has a compilation toolchain that +you can use to compile an application that runs on your system. If +you’re using a PC, your compilation toolchain runs on an x86 processor +and generates code for an x86 processor. Under most Linux systems, the +compilation toolchain uses the GNU libc (glibc) as the C standard +library. This compilation toolchain is called the "host compilation +toolchain". The machine on which it is running, and on which you’re +working, is called the "host system". The compilation toolchain is +provided by your distribution, and Buildroot has nothing to do with it +(other than using it to build a cross-compilation toolchain and other +tools that are run on the development host).

    As said above, the compilation toolchain that comes with your system +runs on and generates code for the processor in your host system. As +your embedded system has a different processor, you need a +cross-compilation toolchain - a compilation toolchain that runs on +your host system but generates code for your target system (and target +processor). For example, if your host system uses x86 and your target +system uses ARM, the regular compilation toolchain on your host runs on +x86 and generates code for x86, while the cross-compilation toolchain +runs on x86 and generates code for ARM.

    Even if your embedded system uses an x86 processor, you might be +interested in Buildroot for two reasons:

    • +The compilation toolchain on your host certainly uses the GNU Libc + which is a complete but huge C standard library. Instead of using + GNU Libc on your target system, you can use uClibc which is a tiny C + standard library. If you want to use this C library, then you need a + compilation toolchain to generate binaries linked with it. Buildroot + can do that for you. +
    • +Buildroot automates the building of a root filesystem with all + needed tools like busybox. That makes it much easier than doing it + by hand. +

    You might wonder why such a tool is needed when you can compile gcc, +binutils, uClibc and all the other tools by hand. Of course doing +so is possible but, dealing with all of the configure options and +problems of every gcc or binutils version is very time-consuming +and uninteresting. Buildroot automates this process through the use +of Makefiles and has a collection of patches for each gcc and +binutils version to make them work on most architectures.

    Moreover, Buildroot provides an infrastructure for reproducing the +build process of your kernel, cross-toolchain, and embedded root +filesystem. Being able to reproduce the build process will be useful +when a component needs to be patched or updated or when another person +is supposed to take over the project.

    Chapter 2. Getting Buildroot

    Buildroot releases are made approximately every 3 months. Direct Git +access and daily snapshots are also available, if you want more +bleeding edge.

    Releases are available at http://buildroot.net/downloads/.

    The latest snapshot is always available at +http://buildroot.net/downloads/snapshots/buildroot-snapshot.tar.bz2, +and previous snapshots are also available at +http://buildroot.net/downloads/snapshots/.

    To download Buildroot using Git, you can simply follow the rules +described on the "Accessing Git" page +(http://buildroot.net/git.html) of the Buildroot website +(http://buildroot.net). For the impatient, here’s a quick recipe:

     $ git clone git://git.buildroot.net/buildroot

    Chapter 3. Using Buildroot

    3.1. Configuration and general usage

    Buildroot has a nice configuration tool similar to the one you can +find in the Linux kernel or in +Busybox. Note that you can (and should) build +everything as a normal user. There is no need to be root to configure +and use Buildroot. The first step is to run the configuration +assistant:

     $ make menuconfig

    to run the curses-based configurator, or

     $ make xconfig

    or

     $ make gconfig

    to run the Qt or GTK-based configurators.

    All of these "make" commands will need to build a configuration +utility, so you may need to install "development" packages for +relevant libraries used by the configuration utilities. On Debian-like +systems, the libncurses5-dev package is required to use the +menuconfig interface, libqt4-dev is required to use the xconfig +interface, and libglib2.0-dev, libgtk2.0-dev and libglade2-dev are +needed to use the gconfig interface.

    For each menu entry in the configuration tool, you can find associated +help that describes the purpose of the entry.

    Once everything is configured, the configuration tool generates a +.config file that contains the description of your +configuration. It will be used by the Makefiles to do what’s needed.

    Let’s go:

     $ make

    You should never use make -jN with Buildroot: it does not support +top-level parallel make. Instead, use the BR2_JLEVEL option to +tell Buildroot to run each package compilation with make -jN.

    This command will generally perform the following steps:

    • +Download source files (as required) +
    • +Configure, build and install the cross-compiling toolchain if an + internal toolchain is used, or import a toolchain if an external + toolchain is used +
    • +Build/install selected target packages +
    • +Build a kernel image, if selected +
    • +Build a bootloader image, if selected +
    • +Create a root filesystem in selected formats +

    Buildroot output is stored in a single directory, output/. +This directory contains several subdirectories:

    • +images/ where all the images (kernel image, bootloader and root + filesystem images) are stored. +
    • +build/ where all the components except for the cross-compilation + toolchain are built (this includes tools needed to run Buildroot on + the host and packages compiled for the target). The build/ + directory contains one subdirectory for each of these components. +
    • +staging/ which contains a hierarchy similar to a root filesystem + hierarchy. This directory contains the installation of the + cross-compilation toolchain and all the userspace packages selected + for the target. However, this directory is not intended to be + the root filesystem for the target: it contains a lot of development + files, unstripped binaries and libraries that make it far too big + for an embedded system. These development files are used to compile + libraries and applications for the target that depend on other + libraries. +
    • +target/ which contains almost the complete root filesystem for + the target: everything needed is present except the device files in + /dev/ (Buildroot can’t create them because Buildroot doesn’t run + as root and doesn’t want to run as root). Therefore, this directory + should not be used on your target. Instead, you should use one of + the images built in the images/ directory. If you need an + extracted image of the root filesystem for booting over NFS, then + use the tarball image generated in images/ and extract it as + root. Compared to staging/, target/ contains only the files and + libraries needed to run the selected target applications: the + development files (headers, etc.) are not present, unless the + development files in target filesystem option is selected. +
    • +host/ contains the installation of tools compiled for the host + that are needed for the proper execution of Buildroot, including the + cross-compilation toolchain. +
    • +toolchain/ contains the build directories for the various + components of the cross-compilation toolchain. +

    3.2. Offline builds

    If you intend to do an offline build and just want to download +all sources that you previously selected in the configurator +(menuconfig, xconfig or gconfig), then issue:

     $ make source

    You can now disconnect or copy the content of your dl +directory to the build-host.

    3.3. Building out-of-tree

    Buildroot supports building out of tree with a syntax similar to the +Linux kernel. To use it, add O=<directory> to the make command line:

     $ make O=/tmp/build

    Or:

     $ cd /tmp/build; make O=$PWD -C path/to/buildroot

    All the output files will be located under /tmp/build.

    When using out-of-tree builds, the Buildroot .config and temporary +files are also stored in the output directory. This means that you can +safely run multiple builds in parallel using the same source tree as +long as they use unique output directories.

    For ease of use, Buildroot generates a Makefile wrapper in the output +directory - So after the first run, you no longer need to pass O=.. +and -C .., simply run (in the output directory):

     $ make <target>

    3.4. Environment variables

    Buildroot also honors some environment variables, when they are passed +to make or set in the environment:

    • +HOSTCXX, the host C++ compiler to use +
    • +HOSTCC, the host C compiler to use +
    • +UCLIBC_CONFIG_FILE=<path/to/.config>, path to + the uClibc configuration file, used to compile uClibc, if an + internal toolchain is being built +
    • +BUSYBOX_CONFIG_FILE=<path/to/.config>, path to + the Busybox configuration file +
    • +BUILDROOT_DL_DIR to override the directory in which + Buildroot stores/retrieves downloaded files +

    An example that uses config files located in the toplevel directory and +in your $HOME:

     $ make UCLIBC_CONFIG_FILE=uClibc.config BUSYBOX_CONFIG_FILE=$HOME/bb.config

    If you want to use a compiler other than the default gcc +or g++ for building helper-binaries on your host, then do

     $ make HOSTCXX=g++-4.3-HEAD HOSTCC=gcc-4.3-HEAD

    Chapter 4. Customization

    4.1. Customizing the generated target filesystem

    There are a few ways to customize the resulting target filesystem:

    • +Customize the target filesystem directly and rebuild the image. The + target filesystem is available under output/target/. You can + simply make your changes here and run make afterwards - this will + rebuild the target filesystem image. This method allows you to do + anything to the target filesystem, but if you decide to completely + rebuild your toolchain and tools, these changes will be lost. +
    • +Create your own target skeleton. You can start with the default + skeleton available under fs/skeleton and then customize it to suit + your needs. The BR2_ROOTFS_SKELETON_CUSTOM and + BR2_ROOTFS_SKELETON_CUSTOM_PATH will allow you to specify the + location of your custom skeleton. At build time, the contents of the + skeleton are copied to output/target before any package + installation. +
    • +In the Buildroot configuration, you can specify the path to a + post-build script, that gets called after Buildroot builds all the + selected software, but before the rootfs packages are + assembled. The destination root filesystem folder is given as the + first argument to this script, and this script can then be used to + copy programs, static data or any other needed file to your target + filesystem. You should, however, use this feature with care. + Whenever you find that a certain package generates wrong or unneeded + files, you should fix that package rather than work around it with a + post-build cleanup script. +
    • +A special package, customize, stored in package/customize can be + used. You can put all the files that you want to see in the final + target root filesystem in package/customize/source, and then + enable this special package in the configuration system. +

    4.2. Customizing the Busybox configuration

    Busybox is very configurable, and you may +want to customize it. You can follow these simple steps to do so. This +method isn’t optimal, but it’s simple, and it works:

    • +Do an initial compilation of Buildroot, with busybox, without + trying to customize it. +
    • +Invoke make busybox-menuconfig. + The nice configuration tool appears, and you can + customize everything. +
    • +Run the compilation of Buildroot again. +

    Otherwise, you can simply change the +package/busybox/busybox-<version>.config file, if you know the +options you want to change, without using the configuration tool.

    If you want to use an existing config file for busybox, then see +section Section 3.4, “Environment variables”.

    4.3. Customizing the uClibc configuration

    Just like BusyBox +Section 4.2, “Customizing the Busybox configuration”, uClibc +offers a lot of configuration options. They allow you to select +various functionalities depending on your needs and limitations.

    The easiest way to modify the configuration of uClibc is to +follow these steps:

    • +Do an initial compilation of Buildroot without trying to customize + uClibc. +
    • +Invoke make uclibc-menuconfig. The nice configuration assistant, + similar to the one used in the Linux kernel or Buildroot, + appears. Make your configuration changes as appropriate. +
    • +Copy the $(O)/toolchain/uclibc-VERSION/.config file to a different + place (like toolchain/uClibc/uClibc-myconfig.config, or + board/mymanufacturer/myboard/uClibc.config) and adjust the uClibc + configuration (configuration option BR2_UCLIBC_CONFIG) to use this + configuration instead of the default one. +
    • +Run the compilation of Buildroot again. +

    Otherwise, you can simply change toolchain/uClibc/uClibc.config, +without running the configuration assistant.

    If you want to use an existing config file for uclibc, then see +Section 3.4, “Environment variables”.

    4.4. Customizing the Linux kernel configuration

    The Linux kernel configuration can be customized just like +BusyBox +Section 4.2, “Customizing the Busybox configuration” and uClibc +Section 4.3, “Customizing the uClibc configuration” using +make linux-menuconfig. Make sure you have enabled the kernel build +in make menuconfig first. Once done, run make to (re)build +everything.

    If you want to use an existing config file for Linux, then see +Section 3.4, “Environment variables”.

    4.5. Customizing the toolchain

    There are three distinct types of toolchain backend supported in Buildroot, +available under the menu Toolchain, invoking make menuconfig.

    4.5.1. Using the external toolchain backend

    There is no way of tuning an external toolchain since Buildroot does not +generate it.

    It also requires to set the Buildroot settings according to the toolchain ones +(see Chapter 8, Using an external toolchain).

    4.5.2. Using the internal Buildroot toolchain backend

    The internal Buildroot toolchain backend only allows to generate +uClibc-based toolchains.

    However, it allows to tune major settings, such as:

    This is directly available after selecting the Buildroot toolchain type in +the menu Toolchain.

    4.5.3. Using the Crosstool-NG backend

    The crosstool-NG toolchain backend enables a rather +limited set of settings under the Buildroot Toolchain menu (ie. when invoking +make menuconfig); mostly:

    • +The crosstool-NG configuration file +
    • +Gdb and some toolchain options +

    Then, the toolchain can be finely tuned invoking make ctng-menuconfig.

    Chapter 5. Understanding how to rebuild packages

    One of the most common questions asked by Buildroot users is how to +rebuild a given package or how to remove a package without rebuilding +everything from scratch.

    Removing a package is currently unsupported by Buildroot without +rebuilding from scratch. This is because Buildroot doesn’t keep track +of which package installs what files in the output/staging and +output/target directories. However, implementing clean package +removal is on the TODO-list of Buildroot developers.

    The easiest way to rebuild a single package from scratch is to remove +its build directory in output/build. Buildroot will then re-extract, +re-configure, re-compile and re-install this package from scratch.

    However, if you don’t want to rebuild the package completely from +scratch, a better understanding of the Buildroot internals is +needed. Internally, to keep track of which steps have been done and +which steps remain to be done, Buildroot maintains stamp files (empty +files that just tell whether this or that action has been done). The +problem is that these stamp files are not uniformly named and handled +by the different packages, so some understanding of the particular +package is needed.

    For packages relying on Buildroot packages infrastructures (see +this section +??? for details), the following stamp +files are relevant:

    • +output/build/packagename-version/.stamp_configured. If removed, + Buildroot will trigger the recompilation of the package from the + configuration step (execution of ./configure). +
    • +output/build/packagename-version/.stamp_built. If removed, + Buildroot will trigger the recompilation of the package from the + compilation step (execution of make). +

    For other packages, an analysis of the specific package.mk file is +needed. For example, the zlib Makefile used to look like this (before +it was converted to the generic package infrastructure):

    $(ZLIB_DIR)/.configured: $(ZLIB_DIR)/.patched
    +        (cd $(ZLIB_DIR); rm -rf config.cache; \
    +                [...]
    +        )
    +        touch $@
    +
    +$(ZLIB_DIR)/libz.a: $(ZLIB_DIR)/.configured
    +        $(MAKE) -C $(ZLIB_DIR) all libz.a
    +        touch -c $@

    If you want to trigger the reconfiguration, you need to remove +output/build/zlib-version/.configured. If you want to trigger only +the recompilation, you need to remove +output/build/zlib-version/libz.a.

    Note that most packages, if not all, will progressively be ported over +to the generic or autotools infrastructure, making it much easier to +rebuild individual packages.

    Chapter 6. How Buildroot works

    As mentioned above, Buildroot is basically a set of Makefiles that +download, configure, and compile software with the correct options. It +also includes patches for various software packages - mainly the ones +involved in the cross-compilation tool chain (gcc, binutils and +uClibc).

    There is basically one Makefile per software package, and they are +named with the .mk extension. Makefiles are split into three main +sections:

    • +toolchain (in the toolchain/ directory) contains the Makefiles + and associated files for all software related to the + cross-compilation toolchain: binutils, gcc, gdb, + kernel-headers and uClibc. +
    • +package (in the package/ directory) contains the Makefiles and + associated files for all user-space tools that Buildroot can compile + and add to the target root filesystem. There is one sub-directory + per tool. +
    • +target (in the target directory) contains the Makefiles and + associated files for software related to the generation of the + target root filesystem image. Four types of filesystems are + supported: ext2, jffs2, cramfs and squashfs. For each of them there + is a sub-directory with the required files. There is also a + default/ directory that contains the target filesystem skeleton. +

    Each directory contains at least 2 files:

    • +something.mk is the Makefile that downloads, configures, + compiles and installs the package something. +
    • +Config.in is a part of the configuration tool + description file. It describes the options related to the + package. +

    The main Makefile performs the following steps (once the +configuration is done):

    • +Create all the output directories: staging, target, build, + stamps, etc. in the output directory (output/ by default, + another value can be specified using O=) +
    • +Generate all the targets listed in the BASE_TARGETS variable. When + an internal toolchain is used, this means generating the + cross-compilation toolchain. When an external toolchain is used, + this means checking the features of the external toolchain and + importing it into the Buildroot environment. +
    • +Generate all the targets listed in the TARGETS variable. This + variable is filled by all the individual components' + Makefiles. Generating these targets will trigger the compilation of + the userspace packages (libraries, programs), the kernel, the + bootloader and the generation of the root filesystem images, + depending on the configuration. +

    Chapter 7. Using the generated toolchain outside Buildroot

    You may want to compile, for your target, your own programs or other +software that are not packaged in Buildroot. In order to do this you +can use the toolchain that was generated by Buildroot.

    The toolchain generated by Buildroot is located by default in +output/host/. The simplest way to use it is to add +output/host/usr/bin/ to your PATH environment variable and then to +use ARCH-linux-gcc, ARCH-linux-objdump, ARCH-linux-ld, etc.

    It is possible to relocate the toolchain - but then --sysroot must +be passed every time the compiler is called to tell where the +libraries and header files are.

    It is also possible to generate the Buildroot toolchain in a directory +other than output/host by using the Build options → Host dir +option. This could be useful if the toolchain must be shared with +other users.

    Chapter 8. Using an external toolchain

    Using an already existing toolchain is useful for different +reasons:

    • +you already have a toolchain that is known to work for your specific + CPU +
    • +you want to speed up the Buildroot build process by skipping the + long toolchain build part +
    • +the toolchain generation feature of Buildroot is not sufficiently + flexible for you (for example if you need to generate a system with + glibc instead of uClibc) +

    Buildroot supports using existing toolchains through a mechanism +called external toolchain. The external toolchain mechanism is +enabled in the Toolchain menu, by selecting External toolchain in +Toolchain type.

    Then, you have three solutions to use an external toolchain:

    • +Use a predefined external toolchain profile, and let Buildroot + download, extract and install the toolchain. Buildroot already knows + about a few CodeSourcery toolchains for ARM, PowerPC, MIPS and + SuperH. Just select the toolchain profile in Toolchain through the + available ones. This is definitely the easiest solution. +
    • +Use a predefined external toolchain profile, but instead of having + Buildroot download and extract the toolchain, you can tell Buildroot + where your toolchain is already installed on your system. Just + select the toolchain profile in Toolchain through the available + ones, unselect Download toolchain automatically, and fill the + Toolchain path text entry with the path to your cross-compiling + toolchain. +
    • +Use a completely custom external toolchain. This is particularly + useful for toolchains generated using crosstool-NG. To do this, + select the Custom toolchain solution in the Toolchain list. You + need to fill the Toolchain path, Toolchain prefix and External + toolchain C library options. Then, you have to tell Buildroot what + your external toolchain supports. If your external toolchain uses + the glibc library, you only have to tell whether your toolchain + supports C or not. If your external toolchain uses the uclibc + library, then you have to tell Buildroot if it supports largefile, + IPv6, RPC, wide-char, locale, program invocation, threads and + C. At the beginning of the execution, Buildroot will tell you if + the selected options do not match the toolchain configuration. +

    Our external toolchain support has been tested with toolchains from +CodeSourcery, toolchains generated by +crosstool-NG, and toolchains generated by +Buildroot itself. In general, all toolchains that support the +sysroot feature should work. If not, do not hesitate to contact the +developers.

    We do not support toolchains from the +ELDK of Denx, for two reasons:

    • +The ELDK does not contain a pure toolchain (i.e just the compiler, + binutils, the C and C++ libraries), but a toolchain that comes with + a very large set of pre-compiled libraries and programs. Therefore, + Buildroot cannot import the sysroot of the toolchain, as it would + contain hundreds of megabytes of pre-compiled libraries that are + normally built by Buildroot. +
    • +The ELDK toolchains have a completely non-standard custom mechanism + to handle multiple library variants. Instead of using the standard + GCC multilib mechanism, the ARM ELDK uses different symbolic links + to the compiler to differentiate between library variants (for ARM + soft-float and ARM VFP), and the PowerPC ELDK compiler uses a + CROSS_COMPILE environment variable. This non-standard behaviour + makes it difficult to support ELDK in Buildroot. +

    We also do not support using the distribution toolchain (i.e the +gcc/binutils/C library installed by your distribution) as the +toolchain to build software for the target. This is because your +distribution toolchain is not a "pure" toolchain (i.e only with the +C/C++ library), so we cannot import it properly into the Buildroot +build environment. So even if you are building a system for a x86 or +x86_64 target, you have to generate a cross-compilation toolchain with +Buildroot or crosstool-NG.

    Chapter 9. Using ccache in Buildroot

    ccache is a compiler cache. It stores the +object files resulting from each compilation process, and is able to +skip future compilation of the same source file (with same compiler +and same arguments) by using the pre-existing object files. When doing +almost identical builds from scratch a number of times, it can nicely +speed up the build process.

    ccache support is integrated in Buildroot. You just have to enable +Enable compiler cache in Build options. This will automatically +build ccache and use it for every host and target compilation.

    The cache is located in $HOME/.buildroot-ccache. It is stored +outside of Buildroot output directory so that it can be shared by +separate Buildroot builds. If you want to get rid of the cache, simply +remove this directory.

    You can get statistics on the cache (its size, number of hits, +misses, etc.) by running make ccache-stats.

    Chapter 10. Location of downloaded packages

    It might be useful to know that the various tarballs that are +downloaded by the Makefiles are all stored in the DL_DIR which by +default is the dl directory. It’s useful, for example, if you want +to keep a complete version of Buildroot which is known to be working +with the associated tarballs. This will allow you to regenerate the +toolchain and the target filesystem with exactly the same versions.

    If you maintain several Buildroot trees, it might be better to have a +shared download location. This can be accessed by creating a symbolic +link from the dl directory to the shared download location:

     $ ln -s <shared download location> dl

    Another way of accessing a shared download location is to create the +BUILDROOT_DL_DIR environment variable. If this is set, then the +value of DL_DIR in the project is overridden. The following line +should be added to <~/.bashrc>.

     $ export BUILDROOT_DL_DIR <shared download location>

    Chapter 11. Adding new packages to Buildroot

    This section covers how new packages (userspace libraries or +applications) can be integrated into Buildroot. It also shows how +existing packages are integrated, which is needed for fixing issues or +tuning their configuration.

    11.1. Package directory

    First of all, create a directory under the package directory for +your software, for example libfoo.

    Some packages have been grouped by topic in a sub-directory: +multimedia, java, x11r7, and games. If your package fits in +one of these categories, then create your package directory in these.

    11.1.1. Config.in file

    Then, create a file named Config.in. This file will contain the +option descriptions related to our libfoo software that will be used +and displayed in the configuration tool. It should basically contain :

    config BR2_PACKAGE_LIBFOO
    +        bool "libfoo"
    +        help
    +          This is a comment that explains what libfoo is.
    +
    +          http://foosoftware.org/libfoo/

    The bool line, help line and other meta-informations about the +configuration option must be indented with one tab. The help text +itself should be indented with one tab and two spaces, and it must +mention the upstream URL of the project.

    Of course, you can add other sub-options into a if +BR2_PACKAGE_LIBFOO…endif statement to configure particular things +in your software. You can look at examples in other packages. The +syntax of the Config.in file is the same as the one for the kernel +Kconfig file. The documentation for this syntax is available at +http://lxr.free-electrons.com/source/Documentation/kbuild/kconfig-language.txt

    Finally you have to add your new libfoo/Config.in to +package/Config.in (or in a category subdirectory if you decided to +put your package in one of the existing categories). The files +included there are sorted alphabetically per category and are NOT +supposed to contain anything but the bare name of the package.

    source "package/libfoo/Config.in"

    The Config.in file of your package must also ensure that +dependencies are enabled. Typically, Buildroot uses the following +rules:

    • +Use a select type of dependency for dependencies on + libraries. These dependencies are generally not obvious and it + therefore make sense to have the kconfig system ensure that the + dependencies are selected. For example, the libgtk2 package uses + select BR2_PACKAGE_LIBGLIB2 to make sure this library is also + enabled. +
    • +Use a depends on type of dependency when the user really needs to + be aware of the dependency. Typically, Buildroot uses this type of + dependency for dependencies on toolchain options (large file + support, RPC support, IPV6 support), or for dependencies on "big" + things, such as the X.org system. In some cases, especially + dependency on toolchain options, it is recommended to add a + comment displayed when the option is not enabled, so that the user + knows why the package is not available. +

    An example illustrates both the usage of select and depends on.

    config BR2_PACKAGE_ACL
    +        bool "acl"
    +        select BR2_PACKAGE_ATTR
    +        depends on BR2_LARGEFILE
    +        help
    +          POSIX Access Control Lists, which are used to define more
    +          fine-grained discretionary access rights for files and
    +          directories.
    +          This package also provides libacl.
    +
    +          http://savannah.nongnu.org/projects/acl
    +
    +comment "acl requires a toolchain with LARGEFILE support"
    +        depends on !BR2_LARGEFILE

    Note that such dependencies will make sure that the dependency option +is also enabled, but not necessarily built before your package. To do +so, the dependency also needs to be expressed in the .mk file of the +package.

    11.1.2. The .mk file

    Finally, here’s the hardest part. Create a file named libfoo.mk. It +describes how the package should be downloaded, configured, built, +installed, etc.

    Depending on the package type, the .mk file must be written in a +different way, using different infrastructures:

    11.2. Infrastructure for packages with specific build systems

    By packages with specific build systems we mean all the packages +whose build system is not one of the standard ones, such as +autotools or CMake. This typically includes packages whose build +system is based on hand-written Makefiles or shell scripts.

    11.2.1. GENTARGETS Tutorial

    01: #############################################################
    +02: #
    +03: # libfoo
    +04: #
    +05: #############################################################
    +06: LIBFOO_VERSION = 1.0
    +07: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
    +08: LIBFOO_SITE = http://www.foosoftware.org/download
    +09: LIBFOO_INSTALL_STAGING = YES
    +10: LIBFOO_DEPENDENCIES = host-libaaa libbbb
    +11:
    +12: define LIBFOO_BUILD_CMDS
    +13:     $(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) all
    +14: endef
    +15:
    +16: define LIBFOO_INSTALL_STAGING_CMDS
    +17:     $(INSTALL) -D -m 0755 $(@D)/libfoo.a $(STAGING_DIR)/usr/lib/libfoo.a
    +18:     $(INSTALL) -D -m 0644 $(@D)/foo.h $(STAGING_DIR)/usr/include/foo.h
    +19:     $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(STAGING_DIR)/usr/lib
    +20: endef
    +21:
    +22: define LIBFOO_INSTALL_TARGET_CMDS
    +23:     $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(TARGET_DIR)/usr/lib
    +24:     $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/foo.d
    +25: endef
    +26:
    +27: define LIBFOO_DEVICES
    +28:     /dev/foo  c  666  0  0  42  0  -  -  -
    +29: endef
    +30:
    +31: define LIBFOO_PERMISSIONS
    +32:     /bin/foo  f  4755  0  0  -  -  -  -  -
    +33: endef
    +34:
    +35: $(eval $(call GENTARGETS))

    The Makefile begins on line 6 to 8 with metadata information: the +version of the package (LIBFOO_VERSION), the name of the +tarball containing the package (LIBFOO_SOURCE) and the +Internet location at which the tarball can be downloaded +(LIBFOO_SITE). All variables must start with the same prefix, +LIBFOO_ in this case. This prefix is always the uppercased +version of the package name (see below to understand where the package +name is defined).

    On line 9, we specify that this package wants to install something to +the staging space. This is often needed for libraries, since they must +install header files and other development files in the staging space. +This will ensure that the commands listed in the +LIBFOO_INSTALL_STAGING_CMDS variable will be executed.

    On line 10, we specify the list of dependencies this package relies +on. These dependencies are listed in terms of lower-case package names, +which can be packages for the target (without the host- +prefix) or packages for the host (with the host-) prefix). +Buildroot will ensure that all these packages are built and installed +before the current package starts its configuration.

    The rest of the Makefile defines what should be done at the different +steps of the package configuration, compilation and installation. +LIBFOO_BUILD_CMDS tells what steps should be performed to +build the package. LIBFOO_INSTALL_STAGING_CMDS tells what +steps should be performed to install the package in the staging space. +LIBFOO_INSTALL_TARGET_CMDS tells what steps should be +performed to install the package in the target space.

    All these steps rely on the $(@D) variable, which +contains the directory where the source code of the package has been +extracted.

    Finally, on line 35, we call the GENTARGETS which +generates, according to the variables defined previously, all the +Makefile code necessary to make your package working.

    11.2.2. GENTARGETS Reference

    The GENTARGETS macro takes one optional argument. This argument can +be used to tell if the package is a target package (cross-compiled for +the target) or a host package (natively compiled for the host). If +unspecified, it is assumed that it is a target package. See below for +details.

    For a given package, in a single .mk file, it is possible to call +GENTARGETS twice, once to create the rules to generate a target +package and once to create the rules to generate a host package:

    $(eval $(call GENTARGETS))
    +$(eval $(call GENTARGETS,host))

    This might be useful if the compilation of the target package requires +some tools to be installed on the host. If the package name is +libfoo, then the name of the package for the target is also +libfoo, while the name of the package for the host is +host-libfoo. These names should be used in the DEPENDENCIES +variables of other packages, if they depend on libfoo or +host-libfoo.

    The call to the GENTARGETS macro must be at the end of the .mk +file, after all variable definitions.

    For the target package, the GENTARGETS uses the variables defined by +the .mk file and prefixed by the uppercased package name: +LIBFOO_*. For the host package, it uses the HOST_LIBFOO_*. For +some variables, if the HOST_LIBFOO_ prefixed variable doesn’t +exist, the package infrastructure uses the corresponding variable +prefixed by LIBFOO_. This is done for variables that are likely to +have the same value for both the target and host packages. See below +for details.

    The list of variables that can be set in a .mk file to give metadata +information is (assuming the package name is libfoo) :

    • +LIBFOO_VERSION, mandatory, must contain the version of the + package. Note that if HOST_LIBFOO_VERSION doesn’t exist, it is + assumed to be the same as LIBFOO_VERSION. It can also be a + revision number, branch or tag for packages that are fetched + directly from their revision control system.
      + Examples:
      + LIBFOO_VERSION = 0.1.2
      + LIBFOO_VERSION = cb9d6aa9429e838f0e54faa3d455bcbab5eef057
      + LIBFOO_VERSION = stable +
    • +LIBFOO_SOURCE may contain the name of the tarball of + the package. If HOST_LIBFOO_SOURCE is not specified, it + defaults to LIBFOO_SOURCE. If none are specified, then + the value is assumed to be + packagename-$(LIBFOO_VERSION).tar.gz.
      + Example: LIBFOO_SOURCE = foobar-$(LIBFOO_VERSION).tar.bz2 +
    • +LIBFOO_PATCH may contain the name of a patch, that will be + downloaded from the same location as the tarball indicated in + LIBFOO_SOURCE. If HOST_LIBFOO_PATCH is not specified, it + defaults to LIBFOO_PATCH. Also note that another mechanism is + available to patch a package: all files of the form + packagename-packageversion-description.patch present in the + package directory inside Buildroot will be applied to the package + after extraction. +
    • +LIBFOO_SITE may contain the Internet location of the package. It + can either be the HTTP, FTP or SCP location of a tarball, or the URL + of a Git, Subversion, Mercurial or Bazaar repository (see + LIBFOO_SITE_METHOD below).
      + SCP URLs should be of the form scp://[user@]host:filepath. Note + that filepath is relative to the user’s home directory, so you may want + to prepend the path with a slash for absolute paths: + scp://[user@]host:/absolutepath.
      + If HOST_LIBFOO_SITE is not specified, it defaults to + LIBFOO_SITE. If none are specified, then the location is assumed + to be + http://$$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/packagename.
      + Examples:
      + LIBFOO_SITE=http://www.libfoosoftware.org/libfoo
      + LIBFOO_SITE=http://svn.xiph.org/trunk/Tremor/
      + LIBFOO_SITE=git://github.com/kergoth/tslib.git +
    • +LIBFOO_SITE_METHOD may contain the method to fetch the package + source code. It can either be wget (for normal FTP/HTTP downloads + of tarballs), scp (for downloads over SSH with scp), svn, git, + hg or bzr. When not specified, it is guessed from the URL given + in LIBFOO_SITE: scp://, svn://, git:// and + bzr:// URLs will use the scp, svn, git and bzr methods + respectively. All other URL-types will use the wget method. So for + example, in the case of a package whose source code is available + through a Subversion repository on HTTP, one must specifiy + LIBFOO_SITE_METHOD=svn. Similarly, for Mercurial repositories, one + must specify LIBFOO_SITE_METHOD=hg. For svn, git, hg and + bzr methods, what Buildroot does is a checkout/clone of the repository + which is then tarballed and stored into the download cache. Next + builds will not checkout/clone again, but will use the tarball directly. + When HOST_LIBFOO_SITE_METHOD is not specified, it defaults to the value + of LIBFOO_SITE_METHOD. See package/multimedia/tremor/ for an + example. +
    • +LIBFOO_DEPENDENCIES lists the dependencies (in terms of package + name) that are required for the current target package to + compile. These dependencies are guaranteed to be compiled and + installed before the configuration of the current package starts. In + a similar way, HOST_LIBFOO_DEPENDENCIES lists the dependency for + the current host package. +
    • +LIBFOO_INSTALL_STAGING can be set to YES or NO (default). If + set to YES, then the commands in the LIBFOO_INSTALL_STAGING_CMDS + variables are executed to install the package into the staging + directory. +
    • +LIBFOO_INSTALL_TARGET can be set to YES (default) or NO. If + set to YES, then the commands in the LIBFOO_INSTALL_TARGET_CMDS + variables are executed to install the package into the target + directory. +
    • +LIBFOO_DEVICES lists the device files to be created by Buildroot + when using the static device table. The syntax to use is the + makedevs one. You can find some documentation for this syntax in the + Section 12.1, “Makedev syntax documentation”. This variable is optional. +
    • +LIBFOO_PERMISSIONS lists the changes of permissions to be done at + the end of the build process. The syntax is once again the makedevs one. + You can find some documentation for this syntax in the Section 12.1, “Makedev syntax documentation”. + This variable is optional. +

    The recommended way to define these variables is to use the following +syntax:

    LIBFOO_VERSION = 2.32

    Now, the variables that define what should be performed at the +different steps of the build process.

    • +LIBFOO_CONFIGURE_CMDS, used to list the actions to be performed to + configure the package before its compilation +
    • +LIBFOO_BUILD_CMDS, used to list the actions to be performed to + compile the package +
    • +HOST_LIBFOO_INSTALL_CMDS, used to list the actions to be performed + to install the package, when the package is a host package. The + package must install its files to the directory given by + $(HOST_DIR). All files, including development files such as + headers should be installed, since other packages might be compiled + on top of this package. +
    • +LIBFOO_INSTALL_TARGET_CMDS, used to list the actions to be + performed to install the package to the target directory, when the + package is a target package. The package must install its files to + the directory given by $(TARGET_DIR). Only the files required for + documentation and execution of the package should be + installed. Header files should not be installed, they will be copied + to the target, if the development files in target filesystem + option is selected. +
    • +LIBFOO_INSTALL_STAGING_CMDS, used to list the actions to be + performed to install the package to the staging directory, when the + package is a target package. The package must install its files to + the directory given by $(STAGING_DIR). All development files + should be installed, since they might be needed to compile other + packages. +
    • +LIBFOO_CLEAN_CMDS, used to list the actions to perform to clean up + the build directory of the package. +
    • +LIBFOO_UNINSTALL_TARGET_CMDS, used to list the actions to + uninstall the package from the target directory $(TARGET_DIR) +
    • +LIBFOO_UNINSTALL_STAGING_CMDS, used to list the actions to + uninstall the package from the staging directory $(STAGING_DIR). +

    The preferred way to define these variables is:

    define LIBFOO_CONFIGURE_CMDS
    +        action 1
    +        action 2
    +        action 3
    +endef

    In the action definitions, you can use the following variables:

    • +$(@D), which contains the directory in which the package source + code has been uncompressed. +
    • +$(TARGET_CC), $(TARGET_LD), etc. to get the target + cross-compilation utilities +
    • +$(TARGET_CROSS) to get the cross-compilation toolchain prefix +
    • +Of course the $(HOST_DIR), $(STAGING_DIR) and $(TARGET_DIR) + variables to install the packages properly. +

    The last feature of the generic infrastructure is the ability to add +hooks. These define further actions to perform after existing steps. +Most hooks aren’t really useful for generic packages, since the .mk +file already has full control over the actions performed in each step +of the package construction. The hooks are more useful for packages +using the autotools infrastructure described below. However, since +they are provided by the generic infrastructure, they are documented +here. The exception is LIBFOO_POST_PATCH_HOOKS. Patching the +package is not user definable, so LIBFOO_POST_PATCH_HOOKS will be +userful for generic packages.

    The following hook points are available:

    • +LIBFOO_POST_PATCH_HOOKS +
    • +LIBFOO_PRE_CONFIGURE_HOOKS +
    • +LIBFOO_POST_CONFIGURE_HOOKS +
    • +LIBFOO_POST_BUILD_HOOKS +
    • +LIBFOO_POST_INSTALL_HOOKS (for host packages only) +
    • +LIBFOO_POST_INSTALL_STAGING_HOOKS (for target packages only) +
    • +LIBFOO_POST_INSTALL_TARGET_HOOKS (for target packages only) +

    These variables are lists of variable names containing actions to be +performed at this hook point. This allows several hooks to be +registered at a given hook point. Here is an example:

    define LIBFOO_POST_PATCH_FIXUP
    +        action1
    +        action2
    +endef
    +
    +LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP

    11.3. Infrastructure for autotools-based packages

    11.3.1. AUTOTARGETS tutorial

    First, let’s see how to write a .mk file for an autotools-based +package, with an example :

    01: #############################################################
    +02: #
    +03: # libfoo
    +04: #
    +05: #############################################################
    +06: LIBFOO_VERSION = 1.0
    +07: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
    +08: LIBFOO_SITE = http://www.foosoftware.org/download
    +09: LIBFOO_INSTALL_STAGING = YES
    +10: LIBFOO_INSTALL_TARGET = YES
    +11: LIBFOO_CONF_OPT = --enable-shared
    +12: LIBFOO_DEPENDENCIES = libglib2 host-pkg-config
    +13:
    +14: $(eval $(call AUTOTARGETS))

    On line 6, we declare the version of the package.

    On line 7 and 8, we declare the name of the tarball and the location +of the tarball on the Web. Buildroot will automatically download the +tarball from this location.

    On line 9, we tell Buildroot to install the package to the staging +directory. The staging directory, located in output/staging/ +is the directory where all the packages are installed, including their +development files, etc. By default, packages are not installed to the +staging directory, since usually, only libraries need to be installed in +the staging directory: their development files are needed to compile +other libraries or applications depending on them. Also by default, when +staging installation is enabled, packages are installed in this location +using the make install command.

    On line 10, we tell Buildroot to also install the package to the +target directory. This directory contains what will become the root +filesystem running on the target. Usually, we try not to install header +files and to install stripped versions of the binary. By default, target +installation is enabled, so in fact, this line is not strictly +necessary. Also by default, packages are installed in this location +using the make install command.

    On line 11, we tell Buildroot to pass a custom configure option, that +will be passed to the ./configure script before configuring +and building the package.

    On line 12, we declare our dependencies, so that they are built +before the build process of our package starts.

    Finally, on line line 14, we invoke the AUTOTARGETS +macro that generates all the Makefile rules that actually allows the +package to be built.

    11.3.2. AUTOTARGETS reference

    The main macro of the autotools package infrastructure is +AUTOTARGETS. It has the same number of arguments and the +same semantic as the GENTARGETS macro, which is the main +macro of the generic package infrastructure. For autotools packages, the +ability to have target and host packages is also available (and is +actually widely used).

    Just like the generic infrastructure, the autotools infrastructure +works by defining a number of variables before calling the +AUTOTARGETS macro.

    First, all the package metadata information variables that exist in the +generic infrastructure also exist in the autotools infrastructure: +LIBFOO_VERSION, LIBFOO_SOURCE, +LIBFOO_PATCH, LIBFOO_SITE, +LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, +LIBFOO_INSTALL_STAGING, LIBFOO_INSTALL_TARGET.

    A few additional variables, specific to the autotools infrastructure, +can also be defined. Many of them are only useful in very specific +cases, typical packages will therefore only use a few of them.

    • +LIBFOO_SUBDIR may contain the name of a subdirectory + inside the package that contains the configure script. This is useful, + if for example, the main configure script is not at the root of the + tree extracted by the tarball. If HOST_LIBFOO_SUBDIR is + not specified, it defaults to LIBFOO_SUBDIR. +
    • +LIBFOO_CONF_ENV, to specify additional environment + variables to pass to the configure script. By default, empty. +
    • +LIBFOO_CONF_OPT, to specify additional configure + options to pass to the configure script. By default, empty. +
    • +LIBFOO_MAKE, to specify an alternate make + command. This is typically useful when parallel make is enabled in + the configuration (using BR2_JLEVEL) but that this + feature should be disabled for the given package, for one reason or + another. By default, set to $(MAKE). If parallel building + is not supported by the package, then it should be set to + LIBFOO_MAKE=$(MAKE1). +
    • +LIBFOO_MAKE_ENV, to specify additional environment + variables to pass to make in the build step. These are passed before + the make command. By default, empty. +
    • +LIBFOO_MAKE_OPT, to specify additional variables to + pass to make in the build step. These are passed after the + make command. By default, empty. +
    • +LIBFOO_AUTORECONF, tells whether the package should + be autoreconfigured or not (i.e, if the configure script and + Makefile.in files should be re-generated by re-running autoconf, + automake, libtool, etc.). Valid values are YES and + NO. By default, the value is NO +
    • +LIBFOO_AUTORECONF_OPT to specify additional options + passed to the autoreconf program if + LIBFOO_AUTORECONF=YES. By default, empty. +
    • +LIBFOO_LIBTOOL_PATCH tells whether the Buildroot + patch to fix libtool cross-compilation issues should be applied or + not. Valid values are YES and NO. By + default, the value is YES +
    • +LIBFOO_INSTALL_STAGING_OPT contains the make options + used to install the package to the staging directory. By default, the + value is DESTDIR=$$(STAGING_DIR) install, which is + correct for most autotools packages. It is still possible to override + it. +
    • +LIBFOO_INSTALL_TARGET_OPT contains the make options + used to install the package to the target directory. By default, the + value is DESTDIR=$$(TARGET_DIR) install. The default + value is correct for most autotools packages, but it is still possible + to override it if needed. +
    • +LIBFOO_CLEAN_OPT contains the make options used to + clean the package. By default, the value is clean. +
    • +LIBFOO_UNINSTALL_STAGING_OPT, contains the make + options used to uninstall the package from the staging directory. By + default, the value is DESTDIR=$$(STAGING_DIR) uninstall. +
    • +LIBFOO_UNINSTALL_TARGET_OPT, contains the make + options used to uninstall the package from the target directory. By + default, the value is DESTDIR=$$(TARGET_DIR) uninstall. +

    With the autotools infrastructure, all the steps required to build +and install the packages are already defined, and they generally work +well for most autotools-based packages. However, when required, it is +still possible to customize what is done in any particular step:

    • +By adding a post-operation hook (after extract, patch, configure, + build or install). See the reference documentation of the generic + infrastructure for details. +
    • +By overriding one of the steps. For example, even if the autotools + infrastructure is used, if the package .mk file defines its + own LIBFOO_CONFIGURE_CMDS variable, it will be used + instead of the default autotools one. However, using this method + should be restricted to very specific cases. Do not use it in the + general case. +

    11.4. Infrastructure for CMake-based packages

    11.4.1. CMAKETARGETS tutorial

    First, let’s see how to write a .mk file for a CMake-based package, +with an example :

    01: #############################################################
    +02: #
    +03: # libfoo
    +04: #
    +05: #############################################################
    +06: LIBFOO_VERSION = 1.0
    +07: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
    +08: LIBFOO_SITE = http://www.foosoftware.org/download
    +09: LIBFOO_INSTALL_STAGING = YES
    +10: LIBFOO_INSTALL_TARGET = YES
    +11: LIBFOO_CONF_OPT = -DBUILD_DEMOS=ON
    +12: LIBFOO_DEPENDENCIES = libglib2 host-pkg-config
    +13:
    +14: $(eval $(call CMAKETARGETS))

    On line 6, we declare the version of the package.

    On line 7 and 8, we declare the name of the tarball and the location +of the tarball on the Web. Buildroot will automatically download the +tarball from this location.

    On line 9, we tell Buildroot to install the package to the staging +directory. The staging directory, located in output/staging/ +is the directory where all the packages are installed, including their +development files, etc. By default, packages are not installed to the +staging directory, since usually, only libraries need to be installed in +the staging directory: their development files are needed to compile +other libraries or applications depending on them. Also by default, when +staging installation is enabled, packages are installed in this location +using the make install command.

    On line 10, we tell Buildroot to also install the package to the +target directory. This directory contains what will become the root +filesystem running on the target. Usually, we try not to install header +files and to install stripped versions of the binary. By default, target +installation is enabled, so in fact, this line is not strictly +necessary. Also by default, packages are installed in this location +using the make install command.

    On line 11, we tell Buildroot to pass custom options to CMake when it is +configuring the package.

    On line 12, we declare our dependencies, so that they are built +before the build process of our package starts.

    Finally, on line line 14, we invoke the CMAKETARGETS +macro that generates all the Makefile rules that actually allows the +package to be built.

    11.4.2. CMAKETARGETS reference

    The main macro of the CMake package infrastructure is +CMAKETARGETS. It has the same number of arguments and the same +semantic as the GENTARGETS macro, which is the main macro of the +generic package infrastructure. For CMake packages, the ability to +have target and host packages is also available.

    Just like the generic infrastructure, the CMake infrastructure works +by defining a number of variables before calling the CMAKETARGETS +macro.

    First, all the package metadata information variables that exist in +the generic infrastructure also exist in the CMake infrastructure: +LIBFOO_VERSION, LIBFOO_SOURCE, LIBFOO_PATCH, LIBFOO_SITE, +LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, LIBFOO_INSTALL_STAGING, +LIBFOO_INSTALL_TARGET.

    A few additional variables, specific to the CMake infrastructure, can +also be defined. Many of them are only useful in very specific cases, +typical packages will therefore only use a few of them.

    • +LIBFOO_SUBDIR may contain the name of a subdirectory inside the + package that contains the main CMakeLists.txt file. This is useful, + if for example, the main CMakeLists.txt file is not at the root of + the tree extracted by the tarball. If HOST_LIBFOO_SUBDIR is not + specified, it defaults to LIBFOO_SUBDIR. +
    • +LIBFOO_CONF_ENV, to specify additional environment variables to + pass to CMake. By default, empty. +
    • +LIBFOO_CONF_OPT, to specify additional configure options to pass + to CMake. By default, empty. +
    • +LIBFOO_MAKE, to specify an alternate make command. This is + typically useful when parallel make is enabled in the configuration + (using BR2_JLEVEL) but that this feature should be disabled for + the given package, for one reason or another. By default, set to + $(MAKE). If parallel building is not supported by the package, + then it should be set to LIBFOO_MAKE=$(MAKE1). +
    • +LIBFOO_MAKE_ENV, to specify additional environment variables to + pass to make in the build step. These are passed before the make + command. By default, empty. +
    • +LIBFOO_MAKE_OPT, to specify additional variables to pass to make + in the build step. These are passed after the make command. By + default, empty. +
    • +LIBFOO_INSTALL_STAGING_OPT contains the make options used to + install the package to the staging directory. By default, the value + is DESTDIR=$$(STAGING_DIR) install, which is correct for most + CMake packages. It is still possible to override it. +
    • +LIBFOO_INSTALL_TARGET_OPT contains the make options used to + install the package to the target directory. By default, the value + is DESTDIR=$$(TARGET_DIR) install. The default value is correct + for most CMake packages, but it is still possible to override it if + needed. +
    • +LIBFOO_CLEAN_OPT contains the make options used to clean the + package. By default, the value is clean. +

    With the CMake infrastructure, all the steps required to build and +install the packages are already defined, and they generally work well +for most CMake-based packages. However, when required, it is still +possible to customize what is done in any particular step:

    • +By adding a post-operation hook (after extract, patch, configure, + build or install). See the reference documentation of the generic + infrastructure for details. +
    • +By overriding one of the steps. For example, even if the CMake + infrastructure is used, if the package .mk file defines its own + LIBFOO_CONFIGURE_CMDS variable, it will be used instead of the + default CMake one. However, using this method should be restricted + to very specific cases. Do not use it in the general case. +

    11.5. Manual Makefile

    NOTE: new manual makefiles should not be created, and existing manual +makefiles should be converted either to the generic, autotools or +cmake infrastructure. This section is only kept to document the +existing manual makefiles and to help understand how they work.

    01: #############################################################
    +02: #
    +03: # libfoo
    +04: #
    +05: #############################################################
    +06: LIBFOO_VERSION:=1.0
    +07: LIBFOO_SOURCE:=libfoo-$(LIBFOO_VERSION).tar.gz
    +08: LIBFOO_SITE:=http://www.foosoftware.org/downloads
    +09: LIBFOO_DIR:=$(BUILD_DIR)/foo-$(FOO_VERSION)
    +10: LIBFOO_BINARY:=foo
    +11: LIBFOO_TARGET_BINARY:=usr/bin/foo
    +12:
    +13: $(DL_DIR)/$(LIBFOO_SOURCE):
    +14:     $(call DOWNLOAD,$(LIBFOO_SITE),$(LIBFOO_SOURCE))
    +15:
    +16: $(LIBFOO_DIR)/.source: $(DL_DIR)/$(LIBFOO_SOURCE)
    +17:     $(ZCAT) $(DL_DIR)/$(LIBFOO_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
    +18:     touch $@
    +19:
    +20: $(LIBFOO_DIR)/.configured: $(LIBFOO_DIR)/.source
    +21:     (cd $(LIBFOO_DIR); rm -rf config.cache; \
    +22:             $(TARGET_CONFIGURE_OPTS) \
    +23:             $(TARGET_CONFIGURE_ARGS) \
    +24:             ./configure \
    +25:             --target=$(GNU_TARGET_NAME) \
    +26:             --host=$(GNU_TARGET_NAME) \
    +27:             --build=$(GNU_HOST_NAME) \
    +28:             --prefix=/usr \
    +29:             --sysconfdir=/etc \
    +30:     )
    +31:     touch $@
    +32:
    +33: $(LIBFOO_DIR)/$(LIBFOO_BINARY): $(LIBFOO_DIR)/.configured
    +34:     $(MAKE) CC=$(TARGET_CC) -C $(LIBFOO_DIR)
    +35:
    +36: $(TARGET_DIR)/$(LIBFOO_TARGET_BINARY): $(LIBFOO_DIR)/$(LIBFOO_BINARY)
    +37:     $(MAKE) DESTDIR=$(TARGET_DIR) -C $(LIBFOO_DIR) install-strip
    +38:     rm -Rf $(TARGET_DIR)/usr/man
    +39:
    +40: libfoo: uclibc ncurses $(TARGET_DIR)/$(LIBFOO_TARGET_BINARY)
    +41:
    +42: libfoo-source: $(DL_DIR)/$(LIBFOO_SOURCE)
    +43:
    +44: libfoo-clean:
    +45:     $(MAKE) prefix=$(TARGET_DIR)/usr -C $(LIBFOO_DIR) uninstall
    +46:     -$(MAKE) -C $(LIBFOO_DIR) clean
    +47:
    +48: libfoo-dirclean:
    +49:     rm -rf $(LIBFOO_DIR)
    +50:
    +51: #############################################################
    +52: #
    +53: # Toplevel Makefile options
    +54: #
    +55: #############################################################
    +56: ifeq ($(BR2_PACKAGE_LIBFOO),y)
    +57: TARGETS+=libfoo
    +58: endif

    First of all, this Makefile example works for a package which +comprises a single binary executable. For other software, such as +libraries or more complex stuff with multiple binaries, it must be +qqadapted. For examples look at the other *.mk files in the +package directory.

    At lines 6-11, a couple of useful variables are defined:

    • +LIBFOO_VERSION: The version of libfoo that should be downloaded. +
    • +LIBFOO_SOURCE: The name of the tarball of libfoo on the download + website or FTP site. As you can see LIBFOO_VERSION is used. +
    • +LIBFOO_SITE: The HTTP or FTP site from which libfoo archive is + downloaded. It must include the complete path to the directory where + LIBFOO_SOURCE can be found. +
    • +LIBFOO_DIR: The directory into which the software will be + configured and compiled. Basically, it’s a subdirectory of + BUILD_DIR which is created upon decompression of the tarball. +
    • +LIBFOO_BINARY: Software binary name. As said previously, this is + an example for a package with a single binary. +
    • +LIBFOO_TARGET_BINARY: The full path of the binary inside the + target filesystem. Lines 13-14 define a target that downloads the + tarball from the remote site to the download directory (DL_DIR). +

    Lines 16-18 define a target and associated rules that uncompress the +downloaded tarball. As you can see, this target depends on the tarball +file so that the previous target (lines 13-14) is called before +executing the rules of the current target. Uncompressing is followed +by touching a hidden file to mark the software as having been +uncompressed. This trick is used everywhere in a Buildroot Makefile to +split steps (download, uncompress, configure, compile, install) while +still having correct dependencies.

    Lines 20-31 define a target and associated rules that configure the +software. It depends on the previous target (the hidden .source +file) so that we are sure the software has been uncompressed. In order +to configure the package, it basically runs the well-known +./configure script. As we may be doing cross-compilation, target, +host and build arguments are given. The prefix is also set to +/usr, not because the software will be installed in /usr on your +host system, but because the software will be installed in + /usr+ on +the target filesystem. Finally it creates a .configured file to mark +the software as configured.

    Lines 33-34 define a target and a rule that compile the software. This +target will create the binary file in the compilation directory and +depends on the software being already configured (hence the reference +to the .configured file). It basically runs make inside the +source directory.

    Lines 36-38 define a target and associated rules that install the +software inside the target filesystem. They depend on the binary file +in the source directory to make sure the software has been +compiled. They use the install-strip target of the software +Makefile by passing a DESTDIR argument so that the Makefile +doesn’t try to install the software in the host /usr but rather in +the target /usr. After the installation, the +/usr/man + directory +inside the target filesystem is removed to save space.

    Line 40 defines the main target of the software — the one that +will eventually be used by the top level Makefile to download, +compile, and then install this package. This target should first of +all depend on all needed dependencies of the software (in our example, +uclibc and ncurses) and also depend on the final binary. This last +dependency will call all previous dependencies in the correct order.

    Line 42 defines a simple target that only downloads the code +source. This is not used during normal operation of Buildroot, but is +needed if you intend to download all required sources at once for +later offline build. Note that if you add a new package, providing a +libfoo-source target is mandatory to support users that wish to do +offline-builds. Furthermore, it eases checking if all package-sources +are downloadable.

    Lines 44-46 define a simple target to clean the software build by +calling the Makefile with the appropriate options. The -clean +target should run make clean on $(BUILD_DIR)/package-version and +MUST uninstall all files of the package from $(STAGING_DIR) and from +$(TARGET_DIR).

    Lines 48-49 define a simple target to completely remove the directory +in which the software was uncompressed, configured and compiled. The +-dirclean target MUST completely rm $(BUILD_DIR)/ package-version.

    Lines 51-58 add the target libfoo to the list of targets to be +compiled by Buildroot, by first checking if the configuration option +for this package has been enabled using the configuration tool. If so, +it then "subscribes" this package to be compiled by adding +the package to the TARGETS global variable. The name added to the +TARGETS global variable is the name of this package’s target, as +defined on line 40, which is used by Buildroot to download, compile, +and then install this package.

    11.6. Gettext integration and interaction with packages

    Many packages that support internationalization use the gettext +library. Dependencies for this library are fairly complicated and +therefore, deserves some explanation.

    The uClibc C library doesn’t implement gettext functionality, +therefore with this C library, a separate gettext must be compiled. On +the other hand, the glibc C library does integrate its own gettext, +and in this case, the separate gettext library should not be compiled, +because it creates various kinds of build failures.

    Additionally, some packages (such as libglib2) do require gettext +unconditionally, while other packages (those who support +--disable-nls in general) only require gettext when locale support +is enabled.

    Therefore, Buildroot defines two configuration options:

    • +BR2_NEEDS_GETTEXT, which is true as soon as the toolchain doesn’t + provide its own gettext implementation +
    • +BR2_NEEDS_GETTEXT_IF_LOCALE, which is true if the toolchain + doesn’t provide its own gettext implementation and if locale support + is enabled +

    Therefore, packages that unconditionally need gettext should:

    • +Use select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT and possibly + select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT, if libintl is + also needed +
    • +Use $(if $(BR2_NEEDS_GETTEXT),gettext) in the package + DEPENDENCIES variable +

    Packages that need gettext only when locale support is enabled should:

    • +Use select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE and + possibly select BR2_PACKAGE_LIBINTL if + BR2_NEEDS_GETTEXT_IF_LOCALE, if libintl is also needed +
    • +Use $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) in the package + DEPENDENCIES variable +

    11.7. Conclusion

    As you can see, adding a software package to Buildroot is simply a +matter of writing a Makefile using an existing example and modifying it +according to the compilation process required by the package.

    If you package software that might be useful for other people, don’t +forget to send a patch to Buildroot developers!

    Chapter 12. Appendix

    12.1. Makedev syntax documentation

    The makedev syntax is used across several places in Buildroot to +define changes to be made for permissions or which device files to +create and how to create them, in order to avoid to call mkdnod every +now and then.

    This syntax is derived from the makedev utility, and a more complete +documentation can be found in the package/makedevs/README file.

    It takes the form of a line for each file, with the following layout:

    name

    type

    mode

    uid

    gid

    major

    minor

    start

    inc

    count

    There is a few non-trivial blocks here:

    • +name is the path to the file you want to create/modify +
    • +type is the type of the file, being one of : +

      • +f: a regular file +
      • +d: a directory +
      • +c: a character device file +
      • +b: a block device file +
      • +p: a named pipe +
    • +mode, uid and gid are the usual permissions stuff +
    • +major and minor are here for device files +
    • +start, inc and count are when you want to create a whole batch + of files, and can be reduced to a loop, beginning at start, + incrementing its counter by inc until it reaches count +

    Let’s say you want to change the permissions of a given file, using +this syntax, you will need to put:

    /usr/bin/foobar f       644     0       0       -       -       -       -       -

    On the other hand, if you want to create the device file /dev/hda +and the corresponding 15 files for the partitions, you will need for +/dev/hda:

    /dev/hda        b       640     0       0       3       0       0       0       -

    and then for device files corresponding to the partitions of +/dev/hda, /dev/hdaX, X ranging from 1 to 15:

    /dev/hda        b       640     0       0       3       1       1       1       15
    diff --git a/docs/manual/manual.pdf b/docs/manual/manual.pdf new file mode 100644 index 0000000..7ebbb3a Binary files /dev/null and b/docs/manual/manual.pdf differ diff --git a/docs/manual/manual.text b/docs/manual/manual.text new file mode 100644 index 0000000..219f6cf --- /dev/null +++ b/docs/manual/manual.text @@ -0,0 +1,1735 @@ + +--------------------------------------------------------------------- + +The Buildroot user manual + +--------------------------------------------------------------------- +--------------------------------------------------------------------- + +Table of Contents + + +1. About Buildroot +2. Getting Buildroot +3. Using Buildroot + + 3.1. Configuration and general usage + 3.2. Offline builds + 3.3. Building out-of-tree + 3.4. Environment variables + +4. Customization + + 4.1. Customizing the generated target filesystem + 4.2. Customizing the Busybox configuration + 4.3. Customizing the uClibc configuration + 4.4. Customizing the Linux kernel configuration + 4.5. Customizing the toolchain + +5. Understanding how to rebuild packages +6. How Buildroot works +7. Using the generated toolchain outside Buildroot +8. Using an external toolchain +9. Using ccache in Buildroot +10. Location of downloaded packages +11. Adding new packages to Buildroot + + 11.1. Package directory + 11.2. Infrastructure for packages with specific build systems + 11.3. Infrastructure for autotools-based packages + 11.4. Infrastructure for CMake-based packages + 11.5. Manual Makefile + 11.6. Gettext integration and interaction with packages + 11.7. Conclusion + +12. Appendix + + 12.1. Makedev syntax documentation + + +--------------------------------------------------------------------- + +--------------------------------------------------------------------- + +Buildroot usage and documentation by Thomas Petazzoni. Contributions +from Karsten Kruse, Ned Ludd, Martin Herren and others. + +logo.png + +--------------------------------------------------------------------- + +Chapter 1. About Buildroot + +--------------------------------------------------------------------- + +Buildroot is a set of Makefiles and patches that allows you to easily +generate a cross-compilation toolchain, a root filesystem and a Linux +kernel image for your target. Buildroot can be used for one, two or +all of these options, independently. + +Buildroot is useful mainly for people working with embedded systems. +Embedded systems often use processors that are not the regular x86 +processors everyone is used to having in his PC. They can be PowerPC +processors, MIPS processors, ARM processors, etc. + +A compilation toolchain is the set of tools that allows you to +compile code for your system. It consists of a compiler (in our case, +gcc), binary utils like assembler and linker (in our case, binutils) +and a C standard library (for example GNU Libc, uClibc or dietlibc). +The system installed on your development station certainly already +has a compilation toolchain that you can use to compile an +application that runs on your system. If you’re using a PC, your +compilation toolchain runs on an x86 processor and generates code for +an x86 processor. Under most Linux systems, the compilation toolchain +uses the GNU libc (glibc) as the C standard library. This compilation +toolchain is called the "host compilation toolchain". The machine on +which it is running, and on which you’re working, is called the "host +system". The compilation toolchain is provided by your distribution, +and Buildroot has nothing to do with it (other than using it to build +a cross-compilation toolchain and other tools that are run on the +development host). + +As said above, the compilation toolchain that comes with your system +runs on and generates code for the processor in your host system. As +your embedded system has a different processor, you need a +cross-compilation toolchain - a compilation toolchain that runs on +your host system but generates code for your target system (and +target processor). For example, if your host system uses x86 and your +target system uses ARM, the regular compilation toolchain on your +host runs on x86 and generates code for x86, while the +cross-compilation toolchain runs on x86 and generates code for ARM. + +Even if your embedded system uses an x86 processor, you might be +interested in Buildroot for two reasons: + + * The compilation toolchain on your host certainly uses the GNU + Libc which is a complete but huge C standard library. Instead of + using GNU Libc on your target system, you can use uClibc which is + a tiny C standard library. If you want to use this C library, + then you need a compilation toolchain to generate binaries linked + with it. Buildroot can do that for you. + * Buildroot automates the building of a root filesystem with all + needed tools like busybox. That makes it much easier than doing + it by hand. + +You might wonder why such a tool is needed when you can compile gcc, +binutils, uClibc and all the other tools by hand. Of course doing so +is possible but, dealing with all of the configure options and +problems of every gcc or binutils version is very time-consuming and +uninteresting. Buildroot automates this process through the use of +Makefiles and has a collection of patches for each gcc and binutils +version to make them work on most architectures. + +Moreover, Buildroot provides an infrastructure for reproducing the +build process of your kernel, cross-toolchain, and embedded root +filesystem. Being able to reproduce the build process will be useful +when a component needs to be patched or updated or when another +person is supposed to take over the project. + + +--------------------------------------------------------------------- + +Chapter 2. Getting Buildroot + +--------------------------------------------------------------------- + +Buildroot releases are made approximately every 3 months. Direct Git +access and daily snapshots are also available, if you want more +bleeding edge. + +Releases are available at http://buildroot.net/downloads/. + +The latest snapshot is always available at http://buildroot.net/ +downloads/snapshots/buildroot-snapshot.tar.bz2, and previous +snapshots are also available at http://buildroot.net/downloads/ +snapshots/. + +To download Buildroot using Git, you can simply follow the rules +described on the "Accessing Git" page (http://buildroot.net/git.html) +of the Buildroot website (http://buildroot.net). For the impatient, +here’s a quick recipe: + + $ git clone git://git.buildroot.net/buildroot + + +--------------------------------------------------------------------- + +Chapter 3. Using Buildroot + +--------------------------------------------------------------------- + + +3.1. Configuration and general usage + +-------------- + +Buildroot has a nice configuration tool similar to the one you can +find in the Linux kernel or in Busybox. Note that you can (and +should) build everything as a normal user. There is no need to be +root to configure and use Buildroot. The first step is to run the +configuration assistant: + + $ make menuconfig + +to run the curses-based configurator, or + + $ make xconfig + +or + + $ make gconfig + +to run the Qt or GTK-based configurators. + +All of these "make" commands will need to build a configuration +utility, so you may need to install "development" packages for +relevant libraries used by the configuration utilities. On +Debian-like systems, the libncurses5-dev package is required to use +the menuconfig interface, libqt4-dev is required to use the xconfig +interface, and libglib2.0-dev, libgtk2.0-dev and libglade2-dev are +needed to use the gconfig interface. + +For each menu entry in the configuration tool, you can find +associated help that describes the purpose of the entry. + +Once everything is configured, the configuration tool generates a +.config file that contains the description of your configuration. It +will be used by the Makefiles to do what’s needed. + +Let’s go: + + $ make + +You should never use make -jN with Buildroot: it does not support +top-level parallel make. Instead, use the BR2_JLEVEL option to tell +Buildroot to run each package compilation with make -jN. + +This command will generally perform the following steps: + + * Download source files (as required) + * Configure, build and install the cross-compiling toolchain if an + internal toolchain is used, or import a toolchain if an external + toolchain is used + * Build/install selected target packages + * Build a kernel image, if selected + * Build a bootloader image, if selected + * Create a root filesystem in selected formats + +Buildroot output is stored in a single directory, output/. This +directory contains several subdirectories: + + * images/ where all the images (kernel image, bootloader and root + filesystem images) are stored. + * build/ where all the components except for the cross-compilation + toolchain are built (this includes tools needed to run Buildroot + on the host and packages compiled for the target). The build/ + directory contains one subdirectory for each of these components. + * staging/ which contains a hierarchy similar to a root filesystem + hierarchy. This directory contains the installation of the + cross-compilation toolchain and all the userspace packages + selected for the target. However, this directory is not intended + to be the root filesystem for the target: it contains a lot of + development files, unstripped binaries and libraries that make it + far too big for an embedded system. These development files are + used to compile libraries and applications for the target that + depend on other libraries. + * target/ which contains almost the complete root filesystem for + the target: everything needed is present except the device files + in /dev/ (Buildroot can’t create them because Buildroot doesn’t + run as root and doesn’t want to run as root). Therefore, this + directory should not be used on your target. Instead, you should + use one of the images built in the images/ directory. If you need + an extracted image of the root filesystem for booting over NFS, + then use the tarball image generated in images/ and extract it as + root. Compared to staging/, target/ contains only the files and + libraries needed to run the selected target applications: the + development files (headers, etc.) are not present, unless the + development files in target filesystem option is selected. + * host/ contains the installation of tools compiled for the host + that are needed for the proper execution of Buildroot, including + the cross-compilation toolchain. + * toolchain/ contains the build directories for the various + components of the cross-compilation toolchain. + + +3.2. Offline builds + +-------------- + +If you intend to do an offline build and just want to download all +sources that you previously selected in the configurator (menuconfig, +xconfig or gconfig), then issue: + + $ make source + +You can now disconnect or copy the content of your dl directory to +the build-host. + + +3.3. Building out-of-tree + +-------------- + +Buildroot supports building out of tree with a syntax similar to the +Linux kernel. To use it, add O= to the make command line: + + $ make O=/tmp/build + +Or: + + $ cd /tmp/build; make O=$PWD -C path/to/buildroot + +All the output files will be located under /tmp/build. + +When using out-of-tree builds, the Buildroot .config and temporary +files are also stored in the output directory. This means that you +can safely run multiple builds in parallel using the same source tree +as long as they use unique output directories. + +For ease of use, Buildroot generates a Makefile wrapper in the output +directory - So after the first run, you no longer need to pass O=.. +and -C .., simply run (in the output directory): + + $ make + + +3.4. Environment variables + +-------------- + +Buildroot also honors some environment variables, when they are +passed to make or set in the environment: + + * HOSTCXX, the host C++ compiler to use + * HOSTCC, the host C compiler to use + * UCLIBC_CONFIG_FILE=, path to the uClibc + configuration file, used to compile uClibc, if an internal + toolchain is being built + * BUSYBOX_CONFIG_FILE=, path to the Busybox + configuration file + * BUILDROOT_DL_DIR to override the directory in which Buildroot + stores/retrieves downloaded files + +An example that uses config files located in the toplevel directory +and in your $HOME: + + $ make UCLIBC_CONFIG_FILE=uClibc.config BUSYBOX_CONFIG_FILE=$HOME/bb.config + +If you want to use a compiler other than the default gcc or g++ for +building helper-binaries on your host, then do + + $ make HOSTCXX=g++-4.3-HEAD HOSTCC=gcc-4.3-HEAD + + +--------------------------------------------------------------------- + +Chapter 4. Customization + +--------------------------------------------------------------------- + + +4.1. Customizing the generated target filesystem + +-------------- + +There are a few ways to customize the resulting target filesystem: + + * Customize the target filesystem directly and rebuild the image. + The target filesystem is available under output/target/. You can + simply make your changes here and run make afterwards - this will + rebuild the target filesystem image. This method allows you to do + anything to the target filesystem, but if you decide to + completely rebuild your toolchain and tools, these changes will + be lost. + * Create your own target skeleton. You can start with the default + skeleton available under fs/skeleton and then customize it to + suit your needs. The BR2_ROOTFS_SKELETON_CUSTOM and + BR2_ROOTFS_SKELETON_CUSTOM_PATH will allow you to specify the + location of your custom skeleton. At build time, the contents of + the skeleton are copied to output/target before any package + installation. + * In the Buildroot configuration, you can specify the path to a + post-build script, that gets called after Buildroot builds all + the selected software, but before the rootfs packages are + assembled. The destination root filesystem folder is given as the + first argument to this script, and this script can then be used + to copy programs, static data or any other needed file to your + target filesystem. You should, however, use this feature with + care. Whenever you find that a certain package generates wrong or + unneeded files, you should fix that package rather than work + around it with a post-build cleanup script. + * A special package, customize, stored in package/customize can be + used. You can put all the files that you want to see in the final + target root filesystem in package/customize/source, and then + enable this special package in the configuration system. + + +4.2. Customizing the Busybox configuration + +-------------- + +Busybox is very configurable, and you may want to customize it. You +can follow these simple steps to do so. This method isn’t optimal, +but it’s simple, and it works: + + * Do an initial compilation of Buildroot, with busybox, without + trying to customize it. + * Invoke make busybox-menuconfig. The nice configuration tool + appears, and you can customize everything. + * Run the compilation of Buildroot again. + +Otherwise, you can simply change the package/busybox/busybox- +.config file, if you know the options you want to change, +without using the configuration tool. + +If you want to use an existing config file for busybox, then see +section Section 3.4, “Environment variables”. + + +4.3. Customizing the uClibc configuration + +-------------- + +Just like BusyBox Section 4.2, “Customizing the Busybox +configuration”, uClibc offers a lot of configuration options. They +allow you to select various functionalities depending on your needs +and limitations. + +The easiest way to modify the configuration of uClibc is to follow +these steps: + + * Do an initial compilation of Buildroot without trying to + customize uClibc. + * Invoke make uclibc-menuconfig. The nice configuration assistant, + similar to the one used in the Linux kernel or Buildroot, + appears. Make your configuration changes as appropriate. + * Copy the $(O)/toolchain/uclibc-VERSION/.config file to a + different place (like toolchain/uClibc/uClibc-myconfig.config, or + board/mymanufacturer/myboard/uClibc.config) and adjust the uClibc + configuration (configuration option BR2_UCLIBC_CONFIG) to use + this configuration instead of the default one. + * Run the compilation of Buildroot again. + +Otherwise, you can simply change toolchain/uClibc/uClibc.config, +without running the configuration assistant. + +If you want to use an existing config file for uclibc, then see +Section 3.4, “Environment variables”. + + +4.4. Customizing the Linux kernel configuration + +-------------- + +The Linux kernel configuration can be customized just like BusyBox +Section 4.2, “Customizing the Busybox configuration” and uClibc +Section 4.3, “Customizing the uClibc configuration” using make +linux-menuconfig. Make sure you have enabled the kernel build in make +menuconfig first. Once done, run make to (re)build everything. + +If you want to use an existing config file for Linux, then see +Section 3.4, “Environment variables”. + + +4.5. Customizing the toolchain + +-------------- + +There are three distinct types of toolchain backend supported in +Buildroot, available under the menu Toolchain, invoking make +menuconfig. + +4.5.1. Using the external toolchain backend + +There is no way of tuning an external toolchain since Buildroot does +not generate it. + +It also requires to set the Buildroot settings according to the +toolchain ones (see Chapter 8, Using an external toolchain). + +4.5.2. Using the internal Buildroot toolchain backend + +The internal Buildroot toolchain backend only allows to generate +uClibc-based toolchains. + +However, it allows to tune major settings, such as: + + * Linux header version + * uClibc configuration (see uClibc Section 4.3, “Customizing the + uClibc configuration”) + * Binutils, GCC, Gdb and toolchain options + +This is directly available after selecting the Buildroot toolchain +type in the menu Toolchain. + +4.5.3. Using the Crosstool-NG backend + +The crosstool-NG toolchain backend enables a rather limited set of +settings under the Buildroot Toolchain menu (ie. when invoking make +menuconfig); mostly: + + * The crosstool-NG configuration file + * Gdb and some toolchain options + +Then, the toolchain can be finely tuned invoking make +ctng-menuconfig. + + +--------------------------------------------------------------------- + +Chapter 5. Understanding how to rebuild packages + +--------------------------------------------------------------------- + +One of the most common questions asked by Buildroot users is how to +rebuild a given package or how to remove a package without rebuilding +everything from scratch. + +Removing a package is currently unsupported by Buildroot without +rebuilding from scratch. This is because Buildroot doesn’t keep track +of which package installs what files in the output/staging and output +/target directories. However, implementing clean package removal is +on the TODO-list of Buildroot developers. + +The easiest way to rebuild a single package from scratch is to remove +its build directory in output/build. Buildroot will then re-extract, +re-configure, re-compile and re-install this package from scratch. + +However, if you don’t want to rebuild the package completely from +scratch, a better understanding of the Buildroot internals is needed. +Internally, to keep track of which steps have been done and which +steps remain to be done, Buildroot maintains stamp files (empty files +that just tell whether this or that action has been done). The +problem is that these stamp files are not uniformly named and handled +by the different packages, so some understanding of the particular +package is needed. + +For packages relying on Buildroot packages infrastructures (see this +section ??? for details), the following stamp files are relevant: + + * output/build/packagename-version/.stamp_configured. If removed, + Buildroot will trigger the recompilation of the package from the + configuration step (execution of ./configure). + * output/build/packagename-version/.stamp_built. If removed, + Buildroot will trigger the recompilation of the package from the + compilation step (execution of make). + +For other packages, an analysis of the specific package.mk file is +needed. For example, the zlib Makefile used to look like this (before +it was converted to the generic package infrastructure): + +$(ZLIB_DIR)/.configured: $(ZLIB_DIR)/.patched + (cd $(ZLIB_DIR); rm -rf config.cache; \ + [...] + ) + touch $@ + +$(ZLIB_DIR)/libz.a: $(ZLIB_DIR)/.configured + $(MAKE) -C $(ZLIB_DIR) all libz.a + touch -c $@ + +If you want to trigger the reconfiguration, you need to remove output +/build/zlib-version/.configured. If you want to trigger only the +recompilation, you need to remove output/build/zlib-version/libz.a. + +Note that most packages, if not all, will progressively be ported +over to the generic or autotools infrastructure, making it much +easier to rebuild individual packages. + + +--------------------------------------------------------------------- + +Chapter 6. How Buildroot works + +--------------------------------------------------------------------- + +As mentioned above, Buildroot is basically a set of Makefiles that +download, configure, and compile software with the correct options. +It also includes patches for various software packages - mainly the +ones involved in the cross-compilation tool chain (gcc, binutils and +uClibc). + +There is basically one Makefile per software package, and they are +named with the .mk extension. Makefiles are split into three main +sections: + + * toolchain (in the toolchain/ directory) contains the Makefiles + and associated files for all software related to the + cross-compilation toolchain: binutils, gcc, gdb, kernel-headers + and uClibc. + * package (in the package/ directory) contains the Makefiles and + associated files for all user-space tools that Buildroot can + compile and add to the target root filesystem. There is one + sub-directory per tool. + * target (in the target directory) contains the Makefiles and + associated files for software related to the generation of the + target root filesystem image. Four types of filesystems are + supported: ext2, jffs2, cramfs and squashfs. For each of them + there is a sub-directory with the required files. There is also a + default/ directory that contains the target filesystem skeleton. + +Each directory contains at least 2 files: + + * something.mk is the Makefile that downloads, configures, compiles + and installs the package something. + * Config.in is a part of the configuration tool description file. + It describes the options related to the package. + +The main Makefile performs the following steps (once the +configuration is done): + + * Create all the output directories: staging, target, build, + stamps, etc. in the output directory (output/ by default, another + value can be specified using O=) + * Generate all the targets listed in the BASE_TARGETS variable. + When an internal toolchain is used, this means generating the + cross-compilation toolchain. When an external toolchain is used, + this means checking the features of the external toolchain and + importing it into the Buildroot environment. + * Generate all the targets listed in the TARGETS variable. This + variable is filled by all the individual components' Makefiles. + Generating these targets will trigger the compilation of the + userspace packages (libraries, programs), the kernel, the + bootloader and the generation of the root filesystem images, + depending on the configuration. + + +--------------------------------------------------------------------- + +Chapter 7. Using the generated toolchain outside Buildroot + +--------------------------------------------------------------------- + +You may want to compile, for your target, your own programs or other +software that are not packaged in Buildroot. In order to do this you +can use the toolchain that was generated by Buildroot. + +The toolchain generated by Buildroot is located by default in output/ +host/. The simplest way to use it is to add output/host/usr/bin/ to +your PATH environment variable and then to use ARCH-linux-gcc, +ARCH-linux-objdump, ARCH-linux-ld, etc. + +It is possible to relocate the toolchain - but then --sysroot must be +passed every time the compiler is called to tell where the libraries +and header files are. + +It is also possible to generate the Buildroot toolchain in a +directory other than output/host by using the Build options → Host +dir option. This could be useful if the toolchain must be shared with +other users. + + +--------------------------------------------------------------------- + +Chapter 8. Using an external toolchain + +--------------------------------------------------------------------- + +Using an already existing toolchain is useful for different reasons: + + * you already have a toolchain that is known to work for your + specific CPU + * you want to speed up the Buildroot build process by skipping the + long toolchain build part + * the toolchain generation feature of Buildroot is not sufficiently + flexible for you (for example if you need to generate a system + with glibc instead of uClibc) + +Buildroot supports using existing toolchains through a mechanism +called external toolchain. The external toolchain mechanism is +enabled in the Toolchain menu, by selecting External toolchain in +Toolchain type. + +Then, you have three solutions to use an external toolchain: + + * Use a predefined external toolchain profile, and let Buildroot + download, extract and install the toolchain. Buildroot already + knows about a few CodeSourcery toolchains for ARM, PowerPC, MIPS + and SuperH. Just select the toolchain profile in Toolchain + through the available ones. This is definitely the easiest + solution. + * Use a predefined external toolchain profile, but instead of + having Buildroot download and extract the toolchain, you can tell + Buildroot where your toolchain is already installed on your + system. Just select the toolchain profile in Toolchain through + the available ones, unselect Download toolchain automatically, + and fill the Toolchain path text entry with the path to your + cross-compiling toolchain. + * Use a completely custom external toolchain. This is particularly + useful for toolchains generated using crosstool-NG. To do this, + select the Custom toolchain solution in the Toolchain list. You + need to fill the Toolchain path, Toolchain prefix and External + toolchain C library options. Then, you have to tell Buildroot + what your external toolchain supports. If your external toolchain + uses the glibc library, you only have to tell whether your + toolchain supports C or not. If your external toolchain uses the + uclibc library, then you have to tell Buildroot if it supports + largefile, IPv6, RPC, wide-char, locale, program invocation, + threads and C. At the beginning of the execution, Buildroot will + tell you if the selected options do not match the toolchain + configuration. + +Our external toolchain support has been tested with toolchains from +CodeSourcery, toolchains generated by crosstool-NG, and toolchains +generated by Buildroot itself. In general, all toolchains that +support the sysroot feature should work. If not, do not hesitate to +contact the developers. + +We do not support toolchains from the ELDK of Denx, for two reasons: + + * The ELDK does not contain a pure toolchain (i.e just the + compiler, binutils, the C and C++ libraries), but a toolchain + that comes with a very large set of pre-compiled libraries and + programs. Therefore, Buildroot cannot import the sysroot of the + toolchain, as it would contain hundreds of megabytes of + pre-compiled libraries that are normally built by Buildroot. + * The ELDK toolchains have a completely non-standard custom + mechanism to handle multiple library variants. Instead of using + the standard GCC multilib mechanism, the ARM ELDK uses different + symbolic links to the compiler to differentiate between library + variants (for ARM soft-float and ARM VFP), and the PowerPC ELDK + compiler uses a CROSS_COMPILE environment variable. This + non-standard behaviour makes it difficult to support ELDK in + Buildroot. + +We also do not support using the distribution toolchain (i.e the gcc/ +binutils/C library installed by your distribution) as the toolchain +to build software for the target. This is because your distribution +toolchain is not a "pure" toolchain (i.e only with the C/C++ +library), so we cannot import it properly into the Buildroot build +environment. So even if you are building a system for a x86 or x86_64 +target, you have to generate a cross-compilation toolchain with +Buildroot or crosstool-NG. + + +--------------------------------------------------------------------- + +Chapter 9. Using ccache in Buildroot + +--------------------------------------------------------------------- + +ccache is a compiler cache. It stores the object files resulting from +each compilation process, and is able to skip future compilation of +the same source file (with same compiler and same arguments) by using +the pre-existing object files. When doing almost identical builds +from scratch a number of times, it can nicely speed up the build +process. + +ccache support is integrated in Buildroot. You just have to enable +Enable compiler cache in Build options. This will automatically build +ccache and use it for every host and target compilation. + +The cache is located in $HOME/.buildroot-ccache. It is stored outside +of Buildroot output directory so that it can be shared by separate +Buildroot builds. If you want to get rid of the cache, simply remove +this directory. + +You can get statistics on the cache (its size, number of hits, +misses, etc.) by running make ccache-stats. + + +--------------------------------------------------------------------- + +Chapter 10. Location of downloaded packages + +--------------------------------------------------------------------- + +It might be useful to know that the various tarballs that are +downloaded by the Makefiles are all stored in the DL_DIR which by +default is the dl directory. It’s useful, for example, if you want to +keep a complete version of Buildroot which is known to be working +with the associated tarballs. This will allow you to regenerate the +toolchain and the target filesystem with exactly the same versions. + +If you maintain several Buildroot trees, it might be better to have a +shared download location. This can be accessed by creating a symbolic +link from the dl directory to the shared download location: + + $ ln -s dl + +Another way of accessing a shared download location is to create the +BUILDROOT_DL_DIR environment variable. If this is set, then the value +of DL_DIR in the project is overridden. The following line should be +added to <~/.bashrc>. + + $ export BUILDROOT_DL_DIR + + +--------------------------------------------------------------------- + +Chapter 11. Adding new packages to Buildroot + +--------------------------------------------------------------------- + +This section covers how new packages (userspace libraries or +applications) can be integrated into Buildroot. It also shows how +existing packages are integrated, which is needed for fixing issues +or tuning their configuration. + + +11.1. Package directory + +-------------- + +First of all, create a directory under the package directory for your +software, for example libfoo. + +Some packages have been grouped by topic in a sub-directory: +multimedia, java, x11r7, and games. If your package fits in one of +these categories, then create your package directory in these. + +11.1.1. Config.in file + +Then, create a file named Config.in. This file will contain the +option descriptions related to our libfoo software that will be used +and displayed in the configuration tool. It should basically contain +: + +config BR2_PACKAGE_LIBFOO + bool "libfoo" + help + This is a comment that explains what libfoo is. + + http://foosoftware.org/libfoo/ + +The bool line, help line and other meta-informations about the +configuration option must be indented with one tab. The help text +itself should be indented with one tab and two spaces, and it must +mention the upstream URL of the project. + +Of course, you can add other sub-options into a if +BR2_PACKAGE_LIBFOO…endif statement to configure particular things in +your software. You can look at examples in other packages. The syntax +of the Config.in file is the same as the one for the kernel Kconfig +file. The documentation for this syntax is available at http:// +lxr.free-electrons.com/source/Documentation/kbuild/ +kconfig-language.txt + +Finally you have to add your new libfoo/Config.in to package/ +Config.in (or in a category subdirectory if you decided to put your +package in one of the existing categories). The files included there +are sorted alphabetically per category and are NOT supposed to +contain anything but the bare name of the package. + +source "package/libfoo/Config.in" + +The Config.in file of your package must also ensure that dependencies +are enabled. Typically, Buildroot uses the following rules: + + * Use a select type of dependency for dependencies on libraries. + These dependencies are generally not obvious and it therefore + make sense to have the kconfig system ensure that the + dependencies are selected. For example, the libgtk2 package uses + select BR2_PACKAGE_LIBGLIB2 to make sure this library is also + enabled. + * Use a depends on type of dependency when the user really needs to + be aware of the dependency. Typically, Buildroot uses this type + of dependency for dependencies on toolchain options (large file + support, RPC support, IPV6 support), or for dependencies on "big" + things, such as the X.org system. In some cases, especially + dependency on toolchain options, it is recommended to add a + comment displayed when the option is not enabled, so that the + user knows why the package is not available. + +An example illustrates both the usage of select and depends on. + +config BR2_PACKAGE_ACL + bool "acl" + select BR2_PACKAGE_ATTR + depends on BR2_LARGEFILE + help + POSIX Access Control Lists, which are used to define more + fine-grained discretionary access rights for files and + directories. + This package also provides libacl. + + http://savannah.nongnu.org/projects/acl + +comment "acl requires a toolchain with LARGEFILE support" + depends on !BR2_LARGEFILE + +Note that such dependencies will make sure that the dependency option +is also enabled, but not necessarily built before your package. To do +so, the dependency also needs to be expressed in the .mk file of the +package. + +11.1.2. The .mk file + +Finally, here’s the hardest part. Create a file named libfoo.mk. It +describes how the package should be downloaded, configured, built, +installed, etc. + +Depending on the package type, the .mk file must be written in a +different way, using different infrastructures: + + * Makefiles for generic packages (not using autotools or CMake): + These are based on an infrastructure similar to the one used for + autotools-based packages, but requires a little more work from + the developer. They specify what should be done for the + configuration, compilation, installation and cleanup of the + package. This infrastructure must be used for all packages that + do not use the autotools as their build system. In the future, + other specialized infrastructures might be written for other + build systems. We cover them through in a tutorial + Section 11.2.1, “GENTARGETS Tutorial” and a reference + Section 11.2.2, “GENTARGETS Reference”. + * Makefiles for autotools-based software (autoconf, automake, + etc.): We provide a dedicated infrastructure for such packages, + since autotools is a very common build system. This + infrastructure must be used for new packages that rely on the + autotools as their build system. We cover them through a tutorial + Section 11.3.1, “AUTOTARGETS tutorial” and reference + Section 11.3.2, “AUTOTARGETS reference”. + * Makefiles for cmake-based software: We provide a dedicated + infrastructure for such packages, as CMake is a more and more + commonly used build system and has a standardized behaviour. This + infrastructure must be used for new packages that rely on CMake. + We cover them through a tutorial Section 11.4.1, “CMAKETARGETS + tutorial” and reference Section 11.4.2, “CMAKETARGETS reference”. + * Hand-written Makefiles: These are currently obsolete, and no new + manual Makefiles should be added. However, since there are still + many of them in the tree, we keep them documented in a tutorial + Section 11.5, “Manual Makefile”. + + +11.2. Infrastructure for packages with specific build systems + +-------------- + +By packages with specific build systems we mean all the packages +whose build system is not one of the standard ones, such as autotools +or CMake. This typically includes packages whose build system is +based on hand-written Makefiles or shell scripts. + +11.2.1. GENTARGETS Tutorial + +01: ############################################################# +02: # +03: # libfoo +04: # +05: ############################################################# +06: LIBFOO_VERSION = 1.0 +07: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz +08: LIBFOO_SITE = http://www.foosoftware.org/download +09: LIBFOO_INSTALL_STAGING = YES +10: LIBFOO_DEPENDENCIES = host-libaaa libbbb +11: +12: define LIBFOO_BUILD_CMDS +13: $(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) all +14: endef +15: +16: define LIBFOO_INSTALL_STAGING_CMDS +17: $(INSTALL) -D -m 0755 $(@D)/libfoo.a $(STAGING_DIR)/usr/lib/libfoo.a +18: $(INSTALL) -D -m 0644 $(@D)/foo.h $(STAGING_DIR)/usr/include/foo.h +19: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(STAGING_DIR)/usr/lib +20: endef +21: +22: define LIBFOO_INSTALL_TARGET_CMDS +23: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(TARGET_DIR)/usr/lib +24: $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/foo.d +25: endef +26: +27: define LIBFOO_DEVICES +28: /dev/foo c 666 0 0 42 0 - - - +29: endef +30: +31: define LIBFOO_PERMISSIONS +32: /bin/foo f 4755 0 0 - - - - - +33: endef +34: +35: $(eval $(call GENTARGETS)) + +The Makefile begins on line 6 to 8 with metadata information: the +version of the package (LIBFOO_VERSION), the name of the tarball +containing the package (LIBFOO_SOURCE) and the Internet location at +which the tarball can be downloaded (LIBFOO_SITE). All variables must +start with the same prefix, LIBFOO_ in this case. This prefix is +always the uppercased version of the package name (see below to +understand where the package name is defined). + +On line 9, we specify that this package wants to install something to +the staging space. This is often needed for libraries, since they +must install header files and other development files in the staging +space. This will ensure that the commands listed in the +LIBFOO_INSTALL_STAGING_CMDS variable will be executed. + +On line 10, we specify the list of dependencies this package relies +on. These dependencies are listed in terms of lower-case package +names, which can be packages for the target (without the host- +prefix) or packages for the host (with the host-) prefix). Buildroot +will ensure that all these packages are built and installed before +the current package starts its configuration. + +The rest of the Makefile defines what should be done at the different +steps of the package configuration, compilation and installation. +LIBFOO_BUILD_CMDS tells what steps should be performed to build the +package. LIBFOO_INSTALL_STAGING_CMDS tells what steps should be +performed to install the package in the staging space. +LIBFOO_INSTALL_TARGET_CMDS tells what steps should be performed to +install the package in the target space. + +All these steps rely on the $(@D) variable, which contains the +directory where the source code of the package has been extracted. + +Finally, on line 35, we call the GENTARGETS which generates, +according to the variables defined previously, all the Makefile code +necessary to make your package working. + +11.2.2. GENTARGETS Reference + +The GENTARGETS macro takes one optional argument. This argument can +be used to tell if the package is a target package (cross-compiled +for the target) or a host package (natively compiled for the host). +If unspecified, it is assumed that it is a target package. See below +for details. + +For a given package, in a single .mk file, it is possible to call +GENTARGETS twice, once to create the rules to generate a target +package and once to create the rules to generate a host package: + +$(eval $(call GENTARGETS)) +$(eval $(call GENTARGETS,host)) + +This might be useful if the compilation of the target package +requires some tools to be installed on the host. If the package name +is libfoo, then the name of the package for the target is also +libfoo, while the name of the package for the host is host-libfoo. +These names should be used in the DEPENDENCIES variables of other +packages, if they depend on libfoo or host-libfoo. + +The call to the GENTARGETS macro must be at the end of the .mk file, +after all variable definitions. + +For the target package, the GENTARGETS uses the variables defined by +the .mk file and prefixed by the uppercased package name: LIBFOO_*. +For the host package, it uses the HOST_LIBFOO_*. For some variables, +if the HOST_LIBFOO_ prefixed variable doesn’t exist, the package +infrastructure uses the corresponding variable prefixed by LIBFOO_. +This is done for variables that are likely to have the same value for +both the target and host packages. See below for details. + +The list of variables that can be set in a .mk file to give metadata +information is (assuming the package name is libfoo) : + + * LIBFOO_VERSION, mandatory, must contain the version of the + package. Note that if HOST_LIBFOO_VERSION doesn’t exist, it is + assumed to be the same as LIBFOO_VERSION. It can also be a + revision number, branch or tag for packages that are fetched + directly from their revision control system. + Examples: + LIBFOO_VERSION = 0.1.2 + LIBFOO_VERSION = cb9d6aa9429e838f0e54faa3d455bcbab5eef057 + LIBFOO_VERSION = stable + * LIBFOO_SOURCE may contain the name of the tarball of the package. + If HOST_LIBFOO_SOURCE is not specified, it defaults to + LIBFOO_SOURCE. If none are specified, then the value is assumed + to be packagename-$(LIBFOO_VERSION).tar.gz. + Example: LIBFOO_SOURCE = foobar-$(LIBFOO_VERSION).tar.bz2 + * LIBFOO_PATCH may contain the name of a patch, that will be + downloaded from the same location as the tarball indicated in + LIBFOO_SOURCE. If HOST_LIBFOO_PATCH is not specified, it defaults + to LIBFOO_PATCH. Also note that another mechanism is available to + patch a package: all files of the form + packagename-packageversion-description.patch present in the + package directory inside Buildroot will be applied to the package + after extraction. + * LIBFOO_SITE may contain the Internet location of the package. It + can either be the HTTP, FTP or SCP location of a tarball, or the + URL of a Git, Subversion, Mercurial or Bazaar repository (see + LIBFOO_SITE_METHOD below). + SCP URLs should be of the form scp://[user@]host:filepath. Note + that filepath is relative to the user’s home directory, so you + may want to prepend the path with a slash for absolute paths: + scp://[user@]host:/absolutepath. + If HOST_LIBFOO_SITE is not specified, it defaults to LIBFOO_SITE. + If none are specified, then the location is assumed to be http:// + $$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/ + packagename. + Examples: + LIBFOO_SITE=http://www.libfoosoftware.org/libfoo + LIBFOO_SITE=http://svn.xiph.org/trunk/Tremor/ + LIBFOO_SITE=git://github.com/kergoth/tslib.git + * LIBFOO_SITE_METHOD may contain the method to fetch the package + source code. It can either be wget (for normal FTP/HTTP downloads + of tarballs), scp (for downloads over SSH with scp), svn, git, hg + or bzr. When not specified, it is guessed from the URL given in + LIBFOO_SITE: scp://, svn://, git:// and bzr:// URLs will use the + scp, svn, git and bzr methods respectively. All other URL-types + will use the wget method. So for example, in the case of a + package whose source code is available through a Subversion + repository on HTTP, one must specifiy LIBFOO_SITE_METHOD=svn. + Similarly, for Mercurial repositories, one must specify + LIBFOO_SITE_METHOD=hg. For svn, git, hg and bzr methods, what + Buildroot does is a checkout/clone of the repository which is + then tarballed and stored into the download cache. Next builds + will not checkout/clone again, but will use the tarball directly. + When HOST_LIBFOO_SITE_METHOD is not specified, it defaults to the + value of LIBFOO_SITE_METHOD. See package/multimedia/tremor/ for + an example. + * LIBFOO_DEPENDENCIES lists the dependencies (in terms of package + name) that are required for the current target package to + compile. These dependencies are guaranteed to be compiled and + installed before the configuration of the current package starts. + In a similar way, HOST_LIBFOO_DEPENDENCIES lists the dependency + for the current host package. + * LIBFOO_INSTALL_STAGING can be set to YES or NO (default). If set + to YES, then the commands in the LIBFOO_INSTALL_STAGING_CMDS + variables are executed to install the package into the staging + directory. + * LIBFOO_INSTALL_TARGET can be set to YES (default) or NO. If set + to YES, then the commands in the LIBFOO_INSTALL_TARGET_CMDS + variables are executed to install the package into the target + directory. + * LIBFOO_DEVICES lists the device files to be created by Buildroot + when using the static device table. The syntax to use is the + makedevs one. You can find some documentation for this syntax in + the Section 12.1, “Makedev syntax documentation”. This variable + is optional. + * LIBFOO_PERMISSIONS lists the changes of permissions to be done at + the end of the build process. The syntax is once again the + makedevs one. You can find some documentation for this syntax in + the Section 12.1, “Makedev syntax documentation”. This variable + is optional. + +The recommended way to define these variables is to use the following +syntax: + +LIBFOO_VERSION = 2.32 + +Now, the variables that define what should be performed at the +different steps of the build process. + + * LIBFOO_CONFIGURE_CMDS, used to list the actions to be performed + to configure the package before its compilation + * LIBFOO_BUILD_CMDS, used to list the actions to be performed to + compile the package + * HOST_LIBFOO_INSTALL_CMDS, used to list the actions to be + performed to install the package, when the package is a host + package. The package must install its files to the directory + given by $(HOST_DIR). All files, including development files such + as headers should be installed, since other packages might be + compiled on top of this package. + * LIBFOO_INSTALL_TARGET_CMDS, used to list the actions to be + performed to install the package to the target directory, when + the package is a target package. The package must install its + files to the directory given by $(TARGET_DIR). Only the files + required for documentation and execution of the package should be + installed. Header files should not be installed, they will be + copied to the target, if the development files in target + filesystem option is selected. + * LIBFOO_INSTALL_STAGING_CMDS, used to list the actions to be + performed to install the package to the staging directory, when + the package is a target package. The package must install its + files to the directory given by $(STAGING_DIR). All development + files should be installed, since they might be needed to compile + other packages. + * LIBFOO_CLEAN_CMDS, used to list the actions to perform to clean + up the build directory of the package. + * LIBFOO_UNINSTALL_TARGET_CMDS, used to list the actions to + uninstall the package from the target directory $(TARGET_DIR) + * LIBFOO_UNINSTALL_STAGING_CMDS, used to list the actions to + uninstall the package from the staging directory $(STAGING_DIR). + +The preferred way to define these variables is: + +define LIBFOO_CONFIGURE_CMDS + action 1 + action 2 + action 3 +endef + +In the action definitions, you can use the following variables: + + * $(@D), which contains the directory in which the package source + code has been uncompressed. + * $(TARGET_CC), $(TARGET_LD), etc. to get the target + cross-compilation utilities + * $(TARGET_CROSS) to get the cross-compilation toolchain prefix + * Of course the $(HOST_DIR), $(STAGING_DIR) and $(TARGET_DIR) + variables to install the packages properly. + +The last feature of the generic infrastructure is the ability to add +hooks. These define further actions to perform after existing steps. +Most hooks aren’t really useful for generic packages, since the .mk +file already has full control over the actions performed in each step +of the package construction. The hooks are more useful for packages +using the autotools infrastructure described below. However, since +they are provided by the generic infrastructure, they are documented +here. The exception is LIBFOO_POST_PATCH_HOOKS. Patching the package +is not user definable, so LIBFOO_POST_PATCH_HOOKS will be userful for +generic packages. + +The following hook points are available: + + * LIBFOO_POST_PATCH_HOOKS + * LIBFOO_PRE_CONFIGURE_HOOKS + * LIBFOO_POST_CONFIGURE_HOOKS + * LIBFOO_POST_BUILD_HOOKS + * LIBFOO_POST_INSTALL_HOOKS (for host packages only) + * LIBFOO_POST_INSTALL_STAGING_HOOKS (for target packages only) + * LIBFOO_POST_INSTALL_TARGET_HOOKS (for target packages only) + +These variables are lists of variable names containing actions to be +performed at this hook point. This allows several hooks to be +registered at a given hook point. Here is an example: + +define LIBFOO_POST_PATCH_FIXUP + action1 + action2 +endef + +LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP + + +11.3. Infrastructure for autotools-based packages + +-------------- + +11.3.1. AUTOTARGETS tutorial + +First, let’s see how to write a .mk file for an autotools-based +package, with an example : + +01: ############################################################# +02: # +03: # libfoo +04: # +05: ############################################################# +06: LIBFOO_VERSION = 1.0 +07: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz +08: LIBFOO_SITE = http://www.foosoftware.org/download +09: LIBFOO_INSTALL_STAGING = YES +10: LIBFOO_INSTALL_TARGET = YES +11: LIBFOO_CONF_OPT = --enable-shared +12: LIBFOO_DEPENDENCIES = libglib2 host-pkg-config +13: +14: $(eval $(call AUTOTARGETS)) + +On line 6, we declare the version of the package. + +On line 7 and 8, we declare the name of the tarball and the location +of the tarball on the Web. Buildroot will automatically download the +tarball from this location. + +On line 9, we tell Buildroot to install the package to the staging +directory. The staging directory, located in output/staging/ is the +directory where all the packages are installed, including their +development files, etc. By default, packages are not installed to the +staging directory, since usually, only libraries need to be installed +in the staging directory: their development files are needed to +compile other libraries or applications depending on them. Also by +default, when staging installation is enabled, packages are installed +in this location using the make install command. + +On line 10, we tell Buildroot to also install the package to the +target directory. This directory contains what will become the root +filesystem running on the target. Usually, we try not to install +header files and to install stripped versions of the binary. By +default, target installation is enabled, so in fact, this line is not +strictly necessary. Also by default, packages are installed in this +location using the make install command. + +On line 11, we tell Buildroot to pass a custom configure option, that +will be passed to the ./configure script before configuring and +building the package. + +On line 12, we declare our dependencies, so that they are built +before the build process of our package starts. + +Finally, on line line 14, we invoke the AUTOTARGETS macro that +generates all the Makefile rules that actually allows the package to +be built. + +11.3.2. AUTOTARGETS reference + +The main macro of the autotools package infrastructure is +AUTOTARGETS. It has the same number of arguments and the same +semantic as the GENTARGETS macro, which is the main macro of the +generic package infrastructure. For autotools packages, the ability +to have target and host packages is also available (and is actually +widely used). + +Just like the generic infrastructure, the autotools infrastructure +works by defining a number of variables before calling the +AUTOTARGETS macro. + +First, all the package metadata information variables that exist in +the generic infrastructure also exist in the autotools +infrastructure: LIBFOO_VERSION, LIBFOO_SOURCE, LIBFOO_PATCH, +LIBFOO_SITE, LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, +LIBFOO_INSTALL_STAGING, LIBFOO_INSTALL_TARGET. + +A few additional variables, specific to the autotools infrastructure, +can also be defined. Many of them are only useful in very specific +cases, typical packages will therefore only use a few of them. + + * LIBFOO_SUBDIR may contain the name of a subdirectory inside the + package that contains the configure script. This is useful, if + for example, the main configure script is not at the root of the + tree extracted by the tarball. If HOST_LIBFOO_SUBDIR is not + specified, it defaults to LIBFOO_SUBDIR. + * LIBFOO_CONF_ENV, to specify additional environment variables to + pass to the configure script. By default, empty. + * LIBFOO_CONF_OPT, to specify additional configure options to pass + to the configure script. By default, empty. + * LIBFOO_MAKE, to specify an alternate make command. This is + typically useful when parallel make is enabled in the + configuration (using BR2_JLEVEL) but that this feature should be + disabled for the given package, for one reason or another. By + default, set to $(MAKE). If parallel building is not supported by + the package, then it should be set to LIBFOO_MAKE=$(MAKE1). + * LIBFOO_MAKE_ENV, to specify additional environment variables to + pass to make in the build step. These are passed before the make + command. By default, empty. + * LIBFOO_MAKE_OPT, to specify additional variables to pass to make + in the build step. These are passed after the make command. By + default, empty. + * LIBFOO_AUTORECONF, tells whether the package should be + autoreconfigured or not (i.e, if the configure script and + Makefile.in files should be re-generated by re-running autoconf, + automake, libtool, etc.). Valid values are YES and NO. By + default, the value is NO + * LIBFOO_AUTORECONF_OPT to specify additional options passed to the + autoreconf program if LIBFOO_AUTORECONF=YES. By default, empty. + * LIBFOO_LIBTOOL_PATCH tells whether the Buildroot patch to fix + libtool cross-compilation issues should be applied or not. Valid + values are YES and NO. By default, the value is YES + * LIBFOO_INSTALL_STAGING_OPT contains the make options used to + install the package to the staging directory. By default, the + value is DESTDIR=$$(STAGING_DIR) install, which is correct for + most autotools packages. It is still possible to override it. + * LIBFOO_INSTALL_TARGET_OPT contains the make options used to + install the package to the target directory. By default, the + value is DESTDIR=$$(TARGET_DIR) install. The default value is + correct for most autotools packages, but it is still possible to + override it if needed. + * LIBFOO_CLEAN_OPT contains the make options used to clean the + package. By default, the value is clean. + * LIBFOO_UNINSTALL_STAGING_OPT, contains the make options used to + uninstall the package from the staging directory. By default, the + value is DESTDIR=$$(STAGING_DIR) uninstall. + * LIBFOO_UNINSTALL_TARGET_OPT, contains the make options used to + uninstall the package from the target directory. By default, the + value is DESTDIR=$$(TARGET_DIR) uninstall. + +With the autotools infrastructure, all the steps required to build +and install the packages are already defined, and they generally work +well for most autotools-based packages. However, when required, it is +still possible to customize what is done in any particular step: + + * By adding a post-operation hook (after extract, patch, configure, + build or install). See the reference documentation of the generic + infrastructure for details. + * By overriding one of the steps. For example, even if the + autotools infrastructure is used, if the package .mk file defines + its own LIBFOO_CONFIGURE_CMDS variable, it will be used instead + of the default autotools one. However, using this method should + be restricted to very specific cases. Do not use it in the + general case. + + +11.4. Infrastructure for CMake-based packages + +-------------- + +11.4.1. CMAKETARGETS tutorial + +First, let’s see how to write a .mk file for a CMake-based package, +with an example : + +01: ############################################################# +02: # +03: # libfoo +04: # +05: ############################################################# +06: LIBFOO_VERSION = 1.0 +07: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz +08: LIBFOO_SITE = http://www.foosoftware.org/download +09: LIBFOO_INSTALL_STAGING = YES +10: LIBFOO_INSTALL_TARGET = YES +11: LIBFOO_CONF_OPT = -DBUILD_DEMOS=ON +12: LIBFOO_DEPENDENCIES = libglib2 host-pkg-config +13: +14: $(eval $(call CMAKETARGETS)) + +On line 6, we declare the version of the package. + +On line 7 and 8, we declare the name of the tarball and the location +of the tarball on the Web. Buildroot will automatically download the +tarball from this location. + +On line 9, we tell Buildroot to install the package to the staging +directory. The staging directory, located in output/staging/ is the +directory where all the packages are installed, including their +development files, etc. By default, packages are not installed to the +staging directory, since usually, only libraries need to be installed +in the staging directory: their development files are needed to +compile other libraries or applications depending on them. Also by +default, when staging installation is enabled, packages are installed +in this location using the make install command. + +On line 10, we tell Buildroot to also install the package to the +target directory. This directory contains what will become the root +filesystem running on the target. Usually, we try not to install +header files and to install stripped versions of the binary. By +default, target installation is enabled, so in fact, this line is not +strictly necessary. Also by default, packages are installed in this +location using the make install command. + +On line 11, we tell Buildroot to pass custom options to CMake when it +is configuring the package. + +On line 12, we declare our dependencies, so that they are built +before the build process of our package starts. + +Finally, on line line 14, we invoke the CMAKETARGETS macro that +generates all the Makefile rules that actually allows the package to +be built. + +11.4.2. CMAKETARGETS reference + +The main macro of the CMake package infrastructure is CMAKETARGETS. +It has the same number of arguments and the same semantic as the +GENTARGETS macro, which is the main macro of the generic package +infrastructure. For CMake packages, the ability to have target and +host packages is also available. + +Just like the generic infrastructure, the CMake infrastructure works +by defining a number of variables before calling the CMAKETARGETS +macro. + +First, all the package metadata information variables that exist in +the generic infrastructure also exist in the CMake infrastructure: +LIBFOO_VERSION, LIBFOO_SOURCE, LIBFOO_PATCH, LIBFOO_SITE, +LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, LIBFOO_INSTALL_STAGING, +LIBFOO_INSTALL_TARGET. + +A few additional variables, specific to the CMake infrastructure, can +also be defined. Many of them are only useful in very specific cases, +typical packages will therefore only use a few of them. + + * LIBFOO_SUBDIR may contain the name of a subdirectory inside the + package that contains the main CMakeLists.txt file. This is + useful, if for example, the main CMakeLists.txt file is not at + the root of the tree extracted by the tarball. If + HOST_LIBFOO_SUBDIR is not specified, it defaults to + LIBFOO_SUBDIR. + * LIBFOO_CONF_ENV, to specify additional environment variables to + pass to CMake. By default, empty. + * LIBFOO_CONF_OPT, to specify additional configure options to pass + to CMake. By default, empty. + * LIBFOO_MAKE, to specify an alternate make command. This is + typically useful when parallel make is enabled in the + configuration (using BR2_JLEVEL) but that this feature should be + disabled for the given package, for one reason or another. By + default, set to $(MAKE). If parallel building is not supported by + the package, then it should be set to LIBFOO_MAKE=$(MAKE1). + * LIBFOO_MAKE_ENV, to specify additional environment variables to + pass to make in the build step. These are passed before the make + command. By default, empty. + * LIBFOO_MAKE_OPT, to specify additional variables to pass to make + in the build step. These are passed after the make command. By + default, empty. + * LIBFOO_INSTALL_STAGING_OPT contains the make options used to + install the package to the staging directory. By default, the + value is DESTDIR=$$(STAGING_DIR) install, which is correct for + most CMake packages. It is still possible to override it. + * LIBFOO_INSTALL_TARGET_OPT contains the make options used to + install the package to the target directory. By default, the + value is DESTDIR=$$(TARGET_DIR) install. The default value is + correct for most CMake packages, but it is still possible to + override it if needed. + * LIBFOO_CLEAN_OPT contains the make options used to clean the + package. By default, the value is clean. + +With the CMake infrastructure, all the steps required to build and +install the packages are already defined, and they generally work +well for most CMake-based packages. However, when required, it is +still possible to customize what is done in any particular step: + + * By adding a post-operation hook (after extract, patch, configure, + build or install). See the reference documentation of the generic + infrastructure for details. + * By overriding one of the steps. For example, even if the CMake + infrastructure is used, if the package .mk file defines its own + LIBFOO_CONFIGURE_CMDS variable, it will be used instead of the + default CMake one. However, using this method should be + restricted to very specific cases. Do not use it in the general + case. + + +11.5. Manual Makefile + +-------------- + +NOTE: new manual makefiles should not be created, and existing manual +makefiles should be converted either to the generic, autotools or +cmake infrastructure. This section is only kept to document the +existing manual makefiles and to help understand how they work. + +01: ############################################################# +02: # +03: # libfoo +04: # +05: ############################################################# +06: LIBFOO_VERSION:=1.0 +07: LIBFOO_SOURCE:=libfoo-$(LIBFOO_VERSION).tar.gz +08: LIBFOO_SITE:=http://www.foosoftware.org/downloads +09: LIBFOO_DIR:=$(BUILD_DIR)/foo-$(FOO_VERSION) +10: LIBFOO_BINARY:=foo +11: LIBFOO_TARGET_BINARY:=usr/bin/foo +12: +13: $(DL_DIR)/$(LIBFOO_SOURCE): +14: $(call DOWNLOAD,$(LIBFOO_SITE),$(LIBFOO_SOURCE)) +15: +16: $(LIBFOO_DIR)/.source: $(DL_DIR)/$(LIBFOO_SOURCE) +17: $(ZCAT) $(DL_DIR)/$(LIBFOO_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - +18: touch $@ +19: +20: $(LIBFOO_DIR)/.configured: $(LIBFOO_DIR)/.source +21: (cd $(LIBFOO_DIR); rm -rf config.cache; \ +22: $(TARGET_CONFIGURE_OPTS) \ +23: $(TARGET_CONFIGURE_ARGS) \ +24: ./configure \ +25: --target=$(GNU_TARGET_NAME) \ +26: --host=$(GNU_TARGET_NAME) \ +27: --build=$(GNU_HOST_NAME) \ +28: --prefix=/usr \ +29: --sysconfdir=/etc \ +30: ) +31: touch $@ +32: +33: $(LIBFOO_DIR)/$(LIBFOO_BINARY): $(LIBFOO_DIR)/.configured +34: $(MAKE) CC=$(TARGET_CC) -C $(LIBFOO_DIR) +35: +36: $(TARGET_DIR)/$(LIBFOO_TARGET_BINARY): $(LIBFOO_DIR)/$(LIBFOO_BINARY) +37: $(MAKE) DESTDIR=$(TARGET_DIR) -C $(LIBFOO_DIR) install-strip +38: rm -Rf $(TARGET_DIR)/usr/man +39: +40: libfoo: uclibc ncurses $(TARGET_DIR)/$(LIBFOO_TARGET_BINARY) +41: +42: libfoo-source: $(DL_DIR)/$(LIBFOO_SOURCE) +43: +44: libfoo-clean: +45: $(MAKE) prefix=$(TARGET_DIR)/usr -C $(LIBFOO_DIR) uninstall +46: -$(MAKE) -C $(LIBFOO_DIR) clean +47: +48: libfoo-dirclean: +49: rm -rf $(LIBFOO_DIR) +50: +51: ############################################################# +52: # +53: # Toplevel Makefile options +54: # +55: ############################################################# +56: ifeq ($(BR2_PACKAGE_LIBFOO),y) +57: TARGETS+=libfoo +58: endif + +First of all, this Makefile example works for a package which +comprises a single binary executable. For other software, such as +libraries or more complex stuff with multiple binaries, it must be +qqadapted. For examples look at the other *.mk files in the package +directory. + +At lines 6-11, a couple of useful variables are defined: + + * LIBFOO_VERSION: The version of libfoo that should be downloaded. + * LIBFOO_SOURCE: The name of the tarball of libfoo on the download + website or FTP site. As you can see LIBFOO_VERSION is used. + * LIBFOO_SITE: The HTTP or FTP site from which libfoo archive is + downloaded. It must include the complete path to the directory + where LIBFOO_SOURCE can be found. + * LIBFOO_DIR: The directory into which the software will be + configured and compiled. Basically, it’s a subdirectory of + BUILD_DIR which is created upon decompression of the tarball. + * LIBFOO_BINARY: Software binary name. As said previously, this is + an example for a package with a single binary. + * LIBFOO_TARGET_BINARY: The full path of the binary inside the + target filesystem. Lines 13-14 define a target that downloads the + tarball from the remote site to the download directory (DL_DIR). + +Lines 16-18 define a target and associated rules that uncompress the +downloaded tarball. As you can see, this target depends on the +tarball file so that the previous target (lines 13-14) is called +before executing the rules of the current target. Uncompressing is +followed by touching a hidden file to mark the software as having +been uncompressed. This trick is used everywhere in a Buildroot +Makefile to split steps (download, uncompress, configure, compile, +install) while still having correct dependencies. + +Lines 20-31 define a target and associated rules that configure the +software. It depends on the previous target (the hidden .source file) +so that we are sure the software has been uncompressed. In order to +configure the package, it basically runs the well-known ./configure +script. As we may be doing cross-compilation, target, host and build +arguments are given. The prefix is also set to /usr, not because the +software will be installed in /usr on your host system, but because +the software will be installed in + /usr+ on the target filesystem. +Finally it creates a .configured file to mark the software as +configured. + +Lines 33-34 define a target and a rule that compile the software. +This target will create the binary file in the compilation directory +and depends on the software being already configured (hence the +reference to the .configured file). It basically runs make inside the +source directory. + +Lines 36-38 define a target and associated rules that install the +software inside the target filesystem. They depend on the binary file +in the source directory to make sure the software has been compiled. +They use the install-strip target of the software Makefile by passing +a DESTDIR argument so that the Makefile doesn’t try to install the +software in the host /usr but rather in the target /usr. After the +installation, the +/usr/man + directory inside the target filesystem +is removed to save space. + +Line 40 defines the main target of the software — the one that will +eventually be used by the top level Makefile to download, compile, +and then install this package. This target should first of all depend +on all needed dependencies of the software (in our example, uclibc +and ncurses) and also depend on the final binary. This last +dependency will call all previous dependencies in the correct order. + +Line 42 defines a simple target that only downloads the code source. +This is not used during normal operation of Buildroot, but is needed +if you intend to download all required sources at once for later +offline build. Note that if you add a new package, providing a +libfoo-source target is mandatory to support users that wish to do +offline-builds. Furthermore, it eases checking if all package-sources +are downloadable. + +Lines 44-46 define a simple target to clean the software build by +calling the Makefile with the appropriate options. The -clean target +should run make clean on $(BUILD_DIR)/package-version and MUST +uninstall all files of the package from $(STAGING_DIR) and from $ +(TARGET_DIR). + +Lines 48-49 define a simple target to completely remove the directory +in which the software was uncompressed, configured and compiled. The +-dirclean target MUST completely rm $(BUILD_DIR)/ package-version. + +Lines 51-58 add the target libfoo to the list of targets to be +compiled by Buildroot, by first checking if the configuration option +for this package has been enabled using the configuration tool. If +so, it then "subscribes" this package to be compiled by adding the +package to the TARGETS global variable. The name added to the TARGETS +global variable is the name of this package’s target, as defined on +line 40, which is used by Buildroot to download, compile, and then +install this package. + + +11.6. Gettext integration and interaction with packages + +-------------- + +Many packages that support internationalization use the gettext +library. Dependencies for this library are fairly complicated and +therefore, deserves some explanation. + +The uClibc C library doesn’t implement gettext functionality, +therefore with this C library, a separate gettext must be compiled. +On the other hand, the glibc C library does integrate its own +gettext, and in this case, the separate gettext library should not be +compiled, because it creates various kinds of build failures. + +Additionally, some packages (such as libglib2) do require gettext +unconditionally, while other packages (those who support +--disable-nls in general) only require gettext when locale support is +enabled. + +Therefore, Buildroot defines two configuration options: + + * BR2_NEEDS_GETTEXT, which is true as soon as the toolchain doesn’t + provide its own gettext implementation + * BR2_NEEDS_GETTEXT_IF_LOCALE, which is true if the toolchain + doesn’t provide its own gettext implementation and if locale + support is enabled + +Therefore, packages that unconditionally need gettext should: + + * Use select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT and possibly + select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT, if libintl is + also needed + * Use $(if $(BR2_NEEDS_GETTEXT),gettext) in the package + DEPENDENCIES variable + +Packages that need gettext only when locale support is enabled +should: + + * Use select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE and + possibly select BR2_PACKAGE_LIBINTL if + BR2_NEEDS_GETTEXT_IF_LOCALE, if libintl is also needed + * Use $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) in the package + DEPENDENCIES variable + + +11.7. Conclusion + +-------------- + +As you can see, adding a software package to Buildroot is simply a +matter of writing a Makefile using an existing example and modifying +it according to the compilation process required by the package. + +If you package software that might be useful for other people, don’t +forget to send a patch to Buildroot developers! + + +--------------------------------------------------------------------- + +Chapter 12. Appendix + +--------------------------------------------------------------------- + + +12.1. Makedev syntax documentation + +-------------- + +The makedev syntax is used across several places in Buildroot to +define changes to be made for permissions or which device files to +create and how to create them, in order to avoid to call mkdnod every +now and then. + +This syntax is derived from the makedev utility, and a more complete +documentation can be found in the package/makedevs/README file. + +It takes the form of a line for each file, with the following layout: + ++--------------------------------------------------+ +|name|type|mode|uid|gid|major|minor|start|inc|count| ++--------------------------------------------------+ + +There is a few non-trivial blocks here: + + * name is the path to the file you want to create/modify + * type is the type of the file, being one of : + + o f: a regular file + o d: a directory + o c: a character device file + o b: a block device file + o p: a named pipe + * mode, uid and gid are the usual permissions stuff + * major and minor are here for device files + * start, inc and count are when you want to create a whole batch of + files, and can be reduced to a loop, beginning at start, + incrementing its counter by inc until it reaches count + +Let’s say you want to change the permissions of a given file, using +this syntax, you will need to put: + +/usr/bin/foobar f 644 0 0 - - - - - + +On the other hand, if you want to create the device file /dev/hda and +the corresponding 15 files for the partitions, you will need for /dev +/hda: + +/dev/hda b 640 0 0 3 0 0 0 - + +and then for device files corresponding to the partitions of /dev/ +hda, /dev/hdaX, X ranging from 1 to 15: + +/dev/hda b 640 0 0 3 1 1 1 15 + diff --git a/docs/manual/manual.txt b/docs/manual/manual.txt index 10ce695..732b50c 100644 --- a/docs/manual/manual.txt +++ b/docs/manual/manual.txt @@ -30,3 +30,5 @@ include::ccache-support.txt[] include::download-location.txt[] include::adding-packages.txt[] + +include::appendix.txt[] diff --git a/docs/news.html b/docs/news.html index 2e54a9e..650184a 100644 --- a/docs/news.html +++ b/docs/news.html @@ -5,12 +5,71 @@

    News

      +
    • 29 February 2012 -- 2012.02 released + +

      The stable 2012.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, + and go to the downloads page to pick up the + 2012.02 release.

      + +
    • 27 February 2012 -- 2012.02-rc3 released + +

      RC3 is out with more bugfixes - See the CHANGES + file for details. + +

      Head to the downloads page to pick up the + 2012.02-rc3 + release candidate, and report any problems found to the mailing list or bug tracker.

      + +
    • 19 February 2012 -- 2012.02-rc2 released + +

      Another week, another release candidate with more cleanups and + build fixes. See the CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2012.02-rc2 + release candidate, and report any problems found to the mailing list or bug tracker.

      + +
    • 12 February 2012 -- 2012.02-rc1 released + +

      We have a new release candidate! Lots of changes all over the + tree, see the CHANGES + file for details, and read the + announcement.

      + +

      Head to the downloads page to pick up the + 2012.02-rc1 + release candidate, and report any problems found to the mailing list or bug tracker.

      + +
    • 31 January 2012 -- Buildroot Developer Day + +

      Another Buildroot Developer Day will take place on + Friday, February 3rd in Brussels, Belgium - The day before FOSDEM. See the + announcement + or the Free Electrons blog + for more info.

      +
    • 30 November 2011 -- 2011.11 released

      The stable 2011.11 release is out - Thanks to everyone contributing and testing the release candidates. See the CHANGES - file for more details, and go to the downloads page to pick up the + file for more details, read the + announcement + and go to the downloads page to pick up the 2011.11 release.

    • 26 November 2011 -- 2011.11-rc3 released diff --git a/fs/common.mk b/fs/common.mk index f793ff9..d426f37 100644 --- a/fs/common.mk +++ b/fs/common.mk @@ -50,6 +50,10 @@ $(BINARIES_DIR)/rootfs.$(1): $(ROOTFS_$(2)_DEPENDENCIES) echo "chown -R 0:0 $(TARGET_DIR)" >> $(FAKEROOT_SCRIPT) ifneq ($(ROOTFS_DEVICE_TABLES),) cat $(ROOTFS_DEVICE_TABLES) > $(FULL_DEVICE_TABLE) +ifeq ($(BR2_ROOTFS_DEVICE_CREATION_STATIC),y) + echo -e '$(subst $(sep),\n,$(PACKAGES_DEVICES_TABLE))' >> $(FULL_DEVICE_TABLE) +endif + echo -e '$(subst $(sep),\n,$(PACKAGES_PERMISSIONS_TABLE))' >> $(FULL_DEVICE_TABLE) echo "$(HOST_DIR)/usr/bin/makedevs -d $(FULL_DEVICE_TABLE) $(TARGET_DIR)" >> $(FAKEROOT_SCRIPT) endif echo "$(ROOTFS_$(2)_CMD)" >> $(FAKEROOT_SCRIPT) diff --git a/fs/skeleton/etc/hostname b/fs/skeleton/etc/hostname index faf96a0..5b26b35 100644 --- a/fs/skeleton/etc/hostname +++ b/fs/skeleton/etc/hostname @@ -1 +1 @@ -beagleboard-xm \ No newline at end of file +buildroot diff --git a/fs/skeleton/etc/init.d/rcK b/fs/skeleton/etc/init.d/rcK new file mode 100755 index 0000000..59e9c54 --- /dev/null +++ b/fs/skeleton/etc/init.d/rcK @@ -0,0 +1,27 @@ +#!/bin/sh + + +# Stop all init scripts in /etc/init.d +# executing them in reversed numerical order. +# +for i in $(ls -r /etc/init.d/S??*) ;do + + # Ignore dangling symlinks (if any). + [ ! -f "$i" ] && continue + + case "$i" in + *.sh) + # Source shell script for speed. + ( + trap - INT QUIT TSTP + set stop + . $i + ) + ;; + *) + # No sh extension, so fork subprocess. + $i stop + ;; + esac +done + diff --git a/fs/skeleton/etc/inittab b/fs/skeleton/etc/inittab index ac410d6..85881f4 100644 --- a/fs/skeleton/etc/inittab +++ b/fs/skeleton/etc/inittab @@ -30,8 +30,7 @@ null::sysinit:/bin/hostname -F /etc/hostname ::ctrlaltdel:/sbin/reboot # Stuff to do before rebooting -null::shutdown:/usr/bin/killall klogd -null::shutdown:/usr/bin/killall syslogd +null::shutdown:/etc/init.d/rcK null::shutdown:/bin/umount -a -r null::shutdown:/sbin/swapoff -a diff --git a/fs/skeleton/etc/mg-release b/fs/skeleton/etc/mg-release index d1f2c76..689464a 100644 --- a/fs/skeleton/etc/mg-release +++ b/fs/skeleton/etc/mg-release @@ -1 +1 @@ -mg01.0 +mg01.1 diff --git a/fs/skeleton/etc/securetty b/fs/skeleton/etc/securetty index 6c07d7f..547ceda 100644 --- a/fs/skeleton/etc/securetty +++ b/fs/skeleton/etc/securetty @@ -46,3 +46,4 @@ ttySC2 ttySC3 ttySC4 ttySC5 +ttyGS0 diff --git a/fs/skeleton/run b/fs/skeleton/run new file mode 120000 index 0000000..1c2f433 --- /dev/null +++ b/fs/skeleton/run @@ -0,0 +1 @@ +tmp \ No newline at end of file diff --git a/fs/skeleton/var/lib/misc b/fs/skeleton/var/lib/misc new file mode 120000 index 0000000..f1fde8c --- /dev/null +++ b/fs/skeleton/var/lib/misc @@ -0,0 +1 @@ +../../tmp \ No newline at end of file diff --git a/linux/Config.ext.in b/linux/Config.ext.in index 8a9f87e..172fa76 100644 --- a/linux/Config.ext.in +++ b/linux/Config.ext.in @@ -3,10 +3,18 @@ menu "Linux Kernel Extensions" # Xenomai config BR2_LINUX_KERNEL_EXT_XENOMAI bool "Adeos/Xenomai Real-time patch" + depends on BR2_i386 || BR2_x86_64 || BR2_arm || \ + BR2_bfin || BR2_powerpc || BR2_sh4 select BR2_PACKAGE_XENOMAI help Xenomai Kernel part. + In the current version of Xenomai, the following kernel + versions are supported: on Blackfin, 2.6.34 and 2.6.36.9, on + SH4, 2.6.32.10, on x86, 2.6.35.9, 2.6.37.6, 2.6.38.8, on + ARM, 2.6.35.9, 2.6.37.6, 2.6.38.8, on NIOS2, 2.6.35, on + PowerPC, 2.6.35.7, 2.6.36.4, 3.0.8. + config BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH depends on BR2_LINUX_KERNEL_EXT_XENOMAI string "Path for Adeos patch file" diff --git a/linux/Config.in b/linux/Config.in index d725e40..528165e 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -24,9 +24,6 @@ choice config BR2_LINUX_KERNEL_3_2 bool "3.2.8" -config BR2_LINUX_KERNEL_3_1 - bool "3.1.4" - config BR2_LINUX_KERNEL_SAME_AS_HEADERS bool "Same as toolchain kernel headers" depends on BR2_TOOLCHAIN_BUILDROOT @@ -61,7 +58,6 @@ endchoice config BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE string "Kernel version" depends on BR2_LINUX_KERNEL_CUSTOM_VERSION - default "3.1.4" config BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION string "URL of custom kernel tarball" diff --git a/linux/linux.mk b/linux/linux.mk index 5c5a1d2..ae236d4 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -40,7 +40,7 @@ LINUX_MAKE_FLAGS = \ ARCH=$(KERNEL_ARCH) \ INSTALL_MOD_PATH=$(TARGET_DIR) \ CROSS_COMPILE="$(CCACHE) $(TARGET_CROSS)" \ - LZMA="$(LZMA)" + DEPMOD=$(HOST_DIR)/usr/sbin/depmod # Get the real Linux version, which tells us where kernel modules are # going to be installed in the target filesystem. diff --git a/package/Config.in b/package/Config.in index ce95d95..7129f55 100644 --- a/package/Config.in +++ b/package/Config.in @@ -19,15 +19,20 @@ endmenu menu "Debugging, profiling and benchmark" source "package/bonnie/Config.in" source "package/dhrystone/Config.in" +source "package/dstat/Config.in" source "package/dmalloc/Config.in" source "package/kexec/Config.in" source "package/lmbench/Config.in" source "package/lsof/Config.in" source "package/ltp-testsuite/Config.in" +source "package/lttng-babeltrace/Config.in" +source "package/lttng-modules/Config.in" +source "package/lttng-tools/Config.in" source "package/ltrace/Config.in" source "package/memstat/Config.in" source "package/netperf/Config.in" source "package/oprofile/Config.in" +source "package/rt-tests/Config.in" source "package/strace/Config.in" source "package/whetstone/Config.in" source "package/valgrind/Config.in" @@ -117,6 +122,7 @@ source "package/sdl_ttf/Config.in" source "package/sdl_gfx/Config.in" comment "other GUIs" +source "package/efl/Config.in" source "package/qt/Config.in" source "package/x11r7/Config.in" @@ -133,6 +139,7 @@ source "package/fluxbox/Config.in" comment "X applications" source "package/alsamixergui/Config.in" source "package/docker/Config.in" +source "package/feh/Config.in" source "package/gqview/Config.in" source "package/gmpc/Config.in" source "package/gob2/Config.in" @@ -183,7 +190,7 @@ source "package/input-tools/Config.in" source "package/iostat/Config.in" source "package/irda-utils/Config.in" source "package/kbd/Config.in" -source "package/libv4l/Config.in" +source "package/linux-firmware/Config.in" source "package/lm-sensors/Config.in" source "package/lsuio/Config.in" source "package/lvm2/Config.in" @@ -194,10 +201,12 @@ source "package/memtester/Config.in" source "package/mtd/Config.in" source "package/ntfs-3g/Config.in" source "package/ntfsprogs/Config.in" +source "package/open2300/Config.in" source "package/openocd/Config.in" source "package/pciutils/Config.in" source "package/picocom/Config.in" source "package/rng-tools/Config.in" +source "package/sane-backends/Config.in" source "package/sdparm/Config.in" source "package/setserial/Config.in" source "package/smartmontools/Config.in" @@ -210,6 +219,7 @@ source "package/sysstat/Config.in" source "package/ti-utils/Config.in" source "package/uboot-tools/Config.in" source "package/udev/Config.in" +source "package/unionfs/Config.in" source "package/usb_modeswitch/Config.in" source "package/usbmount/Config.in" source "package/usbutils/Config.in" @@ -220,7 +230,6 @@ endmenu menu "Interpreter languages and scripting" source "package/haserl/Config.in" -source "package/java/jamvm/Config.in" source "package/lua/Config.in" if BR2_PACKAGE_LUA menu "LUA libraries/modules" @@ -237,6 +246,16 @@ endif source "package/microperl/Config.in" source "package/php/Config.in" source "package/python/Config.in" +if BR2_PACKAGE_PYTHON +menu "external python modules" +source "package/python-dpkt/Config.in" +source "package/python-mad/Config.in" +source "package/python-netifaces/Config.in" +source "package/python-pygame/Config.in" +source "package/python-serial/Config.in" +source "package/python-setuptools/Config.in" +endmenu +endif source "package/ruby/Config.in" source "package/tcl/Config.in" endmenu @@ -261,6 +280,7 @@ endmenu menu "Database" source "package/berkeleydb/Config.in" source "package/mysql_client/Config.in" +source "package/sqlcipher/Config.in" source "package/sqlite/Config.in" endmenu @@ -279,8 +299,10 @@ source "package/cairo/Config.in" source "package/fltk/Config.in" source "package/fontconfig/Config.in" source "package/freetype/Config.in" +source "package/giblib/Config.in" source "package/gtk2-engines/Config.in" source "package/gtk2-themes/Config.in" +source "package/imlib2/Config.in" source "package/jpeg/Config.in" source "package/libart/Config.in" source "package/libdrm/Config.in" @@ -311,39 +333,46 @@ source "package/libhid/Config.in" source "package/libiqrf/Config.in" source "package/libusb/Config.in" source "package/libusb-compat/Config.in" -source "package/python-serial/Config.in" +source "package/libv4l/Config.in" endmenu -if BROKEN -menu "Java" -source "package/java/classpath/Config.in" -source "package/java/concierge/Config.in" +menu "Javascript" +source "package/explorercanvas/Config.in" +source "package/flot/Config.in" +source "package/jquery/Config.in" +source "package/jquery-sparkline/Config.in" +source "package/jquery-validation/Config.in" +source "package/jsmin/Config.in" endmenu -endif menu "Networking" source "package/libcgi/Config.in" source "package/libcgicc/Config.in" source "package/libcurl/Config.in" source "package/libdnet/Config.in" +source "package/libesmtp/Config.in" source "package/libeXosip2/Config.in" source "package/libidn/Config.in" +source "package/liboauth/Config.in" source "package/libmicrohttpd/Config.in" source "package/neon/Config.in" source "package/libmnl/Config.in" source "package/libmodbus/Config.in" +source "package/libmbus/Config.in" source "package/libnl/Config.in" source "package/libpcap/Config.in" source "package/libosip2/Config.in" source "package/librsync/Config.in" source "package/libsoup/Config.in" source "package/libupnp/Config.in" +source "package/libvncserver/Config.in" endmenu menu "Other" source "package/fftw/Config.in" source "package/libargtable2/Config.in" source "package/argp-standalone/Config.in" +source "package/boost/Config.in" source "package/libatomic_ops/Config.in" source "package/libcap/Config.in" source "package/libdaemon/Config.in" @@ -352,8 +381,11 @@ source "package/libevent/Config.in" source "package/libev/Config.in" source "package/libffi/Config.in" source "package/libglib2/Config.in" +source "package/libical/Config.in" source "package/libnspr/Config.in" source "package/libsigc/Config.in" +source "package/liburcu/Config.in" +source "package/lttng-libust/Config.in" source "package/orc/Config.in" source "package/poco/Config.in" source "package/startup-notification/Config.in" @@ -404,6 +436,7 @@ source "package/bmon/Config.in" source "package/bridge-utils/Config.in" source "package/bwm-ng/Config.in" source "package/can-utils/Config.in" +source "package/connman/Config.in" source "package/ctorrent/Config.in" source "package/cifs-utils/Config.in" source "package/cups/Config.in" @@ -420,6 +453,7 @@ source "package/hostapd/Config.in" if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS source "package/ifplugd/Config.in" endif +source "package/igh-ethercat/Config.in" source "package/iperf/Config.in" source "package/iproute2/Config.in" source "package/ipsec-tools/Config.in" @@ -445,6 +479,7 @@ endif source "package/netplug/Config.in" source "package/netsnmp/Config.in" source "package/netstat-nat/Config.in" +source "package/network-manager/Config.in" source "package/noip/Config.in" source "package/nfs-utils/Config.in" source "package/ngircd/Config.in" @@ -478,6 +513,7 @@ source "package/thttpd/Config.in" source "package/tinyhttpd/Config.in" endif source "package/tn5250/Config.in" +source "package/transmission/Config.in" source "package/ttcp/Config.in" source "package/udpcast/Config.in" source "package/vpnc/Config.in" @@ -532,6 +568,7 @@ if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS source "package/bootutils/Config.in" endif source "package/htop/Config.in" +source "package/kmod/Config.in" if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS source "package/module-init-tools/Config.in" source "package/procps/Config.in" diff --git a/package/Config.in.host b/package/Config.in.host new file mode 100644 index 0000000..1f49e79 --- /dev/null +++ b/package/Config.in.host @@ -0,0 +1,7 @@ +menu "Host utilities" + +source "package/openocd/Config.in.host" +source "package/sam-ba/Config.in.host" +source "package/uboot-tools/Config.in.host" + +endmenu diff --git a/package/Makefile.autotools.in b/package/Makefile.autotools.in index 3f523dc..fd118dc 100644 --- a/package/Makefile.autotools.in +++ b/package/Makefile.autotools.in @@ -93,7 +93,7 @@ $(2)_CLEAN_OPT ?= clean $(2)_UNINSTALL_STAGING_OPT ?= DESTDIR=$$(STAGING_DIR) uninstall $(2)_UNINSTALL_TARGET_OPT ?= DESTDIR=$$(TARGET_DIR) uninstall -$(2)_SRCDIR = $$($(2)_DIR)/$($(2)_SUBDIR) +$(2)_SRCDIR = $$($(2)_DIR)/$$($(2)_SUBDIR) # # Configure step. Only define it if not already defined by the package @@ -200,6 +200,13 @@ define AUTORECONF_HOOK fi endef +# This must be repeated from GENTARGETS_INNER, otherwise we get an empty +# _DEPENDENCIES if _AUTORECONF is YES. Also filter the result of _AUTORECONF +# away from the non-host rule +$(2)_DEPENDENCIES ?= $(filter-out host-automake host-autoconf host-libtool,\ + $(patsubst host-host-%,host-%,$(addprefix host-,$($(3)_DEPENDENCIES)))) + + ifeq ($$($(2)_AUTORECONF),YES) $(2)_PRE_CONFIGURE_HOOKS += AUTORECONF_HOOK $(2)_DEPENDENCIES += host-automake host-autoconf host-libtool @@ -212,11 +219,11 @@ endif ifndef $(2)_BUILD_CMDS ifeq ($(5),target) define $(2)_BUILD_CMDS - $(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) $$($$(PKG)_MAKE_OPT) -C $$($$(PKG)_SRCDIR) + $$(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) $$($$(PKG)_MAKE_OPT) -C $$($$(PKG)_SRCDIR) endef else define $(2)_BUILD_CMDS - $(HOST_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) $$($$(PKG)_MAKE_OPT) -C $$($$(PKG)_SRCDIR) + $$(HOST_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) $$($$(PKG)_MAKE_OPT) -C $$($$(PKG)_SRCDIR) endef endif endif @@ -227,7 +234,7 @@ endif # ifndef $(2)_INSTALL_CMDS define $(2)_INSTALL_CMDS - $(HOST_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) -C $$($$(PKG)_SRCDIR) install + $$(HOST_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) -C $$($$(PKG)_SRCDIR) install endef endif @@ -237,7 +244,7 @@ endif # ifndef $(2)_INSTALL_STAGING_CMDS define $(2)_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) $$($$(PKG)_INSTALL_STAGING_OPT) -C $$($$(PKG)_SRCDIR) + $$(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) $$($$(PKG)_INSTALL_STAGING_OPT) -C $$($$(PKG)_SRCDIR) for i in $$$$(find $(STAGING_DIR)/usr/lib* -name "*.la"); do \ cp -f $$$$i $$$$i~; \ $$(SED) "s:\(['= ]\)/usr:\\1$(STAGING_DIR)/usr:g" $$$$i; \ @@ -251,7 +258,7 @@ endif # ifndef $(2)_INSTALL_TARGET_CMDS define $(2)_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) $$($$(PKG)_INSTALL_TARGET_OPT) -C $$($$(PKG)_SRCDIR) + $$(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) $$($$(PKG)_INSTALL_TARGET_OPT) -C $$($$(PKG)_SRCDIR) endef endif @@ -261,7 +268,7 @@ endif # ifndef $(2)_CLEAN_CMDS define $(2)_CLEAN_CMDS - -$(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) $$($$(PKG)_CLEAN_OPT) -C $$($$(PKG)_SRCDIR) + -$$(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) $$($$(PKG)_CLEAN_OPT) -C $$($$(PKG)_SRCDIR) endef endif @@ -271,17 +278,20 @@ endif # ifndef $(2)_UNINSTALL_STAGING_CMDS define $(2)_UNINSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) $$($$(PKG)_UNINSTALL_STAGING_OPT) -C $$($$(PKG)_SRCDIR) + $$(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) $$($$(PKG)_UNINSTALL_STAGING_OPT) -C $$($$(PKG)_SRCDIR) endef endif # # Uninstall from target step. Only define it if not already defined # by the package .mk file. +# Autotools Makefiles do uninstall with ( cd ...; rm -f ... ) +# Since we remove a lot of directories in target-finalize, this is likely +# to fail. Therefore add -k flag. # ifndef $(2)_UNINSTALL_TARGET_CMDS define $(2)_UNINSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) $$($$(PKG)_UNINSTALL_TARGET_OPT) -C $$($$(PKG)_SRCDIR) + $$(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) -k $$($$(PKG)_UNINSTALL_TARGET_OPT) -C $$($$(PKG)_SRCDIR) endef endif diff --git a/package/Makefile.cmake.in b/package/Makefile.cmake.in index 38e459b..4a4ad6e 100644 --- a/package/Makefile.cmake.in +++ b/package/Makefile.cmake.in @@ -96,6 +96,10 @@ endef endif endif +# This must be repeated from GENTARGETS_INNER, otherwise we only get +# host-cmake in _DEPENDENCIES because of the following line +$(2)_DEPENDENCIES ?= $(patsubst host-host-%,host-%,$(addprefix host-,$($(3)_DEPENDENCIES))) + $(2)_DEPENDENCIES += host-cmake # diff --git a/package/Makefile.in b/package/Makefile.in index c3af5d3..dc8d038 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -31,6 +31,21 @@ ABI=eabi endif endif +# For FSL PowerPC there's SPE +ifeq ($(BR2_powerpc_SPE),y) +ABI=spe +# MPC8540s are e500v1 with single precision FP +ifeq ($(BR2_powerpc_8540),y) +TARGET_ABI+=-mabi=spe -mfloat-gprs=single -Wa,-me500 +endif +ifeq ($(BR2_powerpc_8548),y) +TARGET_ABI+=-mabi=spe -mfloat-gprs=double -Wa,-me500x2 +endif +ifeq ($(BR2_powerpc_e500mc),y) +TARGET_ABI+=-mabi=spe -mfloat-gprs=double -Wa,-me500mc +endif +endif + REAL_GNU_TARGET_NAME=$(ARCH)-unknown-linux-$(LIBC)$(ABI) STAGING_DIR=$(HOST_DIR)/usr/$(REAL_GNU_TARGET_NAME)/sysroot @@ -60,7 +75,7 @@ ifeq ($(BR2_DEBUG_3),y) TARGET_DEBUGGING=-g3 endif -TARGET_CFLAGS=$(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) +TARGET_CFLAGS=$(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) ifneq ($(BR2_PREFER_STATIC_LIB),y) ifeq ($(BR2_x86_64),y) diff --git a/package/Makefile.package.in b/package/Makefile.package.in index bd9ceb5..33461b4 100644 --- a/package/Makefile.package.in +++ b/package/Makefile.package.in @@ -92,6 +92,9 @@ WGET:=$(call qstrip,$(BR2_WGET)) $(QUIET) SVN:=$(call qstrip,$(BR2_SVN)) BZR:=$(call qstrip,$(BR2_BZR)) GIT:=$(call qstrip,$(BR2_GIT)) +HG:=$(call qstrip,$(BR2_HG)) $(QUIET) +SCP:=$(call qstrip,$(BR2_SCP)) $(QUIET) +SSH:=$(call qstrip,$(BR2_SSH)) $(QUIET) LOCALFILES:=$(call qstrip,$(BR2_LOCALFILES)) # Default spider mode is 'DOWNLOAD'. Other possible values are 'SOURCE_CHECK' @@ -104,20 +107,39 @@ ifeq ($(DL_DIR),) DL_DIR:=$(TOPDIR)/dl endif +# +# URI scheme helper functions +# Example URIs: +# * http://www.example.com/dir/file +# * scp://www.example.com:dir/file (with domainseparator :) +# +# geturischeme: http +geturischeme=$(firstword $(subst ://, ,$(call qstrip,$(1)))) +# stripurischeme: www.example.com/dir/file +stripurischeme=$(lastword $(subst ://, ,$(call qstrip,$(1)))) +# domain: www.example.com +domain=$(firstword $(subst $(call domainseparator,$(2)), ,$(call stripurischeme,$(1)))) +# notdomain: dir/file +notdomain=$(patsubst $(call domain,$(1),$(2))$(call domainseparator,$(2))%,%,$(call stripurischeme,$(1))) +# +# default domainseparator is /, specify alternative value as first argument +domainseparator=$(if $(1),$(1),/) + ################################################################################ -# The DOWNLOAD_{GIT,SVN,BZR,LOCALFILES} helpers are in charge of getting a +# The DOWNLOAD_{GIT,SVN,BZR,HG,LOCALFILES} helpers are in charge of getting a # working copy of the source repository for their corresponding SCM, # checking out the requested version / commit / tag, and create an -# archive out of it. DOWNLOAD_WGET is the normal wget-based download +# archive out of it. DOWNLOAD_SCP uses scp to obtain a remote file with +# ssh authentication. DOWNLOAD_WGET is the normal wget-based download # mechanism. # -# The SOURCE_CHECK_{GIT,SVN,BZR,WGET,LOCALFILES} helpers are in charge of simply -# checking that the source is available for download. This can be used +# The SOURCE_CHECK_{GIT,SVN,BZR,HG,WGET,LOCALFILES,SCP} helpers are in charge of +# simply checking that the source is available for download. This can be used # to make sure one will be able to get all the sources needed for # one's build configuration. # -# The SHOW_EXTERNAL_DEPS_{GIT,SVN,BZR,WGET,LOCALFILES} helpers simply output to -# the console the names of the files that will be downloaded, or path +# The SHOW_EXTERNAL_DEPS_{GIT,SVN,BZR,HG,WGET,LOCALFILES,SCP} helpers simply +# output to the console the names of the files that will be downloaded, or path # and revision of the source repositories, producing a list of all the # "external dependencies" of a given build configuration. ################################################################################ @@ -176,6 +198,43 @@ define SHOW_EXTERNAL_DEPS_SVN echo $($(PKG)_SOURCE) endef +# SCP URIs should be of the form scp://[user@]host:filepath +# Note that filepath is relative to the user's home directory, so you may want +# to prepend the path with a slash: scp://[user@]host:/absolutepath +define DOWNLOAD_SCP + test -e $(DL_DIR)/$(2) || \ + $(SCP) $(call stripurischeme,$(call qstrip,$(1)))/$(2) $(DL_DIR) +endef + +define SOURCE_CHECK_SCP + $(SSH) $(call domain,$(1),:) ls $(call notdomain,$(1)/$(2),:) > /dev/null +endef + +define SHOW_EXTERNAL_DEPS_SCP + echo $(2) +endef + + +define DOWNLOAD_HG + test -e $(DL_DIR)/$($(PKG)_SOURCE) || \ + (pushd $(DL_DIR) > /dev/null && \ + $(HG) clone --noupdate --rev $($(PKG)_DL_VERSION) $($(PKG)_SITE) $($(PKG)_BASE_NAME) && \ + $(HG) archive --repository $($(PKG)_BASE_NAME) --type tgz --prefix $($(PKG)_BASE_NAME)/ \ + --rev $($(PKG)_DL_VERSION) $(DL_DIR)/$($(PKG)_SOURCE) && \ + rm -rf $($(PKG)_DL_DIR) && \ + popd > /dev/null) +endef + +# TODO: improve to check that the given PKG_DL_VERSION exists on the remote +# repository +define SOURCE_CHECK_HG + $(HG) incoming --force -l1 $($(PKG)_SITE) > /dev/null +endef + +define SHOW_EXTERNAL_DEPS_HG + echo $($(PKG)_SOURCE) +endef + define DOWNLOAD_WGET test -e $(DL_DIR)/$(2) || \ @@ -218,7 +277,10 @@ endef define DOWNLOAD $(Q)if test -n "$(call qstrip,$(BR2_PRIMARY_SITE))" ; then \ - $(call $(DL_MODE)_WGET,$(BR2_PRIMARY_SITE),$(2)) && exit ; \ + case "$(call geturischeme,$(BR2_PRIMARY_SITE))" in \ + scp) $(call $(DL_MODE)_SCP,$(BR2_PRIMARY_SITE),$(2)) && exit ;; \ + *) $(call $(DL_MODE)_WGET,$(BR2_PRIMARY_SITE),$(2)) && exit ;; \ + esac ; \ fi ; \ if test -n "$(1)" ; then \ case "$($(PKG)_SITE_METHOD)" in \ @@ -226,6 +288,8 @@ define DOWNLOAD svn) $($(DL_MODE)_SVN) && exit ;; \ bzr) $($(DL_MODE)_BZR) && exit ;; \ file) $($(DL_MODE)_LOCALFILES) && exit ;; \ + scp) $($(DL_MODE)_SCP) && exit ;; \ + hg) $($(DL_MODE)_HG) && exit ;; \ *) $(call $(DL_MODE)_WGET,$(1),$(2)) && exit ;; \ esac ; \ fi ; \ @@ -235,18 +299,6 @@ define DOWNLOAD exit 1 endef -# Utility programs used to build packages -TAR ?= tar - -# Automatically detect tar --strip-path/components option -TAR_STRIP_COMPONENTS := \ - $(shell $(TAR) --help | grep strip-path > /dev/null ; \ - if test $$? = 0 ; then \ - echo '--strip-path' ; \ - else \ - echo '--strip-components' ; \ - fi) - # Needed for the foreach loops to loop over the list of hooks, so that # each hook call is properly separated by a newline. define sep @@ -378,12 +430,13 @@ $(BUILD_DIR)/%/.stamp_cleaned: rm -f $(@D)/.stamp_built # Uninstall package from target and staging +# Uninstall commands tend to fail, so remove the stamp files first $(BUILD_DIR)/%/.stamp_uninstalled: @$(call MESSAGE,"Uninstalling") - $($(PKG)_UNINSTALL_STAGING_CMDS) rm -f $($(PKG)_TARGET_INSTALL_STAGING) - $($(PKG)_UNINSTALL_TARGET_CMDS) rm -f $($(PKG)_TARGET_INSTALL_TARGET) + $($(PKG)_UNINSTALL_STAGING_CMDS) + $($(PKG)_UNINSTALL_TARGET_CMDS) # Remove package sources $(BUILD_DIR)/%/.stamp_dircleaned: @@ -478,7 +531,8 @@ $(2)_OVERRIDE_SRCDIR = $($(2)_SITE) endif endif -$(2)_DEPENDENCIES ?= +$(2)_DEPENDENCIES ?= $(patsubst host-host-%,host-%,$(addprefix host-,$($(3)_DEPENDENCIES))) + $(2)_INSTALL_STAGING ?= NO $(2)_INSTALL_IMAGES ?= NO $(2)_INSTALL_TARGET ?= YES @@ -649,6 +703,8 @@ endif ifeq ($$($$($(2)_KCONFIG_VAR)),y) TARGETS += $(1) +PACKAGES_PERMISSIONS_TABLE += $$($(2)_PERMISSIONS)$$(sep) +PACKAGES_DEVICES_TABLE += $$($(2)_DEVICES)$$(sep) ifeq ($$($(2)_SITE_METHOD),svn) DL_TOOLS_DEPENDENCIES += svn @@ -656,8 +712,14 @@ else ifeq ($$($(2)_SITE_METHOD),git) DL_TOOLS_DEPENDENCIES += git else ifeq ($$($(2)_SITE_METHOD),bzr) DL_TOOLS_DEPENDENCIES += bzr +else ifeq ($$($(2)_SITE_METHOD),scp) +DL_TOOLS_DEPENDENCIES += scp ssh +else ifeq ($$($(2)_SITE_METHOD),hg) +DL_TOOLS_DEPENDENCIES += hg endif # SITE_METHOD +DL_TOOLS_DEPENDENCIES += $(firstword $(INFLATE$(suffix $($(2)_SOURCE)))) + endif # $(2)_KCONFIG_VAR endef # GENTARGETS_INNER diff --git a/package/atk/atk.mk b/package/atk/atk.mk index f0e96a5..d84d08c 100644 --- a/package/atk/atk.mk +++ b/package/atk/atk.mk @@ -52,8 +52,6 @@ endif ATK_DEPENDENCIES = libglib2 host-pkg-config -HOST_ATK_DEPENDENCIES = host-libglib2 host-pkg-config - HOST_ATK_CONF_OPT = \ --disable-glibtest diff --git a/package/avahi/S05avahi-setup.sh b/package/avahi/S05avahi-setup.sh index 002f0c8..f42a4d3 100755 --- a/package/avahi/S05avahi-setup.sh +++ b/package/avahi/S05avahi-setup.sh @@ -2,7 +2,7 @@ case "$1" in start|"") - if [ ! -d /tmp/avahi-autopid ]; then + if [ ! -d /tmp/avahi-autoipd ]; then rm -rf /tmp/avahi-autoipd mkdir /tmp/avahi-autoipd chown default.default /tmp/avahi-autoipd diff --git a/package/bash/bash-4.1-001.patch b/package/bash/bash-4.1-001.patch deleted file mode 100644 index be5f982..0000000 --- a/package/bash/bash-4.1-001.patch +++ /dev/null @@ -1,48 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.1 -Patch-ID: bash41-001 - -Bug-Reported-by: Yann Rouillard -Bug-Reference-ID: <4B44A410.4070107@pleiades.fr.eu.org> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2010-01/msg00018.html - -Bug-Description: - -A prototype for vsnprintf was incorrect, and caused compilation failures -on systems that did not have a suitable vsnprintf, but had a declaration in -one of the system header files. - -Patch (apply with `patch -p0'): - -*** ../bash-4.1-patched/builtins/printf.def 2009-11-20 15:31:23.000000000 -0500 ---- ./builtins/printf.def 2010-01-07 08:50:06.000000000 -0500 -*************** -*** 173,177 **** - - #if !HAVE_VSNPRINTF -! extern int vsnprintf __P((char *, size_t, const char *, ...)) __attribute__((__format__ (printf, 3, 4))); - #endif - ---- 173,177 ---- - - #if !HAVE_VSNPRINTF -! extern int vsnprintf __P((char *, size_t, const char *, va_list)) __attribute__((__format__ (printf, 3, 0))); - #endif - -*** ../bash-4.1-patched/patchlevel.h 2009-10-01 16:39:22.000000000 -0400 ---- ./patchlevel.h 2010-01-14 09:38:08.000000000 -0500 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 0 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 1 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.1-002.patch b/package/bash/bash-4.1-002.patch deleted file mode 100644 index 7601ab2..0000000 --- a/package/bash/bash-4.1-002.patch +++ /dev/null @@ -1,65 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.1 -Patch-ID: bash41-002 - -Bug-Reported-by: guillaume.outters@free.fr -Bug-Reference-ID: <20100105230441.70D171AA7F52@asterix.local> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2010-01/msg00017.html - -Bug-Description: - -Bash-4.1/Readline-6.1 introduced a hook function that allows applications -to rewrite or modify filenames read from the file system before comparing -them with a word to be completed. The converted filename, if it matches, -needs to be inserted into the line buffer, replacing the original contents. - -This fixes a completion bug on Mac OS X involving filenames containing -UTF-8 characters. - -Patch (apply with `patch -p0'): - -*** ../bash-4.1-patched/lib/readline/complete.c 2009-11-29 18:39:30.000000000 -0500 ---- ./lib/readline/complete.c 2010-01-06 08:30:23.000000000 -0500 -*************** -*** 2139,2143 **** - if (filename_len == 0) - { -! if (_rl_match_hidden_files == 0 && HIDDEN_FILE (entry->d_name)) - continue; - ---- 2139,2143 ---- - if (filename_len == 0) - { -! if (_rl_match_hidden_files == 0 && HIDDEN_FILE (convfn)) - continue; - -*************** -*** 2220,2224 **** - } - -! strcpy (temp + dirlen, entry->d_name); - } - else ---- 2220,2224 ---- - } - -! strcpy (temp + dirlen, convfn); - } - else -*** ../bash-4.1-patched/patchlevel.h 2009-10-01 16:39:22.000000000 -0400 ---- ./patchlevel.h 2010-01-14 09:38:08.000000000 -0500 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 1 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 2 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.1-003.patch b/package/bash/bash-4.1-003.patch deleted file mode 100644 index fc12bb5..0000000 --- a/package/bash/bash-4.1-003.patch +++ /dev/null @@ -1,48 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.1 -Patch-ID: bash41-003 - -Bug-Reported-by: coyote@wariat.org.pl -Bug-Reference-ID: <4b64a1f8.06e2660a.60af.4bfb@mx.google.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2010-01/msg00135.html - -Bug-Description: - -If command completion is attempted on a word with a quoted globbing -character (e.g., `*' or `?'), bash can reference a NULL pointer and -dump core. - -Patch (apply with `patch -p0'): - -*** ../bash-4.1-patched/bashline.c 2009-10-24 14:10:19.000000000 -0400 ---- ./bashline.c 2010-01-30 21:53:49.000000000 -0500 -*************** -*** 1681,1685 **** - characters in the common prefix are bad) will ever be returned on - regular completion. */ -! if (glob_pattern_p (hint)) - { - if (state == 0) ---- 1681,1685 ---- - characters in the common prefix are bad) will ever be returned on - regular completion. */ -! if (globpat) - { - if (state == 0) -*** ../bash-4.1-patched/patchlevel.h 2009-10-01 16:39:22.000000000 -0400 ---- ./patchlevel.h 2010-01-14 09:38:08.000000000 -0500 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 2 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 3 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.1-004.patch b/package/bash/bash-4.1-004.patch deleted file mode 100644 index a6b8335..0000000 --- a/package/bash/bash-4.1-004.patch +++ /dev/null @@ -1,47 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.1 -Patch-ID: bash41-004 - -Bug-Reported-by: Crestez Dan Leonard -Bug-Reference-ID: <1265592839.30682.21.camel@deskbox> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2010-02/msg00034.html - -Bug-Description: - -When running in Posix mode and executing a shell function without local -variables, bash will not propagate a variable in a special builtin's temporary -environment to have global scope. - -Patch (apply with `patch -p0'): - -*** ../bash-4.1-patched/variables.c 2009-11-03 14:13:58.000000000 -0500 ---- ./variables.c 2010-02-08 17:36:18.000000000 -0500 -*************** -*** 3809,3812 **** ---- 3809,3817 ---- - if (tempvar_p (var) && (posixly_correct || (var->attributes & att_propagate))) - { -+ /* Make sure we have a hash table to store the variable in while it is -+ being propagated down to the global variables table. Create one if -+ we have to */ -+ if ((vc_isfuncenv (shell_variables) || vc_istempenv (shell_variables)) && shell_variables->table == 0) -+ shell_variables->table = hash_create (0); - /* XXX - should we set v->context here? */ - v = bind_variable_internal (var->name, value_cell (var), shell_variables->table, 0, 0); -*** ../bash-4.1-patched/patchlevel.h 2009-10-01 16:39:22.000000000 -0400 ---- ./patchlevel.h 2010-01-14 09:38:08.000000000 -0500 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 3 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 4 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.1-005.patch b/package/bash/bash-4.1-005.patch deleted file mode 100644 index 7974547..0000000 --- a/package/bash/bash-4.1-005.patch +++ /dev/null @@ -1,56 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.1 -Patch-ID: bash41-005 - -Bug-Reported-by: werner@suse.de -Bug-Reference-ID: <201002251238.o1PCcYcg016893@boole.suse.de> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2010-02/msg00132.html - -Bug-Description: - -When the `read' builtin times out after the timeout specified with -t is -exceeded, it does not reset the flags that tell signal handlers to process -signals immediately instead of deferring their handling. This can result -in unsafe functions being called from signal handlers, which can cause bash -to hang or dump core. - -Patch (apply with `patch -p0'): - -*** ../bash-4.1-patched/builtins/read.def 2009-10-08 11:35:46.000000000 -0400 ---- ./builtins/read.def 2010-03-17 17:35:39.000000000 -0400 -*************** -*** 616,621 **** - zsyncfd (fd); - -- interrupt_immediately--; -- terminate_immediately--; - discard_unwind_frame ("read_builtin"); - ---- 616,619 ---- -*************** -*** 624,627 **** ---- 622,628 ---- - assign_vars: - -+ interrupt_immediately--; -+ terminate_immediately--; -+ - #if defined (ARRAY_VARS) - /* If -a was given, take the string read, break it into a list of words, -*** ../bash-4.1-patched/patchlevel.h 2009-10-01 16:39:22.000000000 -0400 ---- ./patchlevel.h 2010-01-14 09:38:08.000000000 -0500 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 4 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 5 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.1-006.patch b/package/bash/bash-4.1-006.patch deleted file mode 100644 index c33d0bd..0000000 --- a/package/bash/bash-4.1-006.patch +++ /dev/null @@ -1,76 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.1 -Patch-ID: bash41-006 - -Bug-Reported-by: Mike Frysinger -Bug-Reference-ID: <201003210155.56618.vapier@gentoo.org> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2010-03/msg00063.html - -Bug-Description: - -Bash did not correctly print/reproduce here documents attached to commands -inside compound commands such as for and while. This affected the -execution of such commands inside a shell function when the function -definition is saved and later restored using `.' or `eval'. - -Patch (apply with `patch -p0'): - -*** ../bash-4.1-patched/print_cmd.c 2009-09-16 15:32:26.000000000 -0400 ---- ./print_cmd.c 2010-03-22 21:15:30.000000000 -0400 -*************** -*** 114,117 **** ---- 114,123 ---- - #define CHECK_XTRACE_FP xtrace_fp = (xtrace_fp ? xtrace_fp : stderr) - -+ #define PRINT_DEFERRED_HEREDOCS(x) \ -+ do { \ -+ if (deferred_heredocs) \ -+ print_deferred_heredocs (x); \ -+ } while (0) -+ - /* Non-zero means the stuff being printed is inside of a function def. */ - static int inside_function_def; -*************** -*** 561,571 **** - { - print_for_command_head (for_command); -- - cprintf (";"); - newline ("do\n"); - indentation += indentation_amount; - make_command_string_internal (for_command->action); - semicolon (); - indentation -= indentation_amount; - newline ("done"); - } ---- 566,578 ---- - { - print_for_command_head (for_command); - cprintf (";"); - newline ("do\n"); -+ - indentation += indentation_amount; - make_command_string_internal (for_command->action); -+ PRINT_DEFERRED_HEREDOCS (""); - semicolon (); - indentation -= indentation_amount; -+ - newline ("done"); - } -*** ../bash-4.1-patched/patchlevel.h 2009-10-01 16:39:22.000000000 -0400 ---- ./patchlevel.h 2010-01-14 09:38:08.000000000 -0500 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 5 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 6 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.1-007.patch b/package/bash/bash-4.1-007.patch deleted file mode 100644 index a421b0c..0000000 --- a/package/bash/bash-4.1-007.patch +++ /dev/null @@ -1,47 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.1 -Patch-ID: bash41-007 - -Bug-Reported-by: Rob Robason -Bug-Reference-ID: <1269513145.22336.9.camel@home.robason.homelinux.net> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2010-03/msg00089.html - -Bug-Description: - -A typo caused bash to not honor a precision specification in a printf -format. - -Patch (apply with `patch -p0'): - -*** ../bash-4.1-patched/builtins/printf.def 2010-01-18 10:50:22.000000000 -0500 ---- ./builtins/printf.def 2010-03-25 09:40:56.000000000 -0400 -*************** -*** 118,122 **** - nw = vflag ? vbprintf (f, fieldwidth, func) : printf (f, fieldwidth, func); \ - else if (have_precision) \ -! nw = vflag ? vbprintf (f, precision, func) : printf (f, fieldwidth, func); \ - else \ - nw = vflag ? vbprintf (f, func) : printf (f, func); \ ---- 118,122 ---- - nw = vflag ? vbprintf (f, fieldwidth, func) : printf (f, fieldwidth, func); \ - else if (have_precision) \ -! nw = vflag ? vbprintf (f, precision, func) : printf (f, precision, func); \ - else \ - nw = vflag ? vbprintf (f, func) : printf (f, func); \ -*** ../bash-4.1-patched/patchlevel.h 2009-10-01 16:39:22.000000000 -0400 ---- ./patchlevel.h 2010-01-14 09:38:08.000000000 -0500 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 6 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 7 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.1-008.patch b/package/bash/bash-4.1-008.patch deleted file mode 100644 index 72b855e..0000000 --- a/package/bash/bash-4.1-008.patch +++ /dev/null @@ -1,49 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.1 -Patch-ID: bash41-008 - -Bug-Reported-by: Dennis van Dok -Bug-Reference-ID: <4BBF2501.5050703@gmail.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2010-04/msg00038.html - -Bug-Description: - -When declaring an associative array and implicitly assigning a value -to element "0", bash does not correctly allocate memory, leading to -a segmentation violation when that element or the array itself is -unset. - -Patch (apply with `patch -p0'): - -*** ../bash-4.1-patched/builtins/declare.def 2009-11-25 19:42:00.000000000 -0500 ---- ./builtins/declare.def 2010-05-30 18:25:21.000000000 -0400 -*************** -*** 513,517 **** - /* let bind_{array,assoc}_variable take care of this. */ - if (assoc_p (var)) -! bind_assoc_variable (var, name, "0", value, aflags); - else - bind_array_variable (name, 0, value, aflags); ---- 519,523 ---- - /* let bind_{array,assoc}_variable take care of this. */ - if (assoc_p (var)) -! bind_assoc_variable (var, name, savestring ("0"), value, aflags); - else - bind_array_variable (name, 0, value, aflags); -*** ../bash-4.1-patched/patchlevel.h 2009-10-01 16:39:22.000000000 -0400 ---- ./patchlevel.h 2010-01-14 09:38:08.000000000 -0500 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 7 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 8 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.1-009.patch b/package/bash/bash-4.1-009.patch deleted file mode 100644 index ed136a9..0000000 --- a/package/bash/bash-4.1-009.patch +++ /dev/null @@ -1,48 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.1 -Patch-ID: bash41-009 - -Bug-Reported-by: Tomas Trnka -Bug-Reference-ID: <201003242030.02166.tomastrnka@gmx.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2010-03/msg00090.html - -Bug-Description: - -An arriving SIGCHLD will interrupt `slow' system calls such as write(2) to -or read(2) from a terminal. This results in an error message and truncated -input or output. - -Patch (apply with `patch -p0'): - -*** ../bash-4.1-patched/sig.c Fri Aug 14 16:31:52 2009 ---- ./sig.c Fri Mar 26 22:34:11 2010 -*************** -*** 655,660 **** ---- 655,663 ---- - act.sa_flags |= SA_INTERRUPT; /* XXX */ - else - act.sa_flags |= SA_RESTART; /* XXX */ -+ #else -+ if (sig == SIGCHLD) -+ act.sa_flags |= SA_RESTART; - #endif - sigemptyset (&act.sa_mask); - sigemptyset (&oact.sa_mask); -*** ../bash-4.1-patched/patchlevel.h 2009-10-01 16:39:22.000000000 -0400 ---- ./patchlevel.h 2010-01-14 09:38:08.000000000 -0500 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 8 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 9 - - #endif /* _PATCHLEVEL_H_ */ - diff --git a/package/bash/bash-4.2-001.patch b/package/bash/bash-4.2-001.patch new file mode 100644 index 0000000..b5c0aa9 --- /dev/null +++ b/package/bash/bash-4.2-001.patch @@ -0,0 +1,78 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-001 + +Bug-Reported-by: Juergen Daubert +Bug-Reference-ID: <20110214175132.GA19813@jue.netz> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00125.html + +Bug-Description: + +When running in Posix mode, bash does not correctly expand the right-hand +side of a double-quoted word expansion containing single quotes. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/subst.c 2011-01-02 16:12:51.000000000 -0500 +--- ./subst.c 2011-02-19 00:00:00.000000000 -0500 +*************** +*** 1380,1387 **** + + /* The handling of dolbrace_state needs to agree with the code in parse.y: +! parse_matched_pair() */ +! dolbrace_state = 0; +! if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) +! dolbrace_state = (flags & SX_POSIXEXP) ? DOLBRACE_QUOTE : DOLBRACE_PARAM; + + i = *sindex; +--- 1380,1389 ---- + + /* The handling of dolbrace_state needs to agree with the code in parse.y: +! parse_matched_pair(). The different initial value is to handle the +! case where this function is called to parse the word in +! ${param op word} (SX_WORD). */ +! dolbrace_state = (flags & SX_WORD) ? DOLBRACE_WORD : DOLBRACE_PARAM; +! if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && (flags & SX_POSIXEXP)) +! dolbrace_state = DOLBRACE_QUOTE; + + i = *sindex; +*************** +*** 7177,7181 **** + /* Extract the contents of the ${ ... } expansion + according to the Posix.2 rules. */ +! value = extract_dollar_brace_string (string, &sindex, quoted, (c == '%' || c == '#') ? SX_POSIXEXP : 0); + if (string[sindex] == RBRACE) + sindex++; +--- 7181,7185 ---- + /* Extract the contents of the ${ ... } expansion + according to the Posix.2 rules. */ +! value = extract_dollar_brace_string (string, &sindex, quoted, (c == '%' || c == '#' || c =='/' || c == '^' || c == ',' || c ==':') ? SX_POSIXEXP|SX_WORD : SX_WORD); + if (string[sindex] == RBRACE) + sindex++; +*** ../bash-4.2-patched/subst.h 2010-12-02 20:21:29.000000000 -0500 +--- ./subst.h 2011-02-16 21:12:09.000000000 -0500 +*************** +*** 57,60 **** +--- 57,61 ---- + #define SX_ARITHSUB 0x0080 /* extracting $(( ... )) (currently unused) */ + #define SX_POSIXEXP 0x0100 /* extracting new Posix pattern removal expansions in extract_dollar_brace_string */ ++ #define SX_WORD 0x0200 /* extracting word in ${param op word} */ + + /* Remove backslashes which are quoting backquotes from STRING. Modifies +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- ./patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 0 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 1 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.2-002.patch b/package/bash/bash-4.2-002.patch new file mode 100644 index 0000000..0d35ad2 --- /dev/null +++ b/package/bash/bash-4.2-002.patch @@ -0,0 +1,60 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-002 + +Bug-Reported-by: Clark J. Wang +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00157.html + +Bug-Description: + +The readline vi-mode `cc', `dd', and `yy' commands failed to modify the +entire line. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/lib/readline/vi_mode.c 2010-11-20 19:51:39.000000000 -0500 +--- ./lib/readline/vi_mode.c 2011-02-17 20:24:25.000000000 -0500 +*************** +*** 1115,1119 **** + _rl_vi_last_motion = c; + RL_UNSETSTATE (RL_STATE_VIMOTION); +! return (0); + } + #if defined (READLINE_CALLBACKS) +--- 1115,1119 ---- + _rl_vi_last_motion = c; + RL_UNSETSTATE (RL_STATE_VIMOTION); +! return (vidomove_dispatch (m)); + } + #if defined (READLINE_CALLBACKS) +*** ../bash-4.2-patched/lib/readline/callback.c 2010-06-06 12:18:58.000000000 -0400 +--- ./lib/readline/callback.c 2011-02-17 20:43:28.000000000 -0500 +*************** +*** 149,152 **** +--- 149,155 ---- + /* Should handle everything, including cleanup, numeric arguments, + and turning off RL_STATE_VIMOTION */ ++ if (RL_ISSTATE (RL_STATE_NUMERICARG) == 0) ++ _rl_internal_char_cleanup (); ++ + return; + } +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- ./patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 1 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 2 + + #endif /* _PATCHLEVEL_H_ */ + diff --git a/package/bash/bash-4.2-003.patch b/package/bash/bash-4.2-003.patch new file mode 100644 index 0000000..a17b127 --- /dev/null +++ b/package/bash/bash-4.2-003.patch @@ -0,0 +1,318 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-003 + +Bug-Reported-by: Clark J. Wang +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00136.html + +Bug-Description: + +When using the pattern replacement and pattern removal word expansions, bash +miscalculates the possible match length in the presence of an unescaped left +bracket without a closing right bracket, resulting in a failure to match +the pattern. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/lib/glob/gmisc.c 2011-02-05 16:11:17.000000000 -0500 +--- ./lib/glob/gmisc.c 2011-02-18 23:53:42.000000000 -0500 +*************** +*** 78,83 **** + size_t wmax; + { +! wchar_t wc, *wbrack; +! int matlen, t, in_cclass, in_collsym, in_equiv; + + if (*wpat == 0) +--- 78,83 ---- + size_t wmax; + { +! wchar_t wc; +! int matlen, bracklen, t, in_cclass, in_collsym, in_equiv; + + if (*wpat == 0) +*************** +*** 119,123 **** + case L'[': + /* scan for ending `]', skipping over embedded [:...:] */ +! wbrack = wpat; + wc = *wpat++; + do +--- 119,123 ---- + case L'[': + /* scan for ending `]', skipping over embedded [:...:] */ +! bracklen = 1; + wc = *wpat++; + do +*************** +*** 125,140 **** + if (wc == 0) + { +! matlen += wpat - wbrack - 1; /* incremented below */ +! break; + } + else if (wc == L'\\') + { +! wc = *wpat++; +! if (*wpat == 0) +! break; + } + else if (wc == L'[' && *wpat == L':') /* character class */ + { + wpat++; + in_cclass = 1; + } +--- 125,148 ---- + if (wc == 0) + { +! wpat--; /* back up to NUL */ +! matlen += bracklen; +! goto bad_bracket; + } + else if (wc == L'\\') + { +! /* *wpat == backslash-escaped character */ +! bracklen++; +! /* If the backslash or backslash-escape ends the string, +! bail. The ++wpat skips over the backslash escape */ +! if (*wpat == 0 || *++wpat == 0) +! { +! matlen += bracklen; +! goto bad_bracket; +! } + } + else if (wc == L'[' && *wpat == L':') /* character class */ + { + wpat++; ++ bracklen++; + in_cclass = 1; + } +*************** +*** 142,145 **** +--- 150,154 ---- + { + wpat++; ++ bracklen++; + in_cclass = 0; + } +*************** +*** 147,152 **** + { + wpat++; + if (*wpat == L']') /* right bracket can appear as collating symbol */ +! wpat++; + in_collsym = 1; + } +--- 156,165 ---- + { + wpat++; ++ bracklen++; + if (*wpat == L']') /* right bracket can appear as collating symbol */ +! { +! wpat++; +! bracklen++; +! } + in_collsym = 1; + } +*************** +*** 154,157 **** +--- 167,171 ---- + { + wpat++; ++ bracklen++; + in_collsym = 0; + } +*************** +*** 159,164 **** + { + wpat++; + if (*wpat == L']') /* right bracket can appear as equivalence class */ +! wpat++; + in_equiv = 1; + } +--- 173,182 ---- + { + wpat++; ++ bracklen++; + if (*wpat == L']') /* right bracket can appear as equivalence class */ +! { +! wpat++; +! bracklen++; +! } + in_equiv = 1; + } +*************** +*** 166,174 **** +--- 184,196 ---- + { + wpat++; ++ bracklen++; + in_equiv = 0; + } ++ else ++ bracklen++; + } + while ((wc = *wpat++) != L']'); + matlen++; /* bracket expression can only match one char */ ++ bad_bracket: + break; + } +*************** +*** 214,219 **** + size_t max; + { +! char c, *brack; +! int matlen, t, in_cclass, in_collsym, in_equiv; + + if (*pat == 0) +--- 236,241 ---- + size_t max; + { +! char c; +! int matlen, bracklen, t, in_cclass, in_collsym, in_equiv; + + if (*pat == 0) +*************** +*** 255,259 **** + case '[': + /* scan for ending `]', skipping over embedded [:...:] */ +! brack = pat; + c = *pat++; + do +--- 277,281 ---- + case '[': + /* scan for ending `]', skipping over embedded [:...:] */ +! bracklen = 1; + c = *pat++; + do +*************** +*** 261,276 **** + if (c == 0) + { +! matlen += pat - brack - 1; /* incremented below */ +! break; + } + else if (c == '\\') + { +! c = *pat++; +! if (*pat == 0) +! break; + } + else if (c == '[' && *pat == ':') /* character class */ + { + pat++; + in_cclass = 1; + } +--- 283,306 ---- + if (c == 0) + { +! pat--; /* back up to NUL */ +! matlen += bracklen; +! goto bad_bracket; + } + else if (c == '\\') + { +! /* *pat == backslash-escaped character */ +! bracklen++; +! /* If the backslash or backslash-escape ends the string, +! bail. The ++pat skips over the backslash escape */ +! if (*pat == 0 || *++pat == 0) +! { +! matlen += bracklen; +! goto bad_bracket; +! } + } + else if (c == '[' && *pat == ':') /* character class */ + { + pat++; ++ bracklen++; + in_cclass = 1; + } +*************** +*** 278,281 **** +--- 308,312 ---- + { + pat++; ++ bracklen++; + in_cclass = 0; + } +*************** +*** 283,288 **** + { + pat++; + if (*pat == ']') /* right bracket can appear as collating symbol */ +! pat++; + in_collsym = 1; + } +--- 314,323 ---- + { + pat++; ++ bracklen++; + if (*pat == ']') /* right bracket can appear as collating symbol */ +! { +! pat++; +! bracklen++; +! } + in_collsym = 1; + } +*************** +*** 290,293 **** +--- 325,329 ---- + { + pat++; ++ bracklen++; + in_collsym = 0; + } +*************** +*** 295,300 **** + { + pat++; + if (*pat == ']') /* right bracket can appear as equivalence class */ +! pat++; + in_equiv = 1; + } +--- 331,340 ---- + { + pat++; ++ bracklen++; + if (*pat == ']') /* right bracket can appear as equivalence class */ +! { +! pat++; +! bracklen++; +! } + in_equiv = 1; + } +*************** +*** 302,310 **** +--- 342,354 ---- + { + pat++; ++ bracklen++; + in_equiv = 0; + } ++ else ++ bracklen++; + } + while ((c = *pat++) != ']'); + matlen++; /* bracket expression can only match one char */ ++ bad_bracket: + break; + } +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- ./patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 2 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 3 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.2-004.patch b/package/bash/bash-4.2-004.patch new file mode 100644 index 0000000..fe419fa --- /dev/null +++ b/package/bash/bash-4.2-004.patch @@ -0,0 +1,53 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-004 + +Bug-Reported-by: Mike Frysinger +Bug-Reference-ID: <201102182106.17834.vapier@gentoo.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00222.html + +Bug-Description: + +When used in contexts where word splitting and quote removal were not +performed, such as pattern removal or pattern substitution, empty strings +(either literal or resulting from quoted variables that were unset or +null) were not matched correctly, resulting in failure. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/subst.c 2011-01-02 16:12:51.000000000 -0500 +--- ./subst.c 2011-02-18 22:30:13.000000000 -0500 +*************** +*** 3373,3379 **** + if (string == 0 || *string == '\0') + return (WORD_LIST *)NULL; + +! td.flags = 0; + td.word = string; + tresult = call_expand_word_internal (&td, quoted, 1, dollar_at_p, has_dollar_at); + return (tresult); +--- 3373,3379 ---- + if (string == 0 || *string == '\0') + return (WORD_LIST *)NULL; + +! td.flags = W_NOSPLIT2; /* no splitting, remove "" and '' */ + td.word = string; + tresult = call_expand_word_internal (&td, quoted, 1, dollar_at_p, has_dollar_at); + return (tresult); +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- ./patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 3 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 4 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.2-005.patch b/package/bash/bash-4.2-005.patch new file mode 100644 index 0000000..c53a4e9 --- /dev/null +++ b/package/bash/bash-4.2-005.patch @@ -0,0 +1,131 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-005 + +Bug-Reported-by: Dennis Williamson +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00147.html + +Bug-Description: + +Systems that use tzset() to set the local timezone require the TZ variable +to be in the environment. Bash must make sure the environment has been +modified with any updated value for TZ before calling tzset(). This +affects prompt string expansions and the `%T' printf conversion specification +on systems that do not allow bash to supply a replacement for getenv(3). + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/variables.h 2010-12-02 20:22:01.000000000 -0500 +--- ./variables.h 2011-02-19 19:57:12.000000000 -0500 +*************** +*** 314,317 **** +--- 314,318 ---- + extern void sort_variables __P((SHELL_VAR **)); + ++ extern int chkexport __P((char *)); + extern void maybe_make_export_env __P((void)); + extern void update_export_env_inplace __P((char *, int, char *)); +*** ../bash-4.2-patched/variables.c 2011-01-24 20:07:48.000000000 -0500 +--- ./variables.c 2011-02-19 20:04:50.000000000 -0500 +*************** +*** 3654,3657 **** +--- 3654,3673 ---- + } + ++ int ++ chkexport (name) ++ char *name; ++ { ++ SHELL_VAR *v; ++ ++ v = find_variable (name); ++ if (exported_p (v)) ++ { ++ array_needs_making = 1; ++ maybe_make_export_env (); ++ return 1; ++ } ++ return 0; ++ } ++ + void + maybe_make_export_env () +*************** +*** 4215,4219 **** + { "TEXTDOMAINDIR", sv_locale }, + +! #if defined (HAVE_TZSET) && defined (PROMPT_STRING_DECODE) + { "TZ", sv_tz }, + #endif +--- 4231,4235 ---- + { "TEXTDOMAINDIR", sv_locale }, + +! #if defined (HAVE_TZSET) + { "TZ", sv_tz }, + #endif +*************** +*** 4559,4568 **** + #endif /* HISTORY */ + +! #if defined (HAVE_TZSET) && defined (PROMPT_STRING_DECODE) + void + sv_tz (name) + char *name; + { +! tzset (); + } + #endif +--- 4575,4585 ---- + #endif /* HISTORY */ + +! #if defined (HAVE_TZSET) + void + sv_tz (name) + char *name; + { +! if (chkexport (name)) +! tzset (); + } + #endif +*** ../bash-4.2-patched/parse.y 2011-01-02 15:48:11.000000000 -0500 +--- ./parse.y 2011-02-19 20:05:00.000000000 -0500 +*************** +*** 5136,5139 **** +--- 5136,5142 ---- + /* Make the current time/date into a string. */ + (void) time (&the_time); ++ #if defined (HAVE_TZSET) ++ sv_tz ("TZ"); /* XXX -- just make sure */ ++ #endif + tm = localtime (&the_time); + +*** ../bash-4.2-patched/builtins/printf.def 2010-11-23 10:02:55.000000000 -0500 +--- ./builtins/printf.def 2011-02-19 20:05:04.000000000 -0500 +*************** +*** 466,469 **** +--- 466,472 ---- + else + secs = arg; ++ #if defined (HAVE_TZSET) ++ sv_tz ("TZ"); /* XXX -- just make sure */ ++ #endif + tm = localtime (&secs); + n = strftime (timebuf, sizeof (timebuf), timefmt, tm); +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- ./patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 4 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 5 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.2-006.patch b/package/bash/bash-4.2-006.patch new file mode 100644 index 0000000..ce8d989 --- /dev/null +++ b/package/bash/bash-4.2-006.patch @@ -0,0 +1,46 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-006 + +Bug-Reported-by: Allan McRae +Bug-Reference-ID: <4D6D0D0B.50908@archlinux.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00001.html + +Bug-Description: + +A problem with bash42-005 caused it to dump core if TZ was unset. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/variables.c 2011-02-25 12:07:41.000000000 -0500 +--- ./variables.c 2011-03-01 10:13:04.000000000 -0500 +*************** +*** 3661,3665 **** + + v = find_variable (name); +! if (exported_p (v)) + { + array_needs_making = 1; +--- 3661,3665 ---- + + v = find_variable (name); +! if (v && exported_p (v)) + { + array_needs_making = 1; +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- ./patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 5 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 6 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.2-007.patch b/package/bash/bash-4.2-007.patch new file mode 100644 index 0000000..6fca896 --- /dev/null +++ b/package/bash/bash-4.2-007.patch @@ -0,0 +1,46 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-007 + +Bug-Reported-by: Matthias Klose +Bug-Reference-ID: <4D6FD2AC.1010500@debian.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00015.html + +Bug-Description: + +When used in contexts where word splitting and quote removal were not +performed, such as case statement word expansion, empty strings +(either literal or resulting from quoted variables that were unset or +null) were not expanded correctly, resulting in failure. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/subst.c 2011-02-25 12:03:58.000000000 -0500 +--- ./subst.c 2011-03-03 14:08:23.000000000 -0500 +*************** +*** 4609,4614 **** +--- 4611,4617 ---- + if (ifs_firstc == 0) + #endif + word->flags |= W_NOSPLIT; ++ word->flags |= W_NOSPLIT2; + result = call_expand_word_internal (word, quoted, 0, (int *)NULL, (int *)NULL); + expand_no_split_dollar_star = 0; + +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- ./patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 6 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 7 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.2-008.patch b/package/bash/bash-4.2-008.patch new file mode 100644 index 0000000..91f8882 --- /dev/null +++ b/package/bash/bash-4.2-008.patch @@ -0,0 +1,74 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-008 + +Bug-Reported-by: Doug McMahon +Bug-Reference-ID: <1299441211.2535.11.camel@doug-XPS-M1330> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00050.html + +Bug-Description: + +Bash-4.2 does not attempt to save the shell history on receipt of a +terminating signal that is handled synchronously. Unfortunately, the +`close' button on most X11 terminal emulators sends SIGHUP, which +kills the shell. + +This is a very small patch to save the history in the case that an +interactive shell receives a SIGHUP or SIGTERM while in readline and +reading a command. + +The next version of bash will do this differently. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/sig.c Tue Nov 23 08:21:22 2010 +--- ./sig.c Tue Mar 8 21:28:32 2011 +*************** +*** 47,50 **** +--- 47,51 ---- + #if defined (READLINE) + # include "bashline.h" ++ # include + #endif + +*************** +*** 63,66 **** +--- 64,68 ---- + extern int history_lines_this_session; + #endif ++ extern int no_line_editing; + + extern void initialize_siglist (); +*************** +*** 506,510 **** + #if defined (HISTORY) + /* XXX - will inhibit history file being written */ +! history_lines_this_session = 0; + #endif + terminate_immediately = 0; +--- 508,515 ---- + #if defined (HISTORY) + /* XXX - will inhibit history file being written */ +! # if defined (READLINE) +! if (interactive_shell == 0 || interactive == 0 || (sig != SIGHUP && sig != SIGTERM) || no_line_editing || (RL_ISSTATE (RL_STATE_READCMD) == 0)) +! # endif +! history_lines_this_session = 0; + #endif + terminate_immediately = 0; +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- ./patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 7 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 8 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.2-009.patch b/package/bash/bash-4.2-009.patch new file mode 100644 index 0000000..a4a5ded --- /dev/null +++ b/package/bash/bash-4.2-009.patch @@ -0,0 +1,82 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-009 + +Bug-Reported-by: +Bug-Reference-ID: <4DAAC0DB.7060606@piumalab.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-04/msg00075.html + +Bug-Description: + +Under certain circumstances, running `fc -l' two times in succession with a +relative history offset at the end of the history will result in an incorrect +calculation of the last history entry and a seg fault. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/builtins/fc.def 2010-05-30 18:25:38.000000000 -0400 +--- ./builtins/fc.def 2011-04-19 15:46:17.000000000 -0400 +*************** +*** 305,309 **** + + /* XXX */ +! if (saved_command_line_count > 0 && i == last_hist && hlist[last_hist] == 0) + while (last_hist >= 0 && hlist[last_hist] == 0) + last_hist--; +--- 305,309 ---- + + /* XXX */ +! if (i == last_hist && hlist[last_hist] == 0) + while (last_hist >= 0 && hlist[last_hist] == 0) + last_hist--; +*************** +*** 476,480 **** + { + int sign, n, clen, rh; +! register int i, j; + register char *s; + +--- 476,480 ---- + { + int sign, n, clen, rh; +! register int i, j, last_hist; + register char *s; + +*************** +*** 496,500 **** + calculation as if it were on. */ + rh = remember_on_history || ((subshell_environment & SUBSHELL_COMSUB) && enable_history_list); +! i -= rh + hist_last_line_added; + + /* No specification defaults to most recent command. */ +--- 496,508 ---- + calculation as if it were on. */ + rh = remember_on_history || ((subshell_environment & SUBSHELL_COMSUB) && enable_history_list); +! last_hist = i - rh - hist_last_line_added; +! +! if (i == last_hist && hlist[last_hist] == 0) +! while (last_hist >= 0 && hlist[last_hist] == 0) +! last_hist--; +! if (last_hist < 0) +! return (-1); +! +! i = last_hist; + + /* No specification defaults to most recent command. */ +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- ./patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 8 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 9 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.2-010.patch b/package/bash/bash-4.2-010.patch new file mode 100644 index 0000000..0970c37 --- /dev/null +++ b/package/bash/bash-4.2-010.patch @@ -0,0 +1,61 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-010 + +Bug-Reported-by: Mike Frysinger +Bug-Reference-ID: <201104122356.20160.vapier@gentoo.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-04/msg00058.html + +Bug-Description: + +Bash did not correctly print/reproduce here documents attached to commands +inside compound commands such as arithmetic for loops and user-specified +subshells. This affected the execution of such commands inside a shell +function when the function definition is saved and later restored using +`.' or `eval'. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/print_cmd.c 2010-05-30 18:34:08.000000000 -0400 +--- ./print_cmd.c 2011-04-14 10:43:18.000000000 -0400 +*************** +*** 316,319 **** +--- 317,321 ---- + skip_this_indent++; + make_command_string_internal (command->value.Subshell->command); ++ PRINT_DEFERRED_HEREDOCS (""); + cprintf (" )"); + break; +*************** +*** 593,596 **** +--- 606,610 ---- + indentation += indentation_amount; + make_command_string_internal (arith_for_command->action); ++ PRINT_DEFERRED_HEREDOCS (""); + semicolon (); + indentation -= indentation_amount; +*************** +*** 654,657 **** +--- 668,672 ---- + + make_command_string_internal (group_command->command); ++ PRINT_DEFERRED_HEREDOCS (""); + + if (inside_function_def) +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- ./patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 9 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 10 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.2-011.patch b/package/bash/bash-4.2-011.patch new file mode 100644 index 0000000..802c1f1 --- /dev/null +++ b/package/bash/bash-4.2-011.patch @@ -0,0 +1,46 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-011 + +Bug-Reported-by: "David Parks" +Bug-Reference-ID: <014101cc82c6$46ac1540$d4043fc0$@com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-10/msg00031.html + +Bug-Description: + +Overwriting a value in an associative array causes the memory allocated to +store the key on the second and subsequent assignments to leak. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/assoc.c 2009-08-05 20:19:40.000000000 -0400 +--- ./assoc.c 2011-10-04 20:23:07.000000000 -0400 +*************** +*** 78,81 **** +--- 78,86 ---- + if (b == 0) + return -1; ++ /* If we are overwriting an existing element's value, we're not going to ++ use the key. Nothing in the array assignment code path frees the key ++ string, so we can free it here to avoid a memory leak. */ ++ if (b->key != key) ++ free (key); + FREE (b->data); + b->data = value ? savestring (value) : (char *)0; +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- ./patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 10 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 11 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.2-012.patch b/package/bash/bash-4.2-012.patch new file mode 100644 index 0000000..9a1c49c --- /dev/null +++ b/package/bash/bash-4.2-012.patch @@ -0,0 +1,151 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-012 + +Bug-Reported-by: Rui Santos +Bug-Reference-ID: <4E04C6D0.2020507@grupopie.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-06/msg00079.html + +Bug-Description: + +When calling the parser to recursively parse a command substitution within +an arithmetic expansion, the shell overwrote the saved shell input line and +associated state, resulting in a garbled command. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/parse.y 2011-02-26 19:19:05.000000000 -0500 +--- ./parse.y 2011-06-24 20:08:22.000000000 -0400 +*************** +*** 3843,3846 **** +--- 3849,3853 ---- + { + sh_parser_state_t ps; ++ sh_input_line_state_t ls; + int orig_ind, nc, sflags; + char *ret, *s, *ep, *ostring; +*************** +*** 3850,3857 **** +--- 3857,3866 ---- + ostring = string; + ++ /*itrace("xparse_dolparen: size = %d shell_input_line = `%s'", shell_input_line_size, shell_input_line);*/ + sflags = SEVAL_NONINT|SEVAL_NOHIST|SEVAL_NOFREE; + if (flags & SX_NOLONGJMP) + sflags |= SEVAL_NOLONGJMP; + save_parser_state (&ps); ++ save_input_line_state (&ls); + + /*(*/ +*************** +*** 3862,3865 **** +--- 3871,3876 ---- + restore_parser_state (&ps); + reset_parser (); ++ /* reset_parser clears shell_input_line and associated variables */ ++ restore_input_line_state (&ls); + if (interactive) + token_to_read = 0; +*************** +*** 5909,5912 **** +--- 5920,5929 ---- + ps->echo_input_at_read = echo_input_at_read; + ++ ps->token = token; ++ ps->token_buffer_size = token_buffer_size; ++ /* Force reallocation on next call to read_token_word */ ++ token = 0; ++ token_buffer_size = 0; ++ + return (ps); + } +*************** +*** 5950,5953 **** +--- 5967,6006 ---- + expand_aliases = ps->expand_aliases; + echo_input_at_read = ps->echo_input_at_read; ++ ++ FREE (token); ++ token = ps->token; ++ token_buffer_size = ps->token_buffer_size; ++ } ++ ++ sh_input_line_state_t * ++ save_input_line_state (ls) ++ sh_input_line_state_t *ls; ++ { ++ if (ls == 0) ++ ls = (sh_input_line_state_t *)xmalloc (sizeof (sh_input_line_state_t)); ++ if (ls == 0) ++ return ((sh_input_line_state_t *)NULL); ++ ++ ls->input_line = shell_input_line; ++ ls->input_line_size = shell_input_line_size; ++ ls->input_line_len = shell_input_line_len; ++ ls->input_line_index = shell_input_line_index; ++ ++ /* force reallocation */ ++ shell_input_line = 0; ++ shell_input_line_size = shell_input_line_len = shell_input_line_index = 0; ++ } ++ ++ void ++ restore_input_line_state (ls) ++ sh_input_line_state_t *ls; ++ { ++ FREE (shell_input_line); ++ shell_input_line = ls->input_line; ++ shell_input_line_size = ls->input_line_size; ++ shell_input_line_len = ls->input_line_len; ++ shell_input_line_index = ls->input_line_index; ++ ++ set_line_mbstate (); + } + +*** ../bash-4.2-patched/shell.h 2011-01-06 22:16:55.000000000 -0500 +--- ./shell.h 2011-06-24 19:12:25.000000000 -0400 +*************** +*** 137,140 **** +--- 139,145 ---- + int *token_state; + ++ char *token; ++ int token_buffer_size; ++ + /* input line state -- line number saved elsewhere */ + int input_line_terminator; +*************** +*** 167,171 **** +--- 172,186 ---- + } sh_parser_state_t; + ++ typedef struct _sh_input_line_state_t { ++ char *input_line; ++ int input_line_index; ++ int input_line_size; ++ int input_line_len; ++ } sh_input_line_state_t; ++ + /* Let's try declaring these here. */ + extern sh_parser_state_t *save_parser_state __P((sh_parser_state_t *)); + extern void restore_parser_state __P((sh_parser_state_t *)); ++ ++ extern sh_input_line_state_t *save_input_line_state __P((sh_input_line_state_t *)); ++ extern void restore_input_line_state __P((sh_input_line_state_t *)); +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- ./patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 11 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 12 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.2-013.patch b/package/bash/bash-4.2-013.patch new file mode 100644 index 0000000..06840a3 --- /dev/null +++ b/package/bash/bash-4.2-013.patch @@ -0,0 +1,52 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-013 + +Bug-Reported-by: Marten Wikstrom +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-05/msg00049.html + +Bug-Description: + +An off-by-one error caused the shell to skip over CTLNUL characters, +which are used internally to mark quoted null strings. The effect +was to have stray 0x7f characters left after expanding words like +""""""""aa. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/subst.c 2011-03-06 14:11:11.000000000 -0500 +--- ./subst.c 2011-05-11 11:23:33.000000000 -0400 +*************** +*** 3707,3711 **** + } + else if (string[i] == CTLNUL) +! i++; + + prev_i = i; +--- 3710,3717 ---- + } + else if (string[i] == CTLNUL) +! { +! i++; +! continue; +! } + + prev_i = i; +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- ./patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 12 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 13 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.2-014.patch b/package/bash/bash-4.2-014.patch new file mode 100644 index 0000000..d6652eb --- /dev/null +++ b/package/bash/bash-4.2-014.patch @@ -0,0 +1,47 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-014 + +Bug-Reported-by: Shawn Bohrer +Bug-Reference-ID: <20110504152320.6E8F28130527@dev1.rgmadvisors.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-05/msg00018.html + +Bug-Description: + +The regular expression matching operator did not correctly match +expressions with an embedded ^A. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/pathexp.c 2010-08-13 23:21:57.000000000 -0400 +--- ./pathexp.c 2011-05-05 16:40:58.000000000 -0400 +*************** +*** 197,201 **** + if ((qflags & QGLOB_FILENAME) && pathname[i+1] == '/') + continue; +! if ((qflags & QGLOB_REGEXP) && ere_char (pathname[i+1]) == 0) + continue; + temp[j++] = '\\'; +--- 197,201 ---- + if ((qflags & QGLOB_FILENAME) && pathname[i+1] == '/') + continue; +! if (pathname[i+1] != CTLESC && (qflags & QGLOB_REGEXP) && ere_char (pathname[i+1]) == 0) + continue; + temp[j++] = '\\'; +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- ./patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 13 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 14 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.2-015.patch b/package/bash/bash-4.2-015.patch new file mode 100644 index 0000000..5bcca34 --- /dev/null +++ b/package/bash/bash-4.2-015.patch @@ -0,0 +1,81 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-015 + +Bug-Reported-by: +Bug-Reference-ID: <728_1312188080_4E3666B0_728_118711_1_3B5D3E0F95CC5C478D6500CDCE8B691F7AAAA4AA3D@PUEXCB2B.nanterre.francetelecom.fr> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-08/msg00000.html + +Bug-Description: + +When in a context where arithmetic evaluation is not taking place, the +evaluator should not check for division by 0. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/expr.c 2010-12-21 11:12:13.000000000 -0500 +--- ./expr.c 2011-08-02 20:58:28.000000000 -0400 +*************** +*** 477,480 **** +--- 481,492 ---- + if (special) + { ++ if ((op == DIV || op == MOD) && value == 0) ++ { ++ if (noeval == 0) ++ evalerror (_("division by 0")); ++ else ++ value = 1; ++ } ++ + switch (op) + { +*************** +*** 483,493 **** + break; + case DIV: +- if (value == 0) +- evalerror (_("division by 0")); + lvalue /= value; + break; + case MOD: +- if (value == 0) +- evalerror (_("division by 0")); + lvalue %= value; + break; +--- 495,501 ---- +*************** +*** 805,809 **** + + if (((op == DIV) || (op == MOD)) && (val2 == 0)) +! evalerror (_("division by 0")); + + if (op == MUL) +--- 813,822 ---- + + if (((op == DIV) || (op == MOD)) && (val2 == 0)) +! { +! if (noeval == 0) +! evalerror (_("division by 0")); +! else +! val2 = 1; +! } + + if (op == MUL) +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- ./patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 14 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 15 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.2-016.patch b/package/bash/bash-4.2-016.patch new file mode 100644 index 0000000..04f9432 --- /dev/null +++ b/package/bash/bash-4.2-016.patch @@ -0,0 +1,46 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-016 + +Bug-Reported-by: Martin von Gagern +Bug-Reference-ID: <4E43AD9E.8060501@gmx.net> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-08/msg00141.html + +Bug-Description: + +Bash should not check for mail while executing the `eval' builtin. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/parse.y Fri Feb 25 12:07:41 2011 +--- ./parse.y Thu Aug 11 19:02:26 2011 +*************** +*** 2500,2504 **** + is the mail alarm reset; nothing takes place in check_mail () + except the checking of mail. Please don't change this. */ +! if (prompt_is_ps1 && time_to_check_mail ()) + { + check_mail (); +--- 2498,2502 ---- + is the mail alarm reset; nothing takes place in check_mail () + except the checking of mail. Please don't change this. */ +! if (prompt_is_ps1 && parse_and_execute_level == 0 && time_to_check_mail ()) + { + check_mail (); +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- ./patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 15 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 16 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.2-017.patch b/package/bash/bash-4.2-017.patch new file mode 100644 index 0000000..fdecffa --- /dev/null +++ b/package/bash/bash-4.2-017.patch @@ -0,0 +1,47 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-017 + +Bug-Reported-by: Curtis Doty +Bug-Reference-ID: <20110621035324.A4F70849F59@mx1.iParadigms.net> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-06/msg00053.html + +Bug-Description: + +Using `read -a foo' where foo was an already-declared associative array +caused the shell to die with a segmentation fault. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/builtins/read.def 2011-01-04 11:43:36.000000000 -0500 +--- ./builtins/read.def 2011-06-21 10:31:02.000000000 -0400 +*************** +*** 643,646 **** +--- 642,651 ---- + return EXECUTION_FAILURE; /* readonly or noassign */ + } ++ if (assoc_p (var)) ++ { ++ builtin_error (_("%s: cannot convert associative to indexed array"), arrayname); ++ xfree (input_string); ++ return EXECUTION_FAILURE; /* existing associative array */ ++ } + array_flush (array_cell (var)); + +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- ./patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 16 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 17 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.2-018.patch b/package/bash/bash-4.2-018.patch new file mode 100644 index 0000000..c96b901 --- /dev/null +++ b/package/bash/bash-4.2-018.patch @@ -0,0 +1,74 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-018 + +Bug-Reported-by: Thomas Cort +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-06/msg00110.html + +Bug-Description: + +Bash fails to compile unless JOB_CONTROL is defined. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/execute_cmd.c 2011-02-09 17:32:25.000000000 -0500 +--- ./execute_cmd.c 2011-11-06 15:12:48.000000000 -0500 +*************** +*** 2197,2200 **** +--- 2315,2319 ---- + cmd->flags |= CMD_IGNORE_RETURN; + ++ #if defined (JOB_CONTROL) + lastpipe_flag = 0; + begin_unwind_frame ("lastpipe-exec"); +*************** +*** 2216,2228 **** + add_unwind_protect (lastpipe_cleanup, lastpipe_jid); + } +! cmd->flags |= CMD_LASTPIPE; + } + if (prev >= 0) + add_unwind_protect (close, prev); + + exec_result = execute_command_internal (cmd, asynchronous, prev, pipe_out, fds_to_close); + + if (lstdin > 0) + restore_stdin (lstdin); + + if (prev >= 0) +--- 2335,2351 ---- + add_unwind_protect (lastpipe_cleanup, lastpipe_jid); + } +! if (cmd) +! cmd->flags |= CMD_LASTPIPE; + } + if (prev >= 0) + add_unwind_protect (close, prev); ++ #endif + + exec_result = execute_command_internal (cmd, asynchronous, prev, pipe_out, fds_to_close); + ++ #if defined (JOB_CONTROL) + if (lstdin > 0) + restore_stdin (lstdin); ++ #endif + + if (prev >= 0) +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- ./patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 17 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 18 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.2-019.patch b/package/bash/bash-4.2-019.patch new file mode 100644 index 0000000..01603a9 --- /dev/null +++ b/package/bash/bash-4.2-019.patch @@ -0,0 +1,47 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-019 + +Bug-Reported-by: Diego Augusto Molina +Bug-Reference-ID: +Bug-Reference-URL: lists.gnu.org/archive/html/bug-bash/2011-09/msg00047.html + +Bug-Description: + +Using `declare' with attributes and an invalid array variable name or +assignment reference resulted in a segmentation fault instead of a +declaration error. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/builtins/declare.def 2010-05-30 18:25:21.000000000 -0400 +--- ./builtins/declare.def 2011-09-15 15:20:20.000000000 -0400 +*************** +*** 514,517 **** +--- 514,522 ---- + var = assign_array_element (name, value, 0); /* XXX - not aflags */ + *subscript_start = '\0'; ++ if (var == 0) /* some kind of assignment error */ ++ { ++ assign_error++; ++ NEXT_VARIABLE (); ++ } + } + else if (simple_array_assign) +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- ./patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 18 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 19 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.2-020.patch b/package/bash/bash-4.2-020.patch new file mode 100644 index 0000000..77e31df --- /dev/null +++ b/package/bash/bash-4.2-020.patch @@ -0,0 +1,60 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-020 + +Bug-Reported-by: Vincent Sheffer +Bug-Reference-ID: +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2011-08/msg00000.html + +Bug-Description: + +The shared object helper script needs to be updated for Mac OS X 10.7 +(Lion, darwin11). + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/support/shobj-conf 2009-10-28 09:20:21.000000000 -0400 +--- ./support/shobj-conf 2011-08-27 13:25:23.000000000 -0400 +*************** +*** 158,162 **** + + # Darwin/MacOS X +! darwin[89]*|darwin10*) + SHOBJ_STATUS=supported + SHLIB_STATUS=supported +--- 172,176 ---- + + # Darwin/MacOS X +! darwin[89]*|darwin1[012]*) + SHOBJ_STATUS=supported + SHLIB_STATUS=supported +*************** +*** 187,191 **** + + case "${host_os}" in +! darwin[789]*|darwin10*) SHOBJ_LDFLAGS='' + SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' + ;; +--- 201,205 ---- + + case "${host_os}" in +! darwin[789]*|darwin1[012]*) SHOBJ_LDFLAGS='' + SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' + ;; +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- ./patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 19 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 20 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.1-mkbuiltins-cross.patch b/package/bash/bash-4.2-mkbuiltins-cross.patch similarity index 100% rename from package/bash/bash-4.1-mkbuiltins-cross.patch rename to package/bash/bash-4.2-mkbuiltins-cross.patch diff --git a/package/bash/bash.mk b/package/bash/bash.mk index b20f6a8..44f9337 100644 --- a/package/bash/bash.mk +++ b/package/bash/bash.mk @@ -4,9 +4,14 @@ # ############################################################# -BASH_VERSION = 4.1 +BASH_VERSION = 4.2 BASH_SITE = $(BR2_GNU_MIRROR)/bash BASH_DEPENDENCIES = ncurses +BASH_CONF_ENV += \ + bash_cv_job_control_missing=present \ + bash_cv_sys_named_pipes=present \ + bash_cv_func_sigsetjmp=present \ + bash_cv_printf_a_format=yes # Make sure we build after busybox so that /bin/sh links to bash ifeq ($(BR2_PACKAGE_BUSYBOX),y) diff --git a/package/beecrypt/Config.in b/package/beecrypt/Config.in index 264516e..2673877 100644 --- a/package/beecrypt/Config.in +++ b/package/beecrypt/Config.in @@ -1,6 +1,10 @@ config BR2_PACKAGE_BEECRYPT bool "beecrypt" + select BR2_PACKAGE_ICU if BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR help Beecrypt is a general-purpose cryptography library. http://beecrypt.sf.net + +comment "beecrypt C++ support requires a toolchain with WCHAR enabled" + depends on BR2_INSTALL_LIBSTDCPP && !BR2_USE_WCHAR diff --git a/package/beecrypt/beecrypt-4.1.2_no-cxx-glue.patch b/package/beecrypt/beecrypt-4.1.2_no-cxx-glue.patch deleted file mode 100644 index 6c40936..0000000 --- a/package/beecrypt/beecrypt-4.1.2_no-cxx-glue.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ru beecrypt-4.1.2_vanilla/Makefile.am beecrypt-4.1.2_disable-cxxglue/Makefile.am ---- beecrypt-4.1.2_vanilla/Makefile.am 2004-12-22 07:06:31.000000000 +0000 -+++ beecrypt-4.1.2_disable-cxxglue/Makefile.am 2008-03-21 23:24:51.000000000 +0000 -@@ -49,7 +49,7 @@ - - libalt_LTLIBRARIES = libbeecrypt.la - --libbeecrypt_la_SOURCES = aes.c base64.c beecrypt.c blockmode.c blockpad.c blowfish.c dhaes.c dldp.c dlkp.c dlpk.c dlsvdp-dh.c dsa.c elgamal.c endianness.c entropy.c fips186.c hmac.c hmacmd5.c hmacsha1.c hmacsha256.c md5.c hmacsha384.c hmacsha512.c memchunk.c mp.c mpbarrett.c mpnumber.c mpprime.c mtprng.c pkcs1.c pkcs12.c rsa.c rsakp.c rsapk.c sha1.c sha256.c sha384.c sha512.c sha_k.c timestamp.c cppglue.cxx -+libbeecrypt_la_SOURCES = aes.c base64.c beecrypt.c blockmode.c blockpad.c blowfish.c dhaes.c dldp.c dlkp.c dlpk.c dlsvdp-dh.c dsa.c elgamal.c endianness.c entropy.c fips186.c hmac.c hmacmd5.c hmacsha1.c hmacsha256.c md5.c hmacsha384.c hmacsha512.c memchunk.c mp.c mpbarrett.c mpnumber.c mpprime.c mtprng.c pkcs1.c pkcs12.c rsa.c rsakp.c rsapk.c sha1.c sha256.c sha384.c sha512.c sha_k.c timestamp.c - libbeecrypt_la_DEPENDENCIES = $(BEECRYPT_OBJECTS) - libbeecrypt_la_LIBADD = aesopt.lo blowfishopt.lo mpopt.lo sha1opt.lo - libbeecrypt_la_LDFLAGS = -no-undefined -version-info $(LIBBEECRYPT_LT_CURRENT):$(LIBBEECRYPT_LT_REVISION):$(LIBBEECRYPT_LT_AGE) diff --git a/package/beecrypt/beecrypt-cppglue.cxx-cplusplus-only.patch b/package/beecrypt/beecrypt-cppglue.cxx-cplusplus-only.patch new file mode 100644 index 0000000..298e3eb --- /dev/null +++ b/package/beecrypt/beecrypt-cppglue.cxx-cplusplus-only.patch @@ -0,0 +1,28 @@ +Makefile.am: Only compile/link cppglue.cxx if --with-cplusplus is used + +Bloats libbeecrypt for no use and breaks build on systems without a C++ +compiler. + +Signed-off-by: Peter Korsgaard +--- + Makefile.am | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +Index: beecrypt-4.2.1/Makefile.am +=================================================================== +--- beecrypt-4.2.1.orig/Makefile.am ++++ beecrypt-4.2.1/Makefile.am +@@ -62,7 +62,12 @@ + + lib_LTLIBRARIES = libbeecrypt.la + +-libbeecrypt_la_SOURCES = aes.c base64.c beecrypt.c blockmode.c blockpad.c blowfish.c dhies.c dldp.c dlkp.c dlpk.c dlsvdp-dh.c dsa.c elgamal.c endianness.c entropy.c fips186.c hmac.c hmacmd5.c hmacsha1.c hmacsha224.c hmacsha256.c md4.c md5.c hmacsha384.c hmacsha512.c memchunk.c mp.c mpbarrett.c mpnumber.c mpprime.c mtprng.c pkcs1.c pkcs12.c ripemd128.c ripemd160.c ripemd256.c ripemd320.c rsa.c rsakp.c rsapk.c sha1.c sha224.c sha256.c sha384.c sha512.c sha2k32.c sha2k64.c timestamp.c cppglue.cxx ++libbeecrypt_la_SOURCES = aes.c base64.c beecrypt.c blockmode.c blockpad.c blowfish.c dhies.c dldp.c dlkp.c dlpk.c dlsvdp-dh.c dsa.c elgamal.c endianness.c entropy.c fips186.c hmac.c hmacmd5.c hmacsha1.c hmacsha224.c hmacsha256.c md4.c md5.c hmacsha384.c hmacsha512.c memchunk.c mp.c mpbarrett.c mpnumber.c mpprime.c mtprng.c pkcs1.c pkcs12.c ripemd128.c ripemd160.c ripemd256.c ripemd320.c rsa.c rsakp.c rsapk.c sha1.c sha224.c sha256.c sha384.c sha512.c sha2k32.c sha2k64.c timestamp.c ++ ++if WITH_CPLUSPLUS ++libbeecrypt_la_SOURCES += cppglue.cxx ++endif ++ + libbeecrypt_la_DEPENDENCIES = $(BEECRYPT_OBJECTS) + libbeecrypt_la_LIBADD = blowfishopt.lo mpopt.lo sha1opt.lo $(OPENMP_LIBS) + libbeecrypt_la_LDFLAGS = -no-undefined -version-info $(LIBBEECRYPT_LT_CURRENT):$(LIBBEECRYPT_LT_REVISION):$(LIBBEECRYPT_LT_AGE) diff --git a/package/beecrypt/beecrypt-icu-check-cross-compile.patch b/package/beecrypt/beecrypt-icu-check-cross-compile.patch new file mode 100644 index 0000000..cc02116 --- /dev/null +++ b/package/beecrypt/beecrypt-icu-check-cross-compile.patch @@ -0,0 +1,31 @@ +configure: Use AC_COMPILE_IFELSE for ICU check for cross compilation compat + +AC_RUN_IFELSE doesn't work when cross compiling, but we can do the +check in the preprocessor instead, so use AC_COMPILE_IFELSE instead. + +Signed-off-by: Peter Korsgaard +--- + configure.ac | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +Index: beecrypt-4.2.1/configure.ac +=================================================================== +--- beecrypt-4.2.1.orig/configure.ac ++++ beecrypt-4.2.1/configure.ac +@@ -295,13 +295,13 @@ + if test "$ac_with_cplusplus" = yes; then + AC_MSG_CHECKING([for IBM's ICU library version >= 2.8]) + AC_LANG_PUSH(C) +- AC_RUN_IFELSE([ ++ AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[#include ]],[[ + #if U_ICU_VERSION_MAJOR_NUM < 2 +- exit(1); ++ #error too old + #elif U_ICU_VERSION_MAJOR_NUM == 2 + # if U_ICU_VERSION_MINOR_NUM < 8 +- exit(1); ++ #error too old + # else + exit(0); + # endif diff --git a/package/beecrypt/beecrypt.mk b/package/beecrypt/beecrypt.mk index 06c359e..a0187ce 100644 --- a/package/beecrypt/beecrypt.mk +++ b/package/beecrypt/beecrypt.mk @@ -3,14 +3,27 @@ # beecrypt # ############################################################# -BEECRYPT_VERSION = 4.1.2 +BEECRYPT_VERSION = 4.2.1 BEECRYPT_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/beecrypt BEECRYPT_AUTORECONF = YES BEECRYPT_INSTALL_STAGING = YES - -BEECRYPT_CONF_OPT = --without-cplusplus \ +BEECRYPT_CONF_OPT = \ --without-java \ - --without-python \ - --disable-rpath + --without-python + +ifeq ($(BR2_PACKAGE_ICU),y) +# C++ support needs icu +BEECRYPT_DEPENDENCIES += icu +else +BEECRYPT_CONF_OPT += --without-cplusplus + +# automake/libtool uses the C++ compiler to link libbeecrypt because of +# (the optional) cppglue.cxx. Force it to use the C compiler instead. +define BEECRYPT_LINK_WITH_CC + $(SED) 's/--tag=CXX/--tag=CC/g' $(@D)/Makefile +endef + +BEECRYPT_POST_CONFIGURE_HOOKS += BEECRYPT_LINK_WITH_CC +endif $(eval $(call AUTOTARGETS)) diff --git a/package/bind/bind.mk b/package/bind/bind.mk index 4c7a612..0de986d 100644 --- a/package/bind/bind.mk +++ b/package/bind/bind.mk @@ -4,7 +4,7 @@ # ############################################################# -BIND_VERSION = 9.6-ESV-R5 +BIND_VERSION = 9.6-ESV-R5-P1 BIND_SITE = ftp://ftp.isc.org/isc/bind9/$(BIND_VERSION) BIND_MAKE = $(MAKE1) BIND_TARGET_SBINS = lwresd named named-checkconf named-checkzone diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host index f87298a..a13d61b 100644 --- a/package/binutils/Config.in.host +++ b/package/binutils/Config.in.host @@ -3,30 +3,15 @@ comment "Binutils Options" choice prompt "Binutils Version" default BR2_BINUTILS_VERSION_2_21 if (BR2_mips || BR2_mipsel || BR2_sh) - default BR2_BINUTILS_VERSION_2_21_1 if (BR2_UCLIBC_VERSION_0_9_32 || BR2_UCLIBC_VERSION_SNAPSHOT) + default BR2_BINUTILS_VERSION_2_21_1 if (!BR2_UCLIBC_VERSION_0_9_31) default BR2_BINUTILS_VERSION_2_21 help Select the version of binutils you wish to use. - config BR2_BINUTILS_VERSION_2_18 - depends on !BR2_avr32 - depends on BR2_DEPRECATED - bool "binutils 2.18" - config BR2_BINUTILS_VERSION_2_18_AVR32_1_0_1 depends on BR2_avr32 bool "binutils 2.18-avr32-1.0.1" - config BR2_BINUTILS_VERSION_2_19 - depends on !BR2_avr32 - depends on BR2_DEPRECATED - bool "binutils 2.19" - - config BR2_BINUTILS_VERSION_2_19_1 - depends on !BR2_avr32 - depends on BR2_DEPRECATED - bool "binutils 2.19.1" - config BR2_BINUTILS_VERSION_2_20 depends on !BR2_avr32 bool "binutils 2.20" @@ -40,21 +25,23 @@ choice bool "binutils 2.21" config BR2_BINUTILS_VERSION_2_21_1 - depends on !(BR2_avr32 || BR2_UCLIBC_VERSION_0_9_30 || BR2_UCLIBC_VERSION_0_9_31) + depends on !(BR2_avr32 || BR2_UCLIBC_VERSION_0_9_31) bool "binutils 2.21.1" + config BR2_BINUTILS_VERSION_2_22 + depends on !(BR2_avr32 || BR2_UCLIBC_VERSION_0_9_31) + bool "binutils 2.22" + endchoice config BR2_BINUTILS_VERSION string - default "2.18" if BR2_BINUTILS_VERSION_2_18 default "2.18-avr32-1.0.1" if BR2_BINUTILS_VERSION_2_18_AVR32_1_0_1 - default "2.19" if BR2_BINUTILS_VERSION_2_19 - default "2.19.1" if BR2_BINUTILS_VERSION_2_19_1 default "2.20" if BR2_BINUTILS_VERSION_2_20 default "2.20.1" if BR2_BINUTILS_VERSION_2_20_1 default "2.21" if BR2_BINUTILS_VERSION_2_21 default "2.21.1" if BR2_BINUTILS_VERSION_2_21_1 + default "2.22" if BR2_BINUTILS_VERSION_2_22 config BR2_BINUTILS_EXTRA_CONFIG_OPTIONS string "Additional binutils options" diff --git a/package/binutils/binutils-2.18/100-makeinfo-version.patch b/package/binutils/binutils-2.18/100-makeinfo-version.patch deleted file mode 100644 index d911d62..0000000 --- a/package/binutils/binutils-2.18/100-makeinfo-version.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff -u binutils-2.18-orig/configure binutils-2.18/configure ---- binutils-2.18-orig/configure 2007-08-06 16:29:40.000000000 -0400 -+++ binutils-2.18/configure 2007-09-27 22:41:51.000000000 -0400 -@@ -6125,10 +6125,10 @@ - *" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;; - *) - -- # For an installed makeinfo, we require it to be from texinfo 4.4 or -+ # For an installed makeinfo, we require it to be from texinfo 4.6 or - # higher, else we use the "missing" dummy. - if ${MAKEINFO} --version \ -- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then -+ | egrep 'texinfo[^0-9]*(4\.([6-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then - : - else - MAKEINFO="$MISSING makeinfo" -diff -u binutils-2.18-orig/configure.ac binutils-2.18/configure.ac ---- binutils-2.18-orig/configure.ac 2007-08-28 16:24:26.000000000 -0400 -+++ binutils-2.18/configure.ac 2007-09-27 22:41:00.000000000 -0400 -@@ -2400,10 +2400,10 @@ - *" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;; - *) - changequote(,) -- # For an installed makeinfo, we require it to be from texinfo 4.4 or -+ # For an installed makeinfo, we require it to be from texinfo 4.6 or - # higher, else we use the "missing" dummy. - if ${MAKEINFO} --version \ -- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then -+ | egrep 'texinfo[^0-9]*(4\.([6-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then - : - else - MAKEINFO="$MISSING makeinfo" diff --git a/package/binutils/binutils-2.18/110-arm-eabi-conf.patch b/package/binutils/binutils-2.18/110-arm-eabi-conf.patch deleted file mode 100644 index 04e19be..0000000 --- a/package/binutils/binutils-2.18/110-arm-eabi-conf.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -u binutils-2.17.50.0.17.oorig/configure binutils-2.17.50.0.17/configure ---- binutils-2.17.50.0.17.oorig/configure 2007-06-18 19:29:28.000000000 +0200 -+++ binutils-2.17.50.0.17/configure 2007-06-25 09:58:36.000000000 +0200 -@@ -2224,7 +2224,7 @@ - arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* ) - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - ;; -- arm*-*-linux-gnueabi) -+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi) - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - noconfigdirs="$noconfigdirs target-libjava target-libobjc" - ;; -diff -u binutils-2.17.50.0.17.oorig/configure.ac binutils-2.17.50.0.17/configure.ac ---- binutils-2.17.50.0.17.oorig/configure.ac 2007-06-18 19:29:28.000000000 +0200 -+++ binutils-2.17.50.0.17/configure.ac 2007-06-25 09:58:36.000000000 +0200 -@@ -513,7 +513,7 @@ - arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* ) - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - ;; -- arm*-*-linux-gnueabi) -+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi) - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - noconfigdirs="$noconfigdirs target-libjava target-libobjc" - ;; diff --git a/package/binutils/binutils-2.18/300-012_check_ldrunpath_length.patch b/package/binutils/binutils-2.18/300-012_check_ldrunpath_length.patch deleted file mode 100644 index 6e80921..0000000 --- a/package/binutils/binutils-2.18/300-012_check_ldrunpath_length.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -u binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em binutils-2.17.50.0.17/ld/emultempl/elf32.em ---- binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em 2007-06-18 19:31:40.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/emultempl/elf32.em 2007-06-25 10:01:25.000000000 +0200 -@@ -1007,6 +1007,8 @@ - && command_line.rpath == NULL) - { - lib_path = (const char *) getenv ("LD_RUN_PATH"); -+ if ((lib_path) && (strlen (lib_path) == 0)) -+ lib_path = NULL; - if (gld${EMULATION_NAME}_search_needed (lib_path, &n, - force)) - break; -@@ -1191,6 +1193,8 @@ - rpath = command_line.rpath; - if (rpath == NULL) - rpath = (const char *) getenv ("LD_RUN_PATH"); -+ if ((rpath) && (strlen (rpath) == 0)) -+ rpath = NULL; - if (! (bfd_elf_size_dynamic_sections - (output_bfd, command_line.soname, rpath, - command_line.filter_shlib, diff --git a/package/binutils/binutils-2.19.1/110-arm-eabi-conf.patch b/package/binutils/binutils-2.19.1/110-arm-eabi-conf.patch deleted file mode 100644 index af26329..0000000 --- a/package/binutils/binutils-2.19.1/110-arm-eabi-conf.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -rdup binutils-2.18.50.0.3.orig/configure binutils-2.18.50.0.3/configure ---- binutils-2.18.50.0.3.orig/configure 2007-11-22 12:41:26.000000000 +0100 -+++ binutils-2.18.50.0.3/configure 2007-11-22 12:45:01.000000000 +0100 -@@ -2245,7 +2245,7 @@ case "${target}" in - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - libgloss_dir=arm - ;; -- arm*-*-linux-gnueabi) -+ arm*-*-linux-*gnueabi) - noconfigdirs="$noconfigdirs target-qthreads" - noconfigdirs="$noconfigdirs target-libobjc" - case ${with_newlib} in -diff -rdup binutils-2.18.50.0.3.orig/configure.ac binutils-2.18.50.0.3/configure.ac ---- binutils-2.18.50.0.3.orig/configure.ac 2007-11-22 12:41:26.000000000 +0100 -+++ binutils-2.18.50.0.3/configure.ac 2007-11-22 12:44:54.000000000 +0100 -@@ -522,7 +522,7 @@ case "${target}" in - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - libgloss_dir=arm - ;; -- arm*-*-linux-gnueabi) -+ arm*-*-linux-*gnueabi) - noconfigdirs="$noconfigdirs target-qthreads" - noconfigdirs="$noconfigdirs target-libobjc" - case ${with_newlib} in diff --git a/package/binutils/binutils-2.19.1/120-sh-conf.patch b/package/binutils/binutils-2.19.1/120-sh-conf.patch deleted file mode 100644 index 071d15a..0000000 --- a/package/binutils/binutils-2.19.1/120-sh-conf.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff -rdup binutils-2.18.50.0.9.old/configure binutils-2.18.50.0.9/configure ---- binutils-2.18.50.0.9.old/configure 2008-08-23 17:36:13.000000000 +0200 -+++ binutils-2.18.50.0.9/configure 2008-10-14 14:25:22.000000000 +0200 -@@ -2281,7 +2281,7 @@ case "${target}" in - am33_2.0-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; -- sh-*-linux*) -+ sh*-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; - sh*-*-pe|mips*-*-pe|*arm-wince-pe) -@@ -2606,7 +2606,7 @@ case "${target}" in - romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${host}" in - i[3456789]86-*-vsta) ;; # don't add gprof back in - i[3456789]86-*-go32*) ;; # don't add gprof back in -diff -rdup binutils-2.18.50.0.9.old/configure.ac binutils-2.18.50.0.9/configure.ac ---- binutils-2.18.50.0.9.old/configure.ac 2008-08-23 17:36:13.000000000 +0200 -+++ binutils-2.18.50.0.9/configure.ac 2008-10-14 14:25:11.000000000 +0200 -@@ -530,7 +530,7 @@ case "${target}" in - am33_2.0-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; -- sh-*-linux*) -+ sh*-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; - sh*-*-pe|mips*-*-pe|*arm-wince-pe) -@@ -855,7 +855,7 @@ case "${target}" in - romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${host}" in - i[[3456789]]86-*-vsta) ;; # don't add gprof back in - i[[3456789]]86-*-go32*) ;; # don't add gprof back in diff --git a/package/binutils/binutils-2.19.1/300-001_ld_makefile_patch.patch b/package/binutils/binutils-2.19.1/300-001_ld_makefile_patch.patch deleted file mode 100644 index 5cb0f61..0000000 --- a/package/binutils/binutils-2.19.1/300-001_ld_makefile_patch.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.am binutils-2.17.50.0.17/ld/Makefile.am ---- binutils-2.17.50.0.17.oorig/ld/Makefile.am 2007-06-18 19:29:29.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/Makefile.am 2007-06-25 10:00:36.000000000 +0200 -@@ -18,7 +18,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ -diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.in binutils-2.17.50.0.17/ld/Makefile.in ---- binutils-2.17.50.0.17.oorig/ld/Makefile.in 2007-06-18 19:29:29.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/Makefile.in 2007-06-25 10:00:36.000000000 +0200 -@@ -287,7 +287,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include diff --git a/package/binutils/binutils-2.19.1/300-012_check_ldrunpath_length.patch b/package/binutils/binutils-2.19.1/300-012_check_ldrunpath_length.patch deleted file mode 100644 index 6e80921..0000000 --- a/package/binutils/binutils-2.19.1/300-012_check_ldrunpath_length.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -u binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em binutils-2.17.50.0.17/ld/emultempl/elf32.em ---- binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em 2007-06-18 19:31:40.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/emultempl/elf32.em 2007-06-25 10:01:25.000000000 +0200 -@@ -1007,6 +1007,8 @@ - && command_line.rpath == NULL) - { - lib_path = (const char *) getenv ("LD_RUN_PATH"); -+ if ((lib_path) && (strlen (lib_path) == 0)) -+ lib_path = NULL; - if (gld${EMULATION_NAME}_search_needed (lib_path, &n, - force)) - break; -@@ -1191,6 +1193,8 @@ - rpath = command_line.rpath; - if (rpath == NULL) - rpath = (const char *) getenv ("LD_RUN_PATH"); -+ if ((rpath) && (strlen (rpath) == 0)) -+ rpath = NULL; - if (! (bfd_elf_size_dynamic_sections - (output_bfd, command_line.soname, rpath, - command_line.filter_shlib, diff --git a/package/binutils/binutils-2.19/110-arm-eabi-conf.patch b/package/binutils/binutils-2.19/110-arm-eabi-conf.patch deleted file mode 100644 index af26329..0000000 --- a/package/binutils/binutils-2.19/110-arm-eabi-conf.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -rdup binutils-2.18.50.0.3.orig/configure binutils-2.18.50.0.3/configure ---- binutils-2.18.50.0.3.orig/configure 2007-11-22 12:41:26.000000000 +0100 -+++ binutils-2.18.50.0.3/configure 2007-11-22 12:45:01.000000000 +0100 -@@ -2245,7 +2245,7 @@ case "${target}" in - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - libgloss_dir=arm - ;; -- arm*-*-linux-gnueabi) -+ arm*-*-linux-*gnueabi) - noconfigdirs="$noconfigdirs target-qthreads" - noconfigdirs="$noconfigdirs target-libobjc" - case ${with_newlib} in -diff -rdup binutils-2.18.50.0.3.orig/configure.ac binutils-2.18.50.0.3/configure.ac ---- binutils-2.18.50.0.3.orig/configure.ac 2007-11-22 12:41:26.000000000 +0100 -+++ binutils-2.18.50.0.3/configure.ac 2007-11-22 12:44:54.000000000 +0100 -@@ -522,7 +522,7 @@ case "${target}" in - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - libgloss_dir=arm - ;; -- arm*-*-linux-gnueabi) -+ arm*-*-linux-*gnueabi) - noconfigdirs="$noconfigdirs target-qthreads" - noconfigdirs="$noconfigdirs target-libobjc" - case ${with_newlib} in diff --git a/package/binutils/binutils-2.19/120-sh-conf.patch b/package/binutils/binutils-2.19/120-sh-conf.patch deleted file mode 100644 index 071d15a..0000000 --- a/package/binutils/binutils-2.19/120-sh-conf.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff -rdup binutils-2.18.50.0.9.old/configure binutils-2.18.50.0.9/configure ---- binutils-2.18.50.0.9.old/configure 2008-08-23 17:36:13.000000000 +0200 -+++ binutils-2.18.50.0.9/configure 2008-10-14 14:25:22.000000000 +0200 -@@ -2281,7 +2281,7 @@ case "${target}" in - am33_2.0-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; -- sh-*-linux*) -+ sh*-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; - sh*-*-pe|mips*-*-pe|*arm-wince-pe) -@@ -2606,7 +2606,7 @@ case "${target}" in - romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${host}" in - i[3456789]86-*-vsta) ;; # don't add gprof back in - i[3456789]86-*-go32*) ;; # don't add gprof back in -diff -rdup binutils-2.18.50.0.9.old/configure.ac binutils-2.18.50.0.9/configure.ac ---- binutils-2.18.50.0.9.old/configure.ac 2008-08-23 17:36:13.000000000 +0200 -+++ binutils-2.18.50.0.9/configure.ac 2008-10-14 14:25:11.000000000 +0200 -@@ -530,7 +530,7 @@ case "${target}" in - am33_2.0-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; -- sh-*-linux*) -+ sh*-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; - sh*-*-pe|mips*-*-pe|*arm-wince-pe) -@@ -855,7 +855,7 @@ case "${target}" in - romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${host}" in - i[[3456789]]86-*-vsta) ;; # don't add gprof back in - i[[3456789]]86-*-go32*) ;; # don't add gprof back in diff --git a/package/binutils/binutils-2.19/300-001_ld_makefile_patch.patch b/package/binutils/binutils-2.19/300-001_ld_makefile_patch.patch deleted file mode 100644 index 5cb0f61..0000000 --- a/package/binutils/binutils-2.19/300-001_ld_makefile_patch.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.am binutils-2.17.50.0.17/ld/Makefile.am ---- binutils-2.17.50.0.17.oorig/ld/Makefile.am 2007-06-18 19:29:29.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/Makefile.am 2007-06-25 10:00:36.000000000 +0200 -@@ -18,7 +18,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ -diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.in binutils-2.17.50.0.17/ld/Makefile.in ---- binutils-2.17.50.0.17.oorig/ld/Makefile.in 2007-06-18 19:29:29.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/Makefile.in 2007-06-25 10:00:36.000000000 +0200 -@@ -287,7 +287,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include diff --git a/package/binutils/binutils-2.19/300-012_check_ldrunpath_length.patch b/package/binutils/binutils-2.19/300-012_check_ldrunpath_length.patch deleted file mode 100644 index 6e80921..0000000 --- a/package/binutils/binutils-2.19/300-012_check_ldrunpath_length.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -u binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em binutils-2.17.50.0.17/ld/emultempl/elf32.em ---- binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em 2007-06-18 19:31:40.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/emultempl/elf32.em 2007-06-25 10:01:25.000000000 +0200 -@@ -1007,6 +1007,8 @@ - && command_line.rpath == NULL) - { - lib_path = (const char *) getenv ("LD_RUN_PATH"); -+ if ((lib_path) && (strlen (lib_path) == 0)) -+ lib_path = NULL; - if (gld${EMULATION_NAME}_search_needed (lib_path, &n, - force)) - break; -@@ -1191,6 +1193,8 @@ - rpath = command_line.rpath; - if (rpath == NULL) - rpath = (const char *) getenv ("LD_RUN_PATH"); -+ if ((rpath) && (strlen (rpath) == 0)) -+ rpath = NULL; - if (! (bfd_elf_size_dynamic_sections - (output_bfd, command_line.soname, rpath, - command_line.filter_shlib, diff --git a/package/binutils/binutils-2.22/120-sh-conf.patch b/package/binutils/binutils-2.22/120-sh-conf.patch new file mode 100644 index 0000000..ea3d1b6 --- /dev/null +++ b/package/binutils/binutils-2.22/120-sh-conf.patch @@ -0,0 +1,29 @@ +r10231 | lethal | 2005-05-02 09:58:00 -0400 (Mon, 02 May 2005) | 13 lines + +Likewise, binutils has no idea about any of these new targets either, so we +fix that up too.. now we're able to actually build a real toolchain for +sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more +inept targets than that one, really. Go look, I promise). + +--- a/configure ++++ b/configure +@@ -1495,7 +1495,7 @@ + mips*-*-*) + noconfigdirs="$noconfigdirs gprof" + ;; +- sh-*-* | sh64-*-*) ++ sh*-*-* | sh64-*-*) + case "${target}" in + sh*-*-elf) + ;; +--- a/configure.ac ++++ b/configure.ac +@@ -712,7 +712,7 @@ + mips*-*-*) + noconfigdirs="$noconfigdirs gprof" + ;; +- sh-*-* | sh64-*-*) ++ sh*-*-* | sh64-*-*) + case "${target}" in + sh*-*-elf) + ;; diff --git a/package/binutils/binutils-2.18/300-001_ld_makefile_patch.patch b/package/binutils/binutils-2.22/300-001_ld_makefile_patch.patch similarity index 100% rename from package/binutils/binutils-2.18/300-001_ld_makefile_patch.patch rename to package/binutils/binutils-2.22/300-001_ld_makefile_patch.patch diff --git a/package/binutils/binutils-2.22/300-012_check_ldrunpath_length.patch b/package/binutils/binutils-2.22/300-012_check_ldrunpath_length.patch new file mode 100644 index 0000000..df78310 --- /dev/null +++ b/package/binutils/binutils-2.22/300-012_check_ldrunpath_length.patch @@ -0,0 +1,21 @@ +diff -Nura binutils-2.21.orig/ld/emultempl/elf32.em binutils-2.21/ld/emultempl/elf32.em +--- binutils-2.21.orig/ld/emultempl/elf32.em 2010-10-29 09:10:36.000000000 -0300 ++++ binutils-2.21/ld/emultempl/elf32.em 2010-12-10 09:26:56.746102724 -0300 +@@ -1270,6 +1270,8 @@ + && command_line.rpath == NULL) + { + lib_path = (const char *) getenv ("LD_RUN_PATH"); ++ if ((lib_path) && (strlen (lib_path) == 0)) ++ lib_path = NULL; + if (gld${EMULATION_NAME}_search_needed (lib_path, &n, + force)) + break; +@@ -1497,6 +1499,8 @@ + rpath = command_line.rpath; + if (rpath == NULL) + rpath = (const char *) getenv ("LD_RUN_PATH"); ++ if ((rpath) && (strlen (rpath) == 0)) ++ rpath = NULL; + + for (abfd = link_info.input_bfds; abfd; abfd = abfd->link_next) + if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) diff --git a/package/binutils/binutils-2.22/999-ppc-textrels.patch b/package/binutils/binutils-2.22/999-ppc-textrels.patch new file mode 100644 index 0000000..c1efacf --- /dev/null +++ b/package/binutils/binutils-2.22/999-ppc-textrels.patch @@ -0,0 +1,80 @@ +http://bugs.gentoo.org/392645 +http://sourceware.org/bugzilla/show_bug.cgi?id=13470 + +2011-12-03 Alan Modra + + PR ld/13470 + * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Revert substantive + change in 2011-07-01 commit. Comment. + * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise. + +=================================================================== +RCS file: /cvs/src/src/bfd/elf32-ppc.c,v +retrieving revision 1.302.2.1 +retrieving revision 1.302.2.2 +diff -u -r1.302.2.1 -r1.302.2.2 +--- src/bfd/elf32-ppc.c 2011/11/15 11:36:52 1.302.2.1 ++++ src/bfd/elf32-ppc.c 2011/12/03 00:58:01 1.302.2.2 +@@ -2987,10 +2987,6 @@ + edir->elf.needs_plt |= eind->elf.needs_plt; + edir->elf.pointer_equality_needed |= eind->elf.pointer_equality_needed; + +- /* If we were called to copy over info for a weak sym, that's all. */ +- if (eind->elf.root.type != bfd_link_hash_indirect) +- return; +- + if (eind->dyn_relocs != NULL) + { + if (edir->dyn_relocs != NULL) +@@ -3022,6 +3018,16 @@ + eind->dyn_relocs = NULL; + } + ++ /* If we were called to copy over info for a weak sym, that's all. ++ You might think dyn_relocs need not be copied over; After all, ++ both syms will be dynamic or both non-dynamic so we're just ++ moving reloc accounting around. However, ELIMINATE_COPY_RELOCS ++ code in ppc_elf_adjust_dynamic_symbol needs to check for ++ dyn_relocs in read-only sections, and it does so on what is the ++ DIR sym here. */ ++ if (eind->elf.root.type != bfd_link_hash_indirect) ++ return; ++ + /* Copy over the GOT refcount entries that we may have already seen to + the symbol which just became indirect. */ + edir->elf.got.refcount += eind->elf.got.refcount; +=================================================================== +RCS file: /cvs/src/src/bfd/elf64-ppc.c,v +retrieving revision 1.363.2.4 +retrieving revision 1.363.2.5 +diff -u -r1.363.2.4 -r1.363.2.5 +--- src/bfd/elf64-ppc.c 2011/11/08 13:46:36 1.363.2.4 ++++ src/bfd/elf64-ppc.c 2011/12/03 00:58:02 1.363.2.5 +@@ -4435,10 +4435,6 @@ + edir->elf.ref_regular_nonweak |= eind->elf.ref_regular_nonweak; + edir->elf.needs_plt |= eind->elf.needs_plt; + +- /* If we were called to copy over info for a weak sym, that's all. */ +- if (eind->elf.root.type != bfd_link_hash_indirect) +- return; +- + /* Copy over any dynamic relocs we may have on the indirect sym. */ + if (eind->dyn_relocs != NULL) + { +@@ -4471,6 +4467,16 @@ + eind->dyn_relocs = NULL; + } + ++ /* If we were called to copy over info for a weak sym, that's all. ++ You might think dyn_relocs need not be copied over; After all, ++ both syms will be dynamic or both non-dynamic so we're just ++ moving reloc accounting around. However, ELIMINATE_COPY_RELOCS ++ code in ppc64_elf_adjust_dynamic_symbol needs to check for ++ dyn_relocs in read-only sections, and it does so on what is the ++ DIR sym here. */ ++ if (eind->elf.root.type != bfd_link_hash_indirect) ++ return; ++ + /* Copy over got entries that we may have already seen to the + symbol which just became indirect. */ + if (eind->elf.got.glist != NULL) diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk index 20de45a..8632d67 100644 --- a/package/binutils/binutils.mk +++ b/package/binutils/binutils.mk @@ -40,6 +40,8 @@ HOST_BINUTILS_CONF_OPT = --disable-multilib --disable-werror \ $(BR2_CONFIGURE_STAGING_SYSROOT) \ $(BINUTILS_EXTRA_CONFIG_OPTIONS) +HOST_BINUTILS_DEPENDENCIES = + # We just want libbfd and libiberty, not the full-blown binutils in staging define BINUTILS_INSTALL_STAGING_CMDS $(MAKE) -C $(@D)/bfd DESTDIR=$(STAGING_DIR) install diff --git a/package/bison/Config.in b/package/bison/Config.in index e8aa0b6..da0ac3f 100644 --- a/package/bison/Config.in +++ b/package/bison/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_BISON bool "bison" depends on BR2_USE_WCHAR + select BR2_PACKAGE_M4 help General-purpose parser generator that converts a grammar description for an LALR context-free grammar into a C diff --git a/package/bison/bison-2.4.3-uclibc-sched_param-def.patch b/package/bison/bison-2.4.3-uclibc-sched_param-def.patch deleted file mode 100644 index 50652d8..0000000 --- a/package/bison/bison-2.4.3-uclibc-sched_param-def.patch +++ /dev/null @@ -1,19 +0,0 @@ -uclibc defines __GLIBC__ but it does not expose struct shed_param as much as glibc -and is not needed too per standard. gnulib attempts to use it but we have to account -for it because in this case uclibc does not behave like glibc. - --Khem - -http://bugs.gentoo.org/336484 - ---- m4-1.4.14/lib/spawn.in.h -+++ m4-1.4.14/lib/spawn.in.h -@@ -31,7 +31,7 @@ - - /* Get definitions of 'struct sched_param' and 'sigset_t'. - But avoid namespace pollution on glibc systems. */ --#ifndef __GLIBC__ -+#if !defined __GLIBC__ || defined __UCLIBC__ - # include - # include - #endif diff --git a/package/bison/bison.mk b/package/bison/bison.mk index d365e33..a1de39a 100644 --- a/package/bison/bison.mk +++ b/package/bison/bison.mk @@ -4,9 +4,12 @@ # ############################################################# -BISON_VERSION = 2.4.3 +BISON_VERSION = 2.5 BISON_SITE = $(BR2_GNU_MIRROR)/bison +BISON_CONF_ENV += ac_cv_path_M4=/usr/bin/m4 +BISON_DEPENDENCIES += m4 + define BISON_DISABLE_EXAMPLES echo 'all install:' > $(@D)/examples/Makefile endef diff --git a/package/bluez_utils/Config.in b/package/bluez_utils/Config.in index ea6b44c..3517407 100644 --- a/package/bluez_utils/Config.in +++ b/package/bluez_utils/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_BLUEZ_UTILS bool "bluez-utils" depends on BR2_USE_WCHAR # libglib2 select BR2_PACKAGE_DBUS - select BR2_PACKAGE_EXPAT if !BR2_PACKAGE_DBUS_LIBXML2 select BR2_PACKAGE_LIBGLIB2 help bluez utils diff --git a/package/bluez_utils/bluez_utils.mk b/package/bluez_utils/bluez_utils.mk index 860ecbd..025f31a 100644 --- a/package/bluez_utils/bluez_utils.mk +++ b/package/bluez_utils/bluez_utils.mk @@ -3,12 +3,14 @@ # bluez_utils # ############################################################# -BLUEZ_UTILS_VERSION = 4.96 + +BLUEZ_UTILS_VERSION = 4.98 BLUEZ_UTILS_SOURCE = bluez-$(BLUEZ_UTILS_VERSION).tar.gz -BLUEZ_UTILS_SITE = http://www.kernel.org/pub/linux/bluetooth/ +BLUEZ_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth BLUEZ_UTILS_INSTALL_STAGING = YES BLUEZ_UTILS_DEPENDENCIES = dbus libglib2 BLUEZ_UTILS_CONF_OPT = --enable-test --enable-tools +BLUEZ_UTILS_AUTORECONF = YES # BlueZ 3.x compatibility ifeq ($(BR2_PACKAGE_BLUEZ_UTILS_COMPAT),y) diff --git a/package/boost/Config.in b/package/boost/Config.in new file mode 100644 index 0000000..7598d02 --- /dev/null +++ b/package/boost/Config.in @@ -0,0 +1,79 @@ +config BR2_PACKAGE_BOOST + bool "boost" + depends on BR2_INSTALL_LIBSTDCPP + select BR2_PACKAGE_BZIP2 + select BR2_PACKAGE_ZLIB + help + A general purpose C++ library + + http://www.boost.org/ + +if BR2_PACKAGE_BOOST + +config BR2_PACKAGE_BOOST_MULTITHREADED + depends on BR2_TOOLCHAIN_HAS_THREADS + bool "boost-multithreaded" + help + Build the boost libraries as multithreaded + +config BR2_PACKAGE_BOOST_CHRONO + bool "boost-chrono" + +config BR2_PACKAGE_BOOST_DATE_TIME + bool "boost-date_time" + +config BR2_PACKAGE_BOOST_EXCEPTION + bool "boost-exception" + +config BR2_PACKAGE_BOOST_FILESYSTEM + bool "boost-filesystem" + +config BR2_PACKAGE_BOOST_GRAPH + bool "boost-graph" + +config BR2_PACKAGE_BOOST_GRAPH_PARALLEL + bool "boost-graph_parallel" + +config BR2_PACKAGE_BOOST_ICU + select BR2_PACKAGE_ICU + bool "boost-icu" + +config BR2_PACKAGE_BOOST_IOSTREAMS + bool "boost-iostreams" + +config BR2_PACKAGE_BOOST_MATH + bool "boost-math" + +config BR2_PACKAGE_BOOST_MPI + bool "boost-mpi" + +config BR2_PACKAGE_BOOST_PROGRAM_OPTIONS + bool "boost-program_options" + +config BR2_PACKAGE_BOOST_RANDOM + bool "boost-random" + +config BR2_PACKAGE_BOOST_REGEX + bool "boost-regex" + +config BR2_PACKAGE_BOOST_SERIALIZATION + bool "boost-serialization" + +config BR2_PACKAGE_BOOST_SIGNALS + bool "boost-signals" + +config BR2_PACKAGE_BOOST_SYSTEM + bool "boost-system" + +config BR2_PACKAGE_BOOST_TEST + bool "boost-test" + +config BR2_PACKAGE_BOOST_THREAD + depends on BR2_TOOLCHAIN_HAS_THREADS + bool "boost-thread" + +config BR2_PACKAGE_BOOST_WAVE + bool "boost-wave" + +endif + diff --git a/package/boost/boost.mk b/package/boost/boost.mk new file mode 100644 index 0000000..4577f2d --- /dev/null +++ b/package/boost/boost.mk @@ -0,0 +1,83 @@ +############################################################# +# +# Boost +# +############################################################# + +BOOST_VERSION = 1.47.0 +BOOST_FILE_VERSION = $(subst .,_,$(BOOST_VERSION)) +BOOST_SOURCE = boost_$(BOOST_FILE_VERSION).tar.bz2 +BOOST_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/boost +BOOST_INSTALL_STAGING = YES + +TARGET_CC_VERSION = $(shell $(TARGET_CC) --version | head -n 1 | sed -e "s/.*[[:space:]]\([[:digit:].]\+$$\)/\1/g" ) + +BOOST_DEPENDENCIES = bzip2 zlib + +BOOST_FLAGS = +BOOST_WITHOUT_FLAGS = python + +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CHRONO),,chrono) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_DATE_TIME),,date_time) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_EXCEPTION),,exception) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_FILESYSTEM),,filesystem) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_GRAPH),,graph) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_GRAPH_PARALLEL),,graph_parallel) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_IOSTREAMS),,iostreams) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MATH),,math) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MPI),,mpi) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PROGRAM_OPTIONS),,program_options) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_RANDOM),,random) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_REGEX),,regex) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SERIALIZATION),,serialization) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SIGNALS),,signals) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SYSTEM),,system) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TEST),,test) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_THREAD),,thread) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_WAVE),,wave) + +ifeq ($(BR2_PACKAGE_BOOST_ICU),y) +BOOST_FLAGS += --with-icu +BOOST_DEPENDENCIES += icu +else +BOOST_FLAGS += --without-icu +endif + +BOOST_LINK = $(if $(BR2_PREFER_STATIC_LIB),static,shared) +BOOST_MULTI = $(if $(BR2_PACKAGE_BOOST_MULTITHREADED),multi,single) +BOOST_VARIANT = $(if $(BR2_ENABLE_DEBUG),debug,release) + +BOOST_WITHOUT_FLAGS_COMMASEPERATED += $(subst $(space),$(comma),$(strip $(BOOST_WITHOUT_FLAGS))) +BOOST_FLAGS += $(if $(BOOST_WITHOUT_FLAGS_COMMASEPERATED), --without-libraries=$(BOOST_WITHOUT_FLAGS_COMMASEPERATED)) + +define BOOST_CONFIGURE_CMDS + (cd $(@D) && ./bootstrap.sh $(BOOST_FLAGS)) + echo "using gcc : $(TARGET_CC_VERSION) : $(TARGET_CXX) : \"$(TARGET_CXXFLAGS)\" \"$(TARGET_LDFLAGS)\" ;" > $(@D)/user-config.jam + echo "" >> $(@D)/user-config.jam +endef + +define BOOST_INSTALL_TARGET_CMDS + (cd $(@D) && ./b2 -q -d+2 \ + --user-config=$(@D)/user-config.jam \ + toolset=gcc \ + variant=$(BOOST_VARIANT) \ + link=$(BOOST_LINK) \ + threading=$(BOOST_MULTI) \ + runtime-link=$(BOOST_LINK) \ + --prefix=$(TARGET_DIR)/usr \ + --layout=system install ) +endef + +define BOOST_INSTALL_STAGING_CMDS + (cd $(@D) && ./bjam -d+2 \ + --user-config=$(@D)/user-config.jam \ + toolset=gcc \ + variant=$(BOOST_VARIANT) \ + link=$(BOOST_LINK) \ + threading=$(BOOST_MULTI) \ + runtime-link=$(BOOST_LINK) \ + --prefix=$(STAGING_DIR)/usr \ + --layout=system install) +endef + +$(eval $(call GENTARGETS)) diff --git a/package/busybox/Config.in b/package/busybox/Config.in index 4176020..c206509 100644 --- a/package/busybox/Config.in +++ b/package/busybox/Config.in @@ -41,7 +41,7 @@ config BR2_BUSYBOX_VERSION default "1.16.2" if BR2_BUSYBOX_VERSION_1_16_X default "1.17.4" if BR2_BUSYBOX_VERSION_1_17_X default "1.18.5" if BR2_BUSYBOX_VERSION_1_18_X - default "1.19.3" if BR2_BUSYBOX_VERSION_1_19_X + default "1.19.4" if BR2_BUSYBOX_VERSION_1_19_X config BR2_PACKAGE_BUSYBOX_CONFIG string "BusyBox configuration file to use?" diff --git a/package/busybox/busybox-1.16.x.config b/package/busybox/busybox-1.16.x.config index e5f5102..24a27bf 100644 --- a/package/busybox/busybox-1.16.x.config +++ b/package/busybox/busybox-1.16.x.config @@ -516,7 +516,7 @@ CONFIG_LSPCI=y CONFIG_LSUSB=y CONFIG_MDEV=y CONFIG_FEATURE_MDEV_CONF=y -# CONFIG_FEATURE_MDEV_RENAME is not set +CONFIG_FEATURE_MDEV_RENAME=y # CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set CONFIG_FEATURE_MDEV_EXEC=y # CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set diff --git a/package/busybox/busybox-1.17.x.config b/package/busybox/busybox-1.17.x.config index d131dd6..edf9c6d 100644 --- a/package/busybox/busybox-1.17.x.config +++ b/package/busybox/busybox-1.17.x.config @@ -547,7 +547,7 @@ CONFIG_LSPCI=y CONFIG_LSUSB=y CONFIG_MDEV=y CONFIG_FEATURE_MDEV_CONF=y -# CONFIG_FEATURE_MDEV_RENAME is not set +CONFIG_FEATURE_MDEV_RENAME=y # CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set CONFIG_FEATURE_MDEV_EXEC=y # CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set diff --git a/package/busybox/busybox-1.18.x.config b/package/busybox/busybox-1.18.x.config index 502048d..9e41550 100644 --- a/package/busybox/busybox-1.18.x.config +++ b/package/busybox/busybox-1.18.x.config @@ -555,7 +555,7 @@ CONFIG_LSPCI=y CONFIG_LSUSB=y CONFIG_MDEV=y CONFIG_FEATURE_MDEV_CONF=y -# CONFIG_FEATURE_MDEV_RENAME is not set +CONFIG_FEATURE_MDEV_RENAME=y # CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set CONFIG_FEATURE_MDEV_EXEC=y # CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set diff --git a/package/busybox/busybox-1.19.3/busybox-1.19.3-getty.patch b/package/busybox/busybox-1.19.3/busybox-1.19.3-getty.patch deleted file mode 100644 index 84dad6f..0000000 --- a/package/busybox/busybox-1.19.3/busybox-1.19.3-getty.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- busybox-1.19.3/loginutils/getty.c -+++ busybox-1.19.3-getty/loginutils/getty.c -@@ -271,7 +271,9 @@ static void termios_init(int speed) - #ifdef CMSPAR - | CMSPAR /* mark or space parity */ - #endif -+#ifdef CBAUD - | CBAUD /* (output) baud rate */ -+#endif - #ifdef CBAUDEX - | CBAUDEX /* (output) baud rate */ - #endif diff --git a/package/busybox/busybox-1.19.3/busybox-1.19.3-modinfo.patch b/package/busybox/busybox-1.19.3/busybox-1.19.3-modinfo.patch deleted file mode 100644 index 9dd5c10..0000000 --- a/package/busybox/busybox-1.19.3/busybox-1.19.3-modinfo.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- busybox-1.19.3/modutils/modinfo.c -+++ busybox-1.19.3-modinfo/modutils/modinfo.c -@@ -13,6 +13,7 @@ - //config:config MODINFO - //config: bool "modinfo" - //config: default y -+//config: select PLATFORM_LINUX - //config: help - //config: Show information about a Linux Kernel module - diff --git a/package/busybox/busybox-1.19.x.config b/package/busybox/busybox-1.19.x.config index 9f4603d..bf5e8df 100644 --- a/package/busybox/busybox-1.19.x.config +++ b/package/busybox/busybox-1.19.x.config @@ -563,7 +563,7 @@ CONFIG_LSPCI=y CONFIG_LSUSB=y CONFIG_MDEV=y CONFIG_FEATURE_MDEV_CONF=y -# CONFIG_FEATURE_MDEV_RENAME is not set +CONFIG_FEATURE_MDEV_RENAME=y # CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set CONFIG_FEATURE_MDEV_EXEC=y # CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk index d18b6d0..59448d5 100644 --- a/package/busybox/busybox.mk +++ b/package/busybox/busybox.mk @@ -28,6 +28,11 @@ ifndef BUSYBOX_CONFIG_FILE BUSYBOX_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_BUSYBOX_CONFIG)) endif +define BUSYBOX_PERMISSIONS +/bin/busybox f 4755 0 0 - - - - - +/usr/share/udhcpc/default.script f 755 0 0 - - - - - +endef + # If mdev will be used for device creation enable it and copy S10mdev to /etc/init.d ifeq ($(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV),y) define BUSYBOX_INSTALL_MDEV_SCRIPT diff --git a/package/bzip2/bzip2.mk b/package/bzip2/bzip2.mk index d3bb2b0..1bc4449 100644 --- a/package/bzip2/bzip2.mk +++ b/package/bzip2/bzip2.mk @@ -59,6 +59,7 @@ define BZIP2_INSTALL_TARGET_CMDS cp $(@D)/libbz2.so.$(BZIP2_SONAME) $(TARGET_DIR)/usr/lib/ (cd $(TARGET_DIR)/usr/lib; \ ln -snf libbz2.so.$(BZIP2_SONAME) libbz2.so.1.0; \ + ln -snf libbz2.so.$(BZIP2_SONAME) libbz2.so.1; \ ln -snf libbz2.so.$(BZIP2_SONAME) libbz2.so; \ ) (cd $(TARGET_DIR)/usr/bin; \ @@ -102,4 +103,4 @@ define HOST_BZIP2_INSTALL_CMDS endef $(eval $(call GENTARGETS)) -$(eval $(call GENTARGETS,host)) \ No newline at end of file +$(eval $(call GENTARGETS,host)) diff --git a/package/cairo/cairo-1.10.2-directfb.patch b/package/cairo/cairo-1.10.2-directfb.patch new file mode 100644 index 0000000..8b4c6f7 --- /dev/null +++ b/package/cairo/cairo-1.10.2-directfb.patch @@ -0,0 +1,36 @@ +--- cairo-1.10.2/src/cairo-directfb-surface.c 2010-06-18 12:47:12.000000000 +0100 ++++ cairo-1.10.2.mod/src/cairo-directfb-surface.c 2012-02-02 11:40:57.835273391 +0000 +@@ -700,6 +700,7 @@ + surface->dfbsurface->Blit (surface->dfbsurface, + buffer, NULL, + image_rect->x, image_rect->y); ++ surface->dfbsurface->ReleaseSource (surface->dfbsurface); + } + + cairo_surface_destroy (&image->base); +@@ -928,6 +929,9 @@ + cairo_surface_attributes_t *src_attr) + { + _cairo_pattern_release_surface (src_pattern, src, src_attr); ++ ++ if (dst->dfbsurface) ++ dst->dfbsurface->ReleaseSource (dst->dfbsurface); + } + #endif /* DFB_COMPOSITE || DFB_COMPOSITE_TRAPEZOIDS */ + +@@ -1584,6 +1588,7 @@ + + new_cache->dfbsurface->Blit (new_cache->dfbsurface, + cache->dfbsurface, NULL, 0, 0); ++ new_cache->dfbsurface->ReleaseSource (new_cache->dfbsurface); + + _directfb_destroy_font_cache (cache); + scaled_font->surface_private = cache = new_cache; +@@ -1809,6 +1814,7 @@ + RUN_CLIPPED (dst, clip_region, NULL, + dst->dfbsurface->BatchBlit (dst->dfbsurface, + cache->dfbsurface, rects, points, num)); ++ dst->dfbsurface->ReleaseSource (dst->dfbsurface); + + return CAIRO_STATUS_SUCCESS; + } diff --git a/package/cairo/cairo-1.8.10-directfb.patch b/package/cairo/cairo-1.8.10-directfb.patch deleted file mode 100644 index 12a51ec..0000000 --- a/package/cairo/cairo-1.8.10-directfb.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/src/cairo-directfb-surface.c b/src/cairo-directfb-surface.c -index bb02dbf..65f2d55 100644 ---- a/src/cairo-directfb-surface.c -+++ b/src/cairo-directfb-surface.c -@@ -609,6 +609,8 @@ _cairo_directfb_surface_release_dest_image (void *abstract_surf - surface->dfbsurface->Blit (surface->dfbsurface, - buffer, NULL, - image_rect->x, image_rect->y)); -+ -+ surface->dfbsurface->ReleaseSource (surface->dfbsurface); - } - - cairo_surface_destroy (&image->base); -@@ -848,6 +850,9 @@ _directfb_finish_composite (cairo_directfb_surface_t *dst, - cairo_surface_attributes_t *src_attr) - { - _cairo_pattern_release_surface (src_pattern, src, src_attr); -+ -+ if (dst->dfbsurface) -+ dst->dfbsurface->ReleaseSource( dst->dfbsurface ); - } - #endif /* DFB_COMPOSITE || DFB_COMPOSITE_TRAPEZOIDS */ - -@@ -1555,6 +1560,7 @@ _directfb_acquire_font_cache (cairo_directfb_surface_t *surface, - - new_cache->dfbsurface->Blit (new_cache->dfbsurface, - cache->dfbsurface, NULL, 0, 0); -+ new_cache->dfbsurface->ReleaseSource (new_cache->dfbsurface); - - _directfb_destroy_font_cache (cache); - scaled_font->surface_private = cache = new_cache; -@@ -1778,6 +1784,7 @@ _cairo_directfb_surface_show_glyphs (void *abstract_dst, - RUN_CLIPPED (dst, NULL, - dst->dfbsurface->BatchBlit (dst->dfbsurface, - cache->dfbsurface, rects, points, num)); -+ dst->dfbsurface->ReleaseSource (dst->dfbsurface); - - return CAIRO_STATUS_SUCCESS; - } diff --git a/package/cairo/cairo.mk b/package/cairo/cairo.mk index 1746eff..55068dd 100644 --- a/package/cairo/cairo.mk +++ b/package/cairo/cairo.mk @@ -3,12 +3,10 @@ # cairo # ############################################################# -CAIRO_VERSION = 1.8.10 +CAIRO_VERSION = 1.10.2 CAIRO_SOURCE = cairo-$(CAIRO_VERSION).tar.gz CAIRO_SITE = http://cairographics.org/releases -CAIRO_AUTORECONF = NO CAIRO_INSTALL_STAGING = YES -CAIRO_INSTALL_TARGET = YES CAIRO_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \ glib_cv_uscore=no ac_cv_func_strtod=yes \ @@ -79,12 +77,4 @@ else CAIRO_CONF_OPT += --disable-svg endif -HOST_CAIRO_CONF_OPT = \ - --enable-ps \ - --enable-pdf \ - --enable-xlib \ - --with-x \ - --disable-png \ - --disable-svg - $(eval $(call AUTOTARGETS)) diff --git a/package/ccache/ccache.mk b/package/ccache/ccache.mk index 87a64e5..9155441 100644 --- a/package/ccache/ccache.mk +++ b/package/ccache/ccache.mk @@ -4,7 +4,7 @@ # ############################################################# -CCACHE_VERSION = 3.1.4 +CCACHE_VERSION = 3.1.7 CCACHE_SITE = http://samba.org/ftp/ccache CCACHE_SOURCE = ccache-$(CCACHE_VERSION).tar.bz2 diff --git a/package/cdrkit/cdrkit-1.1.10-no-rcmd.patch b/package/cdrkit/cdrkit-1.1.11-no-rcmd.patch similarity index 100% rename from package/cdrkit/cdrkit-1.1.10-no-rcmd.patch rename to package/cdrkit/cdrkit-1.1.11-no-rcmd.patch diff --git a/package/cdrkit/cdrkit.mk b/package/cdrkit/cdrkit.mk index 9eebe6e..a060b03 100644 --- a/package/cdrkit/cdrkit.mk +++ b/package/cdrkit/cdrkit.mk @@ -1,9 +1,12 @@ -CDRKIT_VERSION=1.1.10 -CDRKIT_SOURCE=cdrkit-$(CDRKIT_VERSION).tar.gz -CDRKIT_SITE=http://www.cdrkit.org/releases/ +############################################################# +# +# cdrkit +# +############################################################# -CDRKIT_DEPENDENCIES=libcap bzip2 zlib -HOST_CDRKIT_DEPENDENCIES=host-libcap host-bzip2 host-zlib +CDRKIT_VERSION = 1.1.11 +CDRKIT_SITE = http://www.cdrkit.org/releases +CDRKIT_DEPENDENCIES = libcap bzip2 zlib ifeq ($(BR2_ENDIAN),"BIG") CMAKE_ENDIAN_OPT=-DBITFIELDS_HTOL=1 diff --git a/package/connman/Config.in b/package/connman/Config.in new file mode 100644 index 0000000..2801b87 --- /dev/null +++ b/package/connman/Config.in @@ -0,0 +1,47 @@ +config BR2_PACKAGE_CONNMAN + bool "connman" + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_IPTABLES + depends on BR2_UCLIBC_VERSION_SNAPSHOT || BR2_TOOLCHAIN_EXTERNAL_GLIBC || BR2_TOOLCHAIN_CTNG_eglibc || BR2_TOOLCHAIN_CTNG_eglibc + help + The Connection Manager (ConnMan) project provides a daemon for + managing internet connections within embedded devices running + the Linux operating system. + + For more information, see http://connman.net/ + +if BR2_PACKAGE_CONNMAN + +config BR2_PACKAGE_CONNMAN_THREADS + bool "enable threading support" + depends on BR2_TOOLCHAIN_HAS_THREADS + default y + +config BR2_PACKAGE_CONNMAN_ETHERNET + bool "enable Ethernet support" + default y + +config BR2_PACKAGE_CONNMAN_WIFI + bool "enable WiFi support" + select BR2_PACKAGE_WPA_SUPPLICANT + +config BR2_PACKAGE_CONNMAN_BLUETOOTH + bool "enable Bluetooth support" + +config BR2_PACKAGE_CONNMAN_LOOPBACK + bool "enable loopback support" + +config BR2_PACKAGE_CONNMAN_NTPD + bool "enable ntpd support" + +config BR2_PACKAGE_CONNMAN_DEBUG + bool "enable compiling with debugging information" + +config BR2_PACKAGE_CONNMAN_CLIENT + bool "enable command line client" + +endif # BR2_PACKAGE_CONNMAN + +comment "connman needs a toolchain with resolver support" + depends on !(BR2_UCLIBC_VERSION_SNAPSHOT || BR2_TOOLCHAIN_EXTERNAL_GLIBC || BR2_TOOLCHAIN_CTNG_eglibc || BR2_TOOLCHAIN_CTNG_eglibc) diff --git a/package/connman/S45connman b/package/connman/S45connman new file mode 100755 index 0000000..a8afd68 --- /dev/null +++ b/package/connman/S45connman @@ -0,0 +1,22 @@ +#!/bin/sh + +case "$1" in + start) + echo -n "Starting connman ... " + start-stop-daemon -S -q -m -b -p /var/run/connmand.pid --exec /usr/sbin/connmand -- -n + echo "done." + ;; + stop) + echo -n "Stopping connman ..." + start-stop-daemon -K -q -p /var/run/connmand.pid + echo "done." + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" + ;; +esac diff --git a/package/connman/connman.mk b/package/connman/connman.mk new file mode 100644 index 0000000..6b9bbe6 --- /dev/null +++ b/package/connman/connman.mk @@ -0,0 +1,39 @@ +####################################################### +# +# connman - open source connection manager +# +####################################################### + +CONNMAN_VERSION = 0.78 +CONNMAN_SITE = git://git.kernel.org/pub/scm/network/connman/connman.git +CONNMAN_DEPENDENCIES = libglib2 dbus iptables +CONNMAN_INSTALL_STAGING = YES +CONNMAN_CONF_OPT += --localstatedir=/var \ + $(if $(BR2_PACKAGE_CONNMAN_THREADS),--enable-threads,--disable-threads) \ + $(if $(BR2_PACKAGE_CONNMAN_DEBUG),--enable-debug,--disable-debug) \ + $(if $(BR2_PACKAGE_CONNMAN_ETHERNET),--enable-ethernet,--disable-ethernet) \ + $(if $(BR2_PACKAGE_CONNMAN_WIFI),--enable-wifi,--disable-wifi) \ + $(if $(BR2_PACKAGE_CONNMAN_BLUETOOTH),--enable-bluetooth,--disable-bluetooth) \ + $(if $(BR2_PACKAGE_CONNMAN_LOOPBACK),--enable-loopback,--disable-loopback) \ + $(if $(BR2_PACKAGE_CONNMAN_NTPD),--enable-ntpd,--disable-ntpd) + +# as long as sources are obtained from git, we need to generate the autofoo stuff +CONNMAN_AUTORECONF = YES + +define CONNMAN_INSTALL_INITSCRIPT + $(INSTALL) -m 0755 -D package/connman/S45connman $(TARGET_DIR)/etc/init.d/S45connman +endef + +CONNMAN_POST_INSTALL_TARGET_HOOKS = CONNMAN_INSTALL_INITSCRIPT + +ifeq ($(BR2_PACKAGE_CONNMAN_CLIENT),y) +CONNMAN_CONF_OPT += --enable-client + +define CONNMAN_INSTALL_CM + $(INSTALL) -m 0755 -D $(@D)/client/cm $(TARGET_DIR)/usr/bin/cm +endef + +CONNMAN_POST_INSTALL_TARGET_HOOKS += CONNMAN_INSTALL_CM +endif + +$(eval $(call AUTOTARGETS)) diff --git a/package/coreutils/coreutils-8.9-hostname-man.patch b/package/coreutils/coreutils-8.9-hostname-man.patch deleted file mode 100644 index 5f8fa1e..0000000 --- a/package/coreutils/coreutils-8.9-hostname-man.patch +++ /dev/null @@ -1,51 +0,0 @@ ---- /dev/null 2010-09-18 00:21:07.280000001 -0700 -+++ b/man/hostname.1 2010-09-23 12:08:06.000000000 -0700 -@@ -0,0 +1,48 @@ -+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.35. -+.TH HOSTNAME "1" "January 2011" "GNU coreutils 8.9" "User Commands" -+.SH NAME -+hostname \- set or print the name of the current host system -+.SH SYNOPSIS -+.B hostname -+[\fINAME\fR] -+.br -+.B hostname -+\fIOPTION\fR -+.SH DESCRIPTION -+.\" Add any additional description here -+.PP -+Print or set the hostname of the current system. -+.TP -+\fB\-\-help\fR -+display this help and exit -+.TP -+\fB\-\-version\fR -+output version information and exit -+.SH AUTHOR -+Written by Jim Meyering. -+.SH "REPORTING BUGS" -+Report hostname bugs to bug\-coreutils at gnu.org -+.br -+GNU coreutils home page: -+.br -+General help using GNU software: -+.br -+Report hostname translation bugs to -+.SH COPYRIGHT -+Copyright \(co 2010 Free Software Foundation, Inc. -+License GPLv3+: GNU GPL version 3 or later . -+.br -+This is free software: you are free to change and redistribute it. -+There is NO WARRANTY, to the extent permitted by law. -+.SH "SEE ALSO" -+The full documentation for -+.B hostname -+is maintained as a Texinfo manual. If the -+.B info -+and -+.B hostname -+programs are properly installed at your site, the command -+.IP -+.B info coreutils \(aqhostname invocation\(aq -+.PP -+should give you access to the complete manual. diff --git a/package/coreutils/coreutils.mk b/package/coreutils/coreutils.mk index 7ee37b1..0a85586 100644 --- a/package/coreutils/coreutils.mk +++ b/package/coreutils/coreutils.mk @@ -3,9 +3,10 @@ # coreutils # ############################################################# -COREUTILS_VERSION = 8.9 -COREUTILS_SOURCE = coreutils-$(COREUTILS_VERSION).tar.gz + +COREUTILS_VERSION = 8.15 COREUTILS_SITE = $(BR2_GNU_MIRROR)/coreutils +COREUTILS_SOURCE = coreutils-$(COREUTILS_VERSION).tar.xz # If both coreutils and busybox are selected, make certain coreutils # wins the fight over who gets to have their utils actually installed. @@ -20,6 +21,7 @@ COREUTILS_BIN_PROGS = cat chgrp chmod chown cp date dd df dir echo false hostnam COREUTILS_CONF_ENV = ac_cv_c_restrict=no \ ac_cv_func_chown_works=yes \ ac_cv_func_euidaccess=no \ + ac_cv_func_fstatat=yes \ ac_cv_func_getdelim=yes \ ac_cv_func_getgroups=yes \ ac_cv_func_getgroups_works=yes \ @@ -41,6 +43,7 @@ COREUTILS_CONF_ENV = ac_cv_c_restrict=no \ gl_cv_func_getcwd_null=yes \ gl_cv_func_getcwd_path_max=yes \ gl_cv_func_gettimeofday_clobber=no \ + gl_cv_func_fstatat_zero_flag=no \ gl_cv_func_link_follows_symlink=no \ gl_cv_func_re_compile_pattern_working=yes \ gl_cv_func_svid_putenv=yes \ diff --git a/package/cramfs/cramfs.mk b/package/cramfs/cramfs.mk index 4a0ec1c..57dbe40 100644 --- a/package/cramfs/cramfs.mk +++ b/package/cramfs/cramfs.mk @@ -9,7 +9,6 @@ CRAMFS_SOURCE=cramfs-$(CRAMFS_VERSION).tar.gz CRAMFS_SITE=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/cramfs CRAMFS_DEPENDENCIES = zlib -HOST_CRAMFS_DEPENDENCIES = host-zlib define CRAMFS_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)" -C $(@D) diff --git a/package/crosstool-ng/crosstool-ng.mk b/package/crosstool-ng/crosstool-ng.mk index 0337bf1..a2069a9 100644 --- a/package/crosstool-ng/crosstool-ng.mk +++ b/package/crosstool-ng/crosstool-ng.mk @@ -1,4 +1,4 @@ -CROSSTOOL_NG_VERSION = 1.13.2 +CROSSTOOL_NG_VERSION = 1.13.4 CROSSTOOL_NG_SOURCE = crosstool-ng-$(CROSSTOOL_NG_VERSION).tar.bz2 CROSSTOOL_NG_SITE = http://crosstool-ng.org/download/crosstool-ng/ CROSSTOOL_NG_INSTALL_STAGING = NO diff --git a/package/customize/Config.in b/package/customize/Config.in index 97f8646..8f8aaa2 100644 --- a/package/customize/Config.in +++ b/package/customize/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_CUSTOMIZE bool "customize" + depends on BR2_DEPRECATED help Add custom stuff to your buildroot. diff --git a/package/dbus-glib/dbus-glib.mk b/package/dbus-glib/dbus-glib.mk index 8717f63..397996e 100644 --- a/package/dbus-glib/dbus-glib.mk +++ b/package/dbus-glib/dbus-glib.mk @@ -3,7 +3,7 @@ # dbus-glib # ############################################################# -DBUS_GLIB_VERSION = 0.94 +DBUS_GLIB_VERSION = 0.98 DBUS_GLIB_SOURCE = dbus-glib-$(DBUS_GLIB_VERSION).tar.gz DBUS_GLIB_SITE = http://dbus.freedesktop.org/releases/dbus-glib/ DBUS_GLIB_INSTALL_STAGING = YES diff --git a/package/dbus/Config.in b/package/dbus/Config.in index c625382..54a8540 100644 --- a/package/dbus/Config.in +++ b/package/dbus/Config.in @@ -1,18 +1,13 @@ config BR2_PACKAGE_DBUS bool "dbus" - depends on BR2_PACKAGE_EXPAT || BR2_PACKAGE_LIBXML2 help The D-Bus message bus system. http://www.freedesktop.org/wiki/Software/dbus -comment "dbus not available (need expat or libxml2)" - depends on !BR2_PACKAGE_EXPAT && !BR2_PACKAGE_LIBXML2 - choice prompt "XML library to use" depends on BR2_PACKAGE_DBUS - default BR2_DBUS_LIBXML2 if (BR2_PACKAGE_LIBXML2 && !BR2_PACKAGE_EXPAT) default BR2_DBUS_EXPAT help Select the XML library to use with D-Bus. Select Expat @@ -21,10 +16,10 @@ choice config BR2_DBUS_EXPAT bool "Expat" - depends on BR2_PACKAGE_EXPAT + select BR2_PACKAGE_EXPAT config BR2_DBUS_LIBXML2 bool "libxml2" - depends on BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_LIBXML2 endchoice diff --git a/package/dialog/dialog.mk b/package/dialog/dialog.mk index 0a4f792..175ed93 100644 --- a/package/dialog/dialog.mk +++ b/package/dialog/dialog.mk @@ -3,9 +3,10 @@ # dialog # ############################################################# -DIALOG_VERSION:=1.1-20100428 -DIALOG_SOURCE:=dialog-$(DIALOG_VERSION).tgz -DIALOG_SITE:=ftp://invisible-island.net/dialog + +DIALOG_VERSION = 1.1-20111020 +DIALOG_SOURCE = dialog-$(DIALOG_VERSION).tgz +DIALOG_SITE = ftp://invisible-island.net/dialog DIALOG_CONF_OPT = --with-ncurses DIALOG_CONF_ENV = ac_cv_path_NCURSES_CONFIG=true LIBS=-lncurses DIALOG_DEPENDENCIES = ncurses diff --git a/package/diffutils/Config.in b/package/diffutils/Config.in index df3e426..86da5d3 100644 --- a/package/diffutils/Config.in +++ b/package/diffutils/Config.in @@ -1,6 +1,10 @@ config BR2_PACKAGE_DIFFUTILS bool"diffutils" + depends on BR2_USE_WCHAR help GNU diff. Compare files per line. http://www.gnu.org/software/diffutils/diffutils.html + +comment "diffutils requires a toolchain with WCHAR support" + depends on !BR2_USE_WCHAR diff --git a/package/diffutils/diffutils-2.8.1-__mempcpy.patch b/package/diffutils/diffutils-2.8.1-__mempcpy.patch deleted file mode 100644 index 94144c1..0000000 --- a/package/diffutils/diffutils-2.8.1-__mempcpy.patch +++ /dev/null @@ -1,47 +0,0 @@ -[PATCH] diffutils: Don't use glibc specific __mempcpy - -The configure script checks for mempcpy, but the code uses the (glibc -specific) __mempcpy instead. Fix it to use mempcpy which is more -portable. - -Signed-off-by: Peter Korsgaard x ---- - lib/getopt.c | 4 ++-- - lib/regex.c | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -Index: diffutils-2.8.1/lib/getopt.c -=================================================================== ---- diffutils-2.8.1.orig/lib/getopt.c -+++ diffutils-2.8.1/lib/getopt.c -@@ -334,7 +334,7 @@ exchange (argv) - nonoption_flags_len = nonoption_flags_max_len = 0; - else - { -- memset (__mempcpy (new_str, __getopt_nonoption_flags, -+ memset (mempcpy (new_str, __getopt_nonoption_flags, - nonoption_flags_max_len), - '\0', top + 1 - nonoption_flags_max_len); - nonoption_flags_max_len = top + 1; -@@ -445,7 +445,7 @@ _getopt_initialize (argc, argv, optstrin - if (__getopt_nonoption_flags == NULL) - nonoption_flags_max_len = -1; - else -- memset (__mempcpy (__getopt_nonoption_flags, orig_str, len), -+ memset (mempcpy (__getopt_nonoption_flags, orig_str, len), - '\0', nonoption_flags_max_len - len); - } - } -Index: diffutils-2.8.1/lib/regex.c -=================================================================== ---- diffutils-2.8.1.orig/lib/regex.c -+++ diffutils-2.8.1/lib/regex.c -@@ -8314,7 +8314,7 @@ regerror (errcode, preg, errbuf, errbuf_ - if (msg_size > errbuf_size) - { - #if defined HAVE_MEMPCPY || defined _LIBC -- *((char *) __mempcpy (errbuf, msg, errbuf_size - 1)) = '\0'; -+ *((char *) mempcpy (errbuf, msg, errbuf_size - 1)) = '\0'; - #else - memcpy (errbuf, msg, errbuf_size - 1); - errbuf[errbuf_size - 1] = 0; diff --git a/package/diffutils/diffutils.mk b/package/diffutils/diffutils.mk index 693b0c8..6d1896a 100644 --- a/package/diffutils/diffutils.mk +++ b/package/diffutils/diffutils.mk @@ -3,62 +3,15 @@ # diffutils # ############################################################# -DIFFUTILS_VERSION=2.8.1 -DIFFUTILS_SOURCE:=diffutils-$(DIFFUTILS_VERSION).tar.gz -DIFFUTILS_SITE:=$(BR2_GNU_MIRROR)/diffutils - -DIFFUTILS_INSTALL_STAGING = YES +DIFFUTILS_VERSION = 3.2 +DIFFUTILS_SITE = $(BR2_GNU_MIRROR)/diffutils DIFFUTILS_DEPENDENCIES = \ $(if $(BR2_PACKAGE_GETTEXT),gettext) \ $(if $(BR2_PACKAGE_LIBINTL),libintl) -DIFFUTILS_CONF_ENV = ac_cv_func_strtod=yes - ac_fsusage_space=yes \ - fu_cv_sys_stat_statfs2_bsize=yes \ - ac_cv_func_closedir_void=no \ - ac_cv_func_getloadavg=no \ - ac_cv_lib_util_getloadavg=no \ - ac_cv_lib_getloadavg_getloadavg=no \ - ac_cv_func_getgroups=yes \ - ac_cv_func_getgroups_works=yes \ - ac_cv_func_chown_works=yes \ - ac_cv_have_decl_euidaccess=no \ - ac_cv_func_euidaccess=no \ - ac_cv_have_decl_strnlen=yes \ - ac_cv_func_strnlen_working=yes \ - ac_cv_func_lstat_dereferences_slashed_symlink=yes \ - ac_cv_func_lstat_empty_string_bug=no \ - ac_cv_func_stat_empty_string_bug=no \ - vb_cv_func_rename_trailing_slash_bug=no \ - ac_cv_have_decl_nanosleep=yes \ - jm_cv_func_nanosleep_works=yes \ - gl_cv_func_working_utimes=yes \ - ac_cv_func_utime_null=yes \ - ac_cv_have_decl_strerror_r=yes \ - ac_cv_func_strerror_r_char_p=no \ - jm_cv_func_svid_putenv=yes \ - ac_cv_func_getcwd_null=yes \ - ac_cv_func_getdelim=yes \ - ac_cv_func_mkstemp=yes \ - utils_cv_func_mkstemp_limitations=no \ - utils_cv_func_mkdir_trailing_slash_bug=no \ - jm_cv_func_gettimeofday_clobber=no \ - am_cv_func_working_getline=yes \ - gl_cv_func_working_readdir=yes \ - jm_ac_cv_func_link_follows_symlink=no \ - utils_cv_localtime_cache=no \ - ac_cv_struct_st_mtim_nsec=no \ - gl_cv_func_tzset_clobber=no \ - gl_cv_func_getcwd_null=yes \ - gl_cv_func_getcwd_path_max=yes \ - ac_cv_func_fnmatch_gnu=yes \ - am_getline_needs_run_time_check=no \ - am_cv_func_working_getline=yes \ - gl_cv_func_mkdir_trailing_slash_bug=no \ - gl_cv_func_mkstemp_limitations=no \ - ac_cv_func_working_mktime=yes \ - jm_cv_func_working_re_compile_pattern=yes \ - ac_use_included_regex=no +ifeq ($(BR2_PACKAGE_BUSYBOX),y) +DIFFUTILS_DEPENDENCIES += busybox +endif $(eval $(call AUTOTARGETS)) diff --git a/package/dmalloc/dmalloc.mk b/package/dmalloc/dmalloc.mk index 4de324e..89d067d 100644 --- a/package/dmalloc/dmalloc.mk +++ b/package/dmalloc/dmalloc.mk @@ -37,7 +37,7 @@ define DMALLOC_INSTALL_STAGING_CMDS bindir="$(STAGING_DIR)/usr/bin" \ libdir="$(STAGING_DIR)/usr/lib" \ shlibdir="$(STAGING_DIR)/usr/lib" \ - includedir="$(STAGING_DIR)/usr/share/info/" \ + infodir="$(STAGING_DIR)/usr/share/info/" \ -C $(@D) install endef diff --git a/package/dnsmasq/dnsmasq.mk b/package/dnsmasq/dnsmasq.mk index 0f8db9d..fc43abd 100644 --- a/package/dnsmasq/dnsmasq.mk +++ b/package/dnsmasq/dnsmasq.mk @@ -57,6 +57,7 @@ endef define DNSMASQ_INSTALL_TARGET_CMDS $(DNSMASQ_MAKE_ENV) $(MAKE) -C $(@D) $(DNSMASQ_MAKE_OPT) install + mkdir -p $(TARGET_DIR)/var/lib/misc/ endef define DNSMASQ_UNINSTALL_TARGET_CMDS diff --git a/package/dropbear/dropbear-0.53.1-static_build_fix.patch b/package/dropbear/dropbear-0.53.1-static_build_fix.patch deleted file mode 100644 index 0e0a91a..0000000 --- a/package/dropbear/dropbear-0.53.1-static_build_fix.patch +++ /dev/null @@ -1,26 +0,0 @@ -dropbear: fix static build - -the -lcrypt is missing during the link - -svr-authpasswd.o: In function `svr_auth_password': -svr-authpasswd.c:(.text+0xfc): undefined reference to `crypt' -collect2: ld returned 1 exit status - -Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD ---- - Makefile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: b/Makefile.in -=================================================================== ---- a/Makefile.in -+++ b/Makefile.in -@@ -77,7 +77,7 @@ STRIP=@STRIP@ - INSTALL=@INSTALL@ - CPPFLAGS=@CPPFLAGS@ - CFLAGS+=-I. -I$(srcdir) $(CPPFLAGS) @CFLAGS@ --LIBS+=@LIBS@ -+LIBS+=@CRYPTLIB@ @LIBS@ - LDFLAGS=@LDFLAGS@ - - EXEEXT=@EXEEXT@ diff --git a/package/dropbear/dropbear.mk b/package/dropbear/dropbear.mk index bced0ef..fea96d6 100644 --- a/package/dropbear/dropbear.mk +++ b/package/dropbear/dropbear.mk @@ -4,8 +4,7 @@ # ############################################################# -DROPBEAR_VERSION = 0.53.1 -DROPBEAR_SOURCE = dropbear-$(DROPBEAR_VERSION).tar.gz +DROPBEAR_VERSION = 2012.55 DROPBEAR_SITE = http://matt.ucc.asn.au/dropbear/releases DROPBEAR_TARGET_BINS = dbclient dropbearkey dropbearconvert scp ssh DROPBEAR_MAKE = $(MAKE) MULTI=1 SCPPROGRESS=1 \ diff --git a/package/dstat/Config.in b/package/dstat/Config.in new file mode 100644 index 0000000..1439c8b --- /dev/null +++ b/package/dstat/Config.in @@ -0,0 +1,23 @@ +config BR2_PACKAGE_DSTAT + bool "dstat" + depends on BR2_USE_WCHAR # python + select BR2_PACKAGE_PYTHON + help + Dstat, written in Python, is a versatile replacement for vmstat, + iostat, netstat and ifstat. Dstat overcomes some of their limitations + and adds some extra features, more counters and flexibility. Dstat is + handy for monitoring systems during performance tuning tests, + benchmarks or troubleshooting. + Dstat allows you to view all of your system resources in real-time, + you can e.g. compare disk utilization in combination with interrupts + from your IDE controller, or compare the network bandwidth numbers + directly with the disk throughput (in the same interval). + + Note that to get proper output, your terminal size should be known by + the termios subsystem. This can be done by running the 'resize' + utility of busybox. + + http://dag.wieers.com/home-made/dstat/ + +comment "dstat requires a toolchain with WCHAR support" + depends on !BR2_USE_WCHAR diff --git a/package/dstat/dstat.mk b/package/dstat/dstat.mk new file mode 100644 index 0000000..a19d1d4 --- /dev/null +++ b/package/dstat/dstat.mk @@ -0,0 +1,15 @@ +############################################################# +# +# dstat +# +############################################################# + +DSTAT_VERSION = 0.7.2 +DSTAT_SOURCE = dstat-$(DSTAT_VERSION).tar.bz2 +DSTAT_SITE = http://dag.wieers.com/home-made/dstat + +define DSTAT_INSTALL_TARGET_CMDS + $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install +endef + +$(eval $(call GENTARGETS)) diff --git a/package/e2fsprogs/Config.in b/package/e2fsprogs/Config.in index a98c49e..d4f4405 100644 --- a/package/e2fsprogs/Config.in +++ b/package/e2fsprogs/Config.in @@ -47,6 +47,9 @@ config BR2_PACKAGE_E2FSPROGS_E2UNDO bool "e2undo" default y +config BR2_PACKAGE_E2FSPROGS_E4DEFRAG + bool "e4defrag" + config BR2_PACKAGE_E2FSPROGS_FILEFRAG bool "filefrag" default y diff --git a/package/e2fsprogs/e2fsprogs-1.41.9-add-missing-dep-of-tst_uuid-o.patch b/package/e2fsprogs/e2fsprogs-add-missing-dep-of-tst_uuid-o.patch similarity index 100% rename from package/e2fsprogs/e2fsprogs-1.41.9-add-missing-dep-of-tst_uuid-o.patch rename to package/e2fsprogs/e2fsprogs-add-missing-dep-of-tst_uuid-o.patch diff --git a/package/e2fsprogs/e2fsprogs-fallocate.patch b/package/e2fsprogs/e2fsprogs-fallocate.patch new file mode 100644 index 0000000..4d952a5 --- /dev/null +++ b/package/e2fsprogs/e2fsprogs-fallocate.patch @@ -0,0 +1,22 @@ +We assume that fallocate is supported somehow +but we need to check if we have fallocate() +this problem shows up on uclibc systems since +uclibc does not have fallocate() implemented + +Signed-off-by: Khem Raj + +Upstream-Status: Pending + +Index: e2fsprogs-1.42/lib/ext2fs/unix_io.c +=================================================================== +--- e2fsprogs-1.42.orig/lib/ext2fs/unix_io.c 2012-01-17 17:24:34.290780625 -0800 ++++ e2fsprogs-1.42/lib/ext2fs/unix_io.c 2012-01-17 17:25:37.338783680 -0800 +@@ -895,7 +895,7 @@ + goto unimplemented; + #endif + } else { +-#ifdef FALLOC_FL_PUNCH_HOLE ++#if defined FALLOC_FL_PUNCH_HOLE && defined HAVE_FALLOCATE + /* + * If we are not on block device, try to use punch hole + * to reclaim free space. diff --git a/package/e2fsprogs/e2fsprogs-1.41.9-sem-init-libs.patch b/package/e2fsprogs/e2fsprogs-sem-init-libs.patch similarity index 100% rename from package/e2fsprogs/e2fsprogs-1.41.9-sem-init-libs.patch rename to package/e2fsprogs/e2fsprogs-sem-init-libs.patch diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk index cf9b089..912deab 100644 --- a/package/e2fsprogs/e2fsprogs.mk +++ b/package/e2fsprogs/e2fsprogs.mk @@ -4,7 +4,7 @@ # ############################################################# -E2FSPROGS_VERSION = 1.41.14 +E2FSPROGS_VERSION = 1.42 E2FSPROGS_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/e2fsprogs E2FSPROGS_CONF_OPT = \ @@ -28,6 +28,8 @@ E2FSPROGS_MAKE_OPT = \ define HOST_E2FSPROGS_INSTALL_CMDS $(HOST_MAKE_ENV) $(MAKE) -C $(@D) install install-libs endef +# we don't have a host-util-linux +HOST_E2FSPROGS_DEPENDENCIES = host-pkg-config # binaries to keep or remove E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_BADBLOCKS) += usr/sbin/badblocks @@ -37,6 +39,7 @@ E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_E2FREEFRAG) += usr/sbin/e2freefrag E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_E2FSCK) += usr/sbin/e2fsck E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_E2LABEL) += usr/sbin/e2label E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_E2UNDO) += usr/sbin/e2undo +E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_E4DEFRAG) += usr/sbin/e4defrag E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_FILEFRAG) += usr/sbin/filefrag E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_FSCK) += usr/sbin/fsck E2FSPROGS_BINTARGETS_$(BR2_PACKAGE_E2FSPROGS_LOGSAVE) += usr/sbin/logsave diff --git a/package/ebtables/ebtables.mk b/package/ebtables/ebtables.mk index 6cfdfdc..ddda985 100644 --- a/package/ebtables/ebtables.mk +++ b/package/ebtables/ebtables.mk @@ -3,7 +3,8 @@ # ebtables # ############################################################# -EBTABLES_VERSION = 2.0.10-1 + +EBTABLES_VERSION = 2.0.10-4 EBTABLES_SOURCE = ebtables-v$(EBTABLES_VERSION).tar.gz EBTABLES_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/ebtables diff --git a/package/ed/ed.mk b/package/ed/ed.mk index 2196af0..f5a4b22 100644 --- a/package/ed/ed.mk +++ b/package/ed/ed.mk @@ -4,7 +4,7 @@ # ############################################################# -ED_VERSION = 1.5 +ED_VERSION = 1.6 ED_SITE = $(BR2_GNU_MIRROR)/ed ED_CONF_OPT = CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)" \ LDFLAGS="$(TARGET_LDFLAGS)" diff --git a/package/efl/Config.in b/package/efl/Config.in new file mode 100644 index 0000000..c783d7f --- /dev/null +++ b/package/efl/Config.in @@ -0,0 +1,26 @@ +menuconfig BR2_PACKAGE_EFL + bool "Enlightenment Foundation Libraries" + depends on BR2_USE_WCHAR + help + Enlightenment Foundation Libraries + + http://enlightenment.org + +if BR2_PACKAGE_EFL + +source "package/efl/expedite/Config.in" +source "package/efl/libeina/Config.in" +source "package/efl/libecore/Config.in" +source "package/efl/libeet/Config.in" +source "package/efl/libefreet/Config.in" +source "package/efl/libevas/Config.in" +source "package/efl/libembryo/Config.in" +source "package/efl/libedje/Config.in" +source "package/efl/libethumb/Config.in" +source "package/efl/libelementary/Config.in" +source "package/efl/libedbus/Config.in" + +endif # BR2_PACKAGE_EFL + +comment "EFL requires WCHAR support in toolchain" + depends on !BR2_USE_WCHAR diff --git a/package/efl/efl.mk b/package/efl/efl.mk new file mode 100644 index 0000000..d8d53cf --- /dev/null +++ b/package/efl/efl.mk @@ -0,0 +1 @@ +include package/efl/*/*.mk diff --git a/package/efl/expedite/Config.in b/package/efl/expedite/Config.in new file mode 100644 index 0000000..9e131f3 --- /dev/null +++ b/package/efl/expedite/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_EXPEDITE + bool "expedite" + select BR2_PACKAGE_LIBEINA + select BR2_PACKAGE_LIBEVAS + select BR2_PACKAGE_LIBEET + depends on BR2_INSTALL_LIBSTDCPP + help + Expedite is the official Evas benchmark tool. It can test different + engines, such as X11, XRender, OpenGL (also ES variant), SDL, + DirectFB and so on. Its tests are quite extensive, trying to + reproduce real world usage cases. + +comment "expedite requires C++ support in toolchain" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/efl/expedite/expedite.mk b/package/efl/expedite/expedite.mk new file mode 100644 index 0000000..4c01190 --- /dev/null +++ b/package/efl/expedite/expedite.mk @@ -0,0 +1,11 @@ +############################################################# +# +# expedite +# +############################################################# + +EXPEDITE_VERSION = 1.1.0 +EXPEDITE_SITE = http://download.enlightenment.org/releases/ +EXPEDITE_DEPENDENCIES = libevas libeina libeet + +$(eval $(call AUTOTARGETS)) diff --git a/package/efl/libecore/Config.in b/package/efl/libecore/Config.in new file mode 100644 index 0000000..6c887f5 --- /dev/null +++ b/package/efl/libecore/Config.in @@ -0,0 +1,42 @@ +config BR2_PACKAGE_LIBECORE + bool "libecore" + select BR2_PACKAGE_LIBEINA + help + Ecore is the event/X abstraction layer that makes doing + selections, Xdnd, general X stuff, event loops, timeouts and + idle handlers fast, optimized, and convenient. + + http://trac.enlightenment.org/e/wiki/Ecore + +if BR2_PACKAGE_LIBECORE + +config BR2_PACKAGE_LIBECORE_DIRECTFB + bool "libecore DirectFB support" + depends on BR2_PACKAGE_DIRECTFB + default y + +config BR2_PACKAGE_LIBECORE_FB + bool "libecore framebuffer support" + +config BR2_PACKAGE_LIBECORE_SDL + bool "libecore SDL support" + select BR2_PACKAGE_SDL + +config BR2_PACKAGE_LIBECORE_X + bool "libecore X support" + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBX11 + select BR2_PACKAGE_XLIB_LIBXEXT + +config BR2_PACKAGE_LIBECORE_X_XCB + bool "libecore XCB support" + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_LIBXCB + select BR2_PACKAGE_XLIB_LIBX11 + select BR2_PACKAGE_XCB_UTIL + +config BR2_PACKAGE_LIBECORE_EVAS + bool "libecore Evas support" + select BR2_PACKAGE_LIBEVAS + +endif # BR2_PACKAGE_LIBECORE diff --git a/package/efl/libecore/libecore.mk b/package/efl/libecore/libecore.mk new file mode 100644 index 0000000..c76b3ff --- /dev/null +++ b/package/efl/libecore/libecore.mk @@ -0,0 +1,102 @@ +############################################################# +# +# libecore +# +############################################################# + +LIBECORE_VERSION = 1.1.0 +LIBECORE_SOURCE = ecore-$(LIBECORE_VERSION).tar.bz2 +LIBECORE_SITE = http://download.enlightenment.org/releases/ +LIBECORE_INSTALL_STAGING = YES + +LIBECORE_DEPENDENCIES = host-pkg-config libeina + +HOST_LIBECORE_DEPENDENCIES = host-pkg-config host-libeina host-libevas +HOST_LIBECORE_CONF_OPT += \ + --enable-ecore-evas \ + --disable-simple-x11 \ + --disable-ecore-directfb \ + --disable-ecore-x \ + --disable-ecore-x-xcb \ + --disable-ecore-imf-xim + +# default options +LIBECORE_CONF_OPT = --disable-simple-x11 + +ifeq ($(BR2_PACKAGE_TSLIB),y) +LIBECORE_DEPENDENCIES += tslib +endif + +ifeq ($(BR2_PACKAGE_LIBGLIB2),y) +LIBECORE_DEPENDENCIES += libglib2 +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +LIBECORE_DEPENDENCIES += openssl +endif + +ifeq ($(BR2_PACKAGE_GNUTLS),y) +LIBECORE_DEPENDENCIES += gnutls +endif + +ifeq ($(BR2_PACKAGE_LIBCURL),y) +LIBECORE_DEPENDENCIES += libcurl +endif + +# libecore +ifeq ($(BR2_PACKAGE_LIBECORE_DIRECTFB),y) +LIBECORE_CONF_OPT += --enable-ecore-directfb +LIBECORE_DEPENDENCIES += directfb +else +LIBECORE_CONF_OPT += --disable-ecore-directfb +endif + +ifeq ($(BR2_PACKAGE_LIBECORE_FB),y) +LIBECORE_CONF_OPT += --enable-ecore-fb +else +LIBECORE_CONF_OPT += --disable-ecore-fb +endif + +ifeq ($(BR2_PACKAGE_LIBECORE_SDL),y) +LIBECORE_CONF_OPT += --enable-ecore-sdl +LIBECORE_DEPENDENCIES += sdl +else +LIBECORE_CONF_OPT += --disable-ecore-sdl +endif + +ifeq ($(BR2_PACKAGE_LIBECORE_X),y) +LIBECORE_CONF_OPT += --enable-ecore-x +LIBECORE_DEPENDENCIES += xlib_libXext xlib_libX11 +else +LIBECORE_CONF_OPT += --disable-ecore-x --disable-ecore-imf-xim +endif + +ifeq ($(BR2_PACKAGE_LIBECORE_X_XCB),y) +LIBECORE_CONF_OPT += --enable-ecore-x-xcb +LIBECORE_DEPENDENCIES += libxcb xlib_libX11 xcb-util + +# src/util/makekeys is executed at build time to generate +# ecore_xcb_keysym_table.h, so it should get compiled for the host. +# The ecore makefile unfortunately doesn't know about cross +# compilation so this doesn't work. Long term, we should probably +# teach it about CC_FOR_BUILD, but for now simply build makekeys by +# hand in advance +define LIBECORE_BUILD_MAKEKEYS_FOR_HOST + $(HOST_CONFIGURE_OPTS) $(MAKE1) -C $(@D)/src/util makekeys.o makekeys +endef + +LIBECORE_POST_EXTRACT_HOOKS += LIBECORE_BUILD_MAKEKEYS_FOR_HOST +else +LIBECORE_CONF_OPT += --disable-ecore-x-xcb +endif + +# libecore-evas +ifeq ($(BR2_PACKAGE_LIBECORE_EVAS),y) +LIBECORE_CONF_OPT += --enable-ecore-evas +LIBECORE_DEPENDENCIES += libevas +else +LIBECORE_CONF_OPT += --disable-ecore-evas +endif + +$(eval $(call AUTOTARGETS)) +$(eval $(call AUTOTARGETS,host)) diff --git a/package/efl/libedbus/Config.in b/package/efl/libedbus/Config.in new file mode 100644 index 0000000..3844b52 --- /dev/null +++ b/package/efl/libedbus/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_LIBEDBUS + bool "libedbus" + select BR2_PACKAGE_LIBEINA + select BR2_PACKAGE_LIBECORE + depends on BR2_PACKAGE_DBUS + help + E_Dbus is a set of wrappers around D-Bus APIs so they can be + easily used by EFL applications, automatically providing + Ecore/main loop integration, as well as Eina data types. + + http://trac.enlightenment.org/e/wiki/E_Dbus diff --git a/package/efl/libedbus/libedbus.mk b/package/efl/libedbus/libedbus.mk new file mode 100644 index 0000000..34f34a7 --- /dev/null +++ b/package/efl/libedbus/libedbus.mk @@ -0,0 +1,14 @@ +############################################################# +# +# libedbus +# +############################################################# + +LIBEDBUS_VERSION = 1.1.0 +LIBEDBUS_SOURCE = e_dbus-$(LIBEDBUS_VERSION).tar.bz2 +LIBEDBUS_SITE = http://download.enlightenment.org/releases/ +LIBEDBUS_INSTALL_STAGING = YES + +LIBEDBUS_DEPENDENCIES = host-pkg-config dbus libeina libecore + +$(eval $(call AUTOTARGETS)) diff --git a/package/efl/libedje/Config.in b/package/efl/libedje/Config.in new file mode 100644 index 0000000..f0985dd --- /dev/null +++ b/package/efl/libedje/Config.in @@ -0,0 +1,21 @@ +config BR2_PACKAGE_LIBEDJE + bool "libedje" + select BR2_PACKAGE_LIBEINA + select BR2_PACKAGE_LIBEET + select BR2_PACKAGE_LIBECORE + select BR2_PACKAGE_LIBECORE_EVAS + select BR2_PACKAGE_LIBEMBRYO + select BR2_PACKAGE_LIBEVAS + select BR2_PACKAGE_LUA + help + A graphical layout and animation library for animated + resizable, compressed and scalable themes. + + http://trac.enlightenment.org/e/wiki/Edje + +config BR2_PACKAGE_LIBEDJE_CC + bool "build edje_cc" + depends on BR2_PACKAGE_LIBEDJE + help + Build and install the Edje compiler for the target. Normally this + is not required. diff --git a/package/efl/libedje/libedje.mk b/package/efl/libedje/libedje.mk new file mode 100644 index 0000000..5252d6e --- /dev/null +++ b/package/efl/libedje/libedje.mk @@ -0,0 +1,24 @@ +############################################################# +# +# libedje +# +############################################################# + +LIBEDJE_VERSION = 1.1.0 +LIBEDJE_SOURCE = edje-$(LIBEDJE_VERSION).tar.bz2 +LIBEDJE_SITE = http://download.enlightenment.org/releases/ +LIBEDJE_INSTALL_STAGING = YES + +LIBEDJE_DEPENDENCIES = host-pkg-config lua libeina libeet libecore libevas \ + libembryo + +ifeq ($(BR2_PACKAGE_LIBEDJE_CC),y) +LIBEDJE_CONF_OPT += --enable-edje-cc +else +LIBEDJE_CONF_OPT += --disable-edje-cc +endif + +HOST_LIBEDJE_CONF_OPT = --enable-edje-cc + +$(eval $(call AUTOTARGETS)) +$(eval $(call AUTOTARGETS,host)) diff --git a/package/efl/libeet/Config.in b/package/efl/libeet/Config.in new file mode 100644 index 0000000..48631a0 --- /dev/null +++ b/package/efl/libeet/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_LIBEET + bool "libeet" + select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBEINA + help + Eet is a tiny library designed to write an arbitary set of + chunks of data to a file and optionally compress each chunk + (very much like a zip file). + + http://trac.enlightenment.org/e/wiki/Eet diff --git a/package/efl/libeet/libeet.mk b/package/efl/libeet/libeet.mk new file mode 100644 index 0000000..f9af219 --- /dev/null +++ b/package/efl/libeet/libeet.mk @@ -0,0 +1,15 @@ +############################################################# +# +# libeet +# +############################################################# + +LIBEET_VERSION = 1.5.0 +LIBEET_SOURCE = eet-$(LIBEET_VERSION).tar.bz2 +LIBEET_SITE = http://download.enlightenment.org/releases/ +LIBEET_INSTALL_STAGING = YES + +LIBEET_DEPENDENCIES = host-pkg-config zlib jpeg libeina + +$(eval $(call AUTOTARGETS)) +$(eval $(call AUTOTARGETS,host)) diff --git a/package/efl/libefreet/Config.in b/package/efl/libefreet/Config.in new file mode 100644 index 0000000..8687db4 --- /dev/null +++ b/package/efl/libefreet/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_LIBEFREET + bool "libefreet" + select BR2_PACKAGE_LIBEINA + select BR2_PACKAGE_LIBEET + select BR2_PACKAGE_LIBECORE + help + Efreet is a library designed to help apps work with several of the + Freedesktop.org standards regarding Icons, Desktop files and Menus. + + http://trac.enlightenment.org/e/wiki/Efreet diff --git a/package/efl/libefreet/libefreet.mk b/package/efl/libefreet/libefreet.mk new file mode 100644 index 0000000..14fb8cb --- /dev/null +++ b/package/efl/libefreet/libefreet.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# libefreet +# +################################################################################ + +LIBEFREET_VERSION = 1.1.0 +LIBEFREET_SOURCE = efreet-$(LIBEFREET_VERSION).tar.bz2 +LIBEFREET_SITE = http://download.enlightenment.org/releases/ +LIBEFREET_INSTALL_STAGING = YES + +LIBEFREET_DEPENDENCIES = libeina libeet libecore + +$(eval $(call AUTOTARGETS)) diff --git a/package/efl/libeina/Config.in b/package/efl/libeina/Config.in new file mode 100644 index 0000000..80600ad --- /dev/null +++ b/package/efl/libeina/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_LIBEINA + bool "libeina" + help + Eina is a tiny library to handle data types (list, hash, etc.) + + http://trac.enlightenment.org/e/wiki/Eina diff --git a/package/efl/libeina/libeina.mk b/package/efl/libeina/libeina.mk new file mode 100644 index 0000000..b457e3f --- /dev/null +++ b/package/efl/libeina/libeina.mk @@ -0,0 +1,15 @@ +############################################################# +# +# libeina +# +############################################################# + +LIBEINA_VERSION = 1.1.0 +LIBEINA_SOURCE = eina-$(LIBEINA_VERSION).tar.bz2 +LIBEINA_SITE = http://download.enlightenment.org/releases/ +LIBEINA_INSTALL_STAGING = YES + +LIBEINA_DEPENDENCIES = host-pkg-config + +$(eval $(call AUTOTARGETS)) +$(eval $(call AUTOTARGETS,host)) diff --git a/package/efl/libelementary/Config.in b/package/efl/libelementary/Config.in new file mode 100644 index 0000000..59af80e --- /dev/null +++ b/package/efl/libelementary/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_LIBELEMENTARY + bool "libelementary" + select BR2_PACKAGE_LIBEINA + select BR2_PACKAGE_LIBEVAS + select BR2_PACKAGE_LIBECORE + select BR2_PACKAGE_LIBEDJE + help + Elementary is a widget toolkit and EFL wrapper and convenience + library to make it easy to build applications and tools with UIs + with less code. + + http://trac.enlightenment.org/e/wiki/Elementary diff --git a/package/efl/libelementary/libelementary.mk b/package/efl/libelementary/libelementary.mk new file mode 100644 index 0000000..475fd45 --- /dev/null +++ b/package/efl/libelementary/libelementary.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# libelementary +# +################################################################################ + +LIBELEMENTARY_VERSION = 0.8.0.65643 +LIBELEMENTARY_SOURCE = elementary-$(LIBELEMENTARY_VERSION).tar.bz2 +LIBELEMENTARY_SITE = http://download.enlightenment.org/snapshots/2011-11-28 +LIBELEMENTARY_INSTALL_STAGING = YES + +LIBELEMENTARY_DEPENDENCIES = libeina libevas libecore libedje host-libedje \ + host-libeet + +LIBELEMENTARY_CONF_OPT = --with-edje-cc=$(HOST_DIR)/usr/bin/edje_cc \ + --with-eet-eet=$(HOST_DIR)/usr/bin/eet + +$(eval $(call AUTOTARGETS)) diff --git a/package/efl/libembryo/Config.in b/package/efl/libembryo/Config.in new file mode 100644 index 0000000..63c7064 --- /dev/null +++ b/package/efl/libembryo/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_LIBEMBRYO + bool "libembryo" + select BR2_PACKAGE_LIBEINA + help + Embryo is primarily a shared library that gives you an API + to load and control interpreted programs compiled into an + abstract machine bytecode that it understands. + + http://trac.enlightenment.org/e/wiki/Embryo diff --git a/package/efl/libembryo/libembryo.mk b/package/efl/libembryo/libembryo.mk new file mode 100644 index 0000000..0054ff4 --- /dev/null +++ b/package/efl/libembryo/libembryo.mk @@ -0,0 +1,15 @@ +############################################################# +# +# libembryo +# +############################################################# + +LIBEMBRYO_VERSION = 1.1.0 +LIBEMBRYO_SOURCE = embryo-$(LIBEMBRYO_VERSION).tar.bz2 +LIBEMBRYO_SITE = http://download.enlightenment.org/releases/ +LIBEMBRYO_INSTALL_STAGING = YES + +LIBEMBRYO_DEPENDENCIES = host-pkg-config libeina + +$(eval $(call AUTOTARGETS)) +$(eval $(call AUTOTARGETS,host)) diff --git a/package/efl/libethumb/Config.in b/package/efl/libethumb/Config.in new file mode 100644 index 0000000..fb0032a --- /dev/null +++ b/package/efl/libethumb/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_LIBETHUMB + bool "libethumb" + select BR2_PACKAGE_LIBEINA + select BR2_PACKAGE_LIBEVAS + select BR2_PACKAGE_LIBECORE + select BR2_PACKAGE_LIBECORE_EVAS + select BR2_PACKAGE_LIBEDJE + help + Ethumb is a library for generating thumbnail images of documents. + + http://trac.enlightenment.org/e/wiki/Ethumb diff --git a/package/efl/libethumb/libethumb.mk b/package/efl/libethumb/libethumb.mk new file mode 100644 index 0000000..16b2ba9 --- /dev/null +++ b/package/efl/libethumb/libethumb.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# libethumb +# +################################################################################ + +LIBETHUMB_VERSION = 0.1.1.65643 +LIBETHUMB_SOURCE = ethumb-$(LIBETHUMB_VERSION).tar.bz2 +LIBETHUMB_SITE = http://download.enlightenment.org/snapshots/2011-11-28 +LIBETHUMB_INSTALL_STAGING = YES + +LIBETHUMB_DEPENDENCIES = libeina libevas libecore libedje host-libedje + +LIBETHUMB_CONF_OPT = --with-edje-cc=$(HOST_DIR)/usr/bin/edje_cc + +$(eval $(call AUTOTARGETS)) diff --git a/package/efl/libevas/Config.in b/package/efl/libevas/Config.in new file mode 100644 index 0000000..ddac49e --- /dev/null +++ b/package/efl/libevas/Config.in @@ -0,0 +1,206 @@ +config BR2_PACKAGE_LIBEVAS + bool "libevas" + select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_LIBEINA + # required to build so far + select BR2_PACKAGE_LIBEVAS_SCALE_SMOOTH + help + Evas is a clean display canvas API for several target + display systems that can draw anti-aliased text, smooth + super and sub-sampled scaled images, alpha-blend objects + much and more. + + http://trac.enlightenment.org/e/wiki/Evas + +if BR2_PACKAGE_LIBEVAS + +comment "libevas rendering options" + +config BR2_PACKAGE_LIBEVAS_SCALE_SAMPLE + bool "libevas sampling scaler" + help + This enables the sampling scaler code. This is the fastest + image scaling code, but also the lowest quality. + +config BR2_PACKAGE_LIBEVAS_SCALE_SMOOTH + bool "libevas smooth scaler" + help + This is the nicest looking scaler that is not that much + slower than tri-linear, but it looks really good. + +config BR2_PACKAGE_LIBEVAS_SMALL_DITHERING + bool "libevas small dithering" + help + This uses a 4x4 dither mask instead of 128x128. On desktop + boxes these days (Pentium, Pentium2, amd etc.) the speed + difference is not really measurable, but the quality of the + 128x128 dither mask is quite a lot better. + +config BR2_PACKAGE_LIBEVAS_LINE_DITHERING + bool "libevas line dithering" + +config BR2_PACKAGE_LIBEVAS_NO_DITHERING + bool "libevas no dithering" + + +comment "libevas backends" + +config BR2_PACKAGE_LIBEVAS_BUFFER + bool "libevas buffer backend" + help + This enables the software buffer rendering engine. There is + no hardware assist here. + +config BR2_PACKAGE_LIBEVAS_DIRECTFB + bool "libevas DirectFB backend" + depends on BR2_PACKAGE_DIRECTFB + default y + help + This is the DirectFB engine that uses the DirectFB library + (http://www.directfb.org) on Linux to access the framebuffer + with (or maybe without) acceleration. + +config BR2_PACKAGE_LIBEVAS_FB + bool "libevas frame buffer backend" + help + This is the software framebuffer driving engine. this uses + the linux framebuffer device (/dev/fb) and will currently + just inherit the current framebuffer settings on the fb + device and use them to run in. + +config BR2_PACKAGE_LIBEVAS_SDL + bool "libevas SDL backend" + select BR2_PACKAGE_SDL + help + This is the software SDL engine that uses SDL library + (http://www.libsdl.org). This library should work on many + operating systems. + +config BR2_PACKAGE_LIBEVAS_SDL_GL + bool "libevas SDL OpenGL backend" + depends on BR2_PACKAGE_SDL_X11 + depends on BR2_PACKAGE_XSERVER_xorg # mesa needs big X + help + This is the SDL OpenGL engine that uses SDL library + and OpenGL to render. This may be hardware accelerated. + +comment "SDL OpenGL backend needs modular X.org and X11 support in SDL" + depends on !(BR2_PACKAGE_SDL_X11 && BR2_PACKAGE_XSERVER_xorg) + +config BR2_PACKAGE_LIBEVAS_X11 + bool "libevas X11 backend" + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBX11 + help + This enables the software X11 rendering engine that renders + to X drawable targets using highly optimised software + routines. There is no hardware assist here. + +config BR2_PACKAGE_LIBEVAS_X11_GLX + bool "libevas X11 GLX backend" + depends on BR2_PACKAGE_XSERVER_xorg # mesa needs big X + select BR2_PACKAGE_XLIB_LIBX11 + select BR2_PACKAGE_XLIB_LIBXRENDER + select BR2_PACKAGE_XLIB_LIBXEXT + select BR2_PACKAGE_XPROTO_GLPROTO + help + This enables the OpenGL X11 rendering engine that renders + using GLX which may be hardware accelerated. + +config BR2_PACKAGE_LIBEVAS_XCB + bool "libevas XCB backend" + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_LIBXCB + select BR2_PACKAGE_XCB_UTIL + select BR2_PACKAGE_XCB_PROTO + select BR2_PACKAGE_PIXMAN + help + This enable the software XCB rendering engine. It allows the + same features than the software X11 engine. + +config BR2_PACKAGE_LIBEVAS_XCB_GLX + bool "libevas XCB GLX backend" + depends on BR2_PACKAGE_XSERVER_xorg # mesa needs big X + select BR2_PACKAGE_LIBXCB + select BR2_PACKAGE_XCB_UTIL + select BR2_PACKAGE_XCB_PROTO + select BR2_PACKAGE_XPROTO_GLPROTO + help + This enables the OpenGL X11 XCB rendering engine that renders + using GLX which may be hardware accelerated. + +choice + prompt "libevas OpenGL flavor" + depends on BR2_PACKAGE_LIBEVAS_SDL_GL || BR2_PACKAGE_LIBEVAS_X11_GLX || BR2_PACKAGE_LIBEVAS_XCB_GLX + default BR2_PACKAGE_LIBEVAS_GL + +config BR2_PACKAGE_LIBEVAS_GL + bool "generic OpenGL" + select BR2_PACKAGE_MESA3D + select BR2_PACKAGE_LIBEET + +config BR2_PACKAGE_LIBEVAS_GLES_SGX + bool "OpenGL-ES SGX" + +config BR2_PACKAGE_LIBEVAS_GLES_S3C6410 + bool "OpenGL-ES S3C6410" +endchoice + + +comment "libevas loaders" + +config BR2_PACKAGE_LIBEVAS_PNG + bool "libevas png loader" + select BR2_PACKAGE_LIBPNG + help + This enables the loader code that loads png files using + libpng. + +config BR2_PACKAGE_LIBEVAS_JPEG + bool "libevas jpeg loader" + select BR2_PACKAGE_JPEG + help + This enables the loader code that loads jpeg files using + libjpeg. + +config BR2_PACKAGE_LIBEVAS_GIF + bool "libevas gif loader" + select BR2_PACKAGE_LIBUNGIF + help + This enables the loader code that loads gif files using + libungif. + +config BR2_PACKAGE_LIBEVAS_PMAPS + bool "libevas pmaps loader" + help + This enables the loader code that loads pmaps files. + +config BR2_PACKAGE_LIBEVAS_TIFF + bool "libevas tiff loader" + select BR2_PACKAGE_TIFF + help + This enables the loader code that loads tiff files. + +config BR2_PACKAGE_LIBEVAS_SVG + bool "libevas svg loader" + help + This enables the loader code that loads svg files. + +config BR2_PACKAGE_LIBEVAS_XPM + bool "libevas xpm loader" + help + This enables the loader code that loads xpm files. + +config BR2_PACKAGE_LIBEVAS_EET + bool "libevas eet image loader" + select BR2_PACKAGE_LIBEET + help + This enables the loader code that loads images using libeet. + +config BR2_PACKAGE_LIBEVAS_EET_FONT + bool "libevas eet font loader" + select BR2_PACKAGE_LIBEET + help + This enables the loader code that loads fonts using libeet. + +endif # BR2_PACKAGE_LIBEVAS diff --git a/package/efl/libevas/libevas.mk b/package/efl/libevas/libevas.mk new file mode 100644 index 0000000..e716cea --- /dev/null +++ b/package/efl/libevas/libevas.mk @@ -0,0 +1,216 @@ +############################################################# +# +# libevas +# +############################################################# + +LIBEVAS_VERSION = 1.1.0 +LIBEVAS_SOURCE = evas-$(LIBEVAS_VERSION).tar.bz2 +LIBEVAS_SITE = http://download.enlightenment.org/releases/ +LIBEVAS_INSTALL_STAGING = YES + +LIBEVAS_DEPENDENCIES = host-pkg-config zlib libeina freetype + +HOST_LIBEVAS_DEPENDENCIES = host-pkg-config host-zlib host-libeina \ + host-freetype host-libpng host-jpeg +HOST_LIBEVAS_CONF_OPT += \ + --enable-image-loader-png \ + --enable-image-loader-jpeg \ + --disable-image-loader-gif \ + --disable-image-loader-tiff \ + --disable-image-loader-eet \ + --disable-font-loader-eet \ + --disable-cpu-sse3 \ + --disable-software-sdl \ + --disable-gl-sdl \ + --disable-software-xlib \ + --disable-gl-xlib \ + --enable-software-xcb \ + --disable-gl-xcb + +# rendering options +ifeq ($(BR2_PACKAGE_LIBEVAS_SCALE_SAMPLE),y) +LIBEVAS_CONF_OPT += --enable-scale-sample +else +LIBEVAS_CONF_OPT += --disable-scale-sample +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_SCALE_SMOOTH),y) +LIBEVAS_CONF_OPT += --enable-scale-smooth +else +LIBEVAS_CONF_OPT += --disable-scale-smooth +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_SMALL_DITHERING),y) +LIBEVAS_CONF_OPT += --enable-small-dither-mask +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_LINE_DITHERING),y) +LIBEVAS_CONF_OPT += --enable-line-dither-mask +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_NO_DITHERING),y) +LIBEVAS_CONF_OPT += --enable-no-dither-mask +endif + +# backends +ifeq ($(BR2_PACKAGE_LIBEVAS_BUFFER),y) +LIBEVAS_CONF_OPT += --enable-buffer +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_X11),y) +LIBEVAS_CONF_OPT += --enable-software-xlib +LIBEVAS_DEPENDENCIES += xproto_xproto +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_X11_GLX),y) +LIBEVAS_CONF_OPT += --enable-gl-xlib +LIBEVAS_DEPENDENCIES += xproto_glproto xlib_libX11 xlib_libXrender \ + xlib_libXext libeet +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_XCB),y) +LIBEVAS_CONF_OPT += --enable-software-xcb +LIBEVAS_DEPENDENCIES += libxcb xcb-proto xcb-util pixman +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_XCB_GLX),y) +LIBEVAS_CONF_OPT += --enable-gl-xcb +LIBEVAS_DEPENDENCIES += libxcb xcb-proto xcb-util xproto_glproto +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_FB),y) +LIBEVAS_CONF_OPT += --enable-fb +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_DIRECTFB),y) +LIBEVAS_CONF_OPT += --enable-directfb +LIBEVAS_DEPENDENCIES += directfb +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_SDL),y) +LIBEVAS_CONF_OPT += --enable-software-sdl +LIBEVAS_DEPENDENCIES += sdl +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_SDL_GL),y) +LIBEVAS_CONF_OPT += --enable-gl-sdl +LIBEVAS_DEPENDENCIES += sdl +# configure script forgets to check for eet / fill this out +LIBEVAS_CONF_ENV += \ + GL_EET_CFLAGS='-I$(STAGING_DIR)/usr/include/eet-1' \ + GL_EET_LIBS='-leet' +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_GL),y) +LIBEVAS_DEPENDENCIES += mesa3d libeet +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_GLES_SGX),y) +LIBEVAS_CONF_OPT += --enable-gl-flavor-gles --enable-gles-variety-sgx +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_GLES_S3C6410),y) +LIBEVAS_CONF_OPT += --enable-gl-flavor-gles --enable-gles-variety-s3c6410 +endif + +# code options +ifeq ($(BR2_i386)$(BR2_x86_64),y) +# defaults +LIBEVAS_CONF_OPT += --disable-cpu-mmx --disable-cpu-sse --disable-cpu-sse3 + +# enable if cpu variant has mmx support +ifneq ($(BR2_x86_i386)$(BR2_x86_i486)$(BR2_x86_i586)$(BR2_x86_i686)$(BR2_x86_pentiumpro)$(BR2_x86_geode),y) +LIBEVAS_CONF_OPT += --enable-cpu-mmx + +ifneq ($(BR2_x86_pentium_mmx)$(BR2_x86_pentium2)$(BR2_x86_k6)$(BR2_x86_k6_2)$(BR2_x86_athlon)$(BR2_x86_c3)$(BR2_x86_winchip_c6)$(BR2_x86_winchip2),y) +LIBEVAS_CONF_OPT += --enable-cpu-sse + +ifneq ($(BR2_x86_pentium3)$(BR2_x86_pentium4)$(BR2_x86_prescott)$(BR2_x86_athlon_4)$(BR2_x86_opteron)$(BR2_x86_c32)$(BR2_x86_64_opteron),y) +LIBEVAS_CONF_OPT += --enable-cpu-sse3 +endif # sse3 +endif # sse +endif # mmx +endif # x86 + +ifeq ($(BR2_powerpc_7400)$(BR2_powerpc_7450)$(BR2_powerpc_970),y) +LIBEVAS_CONF_OPT += --enable-cpu-altivec +else +LIBEVAS_CONF_OPT += --disable-cpu-altivec +endif + +ifeq ($(BR2_cortex_a8)$(BR2_cortex_a9),y) +# NEON is optional for A9 +LIBEVAS_CONF_OPT += --enable-cpu-neon +else +LIBEVAS_CONF_OPT += --disable-cpu-neon +endif + +# loaders +ifeq ($(BR2_PACKAGE_LIBEVAS_PNG),y) +LIBEVAS_CONF_OPT += --enable-image-loader-png +LIBEVAS_DEPENDENCIES += libpng +else +LIBEVAS_CONF_OPT += --disable-image-loader-png +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_JPEG),y) +LIBEVAS_CONF_OPT += --enable-image-loader-jpeg +LIBEVAS_DEPENDENCIES += jpeg +else +LIBEVAS_CONF_OPT += --disable-image-loader-jpeg +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_GIF),y) +LIBEVAS_CONF_OPT += --enable-image-loader-gif +LIBEVAS_DEPENDENCIES += libungif +else +LIBEVAS_CONF_OPT += --disable-image-loader-gif +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_PMAPS),y) +LIBEVAS_CONF_OPT += --enable-image-loader-pmaps +else +LIBEVAS_CONF_OPT += --disable-image-loader-pmaps +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_SVG),y) +LIBEVAS_CONF_OPT += --enable-image-loader-svg +else +LIBEVAS_CONF_OPT += --disable-image-loader-svg +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_TIFF),y) +LIBEVAS_CONF_OPT += --enable-image-loader-tiff +LIBEVAS_DEPENDENCIES += tiff +else +LIBEVAS_CONF_OPT += --disable-image-loader-tiff +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_XPM),y) +LIBEVAS_CONF_OPT += --enable-image-loader-xpm +else +LIBEVAS_CONF_OPT += --disable-image-loader-xpm +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_EET),y) +LIBEVAS_CONF_OPT += --enable-image-loader-eet +LIBEVAS_DEPENDENCIES += libeet +else +LIBEVAS_CONF_OPT += --disable-image-loader-eet +endif + +ifeq ($(BR2_PACKAGE_LIBEVAS_EET_FONT),y) +LIBEVAS_CONF_OPT += --enable-font-loader-eet +LIBEVAS_DEPENDENCIES += libeet +else +LIBEVAS_CONF_OPT += --disable-font-loader-eet +endif + +# documentation +ifneq ($(BR2_HAVE_DOCUMENTATION),y) +LIBEVAS_CONF_OPT += --disable-doc +endif + +$(eval $(call AUTOTARGETS)) +$(eval $(call AUTOTARGETS,host)) diff --git a/package/ethtool/ethtool.mk b/package/ethtool/ethtool.mk index a42169c..101d0a1 100644 --- a/package/ethtool/ethtool.mk +++ b/package/ethtool/ethtool.mk @@ -4,7 +4,7 @@ # ############################################################# -ETHTOOL_VERSION = 3.0 -ETHTOOL_SITE = $(BR2_KERNEL_MIRROR)/software/network/ethtool/ +ETHTOOL_VERSION = 3.2 +ETHTOOL_SITE = $(BR2_KERNEL_MIRROR)/software/network/ethtool $(eval $(call AUTOTARGETS)) diff --git a/package/expat/Makefile.in b/package/expat/Makefile.in deleted file mode 100644 index 1d5d6bc..0000000 --- a/package/expat/Makefile.in +++ /dev/null @@ -1,3 +0,0 @@ -ifeq ($(BR2_PACKAGE_EXPAT),y) -TARGETS+=expat -endif diff --git a/package/expat/expat.mk b/package/expat/expat.mk index 64a1416..b179383 100644 --- a/package/expat/expat.mk +++ b/package/expat/expat.mk @@ -5,13 +5,10 @@ ############################################################# EXPAT_VERSION = 2.0.1 -EXPAT_SOURCE = expat-$(EXPAT_VERSION).tar.gz EXPAT_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/expat EXPAT_INSTALL_STAGING = YES -EXPAT_INSTALL_TARGET = YES EXPAT_INSTALL_STAGING_OPT = DESTDIR=$(STAGING_DIR) installlib EXPAT_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) installlib - EXPAT_DEPENDENCIES = host-pkg-config $(eval $(call AUTOTARGETS)) diff --git a/package/explorercanvas/Config.in b/package/explorercanvas/Config.in new file mode 100644 index 0000000..9714a58 --- /dev/null +++ b/package/explorercanvas/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_EXPLORERCANVAS + bool "explorercanvas" + help + Modern browsers like Firefox, Safari, Chrome and Opera + support the HTML5 canvas tag to allow 2D command-based + drawing. ExplorerCanvas brings the same functionality to + Internet Explorer (name, d->flash_base, d->mem_base, d->size, d->file_cksum); ++ fprintf(f,"%-16s 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x\n", ++ d->name, d->flash_base, d->mem_base, d->size, d->entry_point, d->file_cksum); + for (unsigned int i=0; i<(sizeof(d->skips)/4); ++i) { + if (d->skips[i]==0x736b6970 || d->skips[i]==0x70696b73) { // "skip" + uint32_t offset = d->skips[i+1]; +@@ -400,6 +400,7 @@ + CHECK(fd=open(device,O_RDONLY),-1); + dir_t dir; + load_dir(fd,offset,&size,swap_endianness,&dir); ++ fprintf(stdout,"Name FLASH addr Mem addr Length Entry point Checksum\n"); + FOR_EACH_DIR_ENTRY(dir,i) { + dump_desc(stdout,get(i)); + } diff --git a/package/fis/fis-004-sorted_list.patch b/package/fis/fis-004-sorted_list.patch new file mode 100644 index 0000000..6854977 --- /dev/null +++ b/package/fis/fis-004-sorted_list.patch @@ -0,0 +1,30 @@ +--- fis.orig/fis.c 2010-05-12 11:09:22.000000000 -0700 ++++ fis/fis.c 2010-05-12 11:05:45.000000000 -0700 +@@ -401,9 +401,24 @@ + dir_t dir; + load_dir(fd,offset,&size,swap_endianness,&dir); + fprintf(stdout,"Name FLASH addr Mem addr Length Entry point Checksum\n"); +- FOR_EACH_DIR_ENTRY(dir,i) { +- dump_desc(stdout,get(i)); +- } ++ uint32_t last_addr = 0; ++ bool image_found; ++ do { ++ uint32_t lowest_addr = 0xffffffff; ++ iter_t index; ++ image_found = false; ++ FOR_EACH_DIR_ENTRY(dir,i) { ++ const struct fis_image_desc *d = get(i); ++ if ((d->flash_base >= last_addr) && (d->flash_base < lowest_addr)) { ++ lowest_addr = d->flash_base; ++ image_found = true; ++ index = i; ++ } ++ } ++ if (image_found) ++ dump_desc(stdout,get(index)); ++ last_addr = lowest_addr + 1; ++ } while (image_found == true); + } + + diff --git a/package/flex/flex-2.5.33-prog-ar.patch b/package/flex/flex-2.5.35-prog-ar.patch similarity index 100% rename from package/flex/flex-2.5.33-prog-ar.patch rename to package/flex/flex-2.5.35-prog-ar.patch diff --git a/package/flex/flex.mk b/package/flex/flex.mk index 706b89d..041aba8 100644 --- a/package/flex/flex.mk +++ b/package/flex/flex.mk @@ -3,24 +3,27 @@ # flex # ############################################################# -FLEX_VERSION:=2.5.35 -FLEX_PATCH_VERSION:=9.1 -FLEX_SOURCE:=flex_$(FLEX_VERSION).orig.tar.gz -FLEX_PATCH:=flex_$(FLEX_VERSION)-$(FLEX_PATCH_VERSION).diff.gz -FLEX_SITE:=$(BR2_DEBIAN_MIRROR)/debian/pool/main/f/flex -FLEX_DIR:=$(BUILD_DIR)/flex-$(FLEX_VERSION) -FLEX_INSTALL_STAGING=YES + +FLEX_VERSION = 2.5.35 +FLEX_PATCH_VERSION = 10 +FLEX_SOURCE = flex_$(FLEX_VERSION).orig.tar.gz +FLEX_PATCH = flex_$(FLEX_VERSION)-$(FLEX_PATCH_VERSION).diff.gz +FLEX_SITE = $(BR2_DEBIAN_MIRROR)/debian/pool/main/f/flex +FLEX_DIR = $(BUILD_DIR)/flex-$(FLEX_VERSION) +FLEX_INSTALL_STAGING = YES FLEX_DEPENDENCIES = \ $(if $(BR2_PACKAGE_GETTEXT),gettext) \ $(if $(BR2_PACKAGE_LIBINTL),libintl) +# we don't have a host-gettext/libintl +HOST_FLEX_DEPENDENCIES = # lex -> flex define FLEX_INSTALL_LEX -cd $(TARGET_DIR)/usr/bin && ln -snf flex lex + cd $(TARGET_DIR)/usr/bin && ln -snf flex lex endef define FLEX_UNINSTALL_LEX --rm $(TARGET_DIR)/usr/bin/lex + -rm $(TARGET_DIR)/usr/bin/lex endef FLEX_POST_INSTALL_HOOKS += FLEX_INSTALL_LEX @@ -29,11 +32,11 @@ FLEX_POST_CLEAN_HOOKS += FLEX_UNINSTALL_LEX # libfl installation ifeq ($(BR2_PACKAGE_FLEX_LIBFL),y) define FLEX_INSTALL_LIBFL -install -D $(FLEX_DIR)/libfl.a $(STAGING_DIR)/usr/lib/libfl.a + install -D $(FLEX_DIR)/libfl.a $(STAGING_DIR)/usr/lib/libfl.a endef define FLEX_UNINSTALL_LIBFL --rm $(STAGING_DIR)/lib/libfl.a + -rm $(STAGING_DIR)/lib/libfl.a endef FLEX_POST_INSTALL_HOOKS += FLEX_INSTALL_LIBFL diff --git a/package/flot/Config.in b/package/flot/Config.in new file mode 100644 index 0000000..60534c1 --- /dev/null +++ b/package/flot/Config.in @@ -0,0 +1,59 @@ +config BR2_PACKAGE_FLOT + bool "flot" + select BR2_PACKAGE_JQUERY + help + Flot is a pure Javascript plotting library for jQuery. It + produces graphical plots of arbitrary datasets on-the-fly + client-side. + + The focus is on simple usage (all settings are optional), + attractive looks and interactive features like zooming and + mouse tracking. + + The plugin works with Internet Explorer 6+, Firefox 2.x+, + Safari 3.0+, Opera 9.5+ and Konqueror 4.x+ with the HTML + canvas tag. + + https://code.google.com/p/flot/ + +if BR2_PACKAGE_FLOT + +comment "flot plugins" + +config BR2_PACKAGE_FLOT_NAVIGATE + bool "navigate" + help + Flot plugin for adding panning and zooming capabilities to a plot + +config BR2_PACKAGE_FLOT_PIE + bool "pie" + help + Flot plugin for rendering pie charts + +config BR2_PACKAGE_FLOT_RESIZE + bool "resize" + help + Flot plugin for automatically redrawing plots when the + placeholder size changes. + +config BR2_PACKAGE_FLOT_SELECTION + bool "selection" + help + Flot plugin for selecting regions + +config BR2_PACKAGE_FLOT_STACK + bool "stack" + help + Flot plugin for stacking data sets + +config BR2_PACKAGE_FLOT_SYMBOL + bool "symbol" + help + Flot plugin that adds some extra symbols for plotting points + +config BR2_PACKAGE_FLOT_THRESHOLD + bool "threshold" + help + Flot plugin for thresholding data + +endif diff --git a/package/flot/flot.mk b/package/flot/flot.mk new file mode 100644 index 0000000..8b51b55 --- /dev/null +++ b/package/flot/flot.mk @@ -0,0 +1,23 @@ +FLOT_VERSION = 0.7 +FLOT_SITE = http://flot.googlecode.com/files +FLOT_FILES = jquery.flot $(addprefix jquery.flot.,\ + $(if $(BR2_PACKAGE_FLOT_NAVIGATE),navigate) \ + $(if $(BR2_PACKAGE_FLOT_PIE),pie) \ + $(if $(BR2_PACKAGE_FLOT_RESIZE),resize) \ + $(if $(BR2_PACKAGE_FLOT_SELECTION),selection) \ + $(if $(BR2_PACKAGE_FLOT_STACK),stack) \ + $(if $(BR2_PACKAGE_FLOT_SYMBOL),symbol) \ + $(if $(BR2_PACKAGE_FLOT_THRESHOLD),threshold) \ + ) + +define FLOT_INSTALL_TARGET_CMDS + for i in $(FLOT_FILES); do \ + $(INSTALL) -m 0644 -D $(@D)/$$i.min.js $(TARGET_DIR)/var/www/$$i.js; \ + done +endef + +define FLOT_UNINSTALL_TARGET_CMDS + rm -f $(TARGET_DIR)/var/www/jquery.flot* +endef + +$(eval $(call GENTARGETS)) diff --git a/package/fluxbox/fluxbox-1.3.1-iconv.patch b/package/fluxbox/fluxbox-1.3.1-iconv.patch deleted file mode 100644 index 82b4507..0000000 --- a/package/fluxbox/fluxbox-1.3.1-iconv.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 3ed2d03446cdf53fd10c8ad056d9f86db9923666 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Fri, 9 Sep 2011 20:35:49 +0200 -Subject: [PATCH] FbString: fix build without iconv - -Commit 690d926 (introduced FbTk::BidiString) broke building without -HAVE_ICONV, because of wrong variable name and use of iconv_t type. - -Signed-off-by: Peter Korsgaard ---- - src/FbTk/FbString.cc | 3 ++- - 1 files changed, 2 insertions(+), 1 deletions(-) - -diff --git a/src/FbTk/FbString.cc b/src/FbTk/FbString.cc -index fd34693..5295a66 100644 ---- a/src/FbTk/FbString.cc -+++ b/src/FbTk/FbString.cc -@@ -150,6 +150,7 @@ enum ConvType { FB2X = 0, X2FB, LOCALE2FB, FB2LOCALE, CONVSIZE }; - #ifdef HAVE_ICONV - static iconv_t *iconv_convs = 0; - #else -+typedef int iconv_t; - static int iconv_convs[CONVSIZE]; - #endif // HAVE_ICONV - -@@ -292,7 +293,7 @@ string recode(iconv_t cd, const string &in) { - - return ret; - #else -- return str; -+ return in; - #endif // HAVE_ICONV - } - --- -1.7.5.4 - diff --git a/package/fluxbox/fluxbox.mk b/package/fluxbox/fluxbox.mk index 85a8eae..5848606 100644 --- a/package/fluxbox/fluxbox.mk +++ b/package/fluxbox/fluxbox.mk @@ -4,7 +4,7 @@ # ############################################################# -FLUXBOX_VERSION = 1.3.1 +FLUXBOX_VERSION = 1.3.2 FLUXBOX_SOURCE = fluxbox-$(FLUXBOX_VERSION).tar.bz2 FLUXBOX_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/fluxbox/ @@ -13,4 +13,11 @@ FLUXBOX_CONF_OPT = --x-includes=$(STAGING_DIR)/usr/include/X11 \ FLUXBOX_DEPENDENCIES = xlib_libX11 $(if $(BR2_PACKAGE_LIBICONV),libiconv) +define FLUXBOX_INSTALL_XSESSION_FILE + [ -f $(TARGET_DIR)/root/.xsession ] || $(INSTALL) -m 0755 -D \ + package/fluxbox/xsession $(TARGET_DIR)/root/.xsession +endef + +FLUXBOX_POST_INSTALL_TARGET_HOOKS += FLUXBOX_INSTALL_XSESSION_FILE + $(eval $(call AUTOTARGETS)) diff --git a/package/fluxbox/xsession b/package/fluxbox/xsession new file mode 100644 index 0000000..b51acff --- /dev/null +++ b/package/fluxbox/xsession @@ -0,0 +1,2 @@ +#!/bin/sh +exec startfluxbox diff --git a/package/fontconfig/fontconfig.mk b/package/fontconfig/fontconfig.mk index fc6ad68..39815ed 100644 --- a/package/fontconfig/fontconfig.mk +++ b/package/fontconfig/fontconfig.mk @@ -22,7 +22,6 @@ FONTCONFIG_CONF_OPT = --with-arch=$(GNU_TARGET_NAME) \ FONTCONFIG_DEPENDENCIES = freetype expat -HOST_FONTCONFIG_DEPENDENCIES = host-freetype host-expat HOST_FONTCONFIG_CONF_OPT = \ --disable-docs \ --disable-static diff --git a/package/freetype/freetype.mk b/package/freetype/freetype.mk index 6eb6b29..32099da 100644 --- a/package/freetype/freetype.mk +++ b/package/freetype/freetype.mk @@ -9,7 +9,9 @@ FREETYPE_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/ FREETYPE_SOURCE = freetype-$(FREETYPE_VERSION).tar.bz2 FREETYPE_INSTALL_STAGING = YES FREETYPE_MAKE_OPT = CCexe="$(HOSTCC)" -FREETYPE_DEPENDENCIES = host-pkg-config $(if $(BR2_PACKAGE_ZLIB),zlib) +FREETYPE_DEPENDENCIES = host-pkg-config \ + $(if $(BR2_PACKAGE_ZLIB),zlib) \ + $(if $(BR2_PACKAGE_BZIP2),bzip2) HOST_FREETYPE_DEPENDENCIES = host-pkg-config diff --git a/package/gawk/gawk-no-versioned.patch b/package/gawk/gawk-no-versioned.patch index 6f74f52..ff28581 100644 --- a/package/gawk/gawk-no-versioned.patch +++ b/package/gawk/gawk-no-versioned.patch @@ -1,20 +1,13 @@ -From 9cb7ff17dd7f81589f0891413efa5d4aec1a1598 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Mon, 7 Jun 2010 11:33:50 -0300 -Subject: [PATCH] Disabled versioned installation to save space and use symlinks where it's appropiate - +Disabled versioned installation of binaries to save space. +Also use symlinks where it's appropiate. Signed-off-by: Gustavo Zacarias --- - Makefile.in | 3 ++- - doc/Makefile.in | 2 +- - 2 files changed, 3 insertions(+), 2 deletions(-) -diff --git a/Makefile.in b/Makefile.in -index f946ee1..a3d467a 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -392,7 +392,7 @@ CLEANFILES = core core.* +diff -Nura gawk-4.0.0.orig/Makefile.in gawk-4.0.0/Makefile.in +--- gawk-4.0.0.orig/Makefile.in 2011-06-24 05:16:13.000000000 -0300 ++++ gawk-4.0.0/Makefile.in 2011-11-11 15:31:16.429577288 -0300 +@@ -403,7 +403,7 @@ MAINTAINERCLEANFILES = version.c # We want hard links for install-exec-hook, below @@ -23,7 +16,7 @@ index f946ee1..a3d467a 100644 all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive -@@ -993,6 +993,7 @@ uninstall-am: uninstall-binPROGRAMS +@@ -1011,6 +1011,7 @@ # (This is done universally, which may not always be right, but # there's no easy way to distinguish GNU from non-GNU systems.) install-exec-hook: @@ -31,19 +24,3 @@ index f946ee1..a3d467a 100644 (cd $(DESTDIR)$(bindir); \ $(LN) gawk$(EXEEXT) gawk-$(VERSION)$(EXEEXT) 2>/dev/null ; \ $(LN) pgawk$(EXEEXT) pgawk-$(VERSION)$(EXEEXT) 2>/dev/null ; \ -diff --git a/doc/Makefile.in b/doc/Makefile.in -index b1533e7..8b91694 100644 ---- a/doc/Makefile.in -+++ b/doc/Makefile.in -@@ -272,7 +272,7 @@ AWKCARD = awkcard.ps - # make pgawk.1 a link to gawk.1 in the installed man directory. - - # We want hard links for install-data-hook, below --LN = ln -+LN = $(LN_S) - all: all-am - - .SUFFIXES: --- -1.6.4.4 - diff --git a/package/gawk/gawk.mk b/package/gawk/gawk.mk index 445414b..f1a6472 100644 --- a/package/gawk/gawk.mk +++ b/package/gawk/gawk.mk @@ -4,10 +4,18 @@ # ############################################################# -GAWK_VERSION = 3.1.8 +GAWK_VERSION = 4.0.0 GAWK_SITE = $(BR2_GNU_MIRROR)/gawk GAWK_TARGET_BINS = awk gawk igawk pgawk +# Prefer full-blown gawk over busybox awk +ifeq ($(BR2_PACKAGE_BUSYBOX),y) +GAWK_DEPENDENCIES += busybox +endif + +# we don't have a host-busybox +HOST_GAWK_DEPENDENCIES = + define GAWK_CREATE_SYMLINK ln -sf /usr/bin/gawk $(TARGET_DIR)/usr/bin/awk endef diff --git a/package/giblib/Config.in b/package/giblib/Config.in new file mode 100644 index 0000000..7153bd5 --- /dev/null +++ b/package/giblib/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_GIBLIB + bool "giblib" + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_IMLIB2 + select BR2_PACKAGE_IMLIB2_X + help + Giblib is a simple library which wraps imlib2. + + http://linuxbrit.co.uk/giblib/ + diff --git a/package/giblib/giblib.mk b/package/giblib/giblib.mk new file mode 100644 index 0000000..8288b74 --- /dev/null +++ b/package/giblib/giblib.mk @@ -0,0 +1,14 @@ +############################################################# +# +# giblib +# +############################################################# +GIBLIB_VERSION = 1.2.4 +GIBLIB_SOURCE = giblib-$(GIBLIB_VERSION).tar.gz +GIBLIB_SITE = http://linuxbrit.co.uk/downloads/ +GIBLIB_INSTALL_STAGING = YES +GIBLIB_DEPENDENCIES = imlib2 +GIBLIB_CONF_OPT = --with-imlib2-prefix=$(STAGING)/usr/lib \ + --with-imlib2-exec-prefix=$(STAGING)/usr/bin + +$(eval $(call AUTOTARGETS)) diff --git a/package/grep/grep.mk b/package/grep/grep.mk index e8b9cfe..a4391d7 100644 --- a/package/grep/grep.mk +++ b/package/grep/grep.mk @@ -4,8 +4,9 @@ # ############################################################# -GREP_VERSION = 2.7 +GREP_VERSION = 2.10 GREP_SITE = $(BR2_GNU_MIRROR)/grep +GREP_SOURCE = grep-$(GREP_VERSION).tar.xz GREP_CONF_OPT = --disable-perl-regexp --without-included-regex GREP_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) @@ -15,4 +16,9 @@ GREP_CONF_ENV += LIBS=-liconv GREP_DEPENDENCIES += libiconv endif +# Full grep preferred over busybox grep +ifeq ($(BR2_PACKAGE_BUSYBOX),y) +GREP_DEPENDENCIES += busybox +endif + $(eval $(call AUTOTARGETS)) diff --git a/package/hdparm/hdparm.mk b/package/hdparm/hdparm.mk index d19dff0..abbb0c3 100644 --- a/package/hdparm/hdparm.mk +++ b/package/hdparm/hdparm.mk @@ -3,8 +3,8 @@ # hdparm # ############################################################# -HDPARM_VERSION = 9.36 -HDPARM_SOURCE = hdparm-$(HDPARM_VERSION).tar.gz + +HDPARM_VERSION = 9.38 HDPARM_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/hdparm define HDPARM_BUILD_CMDS diff --git a/package/hostapd/hostapd-0.7.3-libnl3.patch b/package/hostapd/hostapd-0.7.3-libnl3.patch new file mode 100644 index 0000000..e47da73 --- /dev/null +++ b/package/hostapd/hostapd-0.7.3-libnl3.patch @@ -0,0 +1,15 @@ +--- a/src/drivers/drivers.mak 2011-11-29 19:09:23.889942913 +0100 ++++ b/src/drivers/drivers.mak 2011-11-29 19:09:40.637381428 +0100 +@@ -31,10 +31,10 @@ + NEED_AP_MLME=y + NEED_NETLINK=y + NEED_LINUX_IOCTL=y +-DRV_LIBS += -lnl ++DRV_LIBS += -lnl-3 + + ifdef CONFIG_LIBNL20 +-DRV_LIBS += -lnl-genl ++DRV_LIBS += -lnl-genl-3 + DRV_CFLAGS += -DCONFIG_LIBNL20 + endif + endif diff --git a/package/hostapd/hostapd.mk b/package/hostapd/hostapd.mk index 0d6c2c5..26ebf1d 100644 --- a/package/hostapd/hostapd.mk +++ b/package/hostapd/hostapd.mk @@ -18,6 +18,7 @@ endif define HOSTAPD_LIBNL_CONFIG echo "CONFIG_LIBNL20=y" >>$(HOSTAPD_CONFIG) + echo "CFLAGS += -I$(STAGING_DIR)/usr/include/libnl3/" >>$(HOSTAPD_CONFIG) endef define HOSTAPD_CRYPTO_CONFIG diff --git a/package/htop/htop.mk b/package/htop/htop.mk index 5a8eb0d..07b750c 100644 --- a/package/htop/htop.mk +++ b/package/htop/htop.mk @@ -4,10 +4,11 @@ # ############################################################# -HTOP_VERSION = 0.9 +HTOP_VERSION = 1.0 HTOP_SOURCE = htop-$(HTOP_VERSION).tar.gz HTOP_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/htop/$(HTOP_VERSION) HTOP_DEPENDENCIES = ncurses HTOP_AUTORECONF = YES +HTOP_CONF_OPT += --disable-unicode $(eval $(call AUTOTARGETS)) diff --git a/package/htop/htop.patch b/package/htop/htop.patch index 7765614..bf68e53 100644 --- a/package/htop/htop.patch +++ b/package/htop/htop.patch @@ -1,75 +1,25 @@ -# This patch removes the hard dependency on backtrace by checking for -# it at compile time and adds a cross-compile /proc check. -# Patch given to me by Hisham (htop-general) -# -# This patch is taken from upstream svn (r213, r215) +# This patch removes the check for native_affinity for cross compiling. +# This patch has been pushed to htop on 23 November 2011, however, is +# not in the 1.0 release and may not be exactly what Hisham puts into +# the official build. # # Signed-off-by: Andy Kennedy -diff -Naur a/CRT.c b/CRT.c ---- a/CRT.c 2010-11-23 09:56:32.000000000 -0600 -+++ b/CRT.c 2011-03-21 17:08:21.000000000 -0500 -@@ -11,7 +11,9 @@ - #include - #include - #include -+#ifdef HAVE_EXECINFO_H - #include -+#endif - - #include "String.h" - -@@ -125,12 +127,14 @@ - CRT_done(); - #if __linux - fprintf(stderr, "\n\nhtop " VERSION " aborting. Please report bug at http://htop.sf.net\n"); -- #else -- fprintf(stderr, "\n\nhtop " VERSION " aborting. Unsupported platform.\n"); -- #endif -+ #ifdef HAVE_EXECINFO_H - size_t size = backtrace(backtraceArray, sizeof(backtraceArray)); - fprintf(stderr, "Backtrace: \n"); - backtrace_symbols_fd(backtraceArray, size, 2); -+ #endif -+ #else -+ fprintf(stderr, "\n\nhtop " VERSION " aborting. Unsupported platform.\n"); -+ #endif - abort(); - } - -diff -Naur a/CRT.h b/CRT.h ---- a/CRT.h 2010-11-23 09:56:32.000000000 -0600 -+++ b/CRT.h 2011-03-21 17:06:16.000000000 -0500 -@@ -14,7 +14,9 @@ - #include - #include - #include -+#ifdef HAVE_EXECINFO_H - #include -+#endif - - #include "String.h" - diff -Naur a/configure.ac b/configure.ac ---- a/configure.ac 2010-11-23 09:56:32.000000000 -0600 -+++ b/configure.ac 2011-03-21 17:06:16.000000000 -0500 -@@ -25,6 +25,7 @@ - AC_CHECK_HEADERS([stdlib.h string.h strings.h sys/param.h sys/time.h unistd.h curses.h],[:],[ - missing_headers="$missing_headers $ac_header" - ]) -+AC_CHECK_HEADERS([execinfo.h],[:],[:]) - - # Checks for typedefs, structures, and compiler characteristics. - AC_HEADER_STDBOOL -@@ -99,10 +100,10 @@ - AC_MSG_ERROR([missing headers: $missing_headers]) - fi - -- -- -+if test "$cross_compiling" = "no"; then +--- a/configure.ac 2011-11-20 20:46:48.000000000 -0600 ++++ b/configure.ac 2011-11-23 10:41:44.000000000 -0600 +@@ -111,7 +111,6 @@ + if test "$cross_compiling" = "no"; then AC_CHECK_FILE($PROCDIR/stat,,AC_MSG_ERROR(Cannot find /proc/stat. Make sure you have a Linux-compatible /proc filesystem mounted. See the file README for help.)) AC_CHECK_FILE($PROCDIR/meminfo,,AC_MSG_ERROR(Cannot find /proc/meminfo. Make sure you have a Linux-compatible /proc filesystem mounted. See the file README for help.)) +-fi + + AC_ARG_ENABLE(native_affinity, [AC_HELP_STRING([--enable-native-affinity], [enable native sched_setaffinity and sched_getaffinity for affinity support, disables hwloc])], ,enable_native_affinity="yes") + if test "x$enable_native_affinity" = xyes; then +@@ -130,6 +129,7 @@ + AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no])]) + fi +fi - - AC_ARG_ENABLE(plpa, [AC_HELP_STRING([--enable-plpa], [enable PLPA support for CPU affinity])], ,enable_plpa="yes") - PLPA_INCLUDED + + AC_ARG_ENABLE(hwloc, [AC_HELP_STRING([--enable-hwloc], [enable hwloc support for CPU affinity])],, enable_hwloc="no") + if test "x$enable_hwloc" = xyes diff --git a/package/i2c-tools/Config.in b/package/i2c-tools/Config.in index 47d0642..43f5e05 100644 --- a/package/i2c-tools/Config.in +++ b/package/i2c-tools/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_I2C_TOOLS - bool "i2c-tools" - help - Heterogeneous set of I2C tools for Linux + bool "i2c-tools" + help + Heterogeneous set of I2C tools for Linux - This package contains a heterogeneous set of I2C tools for Linux: - a bus probing tool, a chip dumper, register-level access helpers, - EEPROM decoding scripts, and more. + This package contains a heterogeneous set of I2C tools for Linux: + a bus probing tool, a chip dumper, register-level access helpers, + EEPROM decoding scripts, and more. - http://www.lm-sensors.org + http://www.lm-sensors.org diff --git a/package/i2c-tools/i2c-tools.mk b/package/i2c-tools/i2c-tools.mk index 8628eaf..aeabf02 100644 --- a/package/i2c-tools/i2c-tools.mk +++ b/package/i2c-tools/i2c-tools.mk @@ -4,9 +4,9 @@ # ############################################################# -I2C_TOOLS_VERSION = 3.0.3 +I2C_TOOLS_VERSION = 3.1.0 I2C_TOOLS_SOURCE = i2c-tools-$(I2C_TOOLS_VERSION).tar.bz2 -I2C_TOOLS_SITE = http://dl.lm-sensors.org/i2c-tools/releases/ +I2C_TOOLS_SITE = http://dl.lm-sensors.org/i2c-tools/releases define I2C_TOOLS_BUILD_CMDS $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) diff --git a/package/icu/icu.mk b/package/icu/icu.mk index bf0663c..d4c220b 100644 --- a/package/icu/icu.mk +++ b/package/icu/icu.mk @@ -8,6 +8,7 @@ ICU_VERSION = 4.4.2 ICU_SOURCE = icu4c-$(subst .,_,$(ICU_VERSION))-src.tgz ICU_SITE = http://download.icu-project.org/files/icu4c/$(ICU_VERSION) ICU_DEPENDENCIES = host-icu +HOST_ICU_DEPENDENCIES = ICU_INSTALL_STAGING = YES ICU_CONF_OPT = --with-cross-build=$(HOST_ICU_DIR)/source --disable-samples \ --disable-tests diff --git a/package/igh-ethercat/Config.in b/package/igh-ethercat/Config.in new file mode 100644 index 0000000..764a021 --- /dev/null +++ b/package/igh-ethercat/Config.in @@ -0,0 +1,23 @@ +config BR2_PACKAGE_IGH_ETHERCAT + bool "igh-ethercat" + depends on BR2_LINUX_KERNEL + help + IgH EtherCAT Master for Linux. + + http://www.etherlab.org/en/ethercat/index.php + +if BR2_PACKAGE_IGH_ETHERCAT + +config BR2_PACKAGE_IGH_ETHERCAT_8139TOO + bool "8139too driver" + +config BR2_PACKAGE_IGH_ETHERCAT_E100 + bool "e100 driver" + +config BR2_PACKAGE_IGH_ETHERCAT_E1000 + bool "e1000 driver" + +config BR2_PACKAGE_IGH_ETHERCAT_R8169 + bool "r8169 driver" + +endif diff --git a/package/igh-ethercat/igh-ethercat.mk b/package/igh-ethercat/igh-ethercat.mk new file mode 100644 index 0000000..b6ac5b8 --- /dev/null +++ b/package/igh-ethercat/igh-ethercat.mk @@ -0,0 +1,41 @@ +IGH_ETHERCAT_VERSION = stable-1.5 +IGH_ETHERCAT_SITE = http://etherlabmaster.hg.sourceforge.net/hgweb/etherlabmaster/etherlabmaster/archive/ +IGH_ETHERCAT_SOURCE = $(IGH_ETHERCAT_VERSION).tar.bz2 + +IGH_ETHERCAT_AUTORECONF = YES +IGH_ETHERCAT_DEPENDENCIES = linux +IGH_ETHERCAT_INSTALL_STAGING = YES + +IGH_ETHERCAT_CONF_OPT = \ + --with-linux-dir=$(LINUX_DIR) + +IGH_ETHERCAT_CONF_OPT += $(if $(BR2_PACKAGE_IGH_ETHERCAT_8139TOO),--enable-8139too,--disable-8139too) +IGH_ETHERCAT_CONF_OPT += $(if $(BR2_PACKAGE_IGH_ETHERCAT_E100),--enable-e100,--disable-e100) +IGH_ETHERCAT_CONF_OPT += $(if $(BR2_PACKAGE_IGH_ETHERCAT_E1000),--enable-e1000,--disable-e1000) +IGH_ETHERCAT_CONF_OPT += $(if $(BR2_PACKAGE_IGH_ETHERCAT_R8169),--enable-r8169,--disable-r8169) + +# Since we download ethercat from source control, we have to emulate +# the bootstrap script that creates the ChangeLog file before running +# autoreconf. We don't want to run that script directly, since we +# leave to the autotargets infrastructure the responsability of +# running 'autoreconf' so that the dependencies on host-automake, +# host-autoconf and al. are correct. +define IGH_ETHERCAT_CREATE_CHANGELOG + touch $(@D)/ChangeLog +endef + +IGH_ETHERCAT_POST_PATCH_HOOKS += IGH_ETHERCAT_CREATE_CHANGELOG + +define IGH_ETHERCAT_BUILD_MODULES + $(MAKE) -C $(@D) $(LINUX_MAKE_FLAGS) modules +endef + +IGH_ETHERCAT_POST_BUILD_HOOKS += IGH_ETHERCAT_BUILD_MODULES + +define IGH_ETHERCAT_INSTALL_MODULES + $(MAKE) -C $(@D) $(LINUX_MAKE_FLAGS) modules_install +endef + +IGH_ETHERCAT_POST_INSTALL_TARGET_HOOKS += IGH_ETHERCAT_INSTALL_MODULES + +$(eval $(call AUTOTARGETS)) diff --git a/package/imlib2/Config.in b/package/imlib2/Config.in new file mode 100644 index 0000000..16a94d6 --- /dev/null +++ b/package/imlib2/Config.in @@ -0,0 +1,38 @@ +config BR2_PACKAGE_IMLIB2 + bool "imlib2" + select BR2_PACKAGE_FREETYPE + help + Imlib 2 is the successor to Imlib. This library provides + routines to load, save and render images in various formats. + + http://freshmeat.net/projects/imlib2/ + +if BR2_PACKAGE_IMLIB2 + +config BR2_PACKAGE_IMLIB2_JPEG + bool "JPEG support" + select BR2_PACKAGE_JPEG + +config BR2_PACKAGE_IMLIB2_PNG + bool "PNG support" + select BR2_PACKAGE_LIBPNG + +config BR2_PACKAGE_IMLIB2_GIF + bool "GIF support" + select BR2_PACKAGE_LIBUNGIF + +config BR2_PACKAGE_IMLIB2_TIFF + bool "TIFF support" + select BR2_PACKAGE_TIFF + +config BR2_PACKAGE_IMLIB2_ID3 + bool "ID3 support" + select BR2_PACKAGE_LIBID3TAG + +config BR2_PACKAGE_IMLIB2_X + bool "X support" + default y + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXEXT + select BR2_PACKAGE_XLIB_LIBX11 +endif diff --git a/package/imlib2/imlib2.mk b/package/imlib2/imlib2.mk new file mode 100644 index 0000000..f32b865 --- /dev/null +++ b/package/imlib2/imlib2.mk @@ -0,0 +1,64 @@ +############################################################# +# +## IMLIB2 +# +############################################################## +IMLIB2_VERSION = 1.4.5 +IMLIB2_SOURCE = imlib2-$(IMLIB2_VERSION).tar.bz2 +IMLIB2_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/project/enlightenment/imlib2-src/$(IMLIB2_VERSION)/ +IMLIB2_INSTALL_STAGING = YES +IMLIB2_DEPENDENCIES = host-pkg-config freetype +IMLIB2_CONF_OPT = --with-freetype-config=$(STAGING_DIR)/usr/bin/freetype-config + +ifeq ($(BR2_PACKAGE_IMLIB2_X),y) + IMLIB2_CONF_OPT += --with-x + IMLIB2_DEPENDENCIES += xlib_libX11 xlib_libXext +else + IMLIB2_CONF_OPT += --without-x +endif + +ifeq ($(BR2_PACKAGE_IMLIB2_JPEG),y) + IMLIB2_CONF_OPT += --with-jpeg + IMLIB2_DEPENDENCIES += jpeg +else + IMLIB2_CONF_OPT += --without-jpeg +endif + +ifeq ($(BR2_PACKAGE_IMLIB2_PNG),y) + IMLIB2_CONF_OPT += --with-png + IMLIB2_DEPENDENCIES += libpng +else + IMLIB2_CONF_OPT += --without-png +endif + +ifeq ($(BR2_PACKAGE_IMLIB2_GIF),y) + IMLIB2_CONF_OPT += --with-gif + IMLIB2_DEPENDENCIES += libungif +else + IMLIB2_CONF_OPT += --without-gif +endif + +ifeq ($(BR2_PACKAGE_IMLIB2_TIFF),y) + IMLIB2_CONF_OPT += --with-tiff + IMLIB2_DEPENDENCIES += tiff +else + IMLIB2_CONF_OPT += --without-tiff +endif + +ifeq ($(BR2_PACKAGE_IMLIB2_ID3),y) + IMLIB2_CONF_OPT += --with-id3 + IMLIB2_DEPENDENCIES += libid3tag +else + IMLIB2_CONF_OPT += --without-id3 +endif + +# drop -L from linker flags +define IMLIB2_FIXUP_IMLIB2_CONFIG + $(SED) 's/-L[^ ]*//g' \ + $(STAGING_DIR)/usr/bin/imlib2-config +endef + +IMLIB2_POST_INSTALL_STAGING_HOOKS += IMLIB2_FIXUP_IMLIB2_CONFIG + +$(eval $(call AUTOTARGETS)) + diff --git a/package/iproute2/iproute2-xt-v6.patch b/package/iproute2/iproute2-xt-v6.patch deleted file mode 100644 index 4856e36..0000000 --- a/package/iproute2/iproute2-xt-v6.patch +++ /dev/null @@ -1,39 +0,0 @@ -From: Andreas Henriksson -Forwarded: yes -Subject: [PATCH] iproute2: Fix building xt module against xtables version 6 - - -diff --git a/tc/m_xt.c b/tc/m_xt.c -index 651a59e..13bf19f 100644 ---- a/tc/m_xt.c -+++ b/tc/m_xt.c -@@ -160,9 +160,13 @@ static int parse_ipt(struct action_util *a,int *argc_p, - return -1; - } - tcipt_globals.opts = -- xtables_merge_options(tcipt_globals.opts, -- m->extra_opts, -- &m->option_offset); -+ xtables_merge_options( -+#if (XTABLES_VERSION_CODE >= 6) -+ tcipt_globals.orig_opts, -+#endif -+ tcipt_globals.opts, -+ m->extra_opts, -+ &m->option_offset); - } else { - fprintf(stderr," failed to find target %s\n\n", optarg); - return -1; -@@ -305,7 +309,11 @@ print_ipt(struct action_util *au,FILE * f, struct rtattr *arg) - } - - tcipt_globals.opts = -- xtables_merge_options(tcipt_globals.opts, -+ xtables_merge_options( -+#if (XTABLES_VERSION_CODE >= 6) -+ tcipt_globals.orig_opts, -+#endif -+ tcipt_globals.opts, - m->extra_opts, - &m->option_offset); - } else { diff --git a/package/iproute2/iproute2.mk b/package/iproute2/iproute2.mk index dd2506c..100f20a 100644 --- a/package/iproute2/iproute2.mk +++ b/package/iproute2/iproute2.mk @@ -4,8 +4,8 @@ # ############################################################# -IPROUTE2_VERSION = 2.6.39 -IPROUTE2_SITE = http://devresources.linuxfoundation.org/dev/iproute2/download +IPROUTE2_VERSION = 3.1.0 +IPROUTE2_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/net/iproute2 IPROUTE2_TARGET_SBINS = ctstat genl ifstat ip lnstat nstat routef routel rtacct rtmon rtpr rtstat ss tc # If both iproute2 and busybox are selected, make certain we win diff --git a/package/ipsec-tools/Config.in b/package/ipsec-tools/Config.in index 8a5f3d1..6f6dc37 100644 --- a/package/ipsec-tools/Config.in +++ b/package/ipsec-tools/Config.in @@ -10,7 +10,7 @@ if BR2_PACKAGE_IPSEC_TOOLS config BR2_PACKAGE_IPSEC_TOOLS_ADMINPORT default y - bool "Enable racoonctl(8)." + bool "Enable racoonctl(8)" help Lets racoon to listen to racoon admin port, which is to be contacted by racoonctl(8). @@ -28,18 +28,23 @@ config BR2_PACKAGE_IPSEC_TOOLS_NATT NAT-Traversal might infringe a patent. config BR2_PACKAGE_IPSEC_TOOLS_FRAG - bool "Enable IKE fragmentation." + bool "Enable IKE fragmentation" help Enable IKE fragmentation, which is a workaround for broken routers that drop fragmented packets +config BR2_PACKAGE_IPSEC_TOOLS_DPD + bool "Enable DPD (Dead Peer Detection)" + help + Enable dead peer detection support + config BR2_PACKAGE_IPSEC_TOOLS_STATS default y - bool "Enable statistics logging function." + bool "Enable statistics logging function" config BR2_PACKAGE_IPSEC_TOOLS_READLINE select BR2_PACKAGE_READLINE - bool "Enable readline input support if available." + bool "Enable readline input support" choice prompt "Security context" diff --git a/package/ipsec-tools/ipsec-tools.mk b/package/ipsec-tools/ipsec-tools.mk index 9781f3b..f24e4a4 100644 --- a/package/ipsec-tools/ipsec-tools.mk +++ b/package/ipsec-tools/ipsec-tools.mk @@ -38,16 +38,16 @@ else IPSEC_TOOLS_CONF_OPT+= --disable-frag endif -ifeq ($(BR2_PACKAGE_IPSEC_TOOLS_STATS), y) -IPSEC_TOOLS_CONF_OPT+= --enable-stats +ifeq ($(BR2_PACKAGE_IPSEC_TOOLS_DPD), y) +IPSEC_TOOLS_CONF_OPT+= --enable-dpd else -IPSEC_TOOLS_CONF_OPT+= --disable-stats +IPSEC_TOOLS_CONF_OPT+= --disable-dpd endif -ifeq ($(BR2_INET_IPV6),y) -IPSEC_TOOLS_CONF_OPT+= --enable-ipv6 +ifeq ($(BR2_PACKAGE_IPSEC_TOOLS_STATS), y) +IPSEC_TOOLS_CONF_OPT+= --enable-stats else -IPSEC_TOOLS_CONF_OPT+= --disable-ipv6 +IPSEC_TOOLS_CONF_OPT+= --disable-stats endif ifneq ($(BR2_PACKAGE_IPSEC_TOOLS_READLINE), y) diff --git a/package/ipset/ipset-drop-modules.patch b/package/ipset/ipset-drop-modules.patch deleted file mode 100644 index ee29d43..0000000 --- a/package/ipset/ipset-drop-modules.patch +++ /dev/null @@ -1,100 +0,0 @@ -Drop all the kernel checks and let the user deal with having a new enough -version of the kernel to enjoy this. - -Signed-off-by: Gustavo Zacarias ---- - -diff -Nura ipset-6.8.orig//Makefile.am ipset-6.8/Makefile.am ---- ipset-6.8.orig//Makefile.am 2011-08-17 16:10:41.999386034 -0300 -+++ ipset-6.8/Makefile.am 2011-08-17 16:17:34.108702969 -0300 -@@ -4,11 +4,6 @@ - - include $(top_srcdir)/Make_global.am - --if ! WITH_KBUILDDIR --KBUILD_OUTPUT=/lib/modules/`uname -r`/build --else --KBUILD_OUTPUT=$(KBUILDDIR) --endif - if ! WITH_MAXSETS - IP_SET_MAX=256 - else -@@ -22,23 +17,6 @@ - - SUBDIRS = lib src - --modules_sparse: -- ${MAKE} -C $(KBUILD_OUTPUT) M=$$PWD/kernel/net/netfilter \ -- V=$V C=2 CF=-D__CHECK_ENDIAN__ \ -- IP_SET_MAX=$(IP_SET_MAX) KDIR=$$PWD/kernel modules -- --modules: -- ${MAKE} -C $(KBUILD_OUTPUT) M=$$PWD/kernel/net/netfilter V=$V \ -- IP_SET_MAX=$(IP_SET_MAX) KDIR=$$PWD/kernel modules -- --modules_install: -- ${MAKE} -C $(KBUILD_OUTPUT) M=$$PWD/kernel/net/netfilter \ -- KDIR=$$PWD/kernel modules_install -- --modules_clean: -- ${MAKE} -C $(KBUILD_OUTPUT) M=$$PWD/kernel/net/netfilter \ -- KDIR=$$PWD/kernel clean -- - update_includes: - ./update ip_set.h - ./update ip_set_bitmap.h -diff -Nura ipset-6.8.orig//configure.ac ipset-6.8/configure.ac ---- ipset-6.8.orig//configure.ac 2011-08-17 16:10:42.015387986 -0300 -+++ ipset-6.8/configure.ac 2011-08-17 16:18:01.578056869 -0300 -@@ -11,51 +11,6 @@ - *) AC_MSG_ERROR([Linux systems supported exclusively!]);; - esac - --dnl Additional arguments --dnl Kernel build directory or source tree --AC_ARG_WITH([kbuild], -- AS_HELP_STRING([--with-kbuild=PATH], -- [Path to kernel build directory]), -- [KBUILDDIR="$withval";]) --AC_ARG_WITH([ksource], -- AS_HELP_STRING([--with-ksource=PATH], -- [Path to kernel source directory, if not the same as the kernel build directory]), -- [KSOURCEDIR="$withval";]) --AM_CONDITIONAL(WITH_KBUILDDIR, test "$KBUILDDIR" != "") --AC_SUBST(KBUILDDIR) -- --dnl Sigh: check kernel version dependencies --if test "$KBUILDDIR" != "" --then -- kbuilddir="$KBUILDDIR" --else -- kbuilddir="/lib/modules/`uname -r`/build" --fi -- --if test -n "$KSOURCEDIR"; then -- ksourcedir="$KSOURCEDIR" --elif test -e "$kbuilddir/include/linux/netfilter/nfnetlink.h"; then -- ksourcedir="$kbuilddir" --else -- ksourcedir="/lib/modules/$(uname -r)/source" --fi --if test ! -e "$ksourcedir/include/linux/netfilter/nfnetlink.h" --then -- AC_MSG_ERROR([Invalid kernel source directory $ksourcedir]) --fi -- --if test ! -e "$kbuilddir/.config" --then -- AC_MSG_ERROR([The kernel build directory $kbuilddir is not configured]) --fi -- --AC_PROG_GREP -- --if test "X`$GREP 'NFNL_SUBSYS_IPSET' $ksourcedir/include/linux/netfilter/nfnetlink.h`" = "X" --then -- AC_MSG_ERROR([The kernel source directory $ksourcedir is not patched with netlink.patch to support ipset]) --fi -- - dnl Maximal number of sets supported by the kernel, default 256 - AC_ARG_WITH([maxsets], - AS_HELP_STRING([--with-maxsets=256], diff --git a/package/ipset/ipset.mk b/package/ipset/ipset.mk index f98f73f..06393f4 100644 --- a/package/ipset/ipset.mk +++ b/package/ipset/ipset.mk @@ -4,10 +4,11 @@ # ############################################################# -IPSET_VERSION = 6.9.1 +IPSET_VERSION = 6.11 IPSET_SOURCE = ipset-$(IPSET_VERSION).tar.bz2 IPSET_SITE = http://ipset.netfilter.org IPSET_AUTORECONF = YES IPSET_DEPENDENCIES = libmnl host-pkg-config +IPSET_CONF_OPT = --with-kmod=no $(eval $(call AUTOTARGETS)) diff --git a/package/iptables/iptables-3.2-headers-fix.patch b/package/iptables/iptables-3.2-headers-fix.patch new file mode 100644 index 0000000..5ef6539 --- /dev/null +++ b/package/iptables/iptables-3.2-headers-fix.patch @@ -0,0 +1,34 @@ +From dbe77cc974cee656eae37e75039dd1a410a4535b Mon Sep 17 00:00:00 2001 +From: Jan Engelhardt +Date: Sun, 28 Aug 2011 14:19:43 +0200 +Subject: [PATCH] include: refresh include files from kernel 3.1-rc3 + +[Peter: trimmed to bare essentials for buildroot] +Signed-off-by: Jan Engelhardt +--- +diff --git a/include/linux/types.h b/include/linux/types.h +index 8b483c8..630cd3b 100644 +--- a/include/linux/types.h ++++ b/include/linux/types.h +@@ -34,5 +34,18 @@ typedef __u64 __bitwise __be64; + typedef __u16 __bitwise __sum16; + typedef __u32 __bitwise __wsum; + ++/* ++ * aligned_u64 should be used in defining kernel<->userspace ABIs to avoid ++ * common 32/64-bit compat problems. ++ * 64-bit values align to 4-byte boundaries on x86_32 (and possibly other ++ * architectures) and to 8-byte boundaries on 64-bit architetures. The new ++ * aligned_64 type enforces 8-byte alignment so that structs containing ++ * aligned_64 values have the same alignment on 32-bit and 64-bit architectures. ++ * No conversions are necessary between 32-bit user-space and a 64-bit kernel. ++ */ ++#define __aligned_u64 __u64 __attribute__((aligned(8))) ++#define __aligned_be64 __be64 __attribute__((aligned(8))) ++#define __aligned_le64 __le64 __attribute__((aligned(8))) ++ + #endif /* __ASSEMBLY__ */ + #endif /* _LINUX_TYPES_H */ +-- +1.7.8.3 + diff --git a/package/iptables/iptables.mk b/package/iptables/iptables.mk index 777baf9..95134e3 100644 --- a/package/iptables/iptables.mk +++ b/package/iptables/iptables.mk @@ -4,11 +4,10 @@ # ############################################################# -IPTABLES_VERSION = 1.4.12.1 +IPTABLES_VERSION = 1.4.12.2 IPTABLES_SOURCE = iptables-$(IPTABLES_VERSION).tar.bz2 IPTABLES_SITE = http://ftp.netfilter.org/pub/iptables IPTABLES_INSTALL_STAGING = YES -IPTABLES_AUTORECONF = YES IPTABLES_DEPENDENCIES = host-pkg-config IPTABLES_CONF_OPT = --libexecdir=/usr/lib --with-kernel=$(LINUX_HEADERS_DIR) diff --git a/package/iw/iw-libnl-30-support.patch b/package/iw/iw-libnl-30-support.patch deleted file mode 100644 index 48a179f..0000000 --- a/package/iw/iw-libnl-30-support.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- - Makefile | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -Index: b/Makefile -=================================================================== ---- a/Makefile -+++ b/Makefile -@@ -24,6 +24,7 @@ - - NL1FOUND := $(shell $(PKG_CONFIG) --atleast-version=1 libnl-1 && echo Y) - NL2FOUND := $(shell $(PKG_CONFIG) --atleast-version=2 libnl-2.0 && echo Y) -+NL3FOUND := $(shell $(PKG_CONFIG) --atleast-version=3 libnl-3.0 && echo Y) - - ifeq ($(NL1FOUND),Y) - NLLIBNAME = libnl-1 -@@ -35,6 +36,12 @@ - NLLIBNAME = libnl-2.0 - endif - -+ifeq ($(NL3FOUND),Y) -+CFLAGS += -DCONFIG_LIBNL20 -+LIBS += -lnl-genl -+NLLIBNAME = libnl-3.0 -+endif -+ - ifeq ($(NLLIBNAME),) - $(error Cannot find development files for any supported version of libnl) - endif -@@ -53,6 +60,8 @@ - all: version_check $(ALL) - - version_check: -+ifeq ($(NL3FOUND),Y) -+else - ifeq ($(NL2FOUND),Y) - else - ifeq ($(NL1FOUND),Y) -@@ -60,6 +69,7 @@ - $(error No libnl found) - endif - endif -+endif - - - VERSION_OBJS := $(filter-out version.o, $(OBJS)) - diff --git a/package/iw/iw.mk b/package/iw/iw.mk index 9f1d65f..38bb125 100644 --- a/package/iw/iw.mk +++ b/package/iw/iw.mk @@ -4,7 +4,7 @@ # ############################################################# -IW_VERSION = 3.1 +IW_VERSION = 3.3 IW_SOURCE = iw-$(IW_VERSION).tar.bz2 IW_SITE = http://wireless.kernel.org/download/iw IW_DEPENDENCIES = host-pkg-config libnl diff --git a/package/java/Config.in b/package/java/Config.in deleted file mode 100644 index 3f17f91..0000000 --- a/package/java/Config.in +++ /dev/null @@ -1,5 +0,0 @@ -menu "Java" -source "package/java/classpath/Config.in" -source "package/java/jamvm/Config.in" -source "package/java/concierge/Config.in" -endmenu diff --git a/package/java/classpath/Config.in b/package/java/classpath/Config.in deleted file mode 100644 index 5677f8c..0000000 --- a/package/java/classpath/Config.in +++ /dev/null @@ -1,9 +0,0 @@ -config BR2_PACKAGE_CLASSPATH - bool "classpath" - help - GNU Classpath, Essential Libraries for Java, is a GNU - project to create free core class libraries for use with - virtual machines and compilers for the java programming - language. - - http://www.classpath.org/ diff --git a/package/java/classpath/classpath.mk b/package/java/classpath/classpath.mk deleted file mode 100644 index 872c06a..0000000 --- a/package/java/classpath/classpath.mk +++ /dev/null @@ -1,86 +0,0 @@ -############################################################# -# -# classpath 0.96.1 -# -############################################################# -CLASSPATH_VERSION = 0.98 -CLASSPATH_SOURCE = classpath-$(CLASSPATH_VERSION).tar.gz -CLASSPATH_SITE = $(BR2_GNU_MIRROR)/classpath -CLASSPATH_AUTORECONF = NO -CLASSPATH_INSTALL_STAGING = YES -CLASSPATH_INSTALL_TARGET = YES -CLASSPATH_DIR_PREFIX = package/java - -CLASSPATH_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \ - glib_cv_uscore=no ac_cv_func_strtod=yes \ - ac_fsusage_space=yes fu_cv_sys_stat_statfs2_bsize=yes \ - ac_cv_func_closedir_void=no ac_cv_func_getloadavg=no \ - ac_cv_lib_util_getloadavg=no ac_cv_lib_getloadavg_getloadavg=no \ - ac_cv_func_getgroups=yes ac_cv_func_getgroups_works=yes \ - ac_cv_func_chown_works=yes ac_cv_have_decl_euidaccess=no \ - ac_cv_func_euidaccess=no ac_cv_have_decl_strnlen=yes \ - ac_cv_func_strnlen_working=yes ac_cv_func_lstat_dereferences_slashed_symlink=yes \ - ac_cv_func_lstat_empty_string_bug=no ac_cv_func_stat_empty_string_bug=no \ - vb_cv_func_rename_trailing_slash_bug=no ac_cv_have_decl_nanosleep=yes \ - jm_cv_func_nanosleep_works=yes gl_cv_func_working_utimes=yes \ - ac_cv_func_utime_null=yes ac_cv_have_decl_strerror_r=yes \ - ac_cv_func_strerror_r_char_p=no jm_cv_func_svid_putenv=yes \ - ac_cv_func_getcwd_null=yes ac_cv_func_getdelim=yes \ - ac_cv_func_mkstemp=yes utils_cv_func_mkstemp_limitations=no \ - utils_cv_func_mkdir_trailing_slash_bug=no \ - jm_cv_func_gettimeofday_clobber=no \ - gl_cv_func_working_readdir=yes jm_ac_cv_func_link_follows_symlink=no \ - utils_cv_localtime_cache=no ac_cv_struct_st_mtim_nsec=no \ - gl_cv_func_tzset_clobber=no gl_cv_func_getcwd_null=yes \ - gl_cv_func_getcwd_path_max=yes ac_cv_func_fnmatch_gnu=yes \ - am_getline_needs_run_time_check=no am_cv_func_working_getline=yes \ - gl_cv_func_mkdir_trailing_slash_bug=no gl_cv_func_mkstemp_limitations=no \ - ac_cv_func_working_mktime=yes jm_cv_func_working_re_compile_pattern=yes \ - ac_use_included_regex=no gl_cv_c_restrict=no \ - ac_cv_path_GLIB_GENMARSHAL=$(LIBGLIB2_HOST_BINARY) \ - ac_cv_prog_F77=no ac_cv_prog_CXX=no ac_cv_path_CUPS_CONFIG=no - - -CLASSPATH_CONF_OPT = \ - --libexecdir=/usr/lib --localstatedir=/var --mandir=/usr/man \ - --infodir=/usr/info \ - --disable-glibtest --enable-explicit-deps=no \ - --disable-debug \ - --disable-gconf-peer --disable-examples --disable-plugin \ - --disable-Werror - -CLASSPATH_DEPENDENCIES = host-pkg-config libpng jpeg - -ifeq ($(BR2_PACKAGE_ALSA_LIB),y) - CLASSPATH_DEPENDENCIES+= alsa-lib - CLASSPATH_CONF_OPT+= --enable-alsa -else - CLASSPATH_CONF_OPT+= --disable-alsa -endif - -ifeq ($(BR2_PACKAGE_QT),y) - CLASSPATH_DEPENDENCIES+= qt - CLASSPATH_CONF_OPT+= --enable-qt-peer -else - CLASSPATH_CONF_OPT+= --disable-qt-peer -endif - -ifeq ($(BR2_PACKAGE_LIBGTK2),y) - CLASSPATH_DEPENDENCIES+= libgtk2 - CLASSPATH_CONF_OPT+= --enable-gtk-peer -else - CLASSPATH_CONF_OPT+= --disable-gtk-peer -endif - -ifeq ($(BR2_PACKAGE_XORG7),y) - CLASSPATH_DEPENDENCIES+= xserver_xorg-server - CLASSPATH_CONF_OPT+= --with-x \ - --x-includes=$(STAGING_DIR)/usr/include/X11 \ - --x-libraries=$(STAGING_DIR)/usr/lib -else - CLASSPATH_CONF_OPT+= --without-x -endif - - - -$(eval $(call AUTOTARGETS)) diff --git a/package/java/concierge/Config.in b/package/java/concierge/Config.in deleted file mode 100644 index b099b3a..0000000 --- a/package/java/concierge/Config.in +++ /dev/null @@ -1,10 +0,0 @@ -config BR2_PACKAGE_CONCIERGE - bool "concierge" - depends on BR2_PACKAGE_JAMVM - - help - Concierge is an optimized OSGi R3 framework implementations - with a file footprint of about 80 kBytes. This makes it - ideal for mobile or embedded devices. - - http://concierge.sourceforge.net/ diff --git a/package/java/concierge/concierge.mk b/package/java/concierge/concierge.mk deleted file mode 100644 index 8a40eb8..0000000 --- a/package/java/concierge/concierge.mk +++ /dev/null @@ -1,40 +0,0 @@ -############################################################# -# -# concierge 1.0-RC2 -# -############################################################# -CONCIERGE_VERSION = 1.0_RC2 -CONCIERGE_SOURCE = concierge-$(CONCIERGE_VERSION).jar -CONCIERGE_SITE = http://ovh.dl.sourceforge.net/sourceforge/concierge/ -CONCIERGE_DIR=$(BUILD_DIR)/concierge-$(CONCIERGE_VERSION) -CONCIERGE_SITE_BUNDLES = http://concierge.sourceforge.net/bundles/ - -$(DL_DIR)/concierge: - mkdir -p $(DL_DIR)/concierge/ - $(call DOWNLOAD,$(CONCIERGE_SITE),concierge-$(CONCIERGE_VERSION).jar) - $(call DOWNLOAD,$(CONCIERGE_SITE_BUNDLES)shell-1.0.0.RC2.jar) - $(call DOWNLOAD,$(CONCIERGE_SITE_BUNDLES)service-tracker-1.0.0.RC2.jar) - $(call DOWNLOAD,$(CONCIERGE_SITE_BUNDLES)event-admin-1.0.0.RC2.jar) - -$(TARGET_DIR)/usr/lib/concierge/: $(DL_DIR)/concierge - mkdir -p $(TARGET_DIR)/usr/lib - mkdir -p $(TARGET_DIR)/usr/lib/concierge - cp -dpf $(DL_DIR)/concierge/* $(TARGET_DIR)/usr/lib/concierge/ - cp -dpf package/java/concierge/files/init.xargs $(TARGET_DIR)/usr/lib/concierge/ - touch -c $@ - -$(TARGET_DIR)/usr/bin/concierge: - cp -dpf package/java/concierge/files/concierge $(TARGET_DIR)/usr/bin/ - chmod +x $(TARGET_DIR)/usr/bin/concierge - touch -c $@ - -concierge: $(TARGET_DIR)/usr/lib/concierge $(TARGET_DIR)/usr/bin/concierge - -############################################################# -# -# Toplevel Makefile options -# -############################################################# -ifeq ($(BR2_PACKAGE_CONCIERGE),y) -TARGETS+=concierge -endif diff --git a/package/java/concierge/files/concierge b/package/java/concierge/files/concierge deleted file mode 100644 index c463753..0000000 --- a/package/java/concierge/files/concierge +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -/usr/bin/jamvm -jar /usr/lib/concierge/concierge-1.0_RC2.jar diff --git a/package/java/concierge/files/init.xargs b/package/java/concierge/files/init.xargs deleted file mode 100644 index 7848721..0000000 --- a/package/java/concierge/files/init.xargs +++ /dev/null @@ -1,10 +0,0 @@ --init --all --Dch.ethz.iks.concierge.debug=true --Dch.ethz.iks.concierge.log.enabled=true --Dch.ethz.iks.concierge.log.level=4 - - -#-istart shell-1.0.0.RC2.jar -#-istart service-tracker-1.0.0.RC2.jar -#-istart event-admin-1.0.0.RC2.jar diff --git a/package/java/jamvm/Config.in b/package/java/jamvm/Config.in deleted file mode 100644 index 59ac593..0000000 --- a/package/java/jamvm/Config.in +++ /dev/null @@ -1,8 +0,0 @@ -config BR2_PACKAGE_JAMVM - bool "jamvm" - depends on BR2_PACKAGE_CLASSPATH - help - JamVM is a new Java Virtual Machine which conforms to - the JVM specification version 2 (blue book). - - http://jamvm.sourceforge.net/ diff --git a/package/java/jamvm/jamvm-1.5.0.patch.avr32 b/package/java/jamvm/jamvm-1.5.0.patch.avr32 deleted file mode 100644 index 27c905e..0000000 --- a/package/java/jamvm/jamvm-1.5.0.patch.avr32 +++ /dev/null @@ -1,1473 +0,0 @@ -diff -urpN jamvm-1.5.0/configure jamvm-1.5.0-avr32/configure ---- jamvm-1.5.0/configure 2007-10-29 06:37:06.000000000 +0100 -+++ jamvm-1.5.0-avr32/configure 2008-02-08 09:20:37.000000000 +0100 -@@ -2550,6 +2550,7 @@ i386-*-openbsd*) host_os=bsd libdl_neede - i386-*-freebsd*) host_os=bsd libdl_needed=no ;; - x86_64-*-linux*) host_os=linux ;; - hppa*-*-linux*) host_cpu=parisc host_os=linux ;; -+avr32*-*-linux*) host_cpu=avr32 host_os=linux ;; - mipsel-*-linux*) host_cpu=mips host_os=linux ;; - amd64-*-openbsd*) host_os=bsd libdl_needed=no ;; - amd64-*-freebsd*) host_os=bsd libdl_needed=no ;; -@@ -22839,7 +22840,7 @@ fi - ac_config_links="$ac_config_links src/arch.h:src/arch/$arch.h" - - --ac_config_files="$ac_config_files Makefile src/Makefile src/interp/Makefile src/interp/engine/Makefile src/arch/Makefile src/os/Makefile src/os/linux/Makefile src/os/darwin/Makefile src/os/bsd/Makefile src/os/linux/powerpc/Makefile src/os/linux/arm/Makefile src/os/linux/i386/Makefile src/os/linux/x86_64/Makefile src/os/linux/parisc/Makefile src/os/linux/mips/Makefile src/os/darwin/i386/Makefile src/os/darwin/powerpc/Makefile src/os/bsd/powerpc/Makefile src/os/bsd/arm/Makefile src/os/bsd/i386/Makefile src/os/bsd/x86_64/Makefile lib/Makefile lib/java/Makefile lib/java/lang/Makefile lib/jamvm/Makefile lib/jamvm/java/Makefile lib/jamvm/java/lang/Makefile lib/java/lang/reflect/Makefile lib/java/security/Makefile lib/gnu/Makefile lib/sun/reflect/annotation/Makefile lib/sun/reflect//Makefile lib/sun/Makefile lib/gnu/classpath/Makefile" -+ac_config_files="$ac_config_files Makefile src/Makefile src/interp/Makefile src/interp/engine/Makefile src/arch/Makefile src/os/Makefile src/os/linux/Makefile src/os/darwin/Makefile src/os/bsd/Makefile src/os/linux/powerpc/Makefile src/os/linux/arm/Makefile src/os/linux/i386/Makefile src/os/linux/x86_64/Makefile src/os/linux/avr32/Makefile src/os/linux/parisc/Makefile src/os/linux/mips/Makefile src/os/darwin/i386/Makefile src/os/darwin/powerpc/Makefile src/os/bsd/powerpc/Makefile src/os/bsd/arm/Makefile src/os/bsd/i386/Makefile src/os/bsd/x86_64/Makefile lib/Makefile lib/java/Makefile lib/java/lang/Makefile lib/jamvm/Makefile lib/jamvm/java/Makefile lib/jamvm/java/lang/Makefile lib/java/lang/reflect/Makefile lib/java/security/Makefile lib/gnu/Makefile lib/sun/reflect/annotation/Makefile lib/sun/reflect//Makefile lib/sun/Makefile lib/gnu/classpath/Makefile" - - - cat >confcache <<\_ACEOF -@@ -23475,6 +23476,7 @@ do - "src/os/linux/i386/Makefile") CONFIG_FILES="$CONFIG_FILES src/os/linux/i386/Makefile" ;; - "src/os/linux/x86_64/Makefile") CONFIG_FILES="$CONFIG_FILES src/os/linux/x86_64/Makefile" ;; - "src/os/linux/parisc/Makefile") CONFIG_FILES="$CONFIG_FILES src/os/linux/parisc/Makefile" ;; -+ "src/os/linux/avr32/Makefile") CONFIG_FILES="$CONFIG_FILES src/os/linux/avr32/Makefile" ;; - "src/os/linux/mips/Makefile") CONFIG_FILES="$CONFIG_FILES src/os/linux/mips/Makefile" ;; - "src/os/darwin/i386/Makefile") CONFIG_FILES="$CONFIG_FILES src/os/darwin/i386/Makefile" ;; - "src/os/darwin/powerpc/Makefile") CONFIG_FILES="$CONFIG_FILES src/os/darwin/powerpc/Makefile" ;; -diff -urpN jamvm-1.5.0/src/alloc.c jamvm-1.5.0-avr32/src/alloc.c ---- jamvm-1.5.0/src/alloc.c 2007-10-22 01:24:22.000000000 +0200 -+++ jamvm-1.5.0-avr32/src/alloc.c 2008-02-08 09:20:38.000000000 +0100 -@@ -274,6 +274,11 @@ void initialiseAlloc(InitArgs *args) { - #else - char *mem = (char*)mmap(0, args->max_heap, PROT_READ|PROT_WRITE, - MAP_PRIVATE|MAP_ANON, -1, 0); -+// char *mem = (char*)mmap(0, 8196, PROT_READ|PROT_WRITE, -+// MAP_PRIVATE|MAP_ANON, -1, 0); -+//TODO: lto -+//jam_printf("trying to mmap max:%lo min:%lo heap\n",args->max_heap , args->max_heap); -+//jam_printf("mem: %d %d\n",mem,MAP_FAILED); - if(mem == MAP_FAILED) { - #endif - perror("Aborting the VM -- couldn't allocate the heap"); -@@ -2214,7 +2219,7 @@ void *sysMalloc(int size) { - int n = size < sizeof(void*) ? sizeof(void*) : size; - void *mem = malloc(n); - -- if(mem == NULL) { -+ if(mem == NULL && n != 0) { - jam_fprintf(stderr, "Malloc failed - aborting VM...\n"); - exitVM(1); - } -diff -urpN jamvm-1.5.0/src/arch/avr32.h jamvm-1.5.0-avr32/src/arch/avr32.h ---- jamvm-1.5.0/src/arch/avr32.h 1970-01-01 01:00:00.000000000 +0100 -+++ jamvm-1.5.0-avr32/src/arch/avr32.h 2008-02-08 09:20:41.000000000 +0100 -@@ -0,0 +1,109 @@ -+/* -+ * Copyright (C) 2003, 2004, 2005, 2006, 2007 -+ * Robert Lougher . -+ * -+ * This file is part of JamVM. -+ * -+ * 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 2, -+ * 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, write to the Free Software -+ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -+ */ -+ -+#define OS_ARCH "avr32" -+//#ifndef DEBUG -+//#define DEBUG -+//#endif -+ -+/* Override default min and max heap sizes. AVR32 machines are -+ usually embedded, and the standard defaults are too large. */ -+#define DEFAULT_MAX_HEAP 8*MB -+#define DEFAULT_MIN_HEAP 1*MB -+ -+#define HANDLER_TABLE_T static const void -+#define DOUBLE_1_BITS 0x3ff0000000000000LL -+ -+#define READ_DBL(v,p,l) v = ((u8)p[0]<<56)|((u8)p[1]<<48)|((u8)p[2]<<40) \ -+ |((u8)p[3]<<32)|((u8)p[4]<<24)|((u8)p[5]<<16) \ -+ |((u8)p[6]<<8)|(u8)p[7]; p+=8 -+ -+//extern void setDoublePrecision(); -+#define FPU_HACK -+ -+//#define COMPARE_AND_SWAP(addr, old_val, new_val) ({char result;result;}) -+//static inline unsigned long __cmpxchg_u32(volatile int *m, unsigned int old, -+// unsigned int new) -+//{ -+// int ret; -+// //printf("compare and swap %d %d %s:line%d\n",old,new,__FILE__,__LINE__); -+// asm volatile( -+// "1: ssrf 5\n" -+// " ld.w %[ret], %[m]\n" -+// " cp.w %[ret], %[old]\n" -+// " brne 2f\n" -+// " stcond %[m], %[new]\n" -+// " brne 1b\n" -+// "2:\n" -+// : [ret] "=&r"(ret), [m] "=m"(*m) -+// : "m"(*m), [new] "r"(new), [old] "r"(old) -+// : "memory", "cc"); -+// return ret; -+//} -+ -+//see C:\Cygwin\usr\local\avr32-linux\include\bits\atomicity.h -+//see http://www.avr32linux.org/twiki/bin/view/Main/AtomicOperations -+//see http://www.mail-archive.com/uclibc@uclibc.org/msg00914.html -+//http://www.avr32linux.org/twiki/pub/Main/MicroClibcPatches/uClibc-0.9.28-avr32-20060621.patch -+//http://www.google.com/codesearch?hl=en&q=+cmpxchg+avr32+show:WwwDfOAAdbA:L2BlPHy6h_g:nY7RakaTOnE&sa=N&cd=1&ct=rc&cs_p=http://gobo.calica.com/packages/official/Linux--2.6.20.4-r1--i686.tar.bz2&cs_f=Linux/2.6.20.4/Resources/Unmanaged/Files/Compile/Sources/linux-2.6.20.4/include/asm-avr32/system.h#first -+//#define COMPARE_AND_SWAP(p, oldval, newval)({ \ -+// printf("compare and swap %d %d %s:line%d\n",oldval,newval,__FILE__,__LINE__); \ -+// __cmpxchg_u32(p,oldval,newval);\ -+//}) -+ -+// printf("compare and swap %d %d %s:line %d\n",old_val,new_val,__FILE__,__LINE__); -+#define COMPARE_AND_SWAP(addr, old_val, new_val) \ -+({ \ -+ int result; \ -+ __asm__ __volatile__ (" \ -+ 1: ssrf 5; \ -+ ld.w %[ret], %[m]; \ -+ cp.w %[ret], %[old]; \ -+ brne 2f; \ -+ stcond %[m], %[new]; \ -+ brne 1b; \ -+ 2:" \ -+ : [ret] "=&r" (result), [m] "=m" (*addr) \ -+ : "m" (*addr), [old] "r" (old_val), [new] "r" (new_val) \ -+ : "memory", "cc"); \ -+ result; \ -+}) -+ -+//ssrf 5 :set lock bit -+//stcond :store param2 when lock is set -+//sreq :If equal set register to true or false -+//brne :Branch when not equal -+//brne 1b :When the lock wasn't set anymore, try again -+//label 1b 2f :first label named 1/2 before/after -+#define FLUSH_CACHE(addr, length) -+ -+#define LOCKWORD_READ(addr) *addr -+#define LOCKWORD_WRITE(addr, value) *addr = value -+#define LOCKWORD_COMPARE_AND_SWAP(addr, old_val, new_val) \ -+ COMPARE_AND_SWAP(addr, old_val, new_val) -+ -+#define UNLOCK_MBARRIER() __asm__ __volatile__ ("" ::: "memory") -+#define JMM_LOCK_MBARRIER() __asm__ __volatile__ ("" ::: "memory") -+#define JMM_UNLOCK_MBARRIER() __asm__ __volatile__ ("" ::: "memory") -+ -+//TODO: lto -+#define MBARRIER() __asm__ __volatile__ ("" ::: "memory") -+//#define MBARRIER() __asm__ __volatile__ ("lock; addl $0,0(%%esp)" ::: "memory") -diff -urpN jamvm-1.5.0/src/arch/Makefile.am jamvm-1.5.0-avr32/src/arch/Makefile.am ---- jamvm-1.5.0/src/arch/Makefile.am 2007-10-28 00:19:26.000000000 +0200 -+++ jamvm-1.5.0-avr32/src/arch/Makefile.am 2008-02-08 09:20:41.000000000 +0100 -@@ -19,4 +19,4 @@ - ## Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - ## - --EXTRA_DIST = powerpc.h arm.h i386.h x86_64.h parisc.h mips.h -+EXTRA_DIST = powerpc.h arm.h i386.h x86_64.h parisc.h mips.h avr32.h -diff -urpN jamvm-1.5.0/src/arch/Makefile.in jamvm-1.5.0-avr32/src/arch/Makefile.in ---- jamvm-1.5.0/src/arch/Makefile.in 2007-10-29 07:02:36.000000000 +0100 -+++ jamvm-1.5.0-avr32/src/arch/Makefile.in 2008-02-08 09:20:41.000000000 +0100 -@@ -162,7 +162,7 @@ top_srcdir = @top_srcdir@ - use_zip_no = @use_zip_no@ - use_zip_yes = @use_zip_yes@ - with_classpath_install_dir = @with_classpath_install_dir@ --EXTRA_DIST = powerpc.h arm.h i386.h x86_64.h parisc.h mips.h -+EXTRA_DIST = powerpc.h arm.h i386.h x86_64.h parisc.h mips.h avr32.h - all: all-am - - .SUFFIXES: -diff -urpN jamvm-1.5.0/src/class.c jamvm-1.5.0-avr32/src/class.c ---- jamvm-1.5.0/src/class.c 2007-10-29 05:45:32.000000000 +0100 -+++ jamvm-1.5.0-avr32/src/class.c 2008-02-08 09:20:37.000000000 +0100 -@@ -40,6 +40,8 @@ - #define SCAVENGE(ptr) FALSE - #define FOUND(ptr) ptr - -+#define TRACE(fmt, ...) jam_printf(fmt, ## __VA_ARGS__) -+ - static int verbose; - static char *bootpath; - static char *classpath; -@@ -1273,6 +1275,9 @@ Class *findSystemClass0(char *classname) - } - - Class *findSystemClass(char *classname) { -+#ifdef DEBUG -+ TRACE(">>>>>>finding class: %s\n", classname); -+#endif - Class *class = findSystemClass0(classname); - - if(!exceptionOccurred()) -@@ -1383,18 +1388,32 @@ Class *findClassFromClassLoader(char *cl - } - - Object *getSystemClassLoader() { -+#ifdef DEBUG -+ printf("%s: %d: trying to find ClassLoader\n",__FILE__,__LINE__); -+#endif - Class *class_loader = findSystemClass("java/lang/ClassLoader"); - - if(!exceptionOccurred()) { -+#ifdef DEBUG -+ printf("%s: %d: found ClassLoader\n",__FILE__,__LINE__); -+#endif - MethodBlock *mb; - - if((mb = findMethod(class_loader, "getSystemClassLoader", - "()Ljava/lang/ClassLoader;")) != NULL) { -+#ifdef DEBUG -+ printf("%s: %d: executing static SystemClassLoader",__FILE__,__LINE__); -+#endif -+ - Object *system_loader = *(Object**)executeStaticMethod(class_loader, mb); - - if(!exceptionOccurred()) - return system_loader; - } -+#ifdef DEBUG -+ }else{ -+ printf("%s: %d: found ClassLoader WITH EXCEPTION\n",__FILE__,__LINE__); -+#endif - } - return NULL; - } -diff -urpN jamvm-1.5.0/src/interp/direct.c jamvm-1.5.0-avr32/src/interp/direct.c ---- jamvm-1.5.0/src/interp/direct.c 2007-10-26 05:10:47.000000000 +0200 -+++ jamvm-1.5.0-avr32/src/interp/direct.c 2008-02-08 09:20:40.000000000 +0100 -@@ -31,7 +31,7 @@ - #include "interp.h" - - #ifdef TRACEDIRECT --#define TRACE(fmt, ...) jam_printf(fmt, ## __VA_ARGS__) -+#define TRACE(fmt, ...) printf(fmt, ## __VA_ARGS__) - #else - #define TRACE(fmt, ...) - #endif -Binary files jamvm-1.5.0/src/interp/engine/compute_relocatability and jamvm-1.5.0-avr32/src/interp/engine/compute_relocatability differ -diff -urpN jamvm-1.5.0/src/os/linux/avr32/dll_md.c jamvm-1.5.0-avr32/src/os/linux/avr32/dll_md.c ---- jamvm-1.5.0/src/os/linux/avr32/dll_md.c 1970-01-01 01:00:00.000000000 +0100 -+++ jamvm-1.5.0-avr32/src/os/linux/avr32/dll_md.c 2008-02-08 09:20:38.000000000 +0100 -@@ -0,0 +1,669 @@ -+/* -+ * Copyright (C) 2003, 2004, 2005, 2006, 2007 -+ * Robert Lougher . -+ * -+ * This file is part of JamVM. -+ * -+ * 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 2, -+ * 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, write to the Free Software -+ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -+ */ -+ -+#include "../../../jam.h" -+ -+#ifndef USE_FFI -+#include -+#include "../../../sig.h" -+ -+#define RET_VOID 0 -+#define RET_DOUBLE 1 -+#define RET_LONG 2 -+#define RET_FLOAT 3 -+#define RET_DFLT 4 -+ -+int nativeExtraArg(MethodBlock *mb) { -+ //printf("!!!!!!!!!!nativeExtraArg (name=%s) (type=%s)!!!!!!!\n",mb->name,mb->type); -+ int len = strlen(mb->type); -+ if(mb->type[len-2] == ')') -+ switch(mb->type[len-1]) { -+ case 'V': -+ return RET_VOID; -+ case 'D': -+ return RET_DOUBLE; -+ case 'J': -+ return RET_LONG; -+ case 'F': -+ return RET_FLOAT; -+ } -+ -+ return RET_DFLT; -+} -+ -+//calls the f function pointer and takes care of the return type -+#define perform_f(label,...) \ -+ switch(ret_type) { \ -+ case RET_VOID: \ -+ (*(void (*)())f)(__VA_ARGS__); \ -+ goto label; \ -+ case RET_DOUBLE: \ -+ *(double*)ostack = (*(double (*)())f)(__VA_ARGS__); \ -+ ostack += 2; \ -+ goto label; \ -+ case RET_LONG: \ -+ *(long long*)ostack = (*(long long (*)())f)(__VA_ARGS__); \ -+ ostack += 2; \ -+ goto label; \ -+ case RET_FLOAT: \ -+ *(float*)ostack = (*(float (*)())f)(__VA_ARGS__); \ -+ ostack++; \ -+ goto label; \ -+ default: \ -+ *ostack++ = (*(u4 (*)())f)(__VA_ARGS__); \ -+ goto label; \ -+ } -+ -+#define write_ops_to_stack(x) \ -+ /*write x operands to the stack */ \ -+ int i; \ -+ for(i=0; i < x; i++){ \ -+ __asm__ __volatile__( \ -+ "ld.w r11,%0 \n\t" \ -+ "st.w --sp,r11 " \ -+ :: "m"(*--opntr) \ -+ :"sp","r11"); \ -+ } -+ -+u4 *callJNIMethod(void *env, Class *class, char *sig, int ret_type, u4 *ostack, unsigned char *f, int args) { -+ u4 *opntr = ostack + args; -+ int nrofopsonstack = 0; -+ if(class && args > 3){ -+ nrofopsonstack = args - 3; -+ }else if(class){ -+ nrofopsonstack = 0; -+ }else if(args > 4){ -+ nrofopsonstack = args -4; -+ }else{ -+ nrofopsonstack = 0; -+ } -+ -+ if(args == 0){ -+ if(class){ -+ perform_f(done,env,class); -+ }else{ -+ perform_f(done,env); -+ } -+ }else if(args == 1){ -+ if(class){ -+ perform_f(done,env,class,*--opntr); -+ }else{ -+ perform_f(done,env,*--opntr); -+ } -+ }else if(args == 2){ -+ if(class){ -+ perform_f(done,env,class,*--opntr,*--opntr); -+ }else{ -+ perform_f(done,env,*--opntr,*--opntr); -+ } -+ }else if(args == 3){ -+ if(class){ -+ perform_f(done,env,class,*--opntr,*--opntr,*--opntr); -+ }else{ -+ perform_f(done,env,*--opntr,*--opntr,*--opntr); -+ } -+ }else{ -+ write_ops_to_stack(nrofopsonstack) -+ if(class){ -+ perform_f(empty_stack,env,class,*--opntr,*--opntr,*--opntr); -+ }else{ -+ perform_f(empty_stack,env,*--opntr,*--opntr,*--opntr,*--opntr); -+ } -+ } -+ -+ empty_stack: -+ //Increment stack pointer to loose all operands we put there -+ if(nrofopsonstack > 0) { -+ __asm__ __volatile__("add sp,%0" ::"r"((nrofopsonstack) * sizeof(u4)): "sp"); -+ } -+ -+ done: -+ return ostack; -+} -+ -+/* -+ int i; -+ int nrofopsonstack,nrofopsinregister; -+ u4 *opntr = ostack + args; -+ register int *r5 asm ("r5"); -+ *r5 = *f; -+ -+// register unsigned char *r6 asm ("r6"); -+// register int *r7 asm ("r7"); -+// register int *r8 asm ("r8"); -+// register int *r9 asm ("r9"); -+// register int *r10 asm ("r10"); -+// register int *r11 asm ("r11"); -+// register int *r12 asm ("r12"); -+ -+ if(class && args > 3){ -+ nrofopsonstack = args - 3; -+ nrofopsinregister = 3; -+ }else if(class){ -+ nrofopsonstack = 0; -+ nrofopsinregister = args; -+ }else if(args > 4){ -+ nrofopsonstack = args -4; -+ nrofopsinregister = 4; -+ }else{ -+ nrofopsonstack = 0; -+ nrofopsinregister = args; -+ } -+ -+ //write all operands except 3 or 4 to the stack -+ for(i=0; i < nrofopsonstack; i++){ -+ //printf("!!!!!writing arg %d to stack\n",i); -+ __asm__ __volatile__( -+ "ld.w r11,%0 \n\t" -+ "st.w --sp,r11 " -+ :: "m"(*--opntr) -+ :"sp","r11"); -+ } -+ -+ -+ //TODO: make sure none of the registers above have been changed -+ switch(ret_type) { -+ case RET_VOID: -+ goto do_void_function; -+ case RET_DOUBLE: -+ goto do_double_function; -+ case RET_LONG: -+ goto do_longlong_function; -+ case RET_FLOAT: -+ goto do_float_function; -+ default: -+ goto do_default_function; -+ } -+ -+ do_void_function: -+ WRITE_PARAMS(label_void) -+ __asm__ __volatile__( -+ "icall r5" -+ ::"m"(f)); -+ label_void: -+ (*(void (*)())f)(); -+ //printf("!!!!!!!!!!!!! called void JNIMethod %s!!!!!!!!!!\n",sig); -+ goto empty_stack; -+ -+ do_double_function: -+ WRITE_PARAMS(label_double) -+ label_double: -+ *(double*)ostack = (*(double (*)())f)(); -+ ostack += 2; -+ //printf("!!!!!!!!!!!!! called double JNIMethod %s %l!!!!!!!!!!\n",sig,*ostack); -+ goto empty_stack; -+ -+ do_longlong_function: -+ WRITE_PARAMS(label_longlong) -+ label_longlong: -+ *(long long*)ostack = (*(long long (*)())f)(); -+ ostack += 2; -+ //printf("!!!!!!!!!!!!! called long JNIMethod %s %l!!!!!!!!!!\n",sig,*ostack); -+ goto empty_stack; -+ -+ do_float_function: -+ WRITE_PARAMS(label_float) -+ label_float: -+ *(float*)ostack = (*(float (*)())f)(); -+ ostack++; -+ //printf("!!!!!!!!!!!!! called float JNIMethod %s %f!!!!!!!!!!\n",sig,*ostack); -+ goto empty_stack; -+ -+ do_default_function: -+ WRITE_PARAMS(label_default) -+ label_default: -+ *ostack++ = (*(u4 (*)())f)(); -+ //printf("!!!!!!!!!!!!! called default JNIMethod %s!!!!!!!!!!\n",sig); -+ goto empty_stack; -+ -+ empty_stack: -+ -+ //Get rid of the items on the stack -+ if(nrofopsonstack > 0) { -+ __asm__ __volatile__("add sp,%0" ::"r"(nrofopsonstack): "sp"); -+ } -+ return ostack;*/ -+ -+ -+// r8 = (u4*)(*--opntr); -+// r9 = (u4*)(*--opntr); -+// r10 = (u4*)(*--opntr); -+// r11 = (u4*)(*--opntr); -+// r12 = env; -+ -+ -+ -+/* -+ //write all operands to register -+ if(!class){ -+ switch(nrofopsinregister){ -+ case 4: -+ __asm__ __volatile__( -+ "ld.w r8,%[r8] \n\t" -+ "ld.w r9,%[r9] \n\t" -+ "ld.w r10,%[r10] \n\t" -+ "ld.w r11,%[r11] \n\t" -+ "ld.w r12,%[env]" -+ :: [r8]"m"(*--opntr),[r9]"m"(*--opntr),[r10]"m"(*--opntr),[r11]"m"(*--opntr),[env]"m"(env) -+ :"r8","r9","r10","r11","r12" -+ ); -+ goto select_function; -+ case 3: -+ __asm__ __volatile__( -+ "ld.w r9,%[r9] \n\t" -+ "ld.w r10,%[r10] \n\t" -+ "ld.w r11,%[r11] \n\t" -+ "ld.w r12,%[env]" -+ :: [r9]"m"(*--opntr),[r10]"m"(*--opntr),[r11]"m"(*--opntr),[env]"m"(env) -+ :"r9","r10","r11","r12" -+ ); -+ goto select_function; -+ case 2: -+ __asm__ __volatile__( -+ "ld.w r10,%[r10] \n\t" -+ "ld.w r11,%[r11] \n\t" -+ "ld.w r12,%[env]" -+ :: [r10]"m"(*--opntr),[r11]"m"(*--opntr),[env]"m"(env) -+ :"r10","r11","r12" -+ ); -+ goto select_function; -+ case 1: -+ __asm__ __volatile__( -+ "ld.w r11,%[r11] \n\t" -+ "ld.w r12,%[env]" -+ ::[r11]"m"(*--opntr),[env]"m"(env) -+ :"r11","r12" -+ ); -+ goto select_function; -+ case 0: -+ __asm__ __volatile__( -+ "ld.w r12,%[env]" -+ ::[env]"m"(env) -+ :"r12" -+ ); -+ goto select_function; -+ } -+ }else{//class needs to be written to r11 -+ switch(nrofopsinregister){ -+ case 3: -+ __asm__ __volatile__( -+ "ld.w r8,%[r8] \n\t" -+ "ld.w r9,%[r9] \n\t" -+ "ld.w r10,%[r10] \n\t" -+ "ld.w r11,%[class] \n\t" -+ "ld.w r12,%[env]" -+ :: [r8]"m"(*--opntr),[r9]"m"(*--opntr),[r10]"m"(*--opntr),[class]"m"(class),[env]"m"(env) -+ :"r8","r9","r10","r11","r12" -+ ); -+ goto select_function; -+ case 2: -+ __asm__ __volatile__( -+ "ld.w r9,%[r9] \n\t" -+ "ld.w r10,%[r10] \n\t" -+ "ld.w r11,%[class] \n\t" -+ "ld.w r12,%[env]" -+ :: [r9]"m"(*--opntr),[r10]"m"(*--opntr),[class]"m"(class),[env]"m"(env) -+ :"r9","r10","r11","r12" -+ ); -+ goto select_function; -+ case 1: -+ __asm__ __volatile__( -+ "ld.w r10,%[r10] \n\t" -+ "ld.w r11,%[class] \n\t" -+ "ld.w r12,%[env]" -+ :: [r10]"m"(*--opntr),[class]"m"(class),[env]"m"(env) -+ :"r10","r11","r12" -+ ); -+ goto select_function; -+ case 0: -+ __asm__ __volatile__( -+ "ld.w r11,%[class] \n\t" -+ "ld.w r12,%[env]" -+ :: [class]"m"(class),[env]"m"(env) -+ :"r10","r11","r12" -+ ); -+ goto select_function; -+ } -+ } -+ select_function: //This label is put here to make some cleaner assembler jumps above -+ */ -+ -+// int isstatic; -+// if(class){ -+// isstatic = 1; -+// }else{ -+// isstatic = 0; -+// } -+// printf("!!!!!!!!!!!!! calling JNIMethod (sig:%s) (type:%d) (argcount:%d) (static:%d)!!!!!!!!!!\n",sig,ret_type,args,isstatic); -+ -+//Dit werkt!!! -+// if(args == 3 && isstatic == 0 && ret_type == RET_DFLT){ -+// printf("I am here..\n"); -+// *ostack++ = (*(u4 (*)())f)(env,*--opntr,*--opntr,*--opntr); -+// return ostack; -+// } -+/* -+ u4 *opntr = ostack + args; -+ long long *result; -+ if(class){ -+ //printf("I am static!!!!!!!\n"); -+ if(args == 0){ -+ //*ostack = (*(u4 (*)())f)(env,class); -+ *result = (*(long long (*)())f)(env,class); -+ }else if(args == 1){ -+ *result = (*(long long (*)())f)(env,class,*--opntr); -+ }else if(args == 2){ -+ *result = (*(long long (*)())f)(env,class,*--opntr,*--opntr); -+ }else if(args == 3){ -+ *result = (*(long long (*)())f)(env,class,*--opntr,*--opntr,*--opntr); -+ }else if(args == 4){ -+ *result = (*(long long (*)())f)(env,class,*--opntr,*--opntr,*--opntr,*--opntr); -+ }else if(args == 5){ -+ *result = (*(long long (*)())f)(env,class,*--opntr,*--opntr,*--opntr,*--opntr,*--opntr); -+ } -+ }else{ -+ //printf("I am not static!!!!!!!\n"); -+ if(args == 0){ -+ *result = (*(long long (*)())f)(env); -+ }else if(args == 1){ -+ *result = (*(long long (*)())f)(env,*--opntr); -+ }else if(args == 2){ -+ *result = (*(long long (*)())f)(env,*--opntr,*--opntr); -+ }else if(args == 3){ -+ *result = (*(long long (*)())f)(env,*--opntr,*--opntr,*--opntr); -+ }else if(args == 4){ -+ *result = (*(long long (*)())f)(env,*--opntr,*--opntr,*--opntr,*--opntr); -+ }else if(args == 5){ -+ *result = (*(long long (*)())f)(env,*--opntr,*--opntr,*--opntr,*--opntr,*--opntr); -+ } -+ } -+ -+ switch(ret_type) { -+ case RET_VOID: -+ printf("-------->Performed void function %s\n",sig); -+ break; -+ -+ case RET_DOUBLE: -+ *(double*)ostack = *(double(*))result; -+ ostack += 2; -+ printf("-------->Performed double function %s,casting to %d\n",sig, ret_type); -+ //printf("returned a double %f\n",*ostack); -+ break; -+ -+ case RET_LONG: -+ *(long long*)ostack = *(long long(*))result; -+ ostack += 2; -+ printf("-------->Performed long function %s,casting to %d\n",sig, ret_type); -+ //printf("returned a long %l\n",*ostack); -+ break; -+ -+ case RET_FLOAT: -+ *(float*)ostack = *(float(*))result; -+ ostack++; -+ printf("-------->Performed float function %s,casting to %d\n",sig, ret_type); -+ //printf("returned a float %f\n",*ostack); -+ break; -+ -+ default: -+ *ostack++ = *(u4(*))result; -+ //ostack++; -+ printf("-------->Performed default function %s,casting to %d\n",sig, ret_type); -+ //printf("returned a default %d\n",*ostack); -+ break; -+ } -+ return ostack; -+ */ -+ -+ -+ -+ -+// if(args == 3 && isstatic == 0 && ret_type == RET_DFLT){ -+// printf("I am here!!!!!!!\n"); -+// u4 *result = (*(u4 (*)())f)(env,*--opntr,*--opntr,*--opntr); -+// *ostack++ = result; -+// //*ostack++ = (*(u4 (*)())f)(env,*--opntr,*--opntr,*--opntr); -+// return ostack; -+// } -+// if(args == 2 && isstatic == 0 && ret_type == RET_DFLT){ -+// printf("I am here..\n"); -+// *ostack++ = (*(u4 (*)())f)(env,*--opntr,*--opntr); -+// return ostack; -+// } -+// if(args == 1 && isstatic == 0 && ret_type == RET_DFLT){ -+// printf("I am here..\n"); -+// *ostack++ = (*(u4 (*)())f)(env,*--opntr); -+// return ostack; -+// } -+// -+// if(args == 6 && isstatic == 1 && ret_type == RET_DFLT){ -+// printf("I am here for 7 args..\n"); -+// *ostack++ = (*(u4 (*)())f)(env,class,*--opntr,*--opntr,*--opntr,*--opntr,*--opntr,*--opntr); -+// return ostack; -+// } -+// if(args == 4 && isstatic == 1 && ret_type == RET_DFLT){ -+// printf("I am here for 5 args..\n"); -+// *ostack++ = (*(u4 (*)())f)(env,class,*--opntr,*--opntr,*--opntr,*--opntr); -+// return ostack; -+// } -+// if(args == 3 && isstatic == 1 && ret_type == RET_DFLT){ -+// printf("I am here..\n"); -+// *ostack++ = (*(u4 (*)())f)(env,class,*--opntr,*--opntr,*--opntr); -+// return ostack; -+// } -+// if(args == 2 && isstatic == 1 && ret_type == RET_DFLT){ -+// printf("I am here..\n"); -+// *ostack++ = (*(u4 (*)())f)(env,class,*--opntr,*--opntr); -+// return ostack; -+// } -+// if(args == 1 && isstatic == 1 && ret_type == RET_DFLT){ -+// printf("I am here..\n"); -+// *ostack++ = (*(u4 (*)())f)(env,class,*--opntr); -+// return ostack; -+// } -+ -+ //int i; -+ -+ //for(i = 0; i < args; i++){ -+ // printf("!!!!!should write arg %d\n",i); -+ //__asm__ __volatile__("ld.w r11,%0" :: "m"(*--opntr):"r11"); -+ //__asm__ __volatile__("st.w --sp,r11" ::: "sp","r11"); -+ //} -+ -+// int i=args; -+// if(class) { -+// for(i=args;i>3;i--){ -+// __asm__ __volatile__("ld.w r8,%0" :: "m"(*--opntr):"r8"); -+// __asm__ __volatile__("st.w --sp,r8" ::: "sp","r8"); -+// } -+// if(args >= 3){ -+// __asm__ __volatile__("ld.w r8,%0" :: "m"(*--opntr):"r8"); -+// } -+// if(args >= 2){ -+// __asm__ __volatile__("ld.w r9,%0" :: "m"(*--opntr):"r9"); -+// } -+// if(args >= 1){ -+// __asm__ __volatile__("ld.w r10,%0" :: "m"(*--opntr):"r10"); -+// } -+// __asm__ __volatile__("ld.w r11,%0" :: "m"(class):"r11"); -+// __asm__ __volatile__("ld.w r12,%0" :: "m"(env):"r12"); -+// }else{//static, don't add class variable -+// for(i=args;i>4;i--){ -+// //r8 will be reused by the last register argument -+// __asm__ __volatile__("ld.w r8,%0" :: "m"(*--opntr):"r8"); -+// __asm__ __volatile__("st.w --sp,r8" ::: "sp","r8"); -+// } -+// if(args >= 4){ -+// __asm__ __volatile__("ld.w r8,%0" :: "m"(*--opntr):"r8"); -+// } -+// if(args >= 3){ -+// __asm__ __volatile__("ld.w r9,%0" :: "m"(*--opntr):"r9"); -+// } -+// if(args >= 2){ -+// __asm__ __volatile__("ld.w r10,%0" :: "m"(*--opntr):"r10"); -+// } -+// if(args >= 1){ -+// __asm__ __volatile__("ld.w r11,%0" :: "m"(*--opntr):"r11"); -+// } -+// __asm__ __volatile__("ld.w r12,%0" :: "m"(env):"r12"); -+// } -+ -+// printf("!!!!!pushing environment to r12\n"); -+ -+ //printf("!!!!!!!!!!!!! switching ret_type %s %d ,nr of args: %d!!!!!!!!!!\n",sig, ret_type,args); -+// switch(ret_type) { -+// case RET_VOID: -+// (*(void (*)())f)(); -+// //printf("!!!!!!!!!!!!! called void JNIMethod %s!!!!!!!!!!\n",sig); -+// break; -+// -+// case RET_DOUBLE: -+// *(double*)ostack = (*(double (*)())f)(); -+// ostack += 2; -+// //printf("!!!!!!!!!!!!! called double JNIMethod %s %l!!!!!!!!!!\n",sig,*ostack); -+// break; -+// -+// case RET_LONG: -+// *(long long*)ostack = (*(long long (*)())f)(); -+// ostack += 2; -+// //printf("!!!!!!!!!!!!! called long JNIMethod %s %l!!!!!!!!!!\n",sig,*ostack); -+// break; -+// -+// case RET_FLOAT: -+// *(float*)ostack = (*(float (*)())f)(); -+// ostack++; -+// //printf("!!!!!!!!!!!!! called float JNIMethod %s %f!!!!!!!!!!\n",sig,*ostack); -+// break; -+// -+// default: -+// *ostack++ = (*(u4 (*)())f)(); -+// //printf("!!!!!!!!!!!!! called default JNIMethod %s!!!!!!!!!!\n",sig); -+// break; -+// } -+// -+// if(class && args > 3) { -+// int to_add = args-3; -+// __asm__ __volatile__("add sp,%0" ::"r"(to_add): "sp"); -+// }else if(!class && args > 4){ -+// int to_add = args-4; -+// __asm__ __volatile__("add sp,%0" ::"r"(to_add): "sp"); -+// } -+// //printf("!!!!!!!!!!!!! returning JNIMethod (sig:%s) (type:%d) (argcount:%d)!!!!!!!!!!\n",sig,ret_type,args); -+// //printf("!!!!!!!!!!!!! returning %s %d ,nr of args: %d!!!!!!!!!!\n",sig, ret_type,args); -+// //printf("!!!!!!!!!!!!! returning JNIMethod !!!!!!!!!!\n"); -+// //__asm__ __volatile__ ("addl %0,%%esp" :: "r" ((args + 1) * sizeof(u4)) : "cc", "sp"); -+// -+// return ostack; -+ -+ -+//write all operands, class and env to register -+#define WRITE_PARAMS(label) \ -+ if(!class){ \ -+ switch(nrofopsinregister){ \ -+ case 4: \ -+ __asm__ __volatile__( \ -+ "ld.w r8,%[r8] \n\t" \ -+ "ld.w r9,%[r9] \n\t" \ -+ "ld.w r10,%[r10] \n\t" \ -+ "ld.w r11,%[r11] \n\t" \ -+ "ld.w r12,%[env]" \ -+ :: [r8]"m"(*--opntr),[r9]"m"(*--opntr),[r10]"m"(*--opntr),[r11]"m"(*--opntr),[env]"m"(env) \ -+ :"r8","r9","r10","r11","r12" \ -+ ); \ -+ goto label; \ -+ case 3: \ -+ __asm__ __volatile__( \ -+ "ld.w r9,%[r9] \n\t" \ -+ "ld.w r10,%[r10] \n\t" \ -+ "ld.w r11,%[r11] \n\t" \ -+ "ld.w r12,%[env]" \ -+ :: [r9]"m"(*--opntr),[r10]"m"(*--opntr),[r11]"m"(*--opntr),[env]"m"(env) \ -+ :"r9","r10","r11","r12" \ -+ ); \ -+ goto label; \ -+ case 2: \ -+ __asm__ __volatile__( \ -+ "ld.w r10,%[r10] \n\t" \ -+ "ld.w r11,%[r11] \n\t" \ -+ "ld.w r12,%[env]" \ -+ :: [r10]"m"(*--opntr),[r11]"m"(*--opntr),[env]"m"(env) \ -+ :"r10","r11","r12" \ -+ ); \ -+ goto label; \ -+ case 1: \ -+ __asm__ __volatile__( \ -+ "ld.w r11,%[r11] \n\t" \ -+ "ld.w r12,%[env]" \ -+ ::[r11]"m"(*--opntr),[env]"m"(env) \ -+ :"r11","r12" \ -+ ); \ -+ goto label; \ -+ case 0: \ -+ __asm__ __volatile__( \ -+ "ld.w r12,%[env]" \ -+ ::[env]"m"(env) \ -+ :"r12" \ -+ ); \ -+ goto label; \ -+ } \ -+ }else{ \ -+ switch(nrofopsinregister){ \ -+ case 3: \ -+ __asm__ __volatile__( \ -+ "ld.w r8,%[r8] \n\t" \ -+ "ld.w r9,%[r9] \n\t" \ -+ "ld.w r10,%[r10] \n\t" \ -+ "ld.w r11,%[class] \n\t" \ -+ "ld.w r12,%[env]" \ -+ :: [r8]"m"(*--opntr),[r9]"m"(*--opntr),[r10]"m"(*--opntr),[class]"m"(class),[env]"m"(env) \ -+ :"r8","r9","r10","r11","r12" \ -+ ); \ -+ goto label; \ -+ case 2: \ -+ __asm__ __volatile__( \ -+ "ld.w r9,%[r9] \n\t" \ -+ "ld.w r10,%[r10] \n\t" \ -+ "ld.w r11,%[class] \n\t" \ -+ "ld.w r12,%[env]" \ -+ :: [r9]"m"(*--opntr),[r10]"m"(*--opntr),[class]"m"(class),[env]"m"(env) \ -+ :"r9","r10","r11","r12" \ -+ ); \ -+ goto label; \ -+ case 1: \ -+ __asm__ __volatile__( \ -+ "ld.w r10,%[r10] \n\t" \ -+ "ld.w r11,%[class] \n\t" \ -+ "ld.w r12,%[env]" \ -+ :: [r10]"m"(*--opntr),[class]"m"(class),[env]"m"(env) \ -+ :"r10","r11","r12" \ -+ ); \ -+ goto label; \ -+ case 0: \ -+ __asm__ __volatile__( \ -+ "ld.w r11,%[class] \n\t" \ -+ "ld.w r12,%[env]" \ -+ :: [class]"m"(class),[env]"m"(env) \ -+ :"r10","r11","r12" \ -+ ); \ -+ goto label; \ -+ } \ -+ } \ -+ //This label is put here to make some cleaner assembler jumps above -+#endif -diff -urpN jamvm-1.5.0/src/os/linux/avr32/init.c jamvm-1.5.0-avr32/src/os/linux/avr32/init.c ---- jamvm-1.5.0/src/os/linux/avr32/init.c 1970-01-01 01:00:00.000000000 +0100 -+++ jamvm-1.5.0-avr32/src/os/linux/avr32/init.c 2008-02-08 09:20:38.000000000 +0100 -@@ -0,0 +1,39 @@ -+/* -+ * Copyright (C) 2003, 2004, 2006, 2007 -+ * Robert Lougher . -+ * -+ * This file is part of JamVM. -+ * -+ * 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 2, -+ * 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, write to the Free Software -+ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -+ */ -+ -+//#include -+//#include -+ -+/* Change floating point precision to double (64-bit) from -+ * the extended (80-bit) Linux default. */ -+ -+//void setDoublePrecision() { -+// fpu_control_t cw; -+// -+// _FPU_GETCW(cw); -+// cw &= ~_FPU_EXTENDED; -+// cw |= _FPU_DOUBLE; -+// _FPU_SETCW(cw); -+//} -+ -+void initialisePlatform() { -+ //TODO: is this needed for avr32? setDoublePrecision(); -+} -diff -urpN jamvm-1.5.0/src/os/linux/avr32/Makefile.am jamvm-1.5.0-avr32/src/os/linux/avr32/Makefile.am ---- jamvm-1.5.0/src/os/linux/avr32/Makefile.am 1970-01-01 01:00:00.000000000 +0100 -+++ jamvm-1.5.0-avr32/src/os/linux/avr32/Makefile.am 2008-02-08 09:20:38.000000000 +0100 -@@ -0,0 +1,25 @@ -+## -+## Copyright (C) 2003, 2004, 2005, 2006, 2007 -+## Robert Lougher . -+## -+## This file is part of JamVM. -+## -+## 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 2, -+## 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, write to the Free Software -+## Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -+## -+ -+noinst_LTLIBRARIES = libnative.la -+libnative_la_SOURCES = init.c dll_md.c -+ -+AM_CPPFLAGS = -I$(top_builddir)/src -diff -urpN jamvm-1.5.0/src/os/linux/avr32/Makefile.in jamvm-1.5.0-avr32/src/os/linux/avr32/Makefile.in ---- jamvm-1.5.0/src/os/linux/avr32/Makefile.in 1970-01-01 01:00:00.000000000 +0100 -+++ jamvm-1.5.0-avr32/src/os/linux/avr32/Makefile.in 2008-02-08 09:20:38.000000000 +0100 -@@ -0,0 +1,446 @@ -+# Makefile.in generated by automake 1.10 from Makefile.am. -+# @configure_input@ -+ -+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+VPATH = @srcdir@ -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -+install_sh_DATA = $(install_sh) -c -m 644 -+install_sh_PROGRAM = $(install_sh) -c -+install_sh_SCRIPT = $(install_sh) -c -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = $(program_transform_name) -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+build_triplet = @build@ -+host_triplet = @host@ -+subdir = src/os/linux/avr32 -+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ -+ $(top_srcdir)/configure.ac -+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ -+ $(ACLOCAL_M4) -+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -+CONFIG_HEADER = $(top_builddir)/src/config.h -+CONFIG_CLEAN_FILES = -+LTLIBRARIES = $(noinst_LTLIBRARIES) -+libnative_la_LIBADD = -+am_libnative_la_OBJECTS = init.lo dll_md.lo -+libnative_la_OBJECTS = $(am_libnative_la_OBJECTS) -+DEFAULT_INCLUDES = -I. -I$(top_builddir)/src@am__isrc@ -+depcomp = $(SHELL) $(top_srcdir)/depcomp -+am__depfiles_maybe = depfiles -+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ -+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+CCLD = $(CC) -+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ -+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ -+ $(LDFLAGS) -o $@ -+SOURCES = $(libnative_la_SOURCES) -+DIST_SOURCES = $(libnative_la_SOURCES) -+ETAGS = etags -+CTAGS = ctags -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ACLOCAL = @ACLOCAL@ -+ALLOCA = @ALLOCA@ -+AMTAR = @AMTAR@ -+AR = @AR@ -+AUTOCONF = @AUTOCONF@ -+AUTOHEADER = @AUTOHEADER@ -+AUTOMAKE = @AUTOMAKE@ -+AWK = @AWK@ -+CC = @CC@ -+CCAS = @CCAS@ -+CCASDEPMODE = @CCASDEPMODE@ -+CCASFLAGS = @CCASFLAGS@ -+CCDEPMODE = @CCDEPMODE@ -+CFLAGS = @CFLAGS@ -+CPP = @CPP@ -+CPPFLAGS = @CPPFLAGS@ -+CXX = @CXX@ -+CXXCPP = @CXXCPP@ -+CXXDEPMODE = @CXXDEPMODE@ -+CXXFLAGS = @CXXFLAGS@ -+CYGPATH_W = @CYGPATH_W@ -+DEFS = @DEFS@ -+DEPDIR = @DEPDIR@ -+ECHO = @ECHO@ -+ECHO_C = @ECHO_C@ -+ECHO_N = @ECHO_N@ -+ECHO_T = @ECHO_T@ -+EGREP = @EGREP@ -+EXEEXT = @EXEEXT@ -+F77 = @F77@ -+FFLAGS = @FFLAGS@ -+GREP = @GREP@ -+INSTALL = @INSTALL@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+JAVAC = @JAVAC@ -+LDFLAGS = @LDFLAGS@ -+LIBOBJS = @LIBOBJS@ -+LIBS = @LIBS@ -+LIBTOOL = @LIBTOOL@ -+LN_S = @LN_S@ -+LTLIBOBJS = @LTLIBOBJS@ -+MAINT = @MAINT@ -+MAKEINFO = @MAKEINFO@ -+MKDIR_P = @MKDIR_P@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -+PACKAGE_NAME = @PACKAGE_NAME@ -+PACKAGE_STRING = @PACKAGE_STRING@ -+PACKAGE_TARNAME = @PACKAGE_TARNAME@ -+PACKAGE_VERSION = @PACKAGE_VERSION@ -+PATH_SEPARATOR = @PATH_SEPARATOR@ -+RANLIB = @RANLIB@ -+SED = @SED@ -+SET_MAKE = @SET_MAKE@ -+SHELL = @SHELL@ -+STRIP = @STRIP@ -+VERSION = @VERSION@ -+abs_builddir = @abs_builddir@ -+abs_srcdir = @abs_srcdir@ -+abs_top_builddir = @abs_top_builddir@ -+abs_top_srcdir = @abs_top_srcdir@ -+ac_ct_CC = @ac_ct_CC@ -+ac_ct_CXX = @ac_ct_CXX@ -+ac_ct_F77 = @ac_ct_F77@ -+am__include = @am__include@ -+am__leading_dot = @am__leading_dot@ -+am__quote = @am__quote@ -+am__tar = @am__tar@ -+am__untar = @am__untar@ -+arch = @arch@ -+bindir = @bindir@ -+build = @build@ -+build_alias = @build_alias@ -+build_cpu = @build_cpu@ -+build_os = @build_os@ -+build_vendor = @build_vendor@ -+builddir = @builddir@ -+datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ -+exec_prefix = @exec_prefix@ -+host = @host@ -+host_alias = @host_alias@ -+host_cpu = @host_cpu@ -+host_os = @host_os@ -+host_vendor = @host_vendor@ -+htmldir = @htmldir@ -+includedir = @includedir@ -+infodir = @infodir@ -+install_sh = @install_sh@ -+interp_cflags = @interp_cflags@ -+libdir = @libdir@ -+libexecdir = @libexecdir@ -+localedir = @localedir@ -+localstatedir = @localstatedir@ -+mandir = @mandir@ -+mkdir_p = @mkdir_p@ -+oldincludedir = @oldincludedir@ -+os = @os@ -+pdfdir = @pdfdir@ -+prefix = @prefix@ -+program_transform_name = @program_transform_name@ -+psdir = @psdir@ -+sbindir = @sbindir@ -+sharedstatedir = @sharedstatedir@ -+srcdir = @srcdir@ -+sysconfdir = @sysconfdir@ -+target_alias = @target_alias@ -+top_builddir = @top_builddir@ -+top_srcdir = @top_srcdir@ -+use_zip_no = @use_zip_no@ -+use_zip_yes = @use_zip_yes@ -+with_classpath_install_dir = @with_classpath_install_dir@ -+noinst_LTLIBRARIES = libnative.la -+libnative_la_SOURCES = init.c dll_md.c -+AM_CPPFLAGS = -I$(top_builddir)/src -+all: all-am -+ -+.SUFFIXES: -+.SUFFIXES: .c .lo .o .obj -+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) -+ @for dep in $?; do \ -+ case '$(am__configure_deps)' in \ -+ *$$dep*) \ -+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ -+ && exit 0; \ -+ exit 1;; \ -+ esac; \ -+ done; \ -+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/os/linux/avr32/Makefile'; \ -+ cd $(top_srcdir) && \ -+ $(AUTOMAKE) --gnu src/os/linux/avr32/Makefile -+.PRECIOUS: Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ @case '$?' in \ -+ *config.status*) \ -+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ -+ *) \ -+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ -+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ -+ esac; -+ -+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) -+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -+ -+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) -+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) -+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -+ -+clean-noinstLTLIBRARIES: -+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) -+ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ -+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ -+ test "$$dir" != "$$p" || dir=.; \ -+ echo "rm -f \"$${dir}/so_locations\""; \ -+ rm -f "$${dir}/so_locations"; \ -+ done -+libnative.la: $(libnative_la_OBJECTS) $(libnative_la_DEPENDENCIES) -+ $(LINK) $(libnative_la_OBJECTS) $(libnative_la_LIBADD) $(LIBS) -+ -+mostlyclean-compile: -+ -rm -f *.$(OBJEXT) -+ -+distclean-compile: -+ -rm -f *.tab.c -+ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dll_md.Plo@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init.Plo@am__quote@ -+ -+.c.o: -+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(COMPILE) -c $< -+ -+.c.obj: -+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` -+ -+.c.lo: -+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< -+ -+mostlyclean-libtool: -+ -rm -f *.lo -+ -+clean-libtool: -+ -rm -rf .libs _libs -+ -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ mkid -fID $$unique -+tags: TAGS -+ -+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ tags=; \ -+ here=`pwd`; \ -+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ -+ test -n "$$unique" || unique=$$empty_fix; \ -+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ -+ $$tags $$unique; \ -+ fi -+ctags: CTAGS -+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ tags=; \ -+ here=`pwd`; \ -+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) ' { files[$$0] = 1; } \ -+ END { for (i in files) print i; }'`; \ -+ test -z "$(CTAGS_ARGS)$$tags$$unique" \ -+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ -+ $$tags $$unique -+ -+GTAGS: -+ here=`$(am__cd) $(top_builddir) && pwd` \ -+ && cd $(top_srcdir) \ -+ && gtags -i $(GTAGS_ARGS) $$here -+ -+distclean-tags: -+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -+ -+distdir: $(DISTFILES) -+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ -+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ -+ list='$(DISTFILES)'; \ -+ dist_files=`for file in $$list; do echo $$file; done | \ -+ sed -e "s|^$$srcdirstrip/||;t" \ -+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ -+ case $$dist_files in \ -+ */*) $(MKDIR_P) `echo "$$dist_files" | \ -+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ -+ sort -u` ;; \ -+ esac; \ -+ for file in $$dist_files; do \ -+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ -+ if test -d $$d/$$file; then \ -+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ -+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ -+ fi; \ -+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ -+ else \ -+ test -f $(distdir)/$$file \ -+ || cp -p $$d/$$file $(distdir)/$$file \ -+ || exit 1; \ -+ fi; \ -+ done -+check-am: all-am -+check: check-am -+all-am: Makefile $(LTLIBRARIES) -+installdirs: -+install: install-am -+install-exec: install-exec-am -+install-data: install-data-am -+uninstall: uninstall-am -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-am -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -+distclean-generic: -+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+clean: clean-am -+ -+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ -+ mostlyclean-am -+ -+distclean: distclean-am -+ -rm -rf ./$(DEPDIR) -+ -rm -f Makefile -+distclean-am: clean-am distclean-compile distclean-generic \ -+ distclean-tags -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+html: html-am -+ -+info: info-am -+ -+info-am: -+ -+install-data-am: -+ -+install-dvi: install-dvi-am -+ -+install-exec-am: -+ -+install-html: install-html-am -+ -+install-info: install-info-am -+ -+install-man: -+ -+install-pdf: install-pdf-am -+ -+install-ps: install-ps-am -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-am -+ -rm -rf ./$(DEPDIR) -+ -rm -f Makefile -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-am -+ -+mostlyclean-am: mostlyclean-compile mostlyclean-generic \ -+ mostlyclean-libtool -+ -+pdf: pdf-am -+ -+pdf-am: -+ -+ps: ps-am -+ -+ps-am: -+ -+uninstall-am: -+ -+.MAKE: install-am install-strip -+ -+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ -+ clean-libtool clean-noinstLTLIBRARIES ctags distclean \ -+ distclean-compile distclean-generic distclean-libtool \ -+ distclean-tags distdir dvi dvi-am html html-am info info-am \ -+ install install-am install-data install-data-am install-dvi \ -+ install-dvi-am install-exec install-exec-am install-html \ -+ install-html-am install-info install-info-am install-man \ -+ install-pdf install-pdf-am install-ps install-ps-am \ -+ install-strip installcheck installcheck-am installdirs \ -+ maintainer-clean maintainer-clean-generic mostlyclean \ -+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ -+ pdf pdf-am ps ps-am tags uninstall uninstall-am -+ -+# Tell versions [3.59,3.63) of GNU make to not export all variables. -+# Otherwise a system limit (for SysV at least) may be exceeded. -+.NOEXPORT: -diff -urpN jamvm-1.5.0/src/os/linux/Makefile.am jamvm-1.5.0-avr32/src/os/linux/Makefile.am ---- jamvm-1.5.0/src/os/linux/Makefile.am 2007-10-28 00:19:26.000000000 +0200 -+++ jamvm-1.5.0-avr32/src/os/linux/Makefile.am 2008-02-08 09:20:38.000000000 +0100 -@@ -20,7 +20,7 @@ - ## - - SUBDIRS = @arch@ --DIST_SUBDIRS = powerpc arm i386 x86_64 parisc mips -+DIST_SUBDIRS = powerpc arm i386 x86_64 parisc mips avr32 - - noinst_LTLIBRARIES = libos.la - libos_la_SOURCES = os.c -diff -urpN jamvm-1.5.0/src/os/linux/Makefile.in jamvm-1.5.0-avr32/src/os/linux/Makefile.in ---- jamvm-1.5.0/src/os/linux/Makefile.in 2007-10-29 07:02:37.000000000 +0100 -+++ jamvm-1.5.0-avr32/src/os/linux/Makefile.in 2008-02-08 09:20:38.000000000 +0100 -@@ -191,7 +191,7 @@ use_zip_no = @use_zip_no@ - use_zip_yes = @use_zip_yes@ - with_classpath_install_dir = @with_classpath_install_dir@ - SUBDIRS = @arch@ --DIST_SUBDIRS = powerpc arm i386 x86_64 parisc mips -+DIST_SUBDIRS = powerpc arm i386 x86_64 parisc mips avr32 - noinst_LTLIBRARIES = libos.la - libos_la_SOURCES = os.c - AM_CPPFLAGS = -I$(top_builddir)/src diff --git a/package/java/jamvm/jamvm.mk b/package/java/jamvm/jamvm.mk deleted file mode 100644 index 4b2e32c..0000000 --- a/package/java/jamvm/jamvm.mk +++ /dev/null @@ -1,93 +0,0 @@ -############################################################# -# -# jamvm 1.5.0 -# -############################################################# -JAMVM_VERSION = 1.5.0 -JAMVM_SOURCE = jamvm-$(JAMVM_VERSION).tar.gz -JAMVM_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/jamvm/ -JAMVM_AUTORECONF = NO -JAMVM_INSTALL_STAGING = YES -JAMVM_INSTALL_TARGET = YES - -JAMVM_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \ - glib_cv_uscore=no ac_cv_func_strtod=yes \ - ac_fsusage_space=yes fu_cv_sys_stat_statfs2_bsize=yes \ - ac_cv_func_closedir_void=no ac_cv_func_getloadavg=no \ - ac_cv_lib_util_getloadavg=no ac_cv_lib_getloadavg_getloadavg=no \ - ac_cv_func_getgroups=yes ac_cv_func_getgroups_works=yes \ - ac_cv_func_chown_works=yes ac_cv_have_decl_euidaccess=no \ - ac_cv_func_euidaccess=no ac_cv_have_decl_strnlen=yes \ - ac_cv_func_strnlen_working=yes ac_cv_func_lstat_dereferences_slashed_symlink=yes \ - ac_cv_func_lstat_empty_string_bug=no ac_cv_func_stat_empty_string_bug=no \ - vb_cv_func_rename_trailing_slash_bug=no ac_cv_have_decl_nanosleep=yes \ - jm_cv_func_nanosleep_works=yes gl_cv_func_working_utimes=yes \ - ac_cv_func_utime_null=yes ac_cv_have_decl_strerror_r=yes \ - ac_cv_func_strerror_r_char_p=no jm_cv_func_svid_putenv=yes \ - ac_cv_func_getcwd_null=yes ac_cv_func_getdelim=yes \ - ac_cv_func_mkstemp=yes utils_cv_func_mkstemp_limitations=no \ - utils_cv_func_mkdir_trailing_slash_bug=no \ - jm_cv_func_gettimeofday_clobber=no \ - gl_cv_func_working_readdir=yes jm_ac_cv_func_link_follows_symlink=no \ - utils_cv_localtime_cache=no ac_cv_struct_st_mtim_nsec=no \ - gl_cv_func_tzset_clobber=no gl_cv_func_getcwd_null=yes \ - gl_cv_func_getcwd_path_max=yes ac_cv_func_fnmatch_gnu=yes \ - am_getline_needs_run_time_check=no am_cv_func_working_getline=yes \ - gl_cv_func_mkdir_trailing_slash_bug=no gl_cv_func_mkstemp_limitations=no \ - ac_cv_func_working_mktime=yes jm_cv_func_working_re_compile_pattern=yes \ - ac_use_included_regex=no gl_cv_c_restrict=no \ - ac_cv_prog_F77=no ac_cv_prog_CXX=no ac_cv_path_CUPS_CONFIG=no - -JAMVM_CONF_OPT = \ - --libexecdir=/usr/lib --localstatedir=/var --mandir=/usr/man \ - --infodir=/usr/info \ - --disable-glibtest --enable-explicit-deps=no \ - --disable-debug --with-classpath-install-dir=/usr - - -JAMVM_DEPENDENCIES = host-pkg-config classpath - -#Include X libraries when we have an X server -ifeq ($(BR2_PACKAGE_XORG7),y) - JAMVM_DEPENDENCIES+= xserver_xorg-server - JAMVM_CONF_OPT+= --with-x \ - --x-includes=$(STAGING_DIR)/usr/include/X11 \ - --x-libraries=$(STAGING_DIR)/usr/lib -else - JAMVM_CONF_OPT+= --without-x -endif - - -#Enable or disable alsa -ifeq ($(BR2_PACKAGE_ALSA_LIB),y) - JAMVM_DEPENDENCIES+= alsa-lib - JAMVM_CONF_OPT+= --with-alsa -else - JAMVM_CONF_OPT+= --without-alsa -endif - -#Enable or disable gtk -ifeq ($(BR2_PACKAGE_LIBGTK2),y) - JAMVM_DEPENDENCIES+= libgtk2 - JAMVM_CONF_OPT+= --enable-gtk-peer -else - JAMVM_CONF_OPT+= --disable-gtk-peer -endif - -#Enable or disable qt backend -ifeq ($(BR2_PACKAGE_QT),y) - JAMVM_DEPENDENCIES+= qt - JAMVM_CONF_OPT+= --enable-qt-peer -else - JAMVM_CONF_OPT+= --disable-qt-peer -endif - - -# I have no clue but if this is not passed to configure, the assembler crashes -ifeq ($(BR2_avr32),y) - JAMVM_CONF_OPT+= \ - CFLAGS="-g0" \ - CC="$(STAGING_DIR)/usr/bin/avr32-linux-gcc" -endif - -$(eval $(call AUTOTARGETS)) diff --git a/package/java/java.mk b/package/java/java.mk deleted file mode 100644 index 123a0d0..0000000 --- a/package/java/java.mk +++ /dev/null @@ -1 +0,0 @@ -include package/java/*/*.mk diff --git a/package/jpeg/jpeg.mk b/package/jpeg/jpeg.mk index bac5f3e..a882268 100644 --- a/package/jpeg/jpeg.mk +++ b/package/jpeg/jpeg.mk @@ -3,7 +3,7 @@ # jpeg (libraries needed by some apps) # ############################################################# -JPEG_VERSION = 8c +JPEG_VERSION = 8d JPEG_SITE = http://www.ijg.org/files/ JPEG_SOURCE = jpegsrc.v$(JPEG_VERSION).tar.gz JPEG_INSTALL_STAGING = YES @@ -16,3 +16,4 @@ endef JPEG_POST_INSTALL_TARGET_HOOKS += JPEG_REMOVE_USELESS_TOOLS $(eval $(call AUTOTARGETS)) +$(eval $(call AUTOTARGETS,host)) diff --git a/package/jquery-sparkline/Config.in b/package/jquery-sparkline/Config.in new file mode 100644 index 0000000..ae66364 --- /dev/null +++ b/package/jquery-sparkline/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_JQUERY_SPARKLINE + bool "jQuery-Sparkline" + select BR2_PACKAGE_JQUERY + help + This jQuery plugin generates sparklines (small inline + charts) directly in the browser using data supplied either + inline in the HTML, or via javascript. + + The plugin is compatible with most modern browsers and has + been tested with Firefox 2+, Safari 3+, Opera 9, Google + Chrome and Internet Explorer 6, 7 & 8. + + http://www.omnipotent.net/jquery.sparkline/ diff --git a/package/jquery-sparkline/jquery-sparkline.mk b/package/jquery-sparkline/jquery-sparkline.mk new file mode 100644 index 0000000..d0b478a --- /dev/null +++ b/package/jquery-sparkline/jquery-sparkline.mk @@ -0,0 +1,18 @@ +JQUERY_SPARKLINE_VERSION = 1.6 +JQUERY_SPARKLINE_SITE = http://www.omnipotent.net/jquery.sparkline/$(JQUERY_SPARKLINE_VERSION) +JQUERY_SPARKLINE_SOURCE = jquery.sparkline.min.js + +define JQUERY_SPARKLINE_EXTRACT_CMDS + cp $(DL_DIR)/$(JQUERY_SPARKLINE_SOURCE) $(@D) +endef + +define JQUERY_SPARKLINE_INSTALL_TARGET_CMDS + $(INSTALL) -m 0644 -D $(@D)/$(JQUERY_SPARKLINE_SOURCE) \ + $(TARGET_DIR)/var/www/jquery.sparkline.js +endef + +define JQUERY_SPARKLINE_UNINSTALL_TARGET_CMDS + rm -f $(TARGET_DIR)/var/www/jquery.sparkline.js +endef + +$(eval $(call GENTARGETS)) diff --git a/package/jquery-validation/Config.in b/package/jquery-validation/Config.in new file mode 100644 index 0000000..2a764c1 --- /dev/null +++ b/package/jquery-validation/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_JQUERY_VALIDATION + bool "jQuery-Validation" + select BR2_PACKAGE_JQUERY + help + The jQuery Validation Plugin provides drop-in validation for + your existing forms, while making all kinds of + customizations to fit your application really easy. + + http://bassistance.de/jquery-plugins/jquery-plugin-validation/ diff --git a/package/jquery-validation/jquery-validation.mk b/package/jquery-validation/jquery-validation.mk new file mode 100644 index 0000000..5fee4c1 --- /dev/null +++ b/package/jquery-validation/jquery-validation.mk @@ -0,0 +1,18 @@ +JQUERY_VALIDATION_VERSION = 1.9.0 +JQUERY_VALIDATION_SITE = http://jquery.bassistance.de/validate +JQUERY_VALIDATION_SOURCE = jquery-validation-$(JQUERY_VALIDATION_VERSION).zip + +define JQUERY_VALIDATION_EXTRACT_CMDS + unzip -d $(BUILD_DIR) $(DL_DIR)/$(JQUERY_VALIDATION_SOURCE) +endef + +define JQUERY_VALIDATION_INSTALL_TARGET_CMDS + $(INSTALL) -m 0644 -D $(@D)/jquery.validate.min.js \ + $(TARGET_DIR)/var/www/jquery.validate.js +endef + +define JQUERY_VALIDATION_UNINSTALL_TARGET_CMDS + rm -f $(TARGET_DIR)/var/www/jquery.validate.js +endef + +$(eval $(call GENTARGETS)) diff --git a/package/jquery/Config.in b/package/jquery/Config.in new file mode 100644 index 0000000..92f5604 --- /dev/null +++ b/package/jquery/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_JQUERY + bool "jQuery" + help + jQuery is a fast and concise JavaScript Library that + simplifies HTML document traversing, event handling, + animating, and Ajax interactions for rapid web development. + + http://jquery.com diff --git a/package/jquery/jquery.mk b/package/jquery/jquery.mk new file mode 100644 index 0000000..08dd4a3 --- /dev/null +++ b/package/jquery/jquery.mk @@ -0,0 +1,18 @@ +JQUERY_VERSION = 1.7.1 +JQUERY_SITE = http://code.jquery.com +JQUERY_SOURCE = jquery-$(JQUERY_VERSION).min.js + +define JQUERY_EXTRACT_CMDS + cp $(DL_DIR)/$(JQUERY_SOURCE) $(@D) +endef + +define JQUERY_INSTALL_TARGET_CMDS + $(INSTALL) -m 0644 -D $(@D)/$(JQUERY_SOURCE) \ + $(TARGET_DIR)/var/www/jquery.js +endef + +define JQUERY_UNINSTALL_TARGET_CMDS + rm -f $(TARGET_DIR)/var/www/jquery.js +endef + +$(eval $(call GENTARGETS)) diff --git a/package/jsmin/Config.in b/package/jsmin/Config.in new file mode 100644 index 0000000..d0948b8 --- /dev/null +++ b/package/jsmin/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_JSMIN + bool "jsmin" + help + JSMin is a filter which removes comments and unnecessary + whitespace from JavaScript files. It typically reduces + filesize by half, resulting in faster downloads. It also + encourages a more expressive programming style because it + eliminates the download cost of clean, literate + self-documentation. + + http://www.crockford.com/javascript/jsmin.html diff --git a/package/jsmin/jsmin.mk b/package/jsmin/jsmin.mk new file mode 100644 index 0000000..491bb3e --- /dev/null +++ b/package/jsmin/jsmin.mk @@ -0,0 +1,25 @@ +JSMIN_VERSION = a9b47554d5684a55301a2eb7ca8480b7ee7630d4 +JSMIN_SITE = git://github.com/douglascrockford/JSMin.git + +define JSMIN_BUILD_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) jsmin +endef + +define JSMIN_INSTALL_TARGET_CMDS + $(INSTALL) -m 0755 -D $(@D)/jsmin $(TARGET_DIR)/usr/bin/jsmin +endef + +define JSMIN_UNINSTALL_TARGET_CMDS + rm -f $(TARGET_DIR)/usr/bin/jsmin +endef + +define HOST_JSMIN_BUILD_CMDS + $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) jsmin +endef + +define HOST_JSMIN_INSTALL_CMDS + $(INSTALL) -m 0755 -D $(@D)/jsmin $(HOST_DIR)/usr/bin/jsmin +endef + +$(eval $(call GENTARGETS)) +$(eval $(call GENTARGETS,host)) diff --git a/package/kismet/kismet-libnl-30-support.patch b/package/kismet/kismet-libnl-30-support.patch index cf3c845..dca6151 100644 --- a/package/kismet/kismet-libnl-30-support.patch +++ b/package/kismet/kismet-libnl-30-support.patch @@ -35,7 +35,7 @@ Index: b/configure libnl20_CFLAGS C compiler flags for libnl20, overriding pkg-config libnl20_LIBS -@@ -6760,6 +6768,75 @@ +@@ -6760,6 +6768,76 @@ fi fi @@ -103,6 +103,7 @@ Index: b/configure + libnl30_CFLAGS=$pkg_cv_libnl30_CFLAGS + libnl30_LIBS=$pkg_cv_libnl30_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++ CPPFLAGS="$CPPFLAGS $libnl30_CFLAGS" +$as_echo "yes" >&6; } + libnl30=yes +fi @@ -111,13 +112,17 @@ Index: b/configure pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libnl20" >&5 $as_echo_n "checking for libnl20... " >&6; } -@@ -6897,7 +6974,7 @@ +@@ -6897,7 +6974,11 @@ $as_echo "yes" >&6; } libnl1=yes fi - if test "$libnl20" = "yes"; then -+ if test "$libnl20" = "yes" -o "$libnl30" = "yes"; then - ++ if test "$libnl30" = "yes"; then ++$as_echo "#define HAVE_LIBNL 1" >>confdefs.h ++$as_echo "#define HAVE_LIBNL20 1" >>confdefs.h ++ NLLIBS="-lnl-genl-3 -lnl-3" ++ elif test "$libnl20" = "yes"; then + $as_echo "#define HAVE_LIBNL 1" >>confdefs.h diff --git a/package/kismet/kismet.mk b/package/kismet/kismet.mk index 4c7d6e2..854c9dd 100644 --- a/package/kismet/kismet.mk +++ b/package/kismet/kismet.mk @@ -10,6 +10,7 @@ KISMET_DEPENDENCIES = libpcap ncurses ifeq ($(BR2_PACKAGE_LIBNL),y) KISMET_DEPENDENCIES += libnl + KISMET_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/libnl3/" endif ifeq ($(BR2_PACKAGE_PCRE),y) KISMET_DEPENDENCIES += pcre diff --git a/package/kmod/Config.in b/package/kmod/Config.in new file mode 100644 index 0000000..f83237e --- /dev/null +++ b/package/kmod/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_KMOD + bool "kmod" + help + handle kernel modules + + http://git.profusion.mobi/cgit.cgi/kmod.git/ + diff --git a/package/kmod/kmod.mk b/package/kmod/kmod.mk new file mode 100644 index 0000000..acf5f0a --- /dev/null +++ b/package/kmod/kmod.mk @@ -0,0 +1,7 @@ +KMOD_VERSION = 5 +KMOD_SOURCE = kmod-$(KMOD_VERSION).tar.xz +KMOD_SITE = http://packages.profusion.mobi/kmod/ +KMOD_INSTALL_STAGING = YES +KMOD_DEPENDENCIES = host-pkg-config + +$(eval $(call AUTOTARGETS)) diff --git a/package/libcap/libcap-2.20-build-system.patch b/package/libcap/libcap-2.22-build-system.patch similarity index 74% rename from package/libcap/libcap-2.20-build-system.patch rename to package/libcap/libcap-2.22-build-system.patch index 397aff2..8915a69 100644 --- a/package/libcap/libcap-2.20-build-system.patch +++ b/package/libcap/libcap-2.22-build-system.patch @@ -3,21 +3,33 @@ Also install the shared lib +x Signed-off-by: Gustavo Zacarias -diff -Nura libcap-2.20/Make.Rules libcap-2.20-build/Make.Rules ---- libcap-2.20/Make.Rules 2011-01-19 02:06:44.000000000 -0300 -+++ libcap-2.20-build/Make.Rules 2011-04-19 14:07:53.544903094 -0300 +diff -Nura libcap-2.22.orig/libcap/Makefile libcap-2.22/libcap/Makefile +--- libcap-2.22.orig/libcap/Makefile 2010-08-08 19:26:04.000000000 -0300 ++++ libcap-2.22/libcap/Makefile 2011-12-14 11:33:51.761800334 -0300 +@@ -65,7 +65,7 @@ + install -m 0644 include/sys/capability.h $(INCDIR)/sys + mkdir -p -m 0755 $(LIBDIR) + install -m 0644 $(STALIBNAME) $(LIBDIR)/$(STALIBNAME) +- install -m 0644 $(MINLIBNAME) $(LIBDIR)/$(MINLIBNAME) ++ install -m 0755 $(MINLIBNAME) $(LIBDIR)/$(MINLIBNAME) + ln -sf $(MINLIBNAME) $(LIBDIR)/$(MAJLIBNAME) + ln -sf $(MAJLIBNAME) $(LIBDIR)/$(LIBNAME) + ifeq ($(FAKEROOT),) +diff -Nura libcap-2.22.orig/Make.Rules libcap-2.22/Make.Rules +--- libcap-2.22.orig/Make.Rules 2011-07-24 23:18:23.000000000 -0300 ++++ libcap-2.22/Make.Rules 2011-12-14 11:33:28.707278685 -0300 @@ -47,25 +47,25 @@ KERNEL_HEADERS := $(topdir)/libcap/include IPATH += -fPIC -I$(topdir)/libcap/include -I$(KERNEL_HEADERS) -CC := gcc --CFLAGS := -O2 +-CFLAGS := -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -BUILD_CC := $(CC) -BUILD_CFLAGS := $(CFLAGS) $(IPATH) -AR := ar -RANLIB := ranlib +CC ?= gcc -+CFLAGS ?= -O2 ++CFLAGS ?= -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 +BUILD_CC ?= $(CC) +BUILD_CFLAGS ?= $(CFLAGS) $(IPATH) +AR ?= ar @@ -40,15 +52,3 @@ diff -Nura libcap-2.20/Make.Rules libcap-2.20-build/Make.Rules INDENT := $(shell if [ -n "$(which indent 2>/dev/null)" ]; then echo "| indent -kr" ; fi) DYNAMIC := $(shell if [ ! -d "$(topdir)/.git" ]; then echo yes; fi) LIBATTR := yes -diff -Nura libcap-2.20/libcap/Makefile libcap-2.20-build/libcap/Makefile ---- libcap-2.20/libcap/Makefile 2010-08-08 19:26:04.000000000 -0300 -+++ libcap-2.20-build/libcap/Makefile 2011-04-19 14:08:29.377146094 -0300 -@@ -65,7 +65,7 @@ - install -m 0644 include/sys/capability.h $(INCDIR)/sys - mkdir -p -m 0755 $(LIBDIR) - install -m 0644 $(STALIBNAME) $(LIBDIR)/$(STALIBNAME) -- install -m 0644 $(MINLIBNAME) $(LIBDIR)/$(MINLIBNAME) -+ install -m 0755 $(MINLIBNAME) $(LIBDIR)/$(MINLIBNAME) - ln -sf $(MINLIBNAME) $(LIBDIR)/$(MAJLIBNAME) - ln -sf $(MAJLIBNAME) $(LIBDIR)/$(LIBNAME) - ifeq ($(FAKEROOT),) diff --git a/package/libcap/libcap.mk b/package/libcap/libcap.mk index a7b33a0..4683121 100644 --- a/package/libcap/libcap.mk +++ b/package/libcap/libcap.mk @@ -4,9 +4,13 @@ # ############################################################# -LIBCAP_VERSION = 2.20 -LIBCAP_SITE = http://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2 +LIBCAP_VERSION = 2.22 +# Until kernel.org is completely back up use debian mirror +#LIBCAP_SITE = http://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2 +LIBCAP_SITE = $(BR2_DEBIAN_MIRROR)/debian/pool/main/libc/libcap2 +LIBCAP_SOURCE = libcap2_$(LIBCAP_VERSION).orig.tar.gz LIBCAP_DEPENDENCIES = host-libcap +HOST_LIBCAP_DEPENDENCIES = LIBCAP_INSTALL_STAGING = YES define LIBCAP_BUILD_CMDS diff --git a/package/libcgi/libcgi.mk b/package/libcgi/libcgi.mk index 5867ff9..5a52fa6 100644 --- a/package/libcgi/libcgi.mk +++ b/package/libcgi/libcgi.mk @@ -3,9 +3,11 @@ # libcgi # ############################################################# -LIBCGI_VERSION:=1.0 -LIBCGI_SOURCE:=libcgi-$(LIBCGI_VERSION).tar.gz -LIBCGI_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/libcgi -LIBCGI_INSTALL_STAGING=YES + +LIBCGI_VERSION = 1.0 +LIBCGI_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/libcgi +LIBCGI_INSTALL_STAGING = YES +# use cross CC/AR rather than host +LIBCGI_MAKE_ENV = CC="$(TARGET_CC) $(TARGET_CFLAGS)" AR="$(TARGET_AR)" $(eval $(call AUTOTARGETS)) diff --git a/package/libeXosip2/libeXosip2-fix-non-ipv6-build.patch b/package/libeXosip2/libeXosip2-fix-non-ipv6-build.patch new file mode 100644 index 0000000..bec833f --- /dev/null +++ b/package/libeXosip2/libeXosip2-fix-non-ipv6-build.patch @@ -0,0 +1,22 @@ +[PATCH] Fix build on systems without IPV6_TCLASS support + +The wrong variable name was used. + +Signed-off-by: Peter Korsgaard +--- + src/eXtl_udp.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: libeXosip2-3.6.0/src/eXtl_udp.c +=================================================================== +--- libeXosip2-3.6.0.orig/src/eXtl_udp.c ++++ libeXosip2-3.6.0/src/eXtl_udp.c +@@ -178,7 +178,7 @@ + res = setsockopt(udp_socket, IPPROTO_IPV6, IPV6_TCLASS, + (SOCKET_OPTION_VALUE)&tos, sizeof(tos)); + #else +- retval = setsockopt(udp_socket, IPPROTO_IPV6, IP_TOS, ++ res = setsockopt(udp_socket, IPPROTO_IPV6, IP_TOS, + (SOCKET_OPTION_VALUE)&tos, sizeof(tos)); + #endif + } diff --git a/package/libeXosip2/libeXosip2.mk b/package/libeXosip2/libeXosip2.mk index 69fdca3..4b778a9 100644 --- a/package/libeXosip2/libeXosip2.mk +++ b/package/libeXosip2/libeXosip2.mk @@ -3,26 +3,19 @@ # libeXosip2 # ############################################################# -LIBEXOSIP2_VERSION = 3.3.0 -LIBEXOSIP2_SOURCE = libexosip2_$(LIBEXOSIP2_VERSION).orig.tar.gz -LIBEXOSIP2_PATCH = libexosip2_$(LIBEXOSIP2_VERSION)-1.diff.gz -LIBEXOSIP2_SITE = $(BR2_DEBIAN_MIRROR)/debian/pool/main/libe/libexosip2 + +LIBEXOSIP2_VERSION = 3.6.0 +LIBEXOSIP2_SOURCE = libeXosip2-$(LIBEXOSIP2_VERSION).tar.gz +LIBEXOSIP2_SITE = http://download.savannah.gnu.org/releases/exosip/ LIBEXOSIP2_INSTALL_STAGING = YES LIBEXOSIP2_DEPENDENCIES = host-pkg-config libosip2 -ifneq ($(LIBEXOSIP2_PATCH),) -define LIBEXOSIP2_DEBIAN_PATCHES - if [ -d $(@D)/debian/patches ]; then \ - (cd $(@D)/debian/patches && for i in *; \ - do $(SED) 's,^\+\+\+ .*cvs-$(LIBEXOSIP2_VERSION)/,+++ cvs-$(LIBEXOSIP2_VERSION)/,' $$i; \ - done; \ - ); \ - support/scripts/apply-patches.sh $(@D) $(@D)/debian/patches \*; \ - fi -endef +ifeq ($(BR2_PACKAGE_OPENSSL),y) +LIBEXOSIP2_DEPENDENCIES += openssl +LIBEXOSIP2_CONF_OPT += --enable-openssl +else +LIBEXOSIP2_CONF_OPT += --disable-openssl endif -LIBEXOSIP2_POST_PATCH_HOOKS += LIBEXOSIP2_DEBIAN_PATCHES - $(eval $(call AUTOTARGETS)) diff --git a/package/libesmtp/Config.in b/package/libesmtp/Config.in new file mode 100644 index 0000000..4e9e455 --- /dev/null +++ b/package/libesmtp/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_LIBESMTP + bool "libesmtp" + help + Library for sending emails through SMTP. + + http://www.stafford.uklinux.net/libesmtp diff --git a/package/libesmtp/libesmtp.mk b/package/libesmtp/libesmtp.mk new file mode 100644 index 0000000..f9be7cc --- /dev/null +++ b/package/libesmtp/libesmtp.mk @@ -0,0 +1,13 @@ +############################################################# +# +# libesmtp +# +############################################################# +LIBESMTP_VERSION = 1.0.6 +LIBESMTP_SOURCE = libesmtp-$(LIBESMTP_VERSION).tar.bz2 +LIBESMTP_SITE = http://www.stafford.uklinux.net/libesmtp +LIBESMTP_INSTALL_STAGING = YES + +LIBESMTP_DEPENDENCIES = $(if $(BR2_PACKAGE_OPENSSL),openssl) + +$(eval $(call AUTOTARGETS)) diff --git a/package/libev/libev.mk b/package/libev/libev.mk index 8beaa8e..6656d15 100644 --- a/package/libev/libev.mk +++ b/package/libev/libev.mk @@ -3,7 +3,7 @@ # libev # ############################################################# -LIBEV_VERSION = 4.04 +LIBEV_VERSION = 4.11 LIBEV_SOURCE = libev-$(LIBEV_VERSION).tar.gz LIBEV_SITE = http://dist.schmorp.de/libev/ LIBEV_INSTALL_STAGING = YES diff --git a/package/libffi/libffi.mk b/package/libffi/libffi.mk index 660a034..e9e87ef 100644 --- a/package/libffi/libffi.mk +++ b/package/libffi/libffi.mk @@ -13,7 +13,8 @@ LIBFFI_INSTALL_STAGING = YES # accordingly define LIBFFI_MOVE_STAGING_HEADERS mv $(STAGING_DIR)/usr/lib/libffi-*/include/*.h $(STAGING_DIR)/usr/include/ - sed -i '/^includedir.*/d' $(STAGING_DIR)/usr/lib/pkgconfig/libffi.pc + $(SED) '/^includedir.*/d' $(STAGING_DIR)/usr/lib/pkgconfig/libffi.pc + $(SED) '/^Cflags:.*/d' $(STAGING_DIR)/usr/lib/pkgconfig/libffi.pc rm -rf $(TARGET_DIR)/usr/lib/libffi-* endef @@ -23,11 +24,13 @@ LIBFFI_POST_INSTALL_STAGING_HOOKS += LIBFFI_MOVE_STAGING_HEADERS define LIBFFI_MOVE_TARGET_HEADERS install -d $(TARGET_DIR)/usr/include/ mv $(TARGET_DIR)/usr/lib/libffi-*/include/*.h $(TARGET_DIR)/usr/include/ - sed -i '/^includedir.*/d' $(TARGET_DIR)/usr/lib/pkgconfig/libffi.pc + $(SED) '/^includedir.*/d' $(STAGING_DIR)/usr/lib/pkgconfig/libffi.pc + $(SED) '/^Cflags:.*/d' $(STAGING_DIR)/usr/lib/pkgconfig/libffi.pc rm -rf $(TARGET_DIR)/usr/lib/libffi-* endef LIBFFI_POST_INSTALL_TARGET_HOOKS += LIBFFI_MOVE_TARGET_HEADERS $(eval $(call AUTOTARGETS)) +$(eval $(call AUTOTARGETS,host)) diff --git a/package/libftdi/libftdi.mk b/package/libftdi/libftdi.mk index 55481d9..d84fc32 100644 --- a/package/libftdi/libftdi.mk +++ b/package/libftdi/libftdi.mk @@ -21,3 +21,4 @@ LIBFDTI_CONF_OPT += --disable-libftdipp endif $(eval $(call AUTOTARGETS)) +$(eval $(call AUTOTARGETS,host)) diff --git a/package/libgpg-error/libgpg-error.mk b/package/libgpg-error/libgpg-error.mk index 45a348e..1b78b17 100644 --- a/package/libgpg-error/libgpg-error.mk +++ b/package/libgpg-error/libgpg-error.mk @@ -3,10 +3,9 @@ # libgpg-error # ############################################################# -LIBGPG_ERROR_VERSION:=1.8 -LIBGPG_ERROR_SOURCE:=libgpg-error-$(LIBGPG_ERROR_VERSION).tar.bz2 -LIBGPG_ERROR_SITE:=ftp://gd.tuwien.ac.at/privacy/gnupg/libgpg-error +LIBGPG_ERROR_VERSION = 1.10 +LIBGPG_ERROR_SITE = ftp://ftp.gnupg.org/gcrypt/libgpg-error LIBGPG_ERROR_INSTALL_STAGING = YES $(eval $(call AUTOTARGETS)) diff --git a/package/libgtk2/host-libgtk2-2.20.1-reduce-dependencies.patch b/package/libgtk2/host-libgtk2-reduce-dependencies.patch similarity index 94% rename from package/libgtk2/host-libgtk2-2.20.1-reduce-dependencies.patch rename to package/libgtk2/host-libgtk2-reduce-dependencies.patch index 49acf75..091eeb0 100644 --- a/package/libgtk2/host-libgtk2-2.20.1-reduce-dependencies.patch +++ b/package/libgtk2/host-libgtk2-reduce-dependencies.patch @@ -8,11 +8,11 @@ Signed-off-by: Thomas Petazzoni configure.in | 101 ++--------------------------------------------------------- 1 file changed, 4 insertions(+), 97 deletions(-) -Index: gtk+-2.22.0/configure.in +Index: gtk+-2.24.8/configure.in =================================================================== ---- gtk+-2.22.0.orig/configure.in -+++ gtk+-2.22.0/configure.in -@@ -258,12 +258,12 @@ +--- gtk+-2.24.8.orig/configure.in ++++ gtk+-2.24.8/configure.in +@@ -259,12 +259,12 @@ gdktarget=x11 fi @@ -27,7 +27,7 @@ Index: gtk+-2.22.0/configure.in *) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz, directfb or win32.]);; esac -@@ -373,9 +373,6 @@ +@@ -374,9 +374,6 @@ ## annoying to construct PKG_CHECK_MODULES(BASE_DEPENDENCIES, [glib-2.0 >= glib_required_version dnl @@ -37,7 +37,7 @@ Index: gtk+-2.22.0/configure.in gdk-pixbuf-2.0 >= gdk_pixbuf_required_version]) ## In addition to checking that cairo is present, we also need to -@@ -388,8 +385,6 @@ +@@ -389,8 +386,6 @@ if test "x$cairo_backend" = "xx11"; then cairo_backend=xlib fi @@ -46,7 +46,7 @@ Index: gtk+-2.22.0/configure.in if test "$os_win32" != yes; then # libtool option to control which symbols are exported -@@ -1270,50 +1265,6 @@ +@@ -1280,50 +1275,6 @@ fi @@ -94,10 +94,10 @@ Index: gtk+-2.22.0/configure.in - GDK_PACKAGES="$PANGO_PACKAGES gio-2.0 gdk-pixbuf-2.0 cairo-$cairo_backend" -fi - - GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PACKAGES`" + GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PACKAGES` $MATH_LIB" GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PACKAGES` $GDK_EXTRA_CFLAGS" # -@@ -1321,7 +1272,7 @@ +@@ -1331,7 +1282,7 @@ # into the pkg-config files # if test $enable_explicit_deps != yes ; then @@ -106,7 +106,7 @@ Index: gtk+-2.22.0/configure.in GDK_EXTRA_LIBS= fi -@@ -1331,37 +1282,7 @@ +@@ -1341,37 +1292,7 @@ AC_SUBST(GDK_DEP_LIBS) AC_SUBST(GDK_DEP_CFLAGS) @@ -145,7 +145,7 @@ Index: gtk+-2.22.0/configure.in if test "x$gdktarget" = "xx11"; then GTK_PACKAGES="$GTK_PACKAGES pangoft2" fi -@@ -1517,20 +1438,6 @@ +@@ -1527,20 +1448,6 @@ gtk_save_cppflags="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS $GDK_DEP_CFLAGS" diff --git a/package/libgtk2/libgtk2.mk b/package/libgtk2/libgtk2.mk index 9a8c2bb..cfdc8f9 100644 --- a/package/libgtk2/libgtk2.mk +++ b/package/libgtk2/libgtk2.mk @@ -3,11 +3,11 @@ # libgtk2.0 # ############################################################# -LIBGTK2_VERSION_MAJOR:=2.24 -LIBGTK2_VERSION_MINOR:=4 +LIBGTK2_VERSION_MAJOR = 2.24 +LIBGTK2_VERSION_MINOR = 9 LIBGTK2_VERSION = $(LIBGTK2_VERSION_MAJOR).$(LIBGTK2_VERSION_MINOR) -LIBGTK2_SOURCE = gtk+-$(LIBGTK2_VERSION).tar.bz2 +LIBGTK2_SOURCE = gtk+-$(LIBGTK2_VERSION).tar.xz LIBGTK2_SITE = http://ftp.gnome.org/pub/gnome/sources/gtk+/$(LIBGTK2_VERSION_MAJOR) LIBGTK2_AUTORECONF = NO LIBGTK2_INSTALL_STAGING = YES diff --git a/package/libical/Config.in b/package/libical/Config.in new file mode 100644 index 0000000..5907548 --- /dev/null +++ b/package/libical/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_LIBICAL + bool "libical" + depends on BR2_USE_WCHAR + help + libical is an Open Source (MPL/LGPL) implementation of the IETF's + iCalendar Calendaring and Scheduling protocols. + + http://www.citadel.org/doku.php/documentation:featured_projects:libical + +comment "libical requires a toolchain with WCHAR support" + depends on !BR2_USE_WCHAR diff --git a/package/libical/libical.mk b/package/libical/libical.mk new file mode 100644 index 0000000..ee251eb --- /dev/null +++ b/package/libical/libical.mk @@ -0,0 +1,12 @@ +############################################################# +# +# libical +# +############################################################# + +LIBICAL_VERSION = 0.48 +LIBICAL_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/freeassociation/libical/libical-$(LIBICAL_VERSION) +LIBICAL_INSTALL_STAGING = YES + +$(eval $(call AUTOTARGETS)) + diff --git a/package/libidn/libidn.mk b/package/libidn/libidn.mk index 4708862..935240b 100644 --- a/package/libidn/libidn.mk +++ b/package/libidn/libidn.mk @@ -4,8 +4,8 @@ # ############################################################# -LIBIDN_VERSION = 1.19 -LIBIDN_SITE = http://ftp.gnu.org/gnu/libidn/ +LIBIDN_VERSION = 1.24 +LIBIDN_SITE = $(BR2_GNU_MIRROR)/libidn LIBIDN_INSTALL_STAGING = YES LIBIDN_CONF_ENV = EMACS="no" LIBIDN_CONF_OPT = --disable-java --enable-csharp=no diff --git a/package/libmbus/Config.in b/package/libmbus/Config.in new file mode 100644 index 0000000..1e2a8de --- /dev/null +++ b/package/libmbus/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_LIBMBUS + bool "libmbus" + help + libmbus is a library for communicating with energy metering devices. + It supports TCP and RS232 M-bus gateways. + (M-bus standard: http://www.m-bus.com/) + + http://www.freescada.com/libmbus diff --git a/package/libmbus/libmbus.mk b/package/libmbus/libmbus.mk new file mode 100644 index 0000000..9abb2bf --- /dev/null +++ b/package/libmbus/libmbus.mk @@ -0,0 +1,15 @@ +############################################################# +# +# libmbus +# +############################################################# + +LIBMBUS_VERSION = 0.6.1 +LIBMBUS_SITE = http://www.freescada.com/public-dist/ +LIBMBUS_INSTALL_STAGING = YES + +# Without this the build yields an error: +# cannot find input file: `test/Makefile.in' +LIBMBUS_AUTORECONF = YES + +$(eval $(call AUTOTARGETS)) diff --git a/package/libmnl/libmnl.mk b/package/libmnl/libmnl.mk index 6871034..407ca52 100644 --- a/package/libmnl/libmnl.mk +++ b/package/libmnl/libmnl.mk @@ -4,7 +4,7 @@ # ############################################################# -LIBMNL_VERSION = 1.0.1 +LIBMNL_VERSION = 1.0.2 LIBMNL_SOURCE = libmnl-$(LIBMNL_VERSION).tar.bz2 LIBMNL_SITE = http://netfilter.org/projects/libmnl/files LIBMNL_INSTALL_STAGING = YES diff --git a/package/libmodbus/libmodbus.mk b/package/libmodbus/libmodbus.mk index ab134fd..4dcfe23 100644 --- a/package/libmodbus/libmodbus.mk +++ b/package/libmodbus/libmodbus.mk @@ -3,7 +3,7 @@ # libmodbus # ############################################################# -LIBMODBUS_VERSION = 3.0.1 +LIBMODBUS_VERSION = 3.0.2 LIBMODBUS_SITE = http://github.com/downloads/stephane/libmodbus LIBMODBUS_SOURCE = libmodbus-$(LIBMODBUS_VERSION).tar.gz LIBMODBUS_INSTALL_STAGING = YES diff --git a/package/libnl/libnl.mk b/package/libnl/libnl.mk index dd0d7fb..fc37c7d 100644 --- a/package/libnl/libnl.mk +++ b/package/libnl/libnl.mk @@ -4,7 +4,7 @@ # ############################################################# -LIBNL_VERSION = 3.0 +LIBNL_VERSION = 3.2.4 LIBNL_SOURCE = libnl-$(LIBNL_VERSION).tar.gz LIBNL_SITE = http://www.infradead.org/~tgr/libnl/files/ LIBNL_INSTALL_STAGING = YES diff --git a/package/liboauth/Config.in b/package/liboauth/Config.in new file mode 100644 index 0000000..77a78f1 --- /dev/null +++ b/package/liboauth/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_LIBOAUTH + bool "liboauth" + select BR2_PACKAGE_OPENSSL + help + liboauth is a collection of c functions implementing the oAuth + Core 1.0 Rev A standard API. liboauth provides basic functions to + escape and encode parameters according to oAuth specs and offers + high-level functions to sign requests or verify signatures. + + http://liboauth.sourceforge.net/ diff --git a/package/liboauth/liboauth.mk b/package/liboauth/liboauth.mk new file mode 100644 index 0000000..8646947 --- /dev/null +++ b/package/liboauth/liboauth.mk @@ -0,0 +1,19 @@ +############################################################# +# +# liboauth +# +############################################################# +LIBOAUTH_VERSION = 0.9.6 +LIBOAUTH_SOURCE = liboauth-$(LIBOAUTH_VERSION).tar.gz +LIBOAUTH_SITE = http://liboauth.sourceforge.net/pool +LIBOAUTH_INSTALL_STAGING = YES + +LIBOAUTH_DEPENDENCIES += host-pkg-config openssl + +ifeq ($(BR2_PACKAGE_LIBCURL),y) +LIBOAUTH_DEPENDENCIES += libcurl +else +LIBOAUTH_CONF_OPT += --disable-libcurl +endif + +$(eval $(call AUTOTARGETS)) diff --git a/package/libosip2/libosip2.mk b/package/libosip2/libosip2.mk index 29d2a55..1d53f76 100644 --- a/package/libosip2/libosip2.mk +++ b/package/libosip2/libosip2.mk @@ -3,24 +3,10 @@ # libosip2 # ############################################################# -LIBOSIP2_VERSION = 3.3.0 -LIBOSIP2_SOURCE = libosip2_$(LIBOSIP2_VERSION).orig.tar.gz -LIBOSIP2_PATCH = libosip2_$(LIBOSIP2_VERSION)-1.diff.gz -LIBOSIP2_SITE = $(BR2_DEBIAN_MIRROR)/debian/pool/main/libo/libosip2 -LIBOSIP2_INSTALL_STAGING = YES - -ifneq ($(LIBOSIP2_PATCH),) -define LIBOSIP2_DEBIAN_PATCHES - if [ -d $(@D)/debian/patches ]; then \ - (cd $(@D)/debian/patches && for i in *; \ - do $(SED) 's,^\+\+\+ .*cvs-$(LIBOSIP2_VERSION)/,+++ cvs-$(LIBOSIP2_VERSION)/,' $$i; \ - done; \ - ); \ - support/scripts/apply-patches.sh $(@D) $(@D)/debian/patches \*; \ - fi -endef -endif -LIBOSIP2_POST_PATCH_HOOKS += LIBOSIP2_DEBIAN_PATCHES +LIBOSIP2_VERSION = 3.6.0 +LIBOSIP2_SOURCE = libosip2-$(LIBOSIP2_VERSION).tar.gz +LIBOSIP2_SITE = $(BR2_GNU_MIRROR)/osip +LIBOSIP2_INSTALL_STAGING = YES $(eval $(call AUTOTARGETS)) diff --git a/package/libpcap/libpcap.mk b/package/libpcap/libpcap.mk index 6b44e49..0b88a42 100644 --- a/package/libpcap/libpcap.mk +++ b/package/libpcap/libpcap.mk @@ -4,18 +4,17 @@ # ############################################################# -LIBPCAP_VERSION:=1.1.1 -LIBPCAP_SITE:=http://www.tcpdump.org/release -LIBPCAP_SOURCE:=libpcap-$(LIBPCAP_VERSION).tar.gz -LIBPCAP_INSTALL_STAGING:=YES +LIBPCAP_VERSION = 1.2.1 +LIBPCAP_SITE = http://www.tcpdump.org/release +LIBPCAP_INSTALL_STAGING = YES # doesn't have an install-strip LIBPCAP_INSTALL_TARGET_OPT= DESTDIR="$(TARGET_DIR)" \ $(if $(BR2_PREFER_STATIC_LIB),install,install-shared) LIBPCAP_INSTALL_STAGING_OPT= DESTDIR="$(STAGING_DIR)" install \ $(if $(BR2_PREFER_STATIC_LIB),,install-shared) -LIBPCAP_DEPENDENCIES:=zlib -LIBPCAP_CONF_ENV:=ac_cv_linux_vers=2 \ - ac_cv_header_linux_wireless_h=yes # configure misdetects this -LIBPCAP_CONF_OPT:=--disable-yydebug --with-pcap=linux +LIBPCAP_DEPENDENCIES = zlib +LIBPCAP_CONF_ENV = ac_cv_linux_vers=2 \ + ac_cv_header_linux_wireless_h=yes # configure misdetects this +LIBPCAP_CONF_OPT = --disable-yydebug --with-pcap=linux $(eval $(call AUTOTARGETS)) diff --git a/package/libpng/libpng.mk b/package/libpng/libpng.mk index d2aa329..4017871 100644 --- a/package/libpng/libpng.mk +++ b/package/libpng/libpng.mk @@ -3,15 +3,14 @@ # libpng (Portable Network Graphic library) # ############################################################# -LIBPNG_VERSION = 1.4.8 + +LIBPNG_VERSION = 1.4.9 LIBPNG_SERIES = 14 LIBPNG_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/libpng LIBPNG_SOURCE = libpng-$(LIBPNG_VERSION).tar.bz2 LIBPNG_INSTALL_STAGING = YES LIBPNG_DEPENDENCIES = host-pkg-config zlib -HOST_LIBPNG_DEPENDENCIES = host-pkg-config host-zlib - define LIBPNG_STAGING_LIBPNG12_CONFIG_FIXUP $(SED) "s,^prefix=.*,prefix=\'$(STAGING_DIR)/usr\',g" \ -e "s,^exec_prefix=.*,exec_prefix=\'$(STAGING_DIR)/usr\',g" \ diff --git a/package/libraw1394/Config.in b/package/libraw1394/Config.in index 49399e3..7a64959 100644 --- a/package/libraw1394/Config.in +++ b/package/libraw1394/Config.in @@ -1,10 +1,7 @@ config BR2_PACKAGE_LIBRAW1394 bool "libraw1394" help - Library for direct access to IEEE 1394 bus. + libraw1394 provides direct access to the IEEE 1394 bus through + the Linux 1394 subsystem's raw1394 user space interface. - Through libraw1394/raw1394, applications can directly - send to and receive from other nodes without requiring - a kernel driver for the protocol in question. - - http://www.linux1394.org/ + http://sourceforge.net/projects/libraw1394/ diff --git a/package/libraw1394/libraw1394.mk b/package/libraw1394/libraw1394.mk index b7c844c..2f77a48 100644 --- a/package/libraw1394/libraw1394.mk +++ b/package/libraw1394/libraw1394.mk @@ -3,9 +3,9 @@ # libraw1394 # ############################################################# -LIBRAW1394_VERSION:=1.2.1 -LIBRAW1394_SOURCE:=libraw1394-$(LIBRAW1394_VERSION).tar.gz -LIBRAW1394_SITE:=http://www.kernel.org/pub/linux/libs/ieee1394/ -LIBRAW1394_INSTALL_STAGING=YES + +LIBRAW1394_VERSION = 2.0.7 +LIBRAW1394_SITE = $(BR2_KERNEL_MIRROR)/linux/libs/ieee1394 +LIBRAW1394_INSTALL_STAGING = YES $(eval $(call AUTOTARGETS)) diff --git a/package/libroxml/libroxml-2.1.1-werror.patch b/package/libroxml/libroxml-2.1.2-werror.patch similarity index 100% rename from package/libroxml/libroxml-2.1.1-werror.patch rename to package/libroxml/libroxml-2.1.2-werror.patch diff --git a/package/libroxml/libroxml.mk b/package/libroxml/libroxml.mk index f494348..5c0bf01 100644 --- a/package/libroxml/libroxml.mk +++ b/package/libroxml/libroxml.mk @@ -2,7 +2,7 @@ # libroxml # -LIBROXML_VERSION = 2.1.1 +LIBROXML_VERSION = 2.1.2 LIBROXML_SITE = http://libroxml.googlecode.com/files LIBROXML_INSTALL_STAGING = YES diff --git a/package/liburcu/Config.in b/package/liburcu/Config.in new file mode 100644 index 0000000..5a6e4b2 --- /dev/null +++ b/package/liburcu/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_LIBURCU + bool "liburcu" + help + Userspace implementation of the Read-Copy-Update (RCU) + synchronization mechanism. This library is mainly used by + the LTTng tracing infrastructure, but can be used for other + purposes as well. + + http://lttng.org/urcu diff --git a/package/liburcu/liburcu-0.6.7-missing-gnu-source.patch b/package/liburcu/liburcu-0.6.7-missing-gnu-source.patch new file mode 100644 index 0000000..f34120c --- /dev/null +++ b/package/liburcu/liburcu-0.6.7-missing-gnu-source.patch @@ -0,0 +1,13 @@ +Define _GNU_SOURCE to access CPU_ZERO() macro in uClibc + +Signed-off-by: Thomas Petazzoni + +Index: userspace-rcu-0.6.7/tests/urcutorture.c +=================================================================== +--- userspace-rcu-0.6.7.orig/tests/urcutorture.c 2012-02-01 10:17:09.938804402 +0100 ++++ userspace-rcu-0.6.7/tests/urcutorture.c 2012-02-01 10:17:15.308713372 +0100 +@@ -1,3 +1,4 @@ ++#define _GNU_SOURCE + #include + #include + #include diff --git a/package/liburcu/liburcu.mk b/package/liburcu/liburcu.mk new file mode 100644 index 0000000..a34079d --- /dev/null +++ b/package/liburcu/liburcu.mk @@ -0,0 +1,7 @@ +LIBURCU_VERSION = 0.6.7 +LIBURCU_SITE = http://lttng.org/files/bundles/20111214/ +LIBURCU_SOURCE = userspace-rcu-$(LIBURCU_VERSION).tar.bz2 + +LIBURCU_INSTALL_STAGING = YES + +$(eval $(call AUTOTARGETS)) diff --git a/package/libusb-compat/libusb-compat.mk b/package/libusb-compat/libusb-compat.mk index e39cdd8..4f16489 100644 --- a/package/libusb-compat/libusb-compat.mk +++ b/package/libusb-compat/libusb-compat.mk @@ -19,3 +19,4 @@ endef LIBUSB_COMPAT_POST_INSTALL_STAGING_HOOKS+=LIBUSB_COMPAT_FIXUP_CONFIG $(eval $(call AUTOTARGETS)) +$(eval $(call AUTOTARGETS,host)) diff --git a/package/libusb/libusb.mk b/package/libusb/libusb.mk index af75f5f..fce0c28 100644 --- a/package/libusb/libusb.mk +++ b/package/libusb/libusb.mk @@ -8,6 +8,6 @@ LIBUSB_SOURCE = libusb-$(LIBUSB_VERSION).tar.bz2 LIBUSB_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/libusb/libusb-1.0/libusb-$(LIBUSB_VERSION) LIBUSB_DEPENDENCIES = host-pkg-config LIBUSB_INSTALL_STAGING = YES -LIBUSB_INSTALL_TARGET = YES $(eval $(call AUTOTARGETS)) +$(eval $(call AUTOTARGETS,host)) diff --git a/package/libv4l/libv4l.mk b/package/libv4l/libv4l.mk index 4df64fc..dbd8769 100644 --- a/package/libv4l/libv4l.mk +++ b/package/libv4l/libv4l.mk @@ -3,11 +3,12 @@ # libv4l # ############################################################# -LIBV4L_VERSION = 0.8.3 +LIBV4L_VERSION = 0.8.5 LIBV4L_SOURCE = v4l-utils-$(LIBV4L_VERSION).tar.bz2 LIBV4L_SITE = http://linuxtv.org/downloads/v4l-utils/ LIBV4L_INSTALL_STAGING = YES LIBV4L_MAKE_OPTS = PREFIX=/usr +LIBV4L_DEPENDENCIES = jpeg LIBV4L_DIRS_y += lib LIBV4L_DIRS_$(BR2_PACKAGE_LIBV4L_DECODE_TM6000) += utils/decode_tm6000 diff --git a/package/libvncserver/Config.in b/package/libvncserver/Config.in new file mode 100644 index 0000000..ff83e34 --- /dev/null +++ b/package/libvncserver/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_LIBVNCSERVER + bool "libvncserver" + help + libvncserver is a VNC server/client library. + + http://libvncserver.sourceforge.net/ diff --git a/package/libvncserver/libvncserver.mk b/package/libvncserver/libvncserver.mk new file mode 100644 index 0000000..90c021d --- /dev/null +++ b/package/libvncserver/libvncserver.mk @@ -0,0 +1,51 @@ +############################################################# +# +# libvncserver +# +############################################################# + +LIBVNCSERVER_VERSION = 0.9.8.2 +LIBVNCSERVER_SOURCE = LibVNCServer-$(LIBVNCSERVER_VERSION).tar.gz +LIBVNCSERVER_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/libvncserver/$(LIBVNCSERVER_VERSION) + +LIBVNCSERVER_INSTALL_STAGING = YES + +# only used for examples +LIBVNCSERVER_CONF_OPT += --with-sdl-config=/bin/false + +ifneq ($(BR2_INET_IPV6),y) +LIBVNCSERVER_CONF_OPT += --without-ipv6 +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +LIBVNCSERVER_DEPENDENCIES += openssl +else +LIBVNCSERVER_CONF_OPT += --without-crypto +endif + +ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) +LIBVNCSERVER_CONF_ENV += LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config +LIBVNCSERVER_DEPENDENCIES += libgcrypt +else +LIBVNCSERVER_CONF_OPT += --without-gcrypt +endif + +ifeq ($(BR2_PACKAGE_GNUTLS),y) +LIBVNCSERVER_DEPENDENCIES += gnutls host-pkg-config +else +LIBVNCSERVER_CONF_OPT += --without-gnutls +endif + +ifeq ($(BR2_PACKAGE_JPEG),y) +LIBVNCSERVER_DEPENDENCIES += jpeg +else +LIBVNCSERVER_CONF_OPT += --without-jpeg +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +LIBVNCSERVER_DEPENDENCIES += zlib +else +LIBVNCSERVER_CONF_OPT += --without-zlib +endif + +$(eval $(call AUTOTARGETS)) diff --git a/package/libxml-parser-perl/libxml-parser-perl.mk b/package/libxml-parser-perl/libxml-parser-perl.mk index ecc2cc9..9e6f2ec 100644 --- a/package/libxml-parser-perl/libxml-parser-perl.mk +++ b/package/libxml-parser-perl/libxml-parser-perl.mk @@ -8,7 +8,6 @@ LIBXML_PARSER_PERL_SOURCE:=XML-Parser-$(LIBXML_PARSER_PERL_VERSION).tar.gz LIBXML_PARSER_PERL_SITE:=http://www.cpan.org/modules/by-module/XML/ LIBXML_PARSER_PERL_DEPENDENCIES = expat -HOST_LIBXML_PARSER_PERL_DEPENDENCIES = host-expat define HOST_LIBXML_PARSER_PERL_CONFIGURE_CMDS (cd $(@D) ; \ diff --git a/package/libxslt/libxslt.mk b/package/libxslt/libxslt.mk index fec85f0..15b6e6a 100644 --- a/package/libxslt/libxslt.mk +++ b/package/libxslt/libxslt.mk @@ -8,18 +8,18 @@ LIBXSLT_VERSION = 1.1.26 LIBXSLT_SITE = ftp://xmlsoft.org/libxslt LIBXSLT_INSTALL_STAGING = YES +LIBXSLT_CONF_OPT = --with-gnu-ld --without-debug \ + --without-python --with-libxml-prefix=$(STAGING_DIR)/usr/ + +LIBXSLT_DEPENDENCIES = libxml2 + # If we have enabled libgcrypt then use it, else disable crypto support. ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) -LIBXSLT_DEPENDENCIES_EXTRA=libgcrypt +LIBXSLT_DEPENDENCIES += libgcrypt else -LIBXSLT_XTRA_CONF_OPT = --without-crypto +LIBXSLT_CONF_OPT += --without-crypto endif -LIBXSLT_CONF_OPT = --with-gnu-ld $(LIBXSLT_XTRA_CONF_OPT) --without-debug \ - --without-python --with-libxml-prefix=$(STAGING_DIR)/usr/ - -LIBXSLT_DEPENDENCIES = libxml2 $(LIBXSLT_DEPENDENCIES_EXTRA) - HOST_LIBXSLT_CONF_OPT = --without-debug --without-python --without-crypto HOST_LIBXSLT_DEPENDENCIES = host-libxml2 diff --git a/package/lighttpd/lighttpd.mk b/package/lighttpd/lighttpd.mk index 3f11be3..b8aa310 100644 --- a/package/lighttpd/lighttpd.mk +++ b/package/lighttpd/lighttpd.mk @@ -4,7 +4,7 @@ # ############################################################# -LIGHTTPD_VERSION = 1.4.29 +LIGHTTPD_VERSION = 1.4.30 LIGHTTPD_SITE = http://download.lighttpd.net/lighttpd/releases-1.4.x LIGHTTPD_DEPENDENCIES = host-pkg-config LIGHTTPD_CONF_OPT = \ diff --git a/package/links/links.mk b/package/links/links.mk index 470b13d..52a71f1 100644 --- a/package/links/links.mk +++ b/package/links/links.mk @@ -4,7 +4,7 @@ # ############################################################# -LINKS_VERSION = 2.3pre2 +LINKS_VERSION = 2.5 LINKS_SITE = http://links.twibright.com/download LINKS_CONF_OPT = --without-x LINKS_DEPENDENCIES = host-pkg-config diff --git a/package/linux-firmware/Config.in b/package/linux-firmware/Config.in new file mode 100644 index 0000000..9ce1a75 --- /dev/null +++ b/package/linux-firmware/Config.in @@ -0,0 +1,44 @@ +config BR2_PACKAGE_LINUX_FIRMWARE + bool "linux-firmware" + help + This package provides various binary firmware files (closed + binary blobs) for such devices like LAN, WLAN cards etc. + + https://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git + +if BR2_PACKAGE_LINUX_FIRMWARE + +menu "Ralink" + +config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61 + bool "Ralink rt2501/rt61" + help + Ralink rt2501/rt61 + +config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73 + bool "Ralink rt73" + help + Ralink rt73 + +config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX + bool "Ralink rt27xx/rt28xx/rt30xx" + help + Ralink rt27xx/rt28xx/rt30xx + +endmenu + +menu "Texas Instruments" + +config BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X + bool "wl127X" + help + Firmware files for WLAN and Bluetooth modules wl1271 and wl1273 + +config BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X + bool "wl128X" + help + Firmware files for WLAN and Bluetooth modules wl128x + +endmenu + +endif diff --git a/package/linux-firmware/linux-firmware.mk b/package/linux-firmware/linux-firmware.mk new file mode 100644 index 0000000..d5987ab --- /dev/null +++ b/package/linux-firmware/linux-firmware.mk @@ -0,0 +1,59 @@ +############################################################# +# +# linux-firmware +# +############################################################# +LINUX_FIRMWARE_VERSION = a2995d38c234e3d767df7223d84a0f33a1a24997 +LINUX_FIRMWARE_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git +LINUX_FIRMWARE_SITE_METHOD = git + +# rt2501/rt61 +LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61) += \ + rt2561.bin rt2561s.bin rt2661.bin LICENCE.ralink-firmware.txt + + +# rt73 +LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73) += \ + rt73.bin LICENCE.ralink-firmware.txt + +# rt2xx +LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX) += \ + rt2860.bin rt2870.bin rt3070.bin rt3071.bin rt3090.bin \ + LICENCE.ralink-firmware.txt + +# wl127x +LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X) += \ + ti-connectivity/wl1271-fw-2.bin \ + ti-connectivity/wl1271-fw-ap.bin \ + ti-connectivity/wl1271-fw.bin \ + ti-connectivity/wl1271-nvs.bin \ + ti-connectivity/wl127x-fw-3.bin \ + ti-connectivity/wl127x-fw-plt-3.bin \ + ti-connectivity/wl127x-nvs.bin \ + ti-connectivity/TIInit_7.2.31.bts \ + LICENCE.ti-connectivity + +# wl128x +LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X) += \ + ti-connectivity/wl128x-fw-3.bin \ + ti-connectivity/wl128x-fw-ap.bin \ + ti-connectivity/wl128x-fw-plt-3.bin \ + ti-connectivity/wl128x-fw.bin \ + ti-connectivity/wl1271-nvs.bin \ + ti-connectivity/wl128x-nvs.bin \ + ti-connectivity/wl12xx-nvs.bin \ + ti-connectivity/TIInit_7.2.31.bts \ + LICENCE.ti-connectivity + + +ifneq ($(LINUX_FIRMWARE_FILES_y),) + +define LINUX_FIRMWARE_INSTALL_TARGET_CMDS + mkdir -p $(TARGET_DIR)/lib/firmware + $(TAR) c -C $(@D) $(LINUX_FIRMWARE_FILES_y) | \ + $(TAR) x -C $(TARGET_DIR)/lib/firmware +endef + +endif + +$(eval $(call GENTARGETS)) diff --git a/package/lm-sensors/lm-sensors.mk b/package/lm-sensors/lm-sensors.mk index 99a8e3b..a351329 100644 --- a/package/lm-sensors/lm-sensors.mk +++ b/package/lm-sensors/lm-sensors.mk @@ -3,7 +3,8 @@ # lm-sensors # ############################################################# -LM_SENSORS_VERSION = 3.2.0 + +LM_SENSORS_VERSION = 3.3.1 LM_SENSORS_SOURCE = lm_sensors-$(LM_SENSORS_VERSION).tar.bz2 LM_SENSORS_SITE = http://dl.lm-sensors.org/lm-sensors/releases LM_SENSORS_INSTALL_STAGING = YES @@ -13,6 +14,7 @@ LM_SENSORS_BINS_$(BR2_PACKAGE_LM_SENSORS_SENSORS) += bin/sensors LM_SENSORS_BINS_$(BR2_PACKAGE_LM_SENSORS_FANCONTROL) += sbin/fancontrol LM_SENSORS_BINS_$(BR2_PACKAGE_LM_SENSORS_ISADUMP) += sbin/isadump LM_SENSORS_BINS_$(BR2_PACKAGE_LM_SENSORS_ISASET) += sbin/isaset +LM_SENSORS_BINS_$(BR2_PACKAGE_LM_SENSORS_PWMCONFIG) += sbin/pwmconfig LM_SENSORS_BINS_$(BR2_PACKAGE_LM_SENSORS_SENSORS_DETECT) += sbin/sensors-detect define LM_SENSORS_BUILD_CMDS diff --git a/package/lttng-babeltrace/Config.in b/package/lttng-babeltrace/Config.in new file mode 100644 index 0000000..6f47304 --- /dev/null +++ b/package/lttng-babeltrace/Config.in @@ -0,0 +1,30 @@ +config BR2_PACKAGE_LTTNG_BABELTRACE + bool "lttng-babeltrace" + depends on BR2_PACKAGE_LTTNG_TOOLS + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + select BR2_PACKAGE_LIBGLIB2 + # libglib2 needs gettext which needs wchar support, and we + # also depends on util-linux which needs wchar + depends on BR2_USE_WCHAR + # util-linux depends on largefile support + depends on BR2_LARGEFILE + help + Babeltrace is part of the LTTng 2.x project. + + This project provides trace read and write libraries, as + well as a trace converter. A plugin can be created for any + trace format to allow its conversion to/from another trace + format. + + Having this tool on the target is not mandatory. You can + transfer the binary trace output from the target to your + development workstation, and use babeltrace here. Buildroot + automatically builds a host babeltrace in + $(O)/host/usr/bin/babeltrace as a dependency of the + lttng-tools package. + + http://lttng.org + +comment "lttng-babeltrace needs WCHAR and LARGEFILE support" + depends on BR2_PACKAGE_LTTNG_TOOLS && !(BR2_USE_WCHAR || BR2_LARGEFILE) diff --git a/package/lttng-babeltrace/lttng-babeltrace-0.8-no-posix-fallocate-in-uclibc.patch b/package/lttng-babeltrace/lttng-babeltrace-0.8-no-posix-fallocate-in-uclibc.patch new file mode 100644 index 0000000..d77825f --- /dev/null +++ b/package/lttng-babeltrace/lttng-babeltrace-0.8-no-posix-fallocate-in-uclibc.patch @@ -0,0 +1,37 @@ +Do not call posix_fallocate() on uClibc + +uClibc does not implement posix_fallocate(), and posix_fallocate() is +mostly only an hint to the kernel that we will need such or such +amount of space inside a file. So we just don't call posix_fallocate() +when building against uClibc. + +Signed-off-by: Thomas Petazzoni +[Peter: add #include +--- + formats/ctf/ctf.c | 3 +++ + 1 file changed, 3 insertions(+) + +Index: lttng-babeltrace-0.8/formats/ctf/ctf.c +=================================================================== +--- lttng-babeltrace-0.8.orig/formats/ctf/ctf.c ++++ lttng-babeltrace-0.8/formats/ctf/ctf.c +@@ -32,6 +32,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -384,9 +385,11 @@ + } + pos->content_size = -1U; /* Unknown at this point */ + pos->packet_size = WRITE_PACKET_LEN; ++#ifndef __UCLIBC__ + off = posix_fallocate(pos->fd, pos->mmap_offset, + pos->packet_size / CHAR_BIT); + assert(off >= 0); ++#endif + pos->offset = 0; + } else { + read_next_packet: diff --git a/package/lttng-babeltrace/lttng-babeltrace.mk b/package/lttng-babeltrace/lttng-babeltrace.mk new file mode 100644 index 0000000..5173028 --- /dev/null +++ b/package/lttng-babeltrace/lttng-babeltrace.mk @@ -0,0 +1,15 @@ +LTTNG_BABELTRACE_SITE = http://lttng.org/files/bundles/20111214/ +LTTNG_BABELTRACE_VERSION = 0.8 +LTTNG_BABELTRACE_SOURCE = babeltrace-$(LTTNG_BABELTRACE_VERSION).tar.bz2 + +# Needed to fix libtool handling, otherwise the build fails when +# building the ctf-parser-test program, which depends on libctf-ast.so +# which itself depends on libbabeltrace_types.so.0 (and libtool gets +# lost in the middle of this). +LTTNG_BABELTRACE_AUTORECONF = YES +HOST_LTTNG_BABELTRACE_AUTORECONF = YES + +LTTNG_BABELTRACE_DEPENDENCIES = popt util-linux libglib2 + +$(eval $(call AUTOTARGETS)) +$(eval $(call AUTOTARGETS,host)) diff --git a/package/lttng-libust/Config.in b/package/lttng-libust/Config.in new file mode 100644 index 0000000..ae74bed --- /dev/null +++ b/package/lttng-libust/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_LTTNG_LIBUST + bool "lttng-libust" + select BR2_PACKAGE_LIBURCU + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + # util-linux needs wchar and largefile + depends on BR2_USE_WCHAR + depends on BR2_LARGEFILE + help + Userspace tracing library for the Lttng tracing + infrastructure. It allows userspace programs to create + custom trace events that are integrated with all other + events gathered by LTTng. + + http://lttng.org + +comment "lttng-libust needs WCHAR and LARGEFILE support" + depends on !(BR2_USE_WCHAR || BR2_LARGEFILE) diff --git a/package/lttng-libust/lttng-libust-1.9.2-dont-build-cxx-tests-when-not-available.patch b/package/lttng-libust/lttng-libust-1.9.2-dont-build-cxx-tests-when-not-available.patch new file mode 100644 index 0000000..d7be22d --- /dev/null +++ b/package/lttng-libust/lttng-libust-1.9.2-dont-build-cxx-tests-when-not-available.patch @@ -0,0 +1,50 @@ +Do not build C++ example if a C++ compiler isn't available + +By default lttng-ust builds a hello.cxx C++ example that demonstrates +the usage of the userspace tracing library in a C++ +program. Unfortunately, when no C++ support is available, the build +of lttng-ust fails just because of this example code. So we make the +compilation of this code conditional on whether a working C++ compiler +was found. + +Signed-off-by: Thomas Petazzoni + +Index: lttng-ust-1.9.2/configure.ac +=================================================================== +--- lttng-ust-1.9.2.orig/configure.ac 2012-02-04 14:49:45.387325814 +0100 ++++ lttng-ust-1.9.2/configure.ac 2012-02-04 14:50:08.156920117 +0100 +@@ -38,6 +38,18 @@ + AC_PROG_MAKE_SET + LT_INIT + ++# rw_PROG_CXX_WORKS ++# Check whether the C++ compiler works. ++AC_CACHE_CHECK([whether the C++ compiler works], ++ [rw_cv_prog_cxx_works], ++ [AC_LANG_PUSH([C++]) ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], ++ [rw_cv_prog_cxx_works=yes], ++ [rw_cv_prog_cxx_works=no]) ++ AC_LANG_POP([C++])]) ++ ++AM_CONDITIONAL([CXX_WORKS], [test "x$rw_cv_prog_cxx_works" = "xyes"]) ++ + ## Checks for libraries. + AC_CHECK_LIB([dl], [dlopen]) + AC_CHECK_LIB([pthread], [pthread_create]) +Index: lttng-ust-1.9.2/tests/Makefile.am +=================================================================== +--- lttng-ust-1.9.2.orig/tests/Makefile.am 2012-02-04 14:49:49.157258640 +0100 ++++ lttng-ust-1.9.2/tests/Makefile.am 2012-02-04 14:50:15.096796474 +0100 +@@ -1,6 +1,10 @@ +-SUBDIRS = . hello fork ust-basic-tracing ust-multi-test demo hello.cxx ++SUBDIRS = . hello fork ust-basic-tracing ust-multi-test demo + #SUBDIRS = . hello2 basic basic_long simple_include snprintf test-nevents test-libustinstr-malloc dlopen same_line_marker trace_event register_test tracepoint libustctl_function_tests exit-fast + ++if CXX_WORKS ++SUBDIRS += hello.cxx ++endif ++ + dist_noinst_SCRIPTS = test_loop runtests trace_matches + + noinst_LIBRARIES = libtap.a diff --git a/package/lttng-libust/lttng-libust-fix-overflow-32-bits.patch b/package/lttng-libust/lttng-libust-fix-overflow-32-bits.patch new file mode 100644 index 0000000..c2a4dd2 --- /dev/null +++ b/package/lttng-libust/lttng-libust-fix-overflow-32-bits.patch @@ -0,0 +1,26 @@ +From dc190cc1f8ddccfa7b0b8323ed157afb29a0ebb7 Mon Sep 17 00:00:00 2001 +From: Mathieu Desnoyers +Date: Wed, 21 Dec 2011 16:24:48 -0500 +Subject: [PATCH] Fix clock source overflow on 32-bit archs + +Signed-off-by: Mathieu Desnoyers +--- + liblttng-ust/clock.h | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/liblttng-ust/clock.h b/liblttng-ust/clock.h +index b5d3e77..23294d2 100644 +--- a/liblttng-ust/clock.h ++++ b/liblttng-ust/clock.h +@@ -39,7 +39,7 @@ static __inline__ uint64_t trace_clock_read64(void) + struct timespec ts; + + clock_gettime(CLOCK_MONOTONIC, &ts); +- return (ts.tv_sec * 1000000000) + ts.tv_nsec; ++ return ((uint64_t) ts.tv_sec * 1000000000ULL) + ts.tv_nsec; + } + + static __inline__ uint32_t trace_clock_freq_scale(void) +-- +1.7.2.5 + diff --git a/package/lttng-libust/lttng-libust.mk b/package/lttng-libust/lttng-libust.mk new file mode 100644 index 0000000..f54999e --- /dev/null +++ b/package/lttng-libust/lttng-libust.mk @@ -0,0 +1,10 @@ +LTTNG_LIBUST_SITE = http://lttng.org/files/bundles/20111214/ +LTTNG_LIBUST_VERSION = 1.9.2 +LTTNG_LIBUST_SOURCE = lttng-ust-$(LTTNG_LIBUST_VERSION).tar.gz + +LTTNG_LIBUST_INSTALL_STAGING = YES +LTTNG_LIBUST_DEPENDENCIES = liburcu util-linux + +LTTNG_LIBUST_AUTORECONF = YES + +$(eval $(call AUTOTARGETS)) diff --git a/package/lttng-modules/Config.in b/package/lttng-modules/Config.in new file mode 100644 index 0000000..2a0f938 --- /dev/null +++ b/package/lttng-modules/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_LTTNG_MODULES + bool "lttng-modules" + depends on BR2_LINUX_KERNEL + help + Kernel modules for the LTTng 2.0 kernel tracing + infrastructure. + + Your kernel must have CONFIG_TRACEPOINTS enabled for this + package to build something useful. You may also want to have + CONFIG_PERF_EVENTS to access perf event counters from + ltt-ng. Note that system call tracing is only available on + architectures that support CONFIG_HAVE_SYSCALL_TRACEPOINTS. + + The packaged version is compatible with kernel 2.6.38, + 2.6.39, 3.0 and 3.1.0. See + http://lttng.org/files/bundles/20111214/README.compatible.kernels.txt + + http://lttng.org diff --git a/package/lttng-modules/lttng-modules.mk b/package/lttng-modules/lttng-modules.mk new file mode 100644 index 0000000..1820c8f --- /dev/null +++ b/package/lttng-modules/lttng-modules.mk @@ -0,0 +1,15 @@ +LTTNG_MODULES_VERSION = 2.0-pre11 +LTTNG_MODULES_SITE = http://lttng.org/files/bundles/20111214/ +LTTNG_MODULES_SOURCE = lttng-modules-$(LTTNG_MODULES_VERSION).tar.bz2 + +LTTNG_MODULES_DEPENDENCIES = linux + +define LTTNG_MODULES_BUILD_CMDS + $(MAKE) -C $(@D) $(LINUX_MAKE_FLAGS) KERNELDIR=$(LINUX_DIR) +endef + +define LTTNG_MODULES_INSTALL_TARGET_CMDS + $(MAKE) -C $(@D) $(LINUX_MAKE_FLAGS) KERNELDIR=$(LINUX_DIR) modules_install +endef + +$(eval $(call GENTARGETS)) diff --git a/package/lttng-tools/Config.in b/package/lttng-tools/Config.in new file mode 100644 index 0000000..3040af6 --- /dev/null +++ b/package/lttng-tools/Config.in @@ -0,0 +1,22 @@ +config BR2_PACKAGE_LTTNG_TOOLS + bool "lttng-tools" + depends on BR2_PACKAGE_LTTNG_MODULES + select BR2_PACKAGE_LIBURCU + select BR2_PACKAGE_POPT + help + Userspace utilities for the LTTng 2.0 tracing + infrastructure. + + Those utilities are required on the target system to start + and stop tracing sessions. Analysis of the trace can be done + on the host machine using the babeltrace utility. This + utility is automatically built by Buildroot in + $(O)/host/usr/bin/babeltrace, as a dependency of + lttng-tools. However, there is also a lttng-babeltrace + package for the target, if babeltrace on the target is + interesting. + + If userspace tracing is desired, you need to enable + lttng-libust. + + http://lttng.org diff --git a/package/lttng-tools/lttng-tools-2.0-pre15-no-sync-file-range-in-uclibc.patch b/package/lttng-tools/lttng-tools-2.0-pre15-no-sync-file-range-in-uclibc.patch new file mode 100644 index 0000000..861686b --- /dev/null +++ b/package/lttng-tools/lttng-tools-2.0-pre15-no-sync-file-range-in-uclibc.patch @@ -0,0 +1,87 @@ +Make sync_file_range() usage optional + +Under uClibc, sync_file_range() is not available under all +architectures, so we fall back to fdatasync() in this case. + +Signed-off-by: Thomas Petazzoni + +Index: lttng-tools-2.0-pre15/configure.ac +=================================================================== +--- lttng-tools-2.0-pre15.orig/configure.ac 2012-02-01 16:31:31.140978817 +0100 ++++ lttng-tools-2.0-pre15/configure.ac 2012-02-01 16:31:42.110783708 +0100 +@@ -96,7 +96,7 @@ + + AM_CONDITIONAL([HAVE_LIBLTTNG_UST_CTL], [ test "x$ac_cv_lib_lttng_ust_ctl_ustctl_create_session" = "xyes" ]) + +-AC_CHECK_FUNCS([sched_getcpu sysconf]) ++AC_CHECK_FUNCS([sched_getcpu sysconf sync_file_range]) + + # Option to only build the consumer daemon and its libraries + AC_ARG_WITH([consumerd-only], +Index: lttng-tools-2.0-pre15/liblttng-consumer/lttng-consumer.c +=================================================================== +--- lttng-tools-2.0-pre15.orig/liblttng-consumer/lttng-consumer.c 2012-02-01 16:36:00.876292596 +0100 ++++ lttng-tools-2.0-pre15/liblttng-consumer/lttng-consumer.c 2012-02-01 16:36:23.435901163 +0100 +@@ -527,11 +527,15 @@ + if (orig_offset < stream->chan->max_sb_size) { + return; + } ++#ifdef HAVE_SYNC_FILE_RANGE + sync_file_range(outfd, orig_offset - stream->chan->max_sb_size, + stream->chan->max_sb_size, + SYNC_FILE_RANGE_WAIT_BEFORE + | SYNC_FILE_RANGE_WRITE + | SYNC_FILE_RANGE_WAIT_AFTER); ++#else ++ fdatasync(outfd); ++#endif + /* + * Give hints to the kernel about how we access the file: + * POSIX_FADV_DONTNEED : we won't re-access data in a near future after +Index: lttng-tools-2.0-pre15/liblttng-kconsumer/lttng-kconsumer.c +=================================================================== +--- lttng-tools-2.0-pre15.orig/liblttng-kconsumer/lttng-kconsumer.c 2012-02-01 16:36:36.215679416 +0100 ++++ lttng-tools-2.0-pre15/liblttng-kconsumer/lttng-kconsumer.c 2012-02-01 16:59:08.622203348 +0100 +@@ -71,8 +71,12 @@ + goto end; + } + /* This won't block, but will start writeout asynchronously */ ++#ifdef HAVE_SYNC_FILE_RANGE + sync_file_range(outfd, stream->out_fd_offset, ret, + SYNC_FILE_RANGE_WRITE); ++#else ++ fdatasync(outfd); ++#endif + stream->out_fd_offset += ret; + } + +@@ -121,8 +125,12 @@ + } + len -= ret; + /* This won't block, but will start writeout asynchronously */ ++#ifdef HAVE_SYNC_FILE_RANGE + sync_file_range(outfd, stream->out_fd_offset, ret, + SYNC_FILE_RANGE_WRITE); ++#else ++ fdatasync(outfd); ++#endif + stream->out_fd_offset += ret; + } + lttng_consumer_sync_trace_file(stream, orig_offset); +Index: lttng-tools-2.0-pre15/liblttng-ustconsumer/lttng-ustconsumer.c +=================================================================== +--- lttng-tools-2.0-pre15.orig/liblttng-ustconsumer/lttng-ustconsumer.c 2012-02-01 16:37:11.495067263 +0100 ++++ lttng-tools-2.0-pre15/liblttng-ustconsumer/lttng-ustconsumer.c 2012-02-01 16:37:31.224724916 +0100 +@@ -70,8 +70,12 @@ + goto end; + } + /* This won't block, but will start writeout asynchronously */ ++#ifdef HAVE_SYNC_FILE_RANGE + sync_file_range(outfd, stream->out_fd_offset, ret, + SYNC_FILE_RANGE_WRITE); ++#else ++ fdatasync(outfd); ++#endif + stream->out_fd_offset += ret; + } + diff --git a/package/lttng-tools/lttng-tools.mk b/package/lttng-tools/lttng-tools.mk new file mode 100644 index 0000000..8e6fc1a --- /dev/null +++ b/package/lttng-tools/lttng-tools.mk @@ -0,0 +1,20 @@ +LTTNG_TOOLS_VERSION = 2.0-pre15 +LTTNG_TOOLS_SITE = http://lttng.org/files/bundles/20111214/ +LTTNG_TOOLS_SOURCE = lttng-tools-$(LTTNG_TOOLS_VERSION).tar.bz2 + +# The host-lttng-babeltrace technically isn't a required build +# dependency. However, having the babeltrace utilities built for the +# host is very useful, since those tools allow to convert the binary +# trace format into an human readable format. +LTTNG_TOOLS_DEPENDENCIES = liburcu popt host-lttng-babeltrace + +LTTNG_AUTORECONF = YES + +ifeq ($(BR2_PACKAGE_LTTNG_LIBUST),y) +LTTNG_TOOLS_CONF_OPT += --enable-lttng-ust +LTTNG_TOOLS_DEPENDENCIES += lttng-libust +else +LTTNG_TOOLS_CONF_OPT += --disable-lttng-ust +endif + +$(eval $(call AUTOTARGETS)) diff --git a/package/lua/lua.mk b/package/lua/lua.mk index c95e18a..1dabedf 100644 --- a/package/lua/lua.mk +++ b/package/lua/lua.mk @@ -21,6 +21,10 @@ else LUA_MYCFLAGS += -DLUA_USE_POSIX endif +HOST_LUA_DEPENDENCIES = +HOST_LUA_MYCFLAGS = -fPIC -DLUA_USE_DLOPEN -DLUA_USE_POSIX +HOST_LUA_MYLIBS = -ldl + define LUA_BUILD_CMDS sed -i -e 's/-O2//' $(@D)/src/Makefile sed -i -e 's/\/usr\/local/\/usr/' $(@D)/etc/lua.pc @@ -31,6 +35,15 @@ define LUA_BUILD_CMDS PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all endef +define HOST_LUA_BUILD_CMDS + sed -i -e 's/-O2//' $(@D)/src/Makefile + sed -i -e 's/\/usr\/local/\/usr/' $(@D)/etc/lua.pc + $(MAKE) \ + MYCFLAGS="$(HOST_LUA_MYCFLAGS)" \ + MYLIBS="$(HOST_LUA_MYLIBS)" \ + PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all +endef + ifeq ($(BR2_PACKAGE_LUA_SHARED_LIBRARY),y) define LUA_INSTALL_STAGING_SHARED_LIB $(INSTALL) -D $(@D)/src/liblua.so.$(LUA_VERSION) \ @@ -94,6 +107,21 @@ define LUA_INSTALL_TARGET_CMDS $(LUA_INSTALL_DEVFILES) endef +define HOST_LUA_INSTALL_CMDS + $(INSTALL) $(@D)/src/lua $(HOST_DIR)/usr/bin + $(INSTALL) $(@D)/src/luac $(HOST_DIR)/usr/bin + $(INSTALL) $(@D)/src/liblua.so.$(LUA_VERSION) \ + $(HOST_DIR)/usr/lib/liblua.so.$(LUA_VERSION) + ln -sf liblua.so.$(LUA_VERSION) $(HOST_DIR)/usr/lib/liblua.so + $(INSTALL) $(@D)/src/liblua.a $(HOST_DIR)/usr/lib/liblua.a + $(INSTALL) -m 0644 -D $(@D)/etc/lua.pc \ + $(HOST_DIR)/usr/lib/pkgconfig/lua.pc + $(INSTALL) $(@D)/src/lua.h $(HOST_DIR)/usr/include + $(INSTALL) $(@D)/src/luaconf.h $(HOST_DIR)/usr/include + $(INSTALL) $(@D)/src/lualib.h $(HOST_DIR)/usr/include + $(INSTALL) $(@D)/src/lauxlib.h $(HOST_DIR)/usr/include +endef + LUA_INSTALLED_FILES = \ /usr/include/lua.h \ /usr/include/luaconf.h \ @@ -117,8 +145,19 @@ define LUA_UNINSTALL_TARGET_CMDS done endef +define HOST_LUA_UNINSTALL_TARGET_CMDS + for i in $(LUA_INSTALLED_FILES); do \ + rm -f $(HOST_DIR)$$i; \ + done +endef + define LUA_CLEAN_CMDS -$(MAKE) -C $(@D) clean endef +define HOST_LUA_CLEAN_CMDS + -$(MAKE) -C $(@D) clean +endef + $(eval $(call GENTARGETS)) +$(eval $(call GENTARGETS,host)) diff --git a/package/m4/m4-1.4.15-uclibc-sched_param-def.patch b/package/m4/m4-1.4.15-uclibc-sched_param-def.patch deleted file mode 100644 index 47bdd3d..0000000 --- a/package/m4/m4-1.4.15-uclibc-sched_param-def.patch +++ /dev/null @@ -1,19 +0,0 @@ -uclibc defines __GLIBC__ but it does not expose struct shed_param as much as glibc -and is not needed too per standard. gnulib attempts to use it but we have to account -for it because in this case uclibc does not behave like glibc. - --Khem - -Index: m4-1.4.14/lib/spawn.in.h -=================================================================== ---- m4-1.4.14.orig/lib/spawn.in.h 2010-06-01 14:27:59.394242980 -0700 -+++ m4-1.4.14/lib/spawn.in.h 2010-06-01 14:28:28.202332200 -0700 -@@ -31,7 +31,7 @@ - - /* Get definitions of 'struct sched_param' and 'sigset_t'. - But avoid namespace pollution on glibc systems. */ --#ifndef __GLIBC__ -+#if !defined __GLIBC__ || defined __UCLIBC__ - # include - # include - #endif diff --git a/package/m4/m4-1.4.8-001-MB_CUR_MAX.patch b/package/m4/m4-1.4.16-001-MB_CUR_MAX.patch similarity index 100% rename from package/m4/m4-1.4.8-001-MB_CUR_MAX.patch rename to package/m4/m4-1.4.16-001-MB_CUR_MAX.patch diff --git a/package/m4/m4.mk b/package/m4/m4.mk index 4f18aa4..173bba8 100644 --- a/package/m4/m4.mk +++ b/package/m4/m4.mk @@ -3,10 +3,10 @@ # m4 # ############################################################# -M4_VERSION = 1.4.15 + +M4_VERSION = 1.4.16 M4_SOURCE = m4-$(M4_VERSION).tar.bz2 M4_SITE = $(BR2_GNU_MIRROR)/m4 - M4_CONF_ENV = gl_cv_func_gettimeofday_clobber=no ifneq ($(BR2_USE_WCHAR),y) diff --git a/package/module-init-tools/module-init-tools-3.11-add-manpages-config-option.patch b/package/module-init-tools/module-init-tools-3.15-add-manpages-config-option.patch similarity index 100% rename from package/module-init-tools/module-init-tools-3.11-add-manpages-config-option.patch rename to package/module-init-tools/module-init-tools-3.15-add-manpages-config-option.patch diff --git a/package/module-init-tools/module-init-tools.mk b/package/module-init-tools/module-init-tools.mk index d7e7c24..ad92a1a 100644 --- a/package/module-init-tools/module-init-tools.mk +++ b/package/module-init-tools/module-init-tools.mk @@ -3,19 +3,20 @@ # module-init-tools # ############################################################# -MODULE_INIT_TOOLS_VERSION=3.12 -MODULE_INIT_TOOLS_SOURCE=module-init-tools-$(MODULE_INIT_TOOLS_VERSION).tar.bz2 -MODULE_INIT_TOOLS_SITE=$(BR2_KERNEL_MIRROR)/linux/utils/kernel/module-init-tools/ + +MODULE_INIT_TOOLS_VERSION = 3.15 +MODULE_INIT_TOOLS_SOURCE = module-init-tools-$(MODULE_INIT_TOOLS_VERSION).tar.bz2 +MODULE_INIT_TOOLS_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/module-init-tools/ MODULE_INIT_TOOLS_CONF_ENV = ac_cv_prog_DOCBOOKTOMAN='' MODULE_INIT_TOOLS_CONF_OPT = \ --disable-static-utils \ --disable-builddir \ --program-transform-name='' -# module-init-tools-3.11-add-manpages-config-option.patch is modifying +# module-init-tools-3.15-add-manpages-config-option.patch is modifying # configure.ac and Makefile.am -MODULE_INIT_TOOLS_AUTORECONF=YES -HOST_MODULE_INIT_TOOLS_AUTORECONF=YES +MODULE_INIT_TOOLS_AUTORECONF = YES +HOST_MODULE_INIT_TOOLS_AUTORECONF = YES HOST_MODULE_INIT_TOOLS_CONF_ENV = ac_cv_prog_DOCBOOKTOMAN='' $(eval $(call AUTOTARGETS)) diff --git a/package/mpc/mpc.mk b/package/mpc/mpc.mk index 608c9f4..e5ee489 100644 --- a/package/mpc/mpc.mk +++ b/package/mpc/mpc.mk @@ -10,7 +10,6 @@ MPC_INSTALL_STAGING = YES MPC_DEPENDENCIES = gmp mpfr MPC_AUTORECONF = YES HOST_MPC_AUTORECONF = YES -HOST_MPC_DEPENDENCIES = host-gmp host-mpfr $(eval $(call AUTOTARGETS)) $(eval $(call AUTOTARGETS,host)) diff --git a/package/mpfr/mpfr.mk b/package/mpfr/mpfr.mk index 7f33599..6876d6f 100644 --- a/package/mpfr/mpfr.mk +++ b/package/mpfr/mpfr.mk @@ -10,7 +10,6 @@ MPFR_SOURCE = mpfr-$(MPFR_VERSION).tar.bz2 MPFR_INSTALL_STAGING = YES MPFR_DEPENDENCIES = gmp MPFR_MAKE_OPT = RANLIB=$(TARGET_RANLIB) -HOST_MPFR_DEPENDENCIES = host-gmp $(eval $(call AUTOTARGETS)) $(eval $(call AUTOTARGETS,host)) diff --git a/package/mtd/Config.in b/package/mtd/Config.in index 692654c..7330dd5 100644 --- a/package/mtd/Config.in +++ b/package/mtd/Config.in @@ -20,14 +20,6 @@ config BR2_PACKAGE_MTD_FLASH_ERASE bool "flash_erase" default y -config BR2_PACKAGE_MTD_FLASH_ERASEALL - bool "flash_eraseall" - default y - -config BR2_PACKAGE_MTD_FLASH_INFO - bool "flash_info" - default y - config BR2_PACKAGE_MTD_FLASH_LOCK bool "flash_lock" default y diff --git a/package/mtd/mtd.mk b/package/mtd/mtd.mk index 1b23e83..42fa7aa 100644 --- a/package/mtd/mtd.mk +++ b/package/mtd/mtd.mk @@ -3,7 +3,7 @@ # mtd provides jffs2 utilities # ############################################################# -MTD_VERSION = 1.4.6 +MTD_VERSION = 1.4.9 MTD_SOURCE = mtd-utils-$(MTD_VERSION).tar.bz2 MTD_SITE = ftp://ftp.infradead.org/pub/mtd-utils ifeq ($(BR2_PACKAGE_MTD_MKFSJFFS2),y) @@ -29,8 +29,6 @@ MTD_TARGETS_$(BR2_PACKAGE_MTD_DOCFDISK) += docfdisk MTD_TARGETS_$(BR2_PACKAGE_MTD_DOC_LOADBIOS) += doc_loadbios MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASHCP) += flashcp MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_ERASE) += flash_erase -MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_ERASEALL) += flash_eraseall -MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_INFO) += flash_info MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_LOCK) += flash_lock MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_DUMP) += flash_otp_dump MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_INFO) += flash_otp_info @@ -64,37 +62,17 @@ MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIRMVOL) += ubirmvol MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIRSVOL) += ubirsvol MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIUPDATEVOL) += ubiupdatevol -MTD_MAKE_COMMON_FLAGS = \ - $(TARGET_CONFIGURE_OPTS) CROSS=$(TARGET_CROSS) \ - WITHOUT_XATTR=1 WITHOUT_LARGEFILE=1 - -define MTD_TARGETS_BUILD - $(MAKE1) $(MTD_MAKE_COMMON_FLAGS) \ - BUILDDIR=$(@D) \ - -C $(@D) \ - $(addprefix $(@D)/, lib/libmtd.a $(MTD_TARGETS_y)) -endef - -ifneq ($(MTD_TARGETS_UBI_y),) -define MTD_TARGETS_UBI_BUILD - $(MAKE1) $(MTD_MAKE_COMMON_FLAGS) \ - BUILDDIR=$(@D)/ubi-utils/ \ - -C $(@D)/ubi-utils \ - $(addprefix $(@D)/ubi-utils/, $(MTD_TARGETS_UBI_y)) -endef -endif +MTD_TARGETS_y += $(addprefix ubi-utils/,$(MTD_TARGETS_UBI_y)) define MTD_BUILD_CMDS - $(MTD_TARGETS_BUILD) - $(MTD_TARGETS_UBI_BUILD) + $(MAKE1) $(TARGET_CONFIGURE_OPTS) CROSS=$(TARGET_CROSS) \ + BUILDDIR=$(@D) WITHOUT_XATTR=1 WITHOUT_LARGEFILE=1 -C $(@D) \ + $(addprefix $(@D)/,$(MTD_TARGETS_y)) endef define MTD_INSTALL_TARGET_CMDS for f in $(MTD_TARGETS_y) ; do \ - install -D -m 0755 $(@D)/$$f $(TARGET_DIR)/usr/sbin/$$f ; \ - done ; \ - for f in $(MTD_TARGETS_UBI_y) ; do \ - install -D -m 0755 $(@D)/ubi-utils/$$f $(TARGET_DIR)/usr/sbin/$$f ; \ + install -D -m 0755 $(@D)/$$f $(TARGET_DIR)/usr/sbin/$${f##*/} ; \ done endef diff --git a/package/multimedia/Config.in b/package/multimedia/Config.in index d50e4fc..a05d1d9 100644 --- a/package/multimedia/Config.in +++ b/package/multimedia/Config.in @@ -40,7 +40,6 @@ source "package/multimedia/mplayer/Config.in" source "package/multimedia/musepack/Config.in" source "package/multimedia/portaudio/Config.in" source "package/multimedia/pulseaudio/Config.in" -source "package/multimedia/python-mad/Config.in" source "package/multimedia/speex/Config.in" source "package/multimedia/tidsp-binaries/Config.in" source "package/multimedia/taglib/Config.in" diff --git a/package/multimedia/ffmpeg/ffmpeg-sdlconfig.patch b/package/multimedia/ffmpeg/ffmpeg-sdlconfig.patch index de2c004..64371b2 100644 --- a/package/multimedia/ffmpeg/ffmpeg-sdlconfig.patch +++ b/package/multimedia/ffmpeg/ffmpeg-sdlconfig.patch @@ -3,15 +3,15 @@ So just pass the whole string to make things simpler. Signed-off-by: Gustavo Zacarias -diff -Nura ffmpeg-0.6.1/configure ffmpeg-0.6.1.sdl/configure ---- ffmpeg-0.6.1/configure 2010-06-15 16:44:30.000000000 -0300 -+++ ffmpeg-0.6.1.sdl/configure 2011-02-25 17:13:12.979168176 -0300 -@@ -2640,7 +2640,7 @@ - die "ERROR: No version of libdc1394 found " - fi +diff -Nura ffmpeg-0.8.7.orig/configure ffmpeg-0.8.7/configure +--- ffmpeg-0.8.7.orig/configure 2011-11-21 16:49:30.000000000 -0300 ++++ ffmpeg-0.8.7/configure 2011-12-02 08:13:36.746619395 -0300 +@@ -2957,7 +2957,7 @@ + enabled libxvid && require libxvid xvid.h xvid_global -lxvidcore + enabled mlib && require mediaLib mlib_types.h mlib_VectorSub_S16_U8_Mod -lmlib -SDL_CONFIG="${cross_prefix}sdl-config" +SDL_CONFIG="${SDL_CONFIG}" - if "${SDL_CONFIG}" --version > /dev/null 2>&1; then - sdl_cflags=$("${SDL_CONFIG}" --cflags) - sdl_libs=$("${SDL_CONFIG}" --libs) + if check_pkg_config sdl SDL_version.h SDL_Linked_Version; then + check_cpp_condition SDL.h "(SDL_MAJOR_VERSION<<16 | SDL_MINOR_VERSION<<8 | SDL_PATCHLEVEL) >= 0x010201" $sdl_cflags && + enable sdl && diff --git a/package/multimedia/ffmpeg/ffmpeg.mk b/package/multimedia/ffmpeg/ffmpeg.mk index ca41892..92eb14f 100644 --- a/package/multimedia/ffmpeg/ffmpeg.mk +++ b/package/multimedia/ffmpeg/ffmpeg.mk @@ -4,7 +4,7 @@ # ############################################################# -FFMPEG_VERSION = 0.6.3 +FFMPEG_VERSION = 0.8.10 FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.bz2 FFMPEG_SITE = http://ffmpeg.org/releases FFMPEG_INSTALL_STAGING = YES @@ -123,9 +123,14 @@ else FFMPEG_CONF_OPT += --disable-zlib endif +ifeq ($(BR2_i386)$(BR2_x86_64),y) # MMX on is default for x86, disable it for lowly x86-type processors ifeq ($(BR2_x86_i386)$(BR2_x86_i486)$(BR2_x86_i586)$(BR2_x86_i686)$(BR2_x86_pentiumpro)$(BR2_x86_geode),y) FFMPEG_CONF_OPT += --disable-mmx +else +# If it is enabled, nasm is required +FFMPEG_DEPENDENCIES += host-nasm +endif endif # ARM defaults to v5: clear if less, add extra if more @@ -145,7 +150,7 @@ endif # Set powerpc altivec appropriately ifeq ($(BR2_powerpc),y) ifeq ($(BR2_powerpc_7400)$(BR2_powerpc_7450)$(BR2_powerpc_970),y) -FFMPEG_CONF_OPT -= --enable-altivec +FFMPEG_CONF_OPT += --enable-altivec else FFMPEG_CONF_OPT += --disable-altivec endif diff --git a/package/multimedia/gst-dsp/gst-dsp.mk b/package/multimedia/gst-dsp/gst-dsp.mk index 17eb189..9682962 100644 --- a/package/multimedia/gst-dsp/gst-dsp.mk +++ b/package/multimedia/gst-dsp/gst-dsp.mk @@ -1,6 +1,5 @@ -GST_DSP_VERSION=0.8.0 -GST_DSP_SOURCE=gst-dsp-$(GST_DSP_VERSION).tar.gz -GST_DSP_SITE=http://gst-dsp.googlecode.com/files/ +GST_DSP_VERSION = 0.10.2 +GST_DSP_SITE = http://gst-dsp.googlecode.com/files/ define GST_DSP_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) -e @@ -14,6 +13,6 @@ define GST_DSP_UNINSTALL_TARGET_CMDS $(RM) $(TARGET_DIR)/usr/lib/gstreamer-0.10/libgstdsp.so endef -GST_DSP_DEPENDENCIES = gstreamer tidsp-binaries +GST_DSP_DEPENDENCIES = gstreamer tidsp-binaries host-pkg-config $(eval $(call GENTARGETS)) diff --git a/package/multimedia/gst-ffmpeg/gst-ffmpeg.mk b/package/multimedia/gst-ffmpeg/gst-ffmpeg.mk index 41a7f3b..c955632 100644 --- a/package/multimedia/gst-ffmpeg/gst-ffmpeg.mk +++ b/package/multimedia/gst-ffmpeg/gst-ffmpeg.mk @@ -4,11 +4,11 @@ # ############################################################# -GST_FFMPEG_VERSION = 0.10.11 +GST_FFMPEG_VERSION = 0.10.13 GST_FFMPEG_SOURCE = gst-ffmpeg-$(GST_FFMPEG_VERSION).tar.bz2 GST_FFMPEG_SITE = http://gstreamer.freedesktop.org/src/gst-ffmpeg GST_FFMPEG_INSTALL_STAGING = YES -GST_FFMPEG_DEPENDENCIES = gstreamer gst-plugins-base ffmpeg +GST_FFMPEG_DEPENDENCIES = host-pkg-config gstreamer gst-plugins-base ffmpeg GST_FFMPEG_CONF_OPT = --with-system-ffmpeg ifeq ($(BR2_PACKAGE_BZIP2),y) diff --git a/package/multimedia/gst-plugins-base/gst-plugins-base-0.10.35-tremor.patch b/package/multimedia/gst-plugins-base/gst-plugins-base-0.10.35-tremor.patch new file mode 100644 index 0000000..fa8785b --- /dev/null +++ b/package/multimedia/gst-plugins-base/gst-plugins-base-0.10.35-tremor.patch @@ -0,0 +1,139 @@ +From 0088753651350de3060ece22c1be4153b6009515 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Wed, 25 Jan 2012 23:53:04 +0100 +Subject: [PATCH] base: vorbisdeclib: support modern Tremor versions + +Reported upstream as https://bugzilla.gnome.org/show_bug.cgi?id=668726 + +Tremor changed to use standard libogg rather than its own incompatible +copy back in Aug 2010 (r17375), causing gst-plugin-base build to fail. + +Tremolo so far unfortunately hasn't been updated. Restructure +vorbisdeclib.h so the legacy _ogg_packet_wrapper code is only used for +Tremolo. + +Signed-off-by: Peter Korsgaard +--- + ext/vorbis/gstvorbisdeclib.h | 77 ++++++++++++++++++++++------------------- + 1 files changed, 41 insertions(+), 36 deletions(-) + +diff --git a/ext/vorbis/gstvorbisdeclib.h b/ext/vorbis/gstvorbisdeclib.h +index ca00af9..e147591 100644 +--- a/ext/vorbis/gstvorbisdeclib.h ++++ b/ext/vorbis/gstvorbisdeclib.h +@@ -29,11 +29,6 @@ + + #ifndef TREMOR + +-#include +- +-typedef float vorbis_sample_t; +-typedef ogg_packet ogg_packet_wrapper; +- + #define GST_VORBIS_DEC_DESCRIPTION "decode raw vorbis streams to float audio" + + #define GST_VORBIS_DEC_SRC_CAPS \ +@@ -47,6 +42,42 @@ typedef ogg_packet ogg_packet_wrapper; + + #define GST_VORBIS_DEC_GLIB_TYPE_NAME GstVorbisDec + ++#else /* TREMOR */ ++ ++#define GST_VORBIS_DEC_DESCRIPTION "decode raw vorbis streams to integer audio" ++ ++#define GST_VORBIS_DEC_SRC_CAPS \ ++ GST_STATIC_CAPS ("audio/x-raw-int, " \ ++ "rate = (int) [ 1, MAX ], " \ ++ "channels = (int) [ 1, 6 ], " \ ++ "endianness = (int) BYTE_ORDER, " \ ++ "width = (int) { 16, 32 }, " \ ++ "depth = (int) 16, " \ ++ "signed = (boolean) true") ++ ++#define GST_VORBIS_DEC_DEFAULT_SAMPLE_WIDTH (16) ++ ++/* we need a different type name here */ ++#define GST_VORBIS_DEC_GLIB_TYPE_NAME GstIVorbisDec ++ ++/* and still have it compile */ ++typedef struct _GstVorbisDec GstIVorbisDec; ++typedef struct _GstVorbisDecClass GstIVorbisDecClass; ++ ++#endif /* TREMOR */ ++ ++#ifndef USE_TREMOLO ++ ++#ifdef TREMOR ++ #include ++ typedef ogg_int32_t vorbis_sample_t; ++#else ++ #include ++ typedef float vorbis_sample_t; ++#endif ++ ++typedef ogg_packet ogg_packet_wrapper; ++ + static inline guint8 * + gst_ogg_packet_data (ogg_packet * p) + { +@@ -72,17 +103,11 @@ gst_ogg_packet_from_wrapper (ogg_packet_wrapper * packet) + return packet; + } + +-#else +- +-#ifdef USE_TREMOLO +- #include +- #include +- typedef ogg_int16_t vorbis_sample_t; +-#else +- #include +- typedef ogg_int32_t vorbis_sample_t; +-#endif ++#else /* USE_TREMOLO */ + ++#include ++#include ++typedef ogg_int16_t vorbis_sample_t; + typedef struct _ogg_packet_wrapper ogg_packet_wrapper; + + struct _ogg_packet_wrapper { +@@ -91,26 +116,6 @@ struct _ogg_packet_wrapper { + ogg_buffer buf; + }; + +-#define GST_VORBIS_DEC_DESCRIPTION "decode raw vorbis streams to integer audio" +- +-#define GST_VORBIS_DEC_SRC_CAPS \ +- GST_STATIC_CAPS ("audio/x-raw-int, " \ +- "rate = (int) [ 1, MAX ], " \ +- "channels = (int) [ 1, 6 ], " \ +- "endianness = (int) BYTE_ORDER, " \ +- "width = (int) { 16, 32 }, " \ +- "depth = (int) 16, " \ +- "signed = (boolean) true") +- +-#define GST_VORBIS_DEC_DEFAULT_SAMPLE_WIDTH (16) +- +-/* we need a different type name here */ +-#define GST_VORBIS_DEC_GLIB_TYPE_NAME GstIVorbisDec +- +-/* and still have it compile */ +-typedef struct _GstVorbisDec GstIVorbisDec; +-typedef struct _GstVorbisDecClass GstIVorbisDecClass; +- + /* compensate minor variation */ + #define vorbis_synthesis(a, b) vorbis_synthesis (a, b, 1) + +@@ -154,7 +159,7 @@ gst_ogg_packet_from_wrapper (ogg_packet_wrapper * packet) + return &(packet->packet); + } + +-#endif ++#endif /* USE_TREMOLO */ + + typedef void (*CopySampleFunc)(vorbis_sample_t *out, vorbis_sample_t **in, + guint samples, gint channels, gint width); +-- +1.7.8.3 + diff --git a/package/multimedia/gst-plugins-base/gst-plugins-base.mk b/package/multimedia/gst-plugins-base/gst-plugins-base.mk index 87ee80d..3b21c27 100644 --- a/package/multimedia/gst-plugins-base/gst-plugins-base.mk +++ b/package/multimedia/gst-plugins-base/gst-plugins-base.mk @@ -26,6 +26,10 @@ GST_PLUGINS_BASE_CONF_OPT = \ GST_PLUGINS_BASE_DEPENDENCIES = gstreamer +ifeq ($(BR2_PACKAGE_ORC),y) +GST_PLUGINS_BASE_DEPENDENCIES += orc +endif + # alsa support needs pcm+mixer support, but configure fails to check for it ifeq ($(BR2_PACKAGE_ALSA_LIB)$(BR2_PACKAGE_ALSA_LIB_MIXER)$(BR2_PACKAGE_ALSA_LIB_PCM),yyy) GST_PLUGINS_BASE_DEPENDENCIES += alsa-lib diff --git a/package/multimedia/lame/lame-no-static.patch b/package/multimedia/lame/lame-no-static.patch deleted file mode 100644 index f507f7f..0000000 --- a/package/multimedia/lame/lame-no-static.patch +++ /dev/null @@ -1,28 +0,0 @@ -We don't want statically compiled binaries by force so nuke that. - -Signed-off-by: Gustavo Zacarias - -diff -Nura lame-3.98.4/frontend/Makefile.am lame-3.98.4.nostatic/frontend/Makefile.am ---- lame-3.98.4/frontend/Makefile.am 2006-09-30 06:17:05.000000000 -0300 -+++ lame-3.98.4.nostatic/frontend/Makefile.am 2011-02-10 13:46:05.512559590 -0300 -@@ -52,7 +52,7 @@ - endif - - CFLAGS = @CFLAGS@ @GTK_CFLAGS@ @FRONTEND_CFLAGS@ @SNDFILE_CFLAGS@ --LDFLAGS = @LDFLAGS@ @FRONTEND_LDFLAGS@ @SNDFILE_LIBS@ -static -+LDFLAGS = @LDFLAGS@ @FRONTEND_LDFLAGS@ @SNDFILE_LIBS@ - - INCLUDES = -I$(top_srcdir)/libmp3lame -I$(top_srcdir)/include -I$(top_builddir) - -diff -Nura lame-3.98.4/frontend/Makefile.in lame-3.98.4.nostatic/frontend/Makefile.in ---- lame-3.98.4/frontend/Makefile.in 2008-06-25 09:17:51.000000000 -0300 -+++ lame-3.98.4.nostatic/frontend/Makefile.in 2011-02-10 13:45:54.752559590 -0300 -@@ -152,7 +152,7 @@ - $(top_builddir)/libmp3lame/libmp3lame.la \ - @FRONTEND_LDADD@ - --LDFLAGS = @LDFLAGS@ @FRONTEND_LDFLAGS@ @SNDFILE_LIBS@ -static -+LDFLAGS = @LDFLAGS@ @FRONTEND_LDFLAGS@ @SNDFILE_LIBS@ - LIBOBJS = @LIBOBJS@ - LIBS = @LIBS@ - LIBTOOL = @LIBTOOL@ diff --git a/package/multimedia/lame/lame.mk b/package/multimedia/lame/lame.mk index 7609f2d..fbf0dda 100644 --- a/package/multimedia/lame/lame.mk +++ b/package/multimedia/lame/lame.mk @@ -4,11 +4,12 @@ # ############################################################# -LAME_VERSION = 3.98.4 +LAME_VERSION = 3.99 LAME_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/lame LAME_DEPENDENCIES = host-pkg-config LAME_INSTALL_STAGING = YES LAME_CONF_ENV = GTK_CONFIG=/bin/false +LAME_CONF_OPT = --enable-dynamic-frontends ifeq ($(BR2_PACKAGE_LIBSNDFILE),y) LAME_DEPENDENCIES += libsndfile diff --git a/package/multimedia/libmms/libmms-prevent-unaligned-dereferences.patch b/package/multimedia/libmms/libmms-prevent-unaligned-dereferences.patch deleted file mode 100644 index 9c606eb..0000000 --- a/package/multimedia/libmms/libmms-prevent-unaligned-dereferences.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 4fd16633a8c379971425f7fd482152f163b09158 Mon Sep 17 00:00:00 2001 -From: Paul Burton -Date: Fri, 17 Sep 2010 14:08:57 +0100 -Subject: [PATCH] Endianness macros should not dereference unaligned pointers - -The LE_*/BE_* macros previously worked by casting the pointer passed to them to a pointer to the correct integer type, then dereferencing it. This will not work on architectures which don't allow unaligned data access. Instead, access one byte at a time and shift to form the value. ---- - src/bswap.h | 59 +++++++++++++++++++++++++++++++++++++++++++---------------- - 1 files changed, 43 insertions(+), 16 deletions(-) - -diff --git a/src/bswap.h b/src/bswap.h -index b731da7..59e8716 100644 ---- a/src/bswap.h -+++ b/src/bswap.h -@@ -21,23 +21,50 @@ - */ - - --/* Go cheap now, will rip out glib later. *Sigh* */ --#include -- --/* NOTE: -- * Now, to clear up confusion: LE_XX means "from LE to native, XX bits wide" -- * I know it's not very clear naming (tell me about it, I -- * misinterpreted in first version and caused bad nasty bug, *sigh*), -- * but that's inherited code, will clean up as things go -- * Oh, and one more thing -- they take *pointers*, not actual ints -- */ -+#include -+ -+#define SWAP_ENDIAN_16(val) \ -+ (val[1] | (val[0] << 8)) -+#define SWAP_ENDIAN_32(val) \ -+ (val[3] | (val[2] << 8) | (val[1] << 16) | (val[0] << 24)) -+#define SWAP_ENDIAN_64(val) \ -+ (val[7] | (val[6] << 8) | (val[5] << 16) | (val[4] << 24) | \ -+ ((uint64_t)val[3] << 32) | ((uint64_t)val[2] << 40) | \ -+ ((uint64_t)val[1] << 48) | ((uint64_t)val[0] << 56)) -+ -+#define SAME_ENDIAN_16(val) \ -+ (val[0] | (val[1] << 8)) -+#define SAME_ENDIAN_32(val) \ -+ (val[0] | (val[1] << 8) | (val[2] << 16) | (val[3] << 24)) -+#define SAME_ENDIAN_64(val) \ -+ (val[0] | (val[1] << 8) | (val[2] << 16) | (val[3] << 24) | \ -+ ((uint64_t)val[4] << 32) | ((uint64_t)val[5] << 40) | \ -+ ((uint64_t)val[6] << 48) | ((uint64_t)val[7] << 56)) -+ -+#ifndef WORDS_BIGENDIAN -+ -+/* Little endian */ -+ -+#define LE_16(val) SAME_ENDIAN_16(((uint8_t *)(val))) -+#define LE_32(val) SAME_ENDIAN_32(((uint8_t *)(val))) -+#define LE_64(val) SAME_ENDIAN_64(((uint8_t *)(val))) -+#define BE_16(val) SWAP_ENDIAN_16(((uint8_t *)(val))) -+#define BE_32(val) SWAP_ENDIAN_32(((uint8_t *)(val))) -+#define BE_64(val) SWAP_ENDIAN_64(((uint8_t *)(val))) -+ -+#elif WORDS_BIGENDIAN == 1 -+ -+/* Big endian */ - --#define LE_16(val) (GINT16_FROM_LE (*((u_int16_t*)(val)))) --#define BE_16(val) (GINT16_FROM_BE (*((u_int16_t*)(val)))) --#define LE_32(val) (GINT32_FROM_LE (*((u_int32_t*)(val)))) --#define BE_32(val) (GINT32_FROM_BE (*((u_int32_t*)(val)))) -+#define LE_16(val) SWAP_ENDIAN_16(((uint8_t *)(val))) -+#define LE_32(val) SWAP_ENDIAN_32(((uint8_t *)(val))) -+#define LE_64(val) SWAP_ENDIAN_64(((uint8_t *)(val))) -+#define BE_16(val) SAME_ENDIAN_16(((uint8_t *)(val))) -+#define BE_32(val) SAME_ENDIAN_32(((uint8_t *)(val))) -+#define BE_64(val) SAME_ENDIAN_64(((uint8_t *)(val))) - --#define LE_64(val) (GINT64_FROM_LE (*((u_int64_t*)(val)))) --#define BE_64(val) (GINT64_FROM_BE (*((u_int64_t*)(val)))) -+#else -+#error Unknown endianness! -+#endif - - #endif /* BSWAP_H_INCLUDED */ --- -1.7.2.2 - diff --git a/package/multimedia/libmms/libmms.mk b/package/multimedia/libmms/libmms.mk index 50ece53..45d1844 100644 --- a/package/multimedia/libmms/libmms.mk +++ b/package/multimedia/libmms/libmms.mk @@ -3,13 +3,11 @@ # libmms # ############################################################# -LIBMMS_VERSION = 0.6 +LIBMMS_VERSION = 0.6.2 LIBMMS_SOURCE = libmms-$(LIBMMS_VERSION).tar.gz LIBMMS_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/libmms -LIBMMS_AUTORECONF = NO LIBMMS_INSTALL_STAGING = YES -LIBMMS_INSTALL_TARGET = YES LIBMMS_DEPENDENCIES = host-pkg-config libglib2 diff --git a/package/multimedia/libogg/libogg.mk b/package/multimedia/libogg/libogg.mk index 86d5b01..c40f04e 100644 --- a/package/multimedia/libogg/libogg.mk +++ b/package/multimedia/libogg/libogg.mk @@ -3,12 +3,10 @@ # libogg # ############################################################# -LIBOGG_VERSION = 1.2.2 +LIBOGG_VERSION = 1.3.0 LIBOGG_SOURCE = libogg-$(LIBOGG_VERSION).tar.gz LIBOGG_SITE = http://downloads.xiph.org/releases/ogg -LIBOGG_AUTORECONF = NO LIBOGG_INSTALL_STAGING = YES -LIBOGG_INSTALL_TARGET = YES LIBOGG_DEPENDENCIES = host-pkg-config diff --git a/package/multimedia/libvorbis/libvorbis.mk b/package/multimedia/libvorbis/libvorbis.mk index dfe7bce..6844414 100644 --- a/package/multimedia/libvorbis/libvorbis.mk +++ b/package/multimedia/libvorbis/libvorbis.mk @@ -4,12 +4,10 @@ # ############################################################# -LIBVORBIS_VERSION = 1.3.2 +LIBVORBIS_VERSION = 1.3.3 LIBVORBIS_SOURCE = libvorbis-$(LIBVORBIS_VERSION).tar.gz LIBVORBIS_SITE = http://downloads.xiph.org/releases/vorbis/$(LIBVORBIS-SOURCE) -LIBVORBIS_AUTORECONF = NO LIBVORBIS_INSTALL_STAGING = YES -LIBVORBIS_INSTALL_TARGET = YES LIBVORBIS_CONF_OPT = --disable-oggtest diff --git a/package/multimedia/mpd/mpd.mk b/package/multimedia/mpd/mpd.mk index b29b9f7..009fabb 100644 --- a/package/multimedia/mpd/mpd.mk +++ b/package/multimedia/mpd/mpd.mk @@ -4,7 +4,7 @@ # ############################################################# -MPD_VERSION = 0.16.5 +MPD_VERSION = 0.16.6 MPD_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/musicpd MPD_AUTORECONF = YES MPD_DEPENDENCIES = host-pkg-config libglib2 diff --git a/package/multimedia/mplayer/mplayer-theora-fix.patch b/package/multimedia/mplayer/mplayer-theora-fix.patch new file mode 100644 index 0000000..08bb29b --- /dev/null +++ b/package/multimedia/mplayer/mplayer-theora-fix.patch @@ -0,0 +1,374 @@ +[PATCH] fix libtheora linking issue with modern theora versions + +This is a squash/backport of upstream r34498 (configure: Simplify +Theora check) and r34503 (Port libtheora glue code to Theora 1.0 API). + +Signed-off-by: Peter Korsgaard +--- + configure | 56 ++++-------------------------------- + libmpcodecs/vd_theora.c | 74 +++++++++++++++++++++++++----------------------- + libmpdemux/demux_ogg.c | 54 ++++++++++++++++++----------------- + 3 files changed, 74 insertions(+), 110 deletions(-) + +Index: mplayer-32726/configure +=================================================================== +--- mplayer-32726.orig/configure ++++ mplayer-32726/configure +@@ -6404,57 +6404,15 @@ + echocheck "OggTheora support" + if test "$_theora" = auto ; then + _theora=no +- cat > $TMPC << EOF +-#include +-#include +-int main(void) { +- /* Theora is in flux, make sure that all interface routines and datatypes +- * exist and work the way we expect it, so we don't break MPlayer. */ +- ogg_packet op; +- theora_comment tc; +- theora_info inf; +- theora_state st; +- yuv_buffer yuv; +- int r; +- double t; +- +- theora_info_init(&inf); +- theora_comment_init(&tc); +- +- return 0; +- +- /* we don't want to execute this kind of nonsense; just for making sure +- * that compilation works... */ +- memset(&op, 0, sizeof(op)); +- r = theora_decode_header(&inf, &tc, &op); +- r = theora_decode_init(&st, &inf); +- t = theora_granule_time(&st, op.granulepos); +- r = theora_decode_packetin(&st, &op); +- r = theora_decode_YUVout(&st, &yuv); +- theora_clear(&st); +- +- return 0; +-} +-EOF +- _ld_theora=$($_pkg_config --silence-errors --libs theora) +- _inc_theora=$($_pkg_config --silence-errors --cflags theora) +- cc_check $_inc_theora $_ld_theora && extra_ldflags="$extra_ldflags $_ld_theora" && +- extra_cflags="$extra_cflags $_inc_theora" && _theora=yes ++ ld_theora="-ltheoradec -logg" ++ statement_check theora/theoradec.h 'theora_info_init(NULL)' $ld_theora && ++ extra_ldflags="$extra_ldflags $ld_theora" && _theora=yes + if test _theora = no; then +- _ld_theora="-ltheora -logg" +- cc_check $_ld_theora && extra_ldflags="$extra_ldflags $_ld_theora" && _theora=yes +- fi +- if test "$_theora" = no && test "$_tremor_internal" = yes; then +- _ld_theora=$($_pkg_config --silence-errors --libs theora) +- _inc_theora=$($_pkg_config --silence-errors --cflags theora) +- cc_check tremor/bitwise.c $_inc_theora $_ld_theora && ++ _ld_theora=$($_pkg_config --silence-errors --libs theoradec) ++ _inc_theora=$($_pkg_config --silence-errors --cflags theoradec) ++ statement_check theora/theoradec.h 'theora_info_init(NULL)' $inc_theora $ld_theora && + extra_ldflags="$extra_ldflags $_ld_theora" && + extra_cflags="$extra_cflags $_inc_theora" && _theora=yes +- if test _theora = no; then +- _ld_theora="-ltheora -logg" +- cc_check tremor/bitwise.c $_ld_theora && +- extra_ldflags="$extra_ldflags $_ld_theora" && _theora=yes +- fi + fi + fi + if test "$_theora" = yes ; then +@@ -6462,7 +6420,7 @@ + codecmodules="libtheora $codecmodules" + # when --enable-theora is forced, we'd better provide a probably sane + # $_ld_theora than nothing +- test -z "$_ld_theora" && extra_ldflags="$extra_ldflags -ltheora -logg" ++ test -z "$_ld_theora" && extra_ldflags="$extra_ldflags -ltheoradec -logg" + else + def_theora='#undef CONFIG_OGGTHEORA' + nocodecmodules="libtheora $nocodecmodules" +Index: mplayer-32726/libmpcodecs/vd_theora.c +=================================================================== +--- mplayer-32726.orig/libmpcodecs/vd_theora.c ++++ mplayer-32726/libmpcodecs/vd_theora.c +@@ -39,22 +39,23 @@ + + LIBVD_EXTERN(theora) + +-#include ++#include + + #define THEORA_NUM_HEADER_PACKETS 3 + + typedef struct theora_struct_st { +- theora_state st; +- theora_comment cc; +- theora_info inf; ++ th_setup_info *tsi; ++ th_dec_ctx *tctx; ++ th_comment tc; ++ th_info ti; + } theora_struct_t; + + /** Convert Theora pixelformat to the corresponding IMGFMT_ */ +-static uint32_t theora_pixelformat2imgfmt(theora_pixelformat fmt){ ++static uint32_t theora_pixelformat2imgfmt(th_pixel_fmt fmt){ + switch(fmt) { +- case OC_PF_420: return IMGFMT_YV12; +- case OC_PF_422: return IMGFMT_422P; +- case OC_PF_444: return IMGFMT_444P; ++ case TH_PF_420: return IMGFMT_YV12; ++ case TH_PF_422: return IMGFMT_422P; ++ case TH_PF_444: return IMGFMT_444P; + } + return 0; + } +@@ -64,7 +65,7 @@ + theora_struct_t *context = sh->context; + switch(cmd) { + case VDCTRL_QUERY_FORMAT: +- if (*(int*)arg == theora_pixelformat2imgfmt(context->inf.pixelformat)) ++ if (*(int*)arg == theora_pixelformat2imgfmt(context->ti.pixel_fmt)) + return CONTROL_TRUE; + return CONTROL_FALSE; + } +@@ -88,8 +89,9 @@ + if (!context) + goto err_out; + +- theora_info_init(&context->inf); +- theora_comment_init(&context->cc); ++ th_info_init(&context->ti); ++ th_comment_init(&context->tc); ++ context->tsi = NULL; + + /* Read all header packets, pass them to theora_decode_header. */ + for (i = 0; i < THEORA_NUM_HEADER_PACKETS; i++) +@@ -109,7 +111,7 @@ + op.b_o_s = 1; + } + +- if ( (errorCode = theora_decode_header (&context->inf, &context->cc, &op)) ) ++ if ( (errorCode = th_decode_headerin (&context->ti, &context->tc, &context->tsi, &op)) < 0) + { + mp_msg(MSGT_DECVIDEO, MSGL_ERR, "Broken Theora header; errorCode=%i!\n", errorCode); + goto err_out; +@@ -117,23 +119,25 @@ + } + + /* now init codec */ +- errorCode = theora_decode_init (&context->st, &context->inf); +- if (errorCode) ++ context->tctx = th_decode_alloc (&context->ti, context->tsi); ++ if (!context->tctx) + { +- mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Theora decode init failed: %i \n", errorCode); ++ mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Theora decode init failed\n"); + goto err_out; + } ++ /* free memory used for decoder setup information */ ++ th_setup_free(context->tsi); + +- if(sh->aspect==0.0 && context->inf.aspect_denominator!=0) ++ if(sh->aspect==0.0 && context->ti.aspect_denominator!=0) + { +- sh->aspect = ((double)context->inf.aspect_numerator * context->inf.width)/ +- ((double)context->inf.aspect_denominator * context->inf.height); ++ sh->aspect = ((double)context->ti.aspect_numerator * context->ti.frame_width)/ ++ ((double)context->ti.aspect_denominator * context->ti.frame_height); + } + + mp_msg(MSGT_DECVIDEO,MSGL_V,"INFO: Theora video init ok!\n"); +- mp_msg(MSGT_DECVIDEO,MSGL_INFO,"Frame: %dx%d, Picture %dx%d, Offset [%d,%d]\n", context->inf.width, context->inf.height, context->inf.frame_width, context->inf.frame_height, context->inf.offset_x, context->inf.offset_y); ++ mp_msg(MSGT_DECVIDEO,MSGL_INFO,"Frame: %dx%d, Picture %dx%d, Offset [%d,%d]\n", context->ti.frame_width, context->ti.frame_height, context->ti.pic_width, context->ti.pic_height, context->ti.pic_x, context->ti.pic_y); + +- return mpcodecs_config_vo (sh,context->inf.width,context->inf.height,theora_pixelformat2imgfmt(context->inf.pixelformat)); ++ return mpcodecs_config_vo (sh,context->ti.frame_width,context->ti.frame_height,theora_pixelformat2imgfmt(context->ti.pixel_fmt)); + + err_out: + free(context); +@@ -150,9 +154,9 @@ + + if (context) + { +- theora_info_clear(&context->inf); +- theora_comment_clear(&context->cc); +- theora_clear (&context->st); ++ th_info_clear(&context->ti); ++ th_comment_clear(&context->tc); ++ th_decode_free (context->tctx); + free (context); + } + } +@@ -165,7 +169,7 @@ + theora_struct_t *context = sh->context; + int errorCode = 0; + ogg_packet op; +- yuv_buffer yuv; ++ th_ycbcr_buffer ycbcrbuf; + mp_image_t* mpi; + + // no delayed frames +@@ -177,31 +181,31 @@ + op.packet = data; + op.granulepos = -1; + +- errorCode = theora_decode_packetin (&context->st, &op); +- if (errorCode) ++ errorCode = th_decode_packetin (context->tctx, &op, NULL); ++ if (errorCode < 0) + { + mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Theora decode packetin failed: %i \n", + errorCode); + return NULL; + } + +- errorCode = theora_decode_YUVout (&context->st, &yuv); +- if (errorCode) ++ errorCode = th_decode_ycbcr_out (context->tctx, ycbcrbuf); ++ if (errorCode < 0) + { + mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Theora decode YUVout failed: %i \n", + errorCode); + return NULL; + } + +- mpi = mpcodecs_get_image(sh, MP_IMGTYPE_EXPORT, 0, yuv.y_width, yuv.y_height); ++ mpi = mpcodecs_get_image(sh, MP_IMGTYPE_EXPORT, 0, ycbcrbuf[0].width, ycbcrbuf[0].height); + if(!mpi) return NULL; + +- mpi->planes[0]=yuv.y; +- mpi->stride[0]=yuv.y_stride; +- mpi->planes[1]=yuv.u; +- mpi->stride[1]=yuv.uv_stride; +- mpi->planes[2]=yuv.v; +- mpi->stride[2]=yuv.uv_stride; ++ mpi->planes[0]=ycbcrbuf[0].data; ++ mpi->stride[0]=ycbcrbuf[0].stride; ++ mpi->planes[1]=ycbcrbuf[1].data; ++ mpi->stride[1]=ycbcrbuf[1].stride; ++ mpi->planes[2]=ycbcrbuf[2].data; ++ mpi->stride[2]=ycbcrbuf[2].stride; + + return mpi; + } +Index: mplayer-32726/libmpdemux/demux_ogg.c +=================================================================== +--- mplayer-32726.orig/libmpdemux/demux_ogg.c ++++ mplayer-32726/libmpdemux/demux_ogg.c +@@ -49,21 +49,21 @@ + #endif + + #ifdef CONFIG_OGGTHEORA +-#include +-int _ilog (unsigned int); /* defined in many places in theora/lib/ */ ++#include + #endif + + #define BLOCK_SIZE 4096 + + /* Theora decoder context : we won't be able to interpret granule positions +- * without using theora_granule_time with the theora_state of the stream. ++ * without using th_granule_time with the th_dec_ctx of the stream. + * This is duplicated in `vd_theora.c'; put this in a common header? + */ + #ifdef CONFIG_OGGTHEORA + typedef struct theora_struct_st { +- theora_state st; +- theora_comment cc; +- theora_info inf; ++ th_setup_info *tsi; ++ th_dec_ctx *tctx; ++ th_comment tc; ++ th_info ti; + } theora_struct_t; + #endif + +@@ -116,7 +116,7 @@ + float samplerate; /// granulpos 2 time + int64_t lastpos; + int32_t lastsize; +- int keyframe_frequency_force; ++ int keyframe_granule_shift; + + // Logical stream state + ogg_stream_state stream; +@@ -299,11 +299,10 @@ + have theora_state st, until all header packets were passed to the + decoder. */ + if (!pack->bytes || !(*data&0x80)) { +- int keyframe_granule_shift = _ilog(os->keyframe_frequency_force - 1); +- int64_t iframemask = (1 << keyframe_granule_shift) - 1; ++ int64_t iframemask = (1 << os->keyframe_granule_shift) - 1; + + if (pack->granulepos >= 0) { +- os->lastpos = pack->granulepos >> keyframe_granule_shift; ++ os->lastpos = pack->granulepos >> os->keyframe_granule_shift; + os->lastpos += pack->granulepos & iframemask; + *flags = (pack->granulepos & iframemask) == 0; + } else { +@@ -892,14 +891,15 @@ + #ifdef CONFIG_OGGTHEORA + } else if (pack.bytes >= 7 && !strncmp (&pack.packet[1], "theora", 6)) { + int errorCode = 0; +- theora_info inf; +- theora_comment cc; ++ th_info ti; ++ th_comment tc; ++ th_setup_info *tsi = NULL; + +- theora_info_init (&inf); +- theora_comment_init (&cc); ++ th_info_init (&ti); ++ th_comment_init (&tc); + +- errorCode = theora_decode_header (&inf, &cc, &pack); +- if (errorCode) { ++ errorCode = th_decode_headerin(&ti, &tc, &tsi, &pack); ++ if (errorCode < 0) { + mp_msg(MSGT_DEMUX, MSGL_ERR, + "Theora header parsing failed: %i \n", errorCode); + } else { +@@ -908,30 +908,32 @@ + sh_v->bih = calloc(1, sizeof(*sh_v->bih)); + sh_v->bih->biSize = sizeof(*sh_v->bih); + sh_v->bih->biCompression = sh_v->format = FOURCC_THEORA; +- sh_v->fps = ((double)inf.fps_numerator) / (double)inf.fps_denominator; +- sh_v->frametime = ((double)inf.fps_denominator) / (double)inf.fps_numerator; +- sh_v->disp_w = sh_v->bih->biWidth = inf.frame_width; +- sh_v->disp_h = sh_v->bih->biHeight = inf.frame_height; ++ sh_v->fps = ((double)ti.fps_numerator) / (double)ti.fps_denominator; ++ sh_v->frametime = ((double)ti.fps_denominator) / (double)ti.fps_numerator; ++ sh_v->i_bps = ti.target_bitrate / 8; ++ sh_v->disp_w = sh_v->bih->biWidth = ti.frame_width; ++ sh_v->disp_h = sh_v->bih->biHeight = ti.frame_height; + sh_v->bih->biBitCount = 24; + sh_v->bih->biPlanes = 3; + sh_v->bih->biSizeImage = ((sh_v->bih->biBitCount / 8) * sh_v->bih->biWidth * sh_v->bih->biHeight); + ogg_d->subs[ogg_d->num_sub].samplerate = sh_v->fps; + ogg_d->subs[ogg_d->num_sub].theora = 1; +- ogg_d->subs[ogg_d->num_sub].keyframe_frequency_force = inf.keyframe_frequency_force; ++ ogg_d->subs[ogg_d->num_sub].keyframe_granule_shift = ti.keyframe_granule_shift; + ogg_d->subs[ogg_d->num_sub].id = n_video; + n_video++; + mp_msg(MSGT_DEMUX, MSGL_INFO, + "[Ogg] stream %d: video (Theora v%d.%d.%d), -vid %d\n", + ogg_d->num_sub, +- (int)inf.version_major, +- (int)inf.version_minor, +- (int)inf.version_subminor, ++ (int)ti.version_major, ++ (int)ti.version_minor, ++ (int)ti.version_subminor, + n_video - 1); + if (mp_msg_test(MSGT_HEADER, MSGL_V)) + print_video_header(sh_v->bih, MSGL_V); + } +- theora_comment_clear(&cc); +- theora_info_clear(&inf); ++ th_comment_clear(&tc); ++ th_info_clear(&ti); ++ th_setup_free(tsi); + #endif /* CONFIG_OGGTHEORA */ + } else if (pack.bytes >= 4 && !strncmp (&pack.packet[0], "fLaC", 4)) { + sh_a = new_sh_audio_aid(demuxer, ogg_d->num_sub, n_audio, NULL); diff --git a/package/multimedia/mplayer/mplayer.mk b/package/multimedia/mplayer/mplayer.mk index 96b4e73..216bb46 100644 --- a/package/multimedia/mplayer/mplayer.mk +++ b/package/multimedia/mplayer/mplayer.mk @@ -67,11 +67,16 @@ else MPLAYER_CONF_OPTS += --disable-mencoder endif -ifeq ($(BR2_PACKAGE_TREMOR)$(BR2_PACKAGE_LIBOGG),yy) -MPLAYER_DEPENDENCIES += tremor libogg +ifeq ($(BR2_PACKAGE_TREMOR),y) +MPLAYER_DEPENDENCIES += tremor MPLAYER_CONF_OPTS += --disable-tremor-internal --enable-tremor endif +ifeq ($(BR2_PACKAGE_LIBVORBIS),y) +MPLAYER_DEPENDENCIES += libvorbis +MPLAYER_CONF_OPTS += --enable-libvorbis +endif + ifeq ($(BR2_PACKAGE_LIBMAD),y) MPLAYER_DEPENDENCIES += libmad else diff --git a/package/multimedia/tremor/tremor-export-all-symbols.patch b/package/multimedia/tremor/tremor-export-all-symbols.patch deleted file mode 100644 index 127d16b..0000000 --- a/package/multimedia/tremor/tremor-export-all-symbols.patch +++ /dev/null @@ -1,32 +0,0 @@ ---- tremor-16259-orig/configure.in 2009-12-02 11:45:11.000000000 +0100 -+++ tremor-16259/configure.in 2009-12-03 16:50:19.000000000 +0100 -@@ -72,23 +72,6 @@ - LDFLAGS="$LDFLAGS $ldflags_save" - - --# Test whenever ld supports -version-script --AC_PROG_LD --AC_PROG_LD_GNU --if test "x$lt_cv_prog_gnu_ld" = "xyes"; then -- SHLIB_VERSION_ARG="Wl,--version-script=Version_script" -- -- dnl Set extra linker options -- case "$target_os" in -- linux* | solaris* ) -- SHLIB_VERSION_ARG="-Wl,--version-script=Version_script" -- ;; -- *) -- ;; -- esac -- LDFLAGS="$LDFLAGS $SHLIB_VERSION_ARG" --fi -- - dnl -------------------------------------------------- - dnl Options - dnl -------------------------------------------------- -@@ -128,4 +111,4 @@ - AC_SUBST(DEBUG) - AC_SUBST(PROFILE) - --AC_OUTPUT(Makefile Version_script) -+AC_OUTPUT(Makefile) diff --git a/package/multimedia/tremor/tremor.mk b/package/multimedia/tremor/tremor.mk index cf228b8..b836010 100644 --- a/package/multimedia/tremor/tremor.mk +++ b/package/multimedia/tremor/tremor.mk @@ -4,12 +4,12 @@ # ############################################################ -TREMOR_SITE:=http://svn.xiph.org/trunk/Tremor/ -TREMOR_SITE_METHOD:=svn -TREMOR_VERSION:=16259 +TREMOR_SITE = http://svn.xiph.org/trunk/Tremor/ +TREMOR_SITE_METHOD = svn +TREMOR_VERSION = 18153 TREMOR_AUTORECONF = YES TREMOR_INSTALL_STAGING = YES -TREMOR_INSTALL_TARGET = YES +TREMOR_DEPENDENCIES = libogg $(eval $(call AUTOTARGETS)) diff --git a/package/mxml/mxml.mk b/package/mxml/mxml.mk index fb73670..c05c3a7 100644 --- a/package/mxml/mxml.mk +++ b/package/mxml/mxml.mk @@ -7,9 +7,9 @@ MXML_VERSION = 2.6 MXML_SITE = http://ftp.easysw.com/pub/mxml/2.6 MXML_INSTALL_STAGING = YES -MXML_INSTALL_STAGING_OPT = DSTROOT=$(TARGET_DIR) install +MXML_INSTALL_STAGING_OPT = DSTROOT=$(STAGING_DIR) install MXML_INSTALL_TARGET_OPT = DSTROOT=$(TARGET_DIR) install -MXML_UNINSTALL_STAGING_OPT = DSTROOT=$(TARGET_DIR) uninstall +MXML_UNINSTALL_STAGING_OPT = DSTROOT=$(STAGING_DIR) uninstall MXML_UNINSTALL_TARGET_OPT = DSTROOT=$(TARGET_DIR) uninstall $(eval $(call AUTOTARGETS)) diff --git a/package/nano/Config.in b/package/nano/Config.in index 8c78096..ef7f69d 100644 --- a/package/nano/Config.in +++ b/package/nano/Config.in @@ -6,3 +6,10 @@ config BR2_PACKAGE_NANO Great editor for new users. http://www.nano-editor.org/ + +config BR2_PACKAGE_NANO_TINY + bool "optimize for size" + default y + depends on BR2_PACKAGE_NANO + help + Disable all features for the sake of size. diff --git a/package/nano/nano.mk b/package/nano/nano.mk index c4162c1..439f583 100644 --- a/package/nano/nano.mk +++ b/package/nano/nano.mk @@ -4,12 +4,16 @@ # ############################################################# -NANO_VERSION = 2.2.6 -NANO_SITE = http://www.nano-editor.org/dist/v2.2 +NANO_VERSION = 2.3.1 +NANO_SITE = http://www.nano-editor.org/dist/v2.3 NANO_MAKE_ENV = CURSES_LIB="-lncurses" -NANO_CONF_OPT = --without-slang --enable-tiny +NANO_CONF_OPT = --without-slang NANO_DEPENDENCIES = ncurses +ifeq ($(BR2_PACKAGE_NANO_TINY),y) + NANO_CONF_OPT += --enable-tiny +endif + define NANO_INSTALL_TARGET_CMDS $(INSTALL) -m 0755 $(@D)/src/nano $(TARGET_DIR)/usr/bin/nano endef diff --git a/package/nbd/nbd-fix-non-lfs.patch b/package/nbd/nbd-fix-non-lfs.patch new file mode 100644 index 0000000..41a80cd --- /dev/null +++ b/package/nbd/nbd-fix-non-lfs.patch @@ -0,0 +1,37 @@ +From 8dd182693e9995bc1aeb907f9fd4ec06c18fc56f Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Mon, 5 Dec 2011 23:27:30 +0100 +Subject: [PATCH] lfs.h: fix !LFS builds + +Commit 448637fba4 (Fix 32/64 bit confusion) broke !LFS builds as it +added the PARAM_OFFT defines inside the wrong conditional. + +Signed-off-by: Peter Korsgaard +--- + lfs.h | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lfs.h b/lfs.h +index 64a03de..68d3b81 100644 +--- a/lfs.h ++++ b/lfs.h +@@ -6,14 +6,14 @@ + #define _FILE_OFFSET_BITS 64 + #ifndef _LARGEFILE_SOURCE + #define _LARGEFILE_SOURCE ++#endif + #define PARAM_OFFT PARAM_INT64 + #else + #define PARAM_OFFT PARAM_INT +-#endif ++#endif /* NBD_LFS */ + #ifdef HAVE_SYNC_FILE_RANGE + #define USE_SYNC_FILE_RANGE + #define _GNU_SOURCE + #endif /* HAVE_SYNC_FILE_RANGE */ +-#endif /* NBD_LFS */ + + #endif /* LFS_H */ +-- +1.7.7.1 + diff --git a/package/nbd/nbd.mk b/package/nbd/nbd.mk index 69a55ae..d9d0a85 100644 --- a/package/nbd/nbd.mk +++ b/package/nbd/nbd.mk @@ -4,9 +4,9 @@ # ############################################################# -NBD_VERSION = 2.9.15 +NBD_VERSION = 2.9.24 NBD_SOURCE = nbd-$(NBD_VERSION).tar.bz2 -NBD_SITE=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/nbd/ +NBD_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/nbd/ NBD_CONF_OPT = $(if $(BR2_LARGEFILE),--enable-lfs,--disable-lfs) NBD_DEPENDENCIES = libglib2 diff --git a/package/ncurses/ncurses.mk b/package/ncurses/ncurses.mk index a1353ed..eb8a043 100644 --- a/package/ncurses/ncurses.mk +++ b/package/ncurses/ncurses.mk @@ -130,6 +130,8 @@ define HOST_NCURSES_BUILD_CMDS $(MAKE) -C $(@D)/progs tic endef +HOST_NCURSES_DEPENDENCIES = + HOST_NCURSES_CONF_OPT = \ --without-shared --without-gpm diff --git a/package/netperf/netperf-2.4.5-dccp.patch b/package/netperf/netperf-2.4.5-dccp.patch deleted file mode 100644 index ae84cee..0000000 --- a/package/netperf/netperf-2.4.5-dccp.patch +++ /dev/null @@ -1,38 +0,0 @@ -[PATCH] fix build on systems where IPROTO_DCCP is defined, but SOCK_DCCP isn't - -On some systems (E.G. uClibc 0.9.31) IPROTO_DCCP is defined, but SOCK_DCCP -isn't - Causing the build to break. Fix it by checking for both before -using. - -Signed-off-by: Peter Korsgaard ---- - src/netsh.c | 2 +- - src/nettest_bsd.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -Index: netperf-2.4.5/src/netsh.c -=================================================================== ---- netperf-2.4.5.orig/src/netsh.c -+++ netperf-2.4.5/src/netsh.c -@@ -452,7 +452,7 @@ parse_protocol(char protocol_string[]) - return IPPROTO_SDP; - } - #endif --#ifdef IPPROTO_DCCP -+#if defined(IPPROTO_DCCP) && defined(SOCK_DCCP) - if (!strcasecmp(temp,"dccp")) { - socket_type = SOCK_DCCP; - return IPPROTO_DCCP; -Index: netperf-2.4.5/src/nettest_bsd.c -=================================================================== ---- netperf-2.4.5.orig/src/nettest_bsd.c -+++ netperf-2.4.5/src/nettest_bsd.c -@@ -712,7 +712,7 @@ complete_addrinfo(char *controlhost, cha - that we did this so the code for the Solaris kludge can do - the fix-up for us. also flip error over to EAI_AGAIN and - make sure we don't "count" this time around the loop. */ --#if defined(IPPROTO_DCCP) -+#if defined(IPPROTO_DCCP) && defined(SOCK_DCCP) - /* only tweak on this one the second time around, after we've - kludged the ai_protocol field */ - if ((hints.ai_socktype == SOCK_DCCP) && diff --git a/package/netperf/netperf-2.4.5-netserver.patch b/package/netperf/netperf-2.4.5-netserver.patch deleted file mode 100644 index d841c1c..0000000 --- a/package/netperf/netperf-2.4.5-netserver.patch +++ /dev/null @@ -1,51 +0,0 @@ -http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-analyzer/netperf/files/netperf-2.4.5-netserver.patch?view=log -# Set DEBUG_LOG_FILE location -# Fix compiler warnings (bug #337422): - netserver.c: In function ‘process_requests’: - netserver.c:287: warning: array subscript is above array bounds - inlined from ‘process_requests’ at netserver.c:268: - /usr/include/bits/stdio2.h:65: warning: call to __builtin___snprintf_chk will always overflow destination buffer - inlined from ‘process_requests’ at netserver.c:284: - /usr/include/bits/stdio2.h:65: warning: call to __builtin___snprintf_chk will always overflow destination buffer - ---- a/src/netserver.c -+++ b/src/netserver.c -@@ -142,7 +142,7 @@ - - #ifndef DEBUG_LOG_FILE - #ifndef WIN32 --#define DEBUG_LOG_FILE "/tmp/netperf.debug" -+#define DEBUG_LOG_FILE "/var/log/netperf.debug" - #else - #define DEBUG_LOG_FILE "c:\\temp\\netperf.debug" - #endif /* WIN32 */ -@@ -266,7 +266,7 @@ - (!strstr(local_machine,delims[i])) && - (!strstr(local_version,delims[i]))) { - snprintf((char *)netperf_response.content.test_specific_data, -- sizeof(netperf_response) - 7, -+ MAXSPECDATA, - "%c%s%c%s%c%s%c%s", - delims[i][0], - local_sysname, -@@ -282,15 +282,15 @@ - if (i == 4) { - /* none of the delimiters were unique, use the last one */ - snprintf((char *)netperf_response.content.test_specific_data, -- sizeof(netperf_response) - 7, -+ MAXSPECDATA, - "%c%s%c%s%c%s%c%s", -- delims[i][0], -+ delims[3][0], - "NoDelimUnique", -- delims[i][0], -+ delims[3][0], - "NoDelimUnique", -- delims[i][0], -+ delims[3][0], - "NoDelimUnique", -- delims[i][0], -+ delims[3][0], - "NoDelimUnique"); - } - send_response_n(0); diff --git a/package/netperf/netperf.mk b/package/netperf/netperf.mk index a66d4ef..6a8aced 100644 --- a/package/netperf/netperf.mk +++ b/package/netperf/netperf.mk @@ -4,7 +4,7 @@ # ############################################################# -NETPERF_VERSION = 2.4.5 +NETPERF_VERSION = 2.5.0 NETPERF_SITE = ftp://ftp.netperf.org/netperf NETPERF_CONF_ENV = ac_cv_func_setpgrp_void=set diff --git a/package/netsnmp/netsnmp-swinst-crash.patch b/package/netsnmp/netsnmp-swinst-crash.patch new file mode 100644 index 0000000..f7298a6 --- /dev/null +++ b/package/netsnmp/netsnmp-swinst-crash.patch @@ -0,0 +1,17 @@ +Fixes runtime error with uClibc (and possibly others). + +Original patch and bug description: +http://sourceforge.net/tracker/?func=detail&aid=3436528&group_id=12694&atid=312694 + +--- net-snmp-5.7.1/agent/mibgroup/host/data_access/swinst_pkginfo.c ++++ /home/fabled//net-snmp-5.7.1.patched/agent/mibgroup/host/data_access/swinst_pkginfo.c +@@ -140,7 +140,8 @@ + memcpy( entry->swDate, cp, date_len ); + entry->swDate_len = date_len; + } +- closedir( d ); ++ if (d != NULL) ++ closedir( d ); + + DEBUGMSGTL(("swinst:load:arch"," loaded %d entries\n", + (int)CONTAINER_SIZE(container))); diff --git a/package/netsnmp/netsnmp.mk b/package/netsnmp/netsnmp.mk index 5d789b9..959e39f 100644 --- a/package/netsnmp/netsnmp.mk +++ b/package/netsnmp/netsnmp.mk @@ -4,7 +4,7 @@ # ############################################################# -NETSNMP_VERSION = 5.6.1.1 +NETSNMP_VERSION = 5.7.1 NETSNMP_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/net-snmp NETSNMP_SOURCE = net-snmp-$(NETSNMP_VERSION).tar.gz NETSNMP_INSTALL_STAGING = YES diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in new file mode 100644 index 0000000..9708a11 --- /dev/null +++ b/package/network-manager/Config.in @@ -0,0 +1,30 @@ +config BR2_PACKAGE_NETWORK_MANAGER + bool "NetworkManager" + depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV + select BR2_PACKAGE_DBUS + depends on BR2_INET_IPV6 + depends on BR2_LARGEFILE # acl + depends on BR2_USE_WCHAR # libglib2 + select BR2_PACKAGE_DBUS_GLIB + select BR2_PACKAGE_UDEV + select BR2_PACKAGE_UDEV_ALL_EXTRAS + select BR2_PACKAGE_LIBNL + select BR2_PACKAGE_GNUTLS + select BR2_PACKAGE_LIBNL + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + select BR2_PACKAGE_WIRELESS_TOOLS + select BR2_PACKAGE_WIRELESS_TOOLS_LIB + help + NetworkManager is a set of co-operative tools that make networking + simple and straightforward. Whether WiFi, wired, 3G, or Bluetooth, + NetworkManager allows you to quickly move from one network to + another: once a network has been configured and joined once, it + can be detected and re-joined automatically the next time it's + available. + + http://projects.gnome.org/NetworkManager/ + +comment "NetworkManager requires a toolchain with IPV6, LARGEFILE and WCHAR support" + depends on !BR2_INET_IPV6 || !BR2_LARGEFILE || !BR2_USE_WCHAR + diff --git a/package/network-manager/S45network-manager b/package/network-manager/S45network-manager new file mode 100755 index 0000000..112aa66 --- /dev/null +++ b/package/network-manager/S45network-manager @@ -0,0 +1,46 @@ +#!/bin/sh + +prefix=/usr +exec_prefix=/usr +sbindir=${exec_prefix}/sbin + +NETWORKMANAGER_BIN=${sbindir}/NetworkManager + +[ -x $NETWORKMANAGER_BIN ] || exit 0 + +PID=`pidof -o %PPID NetworkManager` +case "$1" in + start) + echo -n "Starting NetworkManager ... " + [ ! -d /var/run/NetworkManager ] && install -d /var/run/NetworkManager + if [ -z "$PID" ]; then + $NETWORKMANAGER_BIN + fi + if [ ! -z "$PID" -o $? -gt 0 ]; then + echo "failed!" + else + echo "done." + fi + ;; + stop) + echo -n "Stopping NetworkManager ... " + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + echo "failed!" + else + echo "done." + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart|sleep|wake}" + ;; +esac +exit 0 + + + diff --git a/package/network-manager/network-manager-execinfo.patch b/package/network-manager/network-manager-execinfo.patch new file mode 100644 index 0000000..8dc83f0 --- /dev/null +++ b/package/network-manager/network-manager-execinfo.patch @@ -0,0 +1,31 @@ +From ff9471b7d83545614100a270e2d85b7b272abe97 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Mon, 2 Jan 2012 14:45:16 +0100 +Subject: [PATCH] [PATCH] only include execinfo.h if crashtrace support is + enabled + +On systems without backtrace suport (E.G. uClibc depending on config), +execinfo.h might not be available, breaking the build. + +Fix it by only including it if enabled. + +Signed-off-by: Peter Korsgaard +--- + src/logging/nm-logging.c | 1 - + 1 files changed, 0 insertions(+), 1 deletions(-) + +diff --git a/src/logging/nm-logging.c b/src/logging/nm-logging.c +index ca6a709..26c8670 100644 +--- a/src/logging/nm-logging.c ++++ b/src/logging/nm-logging.c +@@ -23,7 +23,6 @@ + + #include + #include +-#include + #include + #include + #include +-- +1.7.7.1 + diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk new file mode 100644 index 0000000..cfcf32c --- /dev/null +++ b/package/network-manager/network-manager.mk @@ -0,0 +1,50 @@ +############################################################# +# +# NetworkManager +# +############################################################# +NETWORK_MANAGER_VERSION = 0.9.2.0 +NETWORK_MANAGER_SOURCE = NetworkManager-$(NETWORK_MANAGER_VERSION).tar.bz2 +NETWORK_MANAGER_SITE = http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/0.9/ +NETWORK_MANAGER_INSTALL_STAGING = YES +NETWORK_MANAGER_DEPENDENCIES = host-pkg-config udev dbus-glib libnl wireless_tools gnutls util-linux + +NETWORK_MANAGER_CONF_ENV = \ + ac_cv_path_LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config + +NETWORK_MANAGER_CONF_OPT = \ + --mandir=$(STAGING_DIR)/usr/man/ \ + --with-dbus-user=dbus \ + --disable-tests \ + --disable-more-warnings \ + --without-docs \ + --disable-gtk-doc \ + --disable-asserts \ + --enable-abstract-sockets \ + --disable-selinux \ + --disable-xml-docs \ + --disable-doxygen-docs \ + --disable-static \ + --enable-dnotify \ + --localstatedir=/var \ + --with-crypto=gnutls \ + --with-distro=arch \ + --disable-ppp \ + --with-iptables=/usr/sbin/iptables + +# uClibc by default doesn't have backtrace support, so don't use it +ifeq ($(BR2_TOOLCHAIN_BUILDROOT)$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC)$(BR2_TOOLCHAIN_CTNG_uClibc),y) +NETWORK_MANAGER_CONF_OPT += --disable-crashtrace +endif + +# The target was built for the archlinux distribution, so we need +# to move around things after installation +define NETWORK_MANAGER_INSTALL_INITSCRIPT + $(INSTALL) -m 0755 -D package/network-manager/S45network-manager $(TARGET_DIR)/etc/init.d/S45network-manager + rm -f $(TARGET_DIR)/etc/rc.d/networkmanager + rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/etc/rc.d +endef + +NETWORK_MANAGER_POST_INSTALL_TARGET_HOOKS += NETWORK_MANAGER_INSTALL_INITSCRIPT + +$(eval $(call AUTOTARGETS)) diff --git a/package/ntp/ntp.mk b/package/ntp/ntp.mk index f17193f..8076ce7 100644 --- a/package/ntp/ntp.mk +++ b/package/ntp/ntp.mk @@ -4,7 +4,7 @@ # ############################################################# -NTP_VERSION = 4.2.6p4 +NTP_VERSION = 4.2.6p5 NTP_SITE = http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2 NTP_CONF_ENV = ac_cv_lib_md5_MD5Init=no diff --git a/package/open2300/Config.in b/package/open2300/Config.in new file mode 100644 index 0000000..df0a969 --- /dev/null +++ b/package/open2300/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_OPEN2300 + bool "open2300" + help + open2300 reads (and writes) data from a Lacrosse + WS2300/WS2305/WS2310/WS2315 Weather Station + + http://www.lavrsen.dk/foswiki/bin/view/Open2300/WebHome diff --git a/package/open2300/open2300.mk b/package/open2300/open2300.mk new file mode 100644 index 0000000..59be66f --- /dev/null +++ b/package/open2300/open2300.mk @@ -0,0 +1,29 @@ +############################################################ +# +# Open2300 +# +############################################################ + +OPEN2300_SITE = http://www.lavrsen.dk/svn/open2300/trunk/ +OPEN2300_SITE_METHOD = svn +OPEN2300_VERSION = 12 + +OPEN2300_BINS = open2300 dump2300 log2300 fetch2300 wu2300 cw2300 history2300 \ + histlog2300 bin2300 xml2300 light2300 interval2300 minmax2300 + +ifeq ($(BR2_PACKAGE_MYSQL),y) + OPEN2300_DEPENDENCIES += mysql_client + OPEN2300_BINS += mysql2300 mysqlhistlog2300 +endif + +define OPEN2300_BUILD_CMDS + $(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) $(OPEN2300_BINS) +endef + +define OPEN2300_INSTALL_TARGET_CMDS + for prog in $(OPEN2300_BINS); do \ + $(INSTALL) -D -m 0755 $(@D)/$$prog $(TARGET_DIR)/usr/bin/$$prog ; \ + done +endef + +$(eval $(call GENTARGETS)) diff --git a/package/opencv/opencv-uclibc-optional-long-double-support.patch b/package/opencv/opencv-uclibc-optional-long-double-support.patch new file mode 100644 index 0000000..b319849 --- /dev/null +++ b/package/opencv/opencv-uclibc-optional-long-double-support.patch @@ -0,0 +1,40 @@ +Upstream: https://code.ros.org/trac/opencv/ticket/1515 + +[PATCH] Fix compile issue in flann module on uClibc without long double support + +uClibc configured without UCLIBC_HAS_LONG_DOUBLE_MATH (because of user +choice or simply that the arch doesn't provide long doubles) doesn't +provide fabsl(), breaking the build in the flann module. + +Work around it by not providing the long double template specialization. + +Signed-off-by: Peter Korsgaard +--- + modules/flann/include/opencv2/flann/dist.h | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +Index: opencv-2.3.1a/modules/flann/include/opencv2/flann/dist.h +=================================================================== +--- opencv-2.3.1a.orig/modules/flann/include/opencv2/flann/dist.h ++++ opencv-2.3.1a/modules/flann/include/opencv2/flann/dist.h +@@ -40,6 +40,7 @@ + #else + #include + #endif ++#include + + #include "defines.h" + +@@ -59,9 +60,11 @@ + template<> + inline double abs(double x) { return fabs(x); } + ++/* uClibc configured without long double math doesn't provide fabsl */ ++#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_LONG_DOUBLE_MATH__)) + template<> + inline long double abs(long double x) { return fabsl(x); } +- ++#endif + + template + struct Accumulator { typedef T Type; }; diff --git a/package/opencv/opencv.mk b/package/opencv/opencv.mk index 1e6f4b2..d415e51 100644 --- a/package/opencv/opencv.mk +++ b/package/opencv/opencv.mk @@ -3,9 +3,8 @@ # OpenCV (Open Source Computer Vision) # ############################################################# -OPENCV_SERIES = 2.3 -OPENCV_VERSION = $(OPENCV_SERIES).1a -OPENCV_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/opencvlibrary/opencv-unix/$(OPENCV_SERIES) +OPENCV_VERSION = 2.3.1a +OPENCV_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/opencvlibrary/opencv-unix/2.3.1 OPENCV_SOURCE = OpenCV-$(OPENCV_VERSION).tar.bz2 OPENCV_INSTALL_STAGING = YES diff --git a/package/openocd/Config.in.host b/package/openocd/Config.in.host new file mode 100644 index 0000000..2380942 --- /dev/null +++ b/package/openocd/Config.in.host @@ -0,0 +1,6 @@ +config BR2_PACKAGE_HOST_OPENOCD + bool "host openocd" + help + OpenOCD - Open On-Chip Debugger + + http://openocd.berlios.de/web/ diff --git a/package/openocd/openocd.mk b/package/openocd/openocd.mk index 5f61367..a12ba6c 100644 --- a/package/openocd/openocd.mk +++ b/package/openocd/openocd.mk @@ -19,6 +19,7 @@ OPENOCD_DEPENDENCIES = libusb-compat # Adapters ifeq ($(BR2_PACKAGE_OPENOCD_FT2XXX),y) OPENOCD_CONF_OPT += --enable-ft2232_libftdi +OPENOCD_DEPENDENCIES += libftdi endif ifeq ($(BR2_PACKAGE_OPENOCD_JLINK),y) @@ -29,4 +30,14 @@ ifeq ($(BR2_PACKAGE_OPENOCD_VSLLINK),y) OPENOCD_CONF_OPT += --enable-vsllink endif +HOST_OPENOCD_DEPENDENCIES = host-libusb-compat host-libftdi + +HOST_OPENOCD_CONF_OPT = \ + --disable-doxygen-html \ + --enable-dummy \ + --enable-ft2232_libftdi \ + --enable-jlink \ + --enable-vsllink + $(eval $(call AUTOTARGETS)) +$(eval $(call AUTOTARGETS,host)) diff --git a/package/openssl/openssl.mk b/package/openssl/openssl.mk index 51a00dd..cb29fe4 100644 --- a/package/openssl/openssl.mk +++ b/package/openssl/openssl.mk @@ -4,7 +4,7 @@ # ############################################################# -OPENSSL_VERSION = 1.0.0e +OPENSSL_VERSION = 1.0.0g OPENSSL_SITE = http://www.openssl.org/source OPENSSL_INSTALL_STAGING = YES OPENSSL_DEPENDENCIES = zlib diff --git a/package/openvpn/openvpn.mk b/package/openvpn/openvpn.mk index 587368b..bcb121d 100644 --- a/package/openvpn/openvpn.mk +++ b/package/openvpn/openvpn.mk @@ -4,7 +4,7 @@ # ############################################################# -OPENVPN_VERSION = 2.2.1 +OPENVPN_VERSION = 2.2.2 OPENVPN_SITE = http://swupdate.openvpn.net/community/releases OPENVPN_CONF_OPT = --enable-small --disable-plugins diff --git a/package/orc/orc.mk b/package/orc/orc.mk index 97c80f2..6602e36 100644 --- a/package/orc/orc.mk +++ b/package/orc/orc.mk @@ -7,6 +7,7 @@ ORC_VERSION = 0.4.14 ORC_SITE = http://code.entropywave.com/download/orc/ ORC_INSTALL_STAGING = YES ORC_DEPENDENCIES = host-orc +HOST_ORC_DEPENDENCIES = define ORC_REMOVE_BUGREPORT rm -f $(TARGET_DIR)/usr/bin/orc-bugreport diff --git a/package/pciutils/pciutils.mk b/package/pciutils/pciutils.mk index 28f80d4..37a17c4 100644 --- a/package/pciutils/pciutils.mk +++ b/package/pciutils/pciutils.mk @@ -4,7 +4,7 @@ # ############################################################# -PCIUTILS_VERSION = 3.1.8 +PCIUTILS_VERSION = 3.1.9 PCIUTILS_SITE = ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci ifeq ($(BR2_PACKAGE_ZLIB),y) PCIUTILS_ZLIB=yes diff --git a/package/pcre/pcre.mk b/package/pcre/pcre.mk index 4535656..d64106e 100644 --- a/package/pcre/pcre.mk +++ b/package/pcre/pcre.mk @@ -4,7 +4,7 @@ # ############################################################# -PCRE_VERSION = 7.9 +PCRE_VERSION = 8.20 PCRE_SITE = ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre PCRE_INSTALL_STAGING = YES diff --git a/package/pixman/pixman-0.10.0-no-tests.patch b/package/pixman/pixman-0.10.0-no-tests.patch deleted file mode 100644 index fbd0d26..0000000 --- a/package/pixman/pixman-0.10.0-no-tests.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/Makefile.in.orig 2008-05-23 14:04:37.000000000 +0000 -+++ b/Makefile.in 2008-05-23 14:04:50.000000000 +0000 -@@ -198,7 +198,7 @@ sysconfdir = @sysconfdir@ - target_alias = @target_alias@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ --SUBDIRS = pixman test -+SUBDIRS = pixman - pkgconfigdir = $(libdir)/pkgconfig - pkgconfig_DATA = pixman-1.pc - USERNAME = $$USER diff --git a/package/pixman/pixman.mk b/package/pixman/pixman.mk index 9f4a0fd..a2e1832 100644 --- a/package/pixman/pixman.mk +++ b/package/pixman/pixman.mk @@ -3,11 +3,13 @@ # pixman # ################################################################################ -PIXMAN_VERSION = 0.18.0 +PIXMAN_VERSION = 0.24.2 PIXMAN_SOURCE = pixman-$(PIXMAN_VERSION).tar.gz PIXMAN_SITE = http://cairographics.org/releases/ -PIXMAN_AUTORECONF = NO PIXMAN_INSTALL_STAGING = YES +PIXMAN_DEPENDENCIES = host-pkg-config +# don't build gtk based demos +PIXMAN_CONF_OPT = --disable-gtk $(eval $(call AUTOTARGETS)) $(eval $(call AUTOTARGETS,host)) diff --git a/package/pkg-config/pkg-config.mk b/package/pkg-config/pkg-config.mk index f347a53..137800c 100644 --- a/package/pkg-config/pkg-config.mk +++ b/package/pkg-config/pkg-config.mk @@ -17,6 +17,7 @@ HOST_PKG_CONFIG_CONF_OPT = \ --disable-static HOST_PKG_CONFIG_AUTORECONF = YES +HOST_PKG_CONFIG_DEPENDENCIES = $(eval $(call AUTOTARGETS)) $(eval $(call AUTOTARGETS,host)) diff --git a/package/poco/Config.in b/package/poco/Config.in index 241e304..36d8de9 100644 --- a/package/poco/Config.in +++ b/package/poco/Config.in @@ -37,6 +37,9 @@ config BR2_PACKAGE_POCO_NETSSL_OPENSSL config BR2_PACKAGE_POCO_ZIP bool "zip" + select BR2_PACKAGE_POCO_XML + select BR2_PACKAGE_POCO_NET + select BR2_PACKAGE_POCO_UTIL config BR2_PACKAGE_POCO_DATA bool diff --git a/package/popt/popt.mk b/package/popt/popt.mk index 98f438d..fd25caa 100644 --- a/package/popt/popt.mk +++ b/package/popt/popt.mk @@ -16,3 +16,4 @@ POPT_CONF_OPT += --with-libiconv-prefix=$(STAGING_DIR)/usr endif $(eval $(call AUTOTARGETS)) +$(eval $(call AUTOTARGETS,host)) diff --git a/package/proftpd/proftpd-1.3.3e-fix-kernel-header-capability-version.patch b/package/proftpd/proftpd-1.3.3g-fix-kernel-header-capability-version.patch similarity index 100% rename from package/proftpd/proftpd-1.3.3e-fix-kernel-header-capability-version.patch rename to package/proftpd/proftpd-1.3.3g-fix-kernel-header-capability-version.patch diff --git a/package/proftpd/proftpd.mk b/package/proftpd/proftpd.mk index 2523dd2..5352ea7 100644 --- a/package/proftpd/proftpd.mk +++ b/package/proftpd/proftpd.mk @@ -3,7 +3,8 @@ # proftpd # ############################################################# -PROFTPD_VERSION = 1.3.3e + +PROFTPD_VERSION = 1.3.3g PROFTPD_SOURCE = proftpd-$(PROFTPD_VERSION).tar.bz2 PROFTPD_SITE = ftp://ftp.proftpd.org/distrib/source/ diff --git a/package/python-distutilscross/python-distutilscross.mk b/package/python-distutilscross/python-distutilscross.mk new file mode 100644 index 0000000..9003189 --- /dev/null +++ b/package/python-distutilscross/python-distutilscross.mk @@ -0,0 +1,21 @@ +############################################################# +# +# python-distutilscross +# +############################################################# + +PYTHON_DISTUTILSCROSS_VERSION = 0.1 +PYTHON_DISTUTILSCROSS_SOURCE = distutilscross-$(PYTHON_DISTUTILSCROSS_VERSION).tar.gz +PYTHON_DISTUTILSCROSS_SITE = http://pypi.python.org/packages/source/d/distutilscross + +HOST_PYTHON_DISTUTILSCROSS_DEPENDENCIES = host-python host-python-setuptools + +define HOST_PYTHON_DISTUTILSCROSS_BUILD_CMDS + (cd $(@D); $(HOST_DIR)/usr/bin/python setup.py build) +endef + +define HOST_PYTHON_DISTUTILSCROSS_INSTALL_CMDS + (cd $(@D); $(HOST_DIR)/usr/bin/python setup.py install --prefix=$(HOST_DIR)/usr) +endef + +$(eval $(call GENTARGETS,host)) diff --git a/package/python-dpkt/Config.in b/package/python-dpkt/Config.in new file mode 100644 index 0000000..aac9f09 --- /dev/null +++ b/package/python-dpkt/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_PYTHON_DPKT + bool "python-dpkt" + depends on BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON_ZLIB + help + Fast, simple packet creation / parsing, with definitions + for the basic TCP/IP protocols. + + http://code.google.com/p/dpkt/ + + diff --git a/package/python-dpkt/python-dpkt.mk b/package/python-dpkt/python-dpkt.mk new file mode 100644 index 0000000..7ac873c --- /dev/null +++ b/package/python-dpkt/python-dpkt.mk @@ -0,0 +1,22 @@ +############################################################# +# +# python-dpkt +# +############################################################# + +PYTHON_DPKT_VERSION = 1.7 +PYTHON_DPKT_SOURCE = dpkt-$(PYTHON_DPKT_VERSION).tar.gz +PYTHON_DPKT_SITE = http://dpkt.googlecode.com/files + +PYTHON_DPKT_DEPENDENCIES = python + +define PYTHON_DPKT_BUILD_CMDS + (cd $(@D); $(HOST_DIR)/usr/bin/python setup.py build) +endef + +define PYTHON_DPKT_INSTALL_TARGET_CMDS + (cd $(@D); $(HOST_DIR)/usr/bin/python setup.py install --prefix=$(TARGET_DIR)/usr) +endef + +$(eval $(call GENTARGETS)) + diff --git a/package/multimedia/python-mad/Config.in b/package/python-mad/Config.in similarity index 100% rename from package/multimedia/python-mad/Config.in rename to package/python-mad/Config.in diff --git a/package/multimedia/python-mad/python-mad.mk b/package/python-mad/python-mad.mk similarity index 100% rename from package/multimedia/python-mad/python-mad.mk rename to package/python-mad/python-mad.mk diff --git a/package/python-netifaces/Config.in b/package/python-netifaces/Config.in new file mode 100644 index 0000000..b9d66d8 --- /dev/null +++ b/package/python-netifaces/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_NETIFACES + bool "python-netifaces" + depends on BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON_SETUPTOOLS + help + Portable access to network interfaces from Python. + + http://alastairs-place.net/projects/netifaces diff --git a/package/python-netifaces/python-netifaces-ifaddrs-uclibc.patch b/package/python-netifaces/python-netifaces-ifaddrs-uclibc.patch new file mode 100644 index 0000000..375b08d --- /dev/null +++ b/package/python-netifaces/python-netifaces-ifaddrs-uclibc.patch @@ -0,0 +1,31 @@ +[PATCH] fix compile error in ifaddrs() for HAVE_SOCKET_IOCTLS variant + +Used on E.G. uClibc. This variant seems to have bitrotten somewhat. + +Signed-off-by: Peter Korsgaard +--- + netifaces.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: netifaces-0.6/netifaces.c +=================================================================== +--- netifaces-0.6.orig/netifaces.c ++++ netifaces-0.6/netifaces.c +@@ -624,7 +624,7 @@ + if (ioctl (sock, SIOCGIFHWADDR, &ifr) == 0) { + found = TRUE; + +- if (string_from_sockaddr (ifr->CNAME(ifr_addr), buffer, sizeof (buffer)) == 0) { ++ if (string_from_sockaddr ((struct sockaddr *)&ifr.CNAME(ifr_addr), buffer, sizeof (buffer)) == 0) { + PyObject *hwaddr = PyString_FromString (buffer); + PyObject *dict = PyDict_New (); + PyObject *list = PyList_New (1); +@@ -633,7 +633,7 @@ + if (!hwaddr || !dict || !list || !family) { + Py_XDECREF (hwaddr); + Py_XDECREF (dict); +- Py_XDECREF (list) ++ Py_XDECREF (list); + Py_XDECREF (family); + Py_XDECREF (result); + close (sock); diff --git a/package/python-netifaces/python-netifaces.mk b/package/python-netifaces/python-netifaces.mk new file mode 100644 index 0000000..b5185f0 --- /dev/null +++ b/package/python-netifaces/python-netifaces.mk @@ -0,0 +1,25 @@ +############################################################# +# +# python-netifaces +# +############################################################# + +PYTHON_NETIFACES_VERSION = 0.7 +PYTHON_NETIFACES_SOURCE = netifaces-$(PYTHON_NETIFACES_VERSION).tar.gz +PYTHON_NETIFACES_SITE = http://alastairs-place.net/projects/netifaces + +PYTHON_NETIFACES_DEPENDENCIES = python host-python-setuptools host-python-distutilscross + +define PYTHON_NETIFACES_BUILD_CMDS + (cd $(@D); \ + PYTHONXCPREFIX="$(STAGING_DIR)/usr/" \ + LDFLAGS="-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \ + $(HOST_DIR)/usr/bin/python setup.py build -x) +endef + +define PYTHON_NETIFACES_INSTALL_TARGET_CMDS + (cd $(@D); PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages \ + $(HOST_DIR)/usr/bin/python setup.py install --prefix=$(TARGET_DIR)/usr) +endef + +$(eval $(call GENTARGETS)) diff --git a/package/python-pygame/Config.in b/package/python-pygame/Config.in new file mode 100644 index 0000000..1b0a8b9 --- /dev/null +++ b/package/python-pygame/Config.in @@ -0,0 +1,49 @@ +config BR2_PACKAGE_PYTHON_PYGAME + bool "pygame" + depends on BR2_PACKAGE_PYTHON + select BR2_PACKAGE_SDL + help + Pygame is a cross-platfrom library designed to make it easy to write + multimedia software, such as games, in Python. Pygame requires the + Python language and SDL multimedia library. + It can also make use of several other popular libraries. + + http://www.pygame.org/ + +if BR2_PACKAGE_PYTHON_PYGAME +config BR2_PACKAGE_PYTHON_PYGAME_IMAGE + bool "pygame.image" + select BR2_PACKAGE_SDL_IMAGE + select BR2_PACKAGE_SDL_IMAGE_PNG + select BR2_PACKAGE_SDL_IMAGE_JPEG + help + pygame module for loading, saving and transfering images. + Will autoselect sdl_image with png and jpeg support. + +config BR2_PACKAGE_PYTHON_PYGAME_FONT + bool "pygame.font" + select BR2_PACKAGE_SDL_TTF + help + pygame module for loading and rendering fonts. + Will autoselect sdl_ttf. + +config BR2_PACKAGE_PYTHON_PYGAME_MIXER + bool "pygame.mixer" + select BR2_PACKAGE_SDL_MIXER + help + pygame module for loading and playing sounds. + Will autoselect sdl_mixer. + +config BR2_PACKAGE_PYTHON_PYGAME_MIXER_MUSIC + bool "pygame.mixer.music" + depends on BR2_PACKAGE_PYTHON_PYGAME_MIXER + help + pygame module for controlling streamed audio + +config BR2_PACKAGE_PYTHON_PYGAME_SCRAP + bool "pygame.scrap" + depends on BR2_PACKAGE_SDL_X11 + help + pygame module for clipboard support (X11 needed) + +endif diff --git a/package/python-pygame/python-pygame.mk b/package/python-pygame/python-pygame.mk new file mode 100644 index 0000000..f5603b6 --- /dev/null +++ b/package/python-pygame/python-pygame.mk @@ -0,0 +1,111 @@ +############################################################# +# +# Pygame +# +############################################################# +# stable 1.9.1 release requires V4L which has been wiped out of recent Linux +# kernels, so use latest mercurial revision until next stable release is out. +PYTHON_PYGAME_VERSION = f0bb4a4b365d +PYTHON_PYGAME_SOURCE = pygame-$(PYTHON_PYGAME_VERSION).tar.gz +PYTHON_PYGAME_SITE = https://bitbucket.org/pygame/pygame +PYTHON_PYGAME_SITE_METHOD = hg + +ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_IMAGE),y) +PYTHON_PYGAME_OPT_DEPENDS += sdl_image +endif + +ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_FONT),y) +PYTHON_PYGAME_OPT_DEPENDS += sdl_ttf +endif + +ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_MIXER),y) +PYTHON_PYGAME_OPT_DEPENDS += sdl_mixer +endif + +PYTHON_PYGAME_DEPENDENCIES = python sdl $(PYTHON_PYGAME_OPT_DEPENDS) + +ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_IMAGE),y) +define PYTHON_PYGAME_UNCONFIGURE_IMAGE + $(SED) 's/^imageext/#imageext/' $(@D)/Setup +endef +endif + +ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_FONT),y) +define PYTHON_PYGAME_UNCONFIGURE_FONT + $(SED) 's/^font/#font/' $(@D)/Setup +endef +endif + +ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_MIXER),y) +define PYTHON_PYGAME_UNCONFIGURE_MIXER + $(SED) 's/^mixer/#mixer/g' $(@D)/Setup +endef +endif + +# Both require numpy or numeric python module +define PYTHON_PYGAME_UNCONFIGURE_SNDARRAY + $(SED) 's/^_numericsndarray/#_numericsndarray/' $(@D)/Setup +endef + +define PYTHON_PYGAME_UNCONFIGURE_SURFARRAY + $(SED) 's/^_numericsurfarray/#_numericsurfarray/' $(@D)/Setup +endef + +# Requires smpeg +define PYTHON_PYGAME_UNCONFIGURE_MOVIE + $(SED) 's/^movie/#movie/' $(@D)/Setup +endef + +ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_SCRAP),y) +define PYTHON_PYGAME_UNCONFIGURE_SCRAP + $(SED) 's/^scrap/#scrap/' $(@D)/Setup +endef +endif + +PYTHON_PYGAME_SDL_FLAGS = $(shell $(STAGING_DIR)/usr/bin/sdl-config --cflags) +PYTHON_PYGAME_SDL_FLAGS += $(shell $(STAGING_DIR)/usr/bin/sdl-config --libs) + +# Pygame needs a Setup file where options should be commented out if +# dependencies are not available +define PYTHON_PYGAME_CONFIGURE_CMDS + cp -f $(@D)/Setup.in $(@D)/Setup + $(SED) 's~^SDL = ~SDL = $(PYTHON_PYGAME_SDL_FLAGS) \n#~' $(@D)/Setup + $(SED) 's/^pypm/#pypm/' $(@D)/Setup + $(PYTHON_PYGAME_UNCONFIGURE_IMAGE) + $(PYTHON_PYGAME_UNCONFIGURE_FONT) + $(PYTHON_PYGAME_UNCONFIGURE_MIXER) + $(PYTHON_PYGAME_UNCONFIGURE_SNDARRAY) + $(PYTHON_PYGAME_UNCONFIGURE_SURFARRAY) + $(PYTHON_PYGAME_UNCONFIGURE_MOVIE) + $(PYTHON_PYGAME_UNCONFIGURE_SCRAP) +endef + +define PYTHON_PYGAME_BUILD_CMDS + (cd $(@D); CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)" \ + LDSHARED="$(TARGET_CROSS)gcc -shared" \ + CROSS_COMPILING=yes \ + _python_sysroot=$(STAGING_DIR) \ + _python_srcdir=$(BUILD_DIR)/python$(PYTHON_VERSION) \ + _python_prefix=/usr \ + _python_exec_prefix=/usr \ + $(HOST_DIR)/usr/bin/python setup.py build) +endef + +ifneq ($(BR2_HAVE_DOCUMENTATION),y) +define PYTHON_PYGAME_REMOVE_DOC + rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/docs +endef +endif + +define PYTHON_PYGAME_INSTALL_TARGET_CMDS + (cd $(@D); $(HOST_DIR)/usr/bin/python setup.py install \ + --prefix=$(TARGET_DIR)/usr) + rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/tests + $(PYTHON_PYGAME_REMOVE_DOC) +endef + +define PYTHON_PYGAME_UNINSTALL_TARGET_CMDS + rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame* +endef + +$(eval $(call GENTARGETS)) diff --git a/package/python-serial/python-serial.mk b/package/python-serial/python-serial.mk index 4c8a891..add9667 100644 --- a/package/python-serial/python-serial.mk +++ b/package/python-serial/python-serial.mk @@ -4,7 +4,7 @@ # ############################################################# -PYTHON_SERIAL_VERSION = 2.5 +PYTHON_SERIAL_VERSION = 2.6 PYTHON_SERIAL_SOURCE = pyserial-$(PYTHON_SERIAL_VERSION).tar.gz PYTHON_SERIAL_SITE = http://pypi.python.org/packages/source/p/pyserial/ diff --git a/package/python-setuptools/Config.in b/package/python-setuptools/Config.in new file mode 100644 index 0000000..63c2b01 --- /dev/null +++ b/package/python-setuptools/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_SETUPTOOLS + bool "python-setuptools" + depends on BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON_ZLIB + help + Download, build, install, upgrade, and uninstall Python packages. + + http://pypi.python.org/pypi/setuptools diff --git a/package/python-setuptools/python-setuptools.mk b/package/python-setuptools/python-setuptools.mk new file mode 100644 index 0000000..70ebb85 --- /dev/null +++ b/package/python-setuptools/python-setuptools.mk @@ -0,0 +1,32 @@ +############################################################# +# +# python-setuptools +# +############################################################# + +PYTHON_SETUPTOOLS_VERSION = 0.6c11 +PYTHON_SETUPTOOLS_SOURCE = setuptools-$(PYTHON_SETUPTOOLS_VERSION).tar.gz +PYTHON_SETUPTOOLS_SITE = http://pypi.python.org/packages/source/s/setuptools +PYTHON_SETUPTOOLS_DEPENDENCIES = python + +define HOST_PYTHON_SETUPTOOLS_BUILD_CMDS + (cd $(@D); $(HOST_DIR)/usr/bin/python setup.py build) +endef + +define PYTHON_SETUPTOOLS_BUILD_CMDS + (cd $(@D); $(HOST_DIR)/usr/bin/python setup.py build) +endef + +define HOST_PYTHON_SETUPTOOLS_INSTALL_CMDS + (cd $(@D); PYTHONPATH="$(HOST_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages"\ + $(HOST_DIR)/usr/bin/python setup.py install --prefix=$(HOST_DIR)/usr) +endef + +define PYTHON_SETUPTOOLS_INSTALL_TARGET_CMDS + (cd $(@D); PYTHONPATH="$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages"\ + $(HOST_DIR)/usr/bin/python setup.py install --prefix=$(TARGET_DIR)/usr) +endef + +$(eval $(call GENTARGETS)) +$(eval $(call GENTARGETS,host)) + diff --git a/package/python/python.mk b/package/python/python.mk index 9ef2ccc..28e215c 100644 --- a/package/python/python.mk +++ b/package/python/python.mk @@ -28,7 +28,6 @@ HOST_PYTHON_CONF_OPT += \ --disable-bsddb \ --disable-test-modules \ --disable-bz2 \ - --disable-zlib \ --disable-ssl HOST_PYTHON_MAKE_ENV = \ @@ -52,7 +51,7 @@ endef PYTHON_DEPENDENCIES = host-python libffi -HOST_PYTHON_DEPENDENCIES = host-expat +HOST_PYTHON_DEPENDENCIES = host-expat host-zlib PYTHON_INSTALL_STAGING = YES @@ -132,6 +131,15 @@ PYTHON_MAKE_ENV = \ PYTHON_MODULES_INCLUDE=$(STAGING_DIR)/usr/include \ PYTHON_MODULES_LIB="$(STAGING_DIR)/lib $(STAGING_DIR)/usr/lib" +# python distutils adds -L$LIBDIR when linking binary extensions, causing +# trouble for cross compilation +define PYTHON_FIXUP_LIBDIR + $(SED) 's|^LIBDIR=.*|LIBDIR= $(STAGING_DIR)/usr/lib|' \ + $(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/config/Makefile +endef + +PYTHON_POST_INSTALL_STAGING_HOOKS += PYTHON_FIXUP_LIBDIR + # # Development files removal # diff --git a/package/qt/Config.in b/package/qt/Config.in index ab231d9..3a552d0 100644 --- a/package/qt/Config.in +++ b/package/qt/Config.in @@ -280,12 +280,9 @@ config BR2_PACKAGE_QT_PHONON_BACKEND If unsure, say n. endif -comment "Qt Dbus module not available (needs dbus)" - depends on !BR2_PACKAGE_DBUS - config BR2_PACKAGE_QT_DBUS bool "DBus Module" - depends on BR2_PACKAGE_DBUS + select BR2_PACKAGE_DBUS help Build the Qt DBus module. diff --git a/package/qt/qt.mk b/package/qt/qt.mk index 28a477a..34f05f9 100644 --- a/package/qt/qt.mk +++ b/package/qt/qt.mk @@ -15,7 +15,7 @@ QT_VERSION = 4.7.4 QT_SOURCE = qt-everywhere-opensource-src-$(QT_VERSION).tar.gz QT_SITE = http://get.qt.nokia.com/qt/source - +QT_DEPENDENCIES = host-pkg-config QT_INSTALL_STAGING = YES ifeq ($(BR2_PACKAGE_QT_LICENSE_APPROVED),y) diff --git a/package/rt-tests/Config.in b/package/rt-tests/Config.in new file mode 100644 index 0000000..e645266 --- /dev/null +++ b/package/rt-tests/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_RT_TESTS + bool "rt-tests" + help + Set of utilities for testing the real-time behaviour of a + Linux system. + + All tools are simple C programs with no dependencies, except + the hwlatdetect utility, which is a Python script and + therefore requires the Python interpreter. It will only be + installed if a Python interpreter has been selected in the + Buildroot configuration. + + http://rt.wiki.kernel.org diff --git a/package/rt-tests/rt-tests-fix-build-system.patch b/package/rt-tests/rt-tests-fix-build-system.patch new file mode 100644 index 0000000..9d6aa05 --- /dev/null +++ b/package/rt-tests/rt-tests-fix-build-system.patch @@ -0,0 +1,43 @@ +Fix various minor issues with rt-tests build system + +The issues fixed are : + + * Remove the automatic NUMA detection from the host + architecture. This is broken when doing cross-compilation. One can + still set NUMA=1 if NUMA support is desired. + + * Expand the CFLAGS provided through the environment instead of + overriding it. + + * Provide a HASPYTHON variable to tell whether the target system has + Python or not. Otherwise, the build system simply tests whether + Python is available on the host. The PYLIB variable is also changed + so that it can be overriden from the environment, in order to + provide the correct Python module location for the target. + +Signed-off-by: Thomas Petazzoni + +Index: rt-tests/Makefile +=================================================================== +--- rt-tests.orig/Makefile ++++ rt-tests/Makefile +@@ -14,15 +14,11 @@ + mandir ?= $(prefix)/share/man + srcdir ?= $(prefix)/src + +-machinetype = $(shell uname -m | \ +- sed -e 's/i.86/i386/' -e 's/mips.*/mips/' -e 's/ppc.*/powerpc/') +-ifneq ($(filter x86_64 i386 ia64 mips powerpc,$(machinetype)),) +-NUMA := 1 +-endif +- +-CFLAGS = -D_GNU_SOURCE -Wall -Wno-nonnull -Isrc/include ++override CFLAGS += -D_GNU_SOURCE -Wall -Wno-nonnull -Isrc/include + +-PYLIB := $(shell python -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib()') ++ifeq ($(HASPYTHON),1) ++PYLIB ?= $(shell python -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib()') ++endif + + ifndef DEBUG + CFLAGS += -O2 diff --git a/package/rt-tests/rt-tests-uclibc.patch b/package/rt-tests/rt-tests-uclibc.patch new file mode 100644 index 0000000..b8e1ac5 --- /dev/null +++ b/package/rt-tests/rt-tests-uclibc.patch @@ -0,0 +1,103 @@ +[PATCH] fix build with uClibc + +Fix two build issues with (modern) uClibc: +- uClibc has clock_nanosleep() if built with UCLIBC_HAS_ADVANCED_REALTIME, + conflicting with emulation function +- uClibc doesn't provide utmpx.h if not built with UCLIBC_HAS_UTMPX, which + is included in several files (but not needed). + +Signed-off-by: Peter Korsgaard +--- + src/backfire/sendme.c | 1 - + src/cyclictest/cyclictest.c | 3 ++- + src/pmqtest/pmqtest.c | 1 - + src/ptsematest/ptsematest.c | 1 - + src/sigwaittest/sigwaittest.c | 2 -- + src/svsematest/svsematest.c | 1 - + 6 files changed, 2 insertions(+), 7 deletions(-) + +Index: rt-tests-0.83/src/backfire/sendme.c +=================================================================== +--- rt-tests-0.83.orig/src/backfire/sendme.c ++++ rt-tests-0.83/src/backfire/sendme.c +@@ -32,7 +32,6 @@ + #include "rt-utils.h" + #include "rt-get_cpu.h" + +-#include + #include + #include + #include +Index: rt-tests-0.83/src/cyclictest/cyclictest.c +=================================================================== +--- rt-tests-0.83.orig/src/cyclictest/cyclictest.c ++++ rt-tests-0.83/src/cyclictest/cyclictest.c +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + #include + #include + +@@ -53,7 +54,7 @@ + #define gettid() syscall(__NR_gettid) + #define sigev_notify_thread_id _sigev_un._tid + +-#ifdef __UCLIBC__ ++#if defined(__UCLIBC__) && !defined(__UCLIBC_HAS_ADVANCED_REALTIME__) + #define MAKE_PROCESS_CPUCLOCK(pid, clock) \ + ((~(clockid_t) (pid) << 3) | (clockid_t) (clock)) + #define CPUCLOCK_SCHED 2 +Index: rt-tests-0.83/src/pmqtest/pmqtest.c +=================================================================== +--- rt-tests-0.83.orig/src/pmqtest/pmqtest.c ++++ rt-tests-0.83/src/pmqtest/pmqtest.c +@@ -33,7 +33,6 @@ + #include + #include + #include +-#include + #include + #include "rt-utils.h" + #include "rt-get_cpu.h" +Index: rt-tests-0.83/src/ptsematest/ptsematest.c +=================================================================== +--- rt-tests-0.83.orig/src/ptsematest/ptsematest.c ++++ rt-tests-0.83/src/ptsematest/ptsematest.c +@@ -33,7 +33,6 @@ + #include + #include + #include +-#include + #include "rt-utils.h" + #include "rt-get_cpu.h" + +Index: rt-tests-0.83/src/sigwaittest/sigwaittest.c +=================================================================== +--- rt-tests-0.83.orig/src/sigwaittest/sigwaittest.c ++++ rt-tests-0.83/src/sigwaittest/sigwaittest.c +@@ -31,11 +31,9 @@ + #include + #include + #include +-#include + #include + #include + #include +-#include + #include "rt-utils.h" + #include "rt-get_cpu.h" + +Index: rt-tests-0.83/src/svsematest/svsematest.c +=================================================================== +--- rt-tests-0.83.orig/src/svsematest/svsematest.c ++++ rt-tests-0.83/src/svsematest/svsematest.c +@@ -31,7 +31,6 @@ + #include + #include + #include +-#include + + #include + diff --git a/package/rt-tests/rt-tests.mk b/package/rt-tests/rt-tests.mk new file mode 100644 index 0000000..222733f --- /dev/null +++ b/package/rt-tests/rt-tests.mk @@ -0,0 +1,25 @@ +RT_TESTS_SITE = http://snapshot.debian.org/archive/debian/20111202T222101Z/pool/main/r/rt-tests/ +RT_TESTS_VERSION = 0.83 +RT_TESTS_SOURCE = rt-tests_$(RT_TESTS_VERSION).orig.tar.gz + +ifeq ($(BR2_PACKAGE_PYTHON),y) +RT_TESTS_DEPENDENCIES = python +endif + +define RT_TESTS_BUILD_CMDS + $(MAKE) -C $(@D) \ + CC="$(TARGET_CC)" \ + CFLAGS="$(TARGET_CFLAGS)" \ + prefix=/usr +endef + +define RT_TESTS_INSTALL_TARGET_CMDS + $(MAKE) -C $(@D) \ + DESTDIR="$(TARGET_DIR)" \ + prefix=/usr \ + $(if $(BR2_PACKAGE_PYTHON),HASPYTHON=1 PYLIB=/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages/) \ + install +endef + +$(eval $(call GENTARGETS)) + diff --git a/package/ruby/ruby-configure2.patch b/package/ruby/ruby-configure2.patch deleted file mode 100644 index 405fc41..0000000 --- a/package/ruby/ruby-configure2.patch +++ /dev/null @@ -1,26 +0,0 @@ -From ac89b1414c84dbc038f623591c738b0637745415 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Thu, 4 Nov 2010 18:31:38 -0300 -Subject: [PATCH] Fix bad sed in configure.in - -Signed-off-by: Gustavo Zacarias ---- - configure.in | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/configure.in b/configure.in -index e97216f..a978c97 100644 ---- a/configure.in -+++ b/configure.in -@@ -152,7 +152,7 @@ AC_MSG_RESULT([$ARCH_FLAG]) - AC_DEFUN([RUBY_UNIVERSAL_ARCH], [ - # RUBY_UNIVERSAL_ARCH begin - test ${CFLAGS+set} && CFLAGS=`echo "$CFLAGS" | sed -e 's/ *-arch *[^ ]*//g' -e 's/ *-m32//g' -e 's/ *-m64//g'` --test ${LDFLAGS+set} && LDFLAGS=`echo "$LDFLAGS" | sed 's/ *-arch *[^ ]*//g' -e 's/ *-m32//g' -e 's/ *-m64//g'` -+test ${LDFLAGS+set} && LDFLAGS=`echo "$LDFLAGS" | sed -e 's/ *-arch *[^ ]*//g' -e 's/ *-m32//g' -e 's/ *-m64//g'` - unset ARCH_FLAG universal_binary universal_archnames - if test ${target_archs+set}; then - AC_MSG_CHECKING([target architectures]) --- -1.7.2.2 - diff --git a/package/ruby/ruby-openssl1.0-fix.patch b/package/ruby/ruby-openssl1.0-fix.patch deleted file mode 100644 index 5591d99..0000000 --- a/package/ruby/ruby-openssl1.0-fix.patch +++ /dev/null @@ -1,53 +0,0 @@ -From b983e73adf7a7d3fd07fdf493eee51c22881a6e6 Mon Sep 17 00:00:00 2001 -From: Nobuhiro Iwamatsu -Date: Wed, 6 Apr 2011 02:28:09 +0900 -Subject: [PATCH] Add option which enable SSLv2 support - -From openssl 1.0, SSLv2 becomes disable by default. -If you want to use SSLv2 in ruby, you need config with --enable-opensslv2. -The SSLv2 support is disable by default. - -Signed-off-by: Nobuhiro Iwamatsu ---- - ext/openssl/extconf.rb | 8 ++++++++ - ext/openssl/ossl_ssl.c | 2 ++ - 2 files changed, 10 insertions(+), 0 deletions(-) - -diff --git a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb -index b1f2d88..89c6f19 100644 ---- a/ext/openssl/extconf.rb -+++ b/ext/openssl/extconf.rb -@@ -33,6 +33,14 @@ if with_config("debug") or enable_config("debug") - end - end - -+## -+## From openssl 1.0, SSLv2 becomes disable by default. -+## If you want to use SSLv2 in ruby, you need config with --enable-opensslv2. -+## -+if enable_config("opensslv2") -+ $defs << "-DENABLE_OPENSSLV2" -+end -+ - message "=== Checking for system dependent stuff... ===\n" - have_library("nsl", "t_open") - have_library("socket", "socket") -diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c -index d8951fb..d0c9059 100644 ---- a/ext/openssl/ossl_ssl.c -+++ b/ext/openssl/ossl_ssl.c -@@ -107,9 +107,11 @@ struct { - OSSL_SSL_METHOD_ENTRY(TLSv1), - OSSL_SSL_METHOD_ENTRY(TLSv1_server), - OSSL_SSL_METHOD_ENTRY(TLSv1_client), -+#if defined(ENABLE_OPENSSLV2) - OSSL_SSL_METHOD_ENTRY(SSLv2), - OSSL_SSL_METHOD_ENTRY(SSLv2_server), - OSSL_SSL_METHOD_ENTRY(SSLv2_client), -+#endif - OSSL_SSL_METHOD_ENTRY(SSLv3), - OSSL_SSL_METHOD_ENTRY(SSLv3_server), - OSSL_SSL_METHOD_ENTRY(SSLv3_client), --- -1.7.4.1 - diff --git a/package/ruby/ruby.mk b/package/ruby/ruby.mk index d99fd1e..c984d67 100644 --- a/package/ruby/ruby.mk +++ b/package/ruby/ruby.mk @@ -4,11 +4,12 @@ # ############################################################# -RUBY_VERSION = 1.9.2-p0 +RUBY_VERSION = 1.9.2-p290 RUBY_SITE = ftp://ftp.ruby-lang.org/pub/ruby/1.9 RUBY_AUTORECONF = YES HOST_RUBY_AUTORECONF = YES RUBY_DEPENDENCIES = host-ruby +HOST_RUBY_DEPENDENCIES = RUBY_MAKE_ENV = $(TARGET_MAKE_ENV) RUBY_CONF_OPT = --disable-install-doc --disable-rpath HOST_RUBY_CONF_OPT = --disable-install-doc --with-out-ext=curses,readline diff --git a/package/sam-ba/Config.in.host b/package/sam-ba/Config.in.host new file mode 100644 index 0000000..f2ea01f --- /dev/null +++ b/package/sam-ba/Config.in.host @@ -0,0 +1,8 @@ +config BR2_PACKAGE_HOST_SAM_BA + bool "host sam-ba" + help + Atmel SAM-BA software provides an open set of tools for + programming the Atmel SAM3, SAM7 and SAM9 ARM-based + microcontrollers. + + http://www.at91.com/linux4sam/bin/view/Linux4SAM/SoftwareTools diff --git a/package/sam-ba/sam-ba.mk b/package/sam-ba/sam-ba.mk new file mode 100644 index 0000000..d00575c --- /dev/null +++ b/package/sam-ba/sam-ba.mk @@ -0,0 +1,22 @@ +SAM_BA_SITE = http://www.atmel.com/dyn/resources/prod_documents/ +SAM_BA_VERSION = 2.10 +SAM_BA_SOURCE = sam-ba_$(SAM_BA_VERSION).zip + +define HOST_SAM_BA_EXTRACT_CMDS + unzip -d $(BUILD_DIR) $(DL_DIR)/$(SAM_BA_SOURCE) + mv $(BUILD_DIR)/sam-ba_cdc_linux/* $(@D) + rmdir $(BUILD_DIR)/sam-ba_cdc_linux/ +endef + +# Since it's a prebuilt application and it does not conform to the +# usual Unix hierarchy, we install it in $(HOST_DIR)/opt/sam-ba and +# then create a symbolic link from $(HOST_DIR)/usr/bin to the +# application binary, for easier usage. + +define HOST_SAM_BA_INSTALL_CMDS + mkdir -p $(HOST_DIR)/opt/sam-ba/ + cp -a $(@D)/* $(HOST_DIR)/opt/sam-ba/ + ln -s ../../opt/sam-ba/sam-ba $(HOST_DIR)/usr/bin/sam-ba +endef + +$(eval $(call GENTARGETS,host)) diff --git a/package/samba/Config.in b/package/samba/Config.in index 3a77776..a5a5c29 100644 --- a/package/samba/Config.in +++ b/package/samba/Config.in @@ -249,12 +249,12 @@ config BR2_PACKAGE_SAMBA_AVAHI default y depends on BR2_PACKAGE_SAMBA depends on BR2_PACKAGE_AVAHI_DAEMON - depends on BR2_PACKAGE_DBUS + select BR2_PACKAGE_DBUS help Include support for avahi -comment "support avahi - disabled (requires avahi-daemon/dbus)" - depends on !BR2_PACKAGE_AVAHI_DAEMON || !BR2_PACKAGE_DBUS +comment "support avahi - disabled (requires avahi-daemon)" + depends on !BR2_PACKAGE_AVAHI_DAEMON config BR2_PACKAGE_SAMBA_GAMIN bool "support gamin" diff --git a/package/samba/samba.mk b/package/samba/samba.mk index de2c13b..4e02682 100644 --- a/package/samba/samba.mk +++ b/package/samba/samba.mk @@ -3,9 +3,9 @@ # samba # ############################################################# -SAMBA_VERSION = 3.5.11 -SAMBA_SOURCE = samba-$(SAMBA_VERSION).tar.gz -SAMBA_SITE = http://ftp.samba.org/pub/samba/stable/ + +SAMBA_VERSION = 3.5.12 +SAMBA_SITE = http://ftp.samba.org/pub/samba/stable SAMBA_SUBDIR = source3 SAMBA_AUTORECONF = NO diff --git a/package/sane-backends/Config.in b/package/sane-backends/Config.in new file mode 100644 index 0000000..04222fc --- /dev/null +++ b/package/sane-backends/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_SANE_BACKENDS + bool "sane-backends" + help + SANE - Scanner Access Now Easy + + http://www.sane-project.org + + Backends are included automatically based on the libraries that have + been selected: libusb, jpeg, tiff, avahi (with dbus and libglib2), + and netsnmp. diff --git a/package/sane-backends/sane-backends-1.0.22-v4l.patch b/package/sane-backends/sane-backends-1.0.22-v4l.patch new file mode 100644 index 0000000..e9bdd20 --- /dev/null +++ b/package/sane-backends/sane-backends-1.0.22-v4l.patch @@ -0,0 +1,66 @@ +From Fedora git: http://pkgs.fedoraproject.org/gitweb/?p=sane-backends.git;a=blob;f=sane-backends-1.0.22-v4l.patch;hb=4c4b8135b896ef9f00b926ce5f435ae5c9b156d5 + +From 26c69b228b29f612faf4b0cc85db969ee7cc4ea6 Mon Sep 17 00:00:00 2001 +From: Nils Philippsen +Date: Mon, 14 Mar 2011 13:35:05 +0100 +Subject: [PATCH] patch: v4l + +Squashed commit of the following: + +commit 23381932c76846191b42a48e505b37cd74711265 +Author: Julien BLACHE +Date: Wed Feb 16 19:37:43 2011 +0100 + + Fix v4l build with libv4l 0.8.3+ + + (cherry picked from commit c5ca46c2d1be78c651afb843cc834cf2b5b24953) + + Conflicts: + + ChangeLog + + Signed-off-by: Nils Philippsen +--- + backend/v4l.c | 3 +-- + backend/v4l.h | 3 ++- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/backend/v4l.c b/backend/v4l.c +index 6510ef0..38595ed 100644 +--- a/backend/v4l.c ++++ b/backend/v4l.c +@@ -84,9 +84,8 @@ + #include "../include/sane/sanei_config.h" + #define V4L_CONFIG_FILE "v4l.conf" + +-#include "v4l.h" +- + #include ++#include "v4l.h" + + static const SANE_Device **devlist = NULL; + static int num_devices; +diff --git a/backend/v4l.h b/backend/v4l.h +index 588b96e..6aee586 100644 +--- a/backend/v4l.h ++++ b/backend/v4l.h +@@ -29,6 +29,7 @@ + #ifndef v4l_h + #define v4l_h + ++#ifndef __LINUX_VIDEODEV_H + /* Kernel interface */ + /* Only the stuff we need. For more features, more defines are needed */ + +@@ -165,7 +166,7 @@ struct video_channel + + + /* end of kernel interface */ +- ++#endif /* !__LINUX_VIDEODEV_H */ + + #include <../include/sane/sane.h> + +-- +1.7.4 + diff --git a/package/sane-backends/sane-backends.mk b/package/sane-backends/sane-backends.mk new file mode 100644 index 0000000..621cff5 --- /dev/null +++ b/package/sane-backends/sane-backends.mk @@ -0,0 +1,40 @@ +############################################################# +# +# sane-backends +# +############################################################# +SANE_BACKENDS_VERSION = 1.0.22 +SANE_BACKENDS_SOURCE = sane-backends-$(SANE_BACKENDS_VERSION).tar.gz +SANE_BACKENDS_SITE = ftp://ftp2.sane-project.org/pub/sane/sane-backends-$(SANE_BACKENDS_VERSION) + +ifeq ($(BR2_PACKAGE_LIBUSB),y) +SANE_BACKENDS_DEPENDENCIES += libusb +SANE_BACKENDS_CONF_OPT += --enable-libusb_1_0 +else +SANE_BACKENDS_CONF_OPT += --disable-libusb +endif + +ifeq ($(BR2_PACKAGE_JPEG),y) +SANE_BACKENDS_DEPENDENCIES += jpeg +endif + +ifeq ($(BR2_PACKAGE_TIFF),y) +SANE_BACKENDS_DEPENDENCIES += tiff +endif + +ifeq ($(BR2_PACKAGE_LIBV4L),y) +SANE_BACKENDS_DEPENDENCIES += libv4l +endif + +ifeq ($(BR2_PACKAGE_AVAHI)$(BR2_PACKAGE_DBUS)$(BR2_PACKAGE_LIBGLIB2),yyy) +SANE_BACKENDS_DEPENDENCIES += avahi +SANE_BACKENDS_CONF_OPT += --enable-avahi +endif + +ifeq ($(BR2_PACKAGE_NETSNMP),y) +SANE_BACKENDS_DEPENDENCIES += netsnmp +else +SANE_BACKENDS_CONF_OPT += --without-snmp +endif + +$(eval $(call AUTOTARGETS)) diff --git a/package/sdl/Config.in b/package/sdl/Config.in index 869173d..65ac8a2 100644 --- a/package/sdl/Config.in +++ b/package/sdl/Config.in @@ -24,5 +24,7 @@ config BR2_PACKAGE_SDL_QTOPIA config BR2_PACKAGE_SDL_X11 bool "SDL X11 video driver" depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBX11 + select BR2_PACKAGE_XLIB_LIBXEXT endif diff --git a/package/sdl/sdl.mk b/package/sdl/sdl.mk index b5d9152..5460f51 100644 --- a/package/sdl/sdl.mk +++ b/package/sdl/sdl.mk @@ -3,9 +3,10 @@ # SDL # ############################################################# -SDL_VERSION:=1.2.14 -SDL_SOURCE:=SDL-$(SDL_VERSION).tar.gz -SDL_SITE:=http://www.libsdl.org/release + +SDL_VERSION = 1.2.15 +SDL_SOURCE = SDL-$(SDL_VERSION).tar.gz +SDL_SITE = http://www.libsdl.org/release SDL_INSTALL_STAGING = YES SDL_CONF_ENV = ac_cv_path_DIRECTFBCONFIG=$(STAGING_DIR)/usr/bin/directfb-config @@ -31,7 +32,9 @@ endif ifeq ($(BR2_PACKAGE_SDL_X11),y) SDL_CONF_OPT+=--enable-video-x11=yes -SDL_DEPENDENCIES += xserver_xorg-server +SDL_DEPENDENCIES += xlib_libX11 xlib_libXext \ + $(if $(BR2_PACKAGE_XLIB_LIBXRENDER), xlib_libXrender) \ + $(if $(BR2_PACKAGE_XLIB_LIBXRANDR), xlib_libXrandr) else SDL_CONF_OPT+=--enable-video-x11=no endif @@ -44,6 +47,10 @@ ifeq ($(BR2_PACKAGE_ALSA_LIB),y) SDL_DEPENDENCIES += alsa-lib endif +ifeq ($(BR2_PACKAGE_MESA3D),y) +SDL_DEPENDENCIES += mesa3d +endif + SDL_CONF_OPT += --enable-pulseaudio=no \ --disable-arts \ --disable-esd \ diff --git a/package/sdparm/sdparm.mk b/package/sdparm/sdparm.mk index 21befd6..9d2b00b 100644 --- a/package/sdparm/sdparm.mk +++ b/package/sdparm/sdparm.mk @@ -1,4 +1,4 @@ -SDPARM_VERSION = 1.06 +SDPARM_VERSION = 1.07 SDPARM_SOURCE = sdparm-$(SDPARM_VERSION).tgz SDPARM_SITE = http://sg.danny.cz/sg/p/ diff --git a/package/sqlcipher/Config.in b/package/sqlcipher/Config.in new file mode 100644 index 0000000..8970115 --- /dev/null +++ b/package/sqlcipher/Config.in @@ -0,0 +1,28 @@ +config BR2_PACKAGE_SQLCIPHER + bool "sqlcipher" + depends on !BR2_PACKAGE_SQLITE + select BR2_PACKAGE_OPENSSL + help + SQLCipher is an SQLite extension that provides 256 bits AES + encryption of database files. Note that it is a fork of SQLite + and they cannot be installed side-by-side. + http://sqlcipher.net + +config BR2_PACKAGE_SQLCIPHER_READLINE + bool "Command-line editing" + depends on BR2_PACKAGE_SQLCIPHER + select BR2_PACKAGE_NCURSES + select BR2_PACKAGE_READLINE + help + Enable command-line editing. This requires ncurses and readline. + +config BR2_PACKAGE_SQLCIPHER_STAT3 + bool "Additional query optimizations (stat3)" + depends on BR2_PACKAGE_SQLCIPHER + help + Adds additional logic to the ANALYZE command and to the query + planner that can help SQLite to choose a better query plan under + certain situations. + +comment "sqlcipher conflicts with sqlite" + depends on BR2_PACKAGE_SQLITE diff --git a/package/sqlcipher/sqlcipher.mk b/package/sqlcipher/sqlcipher.mk new file mode 100644 index 0000000..3e69a96 --- /dev/null +++ b/package/sqlcipher/sqlcipher.mk @@ -0,0 +1,56 @@ +############################################################# +# +# Sqlcipher extension of sqlite +# http://sqlcipher.net +# +############################################################# +SQLCIPHER_VERSION = 1.1.9 +SQLCIPHER_SITE = http://github.com/sjlombardo/sqlcipher/tarball/v$(SQLCIPHER_VERSION) +SQLCIPHER_DEPENDENCIES = openssl host-tcl +SQLCIPHER_INSTALL_STAGING = YES + +SQLCIPHER_CONF_ENV = \ + CFLAGS+=" $(SQLCIPHER_CFLAGS)" \ + LDFLAGS+=" $(SQLCIPHER_LDFLAGS)" \ + TCLSH_CMD=$(HOST_DIR)/usr/bin/tclsh$(TCL_VERSION_MAJOR) + +SQLCIPHER_CONF_OPT = \ + --enable-threadsafe \ + --localstatedir=/var + +SQLCIPHER_CFLAGS += -DSQLITE_HAS_CODEC # Required according to the README +SQLCIPHER_LDFLAGS += -lcrypto + +ifneq ($(BR2_LARGEFILE),y) +# the sqlite configure script fails to define SQLITE_DISABLE_LFS when +# --disable-largefile is passed, breaking the build. Work around it by +# simply adding it to CFLAGS for configure instead +SQLCIPHER_CFLAGS += -DSQLITE_DISABLE_LFS +endif + +ifeq ($(BR2_PACKAGE_SQLCIPHER_STAT3),y) +SQLCIPHER_CFLAGS += -DSQLITE_ENABLE_STAT3 +endif + +ifeq ($(BR2_PACKAGE_SQLCIPHER_READLINE),y) +SQLCIPHER_DEPENDENCIES += ncurses readline +SQLCIPHER_CONF_OPT += --with-readline-inc="-I$(STAGING_DIR)/usr/include" +else +SQLCIPHER_CONF_OPT += --disable-readline +endif + +define SQLCIPHER_UNINSTALL_TARGET_CMDS + rm -f $(TARGET_DIR)/usr/bin/sqlite3 + rm -f $(TARGET_DIR)/usr/lib/libsqlite3* + rm -f $(TARGET_DIR)/usr/lib/pkgconfig/sqlite3.pc + rm -f $(TARGET_DIR)/usr/include/sqlite3*.h +endef + +define SQLCIPHER_UNINSTALL_STAGING_CMDS + rm -f $(STAGING_DIR)/usr/bin/sqlite3 + rm -f $(STAGING_DIR)/usr/lib/libsqlite3* + rm -f $(STAGING_DIR)/usr/lib/pkgconfig/sqlite3.pc + rm -f $(STAGING_DIR)/usr/include/sqlite3*.h +endef + +$(eval $(call AUTOTARGETS)) diff --git a/package/sqlite/Config.in b/package/sqlite/Config.in index f9b12ae..25aaa3f 100644 --- a/package/sqlite/Config.in +++ b/package/sqlite/Config.in @@ -14,3 +14,11 @@ config BR2_PACKAGE_SQLITE_READLINE help Enable command-line editing. This requires ncurses and readline. +config BR2_PACKAGE_SQLITE_STAT3 + bool "Additional query optimizations (stat3)" + depends on BR2_PACKAGE_SQLITE + help + Adds additional logic to the ANALYZE command and to the query + planner that can help SQLite to choose a better query plan under + certain situations. + diff --git a/package/sqlite/sqlite.mk b/package/sqlite/sqlite.mk index 10fe9fe..18617e8 100644 --- a/package/sqlite/sqlite.mk +++ b/package/sqlite/sqlite.mk @@ -4,7 +4,7 @@ # ############################################################# -SQLITE_VERSION = 3070800 +SQLITE_VERSION = 3071000 SQLITE_SOURCE = sqlite-autoconf-$(SQLITE_VERSION).tar.gz SQLITE_SITE = http://www.sqlite.org SQLITE_INSTALL_STAGING = YES @@ -13,14 +13,18 @@ ifneq ($(BR2_LARGEFILE),y) # the sqlite configure script fails to define SQLITE_DISABLE_LFS when # --disable-largefile is passed, breaking the build. Work around it by # simply adding it to CFLAGS for configure instead -SQLITE_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -DSQLITE_DISABLE_LFS" +SQLITE_CFLAGS += -DSQLITE_DISABLE_LFS endif -SQLITE_CONF_OPT = --enable-tempstore=yes \ - --enable-threadsafe \ - --enable-releasemode \ - --disable-tcl \ - --localstatedir=/var +ifeq ($(BR2_PACKAGE_SQLITE_STAT3),y) +SQLITE_CFLAGS += -DSQLITE_ENABLE_STAT3 +endif + +SQLITE_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) $(SQLITE_CFLAGS)" + +SQLITE_CONF_OPT = \ + --enable-threadsafe \ + --localstatedir=/var ifeq ($(BR2_PACKAGE_SQLITE_READLINE),y) SQLITE_DEPENDENCIES += ncurses readline diff --git a/package/squashfs3/squashfs3.mk b/package/squashfs3/squashfs3.mk index 178543b..81cdf79 100644 --- a/package/squashfs3/squashfs3.mk +++ b/package/squashfs3/squashfs3.mk @@ -3,7 +3,6 @@ SQUASHFS3_SOURCE=squashfs$(SQUASHFS3_VERSION).tar.gz SQUASHFS3_SITE=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/squashfs SQUASHFS3_DEPENDENCIES = zlib -HOST_SQUASHFS3_DEPENDENCIES = host-zlib define SQUASHFS3_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) \ diff --git a/package/squid/squid.mk b/package/squid/squid.mk index c5f66f6..a2160f1 100644 --- a/package/squid/squid.mk +++ b/package/squid/squid.mk @@ -4,7 +4,7 @@ # ############################################################# -SQUID_VERSION = 3.1.16 +SQUID_VERSION = 3.1.18 SQUID_SITE = http://www.squid-cache.org/Versions/v3/3.1 SQUID_DEPENDENCIES = libcap host-libcap SQUID_CONF_ENV = ac_cv_epoll_works=yes ac_cv_func_setresuid=yes \ diff --git a/package/sshfs/Config.in b/package/sshfs/Config.in index 1d9f759..73d552f 100644 --- a/package/sshfs/Config.in +++ b/package/sshfs/Config.in @@ -9,10 +9,7 @@ config BR2_PACKAGE_SSHFS depends on BR2_LARGEFILE depends on BR2_USE_WCHAR # glib2 help - FUSE makes it possible to implement a filesystem in a userspace - program. Features include: simple yet comprehensive API, secure - mounting by non-root users, support for 2.4 and 2.6 Linux - kernels, multi-threaded operation. etc... + FUSE filesystem client based on the SSH File Transfer Protocol. http://fuse.sourceforge.net/sshfs.html diff --git a/package/sshfs/sshfs.mk b/package/sshfs/sshfs.mk index 81eb4c6..738b4d0 100644 --- a/package/sshfs/sshfs.mk +++ b/package/sshfs/sshfs.mk @@ -4,8 +4,8 @@ # ############################################################# -SSHFS_VERSION = 2.2 -SSHFS_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/fuse/$(SSHFS_VERSION)/sshfs-fuse +SSHFS_VERSION = 2.3 +SSHFS_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/fuse/$(SSHFS_VERSION) SSHFS_SOURCE = sshfs-fuse-$(SSHFS_VERSION).tar.gz SSHFS_DEPENDENCIES = \ libglib2 libfuse openssh \ diff --git a/package/sudo/sudo.mk b/package/sudo/sudo.mk index 9c62c49..f10d294 100644 --- a/package/sudo/sudo.mk +++ b/package/sudo/sudo.mk @@ -4,7 +4,7 @@ # ############################################################# -SUDO_VERSION = 1.7.7 +SUDO_VERSION = 1.7.8p1 SUDO_SITE = http://www.sudo.ws/sudo/dist SUDO_CONF_OPT = \ diff --git a/package/tar/tar.mk b/package/tar/tar.mk index edbd9bd..9e856b5 100644 --- a/package/tar/tar.mk +++ b/package/tar/tar.mk @@ -10,6 +10,19 @@ TAR_SITE = $(BR2_GNU_MIRROR)/tar # Prefer full-blown tar over buybox's version ifeq ($(BR2_PACKAGE_BUSYBOX),y) TAR_DEPENDENCIES += busybox +HOST_TAR_DEPENDENCIES = endif $(eval $(call AUTOTARGETS)) + +# host-tar: use cpio.gz instead of tar.gz to prevent chicken-egg problem +# of needing tar to build tar. +HOST_TAR_SOURCE = tar-$(TAR_VERSION).cpio.gz +define HOST_TAR_EXTRACT_CMDS + mkdir -p $(@D) + cd $(@D) && \ + $(INFLATE.gz) $(DL_DIR)/$(HOST_TAR_SOURCE) | cpio -i + mv $(@D)/tar-$(TAR_VERSION)/* $(@D) + rmdir $(@D)/tar-$(TAR_VERSION) +endef +$(eval $(call AUTOTARGETS,host)) diff --git a/package/tcl/tcl.mk b/package/tcl/tcl.mk index cf9a409..8ed81ab 100644 --- a/package/tcl/tcl.mk +++ b/package/tcl/tcl.mk @@ -3,25 +3,33 @@ # TCL8.4 # ############################################################# -TCL_VERSION:=8.4.19 -TCL_SOURCE:=tcl$(TCL_VERSION)-src.tar.gz -TCL_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/tcl +TCL_VERSION_MAJOR = 8.4 +TCL_VERSION_MINOR = 19 +TCL_VERSION = $(TCL_VERSION_MAJOR).$(TCL_VERSION_MINOR) +TCL_SOURCE = tcl$(TCL_VERSION)-src.tar.gz +TCL_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/tcl TCL_SUBDIR = unix TCL_CONF_OPT = \ --disable-symbols \ --disable-langinfo \ --disable-framework +HOST_TCL_CONF_OPT = \ + --disable-symbols \ + --disable-langinfo \ + --disable-framework + define TCL_POST_INSTALL_CLEANUP -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libtcl8.4.so -if [ "$(BR2_PACKAGE_TCL_DEL_ENCODINGS)" = "y" ]; then \ - rm -Rf $(TARGET_DIR)/usr/lib/tcl8.4/encoding/*; \ + rm -Rf $(TARGET_DIR)/usr/lib/tcl$(TCL_VERSION_MAJOR)/encoding/*; \ fi -if [ "$(BR2_PACKAGE_TCL_SHLIB_ONLY)" = "y" ]; then \ - rm -f $(TARGET_DIR)/usr/bin/tclsh8.4; \ + rm -f $(TARGET_DIR)/usr/bin/tclsh$(TCL_VERSION_MAJOR); \ fi endef TCL_POST_INSTALL_TARGET_HOOKS += TCL_POST_INSTALL_CLEANUP $(eval $(call AUTOTARGETS)) +$(eval $(call AUTOTARGETS,host)) diff --git a/package/tcpdump/tcpdump-4.1.1-vfork.patch b/package/tcpdump/tcpdump-4.1.1-vfork.patch deleted file mode 100644 index 8213f35..0000000 --- a/package/tcpdump/tcpdump-4.1.1-vfork.patch +++ /dev/null @@ -1,127 +0,0 @@ -https://sourceforge.net/tracker/?func=detail&aid=3120897&group_id=53066&atid=469575 - -From 6f8927c609d1f986a45010b7acae0eb570668642 Mon Sep 17 00:00:00 2001 -From: Mike Frysinger -Date: Sat, 27 Nov 2010 17:18:05 -0500 -Subject: [PATCH] add support for nommu systems - -Rather than hardcode the WIN32 define, add proper fork checks to the -configure script and check those. This fixes building for nommu systems -which lack the fork function. - -While we're here though, add support for this functionality via vfork -so that it does work on nommu systems. And fix an old bug where we -exit properly in the forked child when the exec failed instead of just -returning to the calling code (which isn't expecting it). - -Signed-off-by: Mike Frysinger ---- - ---- tcpdump-4.0.0/config.h.in -+++ tcpdump-4.0.0/config.h.in -@@ -151,6 +151,9 @@ - /* Define to 1 if you have the header file. */ - #undef HAVE_FCNTL_H - -+/* Define to 1 if you have the `fork' function. */ -+#undef HAVE_FORK -+ - /* Define to 1 if you have the `getnameinfo' function. */ - #undef HAVE_GETNAMEINFO - -@@ -274,6 +277,9 @@ - /* Define to 1 if you have the header file. */ - #undef HAVE_UNISTD_H - -+/* Define to 1 if you have the `vfork' function. */ -+#undef HAVE_VFORK -+ - /* Define to 1 if you have the `vfprintf' function. */ - #undef HAVE_VFPRINTF - ---- tcpdump-4.0.0/configure -+++ tcpdump-4.0.0/configure -@@ -7976,7 +7976,7 @@ done - - - --for ac_func in strftime -+for ac_func in fork vfork strftime - do - as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` - { echo "$as_me:$LINENO: checking for $ac_func" >&5 -diff --git a/tcpdump.c b/tcpdump.c -index c8da36b..abf3e69 100644 ---- a/tcpdump.c -+++ b/tcpdump.c -@@ -1250,8 +1250,10 @@ main(int argc, char **argv) - (void)setsignal(SIGPIPE, cleanup); - (void)setsignal(SIGTERM, cleanup); - (void)setsignal(SIGINT, cleanup); -- (void)setsignal(SIGCHLD, child_cleanup); - #endif /* WIN32 */ -+#if defined(HAVE_FORK) || defined(HAVE_VFORK) -+ (void)setsignal(SIGCHLD, child_cleanup); -+#endif - /* Cooperate with nohup(1) */ - #ifndef WIN32 - if ((oldhandler = setsignal(SIGHUP, cleanup)) != SIG_DFL) -@@ -1464,13 +1466,13 @@ cleanup(int signo _U_) - On windows, we do not use a fork, so we do not care less about - waiting a child processes to die - */ --#ifndef WIN32 -+#if defined(HAVE_FORK) || defined(HAVE_VFORK) - static RETSIGTYPE - child_cleanup(int signo _U_) - { - wait(NULL); - } --#endif /* WIN32 */ -+#endif /* HAVE_FORK || HAVE_VFORK */ - - static void - info(register int verbose) -@@ -1514,11 +1516,15 @@ info(register int verbose) - infoprint = 0; - } - --#ifndef WIN32 -+#if defined(HAVE_FORK) || defined(HAVE_VFORK) - static void - compress_savefile(const char *filename) - { -+# ifdef HAVE_FORK - if (fork()) -+# else -+ if (vfork()) -+# endif - return; - /* - * Set to lowest priority so that this doesn't disturb the capture -@@ -1534,15 +1540,20 @@ compress_savefile(const char *filename) - zflag, - filename, - strerror(errno)); -+# ifdef HAVE_FORK -+ exit(1); -+# else -+ _exit(1); -+# endif - } --#else /* WIN32 */ -+#else /* HAVE_FORK || HAVE_VFORK */ - static void - compress_savefile(const char *filename) - { - fprintf(stderr, -- "compress_savefile failed. Functionality not implemented under windows\n"); -+ "compress_savefile failed. Functionality not implemented under your system\n"); - } --#endif /* WIN32 */ -+#endif /* HAVE_FORK || HAVE_VFORK */ - - static void - dump_packet_and_trunc(u_char *user, const struct pcap_pkthdr *h, const u_char *sp) --- -1.7.3.1 diff --git a/package/tcpdump/tcpdump.mk b/package/tcpdump/tcpdump.mk index 1534543..cf23df3 100644 --- a/package/tcpdump/tcpdump.mk +++ b/package/tcpdump/tcpdump.mk @@ -6,13 +6,13 @@ # Copyright (C) 2001-2003 by Erik Andersen # Copyright (C) 2002 by Tim Riker -TCPDUMP_VERSION:=4.1.1 -TCPDUMP_SITE:=http://www.tcpdump.org/release -TCPDUMP_SOURCE:=tcpdump-$(TCPDUMP_VERSION).tar.gz -TCPDUMP_CONF_ENV:=ac_cv_linux_vers=2 -TCPDUMP_CONF_OPT:=--without-crypto \ +TCPDUMP_VERSION = 4.2.1 +TCPDUMP_SITE = http://www.tcpdump.org/release +TCPDUMP_SOURCE = tcpdump-$(TCPDUMP_VERSION).tar.gz +TCPDUMP_CONF_ENV = ac_cv_linux_vers=2 +TCPDUMP_CONF_OPT = --without-crypto \ $(if $(BR2_PACKAGE_TCPDUMP_SMB),--enable-smb,--disable-smb) -TCPDUMP_DEPENDENCIES:=zlib libpcap +TCPDUMP_DEPENDENCIES = zlib libpcap # make install installs an unneeded extra copy of the tcpdump binary define TCPDUMP_REMOVE_DUPLICATED_BINARY diff --git a/package/ti-utils/ti-utils.mk b/package/ti-utils/ti-utils.mk index 15e620c..71a610d 100644 --- a/package/ti-utils/ti-utils.mk +++ b/package/ti-utils/ti-utils.mk @@ -10,8 +10,8 @@ TI_UTILS_DEPENDENCIES = libnl define TI_UTILS_BUILD_CMDS $(MAKE1) NFSROOT="$(STAGING_DIR)" \ - CC="$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS)" \ - -C $(@D) all + CC="$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -I$(STAGING_DIR)/usr/include/libnl3" \ + LIBS="-lnl-3 -lnl-genl-3 -lm" -C $(@D) all endef define TI_UTILS_INSTALL_TARGET_CMDS diff --git a/package/tiff/Config.in b/package/tiff/Config.in index c6336e2..7850965 100644 --- a/package/tiff/Config.in +++ b/package/tiff/Config.in @@ -1,8 +1,75 @@ config BR2_PACKAGE_TIFF bool "tiff" - select BR2_PACKAGE_ZLIB - select BR2_PACKAGE_JPEG help Library for handling TIFF (Tag Image File Format) images. http://www.libtiff.org/ + +if BR2_PACKAGE_TIFF +menu "tiff Options" + +config BR2_PACKAGE_TIFF_CCITT + bool "CCITT Group 3 & 4 support" + default y + +config BR2_PACKAGE_TIFF_PACKBITS + bool "Macintosh PackBits algorithm" + default y + +config BR2_PACKAGE_TIFF_LZW + bool "LZW algorithm" + default y + +config BR2_PACKAGE_TIFF_THUNDER + bool "ThunderScan 4-bit RLE algorithm" + default y + +config BR2_PACKAGE_TIFF_NEXT + bool "NeXT 2-bit RLE algorithm" + default y + +config BR2_PACKAGE_TIFF_LOGLUV + bool "LogLuv high dynamic range encoding" + default y + +config BR2_PACKAGE_TIFF_MDI + bool "Microsoft Document Imaging" + default y + +config BR2_PACKAGE_TIFF_ZLIB + bool "Zlib usage (required for Deflate compression)" + select BR2_PACKAGE_ZLIB + default y + +config BR2_PACKAGE_TIFF_PIXARLOG + bool "Pixar log-format algorithm (requires Zlib)" + select BR2_PACKAGE_TIFF_ZLIB + default y + +config BR2_PACKAGE_TIFF_JPEG + bool "JPEG compression" + select BR2_PACKAGE_JPEG + default y + +config BR2_PACKAGE_TIFF_OLD_JPEG + bool "Old JPEG decompression" + default y + +config BR2_PACKAGE_TIFF_JBIG + bool "JBIG compression" + default y +endmenu + +endif + +config BR2_PACKAGE_TIFF_TIFF2PDF + bool "tiff2pdf" + depends on BR2_PACKAGE_TIFF + help + tiff2pdf utility + +config BR2_PACKAGE_TIFF_TIFFCP + bool "tiffcp" + depends on BR2_PACKAGE_TIFF + help + tiffcp utility diff --git a/package/tiff/tiff.mk b/package/tiff/tiff.mk index 1d57db7..ed05bf1 100644 --- a/package/tiff/tiff.mk +++ b/package/tiff/tiff.mk @@ -12,10 +12,74 @@ TIFF_CONF_OPT = \ --disable-cxx \ --without-x \ -TIFF_DEPENDENCIES = host-pkg-config zlib jpeg +TIFF_DEPENDENCIES = host-pkg-config + +TIFF_TOOLS_LIST = +ifeq ($(BR2_PACKAGE_TIFF_TIFF2PDF),y) + TIFF_TOOLS_LIST += tiff2pdf +endif +ifeq ($(BR2_PACKAGE_TIFF_TIFFCP),y) + TIFF_TOOLS_LIST += tiffcp +endif + +ifneq ($(BR2_PACKAGE_TIFF_CCITT),y) + TIFF_CONF_OPT += --disable-ccitt +endif + +ifneq ($(BR2_PACKAGE_TIFF_PACKBITS),y) + TIFF_CONF_OPT += --disable-packbits +endif + +ifneq ($(BR2_PACKAGE_TIFF_LZW),y) + TIFF_CONF_OPT += --disable-lzw +endif + +ifneq ($(BR2_PACKAGE_TIFF_THUNDER),y) + TIFF_CONF_OPT += --disable-thunder +endif + +ifneq ($(BR2_PACKAGE_TIFF_NEXT),y) + TIFF_CONF_OPT += --disable-next +endif + +ifneq ($(BR2_PACKAGE_TIFF_LOGLUV),y) + TIFF_CONF_OPT += --disable-logluv +endif + +ifneq ($(BR2_PACKAGE_TIFF_MDI),y) + TIFF_CONF_OPT += --disable-mdi +endif + +ifneq ($(BR2_PACKAGE_TIFF_ZLIB),y) + TIFF_CONF_OPT += --disable-zlib +else + TIFF_DEPENDENCIES += zlib +endif + +ifneq ($(BR2_PACKAGE_TIFF_PIXARLOG),y) + TIFF_CONF_OPT += --disable-pixarlog +endif + +ifneq ($(BR2_PACKAGE_TIFF_JPEG),y) + TIFF_CONF_OPT += --disable-jpeg +else + TIFF_DEPENDENCIES += jpeg +endif + +ifneq ($(BR2_PACKAGE_TIFF_OLD_JPEG),y) + TIFF_CONF_OPT += --disable-old-jpeg +endif + +ifneq ($(BR2_PACKAGE_TIFF_JBIG),y) + TIFF_CONF_OPT += --disable-jbig +endif define TIFF_INSTALL_TARGET_CMDS -cp -a $(@D)/libtiff/.libs/libtiff.so* $(TARGET_DIR)/usr/lib/ + for i in $(TIFF_TOOLS_LIST); \ + do \ + $(INSTALL) -m 755 -D $(@D)/tools/$$i $(TARGET_DIR)/usr/bin/$$i; \ + done endef $(eval $(call AUTOTARGETS)) diff --git a/package/transmission/Config.in b/package/transmission/Config.in new file mode 100644 index 0000000..e7e9f66 --- /dev/null +++ b/package/transmission/Config.in @@ -0,0 +1,48 @@ +config BR2_PACKAGE_TRANSMISSION + bool "transmission" + depends on BR2_INET_IPV6 + select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBCURL + select BR2_PACKAGE_LIBEVENT + help + Transmission is a cross-platform BitTorrent client. + +if BR2_PACKAGE_TRANSMISSION + +config BR2_PACKAGE_TRANSMISSION_UTP + bool "Transmission uTP support" + depends on BR2_INSTALL_LIBSTDCPP + help + Install support for uTorrent Transport Protocol + +comment "uTP requires a toolchain with C++ support" + depends on !BR2_INSTALL_LIBSTDCPP + +config BR2_PACKAGE_TRANSMISSION_CLI + bool "transmission-cli" + help + Install transmission command line interface. + +config BR2_PACKAGE_TRANSMISSION_DAEMON + bool "transmission-daemon" + help + Install transmission daemon. + +config BR2_PACKAGE_TRANSMISSION_REMOTE + bool "transmission-remote" + help + Install transmission remote management tool. + +config BR2_PACKAGE_TRANSMISSION_GTK + bool "transmission-gtk" + depends on BR2_PACKAGE_LIBGTK2 && BR2_ENABLE_LOCALE + help + Install transmission GTK-based GUI interface. + +comment "transmission-gtk requires a toolchain with locale support" + depends on BR2_PACKAGE_LIBGTK2 && !BR2_ENABLE_LOCALE +endif + +comment "Transmission requires a toolchain with IPv6 support" + depends on !BR2_INET_IPV6 diff --git a/package/transmission/S92transmission b/package/transmission/S92transmission new file mode 100644 index 0000000..f226154 --- /dev/null +++ b/package/transmission/S92transmission @@ -0,0 +1,161 @@ +#!/bin/sh + +# Original Author: Lennart A. Jtte, based on Rob Howell's script +# Modified by Maarten Van Coile & others (on IRC) + +# Changes for buildroot: +# USERNAME points to 'default' in standard installation +# TODO: set logfile with --logfile option + +# Do NOT "set -e" + +# +# ----- CONFIGURATION ----- +# +# For the default location Transmission uses, visit: +# http://trac.transmissionbt.com/wiki/ConfigFiles +# For a guide on how set the preferences, visit: +# http://trac.transmissionbt.com/wiki/EditConfigFiles +# For the available environement variables, visit: +# http://trac.transmissionbt.com/wiki/EnvironmentVariables +# +# The name of the user that should run Transmission. +# It's RECOMENDED to run Transmission in it's own user, +# by default, this is set to 'transmission'. +# For the sake of security you shouldn't set a password +# on this user +#USERNAME=transmission +USERNAME=default + + + +# ----- *ADVANCED* CONFIGURATION ----- +# Only change these options if you know what you are doing! +# +# The folder where Transmission stores the config & web files. +# ONLY change this you have it at a non-default location +#TRANSMISSION_HOME="/var/config/transmission-daemon" +#TRANSMISSION_WEB_HOME="/usr/share/transmission/web" +# +# The arguments passed on to transmission-daemon. +# ONLY change this you need to, otherwise use the +# settings file as per above. +#TRANSMISSION_ARGS="" + + +# ----- END OF CONFIGURATION ----- +# +# PATH should only include /usr/* if it runs after the mountnfs.sh script. +PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +DESC="bittorrent client" +NAME=transmission-daemon +DAEMON=$(which $NAME) +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/$NAME + +# Exit if the package is not installed +[ -x "$DAEMON" ] || exit 0 + +# Read configuration variable file if it is present +[ -r /etc/default/$NAME ] && . /etc/default/$NAME + +# Load the VERBOSE setting and other rcS variables +[ -f /etc/default/rcS ] && . /etc/default/rcS + +# +# Function that starts the daemon/service +# + +do_start() +{ + # Export the configuration/web directory, if set + if [ -n "$TRANSMISSION_HOME" ]; then + export TRANSMISSION_HOME + fi + if [ -n "$TRANSMISSION_WEB_HOME" ]; then + export TRANSMISSION_WEB_HOME + fi + + # Return + # 0 if daemon has been started + # 1 if daemon was already running + # 2 if daemon could not be started + start-stop-daemon --chuid $USERNAME --start --pidfile $PIDFILE --make-pidfile \ + --exec $DAEMON --background --test -- -f $TRANSMISSION_ARGS > /dev/null \ + || return 1 + start-stop-daemon --chuid $USERNAME --start --pidfile $PIDFILE --make-pidfile \ + --exec $DAEMON --background -- -f $TRANSMISSION_ARGS \ + || return 2 +} + +# +# Function that stops the daemon/service +# +do_stop() +{ + # Return + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # 2 if daemon could not be stopped + # other if a failure occurred + start-stop-daemon --stop --quiet --retry=TERM/10/KILL/5 --pidfile $PIDFILE --name $NAME + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + + # Wait for children to finish too if this is a daemon that forks + # and if the daemon is only ever run from this initscript. + # If the above conditions are not satisfied then add some other code + # that waits for the process to drop all resources that could be + # needed by services started subsequently. A last resort is to + # sleep for some time. + + start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON + [ "$?" = 2 ] && return 2 + + # Many daemons don't delete their pidfiles when they exit. + rm -f $PIDFILE + + return "$RETVAL" +} + +case "$1" in + start) + echo "Starting $DESC" "$NAME..." + do_start + case "$?" in + 0|1) echo " Starting $DESC $NAME succeeded" ;; + *) echo " Starting $DESC $NAME failed" ;; + esac + ;; + stop) + echo "Stopping $DESC $NAME..." + do_stop + case "$?" in + 0|1) echo " Stopping $DESC $NAME succeeded" ;; + *) echo " Stopping $DESC $NAME failed" ;; + esac + ;; + restart|force-reload) + # + # If the "reload" option is implemented then remove the + # 'force-reload' alias + # + echo "Restarting $DESC $NAME..." + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0|1) echo " Restarting $DESC $NAME succeeded" ;; + *) echo " Restarting $DESC $NAME failed: couldn't start $NAME" ;; + esac + ;; + *) + echo " Restarting $DESC $NAME failed: couldn't stop $NAME" ;; + esac + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 + exit 3 + ;; +esac diff --git a/package/transmission/transmission.mk b/package/transmission/transmission.mk new file mode 100644 index 0000000..c0d763b --- /dev/null +++ b/package/transmission/transmission.mk @@ -0,0 +1,58 @@ +############################################################# +# +# transmission +# +############################################################# +TRANSMISSION_VERSION = 2.33 +TRANSMISSION_SITE = http://download.transmissionbt.com/files/ +TRANSMISSION_SOURCE = transmission-$(TRANSMISSION_VERSION).tar.bz2 +TRANSMISSION_DEPENDENCIES = \ + host-pkg-config \ + libcurl \ + libevent \ + openssl \ + zlib + +TRANSMISSION_CONF_OPT = \ + --disable-libnotify \ + --enable-lightweight + +define TRANSMISSION_INIT_SCRIPT_INSTALL + [ -f $(TARGET_DIR)/etc/init.d/S92transmission ] || \ + $(INSTALL) -m 0755 -D package/transmission/S92transmission \ + $(TARGET_DIR)/etc/init.d/S92transmission +endef + +ifeq ($(BR2_PACKAGE_TRANSMISSION_UTP),y) + TRANSMISSION_CONF_OPT += --enable-utp +else + TRANSMISSION_CONF_OPT += --disable-utp +endif + +ifeq ($(BR2_PACKAGE_TRANSMISSION_CLI),y) + TRANSMISSION_CONF_OPT += --enable-cli +else + TRANSMISSION_CONF_OPT += --disable-cli +endif + +ifeq ($(BR2_PACKAGE_TRANSMISSION_DAEMON),y) + TRANSMISSION_CONF_OPT += --enable-daemon + TRANSMISSION_POST_INSTALL_TARGET_HOOKS += TRANSMISSION_INIT_SCRIPT_INSTALL +else + TRANSMISSION_CONF_OPT += --disable-daemon +endif + +ifeq ($(BR2_PACKAGE_TRANSMISSION_REMOTE),y) + TRANSMISSION_CONF_OPT += --enable-remote +else + TRANSMISSION_CONF_OPT += --disable-remote +endif + +ifeq ($(BR2_PACKAGE_TRANSMISSION_GTK),y) + TRANSMISSION_CONF_OPT += --enable-gtk + TRANSMISSION_DEPENDENCIES += libgtk2 +else + TRANSMISSION_CONF_OPT += --disable-gtk +endif + +$(eval $(call AUTOTARGETS)) diff --git a/package/uboot-tools/Config.in.host b/package/uboot-tools/Config.in.host new file mode 100644 index 0000000..7a844e9 --- /dev/null +++ b/package/uboot-tools/Config.in.host @@ -0,0 +1,6 @@ +config BR2_PACKAGE_HOST_UBOOT_TOOLS + bool "host u-boot tools" + help + Companion tools for Das U-Boot bootloader. + + http://www.denx.de/wiki/U-Boot/WebHome diff --git a/package/uboot-tools/uboot-tools.mk b/package/uboot-tools/uboot-tools.mk index eac0c2c..d0c1fc1 100644 --- a/package/uboot-tools/uboot-tools.mk +++ b/package/uboot-tools/uboot-tools.mk @@ -13,13 +13,13 @@ endef ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE),y) define UBOOT_TOOLS_INSTALL_MKIMAGE - install -m 0755 -D $(@D)/tools/mkimage $(TARGET_DIR)/usr/bin + $(INSTALL) -m 0755 -D $(@D)/tools/mkimage $(TARGET_DIR)/usr/bin/mkimage endef endif ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_FWPRINTENV),y) define UBOOT_TOOLS_INSTALL_FWPRINTENV - install -m 0755 -D $(@D)/tools/env/fw_printenv $(TARGET_DIR)/usr/sbin + $(INSTALL) -m 0755 -D $(@D)/tools/env/fw_printenv $(TARGET_DIR)/usr/sbin/fw_printenv ln -sf fw_printenv $(TARGET_DIR)/usr/sbin/fw_setenv endef endif @@ -48,7 +48,7 @@ define HOST_UBOOT_TOOLS_BUILD_CMDS endef define HOST_UBOOT_TOOLS_INSTALL_CMDS - install -m 0755 -D $(@D)/tools/mkimage $(HOST_DIR)/usr/bin + $(INSTALL) -m 0755 -D $(@D)/tools/mkimage $(HOST_DIR)/usr/bin/mkimage endef $(eval $(call GENTARGETS)) diff --git a/package/udev/Config.in b/package/udev/Config.in index 391c718..d3244d1 100644 --- a/package/udev/Config.in +++ b/package/udev/Config.in @@ -1,29 +1,33 @@ config BR2_PACKAGE_UDEV bool "udev" depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV + depends on BR2_LARGEFILE # util-linux + depends on BR2_USE_WCHAR # util-linux + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID + select BR2_PACKAGE_KMOD help Userspace device daemon. + udev requires a Linux kernel >= 2.6.34: it relies on devtmpfs. + ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/ if BR2_PACKAGE_UDEV +config BR2_PACKAGE_UDEV_RULES_GEN + bool "enable rules generator" + help + Enable persistant rules generator + config BR2_PACKAGE_UDEV_ALL_EXTRAS bool "enable all extras" - depends on BR2_LARGEFILE # acl - depends on BR2_USE_WCHAR # libglib2 select BR2_PACKAGE_ACL - select BR2_PACKAGE_LIBUSB - select BR2_PACKAGE_LIBUSB_COMPAT - select BR2_PACKAGE_USBUTILS select BR2_PACKAGE_HWDATA select BR2_PACKAGE_LIBGLIB2 help Enable all extras with external dependencies like - libacl, libusb, libusb-compat, usbutils, hwdata - -comment "udev extras requires a toolchain with LARGEFILE + WCHAR support" - depends on !(BR2_LARGEFILE && BR2_USE_WCHAR) + libacl, hwdata and libglib2 endif diff --git a/package/udev/S10udev b/package/udev/S10udev index 29eb107..70a7c34 100755 --- a/package/udev/S10udev +++ b/package/udev/S10udev @@ -2,7 +2,7 @@ # # udev This is a minimal non-LSB version of a UDEV startup script. It # was derived by stripping down the udev-058 LSB version for use -# with buildroot on embedded hardware using Linux 2.6.12+ kernels. +# with buildroot on embedded hardware using Linux 2.6.34+ kernels. # # You may need to customize this for your system's resource limits # (including startup time!) and administration. For example, if @@ -17,7 +17,7 @@ # # Check for missing binaries -UDEV_BIN=/sbin/udevd +UDEV_BIN=/lib/udev/udevd test -x $UDEV_BIN || exit 5 # Check for config file and read it diff --git a/package/udev/udev.mk b/package/udev/udev.mk index 1825396..d445a2f 100644 --- a/package/udev/udev.mk +++ b/package/udev/udev.mk @@ -3,28 +3,35 @@ # udev # ############################################################# -UDEV_VERSION = 173 +UDEV_VERSION = 181 UDEV_SOURCE = udev-$(UDEV_VERSION).tar.bz2 UDEV_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/hotplug/ UDEV_INSTALL_STAGING = YES +# mq_getattr is in librt +UDEV_CONF_ENV += LIBS=-lrt + UDEV_CONF_OPT = \ --sbindir=/sbin \ --with-rootlibdir=/lib \ - --libexecdir=/lib/udev \ + --libexecdir=/lib \ + --with-usb-ids-path=/usr/share/hwdata/usb.ids \ + --with-pci-ids-path=/usr/share/hwdata/pci.ids \ + --with-firmware-path=/lib/firmware \ --disable-introspection -UDEV_DEPENDENCIES = host-gperf host-pkg-config +UDEV_DEPENDENCIES = host-gperf host-pkg-config util-linux kmod + +ifeq ($(BR2_PACKAGE_UDEV_RULES_GEN),y) +UDEV_CONF_OPT += --enable-rule_generator +endif ifeq ($(BR2_PACKAGE_UDEV_ALL_EXTRAS),y) -UDEV_DEPENDENCIES += libusb libusb-compat acl usbutils hwdata libglib2 -UDEV_CONF_OPT += \ - --with-pci-ids-path=$(TARGET_DIR)/usr/share/hwdata/pci.ids \ - --with-usb-ids-path=$(TARGET_DIR)/usr/share/hwdata/usb.ids \ +UDEV_DEPENDENCIES += acl hwdata libglib2 +UDEV_CONF_OPT += \ --enable-udev_acl else UDEV_CONF_OPT += \ - --disable-hwdb \ --disable-gudev endif diff --git a/package/unionfs/Config.in b/package/unionfs/Config.in new file mode 100644 index 0000000..a974c8c --- /dev/null +++ b/package/unionfs/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_UNIONFS + bool "unionfs (FUSE)" + select BR2_PACKAGE_LIBFUSE + depends on BR2_LARGEFILE + help + A userspace unionfs implementation. + + http://podgorny.cz/moin/UnionFsFuse + +comment "unionfs requires a toolchain with LARGEFILE support" + depends on !BR2_LARGEFILE diff --git a/package/unionfs/unionfs-make-mandir.patch b/package/unionfs/unionfs-make-mandir.patch new file mode 100644 index 0000000..bf3c241 --- /dev/null +++ b/package/unionfs/unionfs-make-mandir.patch @@ -0,0 +1,15 @@ +Make the man directory if it's missing before installing the man page. +Already upstream see http://hg.podgorny.cz/unionfs-fuse/rev/6ca07ad1b855 + +Signed-off-by: Gustavo Zacarias + +diff -Nura unionfs-fuse-0.24.orig/Makefile unionfs-fuse-0.24/Makefile +--- unionfs-fuse-0.24.orig/Makefile 2010-05-20 08:04:08.000000000 -0300 ++++ unionfs-fuse-0.24/Makefile 2012-01-11 08:08:02.382667776 -0300 +@@ -9,5 +9,6 @@ + + install: build + install -d $(DESTDIR)$(PREFIX)$(BINDIR) ++ install -d $(DESTDIR)$(PREFIX)/share/man/man8 + install -m 0755 src/unionfs $(DESTDIR)$(PREFIX)$(BINDIR) + install -m 0644 man/unionfs-fuse.8 $(DESTDIR)$(PREFIX)/share/man/man8/ diff --git a/package/unionfs/unionfs.mk b/package/unionfs/unionfs.mk new file mode 100644 index 0000000..b0bc93b --- /dev/null +++ b/package/unionfs/unionfs.mk @@ -0,0 +1,20 @@ +############################################################# +# +# unionfs +# +############################################################# + +UNIONFS_VERSION = 0.24 +UNIONFS_SITE = http://podgorny.cz/unionfs-fuse/releases +UNIONFS_SOURCE = unionfs-fuse-$(UNIONFS_VERSION).tar.bz2 +UNIONFS_DEPENDENCIES = libfuse + +define UNIONFS_BUILD_CMDS + $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) +endef + +define UNIONFS_INSTALL_TARGET_CMDS + $(MAKE) -C $(@D) PREFIX=/usr DESTDIR=$(TARGET_DIR) install +endef + +$(eval $(call GENTARGETS)) diff --git a/package/usbmount/usbmount-fstype-detection-fix.patch b/package/usbmount/usbmount-fstype-detection-fix.patch deleted file mode 100644 index a3686f1..0000000 --- a/package/usbmount/usbmount-fstype-detection-fix.patch +++ /dev/null @@ -1,25 +0,0 @@ -newer blkid version shows two parameter with TYPE within: - -/dev/sda1: VERSION="0.0" TYPE="ext2" USAGE="filesystem" PART_ENTRY_SCHEME="dos" -PART_ENTRY_TYPE="0xc" PART_ENTRY_FLAGS="0x80" PART_ENTRY_NUMBER="1" - -change regular expression to take " TYPE" only - -Signed-off-by: Yegor Yefremov ---- - usbmount | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: b/usbmount -=================================================================== ---- a/usbmount -+++ b/usbmount -@@ -88,7 +88,7 @@ - # FIXME: improvement: implement mounting by label (notice that labels - # can contain spaces, which makes things a little bit less comfortable). - DEVINFO=$(/sbin/blkid -p $DEVNAME) -- FSTYPE=$(echo "$DEVINFO" | sed 's/.*TYPE="\([^"]*\)".*/\1/g; s/[[:blank:]]*//g;') -+ FSTYPE=$(echo "$DEVINFO" | sed 's/.* TYPE="\([^"]*\)".*/\1/g; s/[[:blank:]]*//g;') - UUID=$(echo "$DEVINFO" | sed 's/.*UUID="\([^"]*\)".*/\1/g; s/[[:blank:]]*//g;') - USAGE=$(echo "$DEVINFO" | sed 's/.*USAGE="\([^"]*\)".*/\1/g; s/[[:blank:]]*//g;') - diff --git a/package/usbmount/usbmount.mk b/package/usbmount/usbmount.mk index 8434570..a6b2d43 100644 --- a/package/usbmount/usbmount.mk +++ b/package/usbmount/usbmount.mk @@ -3,7 +3,7 @@ # usbmount # ############################################################# -USBMOUNT_VERSION = 0.0.21 +USBMOUNT_VERSION = 0.0.22 USBMOUNT_SOURCE = usbmount_$(USBMOUNT_VERSION).tar.gz USBMOUNT_SITE = $(BR2_DEBIAN_MIRROR)/debian/pool/main/u/usbmount USBMOUNT_DEPENDENCIES = udev lockfile-progs util-linux diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk index a3d6e13..86d970f 100644 --- a/package/util-linux/util-linux.mk +++ b/package/util-linux/util-linux.mk @@ -13,6 +13,9 @@ UTIL_LINUX_DEPENDENCIES = host-pkg-config UTIL_LINUX_CONF_OPT += --disable-rpath --disable-makeinstall-chown +# We don't want the host-busybox dependency to be added automatically +HOST_UTIL_LINUX_DEPENDENCIES = host-pkg-config + # If both util-linux and busybox are selected, make certain util-linux # wins the fight over who gets to have their utils actually installed ifeq ($(BR2_PACKAGE_BUSYBOX),y) @@ -67,7 +70,18 @@ UTIL_LINUX_CONF_OPT += \ $(if $(BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS),--enable-login-utils) \ $(if $(BR2_PACKAGE_UTIL_LINUX_WRITE),--enable-write) +# In the host version of util-linux, we so far only require libuuid, +# and none of the util-linux utilities, so we disable all of them. +HOST_UTIL_LINUX_CONF_OPT += \ + --enable-libuuid \ + --disable-mount --disable-fsck --disable-libmount \ + --disable-uuidd --disable-libblkid --disable-agetty \ + --disable-cramfs --disable-switch_root --disable-pivot_root \ + --disable-fallocate --disable-unshare --disable-rename \ + --disable-schedutils --disable-wall --disable-partx + $(eval $(call AUTOTARGETS)) +$(eval $(call AUTOTARGETS,host)) # MKINSTALLDIRS comes from tweaked m4/nls.m4, but autoreconf uses staging # one, so it disappears diff --git a/package/vala/vala.mk b/package/vala/vala.mk index 0a1aed0..52a8510 100644 --- a/package/vala/vala.mk +++ b/package/vala/vala.mk @@ -4,9 +4,11 @@ # ############################################################# -VALA_VERSION = 0.14.0 -VALA_SITE = http://download.gnome.org/sources/vala/0.14 -VALA_SOURCE = vala-$(VALA_VERSION).tar.bz2 +VALA_VERSION_MAJOR = 0.15 +VALA_VERSION_MINOR = 1 +VALA_VERSION = $(VALA_VERSION_MAJOR).$(VALA_VERSION_MINOR) +VALA_SITE = http://download.gnome.org/sources/vala/$(VALA_VERSION_MAJOR) +VALA_SOURCE = vala-$(VALA_VERSION).tar.xz VALA_DEPENDENCIES = host-flex libglib2 \ $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) HOST_VALA_DEPENDENCIES = host-flex host-libglib2 diff --git a/package/valgrind/valgrind-3.6.1-configure-support-linux-3.patch b/package/valgrind/valgrind-3.6.1-configure-support-linux-3.patch deleted file mode 100644 index a3b2482..0000000 --- a/package/valgrind/valgrind-3.6.1-configure-support-linux-3.patch +++ /dev/null @@ -1,30 +0,0 @@ -Add support for kernel 3.x. From upstream r11796 (via Debian). - -Signed-off-by: Baruch Siach - -Index: valgrind-3.6.1/configure.in -=================================================================== ---- valgrind-3.6.1.orig/configure.in 2011-02-15 18:31:17.000000000 +0100 -+++ valgrind-3.6.1/configure.in 2011-07-08 22:36:36.051563848 +0200 -@@ -220,7 +220,7 @@ - kernel=`uname -r` - - case "${kernel}" in -- 2.6.*) -+ 2.6.*|3.*) - AC_MSG_RESULT([2.6 family (${kernel})]) - AC_DEFINE([KERNEL_2_6], 1, [Define to 1 if you're using Linux 2.6.x]) - ;; -Index: valgrind-3.6.1/configure -=================================================================== ---- valgrind-3.6.1.orig/configure 2011-07-08 22:37:18.911240743 +0200 -+++ valgrind-3.6.1/configure 2011-07-08 22:37:44.847045178 +0200 -@@ -5348,7 +5348,7 @@ - kernel=`uname -r` - - case "${kernel}" in -- 2.6.*) -+ 2.6.*|3.*) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.6 family (${kernel})" >&5 - $as_echo "2.6 family (${kernel})" >&6; } - diff --git a/package/valgrind/valgrind-3.7.0-compiler-check.patch b/package/valgrind/valgrind-3.7.0-compiler-check.patch new file mode 100644 index 0000000..4a9fcba --- /dev/null +++ b/package/valgrind/valgrind-3.7.0-compiler-check.patch @@ -0,0 +1,76 @@ +Fix the compiler version check so that it doesn't misdetect the +version when the compiler version contains parenthesis. + +Taken from upstream r12274. + +Index: valgrind-3.7.0/configure.in +=================================================================== +--- valgrind-3.7.0.orig/configure.in 2011-12-22 15:21:22.269669307 +0100 ++++ valgrind-3.7.0/configure.in 2011-12-22 15:21:54.029135051 +0100 +@@ -98,18 +98,21 @@ + # We don't want gcc < 3.0 + AC_MSG_CHECKING([for a supported version of gcc]) + +-# Try to get the gcc version, sed-ing out some unexpected stuff +-# that appears with the default gcc on OSX 10.6 and 10.7 respectively. +-# Without this, the version number comes out as 686, 10 or 11 :-( ++# Obtain the compiler version. + # +-# i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3) +-# i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00) ++# A few examples of how the ${CC} --version output looks like: ++# ++# Arch Linux: i686-pc-linux-gnu-gcc (GCC) 4.6.2 ++# Debian Linux: gcc (Debian 4.3.2-1.1) 4.3.2 ++# openSUSE: gcc (SUSE Linux) 4.5.1 20101208 [gcc-4_5-branch revision 167585] ++# Exherbo Linux: x86_64-pc-linux-gnu-gcc (Exherbo gcc-4.6.2) 4.6.2 ++# OS/X 10.6: i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3) ++# OS/X 10.7: i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00) ++# Clang: clang version 2.9 (tags/RELEASE_29/final) + # + [gcc_version=`${CC} --version \ +- | head -n 1 \ +- | $SED 's/i686-apple-darwin10//' \ +- | $SED 's/i686-apple-darwin11//' \ +- | $SED 's/^[^0-9]*\([0-9.]*\).*$/\1/'`] ++ | $SED -n -e 's/[^ ]*gcc[^ ]* ([^)]*) \([0-9.]*\).*$/\1/p' \ ++ -e 's/[^ ]*clang version \([0-9.]*\).*$/\1/p'`] + + is_clang="notclang" + if test "x`${CC} --version | head -n 1 | $SED 's/\(clang\) version.*/\1/'`" = "xclang" ; then +Index: valgrind-3.7.0/configure +=================================================================== +--- valgrind-3.7.0.orig/configure 2011-12-22 15:22:05.138948143 +0100 ++++ valgrind-3.7.0/configure 2011-12-22 15:23:34.807439246 +0100 +@@ -5122,18 +5122,22 @@ + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a supported version of gcc" >&5 + $as_echo_n "checking for a supported version of gcc... " >&6; } + +-# Try to get the gcc version, sed-ing out some unexpected stuff +-# that appears with the default gcc on OSX 10.6 and 10.7 respectively. +-# Without this, the version number comes out as 686, 10 or 11 :-( ++# Obtain the compiler version. ++# ++# A few examples of how the ${CC} --version output looks like: + # +-# i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3) +-# i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00) ++# Arch Linux: i686-pc-linux-gnu-gcc (GCC) 4.6.2 ++# Debian Linux: gcc (Debian 4.3.2-1.1) 4.3.2 ++# openSUSE: gcc (SUSE Linux) 4.5.1 20101208 [gcc-4_5-branch revision 167585] ++# Exherbo Linux: x86_64-pc-linux-gnu-gcc (Exherbo gcc-4.6.2) 4.6.2 ++# OS/X 10.6: i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3) ++# OS/X 10.7: i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00) ++# Clang: clang version 2.9 (tags/RELEASE_29/final) + # + gcc_version=`${CC} --version \ +- | head -n 1 \ +- | $SED 's/i686-apple-darwin10//' \ +- | $SED 's/i686-apple-darwin11//' \ +- | $SED 's/^[^0-9]*\([0-9.]*\).*$/\1/'` ++ | $SED -n -e 's/[^ ]*gcc[^ ]* ([^)]*) \([0-9.]*\).*$/\1/p' \ ++ -e 's/[^ ]*clang version \([0-9.]*\).*$/\1/p'` ++ + + is_clang="notclang" + if test "x`${CC} --version | head -n 1 | $SED 's/\(clang\) version.*/\1/'`" = "xclang" ; then diff --git a/package/valgrind/valgrind-3.7.0-fix-ccache-support.patch b/package/valgrind/valgrind-3.7.0-fix-ccache-support.patch new file mode 100644 index 0000000..56d984b --- /dev/null +++ b/package/valgrind/valgrind-3.7.0-fix-ccache-support.patch @@ -0,0 +1,51 @@ +Fix link_tool_exe_linux.in to work with ccache + +The link_tool_exe_linux.in Perl script makes the assumption that the +compilation command line is always: + + gcc -o foobar foobar.c -someflags + +I.e, it assumes that the compiler is the first word of the command +line. However, this is not true with ccache, where the command line +is: + + /path/to/ccache /path/to/crossgcc -o foobar foobar.c -someflags + +Since this Perl script simply needs to add additional flags to the +command line, we simply add them at the end of the command line +instead of trying to add them at the beginning. + +Signed-off-by: Thomas Petazzoni + +Index: valgrind-3.6.1/coregrind/link_tool_exe_linux.in +=================================================================== +--- valgrind-3.6.1.orig/coregrind/link_tool_exe_linux.in 2011-12-22 13:59:08.933499060 +0100 ++++ valgrind-3.6.1/coregrind/link_tool_exe_linux.in 2011-12-22 13:59:50.302782709 +0100 +@@ -55,25 +55,13 @@ + if (($#ARGV + 1) < 5); + + my $ala = $ARGV[0]; ++shift; + + # check for plausible-ish alt load address + die "Bogus alt-load address" + if (length($ala) < 3 || index($ala, "0x") != 0); + +-# The cc invokation to do the final link +-my $cc = $ARGV[1]; +- +-# and the 'restargs' are argv[2 ..] +- +-# so, build up the complete command here: +-# 'cc' -static -Ttext='ala' 'restargs' +- +-my $cmd="$cc -static -Wl,-Ttext=$ala"; +- +-# Add the rest of the parameters +-foreach my $n (2 .. $#ARGV) { +- $cmd = "$cmd $ARGV[$n]"; +-} ++my $cmd=join(" ", @ARGV) . " -static -Wl,-Ttext=$ala"; + + #print "link_tool_exe_linux: $cmd\n"; + diff --git a/package/valgrind/valgrind-3.6.1-largefile.patch b/package/valgrind/valgrind-3.7.0-largefile.patch similarity index 71% rename from package/valgrind/valgrind-3.6.1-largefile.patch rename to package/valgrind/valgrind-3.7.0-largefile.patch index d04877b..53b6e6f 100644 --- a/package/valgrind/valgrind-3.6.1-largefile.patch +++ b/package/valgrind/valgrind-3.7.0-largefile.patch @@ -6,11 +6,11 @@ is detected. Signed-off-by: Peter Korsgaard -Index: valgrind-3.6.1/coregrind/m_initimg/initimg-linux.c +Index: valgrind-3.7.0/coregrind/m_initimg/initimg-linux.c =================================================================== ---- valgrind-3.6.1.orig/coregrind/m_initimg/initimg-linux.c 2011-07-06 09:45:10.203070009 +0200 -+++ valgrind-3.6.1/coregrind/m_initimg/initimg-linux.c 2011-07-06 09:45:17.343070005 +0200 -@@ -54,7 +54,11 @@ +--- valgrind-3.7.0.orig/coregrind/m_initimg/initimg-linux.c 2011-10-26 23:24:43.000000000 +0200 ++++ valgrind-3.7.0/coregrind/m_initimg/initimg-linux.c 2011-12-22 14:53:12.798185055 +0100 +@@ -55,7 +55,11 @@ /* --- !!! --- EXTERNAL HEADERS start --- !!! --- */ #define _GNU_SOURCE @@ -22,11 +22,11 @@ Index: valgrind-3.6.1/coregrind/m_initimg/initimg-linux.c /* This is for ELF types etc, and also the AT_ constants. */ #include /* --- !!! --- EXTERNAL HEADERS end --- !!! --- */ -Index: valgrind-3.6.1/coregrind/m_main.c +Index: valgrind-3.7.0/coregrind/m_main.c =================================================================== ---- valgrind-3.6.1.orig/coregrind/m_main.c 2011-07-06 09:44:22.203070033 +0200 -+++ valgrind-3.6.1/coregrind/m_main.c 2011-07-06 09:44:42.803070024 +0200 -@@ -2797,7 +2797,11 @@ +--- valgrind-3.7.0.orig/coregrind/m_main.c 2011-10-26 23:24:45.000000000 +0200 ++++ valgrind-3.7.0/coregrind/m_main.c 2011-12-22 14:53:12.798185055 +0100 +@@ -2743,7 +2743,11 @@ /* --- !!! --- EXTERNAL HEADERS start --- !!! --- */ #define _GNU_SOURCE @@ -38,10 +38,10 @@ Index: valgrind-3.6.1/coregrind/m_main.c /* This is in order to get AT_NULL and AT_PAGESIZE. */ #include /* --- !!! --- EXTERNAL HEADERS end --- !!! --- */ -Index: valgrind-3.6.1/coregrind/m_ume/elf.c +Index: valgrind-3.7.0/coregrind/m_ume/elf.c =================================================================== ---- valgrind-3.6.1.orig/coregrind/m_ume/elf.c 2011-07-06 09:44:51.343070018 +0200 -+++ valgrind-3.6.1/coregrind/m_ume/elf.c 2011-07-06 09:44:58.833070015 +0200 +--- valgrind-3.7.0.orig/coregrind/m_ume/elf.c 2011-10-26 23:24:41.000000000 +0200 ++++ valgrind-3.7.0/coregrind/m_ume/elf.c 2011-12-22 14:53:12.798185055 +0100 @@ -48,7 +48,11 @@ /* --- !!! --- EXTERNAL HEADERS start --- !!! --- */ diff --git a/package/valgrind/valgrind-3.6.1-more-ioctls.patch b/package/valgrind/valgrind-3.7.0-more-ioctls.patch similarity index 90% rename from package/valgrind/valgrind-3.6.1-more-ioctls.patch rename to package/valgrind/valgrind-3.7.0-more-ioctls.patch index 62f0135..fb58381 100644 --- a/package/valgrind/valgrind-3.6.1-more-ioctls.patch +++ b/package/valgrind/valgrind-3.7.0-more-ioctls.patch @@ -4,11 +4,11 @@ Patch initially written by Eric Andersen . Signed-off-by: Thomas Petazzoni -Index: valgrind-3.6.1/coregrind/m_syswrap/syswrap-linux.c +Index: valgrind-3.7.0/coregrind/m_syswrap/syswrap-linux.c =================================================================== ---- valgrind-3.6.1.orig/coregrind/m_syswrap/syswrap-linux.c 2011-07-06 09:50:32.243069845 +0200 -+++ valgrind-3.6.1/coregrind/m_syswrap/syswrap-linux.c 2011-07-06 09:53:39.783069751 +0200 -@@ -3900,7 +3900,33 @@ +--- valgrind-3.7.0.orig/coregrind/m_syswrap/syswrap-linux.c 2011-10-27 12:55:05.000000000 +0200 ++++ valgrind-3.7.0/coregrind/m_syswrap/syswrap-linux.c 2011-12-22 14:53:16.258126390 +0100 +@@ -4058,7 +4058,33 @@ case VKI_SG_GET_SG_TABLESIZE: /* 0x227f */ PRE_MEM_WRITE( "ioctl(SG_GET_SG_TABLESIZE)", ARG3, sizeof(int) ); break; @@ -42,7 +42,7 @@ Index: valgrind-3.6.1/coregrind/m_syswrap/syswrap-linux.c case VKI_IIOCGETCPS: PRE_MEM_WRITE( "ioctl(IIOCGETCPS)", ARG3, VKI_ISDN_MAX_CHANNELS * 2 * sizeof(unsigned long) ); -@@ -4215,6 +4241,8 @@ +@@ -4373,6 +4399,8 @@ case VKI_BLKROGET: PRE_MEM_WRITE( "ioctl(BLKROGET)", ARG3, sizeof(int)); break; @@ -51,7 +51,7 @@ Index: valgrind-3.6.1/coregrind/m_syswrap/syswrap-linux.c case VKI_BLKGETSIZE: PRE_MEM_WRITE( "ioctl(BLKGETSIZE)", ARG3, sizeof(unsigned long)); break; -@@ -4223,6 +4251,8 @@ +@@ -4381,6 +4409,8 @@ case VKI_BLKRAGET: PRE_MEM_WRITE( "ioctl(BLKRAGET)", ARG3, sizeof(long)); break; @@ -60,7 +60,7 @@ Index: valgrind-3.6.1/coregrind/m_syswrap/syswrap-linux.c case VKI_BLKFRASET: break; case VKI_BLKFRAGET: -@@ -4289,6 +4319,8 @@ +@@ -4447,6 +4477,8 @@ PRE_MEM_WRITE( "ioctl(CDROMREADTOCENTRY)", ARG3, sizeof(struct vki_cdrom_tocentry)); break; @@ -69,7 +69,7 @@ Index: valgrind-3.6.1/coregrind/m_syswrap/syswrap-linux.c case VKI_CDROMMULTISESSION: /* 0x5310 */ PRE_MEM_WRITE( "ioctl(CDROMMULTISESSION)", ARG3, sizeof(struct vki_cdrom_multisession)); -@@ -4989,7 +5021,28 @@ +@@ -5321,7 +5353,28 @@ case VKI_SG_GET_SG_TABLESIZE: POST_MEM_WRITE(ARG3, sizeof(int)); break; @@ -98,7 +98,7 @@ Index: valgrind-3.6.1/coregrind/m_syswrap/syswrap-linux.c case VKI_IIOCGETCPS: POST_MEM_WRITE( ARG3, VKI_ISDN_MAX_CHANNELS * 2 * sizeof(unsigned long) ); break; -@@ -5210,6 +5263,8 @@ +@@ -5542,6 +5595,8 @@ case VKI_BLKROGET: POST_MEM_WRITE(ARG3, sizeof(int)); break; @@ -107,7 +107,7 @@ Index: valgrind-3.6.1/coregrind/m_syswrap/syswrap-linux.c case VKI_BLKGETSIZE: POST_MEM_WRITE(ARG3, sizeof(unsigned long)); break; -@@ -5218,6 +5273,8 @@ +@@ -5550,6 +5605,8 @@ case VKI_BLKRAGET: POST_MEM_WRITE(ARG3, sizeof(long)); break; @@ -116,7 +116,7 @@ Index: valgrind-3.6.1/coregrind/m_syswrap/syswrap-linux.c case VKI_BLKFRASET: break; case VKI_BLKFRAGET: -@@ -5259,6 +5316,8 @@ +@@ -5591,6 +5648,8 @@ case VKI_CDROMREADTOCENTRY: POST_MEM_WRITE(ARG3, sizeof(struct vki_cdrom_tocentry)); break; @@ -125,11 +125,11 @@ Index: valgrind-3.6.1/coregrind/m_syswrap/syswrap-linux.c case VKI_CDROMMULTISESSION: POST_MEM_WRITE(ARG3, sizeof(struct vki_cdrom_multisession)); break; -Index: valgrind-3.6.1/include/vki/vki-linux.h +Index: valgrind-3.7.0/include/vki/vki-linux.h =================================================================== ---- valgrind-3.6.1.orig/include/vki/vki-linux.h 2011-07-06 09:48:16.733069914 +0200 -+++ valgrind-3.6.1/include/vki/vki-linux.h 2011-07-06 09:49:49.413069868 +0200 -@@ -1646,7 +1646,9 @@ +--- valgrind-3.7.0.orig/include/vki/vki-linux.h 2011-10-26 23:24:31.000000000 +0200 ++++ valgrind-3.7.0/include/vki/vki-linux.h 2011-12-22 14:53:16.258126390 +0100 +@@ -1654,7 +1654,9 @@ #define VKI_BLKROSET _VKI_IO(0x12,93) /* set device read-only (0 = read-write) */ #define VKI_BLKROGET _VKI_IO(0x12,94) /* get read-only status (0 = read_write) */ @@ -139,7 +139,7 @@ Index: valgrind-3.6.1/include/vki/vki-linux.h #define VKI_BLKRASET _VKI_IO(0x12,98) /* set read ahead for block device */ #define VKI_BLKRAGET _VKI_IO(0x12,99) /* get current read ahead setting */ #define VKI_BLKFRASET _VKI_IO(0x12,100)/* set filesystem (mm/filemap.c) read-ahead */ -@@ -1721,6 +1723,53 @@ +@@ -1729,6 +1731,53 @@ //#define SG_GET_COMMAND_Q 0x2270 /* Yields 0 (queuing off) or 1 (on) */ #define VKI_SG_SET_COMMAND_Q 0x2271 /* Change queuing state with 0 or 1 */ @@ -193,7 +193,7 @@ Index: valgrind-3.6.1/include/vki/vki-linux.h //---------------------------------------------------------------------- // From linux-2.6.8.1/include/linux/cdrom.h //---------------------------------------------------------------------- -@@ -1730,6 +1779,7 @@ +@@ -1738,6 +1787,7 @@ (struct cdrom_tochdr) */ #define VKI_CDROMREADTOCENTRY 0x5306 /* Read TOC entry (struct cdrom_tocentry) */ diff --git a/package/valgrind/valgrind-3.6.1-workaround-SIGSEGV-on-PPC.patch b/package/valgrind/valgrind-3.7.0-workaround-SIGSEGV-on-PPC.patch similarity index 60% rename from package/valgrind/valgrind-3.6.1-workaround-SIGSEGV-on-PPC.patch rename to package/valgrind/valgrind-3.7.0-workaround-SIGSEGV-on-PPC.patch index a788511..ea91a00 100644 --- a/package/valgrind/valgrind-3.6.1-workaround-SIGSEGV-on-PPC.patch +++ b/package/valgrind/valgrind-3.7.0-workaround-SIGSEGV-on-PPC.patch @@ -8,11 +8,11 @@ Signed-off-by: Pierre Habouzit coregrind/m_machine.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) -diff --git a/coregrind/m_machine.c b/coregrind/m_machine.c -index 8dc3e17..7921502 100644 ---- a/coregrind/m_machine.c -+++ b/coregrind/m_machine.c -@@ -28,6 +28,10 @@ +Index: valgrind-3.7.0/coregrind/m_machine.c +=================================================================== +--- valgrind-3.7.0.orig/coregrind/m_machine.c 2011-10-27 12:45:52.000000000 +0200 ++++ valgrind-3.7.0/coregrind/m_machine.c 2011-12-22 14:53:19.758067046 +0100 +@@ -27,6 +27,10 @@ The GNU General Public License is contained in the file COPYING. */ @@ -22,7 +22,4 @@ index 8dc3e17..7921502 100644 + #include "pub_core_basics.h" #include "pub_core_vki.h" - #include "pub_core_threadstate.h" --- -1.7.5.1.290.g2095dc - + #include "pub_core_libcsetjmp.h" // setjmp facilities diff --git a/package/valgrind/valgrind.mk b/package/valgrind/valgrind.mk index 537639f..24523bf 100644 --- a/package/valgrind/valgrind.mk +++ b/package/valgrind/valgrind.mk @@ -4,10 +4,9 @@ # ############################################################# -VALGRIND_VERSION = 3.6.1 +VALGRIND_VERSION = 3.7.0 VALGRIND_SITE = http://valgrind.org/downloads/ VALGRIND_SOURCE = valgrind-$(VALGRIND_VERSION).tar.bz2 - VALGRIND_CONF_OPT = --disable-tls # On ARM, Valgrind only supports ARMv7, and uses the arch part of the diff --git a/package/vsftpd/vsftpd-2.3.2-dont-force-largefile.patch b/package/vsftpd/vsftpd-2.3.4-dont-force-largefile.patch similarity index 100% rename from package/vsftpd/vsftpd-2.3.2-dont-force-largefile.patch rename to package/vsftpd/vsftpd-2.3.4-dont-force-largefile.patch diff --git a/package/vsftpd/vsftpd.mk b/package/vsftpd/vsftpd.mk index 4490287..e67ab4a 100644 --- a/package/vsftpd/vsftpd.mk +++ b/package/vsftpd/vsftpd.mk @@ -3,10 +3,9 @@ # vsftpd # ############################################################# -VSFTPD_VERSION = 2.3.2 -VSFTPD_SOURCE = vsftpd-$(VSFTPD_VERSION).tar.gz -VSFTPD_SITE = ftp://vsftpd.beasts.org/users/cevans +VSFTPD_VERSION = 2.3.4 +VSFTPD_SITE = https://security.appspot.com/downloads VSFTPD_LIBS = -lcrypt define VSFTPD_ENABLE_SSL diff --git a/package/wpa_supplicant/Config.in b/package/wpa_supplicant/Config.in index e3df2b4..8ac2576 100644 --- a/package/wpa_supplicant/Config.in +++ b/package/wpa_supplicant/Config.in @@ -23,3 +23,17 @@ config BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE help Install wpa_passphrase command line utility +config BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT + bool "Enable support for soft AP" + depends on BR2_PACKAGE_WPA_SUPPLICANT + help + With this option enabled, wpa_supplicant can act as + access point. This can be used for open and WPA2-Personal networks + (optionally, with WPS); this links in parts of hostapd functionality + into wpa_supplicant. + +config BR2_PACKAGE_WPA_SUPPLICANT_WPS + bool "Enable support for WPS" + depends on BR2_PACKAGE_WPA_SUPPLICANT + help + Enable support for Wi-Fi Protected Setup (WPS) diff --git a/package/wpa_supplicant/wpa_supplicant-0.7.3-libnl-3.patch b/package/wpa_supplicant/wpa_supplicant-0.7.3-libnl-3.patch new file mode 100644 index 0000000..a460c2a --- /dev/null +++ b/package/wpa_supplicant/wpa_supplicant-0.7.3-libnl-3.patch @@ -0,0 +1,15 @@ +--- a/src/drivers/drivers.mak 2011-11-29 19:19:56.684221050 +0100 ++++ b/src/drivers/drivers.mak 2011-11-29 19:20:12.199609246 +0100 +@@ -31,10 +31,10 @@ + NEED_AP_MLME=y + NEED_NETLINK=y + NEED_LINUX_IOCTL=y +-DRV_LIBS += -lnl ++DRV_LIBS += -lnl-3 + + ifdef CONFIG_LIBNL20 +-DRV_LIBS += -lnl-genl ++DRV_LIBS += -lnl-genl-3 + DRV_CFLAGS += -DCONFIG_LIBNL20 + endif + endif diff --git a/package/wpa_supplicant/wpa_supplicant.mk b/package/wpa_supplicant/wpa_supplicant.mk index b2e7be3..0a672ee 100644 --- a/package/wpa_supplicant/wpa_supplicant.mk +++ b/package/wpa_supplicant/wpa_supplicant.mk @@ -25,6 +25,22 @@ define WPA_SUPPLICANT_EAP_CONFIG endef endif +ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT),y) +define WPA_SUPPLICANT_AP_CONFIG + echo "CONFIG_AP=y" >>$(WPA_SUPPLICANT_CONFIG) +endef +else +define WPA_SUPPLICANT_AP_CONFIG + $(SED) "s/^CONFIG_AP=y//" $(WPA_SUPPLICANT_CONFIG) +endef +endif + +ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_WPS),y) +define WPA_SUPPLICANT_WPS_CONFIG + echo "CONFIG_WPS=y" >>$(WPA_SUPPLICANT_CONFIG) +endef +endif + define WPA_SUPPLICANT_CRYPTO_CONFIG echo "CONFIG_CRYPTO=internal" >>$(WPA_SUPPLICANT_CONFIG) echo "CONFIG_INTERNAL_LIBTOMMATH=y" >>$(WPA_SUPPLICANT_CONFIG) @@ -56,7 +72,7 @@ endif define WPA_SUPPLICANT_CONFIGURE_CMDS cp $(@D)/wpa_supplicant/defconfig $(WPA_SUPPLICANT_CONFIG) - echo "CFLAGS += $(TARGET_CFLAGS)" >>$(WPA_SUPPLICANT_CONFIG) + echo "CFLAGS += $(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/libnl3/" >>$(WPA_SUPPLICANT_CONFIG) echo "LDFLAGS += $(TARGET_LDFLAGS)" >>$(WPA_SUPPLICANT_CONFIG) echo "CC = $(TARGET_CC)" >>$(WPA_SUPPLICANT_CONFIG) $(SED) "s/^#CONFIG_IEEE80211R/CONFIG_IEEE80211R/" $(WPA_SUPPLICANT_CONFIG) @@ -67,8 +83,10 @@ define WPA_SUPPLICANT_CONFIGURE_CMDS $(WPA_SUPPLICANT_CRYPTO_CONFIG) $(WPA_SUPPLICANT_TLS_CONFIG) $(WPA_SUPPLICANT_EAP_CONFIG) + $(WPA_SUPPLICANT_WPS_CONFIG) $(WPA_SUPPLICANT_LIBNL_CONFIG) $(WPA_SUPPLICANT_DBUS_CONFIG) + $(WPA_SUPPLICANT_AP_CONFIG) endef define WPA_SUPPLICANT_REMOVE_CLI diff --git a/package/x11r7/Config.in b/package/x11r7/Config.in index c0c0043..664226f 100644 --- a/package/x11r7/Config.in +++ b/package/x11r7/Config.in @@ -129,6 +129,7 @@ endmenu source package/x11r7/xapp_xhost/Config.in source package/x11r7/xapp_xinit/Config.in source package/x11r7/xapp_xinput/Config.in + source package/x11r7/xapp_xinput_calibrator/Config.in source package/x11r7/xapp_xkbcomp/Config.in source package/x11r7/xapp_xkbevd/Config.in source package/x11r7/xapp_xkbprint/Config.in @@ -173,6 +174,7 @@ endmenu source package/x11r7/xdriver_xf86-input-keyboard/Config.in source package/x11r7/xdriver_xf86-input-mouse/Config.in source package/x11r7/xdriver_xf86-input-synaptics/Config.in + source package/x11r7/xdriver_xf86-input-tslib/Config.in source package/x11r7/xdriver_xf86-input-vmmouse/Config.in source package/x11r7/xdriver_xf86-input-void/Config.in source package/x11r7/xdriver_xf86-video-apm/Config.in diff --git a/package/x11r7/libxcb/Config.in b/package/x11r7/libxcb/Config.in index fb48a02..9554529 100644 --- a/package/x11r7/libxcb/Config.in +++ b/package/x11r7/libxcb/Config.in @@ -5,10 +5,8 @@ config BR2_PACKAGE_LIBXCB select BR2_PACKAGE_XLIB_LIBXDMCP select BR2_PACKAGE_XLIB_LIBXAU help - The X protocol C-language Binding (XCB) is a replacement for - Xlib featuring a small footprint, latency hiding, direct access - to the protocol, improved threading support, and extensibility. - - http://xcb.freedesktop.org/ - + The X protocol C-language Binding (XCB) is a replacement for + Xlib featuring a small footprint, latency hiding, direct access + to the protocol, improved threading support, and extensibility. + http://xcb.freedesktop.org/ diff --git a/package/x11r7/libxcb/libxcb.mk b/package/x11r7/libxcb/libxcb.mk index a68779d..3e15951 100644 --- a/package/x11r7/libxcb/libxcb.mk +++ b/package/x11r7/libxcb/libxcb.mk @@ -17,10 +17,6 @@ LIBXCB_MAKE_OPT = XCBPROTO_XCBINCLUDEDIR=$(STAGING_DIR)/usr/share/xcb \ XCBPROTO_XCBPYTHONDIR=$(HOST_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages LIBXCB_CONF_OPT = --disable-build-docs -HOST_LIBXCB_DEPENDENCIES = \ - host-libxslt host-pthread-stubs host-xcb-proto host-xlib_libXdmcp \ - host-xlib_libXau host-python - HOST_LIBXCB_CONF_OPT = --disable-build-docs $(eval $(call AUTOTARGETS)) diff --git a/package/x11r7/mesa3d/Config.in b/package/x11r7/mesa3d/Config.in index 596eea3..47ded29 100644 --- a/package/x11r7/mesa3d/Config.in +++ b/package/x11r7/mesa3d/Config.in @@ -7,7 +7,6 @@ config BR2_PACKAGE_MESA3D select BR2_PACKAGE_XPROTO_DRI2PROTO select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_EXPAT - depends on BR2_PACKAGE_XSERVER_XORG_SERVER depends on BR2_PACKAGE_XSERVER_xorg depends on BR2_INSTALL_LIBSTDCPP help diff --git a/package/x11r7/mesa3d/mesa3d.mk b/package/x11r7/mesa3d/mesa3d.mk index 095d66d..1e9ec77 100644 --- a/package/x11r7/mesa3d/mesa3d.mk +++ b/package/x11r7/mesa3d/mesa3d.mk @@ -3,13 +3,29 @@ # mesa3d # ############################################################# -MESA3D_VERSION:=7.6.1 -MESA3D_SOURCE:=MesaLib-$(MESA3D_VERSION).tar.gz -MESA3D_SITE:=ftp://ftp.freedesktop.org/pub/mesa/$(MESA3D_VERSION) -MESA3D_CONF_OPT = --disable-egl --disable-glu --disable-glw --disable-glut --disable-gallium --with-driver=dri --with-dri-drivers=swrast +MESA3D_VERSION = 7.6.1 +MESA3D_SOURCE = MesaLib-$(MESA3D_VERSION).tar.gz +MESA3D_SITE = ftp://ftp.freedesktop.org/pub/mesa/$(MESA3D_VERSION) MESA3D_INSTALL_STAGING = YES -MESA3D_DEPENDENCIES = xproto_glproto xlib_libXxf86vm xlib_libXdamage xlib_libXfixes xproto_dri2proto libdrm expat +MESA3D_CONF_OPT = \ + --disable-egl \ + --disable-glu \ + --disable-glw \ + --disable-glut \ + --disable-gallium \ + --with-driver=dri \ + --with-dri-drivers=swrast \ + --disable-static + +MESA3D_DEPENDENCIES = \ + xproto_glproto \ + xlib_libXxf86vm \ + xlib_libXdamage \ + xlib_libXfixes \ + xproto_dri2proto \ + libdrm \ + expat $(eval $(call AUTOTARGETS)) diff --git a/package/x11r7/xapp_bdftopcf/xapp_bdftopcf.mk b/package/x11r7/xapp_bdftopcf/xapp_bdftopcf.mk index c2d6335..00ce339 100644 --- a/package/x11r7/xapp_bdftopcf/xapp_bdftopcf.mk +++ b/package/x11r7/xapp_bdftopcf/xapp_bdftopcf.mk @@ -8,7 +8,6 @@ XAPP_BDFTOPCF_VERSION = 1.0.2 XAPP_BDFTOPCF_SOURCE = bdftopcf-$(XAPP_BDFTOPCF_VERSION).tar.bz2 XAPP_BDFTOPCF_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_BDFTOPCF_DEPENDENCIES = xlib_libXfont -HOST_XAPP_BDFTOPCF_DEPENDENCIES = host-xlib_libXfont $(eval $(call AUTOTARGETS)) $(eval $(call AUTOTARGETS,host)) diff --git a/package/x11r7/xapp_mkfontdir/xapp_mkfontdir.mk b/package/x11r7/xapp_mkfontdir/xapp_mkfontdir.mk index 3957ba6..8047b21 100644 --- a/package/x11r7/xapp_mkfontdir/xapp_mkfontdir.mk +++ b/package/x11r7/xapp_mkfontdir/xapp_mkfontdir.mk @@ -8,7 +8,6 @@ XAPP_MKFONTDIR_VERSION = 1.0.5 XAPP_MKFONTDIR_SOURCE = mkfontdir-$(XAPP_MKFONTDIR_VERSION).tar.bz2 XAPP_MKFONTDIR_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_MKFONTDIR_DEPENDENCIES = xapp_mkfontscale -HOST_XAPP_MKFONTDIR_DEPENDENCIES = host-xapp_mkfontscale $(eval $(call AUTOTARGETS)) $(eval $(call AUTOTARGETS,host)) diff --git a/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.mk b/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.mk index a4218b0..02e7824 100644 --- a/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.mk +++ b/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.mk @@ -8,7 +8,6 @@ XAPP_MKFONTSCALE_VERSION = 1.0.7 XAPP_MKFONTSCALE_SOURCE = mkfontscale-$(XAPP_MKFONTSCALE_VERSION).tar.bz2 XAPP_MKFONTSCALE_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_MKFONTSCALE_DEPENDENCIES = zlib freetype xlib_libfontenc xproto_xproto -HOST_XAPP_MKFONTSCALE_DEPENDENCIES = host-zlib host-freetype host-xlib_libfontenc host-xproto_xproto $(eval $(call AUTOTARGETS)) $(eval $(call AUTOTARGETS,host)) diff --git a/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.mk b/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.mk index 2634fd5..f191ecb 100644 --- a/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.mk +++ b/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.mk @@ -9,7 +9,5 @@ XAPP_XCURSORGEN_SOURCE = xcursorgen-$(XAPP_XCURSORGEN_VERSION).tar.bz2 XAPP_XCURSORGEN_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XCURSORGEN_DEPENDENCIES = libpng xlib_libX11 xlib_libXcursor -HOST_XAPP_XCURSORGEN_DEPENDENCIES = host-libpng host-xlib_libX11 host-xlib_libXcursor - $(eval $(call AUTOTARGETS)) $(eval $(call AUTOTARGETS,host)) diff --git a/package/x11r7/xapp_xdm/S99xdm b/package/x11r7/xapp_xdm/S99xdm new file mode 100644 index 0000000..4dd1cd8 --- /dev/null +++ b/package/x11r7/xapp_xdm/S99xdm @@ -0,0 +1,25 @@ +#!/bin/sh + +XDM_BIN=/usr/bin/xdm + +case "$1" in + start) + echo -n "Starting XDM: " + $XDM_BIN + echo "done" + ;; + stop) + echo "Stopping XDM" + killall -q xdm + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 + ;; +esac + +exit 0 diff --git a/package/x11r7/xapp_xdm/xapp_xdm.mk b/package/x11r7/xapp_xdm/xapp_xdm.mk index 4dc0d02..7268d5d 100644 --- a/package/x11r7/xapp_xdm/xapp_xdm.mk +++ b/package/x11r7/xapp_xdm/xapp_xdm.mk @@ -4,10 +4,19 @@ # ################################################################################ -XAPP_XDM_VERSION = 1.1.6 +XAPP_XDM_VERSION = 1.1.11 XAPP_XDM_SOURCE = xdm-$(XAPP_XDM_VERSION).tar.bz2 XAPP_XDM_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XDM_CONF_ENV = ac_cv_file__dev_urandom=yes XAPP_XDM_DEPENDENCIES = xapp_xinit xapp_sessreg xapp_xrdb xlib_libX11 xlib_libXaw xlib_libXdmcp xlib_libXinerama xlib_libXt xproto_xineramaproto xproto_xproto +XAPP_XDM_CONF_OPT = --with-utmp-file=/var/adm/utmpx \ + --with-wtmp-file=/var/adm/wtmpx + +define XAPP_XDM_INSTALL_STARTUP_SCRIPT + $(INSTALL) -m 0755 -D package/x11r7/xapp_xdm/S99xdm \ + $(TARGET_DIR)/etc/init.d/S99xdm +endef + +XAPP_XDM_POST_INSTALL_TARGET_HOOKS += XAPP_XDM_INSTALL_STARTUP_SCRIPT $(eval $(call AUTOTARGETS)) diff --git a/package/x11r7/xapp_xinit/xapp_xinit.mk b/package/x11r7/xapp_xinit/xapp_xinit.mk index 48637f2..dc1decf 100644 --- a/package/x11r7/xapp_xinit/xapp_xinit.mk +++ b/package/x11r7/xapp_xinit/xapp_xinit.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XINIT_VERSION = 1.2.1 +XAPP_XINIT_VERSION = 1.3.2 XAPP_XINIT_SOURCE = xinit-$(XAPP_XINIT_VERSION).tar.bz2 XAPP_XINIT_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XINIT_DEPENDENCIES = xapp_xauth xlib_libX11 diff --git a/package/x11r7/xapp_xinput/xapp_xinput.mk b/package/x11r7/xapp_xinput/xapp_xinput.mk index 4e6884d..4bc5879 100644 --- a/package/x11r7/xapp_xinput/xapp_xinput.mk +++ b/package/x11r7/xapp_xinput/xapp_xinput.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XINPUT_VERSION = 1.5.0 +XAPP_XINPUT_VERSION = 1.5.4 XAPP_XINPUT_SOURCE = xinput-$(XAPP_XINPUT_VERSION).tar.bz2 XAPP_XINPUT_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XINPUT_DEPENDENCIES = xlib_libX11 xlib_libXi diff --git a/package/x11r7/xapp_xinput_calibrator/Config.in b/package/x11r7/xapp_xinput_calibrator/Config.in new file mode 100644 index 0000000..ac98b8d --- /dev/null +++ b/package/x11r7/xapp_xinput_calibrator/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_XAPP_XINPUT_CALIBRATOR + bool "xinput-calibrator" + depends on BR2_INSTALL_LIBSTDCPP + select BR2_PACKAGE_XLIB_LIBX11 + select BR2_PACKAGE_XLIB_LIBXI + help + A generic touchscreen calibration program for X.Org. + + http://www.freedesktop.org/wiki/Software/xinput_calibrator + +comment "xinput-calibrator requires a toolchain with C++ support" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/x11r7/xapp_xinput_calibrator/xapp_xinput-calibrator.mk b/package/x11r7/xapp_xinput_calibrator/xapp_xinput-calibrator.mk new file mode 100644 index 0000000..f84d1c2 --- /dev/null +++ b/package/x11r7/xapp_xinput_calibrator/xapp_xinput-calibrator.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# xapp_xinput-calibrator +# +################################################################################ + +XAPP_XINPUT_CALIBRATOR_VERSION = 0.7.5 +XAPP_XINPUT_CALIBRATOR_SOURCE = xinput_calibrator-$(XAPP_XINPUT_CALIBRATOR_VERSION).tar.gz +XAPP_XINPUT_CALIBRATOR_SITE = http://github.com/downloads/tias/xinput_calibrator +XAPP_XINPUT_CALIBRATOR_DEPENDENCIES = xlib_libX11 xlib_libXi + +$(eval $(call AUTOTARGETS)) diff --git a/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.mk b/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.mk index f37d106..f92588c 100644 --- a/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.mk +++ b/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.mk @@ -8,7 +8,6 @@ XAPP_XKBCOMP_VERSION = 1.1.1 XAPP_XKBCOMP_SOURCE = xkbcomp-$(XAPP_XKBCOMP_VERSION).tar.bz2 XAPP_XKBCOMP_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XKBCOMP_DEPENDENCIES = xlib_libX11 xlib_libxkbfile -HOST_XAPP_XKBCOMP_DEPENDENCIES = host-xlib_libX11 host-xlib_libxkbfile $(eval $(call AUTOTARGETS)) $(eval $(call AUTOTARGETS,host)) diff --git a/package/x11r7/xapp_xman/Config.in b/package/x11r7/xapp_xman/Config.in index af9525b..4f4f067 100644 --- a/package/x11r7/xapp_xman/Config.in +++ b/package/x11r7/xapp_xman/Config.in @@ -1,4 +1,5 @@ config BR2_PACKAGE_XAPP_XMAN bool "xman" + select BR2_PACKAGE_XLIB_LIBXAW help Manual page display program for the X Window System diff --git a/package/x11r7/xapp_xman/xapp_xman.mk b/package/x11r7/xapp_xman/xapp_xman.mk index e3f623e..6caaf3f 100644 --- a/package/x11r7/xapp_xman/xapp_xman.mk +++ b/package/x11r7/xapp_xman/xapp_xman.mk @@ -7,11 +7,10 @@ XAPP_XMAN_VERSION:=1.0.3 XAPP_XMAN_SOURCE:=xman-$(XAPP_XMAN_VERSION).tar.bz2 XAPP_XMAN_SITE:=http://xorg.freedesktop.org/releases/individual/app XAPP_XMAN_INSTALL_TARGET = YES +XAPP_XMAN_DEPENDENCIES = xlib_libXaw XAPP_XMAN_CONF_ENV = ac_cv_file__etc_man_conf=no \ ac_cv_file__etc_man_config=no \ ac_cv_file__etc_manpath_config=no -XAPP_XMAN_CONF_OPT = --disable-IPv6 - $(eval $(call AUTOTARGETS)) diff --git a/package/x11r7/xcb-util/xcb-util.mk b/package/x11r7/xcb-util/xcb-util.mk index 0158c9f..c43e4cb 100644 --- a/package/x11r7/xcb-util/xcb-util.mk +++ b/package/x11r7/xcb-util/xcb-util.mk @@ -6,6 +6,7 @@ XCB_UTIL_VERSION = 0.3.6 XCB_UTIL_SOURCE = xcb-util-$(XCB_UTIL_VERSION).tar.bz2 XCB_UTIL_SITE = http://xcb.freedesktop.org/dist/ +XCB_UTIL_INSTALL_STAGING = YES XCB_UTIL_DEPENDENCIES = host-gperf $(eval $(call AUTOTARGETS)) diff --git a/package/x11r7/xdriver_xf86-input-tslib/Config.in b/package/x11r7/xdriver_xf86-input-tslib/Config.in new file mode 100644 index 0000000..5185273 --- /dev/null +++ b/package/x11r7/xdriver_xf86-input-tslib/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_XDRIVER_XF86_INPUT_TSLIB + bool "xf86-input-tslib" + select BR2_PACKAGE_XPROTO_INPUTPROTO + select BR2_PACKAGE_XSERVER_XORG_SERVER + select BR2_PACKAGE_XPROTO_RANDRPROTO + select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_TSLIB + help + Touch screen library input driver + + http://www.ptxdist.org/software/xf86-input-tslib/index_en.html diff --git a/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib.mk b/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib.mk new file mode 100644 index 0000000..eaf8f2a --- /dev/null +++ b/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# xdriver_xf86-input-tslib -- Touch screen library input driver +# +################################################################################ + +XDRIVER_XF86_INPUT_TSLIB_VERSION = 0.0.6 +XDRIVER_XF86_INPUT_TSLIB_SOURCE = xf86-input-tslib-$(XDRIVER_XF86_INPUT_TSLIB_VERSION).tar.bz2 +XDRIVER_XF86_INPUT_TSLIB_SITE = http://www.ptxdist.org/software/xf86-input-tslib/download +XDRIVER_XF86_INPUT_TSLIB_DEPENDENCIES = \ + xproto_inputproto \ + xserver_xorg-server \ + xproto_randrproto \ + xproto_xproto \ + tslib + +$(eval $(call AUTOTARGETS)) diff --git a/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis.mk b/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis.mk index 8343761..69a5d52 100644 --- a/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis.mk +++ b/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_SIS_VERSION = 0.10.2 +XDRIVER_XF86_VIDEO_SIS_VERSION = 0.10.3 XDRIVER_XF86_VIDEO_SIS_SOURCE = xf86-video-sis-$(XDRIVER_XF86_VIDEO_SIS_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_SIS_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_SIS_AUTORECONF = YES diff --git a/package/x11r7/xfont_encodings/xfont_encodings.mk b/package/x11r7/xfont_encodings/xfont_encodings.mk index 8c4aac4..ead8ace 100644 --- a/package/x11r7/xfont_encodings/xfont_encodings.mk +++ b/package/x11r7/xfont_encodings/xfont_encodings.mk @@ -7,9 +7,7 @@ XFONT_ENCODINGS_VERSION = 1.0.3 XFONT_ENCODINGS_SOURCE = encodings-$(XFONT_ENCODINGS_VERSION).tar.bz2 XFONT_ENCODINGS_SITE = http://xorg.freedesktop.org/releases/individual/font -XFONT_ENCODINGS_MAKE_OPT = XFONT_ENCODINGS_DEPENDENCIES = host-xapp_mkfontscale -HOST_XFONT_ENCODINGS_DEPENDENCIES = host-xapp_mkfontscale $(eval $(call AUTOTARGETS)) $(eval $(call AUTOTARGETS,host)) diff --git a/package/x11r7/xfont_font-util/xfont_font-util.mk b/package/x11r7/xfont_font-util/xfont_font-util.mk index 680fdc7..c5243ad 100644 --- a/package/x11r7/xfont_font-util/xfont_font-util.mk +++ b/package/x11r7/xfont_font-util/xfont_font-util.mk @@ -11,7 +11,5 @@ XFONT_FONT_UTIL_DEPENDENCIES = host-pkg-config XFONT_FONT_UTIL_INSTALL_STAGING = YES XFONT_FONT_UTIL_INSTALL_TARGET = NO -HOST_XFONT_FONT_UTIL_DEPENDENCIES = host-pkg-config - $(eval $(call AUTOTARGETS)) $(eval $(call AUTOTARGETS,host)) diff --git a/package/x11r7/xlib_libX11/xlib_libX11.mk b/package/x11r7/xlib_libX11/xlib_libX11.mk index e017fea..4d12a84 100644 --- a/package/x11r7/xlib_libX11/xlib_libX11.mk +++ b/package/x11r7/xlib_libX11/xlib_libX11.mk @@ -9,7 +9,7 @@ XLIB_LIBX11_SOURCE = libX11-$(XLIB_LIBX11_VERSION).tar.bz2 XLIB_LIBX11_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBX11_AUTORECONF = YES XLIB_LIBX11_INSTALL_STAGING = YES -XLIB_LIBX11_DEPENDENCIES = libxcb xutil_util-macros xlib_xtrans xlib_libXau xlib_libXdmcp xproto_kbproto xproto_xproto xproto_xextproto xproto_inputproto xproto_xf86bigfontproto xproto_bigreqsproto xproto_xcmiscproto host-xproto_xproto +XLIB_LIBX11_DEPENDENCIES = libxcb xutil_util-macros xlib_xtrans xlib_libXau xlib_libXdmcp xproto_kbproto xproto_xproto xproto_xextproto xproto_inputproto xproto_xf86bigfontproto xproto_xcmiscproto host-xproto_xproto XLIB_LIBX11_CONF_OPT = \ --disable-malloc0returnsnull \ --with-xcb \ @@ -19,8 +19,6 @@ XLIB_LIBX11_CONF_OPT = \ HOST_XLIB_LIBX11_CONF_OPT = \ --disable-specs -HOST_XLIB_LIBX11_DEPENDENCIES = host-xproto_xextproto host-libxcb host-xutil_util-macros host-xlib_xtrans host-xlib_libXau host-xlib_libXdmcp host-xproto_kbproto host-xproto_xproto host-xproto_xextproto host-xproto_inputproto host-xproto_xf86bigfontproto xproto_bigreqsproto host-xproto_xcmiscproto - # src/util/makekeys is executed at build time to generate ks_tables.h, so # it should get compiled for the host. The libX11 makefile unfortunately # doesn't know about cross compilation so this doesn't work. diff --git a/package/x11r7/xlib_libXau/xlib_libXau.mk b/package/x11r7/xlib_libXau/xlib_libXau.mk index f7eb3bd..8d67501 100644 --- a/package/x11r7/xlib_libXau/xlib_libXau.mk +++ b/package/x11r7/xlib_libXau/xlib_libXau.mk @@ -10,7 +10,5 @@ XLIB_LIBXAU_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXAU_INSTALL_STAGING = YES XLIB_LIBXAU_DEPENDENCIES = xutil_util-macros xproto_xproto -HOST_XLIB_LIBXAU_DEPENDENCIES = host-xutil_util-macros host-xproto_xproto - $(eval $(call AUTOTARGETS)) $(eval $(call AUTOTARGETS,host)) diff --git a/package/x11r7/xlib_libXcursor/xlib_libXcursor.mk b/package/x11r7/xlib_libXcursor/xlib_libXcursor.mk index 3c72bbb..d12520a 100644 --- a/package/x11r7/xlib_libXcursor/xlib_libXcursor.mk +++ b/package/x11r7/xlib_libXcursor/xlib_libXcursor.mk @@ -10,7 +10,5 @@ XLIB_LIBXCURSOR_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXCURSOR_INSTALL_STAGING = YES XLIB_LIBXCURSOR_DEPENDENCIES = xlib_libX11 xlib_libXfixes xlib_libXrender xproto_xproto -HOST_XLIB_LIBXCURSOR_DEPENDENCIES = host-xlib_libX11 host-xlib_libXfixes host-xlib_libXrender host-xproto_xproto - $(eval $(call AUTOTARGETS)) $(eval $(call AUTOTARGETS,host)) diff --git a/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk b/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk index 6f513cf..5308206 100644 --- a/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk +++ b/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk @@ -10,7 +10,5 @@ XLIB_LIBXDMCP_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXDMCP_INSTALL_STAGING = YES XLIB_LIBXDMCP_DEPENDENCIES = xutil_util-macros xproto_xproto -HOST_XLIB_LIBXDMCP_DEPENDENCIES = host-xutil_util-macros host-xproto_xproto - $(eval $(call AUTOTARGETS)) $(eval $(call AUTOTARGETS,host)) diff --git a/package/x11r7/xlib_libXfixes/xlib_libXfixes.mk b/package/x11r7/xlib_libXfixes/xlib_libXfixes.mk index 2d8b7fa..2db9b36 100644 --- a/package/x11r7/xlib_libXfixes/xlib_libXfixes.mk +++ b/package/x11r7/xlib_libXfixes/xlib_libXfixes.mk @@ -10,7 +10,5 @@ XLIB_LIBXFIXES_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXFIXES_INSTALL_STAGING = YES XLIB_LIBXFIXES_DEPENDENCIES = xproto_fixesproto xlib_libX11 xproto_xextproto xproto_xproto -HOST_XLIB_LIBXFIXES_DEPENDENCIES = host-xproto_fixesproto host-xlib_libX11 host-xproto_xextproto host-xproto_xproto - $(eval $(call AUTOTARGETS)) $(eval $(call AUTOTARGETS,host)) diff --git a/package/x11r7/xlib_libXfont/xlib_libXfont.mk b/package/x11r7/xlib_libXfont/xlib_libXfont.mk index 303992f..2b47e4e 100644 --- a/package/x11r7/xlib_libXfont/xlib_libXfont.mk +++ b/package/x11r7/xlib_libXfont/xlib_libXfont.mk @@ -13,7 +13,6 @@ XLIB_LIBXFONT_DEPENDENCIES = freetype xlib_libfontenc xlib_xtrans xproto_fontcac XLIB_LIBXFONT_CONF_OPT = --disable-devel-docs HOST_XLIB_LIBXFONT_CONF_OPT = --disable-devel-docs -HOST_XLIB_LIBXFONT_DEPENDENCIES = host-freetype host-xlib_libfontenc host-xlib_xtrans host-xproto_fontcacheproto host-xproto_fontsproto host-xproto_xproto host-xfont_encodings $(eval $(call AUTOTARGETS)) $(eval $(call AUTOTARGETS,host)) diff --git a/package/x11r7/xlib_libXrender/xlib_libXrender.mk b/package/x11r7/xlib_libXrender/xlib_libXrender.mk index 9a2abe3..7a0a45e 100644 --- a/package/x11r7/xlib_libXrender/xlib_libXrender.mk +++ b/package/x11r7/xlib_libXrender/xlib_libXrender.mk @@ -11,7 +11,5 @@ XLIB_LIBXRENDER_INSTALL_STAGING = YES XLIB_LIBXRENDER_DEPENDENCIES = xlib_libX11 xproto_renderproto xproto_xproto XLIB_LIBXRENDER_CONF_OPT = --disable-malloc0returnsnull -HOST_XLIB_LIBXRENDER_DEPENDENCIES = host-xlib_libX11 host-xproto_renderproto host-xproto_xproto - $(eval $(call AUTOTARGETS)) $(eval $(call AUTOTARGETS,host)) diff --git a/package/x11r7/xlib_libfontenc/xlib_libfontenc.mk b/package/x11r7/xlib_libfontenc/xlib_libfontenc.mk index 948e244..eef592a 100644 --- a/package/x11r7/xlib_libfontenc/xlib_libfontenc.mk +++ b/package/x11r7/xlib_libfontenc/xlib_libfontenc.mk @@ -10,7 +10,5 @@ XLIB_LIBFONTENC_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBFONTENC_INSTALL_STAGING = YES XLIB_LIBFONTENC_DEPENDENCIES = zlib xproto_xproto -HOST_XLIB_LIBFONTENC_DEPENDENCIES = host-zlib host-xproto_xproto - $(eval $(call AUTOTARGETS)) $(eval $(call AUTOTARGETS,host)) diff --git a/package/x11r7/xlib_libxkbfile/xlib_libxkbfile.mk b/package/x11r7/xlib_libxkbfile/xlib_libxkbfile.mk index d80fa0f..b964593 100644 --- a/package/x11r7/xlib_libxkbfile/xlib_libxkbfile.mk +++ b/package/x11r7/xlib_libxkbfile/xlib_libxkbfile.mk @@ -10,7 +10,5 @@ XLIB_LIBXKBFILE_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXKBFILE_INSTALL_STAGING = YES XLIB_LIBXKBFILE_DEPENDENCIES = xlib_libX11 xproto_kbproto -HOST_XLIB_LIBXKBFILE_DEPENDENCIES = host-xlib_libX11 host-xproto_kbproto - $(eval $(call AUTOTARGETS)) $(eval $(call AUTOTARGETS,host)) diff --git a/package/x11r7/xutil_makedepend/xutil_makedepend.mk b/package/x11r7/xutil_makedepend/xutil_makedepend.mk index 5c7bfd3..a69d21f 100644 --- a/package/x11r7/xutil_makedepend/xutil_makedepend.mk +++ b/package/x11r7/xutil_makedepend/xutil_makedepend.mk @@ -7,10 +7,8 @@ XUTIL_MAKEDEPEND_VERSION = 1.0.2 XUTIL_MAKEDEPEND_SOURCE = makedepend-$(XUTIL_MAKEDEPEND_VERSION).tar.bz2 XUTIL_MAKEDEPEND_SITE = http://xorg.freedesktop.org/releases/individual/util -XUTIL_MAKEDEPEND_INSTALL_STAGING = NO -XUTIL_MAKEDEPEND_INSTALL_TARGET = YES -HOST_XUTIL_MAKEDEPEND_DEPENDENCIES = host-xproto_xproto +XUTIL_MAKEDEPEND_DEPENDENCIES = xproto_xproto $(eval $(call AUTOTARGETS)) $(eval $(call AUTOTARGETS,host)) diff --git a/package/xenomai/Config.in b/package/xenomai/Config.in index cfeaa04..ecab23e 100644 --- a/package/xenomai/Config.in +++ b/package/xenomai/Config.in @@ -1,5 +1,7 @@ config BR2_PACKAGE_XENOMAI bool "Xenomai Userspace" + depends on BR2_i386 || BR2_x86_64 || BR2_arm || \ + BR2_bfin || BR2_powerpc || BR2_sh4 help Real-Time Framework for Linux http://www.xenomai.org @@ -43,66 +45,6 @@ config BR2_PACKAGE_XENOMAI_SMP This option allows to enable or disable SMP support. It has to match your kernel configuration. -choice - prompt "Xenomai ARM CPU type" - depends on BR2_arm - default BR2_PACKAGE_XENOMAI_CPU_GENERIC_ARM - help - On the ARM architecture, Xenomai needs to be configured for - a specific sub-architecture. Select the appropriate - sub-architecture from the list. - - config BR2_PACKAGE_XENOMAI_CPU_AT91RM9200 - bool "Atmel AT91RM9200" - - config BR2_PACKAGE_XENOMAI_CPU_AT91SAM926X - bool "Atmel AT91SAM926X" - - config BR2_PACKAGE_XENOMAI_CPU_INTEGRATOR - bool "ARM Ltd. Integrator" - - config BR2_PACKAGE_XENOMAI_CPU_IXP4XX - bool "Intel IXP4XX (XScale)" - - config BR2_PACKAGE_XENOMAI_CPU_IMX - bool "Freescale i.MX (MX1/MXL)" - - config BR2_PACKAGE_XENOMAI_CPU_IMX21 - bool "Freescale i.MX21" - - config BR2_PACKAGE_XENOMAI_CPU_MX2 - bool "Freescale MXC/MX2" - - config BR2_PACKAGE_XENOMAI_CPU_MX3 - bool "Freescale MXC/MX3" - - config BR2_PACKAGE_XENOMAI_CPU_SA1100 - bool "StrongARM SA1100" - - config BR2_PACKAGE_XENOMAI_CPU_S3C2410 - bool "S3C2410" - - config BR2_PACKAGE_XENOMAI_CPU_GENERIC_ARM - bool "Generic ARM" - -endchoice - -# Now set CPU type. We force manually selected type even if detected in case -# user takes the risk. -config BR2_PACKAGE_XENOMAI_CPU_TYPE - string - depends on BR2_PACKAGE_XENOMAI && BR2_arm - default "at91rm9200" if BR2_PACKAGE_XENOMAI_CPU_AT91RM9200 - default "at91sam926x" if BR2_PACKAGE_XENOMAI_CPU_AT91SAM926X - default "integrator" if BR2_PACKAGE_XENOMAI_CPU_INTEGRATOR - default "ixp4xx" if BR2_PACKAGE_XENOMAI_CPU_IXP4XX - default "generic" if BR2_PACKAGE_XENOMAI_CPU_GENERIC_ARM - default "imx" if BR2_PACKAGE_XENOMAI_CPU_IMX - default "imx21" if BR2_PACKAGE_XENOMAI_CPU_IMX21 - default "mx2" if BR2_PACKAGE_XENOMAI_CPU_MX2 - default "mx3" if BR2_PACKAGE_XENOMAI_CPU_MX3 - default "s3c2410" if BR2_PACKAGE_XENOMAI_CPU_S3C2410 - config BR2_PACKAGE_XENOMAI_TESTSUITE bool "Install testsuite" help diff --git a/package/xenomai/xenomai-fix-lfs-issue.patch b/package/xenomai/xenomai-fix-lfs-issue.patch new file mode 100644 index 0000000..157c8e2 --- /dev/null +++ b/package/xenomai/xenomai-fix-lfs-issue.patch @@ -0,0 +1,72 @@ +From: Gilles Chanteperdrix +Date: Sat, 5 Nov 2011 20:59:01 +0000 (+0100) +Subject: posix: fix compilation for LFS +X-Git-Url: http://git.xenomai.org/?p=xenomai-2.6.git;a=commitdiff_plain;h=06ae5c5e47fbfd9d8dbbe6fcf1a1db0c14bad9de;hp=8f6feff876029244dabc1257cdf13209fbd64fb5 + +posix: fix compilation for LFS +--- + +diff --git a/include/posix/sys/mman.h b/include/posix/sys/mman.h +index 455e565..a304755 100644 +--- a/include/posix/sys/mman.h ++++ b/include/posix/sys/mman.h +@@ -63,17 +63,16 @@ int __real_shm_open(const char *name, int oflag, mode_t mode); + + int __real_shm_unlink(const char *name); + +-#if !defined(_FILE_OFFSET_BITS) || _FILE_OFFSET_BITS != 64 + void *__real_mmap(void *addr, + size_t len, + int prot, + int flags, + int fildes, + long off); +-#else +-#define __real_mmap __real_mmap64 +-#endif +-#ifdef _LARGEFILE64_SOURCE ++ ++#if __WORDSIZE == 32 ++#if defined(_LARGEFILE64_SOURCE) \ ++ || defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 + void *__real_mmap64(void *addr, + size_t len, + int prot, +@@ -82,6 +81,11 @@ void *__real_mmap64(void *addr, + long long off); + #endif + ++#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 ++#define __real_mmap __real_mmap64 ++#endif ++#endif ++ + int __real_munmap(void *addr, size_t len); + + #ifdef __cplusplus +diff --git a/include/posix/unistd.h b/include/posix/unistd.h +index 49463a0..90cce86 100644 +--- a/include/posix/unistd.h ++++ b/include/posix/unistd.h +@@ -54,13 +54,17 @@ int ftruncate(int fildes, off_t length); + extern "C" { + #endif + +-#if !defined(_FILE_OFFSET_BITS) || _FILE_OFFSET_BITS != 64 + int __real_ftruncate(int fildes, long length); +-#else ++ ++#if __WORDSIZE == 32 ++#if defined(_LARGEFILE64_SOURCE) \ ++ || defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 ++int __real_ftruncate64(int fildes, long long length); ++#endif ++ ++#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 + #define __real_ftruncate __real_ftruncate64 + #endif +-#ifdef _LARGEFILE64_SOURCE +-int __real_ftruncate64(int fildes, long long length); + #endif + + ssize_t __real_read(int fd, void *buf, size_t nbyte); diff --git a/package/xenomai/xenomai.mk b/package/xenomai/xenomai.mk index f795579..72100f0 100644 --- a/package/xenomai/xenomai.mk +++ b/package/xenomai/xenomai.mk @@ -7,7 +7,7 @@ XENOMAI_VERSION = $(call qstrip,$(BR2_PACKAGE_XENOMAI_VERSION)) ifeq ($(XENOMAI_VERSION),) -XENOMAI_VERSION = 2.5.6 +XENOMAI_VERSION = 2.6.0 endif XENOMAI_SITE = http://download.gna.org/xenomai/stable/ @@ -15,15 +15,6 @@ XENOMAI_SOURCE = xenomai-$(XENOMAI_VERSION).tar.bz2 XENOMAI_INSTALL_STAGING = YES -ifeq ($(BR2_arm),y) -XENOMAI_CPU_TYPE = $(call qstrip,$(BR2_PACKAGE_XENOMAI_CPU_TYPE)) -# Set "generic" if not defined -ifeq ($(XENOMAI_CPU_TYPE),) -XENOMAI_CPU_TYPE = generic -endif -XENOMAI_CONF_OPT += --enable-arm-mach=$(XENOMAI_CPU_TYPE) -endif #BR2_arm - ifeq ($(BR2_PACKAGE_XENOMAI_SMP),y) XENOMAI_CONF_OPT += --enable-smp endif @@ -98,8 +89,12 @@ endef XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_SKINS -# If you use static /dev creation don't forget to update your -# device_table_dev.txt +define XENOMAI_DEVICES +/dev/rtheap c 666 0 0 10 254 0 0 - +/dev/rtscope c 666 0 0 10 253 0 0 - +/dev/rtp c 666 0 0 150 0 0 1 32 +endef + ifeq ($(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV),y) XENOMAI_DEPENDENCIES += udev diff --git a/package/xterm/Config.in b/package/xterm/Config.in index 99c89cf..33adf25 100644 --- a/package/xterm/Config.in +++ b/package/xterm/Config.in @@ -6,3 +6,4 @@ config BR2_PACKAGE_XTERM help xterm terminal emulator + http://invisible-island.net/xterm/ diff --git a/package/xterm/xterm.mk b/package/xterm/xterm.mk index fa36228..f462c7f 100644 --- a/package/xterm/xterm.mk +++ b/package/xterm/xterm.mk @@ -4,7 +4,7 @@ # ############################################################# -XTERM_VERSION = 271 +XTERM_VERSION = 278 XTERM_SOURCE = xterm-$(XTERM_VERSION).tgz XTERM_SITE = ftp://invisible-island.net/xterm XTERM_DEPENDENCIES = ncurses xlib_libXaw diff --git a/package/yajl/yajl-2.0.2-math-link.patch b/package/yajl/yajl-2.0.4-math-link.patch similarity index 100% rename from package/yajl/yajl-2.0.2-math-link.patch rename to package/yajl/yajl-2.0.4-math-link.patch diff --git a/package/yajl/yajl.mk b/package/yajl/yajl.mk index 723cce4..1c0df38 100644 --- a/package/yajl/yajl.mk +++ b/package/yajl/yajl.mk @@ -4,7 +4,7 @@ # ################################################################################ -YAJL_VERSION = 2.0.2 +YAJL_VERSION = 2.0.4 YAJL_SITE = git://github.com/lloyd/yajl.git YAJL_INSTALL_STAGING = YES diff --git a/support/dependencies/check-host-tar.mk b/support/dependencies/check-host-tar.mk new file mode 100644 index 0000000..010bde7 --- /dev/null +++ b/support/dependencies/check-host-tar.mk @@ -0,0 +1,9 @@ +TAR ?= tar + +ifeq (,$(call suitable-host-package,tar,$(TAR))) + DEPENDENCIES_HOST_PREREQ += host-tar + TAR = $(HOST_DIR)/usr/bin/tar +endif + +# Since TAR is at least 1.17, it will certainly support --strip-components +TAR_STRIP_COMPONENTS = --strip-components diff --git a/support/dependencies/check-host-tar.sh b/support/dependencies/check-host-tar.sh new file mode 100755 index 0000000..2cfc2b3 --- /dev/null +++ b/support/dependencies/check-host-tar.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +candidate="$1" + +tar=`which $candidate` +if [ ! -x "$tar" ]; then + tar=`which tar` + if [ ! -x "$tar" ]; then + # echo nothing: no suitable tar found + exit 1 + fi +fi + +# Output of 'tar --version' examples: +# tar (GNU tar) 1.15.1 +# tar (GNU tar) 1.25 +version=`$tar --version | head -n 1 | sed 's/^.*\s\([0-9]\+\.\S\+\).*$/\1/'` +major=`echo "$version" | cut -d. -f1` +minor=`echo "$version" | cut -d. -f2` +bugfix=`echo "$version" | cut -d. -f3` + +# Minimal version = 1.17 (previous versions do not correctly unpack archives +# containing hard-links if the --strip-components option is used). +major_min=1 +minor_min=17 +if [ $major -gt $major_min ]; then + echo $tar +else + if [ $major -eq $major_min -a $minor -ge $minor_min ]; then + echo $tar + else + # echo nothing: no suitable tar found + exit 1 + fi +fi diff --git a/toolchain/dependencies/dependencies.mk b/support/dependencies/dependencies.mk similarity index 60% rename from toolchain/dependencies/dependencies.mk rename to support/dependencies/dependencies.mk index 24d6666..cee2a48 100644 --- a/toolchain/dependencies/dependencies.mk +++ b/support/dependencies/dependencies.mk @@ -6,21 +6,25 @@ ###################################################################### DEPENDENCIES_HOST_PREREQ:= + +# suitable-host-pkg: calls check-host-$(1).sh shell script. Parameter (2) +# can be the candidate to be checked. If not present, the check-host-$(1).sh +# script should use 'which' to find a candidate. The script should return +# the path to the suitable host tool, or nothing if no suitable tool was found. +define suitable-host-package +$(shell support/dependencies/check-host-$(1).sh $(2)) +endef +-include support/dependencies/check-host-*.mk + ifeq ($(BR2_STRIP_sstrip),y) DEPENDENCIES_HOST_PREREQ+=host-sstrip endif -# Remove duplicate entries from $(DL_TOOLS_DEPENDENCIES) -DL_TOOLS = \ - $(findstring svn,$(DL_TOOLS_DEPENDENCIES)) \ - $(findstring git,$(DL_TOOLS_DEPENDENCIES)) \ - $(findstring bzr,$(DL_TOOLS_DEPENDENCIES)) - core-dependencies: @HOSTCC="$(firstword $(HOSTCC))" MAKE="$(MAKE)" \ CONFIG_FILE="$(CONFIG_DIR)/.config" \ - DL_TOOLS="$(DL_TOOLS)" \ - $(TOPDIR)/toolchain/dependencies/dependencies.sh + DL_TOOLS="$(sort $(DL_TOOLS_DEPENDENCIES))" \ + $(TOPDIR)/support/dependencies/dependencies.sh dependencies: core-dependencies $(DEPENDENCIES_HOST_PREREQ) diff --git a/toolchain/dependencies/dependencies.sh b/support/dependencies/dependencies.sh similarity index 99% rename from toolchain/dependencies/dependencies.sh rename to support/dependencies/dependencies.sh index 2b9c0b3..c47ffcf 100755 --- a/toolchain/dependencies/dependencies.sh +++ b/support/dependencies/dependencies.sh @@ -101,7 +101,7 @@ if [ $COMPILER_MAJOR -lt 3 -o $COMPILER_MAJOR -eq 2 -a $COMPILER_MINOR -lt 95 ] fi; # check for host CXX -CXXCOMPILER=$(which $HOSTCXX 2> /dev/null) +CXXCOMPILER=$(which $HOSTCXX_NOCCACHE 2> /dev/null) if [ -z "$CXXCOMPILER" ] ; then CXXCOMPILER=$(which c++ 2> /dev/null) fi diff --git a/support/kconfig/Makefile b/support/kconfig/Makefile index ece2a82..f2def76 100644 --- a/support/kconfig/Makefile +++ b/support/kconfig/Makefile @@ -77,14 +77,15 @@ localyesconfig: $(obj)/streamline_config.pl $(obj)/conf # The symlink is used to repair a deficiency in arch/um update-po-config: $(obj)/kxgettext $(obj)/gconf.glade.h $(Q)echo " GEN config" - $(Q)xgettext --default-domain=linux \ - --add-comments --keyword=_ --keyword=N_ \ - --from-code=UTF-8 \ - --files-from=scripts/kconfig/POTFILES.in \ + $(Q)xgettext --default-domain=linux \ + --add-comments --keyword=_ --keyword=N_ \ + --from-code=UTF-8 \ + --files-from=$(srctree)/scripts/kconfig/POTFILES.in \ + --directory=$(srctree) --directory=$(objtree) \ --output $(obj)/config.pot $(Q)sed -i s/CHARSET/UTF-8/ $(obj)/config.pot - $(Q)ln -fs Kconfig.i386 arch/um/Kconfig.arch - $(Q)(for i in `ls arch/*/Kconfig`; \ + $(Q)ln -fs Kconfig.x86 arch/um/Kconfig + $(Q)(for i in `ls $(srctree)/arch/*/Kconfig`; \ do \ echo " GEN $$i"; \ $(obj)/kxgettext $$i \ @@ -92,7 +93,7 @@ update-po-config: $(obj)/kxgettext $(obj)/gconf.glade.h done ) $(Q)msguniq --sort-by-file --to-code=UTF-8 $(obj)/config.pot \ --output $(obj)/linux.pot - $(Q)rm -f arch/um/Kconfig.arch + $(Q)rm -f $(srctree)/arch/um/Kconfig $(Q)rm -f $(obj)/config.pot PHONY += allnoconfig allyesconfig allmodconfig alldefconfig randconfig @@ -168,56 +169,44 @@ conf-objs := conf.o zconf.tab.o mconf-objs := mconf.o zconf.tab.o $(lxdialog) nconf-objs := nconf.o zconf.tab.o nconf.gui.o kxgettext-objs := kxgettext.o zconf.tab.o +qconf-cxxobjs := qconf.o +qconf-objs := kconfig_load.o zconf.tab.o +gconf-objs := gconf.o kconfig_load.o zconf.tab.o -hostprogs-y := conf qconf gconf kxgettext +hostprogs-y := conf -ifeq ($(MAKECMDGOALS),nconfig) +ifeq ($(MAKECMDGOALS),nconf) hostprogs-y += nconf endif -ifeq ($(findstring nconf,$(MAKECMDGOALS)),nconf) - hostprogs-y += nconf -endif -ifeq ($(MAKECMDGOALS),menuconfig) +ifeq ($(MAKECMDGOALS),mconf) hostprogs-y += mconf endif -ifeq ($(findstring mconf,$(MAKECMDGOALS)),mconf) - hostprogs-y += mconf -endif -ifeq ($(MAKECMDGOALS),xconfig) - qconf-target := 1 -endif -ifeq ($(findstring qconf,$(MAKECMDGOALS)),qconf) - qconf-target := 1 +ifeq ($(MAKECMDGOALS),update-po-config) + hostprogs-y += kxgettext endif -ifeq ($(MAKECMDGOALS),gconfig) - gconf-target := 1 +ifeq ($(MAKECMDGOALS),qconf) + qconf-target := 1 endif -ifeq ($(findstring gconf,$(MAKECMDGOALS)),gconf) +ifeq ($(MAKECMDGOALS),gconf) gconf-target := 1 endif + ifeq ($(qconf-target),1) -qconf-cxxobjs := qconf.o -qconf-objs := kconfig_load.o zconf.tab.o + hostprogs-y += qconf endif ifeq ($(gconf-target),1) -gconf-objs := gconf.o kconfig_load.o zconf.tab.o + hostprogs-y += gconf endif -clean-files := lkc_defs.h qconf.moc .tmp_qtcheck \ - .tmp_gtkcheck zconf.tab.c lex.zconf.c zconf.hash.c gconf.glade.h -clean-files += config.pot linux.pot -clean-files += conf $(conf-objs) -clean-files += mconf $(mconf-objs) -clean-files += nconf $(nconf-objs) -clean-files += qconf qconf.o -clean-files += gconf gconf.o -clean-files += kconfig_load.o zconf.tab.o -clean-files += $(kxgettext-objs) +clean-files := lkc_defs.h qconf.moc .tmp_qtcheck .tmp_gtkcheck +clean-files += zconf.tab.c lex.zconf.c zconf.hash.c gconf.glade.h +clean-files += mconf qconf gconf nconf +clean-files += config.pot linux.pot # Check that we have the required ncurses stuff installed for lxdialog (menuconfig) PHONY += $(obj)/dochecklxdialog @@ -339,11 +328,12 @@ $(obj)/%.moc: $(src)/%.h $(KC_QT_MOC) -i $< -o $@ $(obj)/lkc_defs.h: $(src)/lkc_proto.h - sed < $< > $@ 's/P(\([^,]*\),.*/#define \1 (\*\1_p)/' + $(Q)sed < $< > $@ 's/P(\([^,]*\),.*/#define \1 (\*\1_p)/' # Extract gconf menu items for I18N support $(obj)/gconf.glade.h: $(obj)/gconf.glade - intltool-extract --type=gettext/glade $(obj)/gconf.glade + $(Q)intltool-extract --type=gettext/glade --srcdir=$(srctree) \ + $(obj)/gconf.glade ### # The following requires flex/bison/gperf diff --git a/support/kconfig/conf.c b/support/kconfig/conf.c index 652e079..ed9402a 100644 --- a/support/kconfig/conf.c +++ b/support/kconfig/conf.c @@ -332,7 +332,7 @@ static int conf_choice(struct menu *menu) } if (!child) continue; - if (line[strlen(line) - 1] == '?') { + if (line[0] && line[strlen(line) - 1] == '?') { print_help(child); continue; } diff --git a/support/kconfig/confdata.c b/support/kconfig/confdata.c index c9f13ee..54f20ca 100644 --- a/support/kconfig/confdata.c +++ b/support/kconfig/confdata.c @@ -559,8 +559,6 @@ int conf_write(const char *name) const char *basename; const char *str; char dirname[PATH_MAX+1], tmpname[PATH_MAX+1], newname[PATH_MAX+1]; - time_t now; - int use_timestamp = 1; char *env; if (!name) @@ -600,19 +598,11 @@ int conf_write(const char *name) if (!out) return 1; - time(&now); - env = getenv("KCONFIG_NOTIMESTAMP"); - if (env && *env) - use_timestamp = 0; - fprintf(out, _("#\n" "# Automatically generated make config: don't edit\n" "# %s\n" - "%s%s" "#\n"), - rootmenu.prompt->text, - use_timestamp ? "# " : "", - use_timestamp ? ctime(&now) : ""); + rootmenu.prompt->text); if (!conf_get_changed()) sym_clear_all_valid(); @@ -801,7 +791,6 @@ int conf_write_autoconf(void) const char *str; const char *name; FILE *out, *tristate, *out_h; - time_t now; int i; char dir[PATH_MAX+1], buf[PATH_MAX+1]; char *s; @@ -841,22 +830,19 @@ int conf_write_autoconf(void) return 1; } - time(&now); fprintf(out, "#\n" "# Automatically generated make config: don't edit\n" "# %s\n" - "# %s" "#\n", - rootmenu.prompt->text, ctime(&now)); + rootmenu.prompt->text); fprintf(tristate, "#\n" "# Automatically generated - do not edit\n" "\n"); fprintf(out_h, "/*\n" " * Automatically generated C config: don't edit\n" " * %s\n" - " * %s" " */\n", - rootmenu.prompt->text, ctime(&now)); + rootmenu.prompt->text); for_all_symbols(i, sym) { sym_calc_value(sym); diff --git a/support/kconfig/expr.h b/support/kconfig/expr.h index 3d238db..16bfae2 100644 --- a/support/kconfig/expr.h +++ b/support/kconfig/expr.h @@ -20,12 +20,8 @@ struct file { struct file *parent; const char *name; int lineno; - int flags; }; -#define FILE_BUSY 0x0001 -#define FILE_SCANNED 0x0002 - typedef enum tristate { no, mod, yes } tristate; diff --git a/support/kconfig/gconf.c b/support/kconfig/gconf.c index f9daf98..79479c3 100644 --- a/support/kconfig/gconf.c +++ b/support/kconfig/gconf.c @@ -253,7 +253,7 @@ void init_left_tree(void) gtk_tree_view_set_model(view, model1); gtk_tree_view_set_headers_visible(view, TRUE); - gtk_tree_view_set_rules_hint(view, FALSE); + gtk_tree_view_set_rules_hint(view, TRUE); column = gtk_tree_view_column_new(); gtk_tree_view_append_column(view, column); @@ -298,7 +298,7 @@ void init_right_tree(void) gtk_tree_view_set_model(view, model2); gtk_tree_view_set_headers_visible(view, TRUE); - gtk_tree_view_set_rules_hint(view, FALSE); + gtk_tree_view_set_rules_hint(view, TRUE); column = gtk_tree_view_column_new(); gtk_tree_view_append_column(view, column); @@ -756,7 +756,6 @@ void on_load_clicked(GtkButton * button, gpointer user_data) void on_single_clicked(GtkButton * button, gpointer user_data) { view_mode = SINGLE_VIEW; - gtk_paned_set_position(GTK_PANED(hpaned), 0); gtk_widget_hide(tree1_w); current = &rootmenu; display_tree_part(); @@ -782,7 +781,6 @@ void on_split_clicked(GtkButton * button, gpointer user_data) void on_full_clicked(GtkButton * button, gpointer user_data) { view_mode = FULL_VIEW; - gtk_paned_set_position(GTK_PANED(hpaned), 0); gtk_widget_hide(tree1_w); if (tree2) gtk_tree_store_clear(tree2); @@ -1444,6 +1442,12 @@ static void display_tree(struct menu *menu) if (((menu != &rootmenu) && !(menu->flags & MENU_ROOT)) || (view_mode == FULL_VIEW) || (view_mode == SPLIT_VIEW))*/ + + /* Change paned position if the view is not in 'split mode' */ + if (view_mode == SINGLE_VIEW || view_mode == FULL_VIEW) { + gtk_paned_set_position(GTK_PANED(hpaned), 0); + } + if (((view_mode == SINGLE_VIEW) && (menu->flags & MENU_ROOT)) || (view_mode == FULL_VIEW) || (view_mode == SPLIT_VIEW)) { diff --git a/support/kconfig/lex.zconf.c_shipped b/support/kconfig/lex.zconf.c_shipped index 6eb0397..d918291 100644 --- a/support/kconfig/lex.zconf.c_shipped +++ b/support/kconfig/lex.zconf.c_shipped @@ -2363,11 +2363,11 @@ void zconf_initscan(const char *name) current_file = file_lookup(name); current_file->lineno = 1; - current_file->flags = FILE_BUSY; } void zconf_nextfile(const char *name) { + struct file *iter; struct file *file = file_lookup(name); struct buffer *buf = malloc(sizeof(*buf)); memset(buf, 0, sizeof(*buf)); @@ -2383,18 +2383,25 @@ void zconf_nextfile(const char *name) buf->parent = current_buf; current_buf = buf; - if (file->flags & FILE_BUSY) { - printf("%s:%d: do not source '%s' from itself\n", - zconf_curname(), zconf_lineno(), name); - exit(1); - } - if (file->flags & FILE_SCANNED) { - printf("%s:%d: file '%s' is already sourced from '%s'\n", - zconf_curname(), zconf_lineno(), name, - file->parent->name); - exit(1); + for (iter = current_file->parent; iter; iter = iter->parent ) { + if (!strcmp(current_file->name,iter->name) ) { + printf("%s:%d: recursive inclusion detected. " + "Inclusion path:\n current file : '%s'\n", + zconf_curname(), zconf_lineno(), + zconf_curname()); + iter = current_file->parent; + while (iter && \ + strcmp(iter->name,current_file->name)) { + printf(" included from: '%s:%d'\n", + iter->name, iter->lineno-1); + iter = iter->parent; + } + if (iter) + printf(" included from: '%s:%d'\n", + iter->name, iter->lineno+1); + exit(1); + } } - file->flags |= FILE_BUSY; file->lineno = 1; file->parent = current_file; current_file = file; @@ -2404,8 +2411,6 @@ static void zconf_endfile(void) { struct buffer *parent; - current_file->flags |= FILE_SCANNED; - current_file->flags &= ~FILE_BUSY; current_file = current_file->parent; parent = current_buf->parent; diff --git a/support/kconfig/nconf.c b/support/kconfig/nconf.c index db56377..488dd74 100644 --- a/support/kconfig/nconf.c +++ b/support/kconfig/nconf.c @@ -373,18 +373,18 @@ static void print_function_line(void) const int skip = 1; for (i = 0; i < function_keys_num; i++) { - wattrset(main_window, attributes[FUNCTION_HIGHLIGHT]); + (void) wattrset(main_window, attributes[FUNCTION_HIGHLIGHT]); mvwprintw(main_window, LINES-3, offset, "%s", function_keys[i].key_str); - wattrset(main_window, attributes[FUNCTION_TEXT]); + (void) wattrset(main_window, attributes[FUNCTION_TEXT]); offset += strlen(function_keys[i].key_str); mvwprintw(main_window, LINES-3, offset, "%s", function_keys[i].func); offset += strlen(function_keys[i].func) + skip; } - wattrset(main_window, attributes[NORMAL]); + (void) wattrset(main_window, attributes[NORMAL]); } /* help */ @@ -953,16 +953,16 @@ static void show_menu(const char *prompt, const char *instructions, current_instructions = instructions; clear(); - wattrset(main_window, attributes[NORMAL]); + (void) wattrset(main_window, attributes[NORMAL]); print_in_middle(stdscr, 1, 0, COLS, menu_backtitle, attributes[MAIN_HEADING]); - wattrset(main_window, attributes[MAIN_MENU_BOX]); + (void) wattrset(main_window, attributes[MAIN_MENU_BOX]); box(main_window, 0, 0); - wattrset(main_window, attributes[MAIN_MENU_HEADING]); + (void) wattrset(main_window, attributes[MAIN_MENU_HEADING]); mvwprintw(main_window, 0, 3, " %s ", prompt); - wattrset(main_window, attributes[NORMAL]); + (void) wattrset(main_window, attributes[NORMAL]); set_menu_items(curses_menu, curses_menu_items); diff --git a/support/kconfig/patches/03-change-config-option-prefix.patch b/support/kconfig/patches/03-change-config-option-prefix.patch index d387236..4c51eaa 100644 --- a/support/kconfig/patches/03-change-config-option-prefix.patch +++ b/support/kconfig/patches/03-change-config-option-prefix.patch @@ -4,10 +4,10 @@ menu.c | 2 +- 3 files changed, 31 insertions(+), 30 deletions(-) -Index: config/confdata.c +Index: kconfig/confdata.c =================================================================== ---- config.orig/confdata.c -+++ config/confdata.c +--- kconfig.orig/confdata.c ++++ kconfig/confdata.c @@ -12,6 +12,7 @@ #include #include @@ -125,7 +125,7 @@ Index: config/confdata.c break; case S_OTHER: case S_UNKNOWN: -@@ -844,17 +845,17 @@ +@@ -830,17 +831,17 @@ case no: break; case mod: @@ -151,7 +151,7 @@ Index: config/confdata.c break; } break; -@@ -864,14 +865,14 @@ +@@ -850,14 +851,14 @@ case S_HEX: str = sym_get_string_value(sym); if (str[0] != '0' || (str[1] != 'x' && str[1] != 'X')) { @@ -170,10 +170,10 @@ Index: config/confdata.c break; default: break; -Index: config/lkc.h +Index: kconfig/lkc.h =================================================================== ---- config.orig/lkc.h -+++ config/lkc.h +--- kconfig.orig/lkc.h ++++ kconfig/lkc.h @@ -42,7 +42,7 @@ #define N_(text) (text) @@ -183,10 +183,10 @@ Index: config/lkc.h #endif #define TF_COMMAND 0x0001 -Index: config/menu.c +Index: kconfig/menu.c =================================================================== ---- config.orig/menu.c -+++ config/menu.c +--- kconfig.orig/menu.c ++++ kconfig/menu.c @@ -597,7 +597,7 @@ if (menu_has_help(menu)) { diff --git a/support/kconfig/patches/05-really-clean-everything.patch b/support/kconfig/patches/05-really-clean-everything.patch deleted file mode 100644 index a151754..0000000 --- a/support/kconfig/patches/05-really-clean-everything.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- - Makefile | 14 ++++++++++---- - 1 file changed, 10 insertions(+), 4 deletions(-) - -Index: config/Makefile -=================================================================== ---- config.orig/Makefile -+++ config/Makefile -@@ -196,10 +196,16 @@ - gconf-objs := gconf.o kconfig_load.o zconf.tab.o - endif - --clean-files := lkc_defs.h qconf.moc .tmp_qtcheck \ -- .tmp_gtkcheck zconf.tab.c lex.zconf.c zconf.hash.c gconf.glade.h --clean-files += mconf qconf gconf nconf --clean-files += config.pot linux.pot -+clean-files := lkc_defs.h qconf.moc .tmp_qtcheck \ -+ .tmp_gtkcheck zconf.tab.c lex.zconf.c zconf.hash.c gconf.glade.h -+clean-files += config.pot linux.pot -+clean-files += conf $(conf-objs) -+clean-files += mconf $(mconf-objs) -+clean-files += nconf $(nconf-objs) -+clean-files += qconf qconf.o -+clean-files += gconf gconf.o -+clean-files += kconfig_load.o zconf.tab.o -+clean-files += $(kxgettext-objs) - - # Check that we have the required ncurses stuff installed for lxdialog (menuconfig) - PHONY += $(obj)/dochecklxdialog diff --git a/support/kconfig/patches/06-br-build-system-integration.patch b/support/kconfig/patches/06-br-build-system-integration.patch index 8a27e25..feb166d 100644 --- a/support/kconfig/patches/06-br-build-system-integration.patch +++ b/support/kconfig/patches/06-br-build-system-integration.patch @@ -1,40 +1,35 @@ --- - Makefile | 14 +++++++++++++- - 1 file changed, 13 insertions(+), 1 deletion(-) + Makefile | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) -Index: config/Makefile +Index: kconfig/Makefile =================================================================== ---- config.orig/Makefile -+++ config/Makefile -@@ -174,18 +174,30 @@ - ifeq ($(MAKECMDGOALS),nconfig) +--- kconfig.orig/Makefile ++++ kconfig/Makefile +@@ -175,11 +175,11 @@ + + hostprogs-y := conf + +-ifeq ($(MAKECMDGOALS),nconfig) ++ifeq ($(MAKECMDGOALS),nconf) hostprogs-y += nconf endif -+ifeq ($(findstring nconf,$(MAKECMDGOALS)),nconf) -+ hostprogs-y += nconf -+endif - ifeq ($(MAKECMDGOALS),menuconfig) +-ifeq ($(MAKECMDGOALS),menuconfig) ++ifeq ($(MAKECMDGOALS),mconf) hostprogs-y += mconf endif -+ifeq ($(findstring mconf,$(MAKECMDGOALS)),mconf) -+ hostprogs-y += mconf -+endif - ifeq ($(MAKECMDGOALS),xconfig) +@@ -187,10 +187,10 @@ + hostprogs-y += kxgettext + endif + +-ifeq ($(MAKECMDGOALS),xconfig) ++ifeq ($(MAKECMDGOALS),qconf) qconf-target := 1 endif -+ifeq ($(findstring qconf,$(MAKECMDGOALS)),qconf) -+ qconf-target := 1 -+endif -+ - ifeq ($(MAKECMDGOALS),gconfig) +-ifeq ($(MAKECMDGOALS),gconfig) ++ifeq ($(MAKECMDGOALS),gconf) gconf-target := 1 endif -- -+ifeq ($(findstring gconf,$(MAKECMDGOALS)),gconf) -+ gconf-target := 1 -+endif - ifeq ($(qconf-target),1) - qconf-cxxobjs := qconf.o diff --git a/support/kconfig/patches/08-make-write-deps.patch b/support/kconfig/patches/08-make-write-deps.patch deleted file mode 100644 index e5a21c3..0000000 --- a/support/kconfig/patches/08-make-write-deps.patch +++ /dev/null @@ -1,139 +0,0 @@ ---- - util.c | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 116 insertions(+), 1 deletion(-) - -Index: kconfig/util.c -=================================================================== ---- kconfig.orig/util.c -+++ kconfig/util.c -@@ -29,6 +29,121 @@ - return file; - } - -+static char* br2_symbol_printer(const char * const in) -+{ -+ ssize_t i, j, len = strlen(in); -+ char *ret; -+ if (len < 1) -+ return NULL; -+ ret = malloc(len+1); -+ if (!ret) { -+ printf("Out of memory!"); -+ exit(1); -+ } -+ memset(ret, 0, len+1); -+ i = j = 0; -+ if (strncmp("BR2_", in, 4) == 0) -+ i += 4; -+ if (strncmp("PACKAGE_", in + i, 8) == 0) -+ i += 8; -+ else if (strncmp("TARGET_", in + i, 7) == 0) -+ i += 7; -+ while (i <= len) -+ ret[j++] = tolower(in[i++]); -+ return ret; -+} -+ -+/* write dependencies of the individual config-symbols */ -+static int write_make_deps(const char *name) -+{ -+ char *str; -+ char dir[PATH_MAX+1], buf[PATH_MAX+1], buf2[PATH_MAX+1]; -+ struct menu *menu; -+ struct symbol *sym; -+ struct property *prop, *p; -+ unsigned done; -+ const char * const name_tmp = "..make.deps.tmp"; -+ FILE *out; -+ if (!name) -+ name = ".auto.deps"; -+ -+ strcpy(dir, conf_get_configname()); -+ str = strrchr(dir, '/'); -+ if (str) -+ str[1] = 0; -+ else -+ dir[0] = 0; -+ -+ sprintf(buf, "%s%s", dir, name_tmp); -+ out = fopen(buf, "w"); -+ if (!out) -+ return 1; -+ fprintf(out, "# ATTENTION! This does not handle 'depends', just 'select'! \n" -+ "# See support/kconfig/util.c write_make_deps()\n#\n"); -+ menu = &rootmenu;//rootmenu.list; -+ while (menu) { -+ sym = menu->sym; -+ if (!sym) { -+ if (!menu_is_visible(menu)) -+ goto next; -+ } else if (!(sym->flags & SYMBOL_CHOICE)) { -+ sym_calc_value(sym); -+ if (sym->type == S_BOOLEAN -+ && sym_get_tristate_value(sym) != no) { -+ done = 0; -+ for_all_prompts(sym, prop) { -+ struct expr *e; -+//printf("\nname=%s\n", sym->name); -+ for_all_properties(sym, p, P_SELECT) { -+ e = p->expr; -+ if (e && e->left.sym->name) { -+ if (!done) { -+ fprintf(out, "%s: $(BASE_TARGETS)", br2_symbol_printer(sym->name)); -+ done = 1; -+ } -+//printf("SELECTS %s\n",e->left.sym->name); -+ fprintf(out, " %s",br2_symbol_printer(e->left.sym->name)); -+ } -+ } -+ if (done) -+ fprintf(out, "\n"); -+#if 0 -+ e = sym->rev_dep.expr; -+ if (e && e->type == E_SYMBOL -+ && e->left.sym->name) { -+ fprintf(out, "%s: %s", br2_symbol_printer(e->left.sym->name), -+ br2_symbol_printer(sym->name)); -+printf("%s is Selected BY: %s", sym->name, e->left.sym->name); -+ } -+#endif -+ } -+ } -+ } -+next: -+ if (menu->list) { -+ menu = menu->list; -+ continue; -+ } -+ if (menu->next) -+ menu = menu->next; -+ else while ((menu = menu->parent)) { -+ if (menu->next) { -+ menu = menu->next; -+ break; -+ } -+ } -+ } -+ fclose(out); -+ sprintf(buf2, "%s%s", dir, name); -+ rename(buf, buf2); -+ printf(_("#\n" -+ "# make dependencies written to %s\n" -+ "# ATTENTION buildroot devels!\n" -+ "# See top of this file before playing with this auto-preprequisites!\n" -+ "#\n"), name); -+ return 0; -+} -+ - /* write a dependency file as used by kbuild to track dependencies */ - int file_write_dep(const char *name) - { -@@ -71,7 +186,7 @@ - fprintf(out, "\n$(deps_config): ;\n"); - fclose(out); - rename("..config.tmp", name); -- return 0; -+ return write_make_deps(NULL); - } - - diff --git a/support/kconfig/patches/09-implement-kconfig-probability.patch b/support/kconfig/patches/09-implement-kconfig-probability.patch index 3f09673..3b6eb89 100644 --- a/support/kconfig/patches/09-implement-kconfig-probability.patch +++ b/support/kconfig/patches/09-implement-kconfig-probability.patch @@ -2,11 +2,11 @@ confdata.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) -Index: config/confdata.c +Index: kconfig/confdata.c =================================================================== ---- config.orig/confdata.c -+++ config/confdata.c -@@ -996,7 +996,16 @@ +--- kconfig.orig/confdata.c ++++ kconfig/confdata.c +@@ -982,7 +982,16 @@ void conf_set_all_new_symbols(enum conf_def_mode mode) { struct symbol *sym, *csym; @@ -24,7 +24,7 @@ Index: config/confdata.c for_all_symbols(i, sym) { if (sym_has_value(sym)) -@@ -1015,8 +1024,15 @@ +@@ -1001,8 +1010,15 @@ sym->def[S_DEF_USER].tri = no; break; case def_random: diff --git a/support/kconfig/patches/12-fix-glade-file-path.patch b/support/kconfig/patches/12-fix-glade-file-path.patch index 681dce1..badfc91 100644 --- a/support/kconfig/patches/12-fix-glade-file-path.patch +++ b/support/kconfig/patches/12-fix-glade-file-path.patch @@ -6,7 +6,7 @@ Index: kconfig/gconf.c =================================================================== --- kconfig.orig/gconf.c +++ kconfig/gconf.c -@@ -1521,7 +1521,7 @@ +@@ -1525,7 +1525,7 @@ /* Determine GUI path */ env = getenv(SRCTREE); if (env) diff --git a/support/kconfig/patches/14-support-out-of-tree-config.patch b/support/kconfig/patches/14-support-out-of-tree-config.patch index 9fa6384..8d76df2 100644 --- a/support/kconfig/patches/14-support-out-of-tree-config.patch +++ b/support/kconfig/patches/14-support-out-of-tree-config.patch @@ -4,10 +4,10 @@ util.c | 16 +++++++++++++-- 3 files changed, 61 insertions(+), 18 deletions(-) -Index: config/conf.c +Index: kconfig/conf.c =================================================================== ---- config.orig/conf.c -+++ config/conf.c +--- kconfig.orig/conf.c ++++ kconfig/conf.c @@ -503,7 +503,6 @@ } name = av[optind]; @@ -16,10 +16,10 @@ Index: config/conf.c if (sync_kconfig) { name = conf_get_configname(); if (stat(name, &tmpstat)) { -Index: config/confdata.c +Index: kconfig/confdata.c =================================================================== ---- config.orig/confdata.c -+++ config/confdata.c +--- kconfig.orig/confdata.c ++++ kconfig/confdata.c @@ -71,9 +71,7 @@ const char *conf_get_autoconfig_name(void) @@ -31,8 +31,8 @@ Index: config/confdata.c } static char *conf_expand_value(const char *in) -@@ -565,6 +563,9 @@ - int use_timestamp = 1; +@@ -563,6 +561,9 @@ + char dirname[PATH_MAX+1], tmpname[PATH_MAX+1], newname[PATH_MAX+1]; char *env; + if (!name) @@ -41,7 +41,7 @@ Index: config/confdata.c dirname[0] = 0; if (name && name[0]) { struct stat st; -@@ -671,6 +672,7 @@ +@@ -661,6 +662,7 @@ { const char *name; char path[PATH_MAX+1]; @@ -49,7 +49,7 @@ Index: config/confdata.c char *s, *d, c; struct symbol *sym; struct stat sb; -@@ -679,8 +681,20 @@ +@@ -669,8 +671,20 @@ name = conf_get_autoconfig_name(); conf_read_simple(name, S_DEF_AUTO); @@ -72,7 +72,7 @@ Index: config/confdata.c res = 0; for_all_symbols(i, sym) { -@@ -773,9 +787,11 @@ +@@ -763,9 +777,11 @@ close(fd); } out: @@ -87,9 +87,9 @@ Index: config/confdata.c return res; } -@@ -787,25 +803,38 @@ +@@ -776,25 +792,38 @@ + const char *name; FILE *out, *tristate, *out_h; - time_t now; int i; + char dir[PATH_MAX+1], buf[PATH_MAX+1]; + char *s; @@ -130,7 +130,7 @@ Index: config/confdata.c if (!out_h) { fclose(out); fclose(tristate); -@@ -885,19 +914,22 @@ +@@ -871,19 +900,22 @@ name = getenv("KCONFIG_AUTOHEADER"); if (!name) name = "include/generated/autoconf.h"; @@ -156,11 +156,11 @@ Index: config/confdata.c return 1; return 0; -Index: config/util.c +Index: kconfig/util.c =================================================================== ---- config.orig/util.c -+++ config/util.c -@@ -147,6 +147,8 @@ +--- kconfig.orig/util.c ++++ kconfig/util.c +@@ -32,6 +32,8 @@ /* write a dependency file as used by kbuild to track dependencies */ int file_write_dep(const char *name) { @@ -169,7 +169,7 @@ Index: config/util.c struct symbol *sym, *env_sym; struct expr *e; struct file *file; -@@ -154,7 +156,16 @@ +@@ -39,7 +41,16 @@ if (!name) name = ".kconfig.d"; @@ -187,13 +187,13 @@ Index: config/util.c if (!out) return 1; fprintf(out, "deps_config := \\\n"); -@@ -185,7 +196,8 @@ +@@ -70,7 +81,8 @@ fprintf(out, "\n$(deps_config): ;\n"); fclose(out); - rename("..config.tmp", name); + sprintf(buf2, "%s%s", dir, name); + rename(buf, buf2); - return write_make_deps(NULL); + return 0; } diff --git a/support/kconfig/patches/series b/support/kconfig/patches/series index defdf58..573911b 100644 --- a/support/kconfig/patches/series +++ b/support/kconfig/patches/series @@ -1,9 +1,7 @@ 01-kconfig-kernel-to-buildroot.patch 02-cpp-comments-to-c-comments.patch 03-change-config-option-prefix.patch -05-really-clean-everything.patch 06-br-build-system-integration.patch -08-make-write-deps.patch 09-implement-kconfig-probability.patch 10-br-build-system.patch 11-use-mktemp-for-lxdialog.patch diff --git a/support/kconfig/qconf.cc b/support/kconfig/qconf.cc index 06dd2e3..c2796b8 100644 --- a/support/kconfig/qconf.cc +++ b/support/kconfig/qconf.cc @@ -1489,8 +1489,7 @@ void ConfigMainWindow::saveConfigAs(void) QString s = Q3FileDialog::getSaveFileName(conf_get_configname(), NULL, this); if (s.isNull()) return; - if (conf_write(QFile::encodeName(s))) - QMessageBox::information(this, "qconf", _("Unable to save configuration!")); + saveConfig(); } void ConfigMainWindow::searchConfig(void) @@ -1643,7 +1642,7 @@ void ConfigMainWindow::closeEvent(QCloseEvent* e) mb.setButtonText(QMessageBox::Cancel, _("Cancel Exit")); switch (mb.exec()) { case QMessageBox::Yes: - conf_write(NULL); + saveConfig(); case QMessageBox::No: e->accept(); break; diff --git a/support/kconfig/streamline_config.pl b/support/kconfig/streamline_config.pl index fd81fc3..a4fe923 100644 --- a/support/kconfig/streamline_config.pl +++ b/support/kconfig/streamline_config.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl -w # -# Copywrite 2005-2009 - Steven Rostedt +# Copyright 2005-2009 - Steven Rostedt # Licensed under the terms of the GNU GPL License version 2 # # It's simple enough to figure out how this works. diff --git a/support/kconfig/util.c b/support/kconfig/util.c index 8a5efaa..6edd8a3 100644 --- a/support/kconfig/util.c +++ b/support/kconfig/util.c @@ -29,121 +29,6 @@ struct file *file_lookup(const char *name) return file; } -static char* br2_symbol_printer(const char * const in) -{ - ssize_t i, j, len = strlen(in); - char *ret; - if (len < 1) - return NULL; - ret = malloc(len+1); - if (!ret) { - printf("Out of memory!"); - exit(1); - } - memset(ret, 0, len+1); - i = j = 0; - if (strncmp("BR2_", in, 4) == 0) - i += 4; - if (strncmp("PACKAGE_", in + i, 8) == 0) - i += 8; - else if (strncmp("TARGET_", in + i, 7) == 0) - i += 7; - while (i <= len) - ret[j++] = tolower(in[i++]); - return ret; -} - -/* write dependencies of the individual config-symbols */ -static int write_make_deps(const char *name) -{ - char *str; - char dir[PATH_MAX+1], buf[PATH_MAX+1], buf2[PATH_MAX+1]; - struct menu *menu; - struct symbol *sym; - struct property *prop, *p; - unsigned done; - const char * const name_tmp = "..make.deps.tmp"; - FILE *out; - if (!name) - name = ".auto.deps"; - - strcpy(dir, conf_get_configname()); - str = strrchr(dir, '/'); - if (str) - str[1] = 0; - else - dir[0] = 0; - - sprintf(buf, "%s%s", dir, name_tmp); - out = fopen(buf, "w"); - if (!out) - return 1; - fprintf(out, "# ATTENTION! This does not handle 'depends', just 'select'! \n" - "# See support/kconfig/util.c write_make_deps()\n#\n"); - menu = &rootmenu;//rootmenu.list; - while (menu) { - sym = menu->sym; - if (!sym) { - if (!menu_is_visible(menu)) - goto next; - } else if (!(sym->flags & SYMBOL_CHOICE)) { - sym_calc_value(sym); - if (sym->type == S_BOOLEAN - && sym_get_tristate_value(sym) != no) { - done = 0; - for_all_prompts(sym, prop) { - struct expr *e; -//printf("\nname=%s\n", sym->name); - for_all_properties(sym, p, P_SELECT) { - e = p->expr; - if (e && e->left.sym->name) { - if (!done) { - fprintf(out, "%s: $(BASE_TARGETS)", br2_symbol_printer(sym->name)); - done = 1; - } -//printf("SELECTS %s\n",e->left.sym->name); - fprintf(out, " %s",br2_symbol_printer(e->left.sym->name)); - } - } - if (done) - fprintf(out, "\n"); -#if 0 - e = sym->rev_dep.expr; - if (e && e->type == E_SYMBOL - && e->left.sym->name) { - fprintf(out, "%s: %s", br2_symbol_printer(e->left.sym->name), - br2_symbol_printer(sym->name)); -printf("%s is Selected BY: %s", sym->name, e->left.sym->name); - } -#endif - } - } - } -next: - if (menu->list) { - menu = menu->list; - continue; - } - if (menu->next) - menu = menu->next; - else while ((menu = menu->parent)) { - if (menu->next) { - menu = menu->next; - break; - } - } - } - fclose(out); - sprintf(buf2, "%s%s", dir, name); - rename(buf, buf2); - printf(_("#\n" - "# make dependencies written to %s\n" - "# ATTENTION buildroot devels!\n" - "# See top of this file before playing with this auto-preprequisites!\n" - "#\n"), name); - return 0; -} - /* write a dependency file as used by kbuild to track dependencies */ int file_write_dep(const char *name) { @@ -198,7 +83,7 @@ int file_write_dep(const char *name) fclose(out); sprintf(buf2, "%s%s", dir, name); rename(buf, buf2); - return write_make_deps(NULL); + return 0; } diff --git a/support/kconfig/zconf.l b/support/kconfig/zconf.l index 3dbaec1..b22f884 100644 --- a/support/kconfig/zconf.l +++ b/support/kconfig/zconf.l @@ -294,11 +294,11 @@ void zconf_initscan(const char *name) current_file = file_lookup(name); current_file->lineno = 1; - current_file->flags = FILE_BUSY; } void zconf_nextfile(const char *name) { + struct file *iter; struct file *file = file_lookup(name); struct buffer *buf = malloc(sizeof(*buf)); memset(buf, 0, sizeof(*buf)); @@ -314,18 +314,25 @@ void zconf_nextfile(const char *name) buf->parent = current_buf; current_buf = buf; - if (file->flags & FILE_BUSY) { - printf("%s:%d: do not source '%s' from itself\n", - zconf_curname(), zconf_lineno(), name); - exit(1); - } - if (file->flags & FILE_SCANNED) { - printf("%s:%d: file '%s' is already sourced from '%s'\n", - zconf_curname(), zconf_lineno(), name, - file->parent->name); - exit(1); + for (iter = current_file->parent; iter; iter = iter->parent ) { + if (!strcmp(current_file->name,iter->name) ) { + printf("%s:%d: recursive inclusion detected. " + "Inclusion path:\n current file : '%s'\n", + zconf_curname(), zconf_lineno(), + zconf_curname()); + iter = current_file->parent; + while (iter && \ + strcmp(iter->name,current_file->name)) { + printf(" included from: '%s:%d'\n", + iter->name, iter->lineno-1); + iter = iter->parent; + } + if (iter) + printf(" included from: '%s:%d'\n", + iter->name, iter->lineno+1); + exit(1); + } } - file->flags |= FILE_BUSY; file->lineno = 1; file->parent = current_file; current_file = file; @@ -335,8 +342,6 @@ static void zconf_endfile(void) { struct buffer *parent; - current_file->flags |= FILE_SCANNED; - current_file->flags &= ~FILE_BUSY; current_file = current_file->parent; parent = current_buf->parent; diff --git a/support/scripts/pkg-stats b/support/scripts/pkg-stats index 64aae5f..06d9d0d 100755 --- a/support/scripts/pkg-stats +++ b/support/scripts/pkg-stats @@ -51,7 +51,7 @@ tr.correct td { Id Package -Patch count +Patch count AUTOTARGETS GENTARGETS CMAKETARGETS @@ -78,7 +78,7 @@ cnt=0 for i in $(find package/ -name '*.mk') ; do if test \ - $i = "package/java/java.mk" -o \ + $i = "package/efl/efl.mk" -o \ $i = "package/games/games.mk" -o \ $i = "package/gtk2-themes/gtk2-themes.mk" -o \ $i = "package/multimedia/multimedia.mk" -o \ diff --git a/support/scripts/setlocalversion b/support/scripts/setlocalversion index 8d6fe90..a6edd71 100755 --- a/support/scripts/setlocalversion +++ b/support/scripts/setlocalversion @@ -56,9 +56,9 @@ if hgid=`hg id 2>/dev/null`; then fi # Check for svn and a svn repo. -if rev=`LANG=C svn info 2>/dev/null | grep '^Last Changed Rev'`; then +if rev=`LC_ALL=C svn info 2>/dev/null | grep '^Last Changed Rev'`; then rev=`echo $rev | awk '{print $NF}'` - changes=`LANG=C svn status 2>/dev/null | grep '^[AMD]' | wc -l` + changes=`LC_ALL=C svn status 2>/dev/null | grep '^[AMD]' | wc -l` # Are there uncommitted changes? if [ $changes != 0 ]; then diff --git a/target/Config.in.arch b/target/Config.in.arch index 5e9fad4..417441d 100644 --- a/target/Config.in.arch +++ b/target/Config.in.arch @@ -447,7 +447,9 @@ config BR2_powerpc_860 config BR2_powerpc_970 bool "970" config BR2_powerpc_8540 - bool "8540" + bool "8540 / e500v1" +config BR2_powerpc_8548 + bool "8548 / e500v2" comment "e300c2 needs gcc >= 4.4.x" config BR2_powerpc_e300c2 bool "e300c2" @@ -459,6 +461,22 @@ config BR2_powerpc_e500mc bool "e500mc" endchoice +choice + prompt "Target ABI" + depends on BR2_powerpc + default BR2_powerpc_CLASSIC if BR2_powerpc_e500mc + default BR2_powerpc_SPE if BR2_powerpc_8540 || BR2_powerpc_8548 + help + Application Binary Interface to use + +config BR2_powerpc_CLASSIC + bool "Classic" + depends on !(BR2_powerpc_8540 || BR2_powerpc_8548) +config BR2_powerpc_SPE + bool "SPE" + depends on BR2_powerpc_8540 || BR2_powerpc_8548 || BR2_powerpc_e500mc +endchoice + config BR2_ARCH string default "arm" if BR2_arm @@ -614,6 +632,7 @@ config BR2_GCC_TARGET_TUNE default 860 if BR2_powerpc_860 default 970 if BR2_powerpc_970 default 8540 if BR2_powerpc_8540 + default 8548 if BR2_powerpc_8548 default e300c2 if BR2_powerpc_e300c2 default e300c3 if BR2_powerpc_e300c3 default e500mc if BR2_powerpc_e500mc diff --git a/target/generic/Config.in b/target/generic/Config.in index a91de32..88f0718 100644 --- a/target/generic/Config.in +++ b/target/generic/Config.in @@ -28,8 +28,13 @@ config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV bool "Dynamic using udev" + depends on BR2_LARGEFILE # udev + depends on BR2_USE_WCHAR # udev select BR2_PACKAGE_UDEV +comment "udev requires a toolchain with LARGEFILE + WCHAR support" + depends on !(BR2_LARGEFILE && BR2_USE_WCHAR) + endchoice config BR2_ROOTFS_DEVICE_TABLE diff --git a/target/generic/device_table.txt b/target/generic/device_table.txt index 12f35b2..d3e394b 100644 --- a/target/generic/device_table.txt +++ b/target/generic/device_table.txt @@ -10,13 +10,11 @@ /tmp d 1777 0 0 - - - - - /etc d 755 0 0 - - - - - /home/default d 2755 1000 1000 - - - - - -/bin/busybox f 4755 0 0 - - - - - /etc/shadow f 600 0 0 - - - - - /etc/passwd f 644 0 0 - - - - - /etc/network/if-up.d d 755 0 0 - - - - - /etc/network/if-pre-up.d d 755 0 0 - - - - - /etc/network/if-down.d d 755 0 0 - - - - - /etc/network/if-post-down.d d 755 0 0 - - - - - -/usr/share/udhcpc/default.script f 755 0 0 - - - - - # uncomment this to allow starting x as non-root #/usr/X11R6/bin/Xfbdev f 4755 0 0 - - - - - diff --git a/target/generic/device_table_dev.txt b/target/generic/device_table_dev.txt index 71cd083..a3d53d4 100644 --- a/target/generic/device_table_dev.txt +++ b/target/generic/device_table_dev.txt @@ -141,8 +141,3 @@ # I2C device nodes /dev/i2c- c 666 0 0 89 0 0 1 4 - -# Xenomai -#/dev/rtheap c 666 0 0 10 254 0 0 - -#/dev/rtscope c 666 0 0 10 253 0 0 - -#/dev/rtp c 666 0 0 150 0 0 1 32 diff --git a/toolchain/gcc/4.2.4/100-uclibc-conf.patch b/toolchain/gcc/4.2.4/100-uclibc-conf.patch deleted file mode 100644 index 4243ff7..0000000 --- a/toolchain/gcc/4.2.4/100-uclibc-conf.patch +++ /dev/null @@ -1,200 +0,0 @@ ---- gcc/libgomp/configure -+++ gcc/libgomp/configure -@@ -3771,7 +3771,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux*) - lt_cv_deplibs_check_method=pass_all - ;; - ---- gcc/gcc/config/cris/linux.h -+++ gcc/gcc/config/cris/linux.h -@@ -74,7 +74,11 @@ - #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG - - #undef CRIS_SUBTARGET_VERSION --#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu" -+#if UCLIBC_DEFAULT -+# define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc" -+#else -+# define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu" -+#endif - - #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" - ---- gcc/libstdc++-v3/configure -+++ gcc/libstdc++-v3/configure -@@ -4276,7 +4276,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux*) - lt_cv_deplibs_check_method=pass_all - ;; - ---- gcc/zlib/configure -+++ gcc/zlib/configure -@@ -3422,7 +3422,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux*) - lt_cv_deplibs_check_method=pass_all - ;; - ---- gcc/libobjc/configure -+++ gcc/libobjc/configure -@@ -3309,7 +3309,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux*) - lt_cv_deplibs_check_method=pass_all - ;; - ---- gcc/libgfortran/configure -+++ gcc/libgfortran/configure -@@ -3695,7 +3695,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux*) - lt_cv_deplibs_check_method=pass_all - ;; - ---- gcc/libmudflap/configure -+++ gcc/libmudflap/configure -@@ -5378,7 +5378,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux*) - lt_cv_deplibs_check_method=pass_all - ;; - ---- gcc/boehm-gc/configure -+++ gcc/boehm-gc/configure -@@ -4316,7 +4316,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux*) - lt_cv_deplibs_check_method=pass_all - ;; - ---- gcc/libffi/configure -+++ gcc/libffi/configure -@@ -3453,7 +3453,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux*) - lt_cv_deplibs_check_method=pass_all - ;; - ---- gcc/libssp/configure -+++ gcc/libssp/configure -@@ -4409,7 +4409,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux*) - lt_cv_deplibs_check_method=pass_all - ;; - ---- gcc/contrib/regression/objs-gcc.sh -+++ gcc/contrib/regression/objs-gcc.sh -@@ -105,6 +105,10 @@ - then - make all-gdb all-dejagnu all-ld || exit 1 - make install-gdb install-dejagnu install-ld || exit 1 -+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] -+ then -+ make all-gdb all-dejagnu all-ld || exit 1 -+ make install-gdb install-dejagnu install-ld || exit 1 - elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then - make bootstrap || exit 1 - make install || exit 1 ---- gcc/libjava/classpath/ltconfig -+++ gcc/libjava/classpath/ltconfig -@@ -603,7 +603,7 @@ - - # Transform linux* to *-*-linux-gnu*, to support old configure scripts. - case $host_os in --linux-gnu*) ;; -+linux-gnu*|linux-uclibc*) ;; - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` - esac - -@@ -1251,7 +1251,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux*) - version_type=linux - need_lib_prefix=no - need_version=no ---- gcc/libjava/classpath/configure -+++ gcc/libjava/classpath/configure -@@ -4665,7 +4665,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux*) - lt_cv_deplibs_check_method=pass_all - ;; - ---- gcc/libjava/configure -+++ gcc/libjava/configure -@@ -5212,7 +5212,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux*) - lt_cv_deplibs_check_method=pass_all - ;; - ---- gcc/libtool.m4 -+++ gcc/libtool.m4 -@@ -739,7 +739,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux*) - lt_cv_deplibs_check_method=pass_all - ;; - ---- gcc/ltconfig -+++ gcc/ltconfig -@@ -603,7 +603,7 @@ - - # Transform linux* to *-*-linux-gnu*, to support old configure scripts. - case $host_os in --linux-gnu*) ;; -+linux-gnu*|linux-uclibc*) ;; - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` - esac - -@@ -1251,7 +1251,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux*) - version_type=linux - need_lib_prefix=no - need_version=no diff --git a/toolchain/gcc/4.2.4/1000-aapcs-linux.patch b/toolchain/gcc/4.2.4/1000-aapcs-linux.patch deleted file mode 100644 index 80c5afc..0000000 --- a/toolchain/gcc/4.2.4/1000-aapcs-linux.patch +++ /dev/null @@ -1,17 +0,0 @@ -2008-10-07 Bernhard Reutner-Fischer - - * config.gcc (arm*-*-*): Add aapcs-linux to supported ABIs. - -Index: gcc/gcc/config.gcc -=================================================================== ---- gcc/gcc/config.gcc (revision 140935) -+++ gcc/gcc/config.gcc (revision 140936) -@@ -2656,7 +2656,7 @@ - - case "$with_abi" in - "" \ -- | apcs-gnu | atpcs | aapcs | iwmmxt ) -+ | apcs-gnu | atpcs | aapcs | iwmmxt | aapcs-linux ) - #OK - ;; - *) diff --git a/toolchain/gcc/4.2.4/1001-gcc-4.2.x-inhibit-libc.patch b/toolchain/gcc/4.2.4/1001-gcc-4.2.x-inhibit-libc.patch deleted file mode 100644 index b039dfc..0000000 --- a/toolchain/gcc/4.2.4/1001-gcc-4.2.x-inhibit-libc.patch +++ /dev/null @@ -1,66 +0,0 @@ ---- gcc-4.2.4/gcc/unwind-sjlj.c.khem 2010-08-11 12:45:28.000000000 -0700 -+++ gcc-4.2.4/gcc/unwind-sjlj.c 2010-08-11 12:45:50.000000000 -0700 -@@ -28,6 +28,8 @@ - Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. */ - -+#ifndef inhibit_libc -+ - #include "tconfig.h" - #include "tsystem.h" - #include "coretypes.h" -@@ -326,3 +328,4 @@ uw_identify_context (struct _Unwind_Cont - #include "unwind.inc" - - #endif /* USING_SJLJ_EXCEPTIONS */ -+#endif ---- gcc-4.2.4/gcc/unwind-dw2.c.khem 2010-08-11 12:42:45.000000000 -0700 -+++ gcc-4.2.4/gcc/unwind-dw2.c 2010-08-11 12:43:17.000000000 -0700 -@@ -28,6 +28,8 @@ - Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. */ - -+#ifndef inhibit_libc -+ - #include "tconfig.h" - #include "tsystem.h" - #include "coretypes.h" -@@ -1537,3 +1539,5 @@ alias (_Unwind_SetIP); - #endif - - #endif /* !USING_SJLJ_EXCEPTIONS */ -+#endif -+ ---- gcc-4.2.4/gcc/unwind-dw2-fde-glibc.c.khem 2010-08-11 12:44:25.000000000 -0700 -+++ gcc-4.2.4/gcc/unwind-dw2-fde-glibc.c 2010-08-11 12:44:48.000000000 -0700 -@@ -29,6 +29,8 @@ - segment and dl_iterate_phdr to avoid register/deregister calls at - DSO load/unload. */ - -+#ifndef inhibit_libc -+ - #ifndef _GNU_SOURCE - #define _GNU_SOURCE 1 - #endif -@@ -438,3 +440,4 @@ _Unwind_Find_FDE (void *pc, struct dwarf - #if defined (USE_GAS_SYMVER) && defined (SHARED) && defined (USE_LIBUNWIND_EXCEPTIONS) - alias (_Unwind_Find_FDE); - #endif -+#endif ---- gcc-4.2.4/gcc/unwind-dw2-fde.c 2005-06-25 03:02:01.000000000 +0100 -+++ gcc-4.2.4/gcc/unwind-dw2-fde.c 2010-08-12 10:43:24.221690613 +0100 -@@ -29,6 +29,8 @@ - Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. */ - -+#ifndef inhibit_libc -+ - #ifndef _Unwind_Find_FDE - #include "tconfig.h" - #include "tsystem.h" -@@ -1028,3 +1030,5 @@ - - return f; - } -+ -+#endif diff --git a/toolchain/gcc/4.2.4/103-uclibc-conf-noupstream.patch b/toolchain/gcc/4.2.4/103-uclibc-conf-noupstream.patch deleted file mode 100644 index 09c9bbe..0000000 --- a/toolchain/gcc/4.2.4/103-uclibc-conf-noupstream.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- gcc/gcc/config.gcc.uclibc100-sh~ 2006-03-06 20:46:56 +0100 -+++ gcc/gcc/config.gcc 2006-03-10 15:02:41 +0100 -@@ -1905,7 +1905,7 @@ - ;; - sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \ - sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \ -- sh-*-linux* | sh[346lbe]*-*-linux* | \ -+ sh*-*-linux* | sh[346lbe]*-*-linux* | \ - sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \ - sh64-*-netbsd* | sh64l*-*-netbsd*) - tmake_file="${tmake_file} sh/t-sh sh/t-elf" diff --git a/toolchain/gcc/4.2.4/104-gnuhurd-uclibc-conf.patch b/toolchain/gcc/4.2.4/104-gnuhurd-uclibc-conf.patch deleted file mode 100644 index c04dd9f..0000000 --- a/toolchain/gcc/4.2.4/104-gnuhurd-uclibc-conf.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -rdup gcc-4.2.1.oorig/gcc/config.gcc gcc-4.2.1/gcc/config.gcc ---- gcc-4.2.1.oorig/gcc/config.gcc 2007-10-01 11:52:52.000000000 +0200 -+++ gcc-4.2.1/gcc/config.gcc 2007-10-01 13:22:12.000000000 +0200 -@@ -494,6 +494,9 @@ case ${target} in - alpha*) - tm_file="${cpu_type}/${cpu_type}.h alpha/elf.h alpha/linux.h alpha/linux-elf.h gnu.h ${tm_file}" - ;; -+ i[34567]86-*hurd*-*) -+ tm_file="${cpu_type}/${cpu_type}.h i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/gnu.h gnu.h ${tm_file}" -+ ;; - i[34567]86-*-*) - tm_file="${cpu_type}/${cpu_type}.h i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h gnu.h ${tm_file}" - ;; diff --git a/toolchain/gcc/4.2.4/300-libstdc++-pic.patch b/toolchain/gcc/4.2.4/300-libstdc++-pic.patch deleted file mode 100644 index 560bcb2..0000000 --- a/toolchain/gcc/4.2.4/300-libstdc++-pic.patch +++ /dev/null @@ -1,50 +0,0 @@ -# DP: Build and install libstdc++_pic.a library. - ---- gcc/libstdc++-v3/src/Makefile.am -+++ gcc/libstdc++-v3/src/Makefile.am -@@ -214,6 +214,12 @@ - $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LDFLAGS) -o $@ - - -+install-exec-local: -+ifeq ($(enable_shared),yes) -+ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o -+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) -+endif -+ - # Added bits to build debug library. - if GLIBCXX_BUILD_DEBUG - all-local: build_debug ---- gcc/libstdc++-v3/src/Makefile.in -+++ gcc/libstdc++-v3/src/Makefile.in -@@ -627,7 +627,7 @@ - - install-data-am: install-data-local - --install-exec-am: install-toolexeclibLTLIBRARIES -+install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local - - install-info: install-info-am - -@@ -660,6 +660,7 @@ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-data-local install-exec \ -+ install-exec-local \ - install-exec-am install-info install-info-am install-man \ - install-strip install-toolexeclibLTLIBRARIES installcheck \ - installcheck-am installdirs maintainer-clean \ -@@ -743,6 +743,13 @@ - install_debug: - (cd ${debugdir} && $(MAKE) \ - toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install) -+ -+install-exec-local: -+ifeq ($(enable_shared),yes) -+ $(AR) cru libstdc++_pic.a *.o $(top_builddir)/libsupc++/*.o -+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) -+endif -+ - # Tell versions [3.59,3.63) of GNU make to not export all variables. - # Otherwise a system limit (for SysV at least) may be exceeded. - .NOEXPORT: diff --git a/toolchain/gcc/4.2.4/301-missing-execinfo_h.patch b/toolchain/gcc/4.2.4/301-missing-execinfo_h.patch deleted file mode 100644 index 0e2092f..0000000 --- a/toolchain/gcc/4.2.4/301-missing-execinfo_h.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- gcc-4.0.0/boehm-gc/include/gc.h-orig 2005-04-28 22:28:57.000000000 -0500 -+++ gcc-4.0.0/boehm-gc/include/gc.h 2005-04-28 22:30:38.000000000 -0500 -@@ -500,7 +500,7 @@ - #ifdef __linux__ - # include - # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ -- && !defined(__ia64__) -+ && !defined(__ia64__) && !defined(__UCLIBC__) - # ifndef GC_HAVE_BUILTIN_BACKTRACE - # define GC_HAVE_BUILTIN_BACKTRACE - # endif diff --git a/toolchain/gcc/4.2.4/302-c99-snprintf.patch b/toolchain/gcc/4.2.4/302-c99-snprintf.patch deleted file mode 100644 index dfb22d6..0000000 --- a/toolchain/gcc/4.2.4/302-c99-snprintf.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- gcc-4.0.0/libstdc++-v3/include/c_std/std_cstdio.h-orig 2005-04-29 00:08:41.000000000 -0500 -+++ gcc-4.0.0/libstdc++-v3/include/c_std/std_cstdio.h 2005-04-29 00:08:45.000000000 -0500 -@@ -142,7 +142,7 @@ - using ::vsprintf; - } - --#if _GLIBCXX_USE_C99 -+#if _GLIBCXX_USE_C99 || defined(__UCLIBC__) - - #undef snprintf - #undef vfscanf diff --git a/toolchain/gcc/4.2.4/303-c99-complex-ugly-hack.patch b/toolchain/gcc/4.2.4/303-c99-complex-ugly-hack.patch deleted file mode 100644 index 2ccc80d..0000000 --- a/toolchain/gcc/4.2.4/303-c99-complex-ugly-hack.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- gcc-4.0.0/libstdc++-v3/configure-old 2005-04-30 22:04:48.061603912 -0500 -+++ gcc-4.0.0/libstdc++-v3/configure 2005-04-30 22:06:13.678588152 -0500 -@@ -7194,6 +7194,9 @@ - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ - #include -+#ifdef __UCLIBC__ -+#error ugly hack to make sure configure test fails here for cross until uClibc supports the complex funcs -+#endif - int - main () - { diff --git a/toolchain/gcc/4.2.4/304-index_macro.patch b/toolchain/gcc/4.2.4/304-index_macro.patch deleted file mode 100644 index d8e4765..0000000 --- a/toolchain/gcc/4.2.4/304-index_macro.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- gcc-4.1.0/libstdc++-v3/include/ext/rope.mps 2006-03-24 01:49:51 +0100 -+++ gcc-4.1.0/libstdc++-v3/include/ext/rope 2006-03-24 01:49:37 +0100 -@@ -59,6 +59,9 @@ - #include - #include - -+/* cope w/ index defined as macro, SuSv3 proposal */ -+#undef index -+ - # ifdef __GC - # define __GC_CONST const - # else ---- gcc-4.1.0/libstdc++-v3/include/ext/ropeimpl.h.mps 2006-03-24 01:50:04 +0100 -+++ gcc-4.1.0/libstdc++-v3/include/ext/ropeimpl.h 2006-03-24 01:50:28 +0100 -@@ -53,6 +53,9 @@ - #include // For uninitialized_copy_n - #include // For power - -+/* cope w/ index defined as macro, SuSv3 proposal */ -+#undef index -+ - _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) - - using std::size_t; diff --git a/toolchain/gcc/4.2.4/305-libmudflap-susv3-legacy.patch b/toolchain/gcc/4.2.4/305-libmudflap-susv3-legacy.patch deleted file mode 100644 index 374b1f8..0000000 --- a/toolchain/gcc/4.2.4/305-libmudflap-susv3-legacy.patch +++ /dev/null @@ -1,49 +0,0 @@ -Index: gcc-4.2/libmudflap/mf-hooks2.c -=================================================================== ---- gcc-4.2/libmudflap/mf-hooks2.c (revision 119834) -+++ gcc-4.2/libmudflap/mf-hooks2.c (working copy) -@@ -427,7 +427,7 @@ - { - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region"); -- bzero (s, n); -+ memset (s, 0, n); - } - - -@@ -437,7 +437,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src"); - MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest"); -- bcopy (src, dest, n); -+ memmove (dest, src, n); - } - - -@@ -447,7 +447,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg"); - MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg"); -- return bcmp (s1, s2, n); -+ return n == 0 ? 0 : memcmp (s1, s2, n); - } - - -@@ -456,7 +456,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region"); -- return index (s, c); -+ return strchr (s, c); - } - - -@@ -465,7 +465,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region"); -- return rindex (s, c); -+ return strrchr (s, c); - } - - /* XXX: stpcpy, memccpy */ diff --git a/toolchain/gcc/4.2.4/307-locale_facets.patch b/toolchain/gcc/4.2.4/307-locale_facets.patch deleted file mode 100644 index 412f865..0000000 --- a/toolchain/gcc/4.2.4/307-locale_facets.patch +++ /dev/null @@ -1,26 +0,0 @@ -This patch fixes a bug into ostream::operator<<(double) due to the wrong size -passed into the __convert_from_v method. The wrong size is then passed to -std::snprintf function, that, on uClibc, doens't handle sized 0 buffer. - -Signed-off-by: Carmelo Amoroso - ---- gcc-4.2.1/libstdc++-v3/include/bits/locale_facets.tcc 2006-10-17 18:43:47.000000000 +0200 -+++ gcc-4.2.1-st/libstdc++-v3/include/bits/locale_facets.tcc 2007-08-22 18:54:23.000000000 +0200 -@@ -1143,7 +1143,7 @@ _GLIBCXX_BEGIN_LDBL_NAMESPACE - const int __cs_size = __fixed ? __max_exp + __prec + 4 - : __max_digits * 2 + __prec; - char* __cs = static_cast(__builtin_alloca(__cs_size)); -- __len = std::__convert_from_v(_S_get_c_locale(), __cs, 0, __fbuf, -+ __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, __fbuf, - __prec, __v); - #endif - -@@ -1777,7 +1777,7 @@ _GLIBCXX_BEGIN_LDBL_NAMESPACE - // max_exponent10 + 1 for the integer part, + 2 for sign and '\0'. - const int __cs_size = numeric_limits::max_exponent10 + 3; - char* __cs = static_cast(__builtin_alloca(__cs_size)); -- int __len = std::__convert_from_v(_S_get_c_locale(), __cs, 0, "%.*Lf", -+ int __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, "%.*Lf", - 0, __units); - #endif - string_type __digits(__len, char_type()); diff --git a/toolchain/gcc/4.2.4/402-libbackend_dep_gcov-iov.h.patch b/toolchain/gcc/4.2.4/402-libbackend_dep_gcov-iov.h.patch deleted file mode 100644 index 0bf115c..0000000 --- a/toolchain/gcc/4.2.4/402-libbackend_dep_gcov-iov.h.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: gcc-4.2/gcc/Makefile.in -=================================================================== ---- gcc-4.2/gcc/Makefile.in (revision 121758) -+++ gcc-4.2/gcc/Makefile.in (working copy) -@@ -2658,7 +2658,7 @@ mips-tdump.o : mips-tdump.c $(CONFIG_H) - # FIXME: writing proper dependencies for this is a *LOT* of work. - libbackend.o : $(OBJS-common:.o=.c) $(out_file) \ - insn-config.h insn-flags.h insn-codes.h insn-constants.h \ -- insn-attr.h $(DATESTAMP) $(BASEVER) $(DEVPHASE) -+ insn-attr.h $(DATESTAMP) $(BASEVER) $(DEVPHASE) gcov-iov.h - $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \ - -DTARGET_NAME=\"$(target_noncanonical)\" \ - -DLOCALEDIR=\"$(localedir)\" \ diff --git a/toolchain/gcc/4.2.4/800-arm-bigendian.patch b/toolchain/gcc/4.2.4/800-arm-bigendian.patch deleted file mode 100644 index 07c6093..0000000 --- a/toolchain/gcc/4.2.4/800-arm-bigendian.patch +++ /dev/null @@ -1,67 +0,0 @@ -By Lennert Buytenhek -Adds support for arm*b-linux* big-endian ARM targets - -See http://gcc.gnu.org/PR16350 - ---- gcc-4.2.0/gcc/config/arm/linux-elf.h -+++ gcc-4.2.0/gcc/config/arm/linux-elf.h -@@ -28,19 +28,33 @@ - #undef TARGET_VERSION - #define TARGET_VERSION fputs (" (ARM GNU/Linux with ELF)", stderr); - -+/* -+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-* -+ * (big endian) configurations. -+ */ -+#if TARGET_BIG_ENDIAN_DEFAULT -+#define TARGET_ENDIAN_DEFAULT MASK_BIG_END -+#define TARGET_ENDIAN_OPTION "mbig-endian" -+#define TARGET_LINKER_EMULATION "armelfb_linux" -+#else -+#define TARGET_ENDIAN_DEFAULT 0 -+#define TARGET_ENDIAN_OPTION "mlittle-endian" -+#define TARGET_LINKER_EMULATION "armelf_linux" -+#endif -+ - #undef TARGET_DEFAULT_FLOAT_ABI - #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD - - #undef TARGET_DEFAULT --#define TARGET_DEFAULT (0) -+#define TARGET_DEFAULT (TARGET_ENDIAN_DEFAULT) - - #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6 - --#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p" -+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p" - - #undef MULTILIB_DEFAULTS - #define MULTILIB_DEFAULTS \ -- { "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" } -+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mno-thumb-interwork" } - - /* Now we define the strings used to build the spec file. */ - #undef LIB_SPEC -@@ -61,7 +75,7 @@ - %{rdynamic:-export-dynamic} \ - %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "} \ - -X \ -- %{mbig-endian:-EB}" \ -+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \ - SUBTARGET_EXTRA_LINK_SPEC - - #undef LINK_SPEC ---- gcc-4.2.0/gcc/config.gcc.orig 2006-09-22 14:53:41.000000000 +0200 -+++ gcc-4.2.0/gcc/config.gcc 2006-09-25 10:45:21.000000000 +0200 -@@ -696,6 +696,11 @@ - tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h" - tmake_file="${tmake_file} t-linux arm/t-arm" - case ${target} in -+ arm*b-*) -+ tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" -+ ;; -+ esac -+ case ${target} in - arm*-*-linux-*eabi) - tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h" - tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi" diff --git a/toolchain/gcc/4.2.4/904-flatten-switch-stmt-00.patch b/toolchain/gcc/4.2.4/904-flatten-switch-stmt-00.patch deleted file mode 100644 index 8fac37c..0000000 --- a/toolchain/gcc/4.2.4/904-flatten-switch-stmt-00.patch +++ /dev/null @@ -1,153 +0,0 @@ -Hi, - -The attached patch makes sure that we create smaller object code for -simple switch statements. We just make sure to flatten the switch -statement into an if-else chain, basically. - -This fixes a size-regression as compared to gcc-3.4, as can be seen -below. - -2007-04-15 Bernhard Fischer <..> - - * stmt.c (expand_case): Do not create a complex binary tree when - optimizing for size but rather use the simple ordered list. - (emit_case_nodes): do not emit jumps to the default_label when - optimizing for size. - -Not regtested so far. -Comments? - -Attached is the test switch.c mentioned below. - -$ for i in 2.95 3.3 3.4 4.0 4.1 4.2.orig-HEAD 4.3.orig-HEAD 4.3-HEAD;do -gcc-$i -DCHAIN -Os -o switch-CHAIN-$i.o -c switch.c ;done -$ for i in 2.95 3.3 3.4 4.0 4.1 4.2.orig-HEAD 4.3.orig-HEAD 4.3-HEAD;do -gcc-$i -UCHAIN -Os -o switch-$i.o -c switch.c ;done - -$ size switch-*.o - text data bss dec hex filename - 169 0 0 169 a9 switch-2.95.o - 115 0 0 115 73 switch-3.3.o - 103 0 0 103 67 switch-3.4.o - 124 0 0 124 7c switch-4.0.o - 124 0 0 124 7c switch-4.1.o - 124 0 0 124 7c switch-4.2.orig-HEAD.o - 95 0 0 95 5f switch-4.3-HEAD.o - 124 0 0 124 7c switch-4.3.orig-HEAD.o - 166 0 0 166 a6 switch-CHAIN-2.95.o - 111 0 0 111 6f switch-CHAIN-3.3.o - 95 0 0 95 5f switch-CHAIN-3.4.o - 95 0 0 95 5f switch-CHAIN-4.0.o - 95 0 0 95 5f switch-CHAIN-4.1.o - 95 0 0 95 5f switch-CHAIN-4.2.orig-HEAD.o - 95 0 0 95 5f switch-CHAIN-4.3-HEAD.o - 95 0 0 95 5f switch-CHAIN-4.3.orig-HEAD.o - - -Content-Type: text/x-diff; charset=us-ascii -Content-Disposition: attachment; filename="gcc-4.3.gcc-flatten-switch-stmt.00.diff" - -Index: gcc-4.2.0/gcc/stmt.c -=================================================================== ---- gcc-4.2.0.orig/gcc/stmt.c (revision 123843) -+++ gcc-4.2.0/gcc/stmt.c (working copy) -@@ -2517,7 +2517,11 @@ expand_case (tree exp) - use_cost_table - = (TREE_CODE (orig_type) != ENUMERAL_TYPE - && estimate_case_costs (case_list)); -- balance_case_nodes (&case_list, NULL); -+ /* When optimizing for size, we want a straight list to avoid -+ jumps as much as possible. This basically creates an if-else -+ chain. */ -+ if (!optimize_size) -+ balance_case_nodes (&case_list, NULL); - emit_case_nodes (index, case_list, default_label, index_type); - emit_jump (default_label); - } -@@ -3075,6 +3079,7 @@ emit_case_nodes (rtx index, case_node_pt - { - if (!node_has_low_bound (node, index_type)) - { -+ if (!optimize_size) /* don't jl to the .default_label. */ - emit_cmp_and_jump_insns (index, - convert_modes - (mode, imode, - - -Content-Type: text/x-csrc; charset=us-ascii -Content-Disposition: attachment; filename="switch.c" - -int -commutative_tree_code (int code) -{ -#define CASE(val, ret) case val:/* __asm__("# val="#val ",ret="#ret);*/ return ret; -#ifndef CHAIN - switch (code) - { -# if 1 - CASE(1,3) - CASE(3,2) - CASE(5,8) - CASE(7,1) - CASE(33,4) - CASE(44,9) - CASE(55,10) - CASE(66,-1) - CASE(77,99) - CASE(666,0) -# else - case 1: - return 3; - case 3: - return 2; - case 5: - return 8; - case 7: - return 1; - case 33: - return 4; - case 44: - return 9; - case 55: - return 10; - case 66: - return -1; - case 77: - return 99; - case 666: - return 0; -# endif - default: - break; - } - return 4711; - -#else - if (code == 1) - return 3; - else if (code == 3) - return 2; - else if (code == 5) - return 8; - else if (code == 7) - return 1; - else if (code == 33) - return 4; - else if (code == 44) - return 9; - else if (code == 55) - return 10; - else if (code == 66) - return -1; - else if (code == 77) - return 99; - else if (code == 666) - return 0; - else - return 4711; -#endif -} - - ---AhhlLboLdkugWU4S-- - diff --git a/toolchain/gcc/4.2.4/910-soft-float.patch b/toolchain/gcc/4.2.4/910-soft-float.patch deleted file mode 100644 index 3f886ac..0000000 --- a/toolchain/gcc/4.2.4/910-soft-float.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- gcc-4.2-20061205/gcc/config/arm/t-linux 2006-12-08 15:18:33.000000000 -0800 -+++ gcc-4.2-20061205/gcc/config/arm/t-linux 2006-12-08 15:18:33.000000000 -0800 -@@ -4,7 +4,10 @@ - LIBGCC2_DEBUG_CFLAGS = -g0 - - LIB1ASMSRC = arm/lib1funcs.asm --LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx -+LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \ -+ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \ -+ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \ -+ _fixsfsi _fixunssfsi _floatdidf _floatundidf _floatdisf _floatundisf - - # MULTILIB_OPTIONS = mhard-float/msoft-float - # MULTILIB_DIRNAMES = hard-float soft-float - ---- gcc-4.2-20061205/gcc/config/arm/linux-elf.h 2006-12-08 15:18:33.000000000 -0800 -+++ gcc-4.2-20061205/gcc/config/arm/linux-elf.h 2006-12-08 15:18:33.000000000 -0800 -@@ -63,7 +63,7 @@ - %{shared:-lc} \ - %{!shared:%{profile:-lc_p}%{!profile:-lc}}" - --#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc" -+#define LIBGCC_SPEC "-lgcc" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" - diff --git a/toolchain/gcc/4.2.4/920-soft-float.patch b/toolchain/gcc/4.2.4/920-soft-float.patch deleted file mode 100644 index 4287bfa..0000000 --- a/toolchain/gcc/4.2.4/920-soft-float.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -uNpr gcc-4.2.1_orig/gcc/config/rs6000/darwin-ldouble.c gcc-4.2.1/gcc/config/rs6000/darwin-ldouble.c ---- gcc-4.2.1_orig/gcc/config/rs6000/darwin-ldouble.c 2007-03-05 11:54:00.000000000 -0500 -+++ gcc-4.2.1/gcc/config/rs6000/darwin-ldouble.c 2008-01-31 17:51:24.000000000 -0500 -@@ -70,6 +70,8 @@ Software Foundation, 51 Franklin Street, - but GCC currently generates poor code when a union is used to turn - a long double into a pair of doubles. */ - -+#if defined (_SOFT_FLOAT) && defined (__LONG_DOUBLE_128__) -+ - long double __gcc_qadd (double, double, double, double); - long double __gcc_qsub (double, double, double, double); - long double __gcc_qmul (double, double, double, double); -@@ -219,8 +221,6 @@ __gcc_qdiv (double a, double b, double c - return z.ldval; - } - --#if defined (_SOFT_FLOAT) && defined (__LONG_DOUBLE_128__) -- - long double __gcc_qneg (double, double); - int __gcc_qeq (double, double, double, double); - int __gcc_qne (double, double, double, double); diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in index 5905262..acaa3a8 100644 --- a/toolchain/gcc/Config.in +++ b/toolchain/gcc/Config.in @@ -4,7 +4,7 @@ comment "GCC Options" choice prompt "GCC compiler Version" - default BR2_GCC_VERSION_4_3_X if !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 + default BR2_GCC_VERSION_4_5_X if !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 default BR2_GCC_VERSION_4_4_X if BR2_sparc_sparchfleon || BR2_sparc_sparchfleonv8 || BR2_sparc_sparcsfleon || BR2_sparc_sparcsfleonv8 default BR2_GCC_VERSION_4_2_2_AVR32_2_1_5 if BR2_avr32 help @@ -14,10 +14,6 @@ choice depends on BR2_avr32 bool "gcc 4.2.2-avr32-2.1.5" - config BR2_GCC_VERSION_4_2_4 - depends on !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 - bool "gcc 4.2.4" - config BR2_GCC_VERSION_4_3_X depends on !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 bool "gcc 4.3.x" @@ -41,7 +37,7 @@ endchoice config BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE bool - default y if !BR2_GCC_VERSION_4_2_4 && !BR2_GCC_VERSION_4_2_2_AVR32_2_1_5 + default y if !BR2_GCC_VERSION_4_2_2_AVR32_2_1_5 config BR2_GCC_SNAP_DATE string "GCC snapshot date" @@ -60,7 +56,6 @@ config BR2_GCC_SNAP_DATE config BR2_GCC_VERSION string default "4.2.2-avr32-2.1.5" if BR2_GCC_VERSION_4_2_2_AVR32_2_1_5 - default "4.2.4" if BR2_GCC_VERSION_4_2_4 default "4.3.6" if BR2_GCC_VERSION_4_3_X default "4.4.6" if BR2_GCC_VERSION_4_4_X default "4.5.3" if BR2_GCC_VERSION_4_5_X @@ -73,18 +68,6 @@ config BR2_EXTRA_GCC_CONFIG_OPTIONS help Any additional gcc configure options you may want to include.... -config BR2_GCC_CROSS_JAVA - bool - -config BR2_INSTALL_LIBGCJ - bool "Build/install java compiler and libgcj?" - depends on !BR2_avr32 && BR2_INSTALL_LIBSTDCPP - select BR2_GCC_CROSS_JAVA - select BR2_LARGEFILE - depends on BROKEN - help - Build/install java compiler and libgcj? - config BR2_INSTALL_OBJC bool "Build/install Objective-C compiler and runtime?" depends on !BR2_avr32 diff --git a/toolchain/gcc/Makefile.in b/toolchain/gcc/Makefile.in index 2e55ed0..d9efcf0 100644 --- a/toolchain/gcc/Makefile.in +++ b/toolchain/gcc/Makefile.in @@ -47,6 +47,11 @@ EXTRA_GCC_CONFIG_OPTIONS+=--disable-libmudflap SOFT_FLOAT_CONFIG_OPTION:= endif +# Disable mudflap and enable proper double/long double for SPE ABI +ifeq ($(BR2_powerpc_SPE),y) +EXTRA_GCC_CONFIG_OPTIONS+=--disable-libmudflap --enable-e500_double --with-long-double-128 +endif + ifeq ($(BR2_PACKAGE_GCC_TARGET),y) EXTRA_TARGET_GCC_CONFIG_OPTIONS:= diff --git a/toolchain/gcc/gcc-uclibc-4.x.mk b/toolchain/gcc/gcc-uclibc-4.x.mk index a2253c9..5eb7505 100644 --- a/toolchain/gcc/gcc-uclibc-4.x.mk +++ b/toolchain/gcc/gcc-uclibc-4.x.mk @@ -75,35 +75,14 @@ endif ifeq ($(BR2_GCC_CROSS_FORTRAN),y) GCC_CROSS_LANGUAGES:=$(GCC_CROSS_LANGUAGES),fortran endif -ifeq ($(BR2_GCC_CROSS_JAVA),y) -GCC_CROSS_LANGUAGES:=$(GCC_CROSS_LANGUAGES),java -endif ifeq ($(BR2_GCC_CROSS_OBJC),y) GCC_CROSS_LANGUAGES:=$(GCC_CROSS_LANGUAGES),objc endif -GCC_COMMON_PREREQ=$(wildcard $(BR2_DEPENDS_DIR)/br2/install/libstdcpp*)\ -$(wildcard $(BR2_DEPENDS_DIR)/br2/install/libgcj*)\ -$(wildcard $(BR2_DEPENDS_DIR)/br2/install/objc*)\ -$(wildcard $(BR2_DEPENDS_DIR)/br2/install/fortran*)\ -$(wildcard $(BR2_DEPENDS_DIR)/br2/prefer/ima*)\ -$(wildcard $(BR2_DEPENDS_DIR)/br2/toolchain/sysroot*)\ -$(wildcard $(BR2_DEPENDS_DIR)/br2/use/sjlj/exceptions*)\ -$(wildcard $(BR2_DEPENDS_DIR)/br2/gcc/shared/libgcc*) -GCC_TARGET_PREREQ+=$(GCC_COMMON_PREREQ) \ -$(wildcard $(BR2_DEPENDS_DIR)/br2/extra/target/gcc/config/options*) -GCC_STAGING_PREREQ+=$(GCC_COMMON_PREREQ) \ -$(wildcard $(BR2_DEPENDS_DIR)/br2/extra/gcc/config/options*)\ -$(wildcard $(BR2_DEPENDS_DIR)/br2/gcc/cross/*) - ifeq ($(BR2_INSTALL_LIBSTDCPP),y) GCC_TARGET_LANGUAGES:=$(GCC_TARGET_LANGUAGES),c++ endif -ifeq ($(BR2_INSTALL_LIBGCJ),y) -GCC_TARGET_LANGUAGES:=$(GCC_TARGET_LANGUAGES),java -endif - ifeq ($(BR2_INSTALL_OBJC),y) GCC_TARGET_LANGUAGES:=$(GCC_TARGET_LANGUAGES),objc endif @@ -466,17 +445,6 @@ ifeq ($(BR2_GCC_SHARED_LIBGCC),y) -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libstdc++.so* endif endif -ifeq ($(BR2_INSTALL_LIBGCJ),y) - cp -dpf $(HOST_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib*/libgcj.so* $(STAGING_DIR)/usr/lib/ - cp -dpf $(HOST_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib*/libgcj.so* $(TARGET_DIR)/usr/lib/ - mkdir -p $(STAGING_DIR)/usr/lib/security - mkdir -p $(TARGET_DIR)/usr/lib/security - cp -dpf $(HOST_DIR)/usr/lib/security/classpath.security \ - $(STAGING_DIR)/usr/lib/security/ - cp -dpf $(HOST_DIR)/usr/lib/security/classpath.security \ - $(TARGET_DIR)/usr/lib/security/ - -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libgcj.so* -endif ifeq ($(BR2_GCC_ENABLE_OPENMP),y) cp -dpf $(HOST_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib*/libgomp.so* $(STAGING_DIR)/usr/lib/ cp -dpf $(HOST_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib*/libgomp.so* $(TARGET_DIR)/usr/lib/ diff --git a/toolchain/gdb/Config.in b/toolchain/gdb/Config.in index 9868580..8501983 100644 --- a/toolchain/gdb/Config.in +++ b/toolchain/gdb/Config.in @@ -30,7 +30,7 @@ choice prompt "GDB debugger Version" default BR2_GDB_VERSION_6_6 if BR2_bfin default BR2_GDB_VERSION_6_7_1_AVR32_2_1_5 if BR2_avr32 - default BR2_GDB_VERSION_7_3 + default BR2_GDB_VERSION_7_4 depends on BR2_PACKAGE_GDB || BR2_PACKAGE_GDB_SERVER || BR2_PACKAGE_GDB_HOST help Select the version of gdb you wish to use. @@ -58,6 +58,7 @@ choice config BR2_GDB_VERSION_7_1 bool "gdb 7.1" depends on !BR2_bfin + depends on BR2_DEPRECATED depends on BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED select BR2_PTHREAD_DEBUG if (BR2_TOOLCHAIN_BUILDROOT && !BR2_PTHREADS_NONE) @@ -73,6 +74,12 @@ choice depends on BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED select BR2_PTHREAD_DEBUG if (BR2_TOOLCHAIN_BUILDROOT && !BR2_PTHREADS_NONE) + config BR2_GDB_VERSION_7_4 + bool "gdb 7.4.x" + depends on !BR2_bfin + depends on BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED + select BR2_PTHREAD_DEBUG if (BR2_TOOLCHAIN_BUILDROOT && !BR2_PTHREADS_NONE) + endchoice comment "gdb 7.x support needs pthread debug support in toolchain" @@ -88,3 +95,4 @@ config BR2_GDB_VERSION default "7.1a" if BR2_GDB_VERSION_7_1 default "7.2a" if BR2_GDB_VERSION_7_2 default "7.3.1" if BR2_GDB_VERSION_7_3 + default "7.4" if BR2_GDB_VERSION_7_4 diff --git a/toolchain/gdb/gdb.mk b/toolchain/gdb/gdb.mk index 85b892f..56faf49 100644 --- a/toolchain/gdb/gdb.mk +++ b/toolchain/gdb/gdb.mk @@ -195,6 +195,8 @@ $(GDB_HOST_DIR)/.configured: $(GDB_DIR)/.unpacked touch $@ $(GDB_HOST_DIR)/gdb/gdb: $(GDB_HOST_DIR)/.configured + # force ELF support since it fails due to BFD linking problems + gdb_cv_var_elf=yes \ $(MAKE) -C $(GDB_HOST_DIR) strip $(GDB_HOST_DIR)/gdb/gdb diff --git a/toolchain/kernel-headers/Config.in b/toolchain/kernel-headers/Config.in index 9e72b00..60cebbe 100644 --- a/toolchain/kernel-headers/Config.in +++ b/toolchain/kernel-headers/Config.in @@ -6,7 +6,7 @@ comment "Kernel Header Options" choice prompt "Kernel Headers" - default BR2_KERNEL_HEADERS_3_1 + default BR2_KERNEL_HEADERS_3_2 help Select the version of kernel header files you wish to use. You must select the correct set of header files to match @@ -36,6 +36,9 @@ choice config BR2_KERNEL_HEADERS_3_1 bool "Linux 3.1.x kernel headers" + config BR2_KERNEL_HEADERS_3_2 + bool "Linux 3.2.x kernel headers" + config BR2_KERNEL_HEADERS_VERSION bool "Linux 2.6 (manually specified version)" @@ -57,7 +60,8 @@ config BR2_DEFAULT_KERNEL_HEADERS default "2.6.37.6" if BR2_KERNEL_HEADERS_2_6_37 default "2.6.38.8" if BR2_KERNEL_HEADERS_2_6_38 default "2.6.39.4" if BR2_KERNEL_HEADERS_2_6_39 - default "3.0.12" if BR2_KERNEL_HEADERS_3_0 - default "3.1.4" if BR2_KERNEL_HEADERS_3_1 + default "3.0.22" if BR2_KERNEL_HEADERS_3_0 + default "3.1.10" if BR2_KERNEL_HEADERS_3_1 + default "3.2.7" if BR2_KERNEL_HEADERS_3_2 default "2.6" if BR2_KERNEL_HEADERS_SNAP default $BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION diff --git a/toolchain/kernel-headers/linux-3.0.12-headers_install-fix-__packed-in-exported-kernel-head.patch b/toolchain/kernel-headers/linux-3.0.22-headers_install-fix-__packed-in-exported-kernel-head.patch similarity index 100% rename from toolchain/kernel-headers/linux-3.0.12-headers_install-fix-__packed-in-exported-kernel-head.patch rename to toolchain/kernel-headers/linux-3.0.22-headers_install-fix-__packed-in-exported-kernel-head.patch diff --git a/toolchain/toolchain-buildroot.mk b/toolchain/toolchain-buildroot.mk index c611562..f21cefd 100644 --- a/toolchain/toolchain-buildroot.mk +++ b/toolchain/toolchain-buildroot.mk @@ -1,6 +1,5 @@ # Include files required for the internal toolchain backend -include toolchain/dependencies/dependencies.mk include toolchain/elf2flt/elf2flt.mk include toolchain/gcc/gcc-uclibc-4.x.mk include toolchain/gdb/gdb.mk diff --git a/toolchain/toolchain-buildroot/Config.in.2 b/toolchain/toolchain-buildroot/Config.in.2 index e3fe337..7f2f68f 100644 --- a/toolchain/toolchain-buildroot/Config.in.2 +++ b/toolchain/toolchain-buildroot/Config.in.2 @@ -68,7 +68,7 @@ config BR2_TOOLCHAIN_BUILDROOT_USE_SSP choice prompt "Thread library implementation" - default BR2_PTHREADS_NATIVE if (BR2_UCLIBC_VERSION_SNAPSHOT || BR2_UCLIBC_VERSION_0_9_32) && !BR2_ARM_OABI + default BR2_PTHREADS_NATIVE if (!BR2_UCLIBC_VERSION_0_9_31) && !BR2_ARM_OABI default BR2_PTHREADS_OLD help Use this option to select the thread library implementation @@ -91,7 +91,7 @@ choice config BR2_PTHREADS_NATIVE bool "Native POSIX Threading (NPTL)" select BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_UCLIBC_VERSION_SNAPSHOT || BR2_UCLIBC_VERSION_0_9_32 + depends on !BR2_UCLIBC_VERSION_0_9_31 depends on !BR2_ARM_OABI depends on !BR2_x86_i386 endchoice diff --git a/toolchain/toolchain-common.in b/toolchain/toolchain-common.in index 56ac85f..fb87a88 100644 --- a/toolchain/toolchain-common.in +++ b/toolchain/toolchain-common.in @@ -105,4 +105,4 @@ config BR2_TARGET_OPTIMIZATION config BR2_TARGET_LDFLAGS string "Target linker options" help - Extra options to pass to the linker when buiding for the target. + Extra options to pass to the linker when building for the target. diff --git a/toolchain/toolchain-crosstool-ng.mk b/toolchain/toolchain-crosstool-ng.mk index e480da9..f6cc2b9 100644 --- a/toolchain/toolchain-crosstool-ng.mk +++ b/toolchain/toolchain-crosstool-ng.mk @@ -2,7 +2,6 @@ # Explicit ordering: include toolchain/helpers.mk -include toolchain/dependencies/dependencies.mk include toolchain/elf2flt/elf2flt.mk include toolchain/gcc/gcc-uclibc-4.x.mk include toolchain/gdb/gdb.mk diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.config-eglibc b/toolchain/toolchain-crosstool-ng/crosstool-ng.config-eglibc index 682afb1..c1ab679 100644 --- a/toolchain/toolchain-crosstool-ng/crosstool-ng.config-eglibc +++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.config-eglibc @@ -168,15 +168,15 @@ CT_BUILD_SUFFIX="" # CT_KERNEL_SUPPORTS_SHARED_LIBS=y CT_KERNEL="linux" -CT_KERNEL_VERSION="2.6.39.4" +CT_KERNEL_VERSION="3.0.4" CT_KERNEL_linux=y CT_KERNEL_linux_AVAILABLE=y -# CT_KERNEL_V_3_0_4 is not set +CT_KERNEL_V_3_0_4=y # CT_KERNEL_V_3_0_3 is not set # CT_KERNEL_V_3_0_2 is not set # CT_KERNEL_V_3_0_1 is not set # CT_KERNEL_V_3_0 is not set -CT_KERNEL_V_2_6_39_4=y +# CT_KERNEL_V_2_6_39_4 is not set # CT_KERNEL_V_2_6_38_8 is not set # CT_KERNEL_V_2_6_37_6 is not set # CT_KERNEL_V_2_6_36_4 is not set @@ -230,12 +230,12 @@ CT_BINUTILS_EXTRA_CONFIG_ARRAY="" # C compiler # CT_CC="gcc" -CT_CC_VERSION="4.4.3" +CT_CC_VERSION="4.4.6" CT_CC_gcc=y -# CT_CC_V_4_4_6 is not set +CT_CC_V_4_4_6=y # CT_CC_V_4_4_5 is not set # CT_CC_V_4_4_4 is not set -CT_CC_V_4_4_3=y +# CT_CC_V_4_4_3 is not set # CT_CC_V_4_4_2 is not set # CT_CC_V_4_4_1 is not set # CT_CC_V_4_4_0 is not set diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.config-glibc b/toolchain/toolchain-crosstool-ng/crosstool-ng.config-glibc index 8fb90b8..4a555c7 100644 --- a/toolchain/toolchain-crosstool-ng/crosstool-ng.config-glibc +++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.config-glibc @@ -168,15 +168,15 @@ CT_BUILD_SUFFIX="" # CT_KERNEL_SUPPORTS_SHARED_LIBS=y CT_KERNEL="linux" -CT_KERNEL_VERSION="2.6.39.4" +CT_KERNEL_VERSION="3.0.4" CT_KERNEL_linux=y CT_KERNEL_linux_AVAILABLE=y -# CT_KERNEL_V_3_0_4 is not set +CT_KERNEL_V_3_0_4=y # CT_KERNEL_V_3_0_3 is not set # CT_KERNEL_V_3_0_2 is not set # CT_KERNEL_V_3_0_1 is not set # CT_KERNEL_V_3_0 is not set -CT_KERNEL_V_2_6_39_4=y +# CT_KERNEL_V_2_6_39_4 is not set # CT_KERNEL_V_2_6_38_8 is not set # CT_KERNEL_V_2_6_37_6 is not set # CT_KERNEL_V_2_6_36_4 is not set @@ -230,12 +230,12 @@ CT_BINUTILS_EXTRA_CONFIG_ARRAY="" # C compiler # CT_CC="gcc" -CT_CC_VERSION="4.4.3" +CT_CC_VERSION="4.4.6" CT_CC_gcc=y -# CT_CC_V_4_4_6 is not set +CT_CC_V_4_4_6=y # CT_CC_V_4_4_5 is not set # CT_CC_V_4_4_4 is not set -CT_CC_V_4_4_3=y +# CT_CC_V_4_4_3 is not set # CT_CC_V_4_4_2 is not set # CT_CC_V_4_4_1 is not set # CT_CC_V_4_4_0 is not set diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.config-uClibc b/toolchain/toolchain-crosstool-ng/crosstool-ng.config-uClibc index 7f7b3e2..0e442f0 100644 --- a/toolchain/toolchain-crosstool-ng/crosstool-ng.config-uClibc +++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.config-uClibc @@ -168,16 +168,16 @@ CT_BUILD_SUFFIX="" # CT_KERNEL_SUPPORTS_SHARED_LIBS=y CT_KERNEL="linux" -CT_KERNEL_VERSION="2.6.38.8" +CT_KERNEL_VERSION="3.0.4" CT_KERNEL_linux=y CT_KERNEL_linux_AVAILABLE=y -# CT_KERNEL_V_3_0_4 is not set +CT_KERNEL_V_3_0_4=y # CT_KERNEL_V_3_0_3 is not set # CT_KERNEL_V_3_0_2 is not set # CT_KERNEL_V_3_0_1 is not set # CT_KERNEL_V_3_0 is not set # CT_KERNEL_V_2_6_39_4 is not set -CT_KERNEL_V_2_6_38_8=y +# CT_KERNEL_V_2_6_38_8 is not set # CT_KERNEL_V_2_6_37_6 is not set # CT_KERNEL_V_2_6_36_4 is not set # CT_KERNEL_V_2_6_35_14 is not set @@ -229,12 +229,12 @@ CT_BINUTILS_EXTRA_CONFIG_ARRAY="" # C compiler # CT_CC="gcc" -CT_CC_VERSION="4.4.3" +CT_CC_VERSION="4.4.6" CT_CC_gcc=y -# CT_CC_V_4_4_6 is not set +CT_CC_V_4_4_6=y # CT_CC_V_4_4_5 is not set # CT_CC_V_4_4_4 is not set -CT_CC_V_4_4_3=y +# CT_CC_V_4_4_4_3 is not set # CT_CC_V_4_4_2 is not set # CT_CC_V_4_4_1 is not set # CT_CC_V_4_4_0 is not set @@ -301,11 +301,11 @@ CT_CC_GCC_LDBL_128=m # C-library # CT_LIBC="uClibc" -CT_LIBC_VERSION="0.9.30.3" +CT_LIBC_VERSION="0.9.32" CT_LIBC_uClibc=y CT_LIBC_uClibc_AVAILABLE=y -# CT_LIBC_UCLIBC_V_0_9_32 is not set -CT_LIBC_UCLIBC_V_0_9_30_3=y +CT_LIBC_UCLIBC_V_0_9_32=y +#CT_LIBC_UCLIBC_V_0_9_30_3 is not set # CT_LIBC_UCLIBC_V_0_9_30_2 is not set # CT_LIBC_UCLIBC_V_0_9_30_1 is not set # CT_LIBC_UCLIBC_V_0_9_30 is not set diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk index 3a205dd..a316cdd 100644 --- a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk +++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk @@ -10,7 +10,7 @@ CTNG_DIR := $(BUILD_DIR)/build-toolchain -CTNG_UCLIBC_CONFIG_FILE := $(TOPDIR)/toolchain/toolchain-crosstool-ng/uClibc.config +CTNG_UCLIBC_CONFIG_FILE := $(TOPDIR)/toolchain/uClibc/uClibc-0.9.32.config CTNG_CONFIG_FILE:=$(call qstrip,$(BR2_TOOLCHAIN_CTNG_CONFIG)) # Hack! ct-ng is in fact a Makefile script. As such, it accepts all diff --git a/toolchain/toolchain-crosstool-ng/uClibc.config b/toolchain/toolchain-crosstool-ng/uClibc.config deleted file mode 100644 index 76a3427..0000000 --- a/toolchain/toolchain-crosstool-ng/uClibc.config +++ /dev/null @@ -1,246 +0,0 @@ -# -# Automatically generated make config: don't edit -# Version: 0.9.30 -# Fri Nov 21 09:26:34 2008 -# -# TARGET_alpha is not set -# TARGET_arm is not set -# TARGET_avr32 is not set -# TARGET_bfin is not set -# TARGET_cris is not set -# TARGET_e1 is not set -# TARGET_frv is not set -# TARGET_h8300 is not set -# TARGET_hppa is not set -# TARGET_i386 is not set -# TARGET_i960 is not set -# TARGET_ia64 is not set -# TARGET_m68k is not set -# TARGET_microblaze is not set -# TARGET_mips is not set -# TARGET_nios is not set -# TARGET_nios2 is not set -# TARGET_powerpc is not set -# TARGET_sh is not set -# TARGET_sh64 is not set -# TARGET_sparc is not set -# TARGET_v850 is not set -# TARGET_vax is not set -TARGET_x86_64=y -# TARGET_xtensa is not set - -# -# Target Architecture Features and Options -# -TARGET_ARCH="x86_64" -FORCE_OPTIONS_FOR_ARCH=y -# CONFIG_ARM_OABI is not set -# CONFIG_ARM_EABI is not set -# CONFIG_GENERIC_ARM is not set -# CONFIG_ARM610 is not set -# CONFIG_ARM710 is not set -# CONFIG_ARM7TDMI is not set -# CONFIG_ARM720T is not set -# CONFIG_ARM920T is not set -# CONFIG_ARM922T is not set -# CONFIG_ARM926T is not set -# CONFIG_ARM10T is not set -# CONFIG_ARM1136JF_S is not set -# CONFIG_ARM1176JZ_S is not set -# CONFIG_ARM1176JZF_S is not set -# CONFIG_ARM_CORTEX_M3 is not set -# CONFIG_ARM_CORTEX_M1 is not set -# CONFIG_ARM_SA110 is not set -# CONFIG_ARM_SA1100 is not set -# CONFIG_ARM_XSCALE is not set -# CONFIG_ARM_IWMMXT is not set -TARGET_SUBARCH="" - -# -# Using ELF file format -# -ARCH_LITTLE_ENDIAN=y -# ARCH_WANTS_BIG_ENDIAN is not set -# ARCH_WANTS_LITTLE_ENDIAN is not set - -# -# Using Little Endian -# -ARCH_HAS_MMU=y -ARCH_USE_MMU=y -UCLIBC_HAS_FLOATS=y -UCLIBC_HAS_FPU=y -DO_C99_MATH=y -UCLIBC_HAS_FENV=y -UCLIBC_HAS_LONG_DOUBLE_MATH=y -KERNEL_HEADERS="/usr/include" -HAVE_DOT_CONFIG=y - -# -# General Library Settings -# -# HAVE_NO_PIC is not set -DOPIC=y -# ARCH_HAS_NO_SHARED is not set -# ARCH_HAS_NO_LDSO is not set -HAVE_SHARED=y -# FORCE_SHAREABLE_TEXT_SEGMENTS is not set -LDSO_LDD_SUPPORT=y -LDSO_CACHE_SUPPORT=y -# LDSO_PRELOAD_FILE_SUPPORT is not set -LDSO_BASE_FILENAME="ld.so" -UCLIBC_STATIC_LDCONFIG=y -# LDSO_RUNPATH is not set -UCLIBC_CTOR_DTOR=y -# LDSO_GNU_HASH_SUPPORT is not set -# HAS_NO_THREADS is not set -UCLIBC_HAS_THREADS=y -# PTHREADS_DEBUG_SUPPORT is not set -LINUXTHREADS_OLD=y -UCLIBC_HAS_SYSLOG=y -UCLIBC_HAS_LFS=y -# MALLOC is not set -# MALLOC_SIMPLE is not set -MALLOC_STANDARD=y -# MALLOC_GLIBC_COMPAT is not set -UCLIBC_DYNAMIC_ATEXIT=y -# COMPAT_ATEXIT is not set -# UCLIBC_SUSV3_LEGACY is not set -# UCLIBC_SUSV3_LEGACY_MACROS is not set -# UCLIBC_HAS_STUBS is not set -UCLIBC_HAS_SHADOW=y -UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y -UCLIBC_HAS___PROGNAME=y -UCLIBC_HAS_PTY=y -ASSUME_DEVPTS=y -UNIX98PTY_ONLY=y -# UCLIBC_HAS_GETPT is not set -UCLIBC_HAS_TM_EXTENSIONS=y -UCLIBC_HAS_TZ_CACHING=y -UCLIBC_HAS_TZ_FILE=y -UCLIBC_HAS_TZ_FILE_READ_MANY=y -UCLIBC_TZ_FILE_PATH="/etc/TZ" - -# -# Advanced Library Settings -# -UCLIBC_PWD_BUFFER_SIZE=256 -UCLIBC_GRP_BUFFER_SIZE=256 - -# -# Support various families of functions -# -UCLIBC_LINUX_MODULE_24=y -UCLIBC_LINUX_SPECIFIC=y -UCLIBC_HAS_GNU_ERROR=y -# UCLIBC_BSD_SPECIFIC is not set -UCLIBC_HAS_BSD_ERR=y -# UCLIBC_HAS_OBSOLETE_BSD_SIGNAL is not set -# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set -# UCLIBC_NTP_LEGACY is not set -# UCLIBC_SV4_DEPRECATED is not set -UCLIBC_HAS_REALTIME=y -UCLIBC_HAS_ADVANCED_REALTIME=y -UCLIBC_HAS_EPOLL=y -UCLIBC_HAS_XATTR=y -UCLIBC_HAS_PROFILING=y -UCLIBC_HAS_CRYPT_IMPL=y -UCLIBC_HAS_CRYPT=y -UCLIBC_HAS_NETWORK_SUPPORT=y -UCLIBC_HAS_SOCKET=y -UCLIBC_HAS_IPV4=y -# UCLIBC_HAS_IPV6 is not set -UCLIBC_HAS_RPC=y -UCLIBC_HAS_FULL_RPC=y -UCLIBC_HAS_REENTRANT_RPC=y -UCLIBC_USE_NETLINK=y -UCLIBC_SUPPORT_AI_ADDRCONFIG=y -# UCLIBC_HAS_BSD_RES_CLOSE is not set - -# -# String and Stdio Support -# -UCLIBC_HAS_STRING_GENERIC_OPT=y -UCLIBC_HAS_STRING_ARCH_OPT=y -UCLIBC_HAS_CTYPE_TABLES=y -UCLIBC_HAS_CTYPE_SIGNED=y -# UCLIBC_HAS_CTYPE_UNSAFE is not set -# UCLIBC_HAS_CTYPE_CHECKED is not set -UCLIBC_HAS_CTYPE_ENFORCED=y -# UCLIBC_HAS_WCHAR is not set -# UCLIBC_HAS_LOCALE is not set -# UCLIBC_HAS_HEXADECIMAL_FLOATS is not set -UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y -# USE_OLD_VFPRINTF is not set -UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 -# UCLIBC_HAS_SCANF_GLIBC_A_FLAG is not set -# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set -# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set -UCLIBC_HAS_STDIO_BUFSIZ_4096=y -# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set -UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y -# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set -# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set -# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set -UCLIBC_HAS_STDIO_GETC_MACRO=y -UCLIBC_HAS_STDIO_PUTC_MACRO=y -UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y -# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set -# UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE is not set -# UCLIBC_HAS_GLIBC_CUSTOM_STREAMS is not set -UCLIBC_HAS_PRINTF_M_SPEC=y -UCLIBC_HAS_ERRNO_MESSAGES=y -# UCLIBC_HAS_SYS_ERRLIST is not set -UCLIBC_HAS_SIGNUM_MESSAGES=y -# UCLIBC_HAS_SYS_SIGLIST is not set -UCLIBC_HAS_GNU_GETOPT=y -UCLIBC_HAS_GNU_GETSUBOPT=y - -# -# Big and Tall -# -UCLIBC_HAS_REGEX=y -UCLIBC_HAS_REGEX_OLD=y -UCLIBC_HAS_FNMATCH=y -UCLIBC_HAS_FNMATCH_OLD=y -# UCLIBC_HAS_WORDEXP is not set -# UCLIBC_HAS_FTW is not set -UCLIBC_HAS_GLOB=y -UCLIBC_HAS_GNU_GLOB=y - -# -# Library Installation Options -# -SHARED_LIB_LOADER_PREFIX="$(RUNTIME_PREFIX)lib" -RUNTIME_PREFIX="/usr/$(TARGET_ARCH)-linux-uclibc/" -DEVEL_PREFIX="/usr/$(TARGET_ARCH)-linux-uclibc/usr/" - -# -# Security options -# -# UCLIBC_HAS_ARC4RANDOM is not set -# HAVE_NO_SSP is not set -# UCLIBC_HAS_SSP is not set -UCLIBC_BUILD_RELRO=y -# UCLIBC_BUILD_NOW is not set -UCLIBC_BUILD_NOEXECSTACK=y - -# -# uClibc development/debugging options -# -CROSS_COMPILER_PREFIX="" -UCLIBC_EXTRA_CFLAGS="" -# DODEBUG is not set -# DODEBUG_PT is not set -# DOSTRIP is not set -# DOASSERTS is not set -# SUPPORT_LD_DEBUG is not set -# SUPPORT_LD_DEBUG_EARLY is not set -# UCLIBC_MALLOC_DEBUGGING is not set -WARNINGS="-Wall" -# EXTRA_WARNINGS is not set -# DOMULTI is not set -# UCLIBC_MJN3_ONLY is not set diff --git a/toolchain/toolchain-external.mk b/toolchain/toolchain-external.mk index d67405b..d5b2aac 100644 --- a/toolchain/toolchain-external.mk +++ b/toolchain/toolchain-external.mk @@ -1,7 +1,6 @@ # Required includes for the external toolchain backend include toolchain/helpers.mk -include toolchain/dependencies/dependencies.mk include toolchain/elf2flt/elf2flt.mk include toolchain/gcc/gcc-uclibc-4.x.mk include toolchain/gdb/gdb.mk diff --git a/toolchain/uClibc/Config.in b/toolchain/uClibc/Config.in index 34aaa13..ed9d2f5 100644 --- a/toolchain/uClibc/Config.in +++ b/toolchain/uClibc/Config.in @@ -10,10 +10,6 @@ choice help Select the version of uClibc you wish to use. - config BR2_UCLIBC_VERSION_0_9_30 - depends on BR2_DEPRECATED - bool "uClibc 0.9.30.x" - config BR2_UCLIBC_VERSION_0_9_31 bool "uClibc 0.9.31.x" @@ -21,6 +17,10 @@ choice bool "uClibc 0.9.32.x" depends on !(BR2_avr32 || BR2_sh) + config BR2_UCLIBC_VERSION_0_9_33 + bool "uClibc 0.9.33.x" + depends on !(BR2_avr32 || BR2_sh) + config BR2_UCLIBC_VERSION_SNAPSHOT bool "daily snapshot" @@ -35,16 +35,16 @@ config BR2_USE_UCLIBC_SNAPSHOT config BR2_UCLIBC_VERSION_STRING string - default 0.9.30.3 if BR2_UCLIBC_VERSION_0_9_30 default 0.9.31.1 if BR2_UCLIBC_VERSION_0_9_31 - default 0.9.32 if BR2_UCLIBC_VERSION_0_9_32 + default 0.9.32.1 if BR2_UCLIBC_VERSION_0_9_32 + default 0.9.33 if BR2_UCLIBC_VERSION_0_9_33 default $BR2_USE_UCLIBC_SNAPSHOT if BR2_UCLIBC_VERSION_SNAPSHOT config BR2_UCLIBC_CONFIG string "uClibc configuration file to use?" - default "toolchain/uClibc/uClibc-0.9.30.config" if BR2_UCLIBC_VERSION_0_9_30 default "toolchain/uClibc/uClibc-0.9.31.config" if BR2_UCLIBC_VERSION_0_9_31 default "toolchain/uClibc/uClibc-0.9.32.config" if BR2_UCLIBC_VERSION_0_9_32 + default "toolchain/uClibc/uClibc-0.9.33.config" if BR2_UCLIBC_VERSION_0_9_33 default "toolchain/uClibc/uClibc-snapshot.config" if BR2_UCLIBC_VERSION_SNAPSHOT help Some people may wish to use their own modified uClibc configuration diff --git a/toolchain/uClibc/uClibc-0.9.30.3-fix-error-locale-utf-8.patch b/toolchain/uClibc/uClibc-0.9.30.3-fix-error-locale-utf-8.patch deleted file mode 100644 index 2fe6c50..0000000 --- a/toolchain/uClibc/uClibc-0.9.30.3-fix-error-locale-utf-8.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - extra/locale/gen_wc8bit.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: uClibc-0.9.30.3/extra/locale/gen_wc8bit.c -=================================================================== ---- uClibc-0.9.30.3.orig/extra/locale/gen_wc8bit.c -+++ uClibc-0.9.30.3/extra/locale/gen_wc8bit.c -@@ -119,7 +119,7 @@ - } - - locale_failure: -- printf("could not find a UTF8 locale ... please enable en_US.UTF-8\n"); -+ fprintf(stderr, "could not find a UTF8 locale ... please enable en_US.UTF-8\n"); - return EXIT_FAILURE; - locale_success: - pclose(fp); diff --git a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-000p-fix-procfs.patch b/toolchain/uClibc/uClibc-0.9.30.3-xtensa-000p-fix-procfs.patch deleted file mode 100644 index 8e62d20..0000000 --- a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-000p-fix-procfs.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- uClibc-0.9.29-orig/libc/sysdeps/linux/xtensa/sys/procfs.h 2007-11-16 23:21:00.000000000 -0800 -+++ uClibc-0.9.29/libc/sysdeps/linux/xtensa/sys/procfs.h 2007-11-16 23:26:59.000000000 -0800 -@@ -32,19 +32,11 @@ - #include - #include - #include -+#include - - __BEGIN_DECLS - --/* Type for a general-purpose register. */ --typedef unsigned long elf_greg_t; -- --#define ELF_NGREG 128 --typedef elf_greg_t elf_gregset_t[ELF_NGREG]; -- --/* Register set for the floating-point registers. */ --#define ELF_NFPREG 18 --typedef unsigned long elf_fpreg_t; --typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; -+/* Note: we get elf_gregset_t and elf_fpregset_t from . */ - - /* Signal info. */ - struct elf_siginfo diff --git a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-005-sigcontext.patch b/toolchain/uClibc/uClibc-0.9.30.3-xtensa-005-sigcontext.patch deleted file mode 100644 index 7d7d684..0000000 --- a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-005-sigcontext.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -u /dev/null uClibc-0.9.30/libc/sysdeps/linux/xtensa/bits/sigcontext.h ---- /dev/null -+++ uClibc-0.9.30/libc/sysdeps/linux/xtensa/bits/sigcontext.h -@@ -0,0 +1,41 @@ -+/* Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library 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 -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 51 Franklin Street - Fifth Floor, -+ Boston, MA 02110-1301, USA. */ -+ -+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H -+# error "Never use directly; include instead." -+#endif -+ -+#ifndef _BITS_SIGCONTEXT_H -+#define _BITS_SIGCONTEXT_H 1 -+ -+struct sigcontext -+{ -+ unsigned long sc_pc; -+ unsigned long sc_ps; -+ unsigned long sc_lbeg; -+ unsigned long sc_lend; -+ unsigned long sc_lcount; -+ unsigned long sc_sar; -+ unsigned long sc_acclo; -+ unsigned long sc_acchi; -+ void *sc_xtregs; -+ unsigned long sc_a[16]; -+}; -+ -+#endif /* _BITS_SIGCONTEXT_H */ -+ diff --git a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-009-testandset.patch b/toolchain/uClibc/uClibc-0.9.30.3-xtensa-009-testandset.patch deleted file mode 100644 index f0e4eb2..0000000 --- a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-009-testandset.patch +++ /dev/null @@ -1,59 +0,0 @@ ---- uClibc-0.9.29/libpthread/linuxthreads.old/sysdeps/xtensa/pt-machine.h.orig 2008-09-12 09:51:50.000000000 -0700 -+++ uClibc-0.9.29/libpthread/linuxthreads.old/sysdeps/xtensa/pt-machine.h 2008-10-04 12:14:57.000000000 -0700 -@@ -26,19 +26,51 @@ - #include - - #ifndef PT_EI --# define PT_EI __extern_always_inline -+# define PT_EI extern inline __attribute__ ((gnu_inline)) - #endif - --/* Memory barrier. */ - #define MEMORY_BARRIER() __asm__ ("memw" : : : "memory") -+#define HAS_COMPARE_AND_SWAP -+ -+extern long int testandset (int *spinlock); -+extern int __compare_and_swap (long int *p, long int oldval, long int newval); - - /* Spinlock implementation; required. */ - PT_EI long int - testandset (int *spinlock) - { -- int unused = 0; -- return INTERNAL_SYSCALL (xtensa, , 4, SYS_XTENSA_ATOMIC_SET, -- spinlock, 1, unused); -+ unsigned long tmp; -+ __asm__ volatile ( -+" movi %0, 0 \n" -+" wsr %0, SCOMPARE1 \n" -+" movi %0, 1 \n" -+" s32c1i %0, %1, 0 \n" -+ : "=&a" (tmp) -+ : "a" (spinlock) -+ : "memory" -+ ); -+ return tmp; -+} -+ -+PT_EI int -+__compare_and_swap (long int *p, long int oldval, long int newval) -+{ -+ unsigned long tmp; -+ unsigned long value; -+ __asm__ volatile ( -+"1: l32i %0, %2, 0 \n" -+" bne %0, %4, 2f \n" -+" wsr %0, SCOMPARE1 \n" -+" mov %1, %0 \n" -+" mov %0, %3 \n" -+" s32c1i %0, %2, 0 \n" -+" bne %1, %0, 1b \n" -+"2: \n" -+ : "=&a" (tmp), "=&a" (value) -+ : "a" (p), "a" (newval), "a" (oldval) -+ : "memory" ); -+ -+ return tmp == oldval; - } - - /* Get some notion of the current stack. Need not be exactly the top diff --git a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-010-sigaction.c.patch b/toolchain/uClibc/uClibc-0.9.30.3-xtensa-010-sigaction.c.patch deleted file mode 100644 index 5717c25..0000000 --- a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-010-sigaction.c.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/libc/sysdeps/linux/xtensa/sigaction.c 2008-09-23 21:11:02.000000000 -0700 -+++ b/libc/sysdeps/linux/xtensa/sigaction.c 2008-09-23 21:12:31.000000000 -0700 -@@ -17,6 +17,8 @@ - - #define SA_RESTORER 0x04000000 - -+extern __typeof(sigaction) __libc_sigaction; -+ - extern void __default_sa_restorer (void); - - libc_hidden_proto(memcpy) diff --git a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-011-sysdep.h.patch b/toolchain/uClibc/uClibc-0.9.30.3-xtensa-011-sysdep.h.patch deleted file mode 100644 index 692b0a7..0000000 --- a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-011-sysdep.h.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/libc/sysdeps/linux/xtensa/sysdep.h 2008-09-23 21:17:42.000000000 -0700 -+++ b/libc/sysdeps/linux/xtensa/sysdep.h 2008-09-23 21:17:59.000000000 -0700 -@@ -114,15 +114,7 @@ - - #define ret_ERRVAL retw - --#if RTLD_PRIVATE_ERRNO --# define SYSCALL_ERROR_HANDLER \ --0: movi a4, rtld_errno; \ -- neg a2, a2; \ -- s32i a2, a4, 0; \ -- movi a2, -1; \ -- j .Lpseudo_end; -- --#elif defined _LIBC_REENTRANT -+#if defined _LIBC_REENTRANT - - # if USE___THREAD - # ifndef NOT_IN_libc diff --git a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-012-fnmatch_old.c.patch b/toolchain/uClibc/uClibc-0.9.30.3-xtensa-012-fnmatch_old.c.patch deleted file mode 100644 index 66cb1f6..0000000 --- a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-012-fnmatch_old.c.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/libc/misc/fnmatch/fnmatch_old.c 2008-09-23 21:23:13.000000000 -0700 -+++ b/libc/misc/fnmatch/fnmatch_old.c 2008-09-23 21:23:33.000000000 -0700 -@@ -15,7 +15,7 @@ - not, write to the Free Software Foundation, Inc., 675 Mass Ave, - Cambridge, MA 02139, USA. */ - --#if HAVE_CONFIG_H -+#ifdef HAVE_CONFIG_H - # include - #endif - diff --git a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-013-atomic.h.patch b/toolchain/uClibc/uClibc-0.9.30.3-xtensa-013-atomic.h.patch deleted file mode 100644 index fd20371..0000000 --- a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-013-atomic.h.patch +++ /dev/null @@ -1,165 +0,0 @@ ---- /dev/null 2008-09-18 06:50:54.356228028 -0700 -+++ uClibc-0.9.29/libc/sysdeps/linux/xtensa/bits/atomic.h 2008-10-04 11:40:21.000000000 -0700 -@@ -0,0 +1,162 @@ -+/* -+ * Copyright (C) 2008 Tensilica, Inc. -+ * Contributed by Joe Taylor 2008 -+ * -+ * This file is subject to the terms and conditions of the GNU Lesser General -+ * Public License. See the file "COPYING.LIB" in the main directory of this -+ * archive for more details. -+ */ -+ -+#ifndef _XTENSA_BITS_ATOMIC_H -+#define _XTENSA_BITS_ATOMIC_H 1 -+ -+/* Xtensa has only a 32-bit form of a store-conditional instruction, -+ so just stub out the rest. */ -+ -+/* Atomically store NEWVAL in *MEM if *MEM is equal to OLDVAL. -+ Return the old *MEM value. */ -+ -+#define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \ -+ ({__typeof__(*(mem)) __tmp, __value; \ -+ __asm__ __volatile__( \ -+ "1: l32i %1, %2, 0 \n" \ -+ " bne %1, %4, 2f \n" \ -+ " wsr %1, SCOMPARE1 \n" \ -+ " mov %0, %1 \n" \ -+ " mov %1, %3 \n" \ -+ " s32c1i %1, %2, 0 \n" \ -+ " bne %0, %1, 1b \n" \ -+ "2: \n" \ -+ : "=&a" (__value), "=&a" (__tmp) \ -+ : "a" (mem), "a" (newval), "a" (oldval) \ -+ : "memory" ); \ -+ __tmp; \ -+ }) -+ -+/* Atomically store NEWVAL in *MEM if *MEM is equal to OLDVAL. -+ Return zero if *MEM was changed or non-zero if no exchange happened. */ -+ -+#define __arch_compare_and_exchange_bool_32_acq(mem, newval, oldval) \ -+ ({__typeof__(*(mem)) __tmp, __value; \ -+ __asm__ __volatile__( \ -+ "1: l32i %0, %2, 0 \n" \ -+ " sub %1, %4, %0 \n" \ -+ " bnez %1, 2f \n" \ -+ " wsr %0, SCOMPARE1 \n" \ -+ " mov %1, %3 \n" \ -+ " s32c1i %1, %2, 0 \n" \ -+ " bne %0, %1, 1b \n" \ -+ " movi %1, 0 \n" \ -+ "2: \n" \ -+ : "=&a" (__value), "=&a" (__tmp) \ -+ : "a" (mem), "a" (newval), "a" (oldval) \ -+ : "memory" ); \ -+ __tmp != 0; \ -+ }) -+ -+/* Store NEWVALUE in *MEM and return the old value. */ -+ -+#define __arch_exchange_32_acq(mem, newval) \ -+ ({__typeof__(*(mem)) __tmp, __value; \ -+ __asm__ __volatile__( \ -+ "1: l32i %0, %2, 0 \n" \ -+ " wsr %0, SCOMPARE1 \n" \ -+ " mov %1, %3 \n" \ -+ " s32c1i %1, %2, 0 \n" \ -+ " bne %0, %1, 1b \n" \ -+ : "=&a" (__value), "=&a" (__tmp) \ -+ : "a" (mem), "a" (newval) \ -+ : "memory" ); \ -+ __tmp; \ -+ }) -+ -+/* Add VALUE to *MEM and return the old value of *MEM. */ -+ -+#define __arch_atomic_exchange_and_add_32(mem, value) \ -+ ({__typeof__(*(mem)) __tmp, __value; \ -+ __asm__ __volatile__( \ -+ "1: l32i %0, %2, 0 \n" \ -+ " wsr %0, SCOMPARE1 \n" \ -+ " add %1, %0, %3 \n" \ -+ " s32c1i %1, %2, 0 \n" \ -+ " bne %0, %1, 1b \n" \ -+ : "=&a" (__value), "=&a" (__tmp) \ -+ : "a" (mem), "a" (value) \ -+ : "memory" ); \ -+ __tmp; \ -+ }) -+ -+/* Subtract VALUE from *MEM and return the old value of *MEM. */ -+ -+#define __arch_atomic_exchange_and_sub_32(mem, value) \ -+ ({__typeof__(*(mem)) __tmp, __value; \ -+ __asm__ __volatile__( \ -+ "1: l32i %0, %2, 0 \n" \ -+ " wsr %0, SCOMPARE1 \n" \ -+ " sub %1, %0, %3 \n" \ -+ " s32c1i %1, %2, 0 \n" \ -+ " bne %0, %1, 1b \n" \ -+ : "=&a" (__value), "=&a" (__tmp) \ -+ : "a" (mem), "a" (value) \ -+ : "memory" ); \ -+ __tmp; \ -+ }) -+ -+/* Decrement *MEM if it is > 0, and return the old value. */ -+ -+#define __arch_atomic_decrement_if_positive_32(mem) \ -+ ({__typeof__(*(mem)) __tmp, __value; \ -+ __asm__ __volatile__( \ -+ "1: l32i %0, %2, 0 \n" \ -+ " blti %0, 1, 2f \n" \ -+ " wsr %0, SCOMPARE1 \n" \ -+ " addi %1, %0, -1 \n" \ -+ " s32c1i %1, %2, 0 \n" \ -+ " bne %0, %1, 1b \n" \ -+ "2: \n" \ -+ : "=&a" (__value), "=&a" (__tmp) \ -+ : "a" (mem) \ -+ : "memory" ); \ -+ __tmp; \ -+ }) -+ -+ -+/* These are the preferred public interfaces: */ -+ -+#define atomic_compare_and_exchange_val_acq(mem, newval, oldval) \ -+ ({ \ -+ if (sizeof (*mem) != 4) \ -+ abort(); \ -+ __arch_compare_and_exchange_val_32_acq(mem, newval, oldval); \ -+ }) -+ -+#define atomic_exchange_acq(mem, newval) \ -+ ({ \ -+ if (sizeof(*(mem)) != 4) \ -+ abort(); \ -+ __arch_exchange_32_acq(mem, newval); \ -+ }) -+ -+#define atomic_exchange_and_add(mem, newval) \ -+ ({ \ -+ if (sizeof(*(mem)) != 4) \ -+ abort(); \ -+ __arch_atomic_exchange_and_add_32(mem, newval); \ -+ }) -+ -+#define atomic_exchange_and_sub(mem, newval) \ -+ ({ \ -+ if (sizeof(*(mem)) != 4) \ -+ abort(); \ -+ __arch_atomic_exchange_and_sub_32(mem, newval); \ -+ }) -+ -+#define atomic_decrement_if_positive(mem) \ -+ ({ \ -+ if (sizeof(*(mem)) != 4) \ -+ abort(); \ -+ __arch_atomic_decrement_if_positive_32(mem); \ -+ }) -+ -+#endif /* _XTENSA_BITS_ATOMIC_H */ -+ diff --git a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-014-setjump.S.patch b/toolchain/uClibc/uClibc-0.9.30.3-xtensa-014-setjump.S.patch deleted file mode 100644 index 720b44b..0000000 --- a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-014-setjump.S.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- uClibc-0.9.30/libc/sysdeps/linux/xtensa/setjmp.S.orig 2009-05-01 16:57:16.195893000 -0700 -+++ uClibc-0.9.30/libc/sysdeps/linux/xtensa/setjmp.S 2009-05-01 16:58:03.885160000 -0700 -@@ -86,7 +86,7 @@ ENTRY (__sigsetjmp) - /* Copy 0-8 words from the register overflow area. */ - extui a3, a0, 30, 2 - blti a3, 2, .Lendsj -- l32i a7, a1, 4 -+ l32i a7, a5, 4 - slli a4, a3, 4 - sub a5, a7, a4 - addi a6, a2, 16 diff --git a/toolchain/uClibc/uClibc-0.9.31.1-unshare.patch b/toolchain/uClibc/uClibc-0.9.31.1-unshare.patch new file mode 100644 index 0000000..ad440d9 --- /dev/null +++ b/toolchain/uClibc/uClibc-0.9.31.1-unshare.patch @@ -0,0 +1,74 @@ +Backport of unshare() syscall. +From uClibc git 19dd090a0f68765db87990ef8eda9bf77bb29581 + +Signed-off-by: Gustavo Zacarias + +--- +diff -Nura uClibc-0.9.31.1.orig/libc/sysdeps/linux/common/bits/sched.h uClibc-0.9.31.1/libc/sysdeps/linux/common/bits/sched.h +--- uClibc-0.9.31.1.orig/libc/sysdeps/linux/common/bits/sched.h 2011-06-08 15:58:40.000000000 -0300 ++++ uClibc-0.9.31.1/libc/sysdeps/linux/common/bits/sched.h 2011-12-05 08:10:02.491978849 -0300 +@@ -58,7 +58,13 @@ + force CLONE_PTRACE on this clone. */ + # define CLONE_CHILD_SETTID 0x01000000 /* Store TID in userlevel buffer in + the child. */ +-# define CLONE_STOPPED 0x02000000 /* Start in stopped state. */ ++# define CLONE_STOPPED 0x02000000 /* Start in stopped state. */ ++# define CLONE_NEWUTS 0x04000000 /* New utsname group. */ ++# define CLONE_NEWIPC 0x08000000 /* New ipcs. */ ++# define CLONE_NEWUSER 0x10000000 /* New user namespace. */ ++# define CLONE_NEWPID 0x20000000 /* New pid namespace. */ ++# define CLONE_NEWNET 0x40000000 /* New network namespace. */ ++# define CLONE_IO 0x80000000 /* Clone I/O context. */ + #endif + + /* The official definition. */ +@@ -74,11 +80,9 @@ + extern int clone (int (*__fn) (void *__arg), void *__child_stack, + int __flags, void *__arg, ...) __THROW; + +-#if 0 + /* Unshare the specified resources. */ + extern int unshare (int __flags) __THROW; + #endif +-#endif + + __END_DECLS + +diff -Nura uClibc-0.9.31.1.orig/libc/sysdeps/linux/common/Makefile.in uClibc-0.9.31.1/libc/sysdeps/linux/common/Makefile.in +--- uClibc-0.9.31.1.orig/libc/sysdeps/linux/common/Makefile.in 2011-06-08 15:58:40.000000000 -0300 ++++ uClibc-0.9.31.1/libc/sysdeps/linux/common/Makefile.in 2011-12-05 08:23:28.353757602 -0300 +@@ -31,7 +31,8 @@ + remap_file_pages.c sched_getaffinity.c sched_setaffinity.c \ + sendfile64.c sendfile.c setfsgid.c setfsuid.c setresuid.c \ + splice.c vmsplice.c tee.c signalfd.c swapoff.c swapon.c \ +- sync_file_range.c sysctl.c sysinfo.c timerfd.c uselib.c vhangup.c,$(CSRC)) ++ sync_file_range.c sysctl.c sysinfo.c timerfd.c unshare.c uselib.c \ ++ vhangup.c,$(CSRC)) + endif + + ifneq ($(UCLIBC_BSD_SPECIFIC),y) +diff -Nura uClibc-0.9.31.1.orig/libc/sysdeps/linux/common/unshare.c uClibc-0.9.31.1/libc/sysdeps/linux/common/unshare.c +--- uClibc-0.9.31.1.orig/libc/sysdeps/linux/common/unshare.c 1969-12-31 21:00:00.000000000 -0300 ++++ uClibc-0.9.31.1/libc/sysdeps/linux/common/unshare.c 2011-12-05 08:22:45.954453512 -0300 +@@ -0,0 +1,21 @@ ++/* vi: set sw=4 ts=4: */ ++/* ++ * unshare() for uClibc ++ * ++ * Copyright (C) 2011 Henning Heinold ++ * ++ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. ++ */ ++ ++#include ++#include ++ ++#if defined __NR_unshare && defined __UCLIBC_LINUX_SPECIFIC__ ++_syscall1(int, unshare, int, flags) ++#else ++int unshare(int flags) ++{ ++ __set_errno(ENOSYS); ++ return -1; ++} ++#endif diff --git a/toolchain/uClibc/uClibc-0.9.32-Fix-e500-fpu-libm-build.patch b/toolchain/uClibc/uClibc-0.9.32-Fix-e500-fpu-libm-build.patch deleted file mode 100644 index a228bc1..0000000 --- a/toolchain/uClibc/uClibc-0.9.32-Fix-e500-fpu-libm-build.patch +++ /dev/null @@ -1,31 +0,0 @@ ->From 826984dee547b41238dc9572a1c756506a3c9148 Mon Sep 17 00:00:00 2001 -From: Jason Woodward -Date: Sat, 11 Jun 2011 19:09:53 -0400 -Subject: [PATCH] Fix e500 fpu libm build - -Define libm_ARCH_fpu_OUT in libm/powerpc/e500/Makefile.arch as it is used -in libm/powerpc/e500/fpu/Makefile.arch - - libm_ARCH_OBJ:=$(patsubst $(libm_ARCH_fpu_DIR)/%.c,$(libm_ARCH_fpu_OUT)/%.o,$(libm_ARCH_SRC)) - -This appears to have been broken since cd3a494e99fa4bcad1c2a621b71361005528bead - -Signed-off-by: Jason Woodward ---- - libm/powerpc/e500/Makefile.arch | 1 + - 1 files changed, 1 insertions(+), 0 deletions(-) - -diff --git a/libm/powerpc/e500/Makefile.arch b/libm/powerpc/e500/Makefile.arch -index 912ce7f..febde67 100644 ---- a/libm/powerpc/e500/Makefile.arch -+++ b/libm/powerpc/e500/Makefile.arch -@@ -6,5 +6,6 @@ - # - - libm_ARCH_fpu_DIR := $(libm_SUBARCH_DIR)/fpu -+libm_ARCH_fpu_OUT := $(libm_SUBARCH_OUT)/fpu - -include $(libm_ARCH_fpu_DIR)/Makefile.arch - --- -1.7.0.4 - diff --git a/toolchain/uClibc/uClibc-0.9.32-fix-daylight-saving-time-handling.patch b/toolchain/uClibc/uClibc-0.9.32-fix-daylight-saving-time-handling.patch deleted file mode 100644 index 5a96113..0000000 --- a/toolchain/uClibc/uClibc-0.9.32-fix-daylight-saving-time-handling.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 47f3da1cf49377c25772bb54d07db55225bbb142 Mon Sep 17 00:00:00 2001 -From: Guillaume Bourcier -Date: Tue, 11 Oct 2011 13:45:33 +0200 -Subject: [PATCH] libc: fix daylight saving time handling - -The algorithm computing daylight saving time incorrectly adds a day for -each month after January for leap years. The clock shift from/to DST can -be delayed if the last Sunday of a transition month is exactly seven -days before the first of the following month. - -This change adds a day for the February month only. - -Signed-off-by: Guillaume Bourcier -Signed-off-by: Richard Braun -Signed-off-by: Carmelo Amoroso -Signed-off-by: Gustavo Zacarias ---- - libc/misc/time/time.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/libc/misc/time/time.c b/libc/misc/time/time.c -index 19d68e1..8e2ebf1 100644 ---- a/libc/misc/time/time.c -+++ b/libc/misc/time/time.c -@@ -689,7 +689,7 @@ static int tm_isdst(register const struct tm *__restrict ptm, - ++day; - } - monlen = 31 + day_cor[r->month -1] - day_cor[r->month]; -- if (isleap && (r->month > 1)) { -+ if (isleap && (r->month == 2)) { - ++monlen; - } - /* Wweekday (0 is Sunday) of 1st of the month --- -1.7.3.4 - diff --git a/toolchain/uClibc/uClibc-0.9.32-honor-UCLIBC_HAS_FENV-for-e500.patch b/toolchain/uClibc/uClibc-0.9.32-honor-UCLIBC_HAS_FENV-for-e500.patch deleted file mode 100644 index c90c34c..0000000 --- a/toolchain/uClibc/uClibc-0.9.32-honor-UCLIBC_HAS_FENV-for-e500.patch +++ /dev/null @@ -1,28 +0,0 @@ ->From 69d9cf20955d0222a5a2631021bc10854ea98128 Mon Sep 17 00:00:00 2001 -From: Jason Woodward -Date: Sat, 11 Jun 2011 20:39:33 -0400 -Subject: [PATCH] honor UCLIBC_HAS_FENV for e500 - -Signed-off-by: Jason Woodward ---- - libm/powerpc/e500/fpu/Makefile.arch | 2 ++ - 1 files changed, 2 insertions(+), 0 deletions(-) - -diff --git a/libm/powerpc/e500/fpu/Makefile.arch b/libm/powerpc/e500/fpu/Makefile.arch -index 8f00e09..904561e 100644 ---- a/libm/powerpc/e500/fpu/Makefile.arch -+++ b/libm/powerpc/e500/fpu/Makefile.arch -@@ -6,8 +6,10 @@ - # - - -+ifeq ($(UCLIBC_HAS_FENV),y) - libm_ARCH_SRC:=$(wildcard $(libm_ARCH_fpu_DIR)/*.c) - libm_ARCH_OBJ:=$(patsubst $(libm_ARCH_fpu_DIR)/%.c,$(libm_ARCH_fpu_OUT)/%.o,$(libm_ARCH_SRC)) -+endif - - libm_ARCH_OBJS:=$(libm_ARCH_OBJ) - --- -1.7.0.4 - diff --git a/toolchain/uClibc/uClibc-0.9.32-Fix-__libc_epoll_pwait-compile-failure-on-x86.patch b/toolchain/uClibc/uClibc-0.9.32.1-Fix-__libc_epoll_pwait-compile-failure-on-x86.patch similarity index 100% rename from toolchain/uClibc/uClibc-0.9.32-Fix-__libc_epoll_pwait-compile-failure-on-x86.patch rename to toolchain/uClibc/uClibc-0.9.32.1-Fix-__libc_epoll_pwait-compile-failure-on-x86.patch diff --git a/toolchain/uClibc/uClibc-0.9.32-Fix-e500-__fe_nomask_env-use-of-__set_errno.patch b/toolchain/uClibc/uClibc-0.9.32.1-Fix-e500-__fe_nomask_env-use-of-__set_errno.patch similarity index 100% rename from toolchain/uClibc/uClibc-0.9.32-Fix-e500-__fe_nomask_env-use-of-__set_errno.patch rename to toolchain/uClibc/uClibc-0.9.32.1-Fix-e500-__fe_nomask_env-use-of-__set_errno.patch diff --git a/toolchain/uClibc/uClibc-0.9.32-linuxthreads-errno-fix.patch b/toolchain/uClibc/uClibc-0.9.32.1-linuxthreads-errno-fix.patch similarity index 100% rename from toolchain/uClibc/uClibc-0.9.32-linuxthreads-errno-fix.patch rename to toolchain/uClibc/uClibc-0.9.32.1-linuxthreads-errno-fix.patch diff --git a/toolchain/uClibc/uClibc-0.9.32-sparc-errno-fix.patch b/toolchain/uClibc/uClibc-0.9.32.1-sparc-errno-fix.patch similarity index 100% rename from toolchain/uClibc/uClibc-0.9.32-sparc-errno-fix.patch rename to toolchain/uClibc/uClibc-0.9.32.1-sparc-errno-fix.patch diff --git a/toolchain/uClibc/uClibc-0.9.32.1-unshare.patch b/toolchain/uClibc/uClibc-0.9.32.1-unshare.patch new file mode 100644 index 0000000..5820e15 --- /dev/null +++ b/toolchain/uClibc/uClibc-0.9.32.1-unshare.patch @@ -0,0 +1,82 @@ +Backport of unshare() syscall. +From uClibc git 19dd090a0f68765db87990ef8eda9bf77bb29581 + +Signed-off-by: Gustavo Zacarias + +--- +diff -Nura uClibc-0.9.32.orig/libc/sysdeps/linux/common/bits/sched.h uClibc-0.9.32/libc/sysdeps/linux/common/bits/sched.h +--- uClibc-0.9.32.orig/libc/sysdeps/linux/common/bits/sched.h 2011-12-02 23:54:30.571841170 -0300 ++++ uClibc-0.9.32/libc/sysdeps/linux/common/bits/sched.h 2011-12-02 23:57:45.874205079 -0300 +@@ -58,7 +58,13 @@ + force CLONE_PTRACE on this clone. */ + # define CLONE_CHILD_SETTID 0x01000000 /* Store TID in userlevel buffer in + the child. */ +-# define CLONE_STOPPED 0x02000000 /* Start in stopped state. */ ++# define CLONE_STOPPED 0x02000000 /* Start in stopped state. */ ++# define CLONE_NEWUTS 0x04000000 /* New utsname group. */ ++# define CLONE_NEWIPC 0x08000000 /* New ipcs. */ ++# define CLONE_NEWUSER 0x10000000 /* New user namespace. */ ++# define CLONE_NEWPID 0x20000000 /* New pid namespace. */ ++# define CLONE_NEWNET 0x40000000 /* New network namespace. */ ++# define CLONE_IO 0x80000000 /* Clone I/O context. */ + #endif + + /* The official definition. */ +@@ -74,11 +80,9 @@ + extern int clone (int (*__fn) (void *__arg), void *__child_stack, + int __flags, void *__arg, ...) __THROW; + +-#if 0 + /* Unshare the specified resources. */ + extern int unshare (int __flags) __THROW; + #endif +-#endif + + __END_DECLS + +diff -Nura uClibc-0.9.32.orig/libc/sysdeps/linux/common/Makefile.in uClibc-0.9.32/libc/sysdeps/linux/common/Makefile.in +--- uClibc-0.9.32.orig/libc/sysdeps/linux/common/Makefile.in 2011-12-02 23:54:30.577841215 -0300 ++++ uClibc-0.9.32/libc/sysdeps/linux/common/Makefile.in 2011-12-02 23:56:08.801527166 -0300 +@@ -24,7 +24,8 @@ + remap_file_pages.c sched_getaffinity.c sched_setaffinity.c \ + sendfile64.c sendfile.c setfsgid.c setfsuid.c setresuid.c \ + splice.c vmsplice.c tee.c signalfd.c swapoff.c swapon.c \ +- sync_file_range.c sysctl.c sysinfo.c timerfd.c uselib.c vhangup.c ++ sync_file_range.c sysctl.c sysinfo.c timerfd.c unshare.c uselib.c \ ++ vhangup.c + # NPTL needs these internally: madvise.c + CSRC-$(findstring y,$(UCLIBC_LINUX_SPECIFIC)$(UCLIBC_HAS_THREADS_NATIVE)) += madvise.c + ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y) +diff -Nura uClibc-0.9.32.orig/libc/sysdeps/linux/common/stubs.c uClibc-0.9.32/libc/sysdeps/linux/common/stubs.c +--- uClibc-0.9.32.orig/libc/sysdeps/linux/common/stubs.c 2011-12-02 23:54:30.577841215 -0300 ++++ uClibc-0.9.32/libc/sysdeps/linux/common/stubs.c 2011-12-02 23:58:18.803435042 -0300 +@@ -278,6 +278,10 @@ + make_stub(umount2) + #endif + ++#if !defined __NR_unshare && defined __UCLIBC_LINUX_SPECIFIC__ ++make_stub(unshare) ++#endif ++ + #ifndef __NR_utimensat + make_stub(futimens) + make_stub(utimensat) +diff -Nura uClibc-0.9.32.orig/libc/sysdeps/linux/common/unshare.c uClibc-0.9.32/libc/sysdeps/linux/common/unshare.c +--- uClibc-0.9.32.orig/libc/sysdeps/linux/common/unshare.c 1969-12-31 21:00:00.000000000 -0300 ++++ uClibc-0.9.32/libc/sysdeps/linux/common/unshare.c 2011-12-02 23:58:42.693601880 -0300 +@@ -0,0 +1,15 @@ ++/* vi: set sw=4 ts=4: */ ++/* ++ * unshare() for uClibc ++ * ++ * Copyright (C) 2011 Henning Heinold ++ * ++ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. ++ */ ++ ++#include ++#include ++ ++#if defined __NR_unshare ++_syscall1(int, unshare, int, flags) ++#endif diff --git a/toolchain/uClibc/uClibc-0.9.33-Declare-__err-and-pass-it-to-INTERNAL_SYSCALL_NCS.patch b/toolchain/uClibc/uClibc-0.9.33-Declare-__err-and-pass-it-to-INTERNAL_SYSCALL_NCS.patch new file mode 100644 index 0000000..68077f5 --- /dev/null +++ b/toolchain/uClibc/uClibc-0.9.33-Declare-__err-and-pass-it-to-INTERNAL_SYSCALL_NCS.patch @@ -0,0 +1,30 @@ +From ca457af92be7835edf77f34bead94f504fbc2d4b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 3 Feb 2012 10:57:44 -0800 +Subject: [PATCH 2/4] Declare __err and pass it to INTERNAL_SYSCALL_NCS so + subsequent macros can use it + +Signed-off-by: Khem Raj +Signed-off-by: Bernhard Reutner-Fischer +--- + libc/sysdeps/linux/common/bits/syscalls-common.h | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libc/sysdeps/linux/common/bits/syscalls-common.h b/libc/sysdeps/linux/common/bits/syscalls-common.h +index faebd1b..0f5a929 100644 +--- a/libc/sysdeps/linux/common/bits/syscalls-common.h ++++ b/libc/sysdeps/linux/common/bits/syscalls-common.h +@@ -59,8 +59,8 @@ + #ifndef INLINE_SYSCALL_NOERR_NCS + # define INLINE_SYSCALL_NOERR_NCS(name, nr, args...) \ + ({ \ +- /*INTERNAL_SYSCALL_DECL(__err);*/ \ +- long __res = INTERNAL_SYSCALL_NCS(name, /*__err*/, nr, args); \ ++ INTERNAL_SYSCALL_DECL(__err); \ ++ long __res = INTERNAL_SYSCALL_NCS(name, __err, nr, args); \ + __res; \ + }) + #endif +-- +1.7.8.3 + diff --git a/toolchain/uClibc/uClibc-0.9.33-lstat-stat-fstat-Use-64bit-version-of-syscall.patch b/toolchain/uClibc/uClibc-0.9.33-lstat-stat-fstat-Use-64bit-version-of-syscall.patch new file mode 100644 index 0000000..a9d1c96 --- /dev/null +++ b/toolchain/uClibc/uClibc-0.9.33-lstat-stat-fstat-Use-64bit-version-of-syscall.patch @@ -0,0 +1,179 @@ +From b813377f6c746118a9d2625e6b29ffeec4233663 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 3 Feb 2012 20:06:55 -0800 +Subject: [PATCH 3/4] lstat/stat/fstat: Use 64bit version of syscall if + available + +This is needed for stat'ing loop devices > 255 +since otherwise kernel returns EOVERFLOW becasue +it needs st_rdev/st_dev to be larger than 16bits but +in kernel it uses __old_kernel_stat for stat +syscall which has st_rdev/st_dev as unsigned short + +Add a testcase + +Signed-off-by: Khem Raj +Signed-off-by: Bernhard Reutner-Fischer +--- + libc/sysdeps/linux/common/fstat.c | 18 ++++++++++++++---- + libc/sysdeps/linux/common/lstat.c | 19 ++++++++++++++----- + libc/sysdeps/linux/common/stat.c | 18 ++++++++++++++---- + test/stat/stat-loop256.c | 32 ++++++++++++++++++++++++++++++++ + 4 files changed, 74 insertions(+), 13 deletions(-) + create mode 100644 test/stat/stat-loop256.c + +diff --git a/libc/sysdeps/linux/common/fstat.c b/libc/sysdeps/linux/common/fstat.c +index acc639b..4726a68 100644 +--- a/libc/sysdeps/linux/common/fstat.c ++++ b/libc/sysdeps/linux/common/fstat.c +@@ -12,18 +12,28 @@ + #include + #include "xstatconv.h" + +-#define __NR___syscall_fstat __NR_fstat +-static __inline__ _syscall2(int, __syscall_fstat, int, fd, struct kernel_stat *, buf) +- + int fstat(int fd, struct stat *buf) + { + int result; ++#ifdef __NR_fstat64 ++ /* normal stat call has limited values for various stat elements ++ * e.g. uid device major/minor etc. ++ * so we use 64 variant if available ++ * in order to get newer versions of stat elements ++ */ ++ struct kernel_stat64 kbuf; ++ result = INLINE_SYSCALL(fstat64, 2, fd, &kbuf); ++ if (result == 0) { ++ __xstat32_conv(&kbuf, buf); ++ } ++#else + struct kernel_stat kbuf; + +- result = __syscall_fstat(fd, &kbuf); ++ result = INLINE_SYSCALL(fstat, 2, fd, &kbuf); + if (result == 0) { + __xstat_conv(&kbuf, buf); + } ++#endif + return result; + } + libc_hidden_def(fstat) +diff --git a/libc/sysdeps/linux/common/lstat.c b/libc/sysdeps/linux/common/lstat.c +index aa77447..db72d1f 100644 +--- a/libc/sysdeps/linux/common/lstat.c ++++ b/libc/sysdeps/linux/common/lstat.c +@@ -12,19 +12,28 @@ + #include + #include "xstatconv.h" + +-#define __NR___syscall_lstat __NR_lstat +-static __inline__ _syscall2(int, __syscall_lstat, +- const char *, file_name, struct kernel_stat *, buf) +- + int lstat(const char *file_name, struct stat *buf) + { + int result; ++#ifdef __NR_lstat64 ++ /* normal stat call has limited values for various stat elements ++ * e.g. uid device major/minor etc. ++ * so we use 64 variant if available ++ * in order to get newer versions of stat elements ++ */ ++ struct kernel_stat64 kbuf; ++ result = INLINE_SYSCALL(lstat64, 2, file_name, &kbuf); ++ if (result == 0) { ++ __xstat32_conv(&kbuf, buf); ++ } ++#else + struct kernel_stat kbuf; + +- result = __syscall_lstat(file_name, &kbuf); ++ result = INLINE_SYSCALL(lstat, 2, file_name, &kbuf); + if (result == 0) { + __xstat_conv(&kbuf, buf); + } ++#endif + return result; + } + libc_hidden_def(lstat) +diff --git a/libc/sysdeps/linux/common/stat.c b/libc/sysdeps/linux/common/stat.c +index a6ab291..829f35a 100644 +--- a/libc/sysdeps/linux/common/stat.c ++++ b/libc/sysdeps/linux/common/stat.c +@@ -12,20 +12,30 @@ + #include + #include "xstatconv.h" + +-#define __NR___syscall_stat __NR_stat + #undef stat +-static __inline__ _syscall2(int, __syscall_stat, +- const char *, file_name, struct kernel_stat *, buf) + + int stat(const char *file_name, struct stat *buf) + { + int result; ++#ifdef __NR_stat64 ++ /* normal stat call has limited values for various stat elements ++ * e.g. uid device major/minor etc. ++ * so we use 64 variant if available ++ * in order to get newer versions of stat elements ++ */ ++ struct kernel_stat64 kbuf; ++ result = INLINE_SYSCALL(stat64, 2, file_name, &kbuf); ++ if (result == 0) { ++ __xstat32_conv(&kbuf, buf); ++ } ++#else + struct kernel_stat kbuf; + +- result = __syscall_stat(file_name, &kbuf); ++ result = INLINE_SYSCALL(stat, 2, file_name, &kbuf); + if (result == 0) { + __xstat_conv(&kbuf, buf); + } ++#endif + return result; + } + libc_hidden_def(stat) +diff --git a/test/stat/stat-loop256.c b/test/stat/stat-loop256.c +new file mode 100644 +index 0000000..14284c1 +--- /dev/null ++++ b/test/stat/stat-loop256.c +@@ -0,0 +1,32 @@ ++#include ++#include ++#include ++#include ++int main() ++{ ++ struct stat statbuf; ++ int ret = 0; ++ char* loop255 = "/dev/loop255"; ++ char* loop256 = "/dev/loop256"; ++ mode_t mode = 0660; ++ mknod(loop255, mode, 0x7ff); ++ mknod(loop256, mode, 0x100700); ++ ret = stat(loop255, &statbuf); ++ if(ret < 0) { ++ printf("stat: Cant stat %s\n",loop255); ++ unlink(loop255); ++ exit(1); ++ } ++ ret = stat(loop256, &statbuf); ++ if(ret < 0) { ++ printf("stat: Cant stat %s\n",loop256); ++ unlink(loop255); ++ unlink(loop256); ++ exit(1); ++ } ++ ++ unlink(loop255); ++ unlink(loop256); ++ exit(0); ++} ++ +-- +1.7.8.3 + diff --git a/toolchain/uClibc/uClibc-0.9.30.config b/toolchain/uClibc/uClibc-0.9.33.config similarity index 83% rename from toolchain/uClibc/uClibc-0.9.30.config rename to toolchain/uClibc/uClibc-0.9.33.config index 49ac3ef..2a6754c 100644 --- a/toolchain/uClibc/uClibc-0.9.30.config +++ b/toolchain/uClibc/uClibc-0.9.33.config @@ -1,5 +1,7 @@ # # Automatically generated make config: don't edit +# Version: 0.9.32-git +# Fri Jul 9 22:31:59 2010 # # TARGET_alpha is not set # TARGET_arm is not set @@ -26,25 +28,49 @@ # TARGET_vax is not set # TARGET_x86_64 is not set # TARGET_xtensa is not set +# TARGET_c6x is not set +# CONFIG_GENERIC_ARM is not set +# CONFIG_ARM610 is not set +# CONFIG_ARM710 is not set +# CONFIG_ARM7TDMI is not set +# CONFIG_ARM720T is not set +# CONFIG_ARM920T is not set +# CONFIG_ARM922T is not set +# CONFIG_ARM926T is not set +# CONFIG_ARM10T is not set +# CONFIG_ARM1136JF_S is not set +# CONFIG_ARM1176JZ_S is not set +# CONFIG_ARM1176JZF_S is not set +# CONFIG_ARM_CORTEX_M3 is not set +# CONFIG_ARM_CORTEX_M1 is not set +# CONFIG_ARM_SA110 is not set +# CONFIG_ARM_SA1100 is not set +# CONFIG_ARM_XSCALE is not set +# CONFIG_ARM_IWMMXT is not set + +# COMPILE_IN_THUMB_MODE is not set +USE_BX=y + +TARGET_SUBARCH="" # # Target Architecture Features and Options # TARGET_ARCH="none" FORCE_OPTIONS_FOR_ARCH=y +# +# Using ELF file format +# # ARCH_LITTLE_ENDIAN is not set # ARCH_BIG_ENDIAN is not set # ARCH_WANTS_LITTLE_ENDIAN is not set # ARCH_WANTS_BIG_ENDIAN is not set - -# -# Using Little Endian -# ARCH_HAS_MMU=y ARCH_USE_MMU=y UCLIBC_HAS_FLOATS=y UCLIBC_HAS_FPU=y DO_C99_MATH=y +# DO_XSI_MATH is not set # UCLIBC_HAS_FENV is not set UCLIBC_HAS_LONG_DOUBLE_MATH=y KERNEL_HEADERS="/usr/src/linux/include" @@ -58,18 +84,26 @@ DOPIC=y # ARCH_HAS_NO_SHARED is not set # ARCH_HAS_NO_LDSO is not set HAVE_SHARED=y -FORCE_SHAREABLE_TEXT_SEGMENTS=y +# FORCE_SHAREABLE_TEXT_SEGMENTS is not set LDSO_LDD_SUPPORT=y # LDSO_CACHE_SUPPORT is not set +LDSO_PRELOAD_ENV_SUPPORT=y # LDSO_PRELOAD_FILE_SUPPORT is not set +# LDSO_STANDALONE_SUPPORT is not set +# LDSO_PRELINK_SUPPORT is not set # UCLIBC_STATIC_LDCONFIG is not set LDSO_RUNPATH=y +LDSO_SEARCH_INTERP_PATH=y +LDSO_LD_LIBRARY_PATH=y +# LDSO_NO_CLEANUP is not set UCLIBC_CTOR_DTOR=y # LDSO_GNU_HASH_SUPPORT is not set # HAS_NO_THREADS is not set +LINUXTHREADS_OLD=y +# LINUXTHREADS_NEW is not set +# UCLIBC_HAS_THREADS_NATIVE is not set UCLIBC_HAS_THREADS=y # PTHREADS_DEBUG_SUPPORT is not set -LINUXTHREADS_OLD=y UCLIBC_HAS_SYSLOG=y UCLIBC_HAS_LFS=y # MALLOC is not set @@ -78,8 +112,10 @@ MALLOC_STANDARD=y MALLOC_GLIBC_COMPAT=y UCLIBC_DYNAMIC_ATEXIT=y # COMPAT_ATEXIT is not set -# UCLIBC_SUSV3_LEGACY is not set +UCLIBC_SUSV3_LEGACY=y # UCLIBC_SUSV3_LEGACY_MACROS is not set +UCLIBC_SUSV4_LEGACY=y +# UCLIBC_STRICT_HEADERS is not set # UCLIBC_HAS_STUBS is not set UCLIBC_HAS_SHADOW=y UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y @@ -88,23 +124,25 @@ UCLIBC_HAS_PTY=y ASSUME_DEVPTS=y UNIX98PTY_ONLY=y UCLIBC_HAS_GETPT=y +UCLIBC_HAS_LIBUTIL=y UCLIBC_HAS_TM_EXTENSIONS=y UCLIBC_HAS_TZ_CACHING=y UCLIBC_HAS_TZ_FILE=y UCLIBC_HAS_TZ_FILE_READ_MANY=y UCLIBC_TZ_FILE_PATH="/etc/TZ" +UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y # # Advanced Library Settings # UCLIBC_PWD_BUFFER_SIZE=256 UCLIBC_GRP_BUFFER_SIZE=256 -UCLIBC_HAS_NONREENTRANT=y # # Support various families of functions # -UCLIBC_LINUX_MODULE_24=y +UCLIBC_LINUX_MODULE_26=y +# UCLIBC_LINUX_MODULE_24 is not set UCLIBC_LINUX_SPECIFIC=y UCLIBC_HAS_GNU_ERROR=y UCLIBC_BSD_SPECIFIC=y @@ -119,6 +157,8 @@ UCLIBC_HAS_EPOLL=y UCLIBC_HAS_XATTR=y UCLIBC_HAS_PROFILING=y UCLIBC_HAS_CRYPT_IMPL=y +# UCLIBC_HAS_SHA256_CRYPT_IMPL is not set +# UCLIBC_HAS_SHA512_CRYPT_IMPL is not set UCLIBC_HAS_CRYPT=y UCLIBC_HAS_NETWORK_SUPPORT=y UCLIBC_HAS_SOCKET=y @@ -130,6 +170,11 @@ UCLIBC_HAS_IPV4=y UCLIBC_USE_NETLINK=y # UCLIBC_SUPPORT_AI_ADDRCONFIG is not set # UCLIBC_HAS_BSD_RES_CLOSE is not set +UCLIBC_HAS_COMPAT_RES_STATE=y +# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set +UCLIBC_HAS_RESOLVER_SUPPORT=y +UCLIBC_HAS_LIBRESOLV_STUB=y +UCLIBC_HAS_LIBNSL_STUB=y # # String and Stdio Support @@ -144,6 +189,7 @@ UCLIBC_HAS_CTYPE_ENFORCED=y # UCLIBC_HAS_WCHAR is not set # UCLIBC_HAS_LOCALE is not set UCLIBC_HAS_HEXADECIMAL_FLOATS=y +# UCLIBC_HAS_GLIBC_DIGIT_GROUPING is not set UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y # USE_OLD_VFPRINTF is not set UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 @@ -164,6 +210,7 @@ UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y # UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y +# UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE is not set UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y UCLIBC_HAS_PRINTF_M_SPEC=y UCLIBC_HAS_ERRNO_MESSAGES=y @@ -181,16 +228,20 @@ UCLIBC_HAS_REGEX=y UCLIBC_HAS_FNMATCH=y # UCLIBC_HAS_FNMATCH_OLD is not set # UCLIBC_HAS_WORDEXP is not set +UCLIBC_HAS_NFTW=y UCLIBC_HAS_FTW=y +# UCLIBC_HAS_FTS is not set UCLIBC_HAS_GLOB=y UCLIBC_HAS_GNU_GLOB=y +# UCLIBC_HAS_UTMPX is not set # # Library Installation Options # -SHARED_LIB_LOADER_PREFIX="/lib" RUNTIME_PREFIX="/" DEVEL_PREFIX="/usr/" +MULTILIB_DIR="lib" +HARDWIRED_ABSPATH=y # # Security options @@ -220,28 +271,8 @@ DOSTRIP=y # SUPPORT_LD_DEBUG is not set # SUPPORT_LD_DEBUG_EARLY is not set # UCLIBC_MALLOC_DEBUGGING is not set +# UCLIBC_HAS_BACKTRACE is not set WARNINGS="-Wall" # EXTRA_WARNINGS is not set # DOMULTI is not set # UCLIBC_MJN3_ONLY is not set - -# USE_BX is not set -# CONFIG_GENERIC_ARM is not set -# CONFIG_ARM610 is not set -# CONFIG_ARM710 is not set -# CONFIG_ARM7TDMI is not set -# CONFIG_ARM720T is not set -# CONFIG_ARM920T is not set -# CONFIG_ARM922T is not set -# CONFIG_ARM926T is not set -# CONFIG_ARM10T is not set -# CONFIG_ARM1136JF_S is not set -# CONFIG_ARM1176JZ_S is not set -# CONFIG_ARM1176JZF_S is not set -# CONFIG_ARM_CORTEX_M3 is not set -# CONFIG_ARM_CORTEX_M1 is not set -# CONFIG_ARM_SA110 is not set -# CONFIG_ARM_SA1100 is not set -# CONFIG_ARM_XSCALE is not set -# CONFIG_ARM_IWMMXT is not set - diff --git a/toolchain/uClibc/uClibc-snapshot.config b/toolchain/uClibc/uClibc-snapshot.config index a3fe200..2a6754c 100644 --- a/toolchain/uClibc/uClibc-snapshot.config +++ b/toolchain/uClibc/uClibc-snapshot.config @@ -49,6 +49,7 @@ # CONFIG_ARM_XSCALE is not set # CONFIG_ARM_IWMMXT is not set +# COMPILE_IN_THUMB_MODE is not set USE_BX=y TARGET_SUBARCH="" @@ -93,6 +94,7 @@ LDSO_PRELOAD_ENV_SUPPORT=y # UCLIBC_STATIC_LDCONFIG is not set LDSO_RUNPATH=y LDSO_SEARCH_INTERP_PATH=y +LDSO_LD_LIBRARY_PATH=y # LDSO_NO_CLEANUP is not set UCLIBC_CTOR_DTOR=y # LDSO_GNU_HASH_SUPPORT is not set @@ -139,7 +141,8 @@ UCLIBC_GRP_BUFFER_SIZE=256 # # Support various families of functions # -UCLIBC_LINUX_MODULE_24=y +UCLIBC_LINUX_MODULE_26=y +# UCLIBC_LINUX_MODULE_24 is not set UCLIBC_LINUX_SPECIFIC=y UCLIBC_HAS_GNU_ERROR=y UCLIBC_BSD_SPECIFIC=y @@ -154,6 +157,8 @@ UCLIBC_HAS_EPOLL=y UCLIBC_HAS_XATTR=y UCLIBC_HAS_PROFILING=y UCLIBC_HAS_CRYPT_IMPL=y +# UCLIBC_HAS_SHA256_CRYPT_IMPL is not set +# UCLIBC_HAS_SHA512_CRYPT_IMPL is not set UCLIBC_HAS_CRYPT=y UCLIBC_HAS_NETWORK_SUPPORT=y UCLIBC_HAS_SOCKET=y @@ -205,6 +210,7 @@ UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y # UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y +# UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE is not set UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y UCLIBC_HAS_PRINTF_M_SPEC=y UCLIBC_HAS_ERRNO_MESSAGES=y diff --git a/toolchain/uClibc/uclibc.mk b/toolchain/uClibc/uclibc.mk index 6335e6a..ee474bb 100644 --- a/toolchain/uClibc/uclibc.mk +++ b/toolchain/uClibc/uclibc.mk @@ -217,7 +217,7 @@ ifeq ($(UCLIBC_TARGET_ARCH),sparc) $(SED) 's/^.*$(UCLIBC_SPARC_TYPE)[^B].*/$(UCLIBC_SPARC_TYPE)=y/g' $(UCLIBC_DIR)/.oldconfig endif ifeq ($(UCLIBC_TARGET_ARCH),powerpc) -ifeq ($(BR2_powerpc_8540)$(BR2_powerpc_e500mc),y) +ifeq ($(BR2_powerpc_8540)$(BR2_powerpc_8548)$(BR2_powerpc_e500mc),y) /bin/echo "# CONFIG_CLASSIC is not set" >> $(UCLIBC_DIR)/.oldconfig /bin/echo "CONFIG_E500=y" >> $(UCLIBC_DIR)/.oldconfig else @@ -384,6 +384,8 @@ $(UCLIBC_DIR)/.config: $(UCLIBC_DIR)/.oldconfig PREFIX=$(TOOLCHAIN_DIR)/uClibc_dev/ \ DEVEL_PREFIX=/usr/ \ RUNTIME_PREFIX=$(TOOLCHAIN_DIR)/uClibc_dev/ \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + UCLIB_EXTRA_CFLAGS="$(TARGET_ABI)" \ HOSTCC="$(HOSTCC)" \ oldconfig touch $@ @@ -401,6 +403,8 @@ $(UCLIBC_DIR)/.configured: $(LINUX_HEADERS_DIR)/.configured $(UCLIBC_DIR)/.confi PREFIX=$(TOOLCHAIN_DIR)/uClibc_dev/ \ DEVEL_PREFIX=/usr/ \ RUNTIME_PREFIX=$(TOOLCHAIN_DIR)/uClibc_dev/ \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + UCLIB_EXTRA_CFLAGS="$(TARGET_ABI)" \ HOSTCC="$(HOSTCC)" headers \ lib/crt1.o lib/crti.o lib/crtn.o \ install_headers @@ -421,6 +425,8 @@ $(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/.configured $(gcc_intermediate) $(LIBFLO PREFIX= \ DEVEL_PREFIX=/ \ RUNTIME_PREFIX=/ \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + UCLIB_EXTRA_CFLAGS="$(TARGET_ABI)" \ HOSTCC="$(HOSTCC)" \ all touch -c $@ @@ -431,6 +437,8 @@ uclibc-menuconfig: dirs $(UCLIBC_DIR)/.config PREFIX=$(TOOLCHAIN_DIR)/uClibc_dev/ \ DEVEL_PREFIX=/usr/ \ RUNTIME_PREFIX=$(TOOLCHAIN_DIR)/uClibc_dev/ \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + UCLIB_EXTRA_CFLAGS="$(TARGET_ABI)" \ HOSTCC="$(HOSTCC)" \ menuconfig && \ touch -c $(UCLIBC_DIR)/.config @@ -442,6 +450,8 @@ $(STAGING_DIR)/usr/lib/libc.a: $(UCLIBC_DIR)/lib/libc.a PREFIX=$(STAGING_DIR) \ DEVEL_PREFIX=/usr/ \ RUNTIME_PREFIX=/ \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + UCLIB_EXTRA_CFLAGS="$(TARGET_ABI)" \ install_runtime install_dev # Install the kernel headers to the staging dir if necessary if [ ! -f $(STAGING_DIR)/usr/include/linux/version.h ]; then \ @@ -471,6 +481,8 @@ $(TARGET_DIR)/lib/libc.so.0: $(STAGING_DIR)/usr/lib/libc.a PREFIX=$(TARGET_DIR) \ DEVEL_PREFIX=/usr/ \ RUNTIME_PREFIX=/ \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + UCLIB_EXTRA_CFLAGS="$(TARGET_ABI)" \ install_runtime touch -c $@