summaryrefslogtreecommitdiff
path: root/debian/rules.defs
diff options
context:
space:
mode:
authordoko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>2015-05-21 14:21:58 +0000
committerdoko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>2015-05-21 14:21:58 +0000
commitec77424cac8c82e133bff919a44df974ce9d4916 (patch)
tree5ec1889c8219d44f03d69ecbaef01ebb5cc6e057 /debian/rules.defs
parent617cff02a1c5755ff4b6b347a480f170bd9e0357 (diff)
downloadgcc-5-ec77424cac8c82e133bff919a44df974ce9d4916.tar.gz
* Provide a rtlibs stage to build a subset of target library packages.
git-svn-id: svn://anonscm.debian.org/gcccvs/branches/sid/gcc-5@8054 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
Diffstat (limited to 'debian/rules.defs')
-rw-r--r--debian/rules.defs82
1 files changed, 75 insertions, 7 deletions
diff --git a/debian/rules.defs b/debian/rules.defs
index 81ab4a4..d7eedf2 100644
--- a/debian/rules.defs
+++ b/debian/rules.defs
@@ -268,6 +268,7 @@ ifneq ($(findstring nostrap, $(DEB_BUILD_OPTIONS)),)
with_bootstrap := off
endif
+DEB_STAGE=rtlibs
# -------------------------------------------------------------------
# stage options
ifdef DEB_STAGE
@@ -275,6 +276,7 @@ ifdef DEB_STAGE
separate_lang := yes
# "stage1" is minimal compiler with static libgcc
# "stage2" is minimal compiler with shared libgcc
+ # "rtlibs" is a subset of target libraries, without compilers
ifeq ($(DEB_STAGE),stage1)
with_shared_libgcc := no
endif
@@ -282,6 +284,13 @@ ifdef DEB_STAGE
with_libgcc := yes
with_shared_libgcc := yes
endif
+ ifeq ($(DEB_STAGE),rtlibs)
+ with_rtlibs := libgcc libgomp libstdc++ libgfortran libquadmath
+ ifeq ($(DEB_CROSS),yes)
+ LS :=
+ cross_lib_arch :=
+ endif
+ endif
endif
ifeq ($(BACKPORT),true)
@@ -450,7 +459,10 @@ multilib_multiarch_map = \
mlib_to_march = $(patsubst $(DEB_TARGET_ARCH)/$(1)=%,%, \
$(filter $(DEB_TARGET_ARCH)/$(1)=%,$(multilib_multiarch_map)))
-ifneq ($(DEB_STAGE),stage1)
+ifeq ($(DEB_STAGE),rtlibs)
+ with_gccbase := yes
+ with_gccxbase :=
+else ifneq ($(DEB_STAGE),stage1)
# build a -base package.
ifneq ($(DEB_CROSS),yes)
with_gccbase := yes
@@ -460,7 +472,9 @@ ifneq ($(DEB_STAGE),stage1)
endif
# build dev packages.
-with_dev := yes
+ifneq ($(DEB_STAGE),rtlibs)
+ with_dev := yes
+endif
with_cpp := yes
@@ -510,7 +524,9 @@ jit_no_cpus := none
ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(jit_no_cpus)))
with_jit := disabled for cpu $(DEB_TARGET_ARCH_CPU)
endif
-
+ifneq (,$(with_rtlibs))
+ with_jit := disabled for rtlibs stage
+endif
with_jit := $(call envfilt, jit, , , $(with_jit))
ifeq (,$(findstring gcc-,$(PKGSOURCE)))
@@ -528,6 +544,9 @@ ifeq ($(with_cc1),yes)
with_libcc1 := yes
endif
endif
+ifneq (,$(with_rtlibs))
+ with_libcc1 := disabled for rtlibs stage
+endif
# Build all packages needed for C development
ifneq ($(with_base_only),yes)
@@ -536,7 +555,7 @@ ifneq ($(with_base_only),yes)
endif
endif
-ifndef DEB_STAGE
+ifeq (,$(filter $(DEB_STAGE),stage1 stage2))
# Ada --------------------
ada_no_cpus := m32r sh3 sh3eb sh4 sh4eb
# no Debian builds ... some of these should exist
@@ -586,6 +605,11 @@ ifneq (,$(filter $(distrelease),lucid))
endif
with_ada := $(call envfilt, ada, , , $(with_ada))
+
+ifeq ($(DEB_STAGE)-$(filter libgnat, $(with_rtlibs)),rtlibs-)
+ with_ada := disabled for rtlibs stage
+endif
+
#ifneq ($(single_package),yes)
# with_separate_gnat := yes
#endif
@@ -710,6 +734,10 @@ ifeq ($(java_no_cross)-$(DEB_CROSS),yes-yes)
endif
with_java := $(call envfilt, java, , c++, $(with_java))
+ifeq ($(DEB_STAGE)-$(filter libgcj, $(with_rtlibs)),rtlibs-)
+ with_java := disabled for rtlibs stage
+endif
+
ifneq (,$(findstring gccgo, $(PKGSOURCE)))
with_java :=
endif
@@ -819,6 +847,9 @@ endif
ifeq ($(go_no_cross)-$(DEB_CROSS),yes-yes)
with_go := disabled for cross compiler package
endif
+ifeq ($(DEB_STAGE)-$(filter libgo, $(with_rtlibs)),rtlibs-)
+ with_go := disabled for rtlibs stage
+endif
with_go := $(call envfilt, go, , , $(with_go))
# Build all packages needed for Go development
@@ -864,6 +895,9 @@ endif
ifeq ($(d_no_snap)-$(single_package),yes-yes)
with_d := disabled for snapshot build
endif
+ifeq ($(DEB_STAGE)-$(filter libphobos, $(with_rtlibs)),rtlibs-)
+ with_d := disabled for rtlibs stage
+endif
with_d := $(call envfilt, d, , , $(with_d))
ifeq ($(with_base_only),yes)
@@ -915,12 +949,18 @@ endif
ifeq ($(fortran_no_cross)-$(DEB_CROSS),yes-yes)
with_fortran := disabled for cross compiler package
endif
+ifeq ($(DEB_STAGE)-$(filter libgfortran libquadmath, $(with_rtlibs)),rtlibs-)
+ with_fortran := disabled for rtlibs stage
+endif
+
with_fortran := $(call envfilt, fortran, , , $(with_fortran))
# Build all packages needed for Fortran development
ifeq ($(with_fortran),yes)
ifeq ($(with_dev),yes)
- with_fdev := yes
+ ifneq ($(DEB_STAGE)-$(filter libgfortran libquadmath, $(with_rtlibs)),rtlibs-)
+ with_fdev := yes
+ endif
endif
ifeq ($(with_common_libs),yes)
with_libgfortran := yes
@@ -957,6 +997,9 @@ endif
ifeq ($(objc_no_cross)-$(DEB_CROSS),yes-yes)
with_objc := disabled for cross compiler package
endif
+ifeq ($(DEB_STAGE)-$(filter libobjc, $(with_rtlibs)),rtlibs-)
+ with_objc := disabled for rtlibs stage
+endif
with_objc := $(call envfilt, objc, obj-c++, , $(with_objc))
ifeq ($(with_objc),yes)
@@ -1021,7 +1064,9 @@ with_nls := $(call envfilt, nls, , , $(with_nls))
with_libnof := no
ifneq (,$(findstring gcc-5,$(PKGSOURCE)))
- with_source := yes
+ ifeq (,$(with_rtlibs))
+ with_source := yes
+ endif
endif
with_source := $(call envfilt, source, , , $(with_source))
@@ -1149,8 +1194,11 @@ endif
# plugins --------------------
with_plugins := yes
+ifneq (,$(with_rtlibs))
+ with_plugins := disabled for rtlibs stage
+endif
-endif # ifndef DEB_STAGE
+endif # ifeq (,$(filter $(DEB_STAGE),stage1 stage2))
# Don't include docs with GFDL invariant sections
GFDL_INVARIANT_FREE := yes
@@ -1307,6 +1355,17 @@ else
endif
with_hppa64 := $(call envfilt, hppa64, , , $(with_hppa64))
+ ifeq ($(DEB_STAGE),rtlibs)
+ with_libatomic := disabled for rtlibs stage
+ with_libasan := disabled for rtlibs stage
+ with_liblsan := disabled for rtlibs stage
+ with_libtsan := disabled for rtlibs stage
+ with_libubsan := disabled for rtlibs stage
+ with_libcilkrts := disabled for rtlibs stage
+ with_fixincl := disabled for rtlibs stage
+ with_hppa64 := disabled for rtlibs stage
+ endif
+
# neon build -------------------
# FIXME: build as a cross compiler to build on armv4 as well
ifneq (,$(findstring gcc-5, $(PKGSOURCE)))
@@ -1332,6 +1391,9 @@ endif
ifneq (,$(findstring cross-build-,$(build_type)))
with_check := disabled for cross building the compiler
endif
+ifneq (,$(with_rtlibs))
+ with_check := disabled for rtlibs stage
+endif
check_no_cpus := m68k
check_no_systems := # gnu kfreebsd-gnu
ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(check_no_cpus)))
@@ -1874,6 +1936,12 @@ else
endif
endif
endif
+ifeq ($(DEB_STAGE),rtlibs)
+ define cross_mangle_shlibs
+ endef
+ define cross_mangle_substvars
+ endef
+endif
# takes a *list* of package names as $1, the multilib dirname as $2
_shlibdirs = \