~ubuntu-branches/debian/sid/gcc-4.8/sid

« back to all changes in this revision

Viewing changes to .svn/pristine/62/6289b94daecdd92b73e2abc099a5e62efa2d1cb6.svn-base

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2014-12-19 19:48:34 UTC
  • Revision ID: package-import@ubuntu.com-20141219194834-4dz1q7rrn5pad823
Tags: 4.8.4-1
* GCC 4.8.4 release.
  - Fix PR target/61407 (darwin), PR middle-end/58624 (ice),
    PR sanitizer/64265 (wrong code).
* Require recent binutils to pass go test failures.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
ifeq ($(with_libgo),yes)
 
2
  $(lib_binaries) += libgo
 
3
endif
 
4
ifeq ($(with_lib64go),yes)
 
5
  $(lib_binaries) += lib64go
 
6
endif
 
7
ifeq ($(with_lib32go),yes)
 
8
  $(lib_binaries) += lib32go
 
9
endif
 
10
ifeq ($(with_libn32go),yes)
 
11
  $(lib_binaries) += libn32go
 
12
endif
 
13
ifeq ($(with_libx32go),yes)
 
14
  $(lib_binaries) += libx32go
 
15
endif
 
16
 
 
17
arch_binaries  := $(arch_binaries) gccgo
 
18
ifneq (,$(filter yes, $(biarch64) $(biarch32) $(biarchn32) $(biarchx32)))
 
19
  arch_binaries  := $(arch_binaries) gccgo-multi
 
20
endif
 
21
ifneq ($(DEB_CROSS),yes)
 
22
  ifneq ($(GFDL_INVARIANT_FREE),yes)
 
23
    indep_binaries := $(indep_binaries) go-doc
 
24
  endif
 
25
endif
 
26
 
 
27
p_go    = gccgo$(pkg_ver)$(cross_bin_arch)
 
28
p_go_m  = gccgo$(pkg_ver)-multilib$(cross_bin_arch)
 
29
p_god   = gccgo$(pkg_ver)-doc
 
30
p_golib = libgo$(GO_SONAME)$(cross_lib_arch)
 
31
 
 
32
d_go    = debian/$(p_go)
 
33
d_go_m  = debian/$(p_go_m)
 
34
d_god   = debian/$(p_god)
 
35
d_golib = debian/$(p_golib)
 
36
 
 
37
dirs_go = \
 
38
        $(docdir)/$(p_xbase)/go \
 
39
        $(PF)/bin \
 
40
        $(gcc_lexec_dir) \
 
41
        $(gcc_lib_dir) \
 
42
        $(PF)/include \
 
43
        $(PF)/share/man/man1
 
44
files_go = \
 
45
        $(PF)/bin/$(cmd_prefix)gccgo$(pkg_ver) \
 
46
        $(gcc_lexec_dir)/go1
 
47
 
 
48
ifneq ($(GFDL_INVARIANT_FREE),yes)
 
49
  files_go += \
 
50
        $(PF)/share/man/man1/$(cmd_prefix)gccgo$(pkg_ver).1
 
51
endif
 
52
 
 
53
ifeq ($(with_standalone_go),yes)
 
54
 
 
55
  dirs_go += \
 
56
        $(gcc_lib_dir)/include \
 
57
        $(PF)/share/man/man1
 
58
 
 
59
# XXX: what about triarch mapping?
 
60
  files_go += \
 
61
        $(PF)/bin/{cpp,gcc,gcov}$(pkg_ver) \
 
62
        $(gcc_lexec_dir)/{collect2,lto1,lto-wrapper} \
 
63
        $(gcc_lexec_dir)/liblto_plugin.so{,.0,.0.0.0} \
 
64
        $(gcc_lib_dir)/{libgcc*,libgcov.a,*.o} \
 
65
        $(header_files) \
 
66
        $(shell test -e $(d)/$(gcc_lib_dir)/SYSCALLS.c.X \
 
67
                && echo $(gcc_lib_dir)/SYSCALLS.c.X)
 
68
 
 
69
  ifneq ($(GFDL_INVARIANT_FREE),yes)
 
70
    files_go += \
 
71
        $(PF)/share/man/man1/{cpp,gcc,gcov}$(pkg_ver).1
 
72
  endif
 
73
 
 
74
  ifeq ($(biarch64),yes)
 
75
    files_go += $(gcc_lib_dir)/$(biarch64subdir)/{libgcc*,libgcov.a,*.o}
 
76
  endif
 
77
  ifeq ($(biarch32),yes)
 
78
    files_go += $(gcc_lib_dir)/$(biarch32subdir)/{libgcc*,*.o}
 
79
  endif
 
80
  ifeq ($(biarchn32),yes)
 
81
    files_go += $(gcc_lib_dir)/$(biarchn32subdir)/{libgcc*,libgcov.a,*.o}
 
82
  endif
 
83
  ifeq ($(biarchx32),yes)
 
84
    files_go += $(gcc_lib_dir)/$(biarchx32subdir)/{libgcc*,libgcov.a,*.o}
 
85
  endif
 
86
endif
 
87
 
 
88
# ----------------------------------------------------------------------
 
89
define __do_gccgo
 
90
        dh_testdir
 
91
        dh_testroot
 
92
        mv $(install_stamp) $(install_stamp)-tmp
 
93
 
 
94
        rm -rf $(d_l) $(d_d)
 
95
        dh_installdirs -p$(p_l) $(usr_lib$(2))
 
96
        DH_COMPAT=2 dh_movefiles -p$(p_l) \
 
97
                $(usr_lib$(2))/libgo.so.* $(usr_lib$(2))/go
 
98
 
 
99
        debian/dh_doclink -p$(p_l) $(p_base)
 
100
        debian/dh_doclink -p$(p_d) $(p_base)
 
101
 
 
102
        dh_strip -p$(p_l) --dbg-package=$(p_d)
 
103
        dh_compress -p$(p_l) -p$(p_d)
 
104
        dh_fixperms -p$(p_l) -p$(p_d)
 
105
        $(cross_makeshlibs) dh_makeshlibs -p$(p_l)
 
106
        $(call cross_mangle_shlibs,$(p_l))
 
107
        $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \
 
108
                $(call shlibdirs_to_search, \
 
109
                        $(subst go$(GO_SONAME),gcc$(GCC_SONAME),$(p_l)) \
 
110
                        $(subst go$(GO_SONAME),atomic$(ATOMIC_SONAME),$(p_l)) \
 
111
                ,$(2))
 
112
        $(call cross_mangle_substvars,$(p_l))
 
113
        $(cross_gencontrol) dh_gencontrol -p$(p_l) -p$(p_d) \
 
114
                -- -v$(DEB_VERSION) $(common_substvars)
 
115
        $(call cross_mangle_control,$(p_l))
 
116
        dh_installdeb -p$(p_l) -p$(p_d)
 
117
        dh_md5sums -p$(p_l) -p$(p_d)
 
118
        dh_builddeb -p$(p_l) -p$(p_d)
 
119
 
 
120
        trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
 
121
endef
 
122
 
 
123
do_gccgo = $(call __do_gccgo,lib$(1)go$(GO_SONAME),$(1))
 
124
 
 
125
define install_gccgo_lib
 
126
        mv $(d)/$(usr_lib$(3))/$(1).a debian/$(4)/$(gcc_lib_dir$(3))/
 
127
        rm -f $(d)/$(usr_lib$(3))/$(1)*.{la,so}
 
128
        dh_link -p$(4) \
 
129
          /$(usr_lib$(3))/$(1).so.$(2) /$(gcc_lib_dir$(3))/$(1).so
 
130
 
 
131
endef
 
132
 
 
133
define do_go_dev
 
134
        dh_installdirs -p$(2) $(gcc_lib_dir$(1))
 
135
        DH_COMPAT=2 dh_movefiles -p$(2) \
 
136
                $(gcc_lib_dir$(1))/libgobegin.a
 
137
        $(call install_gccgo_lib,libgo,$(GO_SONAME),$(1),$(2))
 
138
endef
 
139
# ----------------------------------------------------------------------
 
140
$(binary_stamp)-libgo: $(install_stamp)
 
141
        $(call do_gccgo,)
 
142
 
 
143
$(binary_stamp)-lib64go: $(install_stamp)
 
144
        $(call do_gccgo,64)
 
145
 
 
146
$(binary_stamp)-lib32go: $(install_stamp)
 
147
        $(call do_gccgo,32)
 
148
 
 
149
$(binary_stamp)-libn32go: $(install_stamp)
 
150
        $(call do_gccgo,n32)
 
151
 
 
152
$(binary_stamp)-libx32go: $(install_stamp)
 
153
        $(call do_gccgo,x32)
 
154
 
 
155
# ----------------------------------------------------------------------
 
156
$(binary_stamp)-gccgo: $(install_stamp)
 
157
        dh_testdir
 
158
        dh_testroot
 
159
        mv $(install_stamp) $(install_stamp)-tmp
 
160
 
 
161
        rm -rf $(d_go)
 
162
        dh_installdirs -p$(p_go) $(dirs_go)
 
163
 
 
164
        mv $(d)/$(usr_lib)/libgobegin.a \
 
165
                $(d)/$(gcc_lib_dir)/
 
166
        if [ -f $(d)/$(usr_lib64)/libgobegin.a ]; then \
 
167
            mv $(d)/$(usr_lib64)/libgobegin.a \
 
168
                $(d)/$(gcc_lib_dir)/64/; \
 
169
        fi
 
170
        if [ -f $(d)/$(usr_lib32)/libgobegin.a ]; then \
 
171
          if [ -d $(d)/$(gcc_lib_dir)/32 ]; then \
 
172
            mv $(d)/$(usr_lib32)/libgobegin.a \
 
173
                $(d)/$(gcc_lib_dir)/32/; \
 
174
          else \
 
175
            mv $(d)/$(usr_lib32)/libgobegin.a \
 
176
                $(d)/$(gcc_lib_dir)/n32/; \
 
177
          fi; \
 
178
        fi
 
179
        if [ -f $(d)/$(usr_libx32)/libgobegin.a ]; then \
 
180
            mv $(d)/$(usr_libx32)/libgobegin.a \
 
181
                $(d)/$(gcc_lib_dir)/x32/; \
 
182
        fi
 
183
 
 
184
        DH_COMPAT=2 dh_movefiles -p$(p_go) $(files_go)
 
185
 
 
186
        $(call do_go_dev,,$(p_go))
 
187
 
 
188
ifneq ($(DEB_CROSS),yes)
 
189
        ln -sf gccgo$(pkg_ver) \
 
190
            $(d_go)/$(PF)/bin/$(DEB_TARGET_GNU_TYPE)-gccgo$(pkg_ver)
 
191
        ln -sf gccgo$(pkg_ver) \
 
192
            $(d_go)/$(PF)/bin/$(TARGET_ALIAS)-gccgo$(pkg_ver)
 
193
ifneq ($(GFDL_INVARIANT_FREE),yes)
 
194
        ln -sf gccgo$(pkg_ver).1 \
 
195
            $(d_go)/$(PF)/share/man/man1/$(DEB_TARGET_GNU_TYPE)-gccgo$(pkg_ver).1
 
196
        ln -sf gccgo$(pkg_ver).1 \
 
197
            $(d_go)/$(PF)/share/man/man1/$(TARGET_ALIAS)-gccgo$(pkg_ver).1
 
198
endif
 
199
endif
 
200
 
 
201
        debian/dh_doclink -p$(p_go) $(p_xbase)
 
202
 
 
203
#       cp -p $(srcdir)/gcc/go/ChangeLog \
 
204
#               $(d_go)/$(docdir)/$(p_base)/go/changelog
 
205
        debian/dh_rmemptydirs -p$(p_go)
 
206
 
 
207
        dh_strip -p$(p_go)
 
208
        dh_compress -p$(p_go)
 
209
        dh_fixperms -p$(p_go)
 
210
        dh_shlibdeps -p$(p_go)
 
211
        dh_gencontrol -p$(p_go) -- -v$(DEB_VERSION) $(common_substvars)
 
212
        dh_installdeb -p$(p_go)
 
213
        dh_md5sums -p$(p_go)
 
214
        dh_builddeb -p$(p_go)
 
215
 
 
216
        trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
 
217
 
 
218
# ----------------------------------------------------------------------
 
219
$(binary_stamp)-gccgo-multi: $(install_stamp)
 
220
        dh_testdir
 
221
        dh_testroot
 
222
        mv $(install_stamp) $(install_stamp)-tmp
 
223
 
 
224
        rm -rf $(d_go_m)
 
225
        dh_installdirs -p$(p_go_m) $(docdir)
 
226
 
 
227
        $(foreach flavour,$(flavours), \
 
228
                $(call do_go_dev,$(flavour),$(p_go_m)))
 
229
 
 
230
        debian/dh_doclink -p$(p_go_m) $(p_xbase)
 
231
        debian/dh_rmemptydirs -p$(p_go_m)
 
232
        dh_strip -p$(p_go_m)
 
233
        dh_compress -p$(p_go_m)
 
234
        dh_fixperms -p$(p_go_m)
 
235
        dh_shlibdeps -p$(p_go_m)
 
236
        dh_gencontrol -p$(p_go_m) -- -v$(DEB_VERSION) $(common_substvars)
 
237
        dh_installdeb -p$(p_go_m)
 
238
        dh_md5sums -p$(p_go_m)
 
239
        dh_builddeb -p$(p_go_m)
 
240
 
 
241
        trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
 
242
 
 
243
# ----------------------------------------------------------------------
 
244
$(binary_stamp)-go-doc: $(build_html_stamp) $(install_stamp)
 
245
        dh_testdir
 
246
        dh_testroot
 
247
        mv $(install_stamp) $(install_stamp)-tmp
 
248
 
 
249
        rm -rf $(d_god)
 
250
        dh_installdirs -p$(p_god) \
 
251
                $(docdir)/$(p_xbase)/go \
 
252
                $(PF)/share/info
 
253
        DH_COMPAT=2 dh_movefiles -p$(p_god) \
 
254
                $(PF)/share/info/gccgo*
 
255
 
 
256
        debian/dh_doclink -p$(p_god) $(p_xbase)
 
257
        dh_installdocs -p$(p_god)
 
258
        rm -f $(d_god)/$(docdir)/$(p_xbase)/copyright
 
259
        cp -p html/gccgo.html $(d_god)/$(docdir)/$(p_xbase)/go/
 
260
 
 
261
        dh_compress -p$(p_god)
 
262
        dh_fixperms -p$(p_god)
 
263
        dh_installdeb -p$(p_god)
 
264
        dh_gencontrol -p$(p_god) -- -v$(DEB_VERSION) $(common_substvars)
 
265
        dh_md5sums -p$(p_god)
 
266
        dh_builddeb -p$(p_god)
 
267
 
 
268
        trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)