aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/modules
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2014-01-21 10:40:48 +0100
committerChristian Kandeler <christian.kandeler@digia.com>2014-01-21 15:45:06 +0100
commitc76ded1b7908c0a06531702a44bda74692479afd (patch)
tree09c8d64ec577d3162cb1dec7accab46fa50ce8e2 /share/qbs/modules
parentdd6048b28f3e016b25a3b7e7124ed9ec07b50043 (diff)
Make ModUtils a proper import.
So we don't have to duplicate the file for the qtprofilesetup library. We still consider it internal, though. Change-Id: Iea92b141830bc7af821b13c0270372b784f1feb7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'share/qbs/modules')
-rw-r--r--share/qbs/modules/cpp/DarwinGCC.qbs2
-rw-r--r--share/qbs/modules/cpp/GenericGCC.qbs2
-rw-r--r--share/qbs/modules/cpp/darwin-tools.js1
-rw-r--r--share/qbs/modules/cpp/ios-gcc.qbs2
-rw-r--r--share/qbs/modules/cpp/osx-gcc.qbs2
-rw-r--r--share/qbs/modules/cpp/windows-mingw.qbs2
-rw-r--r--share/qbs/modules/cpp/windows-msvc.qbs2
-rw-r--r--share/qbs/modules/ib/IBModule.qbs2
-rwxr-xr-xshare/qbs/modules/nsis/NSISModule.qbs2
-rw-r--r--share/qbs/modules/utils.js186
-rw-r--r--share/qbs/modules/wix/WiXModule.qbs2
11 files changed, 10 insertions, 195 deletions
diff --git a/share/qbs/modules/cpp/DarwinGCC.qbs b/share/qbs/modules/cpp/DarwinGCC.qbs
index a6b8d2dd5..7804f521a 100644
--- a/share/qbs/modules/cpp/DarwinGCC.qbs
+++ b/share/qbs/modules/cpp/DarwinGCC.qbs
@@ -3,7 +3,7 @@ import qbs.File
import qbs.Process
import qbs.TextFile
import qbs.FileInfo
-import '../utils.js' as ModUtils
+import qbs.ModUtils
import "bundle-tools.js" as BundleTools
import "darwin-tools.js" as DarwinTools
diff --git a/share/qbs/modules/cpp/GenericGCC.qbs b/share/qbs/modules/cpp/GenericGCC.qbs
index 1547d6a43..0bb26b072 100644
--- a/share/qbs/modules/cpp/GenericGCC.qbs
+++ b/share/qbs/modules/cpp/GenericGCC.qbs
@@ -1,10 +1,10 @@
import qbs 1.0
import qbs.File
import qbs.FileInfo
+import qbs.ModUtils
import qbs.Process
import 'windows.js' as Windows
import 'gcc.js' as Gcc
-import '../utils.js' as ModUtils
import 'bundle-tools.js' as BundleTools
import 'path-tools.js' as PathTools
diff --git a/share/qbs/modules/cpp/darwin-tools.js b/share/qbs/modules/cpp/darwin-tools.js
index fe49351fc..86c99ff9c 100644
--- a/share/qbs/modules/cpp/darwin-tools.js
+++ b/share/qbs/modules/cpp/darwin-tools.js
@@ -1,3 +1,4 @@
+
// replace chars non safe for a domain name (rfc1034) with a "-"
function rfc1034(inStr)
{
diff --git a/share/qbs/modules/cpp/ios-gcc.qbs b/share/qbs/modules/cpp/ios-gcc.qbs
index 122e3063c..02af5b6d9 100644
--- a/share/qbs/modules/cpp/ios-gcc.qbs
+++ b/share/qbs/modules/cpp/ios-gcc.qbs
@@ -1,7 +1,7 @@
import qbs 1.0
import qbs.File
import qbs.FileInfo
-import '../utils.js' as ModUtils
+import qbs.ModUtils
import 'darwin-tools.js' as DarwinTools
import 'bundle-tools.js' as BundleTools
diff --git a/share/qbs/modules/cpp/osx-gcc.qbs b/share/qbs/modules/cpp/osx-gcc.qbs
index eb6fefc50..32af2b300 100644
--- a/share/qbs/modules/cpp/osx-gcc.qbs
+++ b/share/qbs/modules/cpp/osx-gcc.qbs
@@ -1,5 +1,5 @@
import qbs 1.0
-import '../utils.js' as ModUtils
+import qbs.ModUtils
DarwinGCC {
condition: qbs.hostOS.contains('osx') && qbs.targetOS.contains('osx') && qbs.toolchain.contains('gcc')
diff --git a/share/qbs/modules/cpp/windows-mingw.qbs b/share/qbs/modules/cpp/windows-mingw.qbs
index c46a7432c..72172328e 100644
--- a/share/qbs/modules/cpp/windows-mingw.qbs
+++ b/share/qbs/modules/cpp/windows-mingw.qbs
@@ -1,6 +1,6 @@
import qbs 1.0
import qbs.FileInfo
-import '../utils.js' as ModUtils
+import qbs.ModUtils
import "windows.js" as Windows
GenericGCC {
diff --git a/share/qbs/modules/cpp/windows-msvc.qbs b/share/qbs/modules/cpp/windows-msvc.qbs
index 0c121c820..c112625bd 100644
--- a/share/qbs/modules/cpp/windows-msvc.qbs
+++ b/share/qbs/modules/cpp/windows-msvc.qbs
@@ -1,7 +1,7 @@
import qbs 1.0
import qbs.File
import qbs.FileInfo
-import '../utils.js' as ModUtils
+import qbs.ModUtils
import 'windows.js' as Windows
import 'msvc.js' as MSVC
import "bundle-tools.js" as BundleTools // needed for path-tools.js
diff --git a/share/qbs/modules/ib/IBModule.qbs b/share/qbs/modules/ib/IBModule.qbs
index cd45cfa2b..8bec1f5a0 100644
--- a/share/qbs/modules/ib/IBModule.qbs
+++ b/share/qbs/modules/ib/IBModule.qbs
@@ -1,7 +1,7 @@
import qbs 1.0
import qbs.FileInfo
+import qbs.ModUtils
import qbs.PropertyList
-import '../utils.js' as ModUtils
import "../cpp/bundle-tools.js" as BundleTools
import "../cpp/darwin-tools.js" as DarwinTools
diff --git a/share/qbs/modules/nsis/NSISModule.qbs b/share/qbs/modules/nsis/NSISModule.qbs
index a07f9f46d..77a72436b 100755
--- a/share/qbs/modules/nsis/NSISModule.qbs
+++ b/share/qbs/modules/nsis/NSISModule.qbs
@@ -1,7 +1,7 @@
import qbs 1.0
import qbs.File
import qbs.FileInfo
-import "../utils.js" as ModUtils
+import qbs.ModUtils
Module {
condition: qbs.targetOS.contains("windows")
diff --git a/share/qbs/modules/utils.js b/share/qbs/modules/utils.js
deleted file mode 100644
index 9ec02d8db..000000000
--- a/share/qbs/modules/utils.js
+++ /dev/null
@@ -1,186 +0,0 @@
-//
-// utility functions for modules
-//
-
-/*!
- * Given a list of file tags, returns the file tag (one of [c, cpp, objc, objcpp])
- * corresponding to the C-family language the file should be compiled as.
- *
- * If no such tag is found, undefined is returned. If more than one match is
- * found, an exception is thrown.
- */
-function fileTagForTargetLanguage(fileTags)
-{
- var srcTags = ["c", "cpp", "objc", "objcpp", "asm", "asm_cpp"];
- var pchTags = ["c_pch", "cpp_pch", "objc_pch", "objcpp_pch"];
-
- var canonicalTag = undefined;
- var foundTagCount = 0;
- for (var i = 0; i < fileTags.length; ++i) {
- var idx = srcTags.indexOf(fileTags[i]);
- if (idx === -1)
- idx = pchTags.indexOf(fileTags[i]);
-
- if (idx !== -1) {
- canonicalTag = srcTags[idx];
- if (++foundTagCount > 1)
- break;
- }
- }
-
- if (foundTagCount > 1)
- throw ("source files cannot be identified as more than one language");
-
- return foundTagCount == 1 ? canonicalTag : undefined;
-}
-
-/*
- * Returns the name of a language-specific property given the file tag
- * for that property, and the base property name.
- *
- * If \a fileTag is undefined, the language-agnostic property name is returned.
- *
- * \param propertyName flags, platformFlags, precompiledHeader
- * \param fileTag c, cpp, objc, objcpp
- */
-function languagePropertyName(propertyName, fileTag)
-{
- if (!fileTag)
- fileTag = 'common';
-
- var map = {
- 'c': {
- 'flags': 'cFlags',
- 'platformFlags': 'platformCFlags',
- 'precompiledHeader': 'cPrecompiledHeader'
- },
- 'cpp': {
- 'flags': 'cxxFlags',
- 'platformFlags': 'platformCxxFlags',
- 'precompiledHeader': 'cxxPrecompiledHeader'
- },
- 'objc': {
- 'flags': 'objcFlags',
- 'platformFlags': 'platformObjcFlags',
- 'precompiledHeader': 'objcPrecompiledHeader'
- },
- 'objcpp': {
- 'flags': 'objcxxFlags',
- 'platformFlags': 'platformObjcxxFlags',
- 'precompiledHeader': 'objcxxPrecompiledHeader'
- },
- 'common': {
- 'flags': 'commonCompilerFlags',
- 'platformFlags': 'platformCommonCompilerFlags',
- 'precompiledHeader': 'precompiledHeader'
- }
- };
-
- var lang = map[fileTag];
- if (!lang)
- return propertyName;
-
- return lang[propertyName] || propertyName;
-}
-
-function moduleProperties(config, key, langFilter)
-{
- return config.moduleProperties(config.moduleName, languagePropertyName(key, langFilter))
-}
-
-function modulePropertiesFromArtifacts(product, artifacts, moduleName, propertyName, langFilter)
-{
- var result = product.moduleProperties(moduleName, languagePropertyName(propertyName, langFilter))
- for (var i in artifacts)
- result = result.concat(artifacts[i].moduleProperties(moduleName, languagePropertyName(propertyName, langFilter)))
- return result
-}
-
-function moduleProperty(product, propertyName, langFilter)
-{
- return product.moduleProperty(product.moduleName, languagePropertyName(propertyName, langFilter))
-}
-
-function dumpProperty(key, value, level)
-{
- var indent = ''
- for (var k=0; k < level; ++k)
- indent += ' '
- print(indent + key + ': ' + value)
-}
-
-function traverseObject(obj, func, level)
-{
- if (!level)
- level = 0
- var i, children = {}
- for (i in obj) {
- if (typeof(obj[i]) === "object" && !(obj[i] instanceof Array))
- children[i] = obj[i]
- else
- func.apply(this, [i, obj[i], level])
- }
- level++
- for (i in children) {
- func.apply(this, [i, children[i], level - 1])
- traverseObject(children[i], func, level)
- }
- level--
-}
-
-function dumpObject(obj, description)
-{
- if (!description)
- description = 'object dump'
- print('+++++++++ ' + description + ' +++++++++')
- traverseObject(obj, dumpProperty)
-}
-
-function uniqueConcat(array1, array2)
-{
- var result = array1;
- for (i in array2) {
- var elem = array2[i];
- if (result.indexOf(elem) === -1)
- result.push(elem);
- }
- return result;
-}
-
-
-//////////////////////////////////////////////////////////
-// The EnvironmentVariable class
-//
-function EnvironmentVariable(name, separator, convertPathSeparators)
-{
- if (!name)
- throw "EnvironmentVariable c'tor needs a name as first argument."
- this.name = name
- this.value = getEnv(name).toString()
- this.separator = separator || ''
- this.convertPathSeparators = convertPathSeparators || false
-}
-
-EnvironmentVariable.prototype.prepend = function(v)
-{
- if (this.value.length > 0 && this.value.charAt(0) !== this.separator)
- this.value = this.separator + this.value
- if (this.convertPathSeparators)
- v = FileInfo.toWindowsSeparators(v)
- this.value = v + this.value
-}
-
-EnvironmentVariable.prototype.append = function(v)
-{
- if (this.value.length > 0)
- this.value += this.separator
- if (this.convertPathSeparators)
- v = FileInfo.toWindowsSeparators(v)
- this.value += v
-}
-
-EnvironmentVariable.prototype.set = function()
-{
- putEnv(this.name, this.value)
-}
-
diff --git a/share/qbs/modules/wix/WiXModule.qbs b/share/qbs/modules/wix/WiXModule.qbs
index c9d67fcf3..c5c405578 100644
--- a/share/qbs/modules/wix/WiXModule.qbs
+++ b/share/qbs/modules/wix/WiXModule.qbs
@@ -1,7 +1,7 @@
import qbs 1.0
import qbs.File
import qbs.FileInfo
-import "../utils.js" as ModUtils
+import qbs.ModUtils
Module {
condition: qbs.hostOS.contains("windows") && qbs.targetOS.contains("windows")