diff options
-rw-r--r-- | make/ext2root.mk | 6 | ||||
-rw-r--r-- | make/gcc_target.mk | 135 | ||||
-rw-r--r-- | make/uclibc.mk | 51 | ||||
-rw-r--r-- | make/uclibc_toolchain.mk | 96 | ||||
-rw-r--r-- | make/user-mode-linux.mk | 1 | ||||
-rw-r--r-- | sources/uClibc.config | 74 |
6 files changed, 255 insertions, 108 deletions
diff --git a/make/ext2root.mk b/make/ext2root.mk index 096d10651..a6b8d26c5 100644 --- a/make/ext2root.mk +++ b/make/ext2root.mk @@ -42,10 +42,10 @@ GENEXT2_ADDTOROOTSIZE := 256 # by genext2fs GENEXT2_MAXROOTSIZE := 8192 -GENEXT2_REALSIZE:=$(subst total,, $(shell du $(TARGET_DIR) -s -c -k | grep total )) -GENEXT2_SIZE:=$(shell expr $(GENEXT2_REALSIZE) + $(GENEXT2_ADDTOROOTSIZE)) +GENEXT2_REALSIZE=$(subst total,, $(shell du $(TARGET_DIR) -s -c -k | grep total )) +GENEXT2_SIZE=$(shell expr $(GENEXT2_REALSIZE) + $(GENEXT2_ADDTOROOTSIZE)) # We currently add about 400 device nodes, so add that into the total -GENEXT2_INODES:=$(shell expr $(shell find $(TARGET_DIR) | wc -l) + 400) +GENEXT2_INODES=$(shell expr $(shell find $(TARGET_DIR) | wc -l) + 400) #ifeq (1,$(shell expr $(GENEXT2_SIZE) \> $(GENEXT2_MAXROOTSIZE))) # $(error "Filesystem size, $(GENEXT2_SIZE) KB is greater than the maximum $(GENEXT2_MAXROOTSIZE) KB") diff --git a/make/gcc_target.mk b/make/gcc_target.mk new file mode 100644 index 000000000..1d8c9fbd5 --- /dev/null +++ b/make/gcc_target.mk @@ -0,0 +1,135 @@ +# Makefile for to build a gcc/uClibc toolchain linked vs uClibc +# +# Copyright (C) 2002 Erik Andersen <andersen@uclibc.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU 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 +# General Public License for more details. +# +# You should have received a copy of the GNU 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 + +############################################################# +# +# You should probably leave this stuff alone unless you are +# hacking on the toolchain... +# +############################################################# +GNU_TARGET_NAME:=$(ARCH)-linux +MAKE:=make + +############################################################# +# +# Where we can find things.... +# +# for various dependancy reasons, these need to live +# here at the top... Easier to find things here anyways... +# +############################################################# +BINUTILS_DIR2:=$(BUILD_DIR)/binutils-target +GCC_BUILD_DIR3:=$(BUILD_DIR)/gcc-target + + +############################################################# +# +# build binutils +# +############################################################# +$(BINUTILS_DIR2)/.configured: + mkdir -p $(BINUTILS_DIR2) + (cd $(BINUTILS_DIR2); PATH=$$PATH:$(STAGING_DIR)/bin CC=$(TARGET_CROSS)gcc \ + $(BINUTILS_DIR)/configure --enable-shared \ + --target=$(GNU_TARGET_NAME) --prefix=/usr \ + --enable-targets=$(GNU_TARGET_NAME) \ + --program-prefix=""); + touch $(BINUTILS_DIR2)/.configured + +$(BINUTILS_DIR2)/binutils/objdump: $(BINUTILS_DIR2)/.configured + $(MAKE) tooldir=$(TARGET_DIR) -C $(BINUTILS_DIR2); + +$(TARGET_DIR)/$(GNU_TARGET_NAME)/bin/ld: $(BINUTILS_DIR2)/binutils/objdump + $(MAKE) DESTDIR=$(TARGET_DIR) prefix=$(TARGET_DIR)/usr \ + bindir=$(TARGET_DIR)/usr/bin -C $(BINUTILS_DIR2) install + rm -rf $(TARGET_DIR)/usr/info $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share + +$(TARGET_DIR)/usr/lib/libg.a: + $(STAGING_DIR)/$(GNU_TARGET_NAME)/bin/ar rv $(TARGET_DIR)/usr/lib/libg.a; + +binutils_target: gcc_final $(TARGET_DIR)/$(GNU_TARGET_NAME)/bin/ld $(TARGET_DIR)/usr/lib/libg.a + +binutils_target-clean: + rm -f $(TARGET_DIR)/bin/$(GNU_TARGET_NAME)* + -$(MAKE) -C $(BINUTILS_DIR2) clean + +binutils_target-dirclean: + rm -rf $(BINUTILS_DIR2) + + + + +############################################################# +# +# uClibc just needs its header files and whatnot installed. +# +############################################################# + +$(TARGET_DIR)/lib/libc.a: $(STAGING_DIR)/lib/libc.a + $(MAKE) DEVEL_PREFIX=$(TARGET_DIR)/usr SYSTEM_DEVEL_PREFIX=$(TARGET_DIR) \ + DEVEL_TOOL_PREFIX=$(TARGET_DIR) -C $(UCLIBC_DIR) \ + install_dev + rm -rf $(TARGET_DIR)/include + +uclibc_target: gcc_final $(TARGET_DIR)/lib/libc.a + +uclibc_target-clean: + rm -f $(TARGET_DIR)/include + +uclibc_target-dirclean: + rm -f $(TARGET_DIR)/include + + + +############################################################# +# +# Next build target gcc compiler +# +############################################################# +$(GCC_BUILD_DIR3)/.configured: + mkdir -p $(GCC_BUILD_DIR3) + (cd $(GCC_BUILD_DIR3); PATH=$$PATH:$(STAGING_DIR)/bin AR=$(TARGET_CROSS)ar \ + RANLIB=$(TARGET_CROSS)ranlib LD=$(TARGET_CROSS)ld CC=$(TARGET_CROSS)gcc \ + $(GCC_DIR)/configure \ + --target=$(GNU_TARGET_NAME) --prefix=/usr --includedir=$(STAGING_DIR) \ + --enable-target-optspace --disable-nls --with-gnu-ld \ + --enable-shared --enable-languages=c,c++ ); + touch $(GCC_BUILD_DIR3)/.configured + +$(GCC_BUILD_DIR3)/.compiled: $(GCC_BUILD_DIR3)/.configured + PATH=$$PATH:$(STAGING_DIR)/bin $(MAKE) -C $(GCC_BUILD_DIR3) + touch $(GCC_BUILD_DIR3)/.compiled + +$(GCC_BUILD_DIR3)/.installed: $(GCC_BUILD_DIR3)/.compiled + PATH=$$PATH:$(STAGING_DIR)/bin $(MAKE) DESTDIR=$(TARGET_DIR) prefix=$(TARGET_DIR)/usr \ + -C $(GCC_BUILD_DIR3) install; + touch $(GCC_BUILD_DIR3)/.installed + +$(GCC_BUILD_DIR3)/.stripped: $(GCC_BUILD_DIR3)/.installed + -strip --strip-all -R .note -R .comment $(TARGET_DIR)/bin/* + touch $(BUILD_DIR)/.stripped + +gcc_target: uclibc_target binutils_target $(GCC_BUILD_DIR3)/.stripped + +gcc_target-clean: + rm -rf $(GCC_BUILD_DIR3) + rm -f $(TARGET_DIR)/bin/$(GNU_TARGET_NAME)* + +gcc_target-dirclean: + rm -rf $(GCC_BUILD_DIR3) + diff --git a/make/uclibc.mk b/make/uclibc.mk index 3b8418fcc..41e8f4093 100644 --- a/make/uclibc.mk +++ b/make/uclibc.mk @@ -29,8 +29,8 @@ UCLIBC_DIR=$(BUILD_DIR)/uClibc UCLIBC_SOURCE=uClibc-snapshot.tar.bz2 UCLIBC_SITE:=ftp://www.uclibc.org/uClibc else -UCLIBC_DIR:=$(BUILD_DIR)/uClibc-0.9.15 -UCLIBC_SOURCE:=uClibc-0.9.15.tar.bz2 +UCLIBC_DIR:=$(BUILD_DIR)/uClibc-0.9.16 +UCLIBC_SOURCE:=uClibc-0.9.16.tar.bz2 UCLIBC_SITE:=http://www.kernel.org/pub/linux/libs/uclibc endif #UCLIBC_PATCH=$(SOURCE_DIR)/uClibc.patch @@ -39,9 +39,6 @@ LARGEFILE=true else LARGEFILE=false endif -ifneq ($(CROSS),) -CROSSARG:=--cross="$(CROSS)" -endif $(DL_DIR)/$(UCLIBC_SOURCE): wget -P $(DL_DIR) --passive-ftp $(UCLIBC_SITE)/$(UCLIBC_SOURCE) @@ -56,34 +53,18 @@ ifeq ($(LINUX_DIR),) LINUX_DIR:=$(BUILD_DIR)/linux endif -$(UCLIBC_DIR)/Config: $(UCLIBC_DIR)/.unpacked - cp $(UCLIBC_DIR)/extra/Configs/Config.$(ARCH) $(UCLIBC_DIR)/Config~; - echo "TARGET_ARCH=$(ARCH)" >> $(UCLIBC_DIR)/Config~ - $(UCLIBC_DIR)/extra/Configs/uClibc_config_fix.pl \ - --arch=$(ARCH) \ - $(CROSSARG) --c99_math=true \ - --devel_prefix=$(STAGING_DIR) \ - --kernel_dir=$(LINUX_DIR) \ - --float=true \ - --c99_math=true \ - --float=true \ - --shadow=true \ - --threads=true \ - --rpc_support=true \ - --large_file=true \ - --mmu=true \ - --debug=false \ - --ldso_path="/lib" \ - --shared_support=true \ - --file=$(UCLIBC_DIR)/Config~ \ - > $(UCLIBC_DIR)/Config; - perl -i -p -e 's,^SYSTEM_DEVEL_PREFIX.*,SYSTEM_DEVEL_PREFIX=$(STAGING_DIR),g' \ - $(UCLIBC_DIR)/Config - perl -i -p -e 's,^DEVEL_TOOL_PREFIX.*,DEVEL_TOOL_PREFIX=$(STAGING_DIR)/usr,g' \ - $(UCLIBC_DIR)/Config - perl -i -p -e 's,^HAS_WCHAR.*,HAS_WCHAR=true,g' $(UCLIBC_DIR)/Config - -$(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/Config +$(UCLIBC_DIR)/.configured: $(UCLIBC_DIR)/.unpacked + perl -i -p -e 's,^CROSS=.*,TARGET_ARCH=$(ARCH)\nCROSS=$(TARGET_CROSS),g' $(UCLIBC_DIR)/Rules.mak + cp $(SOURCE_DIR)/uClibc.config $(UCLIBC_DIR)/.config + perl -i -p -e 's,^KERNEL_SOURCE=.*,KERNEL_SOURCE=\"$(LINUX_DIR)\",g' $(UCLIBC_DIR)/.config + perl -i -p -e 's,^DEVEL_PREFIX=.*,DEVEL_PREFIX=\"$(STAGING_DIR)\",g' $(UCLIBC_DIR)/.config + perl -i -p -e 's,^SYSTEM_DEVEL_PREFIX=.*,SYSTEM_DEVEL_PREFIX=\"$(STAGING_DIR)\",g' $(UCLIBC_DIR)/.config + perl -i -p -e 's,^DEVEL_TOOL_PREFIX=.*,DEVEL_TOOL_PREFIX=\"$(STAGING_DIR)/usr\",g' $(UCLIBC_DIR)/.config + perl -i -p -e 's,^SHARED_LIB_LOADER_PATH=.*,SHARED_LIB_LOADER_PATH=\"/lib\",g' $(UCLIBC_DIR)/.config + $(MAKE) -C $(UCLIBC_DIR) oldconfig + touch $(UCLIBC_DIR)/.configured + +$(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/.configured $(MAKE) -C $(UCLIBC_DIR) $(STAGING_DIR)/lib/libc.a: $(UCLIBC_DIR)/lib/libc.a @@ -105,8 +86,8 @@ uclibc: $(LINUX_KERNEL) $(STAGING_DIR)/lib/libc.a $(TARGET_DIR)/lib/libc.so.0 $( uclibc-clean: rm -f $(TARGET_DIR)/lib/libc.so.0 - -make -C $(UCLIBC_DIR) clean - rm -f $(UCLIBC_DIR)/Config + -$(MAKE) -C $(UCLIBC_DIR) clean + rm -f $(UCLIBC_DIR)/.config uclibc-dirclean: rm -rf $(UCLIBC_DIR) diff --git a/make/uclibc_toolchain.mk b/make/uclibc_toolchain.mk index f883ff82b..178b25293 100644 --- a/make/uclibc_toolchain.mk +++ b/make/uclibc_toolchain.mk @@ -26,13 +26,6 @@ ifeq ($(USE_UCLIBC_TOOLCHAIN),true) # C compiler for the build system HOSTCC:=gcc -# Set this to `false' if you are building for a CPU does not have -# a memory management unit (MMU) -- i.e. an uClinux system.. If -# you are targeting a regular Linux system, leave this "true". -# Set Most people will leave this set to "true". -HAS_MMU:=true - - ############################################################# # # You should probably leave this stuff alone unless you are @@ -42,26 +35,6 @@ HAS_MMU:=true GNU_TARGET_NAME:=$(ARCH)-linux MAKE:=make -NATIVE_ARCH:= ${shell uname -m | sed \ - -e 's/i.86/i386/' \ - -e 's/sparc.*/sparc/' \ - -e 's/arm.*/arm/g' \ - -e 's/m68k.*/m68k/' \ - -e 's/ppc/powerpc/g' \ - -e 's/v850.*/v850/g' \ - -e 's/sh[234].*/sh/' \ - -e 's/mips.*/mips/' \ - } -#ifeq ($(strip $(ARCH)),$(strip $(NATIVE_ARCH))) -#CROSSARG= -#else -CROSSARG=--cross=$(STAGING_DIR)/bin/$(ARCH)-uclibc- -#endif -ifneq ($(HAS_MMU),true) -NOMMU:=nommu -endif - - ############################################################# # # Where we can find things.... @@ -73,6 +46,7 @@ endif BINUTILS_SITE:=ftp://ftp.gnu.org/gnu/binutils/ BINUTILS_SOURCE:=binutils-2.12.1.tar.bz2 BINUTILS_DIR:=$(BUILD_DIR)/binutils-2.12.1 +BINUTILS_DIR1:=$(BUILD_DIR)/binutils-build ifeq ($(USE_UCLIBC_SNAPSHOT),true) # Be aware that this changes daily.... @@ -80,8 +54,8 @@ UCLIBC_DIR=$(BUILD_DIR)/uClibc UCLIBC_SOURCE=uClibc-snapshot.tar.bz2 UCLIBC_SITE:=ftp://www.uclibc.org/uClibc else -UCLIBC_DIR:=$(BUILD_DIR)/uClibc-0.9.15 -UCLIBC_SOURCE:=uClibc-0.9.15.tar.bz2 +UCLIBC_DIR:=$(BUILD_DIR)/uClibc-0.9.16 +UCLIBC_SOURCE:=uClibc-0.9.16.tar.bz2 UCLIBC_SITE:=http://www.kernel.org/pub/linux/libs/uclibc endif @@ -147,9 +121,6 @@ $(BINUTILS_DIR)/.patched: $(BINUTILS_DIR)/.unpacked echo "Aborting. Reject files found."; \ exit 1; \ fi - touch $(BINUTILS_DIR)/.patched - -$(BINUTILS_DIR)/.configured: $(BINUTILS_DIR)/.patched @if `echo "true" | grep -r true`; then true; else \ echo "ERROR! Your grep doesn't support the -r argument."; \ exit 1; \ @@ -157,17 +128,21 @@ $(BINUTILS_DIR)/.configured: $(BINUTILS_DIR)/.patched (cd $(BINUTILS_DIR); perl -i -p -e "s,#.*define.*ELF_DYNAMIC_INTERPRETER.*\".*\"\ ,#define ELF_DYNAMIC_INTERPRETER \"/lib/ld-uClibc.so.0\",;" \ `grep -lr "#.*define.*ELF_DYNAMIC_INTERPRETER.*\".*\"" $(BINUTILS_DIR)`); - (cd $(BINUTILS_DIR); CC=$(HOSTCC) ./configure --disable-shared \ + touch $(BINUTILS_DIR)/.patched + +$(BINUTILS_DIR1)/.configured: $(BINUTILS_DIR)/.patched + mkdir -p $(BINUTILS_DIR1) + (cd $(BINUTILS_DIR1); CC=$(HOSTCC) $(BINUTILS_DIR)/configure --disable-shared \ --target=$(GNU_TARGET_NAME) --prefix=$(STAGING_DIR) \ --enable-targets=$(GNU_TARGET_NAME) \ --program-transform-name=s,^,$(ARCH)-uclibc-,); - touch $(BINUTILS_DIR)/.configured + touch $(BINUTILS_DIR1)/.configured -$(BINUTILS_DIR)/binutils/objdump: $(BINUTILS_DIR)/.configured - $(MAKE) -C $(BINUTILS_DIR); +$(BINUTILS_DIR1)/binutils/objdump: $(BINUTILS_DIR1)/.configured + $(MAKE) -C $(BINUTILS_DIR1); -$(STAGING_DIR)/$(GNU_TARGET_NAME)/bin/ld: $(BINUTILS_DIR)/binutils/objdump - $(MAKE) -C $(BINUTILS_DIR) install +$(STAGING_DIR)/$(GNU_TARGET_NAME)/bin/ld: $(BINUTILS_DIR1)/binutils/objdump + $(MAKE) -C $(BINUTILS_DIR1) install rm -rf $(STAGING_DIR)/info $(STAGING_DIR)/man $(STAGING_DIR)/share $(STAGING_DIR)/lib/libg.a: @@ -177,10 +152,10 @@ binutils: linux_headers $(STAGING_DIR)/$(GNU_TARGET_NAME)/bin/ld $(STAGING_DIR)/ binutils-clean: rm -f $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)* - -$(MAKE) -C $(BINUTILS_DIR) clean + -$(MAKE) -C $(BINUTILS_DIR1) clean binutils-dirclean: - rm -rf $(BINUTILS_DIR) + rm -rf $(BINUTILS_DIR1) @@ -259,42 +234,25 @@ $(UCLIBC_DIR)/.unpacked: $(BUILD_DIR)/.setup $(DL_DIR)/$(UCLIBC_SOURCE) touch $(UCLIBC_DIR)/.unpacked $(UCLIBC_DIR)/.configured: $(UCLIBC_DIR)/.unpacked - cp $(UCLIBC_DIR)/extra/Configs/Config.$(ARCH) $(UCLIBC_DIR)/Config~; - echo "TARGET_ARCH=$(ARCH)" >> $(UCLIBC_DIR)/Config~ - $(UCLIBC_DIR)/extra/Configs/uClibc_config_fix.pl \ - --arch=$(ARCH) \ - $(CROSSARG) --c99_math=true \ - --devel_prefix=$(STAGING_DIR) \ - --kernel_dir=$(LINUX_DIR) \ - --float=true \ - --c99_math=true \ - --float=true \ - --shadow=true \ - --threads=true \ - --rpc_support=true \ - --large_file=true \ - --mmu=$(HAS_MMU) \ - --debug=false \ - --ldso_path="/lib" \ - --shared_support=$(HAS_MMU) \ - --file=$(UCLIBC_DIR)/Config~ \ - > $(UCLIBC_DIR)/Config; - perl -i -p -e 's,^SYSTEM_DEVEL_PREFIX.*,SYSTEM_DEVEL_PREFIX=$(STAGING_DIR),g' \ - $(UCLIBC_DIR)/Config - perl -i -p -e 's,^DEVEL_TOOL_PREFIX.*,DEVEL_TOOL_PREFIX=$(STAGING_DIR)/usr,g' \ - $(UCLIBC_DIR)/Config - perl -i -p -e 's,^HAS_WCHAR.*,HAS_WCHAR=false,g' $(UCLIBC_DIR)/Config + perl -i -p -e 's,^CROSS=.*,TARGET_ARCH=$(ARCH)\nCROSS=$(TARGET_CROSS),g' $(UCLIBC_DIR)/Rules.mak + cp $(SOURCE_DIR)/uClibc.config $(UCLIBC_DIR)/.config + perl -i -p -e 's,^KERNEL_SOURCE=.*,KERNEL_SOURCE=\"$(LINUX_DIR)\",g' $(UCLIBC_DIR)/.config + perl -i -p -e 's,^DEVEL_PREFIX=.*,DEVEL_PREFIX=\"$(STAGING_DIR)\",g' $(UCLIBC_DIR)/.config + perl -i -p -e 's,^SYSTEM_DEVEL_PREFIX=.*,SYSTEM_DEVEL_PREFIX=\"$(STAGING_DIR)\",g' $(UCLIBC_DIR)/.config + perl -i -p -e 's,^DEVEL_TOOL_PREFIX=.*,DEVEL_TOOL_PREFIX=\"$(STAGING_DIR)/usr\",g' $(UCLIBC_DIR)/.config + perl -i -p -e 's,^SHARED_LIB_LOADER_PATH=.*,SHARED_LIB_LOADER_PATH=\"/lib\",g' $(UCLIBC_DIR)/.config + $(MAKE) -C $(UCLIBC_DIR) oldconfig # Note that since the target compiler does not yet exist, we will not # be able to properly generate include/bits/syscall.h so we will need # to run part again later... - $(MAKE) -C $(UCLIBC_DIR) headers uClibc_config install_dev; + $(MAKE) -C $(UCLIBC_DIR) headers install_dev; touch $(UCLIBC_DIR)/.configured # Now that we have a working target compiler, rebuild the header files for the # target so things like include/bits/syscall.h can actually be built this time # around... $(UCLIBC_DIR)/.config_final: $(UCLIBC_DIR)/.configured - $(MAKE) -C $(UCLIBC_DIR) headers uClibc_config install_dev; + $(MAKE) -C $(UCLIBC_DIR) headers install_dev; touch $(UCLIBC_DIR)/.config_final $(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/.config_final @@ -316,7 +274,7 @@ uclibc: gcc_initial $(STAGING_DIR)/lib/libc.a $(TARGET_DIR)/lib/libc.so.0 $(TARG uclibc-clean: -$(MAKE) -C $(UCLIBC_DIR) clean - rm -f $(UCLIBC_DIR)/Config + rm -f $(UCLIBC_DIR)/.config uclibc-dirclean: rm -rf $(UCLIBC_DIR) @@ -391,11 +349,9 @@ $(GCC_BUILD_DIR2)/.installed: $(GCC_BUILD_DIR2)/.compiled #Cleanup then mess when --program-transform-name mysteriously fails $(GCC_BUILD_DIR2)/.fixedup: $(GCC_BUILD_DIR2)/.installed -ifeq ($(strip $(ARCH)),$(strip $(NATIVE_ARCH))) -mv $(STAGING_DIR)/bin/gcc $(STAGING_DIR)/$(GNU_TARGET_NAME)/bin; -mv $(STAGING_DIR)/bin/protoize $(STAGING_DIR)/$(GNU_TARGET_NAME)/bin; -mv $(STAGING_DIR)/bin/unprotoize $(STAGING_DIR)/$(GNU_TARGET_NAME)/bin; -endif -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-cpp $(STAGING_DIR)/bin/$(ARCH)-uclibc-cpp -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-gcc $(STAGING_DIR)/bin/$(ARCH)-uclibc-gcc -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-c++ $(STAGING_DIR)/bin/$(ARCH)-uclibc-c++ diff --git a/make/user-mode-linux.mk b/make/user-mode-linux.mk index 90224d08a..f7dddccc7 100644 --- a/make/user-mode-linux.mk +++ b/make/user-mode-linux.mk @@ -4,6 +4,7 @@ # ############################################################# UMLINUX_DIR=$(BUILD_DIR)/linux-2.4.19 +LINUX_DIR=$(UMLINUX_DIR) UMLINUX_SOURCE=linux-2.4.19.tar.bz2 UMLINUX_SITE=http://ftp.us.kernel.org/pub/linux/kernel/v2.4 UMLINUX_PATCH_1:=uml-patch-2.4.19-5.bz2 diff --git a/sources/uClibc.config b/sources/uClibc.config new file mode 100644 index 000000000..2a36c5331 --- /dev/null +++ b/sources/uClibc.config @@ -0,0 +1,74 @@ +# +# Automatically generated make config: don't edit +# + +# +# Target Architecture Features and Options +# +HAVE_ELF=y +CONFIG_386=y +# CONFIG_486 is not set +# CONFIG_586 is not set +# CONFIG_586MMX is not set +# CONFIG_686 is not set +# CONFIG_PENTIUMIII is not set +# CONFIG_PENTIUM4 is not set +# CONFIG_K6 is not set +# CONFIG_K7 is not set +# CONFIG_CRUSOE is not set +# CONFIG_WINCHIPC6 is not set +# CONFIG_WINCHIP2 is not set +# CONFIG_CYRIXIII is not set +UCLIBC_HAS_MMU=y +UCLIBC_HAS_FLOATS=y +HAS_FPU=y +DO_C99_MATH=y +WARNINGS="-Wall" +KERNEL_SOURCE="/usr/src/linux" +C_SYMBOL_PREFIX="" + +# +# General Library Settings +# +DOPIC=y +HAVE_SHARED=y +BUILD_UCLIBC_LDSO=y +LDSO_LDD_SUPPORT=y +UCLIBC_HAS_THREADS=y +UCLIBC_HAS_LFS=y +# MALLOC is not set +MALLOC_930716=y +HAS_SHADOW=y +UCLIBC_HAS_REGEX=y +UNIX98PTY_ONLY=y +ASSUME_DEVPTS=y + +# +# Networking Support +# +# UCLIBC_HAS_IPV6 is not set +UCLIBC_HAS_RPC=y +# UCLIBC_HAS_FULL_RPC is not set + +# +# String and Stdio Support +# +UCLIBC_HAS_WCHAR=y +# UCLIBC_HAS_LOCALE is not set +# USE_OLD_VFPRINTF is not set + +# +# Library Installation Options +# +SHARED_LIB_LOADER_PATH="/lib" +DEVEL_PREFIX="/usr/$(TARGET_ARCH)-linux-uclibc" +SYSTEM_DEVEL_PREFIX="$(DEVEL_PREFIX)" +DEVEL_TOOL_PREFIX="$(DEVEL_PREFIX)/usr" + +# +# uClibc hacking options +# +# DODEBUG is not set +# DOASSERTS is not set +# SUPPORT_LD_DEBUG is not set +# SUPPORT_LD_DEBUG_EARLY is not set |