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

« back to all changes in this revision

Viewing changes to .svn/pristine/47/47f329bac93edf5ea82bc6b85e9f774463d6bef4.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
 
 
2
ifeq ($(with_libcxx),yes)
 
3
  $(lib_binaries)  += libstdcxx
 
4
endif
 
5
ifeq ($(with_lib64cxx),yes)
 
6
  $(lib_binaries)  += lib64stdcxx
 
7
endif
 
8
ifeq ($(with_lib64cxxdev),yes)
 
9
  $(lib_binaries)       += lib64stdcxx-dev
 
10
endif
 
11
ifeq ($(with_lib64cxxdbg),yes)
 
12
  $(lib_binaries)       += lib64stdcxxdbg
 
13
endif
 
14
ifeq ($(with_lib32cxx),yes)
 
15
  $(lib_binaries)       += lib32stdcxx
 
16
endif
 
17
ifeq ($(with_lib32cxxdev),yes)
 
18
  $(lib_binaries)       += lib32stdcxx-dev
 
19
endif
 
20
ifeq ($(with_lib32cxxdbg),yes)
 
21
  $(lib_binaries)       += lib32stdcxxdbg
 
22
endif
 
23
ifeq ($(with_libn32cxx),yes)
 
24
  $(lib_binaries)       += libn32stdcxx
 
25
endif
 
26
ifeq ($(with_libn32cxxdev),yes)
 
27
  $(lib_binaries)       += libn32stdcxx-dev
 
28
endif
 
29
ifeq ($(with_libn32cxxdbg),yes)
 
30
  $(lib_binaries)       += libn32stdcxxdbg
 
31
endif
 
32
ifeq ($(with_libx32cxx),yes)
 
33
  $(lib_binaries)       += libx32stdcxx
 
34
endif
 
35
ifeq ($(with_libx32cxxdev),yes)
 
36
  $(lib_binaries)       += libx32stdcxx-dev
 
37
endif
 
38
ifeq ($(with_libx32cxxdbg),yes)
 
39
  $(lib_binaries)       += libx32stdcxxdbg
 
40
endif
 
41
ifeq ($(with_libhfcxx),yes)
 
42
  $(lib_binaries)       += libhfstdcxx
 
43
endif
 
44
ifeq ($(with_libhfcxxdev),yes)
 
45
    $(lib_binaries)     += libhfstdcxx-dev
 
46
endif
 
47
ifeq ($(with_libhfcxxdbg),yes)
 
48
  $(lib_binaries)       += libhfstdcxxdbg
 
49
endif
 
50
ifeq ($(with_libsfcxx),yes)
 
51
  $(lib_binaries)       += libsfstdcxx
 
52
endif
 
53
ifeq ($(with_libsfcxxdev),yes)
 
54
  $(lib_binaries)       += libsfstdcxx-dev
 
55
endif
 
56
ifeq ($(with_libsfcxxdbg),yes)
 
57
  $(lib_binaries)       += libsfstdcxxdbg
 
58
endif
 
59
 
 
60
ifeq ($(with_cxxdev),yes)
 
61
  $(lib_binaries)  += libstdcxx-dev
 
62
  ifneq ($(DEB_CROSS),yes)
 
63
    indep_binaries := $(indep_binaries) libstdcxx-doc
 
64
  endif
 
65
endif
 
66
 
 
67
libstdc_ext = -$(BASE_VERSION)
 
68
 
 
69
p_lib   = libstdc++$(CXX_SONAME)$(cross_lib_arch)
 
70
p_lib64 = lib64stdc++$(CXX_SONAME)$(cross_lib_arch)
 
71
p_lib32 = lib32stdc++$(CXX_SONAME)$(cross_lib_arch)
 
72
p_libn32= libn32stdc++$(CXX_SONAME)$(cross_lib_arch)
 
73
p_libx32= libx32stdc++$(CXX_SONAME)$(cross_lib_arch)
 
74
p_libhf = libhfstdc++$(CXX_SONAME)$(cross_lib_arch)
 
75
p_libsf = libsfstdc++$(CXX_SONAME)$(cross_lib_arch)
 
76
p_dev   = libstdc++$(libstdc_ext)-dev$(cross_lib_arch)
 
77
p_pic   = libstdc++$(libstdc_ext)-pic$(cross_lib_arch)
 
78
p_dbg   = libstdc++$(CXX_SONAME)$(libstdc_ext)-dbg$(cross_lib_arch)
 
79
p_dbg64 = lib64stdc++$(CXX_SONAME)$(libstdc_ext)-dbg$(cross_lib_arch)
 
80
p_dbg32 = lib32stdc++$(CXX_SONAME)$(libstdc_ext)-dbg$(cross_lib_arch)
 
81
p_dbgn32= libn32stdc++$(CXX_SONAME)$(libstdc_ext)-dbg$(cross_lib_arch)
 
82
p_dbgx32= libx32stdc++$(CXX_SONAME)$(libstdc_ext)-dbg$(cross_lib_arch)
 
83
p_dbghf = libhfstdc++$(CXX_SONAME)$(libstdc_ext)-dbg$(cross_lib_arch)
 
84
p_dbgsf = libsfstdc++$(CXX_SONAME)$(libstdc_ext)-dbg$(cross_lib_arch)
 
85
p_libd  = libstdc++$(libstdc_ext)-doc
 
86
 
 
87
d_lib   = debian/$(p_lib)
 
88
d_lib64 = debian/$(p_lib64)
 
89
d_lib32 = debian/$(p_lib32)
 
90
d_libn32= debian/$(p_libn32)
 
91
d_libx32= debian/$(p_libx32)
 
92
d_libhf = debian/$(p_libhf)
 
93
d_libsf = debian/$(p_libsf)
 
94
d_dev   = debian/$(p_dev)
 
95
d_pic   = debian/$(p_pic)
 
96
d_dbg   = debian/$(p_dbg)
 
97
d_dbg64 = debian/$(p_dbg64)
 
98
d_dbg32 = debian/$(p_dbg32)
 
99
d_dbghf = debian/$(p_dbghf)
 
100
d_dbgsf = debian/$(p_dbgsf)
 
101
d_libd  = debian/$(p_libd)
 
102
 
 
103
dirs_dev = \
 
104
        $(docdir)/$(p_base)/C++ \
 
105
        $(usr_lib) \
 
106
        $(gcc_lib_dir)/include \
 
107
        $(cxx_inc_dir)
 
108
 
 
109
files_dev = \
 
110
        $(cxx_inc_dir)/ \
 
111
        $(gcc_lib_dir)/libstdc++.{a,so} \
 
112
        $(gcc_lib_dir)/libsupc++.a
 
113
 
 
114
ifeq ($(with_multiarch_cxxheaders),yes)
 
115
  dirs_dev += \
 
116
        $(PF)/include/$(DEB_TARGET_MULTIARCH)/c++/$(BASE_VERSION)
 
117
  files_dev += \
 
118
        $(PF)/include/$(DEB_TARGET_MULTIARCH)/c++/$(BASE_VERSION)/{bits,ext}
 
119
endif
 
120
 
 
121
dirs_dbg = \
 
122
        $(docdir) \
 
123
        $(PF)/lib/debug/$(usr_lib) \
 
124
        $(usr_lib)/debug \
 
125
        $(gcc_lib_dir)
 
126
files_dbg = \
 
127
        $(usr_lib)/debug/libstdc++.{a,so*}
 
128
 
 
129
ifneq ($(DEB_CROSS),yes)
 
130
  dirs_dbg  += $(PF)/share/gcc-$(BASE_VERSION)/python
 
131
  files_dbg += $(PF)/share/gcc-$(BASE_VERSION)/python/libstdcxx
 
132
endif
 
133
 
 
134
dirs_pic = \
 
135
        $(docdir) \
 
136
        $(gcc_lib_dir)
 
137
files_pic = \
 
138
        $(gcc_lib_dir)/libstdc++_pic.a
 
139
 
 
140
# ----------------------------------------------------------------------
 
141
 
 
142
gxx_baseline_dir = $(shell \
 
143
                        sed -n '/^baseline_dir *=/s,.*= *\(.*\)$$,\1,p' \
 
144
                            $(buildlibdir)/libstdc++-v3/testsuite/Makefile)
 
145
gxx_baseline_file = $(gxx_baseline_dir)/baseline_symbols.txt
 
146
 
 
147
debian/README.libstdc++-baseline:
 
148
        cat debian/README.libstdc++-baseline.in \
 
149
                > debian/README.libstdc++-baseline
 
150
 
 
151
        baseline_name=`basename $(gxx_baseline_dir)`; \
 
152
        baseline_parentdir=`dirname $(gxx_baseline_dir)`; \
 
153
        compat_baseline_name=""; \
 
154
        if [ -f "$(gxx_baseline_file)" ]; then \
 
155
          ( \
 
156
            echo "A baseline file for $$baseline_name was found."; \
 
157
            echo "Running the check-abi script ..."; \
 
158
            echo ""; \
 
159
            $(MAKE) -C $(buildlibdir)/libstdc++-v3/testsuite \
 
160
                check-abi; \
 
161
          ) >> debian/README.libstdc++-baseline; \
 
162
        else \
 
163
          ( \
 
164
            echo "No baseline file found for $$baseline_name."; \
 
165
            echo "Generating a new baseline file ..."; \
 
166
            echo ""; \
 
167
          ) >> debian/README.libstdc++-baseline; \
 
168
          mkdir -p $(gxx_baseline_dir); \
 
169
          $(MAKE) -C $(buildlibdir)/libstdc++-v3/testsuite new-abi-baseline; \
 
170
          if [ -f $(gxx_baseline_file) ]; then \
 
171
            cat $(gxx_baseline_file); \
 
172
          else \
 
173
            cat $$(find $(buildlibdir)/libstdc++-v3 $(srcdir)/libstdc++-v3 -name '.new') || true; \
 
174
          fi >> debian/README.libstdc++-baseline; \
 
175
        fi
 
176
 
 
177
# ----------------------------------------------------------------------
 
178
define __do_libstdcxx
 
179
        dh_testdir
 
180
        dh_testroot
 
181
        mv $(install_stamp) $(install_stamp)-tmp
 
182
 
 
183
        rm -rf $(d_l)
 
184
 
 
185
        dh_installdirs -p$(p_l) \
 
186
                $(docdir) \
 
187
                $(usr_lib$(2))
 
188
 
 
189
        cp -a $(d)/$(usr_lib$(2))/libstdc++.so.*[0-9] \
 
190
                $(d_l)/$(usr_lib$(2))/.
 
191
 
 
192
        debian/dh_doclink -p$(p_l) $(p_base)
 
193
        debian/dh_rmemptydirs -p$(p_l)
 
194
 
 
195
        dh_strip -p$(p_l) --dbg-package=$(1)-$(BASE_VERSION)-dbg$(cross_lib_arch)
 
196
        dh_compress -p$(p_l)
 
197
        dh_fixperms -p$(p_l)
 
198
 
 
199
        $(cross_makeshlibs) dh_makeshlibs -p$(p_l) || echo 'FIXME: libstdc++ symbols file'
 
200
        $(call cross_mangle_shlibs,$(p_l))
 
201
        $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \
 
202
                $(call shlibdirs_to_search,$(subst stdc++$(CXX_SONAME),gcc$(GCC_SONAME),$(p_l)),$(2))
 
203
        $(call cross_mangle_substvars,$(p_l))
 
204
 
 
205
        $(cross_gencontrol) dh_gencontrol -p$(p_l) -- -v$(DEB_VERSION) $(common_substvars)
 
206
        $(call cross_mangle_control,$(p_l))
 
207
        dh_installdeb -p$(p_l)
 
208
        dh_md5sums -p$(p_l)
 
209
        dh_builddeb -p$(p_l)
 
210
 
 
211
        trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
 
212
endef
 
213
 
 
214
define __do_libstdcxx_dbg
 
215
        dh_testdir
 
216
        dh_testroot
 
217
        mv $(install_stamp) $(install_stamp)-tmp
 
218
 
 
219
        rm -rf $(d_d)
 
220
        dh_installdirs -p$(p_d) \
 
221
                $(PF)/lib/debug/$(usr_lib$(2)) \
 
222
                $(usr_lib$(2))
 
223
 
 
224
        cp -p $(d)/$(usr_lib$(2))/libstdc++.so.*.py \
 
225
                $(d_d)/$(PF)/lib/debug/$(usr_lib$(2))/.;
 
226
        $(if $(filter yes,$(with_lib$(2)cxx)),
 
227
                cp -a $(d)/$(usr_lib$(2))/libstdc++.so.*[0-9] \
 
228
                        $(d_d)/$(usr_lib$(2))/.;
 
229
                dh_strip -p$(p_d) --keep-debug;
 
230
                $(if $(filter yes,$(with_common_libs)),, # if !with_common_libs
 
231
                        # remove the debug symbols for libstdc++
 
232
                        # built by a newer version of GCC
 
233
                        rm -rf $(d_d)/usr/lib/debug/$(PF);
 
234
                )
 
235
                rm -f $(d_d)/$(usr_lib$(2))/libstdc++.so.*[0-9]
 
236
        )
 
237
 
 
238
        $(if $(filter yes,$(with_debug)),
 
239
                mv $(d)/$(usr_lib$(2))/debug $(d_d)/$(usr_lib$(2))/.;
 
240
                rm -f $(d_d)/$(usr_lib$(2))/debug/libstdc++_pic.a
 
241
        )
 
242
 
 
243
        $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_d) \
 
244
                $(call shlibdirs_to_search,$(subst $(pkg_ver),,$(subst stdc++$(CXX_SONAME),gcc$(GCC_SONAME),$(p_l))),$(2))
 
245
        $(call cross_mangle_substvars,$(p_d))
 
246
 
 
247
        debian/dh_doclink -p$(p_d) $(p_base)
 
248
        debian/dh_rmemptydirs -p$(p_d)
 
249
 
 
250
        dh_compress -p$(p_d)
 
251
        dh_fixperms -p$(p_d)
 
252
        $(cross_gencontrol) dh_gencontrol -p$(p_d) -- -v$(DEB_VERSION) $(common_substvars)
 
253
        $(call cross_mangle_control,$(p_d))
 
254
 
 
255
        dh_installdeb -p$(p_d)
 
256
        dh_md5sums -p$(p_d)
 
257
        dh_builddeb -p$(p_d)
 
258
 
 
259
        trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
 
260
endef
 
261
 
 
262
define __do_libstdcxx_dev
 
263
        dh_testdir
 
264
        dh_testroot
 
265
        mv $(install_stamp) $(install_stamp)-tmp
 
266
 
 
267
        mv $(d)/$(usr_lib$(2))/libstdc++.a $(d)/$(usr_lib$(2))/libsupc++.a \
 
268
                $(d)/$(gcc_lib_dir$(2))/
 
269
 
 
270
        rm -rf $(d_l)
 
271
        dh_installdirs -p$(p_l) $(gcc_lib_dir$(2))
 
272
 
 
273
        DH_COMPAT=2 dh_movefiles -p$(p_l) \
 
274
                $(gcc_lib_dir$(2))/libstdc++.a \
 
275
                $(gcc_lib_dir$(2))/libsupc++.a \
 
276
                $(if $(with_multiarch_cxxheaders),$(PF)/include/$(DEB_TARGET_MULTIARCH)/c++/$(BASE_VERSION)/$(2))
 
277
        $(call install_gcc_lib,libstdc++,$(CXX_SONAME),$(2),$(p_l))
 
278
 
 
279
        debian/dh_doclink -p$(p_l) $(p_base)
 
280
        debian/dh_rmemptydirs -p$(p_l)
 
281
 
 
282
        dh_strip -p$(p_l)
 
283
        dh_compress -p$(p_l)
 
284
        dh_fixperms -p$(p_l)
 
285
        dh_shlibdeps -p$(p_l)
 
286
        dh_gencontrol -p$(p_l) -- -v$(DEB_VERSION) $(common_substvars)
 
287
        dh_installdeb -p$(p_l)
 
288
        dh_md5sums -p$(p_l)
 
289
        dh_builddeb -p$(p_l)
 
290
 
 
291
        trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
 
292
endef
 
293
 
 
294
do_libstdcxx = $(call __do_libstdcxx,lib$(1)stdc++$(CXX_SONAME),$(1))
 
295
do_libstdcxx_dbg = $(call __do_libstdcxx_dbg,lib$(1)stdc++$(CXX_SONAME)$(libstdc_ext),$(1))
 
296
do_libstdcxx_dev = $(call __do_libstdcxx_dev,lib$(1)stdc++-$(BASE_VERSION)-dev,$(1))
 
297
 
 
298
# ----------------------------------------------------------------------
 
299
$(binary_stamp)-libstdcxx: $(install_stamp)
 
300
        $(call do_libstdcxx,)
 
301
 
 
302
$(binary_stamp)-lib64stdcxx: $(install_stamp)
 
303
        $(call do_libstdcxx,64)
 
304
 
 
305
$(binary_stamp)-lib32stdcxx: $(install_stamp)
 
306
        $(call do_libstdcxx,32)
 
307
 
 
308
$(binary_stamp)-libn32stdcxx: $(install_stamp)
 
309
        $(call do_libstdcxx,n32)
 
310
 
 
311
$(binary_stamp)-libx32stdcxx: $(install_stamp)
 
312
        $(call do_libstdcxx,x32)
 
313
 
 
314
$(binary_stamp)-libhfstdcxx: $(install_stamp)
 
315
        $(call do_libstdcxx,hf)
 
316
 
 
317
$(binary_stamp)-libsfstdcxx: $(install_stamp)
 
318
        $(call do_libstdcxx,sf)
 
319
 
 
320
$(binary_stamp)-lib64stdcxxdbg: $(install_stamp)
 
321
        $(call do_libstdcxx_dbg,64)
 
322
 
 
323
$(binary_stamp)-lib32stdcxxdbg: $(install_stamp)
 
324
        $(call do_libstdcxx_dbg,32)
 
325
 
 
326
$(binary_stamp)-libn32stdcxxdbg: $(install_stamp)
 
327
        $(call do_libstdcxx_dbg,n32)
 
328
 
 
329
$(binary_stamp)-libx32stdcxxdbg: $(install_stamp)
 
330
        $(call do_libstdcxx_dbg,x32)
 
331
 
 
332
$(binary_stamp)-libhfstdcxxdbg: $(install_stamp)
 
333
        $(call do_libstdcxx_dbg,hf)
 
334
 
 
335
$(binary_stamp)-libsfstdcxxdbg: $(install_stamp)
 
336
        $(call do_libstdcxx_dbg,sf)
 
337
 
 
338
$(binary_stamp)-lib64stdcxx-dev: $(install_stamp)
 
339
        $(call do_libstdcxx_dev,64)
 
340
 
 
341
$(binary_stamp)-lib32stdcxx-dev: $(install_stamp)
 
342
        $(call do_libstdcxx_dev,32)
 
343
 
 
344
$(binary_stamp)-libn32stdcxx-dev: $(install_stamp)
 
345
        $(call do_libstdcxx_dev,n32)
 
346
 
 
347
$(binary_stamp)-libx32stdcxx-dev: $(install_stamp)
 
348
        $(call do_libstdcxx_dev,x32)
 
349
 
 
350
$(binary_stamp)-libhfstdcxx-dev: $(install_stamp)
 
351
        $(call do_libstdcxx_dev,hf)
 
352
 
 
353
$(binary_stamp)-libsfstdcxx-dev: $(install_stamp)
 
354
        $(call do_libstdcxx_dev,sf)
 
355
 
 
356
# ----------------------------------------------------------------------
 
357
libcxxdev_deps = $(install_stamp)
 
358
ifeq ($(with_libcxx),yes)
 
359
  libcxxdev_deps += $(binary_stamp)-libstdcxx
 
360
endif
 
361
ifeq ($(with_check),yes)
 
362
  libcxxdev_deps += debian/README.libstdc++-baseline
 
363
endif
 
364
$(binary_stamp)-libstdcxx-dev: $(libcxxdev_deps)
 
365
        dh_testdir
 
366
        dh_testroot
 
367
        mv $(install_stamp) $(install_stamp)-tmp
 
368
 
 
369
        rm -rf $(d_dev) $(d_pic)
 
370
        dh_installdirs -p$(p_dev) $(dirs_dev)
 
371
        dh_installdirs -p$(p_pic) $(dirs_pic)
 
372
        dh_installdirs -p$(p_dbg) $(dirs_dbg)
 
373
 
 
374
        : # - correct libstdc++-v3 file locations
 
375
        mv $(d)/$(usr_lib)/libsupc++.a $(d)/$(gcc_lib_dir)/
 
376
        mv $(d)/$(usr_lib)/libstdc++.{a,so} $(d)/$(gcc_lib_dir)/
 
377
        ln -sf ../../../$(DEB_TARGET_GNU_TYPE)/libstdc++.so.$(CXX_SONAME) \
 
378
                $(d)/$(gcc_lib_dir)/libstdc++.so
 
379
        mv $(d)/$(usr_lib)/libstdc++_pic.a $(d)/$(gcc_lib_dir)/
 
380
 
 
381
        rm -f $(d)/$(usr_lib)/debug/libstdc++_pic.a
 
382
        rm -f $(d)/$(usr_lib64)/debug/libstdc++_pic.a
 
383
 
 
384
        : # remove precompiled headers
 
385
        -find $(d) -type d -name '*.gch' | xargs rm -rf
 
386
 
 
387
        for i in $(d)/$(PF)/include/c++/$(GCC_VERSION)/*-linux; do \
 
388
          if [ -d $$i ]; then mv $$i $$i-gnu; fi; \
 
389
        done
 
390
 
 
391
        DH_COMPAT=2 dh_movefiles -p$(p_dev) $(files_dev)
 
392
        DH_COMPAT=2 dh_movefiles -p$(p_pic) $(files_pic)
 
393
ifeq ($(with_debug),yes)
 
394
        DH_COMPAT=2 dh_movefiles -p$(p_dbg) $(files_dbg)
 
395
endif
 
396
 
 
397
        dh_link -p$(p_dev) \
 
398
                /$(usr_lib)/libstdc++.so.$(CXX_SONAME) \
 
399
                /$(gcc_lib_dir)/libstdc++.so \
 
400
                /$(cxx_inc_dir) /$(PFL)/include/c++/$(GCC_VERSION)
 
401
 
 
402
        debian/dh_doclink -p$(p_dev) $(p_base)
 
403
        debian/dh_doclink -p$(p_pic) $(p_base)
 
404
        debian/dh_doclink -p$(p_dbg) $(p_base)
 
405
        cp -p $(srcdir)/libstdc++-v3/ChangeLog \
 
406
                $(d_dev)/$(docdir)/$(p_base)/C++/changelog.libstdc++
 
407
ifeq ($(with_check),yes)
 
408
        cp -p debian/README.libstdc++-baseline \
 
409
                $(d_dev)/$(docdir)/$(p_base)/C++/README.libstdc++-baseline.$(DEB_TARGET_ARCH)
 
410
        if [ -f $(buildlibdir)/libstdc++-v3/testsuite/current_symbols.txt ]; \
 
411
        then \
 
412
          cp -p $(buildlibdir)/libstdc++-v3/testsuite/current_symbols.txt \
 
413
            $(d_dev)/$(docdir)/$(p_base)/C++/libstdc++_symbols.txt.$(DEB_TARGET_ARCH); \
 
414
        fi
 
415
endif
 
416
        cp -p $(buildlibdir)/libstdc++-v3/src/libstdc++-symbols.ver \
 
417
                $(d_pic)/$(gcc_lib_dir)/libstdc++_pic.map
 
418
 
 
419
        cp -p $(d)/$(usr_lib)/libstdc++.so.*.py \
 
420
                $(d_dbg)/$(PF)/lib/debug/$(usr_lib)/
 
421
ifeq ($(with_libcxx),yes)
 
422
        cp -a $(d)/$(usr_lib)/libstdc++.so.*[0-9] \
 
423
                $(d_dbg)/$(usr_lib)/
 
424
        dh_strip -p$(p_dbg) --keep-debug
 
425
        rm -f $(d_dbg)/$(usr_lib)/libstdc++.so.*[0-9]
 
426
endif
 
427
 
 
428
        dh_strip -p$(p_dev) --dbg-package=$(p_dbg)
 
429
ifneq ($(with_common_libs),yes)
 
430
        : # remove the debug symbols for libstdc++ built by a newer version of GCC
 
431
        rm -rf $(d_dbg)/usr/lib/debug/$(PF)
 
432
endif
 
433
        dh_strip -p$(p_pic)
 
434
 
 
435
ifeq ($(with_cxxdev),yes)
 
436
        debian/dh_rmemptydirs -p$(p_dev)
 
437
        debian/dh_rmemptydirs -p$(p_pic)
 
438
        debian/dh_rmemptydirs -p$(p_dbg)
 
439
endif
 
440
 
 
441
        dh_compress -p$(p_dev) -p$(p_pic) -p$(p_dbg) -X.txt
 
442
        dh_fixperms -p$(p_dev) -p$(p_pic) -p$(p_dbg)
 
443
# XXX: what about biarchn32?
 
444
#ifeq ($(biarch64),yes)
 
445
#       $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_dev) -p$(p_pic) -p$(p_dbg) -Xlib64
 
446
#else
 
447
#       $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_dev) -p$(p_pic) -p$(p_dbg) -Xlib32/debug
 
448
#endif
 
449
        $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_dev) -p$(p_pic) -p$(p_dbg)
 
450
        $(call cross_mangle_substvars,$(p_dbg))
 
451
        $(cross_gencontrol) dh_gencontrol -p$(p_dev) -p$(p_pic) -p$(p_dbg) \
 
452
                -- -v$(DEB_VERSION) $(common_substvars)
 
453
 
 
454
        dh_installdeb -p$(p_dev) -p$(p_pic) -p$(p_dbg)
 
455
        dh_md5sums -p$(p_dev) -p$(p_pic) -p$(p_dbg)
 
456
        dh_builddeb -p$(p_dev) -p$(p_pic) -p$(p_dbg)
 
457
 
 
458
        trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
 
459
 
 
460
# ----------------------------------------------------------------------
 
461
 
 
462
doxygen_doc_dir = $(buildlibdir)/libstdc++-v3/doc
 
463
 
 
464
doxygen-docs: $(build_doxygen_stamp)
 
465
$(build_doxygen_stamp):
 
466
        $(MAKE) -C $(buildlibdir)/libstdc++-v3/doc SHELL=/bin/bash doc-html-doxygen
 
467
        $(MAKE) -C $(buildlibdir)/libstdc++-v3/doc SHELL=/bin/bash doc-man-doxygen
 
468
        -find $(doxygen_doc_dir)/doxygen/html -name 'struct*' -empty | xargs rm -f
 
469
 
 
470
        touch $@
 
471
 
 
472
$(binary_stamp)-libstdcxx-doc: $(install_stamp) doxygen-docs
 
473
        dh_testdir
 
474
        dh_testroot
 
475
        mv $(install_stamp) $(install_stamp)-tmp
 
476
 
 
477
        rm -rf $(d_libd)
 
478
        dh_installdirs -p$(p_libd) \
 
479
                $(docdir)/$(p_base)/libstdc++ \
 
480
                $(PF)/share/man
 
481
 
 
482
#       debian/dh_doclink -p$(p_libd) $(p_base)
 
483
        dh_link -p$(p_libd) /usr/share/doc/$(p_base) /usr/share/doc/$(p_libd)
 
484
        dh_installdocs -p$(p_libd)
 
485
        rm -f $(d_libd)/$(docdir)/$(p_base)/copyright
 
486
 
 
487
        cp -a $(srcdir)/libstdc++-v3/doc/html \
 
488
                $(d_libd)/$(docdir)/$(p_base)/libstdc++/.
 
489
        cp -a $(doxygen_doc_dir)/doxygen/html \
 
490
                $(d_libd)/$(docdir)/$(p_base)/libstdc++/.
 
491
        find $(d_libd)/$(docdir)/$(p_base)/libstdc++ -name '*.md5' \
 
492
                | xargs -r rm -f
 
493
 
 
494
        rm -f $(d_libd)/$(docdir)/$(p_base)/libstdc++/html/jquery.js
 
495
        dh_link -p$(p_libd) \
 
496
                /usr/share/javascript/jquery/jquery.js \
 
497
                /$(docdir)/$(p_base)/libstdc++/html/jquery.js
 
498
 
 
499
        : FIXME: depending on the doxygen version
 
500
        if [ -d $(doxygen_doc_dir)/doxygen/man/man3cxx ]; then \
 
501
          cp -a $(doxygen_doc_dir)/doxygen/man/man3cxx \
 
502
            $(d_libd)/$(PF)/share/man/man3; \
 
503
          if [ -d $(doxygen_doc_dir)/doxygen/man/man3 ]; then \
 
504
            cp -a $(doxygen_doc_dir)/doxygen/man/man3/* \
 
505
              $(d_libd)/$(PF)/share/man/man3/; \
 
506
          fi; \
 
507
        elif [ -d $(doxygen_doc_dir)/doxygen/man/man3 ]; then \
 
508
          cp -a $(doxygen_doc_dir)/doxygen/man/man3 \
 
509
            $(d_libd)/$(PF)/share/man/man3; \
 
510
        fi
 
511
 
 
512
        for i in $(d_libd)/$(PF)/share/man/man3/*.3; do \
 
513
          [ -f $${i} ] || continue; \
 
514
          mv $${i} $${i}cxx; \
 
515
        done
 
516
        rm -f $(d_libd)/$(PF)/share/man/man3/todo.3*
 
517
 
 
518
        mkdir -p $(d_libd)/usr/share/lintian/overrides
 
519
        cp -p debian/$(p_libd).overrides \
 
520
                $(d_libd)/usr/share/lintian/overrides/$(p_libd)
 
521
 
 
522
        dh_compress -p$(p_libd) -Xhtml/17_intro -X.txt -X.tag -X.map
 
523
        dh_fixperms -p$(p_libd)
 
524
        dh_gencontrol -p$(p_libd) -- -v$(DEB_VERSION) $(common_substvars)
 
525
 
 
526
        dh_installdeb -p$(p_libd)
 
527
        dh_md5sums -p$(p_libd)
 
528
        dh_builddeb -p$(p_libd)
 
529
 
 
530
        trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)