- Only build with a native ecj on x86{,_64}
- Make /usr/bin/ecj native again as it's slow as a script with gij and the chances of a someone using a proprietary JDK and not seeing their javac alternative are slim.
This commit is contained in:
parent
094a66bee2
commit
6b71c4859a
41
eclipse.spec
41
eclipse.spec
@ -18,6 +18,11 @@ Epoch: 1
|
|||||||
%else
|
%else
|
||||||
%define eclipse_arch %{_arch}
|
%define eclipse_arch %{_arch}
|
||||||
%endif
|
%endif
|
||||||
|
%ifarch %{ix86} x86_64
|
||||||
|
%define native_ecj 1
|
||||||
|
%else
|
||||||
|
%define native_ecj 0
|
||||||
|
%endif
|
||||||
|
|
||||||
Summary: %{pkg_summary}
|
Summary: %{pkg_summary}
|
||||||
Name: eclipse
|
Name: eclipse
|
||||||
@ -38,7 +43,6 @@ Source11: %{name}-fedora-splash-3.1.2.png
|
|||||||
Source16: %{name}-copy-platform.sh
|
Source16: %{name}-copy-platform.sh
|
||||||
Source17: %{name}-efj-wrapper.sh
|
Source17: %{name}-efj-wrapper.sh
|
||||||
Source19: %{name}-filenamepatterns.txt
|
Source19: %{name}-filenamepatterns.txt
|
||||||
Source20: ecj.sh.in
|
|
||||||
Source21: rebuild-sdk-features
|
Source21: rebuild-sdk-features
|
||||||
|
|
||||||
# Build libswt-mozilla and libswt-cairo and use O2
|
# Build libswt-mozilla and libswt-cairo and use O2
|
||||||
@ -543,7 +547,6 @@ popd
|
|||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
env
|
|
||||||
ORIGCLASSPATH=$CLASSPATH
|
ORIGCLASSPATH=$CLASSPATH
|
||||||
|
|
||||||
%if %{gcj_support}
|
%if %{gcj_support}
|
||||||
@ -570,20 +573,25 @@ ORIGCLASSPATH=$CLASSPATH
|
|||||||
# Delete our modified ecj and restore the backup
|
# Delete our modified ecj and restore the backup
|
||||||
rm -rf ecj-bootstrap-tmp
|
rm -rf ecj-bootstrap-tmp
|
||||||
|
|
||||||
|
%if %{native_ecj}
|
||||||
# 1b. Natively-compile it
|
# 1b. Natively-compile it
|
||||||
gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
|
gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
|
||||||
-o ecj-bootstrap.jar.so ecj-bootstrap.jar
|
-o ecj-bootstrap.jar.so ecj-bootstrap.jar
|
||||||
|
|
||||||
gcj-dbtool -n ecj-bootstrap.db 30000
|
gcj-dbtool -n ecj-bootstrap.db 30000
|
||||||
gcj-dbtool -a ecj-bootstrap.db ecj-bootstrap.jar{,.so}
|
gcj-dbtool -a ecj-bootstrap.db ecj-bootstrap.jar{,.so}
|
||||||
|
%endif
|
||||||
|
|
||||||
# 2a. Build ecj
|
# 2a. Build ecj
|
||||||
export CLASSPATH=ecj-bootstrap.jar:$ORIGCLASSPATH
|
export CLASSPATH=ecj-bootstrap.jar:$ORIGCLASSPATH
|
||||||
|
%if %{native_ecj}
|
||||||
export ANT_OPTS="-Dgnu.gcj.precompiled.db.path=`pwd`/ecj-bootstrap.db"
|
export ANT_OPTS="-Dgnu.gcj.precompiled.db.path=`pwd`/ecj-bootstrap.db"
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
ant -buildfile jdtcoresrc/compilejdtcorewithjavac.xml
|
ant -buildfile jdtcoresrc/compilejdtcorewithjavac.xml
|
||||||
|
|
||||||
%if %{gcj_support}
|
%if %{gcj_support}
|
||||||
|
%if %{native_ecj}
|
||||||
# 2b. Natively-compile ecj
|
# 2b. Natively-compile ecj
|
||||||
gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
|
gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
|
||||||
-o jdtcoresrc/ecj.jar.so jdtcoresrc/ecj.jar
|
-o jdtcoresrc/ecj.jar.so jdtcoresrc/ecj.jar
|
||||||
@ -597,12 +605,14 @@ ant -buildfile jdtcoresrc/compilejdtcorewithjavac.xml
|
|||||||
# To enSURE we're not using any pre-compiled ecj on the build system, set this
|
# To enSURE we're not using any pre-compiled ecj on the build system, set this
|
||||||
export ANT_OPTS="-Dgnu.gcj.precompiled.db.path=`pwd`/jdtcoresrc/ecj.db"
|
export ANT_OPTS="-Dgnu.gcj.precompiled.db.path=`pwd`/jdtcoresrc/ecj.db"
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
# 3. Use this ecj to rebuild itself
|
# 3. Use this ecj to rebuild itself
|
||||||
export CLASSPATH=`pwd`/jdtcoresrc/ecj.jar:$ORIGCLASSPATH
|
export CLASSPATH=`pwd`/jdtcoresrc/ecj.jar:$ORIGCLASSPATH
|
||||||
ant -buildfile jdtcoresrc/compilejdtcore.xml
|
ant -buildfile jdtcoresrc/compilejdtcore.xml
|
||||||
|
|
||||||
%if %{gcj_support}
|
%if %{gcj_support}
|
||||||
|
%if %{native_ecj}
|
||||||
# Natively-compile it
|
# Natively-compile it
|
||||||
gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
|
gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
|
||||||
-o ecj.jar.so ecj.jar
|
-o ecj.jar.so ecj.jar
|
||||||
@ -613,6 +623,7 @@ ant -buildfile jdtcoresrc/compilejdtcore.xml
|
|||||||
# Remove old native bits
|
# Remove old native bits
|
||||||
rm jdtcoresrc/ecj.db jdtcoresrc/ecj.jar.so
|
rm jdtcoresrc/ecj.db jdtcoresrc/ecj.jar.so
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
# Build the rest of Eclipse
|
# Build the rest of Eclipse
|
||||||
export CLASSPATH=`pwd`/ecj.jar:$ORIGCLASSPATH
|
export CLASSPATH=`pwd`/ecj.jar:$ORIGCLASSPATH
|
||||||
@ -651,6 +662,8 @@ tar -C $RPM_BUILD_ROOT%{_datadir} -zxf \
|
|||||||
result/linux-gtk-%{eclipse_arch}-sdk.tar.gz
|
result/linux-gtk-%{eclipse_arch}-sdk.tar.gz
|
||||||
|
|
||||||
pushd $RPM_BUILD_ROOT%{_datadir}/%{name}
|
pushd $RPM_BUILD_ROOT%{_datadir}/%{name}
|
||||||
|
# extract jdtCompilerAdapter.jar from org.eclipse.jdt.core_3.1.2.jar
|
||||||
|
unzip -d plugins plugins/org.eclipse.jdt.core_3.1.2.jar jdtCompilerAdapter.jar
|
||||||
|
|
||||||
# Extract .so files
|
# Extract .so files
|
||||||
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=90535
|
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=90535
|
||||||
@ -908,13 +921,18 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/java
|
|||||||
ln -s %{_datadir}/%{name}/plugins/org.eclipse.jdt.core_%{eclipse_majmin}.%{eclipse_micro}.jar \
|
ln -s %{_datadir}/%{name}/plugins/org.eclipse.jdt.core_%{eclipse_majmin}.%{eclipse_micro}.jar \
|
||||||
$RPM_BUILD_ROOT%{_datadir}/java/eclipse-ecj.jar
|
$RPM_BUILD_ROOT%{_datadir}/java/eclipse-ecj.jar
|
||||||
|
|
||||||
# Install /usr/bin/ecj script
|
|
||||||
sed 's:@JAVADIR@:%{_javadir}:g' < %{SOURCE20} > ecj
|
|
||||||
install -m755 ecj $RPM_BUILD_ROOT%{_bindir}
|
|
||||||
rm ecj
|
|
||||||
|
|
||||||
%if %{gcj_support}
|
%if %{gcj_support}
|
||||||
aot-compile-rpm
|
aot-compile-rpm
|
||||||
|
|
||||||
|
# Build and install ecj binary
|
||||||
|
pushd $RPM_BUILD_ROOT%{_libdir}/gcj/%{name}
|
||||||
|
gcj -g -O2 --main=org.eclipse.jdt.internal.compiler.batch.Main \
|
||||||
|
-Wl,-R,%{_libdir}/gcj/%{name} \
|
||||||
|
org.eclipse.jdt.core_3.1.2.jar.so jdtCompilerAdapter.jar.so -o \
|
||||||
|
$RPM_BUILD_ROOT%{_bindir}/ecj
|
||||||
|
popd
|
||||||
|
chmod a+x $RPM_BUILD_ROOT%{_bindir}/ecj
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
@ -1041,12 +1059,15 @@ fi
|
|||||||
%dir %{_datadir}/%{name}/features
|
%dir %{_datadir}/%{name}/features
|
||||||
%dir %{_datadir}/%{name}/configuration
|
%dir %{_datadir}/%{name}/configuration
|
||||||
%{_datadir}/%{name}/plugins/org.eclipse.jdt.core_3.*
|
%{_datadir}/%{name}/plugins/org.eclipse.jdt.core_3.*
|
||||||
|
%{_datadir}/%{name}/plugins/jdtCompilerAdapter.jar
|
||||||
%{_datadir}/java/eclipse-ecj.jar
|
%{_datadir}/java/eclipse-ecj.jar
|
||||||
%if %{gcj_support}
|
%if %{gcj_support}
|
||||||
# Native bits
|
# Native bits
|
||||||
%dir %{_libdir}/gcj/%{name}
|
%dir %{_libdir}/gcj/%{name}
|
||||||
%{_libdir}/gcj/%{name}/org.eclipse.jdt.core_3.1.2.jar.so
|
%{_libdir}/gcj/%{name}/org.eclipse.jdt.core_3.1.2.jar.so
|
||||||
%{_libdir}/gcj/%{name}/org.eclipse.jdt.core_3.1.2.jar.db
|
%{_libdir}/gcj/%{name}/org.eclipse.jdt.core_3.1.2.jar.db
|
||||||
|
%{_libdir}/gcj/%{name}/jdtCompilerAdapter.jar.so
|
||||||
|
%{_libdir}/gcj/%{name}/jdtCompilerAdapter.jar.db
|
||||||
%{_bindir}/ecj
|
%{_bindir}/ecj
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -1278,6 +1299,12 @@ fi
|
|||||||
%{_datadir}/%{name}/plugins/org.eclipse.platform.source.linux.gtk.*_%{version}
|
%{_datadir}/%{name}/plugins/org.eclipse.platform.source.linux.gtk.*_%{version}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Mar 03 2006 Andrew Overholt <overholt@redhat.com> 3.1.2-1jpp_12fc
|
||||||
|
- Only build with a native ecj on x86{,_64}
|
||||||
|
- Make /usr/bin/ecj native again as it's slow as a script with gij and
|
||||||
|
the chances of a someone using a proprietary JDK and not seeing their
|
||||||
|
javac alternative are slim.
|
||||||
|
|
||||||
* Tue Feb 28 2006 Andrew Overholt <overholt@redhat.com> 3.1.2-1jpp_12fc
|
* Tue Feb 28 2006 Andrew Overholt <overholt@redhat.com> 3.1.2-1jpp_12fc
|
||||||
- Update to tomcat 5.5 (e.o#98371).
|
- Update to tomcat 5.5 (e.o#98371).
|
||||||
- Don't build on ppc64 until we get the tomcat situation straightened out.
|
- Don't build on ppc64 until we get the tomcat situation straightened out.
|
||||||
|
Loading…
Reference in New Issue
Block a user