Commit Graph

74 Commits

Author SHA1 Message Date
Paulius Zaleckas
31365deda7 Fix autotools instalation with symbols
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>
2010-03-30 17:23:23 +02:00
Peter Korsgaard
ecf5939cfb Makefile.autotools.in: fixup .la files in all lib dirs
Sometimes usr/lib32 or usr/lib64 is used instead of usr/lib, so search
those for .la files as well.

Fixes .la fixup for beecrypt on x86-64.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-01-18 14:53:06 +01:00
Peter Korsgaard
073af428ef Makefile.autotools.in: fix libtool patching
Fixes two issues with libtool patching:

- It seems like the default value for <package>_LIBTOOL_PATCH only gets
  set AFTER the ifdef check, so the conditional was never taken. Fix it
  by instead checking that it isn't explicitly set to not do the patching
  instead.
- The $i in the libtool patching for loop needed an extra level of escaping
  to work.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-12-30 13:48:02 +01:00
Thomas Petazzoni
d8b55b9909 Rework autotools infrastructure on top of the generic infrastructure
Now that the previous commit implemented a generic package
infrastructure, we make the autotools infrastructure inherit from the
generic one so that the code is not duplicated.

The new AUTOTARGETS macro works by defining what should be done at the
configure, build and install steps of a package and then calls the
GENTARGETS macro of the generic package infrastructure.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-12-15 18:09:31 +01:00
Bernhard Reutner-Fischer
263c2f8317 honour DISABLE_IPV6
pass --disable-ipv6 to autoconfig packages if IPv6 support is turned off

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-10-07 22:58:30 +02:00
Lionel Landwerlin
34bba153ac Prevent libtool patching before autoreconf when autoreconf is required
Signed-off-by: Lionel Landwerlin <lionel.landwerlin@openwide.fr>
Tested-By: Sven Neumann <s.neumann@raumfeld.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-10-05 14:11:49 +02:00
Will Newton
bf5e693d75 package/Makefile.autotools.in: Add $(PKG)_AUTORECONF_OPT variable.
Allow options to be passed to the autoreconf script if necessary.

Signed-off-by: Will Newton <will.newton@gmail.com>
2009-09-20 19:34:21 +01:00
Thomas Petazzoni
397fe5cc0b Remove the "project" feature
The "project" feature was designed to allow to several projects to be
built inside the same Buildroot source tree and allowing the toolchain
and non-configurable packages to be shared between the different
projects on the same architecture. While being interesting in theory,
this feature adds a level of complexity to Buildroot, both from an
user perspective and from a developer perspective, while one of the
main Buildroot strengh is to be simple. Moreover, this feature is only
seldomly used by our users.

From a user-level perspective, this for example allows to remove the
project_build_ARCH directory, which was very confusing. The
autotools-stamps directory is also removed, since these stamps are
back at their normal location.

Description of the changes involved :

 * project/, directory removed

 * Makefile

    - Don't include project/Makefile.in and project/project.mk anymore

    - Grab a copy of the contents of project/Makefile.in at the
      location it was imported, but remove the definition related to
      PROJECT_BUILD_DIR. The TARGET_DIR is now in
      $(BUILD_DIR)/target_dir

    - Remove the creation/removal of the $(PROJECT_BUILD_DIR) and
      $(PROJECT_BUILD_DIR)/autotools-stamps directories

    - Don't make world depends on target-host-info. This target was
      defined by project/project.mk to customize /etc/issue,
      /etc/hostname and create /etc/br-version depending on the
      project definitions. We can of course imagine re-adding such a
      feature later.

    - Replace PROJECT_BUILD_DIR by BUILD_DIR everywhere

    - Remove the update, log and lognr.$(PROJECT) target, they were
      specific to the project feature.

 * package/Makefile.autotools.in

    - Replace PROJECT_BUILD_DIR by BUILD_DIR for the location of the
      configure cache

    - Move the INSTALL_TARGET and HOOK_POST_INSTALL stamps to the same
      directory as the other stamps (i.e, in the package directory).

 * package/Makefile.in

    - Replace PROJECT_BUILD_DIR by BUILD_DIR for the location of the
      configure cache

 * package/at/at.mk,
   package/busybox/busybox.mk,
   package/busybox/initramfs.mk,
   package/customize/customize.mk,
   package/linux-fusion/linux-fusion.mk,
   package/ltp-testsuite/ltp-testsuite.mk,
   package/nfs-utils/nfs-utils.mk,
   target/cpio/cpioroot.mk,
   target/cramfs/cramfs.mk,
   target/device/Atmel/DataFlashBoot/DataflashBoot.mk,
   target/device/Atmel/Makefile.in,
   target/device/Atmel/at91bootstrap/at91bootstrap.mk,
   target/device/KwikByte/Makefile.in,
   target/ext2/ext2root.mk,
   target/initramfs/initramfs.mk,
   target/iso9660/iso9660.mk,
   target/jffs2/jffs2root.mk,
   target/linux/Makefile.in,
   target/romfs/romfs.mk,
   target/squashfs/squashfsroot.mk,
   target/tar/tarroot.mk,
   target/ubifs/ubifsroot.mk

    - Replace PROJECT_BUILD_DIR by BUILD_DIR

 * target/device/Config.in

    - Do not include project/Config.in anymore

 * target/linux/Makefile.in.advanced

    - Replace PROJECT_BUILD_DIR by BUILD_DIR

    - Store the stamps file in $(STAMP_DIR) instead of
      $(PROJECT_BUILD_DIR)/autotools-stamps

 * target/u-boot/Makefile.in

    - Replace PROJECT_BUILD_DIR by BUILD_DIR

    - Remove $(PROJECT) from the U-Boot target binary name

    - Remove the insertion in the configuration of the project name as
      the hostname

    - The u-boot-autoscript target now generates
      $(U_BOOT_AUTOSCRIPT).img instead of
      $(U_BOOT_AUTOSCRIPT).$(PROJECT)

 * toolchain/gcc/gcc-uclibc-3.x.mk
   toolchain/gcc/gcc-uclibc-4.x.mk

    - Move the stamps files to $(STAMP_DIR)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-16 20:28:25 +02:00
Thomas Petazzoni
3c35d55ea9 packages: use qstrip
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-05 14:43:17 +02:00
Markus Heidelberg
76a6744da4 Makefile.autotools.in: fix minimal foo.mk example
The directory argument was introduced to support packages in
subdirectories of package/ several months ago.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-05-03 22:13:20 +02:00
Peter Korsgaard
23e2e52df7 Makefile.autotools.in: use TARGET_PATH for compile step
This ensures that the correct build tools are found rather than the host
versions (glib-genmarshal, ..)
2009-03-17 13:48:35 +00:00
Peter Korsgaard
45616607b4 Makefile.autotools.in: add FOO_MAKE for packages needing to use $(MAKE1)
As requested on irc.
2009-01-28 06:32:28 +00:00
Thomas Lundquist
6b00041b87 Finish the gtk-doc stuff and start on the smae thing with LARGEFILE and NLS. 2009-01-18 00:05:57 +00:00
Thomas Lundquist
fa2273f409 Easier with one place for configure options for disabling gtk-doc 2009-01-17 10:11:12 +00:00
Peter Korsgaard
3e06e4cec6 DOWNLOAD: don't use := assignment for function implementation
:= causes the function parameters to get evaluated at definition time
instead of implementation time, which is kind of silly for a function.

Fixes make source-check / external-deps
2009-01-16 12:30:07 +00:00
Peter Korsgaard
d58636d765 buildroot: add BR2_BACKUP_SITE and DOWNLOAD helper
This is the long requested backup mirror support. So far only enabled
for Makefile.autotools.in, but there's no reason why we cannot use
DOWNLOAD everywhere.

Notice, I'm still syncing http://buildroot.uclibc.org/downloads/sources/
2009-01-16 10:27:48 +00:00
Peter Korsgaard
69f8592407 buildroot: set SHELL instead of messing around with CONFIG_SHELL
Simply set SHELL to bash instead of adding CONFIG_SHELL to all shell
invocations. CONFIG_SHELL is still set, as it is used by kconfig.
2009-01-01 21:20:35 +00:00
Peter Korsgaard
ac1d92c425 package/: get rid of unneeded $(strip ..) 2008-12-08 08:15:27 +00:00
Daniel Laird
5432f26f0e Adding Central config.cache options
The following changes allow for use of a central configure cache
file.  This speeds up configuration of packages.
Its use is configurable at the top level (BR2_CONFIG_CACHE - default n).
Old style makefiles can use it if they use the following MACRO in makefiles:
$(AUTO_CONFIGURE_TARGET) see my change to directfb.mk.
New style Autotools.in will use it if you set the global option.
However you can enable the global option and on a per package overrule it by doing
the following: $(PKGNAME)_USE_CONFIG_CACHE = NO see fontconfig.mk for an example 
of this.
Finally I have removed a few config variable settings which indicated no CXX compiler
as this is wrong and breaks the build when using this central cache.

 Config.in                        |    8 ++++++++
 package/Makefile.autotools.in    |    5 ++++-
 package/Makefile.in              |   28 +++++++++++++++++++++++++++-
 package/atk/atk.mk               |    2 +-
 package/directfb/directfb.mk     |    7 +------
 package/fontconfig/fontconfig.mk |    3 +++
 package/libglib2/libglib2.mk     |    2 +-
 package/libgtk2/libgtk2.mk       |    1 -
 8 files changed, 45 insertions(+), 11 deletions(-)

I would appreciate feedback on this change (I have been testing for 2-3 weeks)
But I can never test all cases!  If you enable the BR2_CONFIG_CACHE option some
Makefile.autotools.in based packages may now break - I cannot build them all.
In this case you may need to remove config options that are being hardcoded all
over the place (like gtk saying we have 2 CXX compiler) or disable the use
of CONFIG CACHE file like I have done in fontconfig.
I can build all packages required to get WebKit on DirectFB up and running
and it runs fine.
I will try to resolve any issues this creates as fast as I can.

Signed-off-by: Daniel Laird <daniel.j.laird@nxp.com>
2008-11-28 14:20:47 +00:00
Peter Korsgaard
b444685399 Makefile.autotools.in: make MESSAGE output stand out
The following patch makes the MESSAGE Macro in Makefile.autotools.in
work.

I think it was originally intended to print the messages in bold type
but it doesn't appear to work correctly. This patch should work on all
platforms.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>

(Fixed to not continously call tput)
2008-11-07 08:56:02 +00:00
Hans-Christian Egtvedt
d86faadff9 Move creation of $(PROJECT_BUILD_DIR)/autotools-stamps into top level Makefile
This patch will create the autotools-stamps directory early in the build
process, thus making it possible for non Makefile.autotools.in packages to use
this directory to hold stamp files.

Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
2008-11-05 10:41:31 +00:00
Peter Korsgaard
43af3d3578 buildroot: add QUIET variable and use it for wget/git/svn/configure
A lot of tools take a -q option to be quiet.
Set this if make is called with the -s (silent) option and use for
wget, git, svn and configure.
2008-10-21 08:56:26 +00:00
Peter Korsgaard
886b274a5c BR2_HAVE_DOCUMENTATION: add option to remove documentation from target
Some packages' install-strip target install quite big documentation,
so create an option to remove it similar to the existing man/info options.
2008-10-20 11:32:25 +00:00
Peter Korsgaard
fedf24cf51 Makefile.autotools.in: default to install-strip for non-debug target install 2008-10-20 11:32:22 +00:00
Wade Berrier
5b0e7a5ddb Makefile.autotools.in: honor CONFIG_SHELL and TAR.
Don't use recursively expanded definition
  (Use ':=' instead of '=')
2008-10-07 17:08:27 +00:00
Wade Berrier
56eebd08c0 Makefile.autotools.in:
-Make tar switches 1.14 compatible

(Not sure of a more elegant way to handle this ... ?)
2008-10-06 19:20:58 +00:00
Daniel Laird
52097d2dad Makefile.autotools.in: Get my $(Q)'s in the correct place
Minor fix for Makefile.autotools.in that deals with the packages
that use AUTOCONF to regenerate configure etc. 
(my mistake to start with)

Daniel Laird
2008-09-19 14:43:50 +00:00
Daniel Laird
4ab8aa443b Makefile.autotools.in: Extended to cope with more bad packages
1. I added a HOOK_POST_EXTRACT previously so that I could cope with the
bad libxml2 package.  This required me to remove some dead patches
(.rej) files after I extracted the package, the issue is that the
EXTRACT target runs patch-kernel.sh to patch the ltmain.sh.  
It then finds some.rej files and bombs out.
I have altered the sequence so that the HOOK_POST_EXTRACT target runs
before the make target that patches libtool to deal with this.
 
2.) I have added a $(PKG)_LIBTOOL_PATCH variable.  This is defaulted to
YES however if you override it in the package makefile to NO then the
ltmain.sh file will not be patched automatically but only if you have
added your own patches.  
This is necessary for freetype 2.3.7 as it cannot use the
buildroot-libtool patch.

I am using this patch for building a set of packages, however it
is not a complete set of packages so await feedback of issues (if any)

Daniel Laird
2008-09-19 13:37:14 +00:00
Peter Korsgaard
7b2a502857 Makefile.autotools.in: fix DESTDIR= help text
DESTDIR per default points to TARGET_DIR / STAGING_DIR without /usr
appended.
2008-09-14 19:19:10 +00:00
Peter Korsgaard
79d7e95d5a Makefile.autotools.in: fix FOO_UNINSTALL_TARGET_OPT help text
It defaults to TARGET_DIR, not STAGING_DIR.
2008-09-14 19:19:06 +00:00
Hamish Moffatt
22258ea860 Move project-specific stamp files into a project-specific directory
$(PROJECT_BUILD_DIR)/autotools-stamps. Without this, autotools-using
packages won't be installed into any other projects than the first.
2008-09-11 02:15:07 +00:00
Hamish Moffatt
7b759f0910 Make the autotools xyz-clean target call xyz-uninstall first, rather than duplicating its actions 2008-09-04 02:34:42 +00:00
Hamish Moffatt
18a7694675 Fix duplicate $(AUTORECONF) run in autoreconf and configure targets 2008-09-04 01:19:52 +00:00
Hamish Moffatt
feb569d3cd In the uninstall and clean targets, remove the built/installed stamp files
so that those actions will do something if executed again.
2008-09-04 01:05:17 +00:00
Daniel Laird
022b95d6ef Makefile.autotools.in: Add extra POST_HOOK targets
It is not possible currently in Makefile.autotools.in packages 
to do something extra after an extract or configure. 
This may be useful for example 
extract libxml2-2.6.32 
POST_EXTRACT = remove some .rej files that are in offical release
patch (not fail because of remaining .rej files)
configure

I think this is useful improvement 
(necessary for Makefile.autotools.in packages)

Daniel Laird
2008-08-29 12:04:26 +00:00
Peter Korsgaard
2983381337 Makefile.autotools.in: remove unused BR2_HAVE_INCLUDES handling
Patch by Wade Berrier.
2008-08-22 14:01:56 +00:00
Peter Korsgaard
533f5e01a7 Makefile.autotools.in: add missing continuation for PKG_CONF_OPT
The silent support added in r23041 was missing a shell continuation character
breaking PKG_CONF_OPT support - Fixed.
2008-08-16 11:59:56 +00:00
Peter Korsgaard
a87d82081d Makefile.autotools.in: remove extra newlines in MESSAGE macro 2008-08-04 19:08:48 +00:00
Peter Korsgaard
ddd73e012c Makefile.autotools.in: quiet configure on silent (-s) builds
Use --quiet configure argument when make is invoked with the -s (silent)
option.
2008-08-04 19:08:45 +00:00
Peter Korsgaard
3d4ac57987 Makefile.autotools.in: fix patch dir for version specific subdir 2008-08-04 19:08:35 +00:00
Peter Korsgaard
02a623ddf9 buildroot: remove trailing spaces
for i in `find -name 'Config*' -o -name 'Makefile*' -o -name '*.mk'`;
do
	sed -i 's/ \+$//' $i;
done
2008-08-04 19:07:05 +00:00
Peter Korsgaard
bcad6288f5 Makefile.autotools.in: fix make source-check/external-deps differently
The MAKELEVEL test is not that robust; It fails with the recent log
support or if buildroot is driven from an external Makefile.

Rework it to instead detect source-check/external-deps by the fact that
they set SPIDER.
2008-07-24 13:38:39 +00:00
Peter Korsgaard
1c1712eb0e Makefile.autotools.in: revert broken r22659
Ulfs r22659 commit broke make source-check/external deps, so reverting it.
2008-07-07 05:08:39 +00:00
Ulf Samuelsson
5ac33b59aa Avoid duplicate downloading, when rebuilding failed package like libgtk2 2008-07-06 06:23:21 +00:00
Peter Korsgaard
ea1eb9e9f9 Makefile.autotools.in: fix source handling
Handling source/source-check/external-deps together doesn't work, as
wget will then download the sources every time make source is called
even if it's available in DL_DIR

Instead detect source-check/external-deps from MAKELEVEL.

Support downloadable package patches in source-check/external-deps
while we're at it.
2008-07-02 08:58:18 +00:00
Peter Korsgaard
555a7f5e50 Makefile.autotools.in: also remove man pages from /usr/share/man 2008-07-01 12:04:18 +00:00
Peter Korsgaard
d2bed82def Makefile.autotools.in: fix BR2_PRIMARY_SITE check
Empty strings gets defined to "", so check for that instead of if
the variable is defined.
2008-06-26 11:43:02 +00:00
Peter Korsgaard
f55ae3cdcf Makefile.autotools.in: also support source/source-check 2008-06-24 13:26:45 +00:00
Peter Korsgaard
40af930421 package/Makefile.autotools.in: support 'make external-deps' 2008-06-14 21:01:03 +00:00
Arnar Mar Sigurðsson
65063afec9 Add option to set default site to download package source from. FreeBSD ports mirrors (like: ftp2.uk.freebsd.org/pub/FreeBSD/ports/distfiles) are a good place to find almost all of the source packages. 2008-06-01 17:58:48 +00:00