Class GppLinker

  • All Implemented Interfaces:
    java.lang.Cloneable, Linker, Processor

    public class GppLinker
    extends AbstractLdLinker
    Adapter for the g++ variant of the GCC linker
    • Field Detail

      • discardFiles

        protected static final java.lang.String[] discardFiles
      • objFiles

        protected static final java.lang.String[] objFiles
      • dllLinker

        private static final GppLinker dllLinker
      • libtoolObjFiles

        protected static final java.lang.String[] libtoolObjFiles
      • linkerOptions

        private static java.lang.String[] linkerOptions
      • instance

        private static final GppLinker instance
      • machDllLinker

        private static final GppLinker machDllLinker
      • machPluginLinker

        private static final GppLinker machPluginLinker
      • libDirs

        private java.io.File[] libDirs
      • runtimeLibrary

        private java.lang.String runtimeLibrary
    • Constructor Detail

      • GppLinker

        protected GppLinker​(java.lang.String command,
                            java.lang.String[] extensions,
                            java.lang.String[] ignoredExtensions,
                            java.lang.String outputPrefix,
                            java.lang.String outputSuffix,
                            boolean isLibtool,
                            GppLinker libtoolLinker)
    • Method Detail

      • getInstance

        public static GppLinker getInstance()
      • addLibrarySets

        public java.lang.String[] addLibrarySets​(CCTask task,
                                                 LibrarySet[] libsets,
                                                 java.util.Vector preargs,
                                                 java.util.Vector midargs,
                                                 java.util.Vector endargs)
        Overrides:
        addLibrarySets in class AbstractLdLinker
      • clone

        protected java.lang.Object clone()
                                  throws java.lang.CloneNotSupportedException
        Overrides:
        clone in class AbstractProcessor
        Throws:
        java.lang.CloneNotSupportedException
      • decorateLinkerOption

        public java.lang.String decorateLinkerOption​(java.lang.StringBuffer buf,
                                                     java.lang.String arg)
        Allows drived linker to decorate linker option. Override by GppLinker to prepend a "-Wl," to pass option to through gcc to linker.
        Overrides:
        decorateLinkerOption in class CommandLineLinker
        Parameters:
        buf - buffer that may be used and abused in the decoration process, must not be null.
        arg - linker argument
      • getLinker

        public Linker getLinker​(LinkType type)
        Description copied from interface: Linker
        Gets the linker for the specified link type.
        Returns:
        appropriate linker or null, will return this if this linker can handle the specified link type
      • superlink

        private void superlink​(CCTask task,
                               java.io.File outputFile,
                               java.lang.String[] sourceFiles,
                               CommandLineLinkerConfiguration config)
                        throws org.apache.tools.ant.BuildException
        Throws:
        org.apache.tools.ant.BuildException