On Fri, Aug 08, 2008 at 03:36:11PM +0200, Stefan Reinauer wrote:
The attached patch reorganizes the libpayload menu structure to reflect the structure of the code. It also adds a few more options to allow fine-grained selection of compiled code.
Signed-off-by: Stefan Reinauer stepan@coresystems.de
I like it!
Acked-by: Peter Stuge peter@stuge.se
Index: libc/Makefile.inc
--- libc/Makefile.inc (revision 3485) +++ libc/Makefile.inc (working copy) @@ -2,6 +2,7 @@ ## This file is part of the libpayload project. ## ## Copyright (C) 2008 Advanced Micro Devices, Inc. +## Copyright (C) 2008 coresystems GmbH ## ## Redistribution and use in source and binary forms, with or without ## modification, are permitted provided that the following conditions @@ -27,6 +28,6 @@ ## SUCH DAMAGE. ##
-TARGETS-y += libc/malloc.o libc/printf.o libc/console.o libc/string.o -TARGETS-y += libc/memory.o libc/ctype.o libc/ipchecksum.o libc/lib.o -TARGETS-y += libc/rand.o libc/time.o libc/lar.o libc/exec.o +TARGETS-$(CONFIG_LIBC) += libc/malloc.o libc/printf.o libc/console.o libc/string.o +TARGETS-$(CONFIG_LIBC) += libc/memory.o libc/ctype.o libc/ipchecksum.o libc/lib.o +TARGETS-$(CONFIG_LIBC) += libc/rand.o libc/time.o libc/lar.o libc/exec.o Index: Config.in =================================================================== --- Config.in (revision 3485) +++ Config.in (working copy) @@ -2,6 +2,7 @@ ## This file is part of the libpayload project. ## ## Copyright (C) 2008 Advanced Micro Devices, Inc. +## Copyright (C) 2008 coresystems GmbH ## ## Redistribution and use in source and binary forms, with or without ## modification, are permitted provided that the following conditions @@ -34,8 +35,20 @@ bool default y
-menu "Output Options" +menu "Standard Libraries"
+config LIBC
- bool "Enable C library support"
- default y
+config TINYCURSES
- bool "Enable tinycurses support"
- default y
+endmenu
+menu "Console Options"
config SERIAL_CONSOLE bool "See output on the serial port console" default y @@ -73,6 +86,14 @@ bool "Allow input from a PC keyboard" default y
+endmenu
+menu "Drivers"
+config PCI
- bool "Support for PCI devices"
- default y
config NVRAM bool "Support for reading/writing NVRAM bytes" default y @@ -93,12 +114,9 @@ If you want to read or write CMOS bytes on computers with one of these chipsets, say 'y' here.
-endmenu
-menu "Build Options"
-config TINYCURSES
- bool "Enable tinycurses support"
+config SPEAKER
- bool "Support for PC speaker" default y
endmenu
Index: drivers/Makefile.inc
--- drivers/Makefile.inc (revision 3485) +++ drivers/Makefile.inc (working copy) @@ -3,6 +3,7 @@ ## ## Copyright (C) 2007 Uwe Hermann uwe@hermann-uwe.de ## Copyright (C) 2008 Advanced Micro Devices, Inc. +## Copyright (C) 2008 coresystems GmbH ## ## Redistribution and use in source and binary forms, with or without ## modification, are permitted provided that the following conditions @@ -28,11 +29,14 @@ ## SUCH DAMAGE. ##
-TARGETS-y += drivers/pci.o -TARGETS-y += drivers/speaker.o +TARGETS-$(CONFIG_PCI) += drivers/pci.o
+TARGETS-$(CONFIG_SPEAKER) += drivers/speaker.o
TARGETS-$(CONFIG_SERIAL_CONSOLE) += drivers/serial.o
TARGETS-$(CONFIG_PC_KEYBOARD) += drivers/keyboard.o
TARGETS-$(CONFIG_NVRAM) += drivers/nvram.o TARGETS-$(CONFIG_NVRAM) += drivers/options.o