[foreign] Running tests on Windows

Henry Jen henry.jen at oracle.com
Wed Sep 19 23:41:24 UTC 2018


Actually, -I works, and link option need to be passed with /link, but you got the idea…

However, -lclang is added by the AC_CHECK_LIB macro, so I am not sure it would work. Need to find a better way to check the lib.

diff -r 3fedd3afcd98 make/autoconf/lib-clang.m4
--- a/make/autoconf/lib-clang.m4        Mon Sep 17 22:17:08 2018 -0700
+++ b/make/autoconf/lib-clang.m4        Wed Sep 19 16:38:06 2018 -0700
@@ -68,7 +68,11 @@
         LIBCLANG_CPPFLAGS=""
     fi
     if test "x$CLANG_LIB_PATH" != "x"; then
+      if test "x$TOOLCHAIN_TYPE" != xmicrosoft; then
         LIBCLANG_LDFLAGS="-L$CLANG_LIB_PATH"
+      else
+        LIBCLANG_LDFLAGS="/link /LIBPATH $CLANG_LIB_PATH"
+      fi
     else
         LIBCLANG_LDFLAGS=""
     fi

Cheers,
Henry


> On Sep 19, 2018, at 4:17 PM, Henry Jen <henry.jen at oracle.com> wrote:
> 
> Haven’t test it, but try this,
> 
> diff -r 3fedd3afcd98 make/autoconf/lib-clang.m4
> --- a/make/autoconf/lib-clang.m4        Mon Sep 17 22:17:08 2018 -0700
> +++ b/make/autoconf/lib-clang.m4        Wed Sep 19 16:16:27 2018 -0700
> @@ -63,12 +63,20 @@
>     fi
> 
>     if test "x$CLANG_INCLUDE_PATH" != "x"; then
> +      if test "x$TOOLCHAIN_TYPE" != xmicrosoft; then
>         LIBCLANG_CPPFLAGS="-I$CLANG_INCLUDE_PATH"
> +      else
> +        LIBCLANG_CPPFLAGS="/I $CLANG_INCLUDE_PATH"
> +      fi
>     else
>         LIBCLANG_CPPFLAGS=""
>     fi
>     if test "x$CLANG_LIB_PATH" != "x"; then
> +      if test "x$TOOLCHAIN_TYPE" != xmicrosoft; then
>         LIBCLANG_LDFLAGS="-L$CLANG_LIB_PATH"
> +      else
> +        LIBCLANG_LDFLAGS="/LIBPATH $CLANG_LIB_PATH"
> +      fi
>     else
>         LIBCLANG_LDFLAGS=""
>     fi
> 
> We still need to fix the copy of DLL.
> 
> Cheers,
> Henry
> 
> 
>> On Sep 19, 2018, at 3:57 PM, Maurizio Cimadamore <maurizio.cimadamore at oracle.com> wrote:
>> 
>> Looks like good progress; tomorrow I'll take a look at some of our build files and see if something special is done for mangling windows include paths.
>> 
>> Cheers
>> Maurizio
>> 
>> 
>> On 19/09/18 23:12, Jorn Vernee wrote:
>>> If I use the following flags:
>>> 
>>> $ bash configure --disable-warnings-as-errors --with-jtreg='/cygdrive/j/Libraries And Tools/jtreg-4.2-b13' --with-libclang-include='J:\\LLVM\\include' --with-libclang-include-aux='J:\\LLVM\\lib' --with-libclang-lib='J:\\LLVM\\lib'
>>> 
>>> (Notice that I'm having to use different path styles)
>>> 
>>> It's detecting the header files, but it's failing on being passed the wrong flags. from config.log (see at the bottom):
>>> 
>>> configure:60248: checking for clang_getClangVersion in -lclang
>>> configure:60273: /cygdrive/j/progra~2/micros~2/2017/buildt~1/vc/tools/msvc/1414~1.264/bin/hostx86/x64/cl -o conftest.exe    -IJ:\\LLVM\\include -LJ:\\LLVM\\lib conftest.cpp -lclang   >&5
>>> conftest.cpp
>>> Microsoft (R) Incremental Linker Version 14.14.26430.0
>>> Copyright (C) Microsoft Corporation.  All rights reserved.
>>> 
>>> /out:conftest.exe
>>> /out:conftest.exe
>>> conftest.obj
>>> conftest.obj : error LNK2019: unresolved external symbol clang_getClangVersion referenced in function main
>>> conftest.exe : fatal error LNK1120: 1 unresolved externals
>>> Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26430 for x64
>>> Copyright (C) Microsoft Corporation.  All rights reserved.
>>> 
>>> cl : Command line warning D9035 : option 'o' has been deprecated and will be removed in a future release
>>> cl : Command line warning D9002 : ignoring unknown option '-LJ:\\LLVM\\lib'
>>> cl : Command line warning D9002 : ignoring unknown option '-lclang'
>>> 
>>> That seems to be a simple problem of casing-off windows and passing the right flags, but I call it a night here :)
>>> 
>>> Jorn
>>> 
>> 
> 



More information about the panama-dev mailing list