]> granicus.if.org Git - php/commitdiff
fix nmake clean in phpize mode
authorAnatol Belski <ab@php.net>
Mon, 29 Feb 2016 09:58:56 +0000 (10:58 +0100)
committerAnatol Belski <ab@php.net>
Mon, 29 Feb 2016 10:00:09 +0000 (11:00 +0100)
win32/build/Makefile.phpize
win32/build/confutils.js

index 1f92f7716c4817b0696291d26ded2dd1b77e15c3..cd74336039a82eb21c12a42b5dcf220bf052d351 100644 (file)
@@ -18,11 +18,13 @@ clean-pecl:
 \r
 clean-all:\r
        @echo Cleaning standard build dirs\r
+       cd $(BUILD_DIR)\r
        @for %D in (_x $(BUILD_DIRS_SUB)) do @if exist %D @rd /s /q %D\r
        -@del /f /q $(BUILD_DIR)\*.res $(BUILD_DIR)\*.manifest $(BUILD_DIR)\*.lib $(BUILD_DIR)\*.ilk $(BUILD_DIR)\*.pdb $(BUILD_DIR)\*.exp $(PHPDEF) $(BUILD_DIR)\*.rc $(BUILD_DIR)\*.dbg $(BUILD_DIR)\*.bin $(BUILD_DIR)\php*.dll $(BUILD_DIR)\php*.exe > NUL\r
 \r
 clean: clean-pecl\r
        @echo Cleaning distribution build dirs\r
+       cd $(BUILD_DIR)\r
        @for %D in (_x $(BUILD_DIRS_SUB)) do @if exist %D @del /F /Q %D\*.* > NUL\r
        -@del /F /Q $(BUILD_DIR)\*.res $(BUILD_DIR)\*.lib $(BUILD_DIR)\*.ilk $(BUILD_DIR)\*.pdb $(BUILD_DIR)\*.exp $(PHPDEF) $(BUILD_DIR)\php-$(PHP_VERSION_STRING)-Win32.zip $(BUILD_DIR)\pecl-$(PHP_VERSION_STRING)-Win32.zip > NUL\r
 \r
index c8e03a40ddfead0be7528c63e8839f06fe710a54..95f7985c3d6d5266722a53f7f5c625e4e5091147 100644 (file)
@@ -1472,10 +1472,16 @@ function ADD_SOURCES(dir, file_list, target, obj_dir)
                 * is not a problem as buildconf only checks for pecl
                 * as either a child or a sibling */
                if (obj_dir == null) {
-                       var build_dir = (dirname ? (dir + "\\" + dirname) : dir).replace(new RegExp("^..\\\\"), "");
+                       if (MODE_PHPIZE) {
+                               /* In the phpize mode, the subdirs are always relative to BUID_DIR.
+                                       No need to differentiate by extension, only one gets built. */
+                               var build_dir = (dirname ? dirname : "").replace(new RegExp("^..\\\\"), "");
+                       } else {
+                               var build_dir = (dirname ? (dir + "\\" + dirname) : dir).replace(new RegExp("^..\\\\"), "");
+                       }
                }
                else {
-                       var build_dir = obj_dir.replace(new RegExp("^..\\\\"), "");
+                       var build_dir = (dirname ? obj_dir + "\\" + dirname : obj_dir).replace(new RegExp("^..\\\\"), "");
                }
 
                obj = sub_build + build_dir + "\\" + filename.replace(re, ".obj"); 
@@ -2141,7 +2147,16 @@ function ADD_FLAG(name, flags, target)
        if (configure_subst.Exists(name)) {
                var curr_flags = configure_subst.Item(name);
 
-               if (curr_flags.indexOf(flags) >= 0) {
+               /* Prefix with a space, thus making sure the
+                  current flag is not a substring of some
+                  other. It's still not a complete check if
+                  some flags with spaces got added. 
+
+                  TODO rework to use an array, so direct
+                       match can be done. This will also
+                       help to normalize flags and to not
+                       to insert duplicates. */
+               if (curr_flags.indexOf(" " + flags) >= 0) {
                        return;
                }