Просмотр исходного кода

Remove the USE_UCLIBC_TOOLCHAIN config option, since that's all we support.
Add some comments in Makefile about support for various archs.
Disable buildroot large file for cris, since uClibc currently disables it.

Manuel Novoa III 22 лет назад
Родитель
Сommit
c09a799cf6
2 измененных файлов с 23 добавлено и 24 удалено
  1. 21 16
      Makefile
  2. 2 8
      make/uclibc.mk

+ 21 - 16
Makefile

@@ -33,22 +33,25 @@ ARCH:=i386
 #ARCH:=arm
 #ARCH:=arm
 #ARCH:=mips
 #ARCH:=mips
 #ARCH:=mipsel
 #ARCH:=mipsel
+# Possible issues remaining with powerpc and soft float.
 #ARCH:=powerpc
 #ARCH:=powerpc
 #ARCH:=sh4
 #ARCH:=sh4
+# Busybox link failing due to needing libgcc functions that are statics.
 #ARCH:=cris
 #ARCH:=cris
+
+# The following currently fail to build since no shared lib support.
+#ARCH:=sh64
 #ARCH:=m68k
 #ARCH:=m68k
 #ARCH:=v850
 #ARCH:=v850
 #ARCH:=sparc
 #ARCH:=sparc
-#ARCH:=sh64
 #ARCH:=whatever
 #ARCH:=whatever
 
 
-# enable to build a native gcc toolchain with uclibc support
-USE_UCLIBC_TOOLCHAIN:=true
-
 # If you are building a native gcc toolchain, do you want to
 # If you are building a native gcc toolchain, do you want to
 # build the old gcc-2.95 based toolchain, or would you prefer
 # build the old gcc-2.95 based toolchain, or would you prefer
-# a nice and shiny new gcc-3.2.1 toolchain?
+# a nice and shiny new gcc-3.3.2 toolchain?
+# WARNING -- 2.95 currently does not build.
 GCC_2_95_TOOLCHAIN:=false
 GCC_2_95_TOOLCHAIN:=false
+# WARNING -- 2.95 currently does not build.
 
 
 # Enable this to use the uClibc daily snapshot instead of a released
 # Enable this to use the uClibc daily snapshot instead of a released
 # version.  Daily snapshots may contain new features and bugfixes. Or
 # version.  Daily snapshots may contain new features and bugfixes. Or
@@ -85,24 +88,26 @@ OPTIMIZE_FOR_CPU=$(ARCH)
 #   The uClibc built will support _only_ applications compiled with the
 #   The uClibc built will support _only_ applications compiled with the
 #      -msoft-float flag.  To avoid CFLAGS problems, you may want to use
 #      -msoft-float flag.  To avoid CFLAGS problems, you may want to use
 #      scripts similar to those in the build*/staging_dir/bin directory.
 #      scripts similar to those in the build*/staging_dir/bin directory.
-# Uncomment the next 2 lines to build a soft-float toolchain and rootfs.
+# (Un)comment the appropriate line below.
+#SOFT_FLOAT:=true
 SOFT_FLOAT:=false
 SOFT_FLOAT:=false
 
 
 TARGET_OPTIMIZATION=-Os
 TARGET_OPTIMIZATION=-Os
 TARGET_DEBUGGING= #-g
 TARGET_DEBUGGING= #-g
 
 
 # Any additional gcc options you may want to include....
 # Any additional gcc options you may want to include....
-EXTRA_GCC_CONFIG_OPTIONS=
+EXTRA_GCC_CONFIG_OPTIONS:=
 
 
 # Enable the following if you want locale/gettext/i18n support.
 # Enable the following if you want locale/gettext/i18n support.
+# NOTE!  Currently the pregnerated locale stuff only works for x86!
 #ENABLE_LOCALE:=true
 #ENABLE_LOCALE:=true
 ENABLE_LOCALE:=false
 ENABLE_LOCALE:=false
 
 
 # If you want multilib enabled, enable this...
 # If you want multilib enabled, enable this...
 MULTILIB:=--enable-multilib
 MULTILIB:=--enable-multilib
 
 
-#Install libstdc++?
-INSTALL_LIBSTDCPP=true
+# Build/install c++ compiler and libstdc++?
+INSTALL_LIBSTDCPP:=true
 
 
 # For SMP machines some stuff can be run in parallel
 # For SMP machines some stuff can be run in parallel
 #JLEVEL=-j3
 #JLEVEL=-j3
@@ -113,17 +118,12 @@ INSTALL_LIBSTDCPP=true
 #
 #
 #############################################################
 #############################################################
 TARGETS:=host-sed
 TARGETS:=host-sed
-# The toolchain comes next if we are building one
-ifeq ($(USE_UCLIBC_TOOLCHAIN),true)
+
 ifeq ($(GCC_2_95_TOOLCHAIN),true)
 ifeq ($(GCC_2_95_TOOLCHAIN),true)
-TARGETS+=binutils uclibc-configured gcc2_95
+TARGETS+=uclibc-configured binutils gcc2_95
 else
 else
-#TARGETS+=binutils uclibc-configured gcc3_3
 TARGETS+=uclibc-configured binutils gcc3_3
 TARGETS+=uclibc-configured binutils gcc3_3
 endif
 endif
-else
-TARGETS+=uclibc
-endif
 
 
 # Do you want user mode Linux (x86 only), or are you building a
 # Do you want user mode Linux (x86 only), or are you building a
 # your own kernel that will run on its own?  Perhaps you have a
 # your own kernel that will run on its own?  Perhaps you have a
@@ -214,6 +214,11 @@ ifeq ($(ENABLE_LOCALE),true)
 EXTRA_GCC_CONFIG_OPTIONS += --enable-clocale=gnu
 EXTRA_GCC_CONFIG_OPTIONS += --enable-clocale=gnu
 endif
 endif
 
 
+# WARNING -- uClibc currently disables large file support on cris.
+ifeq ("$(strip $(ARCH))","cris")
+BUILD_WITH_LARGEFILE:=false
+endif
+
 ifneq ($(BUILD_WITH_LARGEFILE),true)
 ifneq ($(BUILD_WITH_LARGEFILE),true)
 DISABLE_LARGEFILE= --disable-largefile 
 DISABLE_LARGEFILE= --disable-largefile 
 endif
 endif

+ 2 - 8
make/uclibc.mk

@@ -55,11 +55,9 @@ endif
 	$(SED) 's,^SHARED_LIB_LOADER_PREFIX=.*,SHARED_LIB_LOADER_PREFIX=\"/lib\",g' \
 	$(SED) 's,^SHARED_LIB_LOADER_PREFIX=.*,SHARED_LIB_LOADER_PREFIX=\"/lib\",g' \
 		$(UCLIBC_DIR)/.config
 		$(UCLIBC_DIR)/.config
 ifeq ($(strip $(BUILD_WITH_LARGEFILE)),true)
 ifeq ($(strip $(BUILD_WITH_LARGEFILE)),true)
-	$(SED) "s/^.*UCLIBC_HAS_LFS.*/UCLIBC_HAS_LFS=y/;" \
-		$(UCLIBC_DIR)/.config
+	$(SED) 's,^.*UCLIBC_HAS_LFS.*,UCLIBC_HAS_LFS=y,g' $(UCLIBC_DIR)/.config
 else
 else
-	$(SED) "s/^.*UCLIBC_HAS_LFS.*/UCLIBC_HAS_LFS=n/;" \
-		$(UCLIBC_DIR)/.config
+	$(SED) 's,^.*UCLIBC_HAS_LFS.*,UCLIBC_HAS_LFS=n,g' $(UCLIBC_DIR)/.config
 endif
 endif
 	$(SED) 's,.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y,g' $(UCLIBC_DIR)/.config
 	$(SED) 's,.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y,g' $(UCLIBC_DIR)/.config
 	if [ -n "$(strip $(TARGET_SOFT_FLOAT))" ] ; then \
 	if [ -n "$(strip $(TARGET_SOFT_FLOAT))" ] ; then \
@@ -148,15 +146,11 @@ $(TARGET_DIR)/usr/lib/libc.a: $(STAGING_DIR)/lib/libc.a
 		ln -fs /lib/libthread_db.so.1 libthread_db.so; \
 		ln -fs /lib/libthread_db.so.1 libthread_db.so; \
 	)
 	)
 
 
-ifeq ($(USE_UCLIBC_TOOLCHAIN),true)
 ifeq ($(GCC_2_95_TOOLCHAIN),true)
 ifeq ($(GCC_2_95_TOOLCHAIN),true)
 uclibc_target: gcc2_95 uclibc $(TARGET_DIR)/usr/lib/libc.a
 uclibc_target: gcc2_95 uclibc $(TARGET_DIR)/usr/lib/libc.a
 else
 else
 uclibc_target: gcc3_3 uclibc $(TARGET_DIR)/usr/lib/libc.a
 uclibc_target: gcc3_3 uclibc $(TARGET_DIR)/usr/lib/libc.a
 endif
 endif
-else
-uclibc_target: uclibc $(TARGET_DIR)/usr/lib/libc.a
-endif
 
 
 uclibc_target-clean:
 uclibc_target-clean:
 	rm -f $(TARGET_DIR)/include
 	rm -f $(TARGET_DIR)/include