Replies and Moans about "I do what with the headers? Bah :\"
Spoiler:
@knc1 exactly what you said. Oh and I spent ALL DAY looking for the post where you told me how to link recursively the arm-blah-gedoofer-gcc to gcc.
Still never found the damn thing. SO. Instead I'm doing including aalib the "proper" way. The universe was clearly telling me something.
@geekmaster. Err, okay. Sorry I thought you meant that there was some task to be undertaken. Yes reading code around a general procedural workflow is always helpful. thanks.
@Niluje okay mate. In that case I am 100% confident I am correct.
To clone or to amend is a details. amend = easiest so I may go there.
I have studied the man diff and patch till the cows come home and still am foggy about how it references paths but no doubt "readthrough 'n'" may actually sink it in to me. I have custom versions of your patch now that do the job. just need to get them applied relatively. I'll work it out. your help has been incredibly beneficial.
NOTES ON USING THE AMAZON KERNEL HEADERS:
a) Use Nilujes Patch to fix the unifdef issue - Find from top post.
(
extract just that hunk or just "don't apply this patch" fail the Makefile bit)
https://svn.ak-team.com/svn/Configs/...buildfix.patch
apply it the in root of your extracted amazon kernel source folder
you@dev /usr/local/src/BUILD_KERNAL $ patch -p1 <kernel-headers.patch
(if it fails to find the file just give it the absolute path to unifdef.c - it's in scripts)
Ensure you have an X-compiler that is configured
in the the way outlined here:
https://www.mobileread.com/forums/sho...&postcount=271
Then ensure your X-compiler is in your path:
you@dev /usr/local/src/BUILD_KERNAL/linux-2.6.26 $ echo $PATH
/opt/qemu111/bin:/home/you/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Then run:
you@dev /usr/local/src/BUILD_KERNAL/linux-2.6.26 $ DESTDIR=/opt/arm-2012.03 sudo make headers_install ARCH=arm INSTALL_HDR_PATH=/opt/arm-2012.03
where that is the path to your TC.
Bish Bash Bosh.
Thanks Niluje. Superstar.
Okay so to the thrust of this post:
Adding new packages 101 - Customising BR. (It's easy, honest).
the main docs are here:
http://buildroot.uclibc.org/download...s_to_buildroot
This reallife guide is what I intend to take the project where knc1 wanted.
The guide:
We assume that you have some knowledge.
${foo} is a reference to a variable.
you would test conditions like
if(${foo})
blar
endif
read up on Makefile and configure files. that will help.
Including AALIB in BR...
mkdir /home/you/GIT/buildroot/package/aalib
cd /home/you/GIT/buildroot/package/aalib
nano -w aalib.mk
Spoiler:
PHP Code:
#############################################################
#
# aalib
#
#############################################################
AALIB_VERSION = 1.4rc4
AALIB_SOURCE = aalib-$(AALIB_VERSION).tar.gz
AALIB_SITE = http://prdownloads.sourceforge.net/aa-project
AALIB_INSTALL_STAGING = YES
AALIB_INSTALL_TARGET = YES
AALIB_DEPENDENCIES = host-pkg-config
AALIB_MAKE = $(MAKE1)
AALIB_AUTORECONF = YES
AALIB_CONF_OPT = --enable-shared --with-x11-driver=no --exec-prefix=/mnt/us --prefix=/mnt/us
ifeq ($(BR2_PACKAGE_SLANG),y)
AALIB_CONF_OPT+=--with-slang-driver=yes
AALIB_DEPENDENCIES += slang
else
AALIB_CONF_OPT+=--with-slang-driver=no
endif
ifeq ($(BR2_PACKAGE_CURSES),y)
AALIB_CONF_OPT+=--with-curses-driver=yes
AALIB_DEPENDENCIES += curses
else
AALIB_CONF_OPT+=--with-slang-driver=no
endif
$(eval $(autotools-package))
save it
nano -w Config.in
Spoiler:
PHP Code:
config BR2_PACKAGE_AALIB
bool "aalib"
help
AAlib is an portable ascii art GFX library. If you wish to see some examples of AAlib technology, please browse AA-project homepage.
http://aa-project.sourceforge.net/index.html
save it.
In this next section you can choose to include it in the packages directories.
I choose LIBRARIES: GRAPHICS because I think that is the best fit.
nano /home/you/GIT/buildroot/package/Config.in
add
source "package/aalib/Config.in" in the relevant section
(see pictures for my example)
Adding Support in existing BR applications:
In this next section we are optionally adding support for the new package in existing packages like so: (adding support in SDL)
nano /home/you/GIT/buildroot/package/sdl/Config.in
Spoiler:
PHP Code:
config BR2_PACKAGE_SDL
bool "SDL"
help
Simple DirectMedia Layer - SDL is a library that allows
programs portable low level access to a video framebuffer,
audio output, mouse, and keyboard.
http://www.libsdl.org/
if BR2_PACKAGE_SDL
config BR2_PACKAGE_SDL_FBCON
bool "SDL framebuffer console video driver"
default y
config BR2_PACKAGE_SDL_DIRECTFB
bool "SDL DirectFB video driver"
depends on BR2_PACKAGE_DIRECTFB
config BR2_PACKAGE_SDL_QTOPIA
bool "SDL Qtopia video driver"
depends on BR2_PACKAGE_QT
config BR2_PACKAGE_SDL_AALIB
bool "SDL aalib ascii driver"
depends on BR2_PACKAGE_AALIB
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
save it.
Edit the mk to include the call.
Run
make xconfig from BuildRoot Root.
You should see the new things as pictured below.
The example I posted here also includes the use of making another application require support which is the start of integration.
HTH.