예제 #1
0
 protected void addImpliedArgs(boolean debug, LinkType linkType, Vector args) {
   super.addImpliedArgs(debug, linkType, args);
   if (getIdentifier().indexOf("mingw") >= 0) {
     if (linkType.isSubsystemConsole()) {
       args.addElement("-mconsole");
     }
     if (linkType.isSubsystemGUI()) {
       args.addElement("-mwindows");
     }
   }
 }
 public void addImpliedArgs(
     final Vector args,
     final boolean debug,
     final boolean multithreaded,
     final boolean exceptions,
     final LinkType linkType,
     final Boolean rtti,
     final OptimizationEnum optimization,
     final int cores) {
   args.addElement("-c");
   if (debug) {
     args.addElement("-g");
   }
   if (optimization != null) {
     if (optimization.isSpeed()) {
       args.addElement("-xO2");
     }
   }
   if (rtti != null) {
     if (rtti.booleanValue()) {
       args.addElement("-features=rtti");
     } else {
       args.addElement("-features=no%rtti");
     }
   }
   if (multithreaded) {
     args.addElement("-mt");
   }
   if (linkType.isSharedLibrary()) {
     args.addElement("-KPIC");
   }
 }
예제 #3
0
 public Linker getLinker(LinkType type) {
   if (type.isStaticLibrary()) {
     return GccLibrarian.getInstance();
   }
   if (type.isPluginModule()) {
     if (isDarwin()) {
       return machBundleLinker;
     } else {
       return dllLinker;
     }
   }
   if (type.isSharedLibrary()) {
     if (isDarwin()) {
       return machDllLinker;
     } else {
       return dllLinker;
     }
   }
   return instance;
 }
예제 #4
0
 public void addImpliedArgs(
     final Vector args,
     final boolean debug,
     final boolean multithreaded,
     final boolean exceptions,
     final LinkType linkType,
     final Boolean rtti,
     final OptimizationEnum optimization) {
   super.addImpliedArgs(args, debug, multithreaded, exceptions, linkType, rtti, optimization);
   if (isPICMeaningful && linkType.isSharedLibrary()) {
     args.addElement("-fPIC");
   }
 }