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

« back to all changes in this revision

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