Hi,

* Matt Whitlock <m...@whitlock.name> [2010-08-10 16:33]:
>       3. Remove from build.xml the steps that handle symlinking to 
> dependencies. (The system-installed dependencies in Gentoo do not have OSGi 
> metadata, so we're forced to set up unpacked bundles in Eclipse's plugins 
> directory that contain the OSGi metadata and symlinks to the system-installed 
> JARs.)

That's unfortunate.

>       5. Strip the building of the SWT native libraries from build.xml since 
> SWT is installed independently on Gentoo.

That could be tricky if the system SWT isn't the same level but if it
works ... :)

>       7. Remove the doc plugins if the user has the "doc" USE flag disabled.

Do you also patch them out of the features that include them?

>       9. Create the plugins for the external dependencies by copying the 
> manifests from dependencyManifests and symlinking to the system-installed 
> JARs. (Getting this to work requires a relatively great amount of effort to 
> fix up all the build.xml files.)

Yeah, the lack of OSGi-ified dependencies will always be a PITA.

> If it weren't for your efforts with Eclipse Build, building Eclipse
> would be completely impossible for anyone lacking intimate internal
> knowledge of PDE Build, Equinox, and P2.

We're glad it's useful for you :)

> -                     "org.hamcrest.core", new VersionRange("[1.1.0,2.0.0)"), 
> null, "org.hamcrest.core.source", "source-bundle/", 
> JUnitPreferencesConstants.HAMCREST_CORE_JAVADOC); //$NON-NLS-1$ //$NON-NLS-2$ 
> //$NON-NLS-3$ //$NON-NLS-4$
> +                     "org.hamcrest.core", new VersionRange("[1.1.0,2.0.0)"), 
> "hamcrest-core.jar", "org.hamcrest.core.source", "source-bundle/", 
> JUnitPreferencesConstants.HAMCREST_CORE_JAVADOC); //$NON-NLS-1$ //$NON-NLS-2$ 
> //$NON-NLS-3$ //$NON-NLS-4$

This will likely have to remain a Gentoo-local patch.

> -LFLAGS = ${M_ARCH} -shared -fpic -Wl,--export-dynamic 
> -CFLAGS = ${M_ARCH} -g -s -Wall\
> +LFLAGS = ${M_ARCH} -shared -Wl,-soname=$(PROGRAM_SONAME) -fpic 
> -Wl,--export-dynamic 
> +CFLAGS += ${M_ARCH} -Wall\
>       -fpic \
>       -DLINUX \
>       -DMOZILLA_FIX \
> @@ -95,10 +96,10 @@
>       $(CC) $(CFLAGS) -c ../eclipseNix.c -o eclipseNix.o
>  
>  $(EXEC): $(MAIN_OBJS) $(COMMON_OBJS)
> -     $(CC) ${M_ARCH} -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS)
> +     $(CC) ${M_ARCH} $(LDFLAGS) -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) 
> $(LIBS)
>       
>  $(DLL): $(DLL_OBJS) $(COMMON_OBJS)
> -     $(CC) $(LFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS)
> +     $(CC) $(LDFLAGS) $(LFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS)

Have you considered offering this to the Equinox team?  Andrew Niefer is
a good guy and will take patches that make sense.

Thanks for the explanation, Matt.

Andrew
_______________________________________________
linuxtools-dev mailing list
linuxtools-dev@eclipse.org
https://dev.eclipse.org/mailman/listinfo/linuxtools-dev

Reply via email to