diff options
-rw-r--r-- | extra/Configs/Config.alpha | 200 | ||||
-rw-r--r-- | extra/Configs/Config.arm | 24 | ||||
-rw-r--r-- | extra/Configs/Config.cris | 224 | ||||
-rw-r--r-- | extra/Configs/Config.cross.arm.uclinux | 191 | ||||
-rw-r--r-- | extra/Configs/Config.h8300 | 202 | ||||
-rw-r--r-- | extra/Configs/Config.i386 | 20 | ||||
-rw-r--r-- | extra/Configs/Config.i386.default | 1 | ||||
-rw-r--r-- | extra/Configs/Config.i960 | 224 | ||||
-rw-r--r-- | extra/Configs/Config.in.arch | 17 | ||||
-rw-r--r-- | extra/Configs/Config.m68k | 214 | ||||
-rw-r--r-- | extra/Configs/Config.m68k.coff | 206 | ||||
-rw-r--r-- | extra/Configs/Config.mips | 238 | ||||
-rw-r--r-- | extra/Configs/Config.mipsel | 198 | ||||
-rw-r--r-- | extra/Configs/Config.powerpc | 200 | ||||
-rw-r--r-- | extra/Configs/Config.sh | 313 | ||||
-rw-r--r-- | extra/Configs/Config.sparc | 205 | ||||
-rw-r--r-- | extra/Configs/Config.v850e | 198 |
17 files changed, 411 insertions, 2464 deletions
diff --git a/extra/Configs/Config.alpha b/extra/Configs/Config.alpha index ab8e4bfe6..3a13d9826 100644 --- a/extra/Configs/Config.alpha +++ b/extra/Configs/Config.alpha @@ -1,192 +1,36 @@ -# Library Configuration rules for uClibc # -# This file contains rules which are shared between multiple Makefiles. All -# normal configuration options live in the file named "Config". You probably -# should not mess with this file unless you know what you are doing... -# -# Copyright (C) 2000 by Lineo, inc. -# Copyright (C) 2000,2001 Erik Andersen <andersee@debian.org> +# For a description of the syntax of this configuration file, +# see Documentation/kbuild/config-language.txt. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU Library General Public License as published by the Free -# Software Foundation; either version 2 of the License, 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 Library General Public License for more -# details. -# -# You should have received a copy of the GNU Library General Public License -# along with this program; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# Derived in part from the Linux-8086 C library, the GNU C Library, and several -# other sundry sources. Files within this library are copyright by their -# respective copyright holders. - -NATIVE_CC = gcc - -# If you are running a cross compiler, you may want to set this -# to something more interesting... Target architecture is determined -# by asking this compiler what arch it compiles stuff for. -CROSS = #$(TARGET_ARCH)-linux- -CC = $(CROSS)gcc -AR = $(CROSS)ar -LD = $(CROSS)ld -NM = $(CROSS)nm -STRIPTOOL = $(CROSS)strip -#STRIPTOOL = /bin/true - -# Set the following to `true' to make a debuggable build, and `false' for -# production builds. -DODEBUG = false - -# Compiler warnings you want to see -WARNINGS=-Wall -# Note that the kernel source you use to compile with should be the same as the -# Linux kernel you run your apps on. uClibc doesn't even try to achieve binary -# compatibility across kernel versions. So don't expect, for example, uClibc -# compiled with Linux kernel 2.0.x to implement lchown properly, since 2.0.x -# can't do that. Similarly, if you compile uClibc vs Linux 2.4.x kernel headers, -# but then run on Linux 2.0.x, lchown will be compiled into uClibc, but won't -# work at all. You have been warned. -KERNEL_SOURCE=/home/andersee/kernel-source-2.4.18 +mainmenu "uClibc C Library Configuration" -# Set this to `false' if your CPU doesn't have a memory management unit (MMU). -# Set it to `true' otherwise. -HAS_MMU = true +menu "Target Architecture Features and Options" -# Set this to `false' if you don't have/need basic floating point support -# support in libc (strtod, printf, scanf). Set it to `true' otherwise. -# If this is not true, then libm will not be built. -HAS_FLOATING_POINT = true +config HAVE_ELF + bool + default y -# Set to `true' if you want the math library to contain the full set -# of C99 math library features. Costs an extra 35k or so on x86. -DO_C99_MATH = true - -# Set this to 'false if you don't need shadow password support. -HAS_SHADOW = true - -# Set this to `false' if you don't have/need locale support; `true' otherwise. -# NOTE: Currently does not affect collation. -# You must also generate the locale data and associated .h file. -# See the README in directory extra/locale for details. -HAS_LOCALE = false - -# Set this to `false' if you don't have/need wide char support. -HAS_WCHAR = false - -# This specifies which malloc implementation is used. -# -# "malloc" use mmap for all allocations and so works very well on MMU-less -# systems that do not support the brk() system call. It is pretty smart -# about reusing already allocated memory, and minimizing memory wastage. -# -# "malloc-930716" is derived from libc-5.3.12 and uses the brk() system call -# for all memory allocations. This makes it very fast. It is also pretty -# smart about reusing already allocated memory, and minimizing memory wastage. -# Because this uses brk() it will not work on uClinux MMU-less systems. -#MALLOC = malloc -MALLOC = malloc-930716 +config C_SYMBOL_PREFIX + string + default "" -# If you want large file support (greater then 2 GiB) turn this on. -# Do not enable this unless your kernel provides large file support. -DOLFS = true +config ARCH_CFLAGS + string + default "" -# Posix regular expression code is really big -- 27k all by itself. -# If you don't use regular expressions, turn this off and save space. -# Of course, if you only staticly link, leave this on, since it will -# only be included in your apps if you use regular expressions. -INCLUDE_REGEX=true +config ARCH_LDFLAGS + string + default "" -# If you want to include RPC support, enable this. RPC is almost never used -# for anything except NFS support, so unless you plan to use NFS, leave this -# disabled. This is off by default. -INCLUDE_RPC = false - -# Normally we enable just enough RPC support for things like rshd and -# nfs mount to work. If you find you need the rest of the RPC stuff, -# then enable this. -INCLUDE_FULL_RPC = false - -# If you want to include support for the next version of the Internet -# Protocol: IP version 6, enable this. This is off by default. -INCLUDE_IPV6 = false - -# If you want to include threads support, enable this. The C library will -# be compiled thread-safe, and the libpthread library will be built. -INCLUDE_THREADS=false - -# If you want to support only Unix 98 PTYs enable this. Some older -# applications may need this disabled. For most current programs, -# you can generally leave this true. -UNIX98PTY_ONLY = true - -# Enable this if /dev/pts is on a devpts or devfs file system. Both -# these filesystems automatically manage permissions on the /dev/pts -# devices. You may need to mount this fs on /dev/pts for this to work. -# This is true by default. -ASSUME_DEVPTS = true - - -# If you want to compile the library as PIC code, turn this on. -# This is automagically enabled when HAVE_SHARED is true -DOPIC = false - -# Enable support for shared libraries? If this is false, you can -# ignore all the rest of the options in this file... -HAVE_SHARED = false - -# uClibc has a native shared library loader for some architectures. -BUILD_UCLIBC_LDSO=false - -# If you are using shared libraries, but do not want/have a native -# uClibc shared library loader, please specify the name of your -# system's shared library loader here... -#SYSTEM_LDSO=/lib/ld-linux.so.2 -SYSTEM_LDSO=$(shell for each in `$(CC) -print-search-dirs| \ - grep ^libraries| sed -e 's/^libraries: //' -e 's/:/ /g'`;\ - do ls $$each/ld.so.* 2>/dev/null;done) - -# When using shared libraries, this path is the location where the -# shared library will be invoked. This value will be compiled into -# every binary compiled with uClibc. -# -# BIG FAT WARNING: -# If you do not have a shared library loader with the correct name -# sitting in the directory this points to, your binaries will not run. -SHARED_LIB_LOADER_PATH=$(DEVEL_PREFIX)/lib +config LIBGCC_CFLAGS + string + default "" -# DEVEL_PREFIX is the directory into which the uClibc development -# environment will be installed. The result will look something -# like the following: -# DEVEL_PREFIX/ -# lib/ <contains all runtime and static libs> -# include/ <Where all the header files go> -# This value is used by the 'make install' Makefile target. Since this -# directory is compiled into the uclibc cross compiler spoofer, you -# have to recompile if you change this value... -DEVEL_PREFIX = /usr/$(TARGET_ARCH)-linux-uclibc +source "extra/Configs/Config.in.arch" -# SYSTEM_DEVEL_PREFIX is the directory prefix used when installing -# bin/arch-uclibc-gcc, bin/arch-uclibc-ld, etc. This is only used by -# the 'make install' target, and is not compiled into anything. This -# defaults to $DEVEL_PREFIX/usr, but makers of .rpms and .debs will -# want to set this to "/usr" instead. -SYSTEM_DEVEL_PREFIX = $(DEVEL_PREFIX) +endmenu -# DEVEL_TOOL_PREFIX is the directory prefix used when installing -# bin/gcc, bin/ld, etc. This is only used by the 'make install' -# target, and is not compiled into anything. This defaults to -# $DEVEL_PREFIX/usr, but makers of .rpms and .debs may want to -# set this to something else. -DEVEL_TOOL_PREFIX = $(DEVEL_PREFIX)/usr +source "extra/Configs/Config.in" -# If you want 'make install' to install everything under a temporary -# directory, the define PREFIX during the install step, -# i.e., 'make PREFIX=/var/tmp/uClibc install'. -#PREFIX = $(TOPDIR)/_install diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm index ed5d84229..e11ec1008 100644 --- a/extra/Configs/Config.arm +++ b/extra/Configs/Config.arm @@ -7,6 +7,26 @@ mainmenu "uClibc C Library Configuration" menu "Target Architecture Features and Options" +config HAVE_ELF + bool + default y + +config C_SYMBOL_PREFIX + string + default "" + +config ARCH_CFLAGS + string + default "" + +config ARCH_LDFLAGS + string + default "" + +config LIBGCC_CFLAGS + string + default "" + choice prompt "Target Processor Type" default CONFIG_GENERIC_ARM @@ -42,6 +62,10 @@ config CONFIG_XSCALE endchoice +config ARCH_HAS_NO_MMU + bool + default y if CONFIG_ARM7TDMI + config CPU_CFLAGS string default "" if CONFIG_GENERIC_ARM diff --git a/extra/Configs/Config.cris b/extra/Configs/Config.cris index 879b32e2c..983570f78 100644 --- a/extra/Configs/Config.cris +++ b/extra/Configs/Config.cris @@ -1,216 +1,36 @@ -# Library Configuration rules for uClibc for CRIS (Axis Etrax CPU) # -# This file contains rules which are shared between multiple Makefiles. Feel -# free to adjust to taste... -# -Erik Andersen <andersen@lineo.com> <andersee@debian.org> -# -# Copyright (C) 2000 by Lineo, inc. -# (C) 2002 by Axis Communications AB +# For a description of the syntax of this configuration file, +# see Documentation/kbuild/config-language.txt. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU Library General Public License as published by the Free -# Software Foundation; either version 2 of the License, 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 Library General Public License for more -# details. -# -# You should have received a copy of the GNU Library General Public License -# along with this program; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# Derived in part from the Linux-8086 C library, the GNU C Library, and several -# other sundry sources. Files within this library are copyright by their -# respective copyright holders. - -# Target architecture -TARGET_ARCH = cris - -# Target specific things to add to CFLAGS -ARCH_CFLAGS = -fpic -mlinux -D__USE_WEAK_ALIASES - -# Target specific things to add to LDFLAGS -ARCH_LDFLAGS = -mcrislinux - -# Target specific optins needed when asking $(CROSS)gcc about libgcc.a -LIBGCC_CFLAGS = -mlinux - -# If you are running a cross compiler, you may want to set this -# to something more interesting... -NATIVE_CC = gcc -CROSS = cris- -CC = $(CROSS)gcc -AR = $(CROSS)ar -LD = $(CROSS)ld -STRIPTOOL = $(CROSS)strip -# STRIPTOOL = /bin/true - -# Compiler warnings you want to see -WARNINGS=-Wall - -# Note that the kernel source you use to compile with should be the same as the -# Linux kernel you run your apps on. uClibc doesn't even try to achieve binary -# compatibility across kernel versions. So don't expect, for example, uClibc -# compiled with Linux kernel 2.0.x to implement lchown properly, since 2.0.x -# can't do that. Similarly, if you compile uClibc vs Linux 2.4.x kernel headers, -# but then run on Linux 2.0.x, lchown will be compiled into uClibc, but won't -# work at all. You have been warned. -KERNEL_SOURCE=$(AXIS_KERNEL_DIR) - -# Disable this if your CPU has a memory management unit (MMU) -HAS_MMU = true - -# Set this to 'false' if basic floating support isn't needed in -# libc (strtod, printf, scanf). It this isn't true, libm will no -# be built -HAS_FLOATING_POINT = true - -# Set to 'true' if the math library should contain the full C99 math -# functions. This adds a few K's.. -DO_C99_MATH = false - -# Set this to `false' if you don't have/need doubles. This primarily -# effects libm, which gets quite a bit larger, but also effects several -# other places. Set it to `true' otherwise. -HAS_DOUBLE = false - -# Set this to `false' if you don't have/need long doubles. This primarily -# effects libm, which gets quite a bit larger. Set it to `true' otherwise. -HAS_LONG_DOUBLE = false -# Set this to 'false if you don't need shadow password support. -HAS_SHADOW = false +mainmenu "uClibc C Library Configuration" -# Set this to `false' if you don't have/need locale support; `true' otherwise. -# Note: Currently only affects the ctype functions. You must also generate -# a locale file for anything but the C locale. See directory extra/locale for -# a utility to do so. Also see the following option. -HAS_LOCALE = false +menu "Target Architecture Features and Options" -# Set this to the path of your uClibc locale file directory. -# Warning! This must be different than the glibc locale directory to avoid -# name conflicts, as the locale files are entirely different in format! -LOCALE_DIR = "/usr/share/uClibc-locale/" +config HAVE_ELF + bool + default y -# Set the following to `true' to make a debuggable build. -# Do not enable this for production builds... -DODEBUG = false +config C_SYMBOL_PREFIX + string + default "" -# This specifies which malloc implementation is used. -# "malloc-simple" is very, very small, but is also very, very dumb -# and does not try to make good use of memory or clean up after itself. -# -# "malloc" on the other hand is a bit bigger, but is pretty smart thereby -# minimizing memory wastage and reusing already allocated memory. This -# can be lots faster and safer IMHO. -# -# "malloc-930716" is from libc-5.3.12 and was/is the standard gnu malloc. -# It is actually smaller than "malloc", at least on i386. Right now, it -# only works on i386 (and maybe m68k) because it needs sbrk. -#MALLOC = malloc-simple -#MALLOC = malloc -MALLOC = malloc-930716 - -# If you want to collect common syscall code into one function, set to -# true. On i386 this saves about than 2.8k over all syscalls. -# The idea came from the implementation in dietlibc. -# At present, only affects i386. -UNIFIED_SYSCALL = false - -# If you want large file summit support (greater then 2 Gib), -# turn this on. This has no effect unless your kernel supports -# lfs. This currently does nothing, but may someday... -DOLFS = false - -# Posix regular expression code is really big -- 27k all by itself. -# If you don't use regular expressions, turn this off and save space. -# Of course, if you only staticly link, leave this on, since it will -# only be included in your apps if you use regular expressions. -INCLUDE_REGEX = true - -# If you want to include RPC support, enable this. RPC is almost never used -# for anything except NFS support, so unless you plan to use NFS, leave this -# disabled. This is off by default. -INCLUDE_RPC = true - -# If you want to include threads support, enable this. The C library will -# be compiled thread-safe, and the libpthread library will be built. -INCLUDE_THREADS = true - -# If you want to include support for the next version of the Internet -# Protocol: IP version 6, enable this. This is off by default. -INCLUDE_IPV6 = false +config ARCH_CFLAGS + string + default "-fpic -mlinux -D__USE_WEAK_ALIASES" -# If you want to support only Unix 98 PTYs enable this. Some older -# applications may need this disabled. For most current programs, -# you can generally leave this true. -UNIX98PTY_ONLY = true +config ARCH_LDFLAGS + string + default "-mcrislinux" -# Enable this if /dev/pts is on a devpts or devfs file system. Both -# these filesystems automatically manage permissions on the /dev/pts -# devices. You may need to mount this fs on /dev/pts for this to work. -# This is true by default. -ASSUME_DEVPTS = true +config LIBGCC_CFLAGS + string + default "-mlinux" -# If you want to compile the library as PIC code, turn this on. -# This is automagically enabled when HAVE_SHARED is true -DOPIC = false +source "extra/Configs/Config.in.arch" -# Enable support for shared libraries? If this is false, you can -# ignore all the rest of the options in this file... -HAVE_SHARED = true +endmenu -# uClibc has a native shared library loader for some architectures. -BUILD_UCLIBC_LDSO=true +source "extra/Configs/Config.in" -# If you are using shared libraries, but do not want/have a native -# uClibc shared library loader, please specify the name of your -# system's shared library loader here... -# -#SYSTEM_LDSO=/lib/ld.so.1 - -# When using shared libraries, this path is the location where the -# shared library will be invoked. This value will be compiled into -# every binary compiled with uClibc. -# -# BIG FAT WARNING: -# If you do not have a shared library loader with the correct name -# sitting in the directory this points to, your binaries will not run. -SHARED_LIB_LOADER_PATH=$(DEVEL_PREFIX)/lib - -# DEVEL_PREFIX is the directory into which the uClibc development -# environment will be installed. The result will look something -# like the following: -# DEVEL_PREFIX/ -# bin/ <contains gcc, ld, etc> -# lib/ <contains all runtime and static libs> -# include/ <Where all the header files go> -# This value is used by the 'make install' Makefile target. Since this -# directory is compiled into the uclibc cross compiler spoofer, you -# have to recompile if you change this value... -#DEVEL_PREFIX = /usr/$(TARGET_ARCH)-linux-uclibc - -ifdef prefix -DEVEL_PREFIX = $(prefix) -else -ifdef AXIS_TOP_DIR -DEVEL_PREFIX = $(AXIS_TOP_DIR)/target/cris-axis-linux-gnuuclibc -else -DEVEL_PREFIX = $(EROOT) -endif -endif - -# SYSTEM_DEVEL_PREFIX is the directory prefix used when installing -# bin/arch-uclibc-gcc, bin/arch-uclibc-ld, etc. This is only used by -# the 'make install' target, and is not compiled into anything. This -# defaults to $DEVEL_PREFIX/usr, but makers of .rpms and .debs will -# want to set this to "/usr" instead. -# -SYSTEM_DEVEL_PREFIX = $(DEVEL_PREFIX)/lib -# If you want 'make install' to install everything under a temporary -# directory, the define PREFIX during the install step, -# i.e., 'make PREFIX=/var/tmp/uClibc install'. -#PREFIX = $(TOPDIR)/_install diff --git a/extra/Configs/Config.cross.arm.uclinux b/extra/Configs/Config.cross.arm.uclinux deleted file mode 100644 index 4e45030b9..000000000 --- a/extra/Configs/Config.cross.arm.uclinux +++ /dev/null @@ -1,191 +0,0 @@ -# Library Configuration rules for uClibc -# -# This file contains rules which are shared between multiple Makefiles. All -# normal configuration options live in the file named "Config". You probably -# should not mess with this file unless you know what you are doing... -# -# Copyright (C) 2000 by Lineo, inc. -# Copyright (C) 2000,2001 Erik Andersen <andersee@debian.org> -# -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU Library General Public License as published by the Free -# Software Foundation; either version 2 of the License, 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 Library General Public License for more -# details. -# -# You should have received a copy of the GNU Library General Public License -# along with this program; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# Derived in part from the Linux-8086 C library, the GNU C Library, and several -# other sundry sources. Files within this library are copyright by their -# respective copyright holders. - -NATIVE_CC = gcc - -# If you are running a cross compiler, you may want to set this -# to something more interesting... Target architecture is determined -# by asking this compiler what arch it compiles stuff for. -CROSS = arm-elf- -CC = $(CROSS)gcc -AR = $(CROSS)ar -LD = $(CROSS)ld -NM = $(CROSS)nm -STRIPTOOL = $(CROSS)strip -#STRIPTOOL = /bin/true - -# Set the following to `true' to make a debuggable build, and `false' for -# production builds. -DODEBUG = false - -# Compiler warnings you want to see -WARNINGS=-Wall - -# Note that the kernel source you use to compile with should be the same as the -# Linux kernel you run your apps on. uClibc doesn't even try to achieve binary -# compatibility across kernel versions. So don't expect, for example, uClibc -# compiled with Linux kernel 2.0.x to implement lchown properly, since 2.0.x -# can't do that. Similarly, if you compile uClibc vs Linux 2.4.x kernel headers, -# but then run on Linux 2.0.x, lchown will be compiled into uClibc, but won't -# work at all. You have been warned. -KERNEL_SOURCE=/home/andersen/CVS/uClinux-2.0.x - -# Set this to `false' if your CPU doesn't have a memory management unit (MMU). -# Set it to `true' otherwise. -HAS_MMU = false - -# Set this to `false' if you don't have/need basic floating point support -# support in libc (strtod, printf, scanf). Set it to `true' otherwise. -# If this is not true, then libm will not be built. -HAS_FLOATING_POINT = true - -# Set to `true' if you want the math library to contain the full set -# of C99 math library features. Costs an extra 35k or so on x86. -DO_C99_MATH = false - -# Set this to 'false if you don't need shadow password support. -HAS_SHADOW = false - -# Set this to `false' if you don't have/need locale support; `true' otherwise. -# NOTE: Currently does not affect collation. -# You must also generate the locale data and associated .h file. -# See the README in directory extra/locale for details. -HAS_LOCALE = false - -# Set this to `false' if you don't have/need wide char support. -HAS_WCHAR = false - -# This specifies which malloc implementation is used. -# -# "malloc" use mmap for all allocations and so works very well on MMU-less -# systems that do not support the brk() system call. It is pretty smart -# about reusing already allocated memory, and minimizing memory wastage. -# -# "malloc-930716" is derived from libc-5.3.12 and uses the brk() system call -# for all memory allocations. This makes it very fast. It is also pretty -# smart about reusing already allocated memory, and minimizing memory wastage. -# Because this uses brk() it will not work on uClinux MMU-less systems. -MALLOC = malloc -#MALLOC = malloc-930716 - -# Having brk allows one to use malloc-930716, which is an order -# of magnitude faster then "malloc" for most allocations, but -# will do very bad things on MMU-less systems... -EXCLUDE_BRK=true - -# If you want large file support (greater then 2 GiB) turn this on. -# Do not enable this unless your kernel provides large file support. -DOLFS = false - -# Posix regular expression code is really big -- 27k all by itself. -# If you don't use regular expressions, turn this off and save space. -# Of course, if you only staticly link, leave this on, since it will -# only be included in your apps if you use regular expressions. -INCLUDE_REGEX=true - -# If you want to include RPC support, enable this. RPC is almost never used -# for anything except NFS support, so unless you plan to use NFS, leave this -# disabled. This is off by default. -INCLUDE_RPC = false - -# Normally we enable just enough RPC support for things like rshd and -# nfs mount to work. If you find you need the rest of the RPC stuff, -# then enable this. -INCLUDE_FULL_RPC = false - -# If you want to include support for the next version of the Internet -# Protocol: IP version 6, enable this. This is off by default. -INCLUDE_IPV6 = false - -# If you want to support only Unix 98 PTYs enable this. Some older -# applications may need this disabled. For most current programs, -# you can generally leave this true. -UNIX98PTY_ONLY = true - -# Enable this if /dev/pts is on a devpts or devfs file system. Both -# these filesystems automatically manage permissions on the /dev/pts -# devices. You may need to mount this fs on /dev/pts for this to work. -# This is true by default. -ASSUME_DEVPTS = true - - -# If you want to compile the library as PIC code, turn this on. -# This is automagically enabled when HAVE_SHARED is true -DOPIC = false - -# Enable support for shared libraries? If this is false, you can -# ignore all the rest of the options in this file... -HAVE_SHARED = false - -# uClibc has a native shared library loader for some architectures. -BUILD_UCLIBC_LDSO=false - -# If you are using shared libraries, but do not want/have a native -# uClibc shared library loader, please specify the name of your -# system's shared library loader here... -#SYSTEM_LDSO=/lib/ld-linux.so.2 - -# When using shared libraries, this path is the location where the -# shared library will be invoked. This value will be compiled into -# every binary compiled with uClibc. -# -# BIG FAT WARNING: -# If you do not have a shared library loader with the correct name -# sitting in the directory this points to, your binaries will not run. -#SHARED_LIB_LOADER_PATH=$(DEVEL_PREFIX)/lib - -# DEVEL_PREFIX is the directory into which the uClibc development -# environment will be installed. The result will look something -# like the following: -# DEVEL_PREFIX/ -# lib/ <contains all runtime and static libs> -# include/ <Where all the header files go> -# This value is used by the 'make install' Makefile target. Since this -# directory is compiled into the uclibc cross compiler spoofer, you -# have to recompile if you change this value... -#DEVEL_PREFIX = /usr/$(TARGET_ARCH)-linux-uclibc -DEVEL_PREFIX = /opt/uClinux/$(TARGET_ARCH)-elf - -# SYSTEM_DEVEL_PREFIX is the directory prefix used when installing -# bin/arch-uclibc-gcc, bin/arch-uclibc-ld, etc. This is only used by -# the 'make install' target, and is not compiled into anything. This -# defaults to $DEVEL_PREFIX/usr, but makers of .rpms and .debs will -# want to set this to "/usr" instead. -SYSTEM_DEVEL_PREFIX = $(DEVEL_PREFIX) - -# DEVEL_TOOL_PREFIX is the directory prefix used when installing -# bin/gcc, bin/ld, etc. This is only used by the 'make install' -# target, and is not compiled into anything. This defaults to -# $DEVEL_PREFIX/usr, but makers of .rpms and .debs may want to -# set this to something else. -DEVEL_TOOL_PREFIX = $(DEVEL_PREFIX)/usr - -# If you want 'make install' to install everything under a temporary -# directory, the define PREFIX during the install step, -# i.e., 'make PREFIX=/var/tmp/uClibc install'. -#PREFIX = $(TOPDIR)/_install - diff --git a/extra/Configs/Config.h8300 b/extra/Configs/Config.h8300 index 8062fe64b..e3a63a5af 100644 --- a/extra/Configs/Config.h8300 +++ b/extra/Configs/Config.h8300 @@ -1,192 +1,40 @@ -# Library Configuration rules for uClibc # -# This file contains rules which are shared between multiple Makefiles. All -# normal configuration options live in the file named "Config". You probably -# should not mess with this file unless you know what you are doing... -# -# Copyright (C) 2002 Erik Andersen <andersee@debian.org> +# For a description of the syntax of this configuration file, +# see Documentation/kbuild/config-language.txt. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU Library General Public License as published by the Free -# Software Foundation; either version 2 of the License, 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 Library General Public License for more -# details. -# -# You should have received a copy of the GNU Library General Public License -# along with this program; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# Derived in part from the Linux-8086 C library, the GNU C Library, and several -# other sundry sources. Files within this library are copyright by their -# respective copyright holders. - -# What arch do you want to compile for... -#TARGET_ARCH=arm -#TARGET_ARCH=i386 -#TARGET_ARCH=m68k -#TARGET_ARCH=powerpc -#TARGET_ARCH=sh -#TARGET_ARCH=sparc -TARGET_ARCH=h8300 - -# If you are running a cross compiler, you may want to set this -# to something more interesting... -NATIVE_CC = gcc -CROSS = h8300-hitachi-hms- -CC = $(CROSS)gcc -AR = $(CROSS)ar -LD = $(CROSS)ld -NM = $(CROSS)nm -STRIPTOOL = $(CROSS)strip -#STRIPTOOL = /bin/true - -# Set the following to `true' to make a debuggable build, and `false' for -# production builds. -DODEBUG = false - -# Compiler warnings you want to see -WARNINGS=-Wall - -# Note that the kernel source you use to compile with should be the same as the -# Linux kernel you run your apps on. uClibc doesn't even try to achieve binary -# compatibility across kernel versions. So don't expect, for example, uClibc -# compiled with Linux kernel 2.0.x to implement lchown properly, since 2.0.x -# can't do that. Similarly, if you compile uClibc vs Linux 2.4.x kernel headers, -# but then run on Linux 2.0.x, lchown will be compiled into uClibc, but won't -# work at all. You have been warned. -KERNEL_SOURCE=/opt/uClinux/linux -# Set this to `false' if your CPU doesn't have a memory management unit (MMU). -# Set it to `true' otherwise. -HAS_MMU = false - -# Set this to `false' if you don't have/need basic floating point support -# support in libc (strtod, printf, scanf). Set it to `true' otherwise. -# If this is not true, then libm will not be built. -HAS_FLOATING_POINT = true - -# Set to `true' if you want the math library to contain the full set -# of C99 math library features. Costs an extra 35k or so on x86. -DO_C99_MATH = false - -# Set this to `false' if you don't have/need locale support; `true' otherwise. -# NOTE: Currently does not affect collation. -# You must also generate the locale data and associated .h file. -# See the README in directory extra/locale for details. -HAS_LOCALE = false - -# Set this to `false' if you don't have/need wide char support. -HAS_WCHAR = false - -# This specifies which malloc implementation is used. -# -# "malloc" use mmap for all allocations and so works very well on MMU-less -# systems that do not support the brk() system call. It is pretty smart -# about reusing already allocated memory, and minimizing memory wastage. -# -# "malloc-930716" is derived from libc-5.3.12 and uses the brk() system call -# for all memory allocations. This makes it very fast. It is also pretty -# smart about reusing already allocated memory, and minimizing memory wastage. -# Because this uses brk() it will not work on uClinux MMU-less systems. -MALLOC = malloc -#MALLOC = malloc-930716 +mainmenu "uClibc C Library Configuration" -# If you want large file summit support (greater then 2 Gib), -# turn this on. This has no effect unless your kernel supports -# lfs. This currently does nothing, but may someday... -DOLFS = false +menu "Target Architecture Features and Options" -# If you want to include RPC support, enable this. RPC is almost never used -# for anything except NFS support, so unless you plan to use NFS, leave this -# disabled. This is off by default. -INCLUDE_RPC = true +config HAVE_ELF + bool + default n -# Normally we enable just enough RPC support for things like rshd and -# nfs mount to work. If you find you need the rest of the RPC stuff, -# then enable this. -INCLUDE_FULL_RPC = false +config C_SYMBOL_PREFIX + string + default "_" -# If you want to include support for the next version of the Internet -# Protocol: IP version 6, enable this. This is off by default. -INCLUDE_IPV6 = false +config ARCH_CFLAGS + string + default "-mh -mint32 -fsigned-char" -# If you want to compile the library as PIC code, turn this on. -DOPIC = false +config ARCH_LDFLAGS + string + default "" -# -# ARCH_CFLAGS if your have something special to add to the CFLAGS -# -ARCH_CFLAGS = -mh -mint32 -fsigned-char -# -# this is needed for 2.4 m68knommu builds -# -ARCH_CFLAGS2 = -I$(KERNEL_SOURCE)/include -# -# get this from elsewhere, maybe -# -OPTIMIZATION = $(DEBUG_CFLAGS) -mh -mint32 -fsigned-char - -# This is a COFF compiler (ick), so disable all the cool stuff -HAVE_ELF = false - - - -# Enable support for shared libraries? If this is false, you can -# ignore all the rest of the options in this file... -HAVE_SHARED = false - -# uClibc has a native shared library loader for some architectures. -BUILD_UCLIBC_LDSO=false - -# If you are using shared libraries, but do not want/have a native -# uClibc shared library loader, please specify the name of your -# system's shared library loader here... -#SYSTEM_LDSO=/lib/ld-linux.so.2 - -# When using shared libraries, this path is the location where the -# shared library will be invoked. This value will be compiled into -# every binary compiled with uClibc. -# -# BIG FAT WARNING: -# If you do not have a shared library loader with the correct name -# sitting in the directory this points to, your binaries will not run. -#SHARED_LIB_LOADER_PATH=$(DEVEL_PREFIX)/lib +config LIBGCC_CFLAGS + string + default "" -# C defiend symbols prefix charactor -C_SYMBOL_PREFIX = _ +config ARCH_HAS_NO_MMU + bool + default y -# DEVEL_PREFIX is the directory into which the uClibc development -# environment will be installed. The result will look something -# like the following: -# DEVEL_PREFIX/ -# lib/ <contains all runtime and static libs> -# include/ <Where all the header files go> -# This value is used by the 'make install' Makefile target. Since this -# directory is compiled into the uclibc cross compiler spoofer, you -# have to recompile if you change this value... -#DEVEL_PREFIX = /usr/$(TARGET_ARCH)-linux-uclibc -DEVEL_PREFIX = /opt/uClinux/$(TARGET_ARCH)-coff +source "extra/Configs/Config.in.arch" -# SYSTEM_DEVEL_PREFIX is the directory prefix used when installing -# bin/arch-uclibc-gcc, bin/arch-uclibc-ld, etc. This is only used by -# the 'make install' target, and is not compiled into anything. This -# defaults to $DEVEL_PREFIX/usr, but makers of .rpms and .debs will -# want to set this to "/usr" instead. -SYSTEM_DEVEL_PREFIX = $(DEVEL_PREFIX) +endmenu -# DEVEL_TOOL_PREFIX is the directory prefix used when installing -# bin/gcc, bin/ld, etc. This is only used by the 'make install' -# target, and is not compiled into anything. This defaults to -# $DEVEL_PREFIX/usr, but makers of .rpms and .debs may want to -# set this to something else. -DEVEL_TOOL_PREFIX = $(DEVEL_PREFIX)/usr +source "extra/Configs/Config.in" -# If you want 'make install' to install everything under a temporary -# directory, the define PREFIX during the install step, -# i.e., 'make PREFIX=/var/tmp/uClibc install'. -#PREFIX = $(TOPDIR)/_install diff --git a/extra/Configs/Config.i386 b/extra/Configs/Config.i386 index b938a404b..463da8e2b 100644 --- a/extra/Configs/Config.i386 +++ b/extra/Configs/Config.i386 @@ -7,6 +7,26 @@ mainmenu "uClibc C Library Configuration" menu "Target Architecture Features and Options" +config HAVE_ELF + bool + default y + +config C_SYMBOL_PREFIX + string + default "" + +config ARCH_CFLAGS + string + default "" + +config ARCH_LDFLAGS + string + default "" + +config LIBGCC_CFLAGS + string + default "" + choice prompt "Target Processor Type" default CONFIG_386 diff --git a/extra/Configs/Config.i386.default b/extra/Configs/Config.i386.default index 1b097b7c1..b563f47c3 100644 --- a/extra/Configs/Config.i386.default +++ b/extra/Configs/Config.i386.default @@ -30,7 +30,6 @@ KERNEL_SOURCE="/usr/src/linux" C_SYMBOL_PREFIX="" UCLIBC_UCLINUX_BROKEN_MUNMAP=y HAVE_ELF=y -# NO_UNDERSCORES is not set # HAVE_DOT_HIDDEN is not set # diff --git a/extra/Configs/Config.i960 b/extra/Configs/Config.i960 index be1a30b66..4ffafdf01 100644 --- a/extra/Configs/Config.i960 +++ b/extra/Configs/Config.i960 @@ -1,212 +1,40 @@ -# Library Configuration rules for uClibc # -# This file contains rules which are shared between multiple Makefiles. All -# normal configuration options live in the file named "Config". You probably -# should not mess with this file unless you know what you are doing... -# -# Copyright (C) 2000 by Lineo, inc. -# Copyright (C) 2000,2001 Erik Andersen <andersee@debian.org> +# For a description of the syntax of this configuration file, +# see Documentation/kbuild/config-language.txt. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU Library General Public License as published by the Free -# Software Foundation; either version 2 of the License, 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 Library General Public License for more -# details. -# -# You should have received a copy of the GNU Library General Public License -# along with this program; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# Derived in part from the Linux-8086 C library, the GNU C Library, and several -# other sundry sources. Files within this library are copyright by their -# respective copyright holders. - -NATIVE_CC = gcc - -# If you are running a cross compiler, you may want to set this -# to something more interesting... Target architecture is determined -# by asking this compiler what arch it compiles stuff for. -CROSS = i960-intel-coff- -CC = $(CROSS)gcc -AR = $(CROSS)ar -LD = $(CROSS)ld -NM = $(CROSS)nm -STRIPTOOL = $(CROSS)strip -#STRIPTOOL = /bin/true - -# Set the following to `true' to make a debuggable build, and `false' for -# production builds. -DODEBUG = false - -# Compiler warnings you want to see -WARNINGS=-Wall - -# Note that the kernel source you use to compile with should be the same as the -# Linux kernel you run your apps on. uClibc doesn't even try to achieve binary -# compatibility across kernel versions. So don't expect, for example, uClibc -# compiled with Linux kernel 2.0.x to implement lchown properly, since 2.0.x -# can't do that. Similarly, if you compile uClibc vs Linux 2.4.x kernel headers, -# but then run on Linux 2.0.x, lchown will be compiled into uClibc, but won't -# work at all. You have been warned. -KERNEL_SOURCE=/home/mproulx/uClinux/linux-2.0.x - -# Set this to `false' if your CPU doesn't have a memory management unit (MMU). -# Set it to `true' otherwise. -HAS_MMU = false - -# Set this to `false' if you don't have/need basic floating point support -# support in libc (strtod, printf, scanf). Set it to `true' otherwise. -# If this is not true, then libm will not be built. -HAS_FLOATING_POINT = false - -# Set to `true' if you want the math library to contain the full set -# of C99 math library features. Costs an extra 35k or so on x86. -DO_C99_MATH = false - -# Set this to 'false if you don't need shadow password support. -HAS_SHADOW = false - -# Set this to `false' if you don't have/need locale support; `true' otherwise. -# NOTE: Currently does not affect collation. -# You must also generate the locale data and associated .h file. -# See the README in directory extra/locale for details. -HAS_LOCALE = false - -# Set this to `false' if you don't have/need wide char support. -HAS_WCHAR = false - -# This specifies which malloc implementation is used. -# -# "malloc" use mmap for all allocations and so works very well on MMU-less -# systems that do not support the brk() system call. It is pretty smart -# about reusing already allocated memory, and minimizing memory wastage. -# -# "malloc-930716" is derived from libc-5.3.12 and uses the brk() system call -# for all memory allocations. This makes it very fast. It is also pretty -# smart about reusing already allocated memory, and minimizing memory wastage. -# Because this uses brk() it will not work on uClinux MMU-less systems. -MALLOC = malloc -#MALLOC = malloc-930716 - -# Having brk allows one to use malloc-930716, which is an order -# of magnitude faster then "malloc" for most allocations, but -# will do very bad things on MMU-less systems... -EXCLUDE_BRK=true -# If you want large file support (greater then 2 GiB) turn this on. -# Do not enable this unless your kernel provides large file support. -DOLFS = false +mainmenu "uClibc C Library Configuration" -# Posix regular expression code is really big -- 27k all by itself. -# If you don't use regular expressions, turn this off and save space. -# Of course, if you only staticly link, leave this on, since it will -# only be included in your apps if you use regular expressions. -INCLUDE_REGEX=true +menu "Target Architecture Features and Options" -# If you want to include RPC support, enable this. RPC is almost never used -# for anything except NFS support, so unless you plan to use NFS, leave this -# disabled. This is off by default. -INCLUDE_RPC = true +config HAVE_ELF + bool + default n -# Normally we enable just enough RPC support for things like rshd and -# nfs mount to work. If you find you need the rest of the RPC stuff, -# then enable this. -INCLUDE_FULL_RPC = false +config C_SYMBOL_PREFIX + string + default "_" -# If you want to include support for the next version of the Internet -# Protocol: IP version 6, enable this. This is off by default. -INCLUDE_IPV6 = false +config ARCH_CFLAGS + string + default "-mh -mint32 -fsigned-char" -# If you want to include threads support, enable this. The C library will -# be compiled thread-safe, and the libpthread library will be built. -INCLUDE_THREADS = false - -# If you want to support only Unix 98 PTYs enable this. Some older -# applications may need this disabled. For most current programs, -# you can generally leave this true. -UNIX98PTY_ONLY = false - -# Enable this if /dev/pts is on a devpts or devfs file system. Both -# these filesystems automatically manage permissions on the /dev/pts -# devices. You may need to mount this fs on /dev/pts for this to work. -# This is true by default. -ASSUME_DEVPTS = true - - -# If you want to compile the library as PIC code, turn this on. -# This is automagically enabled when HAVE_SHARED is true -DOPIC = false - -# -# ARCH_CFLAGS if your have something special to add to the CFLAGS -# -ARCH_CFLAGS = -mrp -# -# -# get this from elsewhere, maybe -# -OPTIMIZATION = -O2 $(DEBUG_CFLAGS) - -# This is a COFF compiler (ick), so disable all the cool stuff -HAVE_ELF = false - - - -# Enable support for shared libraries? If this is false, you can -# ignore all the rest of the options in this file... -HAVE_SHARED = false - -# uClibc has a native shared library loader for some architectures. -BUILD_UCLIBC_LDSO=false - -# If you are using shared libraries, but do not want/have a native -# uClibc shared library loader, please specify the name of your -# system's shared library loader here... -#SYSTEM_LDSO=/lib/ld-linux.so.2 - -# When using shared libraries, this path is the location where the -# shared library will be invoked. This value will be compiled into -# every binary compiled with uClibc. -# -# BIG FAT WARNING: -# If you do not have a shared library loader with the correct name -# sitting in the directory this points to, your binaries will not run. -#SHARED_LIB_LOADER_PATH=$(DEVEL_PREFIX)/lib +config ARCH_LDFLAGS + string + default "" -# C defiend symbols prefix charactor -C_SYMBOL_PREFIX = _ +config LIBGCC_CFLAGS + string + default "" + +config ARCH_HAS_NO_MMU + bool + default y -# DEVEL_PREFIX is the directory into which the uClibc development -# environment will be installed. The result will look something -# like the following: -# DEVEL_PREFIX/ -# lib/ <contains all runtime and static libs> -# include/ <Where all the header files go> -# This value is used by the 'make install' Makefile target. Since this -# directory is compiled into the uclibc cross compiler spoofer, you -# have to recompile if you change this value... -DEVEL_PREFIX = /usr/$(TARGET_ARCH)-linux-uclibc +source "extra/Configs/Config.in.arch" -# SYSTEM_DEVEL_PREFIX is the directory prefix used when installing -# bin/arch-uclibc-gcc, bin/arch-uclibc-ld, etc. This is only used by -# the 'make install' target, and is not compiled into anything. This -# defaults to $DEVEL_PREFIX/usr, but makers of .rpms and .debs will -# want to set this to "/usr" instead. -SYSTEM_DEVEL_PREFIX = $(DEVEL_PREFIX) +endmenu -# DEVEL_TOOL_PREFIX is the directory prefix used when installing -# bin/gcc, bin/ld, etc. This is only used by the 'make install' -# target, and is not compiled into anything. This defaults to -# $DEVEL_PREFIX/usr, but makers of .rpms and .debs may want to -# set this to something else. -DEVEL_TOOL_PREFIX = $(DEVEL_PREFIX)/usr +source "extra/Configs/Config.in" -# If you want 'make install' to install everything under a temporary -# directory, the define PREFIX during the install step, -# i.e., 'make PREFIX=/var/tmp/uClibc install'. -#PREFIX = $(TOPDIR)/_install diff --git a/extra/Configs/Config.in.arch b/extra/Configs/Config.in.arch index ef38ec36e..6e9f5fb82 100644 --- a/extra/Configs/Config.in.arch +++ b/extra/Configs/Config.in.arch @@ -5,7 +5,7 @@ config UCLIBC_HAS_MMU bool "Target CPU has a memory management unit (MMU)" - default y + default y if !ARCH_HAS_NO_MMU help If your target CPU does not have a memory management unit (MMU), then answer N here. Normally, Linux runs on systems with an MMU. @@ -72,24 +72,13 @@ config KERNEL_SOURCE but then run on Linux 2.0.x, lchown will be compiled into uClibc, but won't work at all. You have been warned. -config C_SYMBOL_PREFIX - string - default "" - config UCLIBC_UCLINUX_BROKEN_MUNMAP bool depends on !UCLIBC_HAS_MMU default y -config HAVE_ELF +config EXCLUDE_BRK bool + depends on !UCLIBC_HAS_MMU default y -config NO_UNDERSCORES - bool - default n - -config HAVE_DOT_HIDDEN - bool - default n - diff --git a/extra/Configs/Config.m68k b/extra/Configs/Config.m68k index b204ef56a..ca36c0cd0 100644 --- a/extra/Configs/Config.m68k +++ b/extra/Configs/Config.m68k @@ -1,202 +1,44 @@ -# Library Configuration rules for uClibc # -# This file contains rules which are shared between multiple Makefiles. All -# normal configuration options live in the file named "Config". You probably -# should not mess with this file unless you know what you are doing... -# -# Copyright (C) 2000 by Lineo, inc. -# Copyright (C) 2000,2001 Erik Andersen <andersee@debian.org> +# For a description of the syntax of this configuration file, +# see Documentation/kbuild/config-language.txt. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU Library General Public License as published by the Free -# Software Foundation; either version 2 of the License, 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 Library General Public License for more -# details. -# -# You should have received a copy of the GNU Library General Public License -# along with this program; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# Derived in part from the Linux-8086 C library, the GNU C Library, and several -# other sundry sources. Files within this library are copyright by their -# respective copyright holders. - -NATIVE_CC = gcc - -# If you are running a cross compiler, you may want to set this -# to something more interesting... Target architecture is determined -# by asking this compiler what arch it compiles stuff for. -#CROSS = m68k-elf- -CC = $(CROSS)gcc -AR = $(CROSS)ar -LD = $(CROSS)ld -NM = $(CROSS)nm -STRIPTOOL = $(CROSS)strip -#STRIPTOOL = /bin/true - -# Set the following to `true' to make a debuggable build, and `false' for -# production builds. -DODEBUG = false - -# Compiler warnings you want to see -WARNINGS=-Wall - -# Note that the kernel source you use to compile with should be the same as the -# Linux kernel you run your apps on. uClibc doesn't even try to achieve binary -# compatibility across kernel versions. So don't expect, for example, uClibc -# compiled with Linux kernel 2.0.x to implement lchown properly, since 2.0.x -# can't do that. Similarly, if you compile uClibc vs Linux 2.4.x kernel headers, -# but then run on Linux 2.0.x, lchown will be compiled into uClibc, but won't -# work at all. You have been warned. -KERNEL_SOURCE=/usr/src/linux -# Set this to `false' if your CPU doesn't have a memory management unit (MMU). -# Set it to `true' otherwise. -HAS_MMU = false - -# Set this to `false' if you don't have/need basic floating point support -# support in libc (strtod, printf, scanf). Set it to `true' otherwise. -# If this is not true, then libm will not be built. -HAS_FLOATING_POINT = true - -# Set to `true' if you want the math library to contain the full set -# of C99 math library features. Costs an extra 35k or so on x86. -DO_C99_MATH = false - -# Set this to 'false if you don't need shadow password support. -HAS_SHADOW = false - -# Set this to `false' if you don't have/need locale support; `true' otherwise. -# NOTE: Currently does not affect collation. -# You must also generate the locale data and associated .h file. -# See the README in directory extra/locale for details. -HAS_LOCALE = false - -# Set this to `false' if you don't have/need wide char support. -HAS_WCHAR = false - -# This specifies which malloc implementation is used. -# -# "malloc" use mmap for all allocations and so works very well on MMU-less -# systems that do not support the brk() system call. It is pretty smart -# about reusing already allocated memory, and minimizing memory wastage. -# -# "malloc-930716" is derived from libc-5.3.12 and uses the brk() system call -# for all memory allocations. This makes it very fast. It is also pretty -# smart about reusing already allocated memory, and minimizing memory wastage. -# Because this uses brk() it will not work on uClinux MMU-less systems. -MALLOC = malloc -#MALLOC = malloc-930716 +mainmenu "uClibc C Library Configuration" -# Having brk allows one to use malloc-930716, which is an order -# of magnitude faster then "malloc" for most allocations, but -# will do very bad things on MMU-less systems... -EXCLUDE_BRK=true +menu "Target Architecture Features and Options" -# If you want large file support (greater then 2 GiB) turn this on. -# Do not enable this unless your kernel provides large file support. -DOLFS = false +config HAVE_ELF + bool + default y -# Posix regular expression code is really big -- 27k all by itself. -# If you don't use regular expressions, turn this off and save space. -# Of course, if you only staticly link, leave this on, since it will -# only be included in your apps if you use regular expressions. -INCLUDE_REGEX=true +config C_SYMBOL_PREFIX + string + default "" -# If you want to include RPC support, enable this. RPC is almost never used -# for anything except NFS support, so unless you plan to use NFS, leave this -# disabled. This is off by default. -INCLUDE_RPC = true +config ARCH_CFLAGS + string + default "-Wa,--bitwise-or -I$(KERNEL_SOURCE)/include" -# Normally we enable just enough RPC support for things like rshd and -# nfs mount to work. If you find you need the rest of the RPC stuff, -# then enable this. -INCLUDE_FULL_RPC = false +config ARCH_LDFLAGS + string + default "" -# If you want to include support for the next version of the Internet -# Protocol: IP version 6, enable this. This is off by default. -INCLUDE_IPV6 = false +config LIBGCC_CFLAGS + string + default "" -# If you want to support only Unix 98 PTYs enable this. Some older -# applications may need this disabled. For most current programs, -# you can generally leave this true. -UNIX98PTY_ONLY = true +config HAVE_ELF + bool + default y -# Enable this if /dev/pts is on a devpts or devfs file system. Both -# these filesystems automatically manage permissions on the /dev/pts -# devices. You may need to mount this fs on /dev/pts for this to work. -# This is true by default. -ASSUME_DEVPTS = true - - -# If you want to compile the library as PIC code, turn this on. -# This is automagically enabled when HAVE_SHARED is true -DOPIC = false - -# -# ARCH_CFLAGS if your have something special to add to the CFLAGS -# -ARCH_CFLAGS = -Wa,--bitwise-or -I$(KERNEL_SOURCE)/include -# -# -# get this from elsewhere, maybe -# -OPTIMIZATION = $(DEBUG_CFLAGS) - - - -# Enable support for shared libraries? If this is false, you can -# ignore all the rest of the options in this file... -HAVE_SHARED = false - -# uClibc has a native shared library loader for some architectures. -BUILD_UCLIBC_LDSO=false - -# If you are using shared libraries, but do not want/have a native -# uClibc shared library loader, please specify the name of your -# system's shared library loader here... -#SYSTEM_LDSO=/lib/ld-linux.so.2 - -# When using shared libraries, this path is the location where the -# shared library will be invoked. This value will be compiled into -# every binary compiled with uClibc. -# -# BIG FAT WARNING: -# If you do not have a shared library loader with the correct name -# sitting in the directory this points to, your binaries will not run. -SHARED_LIB_LOADER_PATH=$(DEVEL_PREFIX)/lib +config ARCH_HAS_NO_MMU + bool + default y -# DEVEL_PREFIX is the directory into which the uClibc development -# environment will be installed. The result will look something -# like the following: -# DEVEL_PREFIX/ -# lib/ <contains all runtime and static libs> -# include/ <Where all the header files go> -# This value is used by the 'make install' Makefile target. Since this -# directory is compiled into the uclibc cross compiler spoofer, you -# have to recompile if you change this value... -DEVEL_PREFIX = /usr/$(TARGET_ARCH)-linux-uclibc +source "extra/Configs/Config.in.arch" -# SYSTEM_DEVEL_PREFIX is the directory prefix used when installing -# bin/arch-uclibc-gcc, bin/arch-uclibc-ld, etc. This is only used by -# the 'make install' target, and is not compiled into anything. This -# defaults to $DEVEL_PREFIX/usr, but makers of .rpms and .debs will -# want to set this to "/usr" instead. -SYSTEM_DEVEL_PREFIX = $(DEVEL_PREFIX) +endmenu -# DEVEL_TOOL_PREFIX is the directory prefix used when installing -# bin/gcc, bin/ld, etc. This is only used by the 'make install' -# target, and is not compiled into anything. This defaults to -# $DEVEL_PREFIX/usr, but makers of .rpms and .debs may want to -# set this to something else. -DEVEL_TOOL_PREFIX = $(DEVEL_PREFIX)/usr +source "extra/Configs/Config.in" -# If you want 'make install' to install everything under a temporary -# directory, the define PREFIX during the install step, -# i.e., 'make PREFIX=/var/tmp/uClibc install'. -#PREFIX = $(TOPDIR)/_install diff --git a/extra/Configs/Config.m68k.coff b/extra/Configs/Config.m68k.coff deleted file mode 100644 index f5d49ef11..000000000 --- a/extra/Configs/Config.m68k.coff +++ /dev/null @@ -1,206 +0,0 @@ -# Library Configuration rules for uClibc -# -# This file contains rules which are shared between multiple Makefiles. All -# normal configuration options live in the file named "Config". You probably -# should not mess with this file unless you know what you are doing... -# -# Copyright (C) 2000 by Lineo, inc. -# Copyright (C) 2000,2001 Erik Andersen <andersee@debian.org> -# -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU Library General Public License as published by the Free -# Software Foundation; either version 2 of the License, 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 Library General Public License for more -# details. -# -# You should have received a copy of the GNU Library General Public License -# along with this program; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# Derived in part from the Linux-8086 C library, the GNU C Library, and several -# other sundry sources. Files within this library are copyright by their -# respective copyright holders. - -NATIVE_CC = gcc - -# If you are running a cross compiler, you may want to set this -# to something more interesting... Target architecture is determined -# by asking this compiler what arch it compiles stuff for. -CROSS = m68k-coff- -CC = $(CROSS)gcc -AR = $(CROSS)ar -LD = $(CROSS)ld -NM = $(CROSS)nm -STRIPTOOL = $(CROSS)strip -#STRIPTOOL = /bin/true - -# Set the following to `true' to make a debuggable build, and `false' for -# production builds. -DODEBUG = false - -# Compiler warnings you want to see -WARNINGS=-Wall - -# Note that the kernel source you use to compile with should be the same as the -# Linux kernel you run your apps on. uClibc doesn't even try to achieve binary -# compatibility across kernel versions. So don't expect, for example, uClibc -# compiled with Linux kernel 2.0.x to implement lchown properly, since 2.0.x -# can't do that. Similarly, if you compile uClibc vs Linux 2.4.x kernel headers, -# but then run on Linux 2.0.x, lchown will be compiled into uClibc, but won't -# work at all. You have been warned. -KERNEL_SOURCE=/opt/uClinux/linux - -# Set this to `false' if your CPU doesn't have a memory management unit (MMU). -# Set it to `true' otherwise. -HAS_MMU = false - -# Set this to `false' if you don't have/need basic floating point support -# support in libc (strtod, printf, scanf). Set it to `true' otherwise. -# If this is not true, then libm will not be built. -HAS_FLOATING_POINT = true - -# Set to `true' if you want the math library to contain the full set -# of C99 math library features. Costs an extra 35k or so on x86. -DO_C99_MATH = false - -# Set this to 'false if you don't need shadow password support. -HAS_SHADOW = false - -# Set this to `false' if you don't have/need locale support; `true' otherwise. -# NOTE: Currently does not affect collation. -# You must also generate the locale data and associated .h file. -# See the README in directory extra/locale for details. -HAS_LOCALE = false - -# Set this to `false' if you don't have/need wide char support. -HAS_WCHAR = false - -# This specifies which malloc implementation is used. -# -# "malloc" use mmap for all allocations and so works very well on MMU-less -# systems that do not support the brk() system call. It is pretty smart -# about reusing already allocated memory, and minimizing memory wastage. -# -# "malloc-930716" is derived from libc-5.3.12 and uses the brk() system call -# for all memory allocations. This makes it very fast. It is also pretty -# smart about reusing already allocated memory, and minimizing memory wastage. -# Because this uses brk() it will not work on uClinux MMU-less systems. -MALLOC = malloc -#MALLOC = malloc-930716 - -# Having brk allows one to use malloc-930716, which is an order -# of magnitude faster then "malloc" for most allocations, but -# will do very bad things on MMU-less systems... -EXCLUDE_BRK=true - -# If you want large file support (greater then 2 GiB) turn this on. -# Do not enable this unless your kernel provides large file support. -DOLFS = false - -# Posix regular expression code is really big -- 27k all by itself. -# If you don't use regular expressions, turn this off and save space. -# Of course, if you only staticly link, leave this on, since it will -# only be included in your apps if you use regular expressions. -INCLUDE_REGEX=true - -# If you want to include RPC support, enable this. RPC is almost never used -# for anything except NFS support, so unless you plan to use NFS, leave this -# disabled. This is off by default. -INCLUDE_RPC = true - -# Normally we enable just enough RPC support for things like rshd and -# nfs mount to work. If you find you need the rest of the RPC stuff, -# then enable this. -INCLUDE_FULL_RPC = false - -# If you want to include support for the next version of the Internet -# Protocol: IP version 6, enable this. This is off by default. -INCLUDE_IPV6 = false - -# If you want to support only Unix 98 PTYs enable this. Some older -# applications may need this disabled. For most current programs, -# you can generally leave this true. -UNIX98PTY_ONLY = true - -# Enable this if /dev/pts is on a devpts or devfs file system. Both -# these filesystems automatically manage permissions on the /dev/pts -# devices. You may need to mount this fs on /dev/pts for this to work. -# This is true by default. -ASSUME_DEVPTS = true - - -# If you want to compile the library as PIC code, turn this on. -# This is automagically enabled when HAVE_SHARED is true -DOPIC = false - -# -# ARCH_CFLAGS if your have something special to add to the CFLAGS -# -ARCH_CFLAGS = -Wa,--bitwise-or -msoft-float -I$(KERNEL_SOURCE)/include -# -# -# get this from elsewhere, maybe -# -OPTIMIZATION = $(DEBUG_CFLAGS) - -# This is a COFF compiler (ick), so disable all the cool stuff -HAVE_ELF = false - - - -# Enable support for shared libraries? If this is false, you can -# ignore all the rest of the options in this file... -HAVE_SHARED = false - -# uClibc has a native shared library loader for some architectures. -BUILD_UCLIBC_LDSO=false - -# If you are using shared libraries, but do not want/have a native -# uClibc shared library loader, please specify the name of your -# system's shared library loader here... -#SYSTEM_LDSO=/lib/ld-linux.so.2 - -# When using shared libraries, this path is the location where the -# shared library will be invoked. This value will be compiled into -# every binary compiled with uClibc. -# -# BIG FAT WARNING: -# If you do not have a shared library loader with the correct name -# sitting in the directory this points to, your binaries will not run. -#SHARED_LIB_LOADER_PATH=$(DEVEL_PREFIX)/lib - -# DEVEL_PREFIX is the directory into which the uClibc development -# environment will be installed. The result will look something -# like the following: -# DEVEL_PREFIX/ -# lib/ <contains all runtime and static libs> -# include/ <Where all the header files go> -# This value is used by the 'make install' Makefile target. Since this -# directory is compiled into the uclibc cross compiler spoofer, you -# have to recompile if you change this value... -#DEVEL_PREFIX = /usr/$(TARGET_ARCH)-linux-uclibc -DEVEL_PREFIX = /opt/uClinux/$(TARGET_ARCH)-coff - -# SYSTEM_DEVEL_PREFIX is the directory prefix used when installing -# bin/arch-uclibc-gcc, bin/arch-uclibc-ld, etc. This is only used by -# the 'make install' target, and is not compiled into anything. This -# defaults to $DEVEL_PREFIX/usr, but makers of .rpms and .debs will -# want to set this to "/usr" instead. -SYSTEM_DEVEL_PREFIX = $(DEVEL_PREFIX) - -# DEVEL_TOOL_PREFIX is the directory prefix used when installing -# bin/gcc, bin/ld, etc. This is only used by the 'make install' -# target, and is not compiled into anything. This defaults to -# $DEVEL_PREFIX/usr, but makers of .rpms and .debs may want to -# set this to something else. -DEVEL_TOOL_PREFIX = $(DEVEL_PREFIX)/usr - -# If you want 'make install' to install everything under a temporary -# directory, the define PREFIX during the install step, -# i.e., 'make PREFIX=/var/tmp/uClibc install'. -#PREFIX = $(TOPDIR)/_install - diff --git a/extra/Configs/Config.mips b/extra/Configs/Config.mips index 2103dea7d..72f7f6d50 100644 --- a/extra/Configs/Config.mips +++ b/extra/Configs/Config.mips @@ -1,190 +1,52 @@ -# Library Configuration rules for uClibc # -# This file contains rules which are shared between multiple Makefiles. All -# normal configuration options live in the file named "Config". You probably -# should not mess with this file unless you know what you are doing... -# -# Copyright (C) 2000 by Lineo, inc. -# Copyright (C) 2000,2001 Erik Andersen <andersee@debian.org> +# For a description of the syntax of this configuration file, +# see Documentation/kbuild/config-language.txt. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU Library General Public License as published by the Free -# Software Foundation; either version 2 of the License, 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 Library General Public License for more -# details. -# -# You should have received a copy of the GNU Library General Public License -# along with this program; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# Derived in part from the Linux-8086 C library, the GNU C Library, and several -# other sundry sources. Files within this library are copyright by their -# respective copyright holders. - -NATIVE_CC = gcc - -# Specify the target -TARGET_ARCH=mips - -# If you are running a cross compiler, you may want to set this -# to something more interesting... Target architecture is determined -# by asking this compiler what arch it compiles stuff for. -CROSS = mips-linux- -CC = $(CROSS)gcc -AR = $(CROSS)ar -LD = $(CROSS)ld -NM = $(CROSS)nm -STRIPTOOL = $(CROSS)strip -#STRIPTOOL = /bin/true - -# Set the following to `true' to make a debuggable build, and `false' for -# production builds. -DODEBUG = false - -# Compiler warnings you want to see -WARNINGS = -Wall - -# Note that the kernel source you use to compile with should be the same as the -# Linux kernel you run your apps on. uClibc doesn't even try to achieve binary -# compatibility across kernel versions. So don't expect, for example, uClibc -# compiled with Linux kernel 2.0.x to implement lchown properly, since 2.0.x -# can't do that. Similarly, if you compile uClibc vs Linux 2.4.x kernel headers, -# but then run on Linux 2.0.x, lchown will be compiled into uClibc, but won't -# work at all. You have been warned. -KERNEL_SOURCE = /usr/src/linux - -# Set this to `false' if your CPU doesn't have a memory management unit (MMU). -# Set it to `true' otherwise. -HAS_MMU = true - -# Set this to `false' if you don't have/need basic floating point support -# support in libc (strtod, printf, scanf). Set it to `true' otherwise. -# If this is not true, then libm will not be built. -HAS_FLOATING_POINT = true - -# Set to `true' if you want the math library to contain the full set -# of C99 math library features. Costs an extra 35k or so on x86. -DO_C99_MATH = false - -# Set this to 'false if you don't need shadow password support. -HAS_SHADOW = false - -# Set this to `false' if you don't have/need locale support; `true' otherwise. -# NOTE: Currently does not affect collation. -# You must also generate the locale data and associated .h file. -# See the README in directory extra/locale for details. -HAS_LOCALE = false - -# Set this to `false' if you don't have/need wide char support. -HAS_WCHAR = false - -# This specifies which malloc implementation is used. -# -# "malloc" use mmap for all allocations and so works very well on MMU-less -# systems that do not support the brk() system call. It is pretty smart -# about reusing already allocated memory, and minimizing memory wastage. -# -# "malloc-930716" is derived from libc-5.3.12 and uses the brk() system call -# for all memory allocations. This makes it very fast. It is also pretty -# smart about reusing already allocated memory, and minimizing memory wastage. -# Because this uses brk() it will not work on uClinux MMU-less systems. -#MALLOC = malloc -MALLOC = malloc-930716 - -# If you want large file support (greater then 2 GiB) turn this on. -# Do not enable this unless your kernel provides large file support. -DOLFS = false - -# Posix regular expression code is really big -- 27k all by itself. -# If you don't use regular expressions, turn this off and save space. -# Of course, if you only staticly link, leave this on, since it will -# only be included in your apps if you use regular expressions. -INCLUDE_REGEX = true - -# If you want to include RPC support, enable this. RPC is almost never used -# for anything except NFS support, so unless you plan to use NFS, leave this -# disabled. This is off by default. -INCLUDE_RPC = false - -# Normally we enable just enough RPC support for things like rshd and -# nfs mount to work. If you find you need the rest of the RPC stuff, -# then enable this. -INCLUDE_FULL_RPC = false - -# If you want to include support for the next version of the Internet -# Protocol: IP version 6, enable this. This is off by default. -INCLUDE_IPV6 = false - -# If you want to include threads support, enable this. The C library will -# be compiled thread-safe, and the libpthread library will be built. -INCLUDE_THREADS = true - -# If you want to support only Unix 98 PTYs enable this. Some older -# applications may need this disabled. For most current programs, -# you can generally leave this true. -UNIX98PTY_ONLY = true - -# Enable this if /dev/pts is on a devpts or devfs file system. Both -# these filesystems automatically manage permissions on the /dev/pts -# devices. You may need to mount this fs on /dev/pts for this to work. -# This is true by default. -ASSUME_DEVPTS = true - -# If you want to compile the library as PIC code, turn this on. -# This is automagically enabled when HAVE_SHARED is true -DOPIC = false - -# Enable support for shared libraries? If this is false, you can -# ignore all the rest of the options in this file... -HAVE_SHARED = true - -# uClibc has a native shared library loader for some architectures. -BUILD_UCLIBC_LDSO = true - -# If you are using shared libraries, but do not want/have a native -# uClibc shared library loader, please specify the name of your -# system's shared library loader here... -#SYSTEM_LDSO = /lib/ld-linux.so.2 - -# When using shared libraries, this path is the location where the -# shared library will be invoked. This value will be compiled into -# every binary compiled with uClibc. -# -# BIG FAT WARNING: -# If you do not have a shared library loader with the correct name -# sitting in the directory this points to, your binaries will not run. -SHARED_LIB_LOADER_PATH = /lib - -# DEVEL_PREFIX is the directory into which the uClibc development -# environment will be installed. The result will look something -# like the following: -# DEVEL_PREFIX/ -# lib/ <contains all runtime and static libs> -# include/ <Where all the header files go> -# This value is used by the 'make install' Makefile target. Since this -# directory is compiled into the uclibc cross compiler spoofer, you -# have to recompile if you change this value... -DEVEL_PREFIX = /usr/$(TARGET_ARCH)-linux-uclibc - -# SYSTEM_DEVEL_PREFIX is the directory prefix used when installing -# bin/arch-uclibc-gcc, bin/arch-uclibc-ld, etc. This is only used by -# the 'make install' target, and is not compiled into anything. This -# defaults to $DEVEL_PREFIX/usr, but makers of .rpms and .debs will -# want to set this to "/usr" instead. -SYSTEM_DEVEL_PREFIX = $(DEVEL_PREFIX) - -# DEVEL_TOOL_PREFIX is the directory prefix used when installing -# bin/gcc, bin/ld, etc. This is only used by the 'make install' -# target, and is not compiled into anything. This defaults to -# $DEVEL_PREFIX/usr, but makers of .rpms and .debs may want to -# set this to something else. -DEVEL_TOOL_PREFIX = $(DEVEL_PREFIX)/usr - -# If you want 'make install' to install everything under a temporary -# directory, the define PREFIX during the install step, -# i.e., 'make PREFIX=/var/tmp/uClibc install'. -#PREFIX = $(TOPDIR)/_install + +mainmenu "uClibc C Library Configuration" + +menu "Target Architecture Features and Options" + +config HAVE_ELF + bool + default y + +config C_SYMBOL_PREFIX + string + default "" + +config ARCH_CFLAGS + string + default "" + +config ARCH_LDFLAGS + string + default "" + +config LIBGCC_CFLAGS + string + default "" + +choice + prompt "Target Processor Endianness" + default ARCH_LITTLE_ENDIAN + help + This is the endianness you wish to build use. Choose either Big + Endian (mips), or Little Endian (mipsel). + +config ARCH_LITTLE_ENDIAN + bool "Little Endian (mipsel)" + +config ARCH_BIG_ENDIAN + bool "Big Endian (mips)" + +endchoice + + +source "extra/Configs/Config.in.arch" + +endmenu + +source "extra/Configs/Config.in" + + diff --git a/extra/Configs/Config.mipsel b/extra/Configs/Config.mipsel index 2c796fe47..3a13d9826 100644 --- a/extra/Configs/Config.mipsel +++ b/extra/Configs/Config.mipsel @@ -1,190 +1,36 @@ -# Library Configuration rules for uClibc # -# This file contains rules which are shared between multiple Makefiles. All -# normal configuration options live in the file named "Config". You probably -# should not mess with this file unless you know what you are doing... -# -# Copyright (C) 2000 by Lineo, inc. -# Copyright (C) 2000,2001 Erik Andersen <andersee@debian.org> +# For a description of the syntax of this configuration file, +# see Documentation/kbuild/config-language.txt. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU Library General Public License as published by the Free -# Software Foundation; either version 2 of the License, 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 Library General Public License for more -# details. -# -# You should have received a copy of the GNU Library General Public License -# along with this program; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# Derived in part from the Linux-8086 C library, the GNU C Library, and several -# other sundry sources. Files within this library are copyright by their -# respective copyright holders. - -NATIVE_CC = gcc - -# Specify the target -TARGET_ARCH=mipsel - -# If you are running a cross compiler, you may want to set this -# to something more interesting... Target architecture is determined -# by asking this compiler what arch it compiles stuff for. -CROSS = mipsel-linux- -CC = $(CROSS)gcc -AR = $(CROSS)ar -LD = $(CROSS)ld -NM = $(CROSS)nm -STRIPTOOL = $(CROSS)strip -#STRIPTOOL = /bin/true - -# Set the following to `true' to make a debuggable build, and `false' for -# production builds. -DODEBUG = false - -# Compiler warnings you want to see -WARNINGS = -Wall - -# Note that the kernel source you use to compile with should be the same as the -# Linux kernel you run your apps on. uClibc doesn't even try to achieve binary -# compatibility across kernel versions. So don't expect, for example, uClibc -# compiled with Linux kernel 2.0.x to implement lchown properly, since 2.0.x -# can't do that. Similarly, if you compile uClibc vs Linux 2.4.x kernel headers, -# but then run on Linux 2.0.x, lchown will be compiled into uClibc, but won't -# work at all. You have been warned. -KERNEL_SOURCE = /usr/src/linux - -# Set this to `false' if your CPU doesn't have a memory management unit (MMU). -# Set it to `true' otherwise. -HAS_MMU = true - -# Set this to `false' if you don't have/need basic floating point support -# support in libc (strtod, printf, scanf). Set it to `true' otherwise. -# If this is not true, then libm will not be built. -HAS_FLOATING_POINT = true - -# Set to `true' if you want the math library to contain the full set -# of C99 math library features. Costs an extra 35k or so on x86. -DO_C99_MATH = false -# Set this to 'false if you don't need shadow password support. -HAS_SHADOW = false +mainmenu "uClibc C Library Configuration" -# Set this to `false' if you don't have/need locale support; `true' otherwise. -# NOTE: Currently does not affect collation. -# You must also generate the locale data and associated .h file. -# See the README in directory extra/locale for details. -HAS_LOCALE = false +menu "Target Architecture Features and Options" -# Set this to `false' if you don't have/need wide char support. -HAS_WCHAR = false +config HAVE_ELF + bool + default y -# This specifies which malloc implementation is used. -# -# "malloc" use mmap for all allocations and so works very well on MMU-less -# systems that do not support the brk() system call. It is pretty smart -# about reusing already allocated memory, and minimizing memory wastage. -# -# "malloc-930716" is derived from libc-5.3.12 and uses the brk() system call -# for all memory allocations. This makes it very fast. It is also pretty -# smart about reusing already allocated memory, and minimizing memory wastage. -# Because this uses brk() it will not work on uClinux MMU-less systems. -#MALLOC = malloc -MALLOC = malloc-930716 - -# If you want large file support (greater then 2 GiB) turn this on. -# Do not enable this unless your kernel provides large file support. -DOLFS = false - -# Posix regular expression code is really big -- 27k all by itself. -# If you don't use regular expressions, turn this off and save space. -# Of course, if you only staticly link, leave this on, since it will -# only be included in your apps if you use regular expressions. -INCLUDE_REGEX = true - -# If you want to include RPC support, enable this. RPC is almost never used -# for anything except NFS support, so unless you plan to use NFS, leave this -# disabled. This is off by default. -INCLUDE_RPC = false - -# Normally we enable just enough RPC support for things like rshd and -# nfs mount to work. If you find you need the rest of the RPC stuff, -# then enable this. -INCLUDE_FULL_RPC = false +config C_SYMBOL_PREFIX + string + default "" -# If you want to include support for the next version of the Internet -# Protocol: IP version 6, enable this. This is off by default. -INCLUDE_IPV6 = false +config ARCH_CFLAGS + string + default "" -# If you want to include threads support, enable this. The C library will -# be compiled thread-safe, and the libpthread library will be built. -INCLUDE_THREADS = true +config ARCH_LDFLAGS + string + default "" -# If you want to support only Unix 98 PTYs enable this. Some older -# applications may need this disabled. For most current programs, -# you can generally leave this true. -UNIX98PTY_ONLY = true +config LIBGCC_CFLAGS + string + default "" -# Enable this if /dev/pts is on a devpts or devfs file system. Both -# these filesystems automatically manage permissions on the /dev/pts -# devices. You may need to mount this fs on /dev/pts for this to work. -# This is true by default. -ASSUME_DEVPTS = true - -# If you want to compile the library as PIC code, turn this on. -# This is automagically enabled when HAVE_SHARED is true -DOPIC = false - -# Enable support for shared libraries? If this is false, you can -# ignore all the rest of the options in this file... -HAVE_SHARED = true - -# uClibc has a native shared library loader for some architectures. -BUILD_UCLIBC_LDSO = true - -# If you are using shared libraries, but do not want/have a native -# uClibc shared library loader, please specify the name of your -# system's shared library loader here... -#SYSTEM_LDSO = /lib/ld-linux.so.2 - -# When using shared libraries, this path is the location where the -# shared library will be invoked. This value will be compiled into -# every binary compiled with uClibc. -# -# BIG FAT WARNING: -# If you do not have a shared library loader with the correct name -# sitting in the directory this points to, your binaries will not run. -SHARED_LIB_LOADER_PATH = /lib +source "extra/Configs/Config.in.arch" -# DEVEL_PREFIX is the directory into which the uClibc development -# environment will be installed. The result will look something -# like the following: -# DEVEL_PREFIX/ -# lib/ <contains all runtime and static libs> -# include/ <Where all the header files go> -# This value is used by the 'make install' Makefile target. Since this -# directory is compiled into the uclibc cross compiler spoofer, you -# have to recompile if you change this value... -DEVEL_PREFIX = /usr/$(TARGET_ARCH)-linux-uclibc +endmenu -# SYSTEM_DEVEL_PREFIX is the directory prefix used when installing -# bin/arch-uclibc-gcc, bin/arch-uclibc-ld, etc. This is only used by -# the 'make install' target, and is not compiled into anything. This -# defaults to $DEVEL_PREFIX/usr, but makers of .rpms and .debs will -# want to set this to "/usr" instead. -SYSTEM_DEVEL_PREFIX = $(DEVEL_PREFIX) +source "extra/Configs/Config.in" -# DEVEL_TOOL_PREFIX is the directory prefix used when installing -# bin/gcc, bin/ld, etc. This is only used by the 'make install' -# target, and is not compiled into anything. This defaults to -# $DEVEL_PREFIX/usr, but makers of .rpms and .debs may want to -# set this to something else. -DEVEL_TOOL_PREFIX = $(DEVEL_PREFIX)/usr -# If you want 'make install' to install everything under a temporary -# directory, the define PREFIX during the install step, -# i.e., 'make PREFIX=/var/tmp/uClibc install'. -#PREFIX = $(TOPDIR)/_install diff --git a/extra/Configs/Config.powerpc b/extra/Configs/Config.powerpc index 1df9c3e05..3a13d9826 100644 --- a/extra/Configs/Config.powerpc +++ b/extra/Configs/Config.powerpc @@ -1,192 +1,36 @@ -# Library Configuration rules for uClibc # -# This file contains rules which are shared between multiple Makefiles. All -# normal configuration options live in the file named "Config". You probably -# should not mess with this file unless you know what you are doing... -# -# Copyright (C) 2000 by Lineo, inc. -# Copyright (C) 2000,2001 Erik Andersen <andersee@debian.org> +# For a description of the syntax of this configuration file, +# see Documentation/kbuild/config-language.txt. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU Library General Public License as published by the Free -# Software Foundation; either version 2 of the License, 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 Library General Public License for more -# details. -# -# You should have received a copy of the GNU Library General Public License -# along with this program; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# Derived in part from the Linux-8086 C library, the GNU C Library, and several -# other sundry sources. Files within this library are copyright by their -# respective copyright holders. - -NATIVE_CC = gcc - -# If you are running a cross compiler, you may want to set this -# to something more interesting... Target architecture is determined -# by asking this compiler what arch it compiles stuff for. -CROSS = #$(TARGET_ARCH)-linux- -CC = $(CROSS)gcc -AR = $(CROSS)ar -LD = $(CROSS)ld -NM = $(CROSS)nm -STRIPTOOL = $(CROSS)strip -#STRIPTOOL = /bin/true - -# Set the following to `true' to make a debuggable build, and `false' for -# production builds. -DODEBUG = false - -# Compiler warnings you want to see -WARNINGS=-Wall -# Note that the kernel source you use to compile with should be the same as the -# Linux kernel you run your apps on. uClibc doesn't even try to achieve binary -# compatibility across kernel versions. So don't expect, for example, uClibc -# compiled with Linux kernel 2.0.x to implement lchown properly, since 2.0.x -# can't do that. Similarly, if you compile uClibc vs Linux 2.4.x kernel headers, -# but then run on Linux 2.0.x, lchown will be compiled into uClibc, but won't -# work at all. You have been warned. -KERNEL_SOURCE=/usr/src/linux +mainmenu "uClibc C Library Configuration" -# Set this to `false' if your CPU doesn't have a memory management unit (MMU). -# Set it to `true' otherwise. -HAS_MMU = true +menu "Target Architecture Features and Options" -# Set this to `false' if you don't have/need basic floating point support -# support in libc (strtod, printf, scanf). Set it to `true' otherwise. -# If this is not true, then libm will not be built. -HAS_FLOATING_POINT = true +config HAVE_ELF + bool + default y -# Set to `true' if you want the math library to contain the full set -# of C99 math library features. Costs an extra 35k or so on x86. -DO_C99_MATH = false - -# Set this to 'false if you don't need shadow password support. -HAS_SHADOW = false - -# Set this to `false' if you don't have/need locale support; `true' otherwise. -# NOTE: Currently does not affect collation. -# You must also generate the locale data and associated .h file. -# See the README in directory extra/locale for details. -HAS_LOCALE = false - -# Set this to `false' if you don't have/need wide char support. -HAS_WCHAR = false - -# This specifies which malloc implementation is used. -# -# "malloc" use mmap for all allocations and so works very well on MMU-less -# systems that do not support the brk() system call. It is pretty smart -# about reusing already allocated memory, and minimizing memory wastage. -# -# "malloc-930716" is derived from libc-5.3.12 and uses the brk() system call -# for all memory allocations. This makes it very fast. It is also pretty -# smart about reusing already allocated memory, and minimizing memory wastage. -# Because this uses brk() it will not work on uClinux MMU-less systems. -#MALLOC = malloc -MALLOC = malloc-930716 +config C_SYMBOL_PREFIX + string + default "" -# If you want large file support (greater then 2 GiB) turn this on. -# Do not enable this unless your kernel provides large file support. -DOLFS = false +config ARCH_CFLAGS + string + default "" -# Posix regular expression code is really big -- 27k all by itself. -# If you don't use regular expressions, turn this off and save space. -# Of course, if you only staticly link, leave this on, since it will -# only be included in your apps if you use regular expressions. -INCLUDE_REGEX=true +config ARCH_LDFLAGS + string + default "" -# If you want to include RPC support, enable this. RPC is almost never used -# for anything except NFS support, so unless you plan to use NFS, leave this -# disabled. This is off by default. -INCLUDE_RPC = false - -# Normally we enable just enough RPC support for things like rshd and -# nfs mount to work. If you find you need the rest of the RPC stuff, -# then enable this. -INCLUDE_FULL_RPC = false - -# If you want to include support for the next version of the Internet -# Protocol: IP version 6, enable this. This is off by default. -INCLUDE_IPV6 = false - -# If you want to include threads support, enable this. The C library will -# be compiled thread-safe, and the libpthread library will be built. -INCLUDE_THREADS=false - -# If you want to support only Unix 98 PTYs enable this. Some older -# applications may need this disabled. For most current programs, -# you can generally leave this true. -UNIX98PTY_ONLY = true - -# Enable this if /dev/pts is on a devpts or devfs file system. Both -# these filesystems automatically manage permissions on the /dev/pts -# devices. You may need to mount this fs on /dev/pts for this to work. -# This is true by default. -ASSUME_DEVPTS = true - - -# If you want to compile the library as PIC code, turn this on. -# This is automagically enabled when HAVE_SHARED is true -DOPIC = false - -# Enable support for shared libraries? If this is false, you can -# ignore all the rest of the options in this file... -HAVE_SHARED = true - -# uClibc has a native shared library loader for some architectures. -BUILD_UCLIBC_LDSO=true - -# If you are using shared libraries, but do not want/have a native -# uClibc shared library loader, please specify the name of your -# system's shared library loader here... -#SYSTEM_LDSO=/lib/ld-linux.so.2 -SYSTEM_LDSO=$(shell for each in `$(CC) -print-search-dirs| \ - grep ^libraries| sed -e 's/^libraries: //' -e 's/:/ /g'`;\ - do ls $$each/ld.so.* 2>/dev/null;done) - -# When using shared libraries, this path is the location where the -# shared library will be invoked. This value will be compiled into -# every binary compiled with uClibc. -# -# BIG FAT WARNING: -# If you do not have a shared library loader with the correct name -# sitting in the directory this points to, your binaries will not run. -SHARED_LIB_LOADER_PATH=$(DEVEL_PREFIX)/lib +config LIBGCC_CFLAGS + string + default "" -# DEVEL_PREFIX is the directory into which the uClibc development -# environment will be installed. The result will look something -# like the following: -# DEVEL_PREFIX/ -# lib/ <contains all runtime and static libs> -# include/ <Where all the header files go> -# This value is used by the 'make install' Makefile target. Since this -# directory is compiled into the uclibc cross compiler spoofer, you -# have to recompile if you change this value... -DEVEL_PREFIX = /usr/$(TARGET_ARCH)-linux-uclibc +source "extra/Configs/Config.in.arch" -# SYSTEM_DEVEL_PREFIX is the directory prefix used when installing -# bin/arch-uclibc-gcc, bin/arch-uclibc-ld, etc. This is only used by -# the 'make install' target, and is not compiled into anything. This -# defaults to $DEVEL_PREFIX/usr, but makers of .rpms and .debs will -# want to set this to "/usr" instead. -SYSTEM_DEVEL_PREFIX = $(DEVEL_PREFIX) +endmenu -# DEVEL_TOOL_PREFIX is the directory prefix used when installing -# bin/gcc, bin/ld, etc. This is only used by the 'make install' -# target, and is not compiled into anything. This defaults to -# $DEVEL_PREFIX/usr, but makers of .rpms and .debs may want to -# set this to something else. -DEVEL_TOOL_PREFIX = $(DEVEL_PREFIX)/usr +source "extra/Configs/Config.in" -# If you want 'make install' to install everything under a temporary -# directory, the define PREFIX during the install step, -# i.e., 'make PREFIX=/var/tmp/uClibc install'. -#PREFIX = $(TOPDIR)/_install diff --git a/extra/Configs/Config.sh b/extra/Configs/Config.sh index 87ad02c30..fcca7de5b 100644 --- a/extra/Configs/Config.sh +++ b/extra/Configs/Config.sh @@ -1,219 +1,100 @@ -# Library Configuration rules for uClibc # -# This file contains rules which are shared between multiple Makefiles. All -# normal configuration options live in the file named "Config". You probably -# should not mess with this file unless you know what you are doing... -# -# Copyright (C) 2000 by Lineo, inc. -# Copyright (C) 2001 by Hewlett-Packard Australia +# For a description of the syntax of this configuration file, +# see Documentation/kbuild/config-language.txt. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU Library General Public License as published by the Free -# Software Foundation; either version 2 of the License, 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 Library General Public License for more -# details. -# -# You should have received a copy of the GNU Library General Public License -# along with this program; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# Derived in part from the Linux-8086 C library, the GNU C Library, and several -# other sundry sources. Files within this library are copyright by their -# respective copyright holders. - -NATIVE_CC = gcc - -# If you are running a cross compiler, you may want to set this -# to something more interesting... Target architecture is determined -# by asking this compiler what arch it compiles stuff for. -CROSS = /usr/cygnus/yapp-001013/H-i686-pc-linux-gnulibc2.1/bin/sh-linux-gnu- -CC = $(CROSS)gcc -AR = $(CROSS)ar -LD = $(CROSS)ld -NM = $(CROSS)nm -STRIPTOOL = $(CROSS)strip -#STRIPTOOL = /bin/true - -# Set the following to `true' to make a debuggable build, and `false' for -# production builds. -DODEBUG = false - -# Compiler warnings you want to see -WARNINGS=-Wall - -# Note that the kernel source you use to compile with should be the same as the -# Linux kernel you run your apps on. uClibc doesn't even try to achieve binary -# compatibility across kernel versions. So don't expect, for example, uClibc -# compiled with Linux kernel 2.0.x to implement lchown properly, since 2.0.x -# can't do that. Similarly, if you compile uClibc vs Linux 2.4.x kernel headers, -# but then run on Linux 2.0.x, lchown will be compiled into uClibc, but won't -# work at all. You have been warned. -KERNEL_SOURCE=../../../linux -# -# ARCH_CFLAGS if your have something special to add to the CFLAGS -# -ARCH_CFLAGS = -DNO_UNDERSCORES - -ifeq ($(strip $(TARGET_ARCH)),sh) -ifeq ($(strip $(TARGET_PROC)),SH2_BIG_THAMIS) -ARCH_CFLAGS += -DHIOS -mb -m2 -specs=/usr/cygnus/yapp-001013/H-i686-pc-linux-gnulibc2.1/lib/gcc-lib/sh-linux-gnu/2.96-yapp-001013/specs_sh2 -HAS_MMU = false -endif -ifeq ($(strip $(TARGET_PROC)),SH3_BIG_UCLINUX) -ARCH_CFLAGS += -mb -HAS_MMU = false -endif -ifeq ($(strip $(TARGET_PROC)),SH3_LITTLE_UCLINUX) -ARCH_CFLAGS += -ml -HAS_MMU = false -endif -ifeq ($(strip $(TARGET_PROC)),SH3_BIG) -ARCH_CFLAGS += -mb -m3 -D__BIG_ENDIAN__ -HAS_MMU = true -endif -ifeq ($(strip $(TARGET_PROC)),SH3) -ARCH_CFLAGS += -ml -HAS_MMU = true -endif -ifeq ($(strip $(TARGET_PROC)),SH4) -ARCH_CFLAGS += -ml -m4 -HAS_MMU = true -endif -endif - -# Set this to `false' if you don't have/need basic floating point support -# support in libc (strtod, printf, scanf). Set it to `true' otherwise. -# If this is not true, then libm will not be built. -HAS_FLOATING_POINT = true - -# Set to `true' if you want the math library to contain the full set -# of C99 math library features. Costs an extra 35k or so on x86. -DO_C99_MATH = false - -# Set this to 'false if you don't need shadow password support. -HAS_SHADOW = false - -# Set this to `false' if you don't have/need locale support; `true' otherwise. -# NOTE: Currently does not affect collation. -# You must also generate the locale data and associated .h file. -# See the README in directory extra/locale for details. -HAS_LOCALE = false - -# Set this to `false' if you don't have/need wide char support. -HAS_WCHAR = false - -# This specifies which malloc implementation is used. -# -# "malloc" use mmap for all allocations and so works very well on MMU-less -# systems that do not support the brk() system call. It is pretty smart -# about reusing already allocated memory, and minimizing memory wastage. -# -# "malloc-930716" is derived from libc-5.3.12 and uses the brk() system call -# for all memory allocations. This makes it very fast. It is also pretty -# smart about reusing already allocated memory, and minimizing memory wastage. -# Because this uses brk() it will not work on uClinux MMU-less systems. -MALLOC = malloc -#MALLOC = malloc-930716 - -# If you want large file support (greater then 2 GiB) turn this on. -# Do not enable this unless your kernel provides large file support. -DOLFS = false - -# Posix regular expression code is really big -- 27k all by itself. -# If you don't use regular expressions, turn this off and save space. -# Of course, if you only staticly link, leave this on, since it will -# only be included in your apps if you use regular expressions. -INCLUDE_REGEX=true - -# If you want to include RPC support, enable this. RPC is almost never used -# for anything except NFS support, so unless you plan to use NFS, leave this -# disabled. This is off by default. -INCLUDE_RPC = false - -# Normally we enable just enough RPC support for things like rshd and -# nfs mount to work. If you find you need the rest of the RPC stuff, -# then enable this. -INCLUDE_FULL_RPC = false - -# If you want to include support for the next version of the Internet -# Protocol: IP version 6, enable this. This is off by default. -INCLUDE_IPV6 = false - -# If you want to include threads support, enable this. The C library will -# be compiled thread-safe, and the libpthread library will be built. -INCLUDE_THREADS = true - -# If you want to support only Unix 98 PTYs enable this. Some older -# applications may need this disabled. For most current programs, -# you can generally leave this true. -UNIX98PTY_ONLY = true - -# Enable this if /dev/pts is on a devpts or devfs file system. Both -# these filesystems automatically manage permissions on the /dev/pts -# devices. You may need to mount this fs on /dev/pts for this to work. -# This is true by default. -ASSUME_DEVPTS = true - - -# If you want to compile the library as PIC code, turn this on. -# This is automagically enabled when HAVE_SHARED is true -DOPIC = false - -# Enable support for shared libraries? If this is false, you can -# ignore all the rest of the options in this file... -HAVE_SHARED = true - -# uClibc has a native shared library loader for some architectures. -BUILD_UCLIBC_LDSO= true - -# If you are using shared libraries, but do not want/have a native -# uClibc shared library loader, please specify the name of your -# system's shared library loader here... -#SYSTEM_LDSO=/lib/ld-linux.so.2 - -# When using shared libraries, this path is the location where the -# shared library will be invoked. This value will be compiled into -# every binary compiled with uClibc. -# -# BIG FAT WARNING: -# If you do not have a shared library loader with the correct name -# sitting in the directory this points to, your binaries will not run. -SHARED_LIB_LOADER_PATH=$(DEVEL_PREFIX)/lib - -# DEVEL_PREFIX is the directory into which the uClibc development -# environment will be installed. The result will look something -# like the following: -# DEVEL_PREFIX/ -# lib/ <contains all runtime and static libs> -# include/ <Where all the header files go> -# This value is used by the 'make install' Makefile target. Since this -# directory is compiled into the uclibc cross compiler spoofer, you -# have to recompile if you change this value... -DEVEL_PREFIX = /usr/$(TARGET_ARCH)-linux-uclibc - -# SYSTEM_DEVEL_PREFIX is the directory prefix used when installing -# bin/arch-uclibc-gcc, bin/arch-uclibc-ld, etc. This is only used by -# the 'make install' target, and is not compiled into anything. This -# defaults to $DEVEL_PREFIX/usr, but makers of .rpms and .debs will -# want to set this to "/usr" instead. -SYSTEM_DEVEL_PREFIX = $(DEVEL_PREFIX) - -# DEVEL_TOOL_PREFIX is the directory prefix used when installing -# bin/gcc, bin/ld, etc. This is only used by the 'make install' -# target, and is not compiled into anything. This defaults to -# $DEVEL_PREFIX/usr, but makers of .rpms and .debs may want to -# set this to something else. -DEVEL_TOOL_PREFIX = $(DEVEL_PREFIX)/usr - -# If you want 'make install' to install everything under a temporary -# directory, the define PREFIX during the install step, -# i.e., 'make PREFIX=/var/tmp/uClibc install'. -#PREFIX = $(TOPDIR)/_install - -#Enable .hidden asm directives -HAVE_DOT_HIDDEN=true +mainmenu "uClibc C Library Configuration" + +menu "Target Architecture Features and Options" + +config HAVE_ELF + bool + default y + +config C_SYMBOL_PREFIX + string + default "" + +config ARCH_CFLAGS + string + default "" + +config ARCH_LDFLAGS + string + default "" + +config LIBGCC_CFLAGS + string + default "" + +config HAVE_DOT_HIDDEN + bool + default y + +choice + prompt "Target Processor Type" + default CONFIG_GENERIC_ARM + help + This is the processor type of your CPU. This information is used for + optimizing purposes, as well as to determine if your CPU has an MMU, + an FPU, etc. If you pick the wrong CPU type, there is no guarantee + that uClibc will work at all.... + + Here are the available choices: + - "SH2" Hitachi SH2 + - "SH3" Hitachi SH3 + - "SH4" Hitachi SH4 + - "SH5" Hitachi SH5 + +config CONFIG_SH2 + bool "SH2" + +config CONFIG_SH3 + bool "SH3" + +config CONFIG_SH4 + bool "SH4" + +config CONFIG_SH5 + bool "SH5" + +endchoice + +choice + prompt "Target Processor Endianness" + default ARCH_LITTLE_ENDIAN + help + This is the endianness you wish to build use. Choose either Big + Endian, or Little Endian. + +config ARCH_LITTLE_ENDIAN + bool "Little Endian" + +config ARCH_BIG_ENDIAN + bool "Big Endian" + +endchoice + + +config ARCH_HAS_NO_MMU + bool + default y if CONFIG_SH2 || CONFIG_SH3 + +config CPU_CFLAGS + string + default "-DHIOS -ml -m2" if CONFIG_SH2 && ARCH_LITTLE_ENDIAN + default "-DHIOS -mb -m2" if CONFIG_SH2 && ARCH_BIG_ENDIAN + default "-DHIOS -ml -m3" if CONFIG_SH3 && ARCH_LITTLE_ENDIAN + default "-DHIOS -mb -m3" if CONFIG_SH3 && ARCH_BIG_ENDIAN + default "-DHIOS -ml -m4" if CONFIG_SH4 && ARCH_LITTLE_ENDIAN + default "-DHIOS -mb -m4" if CONFIG_SH4 && ARCH_BIG_ENDIAN + default "-DHIOS -ml -m5" if CONFIG_SH5 && ARCH_LITTLE_ENDIAN + default "-DHIOS -mb -m5" if CONFIG_SH5 && ARCH_BIG_ENDIAN + +source "extra/Configs/Config.in.arch" + +endmenu + +source "extra/Configs/Config.in" + + diff --git a/extra/Configs/Config.sparc b/extra/Configs/Config.sparc index 188cfaf13..983570f78 100644 --- a/extra/Configs/Config.sparc +++ b/extra/Configs/Config.sparc @@ -1,197 +1,36 @@ -# Library Configuration rules for uClibc # -# This file contains rules which are shared between multiple Makefiles. All -# normal configuration options live in the file named "Config". You probably -# should not mess with this file unless you know what you are doing... -# -# Copyright (C) 2000 by Lineo, inc. -# Copyright (C) 2000,2001 Erik Andersen <andersee@debian.org> +# For a description of the syntax of this configuration file, +# see Documentation/kbuild/config-language.txt. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU Library General Public License as published by the Free -# Software Foundation; either version 2 of the License, 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 Library General Public License for more -# details. -# -# You should have received a copy of the GNU Library General Public License -# along with this program; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# Derived in part from the Linux-8086 C library, the GNU C Library, and several -# other sundry sources. Files within this library are copyright by their -# respective copyright holders. - -NATIVE_CC = gcc - -# If you are running a cross compiler, you may want to set this -# to something more interesting... Target architecture is determined -# by asking this compiler what arch it compiles stuff for. -CROSS = #$(TARGET_ARCH)-linux- -CC = $(CROSS)gcc -AR = $(CROSS)ar -LD = $(CROSS)ld -NM = $(CROSS)nm -STRIPTOOL = $(CROSS)strip -#STRIPTOOL = /bin/true - -# Set the following to `true' to make a debuggable build, and `false' for -# production builds. -DODEBUG = false - -# Compiler warnings you want to see -WARNINGS=-Wall - -# Note that the kernel source you use to compile with should be the same as the -# Linux kernel you run your apps on. uClibc doesn't even try to achieve binary -# compatibility across kernel versions. So don't expect, for example, uClibc -# compiled with Linux kernel 2.0.x to implement lchown properly, since 2.0.x -# can't do that. Similarly, if you compile uClibc vs Linux 2.4.x kernel headers, -# but then run on Linux 2.0.x, lchown will be compiled into uClibc, but won't -# work at all. You have been warned. -KERNEL_SOURCE=/usr/src/kernel-headers-2.2.19-sparc - -# Set this to `false' if your CPU doesn't have a memory management unit (MMU). -# Set it to `true' otherwise. -HAS_MMU = true - -# Set this to `false' if you don't have/need basic floating point support -# support in libc (strtod, printf, scanf). Set it to `true' otherwise. -# If this is not true, then libm will not be built. -HAS_FLOATING_POINT = true - -# Set to `true' if you want the math library to contain the full set -# of C99 math library features. Costs an extra 35k or so on x86. -DO_C99_MATH = true - -# Set this to 'false if you don't need shadow password support. -HAS_SHADOW = false - -# Set this to `false' if you don't have/need locale support; `true' otherwise. -# NOTE: Currently does not affect collation. -# You must also generate the locale data and associated .h file. -# See the README in directory extra/locale for details. -HAS_LOCALE = false -# Set this to `false' if you don't have/need wide char support. -HAS_WCHAR = false +mainmenu "uClibc C Library Configuration" -# This specifies which malloc implementation is used. -# -# "malloc" use mmap for all allocations and so works very well on MMU-less -# systems that do not support the brk() system call. It is pretty smart -# about reusing already allocated memory, and minimizing memory wastage. -# -# "malloc-930716" is derived from libc-5.3.12 and uses the brk() system call -# for all memory allocations. This makes it very fast. It is also pretty -# smart about reusing already allocated memory, and minimizing memory wastage. -# Because this uses brk() it will not work on uClinux MMU-less systems. -#MALLOC = malloc -MALLOC = malloc-930716 - -# Having brk allows one to use malloc-930716, which is an order -# of magnitude faster then "malloc" for most allocations, but -# will do very bad things on MMU-less systems... -EXCLUDE_BRK=false - -# If you want large file support (greater then 2 GiB) turn this on. -# Do not enable this unless your kernel provides large file support. -DOLFS = false - -# Posix regular expression code is really big -- 27k all by itself. -# If you don't use regular expressions, turn this off and save space. -# Of course, if you only staticly link, leave this on, since it will -# only be included in your apps if you use regular expressions. -INCLUDE_REGEX=true - -# If you want to include RPC support, enable this. RPC is almost never used -# for anything except NFS support, so unless you plan to use NFS, leave this -# disabled. This is off by default. -INCLUDE_RPC = false - -# Normally we enable just enough RPC support for things like rshd and -# nfs mount to work. If you find you need the rest of the RPC stuff, -# then enable this. -INCLUDE_FULL_RPC = false +menu "Target Architecture Features and Options" -# If you want to include support for the next version of the Internet -# Protocol: IP version 6, enable this. This is off by default. -INCLUDE_IPV6 = false +config HAVE_ELF + bool + default y -# If you want to include threads support, enable this. The C library will -# be compiled thread-safe, and the libpthread library will be built. -INCLUDE_THREADS=false +config C_SYMBOL_PREFIX + string + default "" -# If you want to support only Unix 98 PTYs enable this. Some older -# applications may need this disabled. For most current programs, -# you can generally leave this true. -UNIX98PTY_ONLY = true +config ARCH_CFLAGS + string + default "-fpic -mlinux -D__USE_WEAK_ALIASES" -# Enable this if /dev/pts is on a devpts or devfs file system. Both -# these filesystems automatically manage permissions on the /dev/pts -# devices. You may need to mount this fs on /dev/pts for this to work. -# This is true by default. -ASSUME_DEVPTS = true +config ARCH_LDFLAGS + string + default "-mcrislinux" +config LIBGCC_CFLAGS + string + default "-mlinux" -# If you want to compile the library as PIC code, turn this on. -# This is automagically enabled when HAVE_SHARED is true -DOPIC = false - -# Enable support for shared libraries? If this is false, you can -# ignore all the rest of the options in this file... -HAVE_SHARED = false - -# uClibc has a native shared library loader for some architectures. -BUILD_UCLIBC_LDSO=false - -# If you are using shared libraries, but do not want/have a native -# uClibc shared library loader, please specify the name of your -# system's shared library loader here... -#SYSTEM_LDSO=/lib/ld-linux.so.2 -SYSTEM_LDSO=$(shell for each in `$(CC) -print-search-dirs| \ - grep ^libraries| sed -e 's/^libraries: //' -e 's/:/ /g'`;\ - do ls $$each/ld.so.* 2>/dev/null;done) - -# When using shared libraries, this path is the location where the -# shared library will be invoked. This value will be compiled into -# every binary compiled with uClibc. -# -# BIG FAT WARNING: -# If you do not have a shared library loader with the correct name -# sitting in the directory this points to, your binaries will not run. -SHARED_LIB_LOADER_PATH=$(DEVEL_PREFIX)/lib - -# DEVEL_PREFIX is the directory into which the uClibc development -# environment will be installed. The result will look something -# like the following: -# DEVEL_PREFIX/ -# lib/ <contains all runtime and static libs> -# include/ <Where all the header files go> -# This value is used by the 'make install' Makefile target. Since this -# directory is compiled into the uclibc cross compiler spoofer, you -# have to recompile if you change this value... -DEVEL_PREFIX = /usr/$(TARGET_ARCH)-linux-uclibc +source "extra/Configs/Config.in.arch" -# SYSTEM_DEVEL_PREFIX is the directory prefix used when installing -# bin/arch-uclibc-gcc, bin/arch-uclibc-ld, etc. This is only used by -# the 'make install' target, and is not compiled into anything. This -# defaults to $DEVEL_PREFIX/usr, but makers of .rpms and .debs will -# want to set this to "/usr" instead. -SYSTEM_DEVEL_PREFIX = $(DEVEL_PREFIX) +endmenu -# DEVEL_TOOL_PREFIX is the directory prefix used when installing -# bin/gcc, bin/ld, etc. This is only used by the 'make install' -# target, and is not compiled into anything. This defaults to -# $DEVEL_PREFIX/usr, but makers of .rpms and .debs may want to -# set this to something else. -DEVEL_TOOL_PREFIX = $(DEVEL_PREFIX)/usr +source "extra/Configs/Config.in" -# If you want 'make install' to install everything under a temporary -# directory, the define PREFIX during the install step, -# i.e., 'make PREFIX=/var/tmp/uClibc install'. -#PREFIX = $(TOPDIR)/_install diff --git a/extra/Configs/Config.v850e b/extra/Configs/Config.v850e index 8c5646213..176e43e14 100644 --- a/extra/Configs/Config.v850e +++ b/extra/Configs/Config.v850e @@ -1,186 +1,44 @@ -# Library Configuration rules for uClibc # -# This file contains rules which are shared between multiple Makefiles. All -# normal configuration options live in the file named "Config". You probably -# should not mess with this file unless you know what you are doing... -# -# Copyright (C) 2000 by Lineo, inc. -# Copyright (C) 2000,2001 Erik Andersen <andersee@debian.org> +# For a description of the syntax of this configuration file, +# see Documentation/kbuild/config-language.txt. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU Library General Public License as published by the Free -# Software Foundation; either version 2 of the License, 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 Library General Public License for more -# details. -# -# You should have received a copy of the GNU Library General Public License -# along with this program; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# Derived in part from the Linux-8086 C library, the GNU C Library, and several -# other sundry sources. Files within this library are copyright by their -# respective copyright holders. - -# The root directory used for installation, corresponding to $(prefix) -# for GNU packages. This defaults to /usr/local, but makers of .rpms -# and .debs will want to set this to "/usr" instead. -INSTALL_ROOT = /usr/local - -NATIVE_CC = gcc - -# If you are running a cross compiler, you may want to set this -# to something more interesting... Target architecture is determined -# by asking this compiler what arch it compiles stuff for. -CROSS = v850e-elf- -CC = $(CROSS)gcc -AR = $(CROSS)ar -LD = $(CROSS)ld -NM = $(CROSS)nm -STRIPTOOL = $(CROSS)strip -#STRIPTOOL = /bin/true - -# Set the following to `true' to make a debuggable build, and `false' for -# production builds. -DODEBUG = false - -# Compiler warnings you want to see -WARNINGS=-Wall - -# Note that the kernel source you use to compile with should be the same as the -# Linux kernel you run your apps on. uClibc doesn't even try to achieve binary -# compatibility across kernel versions. So don't expect, for example, uClibc -# compiled with Linux kernel 2.0.x to implement lchown properly, since 2.0.x -# can't do that. Similarly, if you compile uClibc vs Linux 2.4.x kernel headers, -# but then run on Linux 2.0.x, lchown will be compiled into uClibc, but won't -# work at all. You have been warned. -KERNEL_SOURCE=$(PROJ_UCLINUX)/uclinux/linux-2.4.6 - -# Set this to `false' if your CPU doesn't have a memory management unit (MMU). -# Set it to `true' otherwise. -HAS_MMU = false - -# Set this to `false' if you don't have/need basic floating point support -# support in libc (strtod, printf, scanf). Set it to `true' otherwise. -# If this is not true, then libm will not be built. -HAS_FLOATING_POINT = true -# Set to `true' if you want the math library to contain the full set -# of C99 math library features. Costs an extra 35k or so on x86. -DO_C99_MATH = false +mainmenu "uClibc C Library Configuration" -# Set this to `false' if you don't have/need locale support; `true' otherwise. -# NOTE: Currently does not affect collation. -# You must also generate the locale data and associated .h file. -# See the README in directory extra/locale for details. -HAS_LOCALE = false +menu "Target Architecture Features and Options" -# Set this to `false' if you don't have/need wide char support. -HAS_WCHAR = false +config HAVE_ELF + bool + default y -# This specifies which malloc implementation is used. -# -# "malloc" use mmap for all allocations and so works very well on MMU-less -# systems that do not support the brk() system call. It is pretty smart -# about reusing already allocated memory, and minimizing memory wastage. -# -# "malloc-930716" is derived from libc-5.3.12 and uses the brk() system call -# for all memory allocations. This makes it very fast. It is also pretty -# smart about reusing already allocated memory, and minimizing memory wastage. -# Because this uses brk() it will not work on uClinux MMU-less systems. -MALLOC = malloc -#MALLOC = malloc-930716 - -# If you want large file support (greater then 2 GiB) turn this on. -# Do not enable this unless your kernel provides large file support. -DOLFS = true - -# Posix regular expression code is really big -- 27k all by itself. -# If you don't use regular expressions, turn this off and save space. -# Of course, if you only staticly link, leave this on, since it will -# only be included in your apps if you use regular expressions. -INCLUDE_REGEX=true - -# If you want to include RPC support, enable this. RPC is almost never used -# for anything except NFS support, so unless you plan to use NFS, leave this -# disabled. This is off by default. -INCLUDE_RPC = false - -# Normally we enable just enough RPC support for things like rshd and -# nfs mount to work. If you find you need the rest of the RPC stuff, -# then enable this. -INCLUDE_FULL_RPC = false +config C_SYMBOL_PREFIX + string + default "_" -# If you want to include support for the next version of the Internet -# Protocol: IP version 6, enable this. This is off by default. -INCLUDE_IPV6 = false +config ARCH_CFLAGS + string + default "" -# If you want to support only Unix 98 PTYs enable this. Some older -# applications may need this disabled. For most current programs, -# you can generally leave this true. -UNIX98PTY_ONLY = true +config ARCH_LDFLAGS + string + default "" -# Enable this if /dev/pts is on a devpts or devfs file system. Both -# these filesystems automatically manage permissions on the /dev/pts -# devices. You may need to mount this fs on /dev/pts for this to work. -# This is true by default. -ASSUME_DEVPTS = true +config LIBGCC_CFLAGS + string + default "" +config HAVE_ELF + bool + default y -# If you want to compile the library as PIC code, turn this on. -# This is automagically enabled when HAVE_SHARED is true -DOPIC = false +config ARCH_HAS_NO_MMU + bool + default y -# String prefixed to all user symbol names by the C compiler. Usually -# either empty or an underscore. -C_SYMBOL_PREFIX = _ - -# Enable support for shared libraries? If this is false, you can -# ignore all the rest of the options in this file... -HAVE_SHARED = false - -# uClibc has a native shared library loader for some architectures. -BUILD_UCLIBC_LDSO=false - -# If you are using shared libraries, but do not want/have a native -# uClibc shared library loader, please specify the name of your -# system's shared library loader here... -#SYSTEM_LDSO=/lib/ld-linux.so.2 - -# When using shared libraries, this path is the location where the -# shared library will be invoked. This value will be compiled into -# every binary compiled with uClibc. -# -# BIG FAT WARNING: -# If you do not have a shared library loader with the correct name -# sitting in the directory this points to, your binaries will not run. -SHARED_LIB_LOADER_PATH=$(DEVEL_PREFIX)/lib +source "extra/Configs/Config.in.arch" -# DEVEL_PREFIX is the directory into which the uClibc development -# environment will be installed. The result will look something -# like the following: -# DEVEL_PREFIX/ -# lib/ <contains all runtime and static libs> -# include/ <Where all the header files go> -# This value is used by the 'make install' Makefile target. Since this -# directory is compiled into the uclibc cross compiler spoofer, you -# have to recompile if you change this value... -DEVEL_PREFIX = $(INSTALL_ROOT)/$(TARGET_ARCH)-uclibc +endmenu -# SYSTEM_DEVEL_PREFIX is the directory prefix used when installing -# bin/arch-uclibc-gcc, bin/arch-uclibc-ld, etc. This is only used by -# the 'make install' target, and is not compiled into anything. -SYSTEM_DEVEL_PREFIX = $(INSTALL_ROOT) +source "extra/Configs/Config.in" -# DEVEL_TOOL_PREFIX is the directory prefix used when installing -# bin/gcc, bin/ld, etc. This is only used by the 'make install' -# target, and is not compiled into anything. -DEVEL_TOOL_PREFIX = $(DEVEL_PREFIX) -# If you want 'make install' to install everything under a temporary -# directory, the define PREFIX during the install step, -# i.e., 'make PREFIX=/var/tmp/uClibc install'. -#PREFIX = $(TOPDIR)/_install |