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

« back to all changes in this revision

Viewing changes to .svn/pristine/aa/aa275d77192a5c4f2990b7f084ef5d2f96634c48.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
arch_binaries  := $(arch_binaries) snapshot
 
2
 
 
3
ifneq (,$(findstring gcc-snapshot, $(PKGSOURCE)))
 
4
  p_snap = gcc-snapshot
 
5
else ifneq (,$(findstring gcc-linaro, $(PKGSOURCE)))
 
6
  p_snap = gcc-linaro
 
7
else
 
8
  $(error unknown build for single gcc package)
 
9
endif
 
10
 
 
11
ifeq ($(DEB_CROSS),yes)
 
12
  p_snap := $(p_snap)$(cross_bin_arch)
 
13
endif
 
14
d_snap  = debian/$(p_snap)
 
15
 
 
16
dirs_snap = \
 
17
        $(docdir)/$(p_snap) \
 
18
        usr/lib
 
19
 
 
20
ifeq ($(with_spu),yes)
 
21
  snapshot_depends = binutils-spu
 
22
  snapshot_recommends = newlib-spu
 
23
endif
 
24
ifeq ($(with_hppa64),yes)
 
25
  snapshot_depends = binutils-hppa64
 
26
endif
 
27
 
 
28
$(stampdir)/ecj_binaries: $(install_snap_stamp)
 
29
        mkdir -p $(builddir)/aot/jar $(builddir)/aot/bin
 
30
        cp $(ecj_jar) $(builddir)/aot/jar/ecj-standalone.jar
 
31
        zip -d $(builddir)/aot/jar/ecj-standalone.jar \
 
32
                'org/eclipse/jdt/core/JDTCompilerAdapter*'
 
33
 
 
34
        cd $(builddir)/aot/jar \
 
35
          && fastjar xf ecj-standalone.jar \
 
36
          && find -name '*.rsc' -o -name '*.properties' \
 
37
                | fastjar -c -@ - -f ../resources.jar
 
38
        rm -rf $(builddir)/aot/jar/META-INF $(builddir)/aot/jar/org
 
39
        $(d)/$(PF)/bin/gcj \
 
40
            -c -O2 -g -fPIC -fjni -findirect-dispatch \
 
41
            -o $(builddir)/aot/bin/resources.o $(builddir)/aot/resources.jar
 
42
 
 
43
        cp $(srcdir)/libjava/contrib/classfile.py $(builddir)/aot/
 
44
        cp $(buildlibdir)/libjava/contrib/*.py $(builddir)/aot/
 
45
        grep -v '^sys.path.insert' $(buildlibdir)/libjava/contrib/aot-compile \
 
46
            > $(builddir)/aot/aot-compile
 
47
        chmod 755 $(builddir)/aot/aot-compile
 
48
        patch -p1 < debian/patches/aotcompile.diff
 
49
        LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}$(CURDIR)/$(d)/$(PF)/lib \
 
50
        RPATH=-Wl,-rpath,/$(PF)/lib \
 
51
        PYTHONPATH=$(builddir)/aot \
 
52
          python $(builddir)/aot/aot-compile \
 
53
            --gcj=$(CURDIR)/$(d)/$(PF)/bin/gcj \
 
54
            --dbtool=$(CURDIR)/$(d)/$(PF)/bin/gcj-dbtool \
 
55
            $(builddir)/aot/jar $(builddir)/aot/bin
 
56
        touch $@
 
57
 
 
58
# ----------------------------------------------------------------------
 
59
$(binary_stamp)-snapshot: $(install_snap_stamp) \
 
60
    $(if $(filter $(with_ecj),yes),$(stampdir)/ecj_binaries)
 
61
        dh_testdir
 
62
        dh_testroot
 
63
        mv $(install_snap_stamp) $(install_snap_stamp)-tmp
 
64
 
 
65
        rm -rf $(d_snap)
 
66
        dh_installdirs -p$(p_snap) $(dirs_snap)
 
67
 
 
68
        mv $(d)/$(PF) $(d_snap)/usr/lib/
 
69
 
 
70
        find $(d_snap) -name '*.gch' -type d | xargs -r rm -rf
 
71
        find $(d_snap) -name '*.la' -o -name '*.lai' | xargs -r rm -f
 
72
 
 
73
        : # FIXME: libbacktrace is not installed by default
 
74
        for d in . 32 n32 64 sf hf; do \
 
75
          if [ -f $(buildlibdir)/$$d/libbacktrace/.libs/libbacktrace.a ]; then \
 
76
            install -m644 $(buildlibdir)/$$d/libbacktrace/.libs/libbacktrace.a \
 
77
              $(d_snap)/$(gcc_lib_dir)/$$d; \
 
78
          fi; \
 
79
        done
 
80
        if [ -f $(buildlibdir)/libbacktrace/backtrace-supported.h ]; then \
 
81
          install -m644 $(buildlibdir)/libbacktrace/backtrace-supported.h \
 
82
            $(d_snap)/$(gcc_lib_dir)/include/; \
 
83
          install -m644 $(srcdir)/libbacktrace/backtrace.h \
 
84
            $(d_snap)/$(gcc_lib_dir)/include/; \
 
85
        fi
 
86
 
 
87
        rm -rf $(d_snap)/$(PF)/lib/nof
 
88
ifeq ($(with_java),yes)
 
89
        mv $(d)/usr/lib/jvm $(d_snap)/usr/lib/
 
90
 
 
91
        dh_link -p$(p_snap) \
 
92
          $(gcc_lib_dir)/include/gcj $(jvm_dir)/include/gcj \
 
93
          usr/bin/ecj $(jvm_dir)/bin/javac
 
94
 
 
95
  ifneq ($(DEB_TARGET_ARCH_CPU),$(java_cpu))
 
96
        ln -sf $(java_cpu) $(d_snap)/$(jvm_dir)/jre/lib/$(DEB_TARGET_ARCH_CPU)
 
97
  endif
 
98
  ifeq ($(with_ecj),yes)
 
99
        install -m755 $(builddir)/aot/bin/javac $(d_snap)/$(jvm_dir)/bin/javac
 
100
        install -m755 $(builddir)/aot/bin/ecj1 $(d_snap)/$(gcc_lexec_dir)/ecj1
 
101
 
 
102
    ifeq (./,$(dir $(ecj_jar)))
 
103
        install -m 644 $(ecj_jar) $(d_snap)/$(jvm_dir)/lib/ecj.jar
 
104
    else
 
105
        dh_link -p$(p_snap) \
 
106
          $(ecj_jar) $(jvm_dir)/lib/ecj.jar
 
107
    endif
 
108
  endif
 
109
 
 
110
        : # provide .jinfo file
 
111
        ( \
 
112
          echo 'name=$(jvm_name_short)'; \
 
113
          echo 'alias=java-gcj$(pkg_ver)'; \
 
114
          echo 'priority=$(priority)'; \
 
115
          echo 'section=main'; \
 
116
          echo ''; \
 
117
          for i in $(jre_tools); do \
 
118
            echo "jre $$i /$(jvm_dir)/jre/bin/$$i"; \
 
119
          done; \
 
120
          for i in $(jdk_tools); do \
 
121
            echo "jdk $$i /$(jvm_dir)/bin/$$i"; \
 
122
          done; \
 
123
        ) > $(d_snap)/usr/lib/jvm/.java-gcj$(pkg_ver)-snap.jinfo
 
124
endif
 
125
 
 
126
ifeq ($(with_ada),yes FIXME: apply our ada patches)
 
127
        dh_link -p$(p_snap) \
 
128
           $(gcc_lib_dir)/rts-sjlj/adalib/libgnat.a \
 
129
           $(gcc_lib_dir)/rts-sjlj/adalib/libgnat-$(GNAT_VERSION).a
 
130
        dh_link -p$(p_snap) \
 
131
           $(gcc_lib_dir)/rts-sjlj/adalib/libgnarl.a \
 
132
           $(gcc_lib_dir)/rts-sjlj/adalib/libgnarl-$(GNAT_VERSION).a
 
133
 
 
134
        set -e; \
 
135
        for lib in lib{gnat,gnarl}; do \
 
136
          vlib=$$lib-$(GNAT_SONAME); \
 
137
          mv $(d_snap)/$(gcc_lib_dir)/adalib/$$vlib.so.1 $(d_snap)/$(PF)/$(libdir)/. ; \
 
138
          rm -f $(d_snap)/$(gcc_lib_dir)/adalib/$$lib.so.1; \
 
139
          dh_link -p$(p_snap) \
 
140
            /$(PF)/$(libdir)/$$vlib.so.1 /$(PF)/$(libdir)/$$vlib.so \
 
141
            /$(PF)/$(libdir)/$$vlib.so.1 /$(PF)/$(libdir)/$$lib.so \
 
142
            /$(PF)/$(libdir)/$$vlib.so.1 /$(gcc_lib_dir)/rts-native/adalib/$$lib.so; \
 
143
        done
 
144
endif
 
145
ifeq ($(with_ada),yes)
 
146
        ln -sf gcc $(d_snap)/$(PF)/bin/gnatgcc
 
147
endif
 
148
 
 
149
ifeq ($(with_hppa64),yes)
 
150
        : # provide as and ld links
 
151
        dh_link -p $(p_snap) \
 
152
                /usr/bin/hppa64-linux-gnu-as \
 
153
                /$(PF)/libexec/gcc/hppa64-linux-gnu/$(GCC_VERSION)/as \
 
154
                /usr/bin/hppa64-linux-gnu-ld \
 
155
                /$(PF)/libexec/gcc/hppa64-linux-gnu/$(GCC_VERSION)/ld
 
156
endif
 
157
 
 
158
# don't do this; would create a b-d on gcc-snapshot
 
159
#ifeq ($(with_spu),yes)
 
160
#       dh_link -p $(p_snap) /usr/spu /$(PF)/spu
 
161
#endif
 
162
 
 
163
ifeq ($(with_check),yes)
 
164
        dh_installdocs -p$(p_snap) test-summary
 
165
  ifeq ($(with_pascal),yes)
 
166
        cp -p gpc-test-summary $(d_snap)/$(docdir)/$(p_snap)/
 
167
  endif
 
168
else
 
169
        dh_installdocs -p$(p_snap)
 
170
endif
 
171
        if [ -f $(buildlibdir)/libstdc++-v3/testsuite/current_symbols.txt ]; \
 
172
        then \
 
173
          cp -p $(buildlibdir)/libstdc++-v3/testsuite/current_symbols.txt \
 
174
            $(d_snap)/$(docdir)/$(p_snap)/libstdc++6_symbols.txt; \
 
175
        fi
 
176
        cp -p debian/README.snapshot \
 
177
                $(d_snap)/$(docdir)/$(p_snap)/README.Debian
 
178
        cp -p debian/README.Bugs \
 
179
                $(d_snap)/$(docdir)/$(p_snap)/
 
180
        dh_installchangelogs -p$(p_snap)
 
181
ifeq ($(DEB_TARGET_ARCH),hppa)
 
182
        dh_strip -p$(p_snap) -Xdebug -X.o -X.a
 
183
else
 
184
        dh_strip -p$(p_snap) -Xdebug
 
185
endif
 
186
        dh_compress -p$(p_snap) -X README.Bugs
 
187
        -find $(d_snap) -type d ! -perm 755 -exec chmod 755 {} \;
 
188
        dh_fixperms -p$(p_snap)
 
189
ifeq ($(with_ada),yes)
 
190
        find $(d_snap)/$(gcc_lib_dir) -name '*.ali' | xargs -r chmod 444
 
191
endif
 
192
 
 
193
        mkdir -p $(d_snap)/usr/share/lintian/overrides
 
194
        cp -p debian/gcc-snapshot.overrides \
 
195
                $(d_snap)/usr/share/lintian/overrides/$(p_snap)
 
196
 
 
197
        ( \
 
198
          echo 'libgcc_s $(GCC_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \
 
199
          echo 'libobjc $(OBJC_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \
 
200
          echo 'libgfortran $(FORTRAN_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \
 
201
          echo 'libmudflap $(MUDFLAP_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \
 
202
          echo 'libmudflapth $(MUDFLAP_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \
 
203
          echo 'libffi $(FFI_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \
 
204
          echo 'libgcj $(GCJ_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \
 
205
          echo 'libgcj-tools $(GCJ_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \
 
206
          echo 'libgij $(GCJ_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \
 
207
          echo 'libgcj_bc 1 ${p_snap} (>= $(DEB_VERSION))'; \
 
208
          echo 'libgomp $(GOMP_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \
 
209
          echo 'libgnat-$(GNAT_SONAME) 1 ${p_snap} (>= $(DEB_VERSION))'; \
 
210
          echo 'libgnarl-$(GNAT_SONAME) 1 ${p_snap} (>= $(DEB_VERSION))'; \
 
211
        ) > debian/shlibs.local
 
212
 
 
213
        $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps)  \
 
214
          dh_shlibdeps -p$(p_snap) -l$(CURDIR)/$(d_snap)/$(PF)/lib:$(CURDIR)/$(d_snap)/$(PF)/$(if $(filter $(DEB_TARGET_ARCH),amd64 ppc64),lib32,lib64):/usr/$(DEB_TARGET_GNU_TYPE)/lib -Xlibgcj-tools -Xlibmudflap
 
215
        -sed -i -e 's/$(p_snap)[^,]*, //g' debian/$(p_snap).substvars
 
216
 
 
217
ifeq ($(with_multiarch_lib),yes)
 
218
        : # paths needed for relative lookups from startfile_prefixes
 
219
        for ma in $(xarch_multiarch_names); do \
 
220
          mkdir -p $(d_snap)/lib/$$ma; \
 
221
          mkdir -p $(d_snap)/usr/lib/$$ma; \
 
222
        done
 
223
endif
 
224
 
 
225
        dh_gencontrol -p$(p_snap) -- $(common_substvars) \
 
226
                '-Vsnap:depends=$(snapshot_depends)' '-Vsnap:recommends=$(snapshot_recommends)'
 
227
        dh_installdeb -p$(p_snap)
 
228
        dh_md5sums -p$(p_snap)
 
229
        dh_builddeb -p$(p_snap)
 
230
 
 
231
        trap '' 1 2 3 15; touch $@; mv $(install_snap_stamp)-tmp $(install_snap_stamp)