1
arch_binaries := $(arch_binaries) snapshot
3
ifneq (,$(findstring gcc-snapshot, $(PKGSOURCE)))
5
else ifneq (,$(findstring gcc-linaro, $(PKGSOURCE)))
8
$(error unknown build for single gcc package)
11
ifeq ($(DEB_CROSS),yes)
12
p_snap := $(p_snap)$(cross_bin_arch)
14
d_snap = debian/$(p_snap)
20
ifeq ($(with_hppa64),yes)
21
snapshot_depends = binutils-hppa64
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*'
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
36
-c -O2 -g -fPIC -fjni -findirect-dispatch \
37
-o $(builddir)/aot/bin/resources.o $(builddir)/aot/resources.jar
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
54
# ----------------------------------------------------------------------
55
$(binary_stamp)-snapshot: $(install_snap_stamp) \
56
$(if $(filter $(with_ecj),yes),$(stampdir)/ecj_binaries)
59
mv $(install_snap_stamp) $(install_snap_stamp)-tmp
62
dh_installdirs -p$(p_snap) $(dirs_snap)
64
mv $(d)/$(PF) $(d_snap)/usr/lib/
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
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; \
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/; \
83
rm -rf $(d_snap)/$(PF)/lib/nof
84
ifeq ($(with_java),yes)
85
mv $(d)/usr/lib/jvm $(d_snap)/usr/lib/
88
$(gcc_lib_dir)/include/gcj $(jvm_dir)/include/gcj \
89
usr/bin/ecj $(jvm_dir)/bin/javac
91
ifneq ($(DEB_TARGET_ARCH_CPU),$(java_cpu))
92
ln -sf $(java_cpu) $(d_snap)/$(jvm_dir)/jre/lib/$(DEB_TARGET_ARCH_CPU)
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
98
ifeq (./,$(dir $(ecj_jar)))
99
install -m 644 $(ecj_jar) $(d_snap)/$(jvm_dir)/lib/ecj.jar
101
dh_link -p$(p_snap) \
102
$(ecj_jar) $(jvm_dir)/lib/ecj.jar
106
: # provide .jinfo file
108
echo 'name=$(jvm_name_short)'; \
109
echo 'alias=java-gcj$(pkg_ver)'; \
110
echo 'priority=$(priority)'; \
111
echo 'section=main'; \
113
for i in $(jre_tools); do \
114
echo "jre $$i /$(jvm_dir)/jre/bin/$$i"; \
116
for i in $(jdk_tools); do \
117
echo "jdk $$i /$(jvm_dir)/bin/$$i"; \
119
) > $(d_snap)/usr/lib/jvm/.java-gcj$(pkg_ver)-snap.jinfo
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
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; \
141
ifeq ($(with_ada),yes)
142
ln -sf gcc $(d_snap)/$(PF)/bin/gnatgcc
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
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)/
160
dh_installdocs -p$(p_snap)
162
if [ -f $(buildlibdir)/libstdc++-v3/testsuite/current_symbols.txt ]; \
164
cp -p $(buildlibdir)/libstdc++-v3/testsuite/current_symbols.txt \
165
$(d_snap)/$(docdir)/$(p_snap)/libstdc++6_symbols.txt; \
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
175
dh_strip -p$(p_snap) -Xdebug
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
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)
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
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
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; \
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)
220
trap '' 1 2 3 15; touch $@; mv $(install_snap_stamp)-tmp $(install_snap_stamp)