[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[PATCH 1/6] Add knobs to the extra things we need to tweak to bootstrap a uclibc toolchain



We may want to change the interface for some of these things later, but this is
a fairly minimal patch to open access to the things that we do need to get at.
---
 debian/rules.conf |   16 ++++++++--------
 debian/rules.defs |   15 +++++++++++++--
 debian/rules2     |   27 ++++++++++++++++-----------
 3 files changed, 37 insertions(+), 21 deletions(-)

diff --git a/debian/rules.conf b/debian/rules.conf
index 72c6fd8..e46b6a4 100644
--- a/debian/rules.conf
+++ b/debian/rules.conf
@@ -122,22 +122,22 @@ else
 endif
 
 # libc-dev dependencies
-libc_ver := 2.5
+libc_ver ?= 2.5
 ifeq ($(DEB_TARGET_ARCH_OS),linux)
   ifneq (,$(findstring $(DEB_TARGET_ARCH),alpha ia64))
-    LIBC_DEP = libc6.1
+    LIBC_DEP ?= libc6.1
   else
-    LIBC_DEP = libc6
+    LIBC_DEP ?= libc6
   endif
 else
   ifeq ($(DEB_TARGET_ARCH_OS),hurd)
-    LIBC_DEP = libc0.3
+    LIBC_DEP ?= libc0.3
   endif
   ifeq ($(DEB_TARGET_ARCH_OS),kfreebsd)
-    LIBC_DEP = libc0.1
+    LIBC_DEP ?= libc0.1
   endif
 endif
-LIBC_DEV_DEP = $(LIBC_DEP)-dev
+LIBC_DEV_DEP ?= $(LIBC_DEP)-dev
 
 # this is about Debian archs name, *NOT* GNU target triplet
 biarch_deb_map := \
@@ -486,8 +486,8 @@ endif
 control: control-file readme-bugs-file parameters-file copyright-file substvars-file versioned-files
 
 ifeq ($(DEB_CROSS),yes)
-  languages = c c++ objc objpp
-  addons = libgcc lib64gcc lib32gcc libcxx lib32cxx lib64cxx libn32cxx cdev c++dev libobjc objcdev objppdev gccxbase
+  languages ?= c c++ objc objpp
+  addons ?= libgcc lib64gcc lib32gcc libcxx lib32cxx lib64cxx libn32cxx cdev c++dev libobjc objcdev objppdev gccxbase
 else
   languages = ada c c++ fortran java objc objpp # pascal
   addons = gccbase cdev c++dev fdev libgcj libgcjdev gcjdoc libgnat libs \
diff --git a/debian/rules.defs b/debian/rules.defs
index d4ec4d8..24377d3 100644
--- a/debian/rules.defs
+++ b/debian/rules.defs
@@ -696,6 +696,13 @@ ifeq ($(extra_package),yes)
     with_cxxdev := no
   endif
 else
+  # dynamic libs ------------
+  with_shared := yes
+  with_shared := $(call envfilt, shared, , , $(with_shared))
+
+  # threads -----------------
+  with_threads ?= posix
+
   # libssp ------------------
   ifeq ($(with_ssp)-$(with_common_libs),yes-yes)
     ifneq ($(DEB_CROSS),yes)
@@ -729,7 +736,7 @@ else
   # Shared libgcc --------------------
   ifeq ($(with_common_libs),yes)
     with_libgcc := yes
-    with_shared_libgcc := yes
+    with_shared_libgcc := $(with_shared)
   endif
 
   # libgcc-math --------------------
@@ -1019,8 +1026,12 @@ ifeq ($(biarchn32),yes)
 				$(shell CC="gcc -mabi=n32" bash debian/runcheck.sh)))
 endif
 
+# multiarch
+with_multiarch := yes
+with_multiarch := $(call envfilt, multiarch, , , $(with_multiarch))
+
 # GNU locales
-force_gnu_locales := yes
+force_gnu_locales ?= yes
 locale_no_cpus := m68k
 locale_no_systems := knetbsd-gnu
 ifneq (,$(findstring $(DEB_TARGET_GNU_SYSTEM),$(locale_no_systems)))
diff --git a/debian/rules2 b/debian/rules2
index dbd8f72..6592e3a 100644
--- a/debian/rules2
+++ b/debian/rules2
@@ -117,15 +117,19 @@ CONFARGS = -v \
 CONFARGS += \
 	--enable-languages=$(subst $(SPACE),$(COMMA),$(enabled_languages)) \
 	--prefix=/$(PF) \
-	--enable-shared \
-	--enable-multiarch \
 	--with-system-zlib \
 
+ifeq ($(with_shared),yes)
+  CONFARGS += --enable-shared
+else
+  CONFARGS += --disable-shared
+endif
+
 ifneq ($(PKGSOURCE),gcc-snapshot)
   CONFARGS += \
         --libexecdir=/$(libexecdir) \
         --without-included-gettext \
-        --enable-threads=posix \
+        --enable-threads=$(with_threads) \
 	--with-gxx-include-dir=/$(cxx_inc_dir)
 endif
 
@@ -332,6 +336,10 @@ ifneq (,$(findstring s390-linux,$(DEB_TARGET_GNU_TYPE)))
   endif
 endif
 
+ifeq ($(with_multiarch),yes)
+  CONFARGS += --enable-multiarch
+endif
+
 ifeq ($(PKGSOURCE),gcc-snapshot)
   ifeq ($(findstring --disable-werror, $(CONFARGS)),)
     CONFARGS += --disable-werror
@@ -340,19 +348,16 @@ else
   CONFARGS += --enable-checking=release
 endif
 
-ifneq ($(DEB_CROSS),yes)
-  CONFARGS += \
-	--build=$(DEB_BUILD_GNU_TYPE) \
-	--host=$(DEB_HOST_GNU_TYPE) \
-	--target=$(TARGET_ALIAS)
-else
+ifeq ($(DEB_CROSS),yes)
   CONFARGS += \
 	--program-prefix=$(TARGET_ALIAS)- \
-	--includedir=/$(PF)/$(DEB_TARGET_GNU_TYPE)/include \
+	--includedir=/$(PF)/$(DEB_TARGET_GNU_TYPE)/include
+endif
+
+CONFARGS += \
 	--build=$(DEB_BUILD_GNU_TYPE) \
 	--host=$(DEB_HOST_GNU_TYPE) \
 	--target=$(TARGET_ALIAS)
-endif
 
 ifeq ($(with_bootstrap),)
   # no profiledbootstrap on the following architectures
-- 
1.6.3.3


Reply to: