Enable building soft float buildroot for gcc 3.3. Currently works for

i386 (limited to 64 bit long double... same as double), arm (libfloat),
  mips, and mipsel.
Enable cross compiling a native gcc 3.3 toolchain to run on the target.
Misc rootfs cleanups... strip some things that weren't, eliminate duplicate
  libs, move openssl shared libs out of /lib, reduce size of libssl.so
  by dynamicly linking with libcrypto.so, fix dropbear compile on mips.
This commit is contained in:
Manuel Novoa III 2003-11-01 05:34:41 +00:00
parent b5f7712c83
commit d632d42b34
38 changed files with 440 additions and 111 deletions

View File

@ -31,6 +31,8 @@
# What sortof target system shall we compile this for? # What sortof target system shall we compile this for?
ARCH:=i386 ARCH:=i386
#ARCH:=arm #ARCH:=arm
#ARCH:=mipsel
#ARCH:=mips
#ARCH:=powerpc #ARCH:=powerpc
#ARCH:=whatever #ARCH:=whatever
@ -64,9 +66,27 @@ OPTIMIZE_FOR_CPU=$(ARCH)
#OPTIMIZE_FOR_CPU=strongarm #OPTIMIZE_FOR_CPU=strongarm
#OPTIMIZE_FOR_CPU=whatever #OPTIMIZE_FOR_CPU=whatever
# Soft floating point options.
# Notes:
# Currently builds with gcc 3.3 for i386, arm, mips, mipsel.
# Only tested with multilib enabled.
# For i386, long double is the same as double (64 bits). While this
# is unusual for x86, it seemed the best approach considering the
# limitations in the gcc floating point emulation library.
# For arm, soft float uses the usual libfloat routines.
# The uClibc built will support _only_ applications compiled with the
# -msoft-float flag. To avoid CFLAGS problems, you may want to use
# scripts similar to those in the build*/staging_dir/bin directory.
# Uncomment the next 2 lines to build a soft-float toolchain and rootfs.
# SOFT_FLOAT_CONFIG_OPTION=--without-float
# TARGET_SOFT_FLOAT=-msoft-float
TARGET_OPTIMIZATION=-Os
TARGET_DEBUGGING= #-g
TARGET_CFLAGS=$(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) $(TARGET_SOFT_FLOAT)
# 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=
#EXTRA_GCC_CONFIG_OPTIONS=--without-float
# Enable the following if you want locale/gettext/i18n support. # Enable the following if you want locale/gettext/i18n support.
#ENABLE_LOCALE:=true #ENABLE_LOCALE:=true
@ -172,23 +192,32 @@ TARGETS+=ext2root
# what you are doing. # what you are doing.
# #
############################################################# #############################################################
ifeq ("$(strip $(TARGET_SOFT_FLOAT))","")
ARCH_FPU_SUFFIX:=
else
ARCH_FPU_SUFFIX:=_nofpu
endif
HOSTCC:=gcc HOSTCC:=gcc
BASE_DIR:=${shell pwd} BASE_DIR:=${shell pwd}
SOURCE_DIR:=$(BASE_DIR)/sources SOURCE_DIR:=$(BASE_DIR)/sources
DL_DIR:=$(SOURCE_DIR)/dl DL_DIR:=$(SOURCE_DIR)/dl
PATCH_DIR=$(SOURCE_DIR)/patches PATCH_DIR=$(SOURCE_DIR)/patches
BUILD_DIR:=$(BASE_DIR)/build_$(ARCH) BUILD_DIR:=$(BASE_DIR)/build_$(ARCH)$(ARCH_FPU_SUFFIX)
TARGET_DIR:=$(BUILD_DIR)/root TARGET_DIR:=$(BUILD_DIR)/root
STAGING_DIR=$(BUILD_DIR)/staging_dir STAGING_DIR=$(BUILD_DIR)/staging_dir
TOOL_BUILD_DIR=$(BASE_DIR)/toolchain_build_$(ARCH) TOOL_BUILD_DIR=$(BASE_DIR)/toolchain_build_$(ARCH)$(ARCH_FPU_SUFFIX)
TARGET_PATH=$(STAGING_DIR)/bin:/bin:/sbin:/usr/bin:/usr/sbin TARGET_PATH=$(STAGING_DIR)/bin:/bin:/sbin:/usr/bin:/usr/sbin
TARGET_CROSS=$(STAGING_DIR)/bin/$(ARCH)-uclibc- #TARGET_CROSS=$(STAGING_DIR)/bin/$(ARCH)-uclibc-
TARGET_CC=$(TARGET_CROSS)gcc TARGET_CROSS=$(STAGING_DIR)/bin/$(ARCH)-linux-
TARGET_CC=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT)
STRIP=$(TARGET_CROSS)strip --remove-section=.comment --remove-section=.note STRIP=$(TARGET_CROSS)strip --remove-section=.comment --remove-section=.note
#STRIP:=/bin/true #STRIP:=/bin/true
IMAGE:=$(BASE_DIR)/root_fs_$(ARCH) IMAGE:=$(BASE_DIR)/root_fs_$(ARCH)$(ARCH_FPU_SUFFIX)
GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux
KERNEL_CROSS=$(STAGING_DIR)/bin/$(ARCH)-uclibc- #KERNEL_CROSS=$(STAGING_DIR)/bin/$(ARCH)-uclibc-
KERNEL_CROSS=$(STAGING_DIR)/bin/$(ARCH)-linux-
HOST_ARCH:=$(shell $(HOSTCC) -dumpmachine | sed -e s'/-.*//' \ HOST_ARCH:=$(shell $(HOSTCC) -dumpmachine | sed -e s'/-.*//' \
-e 's/sparc.*/sparc/' \ -e 's/sparc.*/sparc/' \
-e 's/arm.*/arm/g' \ -e 's/arm.*/arm/g' \
@ -207,12 +236,10 @@ TARGET_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \
AS=$(TARGET_CROSS)as \ AS=$(TARGET_CROSS)as \
LD=$(TARGET_CROSS)ld \ LD=$(TARGET_CROSS)ld \
NM=$(TARGET_CROSS)nm \ NM=$(TARGET_CROSS)nm \
CC=$(TARGET_CROSS)gcc \ CC=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \
GCC=$(TARGET_CROSS)gcc \ GCC=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \
CXX=$(TARGET_CROSS)g++ \ CXX=$(TARGET_CROSS)g++$(TARGET_SOFT_FLOAT) \
RANLIB=$(TARGET_CROSS)ranlib RANLIB=$(TARGET_CROSS)ranlib
#Directory in which to build the toolchain
TOOL_BUILD_DIR=$(BASE_DIR)/toolchain_build_$(ARCH)
ifeq ($(ENABLE_LOCALE),true) ifeq ($(ENABLE_LOCALE),true)
DISABLE_NLS:= DISABLE_NLS:=
else else

View File

@ -22,6 +22,7 @@ $(AUTOCONF_DIR)/.unpacked: $(DL_DIR)/$(AUTOCONF_SOURCE)
$(AUTOCONF_DIR)/.configured: $(AUTOCONF_DIR)/.unpacked $(AUTOCONF_DIR)/.configured: $(AUTOCONF_DIR)/.unpacked
(cd $(AUTOCONF_DIR); rm -rf config.cache; \ (cd $(AUTOCONF_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) EMACS="no" \ $(TARGET_CONFIGURE_OPTS) EMACS="no" \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \

View File

@ -22,6 +22,7 @@ $(AUTOMAKE_DIR)/.unpacked: $(DL_DIR)/$(AUTOMAKE_SOURCE)
$(AUTOMAKE_DIR)/.configured: $(AUTOMAKE_DIR)/.unpacked $(AUTOMAKE_DIR)/.configured: $(AUTOMAKE_DIR)/.unpacked
(cd $(AUTOMAKE_DIR); rm -rf config.cache; \ (cd $(AUTOMAKE_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \

View File

@ -25,6 +25,7 @@ $(BASH_DIR)/.unpacked: $(DL_DIR)/$(BASH_SOURCE)
$(BASH_DIR)/.configured: $(BASH_DIR)/.unpacked $(BASH_DIR)/.configured: $(BASH_DIR)/.unpacked
(cd $(BASH_DIR); rm -rf config.cache; \ (cd $(BASH_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD=$(HOSTCC) \ $(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD=$(HOSTCC) \
CFLAGS="$(TARGET_CFLAGS)" \
ac_cv_func_setvbuf_reversed=no \ ac_cv_func_setvbuf_reversed=no \
bash_cv_have_mbstate_t=yes \ bash_cv_have_mbstate_t=yes \
./configure \ ./configure \

View File

@ -57,7 +57,8 @@ $(BINUTILS_DIR1)/.configured: $(BINUTILS_DIR)/.patched
--with-sysroot=$(STAGING_DIR) \ --with-sysroot=$(STAGING_DIR) \
--with-lib-path="$(STAGING_DIR)/usr/lib:$(STAGING_DIR)/lib" \ --with-lib-path="$(STAGING_DIR)/usr/lib:$(STAGING_DIR)/lib" \
$(MULTILIB) \ $(MULTILIB) \
--program-prefix=$(ARCH)-uclibc-); $(SOFT_FLOAT_CONFIG_OPTION) \
--program-prefix=$(ARCH)-linux-);
touch $(BINUTILS_DIR1)/.configured touch $(BINUTILS_DIR1)/.configured
$(BINUTILS_DIR1)/binutils/objdump: $(BINUTILS_DIR1)/.configured $(BINUTILS_DIR1)/binutils/objdump: $(BINUTILS_DIR1)/.configured
@ -74,12 +75,12 @@ $(STAGING_DIR)/$(GNU_TARGET_NAME)/bin/ld: $(BINUTILS_DIR1)/binutils/objdump
for app in addr2line ar as c++filt gprof ld nm objcopy \ for app in addr2line ar as c++filt gprof ld nm objcopy \
objdump ranlib readelf size strings strip ; \ objdump ranlib readelf size strings strip ; \
do \ do \
if [ -x $(STAGING_DIR)/bin/$(ARCH)-uclibc-$${app} ] ; then \ if [ -x $(STAGING_DIR)/bin/$(ARCH)-linux-$${app} ] ; then \
(cd $(STAGING_DIR)/$(GNU_TARGET_NAME)/bin; \ (cd $(STAGING_DIR)/$(GNU_TARGET_NAME)/bin; \
ln -fs ../../bin/$(ARCH)-uclibc-$${app} $${app}; \ ln -fs ../../bin/$(ARCH)-linux-$${app} $${app}; \
); \ ); \
(cd $(STAGING_DIR)/usr/bin; \ (cd $(STAGING_DIR)/usr/bin; \
ln -fs ../../bin/$(ARCH)-uclibc-$${app} $${app}; \ ln -fs ../../bin/$(ARCH)-linux-$${app} $${app}; \
); \ ); \
fi; \ fi; \
done; done;
@ -122,15 +123,16 @@ $(BINUTILS_DIR2)/.configured: $(BINUTILS_DIR)/.patched
mkdir -p $(TARGET_DIR)/usr/$(GNU_TARGET_NAME)/ mkdir -p $(TARGET_DIR)/usr/$(GNU_TARGET_NAME)/
(cd $(BINUTILS_DIR2); \ (cd $(BINUTILS_DIR2); \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
CC_FOR_BUILD=$(HOSTCC) \ CC_FOR_BUILD=$(HOSTCC) \
CXX_FOR_BUILD=$(HOSTCC) \ CXX_FOR_BUILD=$(HOSTCC) \
AR_FOR_TARGET=$(TARGET_CROSS)ar \ AR_FOR_TARGET=$(TARGET_CROSS)ar \
AS_FOR_TARGET=$(TARGET_CROSS)as \ AS_FOR_TARGET=$(TARGET_CROSS)as \
LD_FOR_TARGET=$(TARGET_CROSS)ld \ LD_FOR_TARGET=$(TARGET_CROSS)ld \
NM_FOR_TARGET=$(TARGET_CROSS)nm \ NM_FOR_TARGET=$(TARGET_CROSS)nm \
CC_FOR_TARGET=$(TARGET_CROSS)gcc \ CC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \
GCC_FOR_TARGET=$(TARGET_CROSS)gcc \ GCC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \
CXX_FOR_TARGET=$(TARGET_CROSS)g++ \ CXX_FOR_TARGET=$(TARGET_CROSS)g++$(TARGET_SOFT_FLOAT) \
RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib \ RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib \
$(BINUTILS_DIR)/configure \ $(BINUTILS_DIR)/configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
@ -140,6 +142,7 @@ $(BINUTILS_DIR2)/.configured: $(BINUTILS_DIR)/.patched
--mandir=/usr/man \ --mandir=/usr/man \
--infodir=/usr/info \ --infodir=/usr/info \
$(MULTILIB) \ $(MULTILIB) \
$(SOFT_FLOAT_CONFIG_OPTION) \
); );
touch $(BINUTILS_DIR2)/.configured touch $(BINUTILS_DIR2)/.configured
@ -151,9 +154,9 @@ $(BINUTILS_DIR2)/binutils/objdump: $(BINUTILS_DIR2)/.configured
AS_FOR_TARGET=$(TARGET_CROSS)as \ AS_FOR_TARGET=$(TARGET_CROSS)as \
LD_FOR_TARGET=$(TARGET_CROSS)ld \ LD_FOR_TARGET=$(TARGET_CROSS)ld \
NM_FOR_TARGET=$(TARGET_CROSS)nm \ NM_FOR_TARGET=$(TARGET_CROSS)nm \
CC_FOR_TARGET=$(TARGET_CROSS)gcc \ CC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \
GCC_FOR_TARGET=$(TARGET_CROSS)gcc \ GCC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \
CXX_FOR_TARGET=$(TARGET_CROSS)g++ \ CXX_FOR_TARGET=$(TARGET_CROSS)g++$(TARGET_SOFT_FLOAT) \
RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib
touch -c $(BINUTILS_DIR2)/binutils/objdump touch -c $(BINUTILS_DIR2)/binutils/objdump
@ -165,9 +168,9 @@ $(TARGET_DIR)/usr/bin/ld: $(BINUTILS_DIR2)/binutils/objdump
AS_FOR_TARGET=$(TARGET_CROSS)as \ AS_FOR_TARGET=$(TARGET_CROSS)as \
LD_FOR_TARGET=$(TARGET_CROSS)ld \ LD_FOR_TARGET=$(TARGET_CROSS)ld \
NM_FOR_TARGET=$(TARGET_CROSS)nm \ NM_FOR_TARGET=$(TARGET_CROSS)nm \
CC_FOR_TARGET=$(TARGET_CROSS)gcc \ CC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \
GCC_FOR_TARGET=$(TARGET_CROSS)gcc \ GCC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \
CXX_FOR_TARGET=$(TARGET_CROSS)g++ \ CXX_FOR_TARGET=$(TARGET_CROSS)g++$(TARGET_SOFT_FLOAT) \
RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib \ RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib \
prefix=/usr \ prefix=/usr \
infodir=/usr/info \ infodir=/usr/info \

View File

@ -22,6 +22,7 @@ $(BISON_DIR)/.unpacked: $(DL_DIR)/$(BISON_SOURCE)
$(BISON_DIR)/.configured: $(BISON_DIR)/.unpacked $(BISON_DIR)/.configured: $(BISON_DIR)/.unpacked
(cd $(BISON_DIR); rm -rf config.cache; \ (cd $(BISON_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
gt_cv_func_gnugettext2_libintl=yes \ gt_cv_func_gnugettext2_libintl=yes \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \

View File

@ -19,6 +19,7 @@ $(BRIDGE_BUILD_DIR)/.unpacked: $(DL_DIR)/$(BRIDGE_SOURCE)
$(BRIDGE_BUILD_DIR)/.configured: $(BRIDGE_BUILD_DIR)/.unpacked $(BRIDGE_BUILD_DIR)/.configured: $(BRIDGE_BUILD_DIR)/.unpacked
(cd $(BRIDGE_BUILD_DIR); rm -rf config.cache; \ (cd $(BRIDGE_BUILD_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \

View File

@ -33,7 +33,7 @@ ifeq ($(USE_BUSYBOX_SNAPSHOT),true)
ifeq ($(strip $(BUILD_WITH_LARGEFILE)),true) ifeq ($(strip $(BUILD_WITH_LARGEFILE)),true)
perl -i -p -e "s/^.*DOLFS.*/DOLFS=y/;" $(BUSYBOX_DIR)/.config perl -i -p -e "s/^.*DOLFS.*/DOLFS=y/;" $(BUSYBOX_DIR)/.config
endif endif
$(MAKE) CROSS="$(TARGET_CROSS)" -C $(BUSYBOX_DIR) oldconfig $(MAKE) CC=$(TARGET_CC) CROSS="$(TARGET_CROSS)" -C $(BUSYBOX_DIR) oldconfig
else # Not using snapshot else # Not using snapshot
cp $(BUSYBOX_CONFIG) $(BUSYBOX_DIR)/Config.h cp $(BUSYBOX_CONFIG) $(BUSYBOX_DIR)/Config.h
perl -i -p -e "s,^CROSS.*,CROSS=$(TARGET_CROSS),;" $(BUSYBOX_DIR)/Makefile perl -i -p -e "s,^CROSS.*,CROSS=$(TARGET_CROSS),;" $(BUSYBOX_DIR)/Makefile
@ -47,10 +47,12 @@ endif
busybox-unpack: $(BUSYBOX_DIR)/.configured busybox-unpack: $(BUSYBOX_DIR)/.configured
$(BUSYBOX_DIR)/busybox: $(BUSYBOX_DIR)/.configured $(BUSYBOX_DIR)/busybox: $(BUSYBOX_DIR)/.configured
$(MAKE) CROSS="$(TARGET_CROSS)" PREFIX="$(TARGET_DIR)" -C $(BUSYBOX_DIR) $(MAKE) CC=$(TARGET_CC) CROSS="$(TARGET_CROSS)" PREFIX="$(TARGET_DIR)" \
-C $(BUSYBOX_DIR)
$(TARGET_DIR)/bin/busybox: $(BUSYBOX_DIR)/busybox $(TARGET_DIR)/bin/busybox: $(BUSYBOX_DIR)/busybox
$(MAKE) CROSS="$(TARGET_CROSS)" PREFIX="$(TARGET_DIR)" -C $(BUSYBOX_DIR) install $(MAKE) CC=$(TARGET_CC) CROSS="$(TARGET_CROSS)" PREFIX="$(TARGET_DIR)" \
-C $(BUSYBOX_DIR) install
# Just in case # Just in case
-chmod a+x $(TARGET_DIR)/usr/share/udhcpc/default.script -chmod a+x $(TARGET_DIR)/usr/share/udhcpc/default.script

View File

@ -24,6 +24,7 @@ $(COREUTILS_DIR)/.unpacked: $(DL_DIR)/$(COREUTILS_SOURCE)
$(COREUTILS_DIR)/.configured: $(COREUTILS_DIR)/.unpacked $(COREUTILS_DIR)/.configured: $(COREUTILS_DIR)/.unpacked
(cd $(COREUTILS_DIR); rm -rf config.cache; \ (cd $(COREUTILS_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \
@ -65,6 +66,7 @@ $(TARGET_DIR)/$(COREUTILS_TARGET_BINARY): $(COREUTILS_DIR)/$(COREUTILS_BINARY)
ln -fs test $(TARGET_DIR)/usr/bin/[ ln -fs test $(TARGET_DIR)/usr/bin/[
# gnu thinks chroot is in bin, debian thinks it's in sbin # gnu thinks chroot is in bin, debian thinks it's in sbin
mv $(TARGET_DIR)/usr/bin/chroot $(TARGET_DIR)/usr/sbin/chroot mv $(TARGET_DIR)/usr/bin/chroot $(TARGET_DIR)/usr/sbin/chroot
$(STRIP) $(TARGET_DIR)/usr/sbin/chroot > /dev/null 2>&1
rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \ rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
$(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc

View File

@ -22,6 +22,7 @@ $(DIFFUTILS_DIR)/.unpacked: $(DL_DIR)/$(DIFFUTILS_SOURCE)
$(DIFFUTILS_DIR)/.configured: $(DIFFUTILS_DIR)/.unpacked $(DIFFUTILS_DIR)/.configured: $(DIFFUTILS_DIR)/.unpacked
(cd $(DIFFUTILS_DIR); rm -rf config.cache; \ (cd $(DIFFUTILS_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \

View File

@ -18,12 +18,14 @@ dropbear_sshd-source: $(DL_DIR)/$(DROPBEAR_SSHD_SOURCE)
$(DROPBEAR_SSHD_DIR)/.unpacked: $(DL_DIR)/$(DROPBEAR_SSHD_SOURCE) $(DROPBEAR_SSHD_DIR)/.unpacked: $(DL_DIR)/$(DROPBEAR_SSHD_SOURCE)
$(DROPBEAR_SSHD_CAT) $(DL_DIR)/$(DROPBEAR_SSHD_SOURCE) | tar -C $(BUILD_DIR) -xvf - $(DROPBEAR_SSHD_CAT) $(DL_DIR)/$(DROPBEAR_SSHD_SOURCE) | tar -C $(BUILD_DIR) -xvf -
$(SOURCE_DIR)/patch-kernel.sh $(DROPBEAR_SSHD_DIR) $(SOURCE_DIR) dropbear-*.patch
touch $(DROPBEAR_SSHD_DIR)/.unpacked touch $(DROPBEAR_SSHD_DIR)/.unpacked
$(DROPBEAR_SSHD_DIR)/.configured: $(DROPBEAR_SSHD_DIR)/.unpacked $(DROPBEAR_SSHD_DIR)/.configured: $(DROPBEAR_SSHD_DIR)/.unpacked
(cd $(DROPBEAR_SSHD_DIR); rm -rf config.cache; \ (cd $(DROPBEAR_SSHD_DIR); rm -rf config.cache; \
autoconf; \ autoconf; \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \
@ -44,17 +46,19 @@ $(DROPBEAR_SSHD_DIR)/.configured: $(DROPBEAR_SSHD_DIR)/.unpacked
touch $(DROPBEAR_SSHD_DIR)/.configured touch $(DROPBEAR_SSHD_DIR)/.configured
$(DROPBEAR_SSHD_DIR)/$(DROPBEAR_SSHD_BINARY): $(DROPBEAR_SSHD_DIR)/.configured $(DROPBEAR_SSHD_DIR)/$(DROPBEAR_SSHD_BINARY): $(DROPBEAR_SSHD_DIR)/.configured
$(MAKE) CC=$(TARGET_CC) -C $(DROPBEAR_SSHD_DIR) $(MAKE) $(TARGET_CONFIGURE_OPTS) LD=$(TARGET_CC) -C $(DROPBEAR_SSHD_DIR)
$(TARGET_DIR)/$(DROPBEAR_SSHD_TARGET_BINARY): $(DROPBEAR_SSHD_DIR)/$(DROPBEAR_SSHD_BINARY) $(TARGET_DIR)/$(DROPBEAR_SSHD_TARGET_BINARY): $(DROPBEAR_SSHD_DIR)/$(DROPBEAR_SSHD_BINARY)
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(DROPBEAR_SSHD_DIR) install $(MAKE) DESTDIR=$(TARGET_DIR) $(TARGET_CONFIGURE_OPTS) LD=$(TARGET_CC) \
-C $(DROPBEAR_SSHD_DIR) install
rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \ rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
$(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
dropbear_sshd: uclibc zlib $(TARGET_DIR)/$(DROPBEAR_SSHD_TARGET_BINARY) dropbear_sshd: uclibc zlib $(TARGET_DIR)/$(DROPBEAR_SSHD_TARGET_BINARY)
dropbear_sshd-clean: dropbear_sshd-clean:
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(DROPBEAR_SSHD_DIR) uninstall $(MAKE) DESTDIR=$(TARGET_DIR) $(TARGET_CONFIGURE_OPTS) LD=$(TARGET_CC) \
-C $(DROPBEAR_SSHD_DIR) uninstall
-$(MAKE) -C $(DROPBEAR_SSHD_DIR) clean -$(MAKE) -C $(DROPBEAR_SSHD_DIR) clean
dropbear_sshd-dirclean: dropbear_sshd-dirclean:

View File

@ -27,6 +27,7 @@ $(ED_DIR)/.unpacked: $(DL_DIR)/$(ED_SOURCE) $(DL_DIR)/$(ED_PATCH)
$(ED_DIR)/.configured: $(ED_DIR)/.unpacked $(ED_DIR)/.configured: $(ED_DIR)/.unpacked
(cd $(ED_DIR); rm -rf config.cache; \ (cd $(ED_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \

View File

@ -23,6 +23,7 @@ $(FILE_DIR)/.unpacked: $(DL_DIR)/$(FILE_SOURCE)
$(FILE_DIR)/.configured: $(FILE_DIR)/.unpacked $(FILE_DIR)/.configured: $(FILE_DIR)/.unpacked
(cd $(FILE_DIR); rm -rf config.cache; \ (cd $(FILE_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \
@ -47,6 +48,7 @@ $(FILE_DIR)/$(FILE_BINARY): $(FILE_DIR)/.configured
$(TARGET_DIR)/$(FILE_TARGET_BINARY): $(FILE_DIR)/$(FILE_BINARY) $(TARGET_DIR)/$(FILE_TARGET_BINARY): $(FILE_DIR)/$(FILE_BINARY)
$(MAKE) $(TARGET_CONFIGURE_OPTS) DESTDIR=$(TARGET_DIR) -C $(FILE_DIR) install $(MAKE) $(TARGET_CONFIGURE_OPTS) DESTDIR=$(TARGET_DIR) -C $(FILE_DIR) install
-($(STRIP) $(TARGET_DIR)/usr/lib/libmagic.so.*.* > /dev/null 2>&1)
rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \ rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
$(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc

View File

@ -23,6 +23,7 @@ $(FINDUTILS_DIR)/.unpacked: $(DL_DIR)/$(FINDUTILS_SOURCE)
$(FINDUTILS_DIR)/.configured: $(FINDUTILS_DIR)/.unpacked $(FINDUTILS_DIR)/.configured: $(FINDUTILS_DIR)/.unpacked
(cd $(FINDUTILS_DIR); rm -rf config.cache; \ (cd $(FINDUTILS_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
ac_cv_func_setvbuf_reversed=no \ ac_cv_func_setvbuf_reversed=no \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
@ -52,6 +53,7 @@ findutils-target_binary: $(FINDUTILS_DIR)/$(FINDUTILS_BINARY)
@if [ $(TARGET_DIR)/$(FINDUTILS_TARGET_BINARY) -ot $(FINDUTILS_DIR)/$(FINDUTILS_BINARY) ] ; then \ @if [ $(TARGET_DIR)/$(FINDUTILS_TARGET_BINARY) -ot $(FINDUTILS_DIR)/$(FINDUTILS_BINARY) ] ; then \
set -x; \ set -x; \
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(FINDUTILS_DIR) install; \ $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(FINDUTILS_DIR) install; \
$(STRIP) $(TARGET_DIR)/usr/lib/locate/* > /dev/null 2>&1; \
rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \ rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
$(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc; fi; $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc; fi;

View File

@ -27,6 +27,7 @@ $(FLEX_DIR)/.unpacked: $(DL_DIR)/$(FLEX_SOURCE) $(DL_DIR)/$(FLEX_PATCH)
$(FLEX_DIR)/.configured: $(FLEX_DIR)/.unpacked $(FLEX_DIR)/.configured: $(FLEX_DIR)/.unpacked
(cd $(FLEX_DIR); autoconf; rm -rf config.cache; \ (cd $(FLEX_DIR); autoconf; rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \

View File

@ -22,6 +22,7 @@ $(GAWK_DIR)/.unpacked: $(DL_DIR)/$(GAWK_SOURCE)
$(GAWK_DIR)/.configured: $(GAWK_DIR)/.unpacked $(GAWK_DIR)/.configured: $(GAWK_DIR)/.unpacked
(cd $(GAWK_DIR); rm -rf config.cache; autoconf; \ (cd $(GAWK_DIR); rm -rf config.cache; autoconf; \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
ac_cv_func_getpgrp_void=yes \ ac_cv_func_getpgrp_void=yes \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
@ -49,6 +50,7 @@ $(TARGET_DIR)/$(GAWK_TARGET_BINARY): $(GAWK_DIR)/$(GAWK_BINARY)
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(GAWK_DIR) install $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(GAWK_DIR) install
rm -f $(TARGET_DIR)/usr/bin/gawk-* rm -f $(TARGET_DIR)/usr/bin/gawk-*
(cd $(TARGET_DIR)/usr/bin; ln -sf gawk awk) (cd $(TARGET_DIR)/usr/bin; ln -sf gawk awk)
$(STRIP) $(TARGET_DIR)/usr/lib/awk/* > /dev/null 2>&1
rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \ rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
$(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc

View File

@ -66,6 +66,11 @@ $(GCC_DIR)/.unpacked: $(DL_DIR)/$(GCC_SOURCE)
$(GCC_DIR)/.patched: $(GCC_DIR)/.unpacked $(GCC_DIR)/.patched: $(GCC_DIR)/.unpacked
# Apply any files named gcc-*.patch from the source directory to gcc # Apply any files named gcc-*.patch from the source directory to gcc
$(SOURCE_DIR)/patch-kernel.sh $(GCC_DIR) $(SOURCE_DIR) gcc-*.patch $(SOURCE_DIR)/patch-kernel.sh $(GCC_DIR) $(SOURCE_DIR) gcc-*.patch
ifneq ("$(strip $(TARGET_SOFT_FLOAT))","")
ifeq ("$(strip $(ARCH))","i386")
$(SOURCE_DIR)/patch-kernel.sh $(GCC_DIR) $(SOURCE_DIR) i386-gcc-soft-float.patch
endif
endif
touch $(GCC_DIR)/.patched touch $(GCC_DIR)/.patched
$(GCC_DIR)/.gcc3_3_build_hacks: $(GCC_DIR)/.patched $(GCC_DIR)/.gcc3_3_build_hacks: $(GCC_DIR)/.patched
@ -111,8 +116,11 @@ $(GCC_DIR)/.gcc3_3_build_hacks: $(GCC_DIR)/.patched
# # the step or libgcc will not build... # # the step or libgcc will not build...
$(GCC_BUILD_DIR1)/.configured: $(GCC_DIR)/.gcc3_3_build_hacks $(GCC_BUILD_DIR1)/.configured: $(GCC_DIR)/.gcc3_3_build_hacks
mkdir -p $(GCC_BUILD_DIR1) mkdir -p $(GCC_BUILD_DIR1)
echo -e "#!/bin/sh\nexec $(GCC_BUILD_DIR1)/gcc/xgcc -B$(GCC_BUILD_DIR1)/gcc/ -B$(STAGING_DIR)/arm-linux/bin/ -B$(STAGING_DIR)/arm-linux/lib/ -isystem $(STAGING_DIR)/arm-linux/include $(TARGET_SOFT_FLOAT) \$$@" > $(GCC_BUILD_DIR1)/target_gcc
chmod a+x $(GCC_BUILD_DIR1)/target_gcc
(cd $(GCC_BUILD_DIR1); PATH=$(TARGET_PATH) AR=$(TARGET_CROSS)ar \ (cd $(GCC_BUILD_DIR1); PATH=$(TARGET_PATH) AR=$(TARGET_CROSS)ar \
RANLIB=$(TARGET_CROSS)ranlib CC=$(HOSTCC) \ RANLIB=$(TARGET_CROSS)ranlib CC=$(HOSTCC) \
gcc_cv_as_hidden=no \
$(GCC_DIR)/configure \ $(GCC_DIR)/configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_HOST_NAME) \ --host=$(GNU_HOST_NAME) \
@ -132,25 +140,39 @@ $(GCC_BUILD_DIR1)/.configured: $(GCC_DIR)/.gcc3_3_build_hacks
--oldincludedir=$(STAGING_DIR)/include $(MULTILIB) \ --oldincludedir=$(STAGING_DIR)/include $(MULTILIB) \
--enable-target-optspace $(DISABLE_NLS) --with-gnu-ld \ --enable-target-optspace $(DISABLE_NLS) --with-gnu-ld \
--disable-shared --enable-languages=c --disable-__cxa_atexit \ --disable-shared --enable-languages=c --disable-__cxa_atexit \
$(EXTRA_GCC_CONFIG_OPTIONS) --program-prefix=$(ARCH)-uclibc-); $(SOFT_FLOAT_CONFIG_OPTION) \
$(EXTRA_GCC_CONFIG_OPTIONS) --program-prefix=$(ARCH)-linux-);
touch $(GCC_BUILD_DIR1)/.configured touch $(GCC_BUILD_DIR1)/.configured
$(GCC_BUILD_DIR1)/.compiled: $(GCC_BUILD_DIR1)/.configured $(GCC_BUILD_DIR1)/.compiled: $(GCC_BUILD_DIR1)/.configured
PATH=$(TARGET_PATH) $(MAKE) $(JLEVEL) -C $(GCC_BUILD_DIR1) \ PATH=$(TARGET_PATH) $(MAKE) $(JLEVEL) -C $(GCC_BUILD_DIR1) \
AR_FOR_TARGET=$(STAGING_DIR)/bin/$(ARCH)-uclibc-ar \ AR_FOR_TARGET=$(STAGING_DIR)/bin/$(ARCH)-linux-ar \
RANLIB_FOR_TARGET=$(STAGING_DIR)/bin/$(ARCH)-uclibc-ranlib RANLIB_FOR_TARGET=$(STAGING_DIR)/bin/$(ARCH)-linux-ranlib \
CC_FOR_TARGET=$(GCC_BUILD_DIR1)/target_gcc \
GCC_FOR_TARGET=$(GCC_BUILD_DIR1)/target_gcc
touch $(GCC_BUILD_DIR1)/.compiled touch $(GCC_BUILD_DIR1)/.compiled
$(STAGING_DIR)/bin/$(ARCH)-uclibc-gcc: $(GCC_BUILD_DIR1)/.compiled $(STAGING_DIR)/bin/$(ARCH)-linux-gcc: $(GCC_BUILD_DIR1)/.compiled
PATH=$(TARGET_PATH) $(MAKE) $(JLEVEL) -C $(GCC_BUILD_DIR1) install; PATH=$(TARGET_PATH) $(MAKE) $(JLEVEL) -C $(GCC_BUILD_DIR1) install;
#Cleanup then mess when --program-prefix mysteriously fails #Cleanup then mess when --program-prefix mysteriously fails
-mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-cpp $(STAGING_DIR)/bin/$(ARCH)-uclibc-cpp -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-cpp $(STAGING_DIR)/bin/$(ARCH)-linux-cpp
-mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-gcc $(STAGING_DIR)/bin/$(ARCH)-uclibc-gcc -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-gcc $(STAGING_DIR)/bin/$(ARCH)-linux-gcc
if [ -n "$(strip $(TARGET_SOFT_FLOAT))" ] ; then \
for app in gcc c++ g++ ; do \
if [ -x $(STAGING_DIR)/bin/$(ARCH)-linux-$${app} ] ; then \
(cd $(STAGING_DIR)/bin; \
rm -f $(ARCH)-linux-$${app}$(TARGET_SOFT_FLOAT); \
echo -e "#!/bin/sh\nexec $(STAGING_DIR)/bin/$(ARCH)-linux-$${app} -msoft-float \$$@" > $(ARCH)-linux-$${app}$(TARGET_SOFT_FLOAT); \
chmod a+x $(ARCH)-linux-$${app}$(TARGET_SOFT_FLOAT); \
); \
fi; \
done; \
fi; \
rm -f $(STAGING_DIR)/bin/gccbug $(STAGING_DIR)/bin/gcov rm -f $(STAGING_DIR)/bin/gccbug $(STAGING_DIR)/bin/gcov
rm -rf $(STAGING_DIR)/info $(STAGING_DIR)/man $(STAGING_DIR)/share/doc \ rm -rf $(STAGING_DIR)/info $(STAGING_DIR)/man $(STAGING_DIR)/share/doc \
$(STAGING_DIR)/share/locale $(STAGING_DIR)/share/locale
gcc3_3_initial: binutils uclibc-configured $(STAGING_DIR)/bin/$(ARCH)-uclibc-gcc gcc3_3_initial: binutils uclibc-configured $(STAGING_DIR)/bin/$(ARCH)-linux-gcc
gcc3_3_initial-clean: gcc3_3_initial-clean:
rm -rf $(GCC_BUILD_DIR1) rm -rf $(GCC_BUILD_DIR1)
@ -159,8 +181,6 @@ gcc3_3_initial-clean:
gcc3_3_initial-dirclean: gcc3_3_initial-dirclean:
rm -rf $(GCC_BUILD_DIR1) rm -rf $(GCC_BUILD_DIR1)
############################################################# #############################################################
# #
# second pass compiler build. Build the compiler targeting # second pass compiler build. Build the compiler targeting
@ -181,9 +201,15 @@ $(GCC_DIR)/.g++_build_hacks: $(GCC_DIR)/.patched
$(GCC_BUILD_DIR2)/.configured: $(GCC_DIR)/.g++_build_hacks $(GCC_BUILD_DIR2)/.configured: $(GCC_DIR)/.g++_build_hacks
mkdir -p $(GCC_BUILD_DIR2) mkdir -p $(GCC_BUILD_DIR2)
#echo -e "#!/bin/sh\nexec $(GCC_BUILD_DIR2)/gcc/g++ -B$(GCC_BUILD_DIR2)/gcc/ -B$(STAGING_DIR)/arm-linux/bin/ -B$(STAGING_DIR)/arm-linux/lib/ -isystem $(STAGING_DIR)/arm-linux/include $(TARGET_SOFT_FLOAT) \$$@" > $(GCC_BUILD_DIR2)/target_g++
echo -e "#!/bin/sh\nexec $(GCC_BUILD_DIR2)/gcc/xgcc -B$(GCC_BUILD_DIR2)/gcc/ -B$(STAGING_DIR)/arm-linux/bin/ -B$(STAGING_DIR)/arm-linux/lib/ -isystem $(STAGING_DIR)/arm-linux/include $(TARGET_SOFT_FLOAT) \$$@" > $(GCC_BUILD_DIR2)/target_g++
chmod a+x $(GCC_BUILD_DIR2)/target_g++
echo -e "#!/bin/sh\nexec $(GCC_BUILD_DIR2)/gcc/xgcc -B$(GCC_BUILD_DIR2)/gcc/ -B$(STAGING_DIR)/arm-linux/bin/ -B$(STAGING_DIR)/arm-linux/lib/ -isystem $(STAGING_DIR)/arm-linux/include $(TARGET_SOFT_FLOAT) \$$@" > $(GCC_BUILD_DIR2)/target_gcc
chmod a+x $(GCC_BUILD_DIR2)/target_gcc
(cd $(GCC_BUILD_DIR2); PATH=$(TARGET_PATH) AR=$(TARGET_CROSS)ar \ (cd $(GCC_BUILD_DIR2); PATH=$(TARGET_PATH) AR=$(TARGET_CROSS)ar \
RANLIB=$(TARGET_CROSS)ranlib LD=$(TARGET_CROSS)ld \ RANLIB=$(TARGET_CROSS)ranlib LD=$(TARGET_CROSS)ld \
NM=$(TARGET_CROSS)nm CC=$(HOSTCC) \ NM=$(TARGET_CROSS)nm CC=$(HOSTCC) \
gcc_cv_as_hidden=no \
$(GCC_DIR)/configure \ $(GCC_DIR)/configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_HOST_NAME) \ --host=$(GNU_HOST_NAME) \
@ -207,15 +233,18 @@ $(GCC_BUILD_DIR2)/.configured: $(GCC_DIR)/.g++_build_hacks
--with-gnu-ld --disable-__cxa_atexit \ --with-gnu-ld --disable-__cxa_atexit \
--enable-languages=$(TARGET_LANGUAGES) \ --enable-languages=$(TARGET_LANGUAGES) \
$(EXTRA_GCC_CONFIG_OPTIONS) \ $(EXTRA_GCC_CONFIG_OPTIONS) \
--program-prefix=$(ARCH)-uclibc- \ --program-prefix=$(ARCH)-linux- \
); );
touch $(GCC_BUILD_DIR2)/.configured touch $(GCC_BUILD_DIR2)/.configured
$(GCC_BUILD_DIR2)/.compiled: $(GCC_BUILD_DIR2)/.configured $(GCC_BUILD_DIR2)/.compiled: $(GCC_BUILD_DIR2)/.configured
PATH=$(TARGET_PATH) CC=$(HOSTCC) \ PATH=$(TARGET_PATH) $(MAKE) $(JLEVEL) -C $(GCC_BUILD_DIR2) \
CC=$(HOSTCC) \
AR_FOR_TARGET=$(TARGET_CROSS)ar RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib \ AR_FOR_TARGET=$(TARGET_CROSS)ar RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib \
LD_FOR_TARGET=$(TARGET_CROSS)ld NM_FOR_TARGET=$(TARGET_CROSS)nm \ LD_FOR_TARGET=$(TARGET_CROSS)ld NM_FOR_TARGET=$(TARGET_CROSS)nm \
CC_FOR_TARGET=$(TARGET_CROSS)gcc $(MAKE) $(JLEVEL) -C $(GCC_BUILD_DIR2) CC_FOR_TARGET=$(GCC_BUILD_DIR2)/target_gcc \
GCC_FOR_TARGET=$(GCC_BUILD_DIR2)/target_gcc \
CXX_FOR_TARGET=$(GCC_BUILD_DIR2)/target_g++
touch $(GCC_BUILD_DIR2)/.compiled touch $(GCC_BUILD_DIR2)/.compiled
$(GCC_BUILD_DIR2)/.installed: $(GCC_BUILD_DIR2)/.compiled $(STAGING_DIR)/lib/libc.a $(GCC_BUILD_DIR2)/.installed: $(GCC_BUILD_DIR2)/.compiled $(STAGING_DIR)/lib/libc.a
@ -223,22 +252,33 @@ $(GCC_BUILD_DIR2)/.installed: $(GCC_BUILD_DIR2)/.compiled $(STAGING_DIR)/lib/lib
-mv $(STAGING_DIR)/bin/gcc $(STAGING_DIR)/usr/bin; -mv $(STAGING_DIR)/bin/gcc $(STAGING_DIR)/usr/bin;
-mv $(STAGING_DIR)/bin/protoize $(STAGING_DIR)/usr/bin; -mv $(STAGING_DIR)/bin/protoize $(STAGING_DIR)/usr/bin;
-mv $(STAGING_DIR)/bin/unprotoize $(STAGING_DIR)/usr/bin; -mv $(STAGING_DIR)/bin/unprotoize $(STAGING_DIR)/usr/bin;
-mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-cpp $(STAGING_DIR)/bin/$(ARCH)-uclibc-cpp -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-cpp $(STAGING_DIR)/bin/$(ARCH)-linux-cpp
-mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-gcc $(STAGING_DIR)/bin/$(ARCH)-uclibc-gcc -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-gcc $(STAGING_DIR)/bin/$(ARCH)-linux-gcc
-mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-c++ $(STAGING_DIR)/bin/$(ARCH)-uclibc-c++ -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-c++ $(STAGING_DIR)/bin/$(ARCH)-linux-c++
-mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-g++ $(STAGING_DIR)/bin/$(ARCH)-uclibc-g++ -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-g++ $(STAGING_DIR)/bin/$(ARCH)-linux-g++
-mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-c++filt $(STAGING_DIR)/bin/$(ARCH)-uclibc-c++filt -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-c++filt $(STAGING_DIR)/bin/$(ARCH)-linux-c++filt
rm -f $(STAGING_DIR)/bin/cpp $(STAGING_DIR)/bin/gcov $(STAGING_DIR)/bin/*gccbug rm -f $(STAGING_DIR)/bin/cpp $(STAGING_DIR)/bin/gcov $(STAGING_DIR)/bin/*gccbug
rm -f $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-$(ARCH)-uclibc-* rm -f $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-$(ARCH)-linux-*
rm -rf $(STAGING_DIR)/info $(STAGING_DIR)/man $(STAGING_DIR)/share/doc \ rm -rf $(STAGING_DIR)/info $(STAGING_DIR)/man $(STAGING_DIR)/share/doc \
$(STAGING_DIR)/share/locale $(STAGING_DIR)/share/locale
# Strip the host binaries # Strip the host binaries
-strip --strip-all -R .note -R .comment $(STAGING_DIR)/bin/* -strip --strip-all -R .note -R .comment $(STAGING_DIR)/bin/*
if [ -n "$(strip $(TARGET_SOFT_FLOAT))" ] ; then \
for app in gcc c++ g++ ; do \
if [ -x $(STAGING_DIR)/bin/$(ARCH)-linux-$${app} ] ; then \
(cd $(STAGING_DIR)/bin; \
rm -f $(ARCH)-linux-$${app}$(TARGET_SOFT_FLOAT); \
echo -e "#!/bin/sh\nexec $(STAGING_DIR)/bin/$(ARCH)-linux-$${app} -msoft-float \$$@" > $(ARCH)-linux-$${app}$(TARGET_SOFT_FLOAT); \
chmod a+x $(ARCH)-linux-$${app}$(TARGET_SOFT_FLOAT); \
); \
fi; \
done; \
fi; \
set -e; \ set -e; \
for app in cc gcc c89 cpp c++ g++ ; do \ for app in cc gcc c89 cpp c++ g++ ; do \
if [ -x $(STAGING_DIR)/bin/$(ARCH)-uclibc-$${app} ] ; then \ if [ -x $(STAGING_DIR)/bin/$(ARCH)-linux-$${app} ] ; then \
(cd $(STAGING_DIR)/usr/bin; \ (cd $(STAGING_DIR)/usr/bin; \
ln -fs ../../bin/$(ARCH)-uclibc-$${app} $${app}; \ ln -fs ../../bin/$(ARCH)-linux-$${app} $${app}; \
); \ ); \
fi; \ fi; \
done; done;
@ -250,6 +290,8 @@ $(TARGET_DIR)/lib/libstdc++.so.5.0.5: $(GCC_BUILD_DIR2)/.installed
$(TARGET_DIR)/lib/libgcc_s.so.0.9.9: $(GCC_BUILD_DIR2)/.installed $(TARGET_DIR)/lib/libgcc_s.so.0.9.9: $(GCC_BUILD_DIR2)/.installed
cp -a $(STAGING_DIR)/lib/libgcc_s.so* $(TARGET_DIR)/lib/ cp -a $(STAGING_DIR)/lib/libgcc_s.so* $(TARGET_DIR)/lib/
# Enable applications to link with the shared ligbcc.
ln -sf $(STAGING_DIR)/lib/libgcc_s.so $(STAGING_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/libgcc.so
ifeq ($(INSTALL_LIBSTDCPP),true) ifeq ($(INSTALL_LIBSTDCPP),true)
GCC_TARGETS= $(TARGET_DIR)/lib/libgcc_s.so.0.9.9 $(TARGET_DIR)/lib/libstdc++.so.5.0.5 GCC_TARGETS= $(TARGET_DIR)/lib/libgcc_s.so.0.9.9 $(TARGET_DIR)/lib/libstdc++.so.5.0.5
@ -259,7 +301,7 @@ endif
endif endif
gcc3_3: binutils uclibc-configured gcc3_3_initial uclibc \ gcc3_3: binutils uclibc-configured gcc3_3_initial $(LIBFLOAT_TARGET) uclibc \
$(GCC_BUILD_DIR2)/.installed $(GCC_TARGETS) $(GCC_BUILD_DIR2)/.installed $(GCC_TARGETS)
gcc3_3-clean: gcc3_3-clean:
@ -269,11 +311,6 @@ gcc3_3-clean:
gcc3_3-dirclean: gcc3_3-dirclean:
rm -rf $(GCC_BUILD_DIR2) rm -rf $(GCC_BUILD_DIR2)
############################################################# #############################################################
# #
# Next build target gcc compiler # Next build target gcc compiler
@ -281,8 +318,7 @@ gcc3_3-dirclean:
############################################################# #############################################################
GCC_BUILD_DIR3:=$(BUILD_DIR)/gcc-3.3-target GCC_BUILD_DIR3:=$(BUILD_DIR)/gcc-3.3-target
ifeq ($(HOST_ARCH),$(ARCH)) TARGET_GCC_ARGS= $(TARGET_CONFIGURE_OPTS) \
TARGET_GCC_ARGS=$(TARGET_CONFIGURE_OPTS) \
AR_FOR_BUILD=ar \ AR_FOR_BUILD=ar \
AS_FOR_BUILD=as \ AS_FOR_BUILD=as \
LD_FOR_BUILD=ld \ LD_FOR_BUILD=ld \
@ -296,30 +332,13 @@ TARGET_GCC_ARGS=$(TARGET_CONFIGURE_OPTS) \
AS_FOR_TARGET=$(TARGET_CROSS)as \ AS_FOR_TARGET=$(TARGET_CROSS)as \
LD_FOR_TARGET=$(TARGET_CROSS)ld \ LD_FOR_TARGET=$(TARGET_CROSS)ld \
NM_FOR_TARGET=$(TARGET_CROSS)nm \ NM_FOR_TARGET=$(TARGET_CROSS)nm \
CC_FOR_TARGET=$(TARGET_CROSS)gcc \ CC="$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) -isystem $(STAGING_DIR)/include" \
GCC_FOR_TARGET=$(TARGET_CROSS)gcc \ GCC="$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) -isystem $(STAGING_DIR)/include" \
CXX_FOR_TARGET=$(TARGET_CROSS)g++ \ CXX="$(TARGET_CROSS)g++$(TARGET_SOFT_FLOAT) -isystem $(STAGING_DIR)/include" \
CC_FOR_TARGET="$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) -isystem $(STAGING_DIR)/include" \
GCC_FOR_TARGET="$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) -isystem $(STAGING_DIR)/include" \
CXX_FOR_TARGET="$(TARGET_CROSS)g++$(TARGET_SOFT_FLOAT) -isystem $(STAGING_DIR)/include" \
RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib
else
TARGET_GCC_ARGS=\
AR_FOR_BUILD=ar \
AS_FOR_BUILD=as \
LD_FOR_BUILD=ld \
NM_FOR_BUILD=nm \
RANLIB_FOR_BUILD=ranlib \
HOST_CC=$(HOSTCC) \
CC_FOR_BUILD=$(HOSTCC) \
GCC_FOR_BUILD=$(HOSTCC) \
CXX_FOR_BUILD=$(HOSTCC) \
AR_FOR_TARGET=$(TARGET_CROSS)ar \
AS_FOR_TARGET=$(TARGET_CROSS)as \
LD_FOR_TARGET=$(TARGET_CROSS)ld \
NM_FOR_TARGET=$(TARGET_CROSS)nm \
CC_FOR_TARGET=$(TARGET_CROSS)gcc \
GCC_FOR_TARGET=$(TARGET_CROSS)gcc \
CXX_FOR_TARGET=$(TARGET_CROSS)g++ \
RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib
endif
# We need to unpack a pristine source tree to avoid some of # We need to unpack a pristine source tree to avoid some of
# the previously applied hacks, which do not apply here... # the previously applied hacks, which do not apply here...
@ -331,6 +350,9 @@ $(GCC_BUILD_DIR3)/.unpacked: $(DL_DIR)/$(GCC_SOURCE)
$(GCC_BUILD_DIR3)/.patched: $(GCC_BUILD_DIR3)/.unpacked $(GCC_BUILD_DIR3)/.patched: $(GCC_BUILD_DIR3)/.unpacked
# Apply any files named gcc-*.patch from the source directory to gcc # Apply any files named gcc-*.patch from the source directory to gcc
$(SOURCE_DIR)/patch-kernel.sh $(GCC_BUILD_DIR3) $(SOURCE_DIR) gcc-*.patch $(SOURCE_DIR)/patch-kernel.sh $(GCC_BUILD_DIR3) $(SOURCE_DIR) gcc-*.patch
ifeq ("$(strip $(ARCH))","i386")
$(SOURCE_DIR)/patch-kernel.sh $(GCC_BUILD_DIR3) $(SOURCE_DIR) i386-gcc-*.patch
endif
touch $(GCC_BUILD_DIR3)/.patched touch $(GCC_BUILD_DIR3)/.patched
$(GCC_BUILD_DIR3)/.gcc3_3_build_hacks: $(GCC_BUILD_DIR3)/.patched $(GCC_BUILD_DIR3)/.gcc3_3_build_hacks: $(GCC_BUILD_DIR3)/.patched
@ -360,20 +382,23 @@ $(GCC_BUILD_DIR3)/.gcc3_3_build_hacks: $(GCC_BUILD_DIR3)/.patched
$(GCC_BUILD_DIR3)/.configured: $(GCC_BUILD_DIR3)/.gcc3_3_build_hacks $(GCC_BUILD_DIR3)/.configured: $(GCC_BUILD_DIR3)/.gcc3_3_build_hacks
mkdir -p $(GCC_BUILD_DIR3) mkdir -p $(GCC_BUILD_DIR3)
(cd $(GCC_BUILD_DIR3); ln -fs $(ARCH)-linux build-$(GNU_TARGET_NAME)) #(cd $(GCC_BUILD_DIR3); ln -fs $(ARCH)-linux build-$(GNU_TARGET_NAME))
(cd $(GCC_BUILD_DIR3); \ (cd $(GCC_BUILD_DIR3); \
$(TARGET_GCC_ARGS) \ $(TARGET_GCC_ARGS) \
gcc_cv_as_hidden=no \
./configure \ ./configure \
--verbose \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \
--build=$(ARCH)-linux \ --build=`./config.guess` \
--prefix=/usr \ --prefix=/usr \
--mandir=/usr/man \ --mandir=/usr/man \
--infodir=/usr/info \ --infodir=/usr/info \
--with-gxx-include-dir=/usr/include/c++/3.3 \ --with-gxx-include-dir=/usr/include/c++/3.3 \
--enable-target-optspace \
--enable-shared \ --enable-shared \
$(MULTILIB) \ $(MULTILIB) \
--enable-target-optspace $(DISABLE_NLS) \ $(DISABLE_NLS) \
--with-gnu-ld --disable-__cxa_atexit \ --with-gnu-ld --disable-__cxa_atexit \
--enable-languages=$(TARGET_LANGUAGES) \ --enable-languages=$(TARGET_LANGUAGES) \
$(EXTRA_GCC_CONFIG_OPTIONS) \ $(EXTRA_GCC_CONFIG_OPTIONS) \
@ -402,17 +427,27 @@ $(TARGET_DIR)/usr/bin/gcc: $(GCC_BUILD_DIR3)/.compiled
#-cp -a $(STAGING_DIR)/include/c++ $(TARGET_DIR)/usr/include/ #-cp -a $(STAGING_DIR)/include/c++ $(TARGET_DIR)/usr/include/
-mv $(TARGET_DIR)/lib/*.a $(TARGET_DIR)/usr/lib/ -mv $(TARGET_DIR)/lib/*.a $(TARGET_DIR)/usr/lib/
-mv $(TARGET_DIR)/lib/*.la $(TARGET_DIR)/usr/lib/ -mv $(TARGET_DIR)/lib/*.la $(TARGET_DIR)/usr/lib/
rm -f $(TARGET_DIR)/lib/libstdc++.so rm -f $(TARGET_DIR)/lib/libstdc++.so*
-(cd $(TARGET_DIR)/usr/lib; ln -fs /lib/libstdc++.so.5.0.5 libstdc++.so)
# A nasty hack to work around g++ adding -lgcc_eh to the link # A nasty hack to work around g++ adding -lgcc_eh to the link
-(cd $(TARGET_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/ ; ln -s libgcc.a libgcc_eh.a) -(cd $(TARGET_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/ ; ln -s libgcc.a libgcc_eh.a)
# Make sure gcc does not think we are cross compiling # Make sure gcc does not think we are cross compiling
perl -i -p -e "s/^1/0/;" $(TARGET_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/specs perl -i -p -e "s/^1/0/;" $(TARGET_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/specs
-(cd $(TARGET_DIR)/bin; find -type f | xargs $(STRIP) > /dev/null 2>&1) -(cd $(TARGET_DIR)/bin; find -type f | xargs $(STRIP) > /dev/null 2>&1)
-(cd $(TARGET_DIR)/usr/bin; find -type f | xargs $(STRIP) > /dev/null 2>&1) -(cd $(TARGET_DIR)/usr/bin; find -type f | xargs $(STRIP) > /dev/null 2>&1)
-(cd $(TARGET_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION); $(STRIP) cc1 cc1plus collect2 > /dev/null 2>&1)
-(cd $(TARGET_DIR)/usr/lib; $(STRIP) libstdc++.so.*.*.* > /dev/null 2>&1)
-(cd $(TARGET_DIR)/lib; $(STRIP) libgcc_s.so.*.*.* > /dev/null 2>&1)
#
rm -f $(TARGET_DIR)/usr/lib/*.la* rm -f $(TARGET_DIR)/usr/lib/*.la*
rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \ rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
$(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
# Work around problem of missing syslimits.h
cp -f $(STAGING_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/include/syslimits.h $(TARGET_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/include/
# Enable applications to find the shared libgcc when linking (on target).
ln -sf $(TARGET_DIR)/lib/libgcc_s.so $(TARGET_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/libgcc.so
(cd $(TARGET_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION) ; ln -sf /lib/libgcc_s.so libgcc.so)
# These are in /lib, so...
rm -rf $(TARGET_DIR)/usr/lib/libgcc_s.so*
touch -c $(TARGET_DIR)/usr/bin/gcc touch -c $(TARGET_DIR)/usr/bin/gcc
gcc3_3_target: uclibc_target binutils_target $(TARGET_DIR)/usr/bin/gcc gcc3_3_target: uclibc_target binutils_target $(TARGET_DIR)/usr/bin/gcc

View File

@ -21,6 +21,7 @@ $(GDB_DIR)/.unpacked: $(DL_DIR)/$(GDB_SOURCE) $(GDB_PATCH)
$(GDB_DIR)/.configured: $(GDB_DIR)/.unpacked $(GDB_DIR)/.configured: $(GDB_DIR)/.unpacked
(cd $(GDB_DIR); rm -rf config.cache; \ (cd $(GDB_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
ac_cv_type_uintptr_t=yes \ ac_cv_type_uintptr_t=yes \
gt_cv_func_gettext_libintl=yes \ gt_cv_func_gettext_libintl=yes \
ac_cv_func_dcgettext=yes \ ac_cv_func_dcgettext=yes \

View File

@ -22,6 +22,7 @@ $(GNUGREP_DIR)/.unpacked: $(DL_DIR)/$(GNUGREP_SOURCE)
$(GNUGREP_DIR)/.configured: $(GNUGREP_DIR)/.unpacked $(GNUGREP_DIR)/.configured: $(GNUGREP_DIR)/.unpacked
(cd $(GNUGREP_DIR); rm -rf config.cache; \ (cd $(GNUGREP_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \

56
make/libfloat.mk Normal file
View File

@ -0,0 +1,56 @@
#############################################################
#
# libfloat
#
#############################################################
LIBFLOAT_SOURCE:=libfloat_990616.orig.tar.gz
LIBFLOAT_PATCH:=libfloat_990616-3.diff.gz
LIBFLOAT_SITE:=http://ftp.debian.org/debian/pool/main/libf/libfloat
LIBFLOAT_CAT:=zcat
LIBFLOAT_DIR:=$(BUILD_DIR)/libfloat
LIBFLOAT_TARGET=
ifneq ("$(strip $(TARGET_SOFT_FLOAT))","")
ifeq ("$(strip $(ARCH))","arm")
LIBFLOAT_TARGET+=$(STAGING_DIR)/lib/libfloat.so
endif
endif
$(DL_DIR)/$(LIBFLOAT_SOURCE):
$(WGET) -P $(DL_DIR) $(LIBFLOAT_SITE)/$(LIBFLOAT_SOURCE)
$(DL_DIR)/$(LIBFLOAT_PATCH):
$(WGET) -P $(DL_DIR) $(LIBFLOAT_SITE)/$(LIBFLOAT_PATCH)
libfloat-source: $(DL_DIR)/$(LIBFLOAT_SOURCE) $(DL_DIR)/$(LIBFLOAT_PATCH)
$(LIBFLOAT_DIR)/.unpacked: $(DL_DIR)/$(LIBFLOAT_SOURCE) $(DL_DIR)/$(LIBFLOAT_PATCH)
$(LIBFLOAT_CAT) $(DL_DIR)/$(LIBFLOAT_SOURCE) | tar -C $(BUILD_DIR) -xvf -
# Remove the binary files distributed with the the package.
make -C $(LIBFLOAT_DIR) clean
$(SOURCE_DIR)/patch-kernel.sh $(LIBFLOAT_DIR) $(DL_DIR) $(LIBFLOAT_PATCH)
$(SOURCE_DIR)/patch-kernel.sh $(LIBFLOAT_DIR) $(SOURCE_DIR) libfloat.patch
touch $(LIBFLOAT_DIR)/.unpacked
$(LIBFLOAT_DIR)/libfloat.so.1: $(LIBFLOAT_DIR)/.unpacked \
$(STAGING_DIR)/bin/$(ARCH)-linux-gcc
$(MAKE) CC=$(TARGET_CC) LD=$(TARGET_CROSS)ld -C $(LIBFLOAT_DIR)
$(STAGING_DIR)/lib/libfloat.so: $(LIBFLOAT_DIR)/libfloat.so.1
cp -a $(LIBFLOAT_DIR)/libfloat.a $(STAGING_DIR)/lib/libfloat.a
cp -a $(LIBFLOAT_DIR)/libfloat.so.1 $(STAGING_DIR)/lib/libfloat.so.1
(cd $(STAGING_DIR)/lib ; ln -sf libfloat.so.1 libfloat.so)
cp -a $(LIBFLOAT_DIR)/libfloat.a $(TARGET_DIR)/usr/lib/libfloat.a
cp -a $(LIBFLOAT_DIR)/libfloat.so.1 $(TARGET_DIR)/lib/libfloat.so.1
$(STRIP) $(TARGET_DIR)/lib/libfloat.so.1 > /dev/null 2>&1
(cd $(TARGET_DIR)/lib ; ln -sf libfloat.so.1 libfloat.so)
(cd $(TARGET_DIR)/usr/lib ; ln -sf /lib/libfloat.so libfloat.so)
libfloat: $(STAGING_DIR)/lib/libfloat.so
libfloat-clean:
-$(MAKE) -C $(LIBFLOAT_DIR) clean
libfloat-dirclean:
rm -rf $(LIBFLOAT_DIR)

View File

@ -22,6 +22,7 @@ $(LIBTOOL_DIR)/.unpacked: $(DL_DIR)/$(LIBTOOL_SOURCE)
$(LIBTOOL_DIR)/.configured: $(LIBTOOL_DIR)/.unpacked $(LIBTOOL_DIR)/.configured: $(LIBTOOL_DIR)/.unpacked
(cd $(LIBTOOL_DIR); rm -rf config.cache; \ (cd $(LIBTOOL_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \
@ -59,6 +60,7 @@ $(TARGET_DIR)/$(LIBTOOL_TARGET_BINARY): $(LIBTOOL_DIR)/$(LIBTOOL_BINARY)
mandir=$(TARGET_DIR)/usr/man \ mandir=$(TARGET_DIR)/usr/man \
includedir=$(TARGET_DIR)/usr/include \ includedir=$(TARGET_DIR)/usr/include \
-C $(LIBTOOL_DIR) install; -C $(LIBTOOL_DIR) install;
$(STRIP) $(TARGET_DIR)//usr/lib/libltdl.so.*.*.* > /dev/null 2>&1
perl -pi -e "s,^CC.*,CC=\"/usr/bin/gcc\"," $(TARGET_DIR)/usr/bin/libtool perl -pi -e "s,^CC.*,CC=\"/usr/bin/gcc\"," $(TARGET_DIR)/usr/bin/libtool
perl -pi -e "s,^LD.*,LD=\"/usr/bin/ld\"," $(TARGET_DIR)/usr/bin/libtool perl -pi -e "s,^LD.*,LD=\"/usr/bin/ld\"," $(TARGET_DIR)/usr/bin/libtool
rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \ rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \

View File

@ -22,6 +22,7 @@ $(M4_DIR)/.unpacked: $(DL_DIR)/$(M4_SOURCE)
$(M4_DIR)/.configured: $(M4_DIR)/.unpacked $(M4_DIR)/.configured: $(M4_DIR)/.unpacked
(cd $(M4_DIR); rm -rf config.cache; \ (cd $(M4_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \
@ -49,6 +50,7 @@ $(TARGET_DIR)/$(M4_TARGET_BINARY): $(M4_DIR)/src/$(M4_BINARY)
mandir=$(TARGET_DIR)/usr/man \ mandir=$(TARGET_DIR)/usr/man \
includedir=$(TARGET_DIR)/usr/include \ includedir=$(TARGET_DIR)/usr/include \
-C $(M4_DIR) install; -C $(M4_DIR) install;
$(STRIP) $(TARGET_DIR)/$(M4_TARGET_BINARY) > /dev/null 2>&1
rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \ rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
$(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc

View File

@ -22,6 +22,7 @@ $(GNUMAKE_DIR)/.unpacked: $(DL_DIR)/$(GNUMAKE_SOURCE)
$(GNUMAKE_DIR)/.configured: $(GNUMAKE_DIR)/.unpacked $(GNUMAKE_DIR)/.configured: $(GNUMAKE_DIR)/.unpacked
(cd $(GNUMAKE_DIR); rm -rf config.cache; \ (cd $(GNUMAKE_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \

View File

@ -5,7 +5,7 @@
# #
############################################################# #############################################################
# Copyright (C) 2002 by Ken Restivo <ken@246gt.com> # Copyright (C) 2002 by Ken Restivo <ken@246gt.com>
# $Id: ncurses.mk,v 1.27 2003/09/03 07:18:14 mjn3 Exp $ # $Id: ncurses.mk,v 1.28 2003/11/01 05:34:39 mjn3 Exp $
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Library General Public License as # it under the terms of the GNU Library General Public License as
@ -41,6 +41,7 @@ $(NCURSES_DIR)/.configured: $(NCURSES_DIR)/.dist
(cd $(NCURSES_DIR); rm -rf config.cache; \ (cd $(NCURSES_DIR); rm -rf config.cache; \
BUILD_CC=$(TARGET_CC) HOSTCC=$(HOSTCC) \ BUILD_CC=$(TARGET_CC) HOSTCC=$(HOSTCC) \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \

View File

@ -21,6 +21,7 @@ $(OPENSSH_DIR)/.configured: $(OPENSSH_DIR)/.unpacked
(cd $(OPENSSH_DIR); rm -rf config.cache; autoconf; \ (cd $(OPENSSH_DIR); rm -rf config.cache; autoconf; \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
LD=$(TARGET_CROSS)gcc \ LD=$(TARGET_CROSS)gcc \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \

View File

@ -16,6 +16,9 @@ $(DL_DIR)/$(OPENSSL_SOURCE):
$(OPENSSL_DIR)/.unpacked: $(DL_DIR)/$(OPENSSL_SOURCE) $(OPENSSL_PATCH) $(OPENSSL_DIR)/.unpacked: $(DL_DIR)/$(OPENSSL_SOURCE) $(OPENSSL_PATCH)
gunzip -c $(DL_DIR)/$(OPENSSL_SOURCE) | tar -C $(BUILD_DIR) -xvf - gunzip -c $(DL_DIR)/$(OPENSSL_SOURCE) | tar -C $(BUILD_DIR) -xvf -
cat $(OPENSSL_PATCH) | patch -p1 -d $(OPENSSL_DIR) cat $(OPENSSL_PATCH) | patch -p1 -d $(OPENSSL_DIR)
# sigh... we have to resort to this just to set a gcc flag.
perl -i -p -e 's,/CFLAG=,/CFLAG= $(TARGET_SOFT_FLOAT) ,g' \
$(OPENSSL_DIR)/Configure
touch $(OPENSSL_DIR)/.unpacked touch $(OPENSSL_DIR)/.unpacked
$(OPENSSL_DIR)/Makefile: $(OPENSSL_DIR)/.unpacked $(OPENSSL_DIR)/Makefile: $(OPENSSL_DIR)/.unpacked
@ -28,6 +31,9 @@ $(OPENSSL_DIR)/Makefile: $(OPENSSL_DIR)/.unpacked
$(OPENSSL_DIR)/apps/openssl: $(OPENSSL_DIR)/Makefile $(OPENSSL_DIR)/apps/openssl: $(OPENSSL_DIR)/Makefile
$(MAKE) CC=$(TARGET_CC) -C $(OPENSSL_DIR) all build-shared $(MAKE) CC=$(TARGET_CC) -C $(OPENSSL_DIR) all build-shared
# Work around openssl build bug to link libssl.so with libcrypto.so.
-rm $(OPENSSL_DIR)/libssl.so.*.*.*
$(MAKE) CC=$(TARGET_CC) -C $(OPENSSL_DIR) do_linux-shared
$(STAGING_DIR)/lib/libcrypto.a: $(OPENSSL_DIR)/apps/openssl $(STAGING_DIR)/lib/libcrypto.a: $(OPENSSL_DIR)/apps/openssl
$(MAKE) CC=$(TARGET_CC) INSTALL_PREFIX=$(STAGING_DIR) -C $(OPENSSL_DIR) install $(MAKE) CC=$(TARGET_CC) INSTALL_PREFIX=$(STAGING_DIR) -C $(OPENSSL_DIR) install
@ -40,24 +46,18 @@ $(STAGING_DIR)/lib/libcrypto.a: $(OPENSSL_DIR)/apps/openssl
(cd $(STAGING_DIR)/lib; ln -fs libssl.so.0.9.7 libssl.so) (cd $(STAGING_DIR)/lib; ln -fs libssl.so.0.9.7 libssl.so)
(cd $(STAGING_DIR)/lib; ln -fs libssl.so.0.9.7 libssl.so.0) (cd $(STAGING_DIR)/lib; ln -fs libssl.so.0.9.7 libssl.so.0)
$(TARGET_DIR)/lib/libcrypto.so.0.9.7: $(STAGING_DIR)/lib/libcrypto.a $(TARGET_DIR)/usr/lib/libcrypto.so.0.9.7: $(STAGING_DIR)/lib/libcrypto.a
cp -fa $(STAGING_DIR)/lib/libcrypto.so* $(TARGET_DIR)/lib/ cp -fa $(STAGING_DIR)/lib/libcrypto.so* $(TARGET_DIR)/usr/lib/
cp -fa $(STAGING_DIR)/lib/libssl.so* $(TARGET_DIR)/lib/ cp -fa $(STAGING_DIR)/lib/libssl.so* $(TARGET_DIR)/usr/lib/
#cp -fa $(STAGING_DIR)/bin/openssl $(TARGET_DIR)/bin/ #cp -fa $(STAGING_DIR)/bin/openssl $(TARGET_DIR)/bin/
-$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/lib/libssl.so.0.9.7
-$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/lib/libcrypto.so.0.9.7
$(TARGET_DIR)/usr/lib/libssl.a: $(STAGING_DIR)/lib/libcrypto.a $(TARGET_DIR)/usr/lib/libssl.a: $(STAGING_DIR)/lib/libcrypto.a
mkdir -p $(TARGET_DIR)/usr/include mkdir -p $(TARGET_DIR)/usr/include
cp -a $(STAGING_DIR)/include/openssl $(TARGET_DIR)/usr/include/ cp -a $(STAGING_DIR)/include/openssl $(TARGET_DIR)/usr/include/
cp -dpf $(STAGING_DIR)/lib/libssl.a $(TARGET_DIR)/usr/lib/ cp -dpf $(STAGING_DIR)/lib/libssl.a $(TARGET_DIR)/usr/lib/
cp -dpf $(STAGING_DIR)/lib/libcrypto.a $(TARGET_DIR)/usr/lib/ cp -dpf $(STAGING_DIR)/lib/libcrypto.a $(TARGET_DIR)/usr/lib/
rm -f $(TARGET_DIR)/lib/libcrypto.so
rm -f $(TARGET_DIR)/lib/libssl.so
(cd $(TARGET_DIR)/usr/lib; \
ln -fs /lib/libssl.so.0.9.7 libssl.so; \
ln -fs /lib/libcrypto.so.0.9.7 libcrypto.so; \
)
-$(STRIP) --strip-unneeded $(TARGET_DIR)/lib/libssl.so.0.9.7
-$(STRIP) --strip-unneeded $(TARGET_DIR)/lib/libcrypto.so.0.9.7
touch -c $(TARGET_DIR)/usr/lib/libssl.a touch -c $(TARGET_DIR)/usr/lib/libssl.a
openssl-headers: $(TARGET_DIR)/usr/lib/libssl.a openssl-headers: $(TARGET_DIR)/usr/lib/libssl.a
@ -71,5 +71,5 @@ openssl-clean:
openssl-dirclean: openssl-dirclean:
rm -rf $(OPENSSL_DIR) rm -rf $(OPENSSL_DIR)
openssl: uclibc $(TARGET_DIR)/lib/libcrypto.so.0.9.7 openssl: uclibc $(TARGET_DIR)/usr/lib/libcrypto.so.0.9.7

View File

@ -22,6 +22,7 @@ $(GNUPATCH_DIR)/.unpacked: $(DL_DIR)/$(GNUPATCH_SOURCE)
$(GNUPATCH_DIR)/.configured: $(GNUPATCH_DIR)/.unpacked $(GNUPATCH_DIR)/.configured: $(GNUPATCH_DIR)/.unpacked
(cd $(GNUPATCH_DIR); rm -rf config.cache; \ (cd $(GNUPATCH_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \

View File

@ -22,6 +22,7 @@ $(SED_DIR)/.unpacked: $(DL_DIR)/$(SED_SOURCE)
$(SED_DIR)/.configured: $(SED_DIR)/.unpacked $(SED_DIR)/.configured: $(SED_DIR)/.unpacked
(cd $(SED_DIR); rm -rf config.cache; \ (cd $(SED_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \

View File

@ -23,6 +23,7 @@ $(STRACE_DIR)/.unpacked: $(DL_DIR)/$(STRACE_SOURCE)
$(STRACE_DIR)/.configured: $(STRACE_DIR)/.unpacked $(STRACE_DIR)/.configured: $(STRACE_DIR)/.unpacked
(cd $(STRACE_DIR); rm -rf config.cache; \ (cd $(STRACE_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \
@ -46,6 +47,7 @@ $(STRACE_DIR)/strace: $(STRACE_DIR)/.configured
$(TARGET_DIR)/usr/bin/strace: $(STRACE_DIR)/strace $(TARGET_DIR)/usr/bin/strace: $(STRACE_DIR)/strace
install -c $(STRACE_DIR)/strace $(TARGET_DIR)/usr/bin/strace install -c $(STRACE_DIR)/strace $(TARGET_DIR)/usr/bin/strace
$(STRIP) $(TARGET_DIR)/usr/bin/strace > /dev/null 2>&1
strace: uclibc $(TARGET_DIR)/usr/bin/strace strace: uclibc $(TARGET_DIR)/usr/bin/strace

View File

@ -22,6 +22,7 @@ $(GNUTAR_DIR)/.unpacked: $(DL_DIR)/$(GNUTAR_SOURCE)
$(GNUTAR_DIR)/.configured: $(GNUTAR_DIR)/.unpacked $(GNUTAR_DIR)/.configured: $(GNUTAR_DIR)/.unpacked
(cd $(GNUTAR_DIR); rm -rf config.cache; \ (cd $(GNUTAR_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \ ./configure \
--target=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \

View File

@ -33,10 +33,11 @@ $(TINYLOGIN_DIR)/Config.h: $(DL_DIR)/$(TINYLOGIN_SOURCE)
touch $(TINYLOGIN_DIR)/Config.h touch $(TINYLOGIN_DIR)/Config.h
$(TINYLOGIN_DIR)/tinylogin: $(TINYLOGIN_DIR)/Config.h $(TINYLOGIN_DIR)/tinylogin: $(TINYLOGIN_DIR)/Config.h
$(MAKE) CROSS="$(TARGET_CROSS)" -C $(TINYLOGIN_DIR) $(MAKE) CC=$(TARGET_CC) CROSS="$(TARGET_CROSS)" -C $(TINYLOGIN_DIR)
$(TARGET_DIR)/bin/tinylogin: $(TINYLOGIN_DIR)/tinylogin $(TARGET_DIR)/bin/tinylogin: $(TINYLOGIN_DIR)/tinylogin
$(MAKE) CROSS="$(TARGET_CROSS)" PREFIX="$(TARGET_DIR)" -C $(TINYLOGIN_DIR) install $(MAKE) CC=$(TARGET_CC) CROSS="$(TARGET_CROSS)" \
PREFIX="$(TARGET_DIR)" -C $(TINYLOGIN_DIR) install
tinylogin: uclibc $(TARGET_DIR)/bin/tinylogin tinylogin: uclibc $(TARGET_DIR)/bin/tinylogin

View File

@ -44,10 +44,14 @@ endif
perl -i -p -e 's,^SHARED_LIB_LOADER_PATH=.*,SHARED_LIB_LOADER_PATH=\"/lib\",g' \ perl -i -p -e 's,^SHARED_LIB_LOADER_PATH=.*,SHARED_LIB_LOADER_PATH=\"/lib\",g' \
$(UCLIBC_DIR)/.config $(UCLIBC_DIR)/.config
perl -i -p -e 's,.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y\nUCLIBC_HAS_LOCALE=n,g' \ perl -i -p -e 's,.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y\nUCLIBC_HAS_LOCALE=n,g' \
$(UCLIBC_DIR)/.config $(UCLIBC_DIR)/.conf
perl -i -p -e 's,^GCC_BIN.*,GCC_BIN=$(STAGING_DIR)/bin/$(ARCH)-uclibc-gcc,g' \ if [ -n "$(strip $(TARGET_SOFT_FLOAT))" ] ; then \
perl -i -p -e 's,.*HAS_FPU.*,# HAS_FPU is not set\nUCLIBC_HAS_SOFT_FLOAT=y,g' \
$(UCLIBC_DIR)/.config; \
fi
perl -i -p -e 's,^GCC_BIN.*,GCC_BIN=$(STAGING_DIR)/bin/$(ARCH)-linux-gcc,g' \
$(UCLIBC_DIR)/extra/gcc-uClibc/Makefile $(UCLIBC_DIR)/extra/gcc-uClibc/Makefile
perl -i -p -e 's,^LD_BIN.*,LD_BIN=$(STAGING_DIR)/bin/$(ARCH)-uclibc-ld,g' \ perl -i -p -e 's,^LD_BIN.*,LD_BIN=$(STAGING_DIR)/bin/$(ARCH)-linux-ld,g' \
$(UCLIBC_DIR)/extra/gcc-uClibc/Makefile $(UCLIBC_DIR)/extra/gcc-uClibc/Makefile
$(MAKE) -C $(UCLIBC_DIR) oldconfig $(MAKE) -C $(UCLIBC_DIR) oldconfig
$(MAKE) -C $(UCLIBC_DIR) pregen $(MAKE) -C $(UCLIBC_DIR) pregen
@ -55,7 +59,7 @@ endif
$(MAKE) -C $(UCLIBC_DIR) install_dev; $(MAKE) -C $(UCLIBC_DIR) install_dev;
touch $(UCLIBC_DIR)/.configured touch $(UCLIBC_DIR)/.configured
$(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/.configured $(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/.configured $(LIBFLOAT_TARGET)
$(MAKE) -C $(UCLIBC_DIR) $(MAKE) -C $(UCLIBC_DIR)
$(STAGING_DIR)/lib/libc.a: $(UCLIBC_DIR)/lib/libc.a $(STAGING_DIR)/lib/libc.a: $(UCLIBC_DIR)/lib/libc.a
@ -77,7 +81,7 @@ endif
uclibc-configured: $(UCLIBC_DIR)/.configured uclibc-configured: $(UCLIBC_DIR)/.configured
uclibc: $(STAGING_DIR)/bin/$(ARCH)-uclibc-gcc $(STAGING_DIR)/lib/libc.a \ uclibc: $(STAGING_DIR)/bin/$(ARCH)-linux-gcc $(STAGING_DIR)/lib/libc.a \
$(UCLIBC_TARGETS) $(UCLIBC_TARGETS)
uclibc-clean: uclibc-clean:
@ -112,6 +116,18 @@ $(TARGET_DIR)/usr/lib/libc.a: $(STAGING_DIR)/lib/libc.a
ln -fs /lib/libm.so.0 libm.so; \ ln -fs /lib/libm.so.0 libm.so; \
ln -fs /lib/libpthread.so.0 libpthread.so; \ ln -fs /lib/libpthread.so.0 libpthread.so; \
ln -fs /lib/libnsl.so.0 libnsl.so; \ ln -fs /lib/libnsl.so.0 libnsl.so; \
\
ln -fs /lib/libthread_db.so.1 libthread_db.so; \
rm -f ld-uClibc-0.9.21.so; \
rm -f libcrypt-0.9.21.so; \
rm -f libdl-0.9.21.so; \
rm -f libm-0.9.21.so; \
rm -f libnsl-0.9.21.so; \
rm -f libpthread-0.9.21.so; \
rm -f libresolv-0.9.21.so; \
rm -f libuClibc-0.9.21.so; \
rm -f libutil-0.9.21.so; \
rm -f libthread_db-0.9.21.so; \
) )
ifeq ($(USE_UCLIBC_TOOLCHAIN),true) ifeq ($(USE_UCLIBC_TOOLCHAIN),true)

View File

@ -6,12 +6,10 @@
ZLIB_SOURCE=zlib-1.1.4.tar.bz2 ZLIB_SOURCE=zlib-1.1.4.tar.bz2
ZLIB_SITE=http://aleron.dl.sourceforge.net/sourceforge/libpng ZLIB_SITE=http://aleron.dl.sourceforge.net/sourceforge/libpng
ZLIB_DIR=$(BUILD_DIR)/zlib-1.1.4 ZLIB_DIR=$(BUILD_DIR)/zlib-1.1.4
ZLIB_CFLAGS= $(TARGET_CFLAGS) -fPIC
ifeq ($(strip $(BUILD_WITH_LARGEFILE)),true) ifeq ($(strip $(BUILD_WITH_LARGEFILE)),true)
ZLIB_CFLAGS=-Os -g -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 ZLIB_CFLAGS+= -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
else
ZLIB_CFLAGS=-Os -g
endif endif
ZLIB_CFLAGS+=-fPIC
$(DL_DIR)/$(ZLIB_SOURCE): $(DL_DIR)/$(ZLIB_SOURCE):
$(WGET) -P $(DL_DIR) $(ZLIB_SITE)/$(ZLIB_SOURCE) $(WGET) -P $(DL_DIR) $(ZLIB_SITE)/$(ZLIB_SOURCE)

View File

@ -0,0 +1,24 @@
diff -urN dropbear-0.38/libtomcrypt/makefile dropbear-0.38-new/libtomcrypt/makefile
--- dropbear-0.38/libtomcrypt/makefile 2003-09-24 05:22:44.000000000 -0500
+++ dropbear-0.38-new/libtomcrypt/makefile 2003-10-29 23:39:57.000000000 -0600
@@ -103,7 +103,7 @@
$(LIBNAME): $(OBJECTS)
$(AR) $(ARFLAGS) $@ $(OBJECTS)
- ranlib $(LIBNAME)
+ $(RANLIB) $(LIBNAME)
#This rule makes the test program included with libtomcrypt
test: library $(TESTOBJECTS)
diff -urN dropbear-0.38/libtommath/makefile dropbear-0.38-new/libtommath/makefile
--- dropbear-0.38/libtommath/makefile 2003-09-24 03:55:34.000000000 -0500
+++ dropbear-0.38-new/libtommath/makefile 2003-10-29 23:40:18.000000000 -0600
@@ -48,7 +48,7 @@
libtommath.a: $(OBJECTS)
$(AR) $(ARFLAGS) libtommath.a $(OBJECTS)
- ranlib libtommath.a
+ $(RANLIB) libtommath.a
install: libtommath.a
install -d -g root -o root $(DESTDIR)$(LIBPATH)

View File

@ -0,0 +1,14 @@
diff -urN gcc-3.3.2-orig/gcc/mklibgcc.in gcc-3.3.2/gcc/mklibgcc.in
--- gcc-3.3.2-orig/gcc/mklibgcc.in 2003-09-08 19:37:34.000000000 -0500
+++ gcc-3.3.2/gcc/mklibgcc.in 2003-10-22 02:27:34.000000000 -0500
@@ -296,7 +296,9 @@
libgcc_a_objs="$libgcc_objs $libgcc_st_objs"
- if [ "@libgcc_visibility@" = yes -a "$SHLIB_LINK" ]; then
+ #if [ "@libgcc_visibility@" = yes -a "$SHLIB_LINK" ]; then
+ if [ "@libgcc_visibility@" = I_AM_DISABLED -a "$SHLIB_LINK" ]; then
+ echo "OUCH!!!!! : @libgcc_visibility@ : $SHLIB_LINK : OUCH!!!!!"
libgcc_a_objs=
echo ""
for o in $libgcc_objs $libgcc_st_objs; do

View File

@ -0,0 +1,14 @@
--- gcc-3.3.2/libstdc++-v3/testsuite/Makefile.in.dist 2003-10-26 00:07:43.000000000 -0500
+++ gcc-3.3.2/libstdc++-v3/testsuite/Makefile.in 2003-10-26 00:06:35.000000000 -0500
@@ -204,9 +204,9 @@
PROGRAMS = $(noinst_PROGRAMS)
abi_check_OBJECTS = abi_check.$(OBJEXT)
-abi_check_LDADD = $(LDADD)
+abi_check_LDADD = -lstdc++ $(LDADD)
abi_check_DEPENDENCIES =
-abi_check_LDFLAGS =
+abi_check_LDFLAGS = -L../src
CXXFLAGS = @CXXFLAGS@
CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)

View File

@ -0,0 +1,61 @@
diff -urN gcc-3.3.2-orig/gcc/config/i386/i386.h gcc-3.3.2/gcc/config/i386/i386.h
--- gcc-3.3.2-orig/gcc/config/i386/i386.h 2003-06-25 16:18:31.000000000 -0500
+++ gcc-3.3.2/gcc/config/i386/i386.h 2003-10-22 01:46:57.000000000 -0500
@@ -653,6 +653,7 @@
/* Define for XFmode or TFmode extended real floating point support.
The XFmode is specified by i386 ABI, while TFmode may be faster
due to alignment and simplifications in the address calculations. */
+#if 0
#define LONG_DOUBLE_TYPE_SIZE (TARGET_128BIT_LONG_DOUBLE ? 128 : 96)
#define MAX_LONG_DOUBLE_TYPE_SIZE 128
#ifdef __x86_64__
@@ -660,6 +661,17 @@
#else
#define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 96
#endif
+#else
+ /* Set up for x86 soft float with 64-bit long doubles, since that's
+ * all the soft float emulation supports. */
+#define LONG_DOUBLE_TYPE_SIZE (TARGET_128BIT_LONG_DOUBLE ? 128 : (TARGET_80387 ? 96 : 64))
+#define MAX_LONG_DOUBLE_TYPE_SIZE 128
+#ifdef __x86_64__
+#define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 128
+#else
+#define LIBGCC2_LONG_DOUBLE_TYPE_SIZE (TARGET_80387 ? 96 : 64)
+#endif
+#endif
/* Set the value of FLT_EVAL_METHOD in float.h. When using only the
FPU, assume that the fpcw is set to extended precision; when using
diff -urN gcc-3.3.2-orig/gcc/config/t-linux gcc-3.3.2/gcc/config/t-linux
--- gcc-3.3.2-orig/gcc/config/t-linux 2003-06-04 11:56:11.000000000 -0500
+++ gcc-3.3.2/gcc/config/t-linux 2003-10-22 01:46:39.000000000 -0500
@@ -14,3 +14,28 @@
LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c \
$(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c
+
+##############################################
+# We want fine grained libraries, so use the new code to build the
+# floating point emulation libraries.
+FPBIT = fp-bit.c
+DPBIT = dp-bit.c
+
+#LIB2FUNCS_EXTRA = xp-bit.c
+
+dp-bit.c: $(srcdir)/config/fp-bit.c
+ echo '#ifdef __LITTLE_ENDIAN__' > dp-bit.c
+ echo '#define FLOAT_BIT_ORDER_MISMATCH' >>dp-bit.c
+ echo '#endif' >> dp-bit.c
+ cat $(srcdir)/config/fp-bit.c >> dp-bit.c
+
+fp-bit.c: $(srcdir)/config/fp-bit.c
+ echo '#define FLOAT' > fp-bit.c
+ echo '#ifdef __LITTLE_ENDIAN__' >> fp-bit.c
+ echo '#define FLOAT_BIT_ORDER_MISMATCH' >>fp-bit.c
+ echo '#endif' >> fp-bit.c
+ cat $(srcdir)/config/fp-bit.c >> fp-bit.c
+
+#MULTILIB_OPTIONS = msoft-float
+#MULTILIB_DIRNAMES = soft-float
+

44
sources/libfloat.patch Normal file
View File

@ -0,0 +1,44 @@
diff -urN libfloat-dist/Makefile libfloat/Makefile
--- libfloat-dist/Makefile 2003-10-26 00:33:45.000000000 -0500
+++ libfloat/Makefile 2003-10-26 01:07:26.000000000 -0500
@@ -1,7 +1,6 @@
# Makefile for the Linux soft-float library
-CC=gcc -O2 -freg-struct-return -fomit-frame-pointer -D__LIBFLOAT__
-#CC=gcc -g -O2 -freg-struct-return -D__LIBFLOAT__
+CFLAGS= -O2 -freg-struct-return -fomit-frame-pointer -D__LIBFLOAT__
AR=ar
all: libfloat.a libfloat.so.1
@@ -12,24 +11,24 @@
libfloat.so.1: softfloat.os fplib_glue.os
rm -f libfloat.so.1
- gcc -shared -Wl,-soname,libfloat.so.1 softfloat.os fplib_glue.os -o libfloat.so.1
+ $(LD) -shared -soname=libfloat.so.1 softfloat.os fplib_glue.os -o libfloat.so.1
softfloat.o: softfloat/bits64/softfloat.c
- $(CC) -c -o softfloat.o -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c
+ $(CC) $(CFLAGS) -c -o softfloat.o -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c
fplib_glue.o: fplib_glue.S
- $(CC) -c -o fplib_glue.o fplib_glue.S
+ $(CC) $(CFLAGS) -c -o fplib_glue.o fplib_glue.S
softfloat.os: softfloat/bits64/softfloat.c
- $(CC) -fpic -c -o softfloat.os -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c
+ $(CC) $(CFLAGS) -fpic -c -o softfloat.os -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c
fplib_glue.os: fplib_glue.S
- $(CC) -fpic -c -o fplib_glue.os fplib_glue.S
+ $(CC) $(CFLAGS) -fpic -c -o fplib_glue.os fplib_glue.S
install: libfloat.a libfloat.so.1
cp -a libfloat.a $(DESTDIR)/usr/lib
- cp -a libfloat.so.1 $(DESTDIR)/usr/lib
- cd $(DESTDIR)/usr/lib; ln -s libfloat.so.1 libfloat.so
+ cp -a libfloat.so.1 $(DESTDIR)/lib
+ cd $(DESTDIR)/lib; ln -s libfloat.so.1 libfloat.so
#ldconfig
clean: