Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-swt-dev] Circular dependencies in SWT 3.0 M8 (native compilation with GCJ)


Hi Erik,

The SWT jar file is built by selecting a list of source folders and having all these files compiled TOGETHER. Each source folder is not meant to be an independant compilation entity.
For example, the Eclipse nightly build uses the build.xml file available in the org.eclipse.swt.gtk fragment. In particular, it uses the ant javac command with the following set of source folders. The Eclipse IDE gets that information from the .classpath_gtk file available in the org.eclipse.swt project.
The source folders are used to factorize some of the code shared between platforms and the code specific to a given platform/profile.

Hope this clears a little bit the issues you encontered. Don't hesitate to ask for more details,

Chris

                <javac destdir="${temp.folder}/ws/gtk/swt.jar.bin" verbose="true" debug="on" failonerror="no" bootclasspath="${bootclasspath}" classpath="${build.result.folder}/ws/gtk/swt-pi.jar;${build.result.folder}/ws/gtk/swt-mozilla.jar" source="1.3" target="1.2">
                        <src path="${plugindir}/Eclipse SWT/gtk/"/>
                        <src path="${plugindir}/Eclipse SWT/emulated/bidi/"/>
                        <src path="${plugindir}/Eclipse SWT/emulated/coolbar/"/>
                        <src path="${plugindir}/Eclipse SWT/common/"/>
                        <src path="${plugindir}/Eclipse SWT/common_j2se/"/>
                        <src path="${plugindir}/Eclipse SWT Accessibility/gtk/"/>
                        <src path="${plugindir}/Eclipse SWT Accessibility/common/"/>
                        <src path="${plugindir}/Eclipse SWT AWT/gtk/"/>
                        <src path="${plugindir}/Eclipse SWT AWT/common/"/>
                        <src path="${plugindir}/Eclipse SWT Drag and Drop/gtk/"/>
                        <src path="${plugindir}/Eclipse SWT Drag and Drop/common/"/>
                        <src path="${plugindir}/Eclipse SWT Printing/gtk/"/>
                        <src path="${plugindir}/Eclipse SWT Printing/common/"/>
                        <src path="${plugindir}/Eclipse SWT Program/gtk/"/>
                        <src path="${plugindir}/Eclipse SWT Program/common/"/>
                        <src path="${plugindir}/Eclipse SWT Custom Widgets/common/"/>
                        <src path="${plugindir}/Eclipse SWT Browser/common/"/>
                        <src path="${plugindir}/Eclipse SWT Browser/mozilla/"/>
                </javac>


platform-swt-dev-admin@xxxxxxxxxxx wrote on 04/16/2004 09:29:46 AM:

>
> I'm hitting a good number of circular dependencies in SWT 3.0 M8
> (aka SWT 3.044).
>
> TrayItem (org-eclipse-swt-emulated-tray) extends Item (org-eclipse-swt-common)
>
> At the same time TrayItem is used in the org-eclipse-swt-common source tree.
>
> (I'm referring to source trees and not namespaces.)
>
> You must have java compiler superpowers to get that kind of
> circularities compiling
> correctly! I wonder what build system you are using to get this going.
>
> I can see that the source trees were split more granularly, in order
> to make them
> more manageable; all of which are commendable efforts. However, if
> the splitting
> leads to untractable circularities, it precludes compilation with
> ordinary compilers.
> Only superpowers can help here!
> _______________________________________________
> platform-swt-dev mailing list
> platform-swt-dev@xxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/platform-swt-dev

Back to the top