487 }
488 i++;
489 } else {
490 sb.append(ch);
491 }
492 }
493
494 return sb.toString();
495 }
496 }
497
498 abstract class GenericDebugConfig extends BuildConfig {
499 abstract String getOptFlag();
500
501 protected void init(Vector includes, Vector defines) {
502 defines.add("_DEBUG");
503 defines.add("ASSERT");
504
505 super.init(includes, defines);
506
507 getV("CompilerFlags").addAll(getCI().getDebugCompilerFlags(getOptFlag()));
508 getV("LinkerFlags").addAll(getCI().getDebugLinkerFlags());
509 }
510 }
511
512 abstract class GenericDebugNonKernelConfig extends GenericDebugConfig {
513 protected void init(Vector includes, Vector defines) {
514 super.init(includes, defines);
515 getCI().getAdditionalNonKernelLinkerFlags(getV("LinkerFlags"));
516 }
517 }
518
519 class C1DebugConfig extends GenericDebugNonKernelConfig {
520 String getOptFlag() {
521 return getCI().getNoOptFlag();
522 }
523
524 C1DebugConfig() {
525 initNames("compiler1", "debug", "jvm.dll");
526 init(getIncludes(), getDefines());
527 }
602 }
603
604 class C2ProductConfig extends ProductConfig {
605 C2ProductConfig() {
606 initNames("compiler2", "product", "jvm.dll");
607 init(getIncludes(), getDefines());
608 }
609 }
610
611 class TieredProductConfig extends ProductConfig {
612 TieredProductConfig() {
613 initNames("tiered", "product", "jvm.dll");
614 init(getIncludes(), getDefines());
615 }
616 }
617
618
619 abstract class CompilerInterface {
620 abstract Vector getBaseCompilerFlags(Vector defines, Vector includes, String outDir);
621 abstract Vector getBaseLinkerFlags(String outDir, String outDll, String platformName);
622 abstract Vector getDebugCompilerFlags(String opt);
623 abstract Vector getDebugLinkerFlags();
624 abstract void getAdditionalNonKernelLinkerFlags(Vector rv);
625 abstract Vector getProductCompilerFlags();
626 abstract Vector getProductLinkerFlags();
627 abstract String getOptFlag();
628 abstract String getNoOptFlag();
629 abstract String makeCfgName(String flavourBuild, String platformName);
630
631 void addAttr(Vector receiver, String attr, String value) {
632 receiver.add(attr); receiver.add(value);
633 }
634 void extAttr(Vector receiver, String attr, String value) {
635 int attr_pos=receiver.indexOf(attr) ;
636 if ( attr_pos == -1) {
637 // If attr IS NOT present in the Vector - add it
638 receiver.add(attr); receiver.add(value);
639 } else {
640 // If attr IS present in the Vector - append value to it
641 receiver.set(attr_pos+1,receiver.get(attr_pos+1)+value);
642 }
|
487 }
488 i++;
489 } else {
490 sb.append(ch);
491 }
492 }
493
494 return sb.toString();
495 }
496 }
497
498 abstract class GenericDebugConfig extends BuildConfig {
499 abstract String getOptFlag();
500
501 protected void init(Vector includes, Vector defines) {
502 defines.add("_DEBUG");
503 defines.add("ASSERT");
504
505 super.init(includes, defines);
506
507 getV("CompilerFlags").addAll(getCI().getDebugCompilerFlags(getOptFlag(), get("PlatformName")));
508 getV("LinkerFlags").addAll(getCI().getDebugLinkerFlags());
509 }
510 }
511
512 abstract class GenericDebugNonKernelConfig extends GenericDebugConfig {
513 protected void init(Vector includes, Vector defines) {
514 super.init(includes, defines);
515 getCI().getAdditionalNonKernelLinkerFlags(getV("LinkerFlags"));
516 }
517 }
518
519 class C1DebugConfig extends GenericDebugNonKernelConfig {
520 String getOptFlag() {
521 return getCI().getNoOptFlag();
522 }
523
524 C1DebugConfig() {
525 initNames("compiler1", "debug", "jvm.dll");
526 init(getIncludes(), getDefines());
527 }
602 }
603
604 class C2ProductConfig extends ProductConfig {
605 C2ProductConfig() {
606 initNames("compiler2", "product", "jvm.dll");
607 init(getIncludes(), getDefines());
608 }
609 }
610
611 class TieredProductConfig extends ProductConfig {
612 TieredProductConfig() {
613 initNames("tiered", "product", "jvm.dll");
614 init(getIncludes(), getDefines());
615 }
616 }
617
618
619 abstract class CompilerInterface {
620 abstract Vector getBaseCompilerFlags(Vector defines, Vector includes, String outDir);
621 abstract Vector getBaseLinkerFlags(String outDir, String outDll, String platformName);
622 abstract Vector getDebugCompilerFlags(String opt, String platformName);
623 abstract Vector getDebugLinkerFlags();
624 abstract void getAdditionalNonKernelLinkerFlags(Vector rv);
625 abstract Vector getProductCompilerFlags();
626 abstract Vector getProductLinkerFlags();
627 abstract String getOptFlag();
628 abstract String getNoOptFlag();
629 abstract String makeCfgName(String flavourBuild, String platformName);
630
631 void addAttr(Vector receiver, String attr, String value) {
632 receiver.add(attr); receiver.add(value);
633 }
634 void extAttr(Vector receiver, String attr, String value) {
635 int attr_pos=receiver.indexOf(attr) ;
636 if ( attr_pos == -1) {
637 // If attr IS NOT present in the Vector - add it
638 receiver.add(attr); receiver.add(value);
639 } else {
640 // If attr IS present in the Vector - append value to it
641 receiver.set(attr_pos+1,receiver.get(attr_pos+1)+value);
642 }
|