[Title] Support rpath option
authorho.namkoong <ho.namkoong@samsung.com>
Thu, 18 Apr 2013 09:30:03 +0000 (18:30 +0900)
committerho.namkoong <ho.namkoong@samsung.com>
Thu, 18 Apr 2013 10:36:07 +0000 (19:36 +0900)
[Type]
[Module]
[Priority]
[Jira#]
[Redmine#] 9010
[Problem]
[Cause]
[Solution]
[TestCase]

Change-Id: I0877dbb814277eafaec5cc7d233b597c294d186c

org.tizen.cli/src/org/tizen/cli/exec/gen/CLIProjectGenerator.java
org.tizen.cli/src/org/tizen/cli/exec/gen/NativeMain.java

index ca138d6..e31ed3a 100644 (file)
@@ -45,6 +45,7 @@ import org.tizen.nativecommon.templateengine.build.model.DevPackageModel;
 import org.tizen.nativecommon.templateengine.build.model.RootstrapModel;
 import org.tizen.nativecommon.templateengine.build.model.TargetModel;
 import org.tizen.nativecommon.templateengine.build.model.ToolchainModel;
+import org.tizen.nativecommon.templateengine.build.util.BuildPluginUtil;
 import org.tizen.nativecommon.templateengine.model.TizenTemplate;
 import org.tizen.nativecommon.templateengine.process.TizenProcessRunner;
 import org.tizen.nativecommon.templateengine.util.TemplateUtil;
@@ -264,4 +265,10 @@ public class CLIProjectGenerator extends AbstractProjectGenerator {
         template.setProperty(MACRO_PRJTYPE, projectType);
         template.setProperty(MACRO_TOOLCHAIN, toolChainName);
     }
+
+    @Override
+    protected String getRPathOption() {
+        String appInstPath = BuildPluginUtil.PATH_APP + "$(APPID)";
+        return BuildPluginUtil.OSP_LIB_RPATH_OPTION.replace("$(" + TizenTemplateEngine.MACRO_APP_INST_PATH + ")", appInstPath);
+    }
 }
index ddd43dd..dc6ac6c 100644 (file)
@@ -187,7 +187,14 @@ public class NativeMain extends AbstractLauncher {
     }
 
     private void executeMakefile(CommandLine cmdLine) throws Exception {
+        
         Prompter prompter = getPrompter();
+        File manifestFile = new File("manifest.xml");
+        
+        if(!manifestFile.exists()) {
+            prompter.error("manifext.xml does not exist.");
+            return;
+        }
         
         String projectType = cmdLine.getOptionValue(OPTION_MAKE_PROJECTTYPE);
         String projectId = PROJECTTYPE_MAP.get(projectType);
@@ -215,11 +222,15 @@ public class NativeMain extends AbstractLauncher {
         }
         
         TizenTemplate template = new TizenTemplate("", binaryName, projectPath);
+        Map<String, String> valueStore = new HashMap<String, String>();
+        TizenTemplateEngine.setRpathOption(valueStore, target, template);
+        
         template.setProperty(TizenTemplate.PROPERTY_KEY_PROJECTTYPE, projectId);
         template.setProperty(TizenTemplate.PROPERTY_KEY_EMUL_TARGET, target);
         template.setProperty(TizenTemplate.PROPERTY_KEY_DEV_TARGET, target);
         
         CLIProjectGenerator generator = new CLIProjectGenerator();
+        generator.setTemplate(template);
         BuildProperty buildProperty = BuildPluginManagerForCLI.getBuildPropertyFromDevPkgs(devPkgList, template, target, new CLIProjectGenerator());
         
         template.setProperty(TizenTemplate.PROPERTY_KEY_EMUL_BUILD_PROPERTY, buildProperty);
@@ -227,7 +238,6 @@ public class NativeMain extends AbstractLauncher {
         
         generator.doRemainingJob(devPkgList, template, target);
         
-        Map<String, String> valueStore = new HashMap<String, String>();
         generator.pressDefaultPostValueStore(valueStore, template);
         generator.pressPostValueStoreFromDevPkg(valueStore, template);
         generator.createBuildFiles(valueStore, template);