diff -r c3690ec91ef8 -r 923ff622b8b9 mkspecs/hb_functions.prf --- a/mkspecs/hb_functions.prf Wed Jun 23 18:33:25 2010 +0300 +++ b/mkspecs/hb_functions.prf Tue Jul 06 14:36:53 2010 +0300 @@ -91,9 +91,7 @@ # params: - # eg. $$hbUnixStyle():CMD=/path/to/cmd else:CMD=\path\to\cmd defineTest(hbUnixStyle) { - symbian|win32:!win32-g++ { - unixstyle = false - } else:win32-g++:isEmpty(QMAKE_SH) { + contains(QMAKE_HOST.os, Windows):isEmpty(QMAKE_SH) { unixstyle = false } else { unixstyle = true @@ -104,29 +102,46 @@ # params: # eg. features.path = $$hbNativePath($$[QMAKE_MKSPECS]/features) defineReplace(hbNativePath) { - hbUnixStyle() { - return($$quote(\"$$replace(1, "\\", "/")\")) + contains(QMAKE_HOST.os, Windows) { + isEmpty(QMAKE_SH) { + 1 = $$replace(1, \\\\, $$QMAKE_DIR_SEP) + 1 = $$replace(1, /, $$QMAKE_DIR_SEP) + } else { + 1 = $$replace(1, \\\\, /) + 1 = $$replace(1, /, /) + } } else { - return($$quote(\"$$replace(1, "/", "\\")\")) + 1 = $$replace(1, \\\\, $$QMAKE_DIR_SEP) + 1 = $$replace(1, /, $$QMAKE_DIR_SEP) } + + return($$quote(\"$$1\")) } # params: # eg. hbfoo.command = $$hbToolCommand(hbfoo) defineReplace(hbToolCommand) { - # tool in PATH? - hbUnixStyle():DEVNULL = /dev/null - else:DEVNULL = nul - system($$1 > $$DEVNULL 2>&1):return($$1) + symbian { + # tool in PATH? + exists(/dev/null) { + DEVNULL = /dev/null + } else { + DEVNULL = nul + } + system($$1 > $$DEVNULL 2>&1):return($$1) - # host build is runnable? - hbtoolcmd = $$hbNativePath($$HB_BUILD_DIR/bin/$$1) - system($$hbtoolcmd > $$DEVNULL 2>&1):return($$hbtoolcmd) + # host build is runnable? + hbtoolcmd = $$hbNativePath($$HB_BUILD_DIR/bin/$$1) + system($$hbtoolcmd > $$DEVNULL 2>&1):return($$hbtoolcmd) - # pre-built tool is runnable? - hbtoolcmd = $$hbNativePath($$sprintf("%1%2", $$HB_SOURCE_DIR/bin/$$1, "_symbian.exe")) - system($$hbtoolcmd > $$DEVNULL 2>&1):return($$hbtoolcmd) + # tool in HB_BIN_DIR? + hbtoolcmd = $$hbNativePath($$HB_BIN_DIR/$$1) + system($$hbtoolcmd > $$DEVNULL 2>&1):return($$hbtoolcmd) + # pre-built tool is runnable? + hbtoolcmd = $$hbNativePath($$sprintf("%1%2", $$HB_SOURCE_DIR/bin/$$1, "_symbian.exe")) + system($$hbtoolcmd > $$DEVNULL 2>&1):return($$hbtoolcmd) + } # fall back to /bin return($$hbNativePath($$HB_BUILD_DIR/bin/$$1)) } @@ -136,11 +151,17 @@ file = $$hbNativePath($$1) dir = $$hbNativePath($$2) - chk_dir_exists = $$QMAKE_CHK_DIR_EXISTS $$dir - mkdir = $$QMAKE_MKDIR $$dir - copy = $$QMAKE_COPY $$file $$dir + contains(QMAKE_HOST.os, Windows):isEmpty(QMAKE_SH) { + chk_dir_exists = if not exist $$dir + mkdir = mkdir $$dir + copy = copy /y $$file $$dir + } else { + chk_dir_exists = test -d $$dir + mkdir = mkdir -p $$dir + copy = cp $$file $$dir + } - hbUnixStyle():chk_dir_exists_mkdir = $$chk_dir_exists || $$mkdir + hbUnixStyle(): chk_dir_exists_mkdir = $$chk_dir_exists || $$mkdir else:chk_dir_exists_mkdir = $$chk_dir_exists $$mkdir return(($$chk_dir_exists_mkdir) && $$copy)