]> granicus.if.org Git - p11-kit/commitdiff
build: Adjust executable/module names for Windows
authorDaiki Ueno <dueno@redhat.com>
Wed, 15 Feb 2017 11:05:33 +0000 (12:05 +0100)
committerDaiki Ueno <ueno@gnu.org>
Thu, 16 Feb 2017 15:17:14 +0000 (16:17 +0100)
Append EXEEXT or SHLEXT to the filename if needed.

configure.ac
p11-kit/p11-kit.c
p11-kit/test-transport.c

index 3ff62ccff06d90513f7d2a4ca5df4aa914dabe02..e192edf1f0943409b811e05505cf52c0ddf2a068 100644 (file)
@@ -488,6 +488,8 @@ esac
 AC_DEFINE_UNQUOTED(SHLEXT, ["$SHLEXT"], [File extension for shared libraries])
 AC_SUBST(SHLEXT)
 
+AC_DEFINE_UNQUOTED(EXEEXT, ["$EXEEXT"], [File extension for executables])
+
 privatedir='${libexecdir}/p11-kit'
 AC_SUBST(privatedir)
 
index a7b921269183b36ef19c9a299f57cb9add5762f2..7a900464e7a6619f477356e2cd1f239ccc7d429d 100644 (file)
@@ -105,7 +105,7 @@ p11_kit_external (int argc,
                return p11_kit_trust (argc, argv);
        }
 
-       if (asprintf (&filename, "p11-kit-%s", argv[0]) < 0)
+       if (asprintf (&filename, "p11-kit-%s%s", argv[0], EXEEXT) < 0)
                return_val_if_reached (1);
 
        private_dir = secure_getenv ("P11_KIT_PRIVATEDIR");
@@ -116,6 +116,11 @@ p11_kit_external (int argc,
        path = p11_path_build (private_dir, filename, NULL);
        return_val_if_fail (path != NULL, 1);
 
+       /* Windows execv() requires the first element of ARGV must be
+        * the executable name */
+#ifdef OS_WIN32
+       argv[0] = path;
+#endif
        argv[argc] = NULL;
        execv (path, argv);
 
index db0c4ddb4543df6e4a3e15bcdcc62773b6b07a8e..86e5e87c27fd24490f69e65ca0d8a87909c94670 100644 (file)
@@ -75,9 +75,9 @@ setup_remote (void *unused)
        p11_test_file_write (NULL, test.user_config, data, strlen (data));
 
        setenv ("P11_KIT_PRIVATEDIR", BUILDDIR, 1);
-       data = "remote: |" BUILDDIR "/p11-kit/p11-kit remote " BUILDDIR "/.libs/mock-two.so\n";
+       data = "remote: |" BUILDDIR "/p11-kit/p11-kit" EXEEXT " remote " BUILDDIR "/.libs/mock-two" SHLEXT "\n";
        p11_test_file_write (test.user_modules, "remote.module", data, strlen (data));
-       data = "remote: |" BUILDDIR "/p11-kit/p11-kit remote " BUILDDIR "/.libs/mock-five.so\nx-init-reserved: initialize-arg";
+       data = "remote: |" BUILDDIR "/p11-kit/p11-kit" EXEEXT " remote " BUILDDIR "/.libs/mock-five" SHLEXT "\nx-init-reserved: initialize-arg";
        p11_test_file_write (test.user_modules, "init-arg.module", data, strlen (data));
 
        p11_config_user_modules = test.user_modules;