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

Bug#863289: libada/libgnat now built with dpkg-buildflags



Package: src:gcc-7
Followup-For: Bug #863289
Control: tags -1 + patch

The attached commit reverts any dpkg-buildflags handling from the Ada patches.
The right way for the build to receive flags is *FLAGS_FOR_TARGET.
--- a/debian/patches/ada-gnattools-cross.diff
+++ b/debian/patches/ada-gnattools-cross.diff
@@ -13,9 +13,6 @@
 * Create libgnat-BV.so symbolic link, use it and -L to link libgnarl.
   This prevents undefined symbols or unwanted usage of host libgnat.
 * Compile with -gnatn, link with --as-needed -z defs.
-* Force addition of the build flags from dpkg-buildflags.
-  One day they may be transmitted via *FLAGS_FOR_TARGET,
-  but at least this allows to set noopt for the Ada components.
 * set LD_LIBRARY_PATH so that rebuilt tools can be executed.
 
 This patch depends on ada-libgnatvsn.diff.
@@ -225,7 +222,7 @@ Index: b/src/gnattools/Makefile.in
 ===================================================================
 --- a/src/gnattools/Makefile.in
 +++ b/src/gnattools/Makefile.in
-@@ -75,15 +75,24 @@
+@@ -75,15 +75,21 @@
   -L../../../$(target_noncanonical)/libstdc++-v3/libsupc++/.libs
  
  # Variables for gnattools, native
@@ -237,11 +234,8 @@ Index: b/src/gnattools/Makefile.in
  	"CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \
 -	"LDFLAGS=$(LDFLAGS)" \
 -	"ADAFLAGS=$(ADAFLAGS)" \
-+	"LDFLAGS=$(LDFLAGS) -Wl,--as-needed -Wl,-z,defs \
-+	  $(shell dpkg-buildflags --get LDFLAGS)" \
-+	"ADAFLAGS=$(ADAFLAGS) -gnatn \
-+	  $(filter-out -Wformat -Werror=format-security, \
-+	    $(subst -O3,-O2,$(shell dpkg-buildflags --get CFLAGS)))" \
++	"LDFLAGS=$(LDFLAGS) -Wl,--as-needed -Wl,-z,defs" \
++	"ADAFLAGS=$(ADAFLAGS) -gnatn" \
  	"ADA_CFLAGS=$(ADA_CFLAGS)" \
  	"INCLUDES=$(INCLUDES_FOR_SUBDIR)" \
 -	"ADA_INCLUDES=-I- -I../rts $(ADA_INCLUDES_FOR_SUBDIR)"\
--- a/debian/patches/ada-libgnatvsn.diff
+++ b/debian/patches/ada-libgnatvsn.diff
@@ -46,7 +46,7 @@
 +} | tee -a config.log
 --- /dev/null
 +++ b/src/libgnatvsn/Makefile.in
-@@ -0,0 +1,156 @@
+@@ -0,0 +1,150 @@
 +# Makefile for libgnatvsn.
 +#   Copyright (c) 2006 Ludovic Brenta <ludovic@ludovic-brenta.org>
 +#   Copyright (c) 2017 Nicolas Boulenguez <nicolas@debian.org>
@@ -126,12 +126,6 @@
 +cppflags += $(CPPFLAGS)
 +ldflags  += $(LDFLAGS)
 +
-+deb_cflags := $(subst -O3,-O2,$(shell dpkg-buildflags --get CFLAGS))
-+adaflags += $(filter-out -Wformat -Werror=format-security,$(deb_cflags))
-+cflags   += $(deb_cflags)
-+cppflags += $(shell dpkg-buildflags --get CPPFLAGS)
-+ldflags  += $(shell dpkg-buildflags --get LDFLAGS)
-+
 +# Link wanted Ada sources from source tree, so that gnat fails when new
 +# dependencies are missing in the current directory, instead of silently
 +# using the ones in the distant directory.
--- a/debian/patches/ada-link-lib.diff
+++ b/debian/patches/ada-link-lib.diff
@@ -61,29 +61,19 @@
  	-fexceptions -DIN_RTS @have_getipinfo@
  
  host_subdir = @host_subdir@
-@@ -78,14 +78,19 @@
- # a *target* library, aren't we?!?  Likewise for CC.  Still, provide bogus
- # definitions just in case something slips through the safety net provided
+@@ -78,10 +78,10 @@
  # by recursive make invocations in gcc/ada/Makefile.in
-+deb_cflags := $(subst -O3,-O2,$(shell dpkg-buildflags --get CFLAGS))
  LIBADA_FLAGS_TO_PASS = \
          "MAKEOVERRIDES=" \
 -        "LDFLAGS=$(LDFLAGS)" \
-+        "LDFLAGS=$(LDFLAGS) -Wl,--as-needed -Wl,-z,defs \
-+          $(shell dpkg-buildflags --get LDFLAGS)" \
++        "LDFLAGS=$(LDFLAGS) -Wl,--as-needed -Wl,-z,defs" \
          "LN_S=$(LN_S)" \
          "SHELL=$(SHELL)" \
 -        "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS)" \
-+        "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS) -gnatn \
-+          $(filter-out -Wformat -Werror=format-security,$(deb_cflags))" \
++        "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS) -gnatn" \
          "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \
--        "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \
-+        "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS) \
-+          $(deb_cflags) \
-+          $(shell dpkg-buildflags --get CPPFLAGS)" \
+         "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \
          "PICFLAG_FOR_TARGET=$(PICFLAG)" \
-         "THREAD_KIND=$(THREAD_KIND)" \
-         "TRACE=$(TRACE)" \
 @@ -122,7 +122,7 @@
  	$(MAKE) -C $(GCC_DIR)/ada $(LIBADA_FLAGS_TO_PASS) ./bldtools/oscons/xoscons
  
@@ -163,14 +153,12 @@
  # these tools are built using the target libraries, and are intended to
 --- a/src/gcc/ada/gcc-interface/Make-lang.in
 +++ b/src/gcc/ada/gcc-interface/Make-lang.in
-@@ -45,7 +45,9 @@
+@@ -45,7 +45,7 @@
  
  
  # Extra flags to pass to recursive makes.
 -COMMON_ADAFLAGS= -gnatpg
-+deb_cflags := $(subst -O3,-O2,$(shell dpkg-buildflags --get CFLAGS))
-+COMMON_ADAFLAGS= -gnatpgn \
-+  $(filter-out -Wformat -Werror=format-security,$(deb_cflags))
++COMMON_ADAFLAGS= -gnatpgn
  ifeq ($(TREECHECKING),)
  CHECKING_ADAFLAGS=
  else
@@ -186,23 +174,12 @@
  
  ALL_ADAFLAGS = \
    $(CFLAGS) $(ADA_CFLAGS) $(ADAFLAGS) $(CHECKING_ADAFLAGS) $(WARN_ADAFLAGS)
-@@ -98,7 +98,8 @@
- ada/adaint.o-warn = -Wno-error
- 
- ada/%.o: ada/gcc-interface/%.c
--	$(COMPILE) $<
-+	$(COMPILE) $< \
-+	  $(deb_cflags) $(shell dpkg-buildflags --get CPPFLAGS)
- 	$(POSTCOMPILE)
- 
- # Function that dumps the dependencies of an Ada object file by parsing the
-@@ -211,7 +211,8 @@
+@@ -211,7 +211,7 @@
  endif
  
  # Strip -Werror during linking for the LTO bootstrap
 -GCC_LINKERFLAGS = $(filter-out -Werror, $(ALL_LINKERFLAGS))
-+GCC_LINKERFLAGS = $(filter-out -Werror, $(ALL_LINKERFLAGS)) -Wl,--as-needed -Wl,-z,defs \
-+  $(shell dpkg-buildflags --get LDFLAGS)
++GCC_LINKERFLAGS = $(filter-out -Werror, $(ALL_LINKERFLAGS)) -Wl,--as-needed -Wl,-z,defs
  
  GCC_LINK=$(LINKER) $(GCC_LINKERFLAGS) $(LDFLAGS)
  GCC_LLINK=$(LLINKER) $(GCC_LINKERFLAGS) $(LDFLAGS)

Reply to: