Fix a few typos/mistakes introduced in commit ea448fe:
- bzip2 soname is not the same as package version
- It is PKG_INSTALL_STAGING, not PKG_STAGING_INSTALL
- Typo: BZIP2_INSTALL_TARGET_CMDS, not B2IP_INSTALL_TARGET_CMDS
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Some packages like icu requires to be compiled against the host system
first to be able to compile against the target. This is due to the
usage of self generated binaries by the package to build itself. When
the generated tools also depends on generated libraries it is required
to add the path to these libraries in the library path
(LD_LIBRARY_PATH) especially for the configure step.
Adding $(HOST_DIR)/usr/lib to LD_LIBRARY_PATH for target compilation
might break the link step by mixing host libraries and target
binaries.
Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
If devtmpfs (the kernel-maintained /dev filesystem) is used, no
/dev/pts directory is created, causing the devpts mount to fail, which
in term causes stuff like dropbear to fail.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
These are ancient (2006) and upstream strongly discourage using them:
ftp://sourceware.org/pub/gdb/old-releases/README
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
It got broken by the introduction of the new autotools infrastructure
based on the generic infrastructure.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Instead of asking the user about the GNU target suffix, just compute
it automatically from the other configuration options.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
In both internal and external toolchain cases, KERNEL_CROSS was
defined to *exactly* the same value as TARGET_CROSS. It isn't modified
anywhere, and is just used by kernel compilation and pcmcia
compilation.
Therefore, get rid of KERNEL_CROSS and use TARGET_CROSS instead.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The definition of TOOLCHAIN_DIR is the same regardless of whether
external or internal toolchains are used. Moreover, move its
definition together with all the other *_DIR definitions.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Since new configuration options have been added in 0.9.31, the value
of these configuration options should be determined, either by the
default configuration file we provide, or by uclibc.mk process.
The locale generation process should probably be improved in order to
allow building other locales than just en_US.
[Peter: fixup locale handling, add PROGRAM__NAME to defconfig]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
UCLIBC_HAS_NFTW is a new knob in 0.9.31, which allows the obsolete and
deprecated ftw() to be compiled-out separatly from nftw(), which is
part of POSIX. nftw() should probably be enabled by default in uClibc,
and a bug has been opened about this on uClibc bug tracker
(https://bugs.busybox.net/show_bug.cgi?id=1597).
nftw() is, for example, used in Gtk+.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
When FOO_LIBTOOL_PATCH is defined, assume that the same value should
be used for HOST_FOO_LIBTOOL_PATCH.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
OpenSSL is not using the autotools as its build system. Therefore, we
must use the generic infrastructure instead of the autotools one.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Do not build against libgcrypt on the host, since we don't build
libgcrypt ourself, and it might fail even when libgcrypt is installed
on the host:
...configure...
checking for libgcrypt-config... /usr/bin/libgcrypt-config
Crypto extensions will be available.
...build...
gcc: /usr/lib/libgcrypt.so: No such file or directory
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The autoreconf check was incorrect, missing a $ sign to properly
reference a package-specific variable. There was no visible effect
until now since :
* The existing syntax allowed to access the value defined in the
package specific .mk file, so when AUTORECONF was set to YES by a
package, it was working.
* The default value in Makefile.autotools.in was NO. In fact, when a
package .mkf file wasn't defining the AUTORECONF variable, the
Makefile.autotools.in test was testing the empty string against
'YES', which was false, leading to the AUTORECONF not being done,
which was the desired effect.
However, in a later patch, we intend to change this default value.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
install -D needs the destination filename, not just it's directory,
otherwise we end up with a pkgconfig file instead.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
autoheader is used by autoreconf, therefor we need to give the right
path to this tools for host/target autoreconfiguration.
Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
When compiling GDB for target (in my case i386) it links
wrong BFD library from host OS. This prevents GDB from compiling
support for ELF and thus GDB is unusable on target.
More about this issue was already posted at:
http://lists.uclibc.org/pipermail/buildroot/2009-March/026585.html
Fix this issue by forcing ELF support.
Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
These packages have buggy configure script. It adds -L/lib flag
for linker and thus wrong libraries are linked in.
Workaround this issue by setting expat=yes in configure
environment.
Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Fixes error: "open with O_CREAT in second argument needs 3 arguments".
Original patch: svn://svn.berlios.de/tslib/trunk/tslib r72.
[Peter: pull original patch for proper attribution]
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
When initramfs was ported to the new fs structure the init symlink
macro was defined, but forgot to add it to PRE_GEN_HOOKS
Signed-off-by: Will Wagner <will_wagner@carallon.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The restructure for building root filesystems changed the target name
for the initramfs file, to build the file the trget is now
initramfs-root but the generated file is rootfs.initramfs
Signed-off-by: Will Wagner <will_wagner@carallon.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Commit 9277cb760a added support
for mtdinfo to mtd.mk but missed corresponding Config.in stuff.
Signed-off-by: Michael Roth <mroth@nessie.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
With the ROOTFS_TARGET conversion, EXT2_OPTS gets evaluated very early
(before TARGET_DIR is populated with files), so the calculated
blocks/inodes numbers are wrong.
Fix it by moving the calculation to a shell script wrapper around
genext2fs, so it only gets executed just before genext2fs runs.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
BR2_TARGET_ROOTFS_EXT2_RESBLKS is an int, so test against 0 rather than
the empty string - Otherwise the test is always true and a -m option
without arguments is added to the argument list, causing genext2fs to
get confused.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
We only bother updating the defconfigs that need a non-default
BR2_ROOTFS_DEVICE_TABLE value.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We have a special case for Xtensa, which was patching the generic
device_table.txt. Instead of doing this, we just keep a copy of the
device table, specific to Xtensa, with Xtensa specifities. The fact
that the patch wasn't applying anymore on the generic device table is
a sign that the existing approach wasn't working anyway.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Until now, the location of the device table was specified by a
variable in board Makefiles. Unfortunately, this variable is not
accessible from fs/common.mk, since the target/ code is included
*after* fs/common.mk.
Anyway, the general idea is to move away from these boards Makefile,
and provide configuration option for things like the device table
location.
Therefore, this patch adds a BR2_ROOTFS_DEVICE_TABLE option which
allows to specify which device table should be used.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The installation procedure of cramfs was broken when
$(HOST_DIR)/usr/bin didn't exist (i.e, cramfsck was installed as
$(HOST_DIR)/usr/bin directly). Use install -D with a proper
destination argument to make it work.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
When compiling Busybox, according to readelf -A, all object files were
properly compiled according to the select architecture (-march=armv4t
for example), but the final busybox binary could be of a different
architecture (ARMv5t even if ARMv4t was selected).
This patch changes the way we configure/compile Busybox so that our
CFLAGS aren't anymore passed through the make EXTRA_CFLAGS variable,
but through the .config CONFIG_EXTRA_CFLAGS variable. Unfortunately,
those variables don't have exactly the same semantic for the Busybox
build system.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Multilib toolchains provide different versions of the base libraries
for different architecture variants. For example, the ARM Codesourcery
toolchain provides base libraries for ARMv5 (default), ARMv4t and
Thumb2.
Depending on the -march= argument passed to gcc, the sysroot used by
the compiler is therefore different. This means that the sysroot
location in CROSS-gcc -v cannot be used. Instead, we must use
CROSS-gcc -print-sysroot when available and fall back to the old way
if unavailable.
Moreover, we cannot simply copy the full sysroot as we used to do,
because the sysroot organization of multilib toolchain is more
complicated. In Codesourcery toolchains, we have :
/
etc -- for ARMv5
lib -- for ARMv5
sbin -- for ARMv5
usr -- for ARMv5 (includes headers)
armv4t
etc -- for ARMv4t
lib -- for ARMv4t
sbin -- for ARMv4t
usr -- for ARMv4t (no headers!)
thumb2
etc -- for Thumb2
lib -- for Thumb2
sbin -- for Thumb2
usr -- for Thumb2 (no headers!)
So we have the default ARMv5 architecture variant that is installed in
the main directory, and we have subdirectories for the ARMv4t and
Thumb2 architecture variants.
Copying the full sysroot to the staging directory doesn't work. All
our packages are based on the fact that they should install libraries
in staging/usr/lib. But if ARMv4t is used, the compiler would only
look in staging/armv4t/usr/lib for libraries (even when overriding the
sysroot with the --sysroot option, the multilib compiler suffixes the
sysroot directory with the architecture variant if it matches a
recognized one).
Therefore, we have to copy only the sysroot that we are interested
in. This is rendered a little bit complicated by the fact that the
armv4t and thumb2 sysroot do not contain the headers since they are
shared with the armv5 sysroot.
So, this patch :
* Modifies how we compute SYSROOT_DIR in order to use -print-sysroot
if it exists. SYSROOT_DIR contains the location of the main sysroot
directory, i.e the sysroot for the default architecture variant.
* Defines ARCH_SUBDIR as the subdirectory in the main sysroot for the
currently selected architecture variant (in our case, it can be
".", "armv4t" or "thumb2"). ARCH_SYSROOT_DIR is defined as the full
path to the sysroot of the currently selected architecture variant.
* Modifies copy_toolchain_lib_root (which copies a library to the
target/ directory) so that libraries are taken from
ARCH_SYSROOT_DIR instead of SYSROOT_DIR. This ensures that
libraries for the correct architecture variant are properly copied
to the target.
* Modifies copy_toolchain_sysroot (which copies the sysroot to the
staging/ directory), so that it copies the contents of
ARCH_SYSROOT_DIR, and if needed, adds the headers from the main
sysroot directory and a symbolic link (armv4t -> . or thumb2 -> .)
to make the compiler believe that its sysroot is really in armv4t/
or thumb2/.
Tested with Codesourcery 2009q1 ARM toolchain, Crosstool-NG ARM glibc
and ARM uClibc toolchains.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The copy_toolchain_lib_root function was making the assumption that
all libraries were stored inside the /lib directory of the sysroot
directory. However, this isn't true for certain toolchains,
particularly for the libstdc++ library.
The function is therefore reworked to find the library and its related
symlink either in /lib or /usr/lib in the sysroot, and copies it at
the same location in the target directory.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Until now, many TARGET_CFLAGS where missing when using an external
toolchain, due to how package/Makefile.in was written. Now, a lot more
definitions are common between the Buildroot toolchain case and the
external toolchain case.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Also cleanup autotools symbols and add libatomic_ops dependency
for Intel part.
Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
These options are part of the default set of options passed to
./configure by the AUTOTARGETS infrastructure.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since the introduction of the AUTOTARGETS infrastructure, the dummy
example is no longer correct. Moreover, the documentation now contains
extensive details about how new packages should be added, either using
the GENTARGETS or the AUTOTARGETS infrastructures.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Bumping the version from 2.5.9 to 2.6 allows to avoid adding a patch
(merged upstream) to fix patch's Makefile install target.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since BR2_RECENT was enabled by default, we do not want entries marked
BR2_RECENT (and thus appearing by default in Buildroot) to disappear.
Therefore, all the entries marked BR2_RECENT are converted as
non-deprecated. We can later decide, on a per-entry basis, to add
BR2_DEPRECATED to some of them. But at least, this commit doesn't
change the default current behaviour of Buildroot.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This variable, together with the FIXME comment, has been added has
part of Eric Andersen's « Major buildroot facelift, step one » commit
that occured in October 2004.
Since then, no real usage has been made of OPTIMIZE_FOR_CPU, and the
initial intention has probably been lost in the memories of the
implementors.
Therefore, get rid of the variable, and just use $(ARCH) at the two
locations the variable was used.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
It seems that there was an intention to add BR2_ENABLE_OPENMP someday,
but it was in June 2007 (commit
c81807a9d7) and since then, nothing
occured. Therefore, get rid of this code, and just pass
--disable-openmp to gettext to keep the current behaviour.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The option is marked broken since october 2009, and even the uClibc
configuration help text says that using pregenerated locales is highly
discouraged.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Instead of having a configuration option BR2_GNU_BUILD_SUFFIX, let's
use config.guess to guess the build system type.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since the documentation cleanup is done by the main Makefile in a
global way, there's no need to do that on a per-package basis in the
generic package infrastructure.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Until now, we had BR2_HAVE_MANPAGES, BR2_HAVE_INFOPAGES and
BR2_HAVE_DOCUMENTATION, but there's no need to have such a
fine-grained control over what documentation gets kept or not.
Therefore, just remove all the documentation (man pages, info pages
and documentation in $(TARGET_DIR)/usr/doc and
$(TARGET_DIR)/usr/share/doc) when BR2_HAVE_DOCUMENTATION is not set.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The cleanup of $(TARGET_DIR)/usr/share/man, $(TARGET_DIR)/usr/man,
$(TARGET_DIR)/usr/share/info, $(TARGET_DIR)/usr/info,
$(TARGET_DIR)/usr/share/doc and $(TARGET_DIR)/usr/doc is already done
globally in the main Makefile. Therefore, there's no need to handle
that on a per-package basis.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Remove the BR2_UPDATE_CONFIG option which allowed to globally
enable/disable the replacement of config.{guess,sub} for
autotools-based packages. Doing it unconditionnally just works.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This option is barely used, no-one is maintaining it or extending
it. So let's remove it.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add support for the old squashfs 3.x tools, so that squashfs 3.x root
filesystems can be generated.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The dependency on gzip, bzip2 and lzma are properly handled
automatically. No need to tell the user about this.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Now, we just hardcode the image filenames to be rootfs.$(FSTYPE), in
the $(BINARIES_DIR).
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Unfortunately, it cannot use the ROOTFS_TARGET infrastructure, due to
the specifities of the iso9660 build process.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We also remove the BR2_TARGET_ROOTFS_UBIFS_OUTPUT option, that could
be used to specify an alternate name for the generated image file.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We also remove the BR2_TARGET_ROOTFS_JFFS2_OUTPUT option, that could
be used to specify an alternate name for the generated image file.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We also remove the BR2_TARGET_ROOTFS_EXT2_OUTPUT option, that could be
used to specify an alternate name for the generated image file.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
In order to avoid code duplication between the different filesystem
generation makefile, we introduce a ROOTFS_TARGET macro. Documentation
for this macro is contained in the patch.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
There's no need to provide options to copy the filesystem image after
the build. Just use 'cp' outside of Buildroot.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Use package/mtd to build the host mtd-utils, which contains
mkfs.ubifs. Remove dependency on BR2_HOST_FAKEROOT.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Remove the code to build squashfs-tools for the host, since they can
now be built using package/squashfs.
We also remove support for Squashfs 3.x, because the Squashfs driver
merged inside the mainline kernel is a 4.x driver. So 3.x is only
useful for old kernels using a Squashfs patch.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Remove the code needed to build host genromfs, since it can now be
done using package/genromfs.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Remove the code to build host MTD utils, since they can now be built
using package/mtd.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Remove the genext2fs host tools building process, which is now in
package/genext2fs.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Remove the dependency on BR2_HOST_FAKEROOT, since we don't have
config option for host tools.
* Remove a few useless things.
* Check that cpio is available on the host in
toolchain/dependencies/dependencies.sh.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Remove the code to build the cloop utilities for the host (it is now
in package/cloop).
Use fakeroot instead of ugly sudo. The cloop filesystem generation
code is now much more similar to other filesystems code.
Remove empty Makefile.in.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Note that we loose the ability to use a lzma command available on the
host and we now always build your own if a package needs it.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Only the host variant is supported, which explains why there is no
Config.in file. Will be used by the filesystem generation code.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Host package is needed to get libuuid installed for the host, needed
to build the mtd utils for the host.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Supported both for the target and the host. Will be used by the root
filesystem generation code, thanks to genisoimage.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Only compilation for the host is supported, why explains why we don't
have a Config.in and the corresponding BR2_PACKAGE_CMAKE option.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Needed as a dependency of cdrkit, which contains genisomage, useful
for generating ISO9660 filesystem images.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Note this version requires a recent kernel with KMS support as it is
currently configured
Signed-off-by: Will Wagner <will_wagner@carallon.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Libtool patch applies just fine.
mbdesktop_modules is installed by the matchbox-desktop and we
don't have to overwrite it with our copy(contains wrong paths).
Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The toolchains built with buildroot use specially crafted paths for their
sysroot and prefix. Fix that by asking gcc where it finds a file we
know by relative path to the sysroot.
This has the side effect of greatly simplifying the sysroot detection
in every cases tested so far (BR toolchains, CT-NG toolchains, and
CodeSourcery toolchains).
Fixes bug #851.
Thanks Thomas Petazzoni for the hint and some testings.
Thanks Grant Edwards for the report and the comments.
Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
usb_modeswitch build system is just a simple Makefile, so the
GENTARGETS infrastructure is more appropriate than the AUTOTARGETS
infrastructure. The build system is slightly fixed through a small
patch, that replaces the previous "nostrip" patch.
The latest version of usb_modeswitch is 1.1.1, but it now relies on
udev and requires TCL to operate. Someone actually using
usb_modeswitch would probably be at a better place to do this version
bump.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Upgrade libusb to v1.0.3 and add new libusb-compat package for
compatibility with old packages that expect the pre-1.0 API.
Also update usb_modeswitch to depend on libusb-compat rather than
libusb.
Minor fixes by Thomas Petazzoni <thomas.petazzoni@free-electrons.com>.
Fixes bug #1093.
Signed-off-by: Mike Crowe <mac@mcrowe.com>
Enable susv3/susv4 legacy support for now, as a lot of packages (E.G.
busybox) breaks with the stricter interpretation in 0.9.31.
Also slightly tweak uclibc.mk as the "new" linuxthreads symbol changed.
Test built on x86/x86-64/ppc/arm/mips.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Strangely enough O is still passed to submakes with MAKEOVERRIDES
(with make 3.81 atleast), the only thing that changes is the output
of the origin function (command line -> environment).
Unfortunately some packages don't look at origin (E.G. uClibc 0.9.31+)
To really make O go away, we have to override it.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Now that the kernel-headers are bumped, also bump the linux
targets to match.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
qt 4.6.x has a number of new configure options, and needs a patch to
work on uClibc.
Signed-off-by: Frederik Vannoote <frederik.vannoote@barco.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
It is not included in generic skeleton and very unlikely
that someone will use it on embedded devices.
AFAIK even Fedora does not include it in fstab.
Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Closes#1387
The documentation step needs working groff and ps2pdf on the host, and
only slows down the build, so just disable it.
At the same time, cleanup the overlong _CONF_OPT line.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
With multicores everywhere, 2 is probably a bit low - But atleast it's
better than the current default.
This extra parallelism also ensures we get to test the make dependencies
a bit more.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Lay down the path to add more than two toolchain kinds:
- check the type of toolchain as:
ifeq (toolchain_buildroot,y)
blabla buildroot-specific
else ifeq (toolchain_external,y)
blabla external-specific
endif
- prefer using positive checks, a-la:
ifeq (foo,y)
instead of:
ifneq (bar,y)
(where foo and bar are mutually exclusive)
- have the toolchain_buildroot case always appear first
- gettext is handled differently, because we want to add an option
only if not using the buildroot toolchain, hence we use ifneq.
Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Acked-By: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Closes#1447
When installing without symbols install-strip is used,
with symbols - install-exec.
Since install-exec installs only executables, we should use
simple install, to install other needed files also
(like files in /usr/shared) as install-strip does.
Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Acked-by: Lionel Landwerlin <llandwerlin@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Has been marked as broken for more than 1 year, with no indication
that anyone cares, and it needs a bunch of special handling.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Also autotools.in conversion and change source location from
gd.tuwien.ac.at to ftp.gnupg.org
[Peter: add missing libgpg-error makefile dependency]
Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Closes#805
This patch updates mdadm to 2.6.9 and uses the new makefile template.
Signed-off-by: Richard van Paasen <rvpaasen@t3i.nl>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Makefile.autotools.in automatically adds these to the configure invocation,
so there's no need to explicitly list them.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
linux/hayesesp.h got removed in 2.6.33, but some archs (like x86) still
define the TIOCGHAYESESP ioctl, breaking the build.
It's very unlikely to be of interest anymore, so just undef it.
Reported-by: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
As the 0.9.30.x stable releases only contain bugfixes, there isn't much
sense in using the older 0.9.30.x releases instead of .3, so use a single
0.9.30.x config similar to how we do it for the kernel headers.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The -mm tree is really no longer available since the -next tree
was created for testing. It's not even listed on the kernel.org
site any longer. Plus, the last one that was published as
available was pretty old, 2.6.28-rc2-mm1.
Remove all the -mm patch stuff from Buildroot to clean up the
Linux kernel selection.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Reported by H Hartley Sweeten.
Make sure we pass proper CFLAGS to mtd-utils, so builds needing --sysroot
works (E.G. external toolchains).
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Reported by "Thomas".
Strip fails as it gets called without any arguments. Instead of working
around this, simply remove the package-specific stripping as it is
done later (in target-finalize) anyway.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Commit be8a104c3c (pass CFLAGS/LDFLAGS and add host-zlib dependency)
changed the way make was invocated for squashfs and added a patch for 4.0,
but forgot to add an equivalent patch for 3.4.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Also mark this driver as broken. It fails to compile since it
needs some headers from OpenBSD/NetBSD. We actually don't care
about this driver.
Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Also fix building as the patch was correct, but autoreconf
had to be done for it to take effect.
Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com>
This reverts commit 1d7b6f65c6.
The fsync patch tries to add the same lines already added by
busybox-1.16.0-compat.patch, so skip it.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Squashfs depends on host-zlib, so we add this as a dependency. As
host-zlib is installed in $(HOST_DIR), we must pass $(HOST_CFLAGS) and
$(HOST_LDFLAGS).
Unfortunately, if we pass CFLAGS=$(HOST_CFLAGS), we override the
CFLAGS defined in the Makefile, and the build fails. Therefore, we
borrow a patch from OpenEmbedded to fix this problem.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
cramfs depends on host-zlib, so it must be built prior to cramfs.
Moreover, we need to pass the HOST_CFLAGS and HOST_LDFLAGS variables,
otherwise it doesn't find zlib in $(HOST_DIR).
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
First, the build was failing with:
cd .. && /bin/sh /home/test/brbuild/build/cgicc-3.2.7/support/missing --run autoheader
/home/test/brbuild/build/cgicc-3.2.7/support/missing: line 52: autoheader: command not found
WARNING: `autoheader' is missing on your system. You should only need it if
you modified `acconfig.h' or `configure.ac'. You might want
to install the `Autoconf' and `GNU m4' packages. Grab them
from any GNU archive site.
That was because the PATH doesn't contain $(HOST_DIR)/usr/bin. So we
pass $(TARGET_MAKE_ENV) when calling make.
Then, the build was failing because of the crappy configure.ac and
doc/Makefile.am this project has. configure.ac checks if doxygen is
available, and if it isn't, it sets DOXYGEN to /bin/echo. Then,
doc/Makefile.am does:
DATE=`date '+%-d %b %Y'` VERSION=$(VERSION) $(DOXYGEN) Doxyfile
cp $(IMAGES) cgicc-doc.css html
mv html/index.html html/index.html.bak
When DOXYGEN=/bin/echo, then the first line does not generate anything
in html/, and the third line fails.
Therefore, we add a patch that allows to pass a --disable-doc option,
which removes the check for Doxygen. If --enable-doc is passed, then
the configure script fails if Doxygen isn't found (but in the
Buildroot case, we always pass --disable-doc to avoid the doxygen
dependency).
We also take this opportunity to bump the version of libcgicc, and to
remove a patch that is no longer needed due to this version bump.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Closes#1183.
When gmp/mpfr is needed for the host (E.G. when using an internal toolchain),
the host-lib{gmp,mpfr}-source targets weren't added to HOST_SOURCE, so
make source / external-deps didn't handle them.
Notice that we have the same issue with the new host package support,
there we should probably use HOST_<package>_DEPENDENCIES for -source
dependencies.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Without intltool, configuration fails with:
checking for intltool >= 0.35.0... ./configure: line 28714: intltool-update: command not found
found
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Depending on the gcc version, the gcc include and lib directories have
changed. We include support for gcc 4.4 by copy/pasting the support
for gcc 4.3. Locations don't seem to have changed between 4.3 and
4.4. This allows the syslimits.h fixup to succeed.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Before the autotools conversion, xfont_font-util was installed in
staging, so keep this.
However, the current way of handling xfont_font-util is ugly. The
post-install.sh script removes the binaries compiled for the target
from the staging directory and replaces them by symbolic links to
utils installed on the host (making the incorrect assumption that they
are available).
It looks like xfont_font-util needs to be built for the host (using
the new infrastructure for host autotools package). This is certainly
post-2010.02 though.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
madplay was failing to build with errors such as :
audio_alsa.o: In function `config':
audio_alsa.c:(.text+0x200): undefined reference to `snd_pcm_hw_params_set_rate_near@ALSA_0.9'
audio_alsa.c:(.text+0x25c): undefined reference to `snd_pcm_hw_params_set_buffer_time_near@ALSA_0.9'
audio_alsa.c:(.text+0x284): undefined reference to `snd_pcm_hw_params_get_buffer_size@ALSA_0.9'
audio_alsa.c:(.text+0x2a4): undefined reference to `snd_pcm_hw_params_set_period_time_near@ALSA_0.9'
audio_alsa.c:(.text+0x2d4): undefined reference to `snd_pcm_hw_params_get_period_size@ALSA_0.9'
The ALSA library uses symbol versioning by default, to handle ABI
changes. However, since uClibc doesn't seem to support symbol
versioning, we disable this when building the ALSA library by passing
--without-versioned.
However, madplay relies on the old ALSA ABI, so even without symbol
versioning, references to versioned symbols are generated (functions
with the same name, but different API, exist in the old and new API).
The easiest solution is to switch madplay to the new API. This is done
thanks to a patch written by Micha Nelissen <micha@neli.hopto.org> and
available at http://article.gmane.org/gmane.comp.audio.mad.devel/729.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This module got disabled when pango was upgraded to 1.19.3. But now,
the module builds fine. And even more: disabling it breaks the build
when modules are compiled statically into pango.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The gtk-doc.m4 file is now installed globally (see the automake
package), so there's no point in including a pango-specific patch.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This is an old package. It is currently broken, and probably nobody
uses it. So let's get rid of it.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This fixes the following build failure:
checking lex output file root...
configure: error: cannot find output from flex; giving up
Caused by the fact that a host version of flex is missing
in $(HOST_DIR).
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Bump all the linux kernel version to the latest available and add a
help note for all of them with the release data and status.
The long-term stable 2.6.27 kernel is really out of date (.27 -> .45).
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
+ [AC_CACHE_CHECK(whether float word ordering is bigendian,
+ ax_cv_c_float_words_bigendian, [
+
+# The endianess is detected by first compiling C code that contains a special
+# double float value, then grepping the resulting object file for certain
+# strings of ascii values. The double is specially crafted to have a
+# binary representation that corresponds with a simple string. In this
+# implementation, the string "noonsees" was selected because the individual
+# word values ("noon" and "sees") are palindromes, thus making this test
+# byte-order agnostic. If grep finds the string "noonsees" in the object
+# file, the target platform stores float words in big-endian order. If grep
+# finds "seesnoon", float words are in little-endian order. If neither value
+# is found, the user is instructed to specify the ordering.
+
+ax_cv_c_float_words_bigendian=unknown
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+
+double d = 90904234967036810337470478905505011476211692735615632014797120844053488865816695273723469097858056257517020191247487429516932130503560650002327564517570778480236724525140520121371739201496540132640109977779420565776568942592.0;
+
+]])], [
+
+if grep noonsees conftest.$ac_objext >/dev/null ; then
+ ax_cv_c_float_words_bigendian=yes
+fi
+if grep seesnoon conftest.$ac_objext >/dev/null ; then
+ if test "$ax_cv_c_float_words_bigendian" = unknown; then
+ ax_cv_c_float_words_bigendian=no
+ else
+ ax_cv_c_float_words_bigendian=unknown
+ fi
+fi
+
+])])
+
+case $ax_cv_c_float_words_bigendian in
+ yes)
+ m4_default([$1],
+ [AC_DEFINE([FLOAT_WORDS_BIGENDIAN], 1,
+ [Define to 1 if your system stores words within floats
+ with the most significant word first])]) ;;
+ no)
+ $2 ;;
+ *)
+ m4_default([$3],
+ [AC_MSG_ERROR([
+
+Unknown float word ordering. You need to manually preset
+ax_cv_c_float_words_bigendian=no (or yes) according to your system.
+
+ ])]) ;;
+esac
+
+])# AX_C_FLOAT_WORDS_BIGENDIAN
diff --git a/configure.in b/configure.in
index 2d2bf9f..797c7ce 100644
--- a/configure.in
+++ b/configure.in
@@ -55,6 +55,7 @@ AC_PROG_CPP
AC_PROG_LIBTOOL dnl required version (1.4) DON'T REMOVE!
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.